From bf8426b95714ee3efd50540394415cc7bfef02d4 Mon Sep 17 00:00:00 2001 From: Jimmy Yuen Ho Wong Date: Tue, 21 Jan 2014 20:52:30 +0800 Subject: [PATCH] Version 0.3.5 --- .gitignore | 3 - api/app-2a09dc1c9acadab58e390b770a9565d0.js | 1 + api/data-f05c67dbd58bd73bbd6ece37e27dccd4.js | 1922 ++++ api/eg-iframe.html | 26 + api/extjs/ext-all.js | 38 + .../default/boundlist/trigger-arrow.png | Bin 0 -> 2869 bytes .../images/default/box/corners-blue.gif | Bin 0 -> 1010 bytes .../themes/images/default/box/corners.gif | Bin 0 -> 1005 bytes .../themes/images/default/box/l-blue.gif | Bin 0 -> 810 bytes .../resources/themes/images/default/box/l.gif | Bin 0 -> 810 bytes .../themes/images/default/box/r-blue.gif | Bin 0 -> 810 bytes .../resources/themes/images/default/box/r.gif | Bin 0 -> 810 bytes .../themes/images/default/box/tb-blue.gif | Bin 0 -> 851 bytes .../themes/images/default/box/tb.gif | Bin 0 -> 839 bytes .../btn-group-default-framed-corners.gif | Bin 0 -> 1598 bytes ...n-group-default-framed-notitle-corners.gif | Bin 0 -> 1598 bytes ...btn-group-default-framed-notitle-sides.gif | Bin 0 -> 1623 bytes .../btn-group-default-framed-sides.gif | Bin 0 -> 1630 bytes .../default/btn/btn-default-large-bg.gif | Bin 0 -> 1825 bytes .../default/btn/btn-default-large-corners.gif | Bin 0 -> 1616 bytes .../btn/btn-default-large-disabled-bg.gif | Bin 0 -> 1825 bytes .../btn-default-large-disabled-corners.gif | Bin 0 -> 1614 bytes .../btn/btn-default-large-disabled-sides.gif | Bin 0 -> 1923 bytes .../btn/btn-default-large-focus-bg.gif | Bin 0 -> 1840 bytes .../btn/btn-default-large-focus-corners.gif | Bin 0 -> 1621 bytes .../btn/btn-default-large-focus-sides.gif | Bin 0 -> 1923 bytes .../default/btn/btn-default-large-over-bg.gif | Bin 0 -> 1840 bytes .../btn/btn-default-large-over-corners.gif | Bin 0 -> 1621 bytes .../btn/btn-default-large-over-sides.gif | Bin 0 -> 1923 bytes .../btn/btn-default-large-pressed-bg.gif | Bin 0 -> 1869 bytes .../btn/btn-default-large-pressed-corners.gif | Bin 0 -> 1619 bytes .../btn/btn-default-large-pressed-sides.gif | Bin 0 -> 1953 bytes .../default/btn/btn-default-large-sides.gif | Bin 0 -> 1923 bytes .../default/btn/btn-default-medium-bg.gif | Bin 0 -> 1809 bytes .../btn/btn-default-medium-corners.gif | Bin 0 -> 1616 bytes .../btn/btn-default-medium-disabled-bg.gif | Bin 0 -> 1809 bytes .../btn-default-medium-disabled-corners.gif | Bin 0 -> 1614 bytes .../btn/btn-default-medium-disabled-sides.gif | Bin 0 -> 1907 bytes .../btn/btn-default-medium-focus-bg.gif | Bin 0 -> 1817 bytes .../btn/btn-default-medium-focus-corners.gif | Bin 0 -> 1622 bytes .../btn/btn-default-medium-focus-sides.gif | Bin 0 -> 1897 bytes .../btn/btn-default-medium-over-bg.gif | Bin 0 -> 1817 bytes .../btn/btn-default-medium-over-corners.gif | Bin 0 -> 1622 bytes .../btn/btn-default-medium-over-sides.gif | Bin 0 -> 1897 bytes .../btn/btn-default-medium-pressed-bg.gif | Bin 0 -> 1849 bytes .../btn-default-medium-pressed-corners.gif | Bin 0 -> 1619 bytes .../btn/btn-default-medium-pressed-sides.gif | Bin 0 -> 1929 bytes .../default/btn/btn-default-medium-sides.gif | Bin 0 -> 1907 bytes .../default/btn/btn-default-small-bg.gif | Bin 0 -> 1791 bytes .../default/btn/btn-default-small-corners.gif | Bin 0 -> 1614 bytes .../btn/btn-default-small-disabled-bg.gif | Bin 0 -> 1791 bytes .../btn-default-small-disabled-corners.gif | Bin 0 -> 1614 bytes .../btn/btn-default-small-disabled-sides.gif | Bin 0 -> 1878 bytes .../btn/btn-default-small-focus-bg.gif | Bin 0 -> 1800 bytes .../btn/btn-default-small-focus-corners.gif | Bin 0 -> 1622 bytes .../btn/btn-default-small-focus-sides.gif | Bin 0 -> 1879 bytes .../default/btn/btn-default-small-over-bg.gif | Bin 0 -> 1800 bytes .../btn/btn-default-small-over-corners.gif | Bin 0 -> 1621 bytes .../btn/btn-default-small-over-sides.gif | Bin 0 -> 1879 bytes .../btn/btn-default-small-pressed-bg.gif | Bin 0 -> 1811 bytes .../btn/btn-default-small-pressed-corners.gif | Bin 0 -> 1621 bytes .../btn/btn-default-small-pressed-sides.gif | Bin 0 -> 1892 bytes .../default/btn/btn-default-small-sides.gif | Bin 0 -> 1873 bytes .../btn/btn-default-toolbar-large-corners.gif | Bin 0 -> 1585 bytes ...default-toolbar-large-disabled-corners.gif | Bin 0 -> 1585 bytes ...n-default-toolbar-large-disabled-sides.gif | Bin 0 -> 1596 bytes .../btn-default-toolbar-large-focus-bg.gif | Bin 0 -> 1851 bytes ...tn-default-toolbar-large-focus-corners.gif | Bin 0 -> 1621 bytes .../btn-default-toolbar-large-focus-sides.gif | Bin 0 -> 1939 bytes .../btn/btn-default-toolbar-large-over-bg.gif | Bin 0 -> 1851 bytes ...btn-default-toolbar-large-over-corners.gif | Bin 0 -> 1621 bytes .../btn-default-toolbar-large-over-sides.gif | Bin 0 -> 1939 bytes .../btn-default-toolbar-large-pressed-bg.gif | Bin 0 -> 1846 bytes ...-default-toolbar-large-pressed-corners.gif | Bin 0 -> 1623 bytes ...tn-default-toolbar-large-pressed-sides.gif | Bin 0 -> 1933 bytes .../btn/btn-default-toolbar-large-sides.gif | Bin 0 -> 1596 bytes .../btn-default-toolbar-medium-corners.gif | Bin 0 -> 1585 bytes ...efault-toolbar-medium-disabled-corners.gif | Bin 0 -> 1585 bytes ...-default-toolbar-medium-disabled-sides.gif | Bin 0 -> 1594 bytes .../btn-default-toolbar-medium-focus-bg.gif | Bin 0 -> 1826 bytes ...n-default-toolbar-medium-focus-corners.gif | Bin 0 -> 1622 bytes ...btn-default-toolbar-medium-focus-sides.gif | Bin 0 -> 1917 bytes .../btn-default-toolbar-medium-over-bg.gif | Bin 0 -> 1826 bytes ...tn-default-toolbar-medium-over-corners.gif | Bin 0 -> 1622 bytes .../btn-default-toolbar-medium-over-sides.gif | Bin 0 -> 1917 bytes .../btn-default-toolbar-medium-pressed-bg.gif | Bin 0 -> 1846 bytes ...default-toolbar-medium-pressed-corners.gif | Bin 0 -> 1621 bytes ...n-default-toolbar-medium-pressed-sides.gif | Bin 0 -> 1919 bytes .../btn/btn-default-toolbar-medium-sides.gif | Bin 0 -> 1594 bytes .../btn/btn-default-toolbar-small-corners.gif | Bin 0 -> 1585 bytes ...default-toolbar-small-disabled-corners.gif | Bin 0 -> 1585 bytes ...n-default-toolbar-small-disabled-sides.gif | Bin 0 -> 1589 bytes .../btn-default-toolbar-small-focus-bg.gif | Bin 0 -> 1799 bytes ...tn-default-toolbar-small-focus-corners.gif | Bin 0 -> 1622 bytes .../btn-default-toolbar-small-focus-sides.gif | Bin 0 -> 1879 bytes .../btn/btn-default-toolbar-small-over-bg.gif | Bin 0 -> 1799 bytes ...btn-default-toolbar-small-over-corners.gif | Bin 0 -> 1622 bytes .../btn-default-toolbar-small-over-sides.gif | Bin 0 -> 1879 bytes .../btn-default-toolbar-small-pressed-bg.gif | Bin 0 -> 1813 bytes ...-default-toolbar-small-pressed-corners.gif | Bin 0 -> 1624 bytes ...tn-default-toolbar-small-pressed-sides.gif | Bin 0 -> 1892 bytes .../btn/btn-default-toolbar-small-sides.gif | Bin 0 -> 1589 bytes .../themes/images/default/button/arrow.gif | Bin 0 -> 828 bytes .../themes/images/default/button/btn.gif | Bin 0 -> 4298 bytes .../themes/images/default/button/group-cs.gif | Bin 0 -> 2459 bytes .../themes/images/default/button/group-lr.gif | Bin 0 -> 861 bytes .../themes/images/default/button/group-tb.gif | Bin 0 -> 846 bytes .../default/button/s-arrow-b-noline.gif | Bin 0 -> 898 bytes .../images/default/button/s-arrow-b.gif | Bin 0 -> 937 bytes .../images/default/button/s-arrow-bo.gif | Bin 0 -> 139 bytes .../images/default/button/s-arrow-light.gif | Bin 0 -> 116 bytes .../images/default/button/s-arrow-noline.gif | Bin 0 -> 863 bytes .../images/default/button/s-arrow-o.gif | Bin 0 -> 937 bytes .../themes/images/default/button/s-arrow.gif | Bin 0 -> 937 bytes .../datepicker/datepicker-footer-bg.gif | Bin 0 -> 1833 bytes .../datepicker/datepicker-footer-bg.png | Bin 0 -> 328 bytes .../datepicker/datepicker-header-bg.gif | Bin 0 -> 1860 bytes .../datepicker/datepicker-header-bg.png | Bin 0 -> 309 bytes .../themes/images/default/dd/drop-add.gif | Bin 0 -> 1001 bytes .../themes/images/default/dd/drop-no.gif | Bin 0 -> 949 bytes .../themes/images/default/dd/drop-yes.gif | Bin 0 -> 1016 bytes .../images/default/editor/tb-sprite.gif | Bin 0 -> 2072 bytes .../form-invalid-tip-corners.gif | Bin 0 -> 1688 bytes .../form-invalid-tip-default-corners.gif | Bin 0 -> 1690 bytes .../form-invalid-tip-default-sides.gif | Bin 0 -> 1647 bytes .../form-invalid-tip-sides.gif | Bin 0 -> 1647 bytes .../themes/images/default/form/checkbox.gif | Bin 0 -> 2061 bytes .../images/default/form/clear-trigger.gif | Bin 0 -> 1988 bytes .../images/default/form/date-trigger.gif | Bin 0 -> 1603 bytes .../images/default/form/error-tip-corners.gif | Bin 0 -> 4183 bytes .../images/default/form/exclamation.gif | Bin 0 -> 996 bytes .../themes/images/default/form/radio.gif | Bin 0 -> 1746 bytes .../images/default/form/search-trigger.gif | Bin 0 -> 2182 bytes .../images/default/form/spinner-small.gif | Bin 0 -> 743 bytes .../themes/images/default/form/spinner.gif | Bin 0 -> 1975 bytes .../themes/images/default/form/text-bg.gif | Bin 0 -> 819 bytes .../images/default/form/trigger-square.gif | Bin 0 -> 1810 bytes .../images/default/form/trigger-tpl.gif | Bin 0 -> 1487 bytes .../themes/images/default/form/trigger.gif | Bin 0 -> 1816 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/cell-special-bg.gif | Bin 0 -> 1636 bytes .../images/default/grid/cell-special-bg.png | Bin 0 -> 121 bytes .../default/grid/cell-special-selected-bg.gif | Bin 0 -> 1640 bytes .../default/grid/cell-special-selected-bg.png | Bin 0 -> 136 bytes .../themes/images/default/grid/checked.gif | Bin 0 -> 959 bytes .../images/default/grid/col-move-bottom.gif | Bin 0 -> 868 bytes .../images/default/grid/col-move-top.gif | Bin 0 -> 869 bytes .../images/default/grid/column-header-bg.gif | Bin 0 -> 1858 bytes .../images/default/grid/column-header-bg.png | Bin 0 -> 293 bytes .../default/grid/column-header-over-bg.gif | Bin 0 -> 1767 bytes .../default/grid/column-header-over-bg.png | Bin 0 -> 283 bytes .../themes/images/default/grid/columns.gif | Bin 0 -> 962 bytes .../default/grid/dd-insert-arrow-left.gif | Bin 0 -> 299 bytes .../default/grid/dd-insert-arrow-left.png | Bin 0 -> 345 bytes .../default/grid/dd-insert-arrow-right.gif | Bin 0 -> 301 bytes .../default/grid/dd-insert-arrow-right.png | Bin 0 -> 349 bytes .../themes/images/default/grid/dirty.gif | Bin 0 -> 832 bytes .../themes/images/default/grid/done.gif | Bin 0 -> 133 bytes .../themes/images/default/grid/drop-no.gif | Bin 0 -> 947 bytes .../themes/images/default/grid/drop-yes.gif | Bin 0 -> 860 bytes .../themes/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 .../themes/images/default/grid/grid-hrow.gif | Bin 0 -> 855 bytes .../images/default/grid/grid-loading.gif | Bin 0 -> 701 bytes .../themes/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 .../themes/images/default/grid/grid3-hrow.gif | Bin 0 -> 836 bytes .../images/default/grid/grid3-rowheader.gif | Bin 0 -> 43 bytes .../themes/images/default/grid/group-by.gif | Bin 0 -> 917 bytes .../images/default/grid/group-collapse.gif | Bin 0 -> 881 bytes .../default/grid/group-expand-sprite.gif | Bin 0 -> 955 bytes .../images/default/grid/group-expand.gif | Bin 0 -> 884 bytes .../themes/images/default/grid/hd-pop.gif | Bin 0 -> 839 bytes .../themes/images/default/grid/hmenu-asc.gif | Bin 0 -> 931 bytes .../themes/images/default/grid/hmenu-desc.gif | Bin 0 -> 930 bytes .../themes/images/default/grid/hmenu-lock.gif | Bin 0 -> 955 bytes .../themes/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 .../themes/images/default/grid/loading.gif | Bin 0 -> 771 bytes .../themes/images/default/grid/mso-hd.gif | Bin 0 -> 875 bytes .../themes/images/default/grid/nowait.gif | Bin 0 -> 884 bytes .../default/grid/page-first-disabled.gif | Bin 0 -> 925 bytes .../themes/images/default/grid/page-first.gif | Bin 0 -> 925 bytes .../default/grid/page-last-disabled.gif | Bin 0 -> 923 bytes .../themes/images/default/grid/page-last.gif | Bin 0 -> 923 bytes .../default/grid/page-next-disabled.gif | Bin 0 -> 875 bytes .../themes/images/default/grid/page-next.gif | Bin 0 -> 875 bytes .../default/grid/page-prev-disabled.gif | Bin 0 -> 879 bytes .../themes/images/default/grid/page-prev.gif | Bin 0 -> 879 bytes .../images/default/grid/pick-button.gif | Bin 0 -> 1036 bytes .../images/default/grid/property-cell-bg.gif | Bin 0 -> 155 bytes .../grid/property-cell-selected-bg.gif | Bin 0 -> 843 bytes .../images/default/grid/refresh-disabled.gif | Bin 0 -> 577 bytes .../themes/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 .../themes/images/default/grid/row-over.gif | Bin 0 -> 823 bytes .../themes/images/default/grid/row-sel.gif | Bin 0 -> 823 bytes .../themes/images/default/grid/sort-hd.gif | Bin 0 -> 1473 bytes .../themes/images/default/grid/sort_asc.gif | Bin 0 -> 830 bytes .../themes/images/default/grid/sort_desc.gif | Bin 0 -> 833 bytes .../themes/images/default/grid/unchecked.gif | Bin 0 -> 941 bytes .../themes/images/default/grid/wait.gif | Bin 0 -> 1100 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 .../themes/images/default/layout/mini-top.gif | Bin 0 -> 856 bytes .../themes/images/default/menu/checked.gif | Bin 0 -> 959 bytes .../images/default/menu/group-checked.gif | Bin 0 -> 891 bytes .../themes/images/default/menu/item-over.gif | Bin 0 -> 47 bytes .../default/menu/menu-item-active-bg.gif | Bin 0 -> 1833 bytes .../default/menu/menu-item-active-corners.gif | Bin 0 -> 1621 bytes .../default/menu/menu-item-active-sides.gif | Bin 0 -> 1909 bytes .../images/default/menu/menu-parent.gif | Bin 0 -> 854 bytes .../themes/images/default/menu/menu.gif | Bin 0 -> 834 bytes .../themes/images/default/menu/unchecked.gif | Bin 0 -> 941 bytes .../panel-header-default-bottom-bg.gif | Bin 0 -> 1862 bytes .../panel-header-default-framed-bottom-bg.gif | Bin 0 -> 1839 bytes ...l-header-default-framed-bottom-corners.gif | Bin 0 -> 1648 bytes ...nel-header-default-framed-bottom-sides.gif | Bin 0 -> 2015 bytes ...der-default-framed-collapsed-bottom-bg.gif | Bin 0 -> 1820 bytes ...efault-framed-collapsed-bottom-corners.gif | Bin 0 -> 1667 bytes ...-default-framed-collapsed-bottom-sides.gif | Bin 0 -> 1998 bytes ...eader-default-framed-collapsed-left-bg.gif | Bin 0 -> 1634 bytes ...-default-framed-collapsed-left-corners.gif | Bin 0 -> 1684 bytes ...er-default-framed-collapsed-left-sides.gif | Bin 0 -> 1831 bytes ...ader-default-framed-collapsed-right-bg.gif | Bin 0 -> 1634 bytes ...default-framed-collapsed-right-corners.gif | Bin 0 -> 1687 bytes ...r-default-framed-collapsed-right-sides.gif | Bin 0 -> 1831 bytes ...header-default-framed-collapsed-top-bg.gif | Bin 0 -> 1821 bytes ...r-default-framed-collapsed-top-corners.gif | Bin 0 -> 1668 bytes ...der-default-framed-collapsed-top-sides.gif | Bin 0 -> 2002 bytes .../panel-header-default-framed-left-bg.gif | Bin 0 -> 1638 bytes ...nel-header-default-framed-left-corners.gif | Bin 0 -> 1669 bytes ...panel-header-default-framed-left-sides.gif | Bin 0 -> 1841 bytes .../panel-header-default-framed-right-bg.gif | Bin 0 -> 1639 bytes ...el-header-default-framed-right-corners.gif | Bin 0 -> 1667 bytes ...anel-header-default-framed-right-sides.gif | Bin 0 -> 1844 bytes .../panel-header-default-framed-top-bg.gif | Bin 0 -> 1842 bytes ...anel-header-default-framed-top-corners.gif | Bin 0 -> 1652 bytes .../panel-header-default-framed-top-sides.gif | Bin 0 -> 2019 bytes .../panel-header-default-left-bg.gif | Bin 0 -> 1640 bytes .../panel-header-default-right-bg.gif | Bin 0 -> 1640 bytes .../panel-header-default-top-bg.gif | Bin 0 -> 1863 bytes .../panel/panel-default-framed-corners.gif | Bin 0 -> 1639 bytes .../panel/panel-default-framed-sides.gif | Bin 0 -> 1727 bytes .../default/progress/progress-default-bg.gif | Bin 0 -> 1837 bytes .../images/default/shared/blue-loading.gif | Bin 0 -> 3236 bytes .../themes/images/default/shared/calendar.gif | Bin 0 -> 979 bytes .../themes/images/default/shared/glass-bg.gif | Bin 0 -> 873 bytes .../images/default/shared/hd-sprite.gif | Bin 0 -> 1099 bytes .../images/default/shared/icon-error.gif | Bin 0 -> 1669 bytes .../images/default/shared/icon-info.gif | Bin 0 -> 1586 bytes .../images/default/shared/icon-question.gif | Bin 0 -> 1607 bytes .../images/default/shared/icon-warning.gif | Bin 0 -> 1483 bytes .../images/default/shared/large-loading.gif | Bin 0 -> 3236 bytes .../themes/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 .../themes/images/default/shared/shadow-c.png | Bin 0 -> 118 bytes .../images/default/shared/shadow-lr.png | Bin 0 -> 135 bytes .../themes/images/default/shared/shadow.png | Bin 0 -> 311 bytes .../themes/images/default/shared/warning.gif | Bin 0 -> 960 bytes .../images/default/sizer/e-handle-dark.gif | Bin 0 -> 1062 bytes .../themes/images/default/sizer/e-handle.gif | Bin 0 -> 1586 bytes .../images/default/sizer/ne-handle-dark.gif | Bin 0 -> 839 bytes .../themes/images/default/sizer/ne-handle.gif | Bin 0 -> 854 bytes .../images/default/sizer/nw-handle-dark.gif | Bin 0 -> 839 bytes .../themes/images/default/sizer/nw-handle.gif | Bin 0 -> 853 bytes .../images/default/sizer/s-handle-dark.gif | Bin 0 -> 1060 bytes .../themes/images/default/sizer/s-handle.gif | Bin 0 -> 1318 bytes .../images/default/sizer/se-handle-dark.gif | Bin 0 -> 838 bytes .../themes/images/default/sizer/se-handle.gif | Bin 0 -> 853 bytes .../themes/images/default/sizer/square.gif | Bin 0 -> 864 bytes .../images/default/sizer/sw-handle-dark.gif | Bin 0 -> 839 bytes .../themes/images/default/sizer/sw-handle.gif | Bin 0 -> 855 bytes .../images/default/slider/slider-bg.gif | Bin 0 -> 145 bytes .../images/default/slider/slider-bg.png | Bin 0 -> 1494 bytes .../images/default/slider/slider-thumb.gif | Bin 0 -> 542 bytes .../images/default/slider/slider-thumb.png | Bin 0 -> 933 bytes .../images/default/slider/slider-v-bg.gif | Bin 0 -> 150 bytes .../images/default/slider/slider-v-bg.png | Bin 0 -> 288 bytes .../images/default/slider/slider-v-thumb.gif | Bin 0 -> 533 bytes .../images/default/slider/slider-v-thumb.png | Bin 0 -> 883 bytes .../images/default/tab-bar/scroll-left.gif | Bin 0 -> 457 bytes .../images/default/tab-bar/scroll-right.gif | Bin 0 -> 460 bytes .../default/tab-bar/tab-bar-default-bg.gif | Bin 0 -> 1829 bytes .../tab/tab-default-bottom-active-bg.gif | Bin 0 -> 1785 bytes .../tab/tab-default-bottom-active-corners.gif | Bin 0 -> 1639 bytes .../tab/tab-default-bottom-active-sides.gif | Bin 0 -> 1982 bytes .../default/tab/tab-default-bottom-bg.gif | Bin 0 -> 1789 bytes .../tab/tab-default-bottom-corners.gif | Bin 0 -> 1648 bytes .../tab/tab-default-bottom-disabled-bg.gif | Bin 0 -> 1798 bytes .../tab-default-bottom-disabled-corners.gif | Bin 0 -> 1648 bytes .../tab/tab-default-bottom-disabled-sides.gif | Bin 0 -> 1984 bytes .../tab/tab-default-bottom-over-bg.gif | Bin 0 -> 1791 bytes .../tab/tab-default-bottom-over-corners.gif | Bin 0 -> 1643 bytes .../tab/tab-default-bottom-over-sides.gif | Bin 0 -> 1985 bytes .../default/tab/tab-default-bottom-sides.gif | Bin 0 -> 1984 bytes .../images/default/tab/tab-default-close.gif | Bin 0 -> 896 bytes .../default/tab/tab-default-top-active-bg.gif | Bin 0 -> 1775 bytes .../tab/tab-default-top-active-corners.gif | Bin 0 -> 1640 bytes .../tab/tab-default-top-active-sides.gif | Bin 0 -> 1962 bytes .../images/default/tab/tab-default-top-bg.gif | Bin 0 -> 1775 bytes .../default/tab/tab-default-top-corners.gif | Bin 0 -> 1648 bytes .../tab/tab-default-top-disabled-bg.gif | Bin 0 -> 1794 bytes .../tab/tab-default-top-disabled-corners.gif | Bin 0 -> 1649 bytes .../tab/tab-default-top-disabled-sides.gif | Bin 0 -> 1979 bytes .../default/tab/tab-default-top-over-bg.gif | Bin 0 -> 1777 bytes .../tab/tab-default-top-over-corners.gif | Bin 0 -> 1649 bytes .../tab/tab-default-top-over-sides.gif | Bin 0 -> 1963 bytes .../default/tab/tab-default-top-sides.gif | Bin 0 -> 1962 bytes .../themes/images/default/tip/tip-corners.gif | Bin 0 -> 1621 bytes .../themes/images/default/tip/tip-sides.gif | Bin 0 -> 1623 bytes .../themes/images/default/toolbar/more.gif | Bin 0 -> 845 bytes .../images/default/toolbar/scroll-left.gif | Bin 0 -> 1861 bytes .../images/default/toolbar/scroll-right.gif | Bin 0 -> 1865 bytes .../default/toolbar/toolbar-default-bg.gif | Bin 0 -> 1837 bytes .../images/default/tools/tool-sprite-tpl.gif | Bin 0 -> 971 bytes .../images/default/tools/tool-sprites.gif | Bin 0 -> 5421 bytes .../default/tools/tools-sprites-trans.gif | Bin 0 -> 2843 bytes .../themes/images/default/tree/arrows.gif | Bin 0 -> 617 bytes .../themes/images/default/tree/drop-above.gif | Bin 0 -> 911 bytes .../themes/images/default/tree/drop-add.gif | Bin 0 -> 1001 bytes .../images/default/tree/drop-append.gif | Bin 0 -> 1001 bytes .../themes/images/default/tree/drop-below.gif | Bin 0 -> 911 bytes .../images/default/tree/drop-between.gif | Bin 0 -> 907 bytes .../themes/images/default/tree/drop-no.gif | Bin 0 -> 949 bytes .../themes/images/default/tree/drop-over.gif | Bin 0 -> 911 bytes .../themes/images/default/tree/drop-under.gif | Bin 0 -> 911 bytes .../themes/images/default/tree/drop-yes.gif | Bin 0 -> 1016 bytes .../default/tree/elbow-end-minus-nl.gif | Bin 0 -> 151 bytes .../images/default/tree/elbow-end-minus.gif | Bin 0 -> 157 bytes .../images/default/tree/elbow-end-plus-nl.gif | Bin 0 -> 152 bytes .../images/default/tree/elbow-end-plus.gif | Bin 0 -> 159 bytes .../themes/images/default/tree/elbow-end.gif | Bin 0 -> 70 bytes .../themes/images/default/tree/elbow-line.gif | Bin 0 -> 72 bytes .../images/default/tree/elbow-minus-nl.gif | Bin 0 -> 151 bytes .../images/default/tree/elbow-minus.gif | Bin 0 -> 159 bytes .../images/default/tree/elbow-plus-nl.gif | Bin 0 -> 152 bytes .../themes/images/default/tree/elbow-plus.gif | Bin 0 -> 160 bytes .../themes/images/default/tree/elbow.gif | Bin 0 -> 73 bytes .../images/default/tree/folder-open.gif | Bin 0 -> 356 bytes .../themes/images/default/tree/folder.gif | Bin 0 -> 351 bytes .../themes/images/default/tree/leaf.gif | Bin 0 -> 945 bytes .../themes/images/default/tree/loading.gif | Bin 0 -> 771 bytes .../themes/images/default/tree/s.gif | Bin 0 -> 43 bytes .../default/util/splitter/mini-bottom.gif | Bin 0 -> 856 bytes .../default/util/splitter/mini-left.gif | Bin 0 -> 871 bytes .../default/util/splitter/mini-right.gif | Bin 0 -> 872 bytes .../images/default/util/splitter/mini-top.gif | Bin 0 -> 856 bytes .../window-header-default-bottom-corners.gif | Bin 0 -> 1664 bytes .../window-header-default-bottom-sides.gif | Bin 0 -> 1624 bytes ...eader-default-collapsed-bottom-corners.gif | Bin 0 -> 213 bytes ...-header-default-collapsed-bottom-sides.gif | Bin 0 -> 1624 bytes ...-header-default-collapsed-left-corners.gif | Bin 0 -> 211 bytes ...ow-header-default-collapsed-left-sides.gif | Bin 0 -> 70 bytes ...header-default-collapsed-right-corners.gif | Bin 0 -> 213 bytes ...w-header-default-collapsed-right-sides.gif | Bin 0 -> 70 bytes ...w-header-default-collapsed-top-corners.gif | Bin 0 -> 215 bytes ...dow-header-default-collapsed-top-sides.gif | Bin 0 -> 1624 bytes .../window-header-default-left-corners.gif | Bin 0 -> 1655 bytes .../window-header-default-left-sides.gif | Bin 0 -> 1610 bytes .../window-header-default-right-corners.gif | Bin 0 -> 1656 bytes .../window-header-default-right-sides.gif | Bin 0 -> 1610 bytes .../window-header-default-top-corners.gif | Bin 0 -> 199 bytes .../window-header-default-top-sides.gif | Bin 0 -> 1624 bytes .../default/window/window-default-corners.gif | Bin 0 -> 1686 bytes .../default/window/window-default-sides.gif | Bin 0 -> 1776 bytes api/favicon.ico | Bin 0 -> 1150 bytes api/index.html | 118 + api/output/Backgrid.Body.js | 168 + api/output/Backgrid.BooleanCell.js | 180 + api/output/Backgrid.BooleanCellEditor.js | 156 + api/output/Backgrid.Cell.js | 178 + api/output/Backgrid.CellEditor.js | 111 + api/output/Backgrid.CellFormatter.js | 120 + api/output/Backgrid.Column.js | 140 + api/output/Backgrid.Columns.js | 98 + api/output/Backgrid.Command.js | 154 + api/output/Backgrid.DateCell.js | 205 + api/output/Backgrid.DatetimeCell.js | 205 + api/output/Backgrid.DatetimeFormatter.js | 121 + api/output/Backgrid.EmailCell.js | 181 + api/output/Backgrid.EmailFormatter.js | 114 + api/output/Backgrid.EmptyRow.js | 122 + api/output/Backgrid.Footer.js | 107 + api/output/Backgrid.Grid.js | 200 + api/output/Backgrid.Header.js | 123 + api/output/Backgrid.HeaderCell.js | 146 + api/output/Backgrid.HeaderRow.js | 133 + api/output/Backgrid.InputCellEditor.js | 148 + api/output/Backgrid.IntegerCell.js | 205 + api/output/Backgrid.NumberCell.js | 205 + api/output/Backgrid.NumberFormatter.js | 121 + api/output/Backgrid.PercentCell.js | 221 + api/output/Backgrid.PercentFormatter.js | 122 + api/output/Backgrid.Row.js | 132 + api/output/Backgrid.SelectCell.js | 204 + api/output/Backgrid.SelectCellEditor.js | 156 + api/output/Backgrid.SelectFormatter.js | 114 + api/output/Backgrid.StringCell.js | 180 + api/output/Backgrid.StringFormatter.js | 114 + api/output/Backgrid.TimeCell.js | 205 + api/output/Backgrid.UriCell.js | 196 + .../app-0b2d94a756da271cc9ed4a65f4837560.css | 1 + api/resources/images/ajax-loader.gif | Bin 0 -> 1849 bytes api/resources/images/arrows.png | Bin 0 -> 1187 bytes api/resources/images/class-m.png | Bin 0 -> 5910 bytes api/resources/images/comment-bubble.png | Bin 0 -> 1250 bytes api/resources/images/comment.png | Bin 0 -> 5163 bytes api/resources/images/component-m.png | Bin 0 -> 3287 bytes api/resources/images/default-guide.png | Bin 0 -> 13215 bytes api/resources/images/doc-m.png | Bin 0 -> 3368 bytes api/resources/images/down-arr.png | Bin 0 -> 963 bytes api/resources/images/elbow-end.gif | Bin 0 -> 844 bytes api/resources/images/example-icons.png | Bin 0 -> 2639 bytes api/resources/images/expandcollapse.png | Bin 0 -> 1051 bytes api/resources/images/gettingstarted.jpg | Bin 0 -> 20437 bytes api/resources/images/group-expand-sprite.gif | Bin 0 -> 955 bytes api/resources/images/guide-icon.png | Bin 0 -> 1659 bytes api/resources/images/guides.png | Bin 0 -> 22038 bytes api/resources/images/header.png | Bin 0 -> 1089 bytes api/resources/images/hero-extjs4-alt.png | Bin 0 -> 56899 bytes api/resources/images/icons.png | Bin 0 -> 11943 bytes api/resources/images/link-arrow-next.png | Bin 0 -> 501 bytes .../images/link-green-standard-over.png | Bin 0 -> 240 bytes api/resources/images/link-green-standard.png | Bin 0 -> 240 bytes api/resources/images/loading.gif | Bin 0 -> 16717 bytes api/resources/images/logo-screen-noglow.png | Bin 0 -> 9394 bytes api/resources/images/logo.png | Bin 0 -> 1243 bytes api/resources/images/member-collapsed.gif | Bin 0 -> 856 bytes api/resources/images/member-expanded.gif | Bin 0 -> 845 bytes api/resources/images/member-hover.gif | Bin 0 -> 861 bytes api/resources/images/more.png | Bin 0 -> 498 bytes api/resources/images/phone-l.jpg | Bin 0 -> 23894 bytes api/resources/images/phone-p.jpg | Bin 0 -> 24174 bytes api/resources/images/phone-small-l.jpg | Bin 0 -> 12852 bytes api/resources/images/phone-small-p.jpg | Bin 0 -> 12905 bytes api/resources/images/preview.png | Bin 0 -> 1361 bytes api/resources/images/print.png | Bin 0 -> 829 bytes api/resources/images/sample-over.gif | Bin 0 -> 2594 bytes api/resources/images/search-box.png | Bin 0 -> 1988 bytes api/resources/images/sencha-stamp.png | Bin 0 -> 1849 bytes api/resources/images/singleton-m.png | Bin 0 -> 6253 bytes api/resources/images/tablet-l.jpg | Bin 0 -> 35936 bytes api/resources/images/tablet-p.jpg | Bin 0 -> 34731 bytes api/resources/images/tabs.png | Bin 0 -> 5291 bytes api/resources/images/text-bg.gif | Bin 0 -> 819 bytes api/resources/images/version-tabs.png | Bin 0 -> 3594 bytes api/resources/images/vote-arrows.png | Bin 0 -> 883 bytes api/resources/images/welcome-bg-js4.gif | Bin 0 -> 3419 bytes api/resources/images/x.png | Bin 0 -> 1299 bytes api/resources/images/x12.png | Bin 0 -> 1242 bytes api/resources/images/x122.png | Bin 0 -> 1418 bytes api/resources/prettify/prettify.css | 1 + api/resources/prettify/prettify.js | 30 + bower.json | 2 +- component.json | 2 +- lib/backgrid.min.css | 1 + lib/backgrid.min.js | 8 + package.json | 2 +- test/coverage/coverage.json | 1 + test/coverage/index.html | 350 + test/coverage/lib/backgrid.js.html | 8968 +++++++++++++++++ test/coverage/lib/index.html | 350 + test/coverage/prettify.css | 1 + test/coverage/prettify.js | 1 + 474 files changed, 17105 insertions(+), 6 deletions(-) create mode 100644 api/app-2a09dc1c9acadab58e390b770a9565d0.js create mode 100644 api/data-f05c67dbd58bd73bbd6ece37e27dccd4.js create mode 100644 api/eg-iframe.html create mode 100644 api/extjs/ext-all.js create mode 100755 api/extjs/resources/themes/images/default/boundlist/trigger-arrow.png create mode 100755 api/extjs/resources/themes/images/default/box/corners-blue.gif create mode 100755 api/extjs/resources/themes/images/default/box/corners.gif create mode 100755 api/extjs/resources/themes/images/default/box/l-blue.gif create mode 100755 api/extjs/resources/themes/images/default/box/l.gif create mode 100755 api/extjs/resources/themes/images/default/box/r-blue.gif create mode 100755 api/extjs/resources/themes/images/default/box/r.gif create mode 100755 api/extjs/resources/themes/images/default/box/tb-blue.gif create mode 100755 api/extjs/resources/themes/images/default/box/tb.gif create mode 100755 api/extjs/resources/themes/images/default/btn-group/btn-group-default-framed-corners.gif create mode 100755 api/extjs/resources/themes/images/default/btn-group/btn-group-default-framed-notitle-corners.gif create mode 100755 api/extjs/resources/themes/images/default/btn-group/btn-group-default-framed-notitle-sides.gif create mode 100755 api/extjs/resources/themes/images/default/btn-group/btn-group-default-framed-sides.gif create mode 100755 api/extjs/resources/themes/images/default/btn/btn-default-large-bg.gif create mode 100755 api/extjs/resources/themes/images/default/btn/btn-default-large-corners.gif create mode 100755 api/extjs/resources/themes/images/default/btn/btn-default-large-disabled-bg.gif create mode 100755 api/extjs/resources/themes/images/default/btn/btn-default-large-disabled-corners.gif create mode 100755 api/extjs/resources/themes/images/default/btn/btn-default-large-disabled-sides.gif create mode 100755 api/extjs/resources/themes/images/default/btn/btn-default-large-focus-bg.gif create mode 100755 api/extjs/resources/themes/images/default/btn/btn-default-large-focus-corners.gif create mode 100755 api/extjs/resources/themes/images/default/btn/btn-default-large-focus-sides.gif create mode 100755 api/extjs/resources/themes/images/default/btn/btn-default-large-over-bg.gif create mode 100755 api/extjs/resources/themes/images/default/btn/btn-default-large-over-corners.gif create mode 100755 api/extjs/resources/themes/images/default/btn/btn-default-large-over-sides.gif create mode 100755 api/extjs/resources/themes/images/default/btn/btn-default-large-pressed-bg.gif create mode 100755 api/extjs/resources/themes/images/default/btn/btn-default-large-pressed-corners.gif create mode 100755 api/extjs/resources/themes/images/default/btn/btn-default-large-pressed-sides.gif create mode 100755 api/extjs/resources/themes/images/default/btn/btn-default-large-sides.gif create mode 100755 api/extjs/resources/themes/images/default/btn/btn-default-medium-bg.gif create mode 100755 api/extjs/resources/themes/images/default/btn/btn-default-medium-corners.gif create mode 100755 api/extjs/resources/themes/images/default/btn/btn-default-medium-disabled-bg.gif create mode 100755 api/extjs/resources/themes/images/default/btn/btn-default-medium-disabled-corners.gif create mode 100755 api/extjs/resources/themes/images/default/btn/btn-default-medium-disabled-sides.gif create mode 100755 api/extjs/resources/themes/images/default/btn/btn-default-medium-focus-bg.gif create mode 100755 api/extjs/resources/themes/images/default/btn/btn-default-medium-focus-corners.gif create mode 100755 api/extjs/resources/themes/images/default/btn/btn-default-medium-focus-sides.gif create mode 100755 api/extjs/resources/themes/images/default/btn/btn-default-medium-over-bg.gif create mode 100755 api/extjs/resources/themes/images/default/btn/btn-default-medium-over-corners.gif create mode 100755 api/extjs/resources/themes/images/default/btn/btn-default-medium-over-sides.gif create mode 100755 api/extjs/resources/themes/images/default/btn/btn-default-medium-pressed-bg.gif create mode 100755 api/extjs/resources/themes/images/default/btn/btn-default-medium-pressed-corners.gif create mode 100755 api/extjs/resources/themes/images/default/btn/btn-default-medium-pressed-sides.gif create mode 100755 api/extjs/resources/themes/images/default/btn/btn-default-medium-sides.gif create mode 100755 api/extjs/resources/themes/images/default/btn/btn-default-small-bg.gif create mode 100755 api/extjs/resources/themes/images/default/btn/btn-default-small-corners.gif create mode 100755 api/extjs/resources/themes/images/default/btn/btn-default-small-disabled-bg.gif create mode 100755 api/extjs/resources/themes/images/default/btn/btn-default-small-disabled-corners.gif create mode 100755 api/extjs/resources/themes/images/default/btn/btn-default-small-disabled-sides.gif create mode 100755 api/extjs/resources/themes/images/default/btn/btn-default-small-focus-bg.gif create mode 100755 api/extjs/resources/themes/images/default/btn/btn-default-small-focus-corners.gif create mode 100755 api/extjs/resources/themes/images/default/btn/btn-default-small-focus-sides.gif create mode 100755 api/extjs/resources/themes/images/default/btn/btn-default-small-over-bg.gif create mode 100755 api/extjs/resources/themes/images/default/btn/btn-default-small-over-corners.gif create mode 100755 api/extjs/resources/themes/images/default/btn/btn-default-small-over-sides.gif create mode 100755 api/extjs/resources/themes/images/default/btn/btn-default-small-pressed-bg.gif create mode 100755 api/extjs/resources/themes/images/default/btn/btn-default-small-pressed-corners.gif create mode 100755 api/extjs/resources/themes/images/default/btn/btn-default-small-pressed-sides.gif create mode 100755 api/extjs/resources/themes/images/default/btn/btn-default-small-sides.gif create mode 100755 api/extjs/resources/themes/images/default/btn/btn-default-toolbar-large-corners.gif create mode 100755 api/extjs/resources/themes/images/default/btn/btn-default-toolbar-large-disabled-corners.gif create mode 100755 api/extjs/resources/themes/images/default/btn/btn-default-toolbar-large-disabled-sides.gif create mode 100755 api/extjs/resources/themes/images/default/btn/btn-default-toolbar-large-focus-bg.gif create mode 100755 api/extjs/resources/themes/images/default/btn/btn-default-toolbar-large-focus-corners.gif create mode 100755 api/extjs/resources/themes/images/default/btn/btn-default-toolbar-large-focus-sides.gif create mode 100755 api/extjs/resources/themes/images/default/btn/btn-default-toolbar-large-over-bg.gif create mode 100755 api/extjs/resources/themes/images/default/btn/btn-default-toolbar-large-over-corners.gif create mode 100755 api/extjs/resources/themes/images/default/btn/btn-default-toolbar-large-over-sides.gif create mode 100755 api/extjs/resources/themes/images/default/btn/btn-default-toolbar-large-pressed-bg.gif create mode 100755 api/extjs/resources/themes/images/default/btn/btn-default-toolbar-large-pressed-corners.gif create mode 100755 api/extjs/resources/themes/images/default/btn/btn-default-toolbar-large-pressed-sides.gif create mode 100755 api/extjs/resources/themes/images/default/btn/btn-default-toolbar-large-sides.gif create mode 100755 api/extjs/resources/themes/images/default/btn/btn-default-toolbar-medium-corners.gif create mode 100755 api/extjs/resources/themes/images/default/btn/btn-default-toolbar-medium-disabled-corners.gif create mode 100755 api/extjs/resources/themes/images/default/btn/btn-default-toolbar-medium-disabled-sides.gif create mode 100755 api/extjs/resources/themes/images/default/btn/btn-default-toolbar-medium-focus-bg.gif create mode 100755 api/extjs/resources/themes/images/default/btn/btn-default-toolbar-medium-focus-corners.gif create mode 100755 api/extjs/resources/themes/images/default/btn/btn-default-toolbar-medium-focus-sides.gif create mode 100755 api/extjs/resources/themes/images/default/btn/btn-default-toolbar-medium-over-bg.gif create mode 100755 api/extjs/resources/themes/images/default/btn/btn-default-toolbar-medium-over-corners.gif create mode 100755 api/extjs/resources/themes/images/default/btn/btn-default-toolbar-medium-over-sides.gif create mode 100755 api/extjs/resources/themes/images/default/btn/btn-default-toolbar-medium-pressed-bg.gif create mode 100755 api/extjs/resources/themes/images/default/btn/btn-default-toolbar-medium-pressed-corners.gif create mode 100755 api/extjs/resources/themes/images/default/btn/btn-default-toolbar-medium-pressed-sides.gif create mode 100755 api/extjs/resources/themes/images/default/btn/btn-default-toolbar-medium-sides.gif create mode 100755 api/extjs/resources/themes/images/default/btn/btn-default-toolbar-small-corners.gif create mode 100755 api/extjs/resources/themes/images/default/btn/btn-default-toolbar-small-disabled-corners.gif create mode 100755 api/extjs/resources/themes/images/default/btn/btn-default-toolbar-small-disabled-sides.gif create mode 100755 api/extjs/resources/themes/images/default/btn/btn-default-toolbar-small-focus-bg.gif create mode 100755 api/extjs/resources/themes/images/default/btn/btn-default-toolbar-small-focus-corners.gif create mode 100755 api/extjs/resources/themes/images/default/btn/btn-default-toolbar-small-focus-sides.gif create mode 100755 api/extjs/resources/themes/images/default/btn/btn-default-toolbar-small-over-bg.gif create mode 100755 api/extjs/resources/themes/images/default/btn/btn-default-toolbar-small-over-corners.gif create mode 100755 api/extjs/resources/themes/images/default/btn/btn-default-toolbar-small-over-sides.gif create mode 100755 api/extjs/resources/themes/images/default/btn/btn-default-toolbar-small-pressed-bg.gif create mode 100755 api/extjs/resources/themes/images/default/btn/btn-default-toolbar-small-pressed-corners.gif create mode 100755 api/extjs/resources/themes/images/default/btn/btn-default-toolbar-small-pressed-sides.gif create mode 100755 api/extjs/resources/themes/images/default/btn/btn-default-toolbar-small-sides.gif create mode 100755 api/extjs/resources/themes/images/default/button/arrow.gif create mode 100755 api/extjs/resources/themes/images/default/button/btn.gif create mode 100755 api/extjs/resources/themes/images/default/button/group-cs.gif create mode 100755 api/extjs/resources/themes/images/default/button/group-lr.gif create mode 100755 api/extjs/resources/themes/images/default/button/group-tb.gif create mode 100755 api/extjs/resources/themes/images/default/button/s-arrow-b-noline.gif create mode 100755 api/extjs/resources/themes/images/default/button/s-arrow-b.gif create mode 100755 api/extjs/resources/themes/images/default/button/s-arrow-bo.gif create mode 100755 api/extjs/resources/themes/images/default/button/s-arrow-light.gif create mode 100755 api/extjs/resources/themes/images/default/button/s-arrow-noline.gif create mode 100755 api/extjs/resources/themes/images/default/button/s-arrow-o.gif create mode 100755 api/extjs/resources/themes/images/default/button/s-arrow.gif create mode 100755 api/extjs/resources/themes/images/default/datepicker/datepicker-footer-bg.gif create mode 100755 api/extjs/resources/themes/images/default/datepicker/datepicker-footer-bg.png create mode 100755 api/extjs/resources/themes/images/default/datepicker/datepicker-header-bg.gif create mode 100755 api/extjs/resources/themes/images/default/datepicker/datepicker-header-bg.png create mode 100755 api/extjs/resources/themes/images/default/dd/drop-add.gif create mode 100755 api/extjs/resources/themes/images/default/dd/drop-no.gif create mode 100755 api/extjs/resources/themes/images/default/dd/drop-yes.gif create mode 100755 api/extjs/resources/themes/images/default/editor/tb-sprite.gif create mode 100755 api/extjs/resources/themes/images/default/form-invalid-tip/form-invalid-tip-corners.gif create mode 100755 api/extjs/resources/themes/images/default/form-invalid-tip/form-invalid-tip-default-corners.gif create mode 100755 api/extjs/resources/themes/images/default/form-invalid-tip/form-invalid-tip-default-sides.gif create mode 100755 api/extjs/resources/themes/images/default/form-invalid-tip/form-invalid-tip-sides.gif create mode 100755 api/extjs/resources/themes/images/default/form/checkbox.gif create mode 100755 api/extjs/resources/themes/images/default/form/clear-trigger.gif create mode 100755 api/extjs/resources/themes/images/default/form/date-trigger.gif create mode 100755 api/extjs/resources/themes/images/default/form/error-tip-corners.gif create mode 100755 api/extjs/resources/themes/images/default/form/exclamation.gif create mode 100755 api/extjs/resources/themes/images/default/form/radio.gif create mode 100755 api/extjs/resources/themes/images/default/form/search-trigger.gif create mode 100755 api/extjs/resources/themes/images/default/form/spinner-small.gif create mode 100755 api/extjs/resources/themes/images/default/form/spinner.gif create mode 100755 api/extjs/resources/themes/images/default/form/text-bg.gif create mode 100755 api/extjs/resources/themes/images/default/form/trigger-square.gif create mode 100755 api/extjs/resources/themes/images/default/form/trigger-tpl.gif create mode 100755 api/extjs/resources/themes/images/default/form/trigger.gif create mode 100755 api/extjs/resources/themes/images/default/grid/arrow-left-white.gif create mode 100755 api/extjs/resources/themes/images/default/grid/arrow-right-white.gif create mode 100755 api/extjs/resources/themes/images/default/grid/cell-special-bg.gif create mode 100755 api/extjs/resources/themes/images/default/grid/cell-special-bg.png create mode 100755 api/extjs/resources/themes/images/default/grid/cell-special-selected-bg.gif create mode 100755 api/extjs/resources/themes/images/default/grid/cell-special-selected-bg.png create mode 100755 api/extjs/resources/themes/images/default/grid/checked.gif create mode 100755 api/extjs/resources/themes/images/default/grid/col-move-bottom.gif create mode 100755 api/extjs/resources/themes/images/default/grid/col-move-top.gif create mode 100755 api/extjs/resources/themes/images/default/grid/column-header-bg.gif create mode 100755 api/extjs/resources/themes/images/default/grid/column-header-bg.png create mode 100755 api/extjs/resources/themes/images/default/grid/column-header-over-bg.gif create mode 100755 api/extjs/resources/themes/images/default/grid/column-header-over-bg.png create mode 100755 api/extjs/resources/themes/images/default/grid/columns.gif create mode 100755 api/extjs/resources/themes/images/default/grid/dd-insert-arrow-left.gif create mode 100755 api/extjs/resources/themes/images/default/grid/dd-insert-arrow-left.png create mode 100755 api/extjs/resources/themes/images/default/grid/dd-insert-arrow-right.gif create mode 100755 api/extjs/resources/themes/images/default/grid/dd-insert-arrow-right.png create mode 100755 api/extjs/resources/themes/images/default/grid/dirty.gif create mode 100755 api/extjs/resources/themes/images/default/grid/done.gif create mode 100755 api/extjs/resources/themes/images/default/grid/drop-no.gif create mode 100755 api/extjs/resources/themes/images/default/grid/drop-yes.gif create mode 100755 api/extjs/resources/themes/images/default/grid/footer-bg.gif create mode 100755 api/extjs/resources/themes/images/default/grid/grid-blue-hd.gif create mode 100755 api/extjs/resources/themes/images/default/grid/grid-blue-split.gif create mode 100755 api/extjs/resources/themes/images/default/grid/grid-hrow.gif create mode 100755 api/extjs/resources/themes/images/default/grid/grid-loading.gif create mode 100755 api/extjs/resources/themes/images/default/grid/grid-split.gif create mode 100755 api/extjs/resources/themes/images/default/grid/grid-vista-hd.gif create mode 100755 api/extjs/resources/themes/images/default/grid/grid3-hd-btn.gif create mode 100755 api/extjs/resources/themes/images/default/grid/grid3-hrow-over.gif create mode 100755 api/extjs/resources/themes/images/default/grid/grid3-hrow.gif create mode 100755 api/extjs/resources/themes/images/default/grid/grid3-rowheader.gif create mode 100755 api/extjs/resources/themes/images/default/grid/group-by.gif create mode 100755 api/extjs/resources/themes/images/default/grid/group-collapse.gif create mode 100755 api/extjs/resources/themes/images/default/grid/group-expand-sprite.gif create mode 100755 api/extjs/resources/themes/images/default/grid/group-expand.gif create mode 100755 api/extjs/resources/themes/images/default/grid/hd-pop.gif create mode 100755 api/extjs/resources/themes/images/default/grid/hmenu-asc.gif create mode 100755 api/extjs/resources/themes/images/default/grid/hmenu-desc.gif create mode 100755 api/extjs/resources/themes/images/default/grid/hmenu-lock.gif create mode 100755 api/extjs/resources/themes/images/default/grid/hmenu-lock.png create mode 100755 api/extjs/resources/themes/images/default/grid/hmenu-unlock.gif create mode 100755 api/extjs/resources/themes/images/default/grid/hmenu-unlock.png create mode 100755 api/extjs/resources/themes/images/default/grid/invalid_line.gif create mode 100755 api/extjs/resources/themes/images/default/grid/loading.gif create mode 100755 api/extjs/resources/themes/images/default/grid/mso-hd.gif create mode 100755 api/extjs/resources/themes/images/default/grid/nowait.gif create mode 100755 api/extjs/resources/themes/images/default/grid/page-first-disabled.gif create mode 100755 api/extjs/resources/themes/images/default/grid/page-first.gif create mode 100755 api/extjs/resources/themes/images/default/grid/page-last-disabled.gif create mode 100755 api/extjs/resources/themes/images/default/grid/page-last.gif create mode 100755 api/extjs/resources/themes/images/default/grid/page-next-disabled.gif create mode 100755 api/extjs/resources/themes/images/default/grid/page-next.gif create mode 100755 api/extjs/resources/themes/images/default/grid/page-prev-disabled.gif create mode 100755 api/extjs/resources/themes/images/default/grid/page-prev.gif create mode 100755 api/extjs/resources/themes/images/default/grid/pick-button.gif create mode 100755 api/extjs/resources/themes/images/default/grid/property-cell-bg.gif create mode 100755 api/extjs/resources/themes/images/default/grid/property-cell-selected-bg.gif create mode 100755 api/extjs/resources/themes/images/default/grid/refresh-disabled.gif create mode 100755 api/extjs/resources/themes/images/default/grid/refresh.gif create mode 100755 api/extjs/resources/themes/images/default/grid/row-check-sprite.gif create mode 100755 api/extjs/resources/themes/images/default/grid/row-expand-sprite.gif create mode 100755 api/extjs/resources/themes/images/default/grid/row-over.gif create mode 100755 api/extjs/resources/themes/images/default/grid/row-sel.gif create mode 100755 api/extjs/resources/themes/images/default/grid/sort-hd.gif create mode 100755 api/extjs/resources/themes/images/default/grid/sort_asc.gif create mode 100755 api/extjs/resources/themes/images/default/grid/sort_desc.gif create mode 100755 api/extjs/resources/themes/images/default/grid/unchecked.gif create mode 100755 api/extjs/resources/themes/images/default/grid/wait.gif create mode 100755 api/extjs/resources/themes/images/default/layout/mini-bottom.gif create mode 100755 api/extjs/resources/themes/images/default/layout/mini-left.gif create mode 100755 api/extjs/resources/themes/images/default/layout/mini-right.gif create mode 100755 api/extjs/resources/themes/images/default/layout/mini-top.gif create mode 100755 api/extjs/resources/themes/images/default/menu/checked.gif create mode 100755 api/extjs/resources/themes/images/default/menu/group-checked.gif create mode 100755 api/extjs/resources/themes/images/default/menu/item-over.gif create mode 100755 api/extjs/resources/themes/images/default/menu/menu-item-active-bg.gif create mode 100755 api/extjs/resources/themes/images/default/menu/menu-item-active-corners.gif create mode 100755 api/extjs/resources/themes/images/default/menu/menu-item-active-sides.gif create mode 100755 api/extjs/resources/themes/images/default/menu/menu-parent.gif create mode 100755 api/extjs/resources/themes/images/default/menu/menu.gif create mode 100755 api/extjs/resources/themes/images/default/menu/unchecked.gif create mode 100755 api/extjs/resources/themes/images/default/panel-header/panel-header-default-bottom-bg.gif create mode 100755 api/extjs/resources/themes/images/default/panel-header/panel-header-default-framed-bottom-bg.gif create mode 100755 api/extjs/resources/themes/images/default/panel-header/panel-header-default-framed-bottom-corners.gif create mode 100755 api/extjs/resources/themes/images/default/panel-header/panel-header-default-framed-bottom-sides.gif create mode 100755 api/extjs/resources/themes/images/default/panel-header/panel-header-default-framed-collapsed-bottom-bg.gif create mode 100755 api/extjs/resources/themes/images/default/panel-header/panel-header-default-framed-collapsed-bottom-corners.gif create mode 100755 api/extjs/resources/themes/images/default/panel-header/panel-header-default-framed-collapsed-bottom-sides.gif create mode 100755 api/extjs/resources/themes/images/default/panel-header/panel-header-default-framed-collapsed-left-bg.gif create mode 100755 api/extjs/resources/themes/images/default/panel-header/panel-header-default-framed-collapsed-left-corners.gif create mode 100755 api/extjs/resources/themes/images/default/panel-header/panel-header-default-framed-collapsed-left-sides.gif create mode 100755 api/extjs/resources/themes/images/default/panel-header/panel-header-default-framed-collapsed-right-bg.gif create mode 100755 api/extjs/resources/themes/images/default/panel-header/panel-header-default-framed-collapsed-right-corners.gif create mode 100755 api/extjs/resources/themes/images/default/panel-header/panel-header-default-framed-collapsed-right-sides.gif create mode 100755 api/extjs/resources/themes/images/default/panel-header/panel-header-default-framed-collapsed-top-bg.gif create mode 100755 api/extjs/resources/themes/images/default/panel-header/panel-header-default-framed-collapsed-top-corners.gif create mode 100755 api/extjs/resources/themes/images/default/panel-header/panel-header-default-framed-collapsed-top-sides.gif create mode 100755 api/extjs/resources/themes/images/default/panel-header/panel-header-default-framed-left-bg.gif create mode 100755 api/extjs/resources/themes/images/default/panel-header/panel-header-default-framed-left-corners.gif create mode 100755 api/extjs/resources/themes/images/default/panel-header/panel-header-default-framed-left-sides.gif create mode 100755 api/extjs/resources/themes/images/default/panel-header/panel-header-default-framed-right-bg.gif create mode 100755 api/extjs/resources/themes/images/default/panel-header/panel-header-default-framed-right-corners.gif create mode 100755 api/extjs/resources/themes/images/default/panel-header/panel-header-default-framed-right-sides.gif create mode 100755 api/extjs/resources/themes/images/default/panel-header/panel-header-default-framed-top-bg.gif create mode 100755 api/extjs/resources/themes/images/default/panel-header/panel-header-default-framed-top-corners.gif create mode 100755 api/extjs/resources/themes/images/default/panel-header/panel-header-default-framed-top-sides.gif create mode 100755 api/extjs/resources/themes/images/default/panel-header/panel-header-default-left-bg.gif create mode 100755 api/extjs/resources/themes/images/default/panel-header/panel-header-default-right-bg.gif create mode 100755 api/extjs/resources/themes/images/default/panel-header/panel-header-default-top-bg.gif create mode 100755 api/extjs/resources/themes/images/default/panel/panel-default-framed-corners.gif create mode 100755 api/extjs/resources/themes/images/default/panel/panel-default-framed-sides.gif create mode 100755 api/extjs/resources/themes/images/default/progress/progress-default-bg.gif create mode 100755 api/extjs/resources/themes/images/default/shared/blue-loading.gif create mode 100755 api/extjs/resources/themes/images/default/shared/calendar.gif create mode 100755 api/extjs/resources/themes/images/default/shared/glass-bg.gif create mode 100755 api/extjs/resources/themes/images/default/shared/hd-sprite.gif create mode 100755 api/extjs/resources/themes/images/default/shared/icon-error.gif create mode 100755 api/extjs/resources/themes/images/default/shared/icon-info.gif create mode 100755 api/extjs/resources/themes/images/default/shared/icon-question.gif create mode 100755 api/extjs/resources/themes/images/default/shared/icon-warning.gif create mode 100755 api/extjs/resources/themes/images/default/shared/large-loading.gif create mode 100755 api/extjs/resources/themes/images/default/shared/left-btn.gif create mode 100755 api/extjs/resources/themes/images/default/shared/loading-balls.gif create mode 100755 api/extjs/resources/themes/images/default/shared/right-btn.gif create mode 100755 api/extjs/resources/themes/images/default/shared/shadow-c.png create mode 100755 api/extjs/resources/themes/images/default/shared/shadow-lr.png create mode 100755 api/extjs/resources/themes/images/default/shared/shadow.png create mode 100755 api/extjs/resources/themes/images/default/shared/warning.gif create mode 100755 api/extjs/resources/themes/images/default/sizer/e-handle-dark.gif create mode 100755 api/extjs/resources/themes/images/default/sizer/e-handle.gif create mode 100755 api/extjs/resources/themes/images/default/sizer/ne-handle-dark.gif create mode 100755 api/extjs/resources/themes/images/default/sizer/ne-handle.gif create mode 100755 api/extjs/resources/themes/images/default/sizer/nw-handle-dark.gif create mode 100755 api/extjs/resources/themes/images/default/sizer/nw-handle.gif create mode 100755 api/extjs/resources/themes/images/default/sizer/s-handle-dark.gif create mode 100755 api/extjs/resources/themes/images/default/sizer/s-handle.gif create mode 100755 api/extjs/resources/themes/images/default/sizer/se-handle-dark.gif create mode 100755 api/extjs/resources/themes/images/default/sizer/se-handle.gif create mode 100755 api/extjs/resources/themes/images/default/sizer/square.gif create mode 100755 api/extjs/resources/themes/images/default/sizer/sw-handle-dark.gif create mode 100755 api/extjs/resources/themes/images/default/sizer/sw-handle.gif create mode 100755 api/extjs/resources/themes/images/default/slider/slider-bg.gif create mode 100755 api/extjs/resources/themes/images/default/slider/slider-bg.png create mode 100755 api/extjs/resources/themes/images/default/slider/slider-thumb.gif create mode 100755 api/extjs/resources/themes/images/default/slider/slider-thumb.png create mode 100755 api/extjs/resources/themes/images/default/slider/slider-v-bg.gif create mode 100755 api/extjs/resources/themes/images/default/slider/slider-v-bg.png create mode 100755 api/extjs/resources/themes/images/default/slider/slider-v-thumb.gif create mode 100755 api/extjs/resources/themes/images/default/slider/slider-v-thumb.png create mode 100755 api/extjs/resources/themes/images/default/tab-bar/scroll-left.gif create mode 100755 api/extjs/resources/themes/images/default/tab-bar/scroll-right.gif create mode 100755 api/extjs/resources/themes/images/default/tab-bar/tab-bar-default-bg.gif create mode 100755 api/extjs/resources/themes/images/default/tab/tab-default-bottom-active-bg.gif create mode 100755 api/extjs/resources/themes/images/default/tab/tab-default-bottom-active-corners.gif create mode 100755 api/extjs/resources/themes/images/default/tab/tab-default-bottom-active-sides.gif create mode 100755 api/extjs/resources/themes/images/default/tab/tab-default-bottom-bg.gif create mode 100755 api/extjs/resources/themes/images/default/tab/tab-default-bottom-corners.gif create mode 100755 api/extjs/resources/themes/images/default/tab/tab-default-bottom-disabled-bg.gif create mode 100755 api/extjs/resources/themes/images/default/tab/tab-default-bottom-disabled-corners.gif create mode 100755 api/extjs/resources/themes/images/default/tab/tab-default-bottom-disabled-sides.gif create mode 100755 api/extjs/resources/themes/images/default/tab/tab-default-bottom-over-bg.gif create mode 100755 api/extjs/resources/themes/images/default/tab/tab-default-bottom-over-corners.gif create mode 100755 api/extjs/resources/themes/images/default/tab/tab-default-bottom-over-sides.gif create mode 100755 api/extjs/resources/themes/images/default/tab/tab-default-bottom-sides.gif create mode 100755 api/extjs/resources/themes/images/default/tab/tab-default-close.gif create mode 100755 api/extjs/resources/themes/images/default/tab/tab-default-top-active-bg.gif create mode 100755 api/extjs/resources/themes/images/default/tab/tab-default-top-active-corners.gif create mode 100755 api/extjs/resources/themes/images/default/tab/tab-default-top-active-sides.gif create mode 100755 api/extjs/resources/themes/images/default/tab/tab-default-top-bg.gif create mode 100755 api/extjs/resources/themes/images/default/tab/tab-default-top-corners.gif create mode 100755 api/extjs/resources/themes/images/default/tab/tab-default-top-disabled-bg.gif create mode 100755 api/extjs/resources/themes/images/default/tab/tab-default-top-disabled-corners.gif create mode 100755 api/extjs/resources/themes/images/default/tab/tab-default-top-disabled-sides.gif create mode 100755 api/extjs/resources/themes/images/default/tab/tab-default-top-over-bg.gif create mode 100755 api/extjs/resources/themes/images/default/tab/tab-default-top-over-corners.gif create mode 100755 api/extjs/resources/themes/images/default/tab/tab-default-top-over-sides.gif create mode 100755 api/extjs/resources/themes/images/default/tab/tab-default-top-sides.gif create mode 100755 api/extjs/resources/themes/images/default/tip/tip-corners.gif create mode 100755 api/extjs/resources/themes/images/default/tip/tip-sides.gif create mode 100755 api/extjs/resources/themes/images/default/toolbar/more.gif create mode 100755 api/extjs/resources/themes/images/default/toolbar/scroll-left.gif create mode 100755 api/extjs/resources/themes/images/default/toolbar/scroll-right.gif create mode 100755 api/extjs/resources/themes/images/default/toolbar/toolbar-default-bg.gif create mode 100755 api/extjs/resources/themes/images/default/tools/tool-sprite-tpl.gif create mode 100755 api/extjs/resources/themes/images/default/tools/tool-sprites.gif create mode 100755 api/extjs/resources/themes/images/default/tools/tools-sprites-trans.gif create mode 100755 api/extjs/resources/themes/images/default/tree/arrows.gif create mode 100755 api/extjs/resources/themes/images/default/tree/drop-above.gif create mode 100755 api/extjs/resources/themes/images/default/tree/drop-add.gif create mode 100755 api/extjs/resources/themes/images/default/tree/drop-append.gif create mode 100755 api/extjs/resources/themes/images/default/tree/drop-below.gif create mode 100755 api/extjs/resources/themes/images/default/tree/drop-between.gif create mode 100755 api/extjs/resources/themes/images/default/tree/drop-no.gif create mode 100755 api/extjs/resources/themes/images/default/tree/drop-over.gif create mode 100755 api/extjs/resources/themes/images/default/tree/drop-under.gif create mode 100755 api/extjs/resources/themes/images/default/tree/drop-yes.gif create mode 100755 api/extjs/resources/themes/images/default/tree/elbow-end-minus-nl.gif create mode 100755 api/extjs/resources/themes/images/default/tree/elbow-end-minus.gif create mode 100755 api/extjs/resources/themes/images/default/tree/elbow-end-plus-nl.gif create mode 100755 api/extjs/resources/themes/images/default/tree/elbow-end-plus.gif create mode 100755 api/extjs/resources/themes/images/default/tree/elbow-end.gif create mode 100755 api/extjs/resources/themes/images/default/tree/elbow-line.gif create mode 100755 api/extjs/resources/themes/images/default/tree/elbow-minus-nl.gif create mode 100755 api/extjs/resources/themes/images/default/tree/elbow-minus.gif create mode 100755 api/extjs/resources/themes/images/default/tree/elbow-plus-nl.gif create mode 100755 api/extjs/resources/themes/images/default/tree/elbow-plus.gif create mode 100755 api/extjs/resources/themes/images/default/tree/elbow.gif create mode 100755 api/extjs/resources/themes/images/default/tree/folder-open.gif create mode 100755 api/extjs/resources/themes/images/default/tree/folder.gif create mode 100755 api/extjs/resources/themes/images/default/tree/leaf.gif create mode 100755 api/extjs/resources/themes/images/default/tree/loading.gif create mode 100755 api/extjs/resources/themes/images/default/tree/s.gif create mode 100755 api/extjs/resources/themes/images/default/util/splitter/mini-bottom.gif create mode 100755 api/extjs/resources/themes/images/default/util/splitter/mini-left.gif create mode 100755 api/extjs/resources/themes/images/default/util/splitter/mini-right.gif create mode 100755 api/extjs/resources/themes/images/default/util/splitter/mini-top.gif create mode 100755 api/extjs/resources/themes/images/default/window-header/window-header-default-bottom-corners.gif create mode 100755 api/extjs/resources/themes/images/default/window-header/window-header-default-bottom-sides.gif create mode 100755 api/extjs/resources/themes/images/default/window-header/window-header-default-collapsed-bottom-corners.gif create mode 100755 api/extjs/resources/themes/images/default/window-header/window-header-default-collapsed-bottom-sides.gif create mode 100755 api/extjs/resources/themes/images/default/window-header/window-header-default-collapsed-left-corners.gif create mode 100755 api/extjs/resources/themes/images/default/window-header/window-header-default-collapsed-left-sides.gif create mode 100755 api/extjs/resources/themes/images/default/window-header/window-header-default-collapsed-right-corners.gif create mode 100755 api/extjs/resources/themes/images/default/window-header/window-header-default-collapsed-right-sides.gif create mode 100755 api/extjs/resources/themes/images/default/window-header/window-header-default-collapsed-top-corners.gif create mode 100755 api/extjs/resources/themes/images/default/window-header/window-header-default-collapsed-top-sides.gif create mode 100755 api/extjs/resources/themes/images/default/window-header/window-header-default-left-corners.gif create mode 100755 api/extjs/resources/themes/images/default/window-header/window-header-default-left-sides.gif create mode 100755 api/extjs/resources/themes/images/default/window-header/window-header-default-right-corners.gif create mode 100755 api/extjs/resources/themes/images/default/window-header/window-header-default-right-sides.gif create mode 100755 api/extjs/resources/themes/images/default/window-header/window-header-default-top-corners.gif create mode 100755 api/extjs/resources/themes/images/default/window-header/window-header-default-top-sides.gif create mode 100755 api/extjs/resources/themes/images/default/window/window-default-corners.gif create mode 100755 api/extjs/resources/themes/images/default/window/window-default-sides.gif create mode 100644 api/favicon.ico create mode 100644 api/index.html create mode 100644 api/output/Backgrid.Body.js create mode 100644 api/output/Backgrid.BooleanCell.js create mode 100644 api/output/Backgrid.BooleanCellEditor.js create mode 100644 api/output/Backgrid.Cell.js create mode 100644 api/output/Backgrid.CellEditor.js create mode 100644 api/output/Backgrid.CellFormatter.js create mode 100644 api/output/Backgrid.Column.js create mode 100644 api/output/Backgrid.Columns.js create mode 100644 api/output/Backgrid.Command.js create mode 100644 api/output/Backgrid.DateCell.js create mode 100644 api/output/Backgrid.DatetimeCell.js create mode 100644 api/output/Backgrid.DatetimeFormatter.js create mode 100644 api/output/Backgrid.EmailCell.js create mode 100644 api/output/Backgrid.EmailFormatter.js create mode 100644 api/output/Backgrid.EmptyRow.js create mode 100644 api/output/Backgrid.Footer.js create mode 100644 api/output/Backgrid.Grid.js create mode 100644 api/output/Backgrid.Header.js create mode 100644 api/output/Backgrid.HeaderCell.js create mode 100644 api/output/Backgrid.HeaderRow.js create mode 100644 api/output/Backgrid.InputCellEditor.js create mode 100644 api/output/Backgrid.IntegerCell.js create mode 100644 api/output/Backgrid.NumberCell.js create mode 100644 api/output/Backgrid.NumberFormatter.js create mode 100644 api/output/Backgrid.PercentCell.js create mode 100644 api/output/Backgrid.PercentFormatter.js create mode 100644 api/output/Backgrid.Row.js create mode 100644 api/output/Backgrid.SelectCell.js create mode 100644 api/output/Backgrid.SelectCellEditor.js create mode 100644 api/output/Backgrid.SelectFormatter.js create mode 100644 api/output/Backgrid.StringCell.js create mode 100644 api/output/Backgrid.StringFormatter.js create mode 100644 api/output/Backgrid.TimeCell.js create mode 100644 api/output/Backgrid.UriCell.js create mode 100644 api/resources/css/app-0b2d94a756da271cc9ed4a65f4837560.css create mode 100644 api/resources/images/ajax-loader.gif create mode 100644 api/resources/images/arrows.png create mode 100644 api/resources/images/class-m.png create mode 100644 api/resources/images/comment-bubble.png create mode 100644 api/resources/images/comment.png create mode 100644 api/resources/images/component-m.png create mode 100644 api/resources/images/default-guide.png create mode 100644 api/resources/images/doc-m.png create mode 100644 api/resources/images/down-arr.png create mode 100644 api/resources/images/elbow-end.gif create mode 100644 api/resources/images/example-icons.png create mode 100644 api/resources/images/expandcollapse.png create mode 100644 api/resources/images/gettingstarted.jpg create mode 100644 api/resources/images/group-expand-sprite.gif create mode 100644 api/resources/images/guide-icon.png create mode 100644 api/resources/images/guides.png create mode 100644 api/resources/images/header.png create mode 100644 api/resources/images/hero-extjs4-alt.png create mode 100644 api/resources/images/icons.png create mode 100644 api/resources/images/link-arrow-next.png create mode 100644 api/resources/images/link-green-standard-over.png create mode 100644 api/resources/images/link-green-standard.png create mode 100644 api/resources/images/loading.gif create mode 100644 api/resources/images/logo-screen-noglow.png create mode 100644 api/resources/images/logo.png create mode 100644 api/resources/images/member-collapsed.gif create mode 100644 api/resources/images/member-expanded.gif create mode 100644 api/resources/images/member-hover.gif create mode 100644 api/resources/images/more.png create mode 100644 api/resources/images/phone-l.jpg create mode 100644 api/resources/images/phone-p.jpg create mode 100644 api/resources/images/phone-small-l.jpg create mode 100644 api/resources/images/phone-small-p.jpg create mode 100644 api/resources/images/preview.png create mode 100644 api/resources/images/print.png create mode 100644 api/resources/images/sample-over.gif create mode 100644 api/resources/images/search-box.png create mode 100644 api/resources/images/sencha-stamp.png create mode 100644 api/resources/images/singleton-m.png create mode 100644 api/resources/images/tablet-l.jpg create mode 100644 api/resources/images/tablet-p.jpg create mode 100644 api/resources/images/tabs.png create mode 100644 api/resources/images/text-bg.gif create mode 100644 api/resources/images/version-tabs.png create mode 100644 api/resources/images/vote-arrows.png create mode 100644 api/resources/images/welcome-bg-js4.gif create mode 100644 api/resources/images/x.png create mode 100644 api/resources/images/x12.png create mode 100644 api/resources/images/x122.png create mode 100644 api/resources/prettify/prettify.css create mode 100644 api/resources/prettify/prettify.js create mode 100644 lib/backgrid.min.css create mode 100644 lib/backgrid.min.js create mode 100644 test/coverage/coverage.json create mode 100644 test/coverage/index.html create mode 100644 test/coverage/lib/backgrid.js.html create mode 100644 test/coverage/lib/index.html create mode 100644 test/coverage/prettify.css create mode 100644 test/coverage/prettify.js diff --git a/.gitignore b/.gitignore index a68a4d15..c4a0e146 100644 --- a/.gitignore +++ b/.gitignore @@ -1,6 +1,3 @@ -api -lib/*.min.* -test/coverage bower_components components .grunt diff --git a/api/app-2a09dc1c9acadab58e390b770a9565d0.js b/api/app-2a09dc1c9acadab58e390b770a9565d0.js new file mode 100644 index 00000000..6921a2e0 --- /dev/null +++ b/api/app-2a09dc1c9acadab58e390b770a9565d0.js @@ -0,0 +1 @@ +var CodeMirror=(function(){function u(aM,aJ){var b1={},bj=u.defaults;for(var az in bj){if(bj.hasOwnProperty(az)){b1[az]=(aJ&&aJ.hasOwnProperty(az)?aJ:bj)[az]}}var aD=document.createElement("div");aD.className="CodeMirror"+(b1.lineWrapping?" CodeMirror-wrap":"");aD.innerHTML='
 
';if(aM.appendChild){aM.appendChild(aD)}else{aM(aD)}var bX=aD.firstChild,bm=bX.firstChild,bk=aD.lastChild,bM=bk.firstChild,cg=bM.firstChild,aH=cg.firstChild,aY=aH.firstChild,bu=aH.nextSibling.firstChild,av=bu.firstChild,bc=av.nextSibling,bg=bc.nextSibling,aq=bg.nextSibling;cD();if(s){bm.style.width="0px"}if(!f){bu.draggable=true}bu.style.outline="none";if(b1.tabindex!=null){bm.tabIndex=b1.tabindex}if(b1.autofocus){bz()}if(!b1.gutter&&!b1.lineNumbers){aH.style.display="none"}if(m){bX.style.height="1px",bX.style.position="absolute"}try{ct("x")}catch(b8){if(b8.message.match(/runtime/i)){b8=new Error("A CodeMirror inside a P-style element does not work in Internet Explorer. (innerHTML bug)")}throw b8}var b7=new z(),aw=new z(),cP;var cb,cy=new i([new ah([new e("")])]),ch,cj;bT();var cW={from:{line:0,ch:0},to:{line:0,ch:0},inverted:false};var ci,bq,aZ,bF=0,bb,cn=false,cs=false;var cp,b6,aB,cN,aP,bf,aS,cA;var bd=0,cQ=0,bL=0,bN=0;var b4;var bD="",aF;var ap={};ar(function(){aW(b1.value||"");cp=false})();var a8=new k();r(bk,"mousedown",ar(ck));r(bk,"dblclick",ar(bW));r(bu,"selectstart",T);if(!N){r(bk,"contextmenu",a1)}r(bk,"scroll",function(){bF=bk.scrollTop;cd([]);if(b1.fixedGutter){aH.style.left=bk.scrollLeft+"px"}if(b1.onScroll){b1.onScroll(b9)}});r(window,"resize",function(){cd(true)});r(bm,"keyup",ar(cl));r(bm,"input",aQ);r(bm,"keydown",ar(cc));r(bm,"keypress",ar(bn));r(bm,"focus",cU);r(bm,"blur",aE);if(b1.dragDrop){r(bu,"dragstart",aI);function bC(cZ){if(b1.onDragEvent&&b1.onDragEvent(b9,O(cZ))){return}w(cZ)}r(bk,"dragenter",bC);r(bk,"dragover",bC);r(bk,"drop",ar(an))}r(bk,"paste",function(){bz();aQ()});r(bm,"paste",aQ);r(bm,"cut",ar(function(){if(!b1.readOnly){bs("")}}));if(m){r(bM,"mouseup",function(){if(document.activeElement==bm){bm.blur()}bz()})}var cw;try{cw=(document.activeElement==bm)}catch(b8){}if(cw||b1.autofocus){setTimeout(cU,20)}else{aE()}function br(cZ){return cZ>=0&&cZcZ&&c3.y>c1.offsetHeight){c4=c3.y-c1.offsetHeight}if(c0+c1.offsetWidth>c6){c0=c6-c1.offsetWidth}}}c1.style.top=(c4+cr())+"px";c1.style.left=c1.style.right="";if(c7=="right"){c0=bM.clientWidth-c1.offsetWidth;c1.style.right="0px"}else{if(c7=="left"){c0=0}else{if(c7=="middle"){c0=(bM.clientWidth-c1.offsetWidth)/2}}c1.style.left=(c0+a5())+"px"}if(c5){aA(c0,c4,c0+c1.offsetWidth,c4+c1.offsetHeight)}},lineCount:function(){return cy.size},clipPos:aT,getCursor:function(cZ){if(cZ==null){cZ=cW.inverted}return aa(cZ?cW.from:cW.to)},somethingSelected:function(){return !ad(cW.from,cW.to)},setCursor:ar(function(cZ,c1,c0){if(c1==null&&typeof cZ.line=="number"){a6(cZ.line,cZ.ch,c0)}else{a6(cZ,c1,c0)}}),setSelection:ar(function(c1,c0,cZ){(cZ?bx:bw)(aT(c1),aT(c0||c1))}),getLine:function(cZ){if(br(cZ)){return cF(cZ).text}},getLineHandle:function(cZ){if(br(cZ)){return cF(cZ)}},setLine:ar(function(cZ,c0){if(br(cZ)){bQ(c0,{line:cZ,ch:0},{line:cZ,ch:cF(cZ).text.length})}}),removeLine:ar(function(cZ){if(br(cZ)){bQ("",{line:cZ,ch:0},aT({line:cZ+1,ch:0}))}}),replaceRange:ar(bQ),getRange:function(c0,cZ){return cO(aT(c0),aT(cZ))},triggerOnKeyDown:ar(cc),execCommand:function(cZ){return L[cZ](b9)},moveH:ar(cE),deleteH:ar(cm),moveV:ar(cx),toggleOverwrite:function(){if(cn){cn=false;bc.className=bc.className.replace(" CodeMirror-overwrite","")}else{cn=true;bc.className+=" CodeMirror-overwrite"}},posFromIndex:function(c0){var c1=0,cZ;cy.iter(0,cy.size,function(c2){var c3=c2.text.length+1;if(c3>c0){cZ=c0;return true}c0-=c3;++c1});return aT({line:c1,ch:cZ})},indexFromPos:function(c0){if(c0.line<0||c0.ch<0){return 0}var cZ=c0.ch;cy.iter(0,c0.line,function(c1){cZ+=c1.text.length+1});return cZ},scrollTo:function(cZ,c0){if(cZ!=null){bk.scrollLeft=cZ}if(c0!=null){bk.scrollTop=c0}cd([])},operation:function(cZ){return ar(cZ)()},compoundChange:function(cZ){return bO(cZ)},refresh:function(){cd(true);if(bk.scrollHeight>bF){bk.scrollTop=bF}},getInputField:function(){return bm},getWrapperElement:function(){return aD},getScrollerElement:function(){return bk},getGutterElement:function(){return aH}};function cF(cZ){return C(cy,cZ)}function a3(c0,cZ){aS=true;var c1=cZ-c0.height;for(var c2=c0;c2;c2=c2.parent){c2.height+=c1}}function aW(cZ){var c0={line:0,ch:0};aO(c0,{line:cy.size-1,ch:cF(cy.size-1).text.length},A(cZ),c0,c0);cp=true}function b2(){var cZ=[];cy.iter(0,cy.size,function(c0){cZ.push(c0.text)});return cZ.join("\n")}function ck(c8){a4(y(c8,"shiftKey"));for(var c3=j(c8);c3!=aD;c3=c3.parentNode){if(c3.parentNode==bM&&c3!=cg){return}}for(var c3=j(c8);c3!=aD;c3=c3.parentNode){if(c3.parentNode==aY){if(b1.onGutterClick){b1.onGutterClick(b9,q(aY.childNodes,c3)+cQ,c8)}return T(c8)}}var cZ=a2(c8);switch(x(c8)){case 3:if(N&&!M){a1(c8)}return;case 2:if(cZ){a6(cZ.line,cZ.ch,true)}return}if(!cZ){if(j(c8)==bk){T(c8)}return}if(!cj){cU()}var c0=+new Date;if(aZ&&aZ.time>c0-400&&ad(aZ.pos,cZ)){T(c8);setTimeout(bz,20);return aK(cZ.line)}else{if(bq&&bq.time>c0-400&&ad(bq.pos,cZ)){aZ={time:c0,pos:cZ};T(c8);return bI(cZ)}else{bq={time:c0,pos:cZ}}}var da=cZ,c1;if(b1.dragDrop&&F&&!b1.readOnly&&!ad(cW.from,cW.to)&&!Z(cZ,cW.from)&&!Z(cW.to,cZ)){if(f){bu.draggable=true}function c4(db){if(f){bu.draggable=false}bb=false;c7();c2();if(Math.abs(c8.clientX-db.clientX)+Math.abs(c8.clientY-db.clientY)<10){T(db);a6(cZ.line,cZ.ch,true);bz()}}var c7=r(document,"mouseup",ar(c4),true);var c2=r(bk,"drop",ar(c4),true);bb=true;if(bu.dragDrop){bu.dragDrop()}return}T(c8);a6(cZ.line,cZ.ch,true);function c9(db){var dd=a2(db,true);if(dd&&!ad(dd,da)){if(!cj){cU()}da=dd;bx(cZ,dd);cp=false;var dc=bA();if(dd.line>=dc.to||dd.line-1){setTimeout(ar(function(){by(cW.to.line,"smart")}),75)}}if(bY(c2,c0)){return}aQ()}function cl(cZ){if(b1.onKeyEvent&&b1.onKeyEvent(b9,O(cZ))){return}if(y(cZ,"keyCode")==16){ci=null}}function cU(){if(b1.readOnly=="nocursor"){return}if(!cj){if(b1.onFocus){b1.onFocus(b9)}cj=true;if(aD.className.search(/\bCodeMirror-focused\b/)==-1){aD.className+=" CodeMirror-focused"}if(!bf){cC(true)}}am();cM()}function aE(){if(cj){if(b1.onBlur){b1.onBlur(b9)}cj=false;if(b4){ar(function(){if(b4){b4();b4=null}})()}aD.className=aD.className.replace(" CodeMirror-focused","")}clearInterval(cP);setTimeout(function(){if(!cj){ci=null}},150)}function aO(c4,c3,c2,c0,cZ){if(cs){return}if(a8){var c1=[];cy.iter(c4.line,c3.line+1,function(c5){c1.push(c5.text)});a8.addChange(c4.line,c2.length,c1);while(a8.done.length>b1.undoDepth){a8.done.shift()}}at(c4,c3,c2,c0,cZ)}function ca(c4,c5){if(!c4.length){return}var c6=c4.pop(),c0=[];for(var c1=c6.length-1;c1>=0;c1-=1){var c3=c6[c1];var c7=[],cZ=c3.start+c3.added;cy.iter(c3.start,cZ,function(c8){c7.push(c8.text)});c0.push({start:c3.start,added:c3.old.length,old:c7});var c2=aT({line:c3.start+c3.old.length-1,ch:W(c7[c7.length-1],c3.old[c3.old.length-1])});at({line:c3.start,ch:0},{line:cZ-1,ch:cF(cZ-1).text.length},c3.old,c2,c2)}cp=true;c5.push(c0)}function cT(){ca(a8.done,a8.undone)}function cJ(){ca(a8.undone,a8.done)}function at(de,c3,dk,cZ,dl){if(cs){return}var dj=false,c2=bD.length;if(!b1.lineWrapping){cy.iter(de.line,c3.line+1,function(dm){if(dm.text.length==c2){dj=true;return true}})}if(de.line!=c3.line||dk.length>1){aS=true}var db=c3.line-de.line,da=cF(de.line),c0=cF(c3.line);if(de.ch==0&&c3.ch==0&&dk[dk.length-1]==""){var c8=[],c9=null;if(de.line){c9=cF(de.line-1);c9.fixMarkEnds(c0)}else{c0.fixMarkStarts()}for(var dg=0,di=dk.length-1;dg1){cy.remove(de.line+1,db-1,cA)}cy.insert(de.line+1,c8)}}}if(b1.lineWrapping){var c5=Math.max(5,bk.clientWidth/bh()-3);cy.iter(de.line,de.line+dk.length,function(dm){if(dm.hidden){return}var dn=Math.ceil(dm.text.length/c5)||1;if(dn!=dm.height){a3(dm,dn)}})}else{cy.iter(de.line,de.line+dk.length,function(dn){var dm=dn.text;if(dm.length>c2){bD=dm;c2=dm.length;aF=null;dj=false}});if(dj){c2=0;bD="";aF=null;cy.iter(0,cy.size,function(dn){var dm=dn.text;if(dm.length>c2){c2=dm.length;bD=dm}})}}var c1=[],c7=dk.length-db-1;for(var dg=0,dd=ch.length;dgc3.line){c1.push(dh+c7)}}}var df=de.line+Math.min(dk.length,500);cH(de.line,df);c1.push(df);ch=c1;bG(100);aB.push({from:de.line,to:c3.line+1,diff:c7});var c6={from:de,to:c3,text:dk};if(cN){for(var c4=cN;c4.next;c4=c4.next){}c4.next=c6}else{cN=c6}function dc(dm){return dm<=Math.min(c3.line,c3.line+c7)?dm:dm+c7}bw(cZ,dl,dc(cW.from.line),dc(cW.to.line));if(bk.clientHeight){bM.style.height=(cy.height*bP()+2*cr())+"px"}}function bQ(c0,c3,c2){c3=aT(c3);if(!c2){c2=c3}else{c2=aT(c2)}c0=A(c0);function c1(c6){if(Z(c6,c3)){return c6}if(!Z(c2,c6)){return cZ}var c4=c6.line+c0.length-(c2.line-c3.line)-1;var c5=c6.ch;if(c6.line==c2.line){c5+=c0[c0.length-1].length-(c2.ch-(c2.line==c3.line?c3.ch:0))}return{line:c4,ch:c5}}var cZ;aC(c0,c3,c2,function(c4){cZ=c4;return{from:c1(cW.from),to:c1(cW.to)}});return cZ}function bs(cZ,c0){aC(A(cZ),cW.from,cW.to,function(c1){if(c0=="end"){return{from:c1,to:c1}}else{if(c0=="start"){return{from:cW.from,to:cW.from}}else{return{from:cW.from,to:c1}}}})}function aC(c2,c4,c3,cZ){var c1=c2.length==1?c2[0].length+c4.ch:c2[c2.length-1].length;var c0=cZ({line:c4.line+c2.length-1,ch:c1});aO(c4,c3,c2,c0.from,c0.to)}function cO(c3,c2){var c0=c3.line,cZ=c2.line;if(c0==cZ){return cF(c0).text.slice(c3.ch,c2.ch)}var c1=[cF(c0).text.slice(c3.ch)];cy.iter(c0+1,cZ,function(c4){c1.push(c4.text)});c1.push(cF(cZ).text.slice(0,c2.ch));return c1.join("\n")}function b3(){return cO(cW.from,cW.to)}var bt=false;function am(){if(bt){return}b7.set(b1.pollInterval,function(){aN();bK();if(cj){am()}ay()})}function aQ(){var cZ=false;bt=true;function c0(){aN();var c1=bK();if(!c1&&!cZ){cZ=true;b7.set(60,c0)}else{bt=false;am()}ay()}b7.set(20,c0)}var ba="";function bK(){if(bf||!cj||ae(bm)||b1.readOnly){return false}var c0=bm.value;if(c0==ba){return false}ci=null;var c1=0,cZ=Math.min(ba.length,c0.length);while(c1c0){bc.scrollIntoView()}}function cf(){var c0=cR(cW.inverted?cW.from:cW.to);var cZ=b1.lineWrapping?Math.min(c0.x,bu.offsetWidth):c0.x;return aA(cZ,c0.y,cZ,c0.yBot)}function aA(c1,c7,cZ,c6){var c4=a5(),dc=cr();c7+=dc;c6+=dc;c1+=c4;cZ+=c4;var c9=bk.clientHeight,c2=bk.scrollTop,c0=false,db=true;if(c7c2+c9){bk.scrollTop=c6-c9;c0=true}}var c8=bk.clientWidth,da=bk.scrollLeft;var c5=b1.fixedGutter?aH.clientWidth:0;var c3=c1c8+da-3){bk.scrollLeft=cZ+10-c8;c0=true;if(cZ>bM.clientWidth){db=false}}}if(c0&&b1.onScroll){b1.onScroll(b9)}return db}function bA(){var cZ=bP(),c2=bk.scrollTop-cr();var c1=Math.max(0,Math.floor(c2/cZ));var c0=Math.ceil((c2+bk.clientHeight)/cZ);return{from:X(cy,c1),to:X(cy,c0)}}function cd(c7,c3){if(!bk.clientWidth){cQ=bL=bd=0;return}var c2=bA();if(c7!==true&&c7.length==0&&c2.from>cQ&&c2.toc9&&bL-c9<20){c9=Math.min(cy.size,bL)}var db=c7===true?[]:b0([{from:cQ,to:bL,domStart:0}],c7);var c6=0;for(var c4=0;c4c9){c5.to=c9}if(c5.from>=c5.to){db.splice(c4--,1)}else{c6+=c5.to-c5.from}}if(c6==c9-c8&&c8==cQ&&c9==bL){return}db.sort(function(dd,dc){return dd.domStart-dc.domStart});var c1=bP(),cZ=aH.style.display;aq.style.display="none";aR(c8,c9,db);aq.style.display=aH.style.display="";var c0=c8!=cQ||c9!=bL||bN!=bk.clientHeight+c1;if(c0){bN=bk.clientHeight+c1}cQ=c8;bL=c9;bd=g(cy,c8);cg.style.top=(bd*c1)+"px";if(bk.clientHeight){bM.style.height=(cy.height*c1+2*cr())+"px"}if(aq.childNodes.length!=bL-cQ){throw new Error("BAD PATCH! "+JSON.stringify(db)+" size="+(bL-cQ)+" nodes="+aq.childNodes.length)}function da(){aF=bk.clientWidth;var dd=aq.firstChild,dc=false;cy.iter(cQ,bL,function(df){if(!df.hidden){var de=Math.round(dd.offsetHeight/c1)||1;if(df.height!=de){a3(df,de);aS=dc=true}}dd=dd.nextSibling});if(dc){bM.style.height=(cy.height*c1+2*cr())+"px"}return dc}if(b1.lineWrapping){da()}else{if(aF==null){aF=ct(bD)}if(aF>bk.clientWidth){bu.style.width=aF+"px";bM.style.width="";bM.style.width=bk.scrollWidth+"px"}else{bu.style.width=bM.style.width=""}}aH.style.display=cZ;if(c0||aS){aL()&&b1.lineWrapping&&da()&&aL()}cV();if(!c3&&b1.onUpdate){b1.onUpdate(b9)}return true}function b0(c8,c6){for(var c3=0,c1=c6.length||0;c3=c4.to){cZ.push(c4)}else{if(c5.from>c4.from){cZ.push({from:c4.from,to:c5.from,domStart:c4.domStart})}if(c5.toc3){c1=cZ(c1);c3++}for(var c2=0,c6=da.to-da.from;c2c2){if(dc.hidden){var dd=c7.innerHTML="
"}else{var dd=""+dc.getHTML(a9)+"";if(dc.bgClassName){dd='
 
'+dd+"
"}}c7.innerHTML=dd;aq.insertBefore(c7.firstChild,c1)}else{c1=c1.nextSibling}++c2})}function aL(){if(!b1.gutter&&!b1.lineNumbers){return}var c0=cg.offsetHeight,c8=bk.clientHeight;aH.style.height=(c0-c8<2?c8:c0)+"px";var c6=[],c4=cQ,c7;cy.iter(cQ,Math.max(bL,cQ+1),function(da){if(da.hidden){c6.push("
")}else{var c9=da.gutterMarker;var dc=b1.lineNumbers?c4+b1.firstLineNumber:null;if(c9&&c9.text){dc=c9.text.replace("%N%",dc!=null?dc:"")}else{if(dc==null){dc="\u00a0"}}c6.push((c9&&c9.style?'
':"
"),dc);for(var db=1;db ")}c6.push("
");if(!c9){c7=c4}}++c4});aH.style.display="none";aY.innerHTML=c6.join("");if(c7!=null){var c2=aY.childNodes[c7-cQ];var c3=String(cy.size).length,cZ=H(c2),c1="";while(cZ.length+c1.length2;bu.style.marginLeft=aH.offsetWidth+"px";aS=false;return c5}function cV(){var c2=ad(cW.from,cW.to);var dd=cR(cW.from,true);var c8=c2?dd:cR(cW.to,true);var c6=cW.inverted?dd:c8,c0=bP();var cZ=ak(aD),c1=ak(aq);bX.style.top=Math.max(0,Math.min(bk.offsetHeight,c6.y+c1.top-cZ.top))+"px";bX.style.left=Math.max(0,Math.min(bk.offsetWidth,c6.x+c1.left-cZ.left))+"px";if(c2){bc.style.top=c6.y+"px";bc.style.left=(b1.lineWrapping?Math.min(c6.x,bu.offsetWidth):c6.x)+"px";bc.style.display="";bg.style.display="none"}else{var db=dd.y==c8.y,c4="";var c9=bu.clientWidth||bu.offsetWidth;var c5=bu.clientHeight||bu.offsetHeight;function dc(di,dh,dg,de){var df=E?"width: "+(!dg?c9:c9-dg-di)+"px":"right: "+dg+"px";c4+='
'}if(cW.from.ch&&dd.y>=0){var da=db?c9-c8.x:0;dc(dd.x,dd.y,da,c0)}var c3=Math.max(0,dd.y+(cW.from.ch?c0:0));var c7=Math.min(c8.y,c5)-c3;if(c7>0.2*c0){dc(0,c3,0,c7)}if((!db||!cW.from.ch)&&c8.yc1||c8>c5.text.length){c8=c5.text.length}return{line:c9,ch:c8}}c9+=c7}}var cZ=cF(c4.line);var c2=c4.ch==cZ.text.length&&c4.ch!=c1;if(!cZ.hidden){return c4}if(c4.line>=c0){return c3(1)||c3(-1)}else{return c3(-1)||c3(1)}}function a6(cZ,c1,c0){var c2=aT({line:cZ,ch:c1||0});(c0?bx:bw)(c2,c2)}function bZ(cZ){return Math.max(0,Math.min(cZ,cy.size-1))}function aT(c1){if(c1.line<0){return{line:0,ch:0}}if(c1.line>=cy.size){return{line:cy.size-1,ch:cF(cy.size-1).text.length}}var cZ=c1.ch,c0=cF(c1.line).text.length;if(cZ==null||cZ>c0){return{line:c1.line,ch:c0}}else{if(cZ<0){return{line:c1.line,ch:0}}else{return c1}}}function co(c2,c6){var c3=cW.inverted?cW.from:cW.to,c7=c3.line,cZ=c3.ch;var c5=cF(c7);function c0(){for(var c8=c7+c2,da=c2<0?-1:cy.size;c8!=da;c8+=c2){var c9=cF(c8);if(!c9.hidden){c7=c8;c5=c9;return true}}}function c4(c8){if(cZ==(c2<0?0:c5.text.length)){if(!c8&&c0()){cZ=c2<0?c5.text.length:0}else{return false}}else{cZ+=c2}return true}if(c6=="char"){c4()}else{if(c6=="column"){c4(true)}else{if(c6=="word"){var c1=false;for(;;){if(c2<0){if(!c4()){break}}if(ag(c5.text.charAt(cZ))){c1=true}else{if(c1){if(c2<0){c2=1;c4()}break}}if(c2>0){if(!c4()){break}}}}}}return{line:c7,ch:cZ}}function cE(cZ,c0){var c1=cZ<0?cW.from:cW.to;if(ci||ad(cW.from,cW.to)){c1=co(cZ,c0)}a6(c1.line,c1.ch,true)}function cm(cZ,c0){if(!ad(cW.from,cW.to)){bQ("",cW.from,cW.to)}else{if(cZ<0){bQ("",co(cZ,c0),cW.to)}else{bQ("",cW.from,co(cZ,c0))}}b6=true}var cv=null;function cx(cZ,c0){var c2=0,c3=cR(cW.inverted?cW.from:cW.to,true);if(cv!=null){c3.x=cv}if(c0=="page"){c2=Math.min(bk.clientHeight,window.innerHeight||document.documentElement.clientHeight)}else{if(c0=="line"){c2=bP()}}var c1=bH(c3.x,c3.y+c2*cZ+2);if(c0=="page"){bk.scrollTop+=cR(c1,true).y-c3.y}a6(c1.line,c1.ch,true);cv=c3.x}function bI(c2){var c0=cF(c2.line).text;var c1=c2.ch,cZ=c2.ch;while(c1>0&&ag(c0.charAt(c1-1))){--c1}while(cZbD.length){bD=c2.text}})}aB.push({from:0,to:cy.size})}function a9(c0){var cZ=b1.tabSize-c0%b1.tabSize,c2=ap[cZ];if(c2){return c2}for(var c3='',c1=0;c1",width:cZ})}function cD(){bk.className=bk.className.replace(/\s*cm-s-\S+/g,"")+b1.theme.replace(/(^|\s)\s*/g," cm-s-")}function cX(){this.set=[]}cX.prototype.clear=ar(function(){var c4=Infinity,c0=-Infinity;for(var c3=0,c6=this.set.length;c3=c4.ch)){c3.push(cZ.marker||cZ)}}return c3}function bV(cZ,c1,c0){if(typeof cZ=="number"){cZ=cF(bZ(cZ))}cZ.gutterMarker={text:c1,style:c0};aS=true;return cZ}function au(cZ){if(typeof cZ=="number"){cZ=cF(bZ(cZ))}cZ.gutterMarker=null;aS=true}function aX(c0,c2){var c1=c0,cZ=c0;if(typeof c0=="number"){cZ=cF(bZ(c0))}else{c1=Y(c0)}if(c1==null){return null}if(c2(cZ,c1)){aB.push({from:c1,to:c1+1})}else{return null}return cZ}function bl(c0,cZ,c1){return aX(c0,function(c2){if(c2.className!=cZ||c2.bgClassName!=c1){c2.className=cZ;c2.bgClassName=c1;return true}})}function cK(c0,cZ){return aX(c0,function(c1,c4){if(c1.hidden!=cZ){c1.hidden=cZ;a3(c1,cZ?0:1);var c3=cW.from.line,c2=cW.to.line;if(cZ&&(c3==c4||c2==c4)){var c6=c3==c4?bR({line:c3,ch:0},c3,0):cW.from;var c5=c2==c4?bR({line:c2,ch:0},c2,0):cW.to;if(!c5){return}bw(c6,c5)}return(aS=true)}})}function aV(c0){if(typeof c0=="number"){if(!br(c0)){return null}var c1=c0;c0=cF(c0);if(!c0){return null}}else{var c1=Y(c0);if(c1==null){return null}}var cZ=c0.gutterMarker;return{line:c1,handle:c0,text:c0.text,markerText:cZ&&cZ.text,markerClass:cZ&&cZ.style,lineClass:c0.className,bgClass:c0.bgClassName}}function ct(cZ){av.innerHTML="
x
";av.firstChild.firstChild.firstChild.nodeValue=cZ;return av.firstChild.firstChild.offsetWidth||10}function aG(db,c5){if(c5<=0){return 0}var c2=cF(db),c8=c2.text;function c9(dc){return b5(c2,dc).left}var c6=0,c4=0,c7=c8.length,c3;var c0=Math.min(c7,Math.ceil(c5/bh()));for(;;){var c1=c9(c0);if(c1<=c5&&c0c3){return c7}c0=Math.floor(c7*0.8);c1=c9(c0);if(c1c5-c4)?c6:c7}var da=Math.ceil((c6+c7)/2),cZ=c9(da);if(cZ>c5){c7=da;c3=cZ}else{c6=da;c4=cZ}}}var cz="CodeMirror-temp-"+Math.floor(Math.random()*16777215).toString(16);function b5(c0,c3){if(c3==0){return{top:0,left:0}}var cZ=b1.lineWrapping&&c3"+c0.getHTML(a9,c3,cz,cZ)+"
";var c2=document.getElementById(cz);var c5=c2.offsetTop,c4=c2.offsetLeft;if(I&&c5==0&&c4==0){var c1=document.createElement("span");c1.innerHTML="x";c2.parentNode.insertBefore(c1,c2.nextSibling);c5=c1.offsetTop}return{top:c5,left:c4}}function cR(c4,c2){var cZ,c0=bP(),c3=c0*(g(cy,c4.line)-(c2?bd:0));if(c4.ch==0){cZ=0}else{var c1=b5(cF(c4.line),c4.ch);cZ=c1.left;if(b1.lineWrapping){c3+=Math.max(0,c1.top)}}return{x:cZ,y:c3,yBot:c3+c0}}function bH(c8,c7){if(c7<0){c7=0}var c5=bP(),c3=bh(),de=bd+Math.floor(c7/c5);var c9=X(cy,de);if(c9>=cy.size){return{line:cy.size-1,ch:cF(cy.size-1).text.length}}var c0=cF(c9),db=c0.text;var dg=b1.lineWrapping,c6=dg?de-g(cy,c9):0;if(c8<=0&&c6==0){return{line:c9,ch:0}}function df(di){var dj=b5(c0,di);if(dg){var dk=Math.round(dj.top/c5);return Math.max(0,dj.left+(dk-c6)*bk.clientWidth)}return dj.left}var dd=0,dc=0,c1=db.length,cZ;var da=Math.min(c1,Math.ceil((c8+c6*bk.clientWidth*0.9)/c3));for(;;){var c4=df(da);if(c4<=c8&&dacZ){return{line:c9,ch:c1}}da=Math.floor(c1*0.8);c4=df(da);if(c4c8-dc)?dd:c1}}var dh=Math.ceil((dd+c1)/2),c2=df(dh);if(c2>c8){c1=dh;cZ=c2}else{dd=dh;dc=c2}}}function ao(c1){var cZ=cR(c1,true),c0=ak(bu);return{x:c0.left+cZ.x,y:c0.top+cZ.y,yBot:c0.top+cZ.yBot}}var a0,ax,bU;function bP(){if(bU==null){bU="
";for(var c0=0;c0<49;++c0){bU+="x
"}bU+="x
"}var cZ=aq.clientHeight;if(cZ==ax){return a0}ax=cZ;av.innerHTML=bU;a0=av.firstChild.offsetHeight/50||1;av.innerHTML="";return a0}var cS,bv=0;function bh(){if(bk.clientWidth==bv){return cS}bv=bk.clientWidth;return(cS=ct("x"))}function cr(){return bu.offsetTop}function a5(){return bu.offsetLeft}function a2(c3,c2){var c1=ak(bk,true),cZ,c4;try{cZ=c3.clientX;c4=c3.clientY}catch(c3){return null}if(!c2&&(cZ-c1.left>bk.clientWidth||c4-c1.top>bk.clientHeight)){return null}var c0=ak(bu,true);return bH(cZ-c0.left,c4-c0.top)}function a1(c0){var c5=a2(c0),c4=bk.scrollTop;if(!c5||window.opera){return}if(ad(cW.from,cW.to)||Z(c5,cW.from)||!Z(c5,cW.to)){ar(a6)(c5.line,c5.ch)}var c3=bm.style.cssText;bX.style.position="absolute";bm.style.cssText="position: fixed; width: 30px; height: 30px; top: "+(c0.clientY-5)+"px; left: "+(c0.clientX-5)+"px; z-index: 1000; background: white; border-width: 0; outline: none; overflow: hidden; opacity: .05; filter: alpha(opacity=5);";bf=true;var c2=bm.value=b3();bz();a(bm);function cZ(){var c6=A(bm.value).join("\n");if(c6!=c2){ar(bs)(c6,"end")}bX.style.position="relative";bm.style.cssText=c3;if(B){bk.scrollTop=c4}bf=false;cC(true);am()}if(N){w(c0);var c1=r(window,"mouseup",function(){c1();setTimeout(cZ,20)},true)}else{setTimeout(cZ,50)}}function cM(){clearInterval(cP);var cZ=true;bc.style.visibility="";cP=setInterval(function(){bc.style.visibility=(cZ=!cZ)?"":"hidden"},650)}var bp={"(":")>",")":"(<","[":"]>","]":"[<","{":"}>","}":"{<"};function ce(c5){var cZ=cW.inverted?cW.from:cW.to,c7=cF(cZ.line),c0=cZ.ch-1;var c4=(c0>=0&&bp[c7.text.charAt(c0)])||bp[c7.text.charAt(++c0)];if(!c4){return}var c8=c4.charAt(0),c6=c4.charAt(1)==">",di=c6?1:-1,dd=c7.styles;for(var dj=c0+1,df=0,dh=dd.length;df=dr&&dq"==c6){c2.push(dt)}else{if(c2.pop()!=dn.charAt(0)){return{pos:dq,match:false}}else{if(!c2.length){return{pos:dq,match:true}}}}}}}}for(var df=cZ.line,dh=c6?Math.min(df+100,cy.size):Math.max(-1,df-100);df!=dh;df+=di){var c7=cF(df),c3=df==cZ.line;var c9=da(c7,c3&&c6?c0+1:0,c3&&!c6?c0:c7.text.length);if(c9){break}}if(!c9){c9={pos:null,match:false}}var dg=c9.match?"CodeMirror-matchingbracket":"CodeMirror-nonmatchingbracket";var de=bE({line:cZ.line,ch:c0},{line:cZ.line,ch:c0+1},dg),c1=c9.pos!=null&&bE({line:df,ch:c9.pos},{line:df,ch:c9.pos+1},dg);var db=ar(function(){de.clear();c1&&c1.clear()});if(c5){setTimeout(db,800)}else{b4=db}}function a7(c5){var c4,c1;for(var c0=c5,c2=c5-40;c0>c2;--c0){if(c0==0){return 0}var cZ=cF(c0-1);if(cZ.stateAfter){return c0}var c3=cZ.indentation(b1.tabSize);if(c1==null||c4>c3){c1=c0-1;c4=c3}}return c1}function cu(c1){var c0=a7(c1),cZ=c0&&cF(c0-1).stateAfter;if(!cZ){cZ=V(cb)}else{cZ=p(cb,cZ)}cy.iter(c0,c1,function(c2){c2.highlight(cb,cZ,b1.tabSize);c2.stateAfter=p(cb,cZ)});if(c0=cy.size){continue}var c0=a7(c2),cZ=c0&&cF(c0-1).stateAfter;if(cZ){cZ=p(cb,cZ)}else{cZ=V(cb)}var c4=0,c1=cb.compareStates,c7=false,c6=c0,c3=false;cy.iter(c6,cy.size,function(da){var db=da.stateAfter;if(+new Date>c5){ch.push(c6);bG(b1.workDelay);if(c7){aB.push({from:c2,to:c6+1})}return(c3=true)}var dc=da.highlight(cb,cZ,b1.tabSize);if(dc){c7=true}da.stateAfter=p(cb,cZ);var c9=null;if(c1){var dd=db&&c1(db,cZ);if(dd!=ab){c9=!!dd}}if(c9==null){if(dc!==false||!db){c4=0}else{if(++c4>3&&(!cb.indent||cb.indent(db,"")==cb.indent(cZ,""))){c9=true}}}if(c9){return true}++c6});if(c3){return}if(c7){aB.push({from:c2,to:c6+1})}}if(c8&&b1.onHighlightComplete){b1.onHighlightComplete(b9)}}function bG(cZ){if(!ch.length){return}aw.set(cZ,ar(bS))}function aN(){cp=b6=cN=null;aB=[];aP=false;cA=[]}function ay(){var c3=false,c0;if(aP){c3=!cf()}if(aB.length){c0=cd(aB,true)}else{if(aP){cV()}if(aS){aL()}}if(c3){cf()}if(aP){cY();cM()}if(cj&&!bf&&(cp===true||(cp!==false&&aP))){cC(b6)}if(aP&&b1.matchBrackets){setTimeout(ar(function(){if(b4){b4();b4=null}if(ad(cW.from,cW.to)){ce(false)}}),20)}var cZ=cN,c1=cA;if(aP&&b1.onCursorActivity){b1.onCursorActivity(b9)}if(cZ&&b1.onChange&&b9){b1.onChange(b9,cZ)}for(var c2=0;c22){ao.dependencies=[];for(var an=2;an0&&ao.ch=this.string.length},sol:function(){return this.pos==0},peek:function(){return this.string.charAt(this.pos)},next:function(){if(this.posan},eatSpace:function(){var am=this.pos;while(/[\s\u00a0]/.test(this.string.charAt(this.pos))){++this.pos}return this.pos>am},skipToEnd:function(){this.pos=this.string.length},skipTo:function(am){var an=this.string.indexOf(am,this.pos);if(an>-1){this.pos=an;return true}},backUp:function(am){this.pos-=am},column:function(){return n(this.string,this.start,this.tabSize)},indentation:function(){return n(this.string,null,this.tabSize)},match:function(ap,an,am){if(typeof ap=="string"){function aq(ar){return am?ar.toLowerCase():ar}if(aq(this.string).indexOf(aq(ap),this.pos)==this.pos){if(an!==false){this.pos+=ap.length}return true}}else{var ao=this.string.slice(this.pos).match(ap);if(ao&&an!==false){this.pos+=ao[0].length}return ao}},current:function(){return this.string.slice(this.start,this.pos)}};u.StringStream=b;function K(ap,ao,an,am){this.from=ap;this.to=ao;this.style=an;this.marker=am}K.prototype={attach:function(am){this.marker.set.push(am)},detach:function(an){var am=q(this.marker.set,an);if(am>-1){this.marker.set.splice(am,1)}},split:function(ap,am){if(this.to<=ap&&this.to!=null){return null}var ao=this.fromthis.from&&(ap=aq){this.from=Math.max(ap,this.from)+ao}}if(am&&(aqthis.from||this.from==null)){this.to=null}else{if(this.to!=null&&this.to>aq){this.to=ap=this.to},sameSet:function(am){return this.marker==am.marker}};function G(am){this.from=am;this.to=am;this.line=null}G.prototype={attach:function(am){this.line=am},detach:function(am){if(this.line==am){this.line=null}},split:function(an,am){if(anthis.to},clipTo:function(an,aq,am,ap,ao){if((an||aqthis.to)){this.from=0;this.to=-1}else{if(this.from>aq){this.from=this.to=Math.max(ap,this.from)+ao}}},sameSet:function(am){return false},find:function(){if(!this.line||!this.line.parent){return null}return{line:Y(this.line),ch:this.from}},clear:function(){if(this.line){var am=q(this.line.marked,this);if(am!=-1){this.line.marked.splice(am,1)}this.line=null}}};function e(an,am){this.styles=am||[an,null];this.text=an;this.height=1;this.marked=this.gutterMarker=this.className=this.bgClassName=this.handlers=null;this.stateAfter=this.parent=this.hidden=null}e.inheritMarks=function(aq,au){var ap=new e(aq),am=au&&au.marked;if(am){for(var ao=0;ao5000){ax[au++]=this.text.slice(aw.pos);ax[au++]=null;break}}if(ax.length!=au){ax.length=au;aq=true}if(au&&ax[au-2]!=av){aq=true}return aq||(ax.length<5&&this.text.length<10?null:false)},getTokenAt:function(ar,ap,ao){var am=this.text,aq=new b(am);while(aq.pos',aX,"")}else{ax.push(aX)}}var aL=aI;if(am!=null){var aG=0,aB='';aL=function(aW,aV){var aU=aW.length;if(am>=aG&&amaG){aI(aW.slice(0,am-aG),aV);if(aq){ax.push("")}}ax.push(aB);aI(aW.slice(am-aG),aV);ax.push("");am--;aG+=aU}else{aG+=aU;aI(aW,aV);if(aG==am&&aG==aQ){ax.push(aB+"")}else{if(aG>am+10&&/\s/.test(aW)){aL=function(){}}}}}}var aF=this.styles,aw=this.text,aC=this.marked;var aQ=aw.length;function ar(aU){if(!aU){return null}return"cm-"+aU.replace(/ +/g," cm-")}if(!aw&&am==null){aL(" ")}else{if(!aC||!aC.length){for(var aN=0,ay=0;ayaQ){aE=aE.slice(0,aQ-ay)}ay+=aH;aL(aE,ar(aP))}}else{var au=0,aN=0,aA="",aP,aT=0;var aS=aC[0].from||0,aK=[],aR=0;function aO(){var aU;while(aRaz?aA.slice(0,az-au):aA,an);if(ap>=az){aA=aA.slice(az-au);au=az;break}au=ap}aA=aF[aN++];aP=ar(aF[aN++])}}}}return ax.join("")},cleanUp:function(){this.parent=null;if(this.marked){for(var am=0,an=this.marked.length;amat){av.push(ao.slice(at-ar,Math.min(ao.length,au-ar)),am[aq+1])}if(ap>=at){an=1}}else{if(an==1){if(ap>au){av.push(ao.slice(0,au-ar),am[aq+1])}else{av.push(ao,am[aq+1])}}}ar=ap}}function ah(an){this.lines=an;this.parent=null;for(var ao=0,ap=an.length,am=0;ao50){while(am.lines.length>50){var ap=am.lines.splice(am.lines.length-25,25);var au=new ah(ap);am.height-=au.height;this.children.splice(ao+1,0,au);au.parent=this}this.maybeSpill()}break}an-=ar}},maybeSpill:function(){if(this.children.length<=10){return}var ap=this;do{var an=ap.children.splice(ap.children.length-5,5);var ao=new i(an);if(!ap.parent){var aq=new i(ap.children);aq.parent=ap;ap.children=[aq,ao];ap=aq}else{ap.size-=ao.size;ap.height-=ao.height;var am=q(ap.parent.children,ap);ap.parent.children.splice(am+1,0,ao)}ao.parent=ap.parent}while(ap.children.length>10);ap.parent.maybeSpill()},iter:function(ao,an,am){this.iterN(ao,an-ao,am)},iterN:function(am,av,au){for(var an=0,aq=this.children.length;an400||!av||this.closed||av.start>am+an.length||av.start+av.added0;--ap){av.old.unshift(an[ap-1])}for(var ap=aw;ap>0;--ap){av.old.push(an[an.length-ap])}if(at){av.start=am}av.added+=ar-(an.length-at-aw)}}this.time=ao},startCompound:function(){if(!this.compound++){this.closed=true}},endCompound:function(){if(!--this.compound){this.closed=true}}};function J(){w(this)}function O(am){if(!am.stop){am.stop=J}return am}function T(am){if(am.preventDefault){am.preventDefault()}else{am.returnValue=false}}function D(am){if(am.stopPropagation){am.stopPropagation()}else{am.cancelBubble=true}}function w(am){T(am);D(am)}u.e_stop=w;u.e_preventDefault=T;u.e_stopPropagation=D;function j(am){return am.target||am.srcElement}function x(am){if(am.which){return am.which}else{if(am.button&1){return 1}else{if(am.button&2){return 3}else{if(am.button&4){return 2}}}}}function y(an,ao){var am=an.override&&an.override.hasOwnProperty(ao);return am?an.override[ao]:an[ao]}function r(ap,ao,an,am){if(typeof ap.addEventListener=="function"){ap.addEventListener(ao,an,false);if(am){return function(){ap.removeEventListener(ao,an,false)}}}else{var aq=function(ar){an(ar||window.event)};ap.attachEvent("on"+ao,aq);if(am){return function(){ap.detachEvent("on"+ao,aq)}}}}u.connect=r;function z(){this.id=null}z.prototype={set:function(am,an){clearTimeout(this.id);this.id=setTimeout(an,am)}};var ab=u.Pass={toString:function(){return"CodeMirror.Pass"}};var N=/gecko\/\d{7}/i.test(navigator.userAgent);var I=/MSIE \d/.test(navigator.userAgent);var B=/MSIE [1-8]\b/.test(navigator.userAgent);var E=I&&document.documentMode==5;var f=/WebKit\//.test(navigator.userAgent);var af=/Chrome\//.test(navigator.userAgent);var h=/Apple Computer/.test(navigator.vendor);var m=/KHTML\//.test(navigator.userAgent);var F=function(){if(B){return false}var am=document.createElement("div");return"draggable" in am||"dragDrop" in am}();var d=function(){var am=document.createElement("textarea");am.value="foo\nbar";if(am.value.indexOf("\r")>-1){return"\r\n"}return"\n"}();var o=/^$/;if(N){o=/$'/}else{if(h){o=/\-[^ \-?]|\?[^ !'\"\),.\-\/:;\?\]\}]/}else{if(af){o=/\-[^ \-\.?]|\?[^ \-\.?\]\}:;!'\"\),\/]|[\.!\"#&%\)*+,:;=>\]|\}~][\(\{\[<]|\$'/}}}function n(an,am,ap){if(am==null){am=an.search(/[^\s\u00a0]/);if(am==-1){am=an.length}}for(var ao=0,aq=0;ao=0&&am>=0;--an,--am){if(ap.charAt(an)!=ao.charAt(am)){break}}return am+1}function q(ap,am){if(ap.indexOf){return ap.indexOf(am)}for(var an=0,ao=ap.length;an-1){am.push(ao.slice(ap,ao.charAt(an-1)=="\r"?an-1:an));ap=an+1}am.push(ao.slice(ap));return am}:function(am){return am.split(/\r?\n/)};u.splitLines=A;var ae=window.getSelection?function(an){try{return an.selectionStart!=an.selectionEnd}catch(am){return false}}:function(ao){try{var am=ao.ownerDocument.selection.createRange()}catch(an){}if(!am||am.parentElement()!=ao){return false}return am.compareEndPoints("StartToEnd",am)!=0};u.defineMode("null",function(){return{token:function(am){am.skipToEnd()}}});u.defineMIME("text/plain","null");var R={3:"Enter",8:"Backspace",9:"Tab",13:"Enter",16:"Shift",17:"Ctrl",18:"Alt",19:"Pause",20:"CapsLock",27:"Esc",32:"Space",33:"PageUp",34:"PageDown",35:"End",36:"Home",37:"Left",38:"Up",39:"Right",40:"Down",44:"PrintScrn",45:"Insert",46:"Delete",59:";",91:"Mod",92:"Mod",93:"Mod",127:"Delete",186:";",187:"=",188:",",189:"-",190:".",191:"/",192:"`",219:"[",220:"\\",221:"]",222:"'",63276:"PageUp",63277:"PageDown",63275:"End",63273:"Home",63234:"Left",63232:"Up",63235:"Right",63233:"Down",63302:"Insert",63272:"Delete"};u.keyNames=R;(function(){for(var am=0;am<10;am++){R[am+48]=String(am)}for(var am=65;am<=90;am++){R[am]=String.fromCharCode(am)}for(var am=1;am<=12;am++){R[am+111]=R[am+63235]="F"+am}})();return u})();CodeMirror.defineMode("javascript",function(I,M){var v=I.indentUnit;var Q=M.json;var b=function(){function W(Z){return{type:Z,style:"keyword"}}var T=W("keyword a"),Y=W("keyword b"),X=W("keyword c");var U=W("operator"),V={type:"atom",style:"atom"};return{"if":T,"while":T,"with":T,"else":Y,"do":Y,"try":Y,"finally":Y,"return":X,"break":X,"continue":X,"new":X,"delete":X,"throw":X,"var":W("var"),"const":W("var"),let:W("var"),"function":W("function"),"catch":W("catch"),"for":W("for"),"switch":W("switch"),"case":W("case"),"default":W("default"),"in":U,"typeof":U,"instanceof":U,"true":V,"false":V,"null":V,"undefined":V,"NaN":V,"Infinity":V}}();var N=/[+\-*&%=<>!?|]/;function R(V,U,T){U.tokenize=T;return T(V,U)}function h(W,T){var V=false,U;while((U=W.next())!=null){if(U==T&&!V){return false}V=!V&&U=="\\"}return V}var S,p;function B(V,U,T){S=V;p=T;return U}function l(X,V){var T=X.next();if(T=='"'||T=="'"){return R(X,V,z(T))}else{if(/[\[\]{}\(\),;\:\.]/.test(T)){return B(T)}else{if(T=="0"&&X.eat(/x/i)){X.eatWhile(/[\da-f]/i);return B("number","number")}else{if(/\d/.test(T)){X.match(/^\d*(?:\.\d*)?(?:[eE][+\-]?\d+)?/);return B("number","number")}else{if(T=="/"){if(X.eat("*")){return R(X,V,f)}else{if(X.eat("/")){X.skipToEnd();return B("comment","comment")}else{if(V.reAllowed){h(X,"/");X.eatWhile(/[gimy]/);return B("regexp","string-2")}else{X.eatWhile(N);return B("operator",null,X.current())}}}}else{if(T=="#"){X.skipToEnd();return B("error","error")}else{if(N.test(T)){X.eatWhile(N);return B("operator",null,X.current())}else{X.eatWhile(/[\w\$_]/);var W=X.current(),U=b.propertyIsEnumerable(W)&&b[W];return(U&&V.kwAllowed)?B(U.type,U.style,W):B("variable","variable",W)}}}}}}}}function z(T){return function(V,U){if(!h(V,T)){U.tokenize=l}return B("string","string")}}function f(W,V){var T=false,U;while(U=W.next()){if(U=="/"&&T){V.tokenize=l;break}T=(U=="*")}return B("comment","comment")}var k={atom:true,number:true,variable:true,string:true,regexp:true};function t(Y,U,T,X,V,W){this.indented=Y;this.column=U;this.type=T;this.prev=V;this.info=W;if(X!=null){this.align=X}}function w(V,U){for(var T=V.localVars;T;T=T.next){if(T.name==U){return true}}}function E(X,U,T,W,Y){var Z=X.cc;u.state=X;u.stream=Y;u.marked=null,u.cc=Z;if(!X.lexical.hasOwnProperty("align")){X.lexical.align=true}while(true){var V=Z.length?Z.pop():Q?x:y;if(V(T,W)){while(Z.length&&Z[Z.length-1].lex){Z.pop()()}if(u.marked){return u.marked}if(T=="variable"&&w(X,W)){return"variable-2"}return U}}}var u={state:null,column:null,marked:null,cc:null};function a(){for(var T=arguments.length-1;T>=0;T--){u.cc.push(arguments[T])}}function G(){a.apply(null,arguments);return true}function m(U){var V=u.state;if(V.context){u.marked="def";for(var T=V.localVars;T;T=T.next){if(T.name==U){return}}V.localVars={name:U,next:V.localVars}}}var D={name:"this",next:{name:"arguments"}};function s(){if(!u.state.context){u.state.localVars=D}u.state.context={prev:u.state.context,vars:u.state.localVars}}function r(){u.state.localVars=u.state.context.vars;u.state.context=u.state.context.prev}function j(U,V){var T=function(){var W=u.state;W.lexical=new t(W.indented,u.stream.column(),U,null,W.lexical,V)};T.lex=true;return T}function F(){var T=u.state;if(T.lexical.prev){if(T.lexical.type==")"){T.indented=T.lexical.indented}T.lexical=T.lexical.prev}}F.lex=true;function c(U){return function T(V){if(V==U){return G()}else{if(U==";"){return a()}else{return G(arguments.callee)}}}}function y(T){if(T=="var"){return G(j("vardef"),J,c(";"),F)}if(T=="keyword a"){return G(j("form"),x,y,F)}if(T=="keyword b"){return G(j("form"),y,F)}if(T=="{"){return G(j("}"),n,F)}if(T==";"){return G()}if(T=="function"){return G(i)}if(T=="for"){return G(j("form"),c("("),j(")"),g,c(")"),F,y,F)}if(T=="variable"){return G(j("stat"),C)}if(T=="switch"){return G(j("form"),x,j("}","switch"),c("{"),n,F,F)}if(T=="case"){return G(x,c(":"))}if(T=="default"){return G(c(":"))}if(T=="catch"){return G(j("form"),s,c("("),q,c(")"),y,F,r)}return a(j("stat"),x,c(";"),F)}function x(T){if(k.hasOwnProperty(T)){return G(L)}if(T=="function"){return G(i)}if(T=="keyword c"){return G(A)}if(T=="("){return G(j(")"),A,c(")"),F,L)}if(T=="operator"){return G(x)}if(T=="["){return G(j("]"),O(x,"]"),F,L)}if(T=="{"){return G(j("}"),O(o,"}"),F,L)}return G()}function A(T){if(T.match(/[;\}\)\],]/)){return a()}return a(x)}function L(T,U){if(T=="operator"&&/\+\+|--/.test(U)){return G(L)}if(T=="operator"||T==":"){return G(x)}if(T==";"){return}if(T=="("){return G(j(")"),O(x,")"),F,L)}if(T=="."){return G(P,L)}if(T=="["){return G(j("]"),x,c("]"),F,L)}}function C(T){if(T==":"){return G(F,y)}return a(L,c(";"),F)}function P(T){if(T=="variable"){u.marked="property";return G()}}function o(T){if(T=="variable"){u.marked="property"}if(k.hasOwnProperty(T)){return G(c(":"),x)}}function O(V,T){function U(X){if(X==","){return G(V,U)}if(X==T){return G()}return G(c(T))}return function W(X){if(X==T){return G()}else{return a(V,U)}}}function n(T){if(T=="}"){return G()}return a(y,n)}function J(T,U){if(T=="variable"){m(U);return G(H)}return G()}function H(T,U){if(U=="="){return G(x,H)}if(T==","){return G(J)}}function g(T){if(T=="var"){return G(J,e)}if(T==";"){return a(e)}if(T=="variable"){return G(K)}return a(e)}function K(T,U){if(U=="in"){return G(x)}return G(L,e)}function e(T,U){if(T==";"){return G(d)}if(U=="in"){return G(x)}return G(x,c(";"),d)}function d(T){if(T!=")"){G(x)}}function i(T,U){if(T=="variable"){m(U);return G(i)}if(T=="("){return G(j(")"),s,O(q,")"),F,y,r)}}function q(T,U){if(T=="variable"){m(U);return G()}}return{startState:function(T){return{tokenize:l,reAllowed:true,kwAllowed:true,cc:[],lexical:new t((T||0)-v,0,"block",false),localVars:M.localVars,context:M.localVars&&{vars:M.localVars},indented:0}},token:function(V,U){if(V.sol()){if(!U.lexical.hasOwnProperty("align")){U.lexical.align=false}U.indented=V.indentation()}if(V.eatSpace()){return null}var T=U.tokenize(V,U);if(S=="comment"){return T}U.reAllowed=!!(S=="operator"||S=="keyword c"||S.match(/^[\[{}\(,;:]$/));U.kwAllowed=S!=".";return E(U,T,S,p,V)},indent:function(Y,T){if(Y.tokenize!=l){return 0}var X=T&&T.charAt(0),V=Y.lexical;if(V.type=="stat"&&X=="}"){V=V.prev}var W=V.type,U=X==W;if(W=="vardef"){return V.indented+4}else{if(W=="form"&&X=="{"){return V.indented}else{if(W=="stat"||W=="form"){return V.indented+v}else{if(V.info=="switch"&&!U){return V.indented+(/^(?:case|default)\b/.test(T)?v:2*v)}else{if(V.align){return V.column+(U?0:1)}else{return V.indented+(U?0:v)}}}}}},electricChars:":{}"}});CodeMirror.defineMIME("text/javascript","javascript");CodeMirror.defineMIME("application/json",{name:"javascript",json:true});CodeMirror.defineMode("xml",function(y,k){var r=y.indentUnit;var x=k.htmlMode?{autoSelfClosers:{area:true,base:true,br:true,col:true,command:true,embed:true,frame:true,hr:true,img:true,input:true,keygen:true,link:true,meta:true,param:true,source:true,track:true,wbr:true},implicitlyClosed:{dd:true,li:true,optgroup:true,option:true,p:true,rp:true,rt:true,tbody:true,td:true,tfoot:true,th:true,tr:true},contextGrabbers:{dd:{dd:true,dt:true},dt:{dd:true,dt:true},li:{li:true},option:{option:true,optgroup:true},optgroup:{optgroup:true},p:{address:true,article:true,aside:true,blockquote:true,dir:true,div:true,dl:true,fieldset:true,footer:true,form:true,h1:true,h2:true,h3:true,h4:true,h5:true,h6:true,header:true,hgroup:true,hr:true,menu:true,nav:true,ol:true,p:true,pre:true,section:true,table:true,ul:true},rp:{rp:true,rt:true},rt:{rp:true,rt:true},tbody:{tbody:true,tfoot:true},td:{td:true,th:true},tfoot:{tbody:true},th:{td:true,th:true},thead:{tbody:true,tfoot:true},tr:{tr:true}},doNotIndent:{pre:true},allowUnquoted:true,allowMissing:false}:{autoSelfClosers:{},implicitlyClosed:{},contextGrabbers:{},doNotIndent:{},allowUnquoted:false,allowMissing:false};var a=k.alignCDATA;var f,g;function o(E,D){function B(G){D.tokenize=G;return G(E,D)}var C=E.next();if(C=="<"){if(E.eat("!")){if(E.eat("[")){if(E.match("CDATA[")){return B(w("atom","]]>"))}else{return null}}else{if(E.match("--")){return B(w("comment","-->"))}else{if(E.match("DOCTYPE",true,true)){E.eatWhile(/[\w\._\-]/);return B(z(1))}else{return null}}}}else{if(E.eat("?")){E.eatWhile(/[\w\._\-]/);D.tokenize=w("meta","?>");return"meta"}else{g=E.eat("/")?"closeTag":"openTag";E.eatSpace();f="";var F;while((F=E.eat(/[^\s\u00a0=<>\"\'\/?]/))){f+=F}D.tokenize=n;return"tag"}}}else{if(C=="&"){var A;if(E.eat("#")){if(E.eat("x")){A=E.eatWhile(/[a-fA-F\d]/)&&E.eat(";")}else{A=E.eatWhile(/[\d]/)&&E.eat(";")}}else{A=E.eatWhile(/[\w\.\-:]/)&&E.eat(";")}return A?"atom":"error"}else{E.eatWhile(/[^&<]/);return null}}}function n(C,B){var A=C.next();if(A==">"||(A=="/"&&C.eat(">"))){B.tokenize=o;g=A==">"?"endTag":"selfcloseTag";return"tag"}else{if(A=="="){g="equals";return null}else{if(/[\'\"]/.test(A)){B.tokenize=j(A);return B.tokenize(C,B)}else{C.eatWhile(/[^\s\u00a0=<>\"\'\/?]/);return"word"}}}}function j(A){return function(C,B){while(!C.eol()){if(C.next()==A){B.tokenize=n;break}}return"string"}}function w(B,A){return function(D,C){while(!D.eol()){if(D.match(A)){C.tokenize=o;break}D.next()}return B}}function z(A){return function(D,C){var B;while((B=D.next())!=null){if(B=="<"){C.tokenize=z(A+1);return C.tokenize(D,C)}else{if(B==">"){if(A==1){C.tokenize=o;break}else{C.tokenize=z(A-1);return C.tokenize(D,C)}}}}return"meta"}}var l,h;function b(){for(var A=arguments.length-1;A>=0;A--){l.cc.push(arguments[A])}}function e(){b.apply(null,arguments);return true}function i(A,C){var B=x.doNotIndent.hasOwnProperty(A)||(l.context&&l.context.noIndent);l.context={prev:l.context,tagName:A,indent:l.indented,startOfLine:C,noIndent:B}}function u(){if(l.context){l.context=l.context.prev}}function d(A){if(A=="openTag"){l.tagName=f;return e(m,c(l.startOfLine))}else{if(A=="closeTag"){var B=false;if(l.context){if(l.context.tagName!=f){if(x.implicitlyClosed.hasOwnProperty(l.context.tagName.toLowerCase())){u()}B=!l.context||l.context.tagName!=f}}else{B=true}if(B){h="error"}return e(s(B))}}return e()}function c(A){return function(B){if(B=="selfcloseTag"||(B=="endTag"&&x.autoSelfClosers.hasOwnProperty(l.tagName.toLowerCase()))){q(l.tagName.toLowerCase());return e()}if(B=="endTag"){q(l.tagName.toLowerCase());i(l.tagName,A);return e()}return e()}}function s(A){return function(B){if(A){h="error"}if(B=="endTag"){u();return e()}h="error";return e(arguments.callee)}}function q(B){var A;while(true){if(!l.context){return}A=l.context.tagName.toLowerCase();if(!x.contextGrabbers.hasOwnProperty(A)||!x.contextGrabbers[A].hasOwnProperty(B)){return}u()}}function m(A){if(A=="word"){h="attribute";return e(p,m)}if(A=="endTag"||A=="selfcloseTag"){return b()}h="error";return e(m)}function p(A){if(A=="equals"){return e(v,m)}if(!x.allowMissing){h="error"}return(A=="endTag"||A=="selfcloseTag")?b():e()}function v(A){if(A=="string"){return e(t)}if(A=="word"&&x.allowUnquoted){h="string";return e()}h="error";return(A=="endTag"||A=="selfCloseTag")?b():e()}function t(A){if(A=="string"){return e(t)}else{return b()}}return{startState:function(){return{tokenize:o,cc:[],indented:0,startOfLine:true,tagName:null,context:null}},token:function(D,C){if(D.sol()){C.startOfLine=true;C.indented=D.indentation()}if(D.eatSpace()){return null}h=g=f=null;var B=C.tokenize(D,C);C.type=g;if((B||g)&&B!="comment"){l=C;while(true){var A=C.cc.pop()||d;if(A(g||B)){break}}}C.startOfLine=false;return h||B},indent:function(D,A,C){var B=D.context;if((D.tokenize!=n&&D.tokenize!=o)||B&&B.noIndent){return C?C.match(/^(\s*)/)[0].length:0}if(a&&/`]+/;function e(I,H,G){H.f=H.inline=G;return G(I,H)}function r(I,H,G){H.f=H.block=G;return G(I,H)}function o(G){G.em=false;G.strong=false;return null}function l(I,H){var G;if(H.indentationDiff>=4){H.indentation-=H.indentationDiff;I.skipToEnd();return d}else{if(I.eatSpace()){return null}else{if(I.peek()==="#"||I.match(n)){H.header=true}else{if(I.eat(">")){H.indentation++;H.quote=true}else{if(I.peek()==="["){return e(I,H,k)}else{if(I.match(F,true)){return E}else{if(G=I.match(p,true)||I.match(u,true)){H.indentation+=G[0].length;return z}}}}}}}return e(I,H,H.inline)}function x(I,H){var G=i.token(I,H.htmlState);if(G==="tag"&&H.htmlState.type!=="openTag"&&!H.htmlState.context){H.f=q;H.block=l}return G}function t(H){var G=[];if(H.strong){G.push(H.em?w:j)}else{if(H.em){G.push(g)}}if(H.header){G.push(y)}if(H.quote){G.push(A)}return G.length?G.join(" "):null}function b(H,G){if(H.match(f,true)){return t(G)}return undefined}function q(K,J){var I=J.text(K,J);if(typeof I!=="undefined"){return I}var H=K.next();if(H==="\\"){K.next();return t(J)}if(H==="`"){return e(K,J,v(d,"`"))}if(H==="["){return e(K,J,C)}if(H==="<"&&K.match(/^\w/,false)){K.backUp(1);return r(K,J,x)}var G=t(J);if(H==="*"||H==="_"){if(K.eat(H)){return(J.strong=!J.strong)?t(J):G}return(J.em=!J.em)?t(J):G}return t(J)}function C(I,H){while(!I.eol()){var G=I.next();if(G==="\\"){I.next()}if(G==="]"){H.inline=H.f=h;return s}}return s}function h(I,H){I.eatSpace();var G=I.next();if(G==="("||G==="["){return e(I,H,v(D,G==="("?")":"]"))}return"error"}function k(H,G){if(H.match(/^[^\]]*\]:/,true)){G.f=a;return s}return e(H,G,q)}function a(H,G){H.eatSpace();H.match(/^[^\s]+/,true);G.f=G.inline=q;return D}function c(G){if(!c[G]){c[G]=new RegExp("^(?:[^\\\\\\"+G+"]|\\\\.)*(?:\\"+G+"|$)")}return c[G]}function v(H,I,G){G=G||q;return function(K,J){K.match(c(I));J.inline=J.f=G;return H}}return{startState:function(){return{f:l,block:l,htmlState:i.startState(),indentation:0,inline:q,text:b,em:false,strong:false,header:false,quote:false}},copyState:function(G){return{f:G.f,block:G.block,htmlState:CodeMirror.copyState(i,G.htmlState),indentation:G.indentation,inline:G.inline,text:G.text,em:G.em,strong:G.strong,header:G.header,quote:G.quote}},token:function(I,H){if(I.sol()){if(I.match(/^\s*$/,true)){return o(H)}H.header=false;H.quote=false;H.f=H.block;var G=I.match(/^\s*/,true)[0].replace(/\t/g," ").length;H.indentationDiff=G-H.indentation;H.indentation=G;if(G>0){return null}}return H.f(I,H)},blankLine:o,getType:t}},"xml");CodeMirror.defineMIME("text/x-markdown","markdown");Ext.define("Docs.History",{singleton:true,init:function(){Ext.util.History.useTopWindow=false;Ext.util.History.init(function(){this.historyLoaded=true;this.initialNavigate()},this);Ext.util.History.on("change",function(b){this.navigate(b,true)},this)},notifyTabsLoaded:function(){this.tabsLoaded=true;this.initialNavigate()},initialNavigate:function(){if(this.tabsLoaded&&this.historyLoaded){this.navigate(Ext.util.History.getToken(),true)}},navigate:function(e,g){var f=this.parseToken(e);if(f.url=="#!/api"){Docs.App.getController("Classes").loadIndex(g)}else{if(f.type==="api"){Docs.App.getController("Classes").loadClass(f.url,g)}else{if(f.url==="#!/guide"){Docs.App.getController("Guides").loadIndex(g)}else{if(f.type==="guide"){Docs.App.getController("Guides").loadGuide(f.url,g)}else{if(f.url==="#!/video"){Docs.App.getController("Videos").loadIndex(g)}else{if(f.type==="video"){Docs.App.getController("Videos").loadVideo(f.url,g)}else{if(f.url==="#!/example"){Docs.App.getController("Examples").loadIndex()}else{if(f.type==="example"){Docs.App.getController("Examples").loadExample(f.url,g)}else{if(f.url==="#!/comment"){Docs.App.getController("Comments").loadIndex()}else{if(f.url==="#!/tests"){Docs.App.getController("Tests").loadIndex()}else{if(Docs.App.getController("Welcome").isActive()){Docs.App.getController("Welcome").loadIndex(g)}else{if(!this.noRepeatNav){this.noRepeatNav=true;var h=Ext.getCmp("doctabs").staticTabs[0];if(h){this.navigate(h.href,g)}}}}}}}}}}}}}},parseToken:function(d){var c=d&&d.match(/!?(\/(api|guide|example|video|comment|tests)(\/(.*))?)/);return c?{type:c[2],url:"#!"+c[1]}:{}},push:function(e,f){e=this.cleanUrl(e);if(!/^#!?/.test(e)){e="#!"+e}var d=Ext.util.History.getToken()||"";if("#"+d.replace(/^%21/,"!")!==e){Ext.util.History.add(e)}},cleanUrl:function(b){return b.replace(/^[^#]*#/,"#")}});Ext.define("Docs.Auth",{singleton:true,requires:["Ext.Ajax","Ext.util.Cookies"],init:function(c,d){Ext.Ajax.request({url:Docs.data.commentsUrl+"/session",params:{sid:this.getSid()},method:"GET",cors:true,callback:function(g,a,h){if(h&&h.responseText){var b=Ext.JSON.decode(h.responseText);if(b&&b.sessionID){this.setSid(b.sessionID)}if(b&&b.userName){this.currentUser=b}c.call(d,true)}else{c.call(d,false)}},scope:this})},login:function(b){Ext.Ajax.request({url:Docs.data.commentsUrl+"/login",method:"POST",cors:true,params:{username:b.username,password:b.password},callback:function(h,f,a){var g=Ext.JSON.decode(a.responseText);if(g.success){this.currentUser=g;this.setSid(g.sessionID,b.remember);b.success&&b.success.call(b.scope)}else{b.failure&&b.failure.call(b.scope,g.reason)}},scope:this})},logout:function(c,d){Ext.Ajax.request({url:Docs.data.commentsUrl+"/logout?sid="+this.getSid(),method:"POST",cors:true,callback:function(){this.currentUser=undefined;c&&c.call(d)},scope:this})},setSid:function(d,f){this.sid=d;if(d){var e=null;if(f){e=new Date();e.setTime(e.getTime()+(60*60*24*30*1000))}Ext.util.Cookies.set("sid",d,e)}else{Ext.util.Cookies.clear("sid")}},getSid:function(){if(!this.sid){this.sid=Ext.util.Cookies.get("sid")}return this.sid},getUser:function(){return this.currentUser},isLoggedIn:function(){return !!this.getUser()},isModerator:function(){return this.getUser()&&this.getUser().mod},getRegistrationUrl:function(){return Docs.data.commentsUrl+"/register"}});Ext.define("Docs.CommentCounts",{constructor:function(b){this.counts={};Ext.Array.each(b,function(a){this.counts[a._id]=a.value},this)},get:function(b){return this.counts[b.join("__")]||0},change:function(c,d){delete this.totals;return this.counts[c.join("__")]=this.get(c)+d},getClassTotal:function(b){if(!this.totals){this.totals={};Ext.Object.each(this.counts,function(a,f){var e=a.split("__");if(e[0]==="class"){this.totals[e[1]]=(this.totals[e[1]]||0)+f}},this)}return this.totals[b]}});Ext.define("Docs.CommentSubscriptions",{constructor:function(b){this.subscriptions={};Ext.Array.each(b,function(a){this.subscriptions[a.join("__")]=true},this)},has:function(b){return this.subscriptions[b.join("__")]},set:function(c,d){this.subscriptions[c.join("__")]=d}});Ext.define("Docs.LocalStore",{storeName:"",init:function(){this.localStorage=!!window.localStorage;this.store=Ext.create(this.storeName);if(this.localStorage){this.cleanup();this.store.load();if(window.addEventListener){window.addEventListener("storage",Ext.Function.bind(this.onStorageChange,this),false)}else{window.attachEvent("onstorage",Ext.Function.bind(this.onStorageChange,this))}}},onStorageChange:function(b){b=b||window.event;if(b.key===this.store.getProxy().id){this.store.load()}},syncStore:function(){this.localStorage&&this.store.sync()},cleanup:function(){var f=/-settings/;for(var d=0;d',"
",'',"
",""].join("")}];this.tpl=new Ext.XTemplate('');this.callParent(arguments)},load:function(b){this.update(this.tpl.apply(b))},clear:function(){this.update("")}});Ext.define("Docs.controller.Content",{extend:"Ext.app.Controller",MIDDLE:1,title:"",loadIndex:function(b){b||Docs.History.push(this.baseUrl);this.getViewport().setPageTitle(this.title);Ext.getCmp("doctabs").activateTab(this.baseUrl);Ext.getCmp("card-panel").layout.setActiveItem(this.getIndex());this.getIndex().restoreScrollState()},opensNewWindow:function(b){return b.button===this.MIDDLE||b.shiftKey||b.ctrlKey},getBaseUrl:function(){return document.location.href.replace(/\/?(index.html|template.html)?(\?[^#]*)?#.*/,"")}});Ext.define("Docs.Syntax",{singleton:true,highlight:function(b){Ext.Array.forEach(Ext.query("pre",b.dom||b),function(a){a=Ext.get(a);if(a.child("code")){if(!(a.hasCls("inline-example")&&a.hasCls("preview"))){a.addCls("prettyprint")}}else{if(!a.parent(".CodeMirror")&&!a.hasCls("hierarchy")){a.addCls("notpretty")}}});prettyPrint()}});Ext.define("Docs.ClassRegistry",{singleton:true,canonicalName:function(b){if(!this.altNames){this.altNames={};Ext.each(Docs.data.search,function(a){if(a.type==="class"&&!/:/.test(a.cls)){this.altNames[a.cls]=a.id}},this)}return this.altNames[b]||b},shortName:function(b){return b.split(/\./).pop()},packageName:function(b){return b.slice(0,-this.shortName(b).length-1)||""},search:function(S,H){var J=5;var T=4;var X=3;var K=new Array(J*T*X);for(var E=0;E5){K[P+U+O].push(i)}else{if(i.score>1){K[P+U+Z].push(i)}else{K[P+U+R].push(i)}}}}var M=/[.:]/.test(S);var G=Ext.escapeRe(S);var g=new RegExp("^"+G+"$","i");var Y=new RegExp("^"+G,"i");var N=new RegExp(G,"i");var V=Docs.data.search;for(var E=0,r=V.length;E$&");c.fullName=c.fullName.replace(d,"$&");return c}});Ext.define("Docs.GuideSearch",{singleton:true,isEnabled:function(){return !!Docs.data.guideSearch.url},deferredSearch:function(f,h,j,g){clearTimeout(this.timeout);var i=this.timeout=Ext.Function.defer(function(){this.search(f,function(a){if(i===this.timeout){h.call(j,a)}},this)},g,this)},search:function(f,g,e){var h=this.currentRequest=Ext.data.JsonP.request({url:Docs.data.guideSearch.url,params:{fragsize:32,max_fragments:1,q:f,product:Docs.data.guideSearch.product,version:Docs.data.guideSearch.version,start:0,limit:100},callback:function(a,b){if(a&&b.success&&this.currentRequest===h){g.call(e,Ext.Array.map(b.docs,this.adaptJson,this))}},scope:this})},adaptJson:function(b){return{icon:"icon-guide",name:this.format(b.title),fullName:this.format(b.body),url:b.url,meta:{},score:b.score}},format:function(c){var d=c.replace(/\s+/g," ");return d.replace(/(.*?)<\/em>/g,"$1")}});Ext.define("Docs.store.Search",{extend:"Ext.data.Store",fields:["name","fullName","icon","url","meta","sort"],proxy:{type:"memory",reader:{type:"json"}}});Ext.define("Docs.model.Setting",{fields:["id","key","value"],extend:"Ext.data.Model",requires:["Ext.data.proxy.LocalStorage"],proxy:{type:window.localStorage?"localstorage":"memory",id:Docs.data.localStorageDb+"-settings"}});Ext.define("Docs.view.search.Dropdown",{extend:"Ext.view.View",alias:"widget.searchdropdown",floating:true,autoShow:false,autoRender:true,toFrontOnShow:true,focusOnToFront:false,store:"Search",id:"search-dropdown",overItemCls:"x-view-over",trackOver:true,itemSelector:"div.item",singleSelect:true,pageStart:0,pageSize:10,initComponent:function(){this.addEvents("changePage","footerClick");this.tpl=new Ext.XTemplate('','
','
','
{[this.getMetaTags(values.meta)]}
','
{name}
','
{fullName}
',"
","
",'",{getCls:function(b){return b["private"]?"private":(b.removed?"removed":"")},getMetaTags:function(b){return Ext.Array.map(Docs.data.signatures,function(a){return b[a.key]?''+(a["short"])+"":""}).join(" ")},getTotal:Ext.bind(this.getTotal,this),getStart:Ext.bind(this.getStart,this),getEnd:Ext.bind(this.getEnd,this)});this.on("afterrender",function(){this.el.addListener("click",function(){this.fireEvent("changePage",this,-1)},this,{preventDefault:true,delegate:".prev"});this.el.addListener("click",function(){this.fireEvent("changePage",this,+1)},this,{preventDefault:true,delegate:".next"});this.el.addListener("click",function(){this.fireEvent("footerClick",this)},this,{delegate:".footer"})},this);this.callParent(arguments)},setTotal:function(b){this.total=b},getTotal:function(){return this.total},setStart:function(b){this.pageStart=b},getStart:function(b){return this.pageStart},getEnd:function(c){var d=this.pageStart+this.pageSize;return d>this.total?this.total:d}});Ext.define("Docs.view.TabMenu",{extend:"Ext.menu.Menu",plain:true,componentCls:"tab-menu",initComponent:function(){this.addEvents("tabItemClick","closeAllTabs");this.items=[{text:"Close other tabs",iconCls:"close",cls:"close-all",handler:function(){this.fireEvent("closeAllTabs")},scope:this}];this.callParent()},addTab:function(c,d){this.insert(this.items.length-1,{text:c.text,iconCls:c.iconCls,origIcon:c.iconCls,href:c.href,cls:d,handler:this.onTabItemClick,scope:this})},onTabItemClick:function(b){this.fireEvent("tabItemClick",b)},addTabCls:function(c,d){this.items.each(function(a){if(a.href===c.href){a.addCls(d)}})}});Ext.define("Docs.view.Scrolling",{onClassMixedIn:function(b){Ext.Function.interceptBefore(b.prototype,"initComponent",this.prototype.initScrolling)},initScrolling:function(){this.scrollContext="index";this.scrollState={};this.on("afterrender",function(){this.getScrollEl().addListener("scroll",this.saveScrollState,this)},this)},setScrollContext:function(b){this.scrollContext=b},eraseScrollContext:function(b){delete this.scrollState[b]},saveScrollState:function(){this.scrollState[this.scrollContext]=this.getScrollTop()},restoreScrollState:function(){this.setScrollTop(this.scrollState[this.scrollContext]||0)},scrollToView:function(d,c){d=Ext.get(d);c=c||{};if(d){this.setScrollTop(this.getScrollTop()+d.getY()+(c.offset||0));c.highlight&&d.highlight()}},getScrollTop:function(){return this.getScrollEl().getScroll()["top"]},setScrollTop:function(b){return this.getScrollEl().scrollTo("top",b)},scrollToTop:function(){this.getScrollEl().scrollTo("top")},getScrollEl:function(){return this.body||this.el}});Ext.define("Docs.ContentGrabber",{singleton:true,get:function(f){var e;var d=Ext.get(f);if(d){e=d.dom.innerHTML;d.remove()}return e}});Ext.define("Docs.view.comments.HeaderMenu",{extend:"Ext.container.Container",alias:"widget.commentsHeaderMenu",componentCls:"comments-header-menu",html:["

",' Users',' Topics',' Tags',"

"].join(""),afterRender:function(){this.callParent(arguments);Ext.Array.forEach(["users","targets","tags"],function(d){var c=this.getEl().down("a."+d);c.on("click",function(b,a){this.getEl().select("a",true).removeCls("selected");c.addCls("selected");this.fireEvent("select",d)},this,{preventDefault:true})},this)}});Ext.define("Docs.view.cls.Header",{extend:"Ext.container.Container",padding:"10 0 17 0",height:55,alias:"widget.classheader",cls:"classheader",initComponent:function(){this.tpl=Ext.create("Ext.XTemplate",'

','','{name}','View source...',"","",'{name}',"",'',"singleton","","",'enum of {[values["enum"].type]}',"","{[this.renderAliases(values.aliases)]}","{[this.renderMetaTags(values.meta)]}","

",'','Print',"",{getClass:function(b){if(b.singleton){return"singleton"}else{if(b.component){return"component"}else{return"class"}}},renderAliases:function(e){var f={widget:"xtype",plugin:"ptype",feature:"ftype"};var d=[];e&&Ext.Object.each(e,function(a,b){d.push((f[a]||a)+": "+b.join(", "))});if(d.length>0){return""+d.join(", ")+""}else{return""}},renderMetaTags:function(b){return" "+Ext.Array.map(Docs.data.signatures,function(a){return b[a.key]?''+(a["long"])+"":""}).join(" ")}});if(Docs.data.source){this.on("render",this.initSourceLink,this)}this.callParent()},initSourceLink:function(){this.classLinkEvent("click",function(){var d=this.loadedCls.files;if(d.length===1){window.open("source/"+d[0].href)}else{var c=this.createFileMenu(d);c.showBy(this,undefined,[58,-20])}},this);this.classLinkEvent("mouseover",function(){this.el.down(".class-source-tip").addCls("hover")},this);this.classLinkEvent("mouseout",function(){this.el.down(".class-source-tip").removeCls("hover")},this)},classLinkEvent:function(d,e,f){this.el.on(d,e,f,{preventDefault:true,delegate:"a.class-source-link"})},createFileMenu:function(b){return new Ext.menu.Menu({items:Ext.Array.map(b,function(a){return{text:a.filename,handler:function(){window.open("source/"+a.href)}}},this)})},load:function(b){this.loadedCls=b;this.update(this.tpl.apply(b))}});Ext.define("Docs.view.examples.Device",{config:{url:"",id:undefined,device:"phone",orientation:"landscape"},constructor:function(b){this.initConfig(b);Ext.apply(this,this.getIframeSize());this.id=this.id||Ext.id();this.tpl=new Ext.XTemplate('
','',"
",{deviceUrl:function(a){return a.url+"?deviceType="+(a.device==="tablet"?"Tablet":"Phone")}})},toHtml:function(){return this.tpl.apply(this)},setDevice:function(b){this.device=b;Ext.apply(this,this.getIframeSize())},setOrientation:function(b){this.orientation=b;Ext.apply(this,this.getIframeSize())},getIframeSize:function(){var b={phone:{width:"481px",height:"320px"},miniphone:{width:"320px",height:"219px"},tablet:{width:"717px",height:"538px"}}[this.device];if(this.orientation==="landscape"){return b}else{return{width:b.height,height:b.width}}}});Ext.define("Docs.model.Test",{extend:"Ext.data.Model",fields:["id","name","href","code","options",{name:"status",defaultValue:"ready"},"message"]});Ext.define("Docs.view.examples.InlineToolbar",{extend:"Ext.toolbar.Toolbar",componentCls:"inline-example-tb",height:30,initComponent:function(){this.addEvents("buttonclick");this.items=[{iconCls:"code",padding:"0 2 0 0",margin:"0 3 0 0",text:"Code Editor",handler:this.createEventFirerer("code")},{padding:0,margin:"0 3 0 0",iconCls:"preview",text:"Live Preview",handler:this.createEventFirerer("preview")},"->",{padding:0,margin:0,iconCls:"copy",text:"Select Code",handler:this.createEventFirerer("copy")}];this.callParent(arguments)},createEventFirerer:function(b){return Ext.Function.bind(function(){this.fireEvent("buttonclick",b)},this)},activateButton:function(b){Ext.Array.each(this.query("button"),function(a){a.removeCls("active")});Ext.Array.each(this.query("button[iconCls="+b+"]"),function(a){a.addCls("active")})}});Ext.define("Docs.view.DocTree",{extend:"Ext.tree.Panel",alias:"widget.doctree",cls:"doc-tree iScroll",useArrows:true,rootVisible:false,border:false,bodyBorder:false,initComponent:function(){this.addEvents("urlclick");this.root.expanded=true;this.on("itemclick",this.onItemClick,this);this.on("beforeitemcollapse",this.handleBeforeExpandCollapse,this);this.on("beforeitemexpand",this.handleBeforeExpandCollapse,this);this.callParent();this.nodeTpl=new Ext.XTemplate('{text}');this.initNodeLinks()},initNodeLinks:function(){this.getRootNode().cascadeBy(this.applyNodeTpl,this)},applyNodeTpl:function(b){if(b.get("leaf")){b.set("text",this.nodeTpl.apply({text:b.get("text"),url:b.raw.url}));b.commit()}},onItemClick:function(h,j,k,l,i){var e=j.raw?j.raw.url:j.data.url;if(e){this.fireEvent("urlclick",e,i)}else{if(!j.isLeaf()){if(j.isExpanded()){j.collapse(false)}else{j.expand(false)}}}},selectUrl:function(d){var c=this.findNodeByUrl(d);if(c){c.bubble(function(a){a.expand()});this.getSelectionModel().select(c)}else{this.getSelectionModel().deselectAll()}},findNodeByUrl:function(b){return this.getRootNode().findChildBy(function(a){return b===a.raw.url},this,true)},findRecordByUrl:function(d){var c=this.findNodeByUrl(d);return c?c.raw:undefined},handleBeforeExpandCollapse:function(b){if(this.getView().isAnimating(b)){return false}}});Ext.define("Docs.Tip",{singleton:true,show:function(g,e,f){f=f||"right";this.tips=this.tips||{};if(this.tips[f]){var h=this.tips[f];h.update(g);h.setTarget(e);h.show()}else{var h=this.tips[f]=Ext.create("Ext.tip.ToolTip",{anchor:f,target:e,html:g});h.show()}}});Ext.define("Docs.view.comments.Pager",{extend:"Ext.Component",alias:"widget.commentsPager",componentCls:"recent-comments-pager",afterRender:function(){this.callParent(arguments);this.getEl().on("click",function(){this.fireEvent("loadMore",this.offset+this.limit)},this,{preventDefault:true,delegate:"a.fetchMoreComments"})},configure:function(b){Ext.apply(this,b);this.update(this.getPagerHtml())},reset:function(){this.update("No comments found.")},getPagerHtml:function(){var d=this.total_rows||0;var e=this.offset+this.limit;var f=Math.min(this.limit,d-e);if(d>e){return["",'',"Showing comments 1-"+e+" of "+d+". ","Click to load "+f+" more...",""].join("")}else{return"That's all. Total "+d+" comments."}}});Ext.define("Docs.view.SimpleSelectBehavior",{mixins:{observable:"Ext.util.Observable"},constructor:function(c,d){this.mixins.observable.constructor.call(this,{listeners:d});c.on({select:this.onSelect,deselect:this.onDeselect,scope:this})},onSelect:function(c,d){this.selectedItem=d;this.fireEvent("select",d)},onDeselect:function(c,d){this.selectedItem=undefined;Ext.Function.defer(function(){if(!this.selectedItem){this.fireEvent("deselect",d)}},10,this)}});Ext.define("Docs.view.comments.FilterField",{extend:"Ext.form.field.Trigger",alias:"widget.commentsFilterField",triggerCls:"reset",componentCls:"comments-filter-field",hideTrigger:true,enableKeyEvents:true,initComponent:function(){this.callParent(arguments);this.on({keyup:this.onKeyUp,specialkey:this.onSpecialKey,scope:this})},onKeyUp:function(){this.fireEvent("filter",this.getValue());this.setHideTrigger(this.getValue().length===0)},onSpecialKey:function(c,d){if(d.keyCode===Ext.EventObject.ESC){this.reset();this.fireEvent("filter","")}},onTriggerClick:function(){this.reset();this.focus();this.fireEvent("filter","");this.setHideTrigger(true)}});Ext.define("Docs.view.comments.TopList",{extend:"Ext.panel.Panel",componentCls:"comments-toplist",requires:["Docs.view.SimpleSelectBehavior","Docs.view.comments.FilterField"],layout:"border",displayField:"text",scoreField:"score",filterEmptyText:"Filter by name...",initComponent:function(){this.items=[this.tabpanel=Ext.widget("tabpanel",{plain:true,region:"north",height:50,items:[{title:"By comment count"}],dockedItems:[{dock:"bottom",items:[{xtype:"commentsFilterField",emptyText:this.filterEmptyText,width:320,height:20,listeners:{filter:this.onFilter,scope:this}}]}]}),this.list=Ext.widget("dataview",{region:"center",cls:"iScroll top-list",autoScroll:true,store:new Ext.data.Store({model:this.model}),allowDeselect:true,tpl:["
    ",'',"
  • ",'{'+this.scoreField+"}",'{'+this.displayField+"}","
  • ","
    ","
"],itemSelector:"li"})];new Docs.view.SimpleSelectBehavior(this.list,{select:this.onSelect,deselect:this.onDeselect,scope:this});this.callParent(arguments)},afterRender:function(){this.callParent(arguments);this.list.getStore().load()},onFilter:function(b){this.list.getSelectionModel().deselectAll();this.list.getStore().clearFilter(true);this.list.getStore().filter({property:this.displayField,value:b,anyMatch:true})},deselectAll:function(){this.list.getSelectionModel().deselectAll()},onSelect:function(b){this.fireEvent("select",b)},onDeselect:function(){this.fireEvent("select",undefined)}});Ext.define("Docs.view.cls.MemberWrap",{constructor:function(b){Ext.apply(this,b);this.el=Ext.get(b.el)},setExpanded:function(b){if(b){if(!this.isExpanded()){this.el.addCls("open")}}else{this.el.removeCls("open")}},isExpanded:function(){return this.el.hasCls("open")},getDefinedIn:function(){return this.el.down(".meta .defined-in").getAttribute("rel")},getMemberId:function(){return this.el.getAttribute("id")}});Ext.define("Docs.view.examples.InlineEditor",{extend:"Ext.Panel",bodyPadding:2,autoScroll:true,componentCls:"inline-example-editor",initComponent:function(){this.addEvents("init","change");this.on("afterlayout",this.initCodeMirror,this);this.callParent(arguments)},initCodeMirror:function(b){if(!this.codemirror){this.codemirror=CodeMirror(this.body,{mode:"javascript",indentUnit:4,value:this.value,extraKeys:{Tab:"indentMore","Shift-Tab":"indentLess"},onChange:Ext.Function.bind(function(a){this.fireEvent("change")},this)});this.fireEvent("init")}},refresh:function(){this.codemirror.refresh()},getValue:function(){return this.codemirror?this.codemirror.getValue():this.value},getHeight:function(){var b=this.el.down(".CodeMirror-lines");return b?b.getHeight():undefined},selectAll:function(){var d=this.codemirror.lineCount()-1;var c=this.codemirror.getLine(d).length;this.codemirror.setSelection({line:0,ch:0},{line:d,ch:c})}});Ext.define("Docs.view.examples.InlinePreview",{extend:"Ext.Panel",requires:["Docs.view.examples.Device"],bodyPadding:"0 10",statics:{iframeCounter:0,getNextIframeId:function(){this.iframeCounter++;return this.iframeCounter.toString()}},options:{},constructor:function(b){b=b||{};b.iframeId=this.self.getNextIframeId();b.id="inline-preview-"+b.iframeId;this.callParent([b]);this.addEvents(["previewsuccess","previewfailure"])},initComponent:function(){this.html=this.getHtml();this.callParent(arguments)},getHtml:function(){if(Docs.data.touchExamplesUi){return Ext.create("Docs.view.examples.Device",{url:"eg-iframe.html",id:this.iframeId,device:this.options.device,orientation:this.options.orientation}).toHtml()}else{var b=new Ext.XTemplate('');return b.apply({id:this.iframeId})}},update:function(h){var f=this.options;var e=Ext.get(this.iframeId);var g=Ext.Function.bind(this.iframeCallback,this);if(e){e.on("load",function(){Ext.Function.defer(function(){e.dom.contentWindow.loadInlineExample(h+"\n",f,g)},100)},this,{single:true});e.dom.src="eg-iframe.html"}},iframeCallback:function(c,d){if(c){this.fireEvent("previewsuccess",this)}else{this.fireEvent("previewfailure",this,d)}},getHeight:function(){return document.getElementById(this.iframeId).parentNode.clientHeight}});Ext.define("Docs.view.cls.Logic",{showPrivateClasses:false,constructor:function(b){Ext.apply(this,b)}});Ext.define("Docs.view.comments.Form",{extend:"Ext.Component",alias:"widget.commentsForm",requires:["Docs.Tip"],tpl:['
newComment">','',"

{title}

","
","",'
',"{[Docs.Comments.avatar(values.user.emailHash)]}",'
Logged in as {user.userName}
','',' />',' | ',"","",'Show help ↓','','',' or cancel',"","
",'","
"],initComponent:function(){this.data={title:this.title,updateComment:(this.content!==undefined),content:this.content,userSubscribed:this.userSubscribed,user:this.user};this.callParent(arguments)},setValue:function(b){this.codeMirror.setValue(b)},afterRender:function(){this.callParent(arguments);this.makeCodeMirror(this.getEl().down("textarea").dom);this.bindEvents()},makeCodeMirror:function(d){var c=true;this.codeMirror=CodeMirror.fromTextArea(d,{mode:"markdown",lineWrapping:true,indentUnit:4,extraKeys:{Tab:"indentMore","Shift-Tab":"indentLess"},onFocus:Ext.Function.bind(function(){if(c&&this.codeMirror.getValue()===""){this.toggleGuide(true)}c=false},this)})},bindEvents:function(){this.getEl().on("click",function(){this.toggleGuide()},this,{preventDefault:true,delegate:"a.toggleCommentGuide"});this.getEl().on("click",function(){this.fireEvent("cancel")},this,{preventDefault:true,delegate:"a.cancelUpdateComment"});this.getEl().on("click",function(){this.fireEvent("submit",this.codeMirror.getValue())},this,{preventDefault:true,delegate:"input.submitComment"});this.getEl().on("click",function(c,d){this.fireEvent("subscriptionChange",Ext.get(d).dom.checked)},this,{delegate:"input.subscriptionCheckbox"})},toggleGuide:function(f){var d=this.getEl().down(".commentGuideTxt");d.setVisibilityMode(Ext.dom.Element.DISPLAY);var e=this.getEl().down(".toggleCommentGuide");if(!d.isVisible()||f===true){d.show(true);e.update("Hide help ↑")}else{d.hide(true);e.update("Show help ↓")}},showSubscriptionMessage:function(d){var e=this.getEl().down("input.subscriptionCheckbox");var f=d?"Updates to this thread will be e-mailed to you":"You have unsubscribed from this thread";Docs.Tip.show(f,e,"bottom")}});Ext.define("Docs.view.comments.DragZone",{extend:"Ext.dd.DragZone",constructor:function(d,c){this.view=d;this.callParent([d.getEl(),c])},getDragData:function(f){var d=f.getTarget("img.drag-handle",10);if(d){var e=Ext.fly(d).up(this.view.itemSelector).dom;return{sourceEl:e,repairXY:Ext.fly(e).getXY(),ddel:this.cloneCommentEl(e),comment:this.view.getRecord(e)}}return false},cloneCommentEl:function(e){var f=e.cloneNode(true);var d=Ext.fly(f).down(".comments-list-with-form");d&&d.remove();f.id=Ext.id();return f},getRepairXY:function(){return this.dragData.repairXY}});Ext.define("Docs.view.comments.DropZone",{extend:"Ext.dd.DropZone",constructor:function(d,c){this.view=d;this.callParent([d.getEl(),c])},getTargetFromEvent:function(b){return b.getTarget(this.view.itemSelector,10)},onNodeEnter:function(g,f,h,e){if(this.isValidDropTarget(g,e)){Ext.fly(g).addCls("drop-target-hover")}},onNodeOut:function(g,f,h,e){Ext.fly(g).removeCls("drop-target-hover")},onNodeOver:function(g,f,h,e){if(this.isValidDropTarget(g,e)){return this.dropAllowed}else{return false}},isValidDropTarget:function(d,e){var f=this.view.getRecord(d);return f&&f.get("id")!==e.comment.get("id")},onNodeDrop:function(g,f,h,e){if(this.isValidDropTarget(g,e)){this.onValidDrop(e.comment,this.view.getRecord(g));return true}return false},onValidDrop:Ext.emptyFn});Ext.define("Docs.view.comments.TopLevelDropZone",{extend:"Ext.dd.DropZone",getTargetFromEvent:function(b){return b.getTarget("a.side.toggleComments",10)},onNodeEnter:function(g,f,h,e){if(this.isValidDropTarget(e)){Ext.fly(g).addCls("drop-target-hover")}},onNodeOut:function(g,f,h,e){Ext.fly(g).removeCls("drop-target-hover")},onNodeOver:function(g,f,h,e){if(this.isValidDropTarget(e)){return this.dropAllowed}else{return false}},isValidDropTarget:function(b){return !!b.comment.get("parentId")},onNodeDrop:function(g,f,h,e){if(this.isValidDropTarget(e)){this.onValidDrop(e.comment,undefined);return true}return false},onValidDrop:Ext.emptyFn});Ext.define("Docs.Comments",{extend:"Ext.util.Observable",singleton:true,requires:["Docs.Auth","Docs.CommentCounts","Docs.CommentSubscriptions","Ext.data.JsonP","Ext.Ajax"],init:function(c,d){if(!(Docs.data.commentsUrl&&Docs.data.commentsDomain&&this.isBrowserSupported())){c.call(d);return}Docs.Auth.init(function(a){if(a){this.enabled=true;this.fetchCountsAndSubscriptions(function(f,b){this.counts=new Docs.CommentCounts(f);this.subscriptions=new Docs.CommentSubscriptions(b);c.call(d)},this)}else{c.call(d)}},this)},isBrowserSupported:function(){return("withCredentials" in new XMLHttpRequest())||(Ext.ieVersion>=8)},fetchCountsAndSubscriptions:function(c,d){this.request("jsonp",{url:"/comments_meta",method:"GET",success:function(a){c.call(d,a.comments,a.subscriptions)},scope:this})},loadSubscriptions:function(c,d){this.fetchSubscriptions(function(a){this.subscriptions=new Docs.CommentSubscriptions(a);c.call(d)},this)},clearSubscriptions:function(){this.subscriptions=new Docs.CommentSubscriptions([])},fetchSubscriptions:function(c,d){this.request("jsonp",{url:"/subscriptions",method:"GET",success:function(a){c.call(d,a.subscriptions)},scope:this})},isEnabled:function(){return this.enabled},getCount:function(b){return this.enabled?this.counts.get(b):0},changeCount:function(f,e){var d=this.counts.change(f,e);this.fireEvent("countChange",f,d)},hasSubscription:function(b){return this.subscriptions.has(b)},getClassTotalCount:function(b){return this.counts.getClassTotal(b)},load:function(d,f,e){this.request("jsonp",{url:"/comments",method:"GET",params:{startkey:Ext.JSON.encode(d)},success:f,scope:e})},loadReplies:function(f,d,e){this.request("jsonp",{url:"/replies",method:"GET",params:{parentId:f},success:d,scope:e})},post:function(b){this.request("ajax",{url:"/comments",method:"POST",params:{target:Ext.JSON.encode(b.target),parentId:b.parentId,comment:b.content,url:this.buildPostUrl(b.target)},callback:function(h,f,a){var g=Ext.JSON.decode(a.responseText);if(f&&g.success){this.changeCount(b.target,+1);b.callback&&b.callback.call(b.scope,g.comment)}},scope:this})},buildPostUrl:function(i){var f=i[0];var g=i[1];var h=i[2];if(f=="video"){var j="#!/video/"+g}else{if(f=="guide"){var j="#!/guide/"+g}else{var j="#!/api/"+g+(h?"-"+h:"")}}return"http://"+window.location.host+window.location.pathname+j},subscribe:function(h,e,g,f){this.request("ajax",{url:"/subscribe",method:"POST",params:{target:Ext.JSON.encode(h),subscribed:e},callback:function(c,a,d){var b=Ext.JSON.decode(d.responseText);if(a&&b.success){this.subscriptions.set(h,e);g&&g.call(f)}},scope:this})},request:function(c,d){d.url=this.buildRequestUrl(d.url);if(c==="jsonp"){Ext.data.JsonP.request(d)}else{d.cors=true;Ext.Ajax.request(d)}},buildRequestUrl:function(b){b=Docs.data.commentsUrl+"/"+Docs.data.commentsDomain+b;return b+(b.match(/\?/)?"&":"?")+"sid="+Docs.Auth.getSid()},avatar:function(c,d){return''},counterHtml:function(b){return b>0?''+b+"":""}});Ext.define("Docs.controller.Auth",{extend:"Ext.app.Controller",requires:["Docs.Auth","Docs.Comments"],refs:[{ref:"authHeaderForm",selector:"authHeaderForm"}],init:function(){this.control({"authHeaderForm, authForm":{login:this.login,logout:this.logout}});var b=this.getController("Tabs");b.onLaunch=Ext.Function.createSequence(b.onLaunch,this.afterTabsLaunch,this)},afterTabsLaunch:function(){if(Docs.Comments.isEnabled()){if(Docs.Auth.isLoggedIn()){this.setLoggedIn()}else{this.setLoggedOut()}}},login:function(e,g,f,h){Docs.Auth.login({username:g,password:f,remember:h,success:this.setLoggedIn,failure:function(a){e.showMessage(a)},scope:this})},logout:function(b){Docs.Auth.logout(this.setLoggedOut,this)},setLoggedIn:function(){Docs.Comments.loadSubscriptions(function(){this.getAuthHeaderForm().showLoggedIn(Docs.Auth.getUser());this.eachCmp("commentsListWithForm",function(b){b.showCommentingForm()});this.eachCmp("commentsList",function(b){b.refresh()});this.getController("Tabs").showCommentsTab()},this)},setLoggedOut:function(){Docs.Comments.clearSubscriptions();this.getAuthHeaderForm().showLoggedOut();this.eachCmp("commentsListWithForm",function(b){b.showAuthForm()});this.eachCmp("commentsList",function(b){b.refresh()});this.getController("Tabs").hideCommentsTab()},eachCmp:function(e,f,d){Ext.Array.forEach(Ext.ComponentQuery.query(e),f,d)}});Ext.define("Docs.controller.Failure",{extend:"Docs.controller.Content",baseUrl:"#",refs:[{ref:"viewport",selector:"#viewport"},{ref:"index",selector:"#failure"}],show404:function(c){var d=new Ext.XTemplate("

Oops...

","

{msg}

","

Maybe it was renamed to something else?
Or maybe your internet connection has failed?
","This would be sad. Hopefully it's just a bug on our side.

","

Most likely you just followed a broken link inside this very documentation. ","Go and report it to the authors of the docs.

","

But if you think it's a bug in JSDuck documentation-generator itself, feel free to open ","an issue at the JSDuck issue tracker.

","

Sorry for all this :(

");Ext.getCmp("failure").update(d.apply({msg:c}));Ext.getCmp("card-panel").layout.setActiveItem("failure")}});Ext.define("Docs.controller.Welcome",{extend:"Docs.controller.Content",baseUrl:"#",refs:[{ref:"viewport",selector:"#viewport"},{ref:"index",selector:"#welcomeindex"}],init:function(){this.addEvents("loadIndex")},loadIndex:function(){this.fireEvent("loadIndex");Ext.getCmp("treecontainer").hide();this.callParent([true])},isActive:function(){return !!this.getIndex().getTab()}});Ext.define("Docs.controller.Classes",{extend:"Docs.controller.Content",baseUrl:"#!/api",title:"API Documentation",requires:["Docs.History","Docs.Syntax","Docs.ClassRegistry"],refs:[{ref:"viewport",selector:"#viewport"},{ref:"index",selector:"#classindex"},{ref:"header",selector:"classheader"},{ref:"overview",selector:"classoverview"},{ref:"tabPanel",selector:"classtabpanel"},{ref:"tree",selector:"#classtree"},{ref:"favoritesGrid",selector:"#favorites-grid"}],cache:{},init:function(){this.addEvents("showIndex","showClass","showMember");Ext.getBody().addListener("click",function(c,d){this.handleUrlClick(decodeURI(d.href),c)},this,{preventDefault:true,delegate:".docClass"});this.control({classtree:{urlclick:function(d,c){this.handleUrlClick(d,c,this.getTree())}},toolbar:{toggleExpanded:function(b){this.getOverview().setAllMembersExpanded(b)}},classoverview:{afterrender:function(b){b.el.addListener("click",function(i,k){var h=Ext.get(k).up(".member"),l=h.down(".meta .defined-in"),j=l.getAttribute("rel"),a=h.getAttribute("id");if(this.getOverview().isMemberExpanded(a)){this.setExpanded(a,false)}else{this.setExpanded(a,true);this.fireEvent("showMember",j,a)}},this,{preventDefault:true,delegate:".expandable"});b.el.addListener("click",Ext.emptyFn,this,{preventDefault:true,delegate:".not-expandable"})}},treecontainer:{afterrender:function(b){b.el.addListener("dblclick",function(){if(b.getWidth()<30){b.setWidth(b.expandedWidth)}else{b.expandedWidth=b.getWidth();b.setWidth(20)}},this,{delegate:".x-resizable-handle"})}},doctabs:{tabClose:function(b){this.getOverview().eraseScrollContext(b)}}})},setExpanded:function(f,d){var e=this.currentCls;if(!e.expanded){e.expanded={}}this.getOverview().setMemberExpanded(f,d);if(d){e.expanded[f]=d}else{delete e.expanded[f]}},applyExpanded:function(b){Ext.Object.each(b.expanded||{},function(a){Ext.get(a).addCls("open")},this)},handleUrlClick:function(d,f,e){d=Docs.History.cleanUrl(d);if(this.opensNewWindow(f)){window.open(d);e&&e.selectUrl(this.currentCls?"#!/api/"+this.currentCls.name:"")}else{this.loadClass(d)}},loadIndex:function(b){Ext.getCmp("treecontainer").showTree("classtree");this.callParent(arguments);this.fireEvent("showIndex")},loadClass:function(f,i){Ext.getCmp("card-panel").layout.setActiveItem("classcontainer");Ext.getCmp("treecontainer").showTree("classtree");i||Docs.History.push(f);var j=f.match(/^#!\/api\/(.*?)(?:-(.*))?$/);var g=Docs.ClassRegistry.canonicalName(j[1]);var h=j[2];if(this.getOverview()){this.getOverview().setLoading(true)}if(this.cache[g]){this.showClass(this.cache[g],h)}else{this.cache[g]="in-progress";Ext.data.JsonP.request({url:this.getBaseUrl()+"/output/"+g+".js",callbackName:g.replace(/\./g,"_"),success:function(b,a){this.cache[g]=b;this.showClass(b,h)},failure:function(b,a){this.cache[g]=false;this.getOverview().setLoading(false);this.getController("Failure").show404("Class "+Ext.String.htmlEncode(g)+" was not found.")},scope:this})}},showClass:function(e,f){var d=false;if(e==="in-progress"){return}this.getOverview().setLoading(false);this.getViewport().setPageTitle(e.name);if(this.currentCls!==e){this.currentCls=e;this.getHeader().load(e);this.getOverview().load(e);this.applyExpanded(e);d=true}this.currentCls=e;this.getOverview().setScrollContext("#!/api/"+e.name);if(f){this.getOverview().scrollToEl("#"+f);this.fireEvent("showMember",e.name,f)}else{this.getOverview().restoreScrollState()}this.getTree().selectUrl("#!/api/"+e.name);this.fireEvent("showClass",e.name,{reRendered:d})}});Ext.define("Docs.controller.Search",{extend:"Ext.app.Controller",requires:["Docs.ClassRegistry","Docs.GuideSearch","Docs.store.Search","Docs.History"],stores:["Search"],refs:[{ref:"field",selector:"#search-field"}],pageIndex:0,pageSize:10,basicSearchDelay:50,guideSearchDelay:500,dropdownHideDelay:500,init:function(){this.control({"#search-dropdown":{itemclick:function(c,d){this.loadRecord(d)},changePage:function(c,d){this.pageIndex+=d;this.displayResults();this.keepDropdown()},footerClick:function(b){this.keepDropdown()}},"#search-field":{keyup:function(m,l){var j=this.getDropdown();m.setHideTrigger(m.getValue().length===0);if(l.keyCode===Ext.EventObject.ESC||!m.value){j.hide();m.setValue("");return}else{j.show()}var h=j.getSelectionModel();var i=h.getLastSelected();var n=j.store.indexOf(i);var k=j.store.getCount()-1;if(l.keyCode===Ext.EventObject.UP){if(n===undefined){h.select(0)}else{h.select(n===0?k:(n-1))}}else{if(l.keyCode===Ext.EventObject.DOWN){if(n===undefined){h.select(0)}else{h.select(n===k?0:n+1)}}else{if(l.keyCode===Ext.EventObject.ENTER){l.preventDefault();i&&this.loadRecord(i)}else{this.pageIndex=0;clearTimeout(this.searchTimeout);this.searchTimeout=Ext.Function.defer(function(){this.search(m.value)},this.basicSearchDelay,this)}}}},focus:function(b){if(b.value&&this.getDropdown().store.getCount()>0){this.getDropdown().show()}},blur:function(){var b=this.getDropdown();this.hideTimeout=Ext.Function.defer(b.hide,this.dropdownHideDelay,b)}}})},getDropdown:function(){return this.dropdown||(this.dropdown=Ext.getCmp("search-dropdown"))},keepDropdown:function(){clearTimeout(this.hideTimeout);this.getField().focus()},loadRecord:function(b){Docs.History.navigate(b.get("url"));this.getDropdown().hide()},search:function(b){if(b===this.previousTerm){return}this.previousTerm=b;this.basicSearch(b);if(Docs.GuideSearch.isEnabled()){this.guideSearch(b)}},guideSearch:function(b){Docs.GuideSearch.deferredSearch(b,function(a){this.basicSearch(b,a)},this,this.guideSearchDelay)},basicSearch:function(c,d){this.displayResults(Docs.ClassRegistry.search(c,d))},displayResults:function(d){d=d||this.previousResults;if(this.pageIndex<0){this.pageIndex=0}else{if(this.pageIndex>Math.floor(d.length/this.pageSize)){this.pageIndex=Math.floor(d.length/this.pageSize)}}var f=this.pageIndex*this.pageSize;var e=f+this.pageSize;this.getDropdown().setTotal(d.length);this.getDropdown().setStart(f);this.getDropdown().getStore().loadData(d.slice(f,e));this.getDropdown().alignTo("search-field","bl",[-12,-2]);if(d.length>0){this.getDropdown().getSelectionModel().select(0)}this.previousResults=d}});Ext.define("Docs.controller.Examples",{extend:"Docs.controller.Content",baseUrl:"#!/example",title:"Examples",refs:[{ref:"viewport",selector:"#viewport"},{ref:"index",selector:"#exampleindex"},{ref:"tree",selector:"#exampletree"},{ref:"page",selector:"#example"}],init:function(){this.addEvents("showExample");this.control({"#exampletree":{urlclick:function(d,c){this.loadExample(d)}},"exampleindex > thumblist":{urlclick:function(b){this.loadExample(b)}},"touchexamplecontainer, examplecontainer":{afterrender:function(b){b.el.addListener("click",function(d,a){this.openInNewWindow()},this,{delegate:"button.new-window"})}},touchexamplecontainer:{afterrender:function(b){b.el.addListener("click",function(d,a){this.changeDevice("tablet")},this,{delegate:"button.tablet"});b.el.addListener("click",function(d,a){this.changeDevice("phone")},this,{delegate:"button.phone"});b.el.addListener("click",function(d,a){this.changeOrientation("portrait")},this,{delegate:"button.portrait"});b.el.addListener("click",function(d,a){this.changeOrientation("landscape")},this,{delegate:"button.landscape"})}}})},loadIndex:function(){Ext.getCmp("treecontainer").showTree("exampletree");this.callParent()},loadExample:function(d,f){var e=this.getExample(d);if(!e){this.getController("Failure").show404("Example "+Ext.String.htmlEncode(d)+" was not found.");return}this.getViewport().setPageTitle(e.text);if(this.activeUrl!==d){this.getPage().clear();this.activateExampleCard();this.getPage().load(e)}else{this.activateExampleCard()}f||Docs.History.push(d);this.fireEvent("showExample",d);this.getTree().selectUrl(d);this.activeUrl=d},activateExampleCard:function(){Ext.getCmp("card-panel").layout.setActiveItem("example");Ext.getCmp("treecontainer").showTree("exampletree")},getExample:function(b){if(!this.map){this.map={};Ext.Array.forEach(Docs.data.examples,function(a){Ext.Array.forEach(a.items,function(d){this.map["#!/example/"+d.name]=d},this)},this)}return this.map[b]},changeOrientation:function(b){this.getPage().setOrientation(b)},changeDevice:function(b){this.getPage().setDevice(b)},openInNewWindow:function(){window.open(this.getExample(this.activeUrl).url)}});Ext.define("Docs.controller.Videos",{extend:"Docs.controller.Content",baseUrl:"#!/video",title:"Videos",refs:[{ref:"viewport",selector:"#viewport"},{ref:"index",selector:"#videoindex"},{ref:"tree",selector:"#videotree"}],init:function(){this.addEvents("showVideo");this.control({"#videotree":{urlclick:function(b){this.loadVideo(b)}},"videoindex > thumblist":{urlclick:function(b){this.loadVideo(b)}}})},loadIndex:function(){Ext.getCmp("treecontainer").showTree("videotree");this.callParent()},loadVideo:function(j,h){var f=false;Ext.getCmp("card-panel").layout.setActiveItem("video");Ext.getCmp("treecontainer").showTree("videotree");var g=j.match(/^#!\/video\/(.*)$/)[1];var i=this.getVideo(g);if(!i){this.getController("Failure").show404("Video "+Ext.String.htmlEncode(g)+" was not found.");return}this.getViewport().setPageTitle(i.title);if(this.activeUrl!==j){Ext.getCmp("video").load(i);f=true}h||Docs.History.push(j);this.fireEvent("showVideo",g,{reRendered:f});this.getTree().selectUrl(j);this.activeUrl=j},getVideo:function(b){if(!this.map){this.map={};Ext.Array.forEach(Docs.data.videos,function(a){Ext.Array.forEach(a.items,function(d){this.map[d.name]=d},this)},this)}return this.map[b]}});Ext.define("Docs.controller.Guides",{extend:"Docs.controller.Content",baseUrl:"#!/guide",title:"Guides",refs:[{ref:"viewport",selector:"#viewport"},{ref:"index",selector:"#guideindex"},{ref:"tree",selector:"#guidetree"},{ref:"guide",selector:"#guide"}],cache:{},init:function(){this.addEvents("showGuide");this.control({"#guidetree":{urlclick:function(d,c){this.handleUrlClick(d,c,this.getTree())}},"guideindex > thumblist":{urlclick:function(b){this.loadGuide(b)}},indexcontainer:{afterrender:function(b){b.el.addListener("click",function(d,a){this.handleUrlClick(a.href,d)},this,{preventDefault:true,delegate:".guide"})}},doctabs:{tabClose:function(b){this.getGuide().eraseScrollContext(b)}}})},handleUrlClick:function(d,f,e){d=d.replace(/.*#!?/,"#!");if(this.opensNewWindow(f)){window.open(d);e&&e.selectUrl(this.activeUrl?this.activeUrl:"")}else{this.loadGuide(d)}},loadIndex:function(){Ext.getCmp("treecontainer").showTree("guidetree");this.callParent()},loadGuide:function(j,h){Ext.getCmp("card-panel").layout.setActiveItem("guide");Ext.getCmp("treecontainer").showTree("guidetree");var g=j.match(/^#!\/guide\/(.*?)(-section-.*)?$/);var f=g[1];var i=g[2];j="#!/guide/"+f;h||Docs.History.push(j);if(this.cache[f]){this.showGuide(this.cache[f],j,f,i)}else{this.cache[f]="in-progress";Ext.data.JsonP.request({url:this.getBaseUrl()+"/guides/"+f+"/README.js",callbackName:f,success:function(a){this.cache[f]=a;this.showGuide(a,j,f,i)},failure:function(b,a){this.cache[f]=false;this.getController("Failure").show404("Guide "+Ext.String.htmlEncode(f)+" was not found.")},scope:this})}},showGuide:function(i,j,f,h){var g=false;if(i==="in-progress"){return}this.getViewport().setPageTitle(i.title);if(this.activeUrl!==j){Ext.getCmp("guide").load({name:f,content:i.guide});g=true}this.activeUrl=j;this.getGuide().setScrollContext(this.activeUrl);if(h){this.getGuide().scrollToEl(f+h)}else{this.getGuide().restoreScrollState()}this.fireEvent("showGuide",f,{reRendered:g});this.getTree().selectUrl(j)}});Ext.define("Docs.controller.Tests",{extend:"Docs.controller.Content",baseUrl:"#!/tests",refs:[{ref:"viewport",selector:"#viewport"},{ref:"index",selector:"#testsindex"}],init:function(){this.addEvents("loadIndex");this.control({"#testsgrid":{afterrender:this.loadExamples}})},loadIndex:function(){this.fireEvent("loadIndex");Ext.getCmp("treecontainer").hide();this.callParent([true])},isActive:function(){return !!this.getIndex().getTab()},loadExamples:function(){this.getIndex().disable();Ext.data.JsonP.request({url:this.getBaseUrl()+"/inline-examples.js",callbackName:"__inline_examples__",success:function(b){this.getIndex().addExamples(b);this.getIndex().enable()},scope:this})}});Ext.define("Docs.controller.CommentCounts",{extend:"Ext.app.Controller",requires:["Docs.Comments"],refs:[{ref:"class",selector:"classoverview"},{ref:"classIndex",selector:"#classindex"},{ref:"guide",selector:"#guide"},{ref:"guideIndex",selector:"#guideindex"},{ref:"video",selector:"#video"},{ref:"videoIndex",selector:"#videoindex"}],init:function(){Docs.Comments.on("countChange",this.updateCounts,this)},updateCounts:function(c,d){this.getClass().updateCommentCounts();this.getClassIndex().updateCommentCounts();this.getGuide().updateCommentCounts();this.getGuideIndex().updateCommentCounts();this.getVideo().updateCommentCounts();this.getVideoIndex().updateCommentCounts()}});Ext.define("Docs.store.Settings",{extend:"Ext.data.Store",requires:["Docs.model.Setting"],model:"Docs.model.Setting"});Ext.define("Docs.Settings",{extend:"Docs.LocalStore",singleton:true,requires:"Docs.store.Settings",storeName:"Docs.store.Settings",defaults:{show:{"public":true,"protected":false,"private":false,deprecated:false,removed:false,inherited:true,accessor:true},comments:{hideRead:false},showPrivateClasses:false,classTreeLogic:"PackageLogic"},set:function(d,f){var e=this.store.findExact("key",d);if(e>-1){this.store.removeAt(e)}this.store.add({key:d,value:f});this.syncStore()},get:function(c){var d=this.store.findExact("key",c);return d>-1?this.store.getAt(d).get("value"):this.defaults[c]}});Ext.define("Docs.controller.Tabs",{extend:"Ext.app.Controller",requires:["Docs.History","Docs.Settings"],refs:[{ref:"welcomeIndex",selector:"#welcomeindex"},{ref:"classIndex",selector:"#classindex"},{ref:"guideIndex",selector:"#guideindex"},{ref:"videoIndex",selector:"#videoindex"},{ref:"exampleIndex",selector:"#exampleindex"},{ref:"testsIndex",selector:"#testsindex"},{ref:"commentIndex",selector:"#commentindex"},{ref:"classTree",selector:"#classtree"},{ref:"guideTree",selector:"#guidetree"},{ref:"exampleTree",selector:"#exampletree"},{ref:"videoTree",selector:"#videotree"},{ref:"doctabs",selector:"#doctabs"}],init:function(){this.getController("Classes").addListener({showClass:function(b){this.addTabFromTree("#!/api/"+b)},scope:this});this.getController("Guides").addListener({showGuide:function(b){this.addTabFromTree("#!/guide/"+b)},scope:this});this.getController("Examples").addListener({showExample:function(b){this.addTabFromTree(b)},scope:this});this.getController("Videos").addListener({showVideo:function(b){this.addTabFromTree("#!/video/"+b)},scope:this});this.control({"[componentCls=doctabs]":{tabActivate:function(d,c){Docs.History.push(d,c)},scope:this}})},onLaunch:function(){this.getDoctabs().setStaticTabs(Ext.Array.filter([this.getWelcomeIndex().getTab(),this.getClassIndex().getTab(),this.getGuideIndex().getTab(),this.getVideoIndex().getTab(),this.getExampleIndex().getTab(),this.getTestsIndex().getTab()],function(a){return a}));this.commentsTab=this.getCommentIndex().getTab();var b=Docs.Settings.get("tabs");if(b){Ext.Array.forEach(b,function(a){this.addTabFromTree(a,{animate:false})},this)}Docs.History.notifyTabsLoaded()},showCommentsTab:function(){var b=this.getDoctabs().getStaticTabs();this.getDoctabs().setStaticTabs(b.concat(this.commentsTab))},hideCommentsTab:function(){var b=this.getDoctabs().getStaticTabs();this.getDoctabs().setStaticTabs(Ext.Array.remove(b,this.commentsTab))},addTabFromTree:function(h,g){var e=this.getTree(h);var f=e.findRecordByUrl(h);if(f){this.addTab(f,g)}},addTab:function(d,c){c=c||{animate:true,activate:true};this.getDoctabs().addTab({href:d.url,text:d.text,iconCls:d.iconCls},c)},getTree:function(b){if(/#!?\/api/.test(b)){return this.getClassTree()}else{if(/#!?\/guide/.test(b)){return this.getGuideTree()}else{if(/#!?\/video/.test(b)){return this.getVideoTree()}else{if(/#!?\/example/.test(b)){return this.getExampleTree()}else{return this.getClassTree()}}}}}});Ext.define("Docs.controller.Comments",{extend:"Docs.controller.Content",baseUrl:"#!/comment",title:"Comments",requires:["Docs.Settings","Docs.Comments"],refs:[{ref:"viewport",selector:"#viewport"},{ref:"index",selector:"#commentindex"},{ref:"commentsFullList",selector:"commentsFullList"}],recentCommentsSettings:{},init:function(){this.control({commentsFullList:{hideReadChange:function(){this.fetchRecentComments()},sortOrderChange:function(b){this.recentCommentsSettings.sortByScore=(b==="votes");this.fetchRecentComments()}},commentsPager:{loadMore:function(b){this.fetchRecentComments(b)}},commentsUsers:{select:function(b){this.recentCommentsSettings.username=b;this.fetchRecentComments()}},commentsTargets:{select:function(b){this.recentCommentsSettings.targetId=b&&b.get("id");this.fetchRecentComments()}},commentsTags:{select:function(b){this.recentCommentsSettings.tagname=b&&b.get("tagname");this.fetchRecentComments()}}})},loadIndex:function(){this.fireEvent("loadIndex");Ext.getCmp("treecontainer").hide();if(!this.recentComments){this.fetchRecentComments();this.recentComments=true}this.callParent([true])},fetchRecentComments:function(f){var e=Docs.Settings.get("comments");var d={offset:f||0,limit:100,hideRead:e.hideRead?1:undefined,sortByScore:this.recentCommentsSettings.sortByScore?1:undefined,username:this.recentCommentsSettings.username,targetId:this.recentCommentsSettings.targetId,tagname:this.recentCommentsSettings.tagname};this.getCommentsFullList().setMasked(true);Docs.Comments.request("jsonp",{url:"/comments_recent",method:"GET",params:d,success:function(a){this.getCommentsFullList().setMasked(false);var b=f>0;this.getCommentsFullList().load(a,b)},scope:this})}});Ext.define("Docs.view.search.Container",{extend:"Ext.container.Container",alias:"widget.searchcontainer",requires:"Docs.view.search.Dropdown",initComponent:function(){if(Docs.data.search.length){this.cls="search";this.items=[{xtype:"triggerfield",triggerCls:"reset",emptyText:"Search",width:170,id:"search-field",enableKeyEvents:true,hideTrigger:true,onTriggerClick:function(){this.reset();this.focus();this.setHideTrigger(true);Ext.getCmp("search-dropdown").hide()}},{xtype:"searchdropdown"}]}this.callParent()}});Ext.define("Docs.view.Tabs",{extend:"Ext.container.Container",alias:"widget.doctabs",id:"doctabs",componentCls:"doctabs",requires:["Docs.History","Docs.ClassRegistry","Docs.view.TabMenu"],minTabWidth:80,maxTabWidth:160,animDuration:150,tabs:[],tabsInBar:[],tabCache:{},staticTabs:[],initComponent:function(){this.addEvents("tabActivate","tabClose");this.tpl=Ext.create("Ext.XTemplate",'','
','
','
','','{text}',"",' ',"","
",'
',"
","
",'
 
','
');this.html=this.tpl.applyTemplate(this.staticTabs);this.tabTpl=Ext.create("Ext.XTemplate",'
','
','
',' ','{text}',"
",'',"
");this.on("afterrender",this.initListeners,this);this.on("resize",this.refresh,this);this.callParent()},initListeners:function(){this.el.on("mouseover",function(c,d){Ext.get(d).addCls("ovr")},this,{delegate:".close"});this.el.on("mouseout",function(c,d){Ext.get(d).removeCls("ovr")},this,{delegate:".close"});this.el.on("click",function(f,d){var e=Ext.get(d).up(".doctab").down(".tabUrl").getAttribute("href");e=Docs.History.cleanUrl(e);this.removeTab(e);this.fireEvent("tabClose",e)},this,{delegate:".close",preventDefault:true});this.el.on("click",function(f,d){if(Ext.fly(f.getTarget()).hasCls("close")){return}var e=Ext.get(d).down(".tabUrl").getAttribute("href");this.fireEvent("tabActivate",e,{navigate:true})},this,{delegate:".doctab"});this.el.on("contextmenu",function(c,d){if(!Ext.get(d).hasCls("overview")){this.createMenu().showBy(d)}},this,{delegate:".doctab",preventDefault:true});this.el.on("click",Ext.emptyFn,this,{delegate:".tabUrl",preventDefault:true});this.el.on("mouseleave",function(){if(this.shouldResize){this.resizeTabs({animate:true})}},this)},setStaticTabs:function(b){this.staticTabs=b;this.refresh()},getStaticTabs:function(b){return this.staticTabs},addTab:function(d,c){d=this.formatTabTexts(d);this.tabCache[d.href]=d;if(!this.hasTab(d.href)){this.tabs.push(d.href);if(this.roomForNewTab()){this.addTabToBar(d,c)}this.addTabToMenu(this.overflowButton.menu,d)}if(c.activate){this.activateTab(d.href)}this.saveTabs()},formatTabTexts:function(c){if(/#!?\/api\//.test(c.href)){var d=c.href.replace(/^.*#!?\/api\//,"");c.text=Docs.ClassRegistry.shortName(d);c.tooltip=d}else{c.tooltip=c.text}return c},removeTab:function(d){if(!this.hasTab(d)){return}this.removeFromArray(this.tabs,d);var e=this.removeFromArray(this.tabsInBar,d);var f=this.tabs[this.tabsInBar.length];if(f){this.tabsInBar.push(f)}if(this.activeTab===d){if(this.tabs.length===0){Docs.App.getController(this.getControllerName(d)).loadIndex()}else{if(e===this.tabs.length){e-=1}this.activateTab(this.tabs[e]);this.fireEvent("tabActivate",this.tabs[e])}}if(this.tabs.length>=this.maxTabsInBar()){this.refresh()}else{this.removeTabFromBar(d)}this.saveTabs()},removeFromArray:function(f,d){var e=Ext.Array.indexOf(f,d);if(e!==-1){Ext.Array.erase(f,e,1)}return e},activateTab:function(d){this.activeTab=d;if(!this.inTabs(d)){this.swapLastTabWith(d)}Ext.Array.each(Ext.query(".doctab a.tabUrl"),function(a){Ext.get(a).up(".doctab").removeCls(["active","highlight"])});var e=Ext.query('.doctab a[href="'+d+'"]')[0];if(e){var f=Ext.get(e).up(".doctab");f.addCls("active")}this.highlightOverviewTab(d)},refresh:function(){var i=this.tpl.applyTemplate(this.staticTabs);var f=this.maxTabsInBar()this.maxTabWidth){return this.maxTabWidth}else{if(bthis.tabsInBar.length&&f===this.maxTabsInBar()){g.addTabCls(h,"overflow")}var e=this.inTabBar(h.href);g.addTab(h,e?"":"overflow")},addToolTips:function(){Ext.Array.each(this.staticTabs,function(c){var d=Ext.get(Ext.query(".doctab."+c.cls)[0]);if(d){Ext.create("Ext.tip.ToolTip",{target:d,html:c.tooltip})}});Ext.Array.each(this.tabsInBar,function(e){var f=Ext.get(Ext.query('a.main-tab[href="'+e+'"]')[0]);var d=this.tabCache[e];if(f){this.addMainTabTooltip(f.up(".doctab"),d)}},this)},addMainTabTooltip:function(c,d){if(d.tooltip){Ext.create("Ext.tip.ToolTip",{target:c,html:d.tooltip})}},saveTabs:function(){Docs.Settings.set("tabs",this.tabs)},getControllerName:function(b){if(/#!?\/api/.test(b)){return"Classes"}else{if(/#!?\/guide/.test(b)){return"Guides"}else{if(/#!?\/video/.test(b)){return"Videos"}else{if(/#!?\/example/.test(b)){return"Examples"}else{if(/#!?\/tests/.test(b)){return"Tests"}else{if(/#!?\/comment/.test(b)){return"Comments"}else{return"Index"}}}}}}}});Ext.define("Docs.view.welcome.Index",{extend:"Ext.container.Container",alias:"widget.welcomeindex",mixins:["Docs.view.Scrolling"],requires:["Docs.ContentGrabber"],cls:"welcome iScroll",initComponent:function(){this.html=Docs.ContentGrabber.get("welcome-content");this.hasContent=!!this.html;this.callParent(arguments)},getTab:function(){return this.hasContent?{cls:"index",href:"#",tooltip:"Home"}:false}});Ext.define("Docs.view.cls.Index",{extend:"Ext.container.Container",alias:"widget.classindex",requires:["Docs.ContentGrabber","Docs.Comments"],mixins:["Docs.view.Scrolling"],cls:"class-categories iScroll",margin:"15 10",autoScroll:true,initComponent:function(){this.tpl=new Ext.XTemplate('

API Documentation

','','
{notice}
',"
","{categories}","{news}");this.data={notice:Docs.data.message||Docs.ContentGrabber.get("notice-text"),categories:Docs.ContentGrabber.get("categories-content"),news:Docs.ContentGrabber.get("news-content")};this.callParent(arguments)},afterRender:function(){this.callParent(arguments);if(!Docs.Comments.isEnabled()){return}this.initComments()},initComments:function(){this.getEl().select("a.docClass").each(function(a){var f=a.getHTML();var e=Docs.Comments.getClassTotalCount(f);if(e){Ext.DomHelper.append(a,Docs.Comments.counterHtml(e))}},this)},updateCommentCounts:function(){if(!this.getEl()){return}this.getEl().select(".comment-counter-small").remove();this.initComments()},getTab:function(){var b=(Docs.data.classes||[]).length>0;return b?{cls:"classes",href:"#!/api",tooltip:"API Documentation"}:false}});Ext.define("Docs.view.examples.TouchContainer",{extend:"Ext.panel.Panel",alias:"widget.touchexamplecontainer",requires:["Docs.view.examples.Device"],layout:"fit",cls:"example-container iScroll",autoScroll:true,bodyPadding:"10 0 5 0",initComponent:function(){this.dockedItems=[{xtype:"container",dock:"top",html:['

Example

','
','
','','',"
",' ','
','','',"
","
",'',"
","
"].join("")}];this.callParent(arguments)},load:function(b){this.title=b.title+" Example";this.device=Ext.create("Docs.view.examples.Device",{url:b.url,device:b.device||"phone",orientation:b.orientation||"landscape"});this.refresh()},refresh:function(){this.update(this.device.toHtml());this.updateScale();this.updateTitle();this.updateButtons()},setDevice:function(b){this.device.setDevice(b);this.refresh()},setOrientation:function(b){this.device.setOrientation(b);this.refresh()},updateScale:function(){var b=Ext.query("iframe",this.el.dom)[0];if(b){b.onload=Ext.Function.bind(function(){var d=document.createElement("style");var a="html { overflow: hidden }";if(this.device.getDevice()==="tablet"){a+="body { font-size: 79.8% !important; }"}d.innerHTML=a;b.contentWindow.document.body.appendChild(d)},this)}},updateTitle:function(){Ext.get(Ext.query(".example-title")).update(this.title)},updateButtons:function(){Ext.Array.each(Ext.query(".example-toolbar .orientations button"),function(b){Ext.get(b).removeCls("selected")});Ext.get(Ext.query(".example-toolbar .orientations button."+this.device.getOrientation())).addCls("selected");Ext.Array.each(Ext.query(".example-toolbar .devices button"),function(b){Ext.get(b).removeCls("selected")});Ext.get(Ext.query(".example-toolbar .devices button."+this.device.getDevice())).addCls("selected")},clear:function(){this.update("")}});Ext.define("Docs.view.GroupTree",{extend:"Docs.view.DocTree",alias:"widget.grouptree",initComponent:function(){this.root={text:"Root",children:this.buildTree(this.data)};this.callParent()},buildTree:function(b){return Ext.Array.map(b,function(a){if(a.items){return{text:a.title,expanded:true,iconCls:"icon-pkg",children:this.buildTree(a.items)}}else{return this.convert(a)}},this)}});Ext.define("Docs.view.auth.BaseForm",{extend:"Ext.Component",requires:["Docs.Tip","Docs.Auth"],createLoginFormHtml:function(){return['
','','','',''," or ",'Register',"
"].join("")},bindFormSubmitEvent:function(){this.getEl().down("form").on("submit",this.submitLogin,this,{preventDefault:true})},submitLogin:function(m,h){var n=Ext.get(h);var j=n.down("input[name=username]").getValue();var i=n.down("input[name=password]").getValue();var l=n.down("input[name=remember]");var k=l?!!(l.getAttribute("checked")):false;this.fireEvent("login",this,j,i,k)},showMessage:function(c){var d=this.getEl().down("input[type=submit]");Docs.Tip.show(c,d,"bottom")}});Ext.define("Docs.view.auth.HeaderForm",{extend:"Docs.view.auth.BaseForm",alias:"widget.authHeaderForm",requires:["Docs.Comments"],afterRender:function(){this.callParent(arguments);this.getEl().addListener("click",this.showLoginForm,this,{preventDefault:true,delegate:".login"});this.getEl().addListener("click",function(){this.fireEvent("logout",this)},this,{preventDefault:true,delegate:".logout"})},showLoginForm:function(){this.update(this.createLoginFormHtml());this.bindFormSubmitEvent()},showLoggedIn:function(d){var c=Docs.Comments.avatar(d.emailHash);this.update(c+"
"+d.userName+' | Logout
')},showLoggedOut:function(){this.update('')}});Ext.define("Docs.view.comments.Users",{alias:"widget.commentsUsers",extend:"Ext.panel.Panel",componentCls:"comments-users",requires:["Docs.Comments","Docs.view.SimpleSelectBehavior","Docs.view.comments.FilterField"],layout:"border",initComponent:function(){this.items=[this.tabpanel=Ext.widget("tabpanel",{plain:true,region:"north",height:50,items:[{title:"Votes"},{title:"Comments"}],dockedItems:[{dock:"bottom",items:[{xtype:"commentsFilterField",emptyText:"Filter users by name...",width:320,height:20,listeners:{filter:this.onFilter,scope:this}}]}],listeners:{tabchange:this.onTabChange,scope:this}}),this.list=Ext.widget("dataview",{region:"center",cls:"iScroll users-list",autoScroll:true,store:Ext.create("Ext.data.Store",{fields:["userName","score","emailHash","mod"]}),allowDeselect:true,tpl:["
    ",'',"
  • ",'{score}',"{[Docs.Comments.avatar(values.emailHash)]}",'moderator">{userName}',"
  • ","
    ","
"],itemSelector:"li"})];new Docs.view.SimpleSelectBehavior(this.list,{select:this.onSelect,deselect:this.onDeselect,scope:this});this.callParent(arguments)},afterRender:function(){this.callParent(arguments);this.fetchUsers("votes")},onTabChange:function(d,c){if(c.title==="Votes"){this.fetchUsers("votes")}else{this.fetchUsers("comments")}},onFilter:function(b){this.list.getSelectionModel().deselectAll();this.list.getStore().clearFilter(true);this.list.getStore().filter({property:"userName",value:b,anyMatch:true})},deselectAll:function(){this.list.getSelectionModel().deselectAll()},onSelect:function(b){this.selectedUser=b;this.fireEvent("select",b.get("userName"))},onDeselect:function(){this.selectedUser=undefined;this.fireEvent("select",undefined)},fetchUsers:function(b){Docs.Comments.request("jsonp",{url:"/users",method:"GET",params:{sortBy:b},success:this.loadUsers,scope:this})},loadUsers:function(c){this.list.getStore().loadData(c.data);if(this.selectedUser){var d=this.list.getStore().findExact("userName",this.selectedUser.get("userName"));this.list.getSelectionModel().select(d,false,true)}}});Ext.override(Ext.dom.Element,{getAttribute:(Ext.isIE6||Ext.isIE7||Ext.isIE8)?function(f,h){var g=this.dom,d;if(h){d=typeof g[h+":"+f];if(d!="undefined"&&d!="unknown"){return g[h+":"+f]||null}return null}if(f==="for"){f="htmlFor"}return g[f]||null}:function(e,d){var f=this.dom;if(d){return f.getAttributeNS(d,e)||f.getAttribute(d+":"+e)}return f.getAttribute(e)||f[e]||null}});Ext.define("Docs.view.ThumbList",{extend:"Ext.view.View",alias:"widget.thumblist",requires:["Docs.Comments"],cls:"thumb-list",itemSelector:"dl",urlField:"url",commentType:"",itemTpl:[],initComponent:function(){this.addEvents("urlclick");Ext.Array.forEach(this.data,function(c,d){c.id="sample-"+d});this.store=Ext.create("Ext.data.JsonStore",{fields:["id","title","items"]});this.store.loadData(this.flattenSubgroups(this.data));this.tpl=new Ext.XTemplate(Ext.Array.flatten(["
",'','

{title}

',"
",'',this.itemTpl,"",'
',"
","
"]));this.itemTpl=undefined;this.data=undefined;this.on("viewready",function(){this.initHover();if(Docs.Comments.isEnabled()){this.initComments()}},this);this.callParent(arguments)},initHover:function(){this.getEl().on("mouseover",function(c,d){Ext.get(d).addCls("over")},this,{delegate:"dd"});this.getEl().on("mouseout",function(c,d){Ext.get(d).removeCls("over")},this,{delegate:"dd"})},initComments:function(){this.getEl().select("dd").each(function(e){var d=e.getAttributeNS("ext",this.urlField).replace(/^.*\//,"");var f=Docs.Comments.getCount([this.commentType,d,""]);if(f){Ext.DomHelper.append(e.down("p"),Docs.Comments.counterHtml(f))}},this)},updateCommentCounts:function(){if(!this.getEl()){return}this.getEl().select(".comment-counter-small").remove();this.initComments()},flattenSubgroups:function(c){function d(a){if(a.items){return Ext.Array.map(a.items,d)}else{return a}}return Ext.Array.map(c,function(a){return{id:a.id,title:a.title,items:Ext.Array.map(a.items,function(b){if(b.items){var f=Ext.apply({},d(b)[0]);f.title=b.title;return f}else{return b}})}})},onContainerClick:function(c){var d=c.getTarget("h2",3,true);if(d){d.up("div").toggleCls("collapsed")}},onItemClick:function(h,j,l,i){var k=i.getTarget("dd",5,true);if(k&&!i.getTarget("a",2)){var e=k.getAttributeNS("ext",this.urlField);this.fireEvent("urlclick",e)}return this.callParent(arguments)}});Ext.define("Docs.view.guides.Index",{extend:"Ext.container.Container",alias:"widget.guideindex",requires:["Docs.view.ThumbList"],mixins:["Docs.view.Scrolling"],cls:"iScroll",margin:"10 0 0 0",autoScroll:true,initComponent:function(){this.items=[{xtype:"container",html:'

Guides

'},Ext.create("Docs.view.ThumbList",{commentType:"guide",itemTpl:['
',"

{title}

{description}

","
"],data:Docs.data.guides})];this.callParent(arguments)},getTab:function(){var b=(Docs.data.guides||[]).length>0;return b?{cls:"guides",href:"#!/guide",tooltip:"Guides"}:false},updateCommentCounts:function(){this.down("thumblist").updateCommentCounts()}});Ext.define("Docs.view.videos.Index",{extend:"Ext.container.Container",alias:"widget.videoindex",requires:["Docs.view.ThumbList"],mixins:["Docs.view.Scrolling"],cls:"iScroll",margin:"10 0 0 0",autoScroll:true,initComponent:function(){this.items=[{xtype:"container",html:'

Videos

'},Ext.create("Docs.view.ThumbList",{commentType:"video",itemTpl:['
',"

{title}","

{[values.description.substr(0,80)]}...

","
"],data:Docs.data.videos})];this.callParent(arguments)},getTab:function(){var b=(Docs.data.videos||[]).length>0;return b?{cls:"videos",href:"#!/video",tooltip:"Videos"}:false},updateCommentCounts:function(){this.down("thumblist").updateCommentCounts()}});Ext.define("Docs.view.examples.Index",{extend:"Ext.container.Container",alias:"widget.exampleindex",requires:["Docs.view.ThumbList"],mixins:["Docs.view.Scrolling"],cls:"iScroll",margin:"10 0 0 0",autoScroll:true,initComponent:function(){this.cls+=Docs.data.touchExamplesUi?" touch-examples-ui":"";this.items=[{xtype:"container",html:'

Examples

'},Ext.create("Docs.view.ThumbList",{itemTpl:['
','
',"

{title}","",' (New)',"","",' (Updated)',"","",' (Experimental)',"","

{description}

","
"],data:Docs.data.examples})];this.callParent(arguments)},getTab:function(){var b=(Docs.data.examples||[]).length>0;return b?{cls:"examples",href:"#!/example",tooltip:"Examples"}:false}});Ext.define("Docs.view.examples.Inline",{extend:"Ext.Panel",alias:"widget.inlineexample",requires:["Docs.view.examples.InlineEditor","Docs.view.examples.InlinePreview"],componentCls:"inline-example-cmp",layout:"card",border:0,resizable:{transparent:true,handles:"s",constrainTo:false},maxCodeHeight:400,options:{},constructor:function(){this.callParent(arguments);this.addEvents("previewsuccess","previewfailure")},initComponent:function(){this.options=Ext.apply({device:"phone",orientation:"landscape"},this.options);this.items=[this.editor=Ext.create("Docs.view.examples.InlineEditor",{cmpName:"code",value:this.value,listeners:{init:this.updateHeight,change:this.updateHeight,scope:this}}),this.preview=Ext.create("Docs.view.examples.InlinePreview",{cmpName:"preview",options:this.options})];this.relayEvents(this.preview,["previewsuccess","previewfailure"]);if(this.options.preview){this.activeItem=1;if(this.toolbar){this.toolbar.activateButton("preview")}}else{this.activeItem=0;if(this.toolbar){this.toolbar.activateButton("code")}}this.on("afterrender",this.init,this);this.callParent(arguments)},init:function(){var b=this.layout.getActiveItem();if(b.cmpName==="preview"){this.showPreview()}this.updateHeight();if(this.toolbar){this.initToolbarEvents()}},initToolbarEvents:function(){this.toolbar.on("buttonclick",function(b){if(b==="code"){this.showCode()}else{if(b==="preview"){this.showPreview()}else{if(b==="copy"){this.showCode();this.editor.selectAll()}}}},this)},showCode:function(){this.layout.setActiveItem(0);this.updateHeight();if(this.toolbar){this.toolbar.activateButton("code")}},showPreview:function(){this.preview.update(this.editor.getValue());this.layout.setActiveItem(1);this.updateHeight();if(this.toolbar){this.toolbar.activateButton("preview")}},updateHeight:function(){var d=this.preview.getHeight();var e=this.editor.getHeight();var f=30;if(Docs.data.touchExamplesUi&&d>0){this.setHeight(d+f)}else{if(e>0){this.setHeight(Ext.Number.constrain(e+f,0,this.maxCodeHeight))}}}});Ext.define("Docs.view.examples.InlineWrap",{requires:["Docs.view.examples.Inline","Docs.view.examples.InlineToolbar"],constructor:function(c){this.pre=c;var d=this.parseOptions(c.className);this.initToolbar();if(d.preview){this.replacePre(d)}else{this.tb.on("buttonclick",function(a){d.preview=(a==="preview");this.replacePre(d)},this,{single:true})}},parseOptions:function(c){var d={};Ext.Array.forEach(c.split(/ +/),function(a){if(a==="phone"||a==="miniphone"||a==="tablet"){d.device=a}else{if(a==="ladscape"||a==="portrait"){d.orientation=a}else{d[a]=true}}});return d},initToolbar:function(){var b=document.createElement("div");this.pre.parentNode.insertBefore(b,this.pre);this.tb=Ext.create("Docs.view.examples.InlineToolbar",{renderTo:b})},replacePre:function(d){var c=document.createElement("div");this.pre.parentNode.replaceChild(c,this.pre);Ext.create("Docs.view.examples.Inline",{height:200,renderTo:c,value:Ext.String.htmlDecode(Ext.util.Format.stripTags(this.pre.innerHTML)),options:d,toolbar:this.tb})}});Ext.define("Docs.controller.InlineExamples",{extend:"Ext.app.Controller",requires:["Docs.view.examples.InlineWrap"],init:function(){this.control({classoverview:{resize:this.createResizer(".class-overview"),afterload:this.replaceExampleDivs},guidecontainer:{resize:this.createResizer(".guide-container"),afterload:this.replaceExampleDivs}})},createResizer:function(b){return function(){Ext.Array.each(Ext.ComponentQuery.query(b+" .inlineexample"),function(a){if(a.editor&&a.isVisible()){a.doLayout()}})}},replaceExampleDivs:function(){Ext.Array.each(Ext.query(".inline-example"),function(b){Ext.create("Docs.view.examples.InlineWrap",b)},this)}});Ext.define("Docs.view.tests.BatchRunner",{extend:"Ext.container.Container",requires:["Docs.view.examples.Inline"],initComponent:function(){this.addEvents("start","finish","statuschange");this.callParent(arguments)},run:function(b){this.fireEvent("start");this.runNext({pass:0,fail:0,total:b.length,remaining:b})},runNext:function(h){this.fireEvent("statuschange",h);if(!h.remaining||h.remaining.length<1){this.fireEvent("finish");return}var j=h.remaining.shift();var i=j.get("options");i.preview=false;var f="var alert = function(){};\n";var g=Ext.create("Docs.view.examples.Inline",{cls:"doc-test-preview",height:0,value:f+j.get("code"),options:i,listeners:{previewsuccess:function(a){this.onSuccess(j,h)},previewfailure:function(a,b){this.onFailure(j,h,b)},scope:this}});this.removeAll();this.add(g);g.showPreview()},onSuccess:function(d,c){d.set("status","success");d.commit();c.pass++;this.runNext(c)},onFailure:function(e,f,d){e.set("status","failure");e.set("message",d.toString());e.commit();f.fail++;this.runNext(f)}});Ext.define("Docs.view.tests.Index",{extend:"Ext.container.Container",requires:["Docs.model.Test","Docs.view.tests.BatchRunner"],mixins:["Docs.view.Scrolling"],alias:"widget.testsindex",layout:{type:"vbox",align:"stretch",shrinkToFit:true},padding:10,initComponent:function(){this.store=Ext.create("Ext.data.Store",{model:"Docs.model.Test",data:[]});this.grid=Ext.create("Ext.grid.Panel",{itemId:"testsgrid",padding:"5 0 5 0",autoScroll:true,flex:1,store:this.store,selModel:{mode:"MULTI"},columns:[{xtype:"templatecolumn",text:"Name",width:300,tpl:'{name}'},{xtype:"templatecolumn",text:"Status",width:80,tpl:'{status}'},{text:"Message",flex:1,dataIndex:"message"}],listeners:{itemdblclick:function(c,d){this.batchRunner.run([d])},scope:this}});this.batchRunner=Ext.create("Docs.view.tests.BatchRunner",{height:0,listeners:{start:this.disable,finish:this.enable,statuschange:this.updateTestStatus,scope:this}});this.items=[{html:"

Inline examples test page

",height:30},{itemId:"testcontainer",layout:{type:"vbox",align:"stretch",shrinkToFit:true},flex:1,items:[{itemId:"testcontrols",layout:"hbox",items:[{html:"Double-click to run an example, or",margin:"5 5 5 0"},{xtype:"button",itemId:"run-selected-button",text:"Run Selected",margin:5,handler:function(){this.batchRunner.run(this.grid.getSelectionModel().getSelection())},scope:this},{html:"or",margin:5},{xtype:"button",itemId:"run-all-button",text:"Run All Examples",margin:5,handler:function(){this.batchRunner.run(this.store.getRange())},scope:this},{itemId:"testStatus",margin:"5 5 5 15"}]},this.grid]},this.batchRunner];this.callParent(arguments)},getTab:function(){return Docs.data.tests?{cls:"tests",href:"#!/tests",tooltip:"Tests",text:"Tests"}:false},addExamples:function(b){this.store.add(b);this.setStatus(true,this.store.getCount()+" examples loaded.")},updateTestStatus:function(d){var c=d.pass+d.fail;this.setStatus(d.fail===0,c+"/"+d.total+" examples tested, "+d.fail+" failures")},setStatus:function(d,f){var e=d?"doc-test-success":"doc-test-failure";this.down("#testStatus").update(''+f+"")}});Ext.define("Docs.view.cls.PackageLogic",{extend:"Docs.view.cls.Logic",requires:"Docs.ClassRegistry",create:function(){this.root={children:[],text:"Root"};this.packages={"":this.root};this.privates=[];Ext.Array.forEach(this.classes,this.addClass,this);this.sortTree(this.root);return{root:this.root,privates:this.privates}},sortTree:function(b){b.children.sort(this.compare);Ext.Array.forEach(b.children,this.sortTree,this)},compare:function(g,h){if(g.leaf===h.leaf){var b=g.text.toLowerCase();var a=h.text.toLowerCase();return b>a?1:(ba?1:(b{2}',d,Docs.Settings.get("classTreeLogic")===d?"selected":"",c)},setupButtonClickHandler:function(){this.el.addListener("click",function(g,h){var f=Ext.get(h),e=Ext.get(Ext.query(".cls-grouping button.selected")[0]);if(e.dom===f.dom){return}e.removeCls("selected");f.addCls("selected");if(f.hasCls("PackageLogic")){this.setLogic("PackageLogic",Docs.Settings.get("showPrivateClasses"))}else{this.setLogic("InheritanceLogic",Docs.Settings.get("showPrivateClasses"))}},this,{delegate:"button"})},setLogic:function(i,f){Docs.Settings.set("classTreeLogic",i);Docs.Settings.set("showPrivateClasses",f);var g=new Docs.view.cls[i]({classes:this.data,showPrivateClasses:f});if(this.root){var h=this.getSelectionModel().getLastSelected();var j=g.create();this.expandLonelyNode(j.root);this.setRootNode(j.root);this.initNodeLinks();h&&this.selectUrl(h.raw.url)}else{var j=g.create();this.root=j.root;this.expandLonelyNode(this.root)}this.privates=j.privates},expandLonelyNode:function(d){var c=Ext.Array.filter(d.children,function(a){return a.children.length>0});if(c.length==1){c[0].expanded=true}},findRecordByUrl:function(b){return this.callParent([b])||this.findPrivateRecordByUrl(b)},findPrivateRecordByUrl:function(e){var f=this.privates;for(var d=0;d','',"{[this.renderCount(values.count)]}","",{renderCount:this.renderCount});this.data={count:this.count};this.callParent(arguments)},renderCount:function(b){if(b===1){return"View 1 comment."}else{if(b>1){return"View "+b+" comments."}else{return"No comments. Click to add."}}},afterRender:function(){this.callParent(arguments);this.getEl().select(".toggleComments").each(function(b){b.on("click",this.toggle,this,{preventDefault:true})},this);new Docs.view.comments.TopLevelDropZone(this.getEl().down(".side.toggleComments"),{onValidDrop:Ext.Function.bind(this.setParent,this)})},setParent:function(c,d){c.setParent(d,this.reload,this)},toggle:function(){this.expanded?this.collapse():this.expand()},expand:function(){this.expanded=true;this.getEl().addCls("open");this.getEl().down(".name").setStyle("display","none");if(this.list){this.list.show()}else{this.loadComments()}},collapse:function(){this.expanded=false;this.getEl().removeCls("open");this.getEl().down(".name").setStyle("display","block");if(this.list){this.list.hide()}},loadComments:function(){this.list=new Docs.view.comments.ListWithForm({target:this.target,newCommentTitle:this.newCommentTitle,renderTo:this.getEl(),listeners:{reorder:this.reload,scope:this}});this.reload()},reload:function(){Docs.Comments.load(this.target,function(b){this.list.load(b)},this)},setCount:function(b){this.getEl().down(".name").update(this.renderCount(b))}});Ext.define("Docs.view.comments.LargeExpander",{requires:["Docs.Comments","Docs.view.comments.Expander"],html:['
','

Comments

',"
","
"].join(""),type:"class",constructor:function(e){Ext.apply(this,e);this.el=Ext.get(e.el);var d=Ext.DomHelper.append(this.el,this.html,true).down("div");var f=[this.type,this.name,""];this.expander=new Docs.view.comments.Expander({count:Docs.Comments.getCount(f),target:f,renderTo:d,onCountUpdated:this.onCountUpdated})},getExpander:function(){return this.expander}});Ext.define("Docs.view.guides.Container",{extend:"Ext.panel.Panel",alias:"widget.guidecontainer",componentCls:"guide-container",mixins:["Docs.view.Scrolling"],requires:["Docs.Comments","Docs.view.comments.LargeExpander"],initComponent:function(){this.addEvents("afterload");this.callParent(arguments)},scrollToEl:function(c){var d=Ext.get(c);if(!d){d=Ext.get(Ext.query("a[name='"+c+"']")[0])}this.scrollToView(d,{highlight:true,offset:-100})},load:function(b){this.guide=b;this.tpl=this.tpl||new Ext.XTemplate(Docs.data.showPrintButton?'Print':"","{content}");this.update(this.tpl.apply(b));Docs.Syntax.highlight(this.getEl());if(Docs.Comments.isEnabled()){this.initComments()}this.fireEvent("afterload")},initComments:function(){this.expander=new Docs.view.comments.LargeExpander({type:"guide",name:this.guide.name,el:this.getEl().down(".x-panel-body")})},updateCommentCounts:function(){if(!this.expander){return}this.expander.getExpander().setCount(Docs.Comments.getCount(["guide",this.guide.name,""]))}});Ext.define("Docs.view.videos.Container",{extend:"Ext.panel.Panel",alias:"widget.videocontainer",componentCls:"video-container",requires:["Docs.Comments","Docs.view.comments.LargeExpander"],initComponent:function(){this.callParent(arguments);this.on("hide",this.pauseVideo,this)},pauseVideo:function(){var b=document.getElementById("video_player");if(b&&b.api_pause){b.api_pause()}},load:function(b){this.video=b;this.tpl=this.tpl||new Ext.XTemplate('","

{title}

","

{[this.linkify(values.description)]}

",{linkify:function(a){return a.replace(/(\bhttps?:\/\/\S+)/ig,"$1")}});this.update(this.tpl.apply(b));if(Docs.Comments.isEnabled()){this.initComments()}},initComments:function(){this.expander=new Docs.view.comments.LargeExpander({type:"video",name:this.video.name,el:this.getEl().down(".x-panel-body")})},updateCommentCounts:function(){if(!this.expander){return}this.expander.getExpander().setCount(Docs.Comments.getCount(["video",this.video.name,""]))}});Ext.define("Docs.view.comments.MemberWrap",{extend:"Docs.view.cls.MemberWrap",requires:["Docs.Comments","Docs.view.comments.Expander"],constructor:function(d){this.callParent([d]);var c=Docs.Comments.getCount(this.getTarget());if(c>0){this.updateSignatureCommentCount(c)}},getTarget:function(){if(!this.target){this.target=["class",this.getDefinedIn(),this.getMemberId()]}return this.target},getExpander:function(){if(!this.expander){var b=Ext.DomHelper.append(this.el.down(".long"),"
");this.expander=new Docs.view.comments.Expander({count:Docs.Comments.getCount(this.getTarget()),target:this.getTarget(),newCommentTitle:this.getNewCommentTitle(),renderTo:b})}return this.expander},setCount:function(b){this.getExpander().setCount(b);this.updateSignatureCommentCount(b)},updateSignatureCommentCount:function(g){var e=this.el.down(".title");var f=e.down(".comment-counter-small");if(g>0){if(f){f.update(""+g)}else{var h=Ext.DomHelper.append(e,Docs.Comments.counterHtml(g),true);h.on("click",function(){this.el.addCls("open");this.getExpander().expand();this.parent.scrollToEl(this.getExpander().getEl())},this)}}else{if(f){f.remove()}}},getNewCommentTitle:function(){if(this.getDefinedIn()!==this.className){return["Be aware. This member is inherited from "+this.getDefinedIn()+"; ","comments posted here will also be posted to that page."].join("")}else{return undefined}},setExpanded:function(b){this.callParent([b]);if(b){this.getExpander().show()}}});Ext.define("Docs.view.comments.Template",{extend:"Ext.XTemplate",requires:["Docs.Auth","Docs.Comments"],statics:{create:function(d){var c="tpl-"+Ext.JSON.encode(d);if(!this[c]){this[c]=new this();Ext.apply(this[c],d)}return this[c]}},constructor:function(){this.callParent(["
",'','
','','
Comment was deleted. Undo.
',"",'
',"{[this.avatar(values.emailHash)]}",'
moderator" title="Sencha Engineer">',"{author}",'',' on {[this.target(values.target)]}',"","
",'
','','',"{.}",'',"","",'','+',"",'','read">Read',"",'','Edit','Delete',"",'{[this.dateStr(values.createdAt)]}',"
",'
',' ','{score}',' ',"
","
",'
{contentHtml}
',"
","
","
","
",this])},avatar:function(b){return Docs.Comments.avatar(b,this.isMod()&&this.enableDragDrop?"drag-handle":"")},isTargetVisible:function(){return this.showTarget},dateStr:function(e){try{var h=Math.ceil(Number(new Date())/1000);var i=Math.ceil(Number(new Date(e))/1000);var k=h-i;if(k<60){return"just now"}else{if(k<60*60){var j=String(Math.round(k/(60)));return j+(j=="1"?" minute":" minutes")+" ago"}else{if(k<60*60*24){var j=String(Math.round(k/(60*60)));return j+(j=="1"?" hour":" hours")+" ago"}else{if(k<60*60*24*31){var j=String(Math.round(k/(60*60*24)));return j+(j=="1"?" day":" days")+" ago"}else{return Ext.Date.format(new Date(e),"jS M 'y")}}}}}catch(l){return""}},date:function(d){try{return Ext.Date.format(new Date(d),"jS F Y g:ia")}catch(c){return""}},isMod:function(){return Docs.Auth.isModerator()},isAuthor:function(b){return Docs.Auth.getUser().userName==b},target:function(h){var e=h[1],g=h[1],f="#!/api/";if(h[0]=="video"){g="Video "+g;f="#!/video/"}else{if(h[0]=="guide"){g="Guide "+g;f="#!/guide/"}else{if(h[2]!=""){e+="-"+h[2];if(h[0]=="class"){g+="#"+h[2].replace(/^.*-/,"")}else{g+=" "+h[2]}}}}return''+g+""}});Ext.define("Docs.view.comments.RepliesExpander",{alias:"widget.commentsRepliesExpander",extend:"Ext.Component",requires:["Docs.Comments"],uses:["Docs.view.comments.ListWithForm"],componentCls:"comments-replies-expander",initComponent:function(){this.tpl=new Ext.XTemplate('',"{[this.renderCount(values.count)]}","",{renderCount:this.renderCount,getCountCls:this.getCountCls});this.data={count:this.count};this.callParent(arguments)},renderCount:function(b){if(b===1){return"1 reply..."}else{if(b>1){return b+" replies..."}else{return"Write reply..."}}},getCountCls:function(b){return(b>0)?"with-replies":""},afterRender:function(){this.callParent(arguments);this.getEl().down(".replies-button").on("click",this.toggle,this,{preventDefault:true})},toggle:function(){this.expanded?this.collapse():this.expand()},expand:function(){this.expanded=true;this.getEl().down(".replies-button").update("Hide replies.");if(this.list){this.list.show()}else{this.loadComments()}},collapse:function(){this.expanded=false;this.refreshRepliesButton();if(this.list){this.list.hide()}},refreshRepliesButton:function(){var b=this.getEl().down(".replies-button");b.update(this.renderCount(this.count));b.removeCls("with-replies");b.addCls(this.getCountCls(this.count))},loadComments:function(){this.list=new Docs.view.comments.ListWithForm({target:this.target,parentId:this.parentId,newCommentTitle:"Reply to comment",renderTo:this.getEl(),listeners:{countChange:this.setCount,scope:this}});Docs.Comments.loadReplies(this.parentId,function(b){this.list.load(b)},this)},setCount:function(b){this.count=b;if(!this.expanded){this.refreshRepliesButton()}}});Ext.define("Docs.model.Comment",{extend:"Ext.data.Model",requires:["Docs.Comments"],fields:[{name:"id",mapping:"_id"},"author","emailHash","moderator","createdAt","target","score","upVote","downVote","contentHtml","read","tags","deleted","parentId","replyCount"],proxy:{type:"ajax",reader:"json"},vote:function(c,d){this.request({method:"POST",url:"/comments/"+this.get("id"),params:{vote:c},success:function(a){this.set("upVote",a.direction==="up");this.set("downVote",a.direction==="down");this.set("score",a.total);this.commit()},failure:Ext.Function.bind(d.failure,d.scope),scope:this})},loadContent:function(c,d){this.request({url:"/comments/"+this.get("id"),method:"GET",success:function(a){c.call(d,a.content)},scope:this})},saveContent:function(b){this.request({url:"/comments/"+this.get("id"),method:"POST",params:{content:b},success:function(a){this.set("contentHtml",a.content);this.commit()},scope:this})},setDeleted:function(b){this.request({url:"/comments/"+this.get("id")+(b?"/delete":"/undo_delete"),method:"POST",success:function(){this.set("deleted",b);this.commit();Docs.Comments.changeCount(this.get("target"),b?-1:+1)},scope:this})},markRead:function(){this.request({url:"/comments/"+this.get("id")+"/read",method:"POST",success:function(){this.set("read",true);this.commit()},scope:this})},setParent:function(d,f,e){this.request({url:"/comments/"+this.get("id")+"/set_parent",method:"POST",params:d?{parentId:d.get("id")}:undefined,success:f,scope:e})},addTag:function(b){this.changeTag("add_tag",b,function(){this.get("tags").push(b)},this)},removeTag:function(b){this.changeTag("remove_tag",b,function(){Ext.Array.remove(this.get("tags"),b)},this)},changeTag:function(h,e,g,f){this.request({url:"/comments/"+this.get("id")+"/"+h,method:"POST",params:{tagname:e},success:function(){g.call(f);this.commit()},scope:this})},request:function(b){Docs.Comments.request("ajax",{url:b.url,method:b.method,params:b.params,callback:function(h,f,a){var g=Ext.JSON.decode(a.responseText);if(f&&g.success){b.success&&b.success.call(b.scope,g)}else{b.failure&&b.failure.call(b.scope,g.reason)}},scope:this})}});Ext.define("Docs.CommentsProxy",{extend:"Ext.data.proxy.JsonP",alias:"proxy.comments",requires:["Docs.Comments"],constructor:function(b){b.url=Docs.Comments.buildRequestUrl(b.url);this.callParent([b])}});Ext.define("Docs.model.Target",{extend:"Ext.data.Model",requires:["Docs.CommentsProxy"],fields:["id","type","cls","member","score",{name:"text",convert:function(e,f){var d=f.data;if(d.type==="class"){return d.cls+(d.member?"#"+d.member.replace(/^.*-/,""):"")}else{return d.type+" "+d.cls}}}],proxy:{type:"comments",url:"/targets",reader:{type:"json",root:"data"}}});Ext.define("Docs.view.comments.Targets",{extend:"Docs.view.comments.TopList",alias:"widget.commentsTargets",requires:["Docs.model.Target"],model:"Docs.model.Target",displayField:"text",filterEmptyText:"Filter topics by name..."});Ext.define("Docs.model.Tag",{extend:"Ext.data.Model",requires:["Docs.CommentsProxy"],fields:["tagname","score"],proxy:{type:"comments",url:"/tags",reader:{type:"json",root:"data"}}});Ext.define("Docs.view.comments.Tags",{extend:"Docs.view.comments.TopList",alias:"widget.commentsTags",requires:["Docs.model.Tag"],model:"Docs.model.Tag",displayField:"tagname",filterEmptyText:"Filter tags by name..."});Ext.define("Docs.view.comments.TagEditor",{extend:"Ext.container.Container",requires:["Docs.model.Tag"],floating:true,hidden:true,componentCls:"comments-tageditor",statics:{cachedStore:undefined,getStore:function(){if(!this.cachedStore){this.cachedStore=Ext.create("Ext.data.Store",{model:"Docs.model.Tag",listeners:{load:function(){this.cachedStore.sort("tagname","ASC")},scope:this}});this.cachedStore.load()}return this.cachedStore}},initComponent:function(){this.items=[{xtype:"combobox",listConfig:{cls:"comments-tageditor-boundlist"},store:this.statics().getStore(),queryMode:"local",displayField:"tagname",valueField:"tagname",enableKeyEvents:true,emptyText:"New tag name...",listeners:{select:this.handleSelect,blur:this.destroy,keyup:this.onKeyUp,scope:this}}];this.callParent(arguments)},popup:function(b){this.show();this.alignTo(b,"bl",[-12,-2]);this.down("combobox").focus(true,100)},onKeyUp:function(c,d){if(d.keyCode===Ext.EventObject.ENTER){this.handleSelect()}else{if(d.keyCode===Ext.EventObject.ESC){this.destroy()}}},handleSelect:function(){var c=Ext.String.trim(this.down("combobox").getValue()||"");if(c){var d=this.rememberNewTag(c);this.fireEvent("select",d)}this.destroy()},rememberNewTag:function(g){var f=this.statics().getStore();var e=new RegExp("^"+Ext.String.escapeRegex(g)+"$","i");var h=f.query("tagname",e);if(h.getCount()===0){f.add({tagname:g});f.sort("tagname","ASC");return g}else{return h.get(0).get("tagname")}}});Ext.define("Docs.view.comments.List",{extend:"Ext.view.View",alias:"widget.commentsList",requires:["Docs.Auth","Docs.Syntax","Docs.Comments","Docs.view.comments.Template","Docs.view.comments.Form","Docs.view.comments.TagEditor","Docs.view.comments.RepliesExpander","Docs.view.comments.DragZone","Docs.view.comments.DropZone","Docs.model.Comment","Docs.Tip"],componentCls:"comments-list",itemSelector:"div.comment",emptyText:'
Loading...
',deferEmptyText:false,initComponent:function(){this.store=Ext.create("Ext.data.Store",{model:"Docs.model.Comment",listeners:{update:this.fireChangeEvent,scope:this}});this.tpl=Docs.view.comments.Template.create({showTarget:this.showTarget,enableDragDrop:this.enableDragDrop});this.callParent(arguments);this.on("refresh",function(){Docs.Syntax.highlight(this.getEl());this.renderExpanders(this.store.getRange())},this);this.on("itemupdate",function(f,e,d){Docs.Syntax.highlight(d);this.renderExpanders([f])},this)},renderExpanders:function(b){if(b[0]&&b[0].get("parentId")){return}Ext.Array.forEach(b,function(a){if(a.get("deleted")){return}new Docs.view.comments.RepliesExpander({count:a.get("replyCount"),target:a.get("target"),parentId:a.get("id"),renderTo:this.getNode(a)})},this)},afterRender:function(){this.callParent(arguments);this.mun(this.getTargetEl(),"keydown");this.delegateClick("a.voteCommentUp",function(d,c){this.vote(d,c,"up")},this);this.delegateClick("a.voteCommentDown",function(d,c){this.vote(d,c,"down")},this);this.delegateClick("a.editComment",function(d,c){this.edit(d,c)},this);this.delegateClick("a.deleteComment",function(d,c){this.setDeleted(d,c,true)},this);this.delegateClick("a.undoDeleteComment",function(d,c){this.setDeleted(d,c,false)},this);this.delegateClick("a.readComment",this.markRead,this);this.delegateClick("a.add-tag",this.addTag,this);this.delegateClick("a.remove-tag",this.removeTag,this);if(this.enableDragDrop){new Docs.view.comments.DragZone(this);new Docs.view.comments.DropZone(this,{onValidDrop:Ext.Function.bind(this.setParent,this)})}},delegateClick:function(e,f,d){this.getEl().on("click",function(b,c){var a=this.getRecord(this.findItemByChild(c));if(a){f.call(d,c,a)}},this,{preventDefault:true,delegate:e})},vote:function(e,f,d){if(!Docs.Auth.isLoggedIn()){Docs.Tip.show("Please login to vote on this comment",e);return}if(f.get("upVote")&&d==="up"||f.get("downVote")&&d==="down"){Docs.Tip.show("You have already voted on this comment",e);return}f.vote(d,{failure:function(a){Docs.Tip.show(a,e)}})},edit:function(d,c){c.loadContent(function(a){var b=Ext.get(d).up(".comment").down(".content");b.update("");new Docs.view.comments.Form({renderTo:b,title:"Edit comment",user:Docs.Auth.getUser(),content:a,listeners:{submit:function(f){c.saveContent(f)},cancel:function(){this.refreshComment(c)},scope:this}})},this)},refreshComment:function(b){this.refreshNode(this.getStore().findExact("id",b.get("id")))},setDeleted:function(d,f,e){f.setDeleted(e)},markRead:function(d,c){c.markRead()},addTag:function(d,f){var e=new Docs.view.comments.TagEditor();e.on("select",f.addTag,f);e.popup(d)},removeTag:function(e,f){var d=Ext.get(e).up(".tag").down("b").getHTML();f.removeTag(d)},setParent:function(c,d){c.setParent(d,function(){this.fireEvent("reorder")},this)},load:function(f,e){if(f.length===0){this.emptyText=""}var d=this.store.getProxy().getReader().readRecords(f).records;this.store.loadData(d,e);this.fireChangeEvent()},fireChangeEvent:function(){var b=function(a){return !a.get("deleted")};this.fireEvent("countChange",this.getStore().queryBy(b).getCount())}});Ext.define("Docs.view.comments.FullList",{extend:"Ext.panel.Panel",alias:"widget.commentsFullList",requires:["Docs.Settings","Docs.Auth","Docs.Comments","Docs.view.comments.List","Docs.view.comments.Pager"],componentCls:"comments-full-list",dockedItems:[{xtype:"container",dock:"top",height:35,html:['

Comments

','

','',"

"].join(" ")}],layout:"border",items:[{xtype:"tabpanel",cls:"comments-tabpanel",plain:true,region:"north",height:25,items:[{title:"Recent"},{title:"Votes"}]},{region:"center",xtype:"container",autoScroll:true,cls:"iScroll",items:[{xtype:"commentsList",id:"recentcomments",showTarget:true},{xtype:"commentsPager"}]}],afterRender:function(){this.callParent(arguments);this.initCheckboxes();this.initTabs();this.setMasked(true)},load:function(f,e){this.down("commentsList").load(f,e);var d=f[f.length-1];if(d){this.down("commentsPager").configure(d)}else{this.down("commentsPager").reset()}},setMasked:function(c){var d=this.getEl();if(d){d[c?"mask":"unmask"]()}},initCheckboxes:function(){var f=Docs.Settings.get("comments");var e=Ext.get("hideRead");if(e){e.dom.checked=f.hideRead;e.on("change",function(){this.saveSetting("hideRead",e.dom.checked);this.fireEvent("hideReadChange")},this)}this.setHideReadVisibility();var d=Docs.App.getController("Auth");d.on("available",this.setHideReadVisibility,this);d.on("loggedIn",this.setHideReadVisibility,this);d.on("loggedOut",this.setHideReadVisibility,this)},setHideReadVisibility:function(){var b=Docs.Auth.isModerator();Ext.get("hideRead").up("label").setStyle("display",b?"inline":"none")},initTabs:function(){this.down("tabpanel[cls=comments-tabpanel]").on("tabchange",function(d,c){if(c.title==="Recent"){this.fireEvent("sortOrderChange","recent")}else{this.fireEvent("sortOrderChange","votes")}},this)},saveSetting:function(d,e){var f=Docs.Settings.get("comments");f[d]=e;Docs.Settings.set("comments",f)},getTab:function(){return Docs.Comments.isEnabled()?{cls:"comments",href:"#!/comment",tooltip:"Comments"}:false}});Ext.define("Docs.view.comments.Index",{extend:"Ext.panel.Panel",alias:"widget.commentindex",mixins:["Docs.view.Scrolling"],requires:["Docs.Comments","Docs.view.comments.FullList","Docs.view.comments.HeaderMenu","Docs.view.comments.Users","Docs.view.comments.Targets","Docs.view.comments.Tags"],componentCls:"comments-index",margin:"10 0 0 0",layout:"border",items:[{region:"center",xtype:"commentsFullList"},{region:"east",itemId:"cardPanel",layout:"border",width:300,margin:"0 0 0 20",layout:"card",dockedItems:[{xtype:"commentsHeaderMenu",dock:"top",height:35}],items:[{xtype:"commentsUsers"},{xtype:"commentsTargets"},{xtype:"commentsTags"}]}],initComponent:function(){this.callParent(arguments);var d=this.down("#cardPanel");var c={users:this.down("commentsUsers"),targets:this.down("commentsTargets"),tags:this.down("commentsTags")};this.down("commentsHeaderMenu").on("select",function(a){Ext.Object.each(c,function(b,f){if(b!==a){f.deselectAll()}});d.getLayout().setActiveItem(c[a])},this)},getTab:function(){return Docs.Comments.isEnabled()?{cls:"comments",href:"#!/comment",tooltip:"Comments"}:false}});Ext.define("Docs.view.HoverMenu",{extend:"Ext.view.View",requires:["Docs.Comments"],alias:"widget.hovermenu",componentCls:"hover-menu",itemSelector:"div.item",deferEmptyText:false,columnHeight:25,initComponent:function(){this.renderTo=Ext.getBody();this.tpl=new Ext.XTemplate("","","","","
",'','
',"{[this.renderLink(values)]}","
",'',"
","","","
",{columnHeight:this.columnHeight,renderLink:function(e){var d=Ext.Array.map(Docs.data.signatures,function(a){return e.meta[a.key]?''+(a["short"])+"":""}).join(" ");var f=Docs.Comments.counterHtml(e.commentCount);return Ext.String.format('{1} {2} {3}',e.url,e.label,d,f)}});this.callParent()}});Ext.define("Docs.view.HoverMenuButton",{extend:"Ext.toolbar.TextItem",alias:"widget.hovermenubutton",componentCls:"hover-menu-button",requires:["Docs.view.HoverMenu"],showCount:false,statics:{menus:[]},initComponent:function(){this.addEvents("click");if(this.showCount){this.initialText=this.text;this.text+=" "+this.store.getCount()+"";this.store.on("datachanged",function(){this.setText(this.initialText+" "+this.store.getCount()+"")},this)}this.callParent(arguments)},getColumnHeight:function(){var c=200;var d=18;return Math.floor((Ext.Element.getViewportHeight()-c)/d)},onRender:function(){this.callParent(arguments);this.getEl().on({click:function(){this.fireEvent("click")},mouseover:this.deferShowMenu,mouseout:this.deferHideMenu,scope:this})},onDestroy:function(){if(this.menu){this.menu.destroy();Ext.Array.remove(Docs.view.HoverMenuButton.menus,this.menu)}this.callParent(arguments)},renderMenu:function(){this.menu=Ext.create("Docs.view.HoverMenu",{store:this.store,columnHeight:this.getColumnHeight()});this.menu.getEl().on({click:function(b){this.menu.hide();b.preventDefault()},mouseover:function(){clearTimeout(this.hideTimeout)},mouseout:this.deferHideMenu,scope:this});Docs.view.HoverMenuButton.menus.push(this.menu)},deferHideMenu:function(){clearTimeout(Docs.view.HoverMenuButton.showTimeout);if(!this.menu){return}this.hideTimeout=Ext.Function.defer(function(){this.menu.hide()},200,this)},deferShowMenu:function(){clearTimeout(Docs.view.HoverMenuButton.showTimeout);Docs.view.HoverMenuButton.showTimeout=Ext.Function.defer(function(){if(!this.menu){this.renderMenu()}Ext.Array.forEach(Docs.view.HoverMenuButton.menus,function(a){if(a!==this.menu){a.hide()}},this);clearTimeout(this.hideTimeout);this.menu.show();var j=this.getEl().getXY(),n=Ext.ComponentQuery.query("classoverview toolbar")[0],k=j[0]-10,l=n.getEl().getXY(),i=n.getWidth(),m=this.menu.getEl().getWidth(),h=Ext.getCmp("doctabs").getWidth();if(m>h){k=0}else{if((k+m)>h){k=h-m-30}}if(kb.name?1:0)});if(f.length>0){var j=this.createMemberButton({text:h[i],type:i,members:f});this.memberButtons[i]=j;this.items.push(j)}}this.checkItems={"public":this.createCb("Public","public"),"protected":this.createCb("Protected","protected"),"private":this.createCb("Private","private"),inherited:this.createCb("Inherited","inherited"),accessor:this.createCb("Accessor","accessor"),deprecated:this.createCb("Deprecated","deprecated"),removed:this.createCb("Removed","removed")};var g=this;this.items=this.items.concat([{xtype:"tbfill"},this.filterField=Ext.widget("triggerfield",{triggerCls:"reset",cls:"member-filter",hideTrigger:true,emptyText:"Filter class members",enableKeyEvents:true,width:150,listeners:{keyup:function(a){this.fireEvent("filter",a.getValue(),this.getShowFlags());a.setHideTrigger(a.getValue().length===0)},specialkey:function(a,b){if(b.keyCode===Ext.EventObject.ESC){a.reset();this.fireEvent("filter","",this.getShowFlags())}},scope:this},onTriggerClick:function(){this.reset();this.focus();g.fireEvent("filter","",g.getShowFlags());this.setHideTrigger(true)}}),{xtype:"tbspacer",width:10},this.commentCount=this.createCommentCount(),{xtype:"button",text:"Show",menu:[this.checkItems["public"],this.checkItems["protected"],this.checkItems["private"],"-",this.checkItems.inherited,this.checkItems.accessor,this.checkItems.deprecated,this.checkItems.removed]},{xtype:"button",iconCls:"expand-all-members",tooltip:"Expand all",enableToggle:true,toggleHandler:function(b,a){b.setIconCls(a?"collapse-all-members":"expand-all-members");this.fireEvent("toggleExpanded",a)},scope:this}]);this.callParent(arguments)},getShowFlags:function(){var d={};for(var c in this.checkItems){d[c]=this.checkItems[c].checked}return d},createCb:function(c,d){return Ext.widget("menucheckitem",{text:c,checked:Docs.Settings.get("show")[d],listeners:{checkchange:function(){this.fireEvent("filter",this.filterField.getValue(),this.getShowFlags())},scope:this}})},createMemberButton:function(d){var c=Ext.Array.map(d.members,function(a){return this.createLinkRecord(this.docClass.name,a)},this);return Ext.create("Docs.view.HoverMenuButton",{text:d.text,cls:"icon-"+d.type,store:this.createStore(c),showCount:true,listeners:{click:function(){this.fireEvent("menubuttonclick",d.type)},scope:this}})},createStore:function(c){var d=Ext.create("Ext.data.Store",{fields:["id","url","label","inherited","accessor","meta","commentCount"]});d.add(c);return d},createLinkRecord:function(d,c){return{id:c.id,url:d+"-"+c.id,label:(c.tagname==="method"&&c.name==="constructor")?"new "+d:c.name,inherited:c.owner!==d,accessor:c.tagname==="method"&&this.accessors.hasOwnProperty(c.name),meta:c.meta,commentCount:Docs.Comments.getCount(["class",d,c.id])}},showMenuItems:function(d,e,f){Ext.Array.forEach(["cfg","property","method","event"],function(b){if(this.memberButtons[b]){var c=this.memberButtons[b].getStore();c.filterBy(function(h){return !(!d["public"]&&!(h.get("meta")["private"]||h.get("meta")["protected"])||!d["protected"]&&h.get("meta")["protected"]||!d["private"]&&h.get("meta")["private"]||!d.inherited&&h.get("inherited")||!d.accessor&&h.get("accessor")||!d.deprecated&&h.get("meta")["deprecated"]||!d.removed&&h.get("meta")["removed"]||e&&!f.test(h.get("label")))});var a=this.memberButtons[b].menu;if(a&&Ext.getVersion().version>="4.1.0"){a.show();a.hide()}}},this)},getFilterValue:function(){return this.filterField.getValue()},createCommentCount:function(){return Ext.create("Ext.container.Container",{width:24,margin:"0 4 0 0",cls:"comment-btn",html:"0",hidden:true,listeners:{afterrender:function(b){b.el.addListener("click",function(){this.fireEvent("commentcountclick")},this)},scope:this}})},showCommentCount:function(){this.commentCount.show()},setCommentCount:function(b){this.commentCount.update(""+(b||0));this.refreshMenuCommentCounts()},refreshMenuCommentCounts:function(){Ext.Object.each(this.memberButtons,function(c,d){d.getStore().each(function(a){a.set("commentCount",Docs.Comments.getCount(["class",this.docClass.name,a.get("id")]))},this)},this)}});Ext.define("Docs.view.cls.Overview",{extend:"Ext.panel.Panel",alias:"widget.classoverview",requires:["Docs.view.cls.Toolbar","Docs.view.examples.Inline","Docs.view.comments.LargeExpander","Docs.view.cls.MemberWrap","Docs.view.comments.MemberWrap","Docs.Syntax","Docs.Settings","Docs.Comments"],mixins:["Docs.view.Scrolling"],cls:"class-overview iScroll",autoScroll:true,border:false,bodyPadding:"20 8 20 5",initComponent:function(){this.addEvents("afterload");this.callParent(arguments)},scrollToEl:function(j,h){var g=(typeof j=="string")?Ext.get(Ext.query(j)[0]):j;if(g){var f=g.hasCls("member");g.show();if(!g.isVisible(true)){g.up(".subsection").show();g.up(".members-section").show()}if(f&&g.down(".expandable")){this.setMemberExpanded(j.replace(/#/,""),true)}var i=this.body.getBox().y;this.scrollToView(g,{highlight:true,offset:(h||0)-(f?i:i-10)})}},load:function(b){this.docClass=b;this.accessors=this.buildAccessorsMap();if(this.toolbar){this.removeDocked(this.toolbar,false);this.toolbar.destroy()}this.toolbar=Ext.create("Docs.view.cls.Toolbar",{docClass:this.docClass,accessors:this.accessors,listeners:{filter:function(d,a){this.filterMembers(d,a)},menubuttonclick:function(a){this.scrollToEl("h3.members-title.icon-"+a,-20)},commentcountclick:this.expandClassComments,scope:this}});this.addDocked(this.toolbar);this.update(b.html);Docs.Syntax.highlight(this.getEl());this.filterMembers("",Docs.Settings.get("show"));if(Docs.Comments.isEnabled()){this.initComments()}else{this.initBasicMemberWrappers()}this.fireEvent("afterload")},initComments:function(){this.toolbar.showCommentCount();this.toolbar.setCommentCount(Docs.Comments.getCount(["class",this.docClass.name,""]));this.clsExpander=new Docs.view.comments.LargeExpander({name:this.docClass.name,el:Ext.query(".doc-contents")[0]});this.memberWrappers={};Ext.Array.forEach(Ext.query(".member"),function(c){var d=new Docs.view.comments.MemberWrap({parent:this,className:this.docClass.name,el:c});this.memberWrappers[d.getMemberId()]=d},this)},initBasicMemberWrappers:function(){this.memberWrappers={};Ext.Array.forEach(Ext.query(".member"),function(c){var d=new Docs.view.cls.MemberWrap({el:c});this.memberWrappers[d.getMemberId()]=d},this)},updateCommentCounts:function(){if(!this.docClass){return}var b=Docs.Comments.getCount(["class",this.docClass.name,""]);this.toolbar.setCommentCount(b);this.clsExpander.getExpander().setCount(b);Ext.Object.each(this.memberWrappers,function(a,d){d.setCount(Docs.Comments.getCount(d.getTarget()))},this)},expandClassComments:function(){var b=this.clsExpander.getExpander();b.expand();this.scrollToEl(b.getEl(),-40)},setMemberExpanded:function(c,d){this.memberWrappers[c].setExpanded(d)},isMemberExpanded:function(b){return this.memberWrappers[b].isExpanded()},setAllMembersExpanded:function(b){if(Docs.Comments.isEnabled()){Ext.Object.each(this.memberWrappers,function(a,d){d.getExpander().show()},this)}Ext.Object.each(this.memberWrappers,function(a,d){d.setExpanded(b)},this)},filterMembers:function(h,e){Docs.Settings.set("show",e);var f=h.length>0;Ext.Array.forEach(Ext.query(".doc-contents, .hierarchy"),function(a){Ext.get(a).setStyle({display:f?"none":"block"})});var g=new RegExp(Ext.String.escapeRegex(h),"i");this.eachMember(function(c){var b=Ext.get(c.id);var a=!(!e["public"]&&!(c.meta["private"]||c.meta["protected"])||!e["protected"]&&c.meta["protected"]||!e["private"]&&c.meta["private"]||!e.inherited&&(c.owner!==this.docClass.name)||!e.accessor&&c.tagname==="method"&&this.accessors.hasOwnProperty(c.name)||!e.deprecated&&c.meta.deprecated||!e.removed&&c.meta.removed||f&&!g.test(c.name));if(a){b.setStyle({display:"block"})}else{b.setStyle({display:"none"})}},this);Ext.Array.forEach(Ext.query(".member.first-child"),function(a){Ext.get(a).removeCls("first-child")});Ext.Array.forEach(Ext.query(".members-section"),function(b){var a=this.getVisibleElements(".member",b);Ext.get(b).setStyle({display:a.length>0?"block":"none"});Ext.Array.forEach(Ext.query(".subsection",b),function(d){var c=this.getVisibleElements(".member",d);if(c.length>0){c[0].addCls("first-child");Ext.get(d).setStyle({display:"block"})}else{Ext.get(d).setStyle({display:"none"})}},this)},this);this.toolbar.showMenuItems(e,f,g)},buildAccessorsMap:function(c){var d={};Ext.Array.forEach(this.docClass.members.cfg,function(b){var a=Ext.String.capitalize(b.name);d["get"+a]=true;d["set"+a]=true});return d},getVisibleElements:function(e,d){var f=Ext.Array.map(Ext.query(e,d),function(a){return Ext.get(a)});return Ext.Array.filter(f,function(a){return a.isVisible()})},eachMember:function(c,d){Ext.Array.forEach(["members","statics"],function(a){Ext.Object.each(this.docClass[a],function(b,f){Ext.Array.forEach(f,c,d)},this)},this)}});Ext.define("Docs.view.cls.Container",{extend:"Ext.container.Container",alias:"widget.classcontainer",requires:["Docs.view.cls.Header","Docs.view.cls.Overview"],layout:"border",padding:"5 10 0 10",initComponent:function(){this.items=[Ext.create("Docs.view.cls.Header",{region:"north"}),Ext.create("Docs.view.cls.Overview",{region:"center"})];this.callParent(arguments)}});Ext.define("Docs.view.Viewport",{extend:"Ext.container.Viewport",requires:["Docs.view.search.Container","Docs.view.Header","Docs.view.Tabs","Docs.view.TreeContainer","Docs.view.welcome.Index","Docs.view.auth.HeaderForm","Docs.view.comments.Index","Docs.view.cls.Index","Docs.view.cls.Container","Docs.view.guides.Index","Docs.view.guides.Container","Docs.view.videos.Index","Docs.view.videos.Container","Docs.view.examples.Index","Docs.view.examples.Container","Docs.view.examples.TouchContainer","Docs.view.tests.Index"],id:"viewport",layout:"border",defaults:{xtype:"container"},initComponent:function(){this.items=[{region:"north",id:"north-region",height:65,layout:{type:"vbox",align:"stretch"},items:[{height:37,xtype:"container",layout:"hbox",items:[{xtype:"docheader"},{xtype:"container",flex:1},{id:"loginContainer",xtype:"authHeaderForm",padding:"10 20 0 0"},{xtype:"searchcontainer",id:"search-container",width:230,margin:"4 0 0 0"}]},{xtype:"doctabs"}]},{region:"center",layout:"border",items:[{region:"west",xtype:"treecontainer",id:"treecontainer",border:1,bodyPadding:"10 9 4 9",width:240},{region:"center",id:"center-container",layout:"fit",border:false,padding:"5 10",items:{id:"card-panel",cls:"card-panel",xtype:"container",layout:{type:"card",deferredRender:true},items:[{autoScroll:true,xtype:"welcomeindex",id:"welcomeindex"},{xtype:"container",id:"failure"},{autoScroll:true,xtype:"classindex",id:"classindex"},{xtype:"classcontainer",id:"classcontainer"},{autoScroll:true,xtype:"guideindex",id:"guideindex"},{autoScroll:true,xtype:"guidecontainer",id:"guide",cls:"iScroll"},{xtype:"videoindex",id:"videoindex"},{autoScroll:true,xtype:"videocontainer",id:"video",cls:"iScroll"},{xtype:"exampleindex",id:"exampleindex"},{xtype:Docs.data.touchExamplesUi?"touchexamplecontainer":"examplecontainer",id:"example"},{xtype:"testsindex",id:"testsindex"},{xtype:"commentindex",id:"commentindex"}]}}]},{region:"south",id:"footer",height:20,contentEl:"footer-content"}];this.callParent(arguments)},setPageTitle:function(b){b=Ext.util.Format.stripTags(b);if(!this.origTitle){this.origTitle=document.title}document.title=b?(b+" - "+this.origTitle):this.origTitle}});Ext.define("Docs.Application",{requires:["Ext.app.Application","Docs.History","Docs.Comments","Docs.Settings","Docs.view.Viewport","Docs.controller.Auth","Docs.controller.Welcome","Docs.controller.Failure","Docs.controller.Classes","Docs.controller.Search","Docs.controller.InlineExamples","Docs.controller.Examples","Docs.controller.Guides","Docs.controller.Videos","Docs.controller.Tabs","Docs.controller.Comments","Docs.controller.CommentCounts","Docs.controller.Tests"],constructor:function(){Docs.Comments.init(this.createApp,this)},createApp:function(){new Ext.app.Application({name:"Docs",controllers:["Auth","Welcome","Failure","Classes","Search","InlineExamples","Examples","Guides","Videos","Tabs","Comments","CommentCounts","Tests"],launch:this.launch})},launch:function(){Docs.App=this;Docs.Settings.init();Ext.create("Docs.view.Viewport");Docs.History.init();if(Docs.initEventTracking){Docs.initEventTracking()}Ext.get("loading").remove()}});Ext.define("Docs.view.auth.Form",{extend:"Docs.view.auth.BaseForm",alias:"widget.authForm",componentCls:"auth-form",initComponent:function(){this.html=['Sign in to post a comment:',this.createLoginFormHtml()];this.callParent(arguments)},afterRender:function(){this.callParent(arguments);this.bindFormSubmitEvent()}});Ext.define("Docs.view.comments.ListWithForm",{extend:"Ext.container.Container",alias:"widget.commentsListWithForm",requires:["Docs.view.comments.List","Docs.view.comments.Form","Docs.view.auth.Form","Docs.Comments","Docs.Auth"],componentCls:"comments-list-with-form",initComponent:function(){this.items=[this.list=new Docs.view.comments.List({enableDragDrop:true})];this.relayEvents(this.list,["countChange","reorder"]);this.callParent(arguments)},load:function(c,d){this.list.load(c,d);if(Docs.Auth.isLoggedIn()){this.showCommentingForm()}else{this.showAuthForm()}},showAuthForm:function(){if(this.commentingForm){this.remove(this.commentingForm);delete this.commentingForm}if(!this.authForm){this.authForm=new Docs.view.auth.Form();this.add(this.authForm)}},showCommentingForm:function(){if(this.authForm){this.remove(this.authForm);delete this.authForm}if(!this.commentingForm){this.commentingForm=new Docs.view.comments.Form({title:this.newCommentTitle,user:Docs.Auth.getUser(),userSubscribed:Docs.Comments.hasSubscription(this.target),listeners:{submit:this.postComment,subscriptionChange:this.subscribe,scope:this}});this.add(this.commentingForm)}},postComment:function(b){Docs.Comments.post({target:this.target,parentId:this.parentId,content:b,callback:function(a){this.commentingForm.setValue("");this.list.load([a],true)},scope:this})},subscribe:function(b){Docs.Comments.subscribe(this.target,b,function(){this.commentingForm.showSubscriptionMessage(b)},this)}});Ext.ns("Docs");Ext.Loader.setConfig({enabled:true,paths:{Docs:"app"}});Ext.require("Ext.form.field.Trigger");Ext.require("Ext.tab.Panel");Ext.require("Ext.grid.column.Action");Ext.require("Ext.grid.plugin.DragDrop");Ext.require("Ext.layout.container.Border");Ext.require("Ext.data.TreeStore");Ext.require("Ext.toolbar.Spacer");Ext.require("Docs.Application");Ext.onReady(function(){Ext.create("Docs.Application")});!function(){var a=null;window.PR_SHOULD_USE_CONTINUATION=!0;(function(){function h(J){function G(O){var M=O.charCodeAt(0);if(M!==92){return M}var N=O.charAt(1);return(M=p[N])?M:"0"<=N&&N<="7"?parseInt(O.substring(1),8):N==="u"||N==="x"?parseInt(O.substring(2),16):O.charCodeAt(1)}function F(M){if(M<32){return(M<16?"\\x0":"\\x")+M.toString(16)}M=String.fromCharCode(M);return M==="\\"||M==="-"||M==="]"||M==="^"?"\\"+M:M}function I(R){var M=R.substring(1,R.length-1).match(/\\u[\dA-Fa-f]{4}|\\x[\dA-Fa-f]{2}|\\[0-3][0-7]{0,2}|\\[0-7]{1,2}|\\[\S\s]|[^\\]/g),R=[],O=M[0]==="^",S=["["];O&&S.push("^");for(var O=O?1:0,Q=M.length;O122||(N<65||P>90||R.push([Math.max(65,P)|32,Math.min(N,90)|32]),N<97||P>122||R.push([Math.max(97,P)&-33,Math.min(N,122)&-33]))}}R.sort(function(U,T){return U[0]-T[0]||T[1]-U[1]});M=[];Q=[];for(O=0;OP[0]&&(P[1]+1>P[0]&&S.push("-"),S.push(F(P[1])))}S.push("]");return S.join("")}function L(Q){for(var N=Q.source.match(/\[(?:[^\\\]]|\\[\S\s])*]|\\u[\dA-Fa-f]{4}|\\x[\dA-Fa-f]{2}|\\\d+|\\[^\dux]|\(\?[!:=]|[()^]|[^()[\\^]+/g),S=N.length,R=[],P=0,O=0;P=2&&Q==="["?N[P]=I(M):Q!=="\\"&&(N[P]=M.replace(/[A-Za-z]/g,function(T){T=T.charCodeAt(0);return"["+String.fromCharCode(T&-33,T|32)+"]"}))}}return N.join("")}for(var K=0,y=!1,D=!1,C=0,H=J.length;C=5&&"lang-"===S.substring(0,5))&&!(T&&typeof T[1]==="string")){N=!1,S="src"}N||(F[P]=S)}M=Q;Q+=P.length;if(N){N=T[1];var I=P.indexOf(N),G=I+N.length;T[2]&&(G=P.length-T[2].length,I=G-N.length);S=S.substring(5);t(K+M,P.substring(0,I),D,J);t(K+M+I,N,s(S,N),J);t(K+M+G,P.substring(G),D,J)}else{J.push(K+M,S)}}R.g=J}var v={},C;(function(){for(var J=y.concat(E),G=[],F={},M=0,H=J.length;M=0;){v[L.charAt(K)]=I}}I=I[1];L=""+I;F.hasOwnProperty(L)||(G.push(I),F[L]=a)}G.push(/[\S\s]/);C=h(G)})();var p=E.length;return D}function u(v){var D=[],C=[];v.tripleQuotedStrings?D.push(["str",/^(?:'''(?:[^'\\]|\\[\S\s]|''?(?=[^']))*(?:'''|$)|"""(?:[^"\\]|\\[\S\s]|""?(?=[^"]))*(?:"""|$)|'(?:[^'\\]|\\[\S\s])*(?:'|$)|"(?:[^"\\]|\\[\S\s])*(?:"|$))/,a,"'\""]):v.multiLineStrings?D.push(["str",/^(?:'(?:[^'\\]|\\[\S\s])*(?:'|$)|"(?:[^"\\]|\\[\S\s])*(?:"|$)|`(?:[^\\`]|\\[\S\s])*(?:`|$))/,a,"'\"`"]):D.push(["str",/^(?:'(?:[^\n\r'\\]|\\.)*(?:'|$)|"(?:[^\n\r"\\]|\\.)*(?:"|$))/,a,"\"'"]);v.verbatimStrings&&C.push(["str",/^@"(?:[^"]|"")*(?:"|$)/,a]);var p=v.hashComments;p&&(v.cStyleComments?(p>1?D.push(["com",/^#(?:##(?:[^#]|#(?!##))*(?:###|$)|.*)/,a,"#"]):D.push(["com",/^#(?:(?:define|e(?:l|nd)if|else|error|ifn?def|include|line|pragma|undef|warning)\b|[^\n\r]*)/,a,"#"]),C.push(["str",/^<(?:(?:(?:\.\.\/)*|\/?)(?:[\w-]+(?:\/[\w-]+)+)?[\w-]+\.h(?:h|pp|\+\+)?|[a-z]\w*)>/,a])):D.push(["com",/^#[^\n\r]*/,a,"#"]));v.cStyleComments&&(C.push(["com",/^\/\/[^\n\r]*/,a]),C.push(["com",/^\/\*[\S\s]*?(?:\*\/|$)/,a]));if(p=v.regexLiterals){var y=(p=p>1?"":"\n\r")?".":"[\\S\\s]";C.push(["lang-regex",RegExp("^(?:^^\\.?|[+-]|[!=]=?=?|\\#|%=?|&&?=?|\\(|\\*=?|[+\\-]=|->|\\/=?|::?|<>?>?=?|,|;|\\?|@|\\[|~|{|\\^\\^?=?|\\|\\|?=?|break|case|continue|delete|do|else|finally|instanceof|return|throw|try|typeof)\\s*("+("/(?=[^/*"+p+"])(?:[^/\\x5B\\x5C"+p+"]|\\x5C"+y+"|\\x5B(?:[^\\x5C\\x5D"+p+"]|\\x5C"+y+")*(?:\\x5D|$))+/")+")")])}(p=v.types)&&C.push(["typ",p]);p=(""+v.keywords).replace(/^ | $/g,"");p.length&&C.push(["kwd",RegExp("^(?:"+p.replace(/[\s,]+/g,"|")+")\\b"),a]);D.push(["pln",/^\s+/,a," \r\n\t\u00a0"]);p="^.[^\\s\\w.$@'\"`/\\\\]*";v.regexLiterals&&(p+="(?!s*/)");C.push(["lit",/^@[$_a-z][\w$@]*/i,a],["typ",/^(?:[@_]?[A-Z]+[a-z][\w$@]*|\w+_t\b)/,a],["pln",/^[$_a-z][\w$@]*/i,a],["lit",/^(?:0x[\da-f]+|(?:\d(?:_\d+)*\d*(?:\.\d*)?|\.\d\+)(?:e[+-]?\d+)?)[a-z]*/i,a,"0123456789"],["pln",/^\\[\S\s]?/,a],["pun",RegExp(p),a]);return A(D,C)}function q(J,G,F){function I(M){var P=M.nodeType;if(P==1&&!K.test(M.className)){if("br"===M.nodeName){L(M),M.parentNode&&M.parentNode.removeChild(M)}else{for(M=M.firstChild;M;M=M.nextSibling){I(M)}}}else{if((P==3||P==4)&&F){var O=M.nodeValue,N=O.match(y);if(N){P=O.substring(0,N.index),M.nodeValue=P,(O=O.substring(N.index+N[0].length))&&M.parentNode.insertBefore(D.createTextNode(O),M.nextSibling),L(M),P||M.parentNode.removeChild(M)}}}}function L(N){function M(P,U){var T=U?P.cloneNode(!1):P,S=P.parentNode;if(S){var S=M(S,1),R=P.nextSibling;S.appendChild(T);for(var Q=R;Q;Q=R){R=Q.nextSibling,S.appendChild(Q)}}return T}for(;!N.nextSibling;){if(N=N.parentNode,!N){return}}for(var N=M(N.nextSibling,0),O;(O=N.parentNode)&&O.nodeType===1;){N=O}H.push(N)}for(var K=/(?:^|\s)nocode(?:\s|$)/,y=/\r\n?|\n/,D=J.ownerDocument,C=D.createElement("li");J.firstChild;){C.appendChild(J.firstChild)}for(var H=[C],E=0;E=0;){var p=C[y];w.hasOwnProperty(p)?z.console&&console.warn("cannot override language handler %s",p):w[p]=v}}function s(p,v){if(!p||!w.hasOwnProperty(p)){p=/^\s*=S&&(ac+=2);X>=M&&(K+=2)}}finally{if(Y){Y.style.display=W}}}catch(H){z.console&&console.log(H&&H.stack||H)}}var z=window,r=["break,continue,do,else,for,if,return,while"],x=[[r,"auto,case,char,const,default,double,enum,extern,float,goto,inline,int,long,register,short,signed,sizeof,static,struct,switch,typedef,union,unsigned,void,volatile"],"catch,class,delete,false,import,new,operator,private,protected,public,this,throw,true,try,typeof"],n=[x,"alignof,align_union,asm,axiom,bool,concept,concept_map,const_cast,constexpr,decltype,delegate,dynamic_cast,explicit,export,friend,generic,late_check,mutable,namespace,nullptr,property,reinterpret_cast,static_assert,static_cast,template,typeid,typename,using,virtual,where"],m=[x,"abstract,assert,boolean,byte,extends,final,finally,implements,import,instanceof,interface,null,native,package,strictfp,super,synchronized,throws,transient"],l=[m,"as,base,by,checked,decimal,delegate,descending,dynamic,event,fixed,foreach,from,group,implicit,in,internal,into,is,let,lock,object,out,override,orderby,params,partial,readonly,ref,sbyte,sealed,stackalloc,string,select,uint,ulong,unchecked,unsafe,ushort,var,virtual,where"],x=[x,"debugger,eval,export,function,get,null,set,undefined,var,with,Infinity,NaN"],k=[r,"and,as,assert,class,def,del,elif,except,exec,finally,from,global,import,in,is,lambda,nonlocal,not,or,pass,print,raise,try,with,yield,False,True,None"],j=[r,"alias,and,begin,case,class,def,defined,elsif,end,ensure,false,in,module,next,nil,not,or,redo,rescue,retry,self,super,then,true,undef,unless,until,when,yield,BEGIN,END"],d=[r,"as,assert,const,copy,drop,enum,extern,fail,false,fn,impl,let,log,loop,match,mod,move,mut,priv,pub,pure,ref,self,static,struct,true,trait,type,unsafe,use"],r=[r,"case,done,elif,esac,eval,fi,function,in,local,set,then,until"],i=/^(DIR|FILE|vector|(de|priority_)?queue|list|stack|(const_)?iterator|(multi)?(set|map)|bitset|u?(int|float)\d*)\b/,e=/\S/,c=u({keywords:[n,l,x,"caller,delete,die,do,dump,elsif,eval,exit,foreach,for,goto,if,import,last,local,my,next,no,our,print,package,redo,require,sub,undef,unless,until,use,wantarray,while,BEGIN,END",k,j,r],hashComments:!0,cStyleComments:!0,multiLineStrings:!0,regexLiterals:!0}),w={};B(c,["default-code"]);B(A([],[["pln",/^[^]*(?:>|$)/],["com",/^<\!--[\S\s]*?(?:--\>|$)/],["lang-",/^<\?([\S\s]+?)(?:\?>|$)/],["lang-",/^<%([\S\s]+?)(?:%>|$)/],["pun",/^(?:<[%?]|[%?]>)/],["lang-",/^]*>([\S\s]+?)<\/xmp\b[^>]*>/i],["lang-js",/^]*>([\S\s]*?)(<\/script\b[^>]*>)/i],["lang-css",/^]*>([\S\s]*?)(<\/style\b[^>]*>)/i],["lang-in.tag",/^(<\/?[a-z][^<>]*>)/i]]),["default-markup","htm","html","mxml","xhtml","xml","xsl"]);B(A([["pln",/^\s+/,a," \t\r\n"],["atv",/^(?:"[^"]*"?|'[^']*'?)/,a,"\"'"]],[["tag",/^^<\/?[a-z](?:[\w-.:]*\w)?|\/?>$/i],["atn",/^(?!style[\s=]|on)[a-z](?:[\w:-]*\w)?/i],["lang-uq.val",/^=\s*([^\s"'>]*(?:[^\s"'/>]|\/(?=\s)))/],["pun",/^[/<->]+/],["lang-js",/^on\w+\s*=\s*"([^"]+)"/i],["lang-js",/^on\w+\s*=\s*'([^']+)'/i],["lang-js",/^on\w+\s*=\s*([^\s"'>]+)/i],["lang-css",/^style\s*=\s*"([^"]+)"/i],["lang-css",/^style\s*=\s*'([^']+)'/i],["lang-css",/^style\s*=\s*([^\s"'>]+)/i]]),["in.tag"]);B(A([],[["atv",/^[\S\s]+/]]),["uq.val"]);B(u({keywords:n,hashComments:!0,cStyleComments:!0,types:i}),["c","cc","cpp","cxx","cyc","m"]);B(u({keywords:"null,true,false"}),["json"]);B(u({keywords:l,hashComments:!0,cStyleComments:!0,verbatimStrings:!0,types:i}),["cs"]);B(u({keywords:m,cStyleComments:!0}),["java"]);B(u({keywords:r,hashComments:!0,multiLineStrings:!0}),["bash","bsh","csh","sh"]);B(u({keywords:k,hashComments:!0,multiLineStrings:!0,tripleQuotedStrings:!0}),["cv","py","python"]);B(u({keywords:"caller,delete,die,do,dump,elsif,eval,exit,foreach,for,goto,if,import,last,local,my,next,no,our,print,package,redo,require,sub,undef,unless,until,use,wantarray,while,BEGIN,END",hashComments:!0,multiLineStrings:!0,regexLiterals:2}),["perl","pl","pm"]);B(u({keywords:j,hashComments:!0,multiLineStrings:!0,regexLiterals:!0}),["rb","ruby"]);B(u({keywords:x,cStyleComments:!0,regexLiterals:!0}),["javascript","js"]);B(u({keywords:"all,and,by,catch,class,else,extends,false,finally,for,if,in,is,isnt,loop,new,no,not,null,of,off,on,or,return,super,then,throw,true,try,unless,until,when,while,yes",hashComments:3,cStyleComments:!0,multilineStrings:!0,tripleQuotedStrings:!0,regexLiterals:!0}),["coffee"]);B(u({keywords:d,cStyleComments:!0,multilineStrings:!0}),["rc","rs","rust"]);B(A([],[["str",/^[\S\s]+/]]),["regex"]);var b=z.PR={createSimpleLexer:A,registerLangHandler:B,sourceDecorator:u,PR_ATTRIB_NAME:"atn",PR_ATTRIB_VALUE:"atv",PR_COMMENT:"com",PR_DECLARATION:"dec",PR_KEYWORD:"kwd",PR_LITERAL:"lit",PR_NOCODE:"nocode",PR_PLAIN:"pln",PR_PUNCTUATION:"pun",PR_SOURCE:"src",PR_STRING:"str",PR_TAG:"tag",PR_TYPE:"typ",prettyPrintOne:z.prettyPrintOne=function(v,C,y){var p=document.createElement("div");p.innerHTML="
"+v+"
";p=p.firstChild;y&&q(p,y,!0);o({h:C,j:y,c:p,i:1});return p.innerHTML},prettyPrint:z.prettyPrint=function(T,Q){function N(){for(var v=z.PR_SHOULD_USE_CONTINUATION?R.now()+250:Infinity;L + + + + + Sencha Examples + + + + + + + + + diff --git a/api/extjs/ext-all.js b/api/extjs/ext-all.js new file mode 100644 index 00000000..46aeaa00 --- /dev/null +++ b/api/extjs/ext-all.js @@ -0,0 +1,38 @@ +/* +Ext JS 4.1 - JavaScript Library +Copyright (c) 2006-2012, Sencha Inc. +All rights reserved. +licensing@sencha.com + +http://www.sencha.com/license + +Open Source License +------------------------------------------------------------------------------------------ +This version of Ext JS is licensed under the terms of the Open Source GPL 3.0 license. + +http://www.gnu.org/licenses/gpl.html + +There are several FLOSS exceptions available for use with this release for +open source applications that are distributed under a license other than GPL. + +* Open Source License Exception for Applications + + http://www.sencha.com/products/floss-exception.php + +* Open Source License Exception for Development + + http://www.sencha.com/products/ux-exception.php + + +Alternate Licensing +------------------------------------------------------------------------------------------ +Commercial and OEM Licenses are available for an alternate download of Ext JS. +This is the appropriate option if you are creating proprietary applications and you are +not prepared to distribute and share the source code of your application under the +GPL v3 license. Please visit http://www.sencha.com/license for more details. + +-- + +This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, AND NON-INFRINGEMENT OF THIRD-PARTY INTELLECTUAL PROPERTY RIGHTS. See the GNU General Public License for more details. +*/ +var Ext=Ext||{};Ext._startTime=new Date().getTime();(function(){var h=this,a=Object.prototype,j=a.toString,b=true,g={toString:1},e=function(){},d=function(){var i=d.caller.caller;return i.$owner.prototype[i.$name].apply(this,arguments)},c;Ext.global=h;for(c in g){b=null}if(b){b=["hasOwnProperty","valueOf","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","constructor"]}Ext.enumerables=b;Ext.apply=function(o,n,q){if(q){Ext.apply(o,q)}if(o&&n&&typeof n==="object"){var p,m,l;for(p in n){o[p]=n[p]}if(b){for(m=b.length;m--;){l=b[m];if(n.hasOwnProperty(l)){o[l]=n[l]}}}}return o};Ext.buildSettings=Ext.apply({baseCSSPrefix:"x-",scopeResetCSS:false},Ext.buildSettings||{});Ext.apply(Ext,{name:Ext.sandboxName||"Ext",emptyFn:e,emptyString:new String(),baseCSSPrefix:Ext.buildSettings.baseCSSPrefix,applyIf:function(k,i){var l;if(k){for(l in i){if(k[l]===undefined){k[l]=i[l]}}}return k},iterate:function(i,l,k){if(Ext.isEmpty(i)){return}if(k===undefined){k=i}if(Ext.isIterable(i)){Ext.Array.each.call(Ext.Array,i,l,k)}else{Ext.Object.each.call(Ext.Object,i,l,k)}}});Ext.apply(Ext,{extend:(function(){var i=a.constructor,k=function(n){for(var l in n){if(!n.hasOwnProperty(l)){continue}this[l]=n[l]}};return function(l,q,o){if(Ext.isObject(q)){o=q;q=l;l=o.constructor!==i?o.constructor:function(){q.apply(this,arguments)}}var n=function(){},m,p=q.prototype;n.prototype=p;m=l.prototype=new n();m.constructor=l;l.superclass=p;if(p.constructor===i){p.constructor=q}l.override=function(r){Ext.override(l,r)};m.override=k;m.proto=m;l.override(o);l.extend=function(r){return Ext.extend(l,r)};return l}}()),override:function(m,n){if(m.$isClass){m.override(n)}else{if(typeof m=="function"){Ext.apply(m.prototype,n)}else{var i=m.self,k,l;if(i&&i.$isClass){for(k in n){if(n.hasOwnProperty(k)){l=n[k];if(typeof l=="function"){l.$name=k;l.$owner=i;l.$previous=m.hasOwnProperty(k)?m[k]:d}m[k]=l}}}else{Ext.apply(m,n)}}}return m}});Ext.apply(Ext,{valueFrom:function(l,i,k){return Ext.isEmpty(l,k)?i:l},typeOf:function(k){var i,l;if(k===null){return"null"}i=typeof k;if(i==="undefined"||i==="string"||i==="number"||i==="boolean"){return i}l=j.call(k);switch(l){case"[object Array]":return"array";case"[object Date]":return"date";case"[object Boolean]":return"boolean";case"[object Number]":return"number";case"[object RegExp]":return"regexp"}if(i==="function"){return"function"}if(i==="object"){if(k.nodeType!==undefined){if(k.nodeType===3){return(/\S/).test(k.nodeValue)?"textnode":"whitespace"}else{return"element"}}return"object"}},isEmpty:function(i,k){return(i===null)||(i===undefined)||(!k?i==="":false)||(Ext.isArray(i)&&i.length===0)},isArray:("isArray" in Array)?Array.isArray:function(i){return j.call(i)==="[object Array]"},isDate:function(i){return j.call(i)==="[object Date]"},isObject:(j.call(null)==="[object Object]")?function(i){return i!==null&&i!==undefined&&j.call(i)==="[object Object]"&&i.ownerDocument===undefined}:function(i){return j.call(i)==="[object Object]"},isSimpleObject:function(i){return i instanceof Object&&i.constructor===Object},isPrimitive:function(k){var i=typeof k;return i==="string"||i==="number"||i==="boolean"},isFunction:(typeof document!=="undefined"&&typeof document.getElementsByTagName("body")==="function")?function(i){return j.call(i)==="[object Function]"}:function(i){return typeof i==="function"},isNumber:function(i){return typeof i==="number"&&isFinite(i)},isNumeric:function(i){return !isNaN(parseFloat(i))&&isFinite(i)},isString:function(i){return typeof i==="string"},isBoolean:function(i){return typeof i==="boolean"},isElement:function(i){return i?i.nodeType===1:false},isTextNode:function(i){return i?i.nodeName==="#text":false},isDefined:function(i){return typeof i!=="undefined"},isIterable:function(k){var i=typeof k,l=false;if(k&&i!="string"){if(i=="function"){if(Ext.isSafari){l=k instanceof NodeList||k instanceof HTMLCollection}}else{l=true}}return l?k.length!==undefined:false}});Ext.apply(Ext,{clone:function(q){var p,o,m,l,r,n;if(q===null||q===undefined){return q}if(q.nodeType&&q.cloneNode){return q.cloneNode(true)}p=j.call(q);if(p==="[object Date]"){return new Date(q.getTime())}if(p==="[object Array]"){o=q.length;r=[];while(o--){r[o]=Ext.clone(q[o])}}else{if(p==="[object Object]"&&q.constructor===Object){r={};for(n in q){r[n]=Ext.clone(q[n])}if(b){for(m=b.length;m--;){l=b[m];r[l]=q[l]}}}}return r||q},getUniqueGlobalNamespace:function(){var l=this.uniqueGlobalNamespace,k;if(l===undefined){k=0;do{l="ExtBox"+(++k)}while(Ext.global[l]!==undefined);Ext.global[l]=Ext;this.uniqueGlobalNamespace=l}return l},functionFactoryCache:{},cacheableFunctionFactory:function(){var o=this,l=Array.prototype.slice.call(arguments),k=o.functionFactoryCache,i,m,n;if(Ext.isSandboxed){n=l.length;if(n>0){n--;l[n]="var Ext=window."+Ext.name+";"+l[n]}}i=l.join("");m=k[i];if(!m){m=Function.prototype.constructor.apply(Function.prototype,l);k[i]=m}return m},functionFactory:function(){var l=this,i=Array.prototype.slice.call(arguments),k;if(Ext.isSandboxed){k=i.length;if(k>0){k--;i[k]="var Ext=window."+Ext.name+";"+i[k]}}return Function.prototype.constructor.apply(Function.prototype,i)},Logger:{verbose:e,log:e,info:e,warn:e,error:function(i){throw new Error(i)},deprecate:e}});Ext.type=Ext.typeOf}());Ext.globalEval=Ext.global.execScript?function(a){execScript(a)}:function($$code){(function(){eval($$code)}())};(function(){var a="4.1.1.1",b;Ext.Version=b=Ext.extend(Object,{constructor:function(c){var e,d;if(c instanceof b){return c}this.version=this.shortVersion=String(c).toLowerCase().replace(/_/g,".").replace(/[\-+]/g,"");d=this.version.search(/([^\d\.])/);if(d!==-1){this.release=this.version.substr(d,c.length);this.shortVersion=this.version.substr(0,d)}this.shortVersion=this.shortVersion.replace(/[^\d]/g,"");e=this.version.split(".");this.major=parseInt(e.shift()||0,10);this.minor=parseInt(e.shift()||0,10);this.patch=parseInt(e.shift()||0,10);this.build=parseInt(e.shift()||0,10);return this},toString:function(){return this.version},valueOf:function(){return this.version},getMajor:function(){return this.major||0},getMinor:function(){return this.minor||0},getPatch:function(){return this.patch||0},getBuild:function(){return this.build||0},getRelease:function(){return this.release||""},isGreaterThan:function(c){return b.compare(this.version,c)===1},isGreaterThanOrEqual:function(c){return b.compare(this.version,c)>=0},isLessThan:function(c){return b.compare(this.version,c)===-1},isLessThanOrEqual:function(c){return b.compare(this.version,c)<=0},equals:function(c){return b.compare(this.version,c)===0},match:function(c){c=String(c);return this.version.substr(0,c.length)===c},toArray:function(){return[this.getMajor(),this.getMinor(),this.getPatch(),this.getBuild(),this.getRelease()]},getShortVersion:function(){return this.shortVersion},gt:function(){return this.isGreaterThan.apply(this,arguments)},lt:function(){return this.isLessThan.apply(this,arguments)},gtEq:function(){return this.isGreaterThanOrEqual.apply(this,arguments)},ltEq:function(){return this.isLessThanOrEqual.apply(this,arguments)}});Ext.apply(b,{releaseValueMap:{dev:-6,alpha:-5,a:-5,beta:-4,b:-4,rc:-3,"#":-2,p:-1,pl:-1},getComponentValue:function(c){return !c?0:(isNaN(c)?this.releaseValueMap[c]||c:parseInt(c,10))},compare:function(h,g){var d,e,c;h=new b(h).toArray();g=new b(g).toArray();for(c=0;ce){return 1}}}return 0}});Ext.apply(Ext,{versions:{},lastRegisteredVersion:null,setVersion:function(d,c){Ext.versions[d]=new b(c);Ext.lastRegisteredVersion=Ext.versions[d];return this},getVersion:function(c){if(c===undefined){return Ext.lastRegisteredVersion}return Ext.versions[c]},deprecate:function(c,e,g,d){if(b.compare(Ext.getVersion(c),e)<1){g.call(d)}}});Ext.setVersion("core",a)}());Ext.String=(function(){var i=/^[\x09\x0a\x0b\x0c\x0d\x20\xa0\u1680\u180e\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u2028\u2029\u202f\u205f\u3000]+|[\x09\x0a\x0b\x0c\x0d\x20\xa0\u1680\u180e\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u2028\u2029\u202f\u205f\u3000]+$/g,m=/('|\\)/g,h=/\{(\d+)\}/g,b=/([-.*+?\^${}()|\[\]\/\\])/g,n=/^\s+|\s+$/g,j=/\s+/,l=/(^[^a-z]*|[^\w])/gi,d,a,g,c,e=function(p,o){return d[o]},k=function(p,o){return(o in a)?a[o]:String.fromCharCode(parseInt(o.substr(2),10))};return{createVarName:function(o){return o.replace(l,"")},htmlEncode:function(o){return(!o)?o:String(o).replace(g,e)},htmlDecode:function(o){return(!o)?o:String(o).replace(c,k)},addCharacterEntities:function(p){var o=[],s=[],q,r;for(q in p){r=p[q];a[q]=r;d[r]=q;o.push(r);s.push(q)}g=new RegExp("("+o.join("|")+")","g");c=new RegExp("("+s.join("|")+"|&#[0-9]{1,5};)","g")},resetCharacterEntities:function(){d={};a={};this.addCharacterEntities({"&":"&",">":">","<":"<",""":'"',"'":"'"})},urlAppend:function(p,o){if(!Ext.isEmpty(o)){return p+(p.indexOf("?")===-1?"?":"&")+o}return p},trim:function(o){return o.replace(i,"")},capitalize:function(o){return o.charAt(0).toUpperCase()+o.substr(1)},uncapitalize:function(o){return o.charAt(0).toLowerCase()+o.substr(1)},ellipsis:function(q,o,r){if(q&&q.length>o){if(r){var s=q.substr(0,o-2),p=Math.max(s.lastIndexOf(" "),s.lastIndexOf("."),s.lastIndexOf("!"),s.lastIndexOf("?"));if(p!==-1&&p>=(o-15)){return s.substr(0,p)+"..."}}return q.substr(0,o-3)+"..."}return q},escapeRegex:function(o){return o.replace(b,"\\$1")},escape:function(o){return o.replace(m,"\\$1")},toggle:function(p,q,o){return p===q?o:q},leftPad:function(p,q,r){var o=String(p);r=r||" ";while(o.lengthe)?e:d)},snap:function(h,e,g,i){var d;if(h===undefined||h=e){h+=e}else{if(d*2<-e){h-=e}}}}return b.constrain(h,g,i)},snapInRange:function(h,d,g,i){var e;g=(g||0);if(h===undefined||h=d){h+=d}}if(i!==undefined){if(h>(i=b.snapInRange(i,d,g))){h=i}}return h},toFixed:c?function(g,d){d=d||0;var e=a.pow(10,d);return(a.round(g*e)/e).toFixed(d)}:function(e,d){return e.toFixed(d)},from:function(e,d){if(isFinite(e)){e=parseFloat(e)}return !isNaN(e)?e:d},randomInt:function(e,d){return a.floor(a.random()*(d-e+1)+e)}});Ext.num=function(){return b.from.apply(this,arguments)}};(function(){var g=Array.prototype,o=g.slice,q=(function(){var A=[],e,z=20;if(!A.splice){return false}while(z--){A.push("A")}A.splice(15,0,"F","F","F","F","F","F","F","F","F","F","F","F","F","F","F","F","F","F","F","F","F");e=A.length;A.splice(13,0,"XXX");if(e+1!=A.length){return false}return true}()),j="forEach" in g,u="map" in g,p="indexOf" in g,y="every" in g,c="some" in g,d="filter" in g,n=(function(){var e=[1,2,3,4,5].sort(function(){return 0});return e[0]===1&&e[1]===2&&e[2]===3&&e[3]===4&&e[4]===5}()),k=true,a,w,t,v;try{if(typeof document!=="undefined"){o.call(document.getElementsByTagName("body"))}}catch(s){k=false}function m(z,e){return(e<0)?Math.max(0,z.length+e):Math.min(z.length,e)}function x(G,F,z,J){var K=J?J.length:0,B=G.length,H=m(G,F),E,I,A,e,C,D;if(H===B){if(K){G.push.apply(G,J)}}else{E=Math.min(z,B-H);I=H+E;A=I+K-E;e=B-I;C=B-E;if(AI){for(D=e;D--;){G[A+D]=G[I+D]}}}if(K&&H===C){G.length=C;G.push.apply(G,J)}else{G.length=C+K;for(D=0;D-1;z--){if(B.call(A||D[z],D[z],z,D)===false){return z}}}return true},forEach:j?function(A,z,e){return A.forEach(z,e)}:function(C,A,z){var e=0,B=C.length;for(;ee){e=A}}}return e},mean:function(e){return e.length>0?a.sum(e)/e.length:undefined},sum:function(C){var z=0,e,B,A;for(e=0,B=C.length;e0){return setTimeout(Ext.supports.TimeoutActualLateness?function(){e()}:e,c)}e();return 0},createSequence:function(b,c,a){if(!c){return b}else{return function(){var d=b.apply(this,arguments);c.apply(a||this,arguments);return d}}},createBuffered:function(e,b,d,c){var a;return function(){var h=c||Array.prototype.slice.call(arguments,0),g=d||this;if(a){clearTimeout(a)}a=setTimeout(function(){e.apply(g,h)},b)}},createThrottled:function(e,b,d){var g,a,c,i,h=function(){e.apply(d||this,c);g=new Date().getTime()};return function(){a=new Date().getTime()-g;c=arguments;clearTimeout(i);if(!g||(a>=b)){h()}else{i=setTimeout(h,b-a)}}},interceptBefore:function(b,a,d,c){var e=b[a]||Ext.emptyFn;return(b[a]=function(){var g=d.apply(c||this,arguments);e.apply(this,arguments);return g})},interceptAfter:function(b,a,d,c){var e=b[a]||Ext.emptyFn;return(b[a]=function(){e.apply(this,arguments);return d.apply(c||this,arguments)})}};Ext.defer=Ext.Function.alias(Ext.Function,"defer");Ext.pass=Ext.Function.alias(Ext.Function,"pass");Ext.bind=Ext.Function.alias(Ext.Function,"bind");(function(){var a=function(){},b=Ext.Object={chain:function(d){a.prototype=d;var c=new a();a.prototype=null;return c},toQueryObjects:function(e,k,d){var c=b.toQueryObjects,j=[],g,h;if(Ext.isArray(k)){for(g=0,h=k.length;g0){k=o.split("=");w=decodeURIComponent(k[0]);n=(k[1]!==undefined)?decodeURIComponent(k[1]):"";if(!r){if(u.hasOwnProperty(w)){if(!Ext.isArray(u[w])){u[w]=[u[w]]}u[w].push(n)}else{u[w]=n}}else{h=w.match(/(\[):?([^\]]*)\]/g);t=w.match(/^([^\[]+)/);w=t[0];l=[];if(h===null){u[w]=n;continue}for(p=0,c=h.length;p 0 ? +1 : (Ext.Date.getWeekOfYear(this) >= 52 && this.getMonth() < 11 ? -1 : 0)))",Y:"Ext.String.leftPad(this.getFullYear(), 4, '0')",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:"Ext.String.leftPad((this.getHours() % 12) ? this.getHours() % 12 : 12, 2, '0')",H:"Ext.String.leftPad(this.getHours(), 2, '0')",i:"Ext.String.leftPad(this.getMinutes(), 2, '0')",s:"Ext.String.leftPad(this.getSeconds(), 2, '0')",u:"Ext.String.leftPad(this.getMilliseconds(), 3, '0')",O:"Ext.Date.getGMTOffset(this)",P:"Ext.Date.getGMTOffset(this, true)",T:"Ext.Date.getTimezone(this)",Z:"(this.getTimezoneOffset() * -60)",c:function(){var k,h,g,d,j;for(k="Y-m-dTH:i:sP",h=[],g=0,d=k.length;g= 0 && y >= 0){","v = Ext.Date.add(new Date(y < 100 ? 100 : y, 0, 1, h, i, s, ms), Ext.Date.YEAR, y < 100 ? y - 100 : 0);","v = !strict? v : (strict === true && (z <= 364 || (Ext.Date.isLeapYear(v) && z <= 365))? Ext.Date.add(v, Ext.Date.DAY, z) : null);","}else if(strict === true && !Ext.Date.isValid(y, m + 1, d, h, i, s, ms)){","v = null;","}else{","v = Ext.Date.add(new Date(y < 100 ? 100 : y, m, d, h, i, s, ms), Ext.Date.YEAR, y < 100 ? y - 100 : 0);","}","}","}","if(v){","if(zz != null){","v = Ext.Date.add(v, Ext.Date.SECOND, -v.getTimezoneOffset() * 60 - zz);","}else if(o){","v = Ext.Date.add(v, Ext.Date.MINUTE, -v.getTimezoneOffset() + (sn == '+'? -1 : 1) * (hr * 60 + mn));","}","}","return v;"].join("\n");return function(o){var e=a.parseRegexes.length,p=1,g=[],n=[],l=false,d="",j=0,k=o.length,m=[],h;for(;j Ext.Date.y2kYear ? 1900 + ty : 2000 + ty;\n",s:"(\\d{1,2})"},a:{g:1,c:"if (/(am)/i.test(results[{0}])) {\nif (!h || h == 12) { h = 0; }\n} else { if (!h || h < 12) { h = (h || 0) + 12; }}",s:"(am|pm|AM|PM)",calcAtEnd:true},A:{g:1,c:"if (/(am)/i.test(results[{0}])) {\nif (!h || h == 12) { h = 0; }\n} else { if (!h || h < 12) { h = (h || 0) + 12; }}",s:"(AM|PM|am|pm)",calcAtEnd:true},g:{g:1,c:"h = parseInt(results[{0}], 10);\n",s:"(1[0-2]|[0-9])"},G:{g:1,c:"h = parseInt(results[{0}], 10);\n",s:"(2[0-3]|1[0-9]|[0-9])"},h:{g:1,c:"h = parseInt(results[{0}], 10);\n",s:"(1[0-2]|0[1-9])"},H:{g:1,c:"h = parseInt(results[{0}], 10);\n",s:"(2[0-3]|[0-1][0-9])"},i:{g:1,c:"i = parseInt(results[{0}], 10);\n",s:"([0-5][0-9])"},s:{g:1,c:"s = parseInt(results[{0}], 10);\n",s:"([0-5][0-9])"},u:{g:1,c:"ms = results[{0}]; ms = parseInt(ms, 10)/Math.pow(10, ms.length - 3);\n",s:"(\\d+)"},O:{g:1,c:["o = results[{0}];","var sn = o.substring(0,1),","hr = o.substring(1,3)*1 + Math.floor(o.substring(3,5) / 60),","mn = o.substring(3,5) % 60;","o = ((-12 <= (hr*60 + mn)/60) && ((hr*60 + mn)/60 <= 14))? (sn + Ext.String.leftPad(hr, 2, '0') + Ext.String.leftPad(mn, 2, '0')) : null;\n"].join("\n"),s:"([+-]\\d{4})"},P:{g:1,c:["o = results[{0}];","var sn = o.substring(0,1),","hr = o.substring(1,3)*1 + Math.floor(o.substring(4,6) / 60),","mn = o.substring(4,6) % 60;","o = ((-12 <= (hr*60 + mn)/60) && ((hr*60 + mn)/60 <= 14))? (sn + Ext.String.leftPad(hr, 2, '0') + Ext.String.leftPad(mn, 2, '0')) : null;\n"].join("\n"),s:"([+-]\\d{2}:\\d{2})"},T:{g:0,c:null,s:"[A-Z]{1,4}"},Z:{g:1,c:"zz = results[{0}] * 1;\nzz = (-43200 <= zz && zz <= 50400)? zz : null;\n",s:"([+-]?\\d{1,5})"},c:function(){var e=[],c=[a.formatCodeToRegex("Y",1),a.formatCodeToRegex("m",2),a.formatCodeToRegex("d",3),a.formatCodeToRegex("H",4),a.formatCodeToRegex("i",5),a.formatCodeToRegex("s",6),{c:"ms = results[7] || '0'; ms = parseInt(ms, 10)/Math.pow(10, ms.length - 3);\n"},{c:["if(results[8]) {","if(results[8] == 'Z'){","zz = 0;","}else if (results[8].indexOf(':') > -1){",a.formatCodeToRegex("P",8).c,"}else{",a.formatCodeToRegex("O",8).c,"}","}"].join("\n")}],g,d;for(g=0,d=c.length;g0?"-":"+")+Ext.String.leftPad(Math.floor(Math.abs(e)/60),2,"0")+(d?":":"")+Ext.String.leftPad(Math.abs(e%60),2,"0")},getDayOfYear:function(g){var e=0,j=Ext.Date.clone(g),c=g.getMonth(),h;for(h=0,j.setDate(1),j.setMonth(0);h28){e=Math.min(e,Ext.Date.getLastDateOfMonth(Ext.Date.add(Ext.Date.getFirstDateOfMonth(h),Ext.Date.MONTH,i)).getDate())}j.setDate(e);j.setMonth(h.getMonth()+i);break;case Ext.Date.YEAR:e=h.getDate();if(e>28){e=Math.min(e,Ext.Date.getLastDateOfMonth(Ext.Date.add(Ext.Date.getFirstDateOfMonth(h),Ext.Date.YEAR,i)).getDate())}j.setDate(e);j.setFullYear(h.getFullYear()+i);break}return j},between:function(d,g,c){var e=d.getTime();return g.getTime()<=e&&e<=c.getTime()},compat:function(){var d=window.Date,c,l,j=["useStrict","formatCodeToRegex","parseFunctions","parseRegexes","formatFunctions","y2kYear","MILLI","SECOND","MINUTE","HOUR","DAY","MONTH","YEAR","defaults","dayNames","monthNames","monthNumbers","getShortMonthName","getShortDayName","getMonthNumber","formatCodes","isValid","parseDate","getFormatCode","createFormat","createParser","parseCodes"],h=["dateFormat","format","getTimezone","getGMTOffset","getDayOfYear","getWeekOfYear","isLeapYear","getFirstDayOfMonth","getLastDayOfMonth","getDaysInMonth","getSuffix","clone","isDST","clearTime","add","between"],i=j.length,e=h.length,g,k,m;for(m=0;m0){for(d=0;d0){if(x===w){return z[x]}y=z[x];w=w.substring(x.length+1)}if(y.length>0){y+="/"}return y.replace(c,"/")+w.replace(g,"/")+".js"},getPrefix:function(x){var z=j.config.paths,y,w="";if(z.hasOwnProperty(x)){return x}for(y in z){if(z.hasOwnProperty(y)&&y+"."===x.substring(0,y.length+1)){if(y.length>w.length){w=y}}}return w},isAClassNameWithAKnownPrefix:function(w){var x=j.getPrefix(w);return x!==""&&x!==w},require:function(y,x,w,z){if(x){x.call(w)}},syncRequire:function(){},exclude:function(w){return{require:function(z,y,x){return j.require(z,y,x,w)},syncRequire:function(z,y,x){return j.syncRequire(z,y,x,w)}}},onReady:function(z,y,A,w){var x;if(A!==false&&Ext.onDocumentReady){x=z;z=function(){Ext.onDocumentReady(x,y,w)}}z.call(y)}});var o=[],p={},s={},q={},n={},u=[],v=[],i={};Ext.apply(j,{documentHead:typeof document!="undefined"&&(document.head||document.getElementsByTagName("head")[0]),isLoading:false,queue:o,isClassFileLoaded:p,isFileLoaded:s,readyListeners:u,optionalRequires:v,requiresMap:i,numPendingFiles:0,numLoadedFiles:0,hasFileLoadError:false,classNameToFilePathMap:q,scriptsLoading:0,syncModeEnabled:false,scriptElements:n,refreshQueue:function(){var A=o.length,x,z,w,y;if(!A&&!j.scriptsLoading){return j.triggerReady()}for(x=0;xj.numLoadedFiles){continue}for(w=0;w=200&&A<300)||(A===304)){if(!Ext.isIE){B="\n//@ sourceURL="+x}Ext.globalEval(G.responseText+B);E.call(H)}else{}}G=null}},syncRequire:function(){var w=j.syncModeEnabled;if(!w){j.syncModeEnabled=true}j.require.apply(j,arguments);if(!w){j.syncModeEnabled=false}j.refreshQueue()},require:function(O,F,z,B){var H={},y={},E=[],Q=[],N=[],x=[],D,P,J,I,w,C,M,L,K,G,A;if(B){B=(typeof B==="string")?[B]:B;for(L=0,G=B.length;L0){E=b.getNamesByExpression(w);for(K=0,A=E.length;K0){D=function(){var S=[],R,T;for(R=0,T=x.length;R0){Q=b.getNamesByExpression(I);A=Q.length;for(K=0;K0){if(!j.config.enabled){throw new Error("Ext.Loader is not enabled, so dependencies cannot be resolved dynamically. Missing required class"+((N.length>1)?"es":"")+": "+N.join(", "))}}else{D.call(z);return j}P=j.syncModeEnabled;if(!P){o.push({requires:N.slice(),callback:D,scope:z})}G=N.length;for(L=0;Lwindow.innerWidth?"portrait":"landscape"},destroy:function(){var c=arguments.length,b,a;for(b=0;b]+>/gi,c=/(?:)((\n|\r|.)*?)(?:<\/script>)/ig,b=/\r?\n/g,d=/[^\d\.]/g,a;Ext.apply(g,{thousandSeparator:",",decimalSeparator:".",currencyPrecision:2,currencySign:"$",currencyAtEnd:false,undef:function(h){return h!==undefined?h:""},defaultValue:function(i,h){return i!==undefined&&i!==""?i:h},substr:"ab".substr(-1)!="b"?function(i,k,h){var j=String(i);return(k<0)?j.substr(Math.max(j.length+k,0),h):j.substr(k,h)}:function(i,j,h){return String(i).substr(j,h)},lowercase:function(h){return String(h).toLowerCase()},uppercase:function(h){return String(h).toUpperCase()},usMoney:function(h){return g.currency(h,"$",2)},currency:function(k,m,j,h){var o="",n=",0",l=0;k=k-0;if(k<0){k=-k;o="-"}j=Ext.isDefined(j)?j:g.currencyPrecision;n+=n+(j>0?".":"");for(;l2){}else{if(h.length>1){y=Ext.Number.toFixed(y,h[1].length)}else{y=Ext.Number.toFixed(y,0)}}x=y.toString();h=x.split(".");if(k){w=h[0];p=[];t=w.length;o=Math.floor(t/3);l=w.length%3||3;for(u=0;u")},capitalize:Ext.String.capitalize,ellipsis:Ext.String.ellipsis,format:Ext.String.format,htmlDecode:Ext.String.htmlDecode,htmlEncode:Ext.String.htmlEncode,leftPad:Ext.String.leftPad,trim:Ext.String.trim,parseBox:function(i){i=Ext.isEmpty(i)?"":i;if(Ext.isNumber(i)){i=i.toString()}var j=i.split(" "),h=j.length;if(h==1){j[1]=j[2]=j[3]=j[0]}else{if(h==2){j[2]=j[0];j[3]=j[1]}else{if(h==3){j[3]=j[1]}}}return{top:parseInt(j[0],10)||0,right:parseInt(j[1],10)||0,bottom:parseInt(j[2],10)||0,left:parseInt(j[3],10)||0}},escapeRegex:function(h){return h.replace(/([\-.*+?\^${}()|\[\]\/\\])/g,"\\$1")}})}());Ext.define("Ext.util.TaskRunner",{interval:10,timerId:null,constructor:function(a){var b=this;if(typeof a=="number"){b.interval=a}else{if(a){Ext.apply(b,a)}}b.tasks=[];b.timerFn=Ext.Function.bind(b.onTick,b)},newTask:function(b){var a=new Ext.util.TaskRunner.Task(b);a.manager=this;return a},start:function(a){var c=this,b=new Date().getTime();if(!a.pending){c.tasks.push(a);a.pending=true}a.stopped=false;a.taskStartTime=b;a.taskRunTime=a.fireOnStart!==false?0:a.taskStartTime;a.taskRunCount=0;if(!c.firing){if(a.fireOnStart!==false){c.startTimer(0,b)}else{c.startTimer(a.interval,b)}}return a},stop:function(a){if(!a.stopped){a.stopped=true;if(a.onStop){a.onStop.call(a.scope||a,a)}}return a},stopAll:function(){Ext.each(this.tasks,this.stop,this)},firing:false,nextExpires:1e+99,onTick:function(){var m=this,e=m.tasks,a=new Date().getTime(),n=1e+99,k=e.length,c,o,h,b,d,g;m.timerId=null;m.firing=true;for(h=0;hc){n=c}}}if(o){m.tasks=o}m.firing=false;if(m.tasks.length){m.startTimer(n-a,new Date().getTime())}},startTimer:function(e,c){var d=this,b=c+e,a=d.timerId;if(a&&d.nextExpires-b>d.interval){clearTimeout(a);a=null}if(!a){if(e',''," ({childCount} children)","",''," ({depth} deep)","",'',", {type}: {[this.time(values.sum)]} msec (","avg={[this.time(values.sum / parent.count)]}",")","",""].join(""),{time:function(n){return Math.round(n*100)/100}})}var m=this.getData(l);m.name=this.name;m.pure.type="Pure";m.total.type="Total";m.times=[m.pure,m.total];return d.apply(m)},getData:function(l){var m=this;return{count:m.count,childCount:m.childCount,depth:m.maxDepth,pure:g(m.count,m.childCount,l,m.pure),total:g(m.count,m.childCount,l,m.total)}},enter:function(){var l=this,m={accum:l,leave:e,childTime:0,parent:c};++l.depth;if(l.maxDepth','
',"",'
','
',"
",'
','
'].join("");e.body.appendChild(h)}while(i--){g=c[i];if(h||g.early){d[g.identity]=g.fn.call(d,e,h)}else{b.push(g)}}if(h){e.body.removeChild(h)}d.tests=b},PointerEvents:"pointerEvents" in document.documentElement.style,CSS3BoxShadow:"boxShadow" in document.documentElement.style||"WebkitBoxShadow" in document.documentElement.style||"MozBoxShadow" in document.documentElement.style,ClassList:!!document.documentElement.classList,OrientationChange:((typeof window.orientation!="undefined")&&("onorientationchange" in window)),DeviceMotion:("ondevicemotion" in window),Touch:("ontouchstart" in window)&&(!Ext.is.Desktop),TimeoutActualLateness:(function(){setTimeout(function(){Ext.supports.TimeoutActualLateness=arguments.length!==0},0)}()),tests:[{identity:"Transitions",fn:function(h,k){var g=["webkit","Moz","o","ms","khtml"],j="TransitionEnd",b=[g[0]+j,"transitionend",g[2]+j,g[3]+j,g[4]+j],e=g.length,d=0,c=false;for(;d

";return(c.childNodes.length==2)}},{identity:"Float",fn:function(b,c){return !!c.lastChild.style.cssFloat}},{identity:"AudioTag",fn:function(b){return !!b.createElement("audio").canPlayType}},{identity:"History",fn:function(){var b=window.history;return !!(b&&b.pushState)}},{identity:"CSS3DTransform",fn:function(){return(typeof WebKitCSSMatrix!="undefined"&&new WebKitCSSMatrix().hasOwnProperty("m41"))}},{identity:"CSS3LinearGradient",fn:function(h,j){var g="background-image:",d="-webkit-gradient(linear, left top, right bottom, from(black), to(white))",i="linear-gradient(left top, black, white)",e="-moz-"+i,b="-o-"+i,c=[g+d,g+i,g+e,g+b];j.style.cssText=c.join(";");return(""+j.style.backgroundImage).indexOf("gradient")!==-1}},{identity:"CSS3BorderRadius",fn:function(e,g){var c=["borderRadius","BorderRadius","MozBorderRadius","WebkitBorderRadius","OBorderRadius","KhtmlBorderRadius"],d=false,b;for(b=0;b=534.16}},{identity:"TextAreaMaxLength",fn:function(){var b=document.createElement("textarea");return("maxlength" in b)}},{identity:"GetPositionPercentage",fn:function(b,c){return a(c.childNodes[2],"left")=="10%"}}]}}());Ext.supports.init();Ext.util.DelayedTask=function(d,c,a){var e=this,g,b=function(){clearInterval(g);g=null;d.apply(c,a||[])};this.delay=function(i,k,j,h){e.cancel();d=k||d;c=j||c;a=h||a;g=setInterval(b,i)};this.cancel=function(){if(g){clearInterval(g);g=null}}};Ext.require("Ext.util.DelayedTask",function(){Ext.util.Event=Ext.extend(Object,(function(){var b={};function d(h,i,j,g){return function(){if(j.target===arguments[0]){h.apply(g,arguments)}}}function c(h,i,j,g){i.task=new Ext.util.DelayedTask();return function(){i.task.delay(j.buffer,h,g,Ext.Array.toArray(arguments))}}function a(h,i,j,g){return function(){var k=new Ext.util.DelayedTask();if(!i.tasks){i.tasks=[]}i.tasks.push(k);k.delay(j.delay||10,h,g,Ext.Array.toArray(arguments))}}function e(h,i,j,g){return function(){var k=i.ev;if(k.removeListener(i.fn,g)&&k.observable){k.observable.hasListeners[k.name]--}return h.apply(g,arguments)}}return{isEvent:true,constructor:function(h,g){this.name=g;this.observable=h;this.listeners=[]},addListener:function(i,h,g){var j=this,k;h=h||j.observable;if(!j.isListening(i,h)){k=j.createListener(i,h,g);if(j.firing){j.listeners=j.listeners.slice(0)}j.listeners.push(k)}},createListener:function(j,i,g){g=g||b;i=i||this.observable;var k={fn:j,scope:i,o:g,ev:this},h=j;if(g.single){h=e(h,k,g,i)}if(g.target){h=d(h,k,g,i)}if(g.delay){h=a(h,k,g,i)}if(g.buffer){h=c(h,k,g,i)}k.fireFn=h;return k},findListener:function(l,k){var j=this.listeners,g=j.length,m,h;while(g--){m=j[g];if(m){h=m.scope;if(m.fn==l&&(h==(k||this.observable))){return g}}}return -1},isListening:function(h,g){return this.findListener(h,g)!==-1},removeListener:function(j,i){var l=this,h,m,g;h=l.findListener(j,i);if(h!=-1){m=l.listeners[h];if(l.firing){l.listeners=l.listeners.slice(0)}if(m.task){m.task.cancel();delete m.task}g=m.tasks&&m.tasks.length;if(g){while(g--){m.tasks[g].cancel()}delete m.tasks}Ext.Array.erase(l.listeners,h,1);return true}return false},clearListeners:function(){var h=this.listeners,g=h.length;while(g--){this.removeListener(h[g].fn,h[g].scope)}},fire:function(){var l=this,j=l.listeners,k=j.length,h,g,m;if(k>0){l.firing=true;for(h=0;h";for(;r\^])\s?|\s|$)/,c=/^(#)?([\w\-]+|\*)(?:\((true|false)\))?/,b=[{re:/^\.([\w\-]+)(?:\((true|false)\))?/,method:m},{re:/^(?:[\[](?:@)?([\w\-]+)\s?(?:(=|.=)\s?['"]?(.*?)["']?)?[\]])/,method:n},{re:/^#([\w\-]+)/,method:d},{re:/^\:([\w\-]+)(?:\(((?:\{[^\}]+\})|(?:(?!\{)[^\s>\/]*?(?!\})))\))?/,method:l},{re:/^(?:\{([^\}]+)\})/,method:k}];h.Query=Ext.extend(Object,{constructor:function(o){o=o||{};Ext.apply(this,o)},execute:function(p){var r=this.operations,s=0,t=r.length,q,o;if(!p){o=Ext.ComponentManager.all.getArray()}else{if(Ext.isArray(p)){o=p}else{if(p.isMixedCollection){o=p.items}}}for(;s1){for(r=0,s=t.length;r0){o.push(p[0])}return o},last:function(q){var o=q.length,p=[];if(o>0){p.push(q[o-1])}return p}},query:function(p,w){var x=p.split(","),o=x.length,q=0,r=[],y=[],v={},t,s,u;for(;q1){s=r.length;for(q=0;q111&&g.keyCode<124){g.keyCode=-1}}catch(h){}}},getRelatedTarget:function(e){e=e.browserEvent||e;var g=e.relatedTarget;if(!g){if(a.mouseLeaveRe.test(e.type)){g=e.toElement}else{if(a.mouseEnterRe.test(e.type)){g=e.fromElement}}}return a.resolveTextNode(g)},getPageX:function(e){return a.getPageXY(e)[0]},getPageY:function(e){return a.getPageXY(e)[1]},getPageXY:function(h){h=h.browserEvent||h;var g=h.pageX,j=h.pageY,i=d.documentElement,e=d.body;if(!g&&g!==0){g=h.clientX+(i&&i.scrollLeft||e&&e.scrollLeft||0)-(i&&i.clientLeft||e&&e.clientLeft||0);j=h.clientY+(i&&i.scrollTop||e&&e.scrollTop||0)-(i&&i.clientTop||e&&e.clientTop||0)}return[g,j]},getTarget:function(e){e=e.browserEvent||e;return a.resolveTextNode(e.target||e.srcElement)},resolveTextNode:Ext.isGecko?function(g){if(!g){return}var e=HTMLElement.prototype.toString.call(g);if(e=="[xpconnect wrapped native prototype]"||e=="[object XULElement]"){return}return g.nodeType==3?g.parentNode:g}:function(e){return e&&e.nodeType==3?e.parentNode:e},curWidth:0,curHeight:0,onWindowResize:function(i,h,g){var e=a.resizeEvent;if(!e){a.resizeEvent=e=new Ext.util.Event();a.on(c,"resize",a.fireResize,null,{buffer:100})}e.addListener(i,h,g)},fireResize:function(){var e=Ext.Element.getViewWidth(),g=Ext.Element.getViewHeight();if(a.curHeight!=g||a.curWidth!=e){a.curHeight=g;a.curWidth=e;a.resizeEvent.fire(e,g)}},removeResizeListener:function(h,g){var e=a.resizeEvent;if(e){e.removeListener(h,g)}},onWindowUnload:function(i,h,g){var e=a.unloadEvent;if(!e){a.unloadEvent=e=new Ext.util.Event();a.addListener(c,"unload",a.fireUnload)}if(i){e.addListener(i,h,g)}},fireUnload:function(){try{d=c=undefined;var m,h,k,j,g;a.unloadEvent.fire();if(Ext.isGecko3){m=Ext.ComponentQuery.query("gridview");h=0;k=m.length;for(;h=525:!((Ext.isGecko&&!Ext.isWindows)||Ext.isOpera),getKeyEvent:function(){return a.useKeyDown?"keydown":"keypress"}});if(!("addEventListener" in document)&&document.attachEvent){Ext.apply(a,{pollScroll:function(){var g=true;try{document.documentElement.doScroll("left")}catch(h){g=false}if(g&&document.body){a.onReadyEvent({type:"doScroll"})}else{a.scrollTimeout=setTimeout(a.pollScroll,20)}return g},scrollTimeout:null,readyStatesRe:/complete/i,checkReadyState:function(){var e=document.readyState;if(a.readyStatesRe.test(e)){a.onReadyEvent({type:e})}},bindReadyEvent:function(){var g=true;if(a.hasBoundOnReady){return}try{g=window.frameElement===undefined}catch(h){g=false}if(!g||!d.documentElement.doScroll){a.pollScroll=Ext.emptyFn}if(a.pollScroll()===true){return}if(d.readyState=="complete"){a.onReadyEvent({type:"already "+(d.readyState||"body")})}else{d.attachEvent("onreadystatechange",a.checkReadyState);window.attachEvent("onload",a.onReadyEvent);a.hasBoundOnReady=true}},onReadyEvent:function(g){if(g&&g.type){a.onReadyChain.push(g.type)}if(a.hasBoundOnReady){document.detachEvent("onreadystatechange",a.checkReadyState);window.detachEvent("onload",a.onReadyEvent)}if(Ext.isNumber(a.scrollTimeout)){clearTimeout(a.scrollTimeout);delete a.scrollTimeout}if(!Ext.isReady){a.fireDocReady()}},onReadyChain:[]})}Ext.onReady=function(h,g,e){Ext.Loader.onReady(h,g,true,e)};Ext.onDocumentReady=a.onDocumentReady;a.on=a.addListener;a.un=a.removeListener;Ext.onReady(b)};Ext.define("Ext.EventObjectImpl",{uses:["Ext.util.Point"],BACKSPACE:8,TAB:9,NUM_CENTER:12,ENTER:13,RETURN:13,SHIFT:16,CTRL:17,ALT:18,PAUSE:19,CAPS_LOCK:20,ESC:27,SPACE:32,PAGE_UP:33,PAGE_DOWN:34,END:35,HOME:36,LEFT:37,UP:38,RIGHT:39,DOWN:40,PRINT_SCREEN:44,INSERT:45,DELETE:46,ZERO:48,ONE:49,TWO:50,THREE:51,FOUR:52,FIVE:53,SIX:54,SEVEN:55,EIGHT:56,NINE:57,A:65,B:66,C:67,D:68,E:69,F:70,G:71,H:72,I:73,J:74,K:75,L:76,M:77,N:78,O:79,P:80,Q:81,R:82,S:83,T:84,U:85,V:86,W:87,X:88,Y:89,Z:90,CONTEXT_MENU:93,NUM_ZERO:96,NUM_ONE:97,NUM_TWO:98,NUM_THREE:99,NUM_FOUR:100,NUM_FIVE:101,NUM_SIX:102,NUM_SEVEN:103,NUM_EIGHT:104,NUM_NINE:105,NUM_MULTIPLY:106,NUM_PLUS:107,NUM_MINUS:109,NUM_PERIOD:110,NUM_DIVISION:111,F1:112,F2:113,F3:114,F4:115,F5:116,F6:117,F7:118,F8:119,F9:120,F10:121,F11:122,F12:123,WHEEL_SCALE:(function(){var a;if(Ext.isGecko){a=3}else{if(Ext.isMac){if(Ext.isSafari&&Ext.webKitVersion>=532){a=120}else{a=12}a*=3}else{a=120}}return a}()),clickRe:/(dbl)?click/,safariKeys:{3:13,63234:37,63235:39,63232:38,63233:40,63276:33,63277:34,63272:46,63273:36,63275:35},btnMap:Ext.isIE?{1:0,4:1,2:2}:{0:0,1:1,2:2},constructor:function(a,b){if(a){this.setEvent(a.browserEvent||a,b)}},setEvent:function(d,e){var c=this,b,a;if(d==c||(d&&d.browserEvent)){return d}c.browserEvent=d;if(d){b=d.button?c.btnMap[d.button]:(d.which?d.which-1:-1);if(c.clickRe.test(d.type)&&b==-1){b=0}a={type:d.type,button:b,shiftKey:d.shiftKey,ctrlKey:d.ctrlKey||d.metaKey||false,altKey:d.altKey,keyCode:d.keyCode,charCode:d.charCode,target:Ext.EventManager.getTarget(d),relatedTarget:Ext.EventManager.getRelatedTarget(d),currentTarget:d.currentTarget,xy:(e?c.getXY():null)}}else{a={button:-1,shiftKey:false,ctrlKey:false,altKey:false,keyCode:0,charCode:0,target:null,xy:[0,0]}}Ext.apply(c,a);return c},stopEvent:function(){this.stopPropagation();this.preventDefault()},preventDefault:function(){if(this.browserEvent){Ext.EventManager.preventDefault(this.browserEvent)}},stopPropagation:function(){var a=this.browserEvent;if(a){if(a.type=="mousedown"){Ext.EventManager.stoppedMouseDownEvent.fire(this)}Ext.EventManager.stopPropagation(a)}},getCharCode:function(){return this.charCode||this.keyCode},getKey:function(){return this.normalizeKey(this.keyCode||this.charCode)},normalizeKey:function(a){return Ext.isWebKit?(this.safariKeys[a]||a):a},getPageX:function(){return this.getX()},getPageY:function(){return this.getY()},getX:function(){return this.getXY()[0]},getY:function(){return this.getXY()[1]},getXY:function(){if(!this.xy){this.xy=Ext.EventManager.getPageXY(this.browserEvent)}return this.xy},getTarget:function(b,c,a){if(b){return Ext.fly(this.target).findParent(b,c,a)}return a?Ext.get(this.target):this.target},getRelatedTarget:function(b,c,a){if(b){return Ext.fly(this.relatedTarget).findParent(b,c,a)}return a?Ext.get(this.relatedTarget):this.relatedTarget},correctWheelDelta:function(c){var b=this.WHEEL_SCALE,a=Math.round(c/b);if(!a&&c){a=(c<0)?-1:1}return a},getWheelDeltas:function(){var d=this,c=d.browserEvent,b=0,a=0;if(Ext.isDefined(c.wheelDeltaX)){b=c.wheelDeltaX;a=c.wheelDeltaY}else{if(c.wheelDelta){a=c.wheelDelta}else{if(c.detail){a=-c.detail;if(a>100){a=3}else{if(a<-100){a=-3}}if(Ext.isDefined(c.axis)&&c.axis===c.HORIZONTAL_AXIS){b=a;a=0}}}}return{x:d.correctWheelDelta(b),y:d.correctWheelDelta(a)}},getWheelDelta:function(){var a=this.getWheelDeltas();return a.y},within:function(d,e,b){if(d){var c=e?this.getRelatedTarget():this.getTarget(),a;if(c){a=Ext.fly(d).contains(c);if(!a&&b){a=c==Ext.getDom(d)}return a}}return false},isNavKeyPress:function(){var b=this,a=this.normalizeKey(b.keyCode);return(a>=33&&a<=40)||a==b.RETURN||a==b.TAB||a==b.ESC},isSpecialKey:function(){var a=this.normalizeKey(this.keyCode);return(this.type=="keypress"&&this.ctrlKey)||this.isNavKeyPress()||(a==this.BACKSPACE)||(a>=16&&a<=20)||(a>=44&&a<=46)},getPoint:function(){var a=this.getXY();return new Ext.util.Point(a[0],a[1])},hasModifier:function(){return this.ctrlKey||this.altKey||this.shiftKey||this.metaKey},injectEvent:(function(){var d,e={},c;if(!Ext.isIE&&document.createEvent){d={createHtmlEvent:function(k,i,h,g){var j=k.createEvent("HTMLEvents");j.initEvent(i,h,g);return j},createMouseEvent:function(u,s,m,l,o,k,i,j,g,r,q,n,p){var h=u.createEvent("MouseEvents"),t=u.defaultView||window;if(h.initMouseEvent){h.initMouseEvent(s,m,l,t,o,k,i,k,i,j,g,r,q,n,p)}else{h=u.createEvent("UIEvents");h.initEvent(s,m,l);h.view=t;h.detail=o;h.screenX=k;h.screenY=i;h.clientX=k;h.clientY=i;h.ctrlKey=j;h.altKey=g;h.metaKey=q;h.shiftKey=r;h.button=n;h.relatedTarget=p}return h},createUIEvent:function(m,k,i,h,j){var l=m.createEvent("UIEvents"),g=m.defaultView||window;l.initUIEvent(k,i,h,g,j);return l},fireEvent:function(i,g,h){i.dispatchEvent(h)},fixTarget:function(g){if(g==window&&!g.dispatchEvent){return document}return g}}}else{if(document.createEventObject){c={0:1,1:4,2:2};d={createHtmlEvent:function(k,i,h,g){var j=k.createEventObject();j.bubbles=h;j.cancelable=g;return j},createMouseEvent:function(t,s,m,l,o,k,i,j,g,r,q,n,p){var h=t.createEventObject();h.bubbles=m;h.cancelable=l;h.detail=o;h.screenX=k;h.screenY=i;h.clientX=k;h.clientY=i;h.ctrlKey=j;h.altKey=g;h.shiftKey=r;h.metaKey=q;h.button=c[n]||n;h.relatedTarget=p;return h},createUIEvent:function(l,j,h,g,i){var k=l.createEventObject();k.bubbles=h;k.cancelable=g;return k},fireEvent:function(i,g,h){i.fireEvent("on"+g,h)},fixTarget:function(g){if(g==document){return document.documentElement}return g}}}}Ext.Object.each({load:[false,false],unload:[false,false],select:[true,false],change:[true,false],submit:[true,true],reset:[true,false],resize:[true,false],scroll:[true,false]},function(i,j){var h=j[0],g=j[1];e[i]=function(m,k){var l=d.createHtmlEvent(i,h,g);d.fireEvent(m,i,l)}});function b(i,h){var g=(i!="mousemove");return function(m,j){var l=j.getXY(),k=d.createMouseEvent(m.ownerDocument,i,true,g,h,l[0],l[1],j.ctrlKey,j.altKey,j.shiftKey,j.metaKey,j.button,j.relatedTarget);d.fireEvent(m,i,k)}}Ext.each(["click","dblclick","mousedown","mouseup","mouseover","mousemove","mouseout"],function(g){e[g]=b(g,1)});Ext.Object.each({focusin:[true,false],focusout:[true,false],activate:[true,true],focus:[false,false],blur:[false,false]},function(i,j){var h=j[0],g=j[1];e[i]=function(m,k){var l=d.createUIEvent(m.ownerDocument,i,h,g,1);d.fireEvent(m,i,l)}});if(!d){e={};d={fixTarget:function(g){return g}}}function a(h,g){}return function(j){var i=this,h=e[i.type]||a,g=j?(j.dom||j):i.getTarget();g=d.fixTarget(g);h(g,i)}}())},function(){Ext.EventObject=new Ext.EventObjectImpl()});Ext.define("Ext.dom.AbstractQuery",{select:function(k,b){var h=[],d,g,e,c,a;b=b||document;if(typeof b=="string"){b=document.getElementById(b)}k=k.split(",");for(g=0,c=k.length;g")}else{c.push(">");if((j=d.tpl)){j.applyOut(d.tplData,c)}if((j=d.html)){c.push(j)}if((j=d.cn||d.children)){h.generateMarkup(j,c)}g=h.closeTags;c.push(g[a]||(g[a]=""))}}}return c},generateStyles:function(e,c){var b=c||[],d;for(d in e){if(e.hasOwnProperty(d)){b.push(this.decamelizeName(d),":",e[d],";")}}return c||b.join("")},markup:function(a){if(typeof a=="string"){return a}var b=this.generateMarkup(a,[]);return b.join("")},applyStyles:function(d,e){if(e){var b=0,a,c;d=Ext.fly(d);if(typeof e=="function"){e=e.call()}if(typeof e=="string"){e=Ext.util.Format.trim(e).split(/\s*(?::|;)\s*/);for(a=e.length;b "'+g+'"'},insertBefore:function(a,c,b){return this.doInsert(a,c,b,"beforebegin")},insertAfter:function(a,c,b){return this.doInsert(a,c,b,"afterend","nextSibling")},insertFirst:function(a,c,b){return this.doInsert(a,c,b,"afterbegin","firstChild")},append:function(a,c,b){return this.doInsert(a,c,b,"beforeend","",true)},overwrite:function(a,c,b){a=Ext.getDom(a);a.innerHTML=this.markup(c);return b?Ext.get(a.firstChild):a.firstChild},doInsert:function(d,g,e,h,c,a){var b=this.insertHtml(h,Ext.getDom(d),this.markup(g));return e?Ext.get(b,true):b}});(function(){var a=window.document,b=/^\s+|\s+$/g,c=/\s/;if(!Ext.cache){Ext.cache={}}Ext.define("Ext.dom.AbstractElement",{inheritableStatics:{get:function(e){var g=this,h=Ext.dom.Element,d,j,i,k;if(!e){return null}if(typeof e=="string"){if(e==Ext.windowId){return h.get(window)}else{if(e==Ext.documentId){return h.get(a)}}d=Ext.cache[e];if(d&&d.skipGarbageCollection){j=d.el;return j}if(!(i=a.getElementById(e))){return null}if(d&&d.el){j=Ext.updateCacheEntry(d,i).el}else{j=new h(i,!!d)}return j}else{if(e.tagName){if(!(k=e.id)){k=Ext.id(e)}d=Ext.cache[k];if(d&&d.el){j=Ext.updateCacheEntry(d,e).el}else{j=new h(e,!!d)}return j}else{if(e instanceof g){if(e!=g.docEl&&e!=g.winEl){k=e.id;d=Ext.cache[k];if(d){Ext.updateCacheEntry(d,a.getElementById(k)||e.dom)}}return e}else{if(e.isComposite){return e}else{if(Ext.isArray(e)){return g.select(e)}else{if(e===a){if(!g.docEl){g.docEl=Ext.Object.chain(h.prototype);g.docEl.dom=a;g.docEl.id=Ext.id(a);g.addToCache(g.docEl)}return g.docEl}else{if(e===window){if(!g.winEl){g.winEl=Ext.Object.chain(h.prototype);g.winEl.dom=window;g.winEl.id=Ext.id(window);g.addToCache(g.winEl)}return g.winEl}}}}}}}return null},addToCache:function(d,e){if(d){Ext.addCacheEntry(e,d)}return d},addMethods:function(){this.override.apply(this,arguments)},mergeClsList:function(){var n,m={},k,d,g,l,e,o=[],h=false;for(k=0,d=arguments.length;kwindow.innerWidth)?"portrait":"landscape"},fromPoint:function(a,b){return Ext.get(document.elementFromPoint(a,b))},parseStyles:function(c){var a={},b=this.cssRe,d;if(c){b.lastIndex=0;while((d=b.exec(c))){a[d[1]]=d[2]}}return a}});(function(){var g=document,a=Ext.dom.AbstractElement,e=null,d=g.compatMode=="CSS1Compat",c,b=function(i){if(!c){c=new a.Fly()}c.attach(i);return c};if(!("activeElement" in g)&&g.addEventListener){g.addEventListener("focus",function(i){if(i&&i.target){e=(i.target==g)?null:i.target}},true)}function h(j,k,i){return function(){j.selectionStart=k;j.selectionEnd=i}}a.addInheritableStatics({getActiveElement:function(){return g.activeElement||e},getRightMarginFixCleaner:function(n){var k=Ext.supports,l=k.DisplayChangeInputSelectionBug,m=k.DisplayChangeTextAreaSelectionBug,o,i,p,j;if(l||m){o=g.activeElement||e;i=o&&o.tagName;if((m&&i=="TEXTAREA")||(l&&i=="INPUT"&&o.type=="text")){if(Ext.dom.Element.isAncestor(n,o)){p=o.selectionStart;j=o.selectionEnd;if(Ext.isNumber(p)&&Ext.isNumber(j)){return h(o,p,j)}}}}return Ext.emptyFn},getViewWidth:function(i){return i?Ext.dom.Element.getDocumentWidth():Ext.dom.Element.getViewportWidth()},getViewHeight:function(i){return i?Ext.dom.Element.getDocumentHeight():Ext.dom.Element.getViewportHeight()},getDocumentHeight:function(){return Math.max(!d?g.body.scrollHeight:g.documentElement.scrollHeight,Ext.dom.Element.getViewportHeight())},getDocumentWidth:function(){return Math.max(!d?g.body.scrollWidth:g.documentElement.scrollWidth,Ext.dom.Element.getViewportWidth())},getViewportHeight:function(){return Ext.isIE?(Ext.isStrict?g.documentElement.clientHeight:g.body.clientHeight):self.innerHeight},getViewportWidth:function(){return(!Ext.isStrict&&!Ext.isOpera)?g.body.clientWidth:Ext.isIE?g.documentElement.clientWidth:self.innerWidth},getY:function(i){return Ext.dom.Element.getXY(i)[1]},getX:function(i){return Ext.dom.Element.getXY(i)[0]},getXY:function(k){var n=g.body,j=g.documentElement,i=0,l=0,o=[0,0],r=Math.round,m,q;k=Ext.getDom(k);if(k!=g&&k!=n){if(Ext.isIE){try{m=k.getBoundingClientRect();l=j.clientTop||n.clientTop;i=j.clientLeft||n.clientLeft}catch(p){m={left:0,top:0}}}else{m=k.getBoundingClientRect()}q=b(document).getScroll();o=[r(m.left+q.left-i),r(m.top+q.top-l)]}return o},setXY:function(j,k){(j=Ext.fly(j,"_setXY")).position();var l=j.translatePoints(k),i=j.dom.style,m;for(m in l){if(!isNaN(l[m])){i[m]=l[m]+"px"}}},setX:function(j,i){Ext.dom.Element.setXY(j,[i,false])},setY:function(i,j){Ext.dom.Element.setXY(i,[false,j])},serializeForm:function(k){var l=k.elements||(document.forms[k]||Ext.getDom(k)).elements,v=false,u=encodeURIComponent,p="",n=l.length,q,i,t,x,w,r,m,s,j;for(r=0;rn){m=q?h.left-r:n-r}if(m<0){m=q?h.right:0}if(l+p>u){l=o?h.top-p:u-p}if(l<0){l=o?h.bottom:0}}return[m,l]},getAnchor:function(){var b=(this.$cache||this.getCache()).data,a;if(!this.dom){return}a=b._anchor;if(!a){a=b._anchor={}}return a},adjustForConstraints:function(c,b){var a=this.getConstrainVector(b,c);if(a){c[0]+=a[0];c[1]+=a[1]}return c}});Ext.dom.AbstractElement.addMethods({appendChild:function(a){return Ext.get(a).appendTo(this)},appendTo:function(a){Ext.getDom(a).appendChild(this.dom);return this},insertBefore:function(a){a=Ext.getDom(a);a.parentNode.insertBefore(this.dom,a);return this},insertAfter:function(a){a=Ext.getDom(a);a.parentNode.insertBefore(this.dom,a.nextSibling);return this},insertFirst:function(b,a){b=b||{};if(b.nodeType||b.dom||typeof b=="string"){b=Ext.getDom(b);this.dom.insertBefore(b,this.dom.firstChild);return !a?Ext.get(b):b}else{return this.createChild(b,this.dom.firstChild,a)}},insertSibling:function(b,g,j){var i=this,k=(g||"before").toLowerCase()=="after",d,a,c,h;if(Ext.isArray(b)){a=i;c=b.length;for(h=0;h1){g=[g,arguments[1]]}e=c.translatePoints(g);b=c.dom.style;for(d in e){if(!e.hasOwnProperty(d)){continue}if(!isNaN(e[d])){b[d]=e[d]+"px"}}return c},getLeft:function(b){return parseInt(this.getStyle("left"),10)||0},getRight:function(b){return parseInt(this.getStyle("right"),10)||0},getTop:function(b){return parseInt(this.getStyle("top"),10)||0},getBottom:function(b){return parseInt(this.getStyle("bottom"),10)||0},translatePoints:function(b,i){i=isNaN(b[1])?i:b[1];b=isNaN(b[0])?b:b[0];var e=this,g=e.isStyle("position","relative"),h=e.getXY(),c=parseInt(e.getStyle("left"),10),d=parseInt(e.getStyle("top"),10);c=!isNaN(c)?c:(g?0:e.dom.offsetLeft);d=!isNaN(d)?d:(g?0:e.dom.offsetTop);return{left:(b-h[0]+c),top:(i-h[1]+d)}},setBox:function(e){var d=this,c=e.width,b=e.height,h=e.top,g=e.left;if(g!==undefined){d.setLeft(g)}if(h!==undefined){d.setTop(h)}if(c!==undefined){d.setWidth(c)}if(b!==undefined){d.setHeight(b)}return this},getBox:function(i,m){var j=this,g=j.dom,d=g.offsetWidth,n=g.offsetHeight,p,h,e,c,o,k;if(!m){p=j.getXY()}else{if(i){p=[0,0]}else{p=[parseInt(j.getStyle("left"),10)||0,parseInt(j.getStyle("top"),10)||0]}}if(!i){h={x:p[0],y:p[1],0:p[0],1:p[1],width:d,height:n}}else{e=j.getBorderWidth.call(j,"l")+j.getPadding.call(j,"l");c=j.getBorderWidth.call(j,"r")+j.getPadding.call(j,"r");o=j.getBorderWidth.call(j,"t")+j.getPadding.call(j,"t");k=j.getBorderWidth.call(j,"b")+j.getPadding.call(j,"b");h={x:p[0]+e,y:p[1]+o,0:p[0]+e,1:p[1]+o,width:d-(e+c),height:n-(o+k)}}h.left=h.x;h.top=h.y;h.right=h.x+h.width;h.bottom=h.y+h.height;return h},getPageBox:function(g){var j=this,d=j.dom,m=d.offsetWidth,i=d.offsetHeight,o=j.getXY(),n=o[1],c=o[0]+m,k=o[1]+i,e=o[0];if(!d){return new Ext.util.Region()}if(g){return new Ext.util.Region(n,c,k,e)}else{return{left:e,top:n,width:m,height:i,right:c,bottom:k}}}})}());(function(){var q=Ext.dom.AbstractElement,o=document.defaultView,n=Ext.Array,m=/^\s+|\s+$/g,b=/\w/g,p=/\s+/,t=/^(?:transparent|(?:rgba[(](?:\s*\d+\s*[,]){3}\s*0\s*[)]))$/i,h=Ext.supports.ClassList,e="padding",d="margin",s="border",k="-left",r="-right",l="-top",c="-bottom",i="-width",j={l:s+k+i,r:s+r+i,t:s+l+i,b:s+c+i},g={l:e+k,r:e+r,t:e+l,b:e+c},a={l:d+k,r:d+r,t:d+l,b:d+c};q.override({styleHooks:{},addStyles:function(B,A){var w=0,z=(B||"").match(b),y,u=z.length,x,v=[];if(u==1){w=Math.abs(parseFloat(this.getStyle(A[z[0]]))||0)}else{if(u){for(y=0;y0?u:0},getWidth:function(u){var w=this.dom,v=u?(w.clientWidth-this.getPadding("lr")):w.offsetWidth;return v>0?v:0},setWidth:function(u){var v=this;v.dom.style.width=q.addUnits(u);return v},setHeight:function(u){var v=this;v.dom.style.height=q.addUnits(u);return v},getBorderWidth:function(u){return this.addStyles(u,j)},getPadding:function(u){return this.addStyles(u,g)},margins:a,applyStyles:function(w){if(w){var v,u,x=this.dom;if(typeof w=="function"){w=w.call()}if(typeof w=="string"){w=Ext.util.Format.trim(w).split(/\s*(?::|;)\s*/);for(v=0,u=w.length;v'+v+""):""});C=A.getSize();x.mask=E;if(w===document.body){C.height=window.innerHeight;if(A.orientationHandler){Ext.EventManager.unOrientationChange(A.orientationHandler,A)}A.orientationHandler=function(){C=A.getSize();C.height=window.innerHeight;E.setSize(C)};Ext.EventManager.onOrientationChange(A.orientationHandler,A)}E.setSize(C);if(Ext.is.iPad){Ext.repaint()}},unmask:function(){var v=this,x=(v.$cache||v.getCache()).data,u=x.mask,w=Ext.baseCSSPrefix;if(u){u.remove();delete x.mask}v.removeCls([w+"masked",w+"masked-relative"]);if(v.dom===document.body){Ext.EventManager.unOrientationChange(v.orientationHandler,v);delete v.orientationHandler}}});q.populateStyleMap=function(B,u){var A=["margin-","padding-","border-width-"],z=["before","after"],w,y,v,x;for(w=A.length;w--;){for(x=2;x--;){y=A[w]+z[x];B[q.normalize(y)]=B[y]={name:q.normalize(A[w]+u[x])}}}};Ext.onReady(function(){var C=Ext.supports,u,A,y,v,B;function z(H,E,G,D){var F=D[this.name]||"";return t.test(F)?"transparent":F}function x(J,G,I,F){var D=F.marginRight,E,H;if(D!="0px"){E=J.style;H=E.display;E.display="inline-block";D=(I?F:J.ownerDocument.defaultView.getComputedStyle(J,null)).marginRight;E.display=H}return D}function w(K,H,J,G){var D=G.marginRight,F,E,I;if(D!="0px"){F=K.style;E=q.getRightMarginFixCleaner(K);I=F.display;F.display="inline-block";D=(J?G:K.ownerDocument.defaultView.getComputedStyle(K,"")).marginRight;F.display=I;E()}return D}u=q.prototype.styleHooks;q.populateStyleMap(u,["left","right"]);if(C.init){C.init()}if(!C.RightMargin){u.marginRight=u["margin-right"]={name:"marginRight",get:(C.DisplayChangeInputSelectionBug||C.DisplayChangeTextAreaSelectionBug)?w:x}}if(!C.TransparentColor){A=["background-color","border-color","color","outline-color"];for(y=A.length;y--;){v=A[y];B=q.normalize(v);u[v]=u[B]={name:B,get:z}}}})}());Ext.dom.AbstractElement.override({findParent:function(h,b,a){var e=this.dom,c=document.documentElement,g=0,d;b=b||50;if(isNaN(b)){d=Ext.getDom(b);b=Number.MAX_VALUE}while(e&&e.nodeType==1&&g "+a,c.dom);return b?d:Ext.get(d)},parent:function(a,b){return this.matchNode("parentNode","parentNode",a,b)},next:function(a,b){return this.matchNode("nextSibling","nextSibling",a,b)},prev:function(a,b){return this.matchNode("previousSibling","previousSibling",a,b)},first:function(a,b){return this.matchNode("nextSibling","firstChild",a,b)},last:function(a,b){return this.matchNode("previousSibling","lastChild",a,b)},matchNode:function(b,e,a,c){if(!this.dom){return null}var d=this.dom[e];while(d){if(d.nodeType==1&&(!a||Ext.DomQuery.is(d,a))){return !c?Ext.get(d):d}d=d[b]}return null},isAncestor:function(a){return this.self.isAncestor.call(this.self,this.dom,a)}});(function(){var b="afterbegin",i="afterend",a="beforebegin",o="beforeend",l="",h="
",c=l+"",n=""+h,k=c+"",e=""+n,p=document.createElement("div"),m=["BeforeBegin","previousSibling"],j=["AfterEnd","nextSibling"],d={beforebegin:m,afterend:j},g={beforebegin:m,afterend:j,afterbegin:["AfterBegin","firstChild"],beforeend:["BeforeEnd","lastChild"]};Ext.define("Ext.dom.Helper",{extend:"Ext.dom.AbstractHelper",requires:["Ext.dom.AbstractElement"],tableRe:/^table|tbody|tr|td$/i,tableElRe:/td|tr|tbody/i,useDom:false,createDom:function(q,w){var r,z=document,u,x,s,y,v,t;if(Ext.isArray(q)){r=z.createDocumentFragment();for(v=0,t=q.length;v+~]\s?|\s|$)/,tagTokenRe=/^(#)?([\w\-\*\\]+)/,nthRe=/(\d*)n\+?(\d*)/,nthRe2=/\D/,startIdRe=/^\s*\#/,isIE=window.ActiveXObject?true:false,key=30803,longHex=/\\([0-9a-fA-F]{6})/g,shortHex=/\\([0-9a-fA-F]{1,6})\s{0,1}/g,nonHex=/\\([^0-9a-fA-F]{1})/g,escapes=/\\/g,num,hasEscapes,longHexToChar=function($0,$1){return String.fromCharCode(parseInt($1,16))},shortToLongHex=function($0,$1){while($1.length<6){$1="0"+$1}return"\\"+$1},charToLongHex=function($0,$1){num=$1.charCodeAt(0).toString(16);if(num.length===1){num="0"+num}return"\\0000"+num},unescapeCssSelector=function(selector){return(hasEscapes)?selector.replace(longHex,longHexToChar):selector},setupEscapes=function(path){hasEscapes=(path.indexOf("\\")>-1);if(hasEscapes){path=path.replace(shortHex,shortToLongHex).replace(nonHex,charToLongHex).replace(escapes,"\\\\")}return path};eval("var batch = 30803;");function child(parent,index){var i=0,n=parent.firstChild;while(n){if(n.nodeType==1){if(++i==index){return n}}n=n.nextSibling}return null}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(parent){var n=parent.firstChild,nodeIndex=-1,nextNode;while(n){nextNode=n.nextSibling;if(n.nodeType==3&&!nonSpace.test(n.nodeValue)){parent.removeChild(n)}else{n.nodeIndex=++nodeIndex}n=nextNode}return this}function byClassName(nodeSet,cls){cls=unescapeCssSelector(cls);if(!cls){return nodeSet}var result=[],ri=-1,i,ci;for(i=0,ci;ci=nodeSet[i];i++){if((" "+ci.className+" ").indexOf(cls)!=-1){result[++ri]=ci}}return result}function attrValue(n,attr){if(!n.tagName&&typeof n.length!="undefined"){n=n[0]}if(!n){return null}if(attr=="for"){return n.htmlFor}if(attr=="class"||attr=="className"){return n.className}return n.getAttribute(attr)||n[attr]}function getNodes(ns,mode,tagName){var result=[],ri=-1,cs,i,ni,j,ci,cn,utag,n,cj;if(!ns){return result}tagName=tagName||"*";if(typeof ns.getElementsByTagName!="undefined"){ns=[ns]}if(!mode){for(i=0,ni;ni=ns[i];i++){cs=ni.getElementsByTagName(tagName);for(j=0,ci;ci=cs[j];j++){result[++ri]=ci}}}else{if(mode=="/"||mode==">"){utag=tagName.toUpperCase();for(i=0,ni,cn;ni=ns[i];i++){cn=ni.childNodes;for(j=0,cj;cj=cn[j];j++){if(cj.nodeName==utag||cj.nodeName==tagName||tagName=="*"){result[++ri]=cj}}}}else{if(mode=="+"){utag=tagName.toUpperCase();for(i=0,n;n=ns[i];i++){while((n=n.nextSibling)&&n.nodeType!=1){}if(n&&(n.nodeName==utag||n.nodeName==tagName||tagName=="*")){result[++ri]=n}}}else{if(mode=="~"){utag=tagName.toUpperCase();for(i=0,n;n=ns[i];i++){while((n=n.nextSibling)){if(n.nodeName==utag||n.nodeName==tagName||tagName=="*"){result[++ri]=n}}}}}}}return result}function concat(a,b){if(b.slice){return a.concat(b)}for(var i=0,l=b.length;i1){return nodup(results)}return results},isXml:function(el){var docEl=(el?el.ownerDocument||el:0).documentElement;return docEl?docEl.nodeName!=="HTML":false},select:document.querySelectorAll?function(path,root,type){root=root||document;if(!Ext.DomQuery.isXml(root)){try{if(root.parentNode&&(root.nodeType!==9)&&path.indexOf(",")===-1&&!startIdRe.test(path)){path="#"+Ext.escapeId(Ext.id(root))+" "+path;root=root.parentNode}return Ext.Array.toArray(root.querySelectorAll(path))}catch(e){}}return Ext.DomQuery.jsSelect.call(this,path,root,type)}:function(path,root,type){return Ext.DomQuery.jsSelect.call(this,path,root,type)},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")}else{setupEscapes(path)}var n=valueCache[path](root),v;n=n[0]?n[0]:n;if(typeof n.normalize=="function"){n.normalize()}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),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")}else{setupEscapes(ss)}var result=simpleCache[ss](els);return nonMatches?quickDiff(result,els):result},matchers:[{re:/^\.([\w\-\\]+)/,select:'n = byClassName(n, " {1} ");'},{re:/^\:([\w\-]+)(?:\(((?:[^\s>\/]*|.*?))\))?/,select:'n = byPseudo(n, "{1}", "{2}");'},{re:/^(?:([\[\{])(?:@)?([\w\-]+)\s?(?:(=|.=)\s?['"]?(.*?)["']?)?[\]\}])/,select:'n = byAttribute(n, "{2}", "{4}", "{3}", "{1}");'},{re:/^#([\w\-\\]+)/,select:'n = byId(n, "{1}");'},{re:/^@([\w\-]+)/,select:'return {firstChild:{nodeValue:attrValue(n, "{1}")}};'}],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,i,ci;for(i=0;(ci=n=c[i]);i++){while((n=n.previousSibling)&&n.nodeType!=1){}if(!n){r[++ri]=ci}}return r},"last-child":function(c){var r=[],ri=-1,n,i,ci;for(i=0;(ci=n=c[i]);i++){while((n=n.nextSibling)&&n.nodeType!=1){}if(!n){r[++ri]=ci}}return r},"nth-child":function(c,a){var r=[],ri=-1,m=nthRe.exec(a=="even"&&"2n"||a=="odd"&&"2n+1"||!nthRe2.test(a)&&"n+"+a||a),f=(m[1]||1)-0,l=m[2]-0,i,n,j,cn,pn;for(i=0;n=c[i];i++){pn=n.parentNode;if(batch!=pn._batch){j=0;for(cn=pn.firstChild;cn;cn=cn.nextSibling){if(cn.nodeType==1){cn.nodeIndex=++j}}pn._batch=batch}if(f==1){if(l==0||n.nodeIndex==l){r[++ri]=n}}else{if((n.nodeIndex+l)%f==0){r[++ri]=n}}}return r},"only-child":function(c){var r=[],ri=-1,i,ci;for(i=0;ci=c[i];i++){if(!prev(ci)&&!next(ci)){r[++ri]=ci}}return r},empty:function(c){var r=[],ri=-1,i,ci,cns,j,cn,empty;for(i=0,ci;ci=c[i];i++){cns=ci.childNodes;j=0;empty=true;while(cn=cns[j]){++j;if(cn.nodeType==1||cn.nodeType==3){empty=false;break}}if(empty){r[++ri]=ci}}return r},contains:function(c,v){var r=[],ri=-1,i,ci;for(i=0;ci=c[i];i++){if((ci.textContent||ci.innerText||ci.text||"").indexOf(v)!=-1){r[++ri]=ci}}return r},nodeValue:function(c,v){var r=[],ri=-1,i,ci;for(i=0;ci=c[i];i++){if(ci.firstChild&&ci.firstChild.nodeValue==v){r[++ri]=ci}}return r},checked:function(c){var r=[],ri=-1,i,ci;for(i=0;ci=c[i];i++){if(ci.checked==true){r[++ri]=ci}}return r},not:function(c,ss){return Ext.DomQuery.filter(c,ss,true)},any:function(c,selectors){var ss=selectors.split("|"),r=[],ri=-1,s,i,ci,j;for(i=0;ci=c[i];i++){for(j=0;s=ss[j];j++){if(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,r=[],ri=-1,i,ci;for(i=0;ci=c[i];i++){if(s(ss,ci).length>0){r[++ri]=ci}}return r},next:function(c,ss){var is=Ext.DomQuery.is,r=[],ri=-1,i,ci,n;for(i=0;ci=c[i];i++){n=next(ci);if(n&&is(n,ss)){r[++ri]=ci}}return r},prev:function(c,ss){var is=Ext.DomQuery.is,r=[],ri=-1,i,ci,n;for(i=0;ci=c[i];i++){n=prev(ci);if(n&&is(n,ss)){r[++ri]=ci}}return r}}}}());Ext.query=Ext.DomQuery.select;(function(){var HIDDEN="hidden",DOC=document,VISIBILITY="visibility",DISPLAY="display",NONE="none",XMASKED=Ext.baseCSSPrefix+"masked",XMASKEDRELATIVE=Ext.baseCSSPrefix+"masked-relative",EXTELMASKMSG=Ext.baseCSSPrefix+"mask-msg",bodyRe=/^body/i,visFly,noBoxAdjust=Ext.isStrict?{select:1}:{input:1,select:1,textarea:1},isScrolled=function(c){var r=[],ri=-1,i,ci;for(i=0;ci=c[i];i++){if(ci.scrollTop>0||ci.scrollLeft>0){r[++ri]=ci}}return r},Element=Ext.define("Ext.dom.Element",{extend:"Ext.dom.AbstractElement",alternateClassName:["Ext.Element","Ext.core.Element"],addUnits:function(){return this.self.addUnits.apply(this.self,arguments)},focus:function(defer,dom){var me=this,scrollTop,body;dom=dom||me.dom;body=(dom.ownerDocument||DOC).body||DOC.body;try{if(Number(defer)){Ext.defer(me.focus,defer,me,[null,dom])}else{if(dom.offsetHeight>Element.getViewHeight()){scrollTop=body.scrollTop}dom.focus();if(scrollTop!==undefined){body.scrollTop=scrollTop}}}catch(e){}return me},blur:function(){try{this.dom.blur()}catch(e){}return this},isBorderBox:function(){var box=Ext.isBorderBox;if(box){box=!((this.dom.tagName||"").toLowerCase() in noBoxAdjust)}return box},hover:function(overFn,outFn,scope,options){var me=this;me.on("mouseenter",overFn,scope||me.dom,options);me.on("mouseleave",outFn,scope||me.dom,options);return me},getAttributeNS:function(ns,name){return this.getAttribute(name,ns)},getAttribute:(Ext.isIE&&!(Ext.isIE9&&DOC.documentMode===9))?function(name,ns){var d=this.dom,type;if(ns){type=typeof d[ns+":"+name];if(type!="undefined"&&type!="unknown"){return d[ns+":"+name]||null}return null}if(name==="for"){name="htmlFor"}return d[name]||null}:function(name,ns){var d=this.dom;if(ns){return d.getAttributeNS(ns,name)||d.getAttribute(ns+":"+name)}return d.getAttribute(name)||d[name]||null},cacheScrollValues:function(){var me=this,scrolledDescendants,el,i,scrollValues=[],result=function(){for(i=0;i]*)?>)((\n|\r|.)*?)(?:<\/script>)/ig,replaceScriptTagRe=/(?:)((\n|\r|.)*?)(?:<\/script>)/ig,srcRe=/\ssrc=([\'\"])(.*?)\1/i,typeRe=/\stype=([\'\"])(.*?)\1/i,useDocForId=!(Ext.isIE6||Ext.isIE7||Ext.isIE8);El.boxMarkup='
';function garbageCollect(){if(!Ext.enableGarbageCollector){clearInterval(El.collectorThreadId)}else{var eid,d,o,t;for(eid in EC){if(!EC.hasOwnProperty(eid)){continue}o=EC[eid];if(o.skipGarbageCollection){continue}d=o.dom;if(!d.parentNode||(!d.offsetParent&&!Ext.getElementById(eid))){if(d&&Ext.enableListenerCollection){Ext.EventManager.removeAll(d)}delete EC[eid]}}if(Ext.isIE){t={};for(eid in EC){if(!EC.hasOwnProperty(eid)){continue}t[eid]=EC[eid]}EC=Ext.cache=t}}}El.collectorThreadId=setInterval(garbageCollect,30000);El.addMethods({monitorMouseLeave:function(delay,handler,scope){var me=this,timer,listeners={mouseleave:function(e){timer=setTimeout(Ext.Function.bind(handler,scope||me,[e]),delay)},mouseenter:function(){clearTimeout(timer)},freezeEvent:true};me.on(listeners);return listeners},swallowEvent:function(eventName,preventDefault){var me=this,e,eLen;function fn(e){e.stopPropagation();if(preventDefault){e.preventDefault()}}if(Ext.isArray(eventName)){eLen=eventName.length;for(e=0;e';interval=setInterval(function(){var hd,match,attrs,srcMatch,typeMatch,el,s;if(!(el=DOC.getElementById(id))){return false}clearInterval(interval);Ext.removeNode(el);hd=Ext.getHead().dom;while((match=scriptTagRe.exec(html))){attrs=match[1];srcMatch=attrs?attrs.match(srcRe):false;if(srcMatch&&srcMatch[2]){s=DOC.createElement("script");s.src=srcMatch[2];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])}}}}Ext.callback(callback,me)},20);dom.innerHTML=html.replace(replaceScriptTagRe,"");return me},removeAllListeners:function(){this.removeAnchor();Ext.EventManager.removeAll(this.dom);return this},createProxy:function(config,renderTo,matchBox){config=(typeof config=="object")?config:{tag:"div",cls:config};var me=this,proxy=renderTo?Ext.DomHelper.append(renderTo,config,true):Ext.DomHelper.insertBefore(me.dom,config,true);proxy.setVisibilityMode(Element.DISPLAY);proxy.hide();if(matchBox&&me.setBox&&me.getBox){proxy.setBox(me.getBox())}return proxy},getScopeParent:function(){var parent=this.dom.parentNode;if(Ext.scopeResetCSS){parent=parent.parentNode;if(!Ext.supports.CSS3LinearGradient||!Ext.supports.CSS3BorderRadius){parent=parent.parentNode}}return parent},needsTabIndex:function(){if(this.dom){if((this.dom.nodeName==="a")&&(!this.dom.href)){return true}return !focusRe.test(this.dom.nodeName)}},focusable:function(){var dom=this.dom,nodeName=dom.nodeName,canFocus=false;if(!dom.disabled){if(focusRe.test(nodeName)){if((nodeName!=="a")||dom.href){canFocus=true}}else{canFocus=!isNaN(dom.tabIndex)}}return canFocus&&this.isVisible(true)}});if(Ext.isIE){El.prototype.getById=function(id,asDom){var dom=this.dom,cacheItem,el,ret;if(dom){el=(useDocForId&&DOC.getElementById(id))||dom.all[id];if(el){if(asDom){ret=el}else{cacheItem=EC[id];if(cacheItem&&cacheItem.el){ret=Ext.updateCacheEntry(cacheItem,el).el}else{ret=new Element(el)}}return ret}}return asDom?Ext.getDom(id):El.get(id)}}El.createAlias({addListener:"on",removeListener:"un",clearListeners:"removeAllListeners"});El.Fly=AbstractElement.Fly=new Ext.Class({extend:El,constructor:function(dom){this.dom=dom},attach:AbstractElement.Fly.prototype.attach});if(Ext.isIE){Ext.getElementById=function(id){var el=DOC.getElementById(id),detachedBodyEl;if(!el&&(detachedBodyEl=AbstractElement.detachedBodyEl)){el=detachedBodyEl.dom.all[id]}return el}}else{if(!DOC.querySelector){Ext.getDetachedBody=Ext.getBody;Ext.getElementById=function(id){return DOC.getElementById(id)}}}})}());Ext.dom.Element.override((function(){var d=document,c=window,a=/^([a-z]+)-([a-z]+)(\?)?$/,b=Math.round;return{getAnchorXY:function(j,o,h){j=(j||"tl").toLowerCase();h=h||{};var m=this,i=m.dom==d.body||m.dom==d,e=h.width||i?Ext.dom.Element.getViewWidth():m.getWidth(),g=h.height||i?Ext.dom.Element.getViewHeight():m.getHeight(),q,n=m.getXY(),p=m.getScroll(),l=i?p.left:!o?n[0]:0,k=i?p.top:!o?n[1]:0;switch(j){case"tl":q=[0,0];break;case"bl":q=[0,g];break;case"tr":q=[e,0];break;case"c":q=[b(e*0.5),b(g*0.5)];break;case"t":q=[b(e*0.5),0];break;case"l":q=[0,b(g*0.5)];break;case"r":q=[e,b(g*0.5)];break;case"b":q=[b(e*0.5),g];break;case"br":q=[e,g]}return[q[0]+l,q[1]+k]},getAlignToXY:function(m,G,j){m=Ext.get(m);if(!m||!m.dom){}j=j||[0,0];G=(!G||G=="?"?"tl-bl?":(!(/-/).test(G)&&G!==""?"tl-"+G:G||"tl-bl")).toLowerCase();var H=this,l,w,q,o,k,z,A,E=Ext.dom.Element.getViewWidth()-10,i=Ext.dom.Element.getViewHeight()-10,g,h,n,p,u,v,F=d.documentElement,s=d.body,D=(F.scrollLeft||s.scrollLeft||0),B=(F.scrollTop||s.scrollTop||0),C,t,r,e=G.match(a);t=e[1];r=e[2];C=!!e[3];l=H.getAnchorXY(t,true);w=m.getAnchorXY(r,false);q=w[0]-l[0]+j[0];o=w[1]-l[1]+j[1];if(C){k=H.getWidth();z=H.getHeight();A=m.getRegion();g=t.charAt(0);h=t.charAt(t.length-1);n=r.charAt(0);p=r.charAt(r.length-1);u=((g=="t"&&n=="b")||(g=="b"&&n=="t"));v=((h=="r"&&p=="l")||(h=="l"&&p=="r"));if(q+k>E+D){q=v?A.left-k:E+D-k}if(qi+B){o=u?A.top-z:i+B-z}if(oi.right){h=true;e[0]=(i.right-k.right)}if(k.left+e[0]i.bottom){h=true;e[1]=(i.bottom-k.bottom)}if(k.top+e[1]a.clientHeight||a.scrollWidth>a.clientWidth},getScroll:function(){var i=this.dom,h=document,a=h.body,c=h.documentElement,b,g,e;if(i==h||i==a){if(Ext.isIE&&Ext.isStrict){b=c.scrollLeft;g=c.scrollTop}else{b=window.pageXOffset;g=window.pageYOffset}e={left:b||(a?a.scrollLeft:0),top:g||(a?a.scrollTop:0)}}else{e={left:i.scrollLeft,top:i.scrollTop}}return e},scrollBy:function(b,a,c){var d=this,e=d.dom;if(b.length){c=a;a=b[1];b=b[0]}else{if(typeof b!="number"){c=a;a=b.y;b=b.x}}if(b){d.scrollTo("left",Math.max(Math.min(e.scrollLeft+b,e.scrollWidth-e.clientWidth),0),c)}if(a){d.scrollTo("top",Math.max(Math.min(e.scrollTop+a,e.scrollHeight-e.clientHeight),0),c)}return d},scrollTo:function(c,e,a){var g=/top/i.test(c),d=this,h=d.dom,b,i;if(!a||!d.anim){i="scroll"+(g?"Top":"Left");h[i]=e;h[i]=e}else{b={to:{}};b.to["scroll"+(g?"Top":"Left")]=e;if(Ext.isObject(a)){Ext.applyIf(b,a)}d.animate(b)}return d},scrollIntoView:function(b,g,c){b=Ext.getDom(b)||Ext.getBody().dom;var d=this.dom,i=this.getOffsetsTo(b),h=i[0]+b.scrollLeft,l=i[1]+b.scrollTop,a=l+d.offsetHeight,m=h+d.offsetWidth,p=b.clientHeight,o=parseInt(b.scrollTop,10),e=parseInt(b.scrollLeft,10),j=o+p,n=e+b.clientWidth,k;if(d.offsetHeight>p||lj){k=a-p}}if(k!=null){Ext.get(b).scrollTo("top",k,c)}if(g!==false){k=null;if(d.offsetWidth>b.clientWidth||hn){k=m-b.clientWidth}}if(k!=null){Ext.get(b).scrollTo("left",k,c)}}return this},scrollChildIntoView:function(b,a){Ext.fly(b,"_scrollChildIntoView").scrollIntoView(this,a)},scroll:function(m,b,d){if(!this.isScrollable()){return false}var e=this.dom,g=e.scrollLeft,p=e.scrollTop,n=e.scrollWidth,k=e.scrollHeight,i=e.clientWidth,a=e.clientHeight,c=false,o,j={l:Math.min(g+b,n-i),r:o=Math.max(g-b,0),t:Math.max(p-b,0),b:Math.min(p+b,k-a)};j.d=j.b;j.u=j.t;m=m.substr(0,1);if((o=j[m])>-1){c=true;this.scrollTo(m=="l"||m=="r"?"left":"top",o,this.anim(d))}return c}});(function(){var p=Ext.dom.Element,m=document.defaultView,n=/table-row|table-.*-group/,a="_internal",r="hidden",o="height",g="width",e="isClipped",i="overflow",l="overflow-x",j="overflow-y",s="originalClip",b=/#document|body/i,t,d,q,h,u;if(!m||!m.getComputedStyle){p.prototype.getStyle=function(z,y){var L=this,G=L.dom,J=typeof z!="string",k=L.styleHooks,w=z,x=w,F=1,B=y,K,C,v,A,E,H,D;if(J){v={};w=x[0];D=0;if(!(F=x.length)){return v}}if(!G||G.documentElement){return v||""}C=G.style;if(y){H=C}else{H=G.currentStyle;if(!H){B=true;H=C}}do{A=k[w];if(!A){k[w]=A={name:p.normalize(w)}}if(A.get){E=A.get(G,L,B,H)}else{K=A.name;if(A.canThrow){try{E=H[K]}catch(I){E=""}}else{E=H?H[K]:""}}if(!J){return E}v[w]=E;w=x[++D]}while(D0&&A<0.5){k++}}}if(x){k-=w.getBorderWidth("tb")+w.getPadding("tb")}return(k<0)?0:k},getWidth:function(k,z){var x=this,A=x.dom,y=x.isStyle("display","none"),w,v,B;if(y){return 0}if(Ext.supports.BoundingClientRect){w=A.getBoundingClientRect();v=w.right-w.left;v=z?v:Math.ceil(v)}else{v=A.offsetWidth}v=Math.max(v,A.clientWidth)||0;if(Ext.supports.Direct2DBug){B=x.adjustDirect2DDimension(g);if(z){v+=B}else{if(B>0&&B<0.5){v++}}}if(k){v-=x.getBorderWidth("lr")+x.getPadding("lr")}return(v<0)?0:v},setWidth:function(v,k){var w=this;v=w.adjustWidth(v);if(!k||!w.anim){w.dom.style.width=w.addUnits(v)}else{if(!Ext.isObject(k)){k={}}w.animate(Ext.applyIf({to:{width:v}},k))}return w},setHeight:function(k,v){var w=this;k=w.adjustHeight(k);if(!v||!w.anim){w.dom.style.height=w.addUnits(k)}else{if(!Ext.isObject(v)){v={}}w.animate(Ext.applyIf({to:{height:k}},v))}return w},applyStyles:function(k){Ext.DomHelper.applyStyles(this.dom,k);return this},setSize:function(w,k,v){var x=this;if(Ext.isObject(w)){v=k;k=w.height;w=w.width}w=x.adjustWidth(w);k=x.adjustHeight(k);if(!v||!x.anim){x.dom.style.width=x.addUnits(w);x.dom.style.height=x.addUnits(k)}else{if(v===true){v={}}x.animate(Ext.applyIf({to:{width:w,height:k}},v))}return x},getViewSize:function(){var w=this,x=w.dom,v=b.test(x.nodeName),k;if(v){k={width:p.getViewWidth(),height:p.getViewHeight()}}else{k={width:x.clientWidth,height:x.clientHeight}}return k},getSize:function(k){return{width:this.getWidth(k),height:this.getHeight(k)}},adjustWidth:function(k){var v=this,w=(typeof k=="number");if(w&&v.autoBoxAdjust&&!v.isBorderBox()){k-=(v.getBorderWidth("lr")+v.getPadding("lr"))}return(w&&k<0)?0:k},adjustHeight:function(k){var v=this,w=(typeof k=="number");if(w&&v.autoBoxAdjust&&!v.isBorderBox()){k-=(v.getBorderWidth("tb")+v.getPadding("tb"))}return(w&&k<0)?0:k},getColor:function(w,x,C){var z=this.getStyle(w),y=C||C===""?C:"#",B,k,A=0;if(!z||(/transparent|inherit/.test(z))){return x}if(/^r/.test(z)){z=z.slice(4,z.length-1).split(",");k=z.length;for(;A5?y.toLowerCase():x)},setOpacity:function(v,k){var w=this;if(!w.dom){return w}if(!k||!w.anim){w.setStyle("opacity",v)}else{if(typeof k!="object"){k={duration:350,easing:"ease-in"}}w.animate(Ext.applyIf({to:{opacity:v}},k))}return w},clearOpacity:function(){return this.setOpacity("")},adjustDirect2DDimension:function(w){var B=this,v=B.dom,z=B.getStyle("display"),y=v.style.display,C=v.style.position,A=w===g?0:1,k=v.currentStyle,x;if(z==="inline"){v.style.display="inline-block"}v.style.position=z.match(n)?"absolute":"static";x=(parseFloat(k[w])||parseFloat(k.msTransformOrigin.split(" ")[A])*2)%1;v.style.position=C;if(z==="inline"){v.style.display=y}return x},clip:function(){var v=this,w=(v.$cache||v.getCache()).data,k;if(!w[e]){w[e]=true;k=v.getStyle([i,l,j]);w[s]={o:k[i],x:k[l],y:k[j]};v.setStyle(i,r);v.setStyle(l,r);v.setStyle(j,r)}return v},unclip:function(){var v=this,w=(v.$cache||v.getCache()).data,k;if(w[e]){w[e]=false;k=w[s];if(k.o){v.setStyle(i,k.o)}if(k.x){v.setStyle(l,k.x)}if(k.y){v.setStyle(j,k.y)}}return v},boxWrap:function(k){k=k||Ext.baseCSSPrefix+"box";var v=Ext.get(this.insertHtml("beforeBegin","
"+Ext.String.format(p.boxMarkup,k)+"
"));Ext.DomQuery.selectNode("."+k+"-mc",v.dom).appendChild(this.dom);return v},getComputedHeight:function(){var v=this,k=Math.max(v.dom.offsetHeight,v.dom.clientHeight);if(!k){k=parseFloat(v.getStyle(o))||0;if(!v.isBorderBox()){k+=v.getFrameWidth("tb")}}return k},getComputedWidth:function(){var v=this,k=Math.max(v.dom.offsetWidth,v.dom.clientWidth);if(!k){k=parseFloat(v.getStyle(g))||0;if(!v.isBorderBox()){k+=v.getFrameWidth("lr")}}return k},getFrameWidth:function(v,k){return(k&&this.isBorderBox())?0:(this.getPadding(v)+this.getBorderWidth(v))},addClsOnOver:function(w,z,v){var x=this,y=x.dom,k=Ext.isFunction(z);x.hover(function(){if(k&&z.call(v||x,x)===false){return}Ext.fly(y,a).addCls(w)},function(){Ext.fly(y,a).removeCls(w)});return x},addClsOnFocus:function(w,z,v){var x=this,y=x.dom,k=Ext.isFunction(z);x.on("focus",function(){if(k&&z.call(v||x,x)===false){return false}Ext.fly(y,a).addCls(w)});x.on("blur",function(){Ext.fly(y,a).removeCls(w)});return x},addClsOnClick:function(w,z,v){var x=this,y=x.dom,k=Ext.isFunction(z);x.on("mousedown",function(){if(k&&z.call(v||x,x)===false){return false}Ext.fly(y,a).addCls(w);var B=Ext.getDoc(),A=function(){Ext.fly(y,a).removeCls(w);B.removeListener("mouseup",A)};B.on("mouseup",A)});return x},getStyleSize:function(){var z=this,A=this.dom,v=b.test(A.nodeName),y,k,x;if(v){return{width:p.getViewWidth(),height:p.getViewHeight()}}y=z.getStyle([o,g],true);if(y.width&&y.width!="auto"){k=parseFloat(y.width);if(z.isBorderBox()){k-=z.getFrameWidth("lr")}}if(y.height&&y.height!="auto"){x=parseFloat(y.height);if(z.isBorderBox()){x-=z.getFrameWidth("tb")}}return{width:k||z.getWidth(true),height:x||z.getHeight(true)}},selectable:function(){var k=this;k.dom.unselectable="off";k.on("selectstart",function(v){v.stopPropagation();return true});k.applyStyles("-moz-user-select: text; -khtml-user-select: text;");k.removeCls(Ext.baseCSSPrefix+"unselectable");return k},unselectable:function(){var k=this;k.dom.unselectable="on";k.swallowEvent("selectstart",true);k.applyStyles("-moz-user-select:-moz-none;-khtml-user-select:none;");k.addCls(Ext.baseCSSPrefix+"unselectable");return k}});p.prototype.styleHooks=t=Ext.dom.AbstractElement.prototype.styleHooks;if(Ext.isIE6||Ext.isIE7){t.fontSize=t["font-size"]={name:"fontSize",canThrow:true};t.fontStyle=t["font-style"]={name:"fontStyle",canThrow:true};t.fontFamily=t["font-family"]={name:"fontFamily",canThrow:true}}if(Ext.isIEQuirks||Ext.isIE&&Ext.ieVersion<=8){function c(x,v,w,k){if(k[this.styleName]=="none"){return"0px"}return k[this.name]}d=["Top","Right","Bottom","Left"];q=d.length;while(q--){h=d[q];u="border"+h+"Width";t["border-"+h.toLowerCase()+"-width"]=t[u]={name:u,styleName:"border"+h+"Style",get:c}}}}());Ext.onReady(function(){var c=/alpha\(opacity=(.*)\)/i,b=/^\s+|\s+$/g,a=Ext.dom.Element.prototype.styleHooks;a.opacity={name:"opacity",afterSet:function(g,e,d){if(d.isLayer){d.onOpacitySet(e)}}};if(!Ext.supports.Opacity&&Ext.isIE){Ext.apply(a.opacity,{get:function(h){var g=h.style.filter,e,d;if(g.match){e=g.match(c);if(e){d=parseFloat(e[1]);if(!isNaN(d)){return d?d/100:0}}}return 1},set:function(h,e){var d=h.style,g=d.filter.replace(c,"").replace(b,"");d.zoom=1;if(typeof(e)=="number"&&e>=0&&e<1){e*=100;d.filter=g+(g.length?" ":"")+"alpha(opacity="+e+")"}else{d.filter=g}}})}});Ext.dom.Element.override({select:function(a){return Ext.dom.Element.select(a,false,this.dom)}});Ext.define("Ext.dom.CompositeElementLite",{alternateClassName:"Ext.CompositeElementLite",requires:["Ext.dom.Element","Ext.dom.Query"],statics:{importElementMethods:function(){var b,c=Ext.dom.Element.prototype,a=this.prototype;for(b in c){if(typeof c[b]=="function"){(function(d){a[d]=a[d]||function(){return this.invoke(d,arguments)}}).call(a,b)}}}},constructor:function(b,a){this.elements=[];this.add(b,a);this.el=new Ext.dom.AbstractElement.Fly()},isComposite:true,getElement:function(a){return this.el.attach(a)},transformElement:function(a){return Ext.getDom(a)},getCount:function(){return this.elements.length},add:function(c,a){var e=this.elements,b,d;if(!c){return this}if(typeof c=="string"){c=Ext.dom.Element.selectorFunction(c,a)}else{if(c.isComposite){c=c.elements}else{if(!Ext.isIterable(c)){c=[c]}}}for(b=0,d=c.length;b-1){c=Ext.getDom(c);if(a){g=this.elements[b];g.parentNode.insertBefore(c,g);Ext.removeNode(g)}Ext.Array.splice(this.elements,b,1,c)}return this},clear:function(){this.elements=[]},addElements:function(d,b){if(!d){return this}if(typeof d=="string"){d=Ext.dom.Element.selectorFunction(d,b)}var c=this.elements,a=d.length,g;for(g=0;g','
{parent.baseCls}-{parent.ui}-{.}-tl" style="background-position: {tl}; padding-left: {frameWidth}px" role="presentation">','
{parent.baseCls}-{parent.ui}-{.}-tr" style="background-position: {tr}; padding-right: {frameWidth}px" role="presentation">','
{parent.baseCls}-{parent.ui}-{.}-tc" style="background-position: {tc}; height: {frameWidth}px" role="presentation">
','
','
',"",'
{parent.baseCls}-{parent.ui}-{.}-ml" style="background-position: {ml}; padding-left: {frameWidth}px" role="presentation">','
{parent.baseCls}-{parent.ui}-{.}-mr" style="background-position: {mr}; padding-right: {frameWidth}px" role="presentation">','
{parent.baseCls}-{parent.ui}-{.}-mc" role="presentation">',"{%this.applyRenderTpl(out, values)%}","
",'
','
','','
{parent.baseCls}-{parent.ui}-{.}-bl" style="background-position: {bl}; padding-left: {frameWidth}px" role="presentation">','
{parent.baseCls}-{parent.ui}-{.}-br" style="background-position: {br}; padding-right: {frameWidth}px" role="presentation">','
{parent.baseCls}-{parent.ui}-{.}-bc" style="background-position: {bc}; height: {frameWidth}px" role="presentation">
','
','
',"
","{%this.renderDockedItems(out,values,1);%}"],frameTableTpl:["{%this.renderDockedItems(out,values,0);%}","",'',"",'','','',"","","",'','",'',"",'',"",'','','',"","","
{parent.baseCls}-{parent.ui}-{.}-tl" style="background-position: {tl}; padding-left:{frameWidth}px" role="presentation"> {parent.baseCls}-{parent.ui}-{.}-tc" style="background-position: {tc}; height: {frameWidth}px" role="presentation"> {parent.baseCls}-{parent.ui}-{.}-tr" style="background-position: {tr}; padding-left: {frameWidth}px" role="presentation">
{parent.baseCls}-{parent.ui}-{.}-ml" style="background-position: {ml}; padding-left: {frameWidth}px" role="presentation"> {parent.baseCls}-{parent.ui}-{.}-mc" style="background-position: 0 0;" role="presentation">',"{%this.applyRenderTpl(out, values)%}"," {parent.baseCls}-{parent.ui}-{.}-mr" style="background-position: {mr}; padding-left: {frameWidth}px" role="presentation">
{parent.baseCls}-{parent.ui}-{.}-bl" style="background-position: {bl}; padding-left: {frameWidth}px" role="presentation"> {parent.baseCls}-{parent.ui}-{.}-bc" style="background-position: {bc}; height: {frameWidth}px" role="presentation"> {parent.baseCls}-{parent.ui}-{.}-br" style="background-position: {br}; padding-left: {frameWidth}px" role="presentation">
","{%this.renderDockedItems(out,values,1);%}"],afterRender:function(){var b=this,c={},e=b.protoEl,d=b.getTargetEl(),a;b.finishRenderChildren();if(b.styleHtmlContent){d.addCls(b.styleHtmlCls)}e.writeTo(c);a=c.removed;if(a){d.removeCls(a)}a=c.cls;if(a.length){d.addCls(a)}a=c.style;if(c.style){d.setStyle(a)}b.protoEl=null;if(!b.ownerCt){b.updateLayout()}},afterFirstLayout:function(d,a){var e=this,c=Ext.isDefined(e.x),b=Ext.isDefined(e.y),h,g;if(e.floating&&(!c||!b)){if(e.floatParent){h=e.floatParent.getTargetEl().getViewRegion();g=e.el.getAlignToXY(e.floatParent.getTargetEl(),"c-c");h.left=g[0]-h.left;h.top=g[1]-h.top}else{g=e.el.getAlignToXY(e.container,"c-c");h=e.container.translatePoints(g[0],g[1])}e.x=c?e.x:h.left;e.y=b?e.y:h.top;c=b=true}if(c||b){e.setPosition(e.x,e.y)}e.onBoxReady(d,a);if(e.hasListeners.boxready){e.fireEvent("boxready",e,d,a)}},onBoxReady:Ext.emptyFn,applyRenderSelectors:function(){var d=this,b=d.renderSelectors,c=d.el,e=c.dom,a;d.applyChildEls(c);if(b){for(a in b){if(b.hasOwnProperty(a)&&b[a]){d[a]=Ext.get(Ext.DomQuery.selectNode(b[a],e))}}}},beforeRender:function(){var b=this,c=b.getTargetEl(),a=b.getComponentLayout();b.frame=b.frame||b.alwaysFramed;if(!a.initialized){a.initLayout()}if(c){c.setStyle(b.getOverflowStyle());b.overflowStyleSet=true}b.setUI(b.ui);if(b.disabled){b.disable(true)}},doApplyRenderTpl:function(c,a){var d=a.$comp,b;if(!d.rendered){b=d.initRenderTpl();b.applyOut(a.renderData,c)}},doAutoRender:function(){var a=this;if(!a.rendered){if(a.floating){a.render(document.body)}else{a.render(Ext.isBoolean(a.autoRender)?Ext.getBody():a.autoRender)}}},doRenderContent:function(a,c){var b=c.$comp;if(b.html){Ext.DomHelper.generateMarkup(b.html,a);delete b.html}if(b.tpl){if(!b.tpl.isTemplate){b.tpl=new Ext.XTemplate(b.tpl)}if(b.data){b.tpl.applyOut(b.data,a);delete b.data}}},doRenderFramingDockedItems:function(a,c,d){var b=c.$comp;if(!b.rendered&&b.doRenderDockedItems){c.renderData.$skipDockedItems=true;b.doRenderDockedItems.call(this,a,c,d)}},finishRender:function(a){var g=this,b,h,e,d,i,c;if(!g.el||g.$pid){if(g.container){d=g.container.getById(g.id,true)}else{d=Ext.getDom(g.id)}if(!g.el){g.wrapPrimaryEl(d)}else{delete g.$pid;if(!g.el.dom){g.wrapPrimaryEl(g.el)}d.parentNode.insertBefore(g.el.dom,d);Ext.removeNode(d)}}else{if(!g.rendering){b=g.initRenderTpl();if(b){h=g.initRenderData();b.insertFirst(g.getTargetEl(),h)}}}if(!g.container){g.container=Ext.get(g.el.dom.parentNode)}if(g.ctCls){g.container.addCls(g.ctCls)}g.onRender(g.container,a);if(!g.overflowStyleSet){g.getTargetEl().setStyle(g.getOverflowStyle())}g.el.setVisibilityMode(Ext.Element[g.hideMode.toUpperCase()]);if(g.overCls){g.el.hover(g.addOverCls,g.removeOverCls,g)}if(g.hasListeners.render){g.fireEvent("render",g)}if(g.contentEl){i=Ext.baseCSSPrefix;c=i+"hide-";e=Ext.get(g.contentEl);e.removeCls([i+"hidden",c+"display",c+"offsets",c+"nosize"]);g.getTargetEl().appendChild(e.dom)}g.afterRender();if(g.hasListeners.afterrender){g.fireEvent("afterrender",g)}g.initEvents();if(g.hidden){g.el.hide()}},finishRenderChildren:function(){var a=this.getComponentLayout();a.finishRender()},getElConfig:function(){var h=this,j=h.autoEl,e=h.getFrameInfo(),a={tag:"div",tpl:e?h.initFramingTpl(e.table):h.initRenderTpl()},b,d,g,k,c;h.initStyles(h.protoEl);h.protoEl.writeTo(a);h.protoEl.flush();if(Ext.isString(j)){a.tag=j}else{Ext.apply(a,j)}a.id=h.id;if(a.tpl){if(e){d=h.frameElNames;g=d.length;c=h.id+"-frame1";h.frameGenId=1;a.tplData=Ext.apply({},{$comp:h,fgid:c,ui:h.ui,uiCls:h.uiCls,frameCls:h.frameCls,baseCls:h.baseCls,frameWidth:e.maxWidth,top:!!e.top,left:!!e.left,right:!!e.right,bottom:!!e.bottom,renderData:h.initRenderData()},h.getFramePositions(e));for(b=0;b table")[1].remove()}else{if(g){g.remove()}if(d){d.remove()}if(c){c.remove()}}}}else{if(e.frame){this.applyRenderSelectors()}}},getFrameInfo:function(){if(Ext.supports.CSS3BorderRadius||!this.frame){return false}var g=this,i=g.frameInfoCache,a=g.el||g.protoEl,j=a.dom?a.dom.className:a.classList.join(" "),d=i[j],e,c,h,b;if(d==null){e=Ext.fly(g.getStyleProxy(j),"frame-style-el");c=e.getStyle("background-position-x");h=e.getStyle("background-position-y");if(!c&&!h){b=e.getStyle("background-position").split(" ");c=b[0];h=b[1]}d=g.calculateFrame(c,h);if(d){a.setStyle("background-image","none")}i[j]=d}g.frame=!!d;g.frameSize=d;return d},calculateFrame:function(h,g){if(!(parseInt(h,10)>=1000000&&parseInt(g,10)>=1000000)){return false}var a=Math.max,b=parseInt(h.substr(3,2),10),e=parseInt(h.substr(5,2),10),c=parseInt(g.substr(3,2),10),i=parseInt(g.substr(5,2),10),d={table:h.substr(0,3)=="110",vertical:g.substr(0,3)=="110",top:a(b,e),right:a(e,c),bottom:a(i,c),left:a(b,i)};d.maxWidth=a(d.top,d.right,d.bottom,d.left);d.width=d.left+d.right;d.height=d.top+d.bottom;return d},getStyleProxy:function(b){var a=this.styleProxyEl||(Ext.AbstractComponent.prototype.styleProxyEl=Ext.resetElement.createChild({style:{position:"absolute",top:"-10000px"}},null,true));a.className=b;return a},getFramePositions:function(e){var h=this,i=e.maxWidth,j=h.dock,d,b,g,c,a;if(e.vertical){b="0 -"+(i*0)+"px";g="0 -"+(i*1)+"px";if(j&&j=="right"){b="right -"+(i*0)+"px";g="right -"+(i*1)+"px"}d={tl:"0 -"+(i*0)+"px",tr:"0 -"+(i*1)+"px",bl:"0 -"+(i*2)+"px",br:"0 -"+(i*3)+"px",ml:"-"+(i*1)+"px 0",mr:"right 0",tc:b,bc:g}}else{c="-"+(i*0)+"px 0";a="right 0";if(j&&j=="bottom"){c="left bottom";a="right bottom"}d={tl:"0 -"+(i*2)+"px",tr:"right -"+(i*3)+"px",bl:"0 -"+(i*4)+"px",br:"right -"+(i*5)+"px",ml:c,mr:a,tc:"0 -"+(i*0)+"px",bc:"0 -"+(i*1)+"px"}}return d},getFrameTpl:function(a){return this.getTpl(a?"frameTableTpl":"frameTpl")},frameInfoCache:{}});Ext.define("Ext.state.Provider",{mixins:{observable:"Ext.util.Observable"},prefix:"ext-",constructor:function(a){a=a||{};var b=this;Ext.apply(b,a);b.addEvents("statechange");b.state={};b.mixins.observable.constructor.call(b)},get:function(b,a){return typeof this.state[b]=="undefined"?a:this.state[b]},clear:function(a){var b=this;delete b.state[a];b.fireEvent("statechange",b,a,null)},set:function(a,c){var b=this;b.state[a]=c;b.fireEvent("statechange",b,a,c)},decodeValue:function(g){var c=this,k=/^(a|n|d|b|s|o|e)\:(.*)$/,b=k.exec(unescape(g)),h,d,a,j,e,i;if(!b||!b[1]){return}d=b[1];g=b[2];switch(d){case"e":return null;case"n":return parseFloat(g);case"d":return new Date(Date.parse(g));case"b":return(g=="1");case"a":h=[];if(g!=""){j=g.split("^");e=j.length;for(i=0;ii){c=d;a=true}if(e&&p>j){n=p;a=true}if(a){m=!Ext.isNumber(k.width);l=!Ext.isNumber(k.height);k.setSize(n,c);k.el.setSize(j,i);if(m){delete k.width}if(l){delete k.height}}if(e){o.width=p}if(g){o.height=d}}return k.mixins.animate.animate.apply(k,arguments)},onHide:function(){this.updateLayout({isRoot:false})},onShow:function(){this.updateLayout({isRoot:false})},constructPlugin:function(a){if(a.ptype&&typeof a.init!="function"){a.cmp=this;a=Ext.PluginManager.create(a)}else{if(typeof a=="string"){a=Ext.PluginManager.create({ptype:a,cmp:this})}}return a},constructPlugins:function(){var e=this,c,b=[],d,a;if(e.plugins){c=Ext.isArray(e.plugins)?e.plugins:[e.plugins];for(d=0,a=c.length;d=0;a--){if((g=d.getAt(a)).is(b)){return g}}}else{if(a){return d.getAt(--a)}}}}return null},previousNode:function(b,d){var j=this,h=j.ownerCt,a,g,e,c;if(d&&j.is(b)){return j}if(h){for(g=h.items.items,e=Ext.Array.indexOf(g,j)-1;e>-1;e--){c=g[e];if(c.query){a=c.query(b);a=a[a.length-1];if(a){return a}}if(c.is(b)){return c}}return h.previousNode(b,true)}return null},nextNode:function(d,j){var b=this,c=b.ownerCt,k,e,h,g,a;if(j&&b.is(d)){return b}if(c){for(e=c.items.items,g=Ext.Array.indexOf(e,b)+1,h=e.length;g=8){b=new XDomainRequest()}else{b=this.getXhrInstance()}return b},openRequest:function(c,a,d,g,b){var e=this.newRequest(c);if(g){e.open(a.method,a.url,d,g,b)}else{e.open(a.method,a.url,d)}if(c.withCredentials||this.withCredentials){e.withCredentials=true}return e},getXhrInstance:(function(){var b=[function(){return new XMLHttpRequest()},function(){return new ActiveXObject("MSXML2.XMLHTTP.3.0")},function(){return new ActiveXObject("MSXML2.XMLHTTP")},function(){return new ActiveXObject("Microsoft.XMLHTTP")}],c=0,a=b.length,g;for(;c=200&&a<300)||a==304,b=false;if(!c){switch(a){case 12002:case 12029:case 12030:case 12031:case 12152:case 13030:b=true;break}}return{success:c,isException:b}},createResponse:function(c){var i=c.xhr,a={},j=i.getAllResponseHeaders().replace(/\r\n/g,"\n").split("\n"),d=j.length,k,e,h,g,b;while(d--){k=j[d];e=k.indexOf(":");if(e>=0){h=k.substr(0,e).toLowerCase();if(k.charAt(e+1)==" "){++e}a[h]=k.substr(e+1)}}c.xhr=null;delete c.xhr;b={request:c,requestId:c.id,status:i.status,statusText:i.statusText,getResponseHeader:function(l){return a[l.toLowerCase()]},getAllResponseHeaders:function(){return a},responseText:i.responseText,responseXML:i.responseXML};i=null;return b},createException:function(a){return{request:a,requestId:a.id,status:a.aborted?-1:0,statusText:a.aborted?"transaction aborted":"communication failure",aborted:a.aborted,timedout:a.timedout}}});Ext.define("Ext.Ajax",{extend:"Ext.data.Connection",singleton:true,autoAbort:false});Ext.define("Ext.util.Floating",{uses:["Ext.Layer","Ext.window.Window"],focusOnToFront:true,shadow:"sides",constructor:function(b){var a=this;a.el=new Ext.Layer(Ext.apply({hideMode:a.hideMode,hidden:a.hidden,shadow:(typeof a.shadow!="undefined")?a.shadow:"sides",shadowOffset:a.shadowOffset,constrain:false,shim:(a.shim===false)?false:undefined},a.floating),b);a.floating=true;a.registerWithOwnerCt()},registerWithOwnerCt:function(){var a=this;if(a.zIndexParent){a.zIndexParent.unregisterFloatingItem(a)}a.zIndexParent=a.up("[floating]");a.setFloatParent(a.ownerCt);delete a.ownerCt;if(a.zIndexParent){a.zIndexParent.registerFloatingItem(a)}else{Ext.WindowManager.register(a)}},setFloatParent:function(b){var a=this;if(a.floatParent){a.mun(a.floatParent,{hide:a.onFloatParentHide,show:a.onFloatParentShow,scope:a})}a.floatParent=b;if(b){a.mon(a.floatParent,{hide:a.onFloatParentHide,show:a.onFloatParentShow,scope:a})}if((a.constrain||a.constrainHeader)&&!a.constrainTo){a.constrainTo=b?b.getTargetEl():a.container}},onAfterFloatLayout:function(){this.syncShadow()},onFloatParentHide:function(){var a=this;if(a.hideOnParentHide!==false&&a.isVisible()){a.hide();a.showOnParentShow=true}},onFloatParentShow:function(){if(this.showOnParentShow){delete this.showOnParentShow;this.show()}},setZIndex:function(a){var b=this;b.el.setZIndex(a);a+=10;if(b.floatingDescendants){a=Math.floor(b.floatingDescendants.setBase(a)/100)*100+10000}return a},doConstrain:function(b){var c=this,a=c.getConstrainVector(b),d;if(a){d=c.getPosition(!!c.floatParent);d[0]+=a[0];d[1]+=a[1];c.setPosition(d)}},getConstrainVector:function(a){var b=this;if(b.constrain||b.constrainHeader){a=a||(b.floatParent&&b.floatParent.getTargetEl())||b.container||b.el.getScopeParent();return(b.constrainHeader?b.header.el:b.el).getConstrainVector(a)}},alignTo:function(b,a,c){this.setPagePosition(this.el.getAlignToXY(b.el||b,a,c));return this},toFront:function(b){var a=this;if(a.zIndexParent&&a.bringParentToFront!==false){a.zIndexParent.toFront(true)}if(!Ext.isDefined(b)){b=!a.focusOnToFront}if(b){a.preventFocusOnActivate=true}if(a.zIndexManager.bringToFront(a)){if(!b){a.focus(false,true)}}delete a.preventFocusOnActivate;return a},setActive:function(b,c){var a=this;if(b){if(a.el.shadow&&!a.maximized){a.el.enableShadow(true)}if(a.modal&&!a.preventFocusOnActivate){a.focus(false,true)}a.fireEvent("activate",a)}else{if(a.isWindow&&(c&&c.isWindow)){a.el.disableShadow()}a.fireEvent("deactivate",a)}},toBack:function(){this.zIndexManager.sendToBack(this);return this},center:function(){var a=this,b;if(a.isVisible()){b=a.el.getAlignToXY(a.container,"c-c");a.setPagePosition(b)}else{a.needsCenter=true}return a},onFloatShow:function(){if(this.needsCenter){this.center()}delete this.needsCenter},syncShadow:function(){if(this.floating){this.el.sync(true)}},fitContainer:function(){var c=this,b=c.floatParent,a=b?b.getTargetEl():c.container;c.setSize(a.getViewSize(false));c.setPosition.apply(c,b?[0,0]:a.getXY())}});Ext.define("Ext.Component",{alias:["widget.component","widget.box"],extend:"Ext.AbstractComponent",requires:["Ext.util.DelayedTask"],uses:["Ext.Layer","Ext.resizer.Resizer","Ext.util.ComponentDragger"],mixins:{floating:"Ext.util.Floating"},statics:{DIRECTION_TOP:"top",DIRECTION_RIGHT:"right",DIRECTION_BOTTOM:"bottom",DIRECTION_LEFT:"left",VERTICAL_DIRECTION_Re:/^(?:top|bottom)$/,INVALID_ID_CHARS_Re:/[\.,\s]/g},resizeHandles:"all",floating:false,toFrontOnShow:true,hideMode:"display",bubbleEvents:[],monPropRe:/^(?:scope|delay|buffer|single|stopEvent|preventDefault|stopPropagation|normalized|args|delegate)$/,defaultComponentLayoutType:"autocomponent",constructor:function(a){var b=this;a=a||{};if(a.initialConfig){if(a.isAction){b.baseAction=a}a=a.initialConfig}else{if(a.tagName||a.dom||Ext.isString(a)){a={applyTo:a,id:a.id||a}}}b.callParent([a]);if(b.baseAction){b.baseAction.addComponent(b)}},initComponent:function(){var a=this;a.callParent();if(a.listeners){a.on(a.listeners);a.listeners=null}a.enableBubble(a.bubbleEvents);a.mons=[]},afterRender:function(){var a=this;a.callParent();if(!(a.x&&a.y)&&(a.pageX||a.pageY)){a.setPagePosition(a.pageX,a.pageY)}},setAutoScroll:function(a){var b=this;b.autoScroll=!!a;if(b.rendered){b.getTargetEl().setStyle(b.getOverflowStyle())}b.updateLayout();return b},setOverflowXY:function(b,a){var c=this,d=arguments.length;if(d){c.overflowX=b||"";if(d>1){c.overflowY=a||""}}if(c.rendered){c.getTargetEl().setStyle(c.getOverflowStyle())}c.updateLayout();return c},beforeRender:function(){var b=this,c=b.floating,a;if(c){b.addCls(Ext.baseCSSPrefix+"layer");a=c.cls;if(a){b.addCls(a)}}return b.callParent()},afterComponentLayout:function(){this.callParent(arguments);if(this.floating){this.onAfterFloatLayout()}},makeFloating:function(a){this.mixins.floating.constructor.call(this,a)},wrapPrimaryEl:function(a){if(this.floating){this.makeFloating(a)}else{this.callParent(arguments)}},initResizable:function(a){var b=this;a=Ext.apply({target:b,dynamic:false,constrainTo:b.constrainTo||(b.floatParent?b.floatParent.getTargetEl():null),handles:b.resizeHandles},a);a.target=b;b.resizer=new Ext.resizer.Resizer(a)},getDragEl:function(){return this.el},initDraggable:function(){var c=this,a=(c.resizer&&c.resizer.el!==c.el)?c.resizerComponent=new Ext.Component({el:c.resizer.el,rendered:true,container:c.container}):c,b=Ext.applyIf({el:a.getDragEl(),constrainTo:c.constrain?(c.constrainTo||(c.floatParent?c.floatParent.getTargetEl():c.el.getScopeParent())):undefined},c.draggable);if(c.constrain||c.constrainDelegate){b.constrain=c.constrain;b.constrainDelegate=c.constrainDelegate}c.dd=new Ext.util.ComponentDragger(a,b)},scrollBy:function(b,a,c){var d;if((d=this.getTargetEl())&&d.dom){d.scrollBy.apply(d,arguments)}},setLoading:function(c,d){var b=this,a;if(b.rendered){Ext.destroy(b.loadMask);b.loadMask=null;if(c!==false&&!b.collapsed){if(Ext.isObject(c)){a=Ext.apply({},c)}else{if(Ext.isString(c)){a={msg:c}}else{a={}}}if(d){Ext.applyIf(a,{useTargetEl:true})}b.loadMask=new Ext.LoadMask(b,a);b.loadMask.show()}}return b.loadMask},beforeSetPosition:function(){var b=this,c=b.callParent(arguments),a;if(c){a=b.adjustPosition(c.x,c.y);c.x=a.x;c.y=a.y}return c||null},afterSetPosition:function(b,a){this.onPosition(b,a);this.fireEvent("move",this,b,a)},showAt:function(a,d,b){var c=this;if(!c.rendered&&(c.autoRender||c.floating)){c.doAutoRender();c.hidden=true}if(c.floating){c.setPosition(a,d,b)}else{c.setPagePosition(a,d,b)}c.show()},setPagePosition:function(a,g,b){var c=this,d,e;if(Ext.isArray(a)){g=a[1];a=a[0]}c.pageX=a;c.pageY=g;if(c.floating){if(c.isContainedFloater()){e=c.floatParent.getTargetEl().getViewRegion();if(Ext.isNumber(a)&&Ext.isNumber(e.left)){a-=e.left}if(Ext.isNumber(g)&&Ext.isNumber(e.top)){g-=e.top}}else{d=c.el.translatePoints(a,g);a=d.left;g=d.top}c.setPosition(a,g,b)}else{d=c.el.translatePoints(a,g);c.setPosition(d.left,d.top,b)}return c},isContainedFloater:function(){return(this.floating&&this.floatParent)},getBox:function(b){var c=b?this.getPosition(b):this.el.getXY(),a=this.getSize();a.x=c[0];a.y=c[1];return a},updateBox:function(a){this.setSize(a.width,a.height);this.setPagePosition(a.x,a.y);return this},getOuterSize:function(){var a=this.el;return{width:a.getWidth()+a.getMargin("lr"),height:a.getHeight()+a.getMargin("tb")}},adjustPosition:function(a,d){var b=this,c;if(b.isContainedFloater()){c=b.floatParent.getTargetEl().getViewRegion();a+=c.left;d+=c.top}return{x:a,y:d}},getPosition:function(a){var c=this,b=c.el,e,d=c.isContainedFloater(),g;if((a===true)&&!d){return[b.getLocalX(),b.getLocalY()]}e=c.el.getXY();if((a===true)&&d){g=c.floatParent.getTargetEl().getViewRegion();e[0]-=g.left;e[1]-=g.top}return e},getId:function(){var a=this,b;if(!a.id){b=a.getXType();if(b){b=b.replace(Ext.Component.INVALID_ID_CHARS_Re,"-")}else{b=Ext.name.toLowerCase()+"-comp"}a.id=b+"-"+a.getAutoId()}return a.id},show:function(d,a,b){var c=this,e=c.rendered;if(e&&c.isVisible()){if(c.toFrontOnShow&&c.floating){c.toFront()}}else{if(c.fireEvent("beforeshow",c)!==false){c.hidden=false;if(!e&&(c.autoRender||c.floating)){c.doAutoRender();e=c.rendered}if(e){c.beforeShow();c.onShow.apply(c,arguments);c.afterShow.apply(c,arguments)}}else{c.onShowVeto()}}return c},onShowVeto:Ext.emptyFn,beforeShow:Ext.emptyFn,onShow:function(){var a=this;a.el.show();a.callParent(arguments);if(a.floating){if(a.maximized){a.fitContainer()}else{if(a.constrain){a.doConstrain()}}}},afterShow:function(h,b,e){var g=this,a,c,d;h=h||g.animateTarget;if(!g.ghost){h=null}if(h){h=h.el?h.el:Ext.get(h);c=g.el.getBox();a=h.getBox();g.el.addCls(Ext.baseCSSPrefix+"hide-offsets");d=g.ghost();d.el.stopAnimation();d.el.setX(-10000);d.el.animate({from:a,to:c,listeners:{afteranimate:function(){delete d.componentLayout.lastComponentSize;g.unghost();g.el.removeCls(Ext.baseCSSPrefix+"hide-offsets");g.onShowComplete(b,e)}}})}else{g.onShowComplete(b,e)}},onShowComplete:function(a,b){var c=this;if(c.floating){c.toFront();c.onFloatShow()}Ext.callback(a,b||c);c.fireEvent("show",c);delete c.hiddenByLayout},hide:function(){var a=this;a.showOnParentShow=false;if(!(a.rendered&&!a.isVisible())&&a.fireEvent("beforehide",a)!==false){a.hidden=true;if(a.rendered){a.onHide.apply(a,arguments)}}return a},onHide:function(g,a,d){var e=this,c,b;g=g||e.animateTarget;if(!e.ghost){g=null}if(g){g=g.el?g.el:Ext.get(g);c=e.ghost();c.el.stopAnimation();b=g.getBox();b.width+="px";b.height+="px";c.el.animate({to:b,listeners:{afteranimate:function(){delete c.componentLayout.lastComponentSize;c.el.hide();e.afterHide(a,d)}}})}e.el.hide();if(!g){e.afterHide(a,d)}},afterHide:function(a,b){var c=this;delete c.hiddenByLayout;Ext.AbstractComponent.prototype.onHide.call(this);Ext.callback(a,b||c);c.fireEvent("hide",c)},onDestroy:function(){var a=this;if(a.rendered){Ext.destroy(a.proxy,a.proxyWrap,a.resizer,a.resizerComponent)}delete a.focusTask;a.callParent()},deleteMembers:function(){var b=arguments,a=b.length,c=0;for(;c1){for(;c]*)\>)|(?:<\/tpl>)/g,actionsRe:/\s*(elif|elseif|if|for|exec|switch|case|eval)\s*\=\s*(?:(?:"([^"]*)")|(?:'([^']*)'))\s*/g,propRe:/prop=(?:(?:"([^"]*)")|(?:'([^']*)'))/,defaultRe:/^\s*default\s*$/,elseRe:/^\s*else\s*$/});Ext.define("Ext.XTemplateCompiler",{extend:"Ext.XTemplateParser",useEval:Ext.isGecko,useIndex:Ext.isIE6||Ext.isIE7,useFormat:true,propNameRe:/^[\w\d\$]*$/,compile:function(a){var c=this,b=c.generate(a);return c.useEval?c.evalTpl(b):(new Function("Ext",b))(Ext)},generate:function(a){var d=this,b="var fm=Ext.util.Format,ts=Object.prototype.toString;",c;d.maxLevel=0;d.body=["var c0=values, a0="+d.createArrayTest(0)+", p0=parent, n0=xcount, i0=xindex, v;\n"];if(d.definitions){if(typeof d.definitions==="string"){d.definitions=[d.definitions,b]}else{d.definitions.push(b)}}else{d.definitions=[b]}d.switches=[];d.parse(a);d.definitions.push((d.useEval?"$=":"return")+" function ("+d.fnArgs+") {",d.body.join(""),"}");c=d.definitions.join("\n");d.definitions.length=d.body.length=d.switches.length=0;delete d.definitions;delete d.body;delete d.switches;return c},doText:function(c){var b=this,a=b.body;c=c.replace(b.aposRe,"\\'").replace(b.newLineRe,"\\n");if(b.useIndex){a.push("out[out.length]='",c,"'\n")}else{a.push("out.push('",c,"')\n")}},doExpr:function(b){var a=this.body;a.push("if ((v="+b+")!==undefined) out");if(this.useIndex){a.push("[out.length]=v+''\n")}else{a.push(".push(v+'')\n")}},doTag:function(a){this.doExpr(this.parseTag(a))},doElse:function(){this.body.push("} else {\n")},doEval:function(a){this.body.push(a,"\n")},doIf:function(b,c){var a=this;if(b==="."){a.body.push("if (values) {\n")}else{if(a.propNameRe.test(b)){a.body.push("if (",a.parseTag(b),") {\n")}else{a.body.push("if (",a.addFn(b),a.callFn,") {\n")}}if(c.exec){a.doExec(c.exec)}},doElseIf:function(b,c){var a=this;if(b==="."){a.body.push("else if (values) {\n")}else{if(a.propNameRe.test(b)){a.body.push("} else if (",a.parseTag(b),") {\n")}else{a.body.push("} else if (",a.addFn(b),a.callFn,") {\n")}}if(c.exec){a.doExec(c.exec)}},doSwitch:function(b){var a=this;if(b==="."){a.body.push("switch (values) {\n")}else{if(a.propNameRe.test(b)){a.body.push("switch (",a.parseTag(b),") {\n")}else{a.body.push("switch (",a.addFn(b),a.callFn,") {\n")}}a.switches.push(0)},doCase:function(e){var d=this,c=Ext.isArray(e)?e:[e],g=d.switches.length-1,a,b;if(d.switches[g]){d.body.push("break;\n")}else{d.switches[g]++}for(b=0,g=c.length;b');c.scrollRangeFlags=e}}},finishRender:function(){var b=this,c,a;b.callParent();b.cacheElements();c=b.getRenderTarget();a=b.getLayoutItems();if(b.targetCls){b.getTarget().addCls(b.targetCls)}b.finishRenderItems(c,a)},notifyOwner:function(){this.owner.afterLayout(this)},getContainerSize:function(c,h){var d=c.targetContext,g=d.getFrameInfo(),k=d.getPaddingInfo(),j=0,l=0,a=c.state.overflowAdjust,e,i,b,m;if(!c.widthModel.shrinkWrap){++l;b=h?d.getDomProp("width"):d.getProp("width");e=(typeof b=="number");if(e){++j;b-=g.width+k.width;if(a){b-=a.width}}}if(!c.heightModel.shrinkWrap){++l;m=h?d.getDomProp("height"):d.getProp("height");i=(typeof m=="number");if(i){++j;m-=g.height+k.height;if(a){m-=a.height}}}return{width:b,height:m,needed:l,got:j,gotAll:j==l,gotWidth:e,gotHeight:i}},getLayoutItems:function(){var a=this.owner,b=a&&a.items;return(b&&b.items)||[]},getRenderData:function(){var a=this.owner;return{$comp:a,$layout:this,ownerId:a.id}},getRenderedItems:function(){var e=this,h=e.getRenderTarget(),a=e.getLayoutItems(),d=a.length,g=[],b,c;for(b=0;b'],calculate:function(b){var a=this,c;if(!b.hasDomProp("containerChildrenDone")){a.done=false}else{c=a.getContainerSize(b);if(!c.gotAll){a.done=false}a.calculateContentSize(b)}}});Ext.define("Ext.util.Filter",{anyMatch:false,exactMatch:false,caseSensitive:false,constructor:function(a){var b=this;Ext.apply(b,a);b.filter=b.filter||b.filterFn;if(b.filter===undefined){if(b.property===undefined||b.value===undefined){}else{b.filter=b.createFilterFn()}b.filterFn=b.filter}},createFilterFn:function(){var a=this,c=a.createValueMatcher(),b=a.property;return function(d){var e=a.getRoot.call(a,d)[b];return c===null?e===null:c.test(e)}},getRoot:function(b){var a=this.root;return a===undefined?b:b[a]},createValueMatcher:function(){var d=this,e=d.value,g=d.anyMatch,c=d.exactMatch,a=d.caseSensitive,b=Ext.String.escapeRegex;if(e===null){return e}if(!e.exec){e=String(e);if(g===true){e=b(e)}else{e="^"+b(e);if(c===true){e+="$"}}e=new RegExp(e,a?"":"i")}return e}});Ext.define("Ext.util.AbstractMixedCollection",{requires:["Ext.util.Filter"],mixins:{observable:"Ext.util.Observable"},isMixedCollection:true,generation:0,constructor:function(b,a){var c=this;c.items=[];c.map={};c.keys=[];c.length=0;c.allowFunctions=b===true;if(a){c.getKey=a}c.mixins.observable.constructor.call(c)},allowFunctions:false,add:function(b,e){var d=this,g=e,c=b,a;if(arguments.length==1){g=c;c=d.getKey(g)}if(typeof c!="undefined"&&c!==null){a=d.map[c];if(typeof a!="undefined"){return d.replace(c,g)}d.map[c]=g}d.generation++;d.length++;d.items.push(g);d.keys.push(c);if(d.hasListeners.add){d.fireEvent("add",d.length-1,g,c)}return g},getKey:function(a){return a.id},replace:function(c,e){var d=this,a,b;if(arguments.length==1){e=arguments[0];c=d.getKey(e)}a=d.map[c];if(typeof c=="undefined"||c===null||typeof a=="undefined"){return d.add(c,e)}d.generation++;b=d.indexOfKey(c);d.items[b]=e;d.map[c]=e;if(d.hasListeners.replace){d.fireEvent("replace",c,a,e)}return e},addAll:function(g){var e=this,d=0,b,a,c;if(arguments.length>1||Ext.isArray(g)){b=arguments.length>1?arguments:g;for(a=b.length;d=d.length){return d.add(c,g)}d.generation++;d.length++;Ext.Array.splice(d.items,a,0,g);if(typeof c!="undefined"&&c!==null){d.map[c]=g}Ext.Array.splice(d.keys,a,0,c);if(d.hasListeners.add){d.fireEvent("add",a,g,c)}return g},remove:function(a){this.generation++;return this.removeAt(this.indexOf(a))},removeAll:function(b){b=[].concat(b);var c,a=b.length;for(c=0;c=0){c.length--;d=c.items[a];Ext.Array.erase(c.items,a,1);b=c.keys[a];if(typeof b!="undefined"){delete c.map[b]}Ext.Array.erase(c.keys,a,1);if(c.hasListeners.remove){c.fireEvent("remove",d,b)}c.generation++;return d}return false},removeAtKey:function(a){return this.removeAt(this.indexOfKey(a))},getCount:function(){return this.length},indexOf:function(a){return Ext.Array.indexOf(this.items,a)},indexOfKey:function(a){return Ext.Array.indexOf(this.keys,a)},get:function(b){var d=this,a=d.map[b],c=a!==undefined?a:(typeof b=="number")?d.items[b]:undefined;return typeof c!="function"||d.allowFunctions?c:null},getAt:function(a){return this.items[a]},getByKey:function(a){return this.map[a]},contains:function(a){return typeof this.map[this.getKey(a)]!="undefined"},containsKey:function(a){return typeof this.map[a]!="undefined"},clear:function(){var a=this;a.length=0;a.items=[];a.keys=[];a.map={};a.generation++;if(a.hasListeners.clear){a.fireEvent("clear")}},first:function(){return this.items[0]},last:function(){return this.items[this.length-1]},sum:function(h,b,j,a){var c=this.extractValues(h,b),g=c.length,e=0,d;j=j||0;a=(a||a===0)?a:g-1;for(d=j;d<=a;d++){e+=c[d]}return e},collect:function(k,e,h){var l=this.extractValues(k,e),a=l.length,b={},c=[],j,g,d;for(d=0;d=a;d--){b[b.length]=c[d]}}return b},filter:function(d,c,g,a){var b=[],e;if(Ext.isString(d)){b.push(new Ext.util.Filter({property:d,value:c,anyMatch:g,caseSensitive:a}))}else{if(Ext.isArray(d)||d instanceof Ext.util.Filter){b=b.concat(d)}}e=function(h){var n=true,o=b.length,j,m,l,k;for(j=0;je?1:(g>1;h=d(e,b[c]);if(h>=0){i=c+1}else{if(h<0){a=c-1}}}return i},reorder:function(d){var h=this,b=h.items,c=0,g=b.length,a=[],e=[],i;h.suspendEvents();for(i in d){a[d[i]]=b[i]}for(c=0;ce?1:(g=0&&a[d].hidden;--d){}if((b=a[d])){e._setActiveChild(b,c);if(b.modal){return}}for(;d>=0;--d){b=a[d];if(b.isVisible()&&b.modal){e._showModalMask(b);return}}e._hideModalMask()},_showModalMask:function(a){var c=this,e=a.el.getStyle("zIndex")-4,b=a.floatParent?a.floatParent.getTargetEl():a.container,d=b.getBox();if(b.dom===document.body){d.height=Math.max(document.body.scrollHeight,Ext.dom.Element.getDocumentHeight());d.width=Math.max(document.body.scrollWidth,d.width)}if(!c.mask){c.mask=Ext.getBody().createChild({cls:Ext.baseCSSPrefix+"mask"});c.mask.setVisibilityMode(Ext.Element.DISPLAY);c.mask.on("click",c._onMaskClick,c)}c.mask.maskTarget=b;b.addCls(Ext.baseCSSPrefix+"body-masked");c.mask.setStyle("zIndex",e);c.mask.show();c.mask.setBox(d)},_hideModalMask:function(){var a=this.mask;if(a&&a.isVisible()){a.maskTarget.removeCls(Ext.baseCSSPrefix+"body-masked");a.maskTarget=undefined;a.hide()}},_onMaskClick:function(){if(this.front){this.front.focus()}},_onContainerResize:function(){var a=this.mask,b,c;if(a&&a.isVisible()){a.hide();b=a.maskTarget;if(b.dom===document.body){c={height:Math.max(document.body.scrollHeight,Ext.dom.Element.getDocumentHeight()),width:Math.max(document.body.scrollWidth,document.documentElement.clientWidth)}}else{c=b.getViewSize(true)}a.setSize(c);a.show()}},register:function(a){var b=this;if(a.zIndexManager){a.zIndexManager.unregister(a)}a.zIndexManager=b;b.list[a.id]=a;b.zIndexStack.push(a);a.on("hide",b.onComponentHide,b)},unregister:function(a){var b=this,c=b.list;delete a.zIndexManager;if(c&&c[a.id]){delete c[a.id];a.un("hide",b.onComponentHide);Ext.Array.remove(b.zIndexStack,a);b._activateLast()}},get:function(a){return a.isComponent?a:this.list[a]},bringToFront:function(b){var c=this,a=false,d=c.zIndexStack;b=c.get(b);if(b!==c.front){Ext.Array.remove(d,b);if(b.preventBringToFront){d.unshift(b)}else{d.push(b)}c.assignZIndices();a=true;this.front=b}if(a&&b.modal){c._showModalMask(b)}return a},sendToBack:function(a){var b=this;a=b.get(a);Ext.Array.remove(b.zIndexStack,a);b.zIndexStack.unshift(a);b.assignZIndices();this._activateLast();return a},hideAll:function(){var b=this.list,a,c;for(c in b){if(b.hasOwnProperty(c)){a=b[c];if(a.isComponent&&a.isVisible()){a.hide()}}}},hide:function(){var g=this,c=g.mask,e=0,b=g.zIndexStack,a=b.length,d;g.tempHidden=g.tempHidden||[];for(;e0;){b=a[c];if(b.isComponent&&e.call(d||b,b)===false){return}}},destroy:function(){var b=this,c=b.list,a,d;for(d in c){if(c.hasOwnProperty(d)){a=c[d];if(a.isComponent){a.destroy()}}}delete b.zIndexStack;delete b.list;delete b.container;delete b.targetEl}},function(){Ext.WindowManager=Ext.WindowMgr=new this()});Ext.define("Ext.container.AbstractContainer",{extend:"Ext.Component",requires:["Ext.util.MixedCollection","Ext.layout.container.Auto","Ext.ZIndexManager"],renderTpl:"{%this.renderContainer(out,values)%}",suspendLayout:false,autoDestroy:true,defaultType:"panel",detachOnRemove:true,isContainer:true,layoutCounter:0,baseCls:Ext.baseCSSPrefix+"container",bubbleEvents:["add","remove"],defaultLayoutType:"auto",initComponent:function(){var a=this;a.addEvents("afterlayout","beforeadd","beforeremove","add","remove");a.callParent();a.getLayout();a.initItems()},initItems:function(){var b=this,a=b.items;b.items=new Ext.util.AbstractMixedCollection(false,b.getComponentId);if(a){if(!Ext.isArray(a)){a=[a]}b.add(a)}},getFocusEl:function(){return this.getTargetEl()},finishRenderChildren:function(){this.callParent();var a=this.getLayout();if(a){a.finishRender()}},beforeRender:function(){var b=this,a=b.getLayout();b.callParent();if(!a.initialized){a.initLayout()}},setupRenderTpl:function(b){var a=this.getLayout();this.callParent(arguments);a.setupRenderTpl(b)},setLayout:function(b){var a=this.layout;if(a&&a.isLayout&&a!=b){a.setOwner(null)}this.layout=b;b.setOwner(this)},getLayout:function(){var a=this;if(!a.layout||!a.layout.isLayout){a.setLayout(Ext.layout.Layout.create(a.layout,a.self.prototype.layout||"autocontainer"))}return a.layout},doLayout:function(){this.updateLayout();return this},afterLayout:function(b){var a=this;++a.layoutCounter;if(a.hasListeners.afterlayout){a.fireEvent("afterlayout",a,b)}},prepareItems:function(b,d){if(Ext.isArray(b)){b=b.slice()}else{b=[b]}var g=this,c=0,a=b.length,e;for(;c "+a)[0]||null},nextChild:function(e,b){var c=this,a,d=c.items.indexOf(e);if(d!==-1){a=b?Ext.ComponentQuery(b,c.items.items.slice(d+1)):c.items.getAt(d+1);if(!a&&c.ownerCt){a=c.ownerCt.nextChild(c,b)}}return a},prevChild:function(e,b){var c=this,a,d=c.items.indexOf(e);if(d!==-1){a=b?Ext.ComponentQuery(b,c.items.items.slice(d+1)):c.items.getAt(d+1);if(!a&&c.ownerCt){a=c.ownerCt.nextChild(c,b)}}return a},down:function(a){return this.query(a)[0]||null},enable:function(){this.callParent(arguments);var d=this.getChildItemsToDisable(),c=d.length,b,a;for(a=0;a=d){h=0}else{if(h<0){h=d-1}}if(h===e){return[]}if((k=g[h]).isFocusable()){return[k]}}return[]},prevFocus:function(e,d){return this.nextFocus(e,d,-1)},root:function(e){var d=e.length,h=[],g=0,j;for(;ge.el.getZIndex()});return d.concat(b)},initDOM:function(c){var g=this,b=g.focusFrameCls,e=Ext.ComponentQuery.query("{getFocusEl()}:not([focusListenerAdded])"),d=0,a=e.length;if(!Ext.isReady){return Ext.onReady(g.initDOM,g)}for(;d:focusable",a)[0]:a;if(d){d.focus()}else{if(Ext.isFunction(a.onClick)){g.button=0;a.onClick(g);if(a.isVisible(true)){a.focus()}else{c.navigateOut()}}}}},navigateOut:function(c){var b=this,a;if(!b.focusedCmp||!(a=b.focusedCmp.up(":focusable"))){b.focusEl.focus()}else{a.focus()}return true},navigateSiblings:function(i,b,o){var j=this,a=b||j,p=i.getKey(),g=Ext.EventObject,k=i.shiftKey||p==g.LEFT||p==g.UP,c=p==g.LEFT||p==g.RIGHT||p==g.UP||p==g.DOWN,h=k?"prev":"next",n,d,m,l;m=(a.focusedCmp&&a.focusedCmp.comp)||a.focusedCmp;if(!m&&!o){return true}if(c&&j.isWhitelisted(m)){return true}if(!m||m.is(":root")){l=j.getRootComponents()}else{o=o||m.up();if(o){l=o.getRefItems()}}if(l){n=m?Ext.Array.indexOf(l,m):-1;d=Ext.ComponentQuery.query(":"+h+"Focus("+n+")",l)[0];if(d&&m!==d){d.focus();return d}}},onComponentBlur:function(b,c){var a=this;if(a.focusedCmp===b){a.previousFocusedCmp=b;delete a.focusedCmp}if(a.focusFrame){a.focusFrame.hide()}},onComponentFocus:function(d,g){var c=this,a=c.focusChain,b;if(!d.isFocusable()){c.clearComponent(d);if(a[d.id]){return}b=d.up();if(b){a[d.id]=true;b.focus()}return}c.focusChain={};c.focusTask.delay(10,null,null,[d,d.getFocusEl()])},handleComponentFocus:function(m,i){var k=this,p,a,d,h,o,b,l,e,g,c,n,j;if(k.fireEvent("beforecomponentfocus",k,m,k.previousFocusedCmp)===false){k.clearComponent(m);return}k.focusedCmp=m;if(k.shouldShowFocusFrame(m)){p="."+k.focusFrameCls+"-";a=k.focusFrame;h=i.getPageBox();o=h.top;b=h.left;l=h.width;e=h.height;g=a.child(p+"top");c=a.child(p+"bottom");n=a.child(p+"left");j=a.child(p+"right");g.setWidth(l).setLeftTop(b,o);c.setWidth(l).setLeftTop(b,o+e-2);n.setHeight(e-2).setLeftTop(b,o+2);j.setHeight(e-2).setLeftTop(b+l-2,o+2);a.show()}k.fireEvent("componentfocus",k,m,k.previousFocusedCmp)},onComponentHide:function(e){var d=this,b=false,a=d.focusedCmp,c;if(a){b=e.hasFocus||(e.isContainer&&e.isAncestor(d.focusedCmp))}d.clearComponent(e);if(b&&(c=e.up(":focusable"))){c.focus()}else{d.focusEl.focus()}},onComponentDestroy:function(){},removeDOM:function(){var a=this;if(a.enabled||a.subscribers.length){return}Ext.destroy(a.focusFrame);delete a.focusEl;delete a.focusFrame},removeXTypeFromWhitelist:function(b){var a=this;if(Ext.isArray(b)){Ext.Array.forEach(b,a.removeXTypeFromWhitelist,a);return}Ext.Array.remove(a.whitelist,b)},setupSubscriberKeys:function(a,g){var e=this,d=a.getFocusEl(),c=g.scope,b={backspace:e.focusLast,enter:e.navigateIn,esc:e.navigateOut,scope:e},h=function(i){if(e.focusedCmp===a){return e.navigateSiblings(i,e,a)}else{return e.navigateSiblings(i)}};Ext.iterate(g,function(j,i){b[j]=function(l){var k=h(l);if(Ext.isFunction(i)&&i.call(c||a,l,k)===true){return true}return k}},e);return new Ext.util.KeyNav(d,b)},shouldShowFocusFrame:function(c){var b=this,a=b.options||{},e=c.getFocusEl(),d=Ext.getDom(e).tagName;if(!b.focusFrame||!c){return false}if(a.focusFrame){return true}if(b.focusData[c.id].focusFrame){return true}return false}});Ext.define("Ext.Img",{extend:"Ext.Component",alias:["widget.image","widget.imagecomponent"],autoEl:"img",src:"",alt:"",imgCls:"",getElConfig:function(){var c=this,b=c.callParent(),a;if(c.autoEl=="img"){a=b}else{b.cn=[a={tag:"img",id:c.id+"-img"}]}if(c.imgCls){a.cls=(a.cls?a.cls+" ":"")+c.imgCls}a.src=c.src||Ext.BLANK_IMAGE_URL;if(c.alt){a.alt=c.alt}return b},onRender:function(){var b=this,a;b.callParent(arguments);a=b.el;b.imgEl=(b.autoEl=="img")?a:a.getById(b.id+"-img")},onDestroy:function(){Ext.destroy(this.imgEl);this.imgEl=null;this.callParent()},setSrc:function(c){var a=this,b=a.imgEl;a.src=c;if(b){b.dom.src=c||Ext.BLANK_IMAGE_URL}}});Ext.define("Ext.Layer",{extend:"Ext.Element",uses:["Ext.Shadow"],statics:{shims:[]},isLayer:true,constructor:function(b,a){b=b||{};var c=this,d=Ext.DomHelper,g=b.parentEl,e=g?Ext.getDom(g):document.body,h=b.hideMode;if(a){c.dom=Ext.getDom(a)}if(!c.dom){c.dom=d.append(e,b.dh||{tag:"div",cls:Ext.baseCSSPrefix+"layer"})}else{c.addCls(Ext.baseCSSPrefix+"layer");if(!c.dom.parentNode){e.appendChild(c.dom)}}if(b.id){c.id=c.dom.id=b.id}else{c.id=Ext.id(c.dom)}Ext.Element.addToCache(c);if(b.cls){c.addCls(b.cls)}c.constrain=b.constrain!==false;if(h){c.setVisibilityMode(Ext.Element[h.toUpperCase()]);if(c.visibilityMode==Ext.Element.ASCLASS){c.visibilityCls=b.visibilityCls}}else{if(b.useDisplay){c.setVisibilityMode(Ext.Element.DISPLAY)}else{c.setVisibilityMode(Ext.Element.VISIBILITY)}}if(b.shadow){c.shadowOffset=b.shadowOffset||4;c.shadow=new Ext.Shadow({offset:c.shadowOffset,mode:b.shadow});c.disableShadow()}else{c.shadowOffset=0}c.useShim=b.shim!==false&&Ext.useShims;if(b.hidden===true){c.hide()}else{c.show()}},getZIndex:function(){return parseInt((this.getShim()||this).getStyle("z-index"),10)},getShim:function(){var b=this,c,a;if(!b.useShim){return null}if(!b.shim){c=b.self.shims.shift();if(!c){c=b.createShim();c.enableDisplayMode("block");c.hide()}a=b.dom.parentNode;if(c.dom.parentNode!=a){a.insertBefore(c.dom,b.dom)}b.shim=c}return b.shim},hideShim:function(){var a=this;if(a.shim){a.shim.setDisplayed(false);a.self.shims.push(a.shim);delete a.shim}},disableShadow:function(){var a=this;if(a.shadow&&!a.shadowDisabled){a.shadowDisabled=true;a.shadow.hide();a.lastShadowOffset=a.shadowOffset;a.shadowOffset=0}},enableShadow:function(a){var b=this;if(b.shadow&&b.shadowDisabled){b.shadowDisabled=false;b.shadowOffset=b.lastShadowOffset;delete b.lastShadowOffset;if(a){b.sync(true)}}},sync:function(b){var j=this,n=j.shadow,i,e,a,d,c,o,m,g,k;if(!j.updating&&j.isVisible()&&(n||j.useShim)){d=j.getShim();c=j.getLocalX();o=j.getLocalY();m=j.dom.offsetWidth;g=j.dom.offsetHeight;if(n&&!j.shadowDisabled){if(b&&!n.isVisible()){n.show(j)}else{n.realign(c,o,m,g)}if(d){k=d.getStyle("z-index");if(k>j.zindex){j.shim.setStyle("z-index",j.zindex-2)}d.show();if(n.isVisible()){i=n.el.getXY();e=d.dom.style;a=n.el.getSize();if(Ext.supports.CSS3BoxShadow){a.height+=6;a.width+=4;i[0]-=2;i[1]-=4}e.left=(i[0])+"px";e.top=(i[1])+"px";e.width=(a.width)+"px";e.height=(a.height)+"px"}else{d.setSize(m,g);d.setLeftTop(c,o)}}}else{if(d){k=d.getStyle("z-index");if(k>j.zindex){j.shim.setStyle("z-index",j.zindex-2)}d.show();d.setSize(m,g);d.setLeftTop(c,o)}}}return j},remove:function(){this.hideUnders();this.callParent()},beginUpdate:function(){this.updating=true},endUpdate:function(){this.updating=false;this.sync(true)},hideUnders:function(){if(this.shadow){this.shadow.hide()}this.hideShim()},constrainXY:function(){if(this.constrain){var g=Ext.Element.getViewWidth(),b=Ext.Element.getViewHeight(),l=Ext.getDoc().getScroll(),k=this.getXY(),i=k[0],e=k[1],a=this.shadowOffset,j=this.dom.offsetWidth+a,c=this.dom.offsetHeight+a,d=false;if((i+j)>g+l.left){i=g-j-a;d=true}if((e+c)>b+l.top){e=b-c-a;d=true}if(i',floating:{shadow:"frame"},focusOnToFront:false,bringParentToFront:false,constructor:function(a,b){var c=this;if(!a.isComponent){a=Ext.get(a);this.isElement=true}c.ownerCt=a;if(!this.isElement){c.bindComponent(a)}c.callParent([b]);if(c.store){c.bindStore(c.store,true)}},bindComponent:function(a){var c=this,b={scope:this,resize:c.sizeMask,added:c.onComponentAdded,removed:c.onComponentRemoved},d=Ext.container.Container.hierarchyEventSource;if(a.floating){b.move=c.sizeMask;c.activeOwner=a}else{if(a.ownerCt){c.onComponentAdded(a.ownerCt)}else{c.preventBringToFront=true}}c.mon(a,b);c.mon(d,{show:c.onContainerShow,hide:c.onContainerHide,expand:c.onContainerExpand,collapse:c.onContainerCollapse,scope:c})},onComponentAdded:function(a){var b=this;delete b.activeOwner;b.floatParent=a;if(!a.floating){a=a.up("[floating]")}if(a){b.activeOwner=a;b.mon(a,"move",b.sizeMask,b)}a=b.floatParent.ownerCt;if(b.rendered&&b.isVisible()&&a){b.floatOwner=a;b.mon(a,"afterlayout",b.sizeMask,b,{single:true})}},onComponentRemoved:function(a){var c=this,d=c.activeOwner,b=c.floatOwner;if(d){c.mun(d,"move",c.sizeMask,c)}if(b){c.mun(b,"afterlayout",c.sizeMask,c)}delete c.activeOwner;delete c.floatOwner},afterRender:function(){this.callParent(arguments);this.container=this.floatParent.getContentTarget()},onContainerShow:function(a){if(this.isActiveContainer(a)){this.onComponentShow()}},onContainerHide:function(a){if(this.isActiveContainer(a)){this.onComponentHide()}},onContainerExpand:function(a){if(this.isActiveContainer(a)){this.onComponentShow()}},onContainerCollapse:function(a){if(this.isActiveContainer(a)){this.onComponentHide()}},isActiveContainer:function(a){return this.isDescendantOf(a)},onComponentHide:function(){var a=this;if(a.rendered&&a.isVisible()){a.hide();a.showNext=true}},onComponentShow:function(){if(this.showNext){this.show()}delete this.showNext},sizeMask:function(){var a=this,b;if(a.rendered&&a.isVisible()){a.center();b=a.getMaskTarget();a.getMaskEl().show().setSize(b.getSize()).alignTo(b,"tl-tl")}},bindStore:function(a,b){var c=this;c.mixins.bindable.bindStore.apply(c,arguments);a=c.store;if(a&&a.isLoading()){c.onBeforeLoad()}},getStoreListeners:function(){return{beforeload:this.onBeforeLoad,load:this.onLoad,exception:this.onLoad,cachemiss:this.onBeforeLoad,cachefilled:this.onLoad}},onDisable:function(){this.callParent(arguments);if(this.loading){this.onLoad()}},getOwner:function(){return this.ownerCt||this.floatParent},getMaskTarget:function(){var a=this.getOwner();return this.useTargetEl?a.getTargetEl():a.getEl()},onBeforeLoad:function(){var c=this,a=c.getOwner(),b;if(!c.disabled){c.loading=true;if(a.componentLayoutCounter){c.maybeShow()}else{b=a.afterComponentLayout;a.afterComponentLayout=function(){a.afterComponentLayout=b;b.apply(a,arguments);c.maybeShow()}}}},maybeShow:function(){var b=this,a=b.getOwner();if(!a.isVisible(true)){b.showNext=true}else{if(b.loading&&a.rendered){b.show()}}},getMaskEl:function(){var a=this;return a.maskEl||(a.maskEl=a.el.insertSibling({cls:a.maskCls,style:{zIndex:a.el.getStyle("zIndex")-2}},"before"))},onShow:function(){var b=this,a=b.msgEl;b.callParent(arguments);b.loading=true;if(b.useMsg){a.show().update(b.msg)}else{a.parent().hide()}},hide:function(){if(this.isElement){this.ownerCt.unmask();this.fireEvent("hide",this);return}delete this.showNext;return this.callParent(arguments)},onHide:function(){this.callParent();this.getMaskEl().hide()},show:function(){if(this.isElement){this.ownerCt.mask(this.useMsg?this.msg:"",this.msgCls);this.fireEvent("show",this);return}return this.callParent(arguments)},afterShow:function(){this.callParent(arguments);this.sizeMask()},setZIndex:function(b){var c=this,a=c.activeOwner;if(a){b=parseInt(a.el.getStyle("zIndex"),10)+1}c.getMaskEl().setStyle("zIndex",b-1);return c.mixins.floating.setZIndex.apply(c,arguments)},onLoad:function(){this.loading=false;this.hide()},onDestroy:function(){var a=this;if(a.isElement){a.ownerCt.unmask()}Ext.destroy(a.maskEl);a.callParent()}});Ext.define("Ext.data.association.Association",{alternateClassName:"Ext.data.Association",primaryKey:"id",defaultReaderType:"json",isAssociation:true,initialConfig:null,statics:{AUTO_ID:1000,create:function(a){if(Ext.isString(a)){a={type:a}}switch(a.type){case"belongsTo":return new Ext.data.association.BelongsTo(a);case"hasMany":return new Ext.data.association.HasMany(a);case"hasOne":return new Ext.data.association.HasOne(a);default:}return a}},constructor:function(a){Ext.apply(this,a);var d=this,b=Ext.ModelManager.types,c=a.ownerModel,g=a.associatedModel,e=b[c],h=b[g];d.initialConfig=a;d.ownerModel=e;d.associatedModel=h;Ext.applyIf(d,{ownerName:c,associatedName:g});d.associationId="association"+(++d.statics().AUTO_ID)},getReader:function(){var c=this,a=c.reader,b=c.associatedModel;if(a){if(Ext.isString(a)){a={type:a}}if(a.isReader){a.setModel(b)}else{Ext.applyIf(a,{model:b,type:c.defaultReaderType})}c.reader=Ext.createByAlias("reader."+a.type,a)}return c.reader||null}});Ext.define("Ext.ModelManager",{extend:"Ext.AbstractManager",alternateClassName:"Ext.ModelMgr",requires:["Ext.data.association.Association"],singleton:true,typeName:"mtype",associationStack:[],registerType:function(c,b){var d=b.prototype,a;if(d&&d.isModel){a=b}else{if(!b.extend){b.extend="Ext.data.Model"}a=Ext.define(c,b)}this.types[c]=a;return a},onModelDefined:function(c){var a=this.associationStack,g=a.length,e=[],b,d,h;for(d=0;d','
{text}
',"",'
','','
',"
{text}
","
","
","
"],componentLayout:"progressbar",initComponent:function(){this.callParent();this.addEvents("update")},initRenderData:function(){var a=this;return Ext.apply(a.callParent(),{internalText:!a.hasOwnProperty("textEl"),text:a.text||" ",percentage:a.value?a.value*100:0})},onRender:function(){var a=this;a.callParent(arguments);if(a.textEl){a.textEl=Ext.get(a.textEl);a.updateText(a.text)}else{a.textEl=a.el.select("."+a.baseCls+"-text")}},updateProgress:function(d,e,a){var c=this,b=c.value;c.value=d||0;if(e){c.updateText(e)}if(c.rendered&&!c.isDestroyed){if(a===true||(a!==false&&c.animate)){c.bar.stopAnimation();c.bar.animate(Ext.apply({from:{width:(b*100)+"%"},to:{width:(c.value*100)+"%"}},c.animate))}else{c.bar.setStyle("width",(c.value*100)+"%")}}c.fireEvent("update",c,c.value,e);return c},updateText:function(b){var a=this;a.text=b;if(a.rendered){a.textEl.update(a.text)}return a},applyText:function(a){this.updateText(a)},getText:function(){return this.text},wait:function(c){var b=this,a;if(!b.waitTimer){a=b;c=c||{};b.updateText(c.text);b.waitTimer=Ext.TaskManager.start({run:function(d){var e=c.increment||10;d-=1;b.updateProgress(((((d+e)%e)+1)*(100/e))*0.01,null,c.animate)},interval:c.interval||1000,duration:c.duration,onStop:function(){if(c.fn){c.fn.apply(c.scope||b)}b.reset()},scope:a})}return b},isWaiting:function(){return this.waitTimer!==null},reset:function(a){var b=this;b.updateProgress(0);b.clearTimer();if(a===true){b.hide()}return b},clearTimer:function(){var a=this;if(a.waitTimer){a.waitTimer.onStop=null;Ext.TaskManager.stop(a.waitTimer);a.waitTimer=null}},onDestroy:function(){var a=this;a.clearTimer();if(a.rendered){if(a.textEl.isComposite){a.textEl.clear()}Ext.destroyMembers(a,"textEl","progressBar")}a.callParent()}});Ext.define("Ext.ShadowPool",{singleton:true,requires:["Ext.DomHelper"],markup:(function(){return Ext.String.format('',Ext.baseCSSPrefix,Ext.isIE&&!Ext.supports.CSS3BoxShadow?"ie":"css")}()),shadows:[],pull:function(){var a=this.shadows.shift();if(!a){a=Ext.get(Ext.DomHelper.insertHtml("beforeBegin",document.body.firstChild,this.markup));a.autoBoxAdjust=false}return a},push:function(a){this.shadows.push(a)},reset:function(){var c=[].concat(this.shadows),b,a=c.length;for(b=0;b]+>/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,""));return isNaN(b)?0:b},asInt:function(a){var b=parseInt(String(a).replace(/,/g,""),10);return isNaN(b)?0:b}});Ext.define("Ext.data.Types",{singleton:true,requires:["Ext.data.SortTypes"]},function(){var a=Ext.data.SortTypes;Ext.apply(Ext.data.Types,{stripRe:/[\$,%]/g,AUTO:{sortType:a.none,type:"auto"},STRING:{convert:function(c){var b=this.useNull?null:"";return(c===undefined||c===null)?b:String(c)},sortType:a.asUCString,type:"string"},INT:{convert:function(b){return b!==undefined&&b!==null&&b!==""?parseInt(String(b).replace(Ext.data.Types.stripRe,""),10):(this.useNull?null:0)},sortType:a.none,type:"int"},FLOAT:{convert:function(b){return b!==undefined&&b!==null&&b!==""?parseFloat(String(b).replace(Ext.data.Types.stripRe,""),10):(this.useNull?null:0)},sortType:a.none,type:"float"},BOOL:{convert:function(b){if(this.useNull&&(b===undefined||b===null||b==="")){return null}return b===true||b==="true"||b==1},sortType:a.none,type:"bool"},DATE:{convert:function(c){var d=this.dateFormat,b;if(!c){return null}if(Ext.isDate(c)){return c}if(d){if(d=="timestamp"){return new Date(c*1000)}if(d=="time"){return new Date(parseInt(c,10))}return Ext.Date.parse(c,d)}b=Date.parse(c);return b?new Date(b):null},sortType:a.asDate,type:"date"}});Ext.apply(Ext.data.Types,{BOOLEAN:this.BOOL,INTEGER:this.INT,NUMBER:this.FLOAT})});Ext.define("Ext.data.Field",{requires:["Ext.data.Types","Ext.data.SortTypes"],alias:"data.field",isField:true,constructor:function(b){var d=this,c=Ext.data.Types,a;if(Ext.isString(b)){b={name:b}}Ext.apply(d,b);a=d.sortType;if(d.type){if(Ext.isString(d.type)){d.type=c[d.type.toUpperCase()]||c.AUTO}}else{d.type=c.AUTO}if(Ext.isString(a)){d.sortType=Ext.data.SortTypes[a]}else{if(Ext.isEmpty(a)){d.sortType=d.type.sortType}}if(!b.hasOwnProperty("convert")){d.convert=d.type.convert}else{if(!d.convert&&d.type.convert&&!b.hasOwnProperty("defaultValue")){d.defaultValue=d.type.convert(d.defaultValue)}}if(b.convert){d.hasCustomConvert=true}},dateFormat:null,useNull:false,defaultValue:"",mapping:null,sortType:null,sortDir:"ASC",allowBlank:true,persist:true});Ext.define("Ext.data.Errors",{extend:"Ext.util.MixedCollection",isValid:function(){return this.length===0},getByField:function(e){var d=[],a,c,b;for(b=0;b1){if(h.action=="update"||a[0].clientIdProperty){j=new Ext.util.MixedCollection();j.addAll(k);for(g=a.length;g--;){b=a[g];c=j.findBy(h.matchClientRec,b);b.copyFrom(c)}}else{for(d=0,e=a.length;da)){return false}else{return true}},email:function(b,a){return Ext.data.validations.emailRe.test(a)},format:function(a,b){return !!(a.matcher&&a.matcher.test(b))},inclusion:function(a,b){return a.list&&Ext.Array.indexOf(a.list,b)!=-1},exclusion:function(a,b){return a.list&&Ext.Array.indexOf(a.list,b)==-1}});Ext.define("Ext.data.Model",{alternateClassName:"Ext.data.Record",mixins:{observable:"Ext.util.Observable"},requires:["Ext.ModelManager","Ext.data.IdGenerator","Ext.data.Field","Ext.data.Errors","Ext.data.Operation","Ext.data.validations","Ext.util.MixedCollection"],compareConvertFields:function(a,d){var c=a.convert&&a.type&&a.convert!==a.type.convert,b=d.convert&&d.type&&d.convert!==d.type.convert;if(c&&!b){return 1}if(!c&&b){return -1}return 0},itemNameFn:function(a){return a.name},onClassExtended:function(b,c,a){var d=a.onBeforeCreated;a.onBeforeCreated=function(g,D){var C=this,E=Ext.getClassName(g),r=g.prototype,x=g.prototype.superclass,j=D.validations||[],t=D.fields||[],h,m=D.associations||[],e=function(G,I){var H=0,F,J;if(G){G=Ext.Array.from(G);for(F=G.length;H0;delete b.modifiedSave;delete b.dataSave;delete b.dirtySave;if(d&&a!==true){b.afterEdit(c)}}},getModifiedFieldNames:function(){var d=this,c=d.dataSave,e=d[d.persistenceProperty],a=[],b;for(b in e){if(e.hasOwnProperty(b)){if(!d.isEqual(e[b],c[b])){a.push(b)}}}return a},getChanges:function(){var a=this.modified,b={},c;for(c in a){if(a.hasOwnProperty(c)){b[c]=this.get(c)}}return b},isModified:function(a){return this.modified.hasOwnProperty(a)},setDirty:function(){var c=this,a=c.fields.items,g=a.length,e,b,d;c.dirty=true;for(d=0;d0){b=p.data.items;h=b.length;for(r=0;ra.maxSize){i=j.constrainedMax;d=a.maxSize}else{d=m}}}if(b){m=h.size;if(mh.maxSize){g=j.constrainedMax;k=h.maxSize}else{if(!e.collapsedVert&&!this.owner.manageHeight){c=false;e.bodyContext.setProp("margin-bottom",h.dockedPixelsEnd)}k=m}}}if(i||g){if(i&&g&&i.constrainedMax&&g.constrainedMin){e.invalidate({widthModel:i});return false}if(!e.widthModel.calculatedFromShrinkWrap&&!e.heightModel.calculatedFromShrinkWrap){e.invalidate({widthModel:i,heightModel:g});return false}}if(l){e.setWidth(d);if(i){e.widthModel=i}}if(b){e.setHeight(k,c);if(g){e.heightModel=g}}return true},finishPositions:function(d,a,h){var j=d.dockedItems,c=j.length,g=a.delta,e=h.delta,i,b;for(i=0;i/,constructor:function(){this.callParent(arguments);this.hackWidth=Ext.isIE&&(!Ext.isStrict||Ext.isIE6||Ext.isIE7||Ext.isIE8);this.heightIncludesPadding=Ext.isIE6&&Ext.isStrict},beginLayout:function(a){this.callParent(arguments);this.cacheTargetInfo(a)},beginLayoutCycle:function(e){var c=this,d="",a=c.owner,b=a.btnEl,i=a.btnInnerEl,g=a.text,h;c.callParent(arguments);i.setStyle("overflow",d);if(!e.widthModel.natural){a.el.setStyle("width",d)}h=e.heightModel.shrinkWrap&&g&&c.htmlRE.test(g);b.setStyle("width",d);b.setStyle("height",h?"auto":d);i.setStyle("width",d);i.setStyle("height",h?"auto":d);i.setStyle("line-height",h?"normal":d);i.setStyle("padding-top",d);a.btnIconEl.setStyle("width",d)},calculateOwnerHeightFromContentHeight:function(b,a){return a},calculateOwnerWidthFromContentWidth:function(b,a){return a},measureContentWidth:function(c){var i=this,b=i.owner,g=b.btnEl,d=b.btnInnerEl,l=b.text,m,j,h,a,k,e;if(b.text&&i.hackWidth&&g){m=i.btnFrameWidth;if(l.indexOf(">")===-1){l=l.replace(/=0){h.setProp("line-height",e-b+"px")}if(l&&j.htmlRE.test(l)){h.setProp("line-height","normal");d.setStyle("line-height","normal");k=Ext.util.TextMetrics.measure(d,l).height;n=Math.floor(Math.max(e-b-k,0)/2);h.setProp("padding-top",j.btnFrameTop+n);h.setHeight(e-(j.heightIncludesPadding?n:0))}},publishInnerWidth:function(g,c){var e=this,h=Ext.isNumber,a=g.getEl("btnEl"),b=g.getEl("btnInnerEl"),d=h(c)?c-e.adjWidth:c;a.setWidth(d);b.setWidth(d)},clearTargetCache:function(){delete this.adjWidth},cacheTargetInfo:function(b){var g=this,a=g.owner,d=a.scale,i,e,j,c,h;if(!("adjWidth" in g)||g.lastScale!==d){if(g.lastScale){a.btnInnerEl.setStyle("line-height","")}g.lastScale=d;i=b.getPaddingInfo();e=b.getFrameInfo();j=b.getEl("btnWrap").getPaddingInfo();c=b.getEl("btnInnerEl");h=c.getPaddingInfo();Ext.apply(g,{adjWidth:j.width+e.width+i.width,adjHeight:j.height+e.height+i.height,btnFrameWidth:h.width,btnFrameHeight:h.height,btnFrameTop:h.top,minTextHeight:parseInt(c.getStyle("line-height"),10)})}g.callParent(arguments)},finishedLayout:function(){var a=this.owner;this.callParent(arguments);if(Ext.isWebKit){a.el.dom.offsetWidth}}});Ext.define("Ext.menu.Manager",{singleton:true,requires:["Ext.util.MixedCollection","Ext.util.KeyMap"],alternateClassName:"Ext.menu.MenuMgr",uses:["Ext.menu.Menu"],menus:{},groups:{},attached:false,lastShow:new Date(),init:function(){var a=this;a.active=new Ext.util.MixedCollection();Ext.getDoc().addKeyListener(27,function(){if(a.active.length>0){a.hideAll()}},a)},hideAll:function(){var c=this.active,e,b,a,d;if(c&&c.length>0){e=c.clone();b=e.items;d=b.length;for(a=0;a50&&c.length>0&&!d.getTarget("."+Ext.baseCSSPrefix+"menu")){b.hideAll()}},register:function(b){var a=this;if(!a.active){a.init()}if(b.floating){a.menus[b.id]=b;b.on({beforehide:a.onBeforeHide,hide:a.onHide,beforeshow:a.onBeforeShow,show:a.onShow,scope:a})}},get:function(b){var a=this.menus;if(typeof b=="string"){if(!a){return null}return a[b]}else{if(b.isMenu){return b}else{if(Ext.isArray(b)){return new Ext.menu.Menu({items:b})}else{return Ext.ComponentManager.create(b,"menu")}}}},unregister:function(d){var a=this,b=a.menus,c=a.active;delete b[d.id];c.remove(d);d.un({beforehide:a.onBeforeHide,hide:a.onHide,beforeshow:a.onBeforeShow,show:a.onShow,scope:a})},registerCheckable:function(c){var a=this.groups,b=c.group;if(b){if(!a[b]){a[b]=[]}a[b].push(c)}},unregisterCheckable:function(c){var a=this.groups,b=c.group;if(b){Ext.Array.remove(a[b],c)}},onCheckChange:function(d,g){var a=this.groups,c=d.group,b=0,j,e,h;if(c&&g){j=a[c];e=j.length;for(;b class="{splitCls}">','',' tabIndex="{tabIndex}"',' disabled="disabled"',' role="link">','',"{text}","",' style="background-image:url({iconUrl})">',"","",'","","
",'','',""],scale:"small",allowedScales:["small","medium","large"],iconAlign:"left",arrowAlign:"right",arrowCls:"arrow",maskOnDisable:false,persistentPadding:undefined,shrinkWrap:3,frame:true,initComponent:function(){var a=this;a.callParent(arguments);a.addEvents("click","toggle","mouseover","mouseout","menushow","menuhide","menutriggerover","menutriggerout");if(a.menu){a.split=true;a.menu=Ext.menu.Manager.get(a.menu);a.menu.ownerButton=a}if(a.url){a.href=a.url}if(a.href&&!a.hasOwnProperty("preventDefault")){a.preventDefault=false}if(Ext.isString(a.toggleGroup)&&a.toggleGroup!==""){a.enableToggle=true}if(a.html&&!a.text){a.text=a.html;delete a.html}},getActionEl:function(){return this.btnEl},getFocusEl:function(){return this.useElForFocus?this.el:this.btnEl},onFocus:function(b){var a=this;a.useElForFocus=true;a.callParent(arguments);a.useElForFocus=false},onBlur:function(a){this.useElForFocus=true;this.callParent(arguments);this.useElForFocus=false},onDisable:function(){this.useElForFocus=true;this.callParent(arguments);this.useElForFocus=false},setComponentCls:function(){var b=this,a=b.getComponentCls();if(!Ext.isEmpty(b.oldCls)){b.removeClsWithUI(b.oldCls);b.removeClsWithUI(b.pressedCls)}b.oldCls=a;b.addClsWithUI(a)},getComponentCls:function(){var b=this,a=[];if(b.iconCls||b.icon){if(b.text){a.push("icon-text-"+b.iconAlign)}else{a.push("icon")}}else{if(b.text){a.push("noicon")}}if(b.pressed){a.push(b.pressedCls)}return a},beforeRender:function(){var a=this;a.callParent();a.oldCls=a.getComponentCls();a.addClsWithUI(a.oldCls);Ext.applyIf(a.renderData,a.getTemplateArgs());if(a.scale){a.setScale(a.scale)}},onRender:function(){var c=this,d,a,b;c.doc=Ext.getDoc();c.callParent(arguments);if(c.split&&c.arrowTooltip){c.arrowEl.dom.setAttribute(c.getTipAttr(),c.arrowTooltip)}a=c.el;if(c.tooltip){c.setTooltip(c.tooltip,true)}if(c.handleMouseEvents){b={scope:c,mouseover:c.onMouseOver,mouseout:c.onMouseOut,mousedown:c.onMouseDown};if(c.split){b.mousemove=c.onMouseMove}}else{b={scope:c}}if(c.menu){c.mon(c.menu,{scope:c,show:c.onMenuShow,hide:c.onMenuHide});c.keyMap=new Ext.util.KeyMap({target:c.el,key:Ext.EventObject.DOWN,handler:c.onDownKey,scope:c})}if(c.repeat){c.mon(new Ext.util.ClickRepeater(a,Ext.isObject(c.repeat)?c.repeat:{}),"click",c.onRepeatClick,c)}else{if(b[c.clickEvent]){d=true}else{b[c.clickEvent]=c.onClick}}c.mon(a,b);if(d){c.mon(a,c.clickEvent,c.onClick,c)}Ext.ButtonToggleManager.register(c)},getTemplateArgs:function(){var c=this,b=c.getPersistentPadding(),a="";if(Math.max.apply(Math,b)>0){a="margin:"+Ext.Array.map(b,function(d){return -d+"px"}).join(" ")}return{href:c.getHref(),disabled:c.disabled,hrefTarget:c.hrefTarget,type:c.type,btnCls:c.getBtnCls(),splitCls:c.getSplitCls(),iconUrl:c.icon,iconCls:c.iconCls,text:c.text||" ",tabIndex:c.tabIndex,innerSpanStyle:a}},getHref:function(){var a=this,b=Ext.apply({},a.baseParams);b=Ext.apply(b,a.params);return a.href?Ext.urlAppend(a.href,Ext.Object.toQueryString(b)):false},setParams:function(a){this.params=a;this.btnEl.dom.href=this.getHref()},getSplitCls:function(){var a=this;return a.split?(a.baseCls+"-"+a.arrowCls)+" "+(a.baseCls+"-"+a.arrowCls+"-"+a.arrowAlign):""},getBtnCls:function(){return this.textAlign?this.baseCls+"-"+this.textAlign:""},setIconCls:function(b){var d=this,a=d.btnIconEl,c=d.iconCls;d.iconCls=b;if(a){a.removeCls(c);a.addCls(b||"");d.setComponentCls();if(d.didIconStateChange(c,b)){d.updateLayout()}}return d},setTooltip:function(c,a){var b=this;if(b.rendered){if(!a){b.clearTip()}if(Ext.isObject(c)){Ext.tip.QuickTipManager.register(Ext.apply({target:b.btnEl.id},c));b.tooltip=c}else{b.btnEl.dom.setAttribute(b.getTipAttr(),c)}}else{b.tooltip=c}return b},setTextAlign:function(c){var b=this,a=b.btnEl;if(a){a.removeCls(b.baseCls+"-"+b.textAlign);a.addCls(b.baseCls+"-"+c)}b.textAlign=c;return b},getTipAttr:function(){return this.tooltipType=="qtip"?"data-qtip":"title"},getRefItems:function(a){var c=this.menu,b;if(c){b=c.getRefItems(a);b.unshift(c)}return b||[]},clearTip:function(){if(Ext.isObject(this.tooltip)){Ext.tip.QuickTipManager.unregister(this.btnEl)}},beforeDestroy:function(){var a=this;if(a.rendered){a.clearTip()}if(a.menu&&a.destroyMenu!==false){Ext.destroy(a.menu)}Ext.destroy(a.btnInnerEl,a.repeater);a.callParent()},onDestroy:function(){var a=this;if(a.rendered){a.doc.un("mouseover",a.monitorMouseOver,a);a.doc.un("mouseup",a.onMouseUp,a);delete a.doc;Ext.ButtonToggleManager.unregister(a);Ext.destroy(a.keyMap);delete a.keyMap}a.callParent()},setHandler:function(b,a){this.handler=b;this.scope=a;return this},setText:function(b){var a=this;a.text=b;if(a.rendered){a.btnInnerEl.update(b||" ");a.setComponentCls();if(Ext.isStrict&&Ext.isIE8){a.el.repaint()}a.updateLayout()}return a},setIcon:function(b){var c=this,a=c.btnIconEl,d=c.icon;c.icon=b;if(a){a.setStyle("background-image",b?"url("+b+")":"");c.setComponentCls();if(c.didIconStateChange(d,b)){c.updateLayout()}}return c},didIconStateChange:function(a,c){var b=Ext.isEmpty(c);return Ext.isEmpty(a)?!b:b},getText:function(){return this.text},toggle:function(c,a){var b=this;c=c===undefined?!b.pressed:!!c;if(c!==b.pressed){if(b.rendered){b[c?"addClsWithUI":"removeClsWithUI"](b.pressedCls)}b.pressed=c;if(!a){b.fireEvent("toggle",b,c);Ext.callback(b.toggleHandler,b.scope||b,[b,c])}}return b},maybeShowMenu:function(){var a=this;if(a.menu&&!a.hasVisibleMenu()&&!a.ignoreNextClick){a.showMenu()}},showMenu:function(){var a=this;if(a.rendered&&a.menu){if(a.tooltip&&a.getTipAttr()!="title"){Ext.tip.QuickTipManager.getQuickTip().cancelShow(a.btnEl)}if(a.menu.isVisible()){a.menu.hide()}a.menu.showBy(a.el,a.menuAlign,((!Ext.isStrict&&Ext.isIE)||Ext.isIE6)?[-2,-2]:undefined)}return a},hideMenu:function(){if(this.hasVisibleMenu()){this.menu.hide()}return this},hasVisibleMenu:function(){var a=this.menu;return a&&a.rendered&&a.isVisible()},onRepeatClick:function(a,b){this.onClick(b)},onClick:function(b){var a=this;if(a.preventDefault||(a.disabled&&a.getHref())&&b){b.preventDefault()}if(b.button!==0){return}if(!a.disabled){a.doToggle();a.maybeShowMenu();a.fireHandler(b)}},fireHandler:function(c){var b=this,a=b.handler;if(b.fireEvent("click",b,c)!==false){if(a){a.call(b.scope||b,b,c)}b.blur()}},doToggle:function(){var a=this;if(a.enableToggle&&(a.allowDepress!==false||!a.pressed)){a.toggle()}},onMouseOver:function(b){var a=this;if(!a.disabled&&!b.within(a.el,true,true)){a.onMouseEnter(b)}},onMouseOut:function(b){var a=this;if(!b.within(a.el,true,true)){if(a.overMenuTrigger){a.onMenuTriggerOut(b)}a.onMouseLeave(b)}},onMouseMove:function(h){var d=this,c=d.el,g=d.overMenuTrigger,b,a;if(d.split){if(d.arrowAlign==="right"){b=h.getX()-c.getX();a=c.getWidth()}else{b=h.getY()-c.getY();a=c.getHeight()}if(b>(a-d.getTriggerSize())){if(!g){d.onMenuTriggerOver(h)}}else{if(g){d.onMenuTriggerOut(h)}}}},getTriggerSize:function(){var e=this,c=e.triggerSize,b,a,d;if(c===d){b=e.arrowAlign;a=b.charAt(0);c=e.triggerSize=e.el.getFrameWidth(a)+e.btnWrap.getFrameWidth(a)+e.frameSize[b]}return c},onMouseEnter:function(b){var a=this;a.addClsWithUI(a.overCls);a.fireEvent("mouseover",a,b)},onMouseLeave:function(b){var a=this;a.removeClsWithUI(a.overCls);a.fireEvent("mouseout",a,b)},onMenuTriggerOver:function(b){var a=this;a.overMenuTrigger=true;a.fireEvent("menutriggerover",a,a.menu,b)},onMenuTriggerOut:function(b){var a=this;delete a.overMenuTrigger;a.fireEvent("menutriggerout",a,a.menu,b)},enable:function(a){var b=this;b.callParent(arguments);if(b.btnEl){b.btnEl.dom.disabled=false}b.removeClsWithUI("disabled");return b},disable:function(a){var b=this;b.callParent(arguments);if(b.btnEl){b.btnEl.dom.disabled=true}b.addClsWithUI("disabled");b.removeClsWithUI(b.overCls);if(b.btnInnerEl&&(Ext.isIE6||Ext.isIE7)){b.btnInnerEl.repaint()}return b},setScale:function(c){var a=this,b=a.ui.replace("-"+a.scale,"");if(!Ext.Array.contains(a.allowedScales,c)){throw ("#setScale: scale must be an allowed scale ("+a.allowedScales.join(", ")+")")}a.scale=c;a.setUI(b)},setUI:function(b){var a=this;if(a.scale&&!b.match(a.scale)){b=b+"-"+a.scale}a.callParent([b])},onMouseDown:function(b){var a=this;if(!a.disabled&&b.button===0){a.addClsWithUI(a.pressedCls);a.doc.on("mouseup",a.onMouseUp,a)}},onMouseUp:function(b){var a=this;if(b.button===0){if(!a.pressed){a.removeClsWithUI(a.pressedCls)}a.doc.un("mouseup",a.onMouseUp,a)}},onMenuShow:function(b){var a=this;a.ignoreNextClick=0;a.addClsWithUI(a.menuActiveCls);a.fireEvent("menushow",a,a.menu)},onMenuHide:function(b){var a=this;a.removeClsWithUI(a.menuActiveCls);a.ignoreNextClick=Ext.defer(a.restoreClick,250,a);a.fireEvent("menuhide",a,a.menu)},restoreClick:function(){this.ignoreNextClick=0},onDownKey:function(){var a=this;if(!a.disabled){if(a.menu){a.showMenu()}}},getPersistentPadding:function(){var g=this,e=Ext.scopeResetCSS,h=g.persistentPadding,b,a,d,i,c;if(!h){h=g.self.prototype.persistentPadding=[0,0,0,0];if(!Ext.isIE){b=new Ext.button.Button({text:"test",style:"position:absolute;top:-999px;"});b.el=Ext.DomHelper.append(Ext.resetElement,b.getRenderTree(),true);b.applyChildEls(b.el);d=b.btnEl;i=b.btnInnerEl;d.setSize(null,null);a=i.getOffsetsTo(d);h[0]=a[1];h[1]=d.getWidth()-i.getWidth()-a[0];h[2]=d.getHeight()-i.getHeight()-a[1];h[3]=a[0];b.destroy();b.el.remove()}}return h}},function(){var a={},b=function(d,j){if(j){var h=a[d.toggleGroup],e=h.length,c;for(c=0;c(None)',constructor:function(b){var a=this;a.callParent(arguments);a.triggerButtonCls=a.triggerButtonCls||Ext.baseCSSPrefix+"box-menu-"+b.getNames().right;a.menuItems=[]},beginLayout:function(a){this.callParent(arguments);this.clearOverflow(a)},beginLayoutCycle:function(b,a){this.callParent(arguments);if(!a){this.clearOverflow(b);this.layout.cacheChildItems(b)}},onRemove:function(a){Ext.Array.remove(this.menuItems,a)},getSuffixConfig:function(){var c=this,b=c.layout,a=b.owner.id;c.menu=new Ext.menu.Menu({listeners:{scope:c,beforeshow:c.beforeMenuShow}});c.menuTrigger=new Ext.button.Button({id:a+"-menu-trigger",cls:Ext.layout.container.Box.prototype.innerCls+" "+c.triggerButtonCls,hidden:true,ownerCt:b.owner,ownerLayout:b,iconCls:Ext.baseCSSPrefix+c.getOwnerType(b.owner)+"-more-icon",ui:b.owner instanceof Ext.toolbar.Toolbar?"default-toolbar":"default",menu:c.menu,getSplitCls:function(){return""}});return c.menuTrigger.getRenderTree()},getOverflowCls:function(){return Ext.baseCSSPrefix+this.layout.direction+"-box-overflow-body"},handleOverflow:function(d){var c=this,b=c.layout,g=b.getNames(),e=d.state.boxPlan,a=[null,null];c.showTrigger(d);a[g.heightIndex]=(e.maxSize-c.menuTrigger[g.getHeight]())/2;c.menuTrigger.setPosition.apply(c.menuTrigger,a);return{reservedSpace:c.menuTrigger[g.getWidth]()}},captureChildElements:function(){var a=this.menuTrigger;if(a.rendering){a.finishRender()}},_asLayoutRoot:{isRoot:true},clearOverflow:function(h){var g=this,b=g.menuItems,e,c=0,d=b.length,a=g.layout.owner,j=g._asLayoutRoot;a.suspendLayouts();g.captureChildElements();g.hideTrigger();a.resumeLayouts();for(;cb){j=q.target;o.menuItems.push(j);j.hide()}}a.resumeLayouts()},hideTrigger:function(){var a=this.menuTrigger;if(a){a.hide()}},beforeMenuShow:function(j){var h=this,b=h.menuItems,d=0,a=b.length,g,e,c=function(k,i){return k.isXType("buttongroup")&&!(i instanceof Ext.toolbar.Separator)};j.suspendLayouts();h.clearMenu();j.removeAll();for(;d=this.getMaxScrollPosition()},scrollTo:function(a,b){var g=this,e=g.layout,h=e.getNames(),d=g.getScrollPosition(),c=Ext.Number.constrain(a,0,g.getMaxScrollPosition());if(c!=d&&!g.scrolling){delete g.scrollPosition;if(b===undefined){b=g.animateScroll}e.innerCt.scrollTo(h.left,c,b?g.getScrollAnim():false);if(b){g.scrolling=true}else{g.updateScrollButtons()}g.fireEvent("scroll",g,c,b?g.getScrollAnim():false)}},scrollToItem:function(h,b){var g=this,e=g.layout,i=e.getNames(),a,d,c;h=g.getItem(h);if(h!==undefined){a=g.getItemVisibility(h);if(!a.fullyVisible){d=h.getBox(true,true);c=d[i.x];if(a.hiddenEnd){c-=(g.layout.innerCt["get"+i.widthCap]()-d[i.width])}g.scrollTo(c,b)}}},getItemVisibility:function(j){var h=this,b=h.getItem(j).getBox(true,true),c=h.layout,g=c.getNames(),e=b[g.x],d=e+b[g.width],a=h.getScrollPosition(),i=a+c.innerCt["get"+g.widthCap]();return{hiddenStart:ei,fullyVisible:e>a&&d=a.x&&b.right<=a.right&&b.y>=a.y&&b.bottom<=a.bottom)},intersect:function(h){var g=this,d=Math.max(g.y,h.y),e=Math.min(g.right,h.right),a=Math.min(g.bottom,h.bottom),c=Math.max(g.x,h.x);if(a>d&&e>c){return new this.self(d,e,a,c)}else{return false}},union:function(h){var g=this,d=Math.min(g.y,h.y),e=Math.max(g.right,h.right),a=Math.max(g.bottom,h.bottom),c=Math.min(g.x,h.x);return new this.self(d,e,a,c)},constrainTo:function(b){var a=this,c=Ext.Number.constrain;a.top=a.y=c(a.top,b.y,b.bottom);a.bottom=c(a.bottom,b.y,b.bottom);a.left=a.x=c(a.left,b.x,b.right);a.right=c(a.right,b.x,b.right);return a},adjust:function(d,g,a,c){var e=this;e.top=e.y+=d;e.left=e.x+=c;e.right+=g;e.bottom+=a;return e},getOutOfBoundOffset:function(a,b){if(!Ext.isObject(a)){if(a=="x"){return this.getOutOfBoundOffsetX(b)}else{return this.getOutOfBoundOffsetY(b)}}else{b=a;var c=new Ext.util.Offset();c.x=this.getOutOfBoundOffsetX(b.x);c.y=this.getOutOfBoundOffsetY(b.y);return c}},getOutOfBoundOffsetX:function(a){if(a<=this.x){return this.x-a}else{if(a>=this.right){return this.right-a}}return 0},getOutOfBoundOffsetY:function(a){if(a<=this.y){return this.y-a}else{if(a>=this.bottom){return this.bottom-a}}return 0},isOutOfBound:function(a,b){if(!Ext.isObject(a)){if(a=="x"){return this.isOutOfBoundX(b)}else{return this.isOutOfBoundY(b)}}else{b=a;return(this.isOutOfBoundX(b.x)||this.isOutOfBoundY(b.y))}},isOutOfBoundX:function(a){return(athis.right)},isOutOfBoundY:function(a){return(athis.bottom)},restrict:function(b,d,a){if(Ext.isObject(b)){var c;a=d;d=b;if(d.copy){c=d.copy()}else{c={x:d.x,y:d.y}}c.x=this.restrictX(d.x,a);c.y=this.restrictY(d.y,a);return c}else{if(b=="x"){return this.restrictX(d,a)}else{return this.restrictY(d,a)}}},restrictX:function(b,a){if(!a){a=1}if(b<=this.x){b-=(b-this.x)*a}else{if(b>=this.right){b-=(b-this.right)*a}}return b},restrictY:function(b,a){if(!a){a=1}if(b<=this.y){b-=(b-this.y)*a}else{if(b>=this.bottom){b-=(b-this.bottom)*a}}return b},getSize:function(){return{width:this.right-this.x,height:this.bottom-this.y}},copy:function(){return new this.self(this.y,this.right,this.bottom,this.x)},copyFrom:function(b){var a=this;a.top=a.y=a[1]=b.y;a.right=b.right;a.bottom=b.bottom;a.left=a.x=a[0]=b.x;return this},toString:function(){return"Region["+this.top+","+this.right+","+this.bottom+","+this.left+"]"},translateBy:function(a,c){if(arguments.length==1){c=a.y;a=a.x}var b=this;b.top=b.y+=c;b.right+=a;b.bottom+=c;b.left=b.x+=a;return b},round:function(){var a=this;a.top=a.y=Math.round(a.y);a.right=Math.round(a.right);a.bottom=Math.round(a.bottom);a.left=a.x=Math.round(a.x);return a},equals:function(a){return(this.top==a.top&&this.right==a.right&&this.bottom==a.bottom&&this.left==a.left)}});Ext.define("Ext.dd.DragDropManager",{singleton:true,requires:["Ext.util.Region"],uses:["Ext.tip.QuickTipManager"],alternateClassName:["Ext.dd.DragDropMgr","Ext.dd.DDM"],ids:{},handleIds:{},dragCurrent:null,dragOvers:{},deltaX:0,deltaY:0,preventDefault:true,stopPropagation:true,initialized:false,locked:false,init:function(){this.initialized=true},POINT:0,INTERSECT:1,mode:0,notifyOccluded:false,_execOnAll:function(c,b){var d,a,e;for(d in this.ids){for(a in this.ids[d]){e=this.ids[d][a];if(!this.isTypeOfDD(e)){continue}e[c].apply(e,b)}}},_onLoad:function(){this.init();var a=Ext.EventManager;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(a){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(b,a){if(!this.initialized){this.init()}if(!this.ids[a]){this.ids[a]={}}this.ids[a][b.id]=b},removeDDFromGroup:function(c,a){if(!this.ids[a]){this.ids[a]={}}var b=this.ids[a];if(b&&b[c.id]){delete b[c.id]}},_remove:function(b){for(var a in b.groups){if(a&&this.ids[a]&&this.ids[a][b.id]){delete this.ids[a][b.id]}}delete this.handleIds[b.id]},regHandle:function(b,a){if(!this.handleIds[b]){this.handleIds[b]={}}this.handleIds[b][a]=a},isDragDrop:function(a){return(this.getDDById(a))?true:false},getRelated:function(g,b){var e=[],d,c,a;for(d in g.groups){for(c in this.ids[d]){a=this.ids[d][c];if(!this.isTypeOfDD(a)){continue}if(!b||a.isTarget){e[e.length]=a}}}return e},isLegalTarget:function(e,d){var b=this.getRelated(e,true),c,a;for(c=0,a=b.length;cc.clickPixelThresh||a>c.clickPixelThresh){c.startDrag(c.startX,c.startY)}}if(c.dragThreshMet){c.dragCurrent.b4Drag(d);c.dragCurrent.onDrag(d);if(!c.dragCurrent.moveOnly){c.fireEvents(d,false)}}c.stopEvent(d);return true},fireEvents:function(n,q){var p=this,k=p.dragCurrent,r=n.getPoint(),b,t,d=[],a=[],g=[],l=[],j=[],c=[],o,h,m,s;if(!k||k.isLocked()){return}for(h in p.dragOvers){b=p.dragOvers[h];if(!p.isTypeOfDD(b)){continue}if(!this.isOverTarget(r,b,p.mode)){g.push(b)}a[h]=true;delete p.dragOvers[h]}for(s in k.groups){if("string"!=typeof s){continue}for(h in p.ids[s]){b=p.ids[s][h];if(p.isTypeOfDD(b)&&(t=b.getEl())&&(b.isTarget)&&(!b.isLocked())&&(Ext.fly(t).isVisible(true))&&((b!=k)||(k.ignoreSelf===false))){if((b.zIndex=p.getZIndex(t))!==-1){o=true}d.push(b)}}}if(o){Ext.Array.sort(d,p.byZIndex)}for(h=0,m=d.length;h','
',"{%this.renderBody(out, values)%}","
","","{%if (oh.getSuffixConfig!==Ext.emptyFn) {","if(oc=oh.getSuffixConfig())dh.generateMarkup(oc, out)","}%}",{disableFormats:true,definitions:"var dh=Ext.DomHelper;"}],constructor:function(a){var c=this,b;c.callParent(arguments);c.flexSortFn=Ext.Function.bind(c.flexSort,c);c.initOverflowHandler();b=typeof c.padding;if(b=="string"||b=="number"){c.padding=Ext.util.Format.parseBox(c.padding);c.padding.height=c.padding.top+c.padding.bottom;c.padding.width=c.padding.left+c.padding.right}},getNames:function(){return this.names},_percentageRe:/^\s*(\d+(?:\.\d*)?)\s*[%]\s*$/,getItemSizePolicy:function(m,n){var j=this,h=j.sizePolicy,g=j.align,e=m.flex,k=g,i=j.names,a=m[i.width],l=m[i.height],c=j._percentageRe,b=c.test(a),d=(g=="stretch");if((d||e||b)&&!n){n=j.owner.getSizeModel()}if(d){if(!c.test(l)&&n[i.height].shrinkWrap){k="stretchmax"}}else{if(g!="stretchmax"){if(c.test(l)){k="stretch"}else{k=""}}}if(e||b){if(!n[i.width].shrinkWrap){h=h.flex}}return h[k]},flexSort:function(d,c){var e=this.getNames().maxWidth,g=Infinity;d=d.target[e]||g;c=c.target[e]||g;if(!isFinite(d)&&!isFinite(c)){return 0}return d-c},isItemBoxParent:function(a){return true},isItemShrinkWrap:function(a){return true},minSizeSortFn:function(d,c){return c.available-d.available},roundFlex:function(a){return Math.ceil(a)},beginCollapse:function(b){var a=this;if(a.direction==="vertical"&&b.collapsedVertical()){b.collapseMemento.capture(["flex"]);delete b.flex}else{if(a.direction==="horizontal"&&b.collapsedHorizontal()){b.collapseMemento.capture(["flex"]);delete b.flex}}},beginExpand:function(a){a.collapseMemento.restore(["flex"])},beginLayout:function(c){var b=this,e=b.owner.stretchMaxPartner,a=b.innerCt.dom.style,d=b.getNames();c.boxNames=d;b.overflowHandler.beginLayout(c);if(typeof e==="string"){e=Ext.getCmp(e)||b.owner.query(e)[0]}c.stretchMaxPartner=e&&c.context.getCmp(e);b.callParent(arguments);c.innerCtContext=c.getEl("innerCt",b);b.scrollParallel=!!(b.owner.autoScroll||b.owner[d.overflowX]);b.scrollPerpendicular=!!(b.owner.autoScroll||b.owner[d.overflowY]);if(b.scrollParallel){b.scrollPos=b.owner.getTargetEl().dom[d.scrollLeft]}a.width="";a.height=""},beginLayoutCycle:function(e,a){var d=this,h=d.align,g=e.boxNames,b=d.pack,c=g.heightModel;d.overflowHandler.beginLayoutCycle(e,a);d.callParent(arguments);e.parallelSizeModel=e[g.widthModel];e.perpendicularSizeModel=e[c];e.boxOptions={align:h={stretch:h=="stretch",stretchmax:h=="stretchmax",center:h==g.center},pack:b={center:b=="center",end:b=="end"}};if(h.stretch&&e.perpendicularSizeModel.shrinkWrap){h.stretchmax=true;h.stretch=false}h.nostretch=!(h.stretch||h.stretchmax);if(e.parallelSizeModel.shrinkWrap){b.center=b.end=false}d.cacheFlexes(e);if(Ext.isWebKit){d.targetEl.setWidth(20000)}},cacheFlexes:function(k){var u=this,l=k.boxNames,a=l.widthModel,d=l.heightModel,c=k.boxOptions.align.nostretch,o=0,b=k.childItems,q=b.length,s=[],m=0,j=l.minWidth,g=u._percentageRe,r=0,t=0,e,n,p,h;while(q--){n=b[q];e=n.target;if(n[a].calculated){n.flex=p=e.flex;if(p){o+=p;s.push(n);m+=e[j]||0}else{h=g.exec(e[l.width]);n.percentageParallel=parseFloat(h[1])/100;++r}}if(c&&n[d].calculated){h=g.exec(e[l.height]);n.percentagePerpendicular=parseFloat(h[1])/100;++t}}k.flexedItems=s;k.flexedMinSize=m;k.totalFlex=o;k.percentageWidths=r;k.percentageHeights=t;Ext.Array.sort(s,u.flexSortFn)},calculate:function(d){var b=this,a=b.getContainerSize(d),g=d.boxNames,c=d.state,e=c.boxPlan||(c.boxPlan={});e.targetSize=a;if(!d.parallelSizeModel.shrinkWrap&&!a[g.gotWidth]){b.done=false;return}if(!c.parallelDone){c.parallelDone=b.calculateParallel(d,g,e)}if(!c.perpendicularDone){c.perpendicularDone=b.calculatePerpendicular(d,g,e)}if(c.parallelDone&&c.perpendicularDone){if(b.owner.dock&&(Ext.isIE6||Ext.isIE7||Ext.isIEQuirks)&&!b.owner.width&&!b.horizontal){e.isIEVerticalDock=true;e.calculatedWidth=e.maxSize+d.getPaddingInfo().width+d.getFrameInfo().width}b.publishInnerCtSize(d,b.reserveOffset?b.availableSpaceOffset:0);if(b.done&&d.childItems.length>1&&d.boxOptions.align.stretchmax&&!c.stretchMaxDone){b.calculateStretchMax(d,g,e);c.stretchMaxDone=true}}else{b.done=false}},calculateParallel:function(k,n,b){var F=this,z=n.width,a=k.childItems,d=n.left,r=n.right,q=n.setWidth,A=a.length,x=k.flexedItems,s=x.length,v=k.boxOptions.pack,m=F.padding,h=b.targetSize[z],B=0,e=m[d],E=e+m[r]+F.scrollOffset+(F.reserveOffset?F.availableSpaceOffset:0),w=Ext.getScrollbarSize()[n.width],u,l,g,y,o,t,D,p,C,c,j;if(w&&F.scrollPerpendicular&&k.parallelSizeModel.shrinkWrap&&!k.boxOptions.align.stretch&&!k.perpendicularSizeModel.shrinkWrap){if(!k.state.perpendicularDone){return false}C=true}for(u=0;ub.targetSize[n.height])){p+=w;k[n.hasOverflowY]=true;k.target.componentLayout[n.setWidthInDom]=true;k[n.invalidateScrollY]=(Ext.isStrict&&Ext.isIE8)}k[n.setContentWidth](p);return true},calculatePerpendicular:function(r,v,c){var G=this,a=r.perpendicularSizeModel.shrinkWrap,d=c.targetSize,b=r.childItems,E=b.length,J=Math.max,H=v.height,m=v.setHeight,p=v.top,F=v.y,u=G.padding,w=u[p],h=d[H]-w-u[v.bottom],B=r.boxOptions.align,o=B.stretch,z=B.stretchmax,n=B.center,A=0,g=0,l=Ext.getScrollbarSize().height,I,C,e,t,s,y,x,k,j,q,D;if(o||(n&&!a)){if(isNaN(h)){return false}}if(G.scrollParallel&&c.tooNarrow){if(a){q=true}else{h-=l;c.targetSize[H]-=l}}if(o){y=h}else{for(C=0;C0){I=w+Math.round(s/2)}}}x.setProp(F,I)}return true},calculateStretchMax:function(d,k,m){var l=this,h=k.height,n=k.width,g=d.childItems,b=g.length,o=m.maxSize,a=l.onBeforeInvalidateChild,q=l.onAfterInvalidateChild,p,j,e,c;for(e=0;e":{xtype:"tbfill",height:0}},1:{"->":{xtype:"tbfill",width:0}}}},initComponent:function(){var b=this,a;if(!b.layout&&b.enableOverflow){b.layout={overflowHandler:"Menu"}}if(b.dock==="right"||b.dock==="left"){b.vertical=true}b.layout=Ext.applyIf(Ext.isString(b.layout)?{type:b.layout}:b.layout||{},{type:b.vertical?"vbox":"hbox",align:b.vertical?"stretchmax":"middle"});if(b.vertical){b.addClsWithUI("vertical")}if(b.ui==="footer"){b.ignoreBorderManagement=true}b.callParent();b.addEvents("overflowchange")},getRefItems:function(a){var e=this,b=e.callParent(arguments),d=e.layout,c;if(a&&e.enableOverflow){c=d.overflowHandler;if(c&&c.menu){b=b.concat(c.menu.getRefItems(a))}}return b},lookupComponent:function(d){if(typeof d=="string"){var b=Ext.toolbar.Toolbar,a=b.shortcutsHV[this.vertical?1:0][d]||b.shortcuts[d];if(typeof a=="string"){d={xtype:a}}else{if(a){d=Ext.apply({},a)}else{d={xtype:"tbtext",text:d}}}this.applyDefaults(d)}return this.callParent(arguments)},applyDefaults:function(a){if(!Ext.isString(a)){a=this.callParent(arguments)}return a},trackMenu:function(c,a){if(this.trackMenus&&c.menu){var d=a?"mun":"mon",b=this;b[d](c,"mouseover",b.onButtonOver,b);b[d](c,"menushow",b.onButtonMenuShow,b);b[d](c,"menuhide",b.onButtonMenuHide,b)}},constructButton:function(a){return a.events?a:Ext.widget(a.split?"splitbutton":this.defaultType,a)},onBeforeAdd:function(a){if(a.is("field")||(a.is("button")&&this.ui!="footer")){a.ui=a.ui+"-toolbar"}if(a instanceof Ext.toolbar.Separator){a.setUI((this.vertical)?"vertical":"horizontal")}this.callParent(arguments)},onAdd:function(a){this.callParent(arguments);this.trackMenu(a)},onRemove:function(a){this.callParent(arguments);this.trackMenu(a,true)},getChildItemsToDisable:function(){return this.items.getRange()},onButtonOver:function(a){if(this.activeMenuBtn&&this.activeMenuBtn!=a){this.activeMenuBtn.hideMenu();a.showMenu();this.activeMenuBtn=a}},onButtonMenuShow:function(a){this.activeMenuBtn=a},onButtonMenuHide:function(a){delete this.activeMenuBtn}});Ext.define("Ext.container.DockingContainer",{requires:["Ext.util.MixedCollection","Ext.Element"],isDockingContainer:true,defaultDockWeights:{top:{render:1,visual:1},left:{render:3,visual:5},right:{render:5,visual:7},bottom:{render:7,visual:3}},dockOrder:{top:-1,left:-1,right:1,bottom:1},addDocked:function(a,g){var e=this,b=0,d,c;a=e.prepareItems(a);c=a.length;for(;b":"",'
{bodyCls}',' {baseCls}-body-{ui}',' {parent.baseCls}-body-{parent.ui}-{.}','" style="{bodyStyle}">',"{%this.renderContainer(out,values);%}","
","{% this.renderDockedItems(out,values,1); %}"],bodyPosProps:{x:"x",y:"y"},border:true,emptyArray:[],initComponent:function(){var a=this;if(a.frame&&a.border&&a.bodyBorder===undefined){a.bodyBorder=false}if(a.frame&&a.border&&(a.bodyBorder===false||a.bodyBorder===0)){a.manageBodyBorders=true}a.callParent()},beforeDestroy:function(){this.destroyDockedItems();this.callParent()},initItems:function(){this.callParent();this.initDockingItems()},initRenderData:function(){var a=this,b=a.callParent();a.initBodyStyles();a.protoBody.writeTo(b);delete a.protoBody;return b},getComponent:function(a){var b=this.callParent(arguments);if(b===undefined&&!Ext.isNumber(a)){b=this.getDockedComponent(a)}return b},getProtoBody:function(){var b=this,a=b.protoBody;if(!a){b.protoBody=a=new Ext.util.ProtoElement({cls:b.bodyCls,style:b.bodyStyle,clsProp:"bodyCls",styleProp:"bodyStyle",styleIsText:true})}return a},initBodyStyles:function(){var c=this,a=c.getProtoBody(),b=Ext.Element;if(c.bodyPadding!==undefined){a.setStyle("padding",b.unitizeBox((c.bodyPadding===true)?5:c.bodyPadding))}if(c.frame&&c.bodyBorder){if(!Ext.isNumber(c.bodyBorder)){c.bodyBorder=1}a.setStyle("border-width",b.unitizeBox(c.bodyBorder))}},getCollapsedDockedItems:function(){var a=this;return a.collapseMode=="placeholder"?a.emptyArray:[a.getReExpander()]},setBodyStyle:function(b,d){var c=this,a=c.rendered?c.body:c.getProtoBody();if(Ext.isFunction(b)){b=b()}if(arguments.length==1){if(Ext.isString(b)){b=Ext.Element.parseStyles(b)}a.setStyle(b)}else{a.setStyle(b,d)}return c},addBodyCls:function(b){var c=this,a=c.rendered?c.body:c.getProtoBody();a.addCls(b);return c},removeBodyCls:function(b){var c=this,a=c.rendered?c.body:c.getProtoBody();a.removeCls(b);return c},addUIClsToElement:function(b){var c=this,a=c.callParent(arguments);c.addBodyCls([Ext.baseCSSPrefix+b,c.baseCls+"-body-"+b,c.baseCls+"-body-"+c.ui+"-"+b]);return a},removeUIClsFromElement:function(b){var c=this,a=c.callParent(arguments);c.removeBodyCls([Ext.baseCSSPrefix+b,c.baseCls+"-body-"+b,c.baseCls+"-body-"+c.ui+"-"+b]);return a},addUIToElement:function(){var a=this;a.callParent(arguments);a.addBodyCls(a.baseCls+"-body-"+a.ui)},removeUIFromElement:function(){var a=this;a.callParent(arguments);a.removeBodyCls(a.baseCls+"-body-"+a.ui)},getTargetEl:function(){return this.body},getRefItems:function(a){var b=this.callParent(arguments);return this.getDockingRefItems(a,b)},setupRenderTpl:function(a){this.callParent(arguments);this.setupDockingRenderTpl(a)}});Ext.define("Ext.layout.component.Body",{alias:["layout.body"],extend:"Ext.layout.component.Auto",type:"body",beginLayout:function(a){this.callParent(arguments);a.bodyContext=a.getEl("body")},calculateOwnerHeightFromContentHeight:function(c,b){var a=this.callParent(arguments);if(c.targetContext!=c){a+=c.getPaddingInfo().height}return a},calculateOwnerWidthFromContentWidth:function(c,a){var b=this.callParent(arguments);if(c.targetContext!=c){b+=c.getPaddingInfo().width}return b},measureContentWidth:function(a){return a.bodyContext.setWidth(a.bodyContext.el.dom.offsetWidth,false)},measureContentHeight:function(a){return a.bodyContext.setHeight(a.bodyContext.el.dom.offsetHeight,false)},publishInnerHeight:function(c,a){var d=a-c.getFrameInfo().height,b=c.targetContext;if(b!=c){d-=c.getPaddingInfo().height}return c.bodyContext.setHeight(d,!c.heightModel.natural)},publishInnerWidth:function(d,c){var a=c-d.getFrameInfo().width,b=d.targetContext;if(b!=d){a-=d.getPaddingInfo().width}d.bodyContext.setWidth(a,!d.widthModel.natural)}});Ext.define("Ext.panel.Header",{extend:"Ext.container.Container",uses:["Ext.panel.Tool","Ext.draw.Component","Ext.util.CSS","Ext.layout.component.Body","Ext.Img"],alias:"widget.header",isHeader:true,defaultType:"tool",indicateDrag:false,weight:-1,componentLayout:"body",titleAlign:"left",childEls:["body"],renderTpl:['
{parent.baseCls}-body-{parent.ui}-{.}"',' style="{bodyStyle}">',"{%this.renderContainer(out,values)%}","
"],headingTpl:'{title}',shrinkWrap:3,initComponent:function(){var b=this,e,d,a,c,g;b.addEvents("click","dblclick");b.indicateDragCls=b.baseCls+"-draggable";b.title=b.title||" ";b.tools=b.tools||[];b.items=b.items||[];b.orientation=b.orientation||"horizontal";b.dock=(b.dock)?b.dock:(b.orientation=="horizontal")?"top":"left";b.addClsWithUI([b.orientation,b.dock]);if(b.indicateDrag){b.addCls(b.indicateDragCls)}if(!Ext.isEmpty(b.iconCls)||!Ext.isEmpty(b.icon)){b.initIconCmp();b.items.push(b.iconCmp)}if(b.orientation=="vertical"){b.layout={type:"vbox",align:"center"};b.textConfig={width:16,cls:b.baseCls+"-text",type:"text",text:b.title,rotate:{degrees:90}};c=b.ui;if(Ext.isArray(c)){c=c[0]}e="."+b.baseCls+"-text-"+c;if(Ext.scopeResetCSS){e="."+Ext.baseCSSPrefix+"reset "+e}d=Ext.util.CSS.getRule(e);if(d){a=d.style}else{a=(g=Ext.resetElement.createChild({style:"position:absolute",cls:b.baseCls+"-text-"+c})).getStyles("fontFamily","fontWeight","fontSize","color");g.remove()}if(a){Ext.apply(b.textConfig,{"font-family":a.fontFamily,"font-weight":a.fontWeight,"font-size":a.fontSize,fill:a.color})}b.titleCmp=new Ext.draw.Component({width:16,ariaRole:"heading",focusable:false,viewBox:false,flex:1,id:b.id+"_hd",autoSize:true,items:b.textConfig,xhooks:{setSize:function(h){this.callParent([h])}},childEls:[{name:"textEl",select:"."+b.baseCls+"-text"}]})}else{b.layout={type:"hbox",align:"middle"};b.titleCmp=new Ext.Component({ariaRole:"heading",focusable:false,noWrap:true,flex:1,id:b.id+"_hd",style:"text-align:"+b.titleAlign,cls:b.baseCls+"-text-container",renderTpl:b.getTpl("headingTpl"),renderData:{title:b.title,cls:b.baseCls,ui:b.ui},childEls:["textEl"]})}b.items.push(b.titleCmp);b.items=b.items.concat(b.tools);b.callParent();b.on({dblclick:b.onDblClick,click:b.onClick,element:"el",scope:b})},initIconCmp:function(){var b=this,a={focusable:false,src:Ext.BLANK_IMAGE_URL,cls:[b.baseCls+"-icon",b.iconCls],id:b.id+"-iconEl",iconCls:b.iconCls};if(!Ext.isEmpty(b.icon)){delete a.iconCls;a.src=b.icon}b.iconCmp=new Ext.Img(a)},afterRender:function(){this.el.unselectable();this.callParent()},addUIClsToElement:function(b){var e=this,a=e.callParent(arguments),d=[e.baseCls+"-body-"+b,e.baseCls+"-body-"+e.ui+"-"+b],g,c;if(e.bodyCls){g=e.bodyCls.split(" ");for(c=0;c=e.duration),g,i;g=this.collectTargetData(e,a,h,c);if(h){e.target.setAttr(g.anims[e.id].attributes,true);d.collectTargetData(e,e.duration,h,c);e.paused=true;g=e.target.target;if(e.target.isComposite){g=e.target.target.last()}i={};i[Ext.supports.CSS3TransitionEnd]=e.lastFrame;i.scope=e;i.single=true;g.on(i)}},collectTargetData:function(c,a,e,g){var b=c.target.getId(),d=this.targetArr[b];if(!d){d=this.targetArr[b]={id:b,el:c.target,anims:{}}}d.anims[c.id]={id:c.id,anim:c,elapsed:a,isLastFrame:g,attributes:[{duration:c.duration,easing:(e&&c.reverse)?c.easingFn.reverse().toCSS3():c.easing,attrs:c.runAnim(a)}]};return d},applyPendingAttrs:function(){var e=this.targetArr,g,c,b,d,a;for(c in e){if(e.hasOwnProperty(c)){g=e[c];for(a in g.anims){if(g.anims.hasOwnProperty(a)){b=g.anims[a];d=b.anim;if(b.attributes&&d.isRunning()){g.el.setAttr(b.attributes,false,b.isLastFrame);if(b.isLastFrame){d.lastFrame()}}}}}}}});Ext.define("Ext.fx.Animator",{mixins:{observable:"Ext.util.Observable"},requires:["Ext.fx.Manager"],isAnimator:true,duration:250,delay:0,delayStart:0,dynamic:false,easing:"ease",running:false,paused:false,damper:1,iterations:1,currentIteration:0,keyframeStep:0,animKeyFramesRE:/^(from|to|\d+%?)$/,constructor:function(a){var b=this;a=Ext.apply(b,a||{});b.config=a;b.id=Ext.id(null,"ext-animator-");b.addEvents("beforeanimate","keyframe","afteranimate");b.mixins.observable.constructor.call(b,a);b.timeline=[];b.createTimeline(b.keyframes);if(b.target){b.applyAnimator(b.target);Ext.fx.Manager.addAnim(b)}},sorter:function(d,c){return d.pct-c.pct},createTimeline:function(g){var k=this,n=[],l=k.to||{},c=k.duration,o,a,e,j,m,b,d,h;for(m in g){if(g.hasOwnProperty(m)&&k.animKeyFramesRE.test(m)){h={attrs:Ext.apply(g[m],l)};if(m=="from"){m=0}else{if(m=="to"){m=100}}h.pct=parseInt(m,10);n.push(h)}}Ext.Array.sort(n,k.sorter);j=n.length;for(e=0;e0},isRunning:function(){return false}});Ext.define("Ext.fx.CubicBezier",{singleton:true,cubicBezierAtTime:function(o,d,b,n,m,i){var j=3*d,l=3*(n-d)-j,a=1-j-l,h=3*b,k=3*(m-b)-h,p=1-h-k;function g(q){return((a*q+l)*q+j)*q}function c(q,s){var r=e(q,s);return((p*r+k)*r+h)*r}function e(q,y){var w,v,t,r,u,s;for(t=q,s=0;s<8;s++){r=g(t)-q;if(Math.abs(r)v){return v}while(wr){w=t}else{v=t}t=(v-w)/2+w}return t}return c(o,1/(200*i))},cubicBezier:function(b,e,a,c){var d=function(g){return Ext.fx.CubicBezier.cubicBezierAtTime(g,b,e,a,c,1)};d.toCSS3=function(){return"cubic-bezier("+[b,e,a,c].join(",")+")"};d.reverse=function(){return Ext.fx.CubicBezier.cubicBezier(1-a,1-c,1-b,1-e)};return d}});Ext.ns("Ext.fx");Ext.require("Ext.fx.CubicBezier",function(){var e=Math,h=e.PI,d=e.pow,b=e.sin,g=e.sqrt,a=e.abs,c=1.70158;Ext.fx.Easing={};Ext.apply(Ext.fx.Easing,{linear:function(i){return i},ease:function(l){var i=0.07813-l/2,m=-0.25,o=g(0.0066+i*i),r=o-i,k=d(a(r),1/3)*(r<0?-1:1),p=-o-i,j=d(a(p),1/3)*(p<0?-1:1),s=k+j+0.25;return d(1-s,2)*3*s*0.1+(1-s)*3*s*s+s*s*s},easeIn:function(i){return d(i,1.7)},easeOut:function(i){return d(i,0.48)},easeInOut:function(r){var l=0.48-r/1.04,k=g(0.1734+l*l),i=k-l,p=d(a(i),1/3)*(i<0?-1:1),o=-k-l,m=d(a(o),1/3)*(o<0?-1:1),j=p+m+0.5;return(1-j)*3*j*j+j*j*j},backIn:function(i){return i*i*((c+1)*i-c)},backOut:function(i){i=i-1;return i*i*((c+1)*i+c)+1},elasticIn:function(k){if(k===0||k===1){return k}var j=0.3,i=j/4;return d(2,-10*k)*b((k-i)*(2*h)/j)+1},elasticOut:function(i){return 1-Ext.fx.Easing.elasticIn(1-i)},bounceIn:function(i){return 1-Ext.fx.Easing.bounceOut(1-i)},bounceOut:function(m){var j=7.5625,k=2.75,i;if(m<(1/k)){i=j*m*m}else{if(m<(2/k)){m-=(1.5/k);i=j*m*m+0.75}else{if(m<(2.5/k)){m-=(2.25/k);i=j*m*m+0.9375}else{m-=(2.625/k);i=j*m*m+0.984375}}}return i}});Ext.apply(Ext.fx.Easing,{"back-in":Ext.fx.Easing.backIn,"back-out":Ext.fx.Easing.backOut,"ease-in":Ext.fx.Easing.easeIn,"ease-out":Ext.fx.Easing.easeOut,"elastic-in":Ext.fx.Easing.elasticIn,"elastic-out":Ext.fx.Easing.elasticIn,"bounce-in":Ext.fx.Easing.bounceIn,"bounce-out":Ext.fx.Easing.bounceOut,"ease-in-out":Ext.fx.Easing.easeInOut})});Ext.define("Ext.draw.Color",{colorToHexRe:/(.*?)rgb\((\d+),\s*(\d+),\s*(\d+)\)/,rgbRe:/\s*rgb\s*\(\s*([0-9]+)\s*,\s*([0-9]+)\s*,\s*([0-9]+)\s*\)\s*/,hexRe:/\s*#([0-9a-fA-F][0-9a-fA-F]?)([0-9a-fA-F][0-9a-fA-F]?)([0-9a-fA-F][0-9a-fA-F]?)\s*/,lightnessFactor:0.2,constructor:function(d,c,a){var b=this,e=Ext.Number.constrain;b.r=e(d,0,255);b.g=e(c,0,255);b.b=e(a,0,255)},getRed:function(){return this.r},getGreen:function(){return this.g},getBlue:function(){return this.b},getRGB:function(){var a=this;return[a.r,a.g,a.b]},getHSL:function(){var j=this,a=j.r/255,i=j.g/255,k=j.b/255,m=Math.max(a,i,k),d=Math.min(a,i,k),n=m-d,e,o=0,c=0.5*(m+d);if(d!=m){o=(c<0.5)?n/(m+d):n/(2-m-d);if(a==m){e=60*(i-k)/n}else{if(i==m){e=120+60*(k-a)/n}else{e=240+60*(a-i)/n}}if(e<0){e+=360}if(e>=360){e-=360}}return[e,o,c]},getLighter:function(b){var a=this.getHSL();b=b||this.lightnessFactor;a[2]=Ext.Number.constrain(a[2]+b,0,1);return this.fromHSL(a[0],a[1],a[2])},getDarker:function(a){a=a||this.lightnessFactor;return this.getLighter(-a)},toString:function(){var h=this,c=Math.round,e=c(h.r).toString(16),d=c(h.g).toString(16),a=c(h.b).toString(16);e=(e.length==1)?"0"+e:e;d=(d.length==1)?"0"+d:d;a=(a.length==1)?"0"+a:a;return["#",e,d,a].join("")},toHex:function(b){if(Ext.isArray(b)){b=b[0]}if(!Ext.isString(b)){return""}if(b.substr(0,1)==="#"){return b}var e=this.colorToHexRe.exec(b),g,d,a,c;if(Ext.isArray(e)){g=parseInt(e[2],10);d=parseInt(e[3],10);a=parseInt(e[4],10);c=a|(d<<8)|(g<<16);return e[1]+"#"+("000000"+c.toString(16)).slice(-6)}else{return b}},fromString:function(i){var c,e,d,a,h=parseInt;if((i.length==4||i.length==7)&&i.substr(0,1)==="#"){c=i.match(this.hexRe);if(c){e=h(c[1],16)>>0;d=h(c[2],16)>>0;a=h(c[3],16)>>0;if(i.length==4){e+=(e*16);d+=(d*16);a+=(a*16)}}}else{c=i.match(this.rgbRe);if(c){e=c[1];d=c[2];a=c[3]}}return(typeof e=="undefined")?undefined:new Ext.draw.Color(e,d,a)},getGrayscale:function(){return this.r*0.3+this.g*0.59+this.b*0.11},fromHSL:function(g,o,d){var a,b,c,e,k=[],n=Math.abs,j=Math.floor;if(o==0||g==null){k=[d,d,d]}else{g/=60;a=o*(1-n(2*d-1));b=a*(1-n(g-2*j(g/2)-1));c=d-a/2;switch(j(g)){case 0:k=[a,b,0];break;case 1:k=[b,a,0];break;case 2:k=[0,a,b];break;case 3:k=[0,b,a];break;case 4:k=[b,0,a];break;case 5:k=[a,0,b];break}k=[k[0]+c,k[1]+c,k[2]+c]}return new Ext.draw.Color(k[0]*255,k[1]*255,k[2]*255)}},function(){var a=this.prototype;this.addStatics({fromHSL:function(){return a.fromHSL.apply(a,arguments)},fromString:function(){return a.fromString.apply(a,arguments)},toHex:function(){return a.toHex.apply(a,arguments)}})});Ext.define("Ext.draw.Draw",{singleton:true,requires:["Ext.draw.Color"],pathToStringRE:/,?([achlmqrstvxz]),?/gi,pathCommandRE:/([achlmqstvz])[\s,]*((-?\d*\.?\d*(?:e[-+]?\d+)?\s*,?\s*)+)/ig,pathValuesRE:/(-?\d*\.?\d*(?:e[-+]?\d+)?)\s*,?\s*/ig,stopsRE:/^(\d+%?)$/,radian:Math.PI/180,availableAnimAttrs:{along:"along",blur:null,"clip-rect":"csv",cx:null,cy:null,fill:"color","fill-opacity":null,"font-size":null,height:null,opacity:null,path:"path",r:null,rotation:"csv",rx:null,ry:null,scale:"csv",stroke:"color","stroke-opacity":null,"stroke-width":null,translation:"csv",width:null,x:null,y:null},is:function(b,a){a=String(a).toLowerCase();return(a=="object"&&b===Object(b))||(a=="undefined"&&typeof b==a)||(a=="null"&&b===null)||(a=="array"&&Array.isArray&&Array.isArray(b))||(Object.prototype.toString.call(b).toLowerCase().slice(8,-1))==a},ellipsePath:function(b){var a=b.attr;return Ext.String.format("M{0},{1}A{2},{3},0,1,1,{0},{4}A{2},{3},0,1,1,{0},{1}z",a.x,a.y-a.ry,a.rx,a.ry,a.y+a.ry)},rectPath:function(b){var a=b.attr;if(a.radius){return Ext.String.format("M{0},{1}l{2},0a{3},{3},0,0,1,{3},{3}l0,{5}a{3},{3},0,0,1,{4},{3}l{6},0a{3},{3},0,0,1,{4},{4}l0,{7}a{3},{3},0,0,1,{3},{4}z",a.x+a.radius,a.y,a.width-a.radius*2,a.radius,-a.radius,a.height-a.radius*2,a.radius*2-a.width,a.radius*2-a.height)}else{return Ext.String.format("M{0},{1}L{2},{1},{2},{3},{0},{3}z",a.x,a.y,a.width+a.x,a.height+a.y)}},path2string:function(){return this.join(",").replace(Ext.draw.Draw.pathToStringRE,"$1")},pathToString:function(a){return a.join(",").replace(Ext.draw.Draw.pathToStringRE,"$1")},parsePathString:function(a){if(!a){return null}var d={a:7,c:6,h:1,l:2,m:2,q:4,s:4,t:2,v:1,z:0},c=[],b=this;if(b.is(a,"array")&&b.is(a[0],"array")){c=b.pathClone(a)}if(!c.length){String(a).replace(b.pathCommandRE,function(g,e,j){var i=[],h=e.toLowerCase();j.replace(b.pathValuesRE,function(l,k){k&&i.push(+k)});if(h=="m"&&i.length>2){c.push([e].concat(Ext.Array.splice(i,0,2)));h="l";e=(e=="m")?"l":"L"}while(i.length>=d[h]){c.push([e].concat(Ext.Array.splice(i,0,d[h])));if(!d[h]){break}}})}c.toString=b.path2string;return c},mapPath:function(l,g){if(!g){return l}var h,e,c,k,a,d,b;l=this.path2curve(l);for(c=0,k=l.length;c7){h[b].shift();e=h[b];while(e.length){Ext.Array.splice(h,b++,0,["C"].concat(Ext.Array.splice(e,0,6)))}Ext.Array.erase(h,b,1);c=h.length;b--}a=h[b];g=a.length;j.x=a[g-2];j.y=a[g-1];j.bx=parseFloat(a[g-4])||j.x;j.by=parseFloat(a[g-3])||j.y}return h},interpolatePaths:function(r,l){var j=this,d=j.pathToAbsolute(r),m=j.pathToAbsolute(l),n={x:0,y:0,bx:0,by:0,X:0,Y:0,qx:null,qy:null},a={x:0,y:0,bx:0,by:0,X:0,Y:0,qx:null,qy:null},b=function(p,s){if(p[s].length>7){p[s].shift();var t=p[s];while(t.length){Ext.Array.splice(p,s++,0,["C"].concat(Ext.Array.splice(t,0,6)))}Ext.Array.erase(p,s,1);o=Math.max(d.length,m.length||0)}},c=function(v,u,s,p,t){if(v&&u&&v[t][0]=="M"&&u[t][0]!="M"){Ext.Array.splice(u,t,0,["M",p.x,p.y]);s.bx=0;s.by=0;s.x=v[t][1];s.y=v[t][2];o=Math.max(d.length,m.length||0)}},h,o,g,q,e,k;for(h=0,o=Math.max(d.length,m.length||0);h1){ac=X(ac);J=ac*J;H=ac*H}d=J*J;T=H*H;W=(o==j?-1:1)*X(w((d*T-d*P*P-T*Q*Q)/(d*P*P+T*Q*Q)));E=W*J*P/H+(v+u)/2;D=W*-H*Q/J+(ah+ag)/2;n=p(((ah-D)/H).toFixed(7));m=p(((ag-D)/H).toFixed(7));n=vm){n=n-e*2}if(!j&&m>n){m=m-e*2}}else{n=C[0];m=C[1];E=C[2];D=C[3]}s=m-n;if(w(s)>G){F=m;I=u;q=ag;m=n+G*(j&&m>n?1:-1);u=E+J*V(m);ag=D+H*a(m);O=z.arc2curve(u,ag,J,H,B,0,j,I,q,[m,F,E,D])}s=m-n;l=V(n);af=a(n);g=V(m);ae=a(m);R=L.tan(s/4);U=4/3*J*R;S=4/3*H*R;ad=[v,ah];ab=[v+U*af,ah-S*l];aa=[u+U*ae,ag-S*g];Y=[u,ag];ab[0]=2*ad[0]-ab[0];ab[1]=2*ad[1]-ab[1];if(C){return[ab,aa,Y].concat(O)}else{O=[ab,aa,Y].concat(O).join().split(",");N=[];M=O.length;for(Z=0;Z(a[1]-c[1])*(b[0]-c[0])},intersectIntersection:function(n,m,g,d){var c=[],b=g[0]-d[0],a=g[1]-d[1],k=n[0]-m[0],i=n[1]-m[1],l=g[0]*d[1]-g[1]*d[0],j=n[0]*m[1]-n[1]*m[0],h=1/(b*i-a*k);c[0]=(l*k-j*b)*h;c[1]=(l*i-j*a)*h;return c},intersect:function(o,c){var n=this,k=0,m=c.length,h=c[m-1],q=o,g,r,l,p,a,b,d;for(;k0){v.push(g)}}else{j=t-3*q+3*n-m;p=2*(t-q-q+n);h=t-q;u=p*p-4*j*h;e=j+j;if(u===0){g=p/e;if(g<1&&g>0){v.push(g)}}else{if(u>0){w=Math.sqrt(u);g=(w+p)/e;if(g<1&&g>0){v.push(g)}g=(p-w)/e;if(g<1&&g>0){v.push(g)}}}}k=Math.min(t,m);o=Math.max(t,m);for(l=0;l=d&&j>=u)||(j<=d&&j<=u)){h=l=r}else{h=g((k-e)/m(j-d));if(dr){c-=p}h+=c;l+=c;o=k-t*a(h);n=j+t*b(h);x=k+s*a(l);w=j+s*b(l);if((j>d&&nd)){o+=m(d-n)*(o-k)/(n-j);n=d}if((j>u&&wu)){x-=m(u-w)*(x-k)/(w-j);w=u}return{x1:o,y1:n,x2:x,y2:w}},smooth:function(a,r){var q=this.path2curve(a),e=[q[0]],k=q[0][1],h=q[0][2],s,u,v=1,l=q.length,g=1,n=k,m=h,c=0,b=0,A,z,w,o,t,p,d;for(;v=b.x&&a<=(b.x+b.width)&&c>=b.y&&c<=(b.y+b.height))},parseGradient:function(k){var e=this,g=k.type||"linear",c=k.angle||0,i=e.radian,l=k.stops,a=[],j,b,h,d;if(g=="linear"){b=[0,0,Math.cos(c*i),Math.sin(c*i)];h=1/(Math.max(Math.abs(b[2]),Math.abs(b[3]))||1);b[2]*=h;b[3]*=h;if(b[2]<0){b[0]=-b[2];b[2]=0}if(b[3]<0){b[1]=-b[3];b[3]=0}}for(j in l){if(l.hasOwnProperty(j)&&e.stopsRE.test(j)){d={offset:parseInt(j,10),color:Ext.draw.Color.toHex(l[j].color)||"#ffffff",opacity:l[j].opacity||1};a.push(d)}}Ext.Array.sort(a,e.sorter);if(g=="linear"){return{id:k.id,type:g,vector:b,stops:a}}else{return{id:k.id,type:g,centerX:k.centerX,centerY:k.centerY,focalX:k.focalX,focalY:k.focalY,radius:k.radius,vector:b,stops:a}}}});Ext.define("Ext.fx.PropertyHandler",{requires:["Ext.draw.Draw"],statics:{defaultHandler:{pixelDefaultsRE:/width|height|top$|bottom$|left$|right$/i,unitRE:/^(-?\d*\.?\d*){1}(em|ex|px|in|cm|mm|pt|pc|%)*$/,scrollRE:/^scroll/i,computeDelta:function(j,c,a,g,i){a=(typeof a=="number")?a:1;var h=this.unitRE,d=h.exec(j),b,e;if(d){j=d[1];e=d[2];if(!this.scrollRE.test(i)&&!e&&this.pixelDefaultsRE.test(i)){e="px"}}j=+j||0;d=h.exec(c);if(d){c=d[1];e=d[2]||e}c=+c||0;b=(g!=null)?g:j;return{from:j,delta:(c-b)*a,units:e}},get:function(o,b,a,n,k){var m=o.length,d=[],e,h,l,c,g;for(e=0;e=d){l=d;a=true}if(i.reverse){l=d-l}for(e in k){if(k.hasOwnProperty(e)){j=k[e];h=a?1:c(l/d);g[e]=b[e].set(j,h)}}i.frameCount++;return g},lastFrame:function(){var c=this,a=c.iterations,b=c.currentIteration;b++;if(b0},isRunning:function(){return this.paused===false&&this.running===true&&this.isAnimator!==true}});Ext.enableFx=true;Ext.define("Ext.dd.DragDrop",{requires:["Ext.dd.DragDropManager"],constructor:function(c,a,b){if(c){this.init(c,a,b)}},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(a,b){},startDrag:function(a,b){},b4Drag:function(a){},onDrag:function(a){},onDragEnter:function(a,b){},b4DragOver:function(a){},onDragOver:function(a,b){},b4DragOut:function(a){},onDragOut:function(a,b){},b4DragDrop:function(a){},onDragDrop:function(a,b){},onInvalidDrop:function(a){},b4EndDrag:function(a){},endDrag:function(a){},b4MouseDown:function(a){},onMouseDown:function(a){},onMouseUp:function(a){},onAvailable:function(){},defaultPadding:{left:0,right:0,top:0,bottom:0},constrainTo:function(i,g,n){if(Ext.isNumber(g)){g={left:g,right:g,top:g,bottom:g}}g=g||this.defaultPadding;var k=Ext.get(this.getEl()).getBox(),a=Ext.get(i),m=a.getScroll(),j,d=a.dom,l,h,e;if(d==document.body){j={x:m.left,y:m.top,width:Ext.Element.getViewWidth(),height:Ext.Element.getViewHeight()}}else{l=a.getXY();j={x:l[0],y:l[1],width:d.clientWidth,height:d.clientHeight}}h=k.y-j.y;e=k.x-j.x;this.resetConstraints();this.setXConstraint(e-(g.left||0),j.width-e-k.width-(g.right||0),this.xTickSize);this.setYConstraint(h-(g.top||0),j.height-h-k.height-(g.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(c,a,b){this.initTarget(c,a,b);Ext.EventManager.on(this.id,"mousedown",this.handleMouseDown,this)},initTarget:function(c,a,b){this.config=b||{};this.DDMInstance=Ext.dd.DragDropManager;this.groups={};if(typeof c!=="string"){c=Ext.id(c)}this.id=c;this.addToGroup((a)?a:"default");this.handleElId=c;this.setDragElId(c);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(c,a,d,b){if(!a&&0!==a){this.padding=[c,c,c,c]}else{if(!d&&0!==d){this.padding=[c,a,c,a]}else{this.padding=[c,a,d,b]}}},setInitPosition:function(d,c){var e=this.getEl(),b,a,g;if(!this.DDMInstance.verifyEl(e)){return}b=d||0;a=c||0;g=Ext.Element.getXY(e);this.initPageX=g[0]-b;this.initPageY=g[1]-a;this.lastPageX=g[0];this.lastPageY=g[1];this.setStartPosition(g)},setStartPosition:function(b){var a=b||Ext.Element.getXY(this.getEl());this.deltaSetXY=null;this.startPageX=a[0];this.startPageY=a[1]},addToGroup:function(a){this.groups[a]=true;this.DDMInstance.regDragDrop(this,a)},removeFromGroup:function(a){if(this.groups[a]){delete this.groups[a]}this.DDMInstance.removeDDFromGroup(this,a)},setDragElId:function(a){this.dragElId=a},setHandleElId:function(a){if(typeof a!=="string"){a=Ext.id(a)}this.handleElId=a;this.DDMInstance.regHandle(this.id,a)},setOuterHandleElId:function(a){if(typeof a!=="string"){a=Ext.id(a)}Ext.EventManager.on(a,"mousedown",this.handleMouseDown,this);this.setHandleElId(a);this.hasOuterHandles=true},unreg:function(){Ext.EventManager.un(this.id,"mousedown",this.handleMouseDown,this);this._domRef=null;this.DDMInstance._remove(this)},destroy:function(){this.unreg()},isLocked:function(){return(this.DDMInstance.isLocked()||this.locked)},handleMouseDown:function(b,a){if(this.primaryButtonOnly&&b.button!=0){return}if(this.isLocked()){return}this.DDMInstance.refreshCache(this.groups);if(this.hasOuterHandles||this.DDMInstance.isOverTarget(b.getPoint(),this)){if(this.clickValidator(b)){this.setStartPosition();this.b4MouseDown(b);this.onMouseDown(b);this.DDMInstance.handleMouseDown(b,this);this.DDMInstance.stopEvent(b)}}},clickValidator:function(b){var a=b.getTarget();return(this.isValidHandleChild(a)&&(this.id==this.handleElId||this.DDMInstance.handleWasClicked(a,this.id)))},addInvalidHandleType:function(a){var b=a.toUpperCase();this.invalidHandleTypes[b]=b},addInvalidHandleId:function(a){if(typeof a!=="string"){a=Ext.id(a)}this.invalidHandleIds[a]=a},addInvalidHandleClass:function(a){this.invalidHandleClasses.push(a)},removeInvalidHandleType:function(a){var b=a.toUpperCase();delete this.invalidHandleTypes[b]},removeInvalidHandleId:function(a){if(typeof a!=="string"){a=Ext.id(a)}delete this.invalidHandleIds[a]},removeInvalidHandleClass:function(b){for(var c=0,a=this.invalidHandleClasses.length;c=this.minX;b=b-a){if(!c[b]){this.xTicks[this.xTicks.length]=b;c[b]=true}}for(b=this.initPageX;b<=this.maxX;b=b+a){if(!c[b]){this.xTicks[this.xTicks.length]=b;c[b]=true}}Ext.Array.sort(this.xTicks,this.DDMInstance.numericSort)},setYTicks:function(d,a){this.yTicks=[];this.yTickSize=a;var c={},b;for(b=this.initPageY;b>=this.minY;b=b-a){if(!c[b]){this.yTicks[this.yTicks.length]=b;c[b]=true}}for(b=this.initPageY;b<=this.maxY;b=b+a){if(!c[b]){this.yTicks[this.yTicks.length]=b;c[b]=true}}Ext.Array.sort(this.yTicks,this.DDMInstance.numericSort)},setXConstraint:function(c,b,a){this.leftConstraint=c;this.rightConstraint=b;this.minX=this.initPageX-c;this.maxX=this.initPageX+b;if(a){this.setXTicks(this.initPageX,a)}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(a,c,b){this.topConstraint=a;this.bottomConstraint=c;this.minY=this.initPageY-a;this.maxY=this.initPageY+c;if(b){this.setYTicks(this.initPageY,b)}this.constrainY=true},resetConstraints:function(){if(this.initPageX||this.initPageX===0){var b=(this.maintainOffset)?this.lastPageX-this.initPageX:0,a=(this.maintainOffset)?this.lastPageY-this.initPageY:0;this.setInitPosition(b,a)}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(h,d){if(!d){return h}else{if(d[0]>=h){return d[0]}else{var b,a,c,g,e;for(b=0,a=d.length;b=h){g=h-d[b];e=d[c]-h;return(e>g)?d[b]:d[c]}}return d[d.length-1]}}},toString:function(){return("DragDrop "+this.id)}});Ext.define("Ext.dd.DD",{extend:"Ext.dd.DragDrop",requires:["Ext.dd.DragDropManager"],constructor:function(c,a,b){if(c){this.init(c,a,b)}},scroll:true,autoOffset:function(c,b){var a=c-this.startPageX,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(b,e,c){var g=this.getTargetCoord(e,c),d=b.dom?b:Ext.fly(b,"_dd"),l=d.getSize(),i=Ext.Element,j,a,k,h;if(!this.deltaSetXY){j=this.cachedViewportSize={width:i.getDocumentWidth(),height:i.getDocumentHeight()};a=[Math.max(0,Math.min(g.x,j.width-l.width)),Math.max(0,Math.min(g.y,j.height-l.height))];d.setXY(a);k=d.getLocalX();h=d.getLocalY();this.deltaSetXY=[k-g.x,h-g.y]}else{j=this.cachedViewportSize;d.setLeftTop(Math.max(0,Math.min(g.x+this.deltaSetXY[0],j.width-l.width)),Math.max(0,Math.min(g.y+this.deltaSetXY[1],j.height-l.height)))}this.cachePosition(g.x,g.y);this.autoScroll(g.x,g.y,b.offsetHeight,b.offsetWidth);return g},cachePosition:function(b,a){if(b){this.lastPageX=b;this.lastPageY=a}else{var c=Ext.Element.getXY(this.getEl());this.lastPageX=c[0];this.lastPageY=c[1]}},autoScroll:function(l,k,e,m){if(this.scroll){var n=Ext.Element.getViewHeight(),b=Ext.Element.getViewWidth(),p=this.DDMInstance.getScrollTop(),d=this.DDMInstance.getScrollLeft(),j=e+k,o=m+l,i=(n+p-k-this.deltaY),g=(b+d-l-this.deltaX),c=40,a=(document.all)?80:30;if(j>n&&i0&&k-pb&&g0&&l-dthis.maxX){a=this.maxX}}if(this.constrainY){if(dthis.maxY){d=this.maxY}}a=this.getTick(a,this.xTicks);d=this.getTick(d,this.yTicks);return{x:a,y:d}},applyConfig:function(){this.callParent();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.define("Ext.dd.DDProxy",{extend:"Ext.dd.DD",statics:{dragElId:"ygddfdiv"},constructor:function(c,a,b){if(c){this.init(c,a,b);this.initFrame()}},resizeFrame:true,centerFrame:false,createFrame:function(){var b=this,a=document.body,d,c;if(!a||!a.firstChild){setTimeout(function(){b.createFrame()},50);return}d=this.getDragEl();if(!d){d=document.createElement("div");d.id=this.dragElId;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(){this.callParent();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(),a=this.getDragEl(),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(),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(),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.define("Ext.dd.StatusProxy",{extend:"Ext.Component",animRepair:false,childEls:["ghost"],renderTpl:['
'],constructor:function(a){var b=this;a=a||{};Ext.apply(b,{hideMode:"visibility",hidden:true,floating:true,id:b.id||Ext.id(),cls:Ext.baseCSSPrefix+"dd-drag-proxy "+this.dropNotAllowed,shadow:a.shadow||false,renderTo:Ext.getDetachedBody()});b.callParent(arguments);this.dropStatus=this.dropNotAllowed},dropAllowed:Ext.baseCSSPrefix+"dd-drop-ok",dropNotAllowed:Ext.baseCSSPrefix+"dd-drop-nodrop",setStatus:function(a){a=a||this.dropNotAllowed;if(this.dropStatus!=a){this.el.replaceCls(this.dropStatus,a);this.dropStatus=a}},reset:function(b){var c=this,a=Ext.baseCSSPrefix+"dd-drag-proxy ";c.el.replaceCls(a+c.dropAllowed,a+c.dropNotAllowed);c.dropStatus=c.dropNotAllowed;if(b){c.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("float","none")}},getGhost:function(){return this.ghost},hide:function(a){this.callParent();if(a){this.reset(true)}},stop:function(){if(this.anim&&this.anim.isAnimated&&this.anim.isAnimated()){this.anim.stop()}},sync:function(){this.el.sync()},repair:function(c,d,a){var b=this;b.callback=d;b.scope=a;if(c&&b.animRepair!==false){b.el.addCls(Ext.baseCSSPrefix+"dd-drag-repair");b.el.hideUnders(true);b.anim=b.el.animate({duration:b.repairDuration||500,easing:"ease-out",to:{x:c[0],y:c[1]},stopAnimation:true,callback:b.afterRepair,scope:b})}else{b.afterRepair()}},afterRepair:function(){var a=this;a.hide(true);a.el.removeCls(Ext.baseCSSPrefix+"dd-drag-repair");if(typeof a.callback=="function"){a.callback.call(a.scope||a)}delete a.callback;delete a.scope}});Ext.define("Ext.dd.DragSource",{extend:"Ext.dd.DDProxy",requires:["Ext.dd.StatusProxy","Ext.dd.DragDropManager"],dropAllowed:Ext.baseCSSPrefix+"dd-drop-ok",dropNotAllowed:Ext.baseCSSPrefix+"dd-drop-nodrop",animRepair:true,repairHighlightColor:"c3daf9",constructor:function(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({id:this.el.id+"-drag-status-proxy",animRepair:this.animRepair})}this.callParent([this.el.dom,this.ddGroup||this.group,{dragElId:this.proxy.id,resizeFrame:false,isTarget:false,scroll:this.scroll===true}]);this.dragging=false},getDragData:function(a){return this.dragData},onDragEnter:function(c,d){var b=Ext.dd.DragDropManager.getDDById(d),a;this.cachedTarget=b;if(this.beforeDragEnter(b,c,d)!==false){if(b.isNotifyTarget){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},onDragOver:function(c,d){var b=this.cachedTarget||Ext.dd.DragDropManager.getDDById(d),a;if(this.beforeDragOver(b,c,d)!==false){if(b.isNotifyTarget){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.DragDropManager.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.DragDropManager.getDDById(c);if(this.beforeDragDrop(a,b,c)!==false){if(a.isNotifyTarget){if(a.notifyDrop(this,b,this.dragData)!==false){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){if(!a){a=b;b=null;c=a.getTarget().id}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(){var a=this;if(Ext.enableFx){a.el.highlight(a.repairHighlightColor)}a.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();this.callParent(arguments)}},onBeforeDrag:function(a,b){return true},onStartDrag:Ext.emptyFn,alignElWithMouse:function(){this.proxy.ensureAttachedToBody(true);return this.callParent(arguments)},startDrag:function(a,b){this.proxy.reset();this.proxy.hidden=false;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)},destroy:function(){this.callParent();Ext.destroy(this.proxy)}});Ext.define("Ext.panel.Proxy",{alternateClassName:"Ext.dd.PanelProxy",moveOnDrag:true,constructor:function(a,b){var c=this;c.panel=a;c.id=c.panel.id+"-ddproxy";Ext.apply(c,b)},insertProxy:true,setStatus:Ext.emptyFn,reset:Ext.emptyFn,update:Ext.emptyFn,stop:Ext.emptyFn,sync:Ext.emptyFn,getEl:function(){return this.ghost.el},getGhost:function(){return this.ghost},getProxy:function(){return this.proxy},hide:function(){var a=this;if(a.ghost){if(a.proxy){a.proxy.remove();delete a.proxy}a.panel.unghost(null,a.moveOnDrag);delete a.ghost}},show:function(){var b=this,a;if(!b.ghost){a=b.panel.getSize();b.panel.el.setVisibilityMode(Ext.Element.DISPLAY);b.ghost=b.panel.ghost();if(b.insertProxy){b.proxy=b.panel.el.insertSibling({cls:Ext.baseCSSPrefix+"panel-dd-spacer"});b.proxy.setSize(a)}}},repair:function(b,c,a){this.hide();Ext.callback(c,a||this)},moveProxy:function(a,b){if(this.proxy){a.insertBefore(this.proxy.dom,b)}}});Ext.define("Ext.panel.DD",{extend:"Ext.dd.DragSource",requires:["Ext.panel.Proxy"],constructor:function(b,a){var c=this;c.panel=b;c.dragData={panel:b};c.panelProxy=new Ext.panel.Proxy(b,a);c.proxy=c.panelProxy.proxy;c.callParent([b.el,a]);c.setupEl(b)},setupEl:function(a){var c=this,d=a.header,b=a.body;if(d){c.setHandleElId(d.id);b=d.el}if(b){b.setStyle("cursor","move");c.scroll=false}else{a.on("boxready",c.setupEl,c,{single:true})}},showFrame:Ext.emptyFn,startDrag:Ext.emptyFn,b4StartDrag:function(a,b){this.panelProxy.show()},b4MouseDown:function(b){var a=b.getPageX(),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.panelProxy.ghost.el.dom},endDrag:function(a){this.panelProxy.hide();this.panel.saveState()},autoOffset:function(a,b){a-=this.startPageX;b-=this.startPageY;this.setDelta(a,b)},onInvalidDrop:function(c,b,d){var a=this;a.beforeInvalidDrop(c,b,d);if(a.cachedTarget){if(a.cachedTarget.isNotifyTarget){a.cachedTarget.notifyOut(a,b,a.dragData)}a.cacheTarget=null}if(a.afterInvalidDrop){a.afterInvalidDrop(b,d)}}});Ext.define("Ext.util.Memento",(function(){function d(i,h,j,g){i[g?g+j:j]=h[j]}function c(h,g,i){delete h[i]}function e(k,j,l,i){var g=i?i+l:l,h=k[g];if(h||k.hasOwnProperty(g)){a(j,l,h)}}function a(h,i,g){if(Ext.isDefined(g)){h[i]=g}else{delete h[i]}}function b(h,m,l,i,j){if(m){if(Ext.isArray(i)){var k,g=i.length;for(k=0;ka){if(j.anchorToTarget){j.defaultAlign="r-l";if(j.mouseOffset){j.mouseOffset[0]*=-1}}j.anchor="right";return j.getTargetXY()}if(b[1]i){if(j.anchorToTarget){j.defaultAlign="b-t";if(j.mouseOffset){j.mouseOffset[1]*=-1}}j.anchor="bottom";return j.getTargetXY()}}j.anchorCls=Ext.baseCSSPrefix+"tip-anchor-"+j.getAnchorPosition();j.anchorEl.addCls(j.anchorCls);j.targetCounter=0;return b}else{d=j.getMouseOffset();return(j.targetXY)?[j.targetXY[0]+d[0],j.targetXY[1]+d[1]]:d}},getMouseOffset:function(){var a=this,b=a.anchor?[0,0]:[15,18];if(a.mouseOffset){b[0]+=a.mouseOffset[0];b[1]+=a.mouseOffset[1]}return b},getAnchorPosition:function(){var b=this,a;if(b.anchor){b.tipAnchor=b.anchor.charAt(0)}else{a=b.defaultAlign.match(/^([a-z]+)-([a-z]+)(\?)?$/);b.tipAnchor=a[1].charAt(0)}switch(b.tipAnchor){case"t":return"top";case"b":return"bottom";case"r":return"right"}return"left"},getAnchorAlign:function(){switch(this.anchor){case"top":return"tl-bl";case"left":return"tl-tr";case"right":return"tr-tl";default:return"bl-tl"}},getOffsets:function(){var c=this,d,b,a=c.getAnchorPosition().charAt(0);if(c.anchorToTarget&&!c.trackMouse){switch(a){case"t":b=[0,9];break;case"b":b=[0,-13];break;case"r":b=[-13,0];break;default:b=[9,0];break}}else{switch(a){case"t":b=[-15-c.anchorOffset,30];break;case"b":b=[-19-c.anchorOffset,-13-c.el.dom.offsetHeight];break;case"r":b=[-15-c.el.dom.offsetWidth,-13-c.anchorOffset];break;default:b=[25,-13-c.anchorOffset];break}}d=c.getMouseOffset();b[0]+=d[0];b[1]+=d[1];return b},onTargetOver:function(c){var b=this,a;if(b.disabled||c.within(b.target.dom,true)){return}a=c.getTarget(b.delegate);if(a){b.triggerElement=a;b.clearTimer("hide");b.targetXY=c.getXY();b.delayShow()}},delayShow:function(){var a=this;if(a.hidden&&!a.showTimer){if(Ext.Date.getElapsed(a.lastActive)b){e=d[a];for(c in e){if(e[c]){e[c].hide(true)}}}}});Ext.define("Ext.layout.component.Draw",{alias:"layout.draw",extend:"Ext.layout.component.Auto",type:"draw",measureContentWidth:function(b){var c=b.target,a=b.getPaddingInfo(),d=this.getBBox(b);if(!c.viewBox){if(c.autoSize){return d.width+a.width}else{return d.x+d.width+a.width}}else{if(b.heightModel.shrinkWrap){return a.width}else{return d.width/d.height*(b.getProp("contentHeight")-a.height)+a.width}}},measureContentHeight:function(b){var c=b.target,a=b.getPaddingInfo(),d=this.getBBox(b);if(!b.target.viewBox){if(c.autoSize){return d.height+a.height}else{return d.y+d.height+a.height}}else{if(b.widthModel.shrinkWrap){return a.height}else{return d.height/d.width*(b.getProp("contentWidth")-a.width)+a.height}}},getBBox:function(a){var b=a.surfaceBBox;if(!b){b=a.target.surface.items.getBBox();if(b.width===-Infinity&&b.height===-Infinity){b.width=b.height=b.x=b.y=0}a.surfaceBBox=b}return b},publishInnerWidth:function(b,a){b.setContentWidth(a-b.getFrameInfo().width,true)},publishInnerHeight:function(b,a){b.setContentHeight(a-b.getFrameInfo().height,true)},finishedLayout:function(c){var b=c.props,a=c.getPaddingInfo();this.owner.setSurfaceSize(b.contentWidth-a.width,b.contentHeight-a.height);this.callParent(arguments)}});Ext.define("Ext.draw.CompositeSprite",{extend:"Ext.util.MixedCollection",mixins:{animate:"Ext.util.Animate"},autoDestroy:false,isCompositeSprite:true,constructor:function(a){var b=this;a=a||{};Ext.apply(b,a);b.addEvents("mousedown","mouseup","mouseover","mouseout","click");b.id=Ext.id(null,"ext-sprite-group-");b.callParent()},onClick:function(a){this.fireEvent("click",a)},onMouseUp:function(a){this.fireEvent("mouseup",a)},onMouseDown:function(a){this.fireEvent("mousedown",a)},onMouseOver:function(a){this.fireEvent("mouseover",a)},onMouseOut:function(a){this.fireEvent("mouseout",a)},attachEvents:function(b){var a=this;b.on({scope:a,mousedown:a.onMouseDown,mouseup:a.onMouseUp,mouseover:a.onMouseOver,mouseout:a.onMouseOut,click:a.onClick})},add:function(b,c){var a=this.callParent(arguments);this.attachEvents(a);return a},insert:function(a,b,c){return this.callParent(arguments)},remove:function(b){var a=this;b.un({scope:a,mousedown:a.onMouseDown,mouseup:a.onMouseUp,mouseover:a.onMouseOver,mouseout:a.onMouseOut,click:a.onClick});return a.callParent(arguments)},getBBox:function(){var e=0,n,j,k=this.items,g=this.length,h=Infinity,c=h,m=-h,b=h,l=-h,d,a;for(;e0){b=d.first();d.remove(b);a.remove(b,c)}}d.clearListeners()}});Ext.define("Ext.draw.Surface",{mixins:{observable:"Ext.util.Observable"},requires:["Ext.draw.CompositeSprite"],uses:["Ext.draw.engine.Svg","Ext.draw.engine.Vml","Ext.draw.engine.SvgExporter","Ext.draw.engine.ImageExporter"],separatorRe:/[, ]+/,statics:{create:function(b,d){d=d||["Svg","Vml"];var c=0,a=d.length,e;for(;c1,h,b,c,e,k;if(a||Ext.isArray(g[0])){h=a?g:g[0];b=[];for(c=0,e=h.length;ch){b=i-1}else{if(a-1;b--){this.remove(a[b],d)}},onRemove:Ext.emptyFn,onDestroy:Ext.emptyFn,applyViewBox:function(){var d=this,l=d.viewBox,a=d.width||1,h=d.height||1,g,e,j,b,i,c,k;if(l&&(a||h)){g=l.x;e=l.y;j=l.width;b=l.height;i=h/b;c=a/j;k=Math.min(c,i);if(j*k0.85){e=e.getDarker(0.3)}else{if(h>0.7){e=e.getDarker(0.15)}}}}c.colors=[e.getDarker(0.3).toString(),e.getDarker(0.15).toString(),e.toString(),e.getLighter(0.15).toString(),e.getLighter(0.3).toString()];delete c.baseColor}if(c.colors){a=c.colors.slice();s=b.markerThemes;r=b.seriesThemes;j=a.length;b.colors=a;for(;m0?s:s+m,y:k>0?r:r+k,width:j(m),height:j(k)};u.mask.updateBox(u.maskSelection);u.mask.show();u.maskSprite.setAttributes({hidden:true},true)}else{if(o=="horizontal"){l=["M",s,h,"L",s,k]}else{if(o=="vertical"){l=["M",i,r,"L",m,r]}else{l=["M",s,h,"L",s,k,"M",i,r,"L",m,r]}}u.maskSprite.setAttributes({path:l,fill:u.maskMouseDown?u.maskSprite.stroke:false,"stroke-width":o===true?1:3,hidden:false},true)}},onMouseLeave:function(b){var a=this;a.mouseMoved=false;a.mouseDown=false;a.maskMouseDown=false;a.mask.hide();a.maskSprite.hide(true)}});Ext.define("Ext.chart.Navigation",{constructor:function(){this.originalStore=this.store},setZoom:function(k){var j=this,g=j.axes,a=g.items,e,h,c,p=j.chartBBox,o=1/p.width,b=1/p.height,d={x:k.x*o,y:k.y*b,width:k.width*o,height:k.height*b},l,n,m;for(e=0,h=a.length;e0.5?0.2:0.8;F.setAttributes({fill:String(m.fromHSL.apply({},B))},true)}}E++;y++}}l=q.length;while(l>c){K.push(c);c++}}o.hideLabels(K)},hideLabels:function(b){var a=this.labelsGroup,c=!!b&&b.length;if(!a){return}if(c===false){c=a.getCount();while(c--){a.getAt(c).hide(true)}}else{while(c--){a.getAt(b[c]).hide(true)}}}});Ext.define("Ext.chart.TipSurface",{extend:"Ext.draw.Component",spriteArray:false,renderFirst:true,constructor:function(a){this.callParent([a]);if(a.sprites){this.spriteArray=[].concat(a.sprites);delete a.sprites}},onRender:function(){var c=this,b=0,a=0,d,e;this.callParent(arguments);e=c.spriteArray;if(c.renderFirst&&e){c.renderFirst=false;for(a=e.length;bs){u=s}if(y0){u=0}if(y=y){y=u+1}return{min:u,max:y}},calcEnds:function(){var h=this,d=h.getRange(),g=d.min,a=d.max,c,i,e,b;c=(Ext.isNumber(h.majorTickSteps)?h.majorTickSteps+1:h.steps);i=!(Ext.isNumber(h.maximum)&&Ext.isNumber(h.minimum)&&Ext.isNumber(h.majorTickSteps)&&h.majorTickSteps>0);e=Ext.draw.Draw.snapEnds(g,a,c,i);if(Ext.isNumber(h.maximum)){e.to=h.maximum;b=true}if(Ext.isNumber(h.minimum)){e.from=h.minimum;b=true}if(h.adjustMaximumByMajorUnit){e.to=Math.ceil(e.to/e.step)*e.step;b=true}if(h.adjustMinimumByMajorUnit){e.from=Math.floor(e.from/e.step)*e.step;b=true}if(b){e.steps=Math.ceil((e.to-e.from)/e.step)}h.prevMin=(g==a?0:g);h.prevMax=a;return e},drawAxis:function(r){var C=this,s,j=C.x,h=C.y,A=C.chart.maxGutter[0],z=C.chart.maxGutter[1],e=C.dashSize,w=C.minorTickSteps||0,v=C.minorTickSteps||0,b=C.length,D=C.position,g=[],m=false,c=C.applyData(),d=c.step,t=c.steps,q=c.from,a=c.to,u,p,o,n,l,k,B;if(C.hidden||isNaN(d)||(q>a)){return}C.from=c.from;C.to=c.to;if(D=="left"||D=="right"){p=Math.floor(j)+0.5;n=["M",p,h,"l",0,-b];u=b-(z*2)}else{o=Math.floor(h)+0.5;n=["M",j,o,"l",b,0];u=b-(A*2)}B=t&&u/t;l=Math.max(w+1,0);k=Math.max(v+1,0);if(C.type=="Numeric"||C.type=="Time"){m=true;C.labels=[c.from]}if(D=="right"||D=="left"){o=h-z;p=j-((D=="left")*e*2);while(o>=h-z-u){n.push("M",p,Math.floor(o)+0.5,"l",e*2+1,0);if(o!=h-z){for(s=1;s=0){if(!this.sprites){for(e=0;e<=l;e++){n=a.add({type:"path",path:["M",d+(m-c)*o(e/l*g-g),b+(m-c)*k(e/l*g-g),"L",d+m*o(e/l*g-g),b+m*k(e/l*g-g),"Z"],stroke:"#ccc"});n.setAttributes({hidden:false},true);h.push(n)}}else{h=this.sprites;for(e=0;e<=l;e++){h[e].setAttributes({path:["M",d+(m-c)*o(e/l*g-g),b+(m-c)*k(e/l*g-g),"L",d+m*o(e/l*g-g),b+m*k(e/l*g-g),"Z"],stroke:"#ccc"},true)}}}this.sprites=h;this.drawLabel();if(this.title){this.drawTitle()}},drawTitle:function(){var e=this,d=e.chart,a=d.surface,g=d.chartBBox,c=e.titleSprite,b;if(!c){e.titleSprite=c=a.add({type:"text",zIndex:2})}c.setAttributes(Ext.apply({text:e.title},e.label||{}),true);b=c.getBBox();c.setAttributes({x:g.x+(g.width/2)-(b.width/2),y:g.y+g.height-(b.height/2)-4},true)},setTitle:function(a){this.title=a;this.drawTitle()},drawLabel:function(){var l=this.chart,p=l.surface,b=l.chartBBox,j=b.x+(b.width/2),h=b.y+b.height,m=this.margin||10,d=Math.min(b.width,2*b.height)/2+2*m,u=Math.round,n=[],g,s=this.maximum||0,k=this.minimum||0,r=this.steps,q=0,v,t=Math.PI,c=Math.cos,a=Math.sin,e=this.label,o=e.renderer||function(i){return i};if(!this.labelArray){for(q=0;q<=r;q++){v=(q===0||q===r)?7:0;g=p.add({type:"text",text:o(u(k+q/r*(s-k))),x:j+d*c(q/r*t-t),y:h+d*a(q/r*t-t)-v,"text-anchor":"middle","stroke-width":0.2,zIndex:10,stroke:"#333"});g.setAttributes({hidden:false},true);n.push(g)}}else{n=this.labelArray;for(q=0;q<=r;q++){v=(q===0||q===r)?7:0;n[q].setAttributes({text:o(u(k+q/r*(s-k))),x:j+d*c(q/r*t-t),y:h+d*a(q/r*t-t)-v},true)}}this.labelArray=n}});Ext.define("Ext.chart.axis.Numeric",{extend:"Ext.chart.axis.Axis",alternateClassName:"Ext.chart.NumericAxis",type:"numeric",alias:"axis.numeric",uses:["Ext.data.Store"],constructor:function(c){var d=this,a=!!(c.label&&c.label.renderer),b;d.callParent([c]);b=d.label;if(c.constrain==null){d.constrain=(c.minimum!=null&&c.maximum!=null)}if(!a){b.renderer=function(e){return d.roundToDecimal(e,d.decimals)}}},roundToDecimal:function(a,c){var b=Math.pow(10,c||0);return Math.round(a*b)/b},minimum:NaN,maximum:NaN,constrain:true,decimals:2,scale:"linear",doConstrain:function(){var t=this,b=t.chart.store,h=b.data.items,s,u,a,e=t.chart.series.items,j=t.fields,c=j.length,g=t.calcEnds(),m=g.from,p=g.to,q,n,r=false,k,v=[],o;for(q=0,n=e.length;q+p){o=false;break}}if(o){v.push(a)}}t.chart.substore=Ext.create("Ext.data.Store",{model:b.model});t.chart.substore.loadData(v)},position:"left",adjustMaximumByMajorUnit:false,adjustMinimumByMajorUnit:false,processView:function(){var a=this,b=a.constrain;if(b){a.doConstrain()}},applyData:function(){this.callParent();return this.calcEnds()}});Ext.define("Ext.chart.axis.Radial",{extend:"Ext.chart.axis.Abstract",position:"radial",alias:"axis.radial",drawAxis:function(u){var m=this.chart,a=m.surface,t=m.chartBBox,q=m.store,b=q.getCount(),e=t.x+(t.width/2),c=t.y+(t.height/2),p=Math.min(t.width,t.height)/2,k=[],r,o=this.steps,g,d,h=Math.PI*2,s=Math.cos,n=Math.sin;if(this.sprites&&!m.resizing){this.drawLabel();return}if(!this.sprites){for(g=1;g<=o;g++){r=a.add({type:"circle",x:e,y:c,radius:Math.max(p*g/o,0),stroke:"#ccc"});r.setAttributes({hidden:false},true);k.push(r)}for(g=0;g>0),e)}}}},processView:function(){var a=this;if(a.fromDate){a.minimum=+a.fromDate}if(a.toDate){a.maximum=+a.toDate}if(a.constrain){a.doConstrain()}},calcEnds:function(){var c=this,a,b=c.step;if(b){a=c.getRange();a=Ext.draw.Draw.snapEndsByDateAndStep(new Date(a.min),new Date(a.max),Ext.isNumber(b)?[Date.MILLI,b]:b);if(c.minimum){a.from=c.minimum}if(c.maximum){a.to=c.maximum}a.step=(a.to-a.from)/a.steps;return a}else{return c.callParent(arguments)}}});Ext.define("Ext.chart.series.Series",{mixins:{observable:"Ext.util.Observable",labels:"Ext.chart.Label",highlights:"Ext.chart.Highlight",tips:"Ext.chart.Tip",callouts:"Ext.chart.Callout"},type:null,title:null,showInLegend:true,renderer:function(e,a,c,d,b){return c},shadowAttributes:null,animating:false,constructor:function(a){var b=this;if(a){Ext.apply(b,a)}b.shadowGroups=[];b.mixins.labels.constructor.call(b,a);b.mixins.highlights.constructor.call(b,a);b.mixins.tips.constructor.call(b,a);b.mixins.callouts.constructor.call(b,a);b.addEvents({scope:b,itemmouseover:true,itemmouseout:true,itemmousedown:true,itemmouseup:true,mouseleave:true,afterdraw:true,titlechange:true});b.mixins.observable.constructor.call(b,a);b.on({scope:b,itemmouseover:b.onItemMouseOver,itemmouseout:b.onItemMouseOut,mouseleave:b.onMouseLeave});if(b.style){Ext.apply(b.seriesStyle,b.style)}},eachRecord:function(c,b){var a=this.chart;(a.substore||a.store).each(c,b)},getRecordCount:function(){var b=this.chart,a=b.substore||b.store;return a?a.getCount():0},isExcluded:function(a){var b=this.__excludes;return !!(b&&b[a])},setBBox:function(a){var e=this,c=e.chart,b=c.chartBBox,g=a?0:c.maxGutter[0],d=a?0:c.maxGutter[1],h,i;h={x:b.x,y:b.y,width:b.width,height:b.height};e.clipBox=h;i={x:(h.x+g)-(c.zoom.x*c.zoom.width),y:(h.y+d)-(c.zoom.y*c.zoom.height),width:(h.width-(g*2))*c.zoom.width,height:(h.height-(d*2))*c.zoom.height};e.bbox=i},onAnimate:function(b,a){var c=this;b.stopAnimation();if(c.animating){return b.animate(Ext.applyIf(a,c.chart.animate))}else{c.animating=true;return b.animate(Ext.apply(Ext.applyIf(a,c.chart.animate),{listeners:{afteranimate:function(){c.animating=false;c.fireEvent("afterrender")}}}))}},getGutters:function(){return[0,0]},onItemMouseOver:function(b){var a=this;if(b.series===a){if(a.highlight){a.highlightItem(b)}if(a.tooltip){a.showTip(b)}}},onItemMouseOut:function(b){var a=this;if(b.series===a){a.unHighlightItem();if(a.tooltip){a.hideTip(b)}}},onMouseLeave:function(){var a=this;a.unHighlightItem();if(a.tooltip){a.hideTip()}},getItemForPoint:function(a,j){if(!this.items||!this.items.length||this.seriesIsHidden){return null}var g=this,b=g.items,h=g.bbox,e,c,d;if(!Ext.draw.Draw.withinBox(a,j,h)){return null}for(c=0,d=b.length;c0){c=Infinity;l=-c;for(e=0,h=d.length;el){l=b}if(bl){l=r}if(r0){b=Infinity;l=-b;for(d=0,h=c.length;dl){l=n}if(m-1){b="top"}else{if(Ext.Array.indexOf(d,"bottom")>-1){b="bottom"}else{if(l.get("top")&&l.get("bottom")){for(h=0,k=o.length;h-1){a="left"}else{if(Ext.Array.indexOf(d,"right")>-1){a="right"}else{if(l.get("left")&&l.get("right")){for(h=0,k=e.length;hk.width)&&j.areas){H=j.shrink(z,D,k.width);z=H.x;D=H.y}return{bbox:k,minX:C,minY:B,xValues:z,yValues:D,xScale:h,yScale:E,areasLen:A}},getPaths:function(){var w=this,m=w.chart,c=m.getChartStore(),e=true,g=w.getBounds(),a=g.bbox,n=w.items=[],v=[],b,d=0,p=[],s,j,k,h,q,t,l,z,r,u,o;j=g.xValues.length;for(s=0;sa.x+a.width)?(j-(j+n-a.x-a.width)):j;h=h-ma.y+a.height)?(h-(h+m-a.y-a.height)):h;if(u.chart.animate&&!u.chart.resizing){g.show(true);u.onAnimate(g,{to:{x:j,y:h}})}else{g.setAttributes({x:j,y:h},true);if(r){u.animation.on("afteranimate",function(){g.show(true)})}else{g.show(true)}}},onPlaceCallout:function(m,r,J,G,F,d,k){var M=this,s=M.chart,D=s.surface,H=s.resizing,L=M.callouts,t=M.items,v=(G==0)?false:t[G-1].point,z=(G==t.length-1)?false:t[G+1].point,c=J.point,A,g,N,K,o,q,b=m.label.getBBox(),I=30,C=10,B=3,h,e,j,w,u,E=M.clipRect,n,l;if(!v){v=c}if(!z){z=c}K=(z[1]-v[1])/(z[0]-v[0]);o=(c[1]-v[1])/(c[0]-v[0]);q=(z[1]-c[1])/(z[0]-c[0]);g=Math.sqrt(1+K*K);A=[1/g,K/g];N=[-A[1],A[0]];if(o>0&&q<0&&N[1]<0||o<0&&q>0&&N[1]>0){N[0]*=-1;N[1]*=-1}else{if(Math.abs(o)Math.abs(q)&&N[0]>0){N[0]*=-1;N[1]*=-1}}n=c[0]+N[0]*I;l=c[1]+N[1]*I;h=n+(N[0]>0?0:-(b.width+2*B));e=l-b.height/2-B;j=b.width+2*B;w=b.height+2*B;if(h(E[0]+E[2])){N[0]*=-1}if(e(E[1]+E[3])){N[1]*=-1}n=c[0]+N[0]*I;l=c[1]+N[1]*I;h=n+(N[0]>0?0:-(b.width+2*B));e=l-b.height/2-B;j=b.width+2*B;w=b.height+2*B;m.lines.setAttributes({path:["M",c[0],c[1],"L",n,l,"Z"]},true);m.box.setAttributes({x:h,y:e,width:j,height:w},true);m.label.setAttributes({x:n+(N[0]>0?B:-(b.width+B)),y:l},true);for(u in m){m[u].show(true)}},isItemInPoint:function(j,h,m,c){var g=this,b=m.pointsUp,d=m.pointsDown,q=Math.abs,o=false,l=false,e=Infinity,a,n,k;for(a=0,n=b.length;aq(j-k[0])){e=q(j-k[0]);o=true;if(l){++a}}if(!o||(o&&l)){k=b[a-1];if(h>=k[1]&&(!d.length||h<=(d[a-1][1]))){m.storeIndex=a-1;m.storeField=g.yField[c];m.storeItem=g.chart.store.getAt(a-1);m._points=d.length?[k,d[a-1]]:[k];return true}else{break}}}return false},highlightSeries:function(){var a,c,b;if(this._index!==undefined){a=this.areas[this._index];if(a.__highlightAnim){a.__highlightAnim.paused=true}a.__highlighted=true;a.__prevOpacity=a.__prevOpacity||a.attr.opacity||1;a.__prevFill=a.__prevFill||a.attr.fill;a.__prevLineWidth=a.__prevLineWidth||a.attr.lineWidth;b=Ext.draw.Color.fromString(a.__prevFill);c={lineWidth:(a.__prevLineWidth||0)+2};if(b){c.fill=b.getLighter(0.2).toString()}else{c.opacity=Math.max(a.__prevOpacity-0.3,0)}if(this.chart.animate){a.__highlightAnim=new Ext.fx.Anim(Ext.apply({target:a,to:c},this.chart.animate))}else{a.setAttributes(c,true)}}},unHighlightSeries:function(){var a;if(this._index!==undefined){a=this.areas[this._index];if(a.__highlightAnim){a.__highlightAnim.paused=true}if(a.__highlighted){a.__highlighted=false;a.__highlightAnim=new Ext.fx.Anim({target:a,to:{fill:a.__prevFill,opacity:a.__prevOpacity,lineWidth:a.__prevLineWidth}})}}},highlightItem:function(c){var b=this,a,d;if(!c){this.highlightSeries();return}a=c._points;d=a.length==2?["M",a[0][0],a[0][1],"L",a[1][0],a[1][1]]:["M",a[0][0],a[0][1],"L",a[0][0],b.bbox.y+b.bbox.height];b.highlightSprite.setAttributes({path:d,hidden:false},true)},unHighlightItem:function(a){if(!a){this.unHighlightSeries()}if(this.highlightSprite){this.highlightSprite.hide(true)}},hideAll:function(a){var b=this;a=(isNaN(b._index)?a:b._index)||0;b.__excludes[a]=true;b.areas[a].hide(true);b.redraw()},showAll:function(a){var b=this;a=(isNaN(b._index)?a:b._index)||0;b.__excludes[a]=false;b.areas[a].show(true);b.redraw()},redraw:function(){var a=this,b;b=a.chart.legend.rebuild;a.chart.legend.rebuild=false;a.chart.redraw();a.chart.legend.rebuild=b},hide:function(){if(this.areas){var h=this,b=h.areas,d,c,a,g,e;if(b&&b.length){for(d=0,g=b.length;d0)][M]+=n(I)}}w[+(r>0)].push(n(r));w[+(F>0)].push(n(F));g=k.apply(u,w[0]);d=k.apply(u,w[1]);z=(H?q.height-m*2:q.width-h*2)/(d+g);a=a+g*z*(H?-1:1)}else{if(F/r<0){a=a-F*z*(H?-1:1)}}return{bars:v,bbox:q,shrunkBarWidth:C,barsLen:p,groupBarsLen:l,barWidth:t,groupBarWidth:e,scale:z,zero:a,xPadding:h,yPadding:m,signed:F/r<0,minY:F,maxY:r}},getPaths:function(){var v=this,X=v.chart,b=X.getChartStore(),W=b.data.items,V,E,L,G=v.bounds=v.getBounds(),z=v.items=[],P=v.yField,l=v.gutter/100,c=v.groupGutter/100,T=X.animate,N=v.column,x=v.group,m=X.shadow,R=v.shadowGroups,Q=v.shadowAttributes,q=R.length,y=G.bbox,B=G.barWidth,K=G.shrunkBarWidth,n=v.xPadding,r=v.yPadding,S=v.stacked,w=G.barsLen,O=v.colorArrayStyle,h=O&&O.length||0,C=Math,o=C.max,I=C.min,u=C.abs,U,Y,e,J,D,a,k,t,s,p,g,d,F,A,M,H;for(V=0,E=W.length;V1?U:0)%h]};if(N){Ext.apply(s,{height:e,width:o(G.groupBarWidth,0),x:(y.x+n+(B-K)*0.5+V*B*(1+l)+g*G.groupBarWidth*(1+c)*!S),y:a-e})}else{M=(E-1)-V;Ext.apply(s,{height:o(G.groupBarWidth,0),width:e+(a==G.zero),x:a+(a!=G.zero),y:(y.y+r+(B-K)*0.5+M*B*(1+l)+g*G.groupBarWidth*(1+c)*!S+1)})}if(e<0){if(N){s.y=k;s.height=u(e)}else{s.x=k+e;s.width=u(e)}}if(S){if(e<0){k+=e*(N?-1:1)}else{a+=e*(N?-1:1)}J+=u(e);if(e<0){D+=u(e)}}s.x=Math.floor(s.x)+1;H=Math.floor(s.y);if(!Ext.isIE9&&s.y>H){H--}s.y=H;s.width=Math.floor(s.width);s.height=Math.floor(s.height);z.push({series:v,yField:P[U],storeItem:L,value:[L.get(v.xField),Y],attr:s,point:N?[s.x+s.width/2,Y>=0?s.y:s.y+s.height]:[Y>=0?s.x+s.width:s.x,s.y+s.height/2]});if(T&&X.resizing){p=N?{x:s.x,y:G.zero,width:s.width,height:0}:{x:G.zero,y:s.y,width:0,height:s.height};if(m&&(S&&!t||!S)){t=true;for(d=0;d(O>=0?b-u.y:u.y+u.height-b)){p=M}}else{if(c+C>l.height){p=k;G.isOutside=true}}D=l.x+d/2;B=p==q?(b+((c/2+3)*(O>=0?-1:1))):(O>=0?(l.y+((c/2+3)*(p==k?-1:1))):(l.y+l.height+((c/2+3)*(p===k?1:-1))))}else{if(p==k){if(a+E+l.width>(O>=0?u.x+u.width-b:b-u.x)){p=M}}else{if(a+E>l.width){p=k;G.isOutside=true}}D=p==q?(b+((a/2+5)*(O>=0?1:-1))):(O>=0?(l.x+l.width+((a/2+5)*(p===k?1:-1))):(l.x+((a/2+5)*(p===k?-1:1))));B=l.y+d/2}w={x:D,y:B};if(K){w.rotate={x:D,y:B,degrees:270}}if(H&&A){if(F){D=l.x+l.width/2;B=b}else{D=b;B=l.y+l.height/2}G.setAttributes({x:D,y:B},true);if(K){G.setAttributes({rotate:{x:D,y:B,degrees:270}},true)}}if(H){m.onAnimate(G,{to:w})}else{G.setAttributes(Ext.apply(w,{hidden:false}),true)}},getLabelSize:function(g){var k=this.testerLabel,a=this.label,d=Ext.apply({},a,this.seriesLabelStyle||{}),b=a.orientation==="vertical",j,i,e,c;if(!k){k=this.testerLabel=this.chart.surface.add(Ext.apply({type:"text",opacity:0},d))}k.setAttributes({text:g},true);j=k.getBBox();i=j.width;e=j.height;return{width:b?e:i,height:b?i:e}},onAnimate:function(b,a){b.show();return this.callParent(arguments)},isItemInPoint:function(a,d,b){var c=b.sprite.getBBox();return c.x<=a&&c.y<=d&&(c.x+c.width)>=a&&(c.y+c.height)>=d},hideAll:function(a){var e=this.chart.axes,c=e.items,d=c.length,b=0;a=(isNaN(this._index)?a:this._index)||0;if(!this.__excludes){this.__excludes=[]}this.__excludes[a]=true;this.drawSeries();for(b;b180,D=Math.min(q,p)*B,A=Math.max(q,p)*B,o=false;k+=l*d(j);i+=l*a(j);w=k+b.startRho*d(D);h=i+b.startRho*a(D);v=k+b.endRho*d(D);g=i+b.endRho*a(D);u=k+b.startRho*d(A);e=i+b.startRho*a(A);s=k+b.endRho*d(A);c=i+b.endRho*a(A);if(n(w-u)<=z&&n(h-e)<=z){o=true}if(o){return{path:[["M",w,h],["L",v,g],["A",b.endRho,b.endRho,0,+t,1,s,c],["Z"]]}}else{return{path:[["M",w,h],["L",v,g],["A",b.endRho,b.endRho,0,+t,1,s,c],["L",u,e],["A",b.startRho,b.startRho,0,+t,0,w,h],["Z"]]}}},calcMiddle:function(p){var k=this,l=k.rad,o=p.slice,n=k.centerX,m=k.centerY,j=o.startAngle,e=o.endAngle,i=Math.max(("rho" in o)?o.rho:k.radius,k.label.minMargin),h=+k.donut,b=Math.min(j,e)*l,a=Math.max(j,e)*l,d=-(b+(a-b)/2),g=n+(p.endRho+p.startRho)/2*Math.cos(d),c=m-(p.endRho+p.startRho)/2*Math.sin(d);p.middle={x:g,y:c}},drawSeries:function(){var w=this,W=w.chart,b=W.getChartStore(),A=w.group,S=w.chart.animate,D=w.chart.axes.get(0),E=D&&D.minimum||w.minimum||0,I=D&&D.maximum||w.maximum||0,n=w.angleField||w.field||w.xField,M=W.surface,H=W.chartBBox,h=w.rad,c=+w.donut,X={},B=[],m=w.seriesStyle,a=w.seriesLabelStyle,g=w.colorArrayStyle,z=g&&g.length||0,K=W.maxGutter[0],J=W.maxGutter[1],k=Math.cos,s=Math.sin,t,e,d,v,r,C,O,F,G,L,U,T,l,V,x,o,Q,R,q,y,u,P,N;Ext.apply(m,w.style||{});w.setBBox();y=w.bbox;if(w.colorSet){g=w.colorSet;z=g.length}if(!b||!b.getCount()||w.seriesIsHidden){w.hide();w.items=[];return}e=w.centerX=H.x+(H.width/2);d=w.centerY=H.y+H.height;w.radius=Math.min(e-H.x,d-H.y);w.slices=r=[];w.items=B=[];if(!w.value){L=b.getAt(0);w.value=L.get(n)}O=w.value;if(w.needle){P={series:w,value:O,startAngle:-180,endAngle:0,rho:w.radius};u=-180*(1-(O-E)/(I-E));r.push(P)}else{u=-180*(1-(O-E)/(I-E));P={series:w,value:O,startAngle:-180,endAngle:u,rho:w.radius};N={series:w,value:w.maximum-O,startAngle:u,endAngle:0,rho:w.radius};r.push(P,N)}for(U=0,G=r.length;U=g&&b=n.startRho&&k<=n.endRho)},showAll:function(){if(!isNaN(this._index)){this.__excludes[this._index]=false;this.drawSeries()}},getLegendColor:function(a){var b=this;return b.colorArrayStyle[a%b.colorArrayStyle.length]}});Ext.define("Ext.chart.series.Line",{extend:"Ext.chart.series.Cartesian",alternateClassName:["Ext.chart.LineSeries","Ext.chart.LineChart"],requires:["Ext.chart.axis.Axis","Ext.chart.Shape","Ext.draw.Draw","Ext.fx.Anim"],type:"line",alias:"series.line",selectionTolerance:20,showMarkers:true,markerConfig:{},style:{},smooth:false,defaultSmoothness:3,fill:false,constructor:function(c){this.callParent(arguments);var e=this,a=e.chart.surface,g=e.chart.shadow,d,b;c.highlightCfg=Ext.Object.merge({"stroke-width":3},c.highlightCfg);Ext.apply(e,c,{shadowAttributes:[{"stroke-width":6,"stroke-opacity":0.05,stroke:"rgb(0, 0, 0)",translate:{x:1,y:1}},{"stroke-width":4,"stroke-opacity":0.1,stroke:"rgb(0, 0, 0)",translate:{x:1,y:1}},{"stroke-width":2,"stroke-opacity":0.15,stroke:"rgb(0, 0, 0)",translate:{x:1,y:1}}]});e.group=a.getGroup(e.seriesId);if(e.showMarkers){e.markerGroup=a.getGroup(e.seriesId+"-markers")}if(g){for(d=0,b=e.shadowAttributes.length;dau.width){a=an.shrink(aB,ae,au.width);aB=a.x;ae=a.y}an.items=[];l=0;az=aB.length;for(Q=0;Qa.x+a.width)?(j-(j+n-a.x-a.width)):j;h=(h-ma.x+a.width)?(j-(j+n-a.x-a.width)):j;h=h-ma.y+a.height)?(h-(h+m-a.y-a.height)):h}}if(u.chart.animate&&!u.chart.resizing){g.show(true);u.onAnimate(g,{to:{x:j,y:h}})}else{g.setAttributes({x:j,y:h},true);if(r&&u.animation){u.animation.on("afteranimate",function(){g.show(true)})}else{g.show(true)}}},highlightItem:function(){var a=this;a.callParent(arguments);if(a.line&&!a.highlighted){if(!("__strokeWidth" in a.line)){a.line.__strokeWidth=parseFloat(a.line.attr["stroke-width"])||0}if(a.line.__anim){a.line.__anim.paused=true}a.line.__anim=Ext.create("Ext.fx.Anim",{target:a.line,to:{"stroke-width":a.line.__strokeWidth+3}});a.highlighted=true}},unHighlightItem:function(){var a=this;a.callParent(arguments);if(a.line&&a.highlighted){a.line.__anim=Ext.create("Ext.fx.Anim",{target:a.line,to:{"stroke-width":a.line.__strokeWidth}});a.highlighted=false}},onPlaceCallout:function(m,r,J,G,F,d,k){if(!F){return}var M=this,s=M.chart,D=s.surface,H=s.resizing,L=M.callouts,t=M.items,v=G==0?false:t[G-1].point,z=(G==t.length-1)?false:t[G+1].point,c=[+J.point[0],+J.point[1]],A,g,N,K,o,q,I=L.offsetFromViz||30,C=L.offsetToSide||10,B=L.offsetBox||3,h,e,j,w,u,E=M.clipRect,b={width:L.styles.width||10,height:L.styles.height||10},n,l;if(!v){v=c}if(!z){z=c}K=(z[1]-v[1])/(z[0]-v[0]);o=(c[1]-v[1])/(c[0]-v[0]);q=(z[1]-c[1])/(z[0]-c[0]);g=Math.sqrt(1+K*K);A=[1/g,K/g];N=[-A[1],A[0]];if(o>0&&q<0&&N[1]<0||o<0&&q>0&&N[1]>0){N[0]*=-1;N[1]*=-1}else{if(Math.abs(o)Math.abs(q)&&N[0]>0){N[0]*=-1;N[1]*=-1}}n=c[0]+N[0]*I;l=c[1]+N[1]*I;h=n+(N[0]>0?0:-(b.width+2*B));e=l-b.height/2-B;j=b.width+2*B;w=b.height+2*B;if(h(E[0]+E[2])){N[0]*=-1}if(e(E[1]+E[3])){N[1]*=-1}n=c[0]+N[0]*I;l=c[1]+N[1]*I;h=n+(N[0]>0?0:-(b.width+2*B));e=l-b.height/2-B;j=b.width+2*B;w=b.height+2*B;if(s.animate){M.onAnimate(m.lines,{to:{path:["M",c[0],c[1],"L",n,l,"Z"]}});if(m.panel){m.panel.setPosition(h,e,true)}}else{m.lines.setAttributes({path:["M",c[0],c[1],"L",n,l,"Z"]},true);if(m.panel){m.panel.setPosition(h,e)}}for(u in m){m[u].show(true)}},isItemInPoint:function(j,g,A,q){var C=this,n=C.items,s=C.selectionTolerance,k=null,z,c,p,v,h,w,b,t,a,l,B,e,d,o,u,r,D=Math.sqrt,m=Math.abs;c=n[q];z=q&&n[q-1];if(q>=h){z=n[h-1]}p=z&&z.point;v=c&&c.point;w=z?p[0]:v[0]-s;b=z?p[1]:v[1];t=c?v[0]:p[0]+s;a=c?v[1]:p[1];e=D((j-w)*(j-w)+(g-b)*(g-b));d=D((j-t)*(j-t)+(g-a)*(g-a));o=Math.min(e,d);if(o<=s){return o==e?z:c}return false},toggleAll:function(a){var e=this,b,d,g,c;if(!a){Ext.chart.series.Cartesian.prototype.hideAll.call(e)}else{Ext.chart.series.Cartesian.prototype.showAll.call(e)}if(e.line){e.line.setAttributes({hidden:!a},true);if(e.line.shadows){for(b=0,c=e.line.shadows,d=c.length;b1?T:U)%w]}||{}));D=Ext.apply({},o.segment,{slice:r,series:s,storeItem:r.storeItem,index:U});s.calcMiddle(D);if(g){D.shadows=r.shadowAttrs[T]}y[U]=D;if(!z){m=Ext.apply({type:"path",group:x,middle:D.middle},Ext.apply(h,e&&{fill:e[(K>1?T:U)%w]}||{}));z=J.add(Ext.apply(m,o))}r.sprite=r.sprite||[];D.sprite=z;r.sprite.push(z);r.point=[D.middle.x,D.middle.y];if(S){o=s.renderer(z,a.getAt(U),o,U,a);z._to=o;z._animating=true;s.onAnimate(z,{to:o,listeners:{afteranimate:{fn:function(){this._animating=false},scope:z}}})}else{o=s.renderer(z,a.getAt(U),Ext.apply(o,{hidden:false}),U,a);z.setAttributes(o,true)}B+=q}}F=x.getCount();for(U=0;U>0]&&x.getAt(U)){x.getAt(U).hide(true)}}if(g){aa=Q.length;for(E=0;E>0]){for(T=0;T90&&v<270)?v+180:v;h=k.attr.rotation.degrees;if(h!=null&&Math.abs(h-v)>180*0.5){if(v>h){v-=360}else{v+=360}v=v%360}else{v=a(v)}b.rotate={degrees:v,x:b.x,y:b.y};break;default:break}b.translate={x:0,y:0};if(e&&!w&&(s!="rotate"||h!=null)){B.onAnimate(k,{to:b})}else{k.setAttributes(b,true)}k._from=r},onPlaceCallout:function(l,o,z,v,u,d,e){var A=this,q=A.chart,j=A.centerX,h=A.centerY,B=z.middle,b={x:B.x,y:B.y},m=B.x-j,k=B.y-h,c=1,n,g=Math.atan2(k,m||1),a=l.label.getBBox(),w=20,t=10,s=10,r;c=z.endRho+w;n=(z.endRho+z.startRho)/2+(z.endRho-z.startRho)/3;b.x=c*Math.cos(g)+j;b.y=c*Math.sin(g)+h;m=n*Math.cos(g);k=n*Math.sin(g);if(q.animate){A.onAnimate(l.lines,{to:{path:["M",m+j,k+h,"L",b.x,b.y,"Z","M",b.x,b.y,"l",m>0?t:-t,0,"z"]}});A.onAnimate(l.box,{to:{x:b.x+(m>0?t:-(t+a.width+2*s)),y:b.y+(k>0?(-a.height-s/2):(-a.height-s/2)),width:a.width+2*s,height:a.height+2*s}});A.onAnimate(l.label,{to:{x:b.x+(m>0?(t+s):-(t+a.width+s)),y:b.y+(k>0?-a.height/4:-a.height/4)}})}else{l.lines.setAttributes({path:["M",m+j,k+h,"L",b.x,b.y,"Z","M",b.x,b.y,"l",m>0?t:-t,0,"z"]},true);l.box.setAttributes({x:b.x+(m>0?t:-(t+a.width+2*s)),y:b.y+(k>0?(-a.height-s/2):(-a.height-s/2)),width:a.width+2*s,height:a.height+2*s},true);l.label.setAttributes({x:b.x+(m>0?(t+s):-(t+a.width+s)),y:b.y+(k>0?-a.height/4:-a.height/4)},true)}for(r in l){l[r].show(true)}},onAnimate:function(b,a){b.show();return this.callParent(arguments)},isItemInPoint:function(l,j,n,e){var h=this,d=h.centerX,c=h.centerY,p=Math.abs,o=p(l-d),m=p(j-c),g=n.startAngle,a=n.endAngle,k=Math.sqrt(o*o+m*m),b=Math.atan2(j-c,l-d)/h.rad;if(b>h.firstAngle){b-=h.accuracy}return(b<=g&&b>a&&k>=n.startRho&&k<=n.endRho)},hideAll:function(c){var g,b,j,h,e,a,d;c=(isNaN(this._index)?c:this._index)||0;this.__excludes=this.__excludes||[];this.__excludes[c]=true;d=this.slices[c].sprite;for(e=0,a=d.length;ea.x+a.width)?(j-(j+n-a.x-a.width)):j;h=(h-ma.x+a.width)?(j-(j+n-a.x-a.width)):j;h=h-ma.y+a.height)?(h-(h+m-a.y-a.height)):h}}if(!l.animate){g.setAttributes({x:j,y:h},true);g.show(true)}else{if(s){o=t.sprite.getActiveAnimation();if(o){o.on("afteranimate",function(){g.setAttributes({x:j,y:h},true);g.show(true)})}else{g.show(true)}}else{v.onAnimate(g,{to:{x:j,y:h}})}}},onPlaceCallout:function(k,m,B,z,w,c,h){var E=this,n=E.chart,u=n.surface,A=n.resizing,D=E.callouts,o=E.items,b=B.point,F,a=k.label.getBBox(),C=30,t=10,s=3,e,d,g,r,q,v=E.bbox,l,j;F=[Math.cos(Math.PI/4),-Math.sin(Math.PI/4)];l=b[0]+F[0]*C;j=b[1]+F[1]*C;e=l+(F[0]>0?0:-(a.width+2*s));d=j-a.height/2-s;g=a.width+2*s;r=a.height+2*s;if(e(v[0]+v[2])){F[0]*=-1}if(d(v[1]+v[3])){F[1]*=-1}l=b[0]+F[0]*C;j=b[1]+F[1]*C;e=l+(F[0]>0?0:-(a.width+2*s));d=j-a.height/2-s;g=a.width+2*s;r=a.height+2*s;if(n.animate){E.onAnimate(k.lines,{to:{path:["M",b[0],b[1],"L",l,j,"Z"]}},true);E.onAnimate(k.box,{to:{x:e,y:d,width:g,height:r}},true);E.onAnimate(k.label,{to:{x:l+(F[0]>0?s:-(a.width+s)),y:j}},true)}else{k.lines.setAttributes({path:["M",b[0],b[1],"L",l,j,"Z"]},true);k.box.setAttributes({x:e,y:d,width:g,height:r},true);k.label.setAttributes({x:l+(F[0]>0?s:-(a.width+s)),y:j},true)}for(q in k){k[q].show(true)}},onAnimate:function(b,a){b.show();return this.callParent(arguments)},isItemInPoint:function(c,h,e){var b,d=10,a=Math.abs;function g(i){var k=a(i[0]-c),j=a(i[1]-h);return Math.sqrt(k*k+j*j)}b=e.point;return(b[0]-d<=c&&b[0]+d>=c&&b[1]-d<=h&&b[1]+d>=h)}});Ext.define("Ext.layout.container.Table",{alias:["layout.table"],extend:"Ext.layout.container.Container",alternateClassName:"Ext.layout.TableLayout",monitorResize:false,type:"table",clearEl:true,targetCls:Ext.baseCSSPrefix+"table-layout-ct",tableCls:Ext.baseCSSPrefix+"table-layout",cellCls:Ext.baseCSSPrefix+"table-layout-cell",tableAttrs:null,itemSizePolicy:{setsWidth:0,setsHeight:0},getItemSizePolicy:function(a){return this.itemSizePolicy},getLayoutItems:function(){var g=this,b=[],c=g.callParent(),e,a=c.length,d;for(d=0;d=h||n[d]>0){if(d>=h){d=0;a=0;b++;for(c=0;c0){n[c]--}}}else{d++}}m.push({rowIdx:b,cellIdx:a});for(c=l.colspan||1;c;--c){n[d]=l.rowspan||1;++d}++a}return m},getRenderTree:function(){var k=this,h=k.getLayoutItems(),o,p=[],q=Ext.apply({tag:"table",role:"presentation",cls:k.tableCls,cellspacing:0,cn:{tag:"tbody",cn:p}},k.tableAttrs),c=k.tdAttrs,d=k.needsDivWrap(),e,g=h.length,n,m,j,b,a,l;o=k.calculateCells(h);for(e=0;e0){b.create=g;h=true}if(d.length>0){b.update=d;h=true}if(a.length>0){b.destroy=a;h=true}if(h&&e.fireEvent("beforesync",b)!==false){c=c||{};e.proxy.batch(Ext.apply(c,{operations:b,listeners:e.getBatchListeners()}))}return e},getBatchListeners:function(){var b=this,a={scope:b,exception:b.onBatchException};if(b.batchUpdateMode=="operation"){a.operationcomplete=b.onBatchOperationComplete}else{a.complete=b.onBatchComplete}return a},save:function(){return this.sync.apply(this,arguments)},load:function(b){var c=this,a;b=Ext.apply({action:"read",filters:c.filters.items,sorters:c.getSorters()},b);c.lastOptions=b;a=new Ext.data.Operation(b);if(c.fireEvent("beforeload",c,a)!==false){c.loading=true;c.proxy.read(a,c.onProxyLoad,c)}return c},reload:function(a){return this.load(Ext.apply(this.lastOptions,a))},afterEdit:function(a,e){var d=this,b,c;if(d.autoSync&&!d.autoSyncSuspended){for(b=e.length;b--;){if(a.fields.get(e[b]).persist){c=true;break}}if(c){d.sync()}}d.fireEvent("update",d,a,Ext.data.Model.EDIT,e)},afterReject:function(a){this.fireEvent("update",this,a,Ext.data.Model.REJECT,null)},afterCommit:function(a){this.fireEvent("update",this,a,Ext.data.Model.COMMIT,null)},destroyStore:function(){var a=this;if(!a.isDestroyed){if(a.storeId){Ext.data.StoreManager.unregister(a)}a.clearData();a.data=a.tree=a.sorters=a.filters=a.groupers=null;if(a.reader){a.reader.destroyReader()}a.proxy=a.reader=a.writer=null;a.clearListeners();a.isDestroyed=true;if(a.implicitModel){Ext.destroy(a.model)}else{a.model=null}}},doSort:function(a){var b=this;if(b.remoteSort){b.load()}else{b.data.sortBy(a);b.fireEvent("datachanged",b);b.fireEvent("refresh",b)}},clearData:Ext.emptyFn,getCount:Ext.emptyFn,getById:Ext.emptyFn,removeAll:Ext.emptyFn,isLoading:function(){return !!this.loading},suspendAutoSync:function(){this.autoSyncSuspended=true},resumeAutoSync:function(){this.autoSyncSuspended=false}});Ext.define("Ext.data.ResultSet",{loaded:true,count:0,total:0,success:false,constructor:function(a){Ext.apply(this,a);this.totalRecords=this.total;if(a.count===undefined){this.count=this.records.length}}});Ext.define("Ext.data.reader.Reader",{requires:["Ext.data.ResultSet","Ext.XTemplate"],alternateClassName:["Ext.data.Reader","Ext.data.DataReader"],mixins:{observable:"Ext.util.Observable"},totalProperty:"total",successProperty:"success",root:"",implicitIncludes:true,readRecordsOnFailure:true,isReader:true,applyDefaults:true,lastFieldGeneration:null,constructor:function(a){var b=this;b.mixins.observable.constructor.call(b,a);b.fieldCount=0;b.model=Ext.ModelManager.getModel(b.model);b.accessExpressionFn=Ext.Function.bind(b.createFieldAccessExpression,b);if(b.model&&b.model.prototype.fields){b.buildExtractors()}this.addEvents("exception")},setModel:function(a,c){var b=this;b.model=Ext.ModelManager.getModel(a);b.buildExtractors(true);if(c&&b.proxy){b.proxy.setModel(b.model,true)}},read:function(a){var b;if(a){b=a.responseText?this.getResponseData(a):this.readRecords(a)}return b||this.nullResultSet},readRecords:function(c){var d=this,i,b,a,g,e,h,j;if(d.lastFieldGeneration!==d.model.prototype.fields.generation){d.buildExtractors(true)}d.rawData=c;c=d.getData(c);i=true;b=0;a=[];if(d.successProperty){h=d.getSuccess(c);if(h===false||h==="false"){i=false}}if(d.messageProperty){j=d.getMessage(c)}if(d.readRecordsOnFailure||i){g=Ext.isArray(c)?c:d.getRoot(c);if(g){e=g.length}if(d.totalProperty){h=parseInt(d.getTotal(c),10);if(!isNaN(h)){e=h}}if(g){a=d.extractData(g);b=a.length}}return new Ext.data.ResultSet({total:e||b,count:b,records:a,success:i,message:j})},extractData:function(k){var j=this,d=[],b=j.model,a=k.length,e,c,h,g;if(!k.length&&Ext.isObject(k)){k=[k];a=1}for(g=0;g',' ,__field{#} = fields.get("{name}")\n',"",";\n","return function(dest, source, record) {\n",'',' value = {[ this.createFieldAccessExpression(values, "__field" + xindex, "source") ]};\n','',' dest["{name}"] = value === undefined ? __field{#}.convert(__field{#}.defaultValue, record) : __field{#}.convert(value, record);\n',''," if (value === undefined) {\n"," if (me.applyDefaults) {\n",'',' dest["{name}"] = __field{#}.convert(__field{#}.defaultValue, record);\n',"",' dest["{name}"] = __field{#}.defaultValue\n',""," };\n"," } else {\n",'',' dest["{name}"] = __field{#}.convert(value, record);\n',"",' dest["{name}"] = value;\n',""," };",""," if (value !== undefined) {\n",'',' dest["{name}"] = __field{#}.convert(value, record);\n',"",' dest["{name}"] = value;\n',""," }\n","","",'',' if (record && (internalId = {[ this.createFieldAccessExpression({mapping: values.clientIdProp}, null, "source") ]})) {\n',' record.{["internalId"]} = internalId;\n'," }\n","","};"],buildRecordDataExtractor:function(){var c=this,a=c.model.prototype,b={clientIdProp:a.clientIdProperty,fields:a.fields.items};c.recordDataExtractorTemplate.createFieldAccessExpression=c.accessExpressionFn;return Ext.functionFactory(c.recordDataExtractorTemplate.apply(b)).call(c)},destroyReader:function(){var a=this;delete a.proxy;delete a.model;delete a.convertRecordData;delete a.getId;delete a.getTotal;delete a.getSuccess;delete a.getMessage}},function(){var a=this.prototype;Ext.apply(a,{nullResultSet:new Ext.data.ResultSet({total:0,count:0,records:[],success:true}),recordDataExtractorTemplate:new Ext.XTemplate(a.recordDataExtractorTemplate)})});Ext.define("Ext.data.reader.Json",{extend:"Ext.data.reader.Reader",alternateClassName:"Ext.data.JsonReader",alias:"reader.json",root:"",useSimpleAccessors:false,readRecords:function(a){if(a.metaData){this.onMetaChange(a.metaData)}this.jsonData=a;return this.callParent([a])},getResponseData:function(a){var d,b;try{d=Ext.decode(a.responseText);return this.readRecords(d)}catch(c){b=new Ext.data.ResultSet({total:0,count:0,records:[],success:false,message:c.message});this.fireEvent("exception",this,a,b);Ext.Logger.warn("Unable to parse the JSON returned by the server");return b}},buildExtractors:function(){var a=this;a.callParent(arguments);if(a.root){a.getRoot=a.createAccessor(a.root)}else{a.getRoot=function(b){return b}}},extractData:function(a){var e=this.record,d=[],c,b;if(e){c=a.length;if(!c&&Ext.isObject(a)){c=1;a=[a]}for(b=0;b=0){return Ext.functionFactory("obj","return obj"+(b>0?".":"")+c)}}return function(d){return d[c]}}}()),createFieldAccessExpression:(function(){var a=/[\[\.]/;return function(i,d,c){var e=this,g=(i.mapping!==null),h=g?i.mapping:i.name,b,j;if(typeof h==="function"){b=d+".mapping("+c+", this)"}else{if(this.useSimpleAccessors===true||((j=String(h).search(a))<0)){if(!g||isNaN(h)){h='"'+h+'"'}b=c+"["+h+"]"}else{b=c+(j>0?".":"")+h}}return b}}())});Ext.define("Ext.data.writer.Writer",{alias:"writer.base",alternateClassName:["Ext.data.DataWriter","Ext.data.Writer"],writeAllFields:true,nameProperty:"name",isWriter:true,constructor:function(a){Ext.apply(this,a)},write:function(e){var c=e.operation,b=c.records||[],a=b.length,d=0,g=[];for(;d1){e[l]=g.internalId}}else{e[g.idProperty]=g.getId()}return e}});Ext.define("Ext.data.writer.Json",{extend:"Ext.data.writer.Writer",alternateClassName:"Ext.data.JsonWriter",alias:"writer.json",root:undefined,encode:false,allowSingle:true,writeRecords:function(b,c){var a=this.root;if(this.allowSingle&&c.length==1){c=c[0]}if(this.encode){if(a){b.params[a]=Ext.encode(c)}else{}}else{b.jsonData=b.jsonData||{};if(a){b.jsonData[a]=c}else{b.jsonData=c}}return b}});Ext.define("Ext.data.proxy.Server",{extend:"Ext.data.proxy.Proxy",alias:"proxy.server",alternateClassName:"Ext.data.ServerProxy",uses:["Ext.data.Request"],pageParam:"page",startParam:"start",limitParam:"limit",groupParam:"group",groupDirectionParam:"groupDir",sortParam:"sort",filterParam:"filter",directionParam:"dir",simpleSortMode:false,simpleGroupMode:false,noCache:true,cacheString:"_dc",timeout:30000,constructor:function(a){var b=this;a=a||{};b.callParent([a]);b.extraParams=a.extraParams||{};b.api=Ext.apply({},a.api||b.api);b.nocache=b.noCache},create:function(){return this.doRequest.apply(this,arguments)},read:function(){return this.doRequest.apply(this,arguments)},update:function(){return this.doRequest.apply(this,arguments)},destroy:function(){return this.doRequest.apply(this,arguments)},setExtraParam:function(a,b){this.extraParams[a]=b},buildRequest:function(a){var c=this,d=Ext.applyIf(a.params||{},c.extraParams||{}),b;d=Ext.applyIf(d,c.getParams(a));if(a.id!==undefined&&d.id===undefined){d.id=a.id}b=new Ext.data.Request({params:d,action:a.action,records:a.records,operation:a,url:a.url,proxy:c});b.url=c.buildUrl(b);a.request=b;return b},processResponse:function(h,a,c,b,g,i){var e=this,d,j;if(h===true){d=e.getReader();d.applyDefaults=a.action==="read";j=d.read(e.extractResponseData(b));if(j.success!==false){Ext.apply(a,{response:b,resultSet:j});a.commitRecords(j.records);a.setCompleted();a.setSuccessful()}else{a.setException(j.message);e.fireEvent("exception",this,b,a)}}else{e.setException(a,b);e.fireEvent("exception",this,b,a)}if(typeof g=="function"){g.call(i||e,a)}e.afterRequest(c,h)},setException:function(b,a){b.setException({status:a.status,statusText:a.statusText})},extractResponseData:function(a){return a},applyEncoding:function(a){return Ext.encode(a)},encodeSorters:function(d){var b=[],c=d.length,a=0;for(;a0){if(d){t[c]=r[0].property;t[k]=r[0].direction||"ASC"}else{t[c]=u.encodeSorters(r)}}if(e&&a&&a.length>0){if(j){t[e]=a[0].property;t[m]=a[0].direction}else{t[e]=u.encodeSorters(a)}}if(o&&l&&l.length>0){t[o]=u.encodeFilters(l)}return t},buildUrl:function(c){var b=this,a=b.getUrl(c);if(b.noCache){a=Ext.urlAppend(a,Ext.String.format("{0}={1}",b.cacheString,Ext.Date.now()))}return a},getUrl:function(a){return a.url||this.api[a.action]||this.url},doRequest:function(a,c,b){},afterRequest:Ext.emptyFn,onDestroy:function(){Ext.destroy(this.reader,this.writer)}});Ext.define("Ext.data.proxy.Ajax",{requires:["Ext.util.MixedCollection","Ext.Ajax"],extend:"Ext.data.proxy.Server",alias:"proxy.ajax",alternateClassName:["Ext.data.HttpProxy","Ext.data.AjaxProxy"],actionMethods:{create:"POST",read:"GET",update:"POST",destroy:"POST"},doRequest:function(a,e,b){var d=this.getWriter(),c=this.buildRequest(a,e,b);if(a.allowWrite()){c=d.write(c)}Ext.apply(c,{headers:this.headers,timeout:this.timeout,scope:this,callback:this.createRequestCallback(c,a,e,b),method:this.getMethod(c),disableCaching:false});Ext.Ajax.request(c);return c},getMethod:function(a){return this.actionMethods[a.action]},createRequestCallback:function(d,a,e,b){var c=this;return function(h,i,g){c.processResponse(i,a,d,g,e,b)}}},function(){Ext.data.HttpProxy=this});Ext.define("Ext.data.proxy.Client",{extend:"Ext.data.proxy.Proxy",alternateClassName:"Ext.data.ClientProxy",isSynchronous:true,clear:function(){}});Ext.define("Ext.data.proxy.Memory",{extend:"Ext.data.proxy.Client",alias:"proxy.memory",alternateClassName:"Ext.data.MemoryProxy",constructor:function(a){this.callParent([a]);this.setReader(this.reader)},updateOperation:function(b,g,d){var c=0,e=b.getRecords(),a=e.length;for(c;c0){for(;a.first&&b;b--){a.removeAtKey(a.first.key)}}}});Ext.define("Ext.data.Store",{extend:"Ext.data.AbstractStore",alias:"store.store",requires:["Ext.data.StoreManager","Ext.data.Model","Ext.data.proxy.Ajax","Ext.data.proxy.Memory","Ext.data.reader.Json","Ext.data.writer.Json","Ext.util.LruCache"],uses:["Ext.ModelManager","Ext.util.Grouper"],remoteSort:false,remoteFilter:false,remoteGroup:false,groupField:undefined,groupDir:"ASC",trailingBufferZone:25,leadingBufferZone:200,pageSize:undefined,currentPage:1,clearOnPageLoad:true,loading:false,sortOnFilter:true,buffered:false,purgePageCount:5,clearRemovedOnLoad:true,defaultPageSize:25,addRecordsOptions:{addRecords:true},statics:{recordIdFn:function(a){return a.internalId},recordIndexFn:function(a){return a.index}},onClassExtended:function(b,d,a){var c=d.model,e;if(typeof c=="string"){e=a.onBeforeCreated;a.onBeforeCreated=function(){var h=this,g=arguments;Ext.require(c,function(){e.apply(h,g)})}}},constructor:function(b){b=Ext.Object.merge({},b);var d=this,g=b.groupers||d.groupers,a=b.groupField||d.groupField,c,e;e=b.data||d.data;d.data=new Ext.util.MixedCollection(false,Ext.data.Store.recordIdFn);if(e){d.inlineData=e;delete b.data}if(!g&&a){g=[{property:a,direction:b.groupDir||d.groupDir}]}delete b.groupers;d.groupers=new Ext.util.MixedCollection();d.groupers.addAll(d.decodeGroupers(g));this.callParent([b]);if(d.buffered){d.pageMap=new d.PageMap({pageSize:d.pageSize,maxSize:d.purgePageCount,listeners:{clear:d.cancelAllPrefetches,scope:d}});d.pageRequests={};d.sortOnLoad=false;d.filterOnLoad=false}if(d.remoteGroup){d.remoteSort=true}if(d.groupers.items.length&&!d.remoteGroup){d.sort(d.groupers.items,"prepend",false)}c=d.proxy;e=d.inlineData;if(!d.buffered&&!d.pageSize){d.pageSize=d.defaultPageSize}if(e){if(c instanceof Ext.data.proxy.Memory){c.data=e;d.read()}else{d.add.apply(d,[e])}d.sort();delete d.inlineData}else{if(d.autoLoad){Ext.defer(d.load,10,d,[typeof d.autoLoad==="object"?d.autoLoad:undefined])}}},destroyStore:function(){this.callParent(arguments);if(this.pageMap){this.pageMap.clear()}},onBeforeSort:function(){var a=this.groupers;if(a.getCount()>0){this.sort(a.items,"prepend",false)}},decodeGroupers:function(e){if(!Ext.isArray(e)){if(e===undefined){e=[]}else{e=[e]}}var d=e.length,g=Ext.util.Grouper,b,c,a=[];for(c=0;c0},fireGroupChange:function(){this.fireEvent("groupchange",this,this.groupers)},getGroups:function(b){var d=this.data.items,a=d.length,c=[],k={},g,h,j,e;for(e=0;e-1){b=e.phantom!==true;if(!k&&b){e.removedFrom=g;h.removed.push(e)}e.unjoin(h);h.data.remove(e);j=j||b;h.fireEvent("remove",h,e,g)}}h.fireEvent("datachanged",h);if(!k&&h.autoSync&&j&&!h.autoSyncSuspended){h.sync()}},removeAt:function(b){var a=this.getAt(b);if(a){this.remove(a)}},load:function(a){var b=this;a=a||{};if(typeof a=="function"){a={callback:a}}a.groupers=a.groupers||b.groupers.items;a.page=a.page||b.currentPage;a.start=(a.start!==undefined)?a.start:(a.page-1)*b.pageSize;a.limit=a.limit||b.pageSize;a.addRecords=a.addRecords||false;if(b.buffered){return b.loadToPrefetch(a)}return b.callParent([a])},reload:function(l){var g=this,h,b,e,k,d,a,j,c;if(!l){l={}}if(g.buffered){delete g.totalCount;a=function(){if(g.rangeCached(h,b)){g.loading=false;g.pageMap.un("pageAdded",a);c=g.pageMap.getRange(h,b);g.loadRecords(c,{start:h});g.fireEvent("load",g,c,true)}};j=Math.ceil((g.leadingBufferZone+g.trailingBufferZone)/2);h=l.start||g.getAt(0).index;b=h+(l.count||g.getCount())-1;e=g.getPageFromRecordIndex(Math.max(h-j,0));k=g.getPageFromRecordIndex(b+j);g.pageMap.clear(true);if(g.fireEvent("beforeload",g,l)!==false){g.loading=true;for(d=e;d<=k;d++){g.prefetchPage(d,l)}g.pageMap.on("pageAdded",a)}}else{return g.callParent(arguments)}},onProxyLoad:function(b){var d=this,c=b.getResultSet(),a=b.getRecords(),e=b.wasSuccessful();if(c){d.totalCount=c.total}if(e){d.loadRecords(a,b)}d.loading=false;if(d.hasListeners.load){d.fireEvent("load",d,a,e)}if(d.hasListeners.read){d.fireEvent("read",d,a,e)}Ext.callback(b.callback,b.scope||d,[a,b,e])},getNewRecords:function(){return this.data.filterBy(this.filterNew).items},getUpdatedRecords:function(){return this.data.filterBy(this.filterUpdated).items},filter:function(e,g){if(Ext.isString(e)){e={property:e,value:g}}var d=this,a=d.decodeFilters(e),b=0,h=d.sorters.length&&d.sortOnFilter&&!d.remoteSort,c=a.length;for(;bthis.totalCount)?this.totalCount-1:c;var h=this,e=h.lastRequestStart,d={prefetchStart:i,prefetchEnd:c,cb:a,scope:g},b;h.lastRequestStart=i;if(h.rangeCached(i,c)){if(i0){c=b[0].get(g)}for(;d0){a=c[0].get(g)}for(;da){a=e}}return a},average:function(c,a){var b=this;if(a&&b.isGrouped()){return b.aggregate(b.getAverage,b,true,[c])}else{return b.getAverage(b.data.items,c)}},getAverage:function(b,e){var c=0,a=b.length,d=0;if(b.length>0){for(;c1){for(a=b.length;c0){g.timeout=setTimeout(Ext.bind(j.handleTimeout,j,[g]),m)}j.setupErrorHandling(g);j[l]=Ext.bind(j.handleResponse,j,[g],true);j.loadScript(g);return g},abort:function(c){var b=this,d=b.requests,a;if(c){if(!c.id){c=d[c]}b.handleAbort(c)}else{for(a in d){if(d.hasOwnProperty(a)){b.abort(d[a])}}}},setupErrorHandling:function(a){a.script.onerror=Ext.bind(this.handleError,this,[a])},handleAbort:function(a){a.errorType="abort";this.handleResponse(null,a)},handleError:function(a){a.errorType="error";this.handleResponse(null,a)},cleanupErrorHandling:function(a){a.script.onerror=null},handleTimeout:function(a){a.errorType="timeout";this.handleResponse(null,a)},handleResponse:function(a,b){var c=true;if(b.timeout){clearTimeout(b.timeout)}delete this[b.callbackName];delete this.requests[b.id];this.cleanupErrorHandling(b);Ext.fly(b.script).remove();if(b.errorType){c=false;Ext.callback(b.failure,b.scope,[b.errorType])}else{Ext.callback(b.success,b.scope,[a])}Ext.callback(b.callback,b.scope,[c,a,b.errorType])},createScript:function(c,d,b){var a=document.createElement("script");a.setAttribute("src",Ext.urlAppend(c,Ext.Object.toQueryString(d)));a.setAttribute("async",true);a.setAttribute("type","text/javascript");return a},loadScript:function(a){Ext.getHead().appendChild(a.script)}});Ext.define("Ext.data.proxy.JsonP",{extend:"Ext.data.proxy.Server",alternateClassName:"Ext.data.ScriptTagProxy",alias:["proxy.jsonp","proxy.scripttag"],requires:["Ext.data.JsonP"],defaultWriterType:"base",callbackKey:"callback",recordParam:"records",autoAppendParams:true,constructor:function(){this.addEvents("exception");this.callParent(arguments)},doRequest:function(a,h,b){var d=this,e=d.getWriter(),c=d.buildRequest(a),g=c.params;if(a.allowWrite()){c=e.write(c)}Ext.apply(c,{callbackKey:d.callbackKey,timeout:d.timeout,scope:d,disableCaching:false,callback:d.createRequestCallback(c,a,h,b)});if(d.autoAppendParams){c.params={}}c.jsonp=Ext.data.JsonP.request(c);c.params=g;a.setStarted();d.lastRequest=c;return c},createRequestCallback:function(d,a,e,b){var c=this;return function(i,g,h){delete c.lastRequest;c.processResponse(i,a,d,g,e,b)}},setException:function(b,a){b.setException(b.request.jsonp.errorType)},buildUrl:function(h){var g=this,b=g.callParent(arguments),j=Ext.apply({},h.params),e=j.filters,a,d,c;delete j.filters;if(g.autoAppendParams){b=Ext.urlAppend(b,Ext.Object.toQueryString(j))}if(e&&e.length){for(c=0;c0){b=Ext.urlAppend(b,Ext.String.format("{0}={1}",g.recordParam,g.encodeRecords(a)))}return b},destroy:function(){this.abort();this.callParent(arguments)},abort:function(){var a=this.lastRequest;if(a){Ext.data.JsonP.abort(a.jsonp)}},encodeRecords:function(b){var d="",c=0,a=b.length;for(;c0},isExpandable:function(){var a=this;if(a.get("expandable")){return !(a.isLeaf()||(a.isLoaded()&&!a.hasChildNodes()))}return false},triggerUIUpdate:function(){this.afterEdit([])},appendChild:function(b,k,c){var h=this,d,g,e,j,a;if(Ext.isArray(b)){h.callStore("suspendAutoSync");for(d=0,g=b.length-1;d0?c-1:0,a=h.childNodes.length;d0?k-1:0,c=h.childNodes.length;d0){Ext.Array.sort(d,g);for(c=0;cj){i=i.substring(i.length-j)}else{if(i.length>>16)&4095)|(j.version<<12),4);k[3]=a(128|((j.clockSeq>>>8)&63),2)+a(j.clockSeq&255,2);k[4]=a(j.salt.hi,4)+a(j.salt.lo,8);if(j.version==4){j.init()}else{++i.lo;if(i.lo>=c){i.lo=0;++i.hi}}return k.join("-").toLowerCase()},getRecId:function(i){return i.getId()},init:function(){var j=this,i,k;if(j.version==4){j.clockSeq=d(0,h-1);i=j.salt||(j.salt={});k=j.timestamp||(j.timestamp={});i.lo=d(0,c-1);i.hi=d(0,g-1);k.lo=d(0,c-1);k.hi=d(0,e-1)}else{j.salt=b(j.salt);j.timestamp=b(j.timestamp);j.salt.hi|=256}},reconfigure:function(i){Ext.apply(this,i);this.init()}}}()));Ext.define("Ext.data.reader.Xml",{extend:"Ext.data.reader.Reader",alternateClassName:"Ext.data.XmlReader",alias:"reader.xml",createAccessor:function(b){var a=this;if(Ext.isEmpty(b)){return Ext.emptyFn}if(Ext.isFunction(b)){return b}return function(c){return a.getNodeValue(Ext.DomQuery.selectNode(b,c))}},getNodeValue:function(a){if(a&&a.firstChild){return a.firstChild.nodeValue}return undefined},getResponseData:function(a){var c=a.responseXML,b,d;if(!c){d="XML data not found in the response";b=new Ext.data.ResultSet({total:0,count:0,records:[],success:false,message:d});this.fireEvent("exception",this,a,b);Ext.Logger.warn(d);return b}return this.readRecords(c)},getData:function(a){return a.documentElement||a},getRoot:function(b){var c=b.nodeName,a=this.root;if(!a||(c&&c==a)){return b}else{if(Ext.DomQuery.isXml(b)){return Ext.DomQuery.selectNode(a,b)}}},extractData:function(a){var b=this.record;if(b!=a.nodeName){a=Ext.DomQuery.select(b,a)}else{a=[a]}return this.callParent([a])},getAssociatedDataRoot:function(b,a){return Ext.DomQuery.select(a,b)[0]},readRecords:function(a){if(Ext.isArray(a)){a=a[0]}this.xmlData=a;return this.callParent([a])},createFieldAccessExpression:function(e,d,c){var b=e.mapping||e.name,a;if(typeof b==="function"){a=d+".mapping("+c+", this)"}else{a='me.getNodeValue(Ext.DomQuery.selectNode("'+b+'", '+c+"))"}return a}});Ext.define("Ext.data.writer.Xml",{extend:"Ext.data.writer.Writer",alternateClassName:"Ext.data.XmlWriter",alias:"writer.xml",documentRoot:"xmlData",defaultDocumentRoot:"xmlData",header:"",record:"record",writeRecords:function(a,b){var h=this,d=[],c=0,g=b.length,j=h.documentRoot,e=h.record,m=b.length!==1,l,k;d.push(h.header||"");if(!j&&m){j=h.defaultDocumentRoot}if(j){d.push("<",j,">")}for(;c");for(k in l){if(l.hasOwnProperty(k)){d.push("<",k,">",l[k],"")}}d.push("")}if(j){d.push("")}a.xmlData=d.join("");return a}});Ext.define("Ext.data.XmlStore",{extend:"Ext.data.Store",alias:"store.xml",requires:["Ext.data.proxy.Ajax","Ext.data.reader.Xml","Ext.data.writer.Xml"],constructor:function(a){a=Ext.apply({proxy:{type:"ajax",reader:"xml",writer:"xml"}},a);this.callParent([a])}});Ext.define("Ext.data.association.BelongsTo",{extend:"Ext.data.association.Association",alternateClassName:"Ext.data.BelongsToAssociation",alias:"association.belongsto",constructor:function(c){this.callParent(arguments);var e=this,a=e.ownerModel.prototype,g=e.associatedName,d=e.getterName||"get"+g,b=e.setterName||"set"+g;Ext.applyIf(e,{name:g,foreignKey:g.toLowerCase()+"_id",instanceName:g+"BelongsToInstance",associationKey:g.toLowerCase()});a[d]=e.createGetter();a[b]=e.createSetter()},createSetter:function(){var b=this,a=b.foreignKey;return function(e,c,d){if(e&&e.isModel){e=e.getId()}this.set(a,e);if(Ext.isFunction(c)){c={callback:c,scope:d||this}}if(Ext.isObject(c)){return this.save(c)}}},createGetter:function(){var d=this,e=d.associatedName,g=d.associatedModel,c=d.foreignKey,b=d.primaryKey,a=d.instanceName;return function(k,l){k=k||{};var j=this,m=j.get(c),n,h,i;if(k.reload===true||j[a]===undefined){h=Ext.ModelManager.create({},e);h.set(b,m);if(typeof k=="function"){k={callback:k,scope:l||j}}n=k.success;k.success=function(o){j[a]=o;if(n){n.apply(this,arguments)}};g.load(m,k);j[a]=h;return h}else{h=j[a];i=[h];l=l||k.scope||j;Ext.callback(k,l,i);Ext.callback(k.success,l,i);Ext.callback(k.failure,l,i);Ext.callback(k.callback,l,i);return h}}},read:function(b,a,c){b[this.instanceName]=a.read([c]).records[0]}});Ext.define("Ext.util.Inflector",{singleton:true,plurals:[[(/(quiz)$/i),"$1zes"],[(/^(ox)$/i),"$1en"],[(/([m|l])ouse$/i),"$1ice"],[(/(matr|vert|ind)ix|ex$/i),"$1ices"],[(/(x|ch|ss|sh)$/i),"$1es"],[(/([^aeiouy]|qu)y$/i),"$1ies"],[(/(hive)$/i),"$1s"],[(/(?:([^f])fe|([lr])f)$/i),"$1$2ves"],[(/sis$/i),"ses"],[(/([ti])um$/i),"$1a"],[(/(buffal|tomat|potat)o$/i),"$1oes"],[(/(bu)s$/i),"$1ses"],[(/(alias|status|sex)$/i),"$1es"],[(/(octop|vir)us$/i),"$1i"],[(/(ax|test)is$/i),"$1es"],[(/^person$/),"people"],[(/^man$/),"men"],[(/^(child)$/),"$1ren"],[(/s$/i),"s"],[(/$/),"s"]],singulars:[[(/(quiz)zes$/i),"$1"],[(/(matr)ices$/i),"$1ix"],[(/(vert|ind)ices$/i),"$1ex"],[(/^(ox)en/i),"$1"],[(/(alias|status)es$/i),"$1"],[(/(octop|vir)i$/i),"$1us"],[(/(cris|ax|test)es$/i),"$1is"],[(/(shoe)s$/i),"$1"],[(/(o)es$/i),"$1"],[(/(bus)es$/i),"$1"],[(/([m|l])ice$/i),"$1ouse"],[(/(x|ch|ss|sh)es$/i),"$1"],[(/(m)ovies$/i),"$1ovie"],[(/(s)eries$/i),"$1eries"],[(/([^aeiouy]|qu)ies$/i),"$1y"],[(/([lr])ves$/i),"$1f"],[(/(tive)s$/i),"$1"],[(/(hive)s$/i),"$1"],[(/([^f])ves$/i),"$1fe"],[(/(^analy)ses$/i),"$1sis"],[(/((a)naly|(b)a|(d)iagno|(p)arenthe|(p)rogno|(s)ynop|(t)he)ses$/i),"$1$2sis"],[(/([ti])a$/i),"$1um"],[(/(n)ews$/i),"$1ews"],[(/people$/i),"person"],[(/s$/i),""]],uncountable:["sheep","fish","series","species","money","rice","information","equipment","grass","mud","offspring","deer","means"],singular:function(b,a){this.singulars.unshift([b,a])},plural:function(b,a){this.plurals.unshift([b,a])},clearSingulars:function(){this.singulars=[]},clearPlurals:function(){this.plurals=[]},isTransnumeral:function(a){return Ext.Array.indexOf(this.uncountable,a)!=-1},pluralize:function(g){if(this.isTransnumeral(g)){return g}var e=this.plurals,d=e.length,a,c,b;for(b=0;bb.tolerance){b.triggerStart(g)}else{return}}if(b.fireEvent("mousemove",b,g)===false){b.onMouseUp(g)}else{b.onDrag(g);b.fireEvent("drag",b,g)}},onMouseUp:function(b){var a=this;a.mouseIsDown=false;if(a.mouseIsOut){a.mouseIsOut=false;a.onMouseOut(b)}b.preventDefault();if(Ext.isIE&&document.releaseCapture){document.releaseCapture()}a.fireEvent("mouseup",a,b);a.endDrag(b)},endDrag:function(d){var b=this,c=Ext.getDoc(),a=b.active;c.un("mousemove",b.onMouseMove,b);c.un("mouseup",b.onMouseUp,b);c.un("selectstart",b.stopSelect,b);b.clearStart();b.active=false;if(a){b.onEnd(d);b.fireEvent("dragend",b,d)}delete b._constrainRegion;delete Ext.EventObject.dragTracked},triggerStart:function(b){var a=this;a.clearStart();a.active=true;a.onStart(b);a.fireEvent("dragstart",a,b)},clearStart:function(){var a=this.timer;if(a){clearTimeout(a);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},getConstrainRegion:function(){var a=this;if(a.constrainTo){if(a.constrainTo instanceof Ext.util.Region){return a.constrainTo}if(!a._constrainRegion){a._constrainRegion=Ext.fly(a.constrainTo).getViewRegion()}}else{if(!a._constrainRegion){a._constrainRegion=a.getDragCt().getViewRegion()}}return a._constrainRegion},getXY:function(a){return a?this.constrainModes[a](this,this.lastXY):this.lastXY},getOffset:function(c){var b=this.getXY(c),a=this.startXY;return[b[0]-a[0],b[1]-a[1]]},constrainModes:{point:function(b,d){var c=b.dragRegion,a=b.getConstrainRegion();if(!a){return d}c.x=c.left=c[0]=c.right=d[0];c.y=c.top=c[1]=c.bottom=d[1];c.constrainTo(a);return[c.left,c.top]},dragTarget:function(c,g){var b=c.startXY,e=c.startRegion.copy(),a=c.getConstrainRegion(),d;if(!a){return g}e.translateBy(g[0]-b[0],g[1]-b[1]);if(e.right>a.right){g[0]+=d=(a.right-e.right);e.left+=d}if(e.lefta.bottom){g[1]+=d=(a.bottom-e.bottom);e.top+=d}if(e.top0){if(b){for(d=0,a=b.length;d0){this.sendRequest(a==1?b[0]:b);this.callBuffer=[]}},configureFormRequest:function(e,a,b,i,j){var h=this,c=new Ext.direct.Transaction({provider:h,action:e,method:a.name,args:[b,i,j],callback:j&&Ext.isFunction(i)?Ext.Function.bind(i,j):i,isForm:true}),g,d;if(h.fireEvent("beforecall",h,c,a)!==false){Ext.direct.Manager.addTransaction(c);g=String(b.getAttribute("enctype")).toLowerCase()=="multipart/form-data";d={extTID:c.id,extAction:e,extMethod:a.name,extType:"rpc",extUpload:String(g)};Ext.apply(c,{form:Ext.getDom(b),isUpload:g,params:i&&Ext.isObject(i.params)?Ext.apply(d,i.params):d});h.fireEvent("call",h,c,a);h.sendFormRequest(c)}},sendFormRequest:function(a){Ext.Ajax.request({url:this.url,params:a.params,callback:this.onData,scope:this,form:a.form,isUpload:a.isUpload,transaction:a})}});Ext.define("Ext.draw.Matrix",{requires:["Ext.draw.Draw"],constructor:function(h,g,l,k,j,i){if(h!=null){this.matrix=[[h,l,j],[g,k,i],[0,0,1]]}else{this.matrix=[[1,0,0],[0,1,0],[0,0,1]]}},add:function(s,p,m,k,i,h){var n=this,g=[[],[],[]],r=[[s,m,i],[p,k,h],[0,0,1]],q,o,l,j;for(q=0;q<3;q++){for(o=0;o<3;o++){j=0;for(l=0;l<3;l++){j+=n.matrix[q][l]*r[l][o]}g[q][o]=j}}n.matrix=g},prepend:function(s,p,m,k,i,h){var n=this,g=[[],[],[]],r=[[s,m,i],[p,k,h],[0,0,1]],q,o,l,j;for(q=0;q<3;q++){for(o=0;o<3;o++){j=0;for(l=0;l<3;l++){j+=r[q][l]*n.matrix[l][o]}g[q][o]=j}}n.matrix=g},invert:function(){var j=this.matrix,i=j[0][0],h=j[1][0],n=j[0][1],m=j[1][1],l=j[0][2],k=j[1][2],g=i*m-h*n;return new Ext.draw.Matrix(m/g,-h/g,-n/g,i/g,(n*k-m*l)/g,(h*l-i*k)/g)},clone:function(){var i=this.matrix,h=i[0][0],g=i[1][0],m=i[0][1],l=i[1][1],k=i[0][2],j=i[1][2];return new Ext.draw.Matrix(h,g,m,l,k,j)},translate:function(a,b){this.prepend(1,0,0,1,a,b)},scale:function(b,e,a,d){var c=this;if(e==null){e=b}c.add(b,0,0,e,a*(1-b),d*(1-e))},rotate:function(c,b,h){c=Ext.draw.Draw.rad(c);var e=this,g=+Math.cos(c).toFixed(9),d=+Math.sin(c).toFixed(9);e.add(g,d,-d,g,b-g*b+d*h,-(d*b)+h-g*h)},x:function(a,c){var b=this.matrix;return a*b[0][0]+c*b[0][1]+b[0][2]},y:function(a,c){var b=this.matrix;return a*b[1][0]+c*b[1][1]+b[1][2]},get:function(b,a){return +this.matrix[b][a].toFixed(4)},toString:function(){var a=this;return[a.get(0,0),a.get(0,1),a.get(1,0),a.get(1,1),0,0].join()},toSvg:function(){var a=this;return"matrix("+[a.get(0,0),a.get(1,0),a.get(0,1),a.get(1,1),a.get(0,2),a.get(1,2)].join()+")"},toFilter:function(b,a){var c=this;b=b||0;a=a||0;return"progid:DXImageTransform.Microsoft.Matrix(sizingMethod='auto expand', filterType='bilinear', M11="+c.get(0,0)+", M12="+c.get(0,1)+", M21="+c.get(1,0)+", M22="+c.get(1,1)+", Dx="+(c.get(0,2)+b)+", Dy="+(c.get(1,2)+a)+")"},offset:function(){var a=this.matrix;return[(a[0][2]||0).toFixed(4),(a[1][2]||0).toFixed(4)]},split:function(){function d(g){return g[0]*g[0]+g[1]*g[1]}function b(g){var h=Math.sqrt(d(g));g[0]/=h;g[1]/=h}var a=this.matrix,c={translateX:a[0][2],translateY:a[1][2]},e;e=[[a[0][0],a[0][1]],[a[1][1],a[1][1]]];c.scaleX=Math.sqrt(d(e[0]));b(e[0]);c.shear=e[0][0]*e[1][0]+e[0][1]*e[1][1];e[1]=[e[1][0]-e[0][0]*c.shear,e[1][1]-e[0][1]*c.shear];c.scaleY=Math.sqrt(d(e[1]));b(e[1]);c.shear/=c.scaleY;c.rotate=Math.asin(-e[0][1]);c.isSimple=!+c.shear.toFixed(9)&&(c.scaleX.toFixed(9)==c.scaleY.toFixed(9)||!c.rotate);return c}});Ext.define("Ext.draw.SpriteDD",{extend:"Ext.dd.DragSource",constructor:function(b,a){var d=this,c=b.el;d.sprite=b;d.el=c;d.dragData={el:c,sprite:b};d.callParent([c,a]);d.sprite.setStyle("cursor","move")},showFrame:Ext.emptyFn,createFrame:Ext.emptyFn,getDragEl:function(a){return this.el},getRegion:function(){var j=this,g=j.el,m,d,c,o,n,s,a,k,h,q,p;p=j.sprite;q=p.getBBox();try{m=Ext.Element.getXY(g)}catch(i){}if(!m){return null}d=m[0];c=d+q.width;o=m[1];n=o+q.height;return new Ext.util.Region(o,c,n,d)},startDrag:function(b,d){var c=this,a=c.sprite.attr;c.prev=c.sprite.surface.transformToViewBox(b,d)},onDrag:function(i){var h=i.getXY(),g=this,d=g.sprite,a=d.attr,c,b;h=g.sprite.surface.transformToViewBox(h[0],h[1]);c=h[0]-g.prev[0];b=h[1]-g.prev[1];d.setAttributes({translate:{x:a.translation.x+c,y:a.translation.y+b}},true);g.prev=h},setDragElPos:function(){return false}});Ext.define("Ext.draw.Sprite",{mixins:{observable:"Ext.util.Observable",animate:"Ext.util.Animate"},requires:["Ext.draw.SpriteDD"],dirty:false,dirtyHidden:false,dirtyTransform:false,dirtyPath:true,dirtyFont:true,zIndexDirty:true,isSprite:true,zIndex:0,fontProperties:["font","font-size","font-weight","font-style","font-family","text-anchor","text"],pathProperties:["x","y","d","path","height","width","radius","r","rx","ry","cx","cy"],constructor:function(a){var b=this;a=Ext.merge({},a||{});b.id=Ext.id(null,"ext-sprite-");b.transformations=[];Ext.copyTo(this,a,"surface,group,type,draggable");b.bbox={};b.attr={zIndex:0,translation:{x:null,y:null},rotation:{degrees:null,x:null,y:null},scaling:{x:null,y:null,cx:null,cy:null}};delete a.surface;delete a.group;delete a.type;delete a.draggable;b.setAttributes(a);b.addEvents("beforedestroy","destroy","render","mousedown","mouseup","mouseover","mouseout","mousemove","click");b.mixins.observable.constructor.apply(this,arguments)},initDraggable:function(){var a=this;a.draggable=true;if(!a.el){a.surface.createSpriteElement(a)}a.dd=new Ext.draw.SpriteDD(a,Ext.isBoolean(a.draggable)?null:a.draggable);a.on("beforedestroy",a.dd.destroy,a.dd)},setAttributes:function(l,o){var t=this,j=t.fontProperties,q=j.length,h=t.pathProperties,g=h.length,r=!!t.surface,a=r&&t.surface.customAttributes||{},c=t.attr,b=false,m,p,k,d,s,n,u,e;l=Ext.apply({},l);for(m in a){if(l.hasOwnProperty(m)&&typeof a[m]=="function"){Ext.apply(l,a[m].apply(t,[].concat(l[m])))}}if(!!l.hidden!==!!c.hidden){t.dirtyHidden=true}for(p=0;p-1)&&(p[o] in g)){p[o]=g[p[o]]}if(o=="hidden"&&r.type=="text"){continue}if(o in s){c.dom.setAttribute(o,s[o](p[o],r,m))}else{c.dom.setAttribute(o,p[o])}}}if(r.type=="text"){m.tuneText(r,p)}r.dirtyFont=false;b=j.style;if(b){c.setStyle(b)}r.dirty=false;if(Ext.isSafari3){m.webkitRect.show();setTimeout(function(){m.webkitRect.hide()})}},setClip:function(b,g){var e=this,d=g["clip-rect"],a,c;if(d){if(b.clip){b.clip.parentNode.parentNode.removeChild(b.clip.parentNode)}a=e.createSvgElement("clipPath");c=e.createSvgElement("rect");a.id=Ext.id(null,"ext-clip-");c.setAttribute("x",d.x);c.setAttribute("y",d.y);c.setAttribute("width",d.width);c.setAttribute("height",d.height);a.appendChild(c);e.getDefs().appendChild(a);b.el.dom.setAttribute("clip-path","url(#"+a.id+")");b.clip=c}},applyZIndex:function(d){var g=this,b=g.items,a=b.indexOf(d),e=d.el,c;if(g.el.dom.childNodes[a+2]!==e.dom){if(a>0){do{c=b.getAt(--a).el}while(!c&&a>0)}e.insertAfter(c||g.bgRect)}d.zIndexDirty=false},createItem:function(a){var b=new Ext.draw.Sprite(a);b.surface=this;return b},addGradient:function(h){h=Ext.draw.Draw.parseGradient(h);var e=this,d=h.stops.length,a=h.vector,l=Ext.isSafari&&!Ext.isStrict,j,g,k,c,b;b=e.gradientsMap||{};if(!l){if(h.type=="linear"){j=e.createSvgElement("linearGradient");j.setAttribute("x1",a[0]);j.setAttribute("y1",a[1]);j.setAttribute("x2",a[2]);j.setAttribute("y2",a[3])}else{j=e.createSvgElement("radialGradient");j.setAttribute("cx",h.centerX);j.setAttribute("cy",h.centerY);j.setAttribute("r",h.radius);if(Ext.isNumber(h.focalX)&&Ext.isNumber(h.focalY)){j.setAttribute("fx",h.focalX);j.setAttribute("fy",h.focalY)}}j.id=h.id;e.getDefs().appendChild(j);for(c=0;c"},text:function(u){var r=u.attr,q=c.exec(r.font),w=(q&&q[1])||"12",p=(q&&q[3])||"Arial",v=r.text,t=(Ext.isFF3_0||Ext.isFF3_5)?2:4,o="",s;u.getBBox();o+='';o+=Ext.htmlEncode(v)+"";s=d({x:r.x,y:r.y,"font-size":w,"font-family":p,"font-weight":r["font-weight"],"text-anchor":r["text-anchor"],fill:r.fill||"#000","fill-opacity":r.opacity,transform:u.matrix.toSvg()});return""+o+""},rect:function(p){var o=p.attr,q=d({x:o.x,y:o.y,rx:o.rx,ry:o.ry,width:o.width,height:o.height,fill:o.fill||"none","fill-opacity":o.opacity,stroke:o.stroke,"stroke-opacity":o["stroke-opacity"],"stroke-width":o["stroke-width"],transform:p.matrix&&p.matrix.toSvg()});return""},circle:function(p){var o=p.attr,q=d({cx:o.x,cy:o.y,r:o.radius,fill:o.translation.fill||o.fill||"none","fill-opacity":o.opacity,stroke:o.stroke,"stroke-opacity":o["stroke-opacity"],"stroke-width":o["stroke-width"],transform:p.matrix.toSvg()});return""},image:function(p){var o=p.attr,q=d({x:o.x-(o.width/2>>0),y:o.y-(o.height/2>>0),width:o.width,height:o.height,"xlink:href":o.src,transform:p.matrix.toSvg()});return""}},a=function(){var o='';o+='';return o},l=function(){var w='',p="",H,F,v,q,G,J,z,x,t,y,B,o,K,u,E,C,I,D,s,r;v=g.items.items;F=v.length;G=function(O){var V=O.childNodes,S=V.length,R=0,P,Q,L="",M,U,N,T;for(;R0){L+=G(M)}L+=""}return L};if(g.getDefs){p=G(g.getDefs())}else{x=g.gradientsColl;if(x){t=x.keys;y=x.items;B=0;o=t.length}for(;B';var A=q.colors.replace(j,"rgb($1|$2|$3)");A=A.replace(h,"rgba($1|$2|$3|$4)");J=A.split(",");for(E=0,I=J.length;E'}p+=""}}w+=""+p+"";w+=k.rect({attr:{width:"100%",height:"100%",fill:"#fff",stroke:"none",opacity:"0"}});D=new Array(F);for(E=0;E";return w},d=function(q){var p="",o;for(o in q){if(q.hasOwnProperty(o)&&q[o]!=null){p+=o+'="'+q[o]+'" '}}return p};return{singleton:true,generate:function(o,p){p=p||{};n(o);return a()+l()}}});Ext.define("Ext.draw.engine.Vml",{extend:"Ext.draw.Surface",requires:["Ext.draw.Draw","Ext.draw.Color","Ext.draw.Sprite","Ext.draw.Matrix","Ext.Element"],engine:"Vml",map:{M:"m",L:"l",C:"c",Z:"x",m:"t",l:"r",c:"v",z:"x"},bitesRe:/([clmz]),?([^clmz]*)/gi,valRe:/-?[^,\s\-]+/g,fillUrlRe:/^url\(\s*['"]?([^\)]+?)['"]?\s*\)$/i,pathlike:/^(path|rect)$/,NonVmlPathRe:/[ahqstv]/ig,partialPathRe:/[clmz]/g,fontFamilyRe:/^['"]+|['"]+$/g,baseVmlCls:Ext.baseCSSPrefix+"vml-base",vmlGroupCls:Ext.baseCSSPrefix+"vml-group",spriteCls:Ext.baseCSSPrefix+"vml-sprite",measureSpanCls:Ext.baseCSSPrefix+"vml-measure-span",zoom:21600,coordsize:1000,coordorigin:"0 0",zIndexShift:0,orderSpritesByZIndex:false,path2vml:function(t){var n=this,u=n.NonVmlPathRe,b=n.map,e=n.valRe,s=n.zoom,d=n.bitesRe,g=Ext.Function.bind(Ext.draw.Draw.pathToAbsolute,Ext.draw.Draw),m,o,c,a,k,q,h,l;if(String(t).match(u)){g=Ext.Function.bind(Ext.draw.Draw.path2curve,Ext.draw.Draw)}else{if(!String(t).match(n.partialPathRe)){m=String(t).replace(d,function(r,w,j){var v=[],i=w.toLowerCase()=="m",p=b[w];j.replace(e,function(x){if(i&&v.length===2){p+=v+b[w=="m"?"l":"L"];v=[]}v.push(Math.round(x*s))});return p+v});return m}}o=g(t);m=[];for(k=0,q=o.length;k")}a.W=h.span.offsetWidth;a.H=h.span.offsetHeight+2;if(c["text-anchor"]=="middle"){e["v-text-align"]="center"}else{if(c["text-anchor"]=="end"){e["v-text-align"]="right";a.bbx=-Math.round(a.W/2)}else{e["v-text-align"]="left";a.bbx=Math.round(a.W/2)}}}a.X=c.x;a.Y=c.y;a.path.v=Ext.String.format("m{0},{1}l{2},{1}",Math.round(a.X*j),Math.round(a.Y*j),Math.round(a.X*j)+1);i.bbox.plain=null;i.bbox.transform=null;i.dirtyFont=false},setText:function(a,b){a.vml.textpath.string=Ext.htmlDecode(b)},hide:function(){this.el.hide()},show:function(){this.el.show()},hidePrim:function(a){a.el.addCls(Ext.baseCSSPrefix+"hide-visibility")},showPrim:function(a){a.el.removeCls(Ext.baseCSSPrefix+"hide-visibility")},setSize:function(b,a){var c=this;b=b||c.width;a=a||c.height;c.width=b;c.height=a;if(c.el){if(b!=undefined){c.el.setWidth(b)}if(a!=undefined){c.el.setHeight(a)}}c.callParent(arguments)},applyViewBox:function(){var g=this,h=g.viewBox,e=g.width,b=g.height,c,a,d;g.callParent();if(h&&(e||b)){c=g.items.items;a=c.length;for(d=0;d')}}catch(d){c.createNode=function(e){return g.createElement("<"+e+' xmlns="urn:schemas-microsoft.com:vml" class="rvml">')}}}if(!c.el){b=g.createElement("div");c.el=Ext.get(b);c.el.addCls(c.baseVmlCls);c.span=g.createElement("span");Ext.get(c.span).addCls(c.measureSpanCls);b.appendChild(c.span);c.el.setSize(c.width||0,c.height||0);a.appendChild(b);c.el.on({scope:c,mouseup:c.onMouseUp,mousedown:c.onMouseDown,mouseover:c.onMouseOver,mouseout:c.onMouseOut,mousemove:c.onMouseMove,mouseenter:c.onMouseEnter,mouseleave:c.onMouseLeave,click:c.onClick,dblclick:c.onDblClick})}c.renderAll()},renderAll:function(){this.items.each(this.renderItem,this)},redraw:function(a){a.dirty=true;this.renderItem(a)},renderItem:function(a){if(!this.el){return}if(!a.el){this.createSpriteElement(a)}if(a.dirty){this.applyAttrs(a);if(a.dirtyTransform){this.applyTransformations(a)}}},rotationCompensation:function(d,c,a){var b=new Ext.draw.Matrix();b.rotate(-d,0.5,0.5);return{x:b.x(c,a),y:b.y(c,a)}},transform:function(x,I){var H=this,b=H.getBBox(x,true),j=b.x+b.width*0.5,h=b.y+b.height*0.5,B=new Ext.draw.Matrix(),q=x.transformations,v=q.length,C=0,o=0,d=1,c=1,n="",g=x.el,E=g.dom,z=E.style,a=H.zoom,k=x.skew,D=H.viewBoxShift,G,F,s,l,r,p,A,w,u,t,e,m;for(;C32767){m[0]=32767}else{if(m[0]<-32768){m[0]=-32768}}if(m[1]>32767){m[1]=32767}else{if(m[1]<-32768){m[1]=-32768}}k.offset=m}else{z.filter=B.toFilter();z.left=Math.min(B.x(b.x,b.y),B.x(b.x+b.width,b.y),B.x(b.x,b.y+b.height),B.x(b.x+b.width,b.y+b.height))+"px";z.top=Math.min(B.y(b.x,b.y),B.y(b.x+b.width,b.y),B.y(b.x,b.y+b.height),B.y(b.x+b.width,b.y+b.height))+"px"}},createItem:function(a){return Ext.create("Ext.draw.Sprite",a)},getRegion:function(){return this.el.getRegion()},addCls:function(a,b){if(a&&a.el){a.el.addCls(b)}},removeCls:function(a,b){if(a&&a.el){a.el.removeCls(b)}},addGradient:function(g){var d=this.gradientsColl||(this.gradientsColl=Ext.create("Ext.util.MixedCollection")),a=[],j=Ext.create("Ext.util.MixedCollection"),l,e,b,h,k,c;j.addAll(g.stops);j.sortByKey("ASC",function(m,i){m=parseInt(m,10);i=parseInt(i,10);return m>i?1:(m'],initComponent:function(){this.callParent();this.addEvents("success","failure")},beforeRender:function(){this.callParent();Ext.applyIf(this.renderData,{swfId:this.getSwfId()})},afterRender:function(){var b=this,a=Ext.apply({},b.flashParams),c=Ext.apply({},b.flashVars);b.callParent();a=Ext.apply({allowScriptAccess:"always",bgcolor:b.backgroundColor,wmode:b.wmode},a);c=Ext.apply({allowedDomain:document.location.hostname},c);new swfobject.embedSWF(b.url,b.getSwfId(),b.swfWidth,b.swfHeight,b.flashVersion,b.expressInstall?b.statics.EXPRESS_INSTALL_URL:undefined,c,a,b.flashAttributes,Ext.bind(b.swfCallback,b))},swfCallback:function(b){var a=this;if(b.success){a.swf=Ext.get(b.ref);a.onSuccess();a.fireEvent("success",a)}else{a.onFailure();a.fireEvent("failure",a)}},getSwfId:function(){return this.swfId||(this.swfId="extswf"+this.getAutoId())},onSuccess:function(){this.swf.setStyle("visibility","inherit")},onFailure:Ext.emptyFn,beforeDestroy:function(){var b=this,a=b.swf;if(a){swfobject.removeSWF(b.getSwfId());Ext.destroy(a);delete b.swf}b.callParent()},statics:{EXPRESS_INSTALL_URL:"http://swfobject.googlecode.com/svn/trunk/swfobject/expressInstall.swf"}});Ext.define("Ext.form.action.Action",{alternateClassName:"Ext.form.Action",submitEmptyText:true,constructor:function(a){if(a){Ext.apply(this,a)}var b=a.params;if(Ext.isString(b)){this.params=Ext.Object.fromQueryString(b)}},run:Ext.emptyFn,onFailure:function(a){this.response=a;this.failureType=Ext.form.action.Action.CONNECT_FAILURE;this.form.afterAction(this,false)},processResponse:function(a){this.response=a;if(!a.responseText&&!a.responseXML){return true}return(this.result=this.handleResponse(a))},getUrl:function(){return this.url||this.form.url},getMethod:function(){return(this.method||this.form.method||"POST").toUpperCase()},getParams:function(){return Ext.apply({},this.params,this.form.baseParams)},createCallback:function(){var c=this,a,b=c.form;return{success:c.onSuccess,failure:c.onFailure,scope:c,timeout:(this.timeout*1000)||(b.timeout*1000),upload:b.fileUpload?c.onSuccess:a}},statics:{CLIENT_INVALID:"client",SERVER_INVALID:"server",CONNECT_FAILURE:"connect",LOAD_FAILURE:"load"}});Ext.define("Ext.form.action.Load",{extend:"Ext.form.action.Action",requires:["Ext.data.Connection"],alternateClassName:"Ext.form.Action.Load",alias:"formaction.load",type:"load",run:function(){Ext.Ajax.request(Ext.apply(this.createCallback(),{method:this.getMethod(),url:this.getUrl(),headers:this.headers,params:this.getParams()}))},onSuccess:function(b){var a=this.processResponse(b),c=this.form;if(a===true||!a.success||!a.data){this.failureType=Ext.form.action.Action.LOAD_FAILURE;c.afterAction(this,false);return}c.clearInvalid();c.setValues(a.data);c.afterAction(this,true)},handleResponse:function(c){var a=this.form.reader,b,d;if(a){b=a.read(c);d=b.records&&b.records[0]?b.records[0].data:null;return{success:b.success,data:d}}return Ext.decode(c.responseText)}});Ext.define("Ext.form.action.Submit",{extend:"Ext.form.action.Action",alternateClassName:"Ext.form.Action.Submit",alias:"formaction.submit",type:"submit",run:function(){var a=this.form;if(this.clientValidation===false||a.isValid()){this.doSubmit()}else{this.failureType=Ext.form.action.Action.CLIENT_INVALID;a.afterAction(this,false)}},doSubmit:function(){var b,a=Ext.apply(this.createCallback(),{url:this.getUrl(),method:this.getMethod(),headers:this.headers});if(this.form.hasUpload()){b=a.form=this.buildForm();a.isUpload=true}else{a.params=this.getParams()}Ext.Ajax.request(a);if(b){Ext.removeNode(b)}},getParams:function(){var c=false,b=this.callParent(),a=this.form.getValues(c,c,this.submitEmptyText!==c);return Ext.apply({},a,b)},buildForm:function(){var k=[],i,q,e=this.form,d=this.getParams(),c=[],g=e.getFields().items,h,r=g.length,j,o,m,n,l,p,b;for(h=0;hid="{id}">','','',"{beforeLabelTpl}",' class="{labelCls}"',' style="{labelStyle}">',"{beforeLabelTextTpl}",'{fieldLabel}{labelSeparator}',"{afterLabelTextTpl}","","{afterLabelTpl}","","",'',"{beforeBodyEl}","","{beforeLabelTpl}",'
','","
","{afterLabelTpl}","
","{beforeSubTpl}","{[values.$comp.getSubTplMarkup()]}","{afterSubTpl}","","{afterBodyEl}","","",'',"","",'',"{afterBodyEl}","","","",{disableFormats:true}],activeErrorsTpl:['','
  • {.}
',"
"],isFieldLabelable:true,formItemCls:Ext.baseCSSPrefix+"form-item",labelCls:Ext.baseCSSPrefix+"form-item-label",errorMsgCls:Ext.baseCSSPrefix+"form-error-msg",baseBodyCls:Ext.baseCSSPrefix+"form-item-body",fieldBodyCls:"",clearCls:Ext.baseCSSPrefix+"clear",invalidCls:Ext.baseCSSPrefix+"form-invalid",fieldLabel:undefined,labelAlign:"left",labelWidth:100,labelPad:5,labelSeparator:":",hideLabel:false,hideEmptyLabel:true,preventMark:false,autoFitErrors:true,msgTarget:"qtip",noWrap:true,labelableInsertions:["beforeBodyEl","afterBodyEl","beforeLabelTpl","afterLabelTpl","beforeSubTpl","afterSubTpl","beforeLabelTextTpl","afterLabelTextTpl","labelAttrTpl"],labelableRenderProps:["allowBlank","id","labelAlign","fieldBodyCls","baseBodyCls","clearCls","labelSeparator","msgTarget"],initLabelable:function(){var a=this,b=a.padding;if(b){a.padding=undefined;a.extraMargins=Ext.Element.parseBox(b)}a.addCls(a.formItemCls);a.lastActiveError="";a.addEvents("errorchange")},trimLabelSeparator:function(){var c=this,d=c.labelSeparator,a=c.fieldLabel||"",b=a.substr(a.length-1);return b===d?a.slice(0,-1):a},getFieldLabel:function(){return this.trimLabelSeparator()},setFieldLabel:function(b){b=b||"";var c=this,d=c.labelSeparator,a=c.labelEl;c.fieldLabel=b;if(c.rendered){if(Ext.isEmpty(b)&&c.hideEmptyLabel){a.parent().setDisplayed("none")}else{if(d){b=c.trimLabelSeparator()+d}a.update(b);a.parent().setDisplayed("")}c.updateLayout()}},getInsertionRenderData:function(d,e){var b=e.length,a,c;while(b--){a=e[b];c=this[a];if(c){if(typeof c!="string"){if(!c.isTemplate){c=Ext.XTemplate.getTpl(this,a)}c=c.apply(d)}}d[a]=c||""}return d},getLabelableRenderData:function(){var b=this,c,d,a=b.labelAlign==="top";if(!Ext.form.Labelable.errorIconWidth){Ext.form.Labelable.errorIconWidth=(d=Ext.resetElement.createChild({style:"position:absolute",cls:Ext.baseCSSPrefix+"form-invalid-icon"})).getWidth();d.remove()}c=Ext.copyTo({inFormLayout:b.ownerLayout&&b.ownerLayout.type==="form",inputId:b.getInputId(),labelOnLeft:!a,hideLabel:!b.hasVisibleLabel(),fieldLabel:b.getFieldLabel(),labelCellStyle:b.getLabelCellStyle(),labelCellAttrs:b.getLabelCellAttrs(),labelCls:b.getLabelCls(),labelStyle:b.getLabelStyle(),bodyColspan:b.getBodyColspan(),externalError:!b.autoFitErrors,errorMsgCls:b.getErrorMsgCls(),errorIconWidth:Ext.form.Labelable.errorIconWidth},b,b.labelableRenderProps,true);b.getInsertionRenderData(c,b.labelableInsertions);return c},beforeLabelableRender:function(){var a=this;if(a.ownerLayout){a.addCls(Ext.baseCSSPrefix+a.ownerLayout.type+"-form-item")}},onLabelableRender:function(){var c=this,d,a,b={};if(c.extraMargins){d=c.el.getMargin();for(a in d){if(d.hasOwnProperty(a)){b["margin-"+a]=(d[a]+c.extraMargins[a])+"px"}}c.el.setStyle(b)}},hasVisibleLabel:function(){if(this.hideLabel){return false}return !(this.hideEmptyLabel&&!this.getFieldLabel())},getBodyColspan:function(){var b=this,a;if(b.msgTarget==="side"&&(!b.autoFitErrors||b.hasActiveError())){a=1}else{a=2}if(b.labelAlign!=="top"&&!b.hasVisibleLabel()){a++}return a},getLabelCls:function(){var b=this.labelCls,a=this.labelClsExtra;if(this.labelAlign==="top"){b+="-top"}return a?b+" "+a:b},getLabelCellStyle:function(){var b=this,a=b.hideLabel||(!b.fieldLabel&&b.hideEmptyLabel);return a?"display:none;":""},getErrorMsgCls:function(){var b=this,a=(b.hideLabel||(!b.fieldLabel&&b.hideEmptyLabel));return b.errorMsgCls+(!a&&b.labelAlign==="top"?" "+Ext.baseCSSPrefix+"lbl-top-err-icon":"")},getLabelCellAttrs:function(){var c=this,b=c.labelAlign,a="";if(b!=="top"){a='valign="top" halign="'+b+'" width="'+(c.labelWidth+c.labelPad)+'"'}return a+' class="'+Ext.baseCSSPrefix+'field-label-cell"'},getLabelStyle:function(){var c=this,b=c.labelPad,a="";if(c.labelAlign!=="top"){if(c.labelWidth){a="width:"+c.labelWidth+"px;"}a+="margin-right:"+b+"px;"}return a+(c.labelStyle||"")},getSubTplMarkup:function(){return""},getInputId:function(){return""},getActiveError:function(){return this.activeError||""},hasActiveError:function(){return !!this.getActiveError()},setActiveError:function(a){this.setActiveErrors(a)},getActiveErrors:function(){return this.activeErrors||[]},setActiveErrors:function(a){a=Ext.Array.from(a);this.activeError=a[0];this.activeErrors=a;this.activeError=this.getTpl("activeErrorsTpl").apply({errors:a});this.renderActiveError()},unsetActiveError:function(){delete this.activeError;delete this.activeErrors;this.renderActiveError()},renderActiveError:function(){var c=this,b=c.getActiveError(),a=!!b;if(b!==c.lastActiveError){c.fireEvent("errorchange",c,b);c.lastActiveError=b}if(c.rendered&&!c.isDestroyed&&!c.preventMark){c.el[a?"addCls":"removeCls"](c.invalidCls);c.getActionEl().dom.setAttribute("aria-invalid",a);if(c.errorEl){c.errorEl.dom.innerHTML=b}}},setFieldDefaults:function(c){var b=this,d,a;for(a in c){if(c.hasOwnProperty(a)){d=c[a];if(!b.hasOwnProperty(a)){b[a]=d}}}}});Ext.define("Ext.form.field.Field",{isFormField:true,disabled:false,submitValue:true,validateOnChange:true,suspendCheckChange:0,initField:function(){this.addEvents("change","validitychange","dirtychange");this.initValue()},initValue:function(){var a=this;a.value=a.transformOriginalValue(a.value);a.originalValue=a.lastValue=a.value;a.suspendCheckChange++;a.setValue(a.value);a.suspendCheckChange--},transformOriginalValue:function(a){return a},getName:function(){return this.name},getValue:function(){return this.value},setValue:function(b){var a=this;a.value=b;a.checkChange();return a},isEqual:function(b,a){return String(b)===String(a)},isEqualAsString:function(b,a){return String(Ext.value(b,""))===String(Ext.value(a,""))},getSubmitData:function(){var a=this,b=null;if(!a.disabled&&a.submitValue&&!a.isFileUpload()){b={};b[a.getName()]=""+a.getValue()}return b},getModelData:function(){var a=this,b=null;if(!a.disabled&&!a.isFileUpload()){b={};b[a.getName()]=a.getValue()}return b},reset:function(){var a=this;a.beforeReset();a.setValue(a.originalValue);a.clearInvalid();delete a.wasValid},beforeReset:Ext.emptyFn,resetOriginalValue:function(){this.originalValue=this.getValue();this.checkDirty()},checkChange:function(){if(!this.suspendCheckChange){var c=this,b=c.getValue(),a=c.lastValue;if(!c.isEqual(b,a)&&!c.isDestroyed){c.lastValue=b;c.fireEvent("change",c,b,a);c.onChange(b,a)}}},onChange:function(b,a){if(this.validateOnChange){this.validate()}this.checkDirty()},isDirty:function(){var a=this;return !a.disabled&&!a.isEqual(a.getValue(),a.originalValue)},checkDirty:function(){var a=this,b=a.isDirty();if(b!==a.wasDirty){a.fireEvent("dirtychange",a,b);a.onDirtyChange(b);a.wasDirty=b}},onDirtyChange:Ext.emptyFn,getErrors:function(a){return[]},isValid:function(){var a=this;return a.disabled||Ext.isEmpty(a.getErrors())},validate:function(){var a=this,b=a.isValid();if(b!==a.wasValid){a.wasValid=b;a.fireEvent("validitychange",a,b)}return b},batchChanges:function(a){try{this.suspendCheckChange++;a()}catch(b){throw b}finally{this.suspendCheckChange--}this.checkChange()},isFileUpload:function(){return false},extractFileInput:function(){return null},markInvalid:Ext.emptyFn,clearInvalid:Ext.emptyFn});Ext.define("Ext.form.field.Base",{extend:"Ext.Component",mixins:{labelable:"Ext.form.Labelable",field:"Ext.form.field.Field"},alias:"widget.field",alternateClassName:["Ext.form.Field","Ext.form.BaseField"],requires:["Ext.util.DelayedTask","Ext.XTemplate","Ext.layout.component.field.Field"],fieldSubTpl:[' name="{name}"
',' value="{[Ext.util.Format.htmlEncode(values.value)]}"',' placeholder="{placeholder}"','{%if (values.maxLength !== undefined){%} maxlength="{maxLength}"{%}%}',' readonly="readonly"',' disabled="disabled"',' tabIndex="{tabIdx}"',' style="{fieldStyle}"',' class="{fieldCls} {typeCls} {editableCls}" autocomplete="off"/>',{disableFormats:true}],subTplInsertions:["inputAttrTpl"],inputType:"text",invalidText:"The value in this field is invalid",fieldCls:Ext.baseCSSPrefix+"form-field",focusCls:"form-focus",dirtyCls:Ext.baseCSSPrefix+"form-dirty",checkChangeEvents:Ext.isIE&&(!document.documentMode||document.documentMode<9)?["change","propertychange"]:["change","input","textInput","keyup","dragdrop"],checkChangeBuffer:50,componentLayout:"field",readOnly:false,readOnlyCls:Ext.baseCSSPrefix+"form-readonly",validateOnBlur:true,hasFocus:false,baseCls:Ext.baseCSSPrefix+"field",maskOnDisable:false,initComponent:function(){var a=this;a.callParent();a.subTplData=a.subTplData||{};a.addEvents("specialkey","writeablechange");a.initLabelable();a.initField();if(!a.name){a.name=a.getInputId()}},beforeRender:function(){var a=this;a.callParent(arguments);a.beforeLabelableRender(arguments);if(a.readOnly){a.addCls(a.readOnlyCls)}},getInputId:function(){return this.inputId||(this.inputId=this.id+"-inputEl")},getSubTplData:function(){var c=this,b=c.inputType,a=c.getInputId(),d;d=Ext.apply({id:a,cmpId:c.id,name:c.name||a,disabled:c.disabled,readOnly:c.readOnly,value:c.getRawValue(),type:b,fieldCls:c.fieldCls,fieldStyle:c.getFieldStyle(),tabIdx:c.tabIndex,typeCls:Ext.baseCSSPrefix+"form-"+(b==="password"?"text":b)},c.subTplData);c.getInsertionRenderData(d,c.subTplInsertions);return d},afterFirstLayout:function(){this.callParent();var a=this.inputEl;if(a){a.selectable()}},applyRenderSelectors:function(){var a=this;a.callParent();a.inputEl=a.el.getById(a.getInputId())},getSubTplMarkup:function(){return this.getTpl("fieldSubTpl").apply(this.getSubTplData())},initRenderTpl:function(){var a=this;if(!a.hasOwnProperty("renderTpl")){a.renderTpl=a.getTpl("labelableRenderTpl")}return a.callParent()},initRenderData:function(){return Ext.applyIf(this.callParent(),this.getLabelableRenderData())},setFieldStyle:function(a){var b=this,c=b.inputEl;if(c){c.applyStyles(a)}b.fieldStyle=a},getFieldStyle:function(){return"width:100%;"+(Ext.isObject(this.fieldStyle)?Ext.DomHelper.generateStyles(this.fieldStyle):this.fieldStyle||"")},onRender:function(){var a=this;a.callParent(arguments);a.onLabelableRender();a.renderActiveError()},getFocusEl:function(){return this.inputEl},isFileUpload:function(){return this.inputType==="file"},extractFileInput:function(){var b=this,a=b.isFileUpload()?b.inputEl.dom:null,c;if(a){c=a.cloneNode(true);a.parentNode.replaceChild(c,a);b.inputEl=Ext.get(c)}return a},getSubmitData:function(){var a=this,b=null,c;if(!a.disabled&&a.submitValue&&!a.isFileUpload()){c=a.getSubmitValue();if(c!==null){b={};b[a.getName()]=c}}return b},getSubmitValue:function(){return this.processRawValue(this.getRawValue())},getRawValue:function(){var b=this,a=(b.inputEl?b.inputEl.getValue():Ext.value(b.rawValue,""));b.rawValue=a;return a},setRawValue:function(b){var a=this;b=Ext.value(a.transformRawValue(b),"");a.rawValue=b;if(a.inputEl){a.inputEl.dom.value=b}return b},transformRawValue:function(a){return a},valueToRaw:function(a){return""+Ext.value(a,"")},rawToValue:function(a){return a},processRawValue:function(a){return a},getValue:function(){var a=this,b=a.rawToValue(a.processRawValue(a.getRawValue()));a.value=b;return b},setValue:function(b){var a=this;a.setRawValue(a.valueToRaw(b));return a.mixins.field.setValue.call(a,b)},onBoxReady:function(){var a=this;a.callParent();if(a.setReadOnlyOnBoxReady){a.setReadOnly(a.readOnly)}},onDisable:function(){var a=this,b=a.inputEl;a.callParent();if(b){b.dom.disabled=true;if(a.hasActiveError()){a.clearInvalid();a.needsValidateOnEnable=true}}},onEnable:function(){var a=this,b=a.inputEl;a.callParent();if(b){b.dom.disabled=false;if(a.needsValidateOnEnable){delete a.needsValidateOnEnable;a.forceValidation=true;a.isValid();delete a.forceValidation}}},setReadOnly:function(c){var a=this,b=a.inputEl;c=!!c;a[c?"addCls":"removeCls"](a.readOnlyCls);a.readOnly=c;if(b){b.dom.readOnly=c}else{if(a.rendering){a.setReadOnlyOnBoxReady=true}}a.fireEvent("writeablechange",a,c)},fireKey:function(a){if(a.isSpecialKey()){this.fireEvent("specialkey",this,new Ext.EventObjectImpl(a))}},initEvents:function(){var g=this,i=g.inputEl,b,j,c=g.checkChangeEvents,h,a=c.length,d;if(g.inEditor){g.onBlur=Ext.Function.createBuffered(g.onBlur,10)}if(i){g.mon(i,Ext.EventManager.getKeyEvent(),g.fireKey,g);b=new Ext.util.DelayedTask(g.checkChange,g);g.onChangeEvent=j=function(){b.delay(g.checkChangeBuffer)};for(h=0;hg.maxLength){k.push(j(g.maxLengthText,g.maxLength))}if(e){if(!h[e](l,g)){k.push(g.vtypeText||h[e+"Text"])}}if(i&&!i.test(l)){k.push(g.regexText||g.invalidText)}return k},selectText:function(i,a){var h=this,c=h.getRawValue(),d=true,g=h.inputEl.dom,e,b;if(c.length>0){i=i===e?0:i;a=a===e?c.length:a;if(g.setSelectionRange){g.setSelectionRange(i,a)}else{if(g.createTextRange){b=g.createTextRange();b.moveStart("character",i);b.moveEnd("character",a-c.length);b.select()}}d=Ext.isGecko||Ext.isOpera}if(d){h.focus()}},autoSize:function(){var a=this;if(a.grow&&a.rendered){a.autoSizing=true;a.updateLayout()}},afterComponentLayout:function(){var b=this,a;b.callParent(arguments);if(b.autoSizing){a=b.inputEl.getWidth();if(a!==b.lastInputWidth){b.fireEvent("autosize",b,a);b.lastInputWidth=a;delete b.autoSizing}}}});Ext.define("Ext.layout.component.field.TextArea",{extend:"Ext.layout.component.field.Text",alias:"layout.textareafield",type:"textareafield",canGrowWidth:false,naturalSizingProp:"cols",beginLayout:function(a){this.callParent(arguments);a.target.inputEl.setStyle("height","")},measureContentHeight:function(b){var e=this,a=e.owner,k=e.callParent(arguments),c,i,h,g,d,j;if(a.grow&&!b.state.growHandled){c=b.inputContext;i=a.inputEl;d=i.getWidth(true);h=Ext.util.Format.htmlEncode(i.dom.value)||" ";h+=a.growAppend;h=h.replace(/\n/g,"
");j=Ext.util.TextMetrics.measure(i,h,d).height+c.getBorderInfo().height+c.getPaddingInfo().height;j=Ext.Number.constrain(j,a.growMin,a.growMax);c.setHeight(j);b.state.growHandled=true;c.domBlock(e,"height");k=NaN}return k}});Ext.define("Ext.form.field.TextArea",{extend:"Ext.form.field.Text",alias:["widget.textareafield","widget.textarea"],alternateClassName:"Ext.form.TextArea",requires:["Ext.XTemplate","Ext.layout.component.field.TextArea","Ext.util.DelayedTask"],fieldSubTpl:['",{disableFormats:true}],growMin:60,growMax:1000,growAppend:"\n-",cols:20,rows:4,enterIsSpecial:false,preventScrollbars:false,componentLayout:"textareafield",setGrowSizePolicy:Ext.emptyFn,returnRe:/\r/g,getSubTplData:function(){var c=this,b=c.getFieldStyle(),a=c.callParent();if(c.grow){if(c.preventScrollbars){a.fieldStyle=(b||"")+";overflow:hidden;height:"+c.growMin+"px"}}Ext.applyIf(a,{cols:c.cols,rows:c.rows});return a},afterRender:function(){var a=this;a.callParent(arguments);a.needsMaxCheck=a.enforceMaxLength&&a.maxLength!==Number.MAX_VALUE&&!Ext.supports.TextAreaMaxLength;if(a.needsMaxCheck){a.inputEl.on("paste",a.onPaste,a)}},transformRawValue:function(a){return this.stripReturns(a)},transformOriginalValue:function(a){return this.stripReturns(a)},valueToRaw:function(a){a=this.stripReturns(a);return this.callParent([a])},stripReturns:function(a){if(a){a=a.replace(this.returnRe,"")}return a},onPaste:function(b){var a=this;if(!a.pasteTask){a.pasteTask=new Ext.util.DelayedTask(a.pasteCheck,a)}a.pasteTask.delay(1)},pasteCheck:function(){var b=this,c=b.getValue(),a=b.maxLength;if(c.length>a){c=c.substr(0,a);b.setValue(c)}},fireKey:function(d){var b=this,a=d.getKey(),c;if(d.isSpecialKey()&&(b.enterIsSpecial||(a!==d.ENTER||d.hasModifier()))){b.fireEvent("specialkey",b,d)}if(b.needsMaxCheck&&a!==d.BACKSPACE&&a!==d.DELETE&&!d.isNavKeyPress()&&!b.isCutCopyPasteSelectAll(d,a)){c=b.getValue();if(c.length>=b.maxLength){d.stopEvent()}}},isCutCopyPasteSelectAll:function(b,a){if(b.CTRL){return a===b.A||a===b.C||a===b.V||a===b.X}return false},autoSize:function(){var b=this,a;if(b.grow&&b.rendered){b.updateLayout();a=b.inputEl.getHeight();if(a!==b.lastInputHeight){b.fireEvent("autosize",b,a);b.lastInputHeight=a}}},initAria:function(){this.callParent(arguments);this.getActionEl().dom.setAttribute("aria-multiline",true)},beforeDestroy:function(){var a=this.pasteTask;if(a){a.delay()}this.callParent()}});Ext.define("Ext.form.field.Display",{extend:"Ext.form.field.Base",alias:"widget.displayfield",requires:["Ext.util.Format","Ext.XTemplate"],alternateClassName:["Ext.form.DisplayField","Ext.form.Display"],fieldSubTpl:['
style="{fieldStyle}"',' class="{fieldCls}">{value}
',{compiled:true,disableFormats:true}],fieldCls:Ext.baseCSSPrefix+"form-display-field",htmlEncode:false,validateOnChange:false,initEvents:Ext.emptyFn,submitValue:false,isDirty:function(){return false},isValid:function(){return true},validate:function(){return true},getRawValue:function(){return this.rawValue},setRawValue:function(b){var a=this,c;b=Ext.value(b,"");a.rawValue=b;if(a.rendered){a.inputEl.dom.innerHTML=a.getDisplayValue();a.updateLayout()}return b},getDisplayValue:function(){var a=this,b=this.getRawValue(),c;if(a.renderer){c=a.renderer.call(a.scope||a,b,a)}else{c=a.htmlEncode?Ext.util.Format.htmlEncode(b):b}return c},getSubTplData:function(){var a=this.callParent(arguments);a.value=this.getDisplayValue();return a}});Ext.define("Ext.layout.container.Anchor",{alias:"layout.anchor",extend:"Ext.layout.container.Container",alternateClassName:"Ext.layout.AnchorLayout",type:"anchor",manageOverflow:2,renderTpl:["{%this.renderBody(out,values);this.renderPadder(out,values)%}"],defaultAnchor:"100%",parseAnchorRE:/^(r|right|b|bottom)$/i,beginLayout:function(c){var j=this,a=0,g,k,e,d,b,h;j.callParent(arguments);e=c.childItems;b=e.length;for(d=0;d','','',"{% this.renderColumn(out,parent,xindex-1) %}","","",""],lastOwnerItemsGeneration:null,beginLayout:function(b){var k=this,e,d,h,a,j,g=0,m=0,l=k.autoFlex,c=k.innerCt.dom.style;k.callParent(arguments);e=k.columnNodes;b.innerCtContext=b.getEl("innerCt",k);if(!b.widthModel.shrinkWrap){d=e.length;if(k.columnsArray){for(h=0;ha){d=b-a;g=e.rowEl;for(c=0;c',"{%this.renderContainer(out,values);%}",""],stateEvents:["collapse","expand"],maskOnDisable:false,beforeDestroy:function(){var b=this,a=b.legend;if(a){delete a.ownerCt;a.destroy();b.legend=null}b.callParent()},initComponent:function(){var b=this,a=b.baseCls;b.callParent();b.addEvents("beforeexpand","beforecollapse","expand","collapse");if(b.collapsed){b.addCls(a+"-collapsed");b.collapse()}if(b.title){b.addCls(a+"-with-title")}if(b.title||b.checkboxToggle||b.collapsible){b.addCls(a+"-with-legend");b.legend=Ext.widget(b.createLegendCt())}},initRenderData:function(){var a=this.callParent();a.baseCls=this.baseCls;return a},getState:function(){var a=this.callParent();a=this.addPropertyToState(a,"collapsed");return a},afterCollapse:Ext.emptyFn,afterExpand:Ext.emptyFn,collapsedHorizontal:function(){return true},collapsedVertical:function(){return true},createLegendCt:function(){var c=this,a=[],b={xtype:"container",baseCls:c.baseCls+"-header",id:c.id+"-legend",autoEl:"legend",items:a,ownerCt:c,ownerLayout:c.componentLayout};if(c.checkboxToggle){a.push(c.createCheckboxCmp())}else{if(c.collapsible){a.push(c.createToggleCmp())}}a.push(c.createTitleCmp());return b},createTitleCmp:function(){var b=this,a={xtype:"component",html:b.title,cls:b.baseCls+"-header-text",id:b.id+"-legendTitle"};if(b.collapsible&&b.toggleOnTitleClick){a.listeners={el:{scope:b,click:b.toggle}};a.cls+=" "+b.baseCls+"-header-text-collapsible"}return(b.titleCmp=Ext.widget(a))},createCheckboxCmp:function(){var a=this,b="-checkbox";a.checkboxCmp=Ext.widget({xtype:"checkbox",hideEmptyLabel:true,name:a.checkboxName||a.id+b,cls:a.baseCls+"-header"+b,id:a.id+"-legendChk",checked:!a.collapsed,listeners:{change:a.onCheckChange,scope:a}});return a.checkboxCmp},createToggleCmp:function(){var a=this;a.toggleCmp=Ext.widget({xtype:"tool",type:"toggle",handler:a.toggle,id:a.id+"-legendToggle",scope:a});return a.toggleCmp},doRenderLegend:function(b,e){var d=e.$comp,c=d.legend,a;if(c){c.ownerLayout.configureItem(c);a=c.getRenderTree();Ext.DomHelper.generateMarkup(a,b)}},finishRender:function(){var a=this.legend;this.callParent();if(a){a.finishRender()}},getCollapsed:function(){return this.collapsed?"top":false},getCollapsedDockedItems:function(){var a=this.legend;return a?[a]:[]},setTitle:function(c){var b=this,a=b.legend;b.title=c;if(b.rendered){if(!b.legend){b.legend=a=Ext.widget(b.createLegendCt());a.ownerLayout.configureItem(a);a.render(b.el,0)}b.titleCmp.update(c)}return b},getTargetEl:function(){return this.body||this.frameBody||this.el},getContentTarget:function(){return this.body},expand:function(){return this.setExpanded(true)},collapse:function(){return this.setExpanded(false)},setExpanded:function(b){var c=this,d=c.checkboxCmp,a=b?"expand":"collapse";if(!c.rendered||c.fireEvent("before"+a,c)!==false){b=!!b;if(d){d.setValue(b)}if(b){c.removeCls(c.baseCls+"-collapsed")}else{c.addCls(c.baseCls+"-collapsed")}c.collapsed=!b;if(c.rendered){c.updateLayout({isRoot:false});c.fireEvent(a,c)}}return c},getRefItems:function(a){var c=this.callParent(arguments),b=this.legend;if(b){c.unshift(b);if(a){c.unshift.apply(c,b.getRefItems(true))}}return c},toggle:function(){this.setExpanded(!!this.collapsed)},onCheckChange:function(b,a){this.setExpanded(a)},setupRenderTpl:function(a){this.callParent(arguments);a.renderLegend=this.doRenderLegend}});Ext.define("Ext.form.Label",{extend:"Ext.Component",alias:"widget.label",requires:["Ext.util.Format"],autoEl:"label",maskOnDisable:false,getElConfig:function(){var a=this;a.html=a.text?Ext.util.Format.htmlEncode(a.text):(a.html||"");return Ext.apply(a.callParent(),{htmlFor:a.forId||""})},setText:function(c,b){var a=this;b=b!==false;if(b){a.text=c;delete a.html}else{a.html=c;delete a.text}if(a.rendered){a.el.dom.innerHTML=b!==false?Ext.util.Format.htmlEncode(c):c;a.updateLayout()}return a}});Ext.define("Ext.form.Panel",{extend:"Ext.panel.Panel",mixins:{fieldAncestor:"Ext.form.FieldAncestor"},alias:"widget.form",alternateClassName:["Ext.FormPanel","Ext.form.FormPanel"],requires:["Ext.form.Basic","Ext.util.TaskRunner"],layout:"anchor",ariaRole:"form",basicFormConfigs:["api","baseParams","errorReader","method","paramOrder","paramsAsHash","reader","standardSubmit","timeout","trackResetOnLoad","url","waitMsgTarget","waitTitle"],initComponent:function(){var a=this;if(a.frame){a.border=false}a.initFieldAncestor();a.callParent();a.relayEvents(a.form,["beforeaction","actionfailed","actioncomplete","validitychange","dirtychange"]);if(a.pollForChanges){a.startPolling(a.pollInterval||500)}},initItems:function(){var a=this;a.form=a.createForm();a.callParent()},afterFirstLayout:function(){this.callParent();this.form.initialize()},createForm:function(){var b={},d=this.basicFormConfigs,a=d.length,c=0,e;for(;c","{beforeBoxLabelTpl}",'","{afterBoxLabelTpl}","
",' tabIndex="{tabIdx}"
',' disabled="disabled"',' style="{fieldStyle}"',' class="{fieldCls} {typeCls}" autocomplete="off" hidefocus="true" />',"","{beforeBoxLabelTpl}",'","{afterBoxLabelTpl}","",{disableFormats:true,compiled:true}],subTplInsertions:["beforeBoxLabelTpl","afterBoxLabelTpl","beforeBoxLabelTextTpl","afterBoxLabelTextTpl","boxLabelAttrTpl","inputAttrTpl"],isCheckbox:true,focusCls:"form-cb-focus",fieldBodyCls:Ext.baseCSSPrefix+"form-cb-wrap",checked:false,checkedCls:Ext.baseCSSPrefix+"form-cb-checked",boxLabelCls:Ext.baseCSSPrefix+"form-cb-label",boxLabelAlign:"after",inputValue:"on",checkChangeEvents:[],inputType:"checkbox",onRe:/^on$/i,initComponent:function(){this.callParent(arguments);this.getManager().add(this)},initValue:function(){var b=this,a=!!b.checked;b.originalValue=b.lastValue=a;b.setValue(a)},getElConfig:function(){var a=this;if(a.isChecked(a.rawValue,a.inputValue)){a.addCls(a.checkedCls)}return a.callParent()},getFieldStyle:function(){return Ext.isObject(this.fieldStyle)?Ext.DomHelper.generateStyles(this.fieldStyle):this.fieldStyle||""},getSubTplData:function(){var a=this;return Ext.apply(a.callParent(),{disabled:a.readOnly||a.disabled,boxLabel:a.boxLabel,boxLabelCls:a.boxLabelCls,boxLabelAlign:a.boxLabelAlign})},initEvents:function(){var a=this;a.callParent();a.mon(a.inputEl,"click",a.onBoxClick,a)},onBoxClick:function(b){var a=this;if(!a.disabled&&!a.readOnly){this.setValue(!this.checked)}},getRawValue:function(){return this.checked},getValue:function(){return this.checked},getSubmitValue:function(){var a=this.uncheckedValue,b=Ext.isDefined(a)?a:null;return this.checked?this.inputValue:b},isChecked:function(b,a){return(b===true||b==="true"||b==="1"||b===1||(((Ext.isString(b)||Ext.isNumber(b))&&a)?b==a:this.onRe.test(b)))},setRawValue:function(c){var b=this,d=b.inputEl,a=b.isChecked(c,b.inputValue);if(d){b[a?"addCls":"removeCls"](b.checkedCls)}b.checked=b.rawValue=a;return a},setValue:function(g){var e=this,c,b,a,d;if(Ext.isArray(g)){c=e.getManager().getByName(e.name,e.getFormId()).items;a=c.length;for(b=0;bc){c=g;k=m}}a=Math.max(h.callParent(arguments),b.inputEl.getTextWidth(k+b.growAppend));if(!h.startingWidth||b.removingRecords){h.startingWidth=a;if(a'+b+""+a.getTriggerMarkup()+""},getSubTplData:function(){var b=this,c=b.callParent(),d=b.readOnly===true,a=b.editable!==false;return Ext.apply(c,{editableCls:(d||!a)?" "+b.triggerNoEditCls:"",readOnly:!a||d})},getLabelableRenderData:function(){var b=this,c=b.triggerWrapCls,a=b.callParent(arguments);return Ext.applyIf(a,{triggerWrapCls:c,triggerMarkup:b.getTriggerMarkup()})},getTriggerMarkup:function(){var c=this,b=0,d=(c.readOnly||c.hideTrigger),g,e=c.triggerBaseCls,a=[];if(!c.trigger1Cls){c.trigger1Cls=c.triggerCls}for(b=0;(g=c["trigger"+(b+1)+"Cls"])||b<1;b++){a.push({tag:"td",valign:"top",cls:Ext.baseCSSPrefix+"trigger-cell",style:"width:"+c.triggerWidth+(d?"px;display:none":"px"),cn:{cls:[Ext.baseCSSPrefix+"trigger-index-"+b,e,g].join(" "),role:"button"}})}a[b-1].cn.cls+=" "+e+"-last";return Ext.DomHelper.markup(a)},disableCheck:function(){return !this.disabled},beforeRender:function(){var a=this,b=a.triggerBaseCls,c;if(!a.triggerWidth){c=Ext.resetElement.createChild({style:"position: absolute;",cls:Ext.baseCSSPrefix+"form-trigger"});Ext.form.field.Trigger.prototype.triggerWidth=c.getWidth();c.remove()}a.callParent();if(b!=Ext.baseCSSPrefix+"form-trigger"){a.addChildEls({name:"triggerEl",select:"."+b})}a.lastTriggerStateFlags=a.getTriggerStateFlags()},onRender:function(){var a=this;a.callParent(arguments);a.doc=Ext.getDoc();a.initTrigger();a.triggerEl.unselectable()},getTriggerWidth:function(){var b=this,a=0;if(b.triggerWrap&&!b.hideTrigger&&!b.readOnly){a=b.triggerEl.getCount()*b.triggerWidth}return a},setHideTrigger:function(a){if(a!=this.hideTrigger){this.hideTrigger=a;this.updateLayout()}},setEditable:function(a){if(a!=this.editable){this.editable=a;this.updateLayout()}},setReadOnly:function(a){if(a!=this.readOnly){this.readOnly=a;this.updateLayout()}},initTrigger:function(){var h=this,i=h.triggerWrap,k=h.triggerEl,a=h.disableCheck,d,c,b,g,j;if(h.repeatTriggerClick){h.triggerRepeater=new Ext.util.ClickRepeater(i,{preventDefault:true,handler:h.onTriggerWrapClick,listeners:{mouseup:h.onTriggerWrapMouseup,scope:h},scope:h})}else{h.mon(i,{click:h.onTriggerWrapClick,mouseup:h.onTriggerWrapMouseup,scope:h})}k.setVisibilityMode(Ext.Element.DISPLAY);k.addClsOnOver(h.triggerBaseCls+"-over",a,h);d=k.elements;c=d.length;for(g=0;g1){b.doSelect(a,c,false)}else{b.doSelect(a,false)}}}}break;case"SIMPLE":if(b.isSelected(a)){b.doDeselect(a)}else{b.doSelect(a,true)}break;case"SINGLE":if(b.allowDeselect&&b.isSelected(a)){b.doDeselect(a)}else{b.doSelect(a,false)}break}},selectRange:function(l,e,m,c){var j=this,k=j.store,d=0,h,g,a,b=[];if(j.isLocked()){return}if(!m){j.deselectAll(true)}if(!Ext.isNumber(l)){l=k.indexOf(l)}if(!Ext.isNumber(e)){e=k.indexOf(e)}if(l>e){g=e;e=l;l=g}for(h=l;h<=e;h++){if(j.isSelected(k.getAt(h))){d++}}if(!c){a=-1}else{a=(c=="up")?l:e}for(h=l;h<=e;h++){if(d==(e-l+1)){if(h!=a){j.doDeselect(h,true)}}else{b.push(k.getAt(h))}}j.doMultiSelect(b,true)},select:function(b,c,a){if(Ext.isDefined(b)){this.doSelect(b,c,a)}},deselect:function(b,a){this.doDeselect(b,a)},doSelect:function(c,e,b){var d=this,a;if(d.locked||!d.store){return}if(typeof c==="number"){c=[d.store.getAt(c)]}if(d.selectionMode=="SINGLE"&&c){a=c.length?c[0]:c;d.doSingleSelect(a,b)}else{d.doMultiSelect(c,e,b)}},doMultiSelect:function(a,l,k){var h=this,b=h.selected,j=false,d=0,g,e;if(h.locked){return}a=!Ext.isArray(a)?[a]:a;g=a.length;if(!l&&b.getCount()>0){if(h.doDeselect(h.getSelection(),k)===false){return}}function c(){b.add(e);j=true}for(;d0&&!k);return g===l},doSingleSelect:function(a,b){var d=this,g=false,c=d.selected;if(d.locked){return}if(d.isSelected(a)){return}function e(){d.bulkChange=true;if(c.getCount()>0&&d.doDeselect(d.lastSelected,b)===false){delete d.bulkChange;return false}delete d.bulkChange;c.add(a);d.lastSelected=a;g=true}d.onSelectChange(a,true,b,e);if(g){if(!b){d.setLastFocused(a)}d.maybeFireSelectionChange(!b)}},setLastFocused:function(c,b){var d=this,a=d.lastFocused;d.lastFocused=c;if(c!==a){d.onLastFocusChanged(a,c,b)}},isFocused:function(a){return a===this.getLastFocused()},maybeFireSelectionChange:function(a){var b=this;if(a&&!b.bulkChange){b.fireEvent("selectionchange",b,b.getSelection())}},getLastSelected:function(){return this.lastSelected},getLastFocused:function(){return this.lastFocused},getSelection:function(){return this.selected.getRange()},getSelectionMode:function(){return this.selectionMode},setSelectionMode:function(a){a=a?a.toUpperCase():"SINGLE";this.selectionMode=this.modes[a]?a:"SINGLE"},isLocked:function(){return this.locked},setLocked:function(a){this.locked=!!a},isSelected:function(a){a=Ext.isNumber(a)?this.store.getAt(a):a;return this.selected.indexOf(a)!==-1},hasSelection:function(){return this.selected.getCount()>0},refresh:function(){var e=this,j=e.store,c=[],a=e.getSelection(),d=a.length,h,g,b=0,k=e.getLastFocused();if(!j){return}for(;b0){this.clearSelections();this.maybeFireSelectionChange(true)}},onStoreRemove:function(b,a,c){var e=this,d=e.selected;if(e.locked||!e.pruneRemoved){return}if(d.remove(a)){if(e.lastSelected==a){e.lastSelected=null}if(e.getLastFocused()==a){e.setLastFocused(null)}e.maybeFireSelectionChange(true)}},getCount:function(){return this.selected.getCount()},destroy:Ext.emptyFn,onStoreUpdate:Ext.emptyFn,onStoreLoad:Ext.emptyFn,onSelectChange:Ext.emptyFn,onLastFocusChanged:function(b,a){this.fireEvent("focuschange",this,b,a)},onEditorKey:Ext.emptyFn,bindComponent:Ext.emptyFn,beforeViewRender:Ext.emptyFn});Ext.define("Ext.selection.DataViewModel",{extend:"Ext.selection.Model",requires:["Ext.util.KeyNav"],deselectOnContainerClick:true,enableKeyNav:true,constructor:function(a){this.addEvents("beforedeselect","beforeselect","deselect","select");this.callParent(arguments)},bindComponent:function(a){var b=this,c={refresh:b.refresh,scope:b};b.view=a;b.bindStore(a.getStore());c[a.triggerEvent]=b.onItemClick;c[a.triggerCtEvent]=b.onContainerClick;a.on(c);if(b.enableKeyNav){b.initKeyNav(a)}},onItemClick:function(b,a,d,c,g){this.selectWithEvent(a,g)},onContainerClick:function(){if(this.deselectOnContainerClick){this.deselectAll()}},initKeyNav:function(a){var b=this;if(!a.rendered){a.on({render:Ext.Function.bind(b.initKeyNav,b,[a]),single:true});return}a.el.set({tabIndex:-1});b.keyNav=new Ext.util.KeyNav({target:a.el,ignoreInputFields:true,down:Ext.pass(b.onNavKey,[1],b),right:Ext.pass(b.onNavKey,[1],b),left:Ext.pass(b.onNavKey,[-1],b),up:Ext.pass(b.onNavKey,[-1],b),scope:b})},onNavKey:function(g){g=g||1;var e=this,b=e.view,d=e.getSelection()[0],c=e.view.store.getCount(),a;if(d){a=b.indexOf(b.getNode(d))+g}else{a=0}if(a<0){a=c-1}else{if(a>=c){a=0}}e.select(a)},onSelectChange:function(b,e,d,h){var g=this,a=g.view,c=e?"select":"deselect";if((d||g.fireEvent("before"+c,g,b))!==false&&h()!==false){if(a){if(e){a.onItemSelect(b)}else{a.onItemDeselect(b)}}if(!d){g.fireEvent(c,g,b)}}},destroy:function(){Ext.destroy(this.keyNav);this.callParent()}});Ext.define("Ext.view.AbstractView",{extend:"Ext.Component",requires:["Ext.LoadMask","Ext.data.StoreManager","Ext.CompositeElementLite","Ext.DomQuery","Ext.selection.DataViewModel"],mixins:{bindable:"Ext.util.Bindable"},inheritableStatics:{getRecord:function(a){return this.getBoundView(a).getRecord(a)},getBoundView:function(a){return Ext.getCmp(a.boundView)}},deferInitialRefresh:true,itemCls:Ext.baseCSSPrefix+"dataview-item",loadingText:"Loading...",loadMask:true,loadingUseMsg:true,selectedItemCls:Ext.baseCSSPrefix+"item-selected",emptyText:"",deferEmptyText:true,trackOver:false,blockRefresh:false,preserveScrollOnRefresh:false,last:false,triggerEvent:"itemclick",triggerCtEvent:"containerclick",addCmpEvents:function(){},initComponent:function(){var c=this,a=Ext.isDefined,d=c.itemTpl,b={};if(d){if(Ext.isArray(d)){d=d.join("")}else{if(Ext.isObject(d)){b=Ext.apply(b,d.initialConfig);d=d.html}}if(!c.itemSelector){c.itemSelector="."+c.itemCls}d=Ext.String.format('
{1}
',c.itemCls,d);c.tpl=new Ext.XTemplate(d,b)}c.callParent();if(Ext.isString(c.tpl)||Ext.isArray(c.tpl)){c.tpl=new Ext.XTemplate(c.tpl)}c.addEvents("beforerefresh","refresh","viewready","itemupdate","itemadd","itemremove");c.addCmpEvents();c.store=Ext.data.StoreManager.lookup(c.store||"ext-empty-store");c.bindStore(c.store,true);c.all=new Ext.CompositeElementLite();c.scrollState={top:0,left:0};c.on({scroll:c.onViewScroll,element:"el",scope:c})},onRender:function(){var c=this,b=c.loadMask,a={msg:c.loadingText,msgCls:c.loadingCls,useMsg:c.loadingUseMsg,store:c.getMaskStore()};c.callParent(arguments);if(b){if(Ext.isObject(b)){a=Ext.apply(a,b)}c.loadMask=new Ext.LoadMask(c,a);c.loadMask.on({scope:c,beforeshow:c.onMaskBeforeShow,hide:c.onMaskHide})}},finishRender:function(){var a=this;a.callParent(arguments);if(!a.up("[collapsed],[hidden]")){a.doFirstRefresh(a.store)}},onBoxReady:function(){var a=this;a.callParent(arguments);if(!a.firstRefreshDone){a.doFirstRefresh(a.store)}},getMaskStore:function(){return this.store},onMaskBeforeShow:function(){var b=this,a=b.loadingHeight;b.getSelectionModel().deselectAll();b.all.clear();if(a&&a>b.getHeight()){b.hasLoadingHeight=true;b.oldMinHeight=b.minHeight;b.minHeight=a;b.updateLayout()}},onMaskHide:function(){var a=this;if(!a.destroying&&a.hasLoadingHeight){a.minHeight=a.oldMinHeight;a.updateLayout();delete a.hasLoadingHeight}},beforeRender:function(){this.callParent(arguments);this.getSelectionModel().beforeViewRender(this)},afterRender:function(){this.callParent(arguments);this.getSelectionModel().bindComponent(this)},getSelectionModel:function(){var a=this,b="SINGLE";if(!a.selModel){a.selModel={}}if(a.simpleSelect){b="SIMPLE"}else{if(a.multiSelect){b="MULTI"}}Ext.applyIf(a.selModel,{allowDeselect:a.allowDeselect,mode:b});if(!a.selModel.events){a.selModel=new Ext.selection.DataViewModel(a.selModel)}if(!a.selModel.hasRelaySetup){a.relayEvents(a.selModel,["selectionchange","beforeselect","beforedeselect","select","deselect","focuschange"]);a.selModel.hasRelaySetup=true}if(a.disableSelection){a.selModel.locked=true}return a.selModel},refresh:function(){var c=this,h,b,e,d,g,a;if(!c.rendered||c.isDestroyed){return}if(!c.hasListeners.beforerefresh||c.fireEvent("beforerefresh",c)!==false){h=c.getTargetEl();a=c.store.getRange();g=h.dom;if(!c.preserveScrollOnRefresh){b=g.parentNode;e=g.style.display;g.style.display="none";d=g.nextSibling;b.removeChild(g)}if(c.refreshCounter){c.clearViewEl()}else{c.fixedNodes=h.dom.childNodes.length;c.refreshCounter=1}c.tpl.append(h,c.collectData(a,0));if(a.length<1){if(!c.deferEmptyText||c.hasSkippedEmptyText){Ext.core.DomHelper.insertHtml("beforeEnd",h.dom,c.emptyText)}c.all.clear()}else{c.all.fill(Ext.query(c.getItemSelector(),h.dom));c.updateIndexes(0)}c.selModel.refresh();c.hasSkippedEmptyText=true;if(!c.preserveScrollOnRefresh){b.insertBefore(g,d);g.style.display=e}this.refreshSize();c.fireEvent("refresh",c);if(!c.viewReady){c.viewReady=true;c.fireEvent("viewready",c)}}},refreshSize:function(){var a=this.getSizeModel();if(a.height.shrinkWrap||a.width.shrinkWrap){this.updateLayout()}},clearViewEl:function(){var b=this,a=b.getTargetEl();if(b.fixedNodes){while(a.dom.childNodes[b.fixedNodes]){a.dom.removeChild(a.dom.childNodes[b.fixedNodes])}}else{a.update("")}b.refreshCounter++},onViewScroll:Ext.emptyFn,saveScrollState:function(){if(this.rendered){var b=this.el.dom,a=this.scrollState;a.left=b.scrollLeft;a.top=b.scrollTop}},restoreScrollState:function(){if(this.rendered){var b=this.el.dom,a=this.scrollState;b.scrollLeft=a.left;b.scrollTop=a.top}},prepareData:function(e,d,c){var b,a;if(c){b=c.getAssociatedData();for(a in b){if(b.hasOwnProperty(a)){e[a]=b[a]}}}return e},collectData:function(c,g){var e=[],d=0,a=c.length,b;for(;d-1){c=d.bufferRender([a],b)[0];if(d.getNode(a)){d.all.replaceElement(b,c,true);d.updateIndexes(b,b);d.selModel.refresh();if(d.hasListeners.itemupdate){d.fireEvent("itemupdate",a,b,c)}return c}}}},onAdd:function(e,b,c){var d=this,a;if(d.rendered){if(d.all.getCount()===0){d.refresh();return}a=d.bufferRender(b,c);d.doAdd(a,b,c);d.selModel.refresh();d.updateIndexes(c);d.refreshSize();if(d.hasListeners.itemadd){d.fireEvent("itemadd",b,c,a)}}},doAdd:function(b,a,c){var d=this.all,e=d.getCount();if(e===0){this.clearViewEl();this.getTargetEl().appendChild(b)}else{if(c
',initComponent:function(){this.callParent();this.addEvents("spin","spinup","spindown")},onRender:function(){var b=this,a;b.callParent(arguments);a=b.triggerEl;b.spinUpEl=a.item(0);b.spinDownEl=a.item(1);b.triggerCell=b.spinUpEl.parent();b.setSpinUpEnabled(b.spinUpEnabled);b.setSpinDownEnabled(b.spinDownEnabled);if(b.keyNavEnabled){b.spinnerKeyNav=new Ext.util.KeyNav(b.inputEl,{scope:b,up:b.spinUp,down:b.spinDown})}if(b.mouseWheelEnabled){b.mon(b.bodyEl,"mousewheel",b.onMouseWheel,b)}},getSubTplMarkup:function(){var a=this,b=Ext.form.field.Base.prototype.getSubTplMarkup.apply(a,arguments);return'"+a.getTriggerMarkup()+"
'+b+"
"},getTriggerMarkup:function(){var a=this,b=(a.readOnly||a.hideTrigger);return a.getTpl("triggerTpl").apply({triggerStyle:"width:"+a.triggerWidth+(b?"px;display:none":"px")})},getTriggerWidth:function(){var b=this,a=0;if(b.triggerWrap&&!b.hideTrigger&&!b.readOnly){a=b.triggerWidth}return a},onTrigger1Click:function(){this.spinUp()},onTrigger2Click:function(){this.spinDown()},onTriggerWrapMouseup:function(){this.inputEl.focus()},spinUp:function(){var a=this;if(a.spinUpEnabled&&!a.disabled){a.fireEvent("spin",a,"up");a.fireEvent("spinup",a);a.onSpinUp()}},spinDown:function(){var a=this;if(a.spinDownEnabled&&!a.disabled){a.fireEvent("spin",a,"down");a.fireEvent("spindown",a);a.onSpinDown()}},setSpinUpEnabled:function(a){var b=this,c=b.spinUpEnabled;b.spinUpEnabled=a;if(c!==a&&b.rendered){b.spinUpEl[a?"removeCls":"addCls"](b.trigger1Cls+"-disabled")}},setSpinDownEnabled:function(a){var b=this,c=b.spinDownEnabled;b.spinDownEnabled=a;if(c!==a&&b.rendered){b.spinDownEl[a?"removeCls":"addCls"](b.trigger2Cls+"-disabled")}},onMouseWheel:function(b){var a=this,c;if(a.hasFocus){c=b.getWheelDelta();if(c>0){a.spinUp()}else{if(c<0){a.spinDown()}}b.stopEvent()}},onDestroy:function(){Ext.destroyMembers(this,"spinnerKeyNav","spinUpEl","spinDownEl");this.callParent()}});Ext.define("Ext.form.field.Number",{extend:"Ext.form.field.Spinner",alias:"widget.numberfield",alternateClassName:["Ext.form.NumberField","Ext.form.Number"],allowDecimals:true,decimalSeparator:".",submitLocaleSeparator:true,decimalPrecision:2,minValue:Number.NEGATIVE_INFINITY,maxValue:Number.MAX_VALUE,step:1,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",negativeText:"The value cannot be negative",baseChars:"0123456789",autoStripChars:false,initComponent:function(){var a=this,b;a.callParent();a.setMinValue(a.minValue);a.setMaxValue(a.maxValue);if(a.disableKeyFilter!==true){b=a.baseChars+"";if(a.allowDecimals){b+=a.decimalSeparator}if(a.minValue<0){b+="-"}b=Ext.String.escapeRegex(b);a.maskRe=new RegExp("["+b+"]");if(a.autoStripChars){a.stripCharsRe=new RegExp("[^"+b+"]","gi")}}},getErrors:function(c){var b=this,e=b.callParent(arguments),d=Ext.String.format,a;c=Ext.isDefined(c)?c:this.processRawValue(this.getRawValue());if(c.length<1){return e}c=String(c).replace(b.decimalSeparator,".");if(isNaN(c)){e.push(d(b.nanText,c))}a=b.parseValue(c);if(b.minValue===0&&a<0){e.push(this.negativeText)}else{if(ab.maxValue){e.push(d(b.maxText,b.maxValue))}return e},rawToValue:function(b){var a=this.fixPrecision(this.parseValue(b));if(a===null){a=b||null}return a},valueToRaw:function(c){var b=this,a=b.decimalSeparator;c=b.parseValue(c);c=b.fixPrecision(c);c=Ext.isNumber(c)?c:parseFloat(String(c).replace(a,"."));c=isNaN(c)?"":String(c).replace(".",a);return c},getSubmitValue:function(){var a=this,b=a.callParent();if(!a.submitLocaleSeparator){b=b.replace(a.decimalSeparator,".")}return b},onChange:function(){this.toggleSpinners();this.callParent(arguments)},toggleSpinners:function(){var b=this,c=b.getValue(),a=c===null;b.setSpinUpEnabled(a||cb.minValue)},setMinValue:function(a){this.minValue=Ext.Number.from(a,Number.NEGATIVE_INFINITY);this.toggleSpinners()},setMaxValue:function(a){this.maxValue=Ext.Number.from(a,Number.MAX_VALUE);this.toggleSpinners()},parseValue:function(a){a=parseFloat(String(a).replace(this.decimalSeparator,"."));return isNaN(a)?null:a},fixPrecision:function(d){var c=this,b=isNaN(d),a=c.decimalPrecision;if(b||!d){return b?"":d}else{if(!c.allowDecimals||a<=0){a=0}}return parseFloat(Ext.Number.toFixed(parseFloat(d),a))},beforeBlur:function(){var b=this,a=b.parseValue(b.getRawValue());if(!Ext.isEmpty(a)){b.setValue(a)}},onSpinUp:function(){var a=this;if(!a.readOnly){a.setValue(Ext.Number.constrain(a.getValue()+a.step,a.minValue,a.maxValue))}},onSpinDown:function(){var a=this;if(!a.readOnly){a.setValue(Ext.Number.constrain(a.getValue()-a.step,a.minValue,a.maxValue))}}});Ext.define("Ext.toolbar.Paging",{extend:"Ext.toolbar.Toolbar",alias:"widget.pagingtoolbar",alternateClassName:"Ext.PagingToolbar",requires:["Ext.toolbar.TextItem","Ext.form.field.Number"],mixins:{bindable:"Ext.util.Bindable"},displayInfo:false,prependButtons:false,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",inputItemWidth:30,getPagingItems:function(){var a=this;return[{itemId:"first",tooltip:a.firstText,overflowText:a.firstText,iconCls:Ext.baseCSSPrefix+"tbar-page-first",disabled:true,handler:a.moveFirst,scope:a},{itemId:"prev",tooltip:a.prevText,overflowText:a.prevText,iconCls:Ext.baseCSSPrefix+"tbar-page-prev",disabled:true,handler:a.movePrevious,scope:a},"-",a.beforePageText,{xtype:"numberfield",itemId:"inputItem",name:"inputItem",cls:Ext.baseCSSPrefix+"tbar-page-number",allowDecimals:false,minValue:1,hideTrigger:true,enableKeyEvents:true,keyNavEnabled:false,selectOnFocus:true,submitValue:false,isFormField:false,width:a.inputItemWidth,margins:"-1 2 3 2",listeners:{scope:a,keydown:a.onPagingKeyDown,blur:a.onPagingBlur}},{xtype:"tbtext",itemId:"afterTextItem",text:Ext.String.format(a.afterPageText,1)},"-",{itemId:"next",tooltip:a.nextText,overflowText:a.nextText,iconCls:Ext.baseCSSPrefix+"tbar-page-next",disabled:true,handler:a.moveNext,scope:a},{itemId:"last",tooltip:a.lastText,overflowText:a.lastText,iconCls:Ext.baseCSSPrefix+"tbar-page-last",disabled:true,handler:a.moveLast,scope:a},"-",{itemId:"refresh",tooltip:a.refreshText,overflowText:a.refreshText,iconCls:Ext.baseCSSPrefix+"tbar-loading",handler:a.doRefresh,scope:a}]},initComponent:function(){var b=this,c=b.getPagingItems(),a=b.items||b.buttons||[];if(b.prependButtons){b.items=a.concat(c)}else{b.items=c.concat(a)}delete b.buttons;if(b.displayInfo){b.items.push("->");b.items.push({xtype:"tbtext",itemId:"displayItem"})}b.callParent();b.addEvents("change","beforechange");b.on("beforerender",b.onLoad,b,{single:true});b.bindStore(b.store||"ext-empty-store",true)},updateInfo:function(){var e=this,c=e.child("#displayItem"),a=e.store,b=e.getPageData(),d,g;if(c){d=a.getCount();if(d===0){g=e.emptyMsg}else{g=Ext.String.format(e.displayMsg,b.fromRecord,b.toRecord,b.total)}c.setText(g)}},onLoad:function(){var g=this,d,b,c,a,e,h;e=g.store.getCount();h=e===0;if(!h){d=g.getPageData();b=d.currentPage;c=d.pageCount;a=Ext.String.format(g.afterPageText,isNaN(c)?1:c)}else{b=0;c=0;a=Ext.String.format(g.afterPageText,0)}Ext.suspendLayouts();g.child("#afterTextItem").setText(a);g.child("#inputItem").setDisabled(h).setValue(b);g.child("#first").setDisabled(b===1||h);g.child("#prev").setDisabled(b===1||h);g.child("#next").setDisabled(b===c||h);g.child("#last").setDisabled(b===c||h);g.child("#refresh").enable();g.updateInfo();Ext.resumeLayouts(true);if(g.rendered){g.fireEvent("change",g,d)}},getPageData:function(){var b=this.store,a=b.getTotalCount();return{total:a,currentPage:b.currentPage,pageCount:Math.ceil(a/b.pageSize),fromRecord:((b.currentPage-1)*b.pageSize)+1,toRecord:Math.min(b.currentPage*b.pageSize,a)}},onLoadError:function(){if(!this.rendered){return}this.child("#refresh").enable()},readPageFromInput:function(b){var a=this.child("#inputItem").getValue(),c=parseInt(a,10);if(!a||isNaN(c)){this.child("#inputItem").setValue(b.currentPage);return false}return c},onPagingFocus:function(){this.child("#inputItem").select()},onPagingBlur:function(b){var a=this.getPageData().currentPage;this.child("#inputItem").setValue(a)},onPagingKeyDown:function(i,h){var d=this,b=h.getKey(),c=d.getPageData(),a=h.shiftKey?10:1,g;if(b==h.RETURN){h.stopEvent();g=d.readPageFromInput(c);if(g!==false){g=Math.min(Math.max(1,g),c.pageCount);if(d.fireEvent("beforechange",d,g)!==false){d.store.loadPage(g)}}}else{if(b==h.HOME||b==h.END){h.stopEvent();g=b==h.HOME?1:c.pageCount;i.setValue(g)}else{if(b==h.UP||b==h.PAGE_UP||b==h.DOWN||b==h.PAGE_DOWN){h.stopEvent();g=d.readPageFromInput(c);if(g){if(b==h.DOWN||b==h.PAGE_DOWN){a*=-1}g+=a;if(g>=1&&g<=c.pageCount){i.setValue(g)}}}}}},beforeLoad:function(){if(this.rendered&&this.refresh){this.refresh.disable()}},moveFirst:function(){if(this.fireEvent("beforechange",this,1)!==false){this.store.loadPage(1)}},movePrevious:function(){var b=this,a=b.store.currentPage-1;if(a>0){if(b.fireEvent("beforechange",b,a)!==false){b.store.previousPage()}}},moveNext:function(){var c=this,b=c.getPageData().pageCount,a=c.store.currentPage+1;if(a<=b){if(c.fireEvent("beforechange",c,a)!==false){c.store.nextPage()}}},moveLast:function(){var b=this,a=b.getPageData().pageCount;if(b.fireEvent("beforechange",b,a)!==false){b.store.loadPage(a)}},doRefresh:function(){var a=this,b=a.store.currentPage;if(a.fireEvent("beforechange",a,b)!==false){a.store.loadPage(b)}},getStoreListeners:function(){return{beforeload:this.beforeLoad,load:this.onLoad,exception:this.onLoadError}},unbind:function(a){this.bindStore(null)},bind:function(a){this.bindStore(a)},onDestroy:function(){this.unbind();this.callParent()}});Ext.define("Ext.view.BoundList",{extend:"Ext.view.View",alias:"widget.boundlist",alternateClassName:"Ext.BoundList",requires:["Ext.layout.component.BoundList","Ext.toolbar.Paging"],pageSize:0,baseCls:Ext.baseCSSPrefix+"boundlist",itemCls:Ext.baseCSSPrefix+"boundlist-item",listItemCls:"",shadow:false,trackOver:true,refreshed:0,deferInitialRefresh:false,componentLayout:"boundlist",childEls:["listEl"],renderTpl:['
',"{%","var me=values.$comp, pagingToolbar=me.pagingToolbar;","if (pagingToolbar) {","pagingToolbar.ownerLayout = me.componentLayout;","Ext.DomHelper.generateMarkup(pagingToolbar.getRenderTree(), out);","}","%}",{disableFormats:true}],initComponent:function(){var b=this,a=b.baseCls,c=b.itemCls;b.selectedItemCls=a+"-selected";b.overItemCls=a+"-item-over";b.itemSelector="."+c;if(b.floating){b.addCls(a+"-floating")}if(!b.tpl){b.tpl=new Ext.XTemplate('
    ','
  • '+b.getInnerTpl(b.displayField)+"
  • ","
")}else{if(Ext.isString(b.tpl)){b.tpl=new Ext.XTemplate(b.tpl)}}if(b.pageSize){b.pagingToolbar=b.createPagingToolbar()}b.callParent()},beforeRender:function(){var a=this;a.callParent(arguments);if(a.up("menu")){a.addCls(Ext.baseCSSPrefix+"menu")}},getBubbleTarget:function(){return this.pickerField},getRefItems:function(){return this.pagingToolbar?[this.pagingToolbar]:[]},createPagingToolbar:function(){return Ext.widget("pagingtoolbar",{id:this.id+"-paging-toolbar",pageSize:this.pageSize,store:this.store,border:false,ownerCt:this,ownerLayout:this.getComponentLayout()})},finishRenderChildren:function(){var a=this.pagingToolbar;this.callParent(arguments);if(a){a.finishRender()}},refresh:function(){var b=this,a=b.pagingToolbar;b.callParent();if(b.rendered&&a&&a.rendered&&!b.preserveScrollOnRefresh){b.el.appendChild(a.el)}},bindStore:function(a,b){var c=this.pagingToolbar;this.callParent(arguments);if(c){c.bindStore(this.store,b)}},getTargetEl:function(){return this.listEl||this.el},getInnerTpl:function(a){return"{"+a+"}"},onDestroy:function(){Ext.destroyMembers(this,"pagingToolbar","listEl");this.callParent()}});Ext.define("Ext.view.BoundListKeyNav",{extend:"Ext.util.KeyNav",requires:"Ext.view.BoundList",constructor:function(b,a){var c=this;c.boundList=a.boundList;c.callParent([b,Ext.apply({},a,c.defaultHandlers)])},defaultHandlers:{up:function(){var e=this,b=e.boundList,d=b.all,g=b.highlightedItem,c=g?b.indexOf(g):-1,a=c>0?c-1:d.getCount()-1;e.highlightAt(a)},down:function(){var e=this,b=e.boundList,d=b.all,g=b.highlightedItem,c=g?b.indexOf(g):-1,a=c',' value="{[Ext.util.Format.htmlEncode(values.value)]}"
',' name="{name}"',' placeholder="{placeholder}"',' size="{size}"',' maxlength="{maxLength}"',' readonly="readonly"',' disabled="disabled"',' tabIndex="{tabIdx}"',' style="{fieldStyle}"',"/>",{compiled:true,disableFormats:true}],getSubTplData:function(){var a=this;Ext.applyIf(a.subTplData,{hiddenDataCls:a.hiddenDataCls});return a.callParent(arguments)},afterRender:function(){var a=this;a.callParent(arguments);a.setHiddenValue(a.value)},multiSelect:false,delimiter:", ",displayField:"text",triggerAction:"all",allQuery:"",queryParam:"query",queryMode:"remote",queryCaching:true,pageSize:0,autoSelect:true,typeAhead:false,typeAheadDelay:250,selectOnTab:true,forceSelection:false,growToLongestValue:true,defaultListConfig:{loadingHeight:70,minWidth:70,maxHeight:300,shadow:"sides"},ignoreSelection:0,removingRecords:null,resizeComboToGrow:function(){var a=this;return a.grow&&a.growToLongestValue},initComponent:function(){var e=this,c=Ext.isDefined,b=e.store,d=e.transform,a,g;Ext.applyIf(e.renderSelectors,{hiddenDataEl:"."+e.hiddenDataCls.split(" ").join(".")});this.addEvents("beforequery","select","beforeselect","beforedeselect");if(d){a=Ext.getDom(d);if(a){if(!e.store){b=Ext.Array.map(Ext.Array.from(a.options),function(h){return[h.value,h.text]})}if(!e.name){e.name=a.name}if(!("value" in e)){e.value=a.value}}}e.bindStore(b||"ext-empty-store",true);b=e.store;if(b.autoCreated){e.queryMode="local";e.valueField=e.displayField="field1";if(!b.expanded){e.displayField="field2"}}if(!c(e.valueField)){e.valueField=e.displayField}g=e.queryMode==="local";if(!c(e.queryDelay)){e.queryDelay=g?10:500}if(!c(e.minChars)){e.minChars=g?0:4}if(!e.displayTpl){e.displayTpl=new Ext.XTemplate('{[typeof values === "string" ? values : values["'+e.displayField+'"]]}'+e.delimiter+"")}else{if(Ext.isString(e.displayTpl)){e.displayTpl=new Ext.XTemplate(e.displayTpl)}}e.callParent();e.doQueryTask=new Ext.util.DelayedTask(e.doRawQuery,e);if(e.store.getCount()>0){e.setValue(e.value)}if(a){e.render(a.parentNode,a);Ext.removeNode(a);delete e.renderTo}},getStore:function(){return this.store},beforeBlur:function(){this.doQueryTask.cancel();this.assertValue()},assertValue:function(){var a=this,b=a.getRawValue(),c;if(a.forceSelection){if(a.multiSelect){if(b!==a.getDisplayValue()){a.setValue(a.lastSelection)}}else{c=a.findRecordByDisplay(b);if(c){a.select(c)}else{a.setValue(a.lastSelection)}}}a.collapse()},onTypeAhead:function(){var e=this,d=e.displayField,b=e.store.findRecord(d,e.getRawValue()),c=e.getPicker(),g,a,h;if(b){g=b.get(d);a=g.length;h=e.getRawValue().length;c.highlightItem(c.getNode(b));if(h!==0&&h!==a){e.setRawValue(g);e.selectText(h,g.length)}}},resetToDefault:Ext.emptyFn,beforeReset:function(){this.callParent();this.clearFilter()},onUnbindStore:function(a){var b=this.picker;if(!a&&b){b.bindStore(null)}this.clearFilter()},onBindStore:function(a,c){var b=this.picker;if(!c){this.resetToDefault()}if(b){b.bindStore(a)}},getStoreListeners:function(){var a=this;return{beforeload:a.onBeforeLoad,clear:a.onClear,datachanged:a.onDataChanged,load:a.onLoad,exception:a.onException,remove:a.onRemove}},onBeforeLoad:function(){++this.ignoreSelection},onDataChanged:function(){var a=this;if(a.resizeComboToGrow()){a.updateLayout()}},onClear:function(){var a=this;if(a.resizeComboToGrow()){a.removingRecords=true;a.onDataChanged()}},onRemove:function(){var a=this;if(a.resizeComboToGrow()){a.removingRecords=true}},onException:function(){if(this.ignoreSelection>0){--this.ignoreSelection}this.collapse()},onLoad:function(){var a=this,b=a.value;if(a.ignoreSelection>0){--a.ignoreSelection}if(a.rawQuery){a.rawQuery=false;a.syncSelection();if(a.picker&&!a.picker.getSelectionModel().hasSelection()){a.doAutoSelect()}}else{if(a.value||a.value===0){a.setValue(a.value)}else{if(a.store.getCount()){a.doAutoSelect()}else{a.setValue(a.value)}}}},doRawQuery:function(){this.doQuery(this.getRawValue(),false,true)},doQuery:function(i,d,g){i=i||"";var e=this,b={query:i,forceAll:d,combo:e,cancel:false},a=e.store,h=e.queryMode==="local",c;if(e.fireEvent("beforequery",b)===false||b.cancel){return false}i=b.query;d=b.forceAll;if(d||(i.length>=e.minChars)){e.expand();if(!e.queryCaching||e.lastQuery!==i){e.lastQuery=i;if(h){a.suspendEvents();c=e.clearFilter();if(i||!d){e.activeFilter=new Ext.util.Filter({root:"data",property:e.displayField,value:i});a.filter(e.activeFilter);c=true}else{delete e.activeFilter}a.resumeEvents();if(e.rendered&&c){e.getPicker().refresh()}}else{e.rawQuery=g;if(e.pageSize){e.loadPage(1)}else{a.load({params:e.getParams(i)})}}}if(e.getRawValue()!==e.getDisplayValue()){e.ignoreSelection++;e.picker.getSelectionModel().deselectAll();e.ignoreSelection--}if(h){e.doAutoSelect()}if(e.typeAhead){e.doTypeAhead()}}return true},clearFilter:function(){var a=this.store,c=this.activeFilter,d=a.filters,b;if(c){if(d.getCount()>1){d.remove(c);b=d.getRange()}a.clearFilter(true);if(b){a.filter(b)}}return !!c},loadPage:function(a){this.store.loadPage(a,{params:this.getParams(this.lastQuery)})},onPageChange:function(b,a){this.loadPage(a);return false},getParams:function(c){var b={},a=this.queryParam;if(a){b[a]=c}return b},doAutoSelect:function(){var b=this,a=b.picker,c,d;if(a&&b.autoSelect&&b.store.getCount()>0){c=a.getSelectionModel().lastSelected;d=a.getNode(c||0);if(d){a.highlightItem(d);a.listEl.scrollChildIntoView(d,false)}}},doTypeAhead:function(){if(!this.typeAheadTask){this.typeAheadTask=new Ext.util.DelayedTask(this.onTypeAhead,this)}if(this.lastKey!=Ext.EventObject.BACKSPACE&&this.lastKey!=Ext.EventObject.DELETE){this.typeAheadTask.delay(this.typeAheadDelay)}},onTriggerClick:function(){var a=this;if(!a.readOnly&&!a.disabled){if(a.isExpanded){a.collapse()}else{a.onFocus({});if(a.triggerAction==="all"){a.doQuery(a.allQuery,true)}else{a.doQuery(a.getRawValue(),false,true)}}a.inputEl.focus()}},onKeyUp:function(d,b){var c=this,a=d.getKey();if(!c.readOnly&&!c.disabled&&c.editable){c.lastKey=a;if(!d.isSpecialKey()||a==d.BACKSPACE||a==d.DELETE){c.doQueryTask.delay(c.queryDelay)}}if(c.enableKeyEvents){c.callParent(arguments)}},initEvents:function(){var a=this;a.callParent();if(!a.enableKeyEvents){a.mon(a.inputEl,"keyup",a.onKeyUp,a)}},onDestroy:function(){this.bindStore(null);this.callParent()},onAdded:function(){var a=this;a.callParent(arguments);if(a.picker){a.picker.ownerCt=a.up("[floating]");a.picker.registerWithOwnerCt()}},createPicker:function(){var c=this,b,a=Ext.apply({xtype:"boundlist",pickerField:c,selModel:{mode:c.multiSelect?"SIMPLE":"SINGLE"},floating:true,hidden:true,store:c.store,displayField:c.displayField,focusOnToFront:false,pageSize:c.pageSize,tpl:c.tpl},c.listConfig,c.defaultListConfig);b=c.picker=Ext.widget(a);if(c.pageSize){b.pagingToolbar.on("beforechange",c.onPageChange,c)}c.mon(b,{itemclick:c.onItemClick,refresh:c.onListRefresh,scope:c});c.mon(b.getSelectionModel(),{beforeselect:c.onBeforeSelect,beforedeselect:c.onBeforeDeselect,selectionchange:c.onListSelectionChange,scope:c});return b},alignPicker:function(){var b=this,a=b.getPicker(),e=b.getPosition()[1]-Ext.getBody().getScroll().top,d=Ext.Element.getViewHeight()-e-b.getHeight(),c=Math.max(e,d);if(a.height){delete a.height;a.updateLayout()}if(a.getHeight()>c-5){a.setHeight(c-5)}b.callParent()},onListRefresh:function(){this.alignPicker();this.syncSelection()},onItemClick:function(c,a){var e=this,d=e.picker.getSelectionModel().getSelection(),b=e.valueField;if(!e.multiSelect&&d.length){if(a.get(b)===d[0].get(b)){e.displayTplData=[a.data];e.setRawValue(e.getDisplayValue());e.collapse()}}},onBeforeSelect:function(b,a){return this.fireEvent("beforeselect",this,a,a.index)},onBeforeDeselect:function(b,a){return this.fireEvent("beforedeselect",this,a,a.index)},onListSelectionChange:function(b,d){var a=this,e=a.multiSelect,c=d.length>0;if(!a.ignoreSelection&&a.isExpanded){if(!e){Ext.defer(a.collapse,1,a)}if(e||c){a.setValue(d,false)}if(c){a.fireEvent("select",a,d)}a.inputEl.focus()}},onExpand:function(){var d=this,a=d.listKeyNav,c=d.selectOnTab,b=d.getPicker();if(a){a.enable()}else{a=d.listKeyNav=new Ext.view.BoundListKeyNav(this.inputEl,{boundList:b,forceKeyDown:true,tab:function(g){if(c){this.selectHighlighted(g);d.triggerBlur()}return true}})}if(c){d.ignoreMonitorTab=true}Ext.defer(a.enable,1,a);d.inputEl.focus()},onCollapse:function(){var b=this,a=b.listKeyNav;if(a){a.disable();b.ignoreMonitorTab=false}},select:function(a){this.setValue(a,true)},findRecord:function(d,c){var b=this.store,a=b.findExact(d,c);return a!==-1?b.getAt(a):false},findRecordByValue:function(a){return this.findRecord(this.valueField,a)},findRecordByDisplay:function(a){return this.findRecord(this.displayField,a)},setValue:function(m,e){var k=this,c=k.valueNotFoundText,n=k.inputEl,g,j,h,a,l=[],b=[],d=[];if(k.store.loading){k.value=m;k.setHiddenValue(k.value);return k}m=Ext.Array.from(m);for(g=0,j=m.length;g0){e.hiddenDataEl.update(Ext.DomHelper.markup({tag:"input",type:"hidden",name:a}));c=1;h=b.firstChild}while(c>g){b.removeChild(k[0]);--c}while(c=0){g.push(i)}}h.ignoreSelection++;c=d.getSelectionModel();c.deselectAll();if(g.length){c.select(g)}h.ignoreSelection--}},onEditorTab:function(b){var a=this.listKeyNav;if(this.selectOnTab&&a){a.selectHighlighted(b)}}});Ext.define("Ext.picker.Month",{extend:"Ext.Component",requires:["Ext.XTemplate","Ext.util.ClickRepeater","Ext.Date","Ext.button.Button"],alias:"widget.monthpicker",alternateClassName:"Ext.MonthPicker",childEls:["bodyEl","prevEl","nextEl","buttonsEl","monthEl","yearEl"],renderTpl:['
','
','','',"","
",'
','
','','',"
",'','',"","
",'
',"
",'','
{%',"var me=values.$comp, okBtn=me.okBtn, cancelBtn=me.cancelBtn;","okBtn.ownerLayout = cancelBtn.ownerLayout = me.componentLayout;","okBtn.ownerCt = cancelBtn.ownerCt = me;","Ext.DomHelper.generateMarkup(okBtn.getRenderTree(), out);","Ext.DomHelper.generateMarkup(cancelBtn.getRenderTree(), out);","%}
","
"],okText:"OK",cancelText:"Cancel",baseCls:Ext.baseCSSPrefix+"monthpicker",showButtons:true,width:178,measureWidth:35,measureMaxHeight:20,smallCls:Ext.baseCSSPrefix+"monthpicker-small",totalYears:10,yearOffset:5,monthOffset:6,initComponent:function(){var a=this;a.selectedCls=a.baseCls+"-selected";a.addEvents("cancelclick","monthclick","monthdblclick","okclick","select","yearclick","yeardblclick");if(a.small){a.addCls(a.smallCls)}a.setValue(a.value);a.activeYear=a.getYear(new Date().getFullYear()-4,-4);if(a.showButtons){a.okBtn=new Ext.button.Button({text:a.okText,handler:a.onOkClick,scope:a});a.cancelBtn=new Ext.button.Button({text:a.cancelText,handler:a.onCancelClick,scope:a})}this.callParent()},beforeRender:function(){var g=this,c=0,b=[],a=Ext.Date.getShortMonthName,e=g.monthOffset,h=g.monthMargin,d="";g.callParent();for(;cd.measureMaxHeight){--c;a.setStyle("margin","0 "+c+"px")}return c},getLargest:function(a){var b=0;this.months.each(function(d){var c=d.getHeight();if(c>b){b=c}});return b},setValue:function(d){var c=this,e=c.activeYear,g=c.monthOffset,b,a;if(!d){c.value=[null,null]}else{if(Ext.isDate(d)){c.value=[d.getMonth(),d.getFullYear()]}else{c.value=[d[0],d[1]]}}if(c.rendered){b=c.value[1];if(b!==null){if((be+c.yearOffset)){c.activeYear=b-c.yearOffset+1}}c.updateBody()}return c},getValue:function(){return this.value},hasSelection:function(){var a=this.value;return a[0]!==null&&a[1]!==null},getYears:function(){var d=this,e=d.yearOffset,g=d.activeYear,a=g+e,c=g,b=[];for(;c','",'','','','',"","",'','',"{#:this.isEndOfWeek}",'","","","",'','',"","",{firstInitial:function(a){return Ext.picker.Date.prototype.getDayInitial(a)},isEndOfWeek:function(b){b--;var a=b%7===0&&b!==0;return a?'':""},renderTodayBtn:function(a,b){Ext.DomHelper.generateMarkup(a.$comp.todayBtn.getRenderTree(),b)},renderMonthBtn:function(a,b){Ext.DomHelper.generateMarkup(a.$comp.monthBtn.getRenderTree(),b)}}],todayText:"Today",ariaTitle:"Date Picker: {0}",ariaTitleDateFormat:"F d, Y",todayTip:"{0} (Spacebar)",minText:"This date is before the minimum date",maxText:"This date is after the maximum date",disabledDaysText:"Disabled",disabledDatesText:"Disabled",nextText:"Next Month (Control+Right)",prevText:"Previous Month (Control+Left)",monthYearText:"Choose a month (Control+Up/Down to move years)",monthYearFormat:"F Y",startDay:0,showToday:true,disableAnim:false,baseCls:Ext.baseCSSPrefix+"datepicker",longDayFormat:"F d, Y",focusOnShow:false,focusOnSelect:true,width:178,initHour:12,numDays:42,initComponent:function(){var b=this,a=Ext.Date.clearTime;b.selectedCls=b.baseCls+"-selected";b.disabledCellCls=b.baseCls+"-disabled";b.prevCls=b.baseCls+"-prevday";b.activeCls=b.baseCls+"-active";b.nextCls=b.baseCls+"-prevday";b.todayCls=b.baseCls+"-today";b.dayNames=b.dayNames.slice(b.startDay).concat(b.dayNames.slice(0,b.startDay));b.listeners=Ext.apply(b.listeners||{},{mousewheel:{element:"eventEl",fn:b.handleMouseWheel,scope:b},click:{element:"eventEl",fn:b.handleDateClick,scope:b,delegate:"a."+b.baseCls+"-date"}});this.callParent();b.value=b.value?a(b.value,true):a(new Date());b.addEvents("select");b.initDisabledDays()},beforeRender:function(){var b=this,c=new Array(b.numDays),a=Ext.Date.format(new Date(),b.format);if(b.up("menu")){b.addCls(Ext.baseCSSPrefix+"menu")}b.monthBtn=new Ext.button.Split({ownerCt:b,ownerLayout:b.getComponentLayout(),text:"",tooltip:b.monthYearText,listeners:{click:b.showMonthPicker,arrowclick:b.showMonthPicker,scope:b}});if(this.showToday){b.todayBtn=new Ext.button.Button({ownerCt:b,ownerLayout:b.getComponentLayout(),text:Ext.String.format(b.todayText,a),tooltip:Ext.String.format(b.todayTip,a),tooltipType:"title",handler:b.selectToday,scope:b})}b.callParent();Ext.applyIf(b,{renderData:{}});Ext.apply(b.renderData,{dayNames:b.dayNames,showToday:b.showToday,prevText:b.prevText,nextText:b.nextText,days:c})},finishRenderChildren:function(){var a=this;a.callParent();a.monthBtn.finishRender();if(a.showToday){a.todayBtn.finishRender()}},onRender:function(b,a){var c=this;c.callParent(arguments);c.el.unselectable();c.cells=c.eventEl.select("tbody td");c.textNodes=c.eventEl.query("tbody td span")},initEvents:function(){var c=this,a=Ext.Date,b=a.DAY;c.callParent();c.prevRepeater=new Ext.util.ClickRepeater(c.prevEl,{handler:c.showPrevMonth,scope:c,preventDefault:true,stopDefault:true});c.nextRepeater=new Ext.util.ClickRepeater(c.nextEl,{handler:c.showNextMonth,scope:c,preventDefault:true,stopDefault:true});c.keyNav=new Ext.util.KeyNav(c.eventEl,Ext.apply({scope:c,left:function(d){if(d.ctrlKey){c.showPrevMonth()}else{c.update(a.add(c.activeDate,b,-1))}},right:function(d){if(d.ctrlKey){c.showNextMonth()}else{c.update(a.add(c.activeDate,b,1))}},up:function(d){if(d.ctrlKey){c.showNextYear()}else{c.update(a.add(c.activeDate,b,-7))}},down:function(d){if(d.ctrlKey){c.showPrevYear()}else{c.update(a.add(c.activeDate,b,7))}},pageUp:c.showNextMonth,pageDown:c.showPrevMonth,enter:function(d){d.stopPropagation();return true}},c.keyNavConfig));if(c.showToday){c.todayKeyListener=c.eventEl.addKeyListener(Ext.EventObject.SPACE,c.selectToday,c)}c.update(c.value)},initDisabledDays:function(){var h=this,b=h.disabledDates,g="(?:",a,i,c,e;if(!h.disabledDatesRE&&b){a=b.length-1;c=b.length;for(i=0;i0){this.showPrevMonth()}else{if(b<0){this.showNextMonth()}}}},handleDateClick:function(d,a){var c=this,b=c.handler;d.stopEvent();if(!c.disabled&&a.dateValue&&!Ext.fly(a.parentNode).hasCls(c.disabledCellCls)){c.doCancelFocus=c.focusOnSelect===false;c.setValue(new Date(a.dateValue));delete c.doCancelFocus;c.fireEvent("select",c,c.value);if(b){b.call(c.scope||c,c,c.value)}c.onSelect()}},onSelect:function(){if(this.hideOnSelect){this.hide()}},selectToday:function(){var c=this,a=c.todayBtn,b=c.handler;if(a&&!a.disabled){c.setValue(Ext.Date.clearTime(new Date()));c.fireEvent("select",c,c.value);if(b){b.call(c.scope||c,c,c.value)}c.onSelect()}return c},selectedUpdate:function(a){var d=this,i=a.getTime(),j=d.cells,k=d.selectedCls,g=j.elements,b,e=g.length,h;j.removeCls(k);for(b=0;bv||(C&&x&&C.test(n.dateFormat(F,x)))||(H&&H.indexOf(F.getDay())!=-1));if(!E.disabled){E.todayBtn.setDisabled(a);E.todayKeyListener.setDisabled(a)}}m=function(i){r=+n.clearTime(q,true);i.title=n.format(q,b);i.firstChild.dateValue=r;if(r==z){i.className+=" "+E.todayCls;i.title=E.todayText}if(r==u){i.className+=" "+E.selectedCls;E.fireEvent("highlightitem",E,i);if(e&&E.floating){Ext.fly(i.firstChild).focus(50)}}if(rv){i.className=G;i.title=E.maxText;return}if(H){if(H.indexOf(q.getDay())!=-1){i.title=B;i.className=G}}if(C&&x){j=n.dateFormat(q,x);if(C.test(j)){i.title=s.replace("%0",j);i.className=G}}};for(;w=l){o=(++D);c=E.nextCls}else{o=w-h+1;c=E.activeCls}}d[w].innerHTML=o;g[w].className=c;q.setDate(q.getDate()+1);m(g[w])}E.monthBtn.setText(Ext.Date.format(A,E.monthYearFormat))},update:function(a,d){var b=this,c=b.activeDate;if(b.rendered){b.activeDate=a;if(!d&&c&&b.el&&c.getMonth()==a.getMonth()&&c.getFullYear()==a.getFullYear()){b.selectedUpdate(a,c)}else{b.fullUpdate(a,c)}b.innerEl.dom.title=Ext.String.format(b.ariaTitle,Ext.Date.format(b.activeDate,b.ariaTitleDateFormat))}return b},beforeDestroy:function(){var a=this;if(a.rendered){Ext.destroy(a.todayKeyListener,a.keyNav,a.monthPicker,a.monthBtn,a.nextRepeater,a.prevRepeater,a.todayBtn);delete a.textNodes;delete a.cells.elements}a.callParent()},onShow:function(){this.callParent(arguments);if(this.focusOnShow){this.focus()}}},function(){var b=this.prototype,a=Ext.Date;b.monthNames=a.monthNames;b.dayNames=a.dayNames;b.format=a.defaultFormat});Ext.define("Ext.form.field.Date",{extend:"Ext.form.field.Picker",alias:"widget.datefield",requires:["Ext.picker.Date"],alternateClassName:["Ext.form.DateField","Ext.form.Date"],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|n-j|n/j",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}",triggerCls:Ext.baseCSSPrefix+"form-date-trigger",showToday:true,useStrict:undefined,initTime:"12",initTimeFormat:"H",matchFieldWidth:false,startDay:0,initComponent:function(){var d=this,b=Ext.isString,c,a;c=d.minValue;a=d.maxValue;if(b(c)){d.minValue=d.parseDate(c)}if(b(a)){d.maxValue=d.parseDate(a)}d.disabledDatesRE=null;d.initDisabledDays();d.callParent()},initValue:function(){var a=this,b=a.value;if(Ext.isString(b)){a.value=a.rawToValue(b)}a.callParent()},initDisabledDays:function(){if(this.disabledDates){var b=this.disabledDates,a=b.length-1,g="(?:",h,e=b.length,c;for(h=0;hk(h).getTime()){o.push(p(j.maxText,j.formatDate(h)))}if(n){l=q.getDay();for(;e'+Ext.DomHelper.markup(b)+"";c.destroy();return a},createFileInput:function(){var a=this;a.fileInputEl=a.buttonEl.createChild({name:a.getName(),id:a.id+"-fileInputEl",cls:Ext.baseCSSPrefix+"form-file-input",tag:"input",type:"file",size:1});a.fileInputEl.on({scope:a,change:a.onFileChange})},onFileChange:function(){this.lastValue=null;Ext.form.field.File.superclass.setValue.call(this,this.fileInputEl.dom.value)},setValue:Ext.emptyFn,reset:function(){var a=this;if(a.rendered){a.fileInputEl.remove();a.createFileInput();a.inputEl.dom.value=""}a.callParent()},onDisable:function(){this.callParent();this.disableItems()},disableItems:function(){var a=this.fileInputEl;if(a){a.dom.disabled=true}this["buttonEl-btnEl"].dom.disabled=true},onEnable:function(){var a=this;a.callParent();a.fileInputEl.dom.disabled=false;this["buttonEl-btnEl"].dom.disabled=false},isFileUpload:function(){return true},extractFileInput:function(){var a=this.fileInputEl.dom;this.reset();return a},onDestroy:function(){Ext.destroyMembers(this,"fileInputEl","buttonEl");this.callParent()}});Ext.define("Ext.form.field.Hidden",{extend:"Ext.form.field.Base",alias:["widget.hiddenfield","widget.hidden"],alternateClassName:"Ext.form.Hidden",inputType:"hidden",hideLabel:true,initComponent:function(){this.formItemCls+="-hidden";this.callParent()},isEqual:function(b,a){return this.isEqualAsString(b,a)},initEvents:Ext.emptyFn,setSize:Ext.emptyFn,setWidth:Ext.emptyFn,setHeight:Ext.emptyFn,setPosition:Ext.emptyFn,setPagePosition:Ext.emptyFn,markInvalid:Ext.emptyFn,clearInvalid:Ext.emptyFn});Ext.define("Ext.layout.component.field.HtmlEditor",{extend:"Ext.layout.component.field.Field",alias:["layout.htmleditor"],type:"htmleditor",toolbarSizePolicy:{setsWidth:0,setsHeight:0},beginLayout:function(a){this.callParent(arguments);a.textAreaContext=a.getEl("textareaEl");a.iframeContext=a.getEl("iframeEl");a.toolbarContext=a.context.getCmp(this.owner.getToolbar())},renderItems:Ext.emptyFn,getItemSizePolicy:function(a){return this.toolbarSizePolicy},getLayoutItems:function(){var a=this.owner.getToolbar();return a?[a]:[]},getRenderTarget:function(){return this.owner.bodyEl},publishInnerHeight:function(c,a){var b=this,d=a-b.measureLabelErrorHeight(c)-c.toolbarContext.getProp("height")-c.bodyCellContext.getPaddingInfo().height;if(Ext.isNumber(d)){c.textAreaContext.setHeight(d);c.iframeContext.setHeight(d)}else{b.done=false}}});Ext.define("Ext.picker.Color",{extend:"Ext.Component",requires:"Ext.XTemplate",alias:"widget.colorpicker",alternateClassName:"Ext.ColorPalette",componentCls:Ext.baseCSSPrefix+"color-picker",selectedCls:Ext.baseCSSPrefix+"color-picker-selected",value:null,clickEvent:"click",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"],colorRe:/(?:^|\s)color-(.{6})(?:\s|$)/,renderTpl:['','',' ',"",""],initComponent:function(){var a=this;a.callParent(arguments);a.addEvents("select");if(a.handler){a.on("select",a.handler,a.scope,true)}},initRenderData:function(){var a=this;return Ext.apply(a.callParent(),{itemCls:a.itemCls,colors:a.colors})},onRender:function(){var b=this,a=b.clickEvent;b.callParent(arguments);b.mon(b.el,a,b.handleClick,b,{delegate:"a"});if(a!="click"){b.mon(b.el,"click",Ext.emptyFn,b,{delegate:"a",stopEvent:true})}},afterRender:function(){var a=this,b;a.callParent(arguments);if(a.value){b=a.value;a.value=null;a.select(b,true)}},handleClick:function(c,d){var b=this,a;c.stopEvent();if(!b.disabled){a=d.className.match(b.colorRe)[1];b.select(a.toUpperCase())}},select:function(b,a){var d=this,g=d.selectedCls,e=d.value,c;b=b.replace("#","");if(!d.rendered){d.value=b;return}if(b!=e||d.allowReselect){c=d.el;if(d.value){c.down("a.color-"+e).removeCls(g)}c.down("a.color-"+b).addCls(g);d.value=b;if(a!==true){d.fireEvent("select",d,b)}}},getValue:function(){return this.value||null}});Ext.define("Ext.form.field.HtmlEditor",{extend:"Ext.Component",mixins:{labelable:"Ext.form.Labelable",field:"Ext.form.field.Field"},alias:"widget.htmleditor",alternateClassName:"Ext.form.HtmlEditor",requires:["Ext.tip.QuickTipManager","Ext.picker.Color","Ext.toolbar.Item","Ext.toolbar.Toolbar","Ext.util.Format","Ext.layout.component.field.HtmlEditor"],childEls:["iframeEl","textareaEl"],fieldSubTpl:["{beforeTextAreaTpl}",'","{afterTextAreaTpl}","{beforeIFrameTpl}",'',"{afterIFrameTpl}",{disableFormats:true}],subTplInsertions:["beforeTextAreaTpl","afterTextAreaTpl","beforeIFrameTpl","afterIFrameTpl","iframeAttrTpl","inputAttrTpl"],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",defaultValue:(Ext.isOpera||Ext.isIE6)?" ":"​",editorWrapCls:Ext.baseCSSPrefix+"html-editor-wrap",componentLayout:"htmleditor",initialized:false,activated:false,sourceEditMode:false,iframePad:3,hideMode:"offsets",afterBodyEl:"",maskOnDisable:true,initComponent:function(){var a=this;a.addEvents("initialize","activate","beforesync","beforepush","sync","push","editmodechange");a.callParent(arguments);a.createToolbar(a);a.initLabelable();a.initField()},getRefItems:function(){return[this.toolbar]},createToolbar:function(g){var j=this,h=[],c,l=Ext.tip.QuickTipManager&&Ext.tip.QuickTipManager.isEnabled(),e=Ext.baseCSSPrefix,d,k,b;function a(n,i,m){return{itemId:n,cls:e+"btn-icon",iconCls:e+"edit-"+n,enableToggle:i!==false,scope:g,handler:m||g.relayBtnCmd,clickEvent:"mousedown",tooltip:l?g.buttonTips[n]||b:b,overflowText:g.buttonTips[n].title||b,tabIndex:-1}}if(j.enableFont&&!Ext.isSafari2){d=Ext.widget("component",{renderTpl:['"],renderData:{cls:e+"font-select",fonts:j.fontFamilies,defaultFont:j.defaultFont},childEls:["selectEl"],afterRender:function(){j.fontSelect=this.selectEl;Ext.Component.prototype.afterRender.apply(this,arguments)},onDisable:function(){var i=this.selectEl;if(i){i.dom.disabled=true}Ext.Component.prototype.onDisable.apply(this,arguments)},onEnable:function(){var i=this.selectEl;if(i){i.dom.disabled=false}Ext.Component.prototype.onEnable.apply(this,arguments)},listeners:{change:function(){j.relayCmd("fontname",j.fontSelect.dom.value);j.deferFocus()},element:"selectEl"}});h.push(d,"-")}if(j.enableFormat){h.push(a("bold"),a("italic"),a("underline"))}if(j.enableFontSize){h.push("-",a("increasefontsize",false,j.adjustFont),a("decreasefontsize",false,j.adjustFont))}if(j.enableColors){h.push("-",{itemId:"forecolor",cls:e+"btn-icon",iconCls:e+"edit-forecolor",overflowText:g.buttonTips.forecolor.title,tooltip:l?g.buttonTips.forecolor||b:b,tabIndex:-1,menu:Ext.widget("menu",{plain:true,items:[{xtype:"colorpicker",allowReselect:true,focus:Ext.emptyFn,value:"000000",plain:true,clickEvent:"mousedown",handler:function(m,i){j.execCmd("forecolor",Ext.isWebKit||Ext.isIE?"#"+i:i);j.deferFocus();this.up("menu").hide()}}]})},{itemId:"backcolor",cls:e+"btn-icon",iconCls:e+"edit-backcolor",overflowText:g.buttonTips.backcolor.title,tooltip:l?g.buttonTips.backcolor||b:b,tabIndex:-1,menu:Ext.widget("menu",{plain:true,items:[{xtype:"colorpicker",focus:Ext.emptyFn,value:"FFFFFF",plain:true,allowReselect:true,clickEvent:"mousedown",handler:function(m,i){if(Ext.isGecko){j.execCmd("useCSS",false);j.execCmd("hilitecolor",i);j.execCmd("useCSS",true);j.deferFocus()}else{j.execCmd(Ext.isOpera?"hilitecolor":"backcolor",Ext.isWebKit||Ext.isIE?"#"+i:i);j.deferFocus()}this.up("menu").hide()}}]})})}if(j.enableAlignments){h.push("-",a("justifyleft"),a("justifycenter"),a("justifyright"))}if(!Ext.isSafari2){if(j.enableLinks){h.push("-",a("createlink",false,j.createLink))}if(j.enableLists){h.push("-",a("insertorderedlist"),a("insertunorderedlist"))}if(j.enableSourceEdit){h.push("-",a("sourceedit",true,function(i){j.toggleSourceEdit(!j.sourceEditMode)}))}}for(c=0;c',b.iframePad,a)},getEditorBody:function(){var a=this.getDoc();return a.body||a.documentElement},getDoc:function(){return(!Ext.isIE&&this.iframeEl.dom.contentDocument)||this.getWin().document},getWin:function(){return Ext.isIE?this.iframeEl.dom.contentWindow:window.frames[this.iframeEl.dom.name]},finishRenderChildren:function(){this.callParent();this.toolbar.finishRender()},onRender:function(){var a=this;a.callParent(arguments);a.inputEl=a.iframeEl;a.monitorTask=Ext.TaskManager.start({run:a.checkDesignMode,scope:a,interval:100})},initRenderTpl:function(){var a=this;if(!a.hasOwnProperty("renderTpl")){a.renderTpl=a.getTpl("labelableRenderTpl")}return a.callParent()},initRenderData:function(){this.beforeSubTpl='
'+Ext.DomHelper.markup(this.toolbar.getRenderTree());return Ext.applyIf(this.callParent(),this.getLabelableRenderData())},getSubTplData:function(){return{$comp:this,cmpId:this.id,id:this.getInputId(),textareaCls:Ext.baseCSSPrefix+"hidden",value:this.value,iframeName:Ext.id(),iframeSrc:Ext.SSL_SECURE_URL,size:"height:100px;width:100%"}},getSubTplMarkup:function(){return this.getTpl("fieldSubTpl").apply(this.getSubTplData())},initFrameDoc:function(){var b=this,c,a;Ext.TaskManager.stop(b.monitorTask);c=b.getDoc();b.win=b.getWin();c.open();c.write(b.getDocMarkup());c.close();a={run:function(){var d=b.getDoc();if(d.body||d.readyState==="complete"){Ext.TaskManager.stop(a);b.setDesignMode(true);Ext.defer(b.initEditor,10,b)}},interval:10,duration:10000,scope:b};Ext.TaskManager.start(a)},checkDesignMode:function(){var a=this,b=a.getDoc();if(b&&(!b.editorInitialized||a.getDesignMode()!=="on")){a.initFrameDoc()}},setDesignMode:function(c){var a=this,b=a.getDoc();if(b){if(a.readOnly){c=false}b.designMode=(/on|true/i).test(String(c).toLowerCase())?"on":"off"}},getDesignMode:function(){var a=this.getDoc();return !a?"":String(a.designMode).toLowerCase()},disableItems:function(d){var b=this.getToolbar().items.items,c,a=b.length,e;for(c=0;c'+d+"
"}}d=e.cleanHtml(d);if(e.fireEvent("beforesync",e,d)!==false){if(e.textareaEl.dom.value!=d){e.textareaEl.dom.value=d;g=true}e.fireEvent("sync",e,d);if(g){e.checkChange()}}}},getValue:function(){var a=this,b;if(!a.sourceEditMode){a.syncValue()}b=a.rendered?a.textareaEl.dom.value:a.value;a.value=b;return b},pushValue:function(){var b=this,a;if(b.initialized){a=b.textareaEl.dom.value||"";if(!b.activated&&a.length<1){a=b.defaultValue}if(b.fireEvent("beforepush",b,a)!==false){b.getEditorBody().innerHTML=a;if(Ext.isGecko){b.setDesignMode(false);b.setDesignMode(true)}b.fireEvent("push",b,a)}}},deferFocus:function(){this.focus(false,true)},getFocusEl:function(){var a=this,b=a.win;return b&&!a.sourceEditMode?b:a.textareaEl},initEditor:function(){try{var g=this,d=g.getEditorBody(),b=g.textareaEl.getStyles("font-size","font-family","background-image","background-repeat","background-color","color"),i,c;b["background-attachment"]="fixed";d.bgProperties="fixed";Ext.DomHelper.applyStyles(d,b);i=g.getDoc();if(i){try{Ext.EventManager.removeAll(i)}catch(h){}}c=Ext.Function.bind(g.onEditorEvent,g);Ext.EventManager.on(i,{mousedown:c,dblclick:c,click:c,keyup:c,buffer:100});c=g.onRelayedEvent;Ext.EventManager.on(i,{mousedown:c,mousemove:c,mouseup:c,click:c,dblclick:c,scope:g});if(Ext.isGecko){Ext.EventManager.on(i,"keypress",g.applyCommand,g)}if(g.fixKeys){Ext.EventManager.on(i,"keydown",g.fixKeys,g)}Ext.EventManager.on(window,"unload",g.beforeDestroy,g);i.editorInitialized=true;g.initialized=true;g.pushValue();g.setReadOnly(g.readOnly);g.fireEvent("initialize",g)}catch(a){}},beforeDestroy:function(){var a=this,d=a.monitorTask,c,g;if(d){Ext.TaskManager.stop(d)}if(a.rendered){try{c=a.getDoc();if(c){Ext.EventManager.removeAll(Ext.fly(c));for(g in c){if(c.hasOwnProperty&&c.hasOwnProperty(g)){delete c[g]}}}}catch(b){}Ext.destroyMembers(a,"toolbar","iframeEl","textareaEl")}a.callParent()},onRelayedEvent:function(c){var b=this.iframeEl,d=b.getXY(),a=c.getXY();c.xy=[d[0]+a[0],d[1]+a[1]];c.injectEvent(b);c.xy=a},onFirstFocus:function(){var c=this,b,a;c.activated=true;c.disableItems(c.readOnly);if(Ext.isGecko){c.win.focus();b=c.win.getSelection();if(!b.focusNode||b.focusNode.nodeType!==3){a=b.getRangeAt(0);a.selectNodeContents(c.getEditorBody());a.collapse(true);c.deferFocus()}try{c.execCmd("useCSS",true);c.execCmd("styleWithCSS",false)}catch(d){}}c.fireEvent("activate",c)},adjustFont:function(d){var e=d.getItemId()==="increasefontsize"?1:-1,c=this.getDoc().queryCommandValue("FontSize")||"2",a=Ext.isString(c)&&c.indexOf("px")!==-1,b;c=parseInt(c,10);if(a){if(c<=10){c=1+e}else{if(c<=13){c=2+e}else{if(c<=16){c=3+e}else{if(c<=18){c=4+e}else{if(c<=24){c=5+e}else{c=6+e}}}}}c=Ext.Number.constrain(c,1,6)}else{b=Ext.isSafari;if(b){e*=2}c=Math.max(1,c+e)+(b?"px":0)}this.execCmd("FontSize",c)},onEditorEvent:function(a){this.updateToolbar()},updateToolbar:function(){var e=this,d,g,a,c;if(e.readOnly){return}if(!e.activated){e.onFirstFocus();return}d=e.getToolbar().items.map;g=e.getDoc();if(e.enableFont&&!Ext.isSafari2){a=(g.queryCommandValue("FontName")||e.defaultFont).toLowerCase();c=e.fontSelect.dom;if(a!==c.value){c.value=a}}function b(){for(var k=0,h=arguments.length,j;k0){g=String.fromCharCode(g);switch(g){case"b":b="bold";break;case"i":b="italic";break;case"u":b="underline";break}if(b){a.win.focus();a.execCmd(b);a.deferFocus();d.preventDefault()}}}},insertAtCursor:function(c){var b=this,a;if(b.activated){b.win.focus();if(Ext.isIE){a=b.getDoc().selection.createRange();if(a){a.pasteHTML(c);b.syncValue();b.deferFocus()}}else{b.execCmd("InsertHTML",c);b.deferFocus()}}},fixKeys:(function(){if(Ext.isIE){return function(h){var c=this,b=h.getKey(),g=c.getDoc(),i=c.readOnly,a,d;if(b===h.TAB){h.stopEvent();if(!i){a=g.selection.createRange();if(a){a.collapse(true);a.pasteHTML("    ");c.deferFocus()}}}else{if(b===h.ENTER){if(!i){a=g.selection.createRange();if(a){d=a.parentElement();if(!d||d.tagName.toLowerCase()!=="li"){h.stopEvent();a.pasteHTML("
");a.collapse(false);a.select()}}}}}}}if(Ext.isOpera){return function(b){var a=this;if(b.getKey()===b.TAB){b.stopEvent();if(!a.readOnly){a.win.focus();a.execCmd("InsertHTML","    ");a.deferFocus()}}}}if(Ext.isWebKit){return function(c){var b=this,a=c.getKey(),d=b.readOnly;if(a===c.TAB){c.stopEvent();if(!d){b.execCmd("InsertText","\t");b.deferFocus()}}else{if(a===c.ENTER){c.stopEvent();if(!d){b.execCmd("InsertHtml","

");b.deferFocus()}}}}}return null}()),getToolbar:function(){return this.toolbar},buttonTips:{bold:{title:"Bold (Ctrl+B)",text:"Make the selected text bold.",cls:Ext.baseCSSPrefix+"html-editor-tip"},italic:{title:"Italic (Ctrl+I)",text:"Make the selected text italic.",cls:Ext.baseCSSPrefix+"html-editor-tip"},underline:{title:"Underline (Ctrl+U)",text:"Underline the selected text.",cls:Ext.baseCSSPrefix+"html-editor-tip"},increasefontsize:{title:"Grow Text",text:"Increase the font size.",cls:Ext.baseCSSPrefix+"html-editor-tip"},decreasefontsize:{title:"Shrink Text",text:"Decrease the font size.",cls:Ext.baseCSSPrefix+"html-editor-tip"},backcolor:{title:"Text Highlight Color",text:"Change the background color of the selected text.",cls:Ext.baseCSSPrefix+"html-editor-tip"},forecolor:{title:"Font Color",text:"Change the color of the selected text.",cls:Ext.baseCSSPrefix+"html-editor-tip"},justifyleft:{title:"Align Text Left",text:"Align text to the left.",cls:Ext.baseCSSPrefix+"html-editor-tip"},justifycenter:{title:"Center Text",text:"Center text in the editor.",cls:Ext.baseCSSPrefix+"html-editor-tip"},justifyright:{title:"Align Text Right",text:"Align text to the right.",cls:Ext.baseCSSPrefix+"html-editor-tip"},insertunorderedlist:{title:"Bullet List",text:"Start a bulleted list.",cls:Ext.baseCSSPrefix+"html-editor-tip"},insertorderedlist:{title:"Numbered List",text:"Start a numbered list.",cls:Ext.baseCSSPrefix+"html-editor-tip"},createlink:{title:"Hyperlink",text:"Make the selected text a hyperlink.",cls:Ext.baseCSSPrefix+"html-editor-tip"},sourceedit:{title:"Source Edit",text:"Switch to source editing mode.",cls:Ext.baseCSSPrefix+"html-editor-tip"}}});Ext.define("Ext.form.field.Radio",{extend:"Ext.form.field.Checkbox",alias:["widget.radiofield","widget.radio"],alternateClassName:"Ext.form.Radio",requires:["Ext.form.RadioManager"],isRadio:true,inputType:"radio",ariaRole:"radio",formId:null,getGroupValue:function(){var a=this.getManager().getChecked(this.name,this.getFormId());return a?a.inputValue:null},onBoxClick:function(b){var a=this;if(!a.disabled&&!a.readOnly){this.setValue(true)}},onRemoved:function(){this.callParent(arguments);this.formId=null},setValue:function(a){var b=this,c;if(Ext.isBoolean(a)){b.callParent(arguments)}else{c=b.getManager().getWithValue(b.name,a,b.getFormId()).getAt(0);if(c){c.setValue(true)}}return b},getSubmitValue:function(){return this.checked?this.inputValue:null},getModelData:function(){return this.getSubmitData()},onChange:function(c,a){var g=this,e,d,b,h;g.callParent(arguments);if(c){h=g.getManager().getByName(g.name,g.getFormId()).items;d=h.length;for(e=0;e=b&&e<=a})},createStore:function(){var d=this,c=Ext.Date,e=[],b=d.absMin,a=d.absMax;while(b<=a){e.push({disp:c.dateFormat(b,d.format),date:b});b=c.add(b,"mi",d.increment)}return new Ext.data.Store({fields:["disp","date"],data:e})}});Ext.define("Ext.form.field.Time",{extend:"Ext.form.field.ComboBox",alias:"widget.timefield",requires:["Ext.form.field.Date","Ext.picker.Time","Ext.view.BoundListKeyNav","Ext.Date"],alternateClassName:["Ext.form.TimeField","Ext.form.Time"],triggerCls:Ext.baseCSSPrefix+"form-time-trigger",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|gi a|hi a|giA|hiA|gi A|hi A",increment:15,pickerMaxHeight:300,selectOnTab:true,snapToIncrement:false,initDate:"1/1/2008",initDateFormat:"j/n/Y",ignoreSelection:0,queryMode:"local",displayField:"disp",valueField:"date",initComponent:function(){var c=this,b=c.minValue,a=c.maxValue;if(b){c.setMinValue(b)}if(a){c.setMaxValue(a)}c.displayTpl=new Ext.XTemplate('{[typeof values === "string" ? values : this.formatDate(values["'+c.displayField+'"])]}'+c.delimiter+"",{formatDate:Ext.Function.bind(c.formatDate,c)});this.callParent()},transformOriginalValue:function(a){if(Ext.isString(a)){return this.rawToValue(a)}return a},isEqual:function(b,a){return Ext.Date.isEqual(b,a)},setMinValue:function(c){var b=this,a=b.picker;b.setLimit(c,true);if(a){a.setMinValue(b.minValue)}},setMaxValue:function(c){var b=this,a=b.picker;b.setLimit(c,false);if(a){a.setMaxValue(b.maxValue)}},setLimit:function(b,g){var a=this,e,c;if(Ext.isString(b)){e=a.parseDate(b)}else{if(Ext.isDate(b)){e=b}}if(e){c=Ext.Date.clearTime(new Date(a.initDate));c.setHours(e.getHours(),e.getMinutes(),e.getSeconds(),e.getMilliseconds())}else{c=null}a[g?"minValue":"maxValue"]=c},rawToValue:function(a){return this.parseDate(a)||a||null},valueToRaw:function(a){return this.formatDate(this.parseDate(a))},getErrors:function(d){var b=this,g=Ext.String.format,h=b.callParent(arguments),c=b.minValue,e=b.maxValue,a;d=b.formatDate(d||b.processRawValue(b.getRawValue()));if(d===null||d.length<1){return h}a=b.parseDate(d);if(!a){h.push(g(b.invalidText,d,Ext.Date.unescapeFormat(b.format)));return h}if(c&&ae){h.push(g(b.maxText,b.formatDate(e)))}return h},formatDate:function(){return Ext.form.field.Date.prototype.formatDate.apply(this,arguments)},parseDate:function(e){var d=this,h=e,b=d.altFormats,g=d.altFormatsArray,c=0,a;if(e&&!Ext.isDate(e)){h=d.safeParse(e,d.format);if(!h&&b){g=g||b.split("|");a=g.length;for(;c0){c=c[0];if(c&&Ext.Date.isEqual(a.get("date"),c.get("date"))){d.collapse()}}},onListSelectionChange:function(c,e){var b=this,a=e[0],d=a?a.get("date"):null;if(!b.ignoreSelection){b.skipSync=true;b.setValue(d);b.skipSync=false;b.fireEvent("select",b,d);b.picker.clearHighlight();b.collapse();b.inputEl.focus()}},syncSelection:function(){var j=this,h=j.picker,c,g,k,b,i,e,a;if(h&&!j.skipSync){h.clearHighlight();k=j.getValue();g=h.getSelectionModel();j.ignoreSelection++;if(k===null){g.deselectAll()}else{if(Ext.isDate(k)){b=h.store.data.items;e=b.length;for(i=0;i1||(g===1&&c[0].nodeType!==3))){b=j.last();i=b.getOffsetsTo(j)[0]+b.getWidth();m=j.getWidth();a=m-i;if(!k.editingPlugin.grid.columnLines){a--}d[0]+=i;k.addCls(Ext.baseCSSPrefix+"grid-editor-on-text-node")}else{a=h.getWidth()-1}if(e===true){k.field.setWidth(a)}k.alignTo(h,k.alignment,d)},onEditorTab:function(b){var a=this.field;if(a.onEditorTab){a.onEditorTab(b)}},alignment:"tl-tl",hideEl:false,cls:Ext.baseCSSPrefix+"small-editor "+Ext.baseCSSPrefix+"grid-editor",shim:false,shadow:false});Ext.define("Ext.grid.ColumnComponentLayout",{extend:"Ext.layout.component.Auto",alias:"layout.columncomponent",type:"columncomponent",setWidthInDom:true,getContentHeight:function(a){return this.owner.isGroupHeader?a.getProp("contentHeight"):this.callParent(arguments)},calculateOwnerHeightFromContentHeight:function(c,b){var a=this.callParent(arguments);if(this.owner.isGroupHeader){a+=this.owner.titleEl.dom.offsetHeight}return a},getContentWidth:function(a){return this.owner.isGroupHeader?a.getProp("contentWidth"):this.callParent(arguments)},calculateOwnerWidthFromContentWidth:function(b,a){return a+b.getPaddingInfo().width}});Ext.define("Ext.grid.ColumnLayout",{extend:"Ext.layout.container.HBox",alias:"layout.gridcolumn",type:"gridcolumn",reserveOffset:false,firstHeaderCls:Ext.baseCSSPrefix+"column-header-first",lastHeaderCls:Ext.baseCSSPrefix+"column-header-last",initLayout:function(){this.grid=this.owner.up("[scrollerOwner]");this.callParent()},beginLayout:function(j){var h=this,e=h.grid,b=e.view,d=0,c=h.getVisibleItems(),a=c.length,g;j.gridContext=j.context.getCmp(h.grid);if(e.lockable){if(h.owner.up("tablepanel")===b.normalGrid){b=b.normalGrid.getView()}else{b=null}}h.callParent(arguments);for(;d0){c[0].addCls(h.firstHeaderCls);c[a-1].addCls(h.lastHeaderCls)}if(!h.owner.isHeader&&Ext.getScrollbarSize().width&&!e.collapsed&&b&&b.table.dom&&(b.autoScroll||b.overflowY)){j.viewContext=j.context.getCmp(b)}},roundFlex:function(a){return Math.floor(a)},calculate:function(e){var d=this,c=e.viewContext,b,a;d.callParent(arguments);if(e.state.parallelDone){e.setProp("columnWidthsDone",true)}if(c&&!e.state.overflowAdjust.width&&!e.gridContext.heightModel.shrinkWrap){b=c.tableContext.getProp("height");a=c.getProp("height");if(isNaN(b+a)){d.done=false}else{if(b>=a){e.gridContext.invalidate({after:function(){e.state.overflowAdjust={width:Ext.getScrollbarSize().width,height:0}}})}}}},completeLayout:function(c){var j=this,b=j.owner,a=c.state,g=false,k=j.sizeModels.calculated,e,h,d,m,l;j.callParent(arguments);if(!a.flexesCalculated&&b.forceFit&&!b.isHeader){e=c.childItems;h=e.length;for(d=0;d",initComponent:function(){var b=this,a=b.scroll;b.table=new Ext.dom.Element.Fly();b.table.id=b.id+"gridTable";b.autoScroll=undefined;if(a===true||a==="both"){b.autoScroll=true}else{if(a==="horizontal"){b.overflowX="auto"}else{if(a==="vertical"){b.overflowY="auto"}}}b.selModel.view=b;b.headerCt.view=b;b.headerCt.markDirty=b.markDirty;b.initFeatures(b.grid);delete b.grid;b.tpl=b.getTpl("initialTpl");b.callParent()},moveColumn:function(a,p,d){var n=this,l=(d>1)?document.createDocumentFragment():undefined,c=p,q=n.getGridColumns().length,o=q-1,b=(n.firstCls||n.lastCls)&&(p===0||p==q||a===0||a==o),g,e,r,k,m,h;if(n.rendered){h=n.el.query(n.headerRowSelector);r=n.el.query(n.rowSelector);if(p>a&&l){c-=d}for(g=0,k=h.length;ge){i=j.bottom-e}}d=g.getRecord(k);b=g.store.indexOf(d);if(i){a.scrollByDeltaY(i)}g.fireEvent("rowfocus",d,k,b)}},focusCell:function(h){var j=this,k=j.getCellByPosition(h),b=j.el,d=0,e=0,c=b.getRegion(),a=j.ownerCt,i,g;c.bottom=c.top+b.dom.clientHeight;c.right=c.left+b.dom.clientWidth;if(k){i=k.getRegion();if(i.topc.bottom){d=i.bottom-c.bottom}}if(i.leftc.right){e=i.right-c.right}}if(d){a.scrollByDeltaY(d)}if(e){a.scrollByDeltaX(e)}b.focus();j.fireEvent("cellfocus",g,k,h)}},scrollByDelta:function(c,b){b=b||"scrollTop";var a=this.el.dom;a[b]=(a[b]+=c)},onUpdate:function(g,e,k,p){var v=this,j,d,l,s,r,u,q,b,c,w,t,r,a,n,m,h,o=v.editingPlugin&&v.editingPlugin.editing;if(v.viewReady){j=v.store.indexOf(e);a=v.headerCt.getGridColumns();n=v.overItemCls;if(a.length&&j>-1){d=v.bufferRender([e],j)[0];q=v.all.item(j);if(q){b=q.dom;m=q.hasCls(n);if(b.mergeAttributes){b.mergeAttributes(d,true)}else{l=d.attributes;s=l.length;for(r=0;re){e=b}}return e},getPositionByEvent:function(g){var d=this,b=g.getTarget(d.cellSelector),c=g.getTarget(d.itemSelector),a=d.getRecord(c),h=d.getHeaderByCell(b);return d.getPosition(a,h)},getHeaderByCell:function(b){if(b){var a=b.className.match(this.cellRe);if(a&&a[1]){return Ext.getCmp(a[1])}}return false},walkCells:function(l,m,h,n,a,o){if(!l){return}var j=this,p=l.row,d=l.column,k=j.store.getCount(),g=j.getFirstVisibleColumnIndex(),b=j.getLastVisibleColumnIndex(),i={row:p,column:d},c=j.headerCt.getHeaderAtIndex(d);if(!c||c.hidden){return false}h=h||{};m=m.toLowerCase();switch(m){case"right":if(d===b){if(n||p===k-1){return false}if(!h.ctrlKey){i.row=p+1;i.column=g}}else{if(!h.ctrlKey){i.column=d+j.getRightGap(c)}else{i.column=b}}break;case"left":if(d===g){if(n||p===0){return false}if(!h.ctrlKey){i.row=p-1;i.column=b}}else{if(!h.ctrlKey){i.column=d+j.getLeftGap(c)}else{i.column=g}}break;case"up":if(p===0){return false}else{if(!h.ctrlKey){i.row=p-1}else{i.row=0}}break;case"down":if(p===k-1){return false}else{if(!h.ctrlKey){i.row=p+1}else{i.row=k-1}}break}if(a&&a.call(o||window,i)!==true){return false}else{return i}},getFirstVisibleColumnIndex:function(){var a=this.getHeaderCt().getVisibleGridColumns()[0];return a?a.getIndex():-1},getLastVisibleColumnIndex:function(){var b=this.getHeaderCt().getVisibleGridColumns(),a=b[b.length-1];return a.getIndex()},getHeaderCt:function(){return this.headerCt},getPosition:function(a,e){var d=this,b=d.store,c=d.headerCt.getGridColumns();return{row:b.indexOf(a),column:Ext.Array.indexOf(c,e)}},getRightGap:function(a){var g=this.getHeaderCt(),e=g.getGridColumns(),b=Ext.Array.indexOf(e,a),c=b+1,d;for(;c<=e.length;c++){if(!e[c].hidden){d=c;break}}return d-b},beforeDestroy:function(){if(this.rendered){this.el.removeAllListeners()}this.callParent(arguments)},getLeftGap:function(a){var g=this.getHeaderCt(),e=g.getGridColumns(),c=Ext.Array.indexOf(e,a),d=c-1,b;for(;d>=0;d--){if(!e[d].hidden){b=d;break}}return b-c},onAdd:function(c,a,b){this.callParent(arguments);this.doStripeRows(b)},onRemove:function(c,a,b){this.callParent(arguments);this.doStripeRows(b)},doStripeRows:function(b,a){var d=this,e,h,c,g;if(d.rendered&&d.stripeRows){e=d.getNodes(b,a);for(c=0,h=e.length;c>#normalHeaderCt"},normal:{items:c,itemId:"normalHeaderCt",stretchMaxPartner:"^^>>#lockedHeaderCt"}}},onLockedViewMouseWheel:function(i){var d=this,h=-d.scrollDelta,a=h*i.getWheelDeltas().y,b=d.lockedGrid.getView().el.dom,c,g;if(b){c=b.scrollTop!==b.scrollHeight-b.clientHeight;g=b.scrollTop!==0}if((a<0&&g)||(a>0&&c)){i.stopEvent();d.scrolling=true;b.scrollTop+=a;d.normalGrid.getView().el.dom.scrollTop=b.scrollTop;d.scrolling=false;d.onNormalViewScroll()}},onLockedViewScroll:function(){var e=this,d=e.lockedGrid.getView(),c=e.normalGrid.getView(),a,b;if(!e.scrolling){e.scrolling=true;c.el.dom.scrollTop=d.el.dom.scrollTop;if(e.store.buffered){b=d.el.child("table",true);a=c.el.child("table",true);b.style.position="absolute"}e.scrolling=false}},onNormalViewScroll:function(){var e=this,d=e.lockedGrid.getView(),c=e.normalGrid.getView(),a,b;if(!e.scrolling){e.scrolling=true;d.el.dom.scrollTop=c.el.dom.scrollTop;if(e.store.buffered){b=d.el.child("table",true);a=c.el.child("table",true);b.style.position="absolute";b.style.top=a.style.top}e.scrolling=false}},onLockedHeaderMove:function(){if(this.syncRowHeight){this.onNormalViewRefresh()}},onNormalHeaderMove:function(){if(this.syncRowHeight){this.onLockedViewRefresh()}},updateSpacer:function(){var d=this,b=d.lockedGrid.getView().el,c=d.normalGrid.getView().el.dom,a=b.dom.id+"-spacer",e=(c.offsetHeight-c.clientHeight)+"px";d.spacerEl=Ext.getDom(a);if(d.spacerEl){d.spacerEl.style.height=e}else{Ext.core.DomHelper.append(b,{id:a,style:"height: "+e})}},onLockedViewRefresh:function(){if(this.normalGrid.headerCt.getGridColumns().length){var e=this,a=e.lockedGrid.getView(),c=a.el,g=c.query(a.getItemSelector()),d=g.length,b=0;e.lockedHeights=[];for(;bk[e]){Ext.fly(g[e]).setHeight(a[e])}else{if(a[e]0){a.setWidth(b);a.show()}else{a.hide()}Ext.resumeLayouts(true);return b>0},onLockedHeaderResize:function(){this.syncLockedWidth()},onLockedHeaderHide:function(){this.syncLockedWidth()},onLockedHeaderShow:function(){this.syncLockedWidth()},onLockedHeaderSortChange:function(b,c,a){if(a){this.normalGrid.headerCt.clearOtherSortStates(null,true)}},onNormalHeaderSortChange:function(b,c,a){if(a){this.lockedGrid.headerCt.clearOtherSortStates(null,true)}},unlock:function(a,e){var d=this,g=d.normalGrid,i=d.lockedGrid,h=g.headerCt,c=i.headerCt,b=false;if(!Ext.isDefined(e)){e=0}a=a||c.getMenu().activeHeader;Ext.suspendLayouts();a.ownerCt.remove(a,false);if(d.syncLockedWidth()){b=true}a.locked=false;h.insert(e,a);d.normalGrid.getView().refresh();if(b){d.lockedGrid.getView().refresh()}Ext.resumeLayouts(true);d.fireEvent("unlockcolumn",d,a)},applyColumnsState:function(h){var p=this,e=p.lockedGrid,g=e.headerCt,n=p.normalGrid.headerCt,q=Ext.Array.toMap(g.items,"headerId"),j=Ext.Array.toMap(n.items,"headerId"),m=[],o=[],l=1,b=h.length,k,a,d,c;for(k=0;ke.viewSize){e.viewSize=e.store.viewSize=c;e.handleViewScroll(e.lastScrollDirection||1)}},beforeViewRefresh:function(){var b=this,a=b.view,c,d;b.focusOnRefresh=Ext.Element.getActiveElement===a.el.dom;if(b.variableRowHeight){d=b.lastScrollDirection;b.commonRecordIndex=undefined;if(d&&(b.previousStart!==undefined)&&(b.scrollProportion===undefined)&&(c=a.getNodes()).length){if(d===1){if(b.tableStart<=b.previousEnd){b.commonRecordIndex=c.length-1}}else{if(d===-1){if(b.tableEnd>=b.previousStart){b.commonRecordIndex=0}}}b.scrollOffset=-a.el.getOffsetsTo(c[b.commonRecordIndex])[1];b.commonRecordIndex-=(b.tableStart-b.previousStart)}else{b.scrollOffset=undefined}}},onLockRefresh:function(a){a.table.dom.style.position="absolute"},onViewRefresh:function(){var d=this,g=d.store,c,e=d.view,j=e.el,k=j.dom,m,i,b,l=e.table.dom,h,a;if(d.focusOnRefresh){j.focus();d.focusOnRefresh=false}d.disabled=true;if(g.getCount()===g.getTotalCount()||(g.isFiltered()&&!g.remoteFilter)){d.stretcher.setHeight(0);d.position=k.scrollTop=0;d.setTablePosition("absolute");return}d.stretcher.setHeight(c=d.getScrollHeight());a=k.scrollTop;d.isScrollRefresh=(a>0);if(d.scrollProportion!==undefined){d.setTablePosition("absolute");d.setTableTop((d.scrollProportion?(c*d.scrollProportion)-(l.offsetHeight*d.scrollProportion):0)+"px")}else{d.setTablePosition("absolute");d.setTableTop((h=(d.tableStart||0)*d.rowHeight)+"px");if(d.scrollOffset){m=e.getNodes();i=-j.getOffsetsTo(m[d.commonRecordIndex])[1];b=i-d.scrollOffset;d.position=(k.scrollTop+=b)}else{if((h>a)||((h+l.offsetHeight)b?1:-1;if(b!==d.position){d.handleViewScroll(d.lastScrollDirection)}}},handleViewScroll:function(i){var e=this,k=e.store,h=e.view,g=e.viewSize,l=k.getTotalCount(),d=l-g,c=e.getFirstVisibleRowIndex(),j=e.getLastVisibleRowIndex(),a=h.el.dom,b,m;if(l>=g){e.scrollProportion=undefined;if(i==-1){if(e.tableStart){if(c!==undefined){if(c<(e.tableStart+e.numFromEdge)){b=Math.max(0,j+e.trailingBufferZone-g)}}else{e.scrollProportion=a.scrollTop/(a.scrollHeight-a.clientHeight);b=Math.max(0,l*e.scrollProportion-(g/2)-e.numFromEdge-((e.leadingBufferZone+e.trailingBufferZone)/2))}}}else{if(c!==undefined){if(j>(e.tableEnd-e.numFromEdge)){b=Math.max(0,c-e.trailingBufferZone)}}else{e.scrollProportion=a.scrollTop/(a.scrollHeight-a.clientHeight);b=l*e.scrollProportion-(g/2)-e.numFromEdge-((e.leadingBufferZone+e.trailingBufferZone)/2)}}if(b!==undefined){if(b>d){b=d&~1;m=l-1}else{b=b&~1;m=b+g-1}if(k.rangeCached(b,m)){e.cancelLoad();k.guaranteeRange(b,m)}else{e.attemptLoad(b,m)}}}},getFirstVisibleRowIndex:function(){var d=this,a=d.view,h=a.el.dom.scrollTop,e,c,b,g;if(d.variableRowHeight){e=a.getNodes();c=e.length;if(!c){return}g=Ext.fly(e[0]).getOffsetsTo(a.el)[1];for(b=0;ba.el.dom.clientHeight){return}if(g>0){return a.getRecord(e[b]).index}}}else{return Math.floor(h/d.rowHeight)}},getLastVisibleRowIndex:function(){var h=this,c=h.store,a=h.view,b=a.el.dom.clientHeight,j,g,e,d;if(h.variableRowHeight){j=a.getNodes();if(!j.length){return}g=c.getCount()-1;d=Ext.fly(j[g]).getOffsetsTo(a.el)[1]+j[g].offsetHeight;for(e=g;e>=0;e--){d-=j[e].offsetHeight;if(d<0){return}if(de.viewSize){g-=e.rowHeight}}}else{if(c){h=a.el.down(a.getItemSelector());if(h){e.rowHeight=h.getHeight(false,true)}}}return Math.floor(b.getTotalCount()*e.rowHeight)+g},attemptLoad:function(c,a){var b=this;if(b.scrollToLoadBuffer){if(!b.loadTask){b.loadTask=new Ext.util.DelayedTask(b.doAttemptLoad,b,[])}b.loadTask.delay(b.scrollToLoadBuffer,b.doAttemptLoad,b,[c,a])}else{b.store.guaranteeRange(c,a)}},cancelLoad:function(){if(this.loadTask){this.loadTask.cancel()}},doAttemptLoad:function(b,a){this.store.guaranteeRange(b,a)},destroy:function(){var b=this,a=b.viewListeners.scroll;b.store.un({guaranteedrange:b.onGuaranteedRange,scope:b});b.view.un(b.viewListeners);if(b.view.rendered){b.stretcher.remove();b.view.el.un("scroll",a.fn,a.scope)}}});Ext.define("Ext.layout.container.Fit",{extend:"Ext.layout.container.Container",alternateClassName:"Ext.layout.FitLayout",alias:"layout.fit",itemCls:Ext.baseCSSPrefix+"fit-item",targetCls:Ext.baseCSSPrefix+"layout-fit",type:"fit",defaultMargins:{top:0,right:0,bottom:0,left:0},manageMargins:true,sizePolicies:{0:{setsWidth:0,setsHeight:0},1:{setsWidth:1,setsHeight:0},2:{setsWidth:0,setsHeight:1},3:{setsWidth:1,setsHeight:1}},getItemSizePolicy:function(b,c){var a=c||this.owner.getSizeModel(),d=(a.width.shrinkWrap?0:1)|(a.height.shrinkWrap?0:2);return this.sizePolicies[d]},beginLayoutCycle:function(k,g){var t=this,u=t.lastHeightModel&&t.lastHeightModel.calculated,h=t.lastWidthModel&&t.lastWidthModel.calculated,o=h||u,l=0,m=0,s,b,p,r,e,a,j,n,q,d;t.callParent(arguments);if(o&&k.targetContext.el.dom.tagName.toUpperCase()!="TD"){o=h=u=false}b=k.childItems;e=b.length;for(p=0;p'+a.emptyText+"":""}));a.view.getComponentLayout().headerCt=a.headerCt;a.mon(a.view,{uievent:a.processEvent,scope:a});b.view=a.view;a.headerCt.view=a.view;a.relayEvents(a.view,["cellclick","celldblclick"])}return a.view},setAutoScroll:Ext.emptyFn,processEvent:function(g,b,a,c,d,i){var h=this,j;if(d!==-1){j=h.headerCt.getGridColumns()[d];return j.processEvent.apply(j,arguments)}},determineScrollbars:function(){},invalidateScroller:function(){},scrollByDeltaY:function(b,a){this.getView().scrollBy(0,b,a)},scrollByDeltaX:function(b,a){this.getView().scrollBy(b,0,a)},afterCollapse:function(){var a=this;a.saveScrollPos();a.saveScrollPos();a.callParent(arguments)},afterExpand:function(){var a=this;a.callParent(arguments);a.restoreScrollPos();a.restoreScrollPos()},saveScrollPos:Ext.emptyFn,restoreScrollPos:Ext.emptyFn,onHeaderResize:function(){this.delayScroll()},onHeaderMove:function(e,g,a,b,d){var c=this;if(c.optimizedColumnMove===false){c.view.refresh()}else{c.view.moveColumn(b,d,a)}c.delayScroll()},onHeaderHide:function(a,b){this.delayScroll()},onHeaderShow:function(a,b){this.delayScroll()},delayScroll:function(){var a=this.getScrollTarget().el;if(a){this.scrollTask.delay(10,null,null,[a.dom.scrollLeft])}},onViewReady:function(){this.fireEvent("viewready",this)},onRestoreHorzScroll:function(){var a=this.scrollLeftPos;if(a){this.syncHorizontalScroll(a,true)}},getScrollerOwner:function(){var a=this;if(!this.scrollerOwner){a=this.up("[scrollerOwner]")}return a},getLhsMarker:function(){var a=this;return a.lhsMarker||(a.lhsMarker=Ext.DomHelper.append(a.el,{cls:Ext.baseCSSPrefix+"grid-resize-marker"},true))},getRhsMarker:function(){var a=this;return a.rhsMarker||(a.rhsMarker=Ext.DomHelper.append(a.el,{cls:Ext.baseCSSPrefix+"grid-resize-marker"},true))},getSelectionModel:function(){if(!this.selModel){this.selModel={}}var b="SINGLE",a;if(this.simpleSelect){b="SIMPLE"}else{if(this.multiSelect){b="MULTI"}}Ext.applyIf(this.selModel,{allowDeselect:this.allowDeselect,mode:b});if(!this.selModel.events){a=this.selModel.selType||this.selType;this.selModel=Ext.create("selection."+a,this.selModel)}if(!this.selModel.hasRelaySetup){this.relayEvents(this.selModel,["selectionchange","beforeselect","beforedeselect","select","deselect"]);this.selModel.hasRelaySetup=true}if(this.disableSelection){this.selModel.locked=true}return this.selModel},getScrollTarget:function(){var a=this.getScrollerOwner(),b=a.query("tableview");return b[1]||b[0]},onHorizontalScroll:function(a,b){this.syncHorizontalScroll(b.scrollLeft)},syncHorizontalScroll:function(d,b){var c=this,a;b=b===true;if(c.rendered&&(b||d!==c.scrollLeftPos)){if(b){a=c.getScrollTarget();a.el.dom.scrollLeft=d}c.headerCt.el.dom.scrollLeft=d;c.scrollLeftPos=d}},onStoreLoad:Ext.emptyFn,getEditorParent:function(){return this.body},bindStore:function(a){var b=this;b.store=a;b.getView().bindStore(a)},beforeDestroy:function(){Ext.destroy(this.verticalScroller);this.callParent()},reconfigure:function(a,b){var c=this,d=c.headerCt;if(c.lockable){c.reconfigureLockable(a,b)}else{Ext.suspendLayouts();if(b){delete c.scrollLeftPos;d.removeAll();d.add(b)}if(a){a=Ext.StoreManager.lookup(a);c.bindStore(a)}else{c.getView().refresh()}d.setSortState();Ext.resumeLayouts(true)}c.fireEvent("reconfigure",c,a,b)}});Ext.define("Ext.grid.View",{extend:"Ext.view.Table",alias:"widget.gridview",stripeRows:true,autoScroll:true});Ext.define("Ext.grid.Panel",{extend:"Ext.panel.Table",requires:["Ext.grid.View"],alias:["widget.gridpanel","widget.grid"],alternateClassName:["Ext.list.ListView","Ext.ListView","Ext.grid.GridPanel"],viewType:"gridview",lockable:false,bothCfgCopy:["invalidateScrollerOnRefresh","hideHeaders","enableColumnHide","enableColumnMove","enableColumnResize","sortableColumns"],normalCfgCopy:["verticalScroller","verticalScrollDock","verticalScrollerType","scroll"],lockedCfgCopy:[],rowLines:true});Ext.define("Ext.grid.RowEditor",{extend:"Ext.form.Panel",requires:["Ext.tip.ToolTip","Ext.util.HashMap","Ext.util.KeyNav"],saveBtnText:"Update",cancelBtnText:"Cancel",errorsText:"Errors",dirtyText:"You need to commit or cancel your changes",lastScrollLeft:0,lastScrollTop:0,border:false,hideMode:"offsets",initComponent:function(){var b=this,a;b.cls=Ext.baseCSSPrefix+"grid-row-editor";b.layout={type:"hbox",align:"middle"};b.columns=new Ext.util.HashMap();b.columns.getKey=function(d){var c;if(d.getEditor){c=d.getEditor();if(c){return c.id}}return d.id};b.mon(b.columns,{add:b.onFieldAdd,remove:b.onFieldRemove,replace:b.onFieldReplace,scope:b});b.callParent(arguments);if(b.fields){b.setField(b.fields);delete b.fields}b.mon(Ext.container.Container.hierarchyEventSource,{scope:b,show:b.repositionIfVisible});a=b.getForm();a.trackResetOnLoad=true},onFieldChange:function(){var c=this,b=c.getForm(),a=b.isValid();if(c.errorSummary&&c.isVisible()){c[a?"hideToolTip":"showToolTip"]()}c.updateButton(a);c.isValid=a},updateButton:function(b){var a=this.floatingButtons;if(a){a.child("#update").setDisabled(!b)}},afterRender:function(){var b=this,a=b.editingPlugin;b.callParent(arguments);b.mon(b.renderTo,"scroll",b.onCtScroll,b,{buffer:100});b.mon(b.el,{click:Ext.emptyFn,stopPropagation:true});b.el.swallowEvent(["keypress","keydown"]);b.keyNav=new Ext.util.KeyNav(b.el,{enter:a.completeEdit,esc:a.onEscKey,scope:a});b.mon(a.view,{beforerefresh:b.onBeforeViewRefresh,refresh:b.onViewRefresh,itemremove:b.onViewItemRemove,scope:b})},onBeforeViewRefresh:function(b){var c=this,a=b.el.dom;if(c.el.dom.parentNode===a){a.removeChild(c.el.dom)}},onViewRefresh:function(c){var e=this,b=c.el.dom,d=e.context,a;b.appendChild(e.el.dom);if(d&&(a=d.store.indexOf(d.record))>=0){d.row=c.getNode(a);e.reposition();if(e.tooltip&&e.tooltip.isVisible()){e.tooltip.setTarget(d.row)}}else{e.editingPlugin.cancelEdit()}},onViewItemRemove:function(a,b){var c=this.context;if(c&&a===c.record){this.editingPlugin.cancelEdit()}},onCtScroll:function(d,c){var a=this,b=c.scrollTop,g=c.scrollLeft;if(b!==a.lastScrollTop){a.lastScrollTop=b;if((a.tooltip&&a.tooltip.isVisible())||a.hiddenTip){a.repositionTip()}}if(g!==a.lastScrollLeft){a.lastScrollLeft=g;a.reposition()}},onColumnAdd:function(a){if(!a.isGroupHeader){this.setField(a)}},onColumnRemove:function(a){this.columns.remove(a)},onColumnResize:function(b,a){if(!b.isGroupHeader){b.getEditor().setWidth(a-2);this.repositionIfVisible()}},onColumnHide:function(a){if(!a.isGroupHeader){a.getEditor().hide();this.repositionIfVisible()}},onColumnShow:function(a){var b=a.getEditor();b.setWidth(a.getWidth()-2).show();this.repositionIfVisible()},onColumnMove:function(b,a,c){if(!b.isGroupHeader){var d=b.getEditor();if(this.items.indexOf(d)!=c){this.move(a,c)}}},onFieldAdd:function(e,a,b){var c=this,g,d;if(!b.isGroupHeader){g=c.editingPlugin.grid.headerCt.getHeaderIndex(b);d=b.getEditor({xtype:"displayfield"});c.insert(g,d)}},onFieldRemove:function(g,a,b){var c=this,e,d;if(!b.isGroupHeader){e=b.getEditor();d=e.el;c.remove(e,false);if(d){d.remove()}}},onFieldReplace:function(d,a,c,b){this.onFieldRemove(d,a,b)},clearFields:function(){var b=this.columns,a;for(a in b){if(b.hasOwnProperty(a)){b.removeAtKey(a)}}},getFloatingButtons:function(){var e=this,g=Ext.baseCSSPrefix,d=g+"grid-row-editor-buttons",c=e.editingPlugin,a=Ext.panel.Panel.prototype.minButtonWidth,b;if(!e.floatingButtons){b=e.floatingButtons=new Ext.Container({renderTpl:['
','
','
','
','
',"{%this.renderContainer(out,values)%}"],width:200,renderTo:e.el,baseCls:d,layout:{type:"hbox",align:"middle"},defaults:{flex:1,margins:"0 1 0 1"},items:[{itemId:"update",xtype:"button",handler:c.completeEdit,scope:c,text:e.saveBtnText,minWidth:a},{xtype:"button",handler:c.cancelEdit,scope:c,text:e.cancelBtnText,minWidth:a}]});e.mon(b.el,{mousedown:Ext.emptyFn,click:Ext.emptyFn,stopEvent:true})}return e.floatingButtons},repositionIfVisible:function(d){var b=this,a=b.view;if(d&&(d==b||!a.isDescendantOf(d))){return}if(b.isVisible()&&a.isVisible(true)){b.reposition()}},reposition:function(r){var s=this,c=s.context,e=c&&Ext.get(c.row),p=s.getFloatingButtons(),q=p.el,a=s.editingPlugin.grid,g=a.view.el,o=a.headerCt.getFullWidth(),t=a.getWidth(),l=Math.min(o,t),n=a.view.el.dom.scrollLeft,i=p.getWidth(),d=(l-i)/2+n,j,h,m,k=function(){q.scrollIntoView(g,false);if(r&&r.callback){r.callback.call(r.scope||s)}},b;if(e&&Ext.isElement(e.dom)){e.scrollIntoView(g,false);j=e.getXY()[1]-5;h=e.getHeight();m=h+(s.editingPlugin.grid.rowLines?9:10);if(s.getHeight()!=m){s.setHeight(m);s.el.setLeft(0)}if(r){b={to:{y:j},duration:r.duration||125,listeners:{afteranimate:function(){k();j=e.getXY()[1]-5}}};s.el.animate(b)}else{s.el.setY(j);k()}}if(s.getWidth()!=o){s.setWidth(o)}q.setLeft(d)},getEditor:function(a){var b=this;if(Ext.isNumber(a)){return b.query(">[isFormField]")[a]}else{if(a.isHeader&&!a.isGroupHeader){return a.getEditor()}}},removeField:function(b){var a=this;b=a.getEditor(b);a.mun(b,"validitychange",a.onValidityChange,a);a.columns.removeAtKey(b.id);Ext.destroy(b)},setField:function(b){var d=this,a,c,e;if(Ext.isArray(b)){c=b.length;for(a=0;adisplayfield");b=g.length;for(c=0;cg&&a":"",h=[],a=d.query(">[isFormField]"),c=a.length,b;function g(i){return"
  • "+i+"
  • "}for(b=0;b"+h.join("")+""},beforeDestroy:function(){Ext.destroy(this.floatingButtons,this.tooltip);this.callParent()}});Ext.define("Ext.grid.plugin.HeaderResizer",{extend:"Ext.AbstractPlugin",requires:["Ext.dd.DragTracker","Ext.util.Region"],alias:"plugin.gridheaderresizer",disabled:false,config:{dynamic:false},colHeaderCls:Ext.baseCSSPrefix+"column-header",minColWidth:40,maxColWidth:1000,wResizeCursor:"col-resize",eResizeCursor:"col-resize",init:function(a){this.headerCt=a;a.on("render",this.afterHeaderRender,this,{single:true})},destroy:function(){if(this.tracker){this.tracker.destroy()}},afterHeaderRender:function(){var b=this.headerCt,a=b.el;b.mon(a,"mousemove",this.onHeaderCtMouseMove,this);this.tracker=new Ext.dd.DragTracker({disabled:this.disabled,onBeforeStart:Ext.Function.bind(this.onBeforeStart,this),onStart:Ext.Function.bind(this.onStart,this),onDrag:Ext.Function.bind(this.onDrag,this),onEnd:Ext.Function.bind(this.onEnd,this),tolerance:3,autoStart:300,el:a})},onHeaderCtMouseMove:function(b,k){var d=this,a,i,j,g,c,h;if(d.headerCt.dragging){if(d.activeHd){d.activeHd.el.dom.style.cursor="";delete d.activeHd}}else{i=b.getTarget("."+d.colHeaderCls,3,true);if(i){j=Ext.getCmp(i.id);if(j.isOnLeftEdge(b)){g=j.previousNode("gridcolumn:not([hidden]):not([isGroupHeader])");if(g){h=d.headerCt.up("tablepanel");c=g.up("tablepanel");if(!((c===h)||((h.ownerCt.isXType("tablepanel"))&&h.ownerCt.view.lockedGrid===c))){g=null}}}else{if(j.isOnRightEdge(b)){g=j}else{g=null}}if(g){if(g.isGroupHeader){a=g.getGridColumns();g=a[a.length-1]}if(g&&!(g.fixed||(g.resizable===false)||d.disabled)){d.activeHd=g;j.el.dom.style.cursor=d.eResizeCursor}}else{j.el.dom.style.cursor="";delete d.activeHd}}}},onBeforeStart:function(b){var a=b.getTarget();this.dragHd=this.activeHd;if(!!this.dragHd&&!Ext.fly(a).hasCls(Ext.baseCSSPrefix+"column-header-trigger")&&!this.headerCt.dragging){this.tracker.constrainTo=this.getConstrainRegion();return true}else{this.headerCt.dragging=false;return false}},getConstrainRegion:function(){var c=this,a=c.dragHd.el,d=Ext.util.Region.getRegion(a),b;if(c.headerCt.forceFit){b=c.dragHd.nextNode("gridcolumn:not([hidden]):not([isGroupHeader])")}return d.adjust(0,c.headerCt.forceFit?(b?b.getWidth()-c.minColWidth:0):c.maxColWidth-a.getWidth(),0,c.minColWidth)},onStart:function(u){var v=this,h=v.dragHd,b=h.el,o=b.getWidth(),j=v.headerCt,l=u.getTarget(),d,r,g,k,c,n,a,i,s,q,p,m;if(v.dragHd&&!Ext.fly(l).hasCls(Ext.baseCSSPrefix+"column-header-trigger")){j.dragging=true}v.origWidth=o;if(!v.dynamic){d=b.getXY();r=j.up("[scrollerOwner]");g=v.dragHd.up(":not([isGroupHeader])");k=g.up();c=r.getLhsMarker();n=r.getRhsMarker();a=n.parent();i=a.getLocalX();s=a.getLocalY();q=a.translatePoints(d);p=k.body.getHeight()+j.getHeight();m=q.top-s;c.setTop(m);n.setTop(m);c.setHeight(p);n.setHeight(p);c.setLeft(q.left-i);n.setLeft(q.left+o-i)}},onDrag:function(h){if(!this.dynamic){var g=this.tracker.getXY("point"),a=this.headerCt.up("[scrollerOwner]"),i=a.getRhsMarker(),c=i.parent(),b=c.translatePoints(g),d=c.getLocalX();i.setLeft(b.left-d)}else{this.doResize()}},onEnd:function(g){this.headerCt.dragging=false;if(this.dragHd){if(!this.dynamic){var d=this.dragHd,b=this.headerCt.up("[scrollerOwner]"),c=b.getLhsMarker(),h=b.getRhsMarker(),a=-9999;c.setLeft(a);h.setLeft(a)}this.doResize()}},doResize:function(){if(this.dragHd){var b=this.dragHd,a,c=this.tracker.getOffset("point");if(b.flex){delete b.flex}Ext.suspendLayouts();b.setWidth(this.origWidth+c[0]);if(this.headerCt.forceFit){a=b.nextNode("gridcolumn:not([hidden]):not([isGroupHeader])");if(a){delete a.flex;a.setWidth(a.getWidth()-c[0])}}Ext.resumeLayouts(true)}},disable:function(){this.disabled=true;if(this.tracker){this.tracker.disable()}},enable:function(){this.disabled=false;if(this.tracker){this.tracker.enable()}}});Ext.define("Ext.grid.header.DragZone",{extend:"Ext.dd.DragZone",colHeaderCls:Ext.baseCSSPrefix+"column-header",maxProxyWidth:120,constructor:function(a){this.headerCt=a;this.ddGroup=this.getDDGroup();this.callParent([a.el]);this.proxy.el.addCls(Ext.baseCSSPrefix+"grid-col-dd")},getDDGroup:function(){return"header-dd-zone-"+this.headerCt.up("[scrollerOwner]").id},getDragData:function(b){var d=b.getTarget("."+this.colHeaderCls),a,c;if(d){a=Ext.getCmp(d.id);if(!this.headerCt.dragging&&a.draggable&&!(a.isOnLeftEdge(b)||a.isOnRightEdge(b))){c=document.createElement("div");c.innerHTML=Ext.getCmp(d.id).text;return{ddel:c,header:a}}}return false},onBeforeDrag:function(){return !(this.headerCt.dragging||this.disabled)},onInitDrag:function(){this.headerCt.dragging=true;this.callParent(arguments)},onDragDrop:function(){this.headerCt.dragging=false;this.callParent(arguments)},afterRepair:function(){this.callParent();this.headerCt.dragging=false},getRepairXY:function(){return this.dragData.header.el.getXY()},disable:function(){this.disabled=true},enable:function(){this.disabled=false}});Ext.define("Ext.grid.header.DropZone",{extend:"Ext.dd.DropZone",colHeaderCls:Ext.baseCSSPrefix+"column-header",proxyOffsets:[-4,-9],constructor:function(a){this.headerCt=a;this.ddGroup=this.getDDGroup();this.callParent([a.el])},getDDGroup:function(){return"header-dd-zone-"+this.headerCt.up("[scrollerOwner]").id},getTargetFromEvent:function(a){return a.getTarget("."+this.colHeaderCls)},getTopIndicator:function(){if(!this.topIndicator){this.topIndicator=Ext.DomHelper.append(Ext.getBody(),{cls:"col-move-top",html:" "},true)}return this.topIndicator},getBottomIndicator:function(){if(!this.bottomIndicator){this.bottomIndicator=Ext.DomHelper.append(Ext.getBody(),{cls:"col-move-bottom",html:" "},true)}return this.bottomIndicator},getLocation:function(d,b){var a=d.getXY()[0],c=Ext.fly(b).getRegion(),h,g;if((c.right-a)<=(c.right-c.left)/2){h="after"}else{h="before"}return{pos:h,header:Ext.getCmp(b.id),node:b}},positionIndicator:function(v,o,u){var a=this.getLocation(u,o),q=a.header,g=a.pos,d=v.nextSibling("gridcolumn:not([hidden])"),t=v.previousSibling("gridcolumn:not([hidden])"),l,r,s,b,c,k,m,x,w,n,j,p,h;if(!q.draggable&&q.getIndex()===0){return false}this.lastLocation=a;if((v!==q)&&((g==="before"&&d!==q)||(g==="after"&&t!==q))&&!q.isDescendantOf(v)){n=Ext.dd.DragDropManager.getRelated(this);j=n.length;p=0;for(;pl)){p-=1}Ext.suspendLayouts();if(t!==a){t.remove(q,false);if(t.isGroupHeader){if(!t.items.getCount()){c=t.ownerCt;c.remove(t,false);t.el.dom.parentNode.removeChild(t.el.dom)}}}if(t===a){a.move(l,p)}else{a.insert(p,q)}if(a.isGroupHeader){if(a!==t){q.savedFlex=q.flex;delete q.flex;q.width=q.getWidth()}}else{if(q.savedFlex){q.flex=q.savedFlex;delete q.width}}i.purgeCache();Ext.resumeLayouts(true);i.onHeaderMoved(q,m,b,s);if(!t.items.getCount()){t.destroy()}}}}}});Ext.define("Ext.grid.plugin.HeaderReorderer",{extend:"Ext.AbstractPlugin",requires:["Ext.grid.header.DragZone","Ext.grid.header.DropZone"],alias:"plugin.gridheaderreorderer",init:function(a){this.headerCt=a;a.on({render:this.onHeaderCtRender,single:true,scope:this})},destroy:function(){Ext.destroy(this.dragZone,this.dropZone)},onHeaderCtRender:function(){var a=this;a.dragZone=new Ext.grid.header.DragZone(a.headerCt);a.dropZone=new Ext.grid.header.DropZone(a.headerCt);if(a.disabled){a.dragZone.disable()}},enable:function(){this.disabled=false;if(this.dragZone){this.dragZone.enable()}},disable:function(){this.disabled=true;if(this.dragZone){this.dragZone.disable()}}});Ext.define("Ext.grid.header.Container",{extend:"Ext.container.Container",requires:["Ext.grid.ColumnLayout","Ext.grid.plugin.HeaderResizer","Ext.grid.plugin.HeaderReorderer"],uses:["Ext.grid.column.Column","Ext.menu.Menu","Ext.menu.CheckItem","Ext.menu.Separator"],border:true,alias:"widget.headercontainer",baseCls:Ext.baseCSSPrefix+"grid-header-ct",dock:"top",weight:100,defaultType:"gridcolumn",detachOnRemove:false,defaultWidth:100,sortAscText:"Sort Ascending",sortDescText:"Sort Descending",sortClearText:"Clear Sort",columnsText:"Columns",headerOpenCls:Ext.baseCSSPrefix+"column-header-open",triStateSort:false,ddLock:false,dragging:false,sortable:true,initComponent:function(){var a=this;a.headerCounter=0;a.plugins=a.plugins||[];if(!a.isHeader){if(a.enableColumnResize){a.resizer=new Ext.grid.plugin.HeaderResizer();a.plugins.push(a.resizer)}if(a.enableColumnMove){a.reorderer=new Ext.grid.plugin.HeaderReorderer();a.plugins.push(a.reorderer)}}if(a.isHeader&&!a.items){a.layout=a.layout||"auto"}else{a.layout=Ext.apply({type:"gridcolumn",align:"stretchmax"},a.initialConfig.layout)}a.defaults=a.defaults||{};Ext.applyIf(a.defaults,{triStateSort:a.triStateSort,sortable:a.sortable});a.menuTask=new Ext.util.DelayedTask(a.updateMenuDisabledState,a);a.callParent();a.addEvents("columnresize","headerclick","headertriggerclick","columnmove","columnhide","columnshow","sortchange","menucreate")},onDestroy:function(){var a=this;a.menuTask.cancel();Ext.destroy(a.resizer,a.reorderer);a.callParent()},applyColumnsState:function(e){if(!e||!e.length){return}var m=this,k=m.items.items,j=k.length,g=0,b=e.length,l,d,a,h;for(l=0;lgridcolumn[hideable]"),h=a.length,d;for(;b{text}
    {%this.renderContainer(out,values)%}',dataIndex:null,text:" ",menuText:null,emptyCellText:" ",sortable:true,resizable:true,hideable:true,menuDisabled:false,renderer:false,editRenderer:false,align:"left",draggable:true,tooltipType:"qtip",initDraggable:Ext.emptyFn,isHeader:true,componentLayout:"columncomponent",initResizable:Ext.emptyFn,initComponent:function(){var a=this,b;if(Ext.isDefined(a.header)){a.text=a.header;delete a.header}if(!a.triStateSort){a.possibleSortStates.length=2}if(Ext.isDefined(a.columns)){a.isGroupHeader=true;a.items=a.columns;delete a.columns;delete a.flex;delete a.width;a.cls=(a.cls||"")+" "+Ext.baseCSSPrefix+"group-header";a.sortable=false;a.resizable=false;a.align="center"}else{a.isContainer=false;if(a.flex){a.minWidth=a.minWidth||Ext.grid.plugin.HeaderResizer.prototype.minColWidth}}a.addCls(Ext.baseCSSPrefix+"column-header-align-"+a.align);b=a.renderer;if(b){if(typeof b=="string"){a.renderer=Ext.util.Format[b]}a.hasCustomRenderer=true}else{if(a.defaultRenderer){a.scope=a;a.renderer=a.defaultRenderer}}a.callParent(arguments);a.on({element:"el",click:a.onElClick,dblclick:a.onElDblClick,scope:a});a.on({element:"titleEl",mouseenter:a.onTitleMouseOver,mouseleave:a.onTitleMouseOut,scope:a})},onAdd:function(a){a.isSubHeader=true;a.addCls(Ext.baseCSSPrefix+"group-sub-header");this.callParent(arguments)},onRemove:function(a){a.isSubHeader=false;a.removeCls(Ext.baseCSSPrefix+"group-sub-header");this.callParent(arguments)},initRenderData:function(){var b=this,d="",c=b.tooltip,a=b.tooltipType=="qtip"?"data-qtip":"title";if(!Ext.isEmpty(c)){d=a+'="'+c+'" '}return Ext.applyIf(b.callParent(arguments),{text:b.text,menuDisabled:b.menuDisabled,tipMarkup:d})},applyColumnState:function(b){var a=this,c=Ext.isDefined;a.applyColumnsState(b.columns);if(c(b.hidden)){a.hidden=b.hidden}if(c(b.locked)){a.locked=b.locked}if(c(b.sortable)){a.sortable=b.sortable}if(c(b.width)){delete a.flex;a.width=b.width}else{if(c(b.flex)){delete a.width;a.flex=b.flex}}},getColumnState:function(){var e=this,b=e.items.items,a=b?b.length:0,d,c=[],g={id:e.getStateId()};e.savePropsToState(["hidden","sortable","locked","flex","width"],g);if(e.isGroupHeader){for(d=0;d:not([hidden])");if(h.length===1&&h[0]==j){j.ownerCt.hide();return}}Ext.suspendLayouts();if(j.isGroupHeader){h=j.items.items;for(d=0,g=h.length;d*");for(e=0,a=c.length;e
    ',indicatorCls:Ext.baseCSSPrefix+"grid-drop-indicator",constructor:function(a){var b=this;Ext.apply(b,a);if(!b.ddGroup){b.ddGroup="view-dd-zone-"+b.view.id}b.callParent([b.view.el])},fireViewEvent:function(){var b=this,a;b.lock();a=b.view.fireEvent.apply(b.view,arguments);b.unlock();return a},getTargetFromEvent:function(k){var j=k.getTarget(this.view.getItemSelector()),d,c,b,g,a,h;if(!j){d=k.getPageY();for(g=0,c=this.view.getNodes(),a=c.length;g=(b.bottom-b.top)/2){d="before"}else{d="after"}return d},containsRecordAtOffset:function(d,b,g){if(!b){return false}var a=this.view,c=a.indexOf(b),e=a.getNode(c+g),h=e?a.getRecord(e):null;return h&&Ext.Array.contains(d,h)},positionIndicator:function(b,c,d){var g=this,i=g.view,h=g.getPosition(d,b),k=i.getRecord(b),a=c.records,j;if(!Ext.Array.contains(a,k)&&(h=="before"&&!g.containsRecordAtOffset(a,k,-1)||h=="after"&&!g.containsRecordAtOffset(a,k,1))){g.valid=true;if(g.overRecord!=k||g.currentPosition!=h){j=Ext.fly(b).getY()-i.el.getY()-1;if(h=="after"){j+=Ext.fly(b).getHeight()}g.getIndicator().setWidth(Ext.fly(i.el).getWidth()).showAt(0,j);g.overRecord=k;g.currentPosition=h}}else{g.invalidateDrop()}},invalidateDrop:function(){if(this.valid){this.valid=false;this.getIndicator().hide()}},onNodeOver:function(c,a,g,d){var b=this;if(!Ext.Array.contains(d.records,b.view.getRecord(c))){b.positionIndicator(c,d,g)}return b.valid?b.dropAllowed:b.dropNotAllowed},notifyOut:function(c,a,g,d){var b=this;b.callParent(arguments);delete b.overRecord;delete b.currentPosition;if(b.indicator){b.indicator.hide()}},onContainerOver:function(a,h,g){var d=this,b=d.view,c=b.store.getCount();if(c){d.positionIndicator(b.getNode(c-1),g,h)}else{delete d.overRecord;delete d.currentPosition;d.getIndicator().setWidth(Ext.fly(b.el).getWidth()).showAt(0,0);d.valid=true}return d.dropAllowed},onContainerDrop:function(a,c,b){return this.onNodeDrop(a,null,c,b)},onNodeDrop:function(g,a,i,h){var d=this,c=false,b={wait:false,processDrop:function(){d.invalidateDrop();d.handleNodeDrop(h,d.overRecord,d.currentPosition);c=true;d.fireViewEvent("drop",g,h,d.overRecord,d.currentPosition)},cancelDrop:function(){d.invalidateDrop();c=true}},j=false;if(d.valid){j=d.fireViewEvent("beforedrop",g,h,d.overRecord,d.currentPosition,b);if(b.wait){return}if(j!==false){if(!c){b.processDrop()}}}return j},destroy:function(){Ext.destroy(this.indicator);delete this.indicator;this.callParent()}});Ext.define("Ext.grid.ViewDropZone",{extend:"Ext.view.DropZone",indicatorHtml:'
    ',indicatorCls:Ext.baseCSSPrefix+"grid-drop-indicator",handleNodeDrop:function(b,d,e){var j=this.view,k=j.getStore(),h,a,c,g;if(b.copy){a=b.records;b.records=[];for(c=0,g=a.length;cActions",sortable:false,constructor:function(d){var g=this,b=Ext.apply({},d),c=b.items||[g],h,e,a;g.origRenderer=b.renderer||g.renderer;g.origScope=b.scope||g.scope;delete g.renderer;delete g.scope;delete b.renderer;delete b.scope;delete b.items;g.callParent([b]);g.items=c;for(e=0,a=c.length;e"}return g},enableAction:function(b,a){var c=this;if(!b){b=0}else{if(!Ext.isNumber(b)){b=Ext.Array.indexOf(c.items,b)}}c.items[b].disabled=false;c.up("tablepanel").el.select("."+Ext.baseCSSPrefix+"action-col-"+b).removeCls(c.disabledCls);if(!a){c.fireEvent("enable",c)}},disableAction:function(b,a){var c=this;if(!b){b=0}else{if(!Ext.isNumber(b)){b=Ext.Array.indexOf(c.items,b)}}c.items[b].disabled=true;c.up("tablepanel").el.select("."+Ext.baseCSSPrefix+"action-col-"+b).addCls(c.disabledCls);if(!a){c.fireEvent("disable",c)}},destroy:function(){delete this.items;delete this.renderer;return this.callParent(arguments)},processEvent:function(i,l,n,a,j,g,c,p){var h=this,d=g.getTarget(),b,o,k,m=i=="keydown"&&g.getKey();if(m&&!Ext.fly(d).findParent(l.cellSelector)){d=Ext.fly(n).down("."+Ext.baseCSSPrefix+"action-col-icon",true)}if(d&&(b=d.className.match(h.actionIdRe))){o=h.items[parseInt(b[1],10)];if(o){if(i=="click"||(m==g.ENTER||m==g.SPACE)){k=o.handler||h.handler;if(k&&!o.disabled){k.call(o.scope||h.origScope||h,l,a,j,o,g,c,p)}}else{if(i=="mousedown"&&o.stopSelection!==false){return false}}}}return h.callParent(arguments)},cascade:function(b,a){b.call(a||this,this)},getRefItems:function(){return[]}});Ext.define("Ext.grid.column.Boolean",{extend:"Ext.grid.column.Column",alias:["widget.booleancolumn"],alternateClassName:"Ext.grid.BooleanColumn",trueText:"true",falseText:"false",undefinedText:" ",defaultRenderer:function(a){if(a===undefined){return this.undefinedText}if(!a||a==="false"){return this.falseText}return this.trueText}});Ext.define("Ext.grid.column.Date",{extend:"Ext.grid.column.Column",alias:["widget.datecolumn"],requires:["Ext.Date"],alternateClassName:"Ext.grid.DateColumn",initComponent:function(){if(!this.format){this.format=Ext.Date.defaultFormat}this.callParent(arguments)},defaultRenderer:function(a){return Ext.util.Format.date(a,this.format)}});Ext.define("Ext.grid.column.Number",{extend:"Ext.grid.column.Column",alias:["widget.numbercolumn"],requires:["Ext.util.Format"],alternateClassName:"Ext.grid.NumberColumn",format:"0,000.00",defaultRenderer:function(a){return Ext.util.Format.number(a,this.format)}});Ext.define("Ext.grid.column.Template",{extend:"Ext.grid.column.Column",alias:["widget.templatecolumn"],requires:["Ext.XTemplate"],alternateClassName:"Ext.grid.TemplateColumn",initComponent:function(){var a=this;a.tpl=(!Ext.isPrimitive(a.tpl)&&a.tpl.compile)?a.tpl:new Ext.XTemplate(a.tpl);a.hasCustomRenderer=true;a.callParent(arguments)},defaultRenderer:function(c,d,a){var b=Ext.apply({},a.data,a.getAssociatedData());return this.tpl.apply(b)}});Ext.define("Ext.grid.feature.Feature",{extend:"Ext.util.Observable",alias:"feature.feature",isFeature:true,disabled:false,hasFeatureEvent:true,eventPrefix:null,eventSelector:null,view:null,grid:null,collectData:false,constructor:function(a){this.initialConfig=a;this.callParent(arguments)},clone:function(){return new this.self(this.initialConfig)},init:Ext.emptyFn,getFeatureTpl:function(){return""},getFireEventArgs:function(b,a,c,d){return[b,a,c,d]},attachEvents:function(){},getFragmentTpl:Ext.emptyFn,mutateMetaRowTpl:Ext.emptyFn,getMetaRowTplFragments:function(){return{}},getTableFragments:function(){return{}},getAdditionalData:function(c,a,b,d){return{}},enable:function(){this.disabled=false},disable:function(){this.disabled=true}});Ext.define("Ext.grid.feature.AbstractSummary",{extend:"Ext.grid.feature.Feature",alias:"feature.abstractsummary",showSummaryRow:true,nestedIdRe:/\{\{id\}([\w\-]*)\}/g,init:function(){var a=this;a.grid.optimizedColumnMove=false;a.view.mon(a.view.store,{update:a.onStoreUpdate,scope:a})},onStoreUpdate:function(){var a=this.view;if(this.showSummaryRow){a.saveScrollState();a.refresh();a.restoreScrollState()}},toggleSummaryRow:function(a){this.showSummaryRow=!!a},getSummaryFragments:function(){var a={};if(this.showSummaryRow){Ext.apply(a,{printSummaryRow:Ext.bind(this.printSummaryRow,this)})}return a},printSummaryRow:function(b){var a=this.view.getTableChunker().metaRowTpl.join(""),c=Ext.baseCSSPrefix;a=a.replace(c+"grid-row",c+"grid-row-summary");a=a.replace("{{id}}","{gridSummaryValue}");a=a.replace(this.nestedIdRe,"{id$1}");a=a.replace("{[this.embedRowCls()]}","{rowCls}");a=a.replace("{[this.embedRowAttr()]}","{rowAttr}");a=new Ext.XTemplate(a,{firstOrLastCls:Ext.view.TableChunker.firstOrLastCls});return a.applyTemplate({columns:this.getPrintData(b)})},getColumnValue:function(c,a){var b=Ext.getCmp(c.id),e=a[c.id],d=b.summaryRenderer;if(!e&&e!==0){e="\u00a0"}if(d){e=d.call(b.scope||this,e,a,c.dataIndex)}return e},getSummary:function(a,b,d,c){if(b){if(Ext.isFunction(b)){return a.aggregate(b,null,c)}switch(b){case"count":return a.count(c);case"min":return a.min(d,c);case"max":return a.max(d,c);case"sum":return a.sum(d,c);case"average":return a.average(d,c);default:return c?{}:""}}}});Ext.define("Ext.grid.feature.Chunking",{extend:"Ext.grid.feature.Feature",alias:"feature.chunking",chunkSize:20,rowHeight:Ext.isIE?27:26,visibleChunk:0,hasFeatureEvent:false,attachEvents:function(){this.view.el.on("scroll",this.onBodyScroll,this,{buffer:300})},onBodyScroll:function(g,c){var b=this.view,d=c.scrollTop,a=Math.floor(d/this.rowHeight/this.chunkSize);if(a!==this.visibleChunk){this.visibleChunk=a;b.refresh();b.el.dom.scrollTop=d;b.el.dom.scrollTop=d}},collectData:function(d,m,l,k,c){var j=this,e=c.rows.length,b=0,g=0,a=j.visibleChunk,p,n,h=c.rows;delete c.rows;c.chunks=[];for(;be){n=e-b}else{n=j.chunkSize}if(g>=a-1&&g<=a+1){p=h.slice(b,b+j.chunkSize)}else{p=[]}c.chunks.push({rows:p,fullWidth:k,chunkHeight:n*j.rowHeight})}return c},getTableFragments:function(){return{openTableWrap:function(){return'
    '},closeTableWrap:function(){return"
    "}}}});Ext.define("Ext.grid.feature.Grouping",{extend:"Ext.grid.feature.Feature",alias:"feature.grouping",eventPrefix:"group",eventSelector:"."+Ext.baseCSSPrefix+"grid-group-hd",bodySelector:"."+Ext.baseCSSPrefix+"grid-group-body",constructor:function(){var a=this;a.collapsedState={};a.callParent(arguments)},groupHeaderTpl:"{columnName}: {name}",depthToIndent:17,collapsedCls:Ext.baseCSSPrefix+"grid-group-collapsed",hdCollapsedCls:Ext.baseCSSPrefix+"grid-group-hd-collapsed",hdCollapsibleCls:Ext.baseCSSPrefix+"grid-group-hd-collapsible",groupByText:"Group by this field",showGroupsText:"Show in groups",hideGroupedHeader:false,startCollapsed:false,enableGroupingMenu:true,enableNoGroups:true,collapsible:true,enable:function(){var c=this,a=c.view,b=a.store,d;c.lastGroupField=c.getGroupField();if(c.lastGroupIndex){c.block();b.group(c.lastGroupIndex);c.unblock()}c.callParent();d=c.view.headerCt.getMenu().down("#groupToggleMenuItem");d.setChecked(true,true);c.refreshIf()},disable:function(){var d=this,a=d.view,b=a.store,g=b.remoteGroup,e,c;c=b.groupers.first();if(c){d.lastGroupIndex=c.property;d.block();b.clearGrouping();d.unblock()}d.callParent();e=d.view.headerCt.getMenu().down("#groupToggleMenuItem");e.setChecked(true,true);e.setChecked(false,true);d.refreshIf()},refreshIf:function(){var b=this.grid.ownerCt,a=this.view;if(!a.store.remoteGroup&&!this.blockRefresh){if(b&&b.lockable){b.view.refresh()}else{a.refresh()}}},getFeatureTpl:function(b,c,a,d){return["",'
    {collapsed}{[this.renderGroupHeaderTpl(values, parent)]}
    ','{[this.recurse(values)]}',"
    "].join("")},getFragmentTpl:function(){var a=this;return{indentByDepth:a.indentByDepth,depthToIndent:a.depthToIndent,renderGroupHeaderTpl:function(b,c){return Ext.XTemplate.getTpl(a,"groupHeaderTpl").apply(b,c)}}},indentByDepth:function(a){return'style="padding-left:'+((a.depth||0)*this.depthToIndent)+'px;"'},destroy:function(){delete this.view;delete this.prunedHeader},attachEvents:function(){var b=this,a=b.view;a.on({scope:b,groupclick:b.onGroupClick,rowfocus:b.onRowFocus});a.mon(a.store,{scope:b,groupchange:b.onGroupChange,remove:b.onRemove,add:b.onAdd,update:b.onUpdate});if(b.enableGroupingMenu){b.injectGroupingMenu()}b.pruneGroupedHeader();b.lastGroupField=b.getGroupField();b.block();b.onGroupChange();b.unblock()},onAdd:function(l,c){var j=this,k=j.view,a=j.getGroupField(),g=0,h=c.length,n,d,b,e,m;if(k.rendered){d={};n={};for(;g"},closeRow:function(){return""},mutateMetaRowTpl:function(a){a.unshift("{[this.isRow()]}");a.push("{[this.closeRow()]}")},getAdditionalData:function(e,j,g,i){var h=this.view,d=h.headerCt,c=d.items.getAt(0),b={},a;if(c){a=c.id+"-tdAttr";b[a]=this.indentByDepth(e)+" "+(i[a]?i[a]:"");b.collapsed="true";b.data=g.getData()}return b},getGroupRows:function(m,d,n,k){var i=this,c=m.children,o=m.rows=[],j=i.view,g=i.getGroupedHeader(),b=i.getGroupField(),h=-1,a,l=d.length,e;if(j.store.buffered){i.collapsible=false}m.viewId=j.id;for(a=0;a-1){m.name=m.renderedValue=n[h][g.id]}if(i.collapsedState[m.name]){m.collapsedCls=i.collapsedCls;m.hdCollapsedCls=i.hdCollapsedCls}else{m.collapsedCls=m.hdCollapsedCls=""}if(i.collapsible){m.collapsibleClass=i.hdCollapsibleCls}else{m.collapsibleClass=""}return m},getGroupHeaderId:function(a){return this.view.id+"-hd-"+a},getGroupBodyId:function(a){return this.view.id+"-bd-"+a},getGroupName:function(a){var b=this,c;c=Ext.fly(a).findParent(b.eventSelector);if(c){return c.id.split(this.view.id+"-hd-")[1]}c=Ext.fly(a).findParent(b.bodySelector);if(c){return c.id.split(this.view.id+"-bd-")[1]}},collectData:function(c,p,n,k,a){var h=this,l=h.view.store,j=h.collapsedState,e,d,b,i,m;if(h.startCollapsed){h.startCollapsed=false;e=true}if(!h.disabled&&l.isGrouped()){a.rows=b=l.getGroups();i=b.length;for(d=0;d","");a+="{[this.printSummaryRow(xindex)]}"}return a},getFragmentTpl:function(){var b=this,a=b.callParent();Ext.apply(a,b.getSummaryFragments());if(b.showSummaryRow){b.summaryGroups=b.view.store.getGroups();b.summaryData=b.generateSummaryData()}return a},getPrintData:function(j){var k=this,e=k.view.headerCt.getColumnsForTpl(),h=0,b=e.length,g=[],a=k.summaryGroups[j-1].name,d=k.summaryData[a],c;for(;h','','
    {rowBody}
    ',"",""].join("")},getMetaRowTplFragments:function(){return{getRowBody:this.getRowBody,rowBodyTrCls:this.rowBodyTrCls,rowBodyTdCls:this.rowBodyTdCls,rowBodyDivCls:this.rowBodyDivCls}},mutateMetaRowTpl:function(a){a.push("{[this.getRowBody(values)]}")},getAdditionalData:function(c,a,b,g){var d=this.view.headerCt,e=d.getColumnCount();return{rowBody:"",rowBodyCls:this.rowBodyCls,rowBodyColspan:e}}});Ext.define("Ext.grid.feature.RowWrap",{extend:"Ext.grid.feature.Feature",alias:"feature.rowwrap",hasFeatureEvent:false,init:function(){if(!this.disabled){this.enable()}},getRowSelector:function(){return"tr:has(> "+this.view.cellSelector+")"},enable:function(){var b=this,a=b.view;b.callParent();b.savedRowSelector=a.rowSelector;a.rowSelector=b.getRowSelector();a.getComponentLayout().getColumnSelector=b.getColumnSelector},disable:function(){var c=this,a=c.view,b=c.savedRowSelector;c.callParent();if(b){a.rowSelector=b}delete c.savedRowSelector},mutateMetaRowTpl:function(a){var b=Ext.baseCSSPrefix;a[0]=a[0].replace(b+"grid-row","");a[0]=a[0].replace("{[this.embedRowCls()]}","");a.unshift('');a.unshift('
    ');a.push("
    ");a.push("")},embedColSpan:function(){return"{colspan}"},embedFullWidth:function(){return"{fullWidth}"},getAdditionalData:function(h,p,k,m){var d=this.view.headerCt,c=d.getColumnCount(),n=d.getFullWidth(),l=d.query("gridcolumn"),q=l.length,g=0,b={colspan:c,fullWidth:n},a,j,e;for(;g{[this.printSummaryRow()]}"},getPrintData:function(a){var g=this,c=g.view.headerCt.getColumnsForTpl(),b=0,e=c.length,h=[],j=g.summaryData,d;for(;bc?1:0))}},setColumnField:function(b,d){var c=this,a=c.getEditor();a.removeField(b);c.callParent(arguments);c.getEditor().setField(b)}});Ext.define("Ext.grid.property.Grid",{extend:"Ext.grid.Panel",alias:"widget.propertygrid",alternateClassName:"Ext.grid.PropertyGrid",uses:["Ext.grid.plugin.CellEditing","Ext.grid.property.Store","Ext.grid.property.HeaderContainer","Ext.XTemplate","Ext.grid.CellEditor","Ext.form.field.Date","Ext.form.field.Text","Ext.form.field.Number","Ext.form.field.ComboBox"],valueField:"value",nameField:"name",enableColumnMove:false,columnLines:true,stripeRows:false,trackMouseOver:false,clicksToEdit:1,enableHdMenu:false,initComponent:function(){var a=this;a.addCls(Ext.baseCSSPrefix+"property-grid");a.plugins=a.plugins||[];a.plugins.push(new Ext.grid.plugin.CellEditing({clicksToEdit:a.clicksToEdit,startEdit:function(b,c){return this.self.prototype.startEdit.call(this,b,a.headerCt.child("#"+a.valueField))}}));a.selModel={selType:"cellmodel",onCellSelect:function(b){if(b.column!=1){b.column=1}return this.self.prototype.onCellSelect.call(this,b)}};a.customRenderers=a.customRenderers||{};a.customEditors=a.customEditors||{};if(!a.store){a.propStore=a.store=new Ext.grid.property.Store(a,a.source)}if(a.sortableColumns){a.store.sort("name","ASC")}a.columns=new Ext.grid.property.HeaderContainer(a,a.store);a.addEvents("beforepropertychange","propertychange");a.callParent();a.getView().walkCells=this.walkCells;a.editors={date:new Ext.grid.CellEditor({field:new Ext.form.field.Date({selectOnFocus:true})}),string:new Ext.grid.CellEditor({field:new Ext.form.field.Text({selectOnFocus:true})}),number:new Ext.grid.CellEditor({field:new Ext.form.field.Number({selectOnFocus:true})}),"boolean":new Ext.grid.CellEditor({field:new Ext.form.field.ComboBox({editable:false,store:[[true,a.headerCt.trueText],[false,a.headerCt.falseText]]})})};a.store.on("update",a.onUpdate,a)},onUpdate:function(d,a,c){var g=this,b,e;if(g.rendered&&c==Ext.data.Model.EDIT){b=a.get(g.valueField);e=a.modified.value;if(g.fireEvent("beforepropertychange",g.source,a.getId(),b,e)!==false){if(g.source){g.source[a.getId()]=b}a.commit();g.fireEvent("propertychange",g.source,a.getId(),b,e)}else{a.reject()}}},walkCells:function(h,g,d,c,a,b){if(g=="left"){g="up"}else{if(g=="right"){g="down"}}h=Ext.view.Table.prototype.walkCells.call(this,h,g,d,c,a,b);if(!h.column){h.column=1}return h},getCellEditor:function(a,c){var d=this,e=a.get(d.nameField),g=a.get(d.valueField),b=d.customEditors[e];if(b){if(!(b instanceof Ext.grid.CellEditor)){if(!(b instanceof Ext.form.field.Base)){b=Ext.ComponentManager.create(b,"textfield")}b=d.customEditors[e]=new Ext.grid.CellEditor({field:b})}}else{if(Ext.isDate(g)){b=d.editors.date}else{if(Ext.isNumber(g)){b=d.editors.number}else{if(Ext.isBoolean(g)){b=d.editors["boolean"]}else{b=d.editors.string}}}}b.editorId=e;return b},beforeDestroy:function(){var a=this;a.callParent();a.destroyEditors(a.editors);a.destroyEditors(a.customEditors);delete a.source},destroyEditors:function(b){for(var a in b){if(b.hasOwnProperty(a)){Ext.destroy(b[a])}}},setSource:function(a){this.source=a;this.propStore.setSource(a)},getSource:function(){return this.propStore.getSource()},setProperty:function(c,b,a){this.propStore.setValue(c,b,a)},removeProperty:function(a){this.propStore.remove(a)}});Ext.define("Ext.grid.property.HeaderContainer",{extend:"Ext.grid.header.Container",alternateClassName:"Ext.grid.PropertyColumnModel",nameWidth:115,nameText:"Name",valueText:"Value",dateFormat:"m/j/Y",trueText:"true",falseText:"false",nameColumnCls:Ext.baseCSSPrefix+"grid-property-name",constructor:function(b,a){var c=this;c.grid=b;c.store=a;c.callParent([{items:[{header:c.nameText,width:b.nameColumnWidth||c.nameWidth,sortable:b.sortableColumns,dataIndex:b.nameField,renderer:Ext.Function.bind(c.renderProp,c),itemId:b.nameField,menuDisabled:true,tdCls:c.nameColumnCls},{header:c.valueText,renderer:Ext.Function.bind(c.renderCell,c),getEditor:Ext.Function.bind(c.getCellEditor,c),sortable:b.sortableColumns,flex:1,fixed:true,dataIndex:b.valueField,itemId:b.valueField,menuDisabled:true}]}])},getCellEditor:function(a){return this.grid.getCellEditor(a,this)},renderProp:function(a){return this.getPropertyName(a)},renderCell:function(g,d,e){var b=this,c=b.grid.customRenderers[e.get(b.grid.nameField)],a=g;if(c){return c.apply(b,arguments)}if(Ext.isDate(g)){a=b.renderDate(g)}else{if(Ext.isBoolean(g)){a=b.renderBool(g)}}return Ext.util.Format.htmlEncode(a)},renderDate:Ext.util.Format.date,renderBool:function(a){return this[a?"trueText":"falseText"]},getPropertyName:function(b){var a=this.grid.propertyNames;return a&&a[b]?a[b]:b}});Ext.define("Ext.grid.property.Property",{extend:"Ext.data.Model",alternateClassName:"Ext.PropGridProperty",fields:[{name:"name",type:"string"},{name:"value"}],idProperty:"name"});Ext.define("Ext.grid.property.Store",{extend:"Ext.data.Store",alternateClassName:"Ext.grid.PropertyStore",sortOnLoad:false,uses:["Ext.data.reader.Reader","Ext.data.proxy.Proxy","Ext.data.ResultSet","Ext.grid.property.Property"],constructor:function(a,c){var b=this;b.grid=a;b.source=c;b.callParent([{data:c,model:Ext.grid.property.Property,proxy:b.getProxy()}])},getProxy:function(){if(!this.proxy){Ext.grid.property.Store.prototype.proxy=new Ext.data.proxy.Memory({model:Ext.grid.property.Property,reader:this.getReader()})}return this.proxy},getReader:function(){if(!this.reader){Ext.grid.property.Store.prototype.reader=new Ext.data.reader.Reader({model:Ext.grid.property.Property,buildExtractors:Ext.emptyFn,read:function(a){return this.readRecords(a)},readRecords:function(b){var d,c,a={records:[],success:true};for(c in b){if(b.hasOwnProperty(c)){d=b[c];if(this.isEditableValue(d)){a.records.push(new Ext.grid.property.Property({name:c,value:d},c))}}}a.total=a.count=a.records.length;return new Ext.data.ResultSet(a)},isEditableValue:function(a){return Ext.isPrimitive(a)||Ext.isDate(a)}})}return this.reader},setSource:function(a){var b=this;b.source=a;b.suspendEvents();b.removeAll();b.proxy.data=a;b.load();b.resumeEvents();b.fireEvent("datachanged",b);b.fireEvent("refresh",b)},getProperty:function(a){return Ext.isNumber(a)?this.getAt(a):this.getById(a)},setValue:function(e,c,a){var b=this,d=b.getRec(e);if(d){d.set("value",c);b.source[e]=c}else{if(a){b.source[e]=c;d=new Ext.grid.property.Property({name:e,value:c},e);b.add(d)}}},remove:function(b){var a=this.getRec(b);if(a){this.callParent([a]);delete this.source[b]}},getRec:function(a){return this.getById(a)},getSource:function(){return this.source}});Ext.define("Ext.layout.ClassList",(function(){var b=Ext.String.splitWords,a=Ext.Array.toMap;return{dirty:false,constructor:function(c){this.owner=c;this.map=a(this.classes=b(c.el.className))},add:function(c){var d=this;if(!d.map[c]){d.map[c]=true;d.classes.push(c);if(!d.dirty){d.dirty=true;d.owner.markDirty()}}},addMany:function(c){Ext.each(b(c),this.add,this)},contains:function(c){return this.map[c]},flush:function(){this.owner.el.className=this.classes.join(" ");this.dirty=false},remove:function(c){var d=this;if(d.map[c]){delete d.map[c];d.classes=Ext.Array.filter(d.classes,function(e){return e!=c});if(!d.dirty){d.dirty=true;d.owner.markDirty()}}},removeMany:function(d){var e=this,c=a(b(d));e.classes=Ext.Array.filter(e.classes,function(g){if(!c[g]){return true}delete e.map[g];if(!e.dirty){e.dirty=true;e.owner.markDirty()}return false})}}}()));Ext.define("Ext.util.Queue",{constructor:function(){this.clear()},add:function(c){var b=this,a=b.getKey(c);if(!b.map[a]){++b.length;b.items.push(c);b.map[a]=c}return c},clear:function(){var b=this,a=b.items;b.items=[];b.map={};b.length=0;return a},contains:function(b){var a=this.getKey(b);return this.map.hasOwnProperty(a)},getCount:function(){return this.length},getKey:function(a){return a.id},remove:function(e){var d=this,c=d.getKey(e),a=d.items,b;if(d.map[c]){b=Ext.Array.indexOf(a,e);Ext.Array.erase(a,b,1);delete d.map[c];--d.length}return e}});Ext.define("Ext.layout.ContextItem",{requires:["Ext.layout.ClassList"],heightModel:null,widthModel:null,sizeModel:null,boxChildren:null,boxParent:null,children:[],dirty:null,dirtyCount:0,hasRawContent:true,isContextItem:true,isTopLevel:false,consumersContentHeight:0,consumersContentWidth:0,consumersContainerHeight:0,consumersContainerWidth:0,consumersHeight:0,consumersWidth:0,ownerCtContext:null,remainingChildLayouts:0,remainingComponentChildLayouts:0,remainingContainerChildLayouts:0,props:null,state:null,wrapsComponent:false,constructor:function(b){var g=this,e,d,a,c,h;Ext.apply(g,b);e=g.el;g.id=e.id;g.lastBox=e.lastBox;g.flushedProps={};g.props={};g.styles={};h=g.target;if(h.isComponent){g.wrapsComponent=true;d=h.ownerCt;if(d&&(a=g.context.items[d.el.id])){g.ownerCtContext=a}g.sizeModel=c=h.getSizeModel(a&&a.widthModel.pairsByHeightOrdinal[a.heightModel.ordinal]);g.widthModel=c.width;g.heightModel=c.height}},init:function(j,c){var s=this,a=s.props,d=s.dirty,l=s.ownerCtContext,p=s.target.ownerLayout,h=!s.state,t=j||h,e,o,m,q,b,u,v=s.heightModel,g=s.widthModel,k,r;s.dirty=s.invalid=false;s.props={};if(s.boxChildren){s.boxChildren.length=0}if(!h){s.clearAllBlocks("blocks");s.clearAllBlocks("domBlocks")}if(!s.wrapsComponent){return t}u=s.target;s.state={};if(h){if(u.beforeLayout){u.beforeLayout()}if(!l&&(q=u.ownerCt)){l=s.context.items[q.el.id]}if(l){s.ownerCtContext=l;s.isBoxParent=u.ownerLayout.isItemBoxParent(s)}else{s.isTopLevel=true}s.frameBodyContext=s.getEl("frameBody")}else{l=s.ownerCtContext;s.isTopLevel=!l;e=s.children;for(o=0,m=e.length;o0);if(j){s.widthModel=s.heightModel=null;b=u.getSizeModel(l&&l.widthModel.pairsByHeightOrdinal[l.heightModel.ordinal]);if(h){s.sizeModel=b}s.widthModel=b.width;s.heightModel=b.height}else{if(a){s.recoverProp("x",a,d);s.recoverProp("y",a,d);if(s.widthModel.calculated){s.recoverProp("width",a,d)}if(s.heightModel.calculated){s.recoverProp("height",a,d)}}}if(a&&p&&p.manageMargins){s.recoverProp("margin-top",a,d);s.recoverProp("margin-right",a,d);s.recoverProp("margin-bottom",a,d);s.recoverProp("margin-left",a,d)}if(c){k=c.heightModel;r=c.widthModel;if(r&&k&&g&&v){if(g.shrinkWrap&&v.shrinkWrap){if(r.constrainedMax&&k.constrainedMin){k=null}}}if(r){s.widthModel=r}if(k){s.heightModel=k}if(c.state){Ext.apply(s.state,c.state)}}return t},initContinue:function(d){var e=this,c=e.ownerCtContext,b=e.widthModel,a;if(d){if(c&&b.shrinkWrap){a=c.isBoxParent?c:c.boxParent;if(a){a.addBoxChild(e)}}else{if(b.natural){e.boxParent=c}}}return d},initDone:function(b,g,a,h){var d=this,c=d.props,e=d.state;if(g){c.componentChildrenDone=true}if(a){c.containerChildrenDone=true}if(h){c.containerLayoutDone=true}if(d.boxChildren&&d.boxChildren.length&&d.widthModel.shrinkWrap){d.el.setWidth(10000);e.blocks=(e.blocks||0)+1}},initAnimation:function(){var b=this,c=b.target,a=b.ownerCtContext;if(a&&a.isTopLevel){b.animatePolicy=c.ownerLayout.getAnimatePolicy(b)}else{if(!a&&c.isCollapsingOrExpanding&&c.animCollapse){b.animatePolicy=c.componentLayout.getAnimatePolicy(b)}}if(b.animatePolicy){b.context.queueAnimation(b)}},noFraming:{left:0,top:0,right:0,bottom:0,width:0,height:0},addCls:function(a){this.getClassList().addMany(a)},removeCls:function(a){this.getClassList().removeMany(a)},addBlock:function(b,d,e){var c=this,g=c[b]||(c[b]={}),a=g[e]||(g[e]={});if(!a[d.id]){a[d.id]=d;++d.blockCount;++c.context.blockCount}},addBoxChild:function(d){var c=this,b,a=d.widthModel;d.boxParent=this;d.measuresBox=a.shrinkWrap?d.hasRawContent:a.natural;if(d.measuresBox){b=c.boxChildren;if(b){b.push(d)}else{c.boxChildren=[d]}}},addTrigger:function(g,h){var e=this,a=h?"domTriggers":"triggers",i=e[a]||(e[a]={}),b=e.context,d=b.currentLayout,c=i[g]||(i[g]={});if(!c[d.id]){c[d.id]=d;++d.triggerCount;c=b.triggers[h?"dom":"data"];(c[d.id]||(c[d.id]=[])).push({item:this,prop:g});if(e.props[g]!==undefined){if(!h||!(e.dirty&&(g in e.dirty))){++d.firedTriggers}}}},boxChildMeasured:function(){var b=this,c=b.state,a=(c.boxesMeasured=(c.boxesMeasured||0)+1);if(a==b.boxChildren.length){c.clearBoxWidth=1;++b.context.progressCount;b.markDirty()}},borderNames:["border-top-width","border-right-width","border-bottom-width","border-left-width"],marginNames:["margin-top","margin-right","margin-bottom","margin-left"],paddingNames:["padding-top","padding-right","padding-bottom","padding-left"],trblNames:["top","right","bottom","left"],cacheMissHandlers:{borderInfo:function(a){var b=a.getStyles(a.borderNames,a.trblNames);b.width=b.left+b.right;b.height=b.top+b.bottom;return b},marginInfo:function(a){var b=a.getStyles(a.marginNames,a.trblNames);b.width=b.left+b.right;b.height=b.top+b.bottom;return b},paddingInfo:function(b){var a=b.frameBodyContext||b,c=a.getStyles(b.paddingNames,b.trblNames);c.width=c.left+c.right;c.height=c.top+c.bottom;return c}},checkCache:function(a){return this.cacheMissHandlers[a](this)},clearAllBlocks:function(a){var c=this[a],b;if(c){for(b in c){this.clearBlocks(a,b)}}},clearBlocks:function(c,g){var h=this[c],b=h&&h[g],d,e,a;if(b){delete h[g];d=this.context;for(a in b){e=b[a];--d.blockCount;if(!--e.blockCount&&!e.pending&&!e.done){d.queueLayout(e)}}}},block:function(a,b){this.addBlock("blocks",a,b)},domBlock:function(a,b){this.addBlock("domBlocks",a,b)},fireTriggers:function(b,g){var h=this[b],d=h&&h[g],c=this.context,e,a;if(d){for(a in d){e=d[a];++e.firedTriggers;if(!e.done&&!e.blockCount&&!e.pending){c.queueLayout(e)}}}},flush:function(){var b=this,a=b.dirty,c=b.state,d=b.el;b.dirtyCount=0;if(b.classList&&b.classList.dirty){b.classList.flush()}if("attributes" in b){d.set(b.attributes);delete b.attributes}if("innerHTML" in b){d.innerHTML=b.innerHTML;delete b.innerHTML}if(c&&c.clearBoxWidth){c.clearBoxWidth=0;b.el.setStyle("width",null);if(!--c.blocks){b.context.queueItemLayouts(b)}}if(a){delete b.dirty;b.writeProps(a,true)}},flushAnimations:function(){var o=this,c=o.lastBox,l,n,e,h,g,d,i,m,k,a,b;if(c){l=o.target;n=l.layout&&l.layout.animate;if(n){e=Ext.isNumber(n)?n:n.duration}h=Ext.Object.getKeys(o.animatePolicy);g=Ext.apply({},{from:{},to:{},duration:e||Ext.fx.Anim.prototype.duration},n);for(d=0,i=0,m=h.length;i0||p>0)){if(!C.frameBodyContext){z=C.paddingInfo.width;o=C.paddingInfo.height}if(t){t=v(parseInt(t,10)-(C.borderInfo.width+z),0);i.width=t+"px";++h}if(p){p=v(parseInt(p,10)-(C.borderInfo.height+o),0);i.height=p+"px";++h}}if(C.wrapsComponent&&Ext.isIE9&&Ext.isStrict){if((g=t!==undefined&&C.hasOverflowY)||(a=p!==undefined&&C.hasOverflowX)){s=C.isAbsolute;if(s===undefined){s=false;q=C.target.getTargetEl();w=q.getStyle("position");if(w=="absolute"){w=q.getStyle("box-sizing");s=(w=="border-box")}C.isAbsolute=s}if(s){u=Ext.getScrollbarSize();if(g){t=parseInt(t,10)+u.width;i.width=t+"px";++h}if(a){p=parseInt(p,10)+u.height;i.height=p+"px";++h}}}}if(h){c.setStyle(i)}}},function(){var c={dom:true,parseInt:true,suffix:"px"},b={dom:true},a={dom:false};this.prototype.styleInfo={childrenDone:a,componentChildrenDone:a,containerChildrenDone:a,containerLayoutDone:a,displayed:a,done:a,x:a,y:a,columnWidthsDone:a,left:c,top:c,right:c,bottom:c,width:c,height:c,"border-top-width":c,"border-right-width":c,"border-bottom-width":c,"border-left-width":c,"margin-top":c,"margin-right":c,"margin-bottom":c,"margin-left":c,"padding-top":c,"padding-right":c,"padding-bottom":c,"padding-left":c,"line-height":b,display:b}});Ext.define("Ext.layout.Context",{requires:["Ext.util.Queue","Ext.layout.ContextItem","Ext.layout.Layout","Ext.fx.Anim","Ext.fx.Manager"],remainingLayouts:0,state:0,constructor:function(a){var b=this;Ext.apply(b,a);b.items={};b.layouts={};b.blockCount=0;b.cycleCount=0;b.flushCount=0;b.calcCount=0;b.animateQueue=b.newQueue();b.completionQueue=b.newQueue();b.finalizeQueue=b.newQueue();b.finishQueue=b.newQueue();b.flushQueue=b.newQueue();b.invalidateData={};b.layoutQueue=b.newQueue();b.invalidQueue=[];b.triggers={data:{},dom:{}}},callLayout:function(b,a){this.currentLayout=b;b[a](this.getCmp(b.owner))},cancelComponent:function(j,a,m){var p=this,h=j,l=!j.isComponent,b=l?h.length:1,d,c,o,n,g,s,q,r,t,e;for(d=0;d0},runLayout:function(b){var a=this,c=a.getCmp(b.owner);b.pending=false;if(c.state.blocks){return}b.done=true;++b.calcCount;++a.calcCount;b.calculate(c);if(b.done){a.layoutDone(b);if(b.completeLayout){a.queueCompletion(b)}if(b.finalizeLayout){a.queueFinalize(b)}}else{if(!b.pending&&!b.invalid&&!(b.blockCount+b.triggerCount-b.firedTriggers)){a.queueLayout(b)}}},setItemSize:function(h,g,b){var d=h,a=1,c,e;if(h.isComposite){d=h.elements;a=d.length;h=d[0]}else{if(!h.dom&&!h.el){a=d.length;h=d[0]}}for(e=0;epanel:not([collapsed])");g=c.length;for(d=0;dpanel:not([collapsed])");if(c.length===1){g.expand()}}else{if(g){g.expand()}}a.deferLayouts=b;e.processing=false}},onComponentShow:function(a){this.onComponentExpand(a)}});Ext.define("Ext.resizer.Splitter",{extend:"Ext.Component",requires:["Ext.XTemplate"],uses:["Ext.resizer.SplitterTracker"],alias:"widget.splitter",childEls:["collapseEl"],renderTpl:['','
     
    ',"
    "],baseCls:Ext.baseCSSPrefix+"splitter",collapsedClsInternal:Ext.baseCSSPrefix+"splitter-collapsed",canResize:true,collapsible:false,collapseOnDblClick:true,defaultSplitMin:40,defaultSplitMax:1000,collapseTarget:"next",horizontal:false,vertical:false,getTrackerConfig:function(){return{xclass:"Ext.resizer.SplitterTracker",el:this.el,splitter:this}},beforeRender:function(){var d=this,e=d.getCollapseTarget(),g=d.getCollapseDirection(),c=d.vertical,b=c?"width":"height",h=c?"height":"width",a;d.callParent();if(!d.hasOwnProperty(h)){d[h]="100%"}if(!d.hasOwnProperty(b)){d[b]=5}if(e.collapsed){d.addCls(d.collapsedClsInternal)}a=d.baseCls+"-"+d.orientation;d.addCls(a);if(!d.canResize){d.addCls(a+"-noresize")}Ext.applyIf(d.renderData,{collapseDir:g,collapsible:d.collapsible||e.collapsible})},onRender:function(){var a=this;a.callParent(arguments);if(a.performCollapse!==false){if(a.renderData.collapsible){a.mon(a.collapseEl,"click",a.toggleTargetCmp,a)}if(a.collapseOnDblClick){a.mon(a.el,"dblclick",a.toggleTargetCmp,a)}}a.mon(a.getCollapseTarget(),{collapse:a.onTargetCollapse,expand:a.onTargetExpand,scope:a});a.el.unselectable();if(a.canResize){a.tracker=Ext.create(a.getTrackerConfig());a.relayEvents(a.tracker,["beforedragstart","dragstart","dragend"])}},getCollapseDirection:function(){var g=this,c=g.collapseDirection,e,a,b,d;if(!c){e=g.collapseTarget;if(e.isComponent){c=e.collapseDirection}if(!c){d=g.ownerCt.layout.type;if(e.isComponent){b=g.ownerCt.items;a=Number(b.indexOf(e)==b.indexOf(g)-1)<<1|Number(d=="hbox")}else{a=Number(g.collapseTarget=="prev")<<1|Number(d=="hbox")}c=["bottom","right","top","left"][a]}g.collapseDirection=c}g.orientation=(c=="top"||c=="bottom")?"horizontal":"vertical";g[g.orientation]=true;return c},getCollapseTarget:function(){var a=this;return a.collapseTarget.isComponent?a.collapseTarget:a.collapseTarget=="prev"?a.previousSibling():a.nextSibling()},onTargetCollapse:function(a){this.el.addCls([this.collapsedClsInternal,this.collapsedCls])},onTargetExpand:function(a){this.el.removeCls([this.collapsedClsInternal,this.collapsedCls])},toggleTargetCmp:function(d,b){var c=this.getCollapseTarget(),g=c.placeholder,a;if(g&&!g.hidden){a=true}else{a=!c.hidden}if(a){if(c.collapsed){c.expand()}else{if(c.collapseDirection){c.collapse()}else{c.collapse(this.renderData.collapseDir)}}}},setSize:function(){var a=this;a.callParent(arguments);if(Ext.isIE&&a.el){a.el.repaint()}},beforeDestroy:function(){Ext.destroy(this.tracker);this.callParent()}});Ext.define("Ext.resizer.BorderSplitter",{extend:"Ext.resizer.Splitter",uses:["Ext.resizer.BorderSplitterTracker"],alias:"widget.bordersplitter",collapseTarget:null,getTrackerConfig:function(){var a=this.callParent();a.xclass="Ext.resizer.BorderSplitterTracker";return a}});Ext.define("Ext.layout.container.Border",{alias:"layout.border",extend:"Ext.layout.container.Container",requires:["Ext.resizer.BorderSplitter","Ext.Component","Ext.fx.Anim"],alternateClassName:"Ext.layout.BorderLayout",targetCls:Ext.baseCSSPrefix+"border-layout-ct",itemCls:[Ext.baseCSSPrefix+"border-item",Ext.baseCSSPrefix+"box-item"],type:"border",padding:undefined,percentageRe:/(\d+)%/,axisProps:{horz:{borderBegin:"west",borderEnd:"east",horizontal:true,posProp:"x",sizeProp:"width",sizePropCap:"Width"},vert:{borderBegin:"north",borderEnd:"south",horizontal:false,posProp:"y",sizeProp:"height",sizePropCap:"Height"}},centerRegion:null,collapseDirections:{north:"top",south:"bottom",east:"right",west:"left"},manageMargins:true,panelCollapseAnimate:true,panelCollapseMode:"placeholder",regionWeights:{north:20,south:10,center:0,west:-10,east:-20},beginAxis:function(m,b,w){var u=this,c=u.axisProps[w],r=!c.horizontal,l=c.sizeProp,p=0,a=m.childItems,g=a.length,t,q,o,h,s,e,k,n,d,v,j;for(q=0;q',"{%this.renderBody(out,values)%}",'
    ',"","{%this.renderPadder(out,values)%}"],getItemSizePolicy:function(a){if(a.columnWidth){return this.columnWidthSizePolicy}return this.autoSizePolicy},beginLayout:function(){this.callParent(arguments);this.innerCt.dom.style.width=""},calculate:function(c){var a=this,d=a.getContainerSize(c),b=c.state;if(b.calculatedColumns||(b.calculatedColumns=a.calculateColumns(c))){if(a.calculateHeights(c)){a.calculateOverflow(c,d);return}}a.done=false},calculateColumns:function(d){var m=this,a=m.getContainerSize(d),o=d.getEl("innerCt",m),l=d.childItems,j=l.length,b=0,g,n,e,c,h,k;if(!d.heightModel.shrinkWrap&&!d.targetContext.hasProp("height")){return false}if(!a.gotWidth){d.targetContext.block(m,"width");g=true}else{n=a.width;o.setWidth(n)}for(e=0;e',renderTpl:['',"{%this.renderBody(out,values)%}","
    ","{%this.renderPadder(out,values)%}"],getRenderData:function(){var a=this.callParent();a.tableCls=this.tableCls;return a},calculate:function(e){var d=this,h=d.getContainerSize(e,true),a,g,b=0,c;if(h.gotWidth){this.callParent(arguments);a=d.formTable.dom.offsetWidth;g=e.childItems;for(c=g.length;b',"{text}","",'target="{hrefTarget}" hidefocus="true" unselectable="on">','','style="margin-right: 17px;" >{text}','',"",""],maskOnDisable:false,activate:function(){var a=this;if(!a.activated&&a.canActivate&&a.rendered&&!a.isDisabled()&&a.isVisible()){a.el.addCls(a.activeCls);a.focus();a.activated=true;a.fireEvent("activate",a)}},getFocusEl:function(){return this.itemEl},deactivate:function(){var a=this;if(a.activated){a.el.removeCls(a.activeCls);a.blur();a.hideMenu();a.activated=false;a.fireEvent("deactivate",a)}},deferExpandMenu:function(){var a=this;if(a.activated&&(!a.menu.rendered||!a.menu.isVisible())){a.parentMenu.activeChild=a.menu;a.menu.parentItem=a;a.menu.parentMenu=a.menu.ownerCt=a.parentMenu;a.menu.showBy(a,a.menuAlign)}},deferHideMenu:function(){if(this.menu.isVisible()){this.menu.hide()}},cancelDeferHide:function(){clearTimeout(this.hideMenuTimer)},deferHideParentMenus:function(){var a;Ext.menu.Manager.hideAll();if(!Ext.Element.getActiveElement()){a=this.up(":not([hidden])");if(a){a.focus()}}},expandMenu:function(a){var b=this;if(b.menu){b.cancelDeferHide();if(a===0){b.deferExpandMenu()}else{b.expandMenuTimer=Ext.defer(b.deferExpandMenu,Ext.isNumber(a)?a:b.menuExpandDelay,b)}}},getRefItems:function(a){var c=this.menu,b;if(c){b=c.getRefItems(a);b.unshift(c)}return b||[]},hideMenu:function(a){var b=this;if(b.menu){clearTimeout(b.expandMenuTimer);b.hideMenuTimer=Ext.defer(b.deferHideMenu,Ext.isNumber(a)?a:b.menuHideDelay,b)}},initComponent:function(){var b=this,c=Ext.baseCSSPrefix,a=[c+"menu-item"],d;b.addEvents("activate","click","deactivate");if(b.plain){a.push(c+"menu-item-plain")}if(b.cls){a.push(b.cls)}b.cls=a.join(" ");if(b.menu){d=b.menu;delete b.menu;b.setMenu(d)}b.callParent(arguments)},onClick:function(b){var a=this;if(!a.href){b.stopEvent()}if(a.disabled){return}if(a.hideOnClick){a.deferHideParentMenusTimer=Ext.defer(a.deferHideParentMenus,a.clickHideDelay,a)}Ext.callback(a.handler,a.scope||a,[a,b]);a.fireEvent("click",a,b);if(!a.hideOnClick){a.focus()}},onRemoved:function(){var a=this;if(a.activated&&a.parentMenu.activeItem===a){a.parentMenu.deactivateActiveItem()}a.callParent(arguments);delete a.parentMenu;delete a.ownerButton},beforeDestroy:function(){var a=this;if(a.rendered){a.clearTip()}a.callParent()},onDestroy:function(){var a=this;clearTimeout(a.expandMenuTimer);a.cancelDeferHide();clearTimeout(a.deferHideParentMenusTimer);a.setMenu(null);a.callParent(arguments)},beforeRender:function(){var b=this,d=Ext.BLANK_IMAGE_URL,a,c;b.callParent();if(b.iconAlign==="right"){a=b.checkChangeDisabled?b.disabledCls:"";c=Ext.baseCSSPrefix+"menu-item-icon-right "+b.iconCls}else{a=b.iconCls+(b.checkChangeDisabled?" "+b.disabledCls:"");c=b.menu?b.arrowCls:""}Ext.applyIf(b.renderData,{href:b.href||"#",hrefTarget:b.hrefTarget,icon:b.icon||d,iconCls:a,plain:b.plain,text:b.text,arrowCls:c,blank:d})},onRender:function(){var a=this;a.callParent(arguments);if(a.tooltip){a.setTooltip(a.tooltip,true)}},setMenu:function(e,d){var c=this,b=c.menu,a=c.arrowEl;if(b){delete b.parentItem;delete b.parentMenu;delete b.ownerCt;delete b.ownerItem;if(d===true||(d!==false&&c.destroyMenu)){Ext.destroy(b)}}if(e){c.menu=Ext.menu.Manager.get(e);c.menu.ownerItem=c}else{c.menu=null}if(c.rendered&&!c.destroying&&a){a[c.menu?"addCls":"removeCls"](c.arrowCls)}},setHandler:function(b,a){this.handler=b||null;this.scope=a},setIcon:function(b){var a=this.iconEl;if(a){a.src=b||Ext.BLANK_IMAGE_URL}this.icon=b},setIconCls:function(b){var c=this,a=c.iconEl;if(a){if(c.iconCls){a.removeCls(c.iconCls)}if(b){a.addCls(b)}}c.iconCls=b},setText:function(c){var b=this,a=b.textEl||b.el;b.text=c;if(b.rendered){a.update(c||"");b.ownerCt.updateLayout()}},getTipAttr:function(){return this.tooltipType=="qtip"?"data-qtip":"title"},clearTip:function(){if(Ext.isObject(this.tooltip)){Ext.tip.QuickTipManager.unregister(this.itemEl)}},setTooltip:function(c,a){var b=this;if(b.rendered){if(!a){b.clearTip()}if(Ext.isObject(c)){Ext.tip.QuickTipManager.register(Ext.apply({target:b.itemEl.id},c));b.tooltip=c}else{b.itemEl.dom.setAttribute(b.getTipAttr(),c)}}else{b.tooltip=c}return b}});Ext.define("Ext.menu.CheckItem",{extend:"Ext.menu.Item",alias:"widget.menucheckitem",checkedCls:Ext.baseCSSPrefix+"menu-item-checked",uncheckedCls:Ext.baseCSSPrefix+"menu-item-unchecked",groupCls:Ext.baseCSSPrefix+"menu-group-icon",hideOnClick:false,checkChangeDisabled:false,afterRender:function(){var a=this;a.callParent();a.checked=!a.checked;a.setChecked(!a.checked,true);if(a.checkChangeDisabled){a.disableCheckChange()}},initComponent:function(){var a=this;a.addEvents("beforecheckchange","checkchange");a.callParent(arguments);Ext.menu.Manager.registerCheckable(a);if(a.group){if(!a.iconCls){a.iconCls=a.groupCls}if(a.initialConfig.hideOnClick!==false){a.hideOnClick=true}}},disableCheckChange:function(){var b=this,a=b.iconEl;if(a){a.addCls(b.disabledCls)}if(!(Ext.isIE9&&Ext.isStrict)&&b.rendered){b.el.repaint()}b.checkChangeDisabled=true},enableCheckChange:function(){var b=this,a=b.iconEl;if(a){a.removeCls(b.disabledCls)}b.checkChangeDisabled=false},onClick:function(b){var a=this;if(!a.disabled&&!a.checkChangeDisabled&&!(a.checked&&a.group)){a.setChecked(!a.checked)}this.callParent([b])},onDestroy:function(){Ext.menu.Manager.unregisterCheckable(this);this.callParent(arguments)},setChecked:function(c,a){var b=this;if(b.checked!==c&&(a||b.fireEvent("beforecheckchange",b,c)!==false)){if(b.el){b.el[c?"addCls":"removeCls"](b.checkedCls)[!c?"addCls":"removeCls"](b.uncheckedCls)}b.checked=c;Ext.menu.Manager.onCheckChange(b,c);if(!a){Ext.callback(b.checkHandler,b.scope,[b,c]);b.fireEvent("checkchange",b,c)}}}});Ext.define("Ext.menu.KeyNav",{extend:"Ext.util.KeyNav",requires:["Ext.FocusManager"],constructor:function(b){var a=this;a.menu=b;a.callParent([b.el,{down:a.down,enter:a.enter,esc:a.escape,left:a.left,right:a.right,space:a.enter,tab:a.tab,up:a.up}])},down:function(b){var a=this,c=a.menu.focusedItem;if(c&&b.getKey()==Ext.EventObject.DOWN&&a.isWhitelisted(c)){return true}a.focusNextItem(1)},enter:function(b){var c=this.menu,a=c.focusedItem;if(c.activeItem){c.onClick(b)}else{if(a&&a.isFormField){return true}}},escape:function(a){Ext.menu.Manager.hideAll()},focusNextItem:function(g){var h=this.menu,b=h.items,d=h.focusedItem,c=d?b.indexOf(d):-1,a=c+g,e;while(a!=c){if(a<0){a=b.length-1}else{if(a>=b.length){a=0}}e=b.getAt(a);if(h.canActivateItem(e)){h.setActiveItem(e);break}a+=g}},isWhitelisted:function(a){return Ext.FocusManager.isWhitelisted(a)},left:function(b){var c=this.menu,d=c.focusedItem,a=c.activeItem;if(d&&this.isWhitelisted(d)){return true}c.hide();if(c.parentMenu){c.parentMenu.focus()}},right:function(c){var d=this.menu,g=d.focusedItem,a=d.activeItem,b;if(g&&this.isWhitelisted(g)){return true}if(a){b=d.activeItem.menu;if(b){a.expandMenu(0);Ext.defer(function(){b.setActiveItem(b.items.getAt(0))},25)}}},tab:function(b){var a=this;if(b.shiftKey){a.up(b)}else{a.down(b)}},up:function(b){var a=this,c=a.menu.focusedItem;if(c&&b.getKey()==Ext.EventObject.UP&&a.isWhitelisted(c)){return true}a.focusNextItem(-1)}});Ext.define("Ext.menu.Separator",{extend:"Ext.menu.Item",alias:"widget.menuseparator",canActivate:false,focusable:false,hideOnClick:false,plain:true,separatorCls:Ext.baseCSSPrefix+"menu-item-separator",text:" ",beforeRender:function(a,c){var b=this;b.callParent();b.addCls(b.separatorCls)}});Ext.define("Ext.menu.Menu",{extend:"Ext.panel.Panel",alias:"widget.menu",requires:["Ext.layout.container.Fit","Ext.layout.container.VBox","Ext.menu.CheckItem","Ext.menu.Item","Ext.menu.KeyNav","Ext.menu.Manager","Ext.menu.Separator"],enableKeyNav:true,allowOtherMenus:false,ariaRole:"menu",defaultAlign:"tl-bl?",floating:true,constrain:true,hidden:true,hideMode:"visibility",ignoreParentClicks:false,isMenu:true,showSeparator:true,minWidth:undefined,defaultMinWidth:120,initComponent:function(){var b=this,d=Ext.baseCSSPrefix,a=[d+"menu"],c=b.bodyCls?[b.bodyCls]:[],e=b.floating!==false;b.addEvents("click","mouseenter","mouseleave","mouseover");Ext.menu.Manager.register(b);if(b.plain){a.push(d+"menu-plain")}b.cls=a.join(" ");c.unshift(d+"menu-body");b.bodyCls=c.join(" ");if(!b.layout){b.layout={type:"vbox",align:"stretchmax",overflowHandler:"Scroller"}}if(e&&b.minWidth===undefined){b.minWidth=b.defaultMinWidth}if(!e&&b.initialConfig.hidden!==true){b.hidden=false}b.callParent(arguments);b.on("beforeshow",function(){var g=!!b.items.length;if(g&&b.rendered){b.el.setStyle("visibility",null)}return g})},beforeRender:function(){this.callParent(arguments);if(!this.getSizeModel().width.shrinkWrap){this.layout.align="stretch"}},onBoxReady:function(){var a=this,b;a.callParent(arguments);if(a.showSeparator){b={cls:Ext.baseCSSPrefix+"menu-icon-separator",html:" "};if((!Ext.isStrict&&Ext.isIE)||Ext.isIE6){b.style="height:"+a.el.getHeight()+"px"}a.iconSepEl=a.layout.getElementTarget().insertFirst(b)}a.mon(a.el,{click:a.onClick,mouseover:a.onMouseOver,scope:a});a.mouseMonitor=a.el.monitorMouseLeave(100,a.onMouseLeave,a);if(a.enableKeyNav){a.keyNav=new Ext.menu.KeyNav(a)}},getBubbleTarget:function(){return this.parentMenu||this.ownerButton||this.callParent(arguments)},canActivateItem:function(a){return a&&!a.isDisabled()&&a.isVisible()&&(a.canActivate||a.getXTypes().indexOf("menuitem")<0)},deactivateActiveItem:function(b){var c=this,d=c.activeItem,a=c.focusedItem;if(d){d.deactivate();if(!d.activated){delete c.activeItem}}if(a&&b){a.blur();delete c.focusedItem}},getFocusEl:function(){return this.focusedItem||this.el},hide:function(){this.deactivateActiveItem(true);this.callParent(arguments)},getItemFromEvent:function(a){return this.getChildByElement(a.getTarget())},lookupComponent:function(b){var a=this;if(typeof b=="string"){b=a.lookupItemFromString(b)}else{if(Ext.isObject(b)){b=a.lookupItemFromObject(b)}}b.minWidth=b.minWidth||a.minWidth;return b},lookupItemFromObject:function(c){var b=this,d=Ext.baseCSSPrefix,a;if(!c.isComponent){if(!c.xtype){c=Ext.create("Ext.menu."+(Ext.isBoolean(c.checked)?"Check":"")+"Item",c)}else{c=Ext.ComponentManager.create(c,c.xtype)}}if(c.isMenuItem){c.parentMenu=b}if(!c.isMenuItem&&!c.dock){a=[d+"menu-item",d+"menu-item-cmp"];if(!b.plain&&(c.indent===true||c.iconCls==="no-icon")){a.push(d+"menu-item-indent")}if(c.rendered){c.el.addCls(a)}else{c.cls=(c.cls?c.cls:"")+" "+a.join(" ")}}return c},lookupItemFromString:function(a){return(a=="separator"||a=="-")?new Ext.menu.Separator():new Ext.menu.Item({canActivate:false,hideOnClick:false,plain:true,text:a})},onClick:function(c){var b=this,a;if(b.disabled){c.stopEvent();return}a=(c.type==="click")?b.getItemFromEvent(c):b.activeItem;if(a&&a.isMenuItem){if(!a.menu||!b.ignoreParentClicks){a.onClick(c)}else{c.stopEvent()}}if(!a||a.disabled){a=undefined}b.fireEvent("click",b,a,c)},onDestroy:function(){var a=this;Ext.menu.Manager.unregister(a);delete a.parentMenu;delete a.ownerButton;if(a.rendered){a.el.un(a.mouseMonitor);Ext.destroy(a.keyNav);delete a.keyNav}a.callParent(arguments)},onMouseLeave:function(b){var a=this;a.deactivateActiveItem();if(a.disabled){return}a.fireEvent("mouseleave",a,b)},onMouseOver:function(h){var g=this,i=h.getRelatedTarget(),b=!g.el.contains(i),d=g.getItemFromEvent(h),c=g.parentMenu,a=g.parentItem;if(b&&c){c.setActiveItem(a);a.cancelDeferHide();c.mouseMonitor.mouseenter()}if(g.disabled){return}if(d&&!d.activated){g.setActiveItem(d);if(d.activated&&d.expandMenu){d.expandMenu()}}if(b){g.fireEvent("mouseenter",g,h)}g.fireEvent("mouseover",g,d,h)},setActiveItem:function(b){var a=this;if(b&&(b!=a.activeItem)){a.deactivateActiveItem();if(a.canActivateItem(b)){if(b.activate){b.activate();if(b.activated){a.activeItem=b;a.focusedItem=b;a.focus()}}else{b.focus();a.focusedItem=b}}b.el.scrollIntoView(a.layout.getRenderTarget())}},showBy:function(b,d,c){var a=this;if(a.floating&&b){a.show();a.setPagePosition(a.el.getAlignToXY(b.el||b,d||a.defaultAlign,c));a.setVerticalPosition()}return a},show:function(){var d=this,c,b,a,e=d.maxHeight;if(!d.rendered){d.doAutoRender()}if(d.floating){c=Ext.fly(d.el.getScopeParent());b=c.getViewSize().height;d.maxHeight=Math.min(e||b,b)}a=d.callParent(arguments);d.maxHeight=e;return a},afterComponentLayout:function(c,a,b,e){var d=this;d.callParent(arguments);if(d.showSeparator){d.iconSepEl.setHeight(d.componentLayout.lastComponentSize.contentHeight)}},setVerticalPosition:function(){var d=this,g,e=d.el.getY(),h=e,j=d.getHeight(),b=Ext.Element.getViewportHeight().height,c=Ext.fly(d.el.getScopeParent()),a=c.getViewSize().height,i=e-c.getScroll().top;c=null;if(d.floating){g=d.maxHeight?d.maxHeight:a-i;if(j>a){h=e-i}else{if(gb){h=b-j}}}}d.el.setY(h)}});Ext.define("Ext.menu.ColorPicker",{extend:"Ext.menu.Menu",alias:"widget.colormenu",requires:["Ext.picker.Color"],hideOnClick:true,pickerId:null,initComponent:function(){var b=this,a=Ext.apply({},b.initialConfig);delete a.listeners;Ext.apply(b,{plain:true,showSeparator:false,items:Ext.applyIf({cls:Ext.baseCSSPrefix+"menu-color-item",id:b.pickerId,xtype:"colorpicker"},a)});b.callParent(arguments);b.picker=b.down("colorpicker");b.relayEvents(b.picker,["select"]);if(b.hideOnClick){b.on("select",b.hidePickerOnSelect,b)}},hidePickerOnSelect:function(){Ext.menu.Manager.hideAll()}});Ext.define("Ext.menu.DatePicker",{extend:"Ext.menu.Menu",alias:"widget.datemenu",requires:["Ext.picker.Date"],hideOnClick:true,pickerId:null,initComponent:function(){var b=this,a=Ext.apply({},b.initialConfig);delete a.listeners;Ext.apply(b,{showSeparator:false,plain:true,border:false,bodyPadding:0,items:Ext.applyIf({cls:Ext.baseCSSPrefix+"menu-date-item",id:b.pickerId,xtype:"datepicker"},a)});b.callParent(arguments);b.picker=b.down("datepicker");b.relayEvents(b.picker,["select"]);if(b.hideOnClick){b.on("select",b.hidePickerOnSelect,b)}},hidePickerOnSelect:function(){Ext.menu.Manager.hideAll()}});Ext.define("Ext.panel.Tool",{extend:"Ext.Component",requires:["Ext.tip.QuickTipManager"],alias:"widget.tool",baseCls:Ext.baseCSSPrefix+"tool",disabledCls:Ext.baseCSSPrefix+"tool-disabled",toolPressedCls:Ext.baseCSSPrefix+"tool-pressed",toolOverCls:Ext.baseCSSPrefix+"tool-over",ariaRole:"button",childEls:["toolEl"],renderTpl:[''],tooltipType:"qtip",stopEvent:true,height:15,width:15,initComponent:function(){var a=this;a.addEvents("click");a.type=a.type||a.id;Ext.applyIf(a.renderData,{baseCls:a.baseCls,blank:Ext.BLANK_IMAGE_URL,type:a.type});a.tooltip=a.tooltip||a.qtip;a.callParent();a.on({element:"toolEl",click:a.onClick,mousedown:a.onMouseDown,mouseover:a.onMouseOver,mouseout:a.onMouseOut,scope:a})},afterRender:function(){var b=this,a;b.callParent(arguments);if(b.tooltip){if(Ext.isObject(b.tooltip)){Ext.tip.QuickTipManager.register(Ext.apply({target:b.id},b.tooltip))}else{a=b.tooltipType=="qtip"?"data-qtip":"title";b.toolEl.dom.setAttribute(a,b.tooltip)}}},getFocusEl:function(){return this.el},setType:function(a){var b=this;b.type=a;if(b.rendered){b.toolEl.dom.className=b.baseCls+"-"+a}return b},bindTo:function(a){this.owner=a},onClick:function(d,c){var b=this,a;if(b.disabled){return false}a=b.owner||b.ownerCt;b.el.removeCls(b.toolPressedCls);b.el.removeCls(b.toolOverCls);if(b.stopEvent!==false){d.stopEvent()}Ext.callback(b.handler,b.scope||b,[d,c,a,b]);b.fireEvent("click",b,d);return true},onDestroy:function(){if(Ext.isObject(this.tooltip)){Ext.tip.QuickTipManager.unregister(this.id)}this.callParent()},onMouseDown:function(){if(this.disabled){return false}this.el.addCls(this.toolPressedCls)},onMouseOver:function(){if(this.disabled){return false}this.el.addCls(this.toolOverCls)},onMouseOut:function(){this.el.removeCls(this.toolOverCls)}});Ext.define("Ext.resizer.SplitterTracker",{extend:"Ext.dd.DragTracker",requires:["Ext.util.Region"],enabled:true,overlayCls:Ext.baseCSSPrefix+"resizable-overlay",createDragOverlay:function(){var a;a=this.overlay=Ext.getBody().createChild({cls:this.overlayCls,html:" "});a.unselectable();a.setSize(Ext.Element.getViewWidth(true),Ext.Element.getViewHeight(true));a.show()},getPrevCmp:function(){var a=this.getSplitter();return a.previousSibling()},getNextCmp:function(){var a=this.getSplitter();return a.nextSibling()},onBeforeStart:function(i){var d=this,g=d.getPrevCmp(),a=d.getNextCmp(),c=d.getSplitter().collapseEl,h=i.getTarget(),b;if(c&&h===d.getSplitter().collapseEl.dom){return false}if(a.collapsed||g.collapsed){return false}d.prevBox=g.getEl().getBox();d.nextBox=a.getEl().getBox();d.constrainTo=b=d.calculateConstrainRegion();if(!b){return false}d.createDragOverlay();return b},onStart:function(b){var a=this.getSplitter();a.addCls(a.baseCls+"-active")},calculateConstrainRegion:function(){var g=this,a=g.getSplitter(),h=a.getWidth(),i=a.defaultSplitMin,b=a.orientation,d=g.prevBox,j=g.getPrevCmp(),c=g.nextBox,e=g.getNextCmp(),l,k;if(b==="vertical"){l=new Ext.util.Region(d.y,(j.maxWidth?d.x+j.maxWidth:c.right-(e.minWidth||i))+h,d.bottom,d.x+(j.minWidth||i));k=new Ext.util.Region(c.y,c.right-(e.minWidth||i),c.bottom,(e.maxWidth?c.right-e.maxWidth:d.x+(d.minWidth||i))-h)}else{l=new Ext.util.Region(d.y+(j.minHeight||i),d.right,(j.maxHeight?d.y+j.maxHeight:c.bottom-(e.minHeight||i))+h,d.x);k=new Ext.util.Region((e.maxHeight?c.bottom-e.maxHeight:d.y+(j.minHeight||i))-h,c.right,c.bottom-(e.minHeight||i),c.x)}return l.intersect(k)},performResize:function(m,g){var o=this,a=o.getSplitter(),h=a.orientation,p=o.getPrevCmp(),n=o.getNextCmp(),b=a.ownerCt,k=b.query(">[flex]"),l=k.length,j=0,d,q,c=0;for(;jq){v=q}}if(v-m<2){return null}n=new Ext.util.Region(p,x,k,g);y.constraintAdjusters[a.collapseDirection](n,m,v,a);y.dragInfo={minRange:m,maxRange:v,targetSize:b};return n},constraintAdjusters:{left:function(c,a,b,d){c[0]=c.x=c.left=c.right+a;c.right+=b+d.getWidth()},top:function(c,a,b,d){c[1]=c.y=c.top=c.bottom+a;c.bottom+=b+d.getHeight()},bottom:function(c,a,b,d){c.bottom=c.top-a;c.top-=b+d.getHeight()},right:function(c,a,b,d){c.right=c.left-a;c.left-=b+d.getWidth()}},onBeforeStart:function(h){var k=this,b=k.splitter,a=b.collapseTarget,m=b.neighbors,d=k.getSplitter().collapseEl,j=h.getTarget(),c=m.length,g,l;if(d&&j===b.collapseEl.dom){return false}if(a.collapsed){return false}for(g=0;gc){d.minWidth=d.el.getWidth()*a}else{d.minHeight=d.el.getHeight()*c}}if(d.throttle){e=Ext.Function.createThrottled(function(){Ext.resizer.ResizeTracker.prototype.resize.apply(d,arguments)},d.throttle);d.resize=function(h,i,g){if(g){Ext.resizer.ResizeTracker.prototype.resize.apply(d,arguments)}else{e.apply(null,arguments)}}}},onBeforeStart:function(a){this.startBox=this.el.getBox()},getDynamicTarget:function(){var a=this,b=a.target;if(a.dynamic){return b}else{if(!a.proxy){a.proxy=a.createProxy(b)}}a.proxy.show();return a.proxy},createProxy:function(c){var b,a=this.proxyCls,d;if(c.isComponent){b=c.getProxy().addCls(a)}else{d=Ext.getBody();if(Ext.scopeResetCSS){d=Ext.getBody().createChild({cls:Ext.resetCls})}b=c.createProxy({tag:"div",cls:a,id:c.id+"-rzproxy"},d)}b.removeCls(Ext.baseCSSPrefix+"proxy-el");return b},onStart:function(a){this.activeResizeHandle=Ext.get(this.getDragTarget().id);if(!this.dynamic){this.resize(this.startBox,{horizontal:"none",vertical:"none"})}},onDrag:function(a){if(this.dynamic||this.proxy){this.updateDimensions(a)}},updateDimensions:function(s,m){var t=this,c=t.activeResizeHandle.region,g=t.getOffset(t.constrainTo?"dragTarget":null),k=t.startBox,h,p=0,u=0,j,q,a=0,w=0,v,n=g[0]<0?"right":"left",r=g[1]<0?"down":"up",i,b,d,o,l;switch(c){case"south":u=g[1];b=2;break;case"north":u=-g[1];w=-u;b=2;break;case"east":p=g[0];b=1;break;case"west":p=-g[0];a=-p;b=1;break;case"northeast":u=-g[1];w=-u;p=g[0];i=[k.x,k.y+k.height];b=3;break;case"southeast":u=g[1];p=g[0];i=[k.x,k.y];b=3;break;case"southwest":p=-g[0];a=-p;u=g[1];i=[k.x+k.width,k.y];b=3;break;case"northwest":u=-g[1];w=-u;p=-g[0];a=-p;i=[k.x+k.width,k.y+k.height];b=3;break}d={width:k.width+p,height:k.height+u,x:k.x+a,y:k.y+w};j=Ext.Number.snap(d.width,t.widthIncrement);q=Ext.Number.snap(d.height,t.heightIncrement);if(j!=d.width||q!=d.height){switch(c){case"northeast":d.y-=q-d.height;break;case"north":d.y-=q-d.height;break;case"southwest":d.x-=j-d.width;break;case"west":d.x-=j-d.width;break;case"northwest":d.x-=j-d.width;d.y-=q-d.height}d.width=j;d.height=q}if(d.widtht.maxWidth){d.width=Ext.Number.constrain(d.width,t.minWidth,t.maxWidth);if(a){d.x=k.x+(k.width-d.width)}}else{t.lastX=d.x}if(d.heightt.maxHeight){d.height=Ext.Number.constrain(d.height,t.minHeight,t.maxHeight);if(w){d.y=k.y+(k.height-d.height)}}else{t.lastY=d.y}if(t.preserveRatio||s.shiftKey){h=t.startBox.width/t.startBox.height;o=Math.min(Math.max(t.minHeight,d.width/h),t.maxHeight);l=Math.min(Math.max(t.minWidth,d.height*h),t.maxWidth);if(b==1){d.height=o}else{if(b==2){d.width=l}else{v=Math.abs(i[0]-this.lastXY[0])/Math.abs(i[1]-this.lastXY[1]);if(v>h){d.height=o}else{d.width=l}if(c=="northeast"){d.y=k.y-(d.height-k.height)}else{if(c=="northwest"){d.y=k.y-(d.height-k.height);d.x=k.x-(d.width-k.width)}else{if(c=="southwest"){d.x=k.x-(d.width-k.width)}}}}}}if(u===0){r="none"}if(p===0){n="none"}t.resize(d,{horizontal:n,vertical:r},m)},getResizeTarget:function(a){return a?this.target:this.getDynamicTarget()},resize:function(b,d,a){var c=this.getResizeTarget(a);if(c.isComponent){c.setSize(b.width,b.height);if(c.floating){c.setPagePosition(b.x,b.y)}}else{c.setBox(b)}c=this.originalTarget;if(c&&(this.dynamic||a)){if(c.isComponent){c.setSize(b.width,b.height);if(c.floating){c.setPagePosition(b.x,b.y)}}else{c.setBox(b)}}},onEnd:function(a){this.updateDimensions(a,true);if(this.proxy){this.proxy.hide()}}});Ext.define("Ext.resizer.Resizer",{mixins:{observable:"Ext.util.Observable"},uses:["Ext.resizer.ResizeTracker","Ext.Component"],alternateClassName:"Ext.Resizable",handleCls:Ext.baseCSSPrefix+"resizable-handle",pinnedCls:Ext.baseCSSPrefix+"resizable-pinned",overCls:Ext.baseCSSPrefix+"resizable-over",wrapCls:Ext.baseCSSPrefix+"resizable-wrap",dynamic:true,handles:"s e se",height:null,width:null,heightIncrement:0,widthIncrement:0,minHeight:20,minWidth:20,maxHeight:10000,maxWidth:10000,pinned:false,preserveRatio:false,transparent:false,possiblePositions:{n:"north",s:"south",e:"east",w:"west",se:"southeast",sw:"southwest",nw:"northwest",ne:"northeast"},constructor:function(b){var k=this,j,o,q,p=k.handles,c,n,g,d=0,m,l=[],h,a,e;k.addEvents("beforeresize","resizedrag","resize");if(Ext.isString(b)||Ext.isElement(b)||b.dom){j=b;b=arguments[1]||{};b.target=j}k.mixins.observable.constructor.call(k,b);j=k.target;if(j){if(j.isComponent){k.el=j.getEl();if(j.minWidth){k.minWidth=j.minWidth}if(j.minHeight){k.minHeight=j.minHeight}if(j.maxWidth){k.maxWidth=j.maxWidth}if(j.maxHeight){k.maxHeight=j.maxHeight}if(j.floating){if(!k.hasOwnProperty("handles")){k.handles="n ne e se s sw w nw"}}}else{k.el=k.target=Ext.get(j)}}else{k.target=k.el=Ext.get(k.el)}q=k.el.dom.tagName.toUpperCase();if(q=="TEXTAREA"||q=="IMG"||q=="TABLE"){k.originalTarget=k.target;o=k.el;e=o.getBox();k.target=k.el=k.el.wrap({cls:k.wrapCls,id:k.el.id+"-rzwrap",style:o.getStyles("margin-top","margin-bottom")});k.el.setPositioning(o.getPositioning());o.clearPositioning();k.el.setBox(e);o.setStyle("position","absolute")}k.el.position();if(k.pinned){k.el.addCls(k.pinnedCls)}k.resizeTracker=new Ext.resizer.ResizeTracker({disabled:k.disabled,target:k.target,constrainTo:k.constrainTo,overCls:k.overCls,throttle:k.throttle,originalTarget:k.originalTarget,delegate:"."+k.handleCls,dynamic:k.dynamic,preserveRatio:k.preserveRatio,heightIncrement:k.heightIncrement,widthIncrement:k.widthIncrement,minHeight:k.minHeight,maxHeight:k.maxHeight,minWidth:k.minWidth,maxWidth:k.maxWidth});k.resizeTracker.on({mousedown:k.onBeforeResize,drag:k.onResize,dragend:k.onResizeEnd,scope:k});if(k.handles=="all"){k.handles="n s e w ne nw se sw"}p=k.handles=k.handles.split(/ |\s*?[,;]\s*?/);n=k.possiblePositions;g=p.length;c=k.handleCls+" "+(k.target.isComponent?(k.target.baseCls+"-handle "):"")+k.handleCls+"-";h=Ext.isIE6?' style="height:'+k.el.getHeight()+'px"':"";for(;d")}}Ext.DomHelper.append(k.el,l.join(""));for(d=0;d-1){this.doSelect(a.view.getStore().getAt(a.row),false,b)}},onCellDeselect:function(a,b){if(a&&a.row!==undefined){this.doDeselect(a.view.getStore().getAt(a.row),b)}},onSelectChange:function(b,e,d,h){var g=this,i,c,a;if(e){i=g.nextSelection;c="select"}else{i=g.lastSelection||g.noSelection;c="deselect"}a=i.view||g.primaryView;if((d||g.fireEvent("before"+c,g,b,i.row,i.column))!==false&&h()!==false){if(e){a.onCellSelect(i);a.onCellFocus(i)}else{a.onCellDeselect(i);delete g.selection}if(!d){g.fireEvent(c,g,b,i.row,i.column)}}},onKeyTab:function(d,b){var c=this,a=c.getCurrentPosition().view.editingPlugin;if(a&&c.wasEditing){c.onEditorTab(a,d)}else{c.move(d.shiftKey?"left":"right",d)}},onEditorTab:function(b,g){var c=this,d=g.shiftKey?"left":"right",a=c.move(d,g);if(a){if(b.startEditByPosition(a)){c.wasEditing=false}else{c.wasEditing=true;if(!a.columnHeader.dataIndex){c.onEditorTab(b,g)}}}},refresh:function(){var b=this.getCurrentPosition(),a;if(b&&(a=this.store.indexOf(this.selected.last()))!==-1){b.row=a}},onColumnMove:function(d,e,b,c){var a=d.up("tablepanel");if(a){this.onViewRefresh(a.view)}},onViewRefresh:function(b){var c=this,g=c.getCurrentPosition(),e=b.headerCt,a,d;if(g&&g.view===b){a=g.record;d=g.columnHeader;if(!d.isDescendantOf(e)){d=e.queryById(d.id)||e.down('[text="'+d.text+'"]')||e.down('[dataIndex="'+d.dataIndex+'"]')}if(d&&(b.store.indexOfId(a.getId())!==-1)){c.setCurrentPosition({row:a,column:d,view:b})}}},selectByPosition:function(a){this.setCurrentPosition(a)}},function(){var a=this.prototype.Selection=function(b){this.model=b};a.prototype.setPosition=function(e,c){var d=this,b;if(arguments.length===1){if(e.view){d.view=b=e.view}c=e.column;e=e.row}if(!b){d.view=b=d.model.primaryView}if(typeof e==="number"){d.row=e;d.record=b.store.getAt(e)}else{if(e.isModel){d.record=e;d.row=b.indexOf(e)}else{if(e.tagName){d.record=b.getRecord(e);d.row=b.indexOf(d.record)}}}if(typeof c==="number"){d.column=c;d.columnHeader=b.getHeaderAtIndex(c)}else{d.columnHeader=c;d.column=c.getIndex()}return d}});Ext.define("Ext.selection.RowModel",{extend:"Ext.selection.Model",alias:"selection.rowmodel",requires:["Ext.util.KeyNav"],deltaScroll:5,enableKeyNav:true,ignoreRightMouseSelection:false,constructor:function(){this.addEvents("beforedeselect","beforeselect","deselect","select");this.views=[];this.callParent(arguments)},bindComponent:function(a){var b=this;b.views=b.views||[];b.views.push(a);b.bindStore(a.getStore(),true);a.on({itemmousedown:b.onRowMouseDown,scope:b});if(b.enableKeyNav){b.initKeyNav(a)}},initKeyNav:function(a){var b=this;if(!a.rendered){a.on("render",Ext.Function.bind(b.initKeyNav,b,[a],0),b,{single:true});return}a.el.set({tabIndex:-1});b.keyNav=new Ext.util.KeyNav({target:a,ignoreInputFields:true,eventName:"itemkeydown",processEvent:function(d,c,h,e,g){g.record=c;g.recordIndex=e;return g},up:b.onKeyUp,down:b.onKeyDown,right:b.onKeyRight,left:b.onKeyLeft,pageDown:b.onKeyPageDown,pageUp:b.onKeyPageUp,home:b.onKeyHome,end:b.onKeyEnd,space:b.onKeySpace,enter:b.onKeyEnter,scope:b})},getRowsVisible:function(){var e=false,a=this.views[0],d=a.getNode(0),b,c;if(d){b=Ext.fly(d).getHeight();c=a.el.getHeight();e=Math.floor(c/b)}return e},onKeyEnd:function(c){var b=this,a=b.store.getAt(b.store.getCount()-1);if(a){if(c.shiftKey){b.selectRange(a,b.lastFocused||0);b.setLastFocused(a)}else{if(c.ctrlKey){b.setLastFocused(a)}else{b.doSelect(a)}}}},onKeyHome:function(b){var a=this,c=a.store.getAt(0);if(c){if(b.shiftKey){a.selectRange(c,a.lastFocused||0);a.setLastFocused(c)}else{if(b.ctrlKey){a.setLastFocused(c)}else{a.doSelect(c,false)}}}},onKeyPageUp:function(g){var d=this,h=d.getRowsVisible(),b,c,a;if(h){b=g.recordIndex;c=b-h;if(c<0){c=0}a=d.store.getAt(c);if(g.shiftKey){d.selectRange(a,g.record,g.ctrlKey,"up");d.setLastFocused(a)}else{if(g.ctrlKey){g.preventDefault();d.setLastFocused(a)}else{d.doSelect(a)}}}},onKeyPageDown:function(g){var c=this,h=c.getRowsVisible(),a,d,b;if(h){a=g.recordIndex;d=a+h;if(d>=c.store.getCount()){d=c.store.getCount()-1}b=c.store.getAt(d);if(g.shiftKey){c.selectRange(b,g.record,g.ctrlKey,"down");c.setLastFocused(b)}else{if(g.ctrlKey){g.preventDefault();c.setLastFocused(b)}else{c.doSelect(b)}}}},onKeySpace:function(c){var b=this,a=b.lastFocused;if(a){if(b.isSelected(a)){b.doDeselect(a,false)}else{b.doSelect(a,true)}}},onKeyEnter:Ext.emptyFn,onKeyUp:function(d){var c=this,a=c.store.indexOf(c.lastFocused),b;if(a>0){b=c.store.getAt(a-1);if(d.shiftKey&&c.lastFocused){if(c.isSelected(c.lastFocused)&&c.isSelected(b)){c.doDeselect(c.lastFocused,true);c.setLastFocused(b)}else{if(!c.isSelected(c.lastFocused)){c.doSelect(c.lastFocused,true);c.doSelect(b,true)}else{c.doSelect(b,true)}}}else{if(d.ctrlKey){c.setLastFocused(b)}else{c.doSelect(b)}}}},onKeyDown:function(d){var c=this,a=c.store.indexOf(c.lastFocused),b;if(a+1 '},onRowMouseDown:function(b,a,h,d,i){b.el.focus();var g=this,c=i.getTarget("."+Ext.baseCSSPrefix+"grid-row-checker"),j;if(!g.allowRightMouseSelection(i)){return}if(g.checkOnly&&!c){return}if(c){j=g.getSelectionMode();if(j!=="SINGLE"){g.setSelectionMode("SIMPLE")}g.selectWithEvent(a,i);g.setSelectionMode(j)}else{g.selectWithEvent(a,i)}},onSelectChange:function(){var a=this;a.callParent(arguments);a.updateHeaderState()},onStoreLoad:function(){var a=this;a.callParent(arguments);a.updateHeaderState()},updateHeaderState:function(){var a=this.selected.getCount()===this.store.getCount();this.toggleUiHeader(a)}});Ext.define("Ext.selection.TreeModel",{extend:"Ext.selection.RowModel",alias:"selection.treemodel",pruneRemoved:false,onKeyRight:function(d,b){var c=this.getLastFocused(),a=this.view;if(c){if(c.isExpanded()){this.onKeyDown(d,b)}else{if(c.isExpandable()){a.expand(c)}}}},onKeyLeft:function(i,d){var h=this.getLastFocused(),c=this.view,b=c.getSelectionModel(),a,g;if(h){a=h.parentNode;if(h.isExpanded()){c.collapse(h)}else{if(a&&!a.isRoot()){if(i.shiftKey){b.selectRange(a,h,i.ctrlKey,"up");b.setLastFocused(a)}else{if(i.ctrlKey){b.setLastFocused(a)}else{b.select(a)}}}}}},onKeySpace:function(b,a){this.toggleCheck(b)},onKeyEnter:function(b,a){this.toggleCheck(b)},toggleCheck:function(b){b.stopEvent();var a=this.getLastSelected();if(a){this.view.onCheckChange(a)}}});Ext.define("Ext.slider.Thumb",{requires:["Ext.dd.DragTracker","Ext.util.Format"],topZIndex:10000,constructor:function(a){var b=this;Ext.apply(b,a||{},{cls:Ext.baseCSSPrefix+"slider-thumb",constrain:false});b.callParent([a])},render:function(){var a=this;a.el=a.slider.innerEl.insertFirst(a.getElConfig());a.onRender()},onRender:function(){if(this.disabled){this.disable()}this.initEvents()},getElConfig:function(){var c=this,b=c.slider,a={};a[b.vertical?"bottom":"left"]=b.calculateThumbPosition(b.normalizeValue(c.value))+"%";return{style:a,id:this.id,cls:this.cls}},move:function(c,b){var d=this.el,a=this.slider.vertical?"bottom":"left",g,e;c+="%";if(!b){d.dom.style[a]=c}else{g={};g[a]=c;if(!Ext.supports.GetPositionPercentage){e={};e[a]=d.dom.style[a]}new Ext.fx.Anim({target:d,duration:350,from:e,to:g})}},bringToFront:function(){this.el.setStyle("zIndex",this.topZIndex)},sendToBack:function(){this.el.setStyle("zIndex","")},enable:function(){var a=this;a.disabled=false;if(a.el){a.el.removeCls(a.slider.disabledCls)}},disable:function(){var a=this;a.disabled=true;if(a.el){a.el.addCls(a.slider.disabledCls)}},initEvents:function(){var b=this,a=b.el;b.tracker=new Ext.dd.DragTracker({onBeforeStart:Ext.Function.bind(b.onBeforeDragStart,b),onStart:Ext.Function.bind(b.onDragStart,b),onDrag:Ext.Function.bind(b.onDrag,b),onEnd:Ext.Function.bind(b.onDragEnd,b),tolerance:3,autoStart:300,overCls:Ext.baseCSSPrefix+"slider-thumb-over"});b.tracker.initEl(a)},onBeforeDragStart:function(a){if(this.disabled){return false}else{this.slider.promoteThumb(this);return true}},onDragStart:function(b){var a=this;a.el.addCls(Ext.baseCSSPrefix+"slider-thumb-drag");a.dragging=a.slider.dragging=true;a.dragStartValue=a.value;a.slider.fireEvent("dragstart",a.slider,b,a)},onDrag:function(h){var d=this,c=d.slider,b=d.index,g=d.getValueFromTracker(),a,i;if(g!==undefined){if(d.constrain){a=c.thumbs[b+1];i=c.thumbs[b-1];if(i!==undefined&&g<=i.value){g=i.value}if(a!==undefined&&g>=a.value){g=a.value}}c.setValue(b,g,false);c.fireEvent("drag",c,h,d)}},getValueFromTracker:function(){var a=this.slider,b=a.getTrackpoint(this.tracker.getXY());if(b!==undefined){return a.reversePixelValue(b)}},onDragEnd:function(d){var b=this,a=b.slider,c=b.value;b.el.removeCls(Ext.baseCSSPrefix+"slider-thumb-drag");b.dragging=a.dragging=false;a.fireEvent("dragend",a,d);if(b.dragStartValue!=c){a.fireEvent("changecomplete",a,c,b)}},destroy:function(){Ext.destroy(this.tracker)}});Ext.define("Ext.slider.Tip",{extend:"Ext.tip.Tip",minWidth:10,alias:"widget.slidertip",offsets:null,align:null,position:"",defaultVerticalPosition:"left",defaultHorizontalPosition:"top",isSliderTip:true,init:function(c){var b=this,d,a;if(!b.position){b.position=c.vertical?b.defaultVerticalPosition:b.defaultHorizontalPosition}switch(b.position){case"top":a=[0,-10];d="b-t?";break;case"bottom":a=[0,10];d="t-b?";break;case"left":a=[-10,0];d="r-l?";break;case"right":a=[10,0];d="l-r?"}if(!b.align){b.align=d}if(!b.offsets){b.offsets=a}c.on({scope:b,dragstart:b.onSlide,drag:b.onSlide,dragend:b.hide,destroy:b.destroy})},onSlide:function(c,d,a){var b=this;b.show();b.update(b.getText(a));b.el.alignTo(a.el,b.align,b.offsets)},getText:function(a){return String(a.value)}});Ext.define("Ext.slider.Multi",{extend:"Ext.form.field.Base",alias:"widget.multislider",alternateClassName:"Ext.slider.MultiSlider",requires:["Ext.slider.Thumb","Ext.slider.Tip","Ext.Number","Ext.util.Format","Ext.Template","Ext.layout.component.field.Slider"],childEls:["endEl","innerEl"],fieldSubTpl:['
    ','","
    ",{renderThumbs:function(g,e){var j=e.$comp,h=0,c=j.thumbs,b=c.length,d,a;for(;hg?g:c.value}e.syncThumbs()},setValue:function(c,g,b,e){var d=this,a=d.thumbs[c];g=d.normalizeValue(g);if(g!==a.value&&d.fireEvent("beforechange",d,g,a.value,a)!==false){a.value=g;if(d.rendered){d.inputEl.set({"aria-valuenow":g,"aria-valuetext":g});a.move(d.calculateThumbPosition(g),Ext.isDefined(b)?b!==false:d.animate);d.fireEvent("change",d,g,a);d.checkDirty();if(e){d.fireEvent("changecomplete",d,g,a)}}}},calculateThumbPosition:function(a){return(a-this.minValue)/(this.maxValue-this.minValue)*100},getRatio:function(){var b=this,a=this.vertical?this.innerEl.getHeight():this.innerEl.getWidth(),c=this.maxValue-this.minValue;return c===0?a:(a/c)},reversePixelValue:function(a){return this.minValue+(a/this.getRatio())},reversePercentageValue:function(a){return this.minValue+(this.maxValue-this.minValue)*(a/100)},onDisable:function(){var g=this,d=0,b=g.thumbs,a=b.length,c,e,h;g.callParent();for(;d {baseCls}-body-{ui} {parent.baseCls}-body-{parent.ui}-{.}" style="{bodyStyle}">',"{%this.renderContainer(out,values)%}","",'
    {baseCls}-strip-{ui} {parent.baseCls}-strip-{parent.ui}-{.}">
    '],initComponent:function(){var a=this;if(a.plain){a.setUI(a.ui+"-plain")}a.addClsWithUI(a.dock);a.addEvents("change");a.callParent(arguments);a.layout.align=(a.orientation=="vertical")?"left":"top";a.layout.overflowHandler=new Ext.layout.container.boxOverflow.Scroller(a.layout);a.remove(a.titleCmp);delete a.titleCmp;Ext.apply(a.renderData,{bodyCls:a.bodyCls})},getLayout:function(){var a=this;a.layout.type=(a.dock==="top"||a.dock==="bottom")?"hbox":"vbox";return a.callParent(arguments)},onAdd:function(a){a.position=this.dock;this.callParent(arguments)},onRemove:function(a){var b=this;if(a===b.previousTab){b.previousTab=null}b.callParent(arguments)},afterComponentLayout:function(a){this.callParent(arguments);this.strip.setWidth(a)},onClick:function(g,d){var c=this,i=g.getTarget("."+Ext.tab.Tab.prototype.baseCls),b=i&&Ext.getCmp(i.id),h=c.tabPanel,a=b&&b.closeEl&&(d===b.closeEl.dom);if(a){g.preventDefault()}if(b&&b.isDisabled&&!b.isDisabled()){if(b.closable&&a){b.onCloseClick()}else{if(h){h.setActiveTab(b.card)}else{c.setActiveTab(b)}b.focus()}}},closeTab:function(c){var d=this,b=c.card,e=d.tabPanel,a;if(b&&b.fireEvent("beforeclose",b)===false){return false}a=d.findNextActivatable(c);Ext.suspendLayouts();if(e&&b){delete c.ownerCt;b.fireEvent("close",b);e.remove(b);if(!e.getComponent(b)){c.fireClose();d.remove(c)}else{c.ownerCt=d;Ext.resumeLayouts(true);return false}}if(a){if(e){e.setActiveTab(a.card)}else{d.setActiveTab(a)}a.focus()}Ext.resumeLayouts(true)},findNextActivatable:function(a){var b=this;if(a.active&&b.items.getCount()>1){return(b.previousTab&&b.previousTab!==a&&!b.previousTab.disabled)?b.previousTab:(a.next("tab[disabled=false]")||a.prev("tab[disabled=false]"))}},setActiveTab:function(a){var b=this;if(!a.disabled&&a!==b.activeTab){if(b.activeTab){if(b.activeTab.isDestroyed){b.previousTab=null}else{b.previousTab=b.activeTab;b.activeTab.deactivate()}}a.activate();b.activeTab=a;b.fireEvent("change",b,a,a.card);b.on({afterlayout:b.afterTabActivate,scope:b,single:true});b.updateLayout()}},afterTabActivate:function(){this.layout.overflowHandler.scrollToItem(this.activeTab)}});Ext.define("Ext.tab.Panel",{extend:"Ext.panel.Panel",alias:"widget.tabpanel",alternateClassName:["Ext.TabPanel"],requires:["Ext.layout.container.Card","Ext.tab.Bar"],tabPosition:"top",removePanelHeader:true,plain:false,itemCls:Ext.baseCSSPrefix+"tabpanel-child",minTabWidth:undefined,maxTabWidth:undefined,deferredRender:true,initComponent:function(){var c=this,b=[].concat(c.dockedItems||[]),a=c.activeTab||(c.activeTab=0);c.layout=new Ext.layout.container.Card(Ext.apply({owner:c,deferredRender:c.deferredRender,itemCls:c.itemCls,activeItem:c.activeTab},c.layout));c.tabBar=new Ext.tab.Bar(Ext.apply({dock:c.tabPosition,plain:c.plain,border:c.border,cardLayout:c.layout,tabPanel:c},c.tabBar));b.push(c.tabBar);c.dockedItems=b;c.addEvents("beforetabchange","tabchange");c.callParent(arguments);c.activeTab=c.getComponent(a);if(c.activeTab){c.activeTab.tab.activate(true);c.tabBar.activeTab=c.activeTab.tab}},setActiveTab:function(a){var c=this,b;a=c.getComponent(a);if(a){b=c.getActiveTab();if(b!==a&&c.fireEvent("beforetabchange",c,a,b)===false){return false}if(!a.isComponent){Ext.suspendLayouts();a=c.add(a);Ext.resumeLayouts()}c.activeTab=a;Ext.suspendLayouts();c.layout.setActiveItem(a);a=c.activeTab=c.layout.getActiveItem();if(a&&a!==b){c.tabBar.setActiveTab(a.tab);Ext.resumeLayouts(true);if(b!==a){c.fireEvent("tabchange",c,a,b)}}else{Ext.resumeLayouts(true)}return a}},getActiveTab:function(){var b=this,a=b.getComponent(b.activeTab);if(a&&b.items.indexOf(a)!=-1){b.activeTab=a}else{b.activeTab=null}return b.activeTab},getTabBar:function(){return this.tabBar},onAdd:function(e,c){var d=this,b=e.tabConfig||{},a={xtype:"tab",card:e,disabled:e.disabled,closable:e.closable,hidden:e.hidden&&!e.hiddenByLayout,tooltip:e.tooltip,tabBar:d.tabBar,closeText:e.closeText};b=Ext.applyIf(b,a);e.tab=d.tabBar.insert(c,b);e.on({scope:d,enable:d.onItemEnable,disable:d.onItemDisable,beforeshow:d.onItemBeforeShow,iconchange:d.onItemIconChange,iconclschange:d.onItemIconClsChange,titlechange:d.onItemTitleChange});if(e.isPanel){if(d.removePanelHeader){if(e.rendered){if(e.header){e.header.hide()}}else{e.header=false}}if(e.isPanel&&d.border){e.setBorder(false)}}},onItemEnable:function(a){a.tab.enable()},onItemDisable:function(a){a.tab.disable()},onItemBeforeShow:function(a){if(a!==this.activeTab){this.setActiveTab(a);return false}},onItemIconChange:function(b,a){b.tab.setIcon(a)},onItemIconClsChange:function(b,a){b.tab.setIconCls(a)},onItemTitleChange:function(a,b){a.tab.setText(b)},doRemove:function(d,b){var c=this,a;if(c.destroying||c.items.getCount()==1){c.activeTab=null}else{if((a=c.tabBar.items.indexOf(c.tabBar.findNextActivatable(d.tab)))!==-1){c.setActiveTab(a)}}this.callParent(arguments);delete d.tab.card;delete d.tab},onRemove:function(b,c){var a=this;b.un({scope:a,enable:a.onItemEnable,disable:a.onItemDisable,beforeshow:a.onItemBeforeShow});if(!a.destroying&&b.tab.ownerCt===a.tabBar){a.tabBar.remove(b.tab)}}});Ext.define("Ext.toolbar.Spacer",{extend:"Ext.Component",alias:"widget.tbspacer",alternateClassName:"Ext.Toolbar.Spacer",baseCls:Ext.baseCSSPrefix+"toolbar-spacer",focusable:false});Ext.define("Ext.tree.Column",{extend:"Ext.grid.column.Column",alias:"widget.treecolumn",tdCls:Ext.baseCSSPrefix+"grid-cell-treecolumn",treePrefix:Ext.baseCSSPrefix+"tree-",elbowPrefix:Ext.baseCSSPrefix+"tree-elbow-",expanderCls:Ext.baseCSSPrefix+"tree-expander",imgText:'',checkboxText:'',initComponent:function(){var a=this;a.origRenderer=a.renderer||a.defaultRenderer;a.origScope=a.scope||window;a.renderer=a.treeRenderer;a.scope=a;a.callParent()},treeRenderer:function(l,n,c,b,k,e,j){var s=this,r=[],p=Ext.String.format,u=c.getDepth(),q=s.treePrefix,d=s.elbowPrefix,m=s.expanderCls,i=s.imgText,v=s.checkboxText,h=s.origRenderer.apply(s.origScope,arguments),g=Ext.BLANK_IMAGE_URL,o=c.get("href"),t=c.get("hrefTarget"),a=c.get("cls");while(c){if(!c.isRoot()||(c.isRoot()&&j.rootVisible)){if(c.getDepth()===u){r.unshift(p(i,q+"icon "+q+"icon"+(c.get("icon")?"-inline ":(c.isLeaf()?"-leaf ":"-parent "))+(c.get("iconCls")||""),c.get("icon")||g));if(c.get("checked")!==null){r.unshift(p(v,(q+"checkbox")+(c.get("checked")?" "+q+"checkbox-checked":""),c.get("checked")?'aria-checked="true"':""));if(c.get("checked")){n.tdCls+=(" "+q+"checked")}}if(c.isLast()){if(c.isExpandable()){r.unshift(p(i,(d+"end-plus "+m),g))}else{r.unshift(p(i,(d+"end"),g))}}else{if(c.isExpandable()){r.unshift(p(i,(d+"plus "+m),g))}else{r.unshift(p(i,(q+"elbow"),g))}}}else{if(c.isLast()||c.getDepth()===0){r.unshift(p(i,(d+"empty"),g))}else{if(c.getDepth()!==0){r.unshift(p(i,(d+"line"),g))}}}}c=c.parentNode}if(o){r.push('',h,"")}else{r.push(h)}if(a){n.tdCls+=" "+a}return r.join("")},defaultRenderer:function(a){return a}});Ext.define("Ext.tree.View",{extend:"Ext.view.Table",alias:"widget.treeview",requires:["Ext.data.NodeStore"],loadingCls:Ext.baseCSSPrefix+"grid-tree-loading",expandedCls:Ext.baseCSSPrefix+"grid-tree-node-expanded",leafCls:Ext.baseCSSPrefix+"grid-tree-node-leaf",expanderSelector:"."+Ext.baseCSSPrefix+"tree-expander",checkboxSelector:"."+Ext.baseCSSPrefix+"tree-checkbox",expanderIconOverCls:Ext.baseCSSPrefix+"tree-expander-over",nodeAnimWrapCls:Ext.baseCSSPrefix+"tree-animator-wrap",blockRefresh:true,loadMask:false,rootVisible:true,deferInitialRefresh:false,expandDuration:250,collapseDuration:250,toggleOnDblClick:true,stripeRows:false,uiFields:["expanded","loaded","checked","expandable","leaf","icon","iconCls","loading","qtip","qtitle"],initComponent:function(){var a=this,b=a.panel.getStore();if(a.initialConfig.animate===undefined){a.animate=Ext.enableFx}a.store=new Ext.data.NodeStore({treeStore:b,recursive:true,rootVisible:a.rootVisible,listeners:{beforeexpand:a.onBeforeExpand,expand:a.onExpand,beforecollapse:a.onBeforeCollapse,collapse:a.onCollapse,write:a.onStoreWrite,datachanged:a.onStoreDataChanged,scope:a}});if(a.node){a.setRootNode(a.node)}a.animQueue={};a.animWraps={};a.addEvents("afteritemexpand","afteritemcollapse");a.callParent(arguments);a.on({element:"el",scope:a,delegate:a.expanderSelector,mouseover:a.onExpanderMouseOver,mouseout:a.onExpanderMouseOut});a.on({element:"el",scope:a,delegate:a.checkboxSelector,click:a.onCheckboxChange})},getMaskStore:function(){return this.panel.getStore()},afterComponentLayout:function(){this.callParent(arguments);var a=this.stretcher;if(a){a.setWidth((this.getWidth()-Ext.getScrollbarSize().width))}},processUIEvent:function(a){if(a.getTarget("."+this.nodeAnimWrapCls,this.el)){return false}return this.callParent(arguments)},onClear:function(){this.store.removeAll()},setRootNode:function(b){var a=this;a.store.setNode(b);a.node=b},onCheckboxChange:function(d,a){var c=this,b=d.getTarget(c.getItemSelector(),c.getTargetEl());if(b){c.onCheckChange(c.getRecord(b))}},onCheckChange:function(a){var b=a.get("checked");if(Ext.isBoolean(b)){b=!b;a.set("checked",b);this.fireEvent("checkchange",a,b)}},getChecked:function(){var a=[];this.node.cascadeBy(function(b){if(b.get("checked")){a.push(b)}});return a},isItemChecked:function(a){return a.get("checked")},createAnimWrap:function(j,k){var g="",e=this.panel.headerCt,b=e.getGridColumns(),h=0,l=b.length,m,d=this.getNode(j),a,c;for(;h'}c=Ext.get(d);a=c.insertSibling({tag:"tr",html:['','
    ','',g,"
    ","
    ",""].join("")},"after");return{record:j,node:d,el:a,expanding:false,collapsing:false,animating:false,animateEl:a.down("div"),targetEl:a.down("tbody")}},getAnimWrap:function(d,a){if(!this.animate){return null}var b=this.animWraps,c=b[d.internalId];if(a!==false){while(!c&&d){d=d.parentNode;if(d){c=b[d.internalId]}}}return c},doAdd:function(b,d,i){var j=this,g=d[0],l=g.parentNode,k=j.all.elements,n=0,e=j.getAnimWrap(l),m,c,h;if(!e||!e.expanding){return j.callParent(arguments)}l=e.record;m=e.targetEl;c=m.dom.childNodes;h=c.length-1;n=i-j.indexOf(l)-1;if(!h||n>=h){m.appendChild(b)}else{Ext.fly(c[n+1]).insertSibling(b,"before",true)}Ext.Array.insert(k,i,b);if(e.isAnimating){j.onExpand(l)}},beginBulkUpdate:function(){this.bulkUpdate=true},endBulkUpdate:function(){this.bulkUpdate=false},onRemove:function(e,a,b){var d=this,c=d.bulkUpdate;if(d.viewReady){d.doRemove(a,b);if(!c){d.updateIndexes(b)}if(d.store.getCount()===0){d.refresh()}if(!c){d.fireEvent("itemremove",a,b)}}},doRemove:function(a,c){var h=this,d=h.all,b=h.getAnimWrap(a),g=d.item(c),e=g?g.dom:null;if(!e||!b||!b.collapsing){return h.callParent(arguments)}b.targetEl.appendChild(e);d.removeElement(c)},onBeforeExpand:function(d,b,c){var e=this,a;if(!e.rendered||!e.animate){return}if(e.getNode(d)){a=e.getAnimWrap(d,false);if(!a){a=e.animWraps[d.internalId]=e.createAnimWrap(d);a.animateEl.setHeight(0)}else{if(a.collapsing){a.targetEl.select(e.itemSelector).remove()}}a.expanding=true;a.collapsing=false}},onExpand:function(i){var h=this,e=h.animQueue,a=i.getId(),c=h.getNode(i),g=c?h.indexOf(c):-1,d,b,j;if(h.singleExpand){h.ensureSingleExpand(i)}if(g===-1){return}d=h.getAnimWrap(i,false);if(!d){h.isExpandingOrCollapsing=false;h.fireEvent("afteritemexpand",i,g,c);return}b=d.animateEl;j=d.targetEl;b.stopAnimation();e[a]=true;b.slideIn("t",{duration:h.expandDuration,listeners:{scope:h,lastframe:function(){d.el.insertSibling(j.query(h.itemSelector),"before");d.el.remove();h.refreshSize();delete h.animWraps[d.record.internalId];delete e[a]}},callback:function(){h.isExpandingOrCollapsing=false;h.fireEvent("afteritemexpand",i,g,c)}});d.isAnimating=true},onBeforeCollapse:function(d,b,c){var e=this,a;if(!e.rendered||!e.animate){return}if(e.getNode(d)){a=e.getAnimWrap(d);if(!a){a=e.animWraps[d.internalId]=e.createAnimWrap(d,c)}else{if(a.expanding){a.targetEl.select(this.itemSelector).remove()}}a.expanding=false;a.collapsing=true}},onCollapse:function(i){var h=this,e=h.animQueue,a=i.getId(),c=h.getNode(i),g=c?h.indexOf(c):-1,d=h.getAnimWrap(i),b,j;if(g===-1){return}if(!d){h.isExpandingOrCollapsing=false;h.fireEvent("afteritemcollapse",i,g,c);return}b=d.animateEl;j=d.targetEl;e[a]=true;b.stopAnimation();b.slideOut("t",{duration:h.collapseDuration,listeners:{scope:h,lastframe:function(){d.el.remove();h.refreshSize();delete h.animWraps[d.record.internalId];delete e[a]}},callback:function(){h.isExpandingOrCollapsing=false;h.fireEvent("afteritemcollapse",i,g,c)}});d.isAnimating=true},isAnimating:function(a){return !!this.animQueue[a.getId()]},collectData:function(c){var g=this.callParent(arguments),e=g.rows,a=e.length,d=0,h,b;for(;d1){b.expandPath(h.join(a),d,a,function(m,l){var k=l;if(m&&l){l=l.findChild(d,e);if(l){b.getSelectionModel().select(l);Ext.callback(g,i||b,[true,l]);return}}Ext.callback(g,i||b,[false,k])},b)}else{c=b.getRootNode();if(c.getId()===e){b.getSelectionModel().select(c);Ext.callback(g,i||b,[true,c])}else{Ext.callback(g,i||b,[false,null])}}}});Ext.define("Ext.view.DragZone",{extend:"Ext.dd.DragZone",containerScroll:false,constructor:function(b){var e=this,a,d,c;Ext.apply(e,b);if(!e.ddGroup){e.ddGroup="view-dd-zone-"+e.view.id}a=e.view;d=a.ownerCt;if(d){c=d.getTargetEl().dom}else{c=a.el.dom.parentNode}e.callParent([c]);e.ddel=Ext.get(document.createElement("div"));e.ddel.addCls(Ext.baseCSSPrefix+"grid-dd-wrap")},init:function(c,a,b){this.initTarget(c,a,b);this.view.mon(this.view,{itemmousedown:this.onItemMouseDown,scope:this})},onValidDrop:function(b,a,c){this.callParent();b.el.focus()},onItemMouseDown:function(b,a,d,c,g){if(!this.isPreventDrag(g,a,d,c)){this.view.focus();this.handleMouseDown(g);if(b.getSelectionModel().selectionMode=="MULTI"&&!g.ctrlKey&&b.getSelectionModel().isSelected(a)){return false}}},isPreventDrag:function(a){return false},getDragData:function(c){var a=this.view,b=c.getTarget(a.getItemSelector());if(b){return{copy:a.copy||(a.allowCopy&&c.ctrlKey),event:new Ext.EventObjectImpl(c),view:a,ddel:this.ddel,item:b,records:a.getSelectionModel().getSelection(),fromPosition:Ext.fly(b).getXY()}}},onInitDrag:function(b,j){var g=this,h=g.dragData,d=h.view,a=d.getSelectionModel(),c=d.getRecord(h.item),i=h.event;if(!a.isSelected(c)){a.select(c,true)}h.records=a.getSelection();g.ddel.update(g.getDragText());g.proxy.update(g.ddel.dom);g.onStartDrag(b,j);return true},getDragText:function(){var a=this.dragData.records.length;return Ext.String.format(this.dragText,a,a==1?"":"s")},getRepairXY:function(b,a){return a?a.fromPosition:false}});Ext.define("Ext.tree.ViewDragZone",{extend:"Ext.view.DragZone",isPreventDrag:function(b,a){return(a.get("allowDrag")===false)||!!b.getTarget(this.view.expanderSelector)},afterRepair:function(){var h=this,a=h.view,i=a.selectedItemCls,b=h.dragData.records,g,e=b.length,c=Ext.fly,d;if(Ext.enableFx&&h.repairHighlight){for(g=0;g=i.top&&h<(i.top+d)){return"before"}else{if(!a&&(k||(h>=(i.bottom-d)&&h<=i.bottom))){return"after"}else{return"append"}}},isValidDropPoint:function(b,j,n,k,g){if(!b||!g.item){return false}var o=this.view,l=o.getRecord(b),d=g.records,a=d.length,m=d.length,c,h;if(!(l&&j&&a)){return false}for(c=0;c=0;--k){m=o[k].selectorText;if(m){m=m.split(",");h=m.length;for(g=0;g2)?a[2]:null,h=(i>3)?a[3]:"/",d=(i>4)?a[4]:null,g=(i>5)?a[5]:false;document.cookie=c+"="+escape(e)+((b===null)?"":("; expires="+b.toGMTString()))+((h===null)?"":("; path="+h))+((d===null)?"":("; domain="+d))+((g===true)?"; secure":"")},get:function(d){var b=d+"=",g=b.length,a=document.cookie.length,e=0,c=0;while(e=0?a.substr(b+1):null},setHash:function(d){var a=this,c=a.useTopWindow?window.top:window;try{c.location.hash=d}catch(b){}},doSave:function(){this.hiddenField.value=this.currentToken},handleStateChange:function(a){this.currentToken=a;this.fireEvent("change",a)},updateIFrame:function(b){var a='
    '+Ext.util.Format.htmlEncode(b)+"
    ",d;try{d=this.iframe.contentWindow.document;d.open();d.write(a);d.close();return true}catch(c){return false}},checkIFrame:function(){var d=this,b=d.iframe.contentWindow,e,c,a,g;if(!b||!b.document){Ext.Function.defer(this.checkIFrame,10,this);return}e=b.document;c=e.getElementById("state");a=c?c.innerText:null;g=d.getHash();Ext.TaskManager.start({run:function(){var k=b.document,j=k.getElementById("state"),h=j?j.innerText:null,i=d.getHash();if(h!==a){a=h;d.handleStateChange(h);d.setHash(h);g=h;d.doSave()}else{if(i!==g){g=i;d.updateIFrame(i)}}},interval:50,scope:d});d.ready=true;d.fireEvent("ready",d)},startUp:function(){var a=this,b;a.currentToken=a.hiddenField.value||this.getHash();if(a.oldIEMode){a.checkIFrame()}else{b=a.getHash();Ext.TaskManager.start({run:function(){var c=a.getHash();if(c!==b){b=c;a.handleStateChange(b);a.doSave()}},interval:50,scope:a});a.ready=true;a.fireEvent("ready",a)}},init:function(d,b){var c=this,a=Ext.DomHelper;if(c.ready){Ext.callback(d,b,[c]);return}if(!Ext.isReady){Ext.onReady(function(){c.init(d,b)});return}c.hiddenField=Ext.getDom(c.fieldId);if(!c.hiddenField){c.hiddenField=Ext.getBody().createChild({id:Ext.id(),tag:"form",cls:Ext.baseCSSPrefix+"hide-display",children:[{tag:"input",type:"hidden",id:c.fieldId}]},false,true).firstChild}if(c.oldIEMode){c.iframe=Ext.getDom(c.iframeId);if(!c.iframe){c.iframe=a.append(c.hiddenField.parentNode,{tag:"iframe",id:c.iframeId,src:Ext.SSL_SECURE_URL})}}c.addEvents("ready","change");if(d){c.on("ready",d,b,{single:true})}c.startUp()},add:function(a,c){var b=this;if(c!==false){if(b.getToken()===a){return true}}if(b.oldIEMode){return b.updateIFrame(a)}else{b.setHash(a);return true}},back:function(){window.history.go(-1)},forward:function(){window.history.go(1)},getToken:function(){return this.ready?this.currentToken:this.getHash()}});Ext.define("Ext.util.Point",{extend:"Ext.util.Region",statics:{fromEvent:function(a){a=(a.changedTouches&&a.changedTouches.length>0)?a.changedTouches[0]:a;return new this(a.pageX,a.pageY)}},constructor:function(a,b){this.callParent([b,a,b,a])},toString:function(){return"Point["+this.x+","+this.y+"]"},equals:function(a){return(this.x==a.x&&this.y==a.y)},isWithin:function(b,a){if(!Ext.isObject(a)){a={x:a,y:a}}return(this.x<=b.x+a.x&&this.x>=b.x-a.x&&this.y<=b.y+a.y&&this.y>=b.y-a.y)},roundedEquals:function(a){return(Math.round(this.x)==Math.round(a.x)&&Math.round(this.y)==Math.round(a.y))}},function(){this.prototype.translate=Ext.util.Region.prototype.translateBy});Ext.define("Ext.view.TableChunker",{singleton:true,requires:["Ext.XTemplate"],metaTableTpl:["{%if (this.openTableWrap)out.push(this.openTableWrap())%}",'',"",'','','',"","","{[this.openRows()]}","{row}",'',"{[this.embedFeature(values, parent, xindex, xcount)]}","","{[this.closeRows()]}","","
    ","{%if (this.closeTableWrap)out.push(this.closeTableWrap())%}"],constructor:function(){Ext.XTemplate.prototype.recurse=function(b,a){return this.apply(a?b[a]:b)}},embedFeature:function(b,d,a,e){var c="";if(!b.disabled){c=b.getFeatureTpl(b,d,a,e)}return c},embedFullWidth:function(b){var a='style="width:{fullWidth}px;';if(!b.rowCount){a+="height:1px;"}return a+'"'},openRows:function(){return''},closeRows:function(){return""},metaRowTpl:['','','','
    {{id}}
    ',"","
    ",""],firstOrLastCls:function(a,b){if(a===1){return Ext.view.Table.prototype.firstCls}else{if(a===b){return Ext.view.Table.prototype.lastCls}}},embedRowCls:function(){return"{rowCls}"},embedRowAttr:function(){return"{rowAttr}"},openTableWrap:undefined,closeTableWrap:undefined,getTableTpl:function(k,b){var j,h={openRows:this.openRows,closeRows:this.closeRows,embedFeature:this.embedFeature,embedFullWidth:this.embedFullWidth,openTableWrap:this.openTableWrap,closeTableWrap:this.closeTableWrap},g={},c=k.features||[],m=c.length,e=0,l={embedRowCls:this.embedRowCls,embedRowAttr:this.embedRowAttr,firstOrLastCls:this.firstOrLastCls,unselectableAttr:k.enableTextSelection?"":'unselectable="on"',unselectableCls:k.enableTextSelection?"":Ext.baseCSSPrefix+"unselectable"},d=Array.prototype.slice.call(this.metaRowTpl,0),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 TCTt#-00000NkvXXu0mjfpUP1v literal 0 HcmV?d00001 diff --git a/api/extjs/resources/themes/images/default/box/corners-blue.gif b/api/extjs/resources/themes/images/default/box/corners-blue.gif new file mode 100755 index 0000000000000000000000000000000000000000..fa419b50abe5030db04492578d5dfd39c02fb6ab GIT binary patch literal 1010 zcmZ?wbhEHbXlGzpbnMH9^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~LwoUdG4CQ1IlzMJEOhS7<|o6TkONJB|cJt&_qGY8j_CFdSfKOOVXz5IAt4 zV}p{G0>c6amIz;I6#<3?kJdQw@UbxnC^#-)=MmtuQ0WM8YMvo$(vtdt@jw$#qNfCh wKq7O5AQyweiU(yaTnsEKITutM85$V*3^XlGzJaNxkCA+uU@@+{rdHrH*em)ef#d+yZ7(kfB5j>g)|NZ;-|Nno6kqR9CJB(DX)7#&QKUtU= zfEhstWHBgDFmRk=;OCU_C{XAUlw(`PkjU7?)Tn7;VYmK z&r@KbvglBQu=1upg@udrDMSY z2FDg@ogF$0Oia(gUJntM;F*w7{y{XRIF%d;*fMw Ru}w*2KC@pnhK+^68UTSX)nNbt literal 0 HcmV?d00001 diff --git a/api/extjs/resources/themes/images/default/box/l-blue.gif b/api/extjs/resources/themes/images/default/box/l-blue.gif new file mode 100755 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/api/extjs/resources/themes/images/default/box/l.gif b/api/extjs/resources/themes/images/default/box/l.gif new file mode 100755 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/api/extjs/resources/themes/images/default/box/r-blue.gif b/api/extjs/resources/themes/images/default/box/r-blue.gif new file mode 100755 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/api/extjs/resources/themes/images/default/box/r.gif b/api/extjs/resources/themes/images/default/box/r.gif new file mode 100755 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/api/extjs/resources/themes/images/default/box/tb-blue.gif b/api/extjs/resources/themes/images/default/box/tb-blue.gif new file mode 100755 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@@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/api/extjs/resources/themes/images/default/btn-group/btn-group-default-framed-corners.gif b/api/extjs/resources/themes/images/default/btn-group/btn-group-default-framed-corners.gif new file mode 100755 index 0000000000000000000000000000000000000000..70f2dd4df32e16c90d8ed55caaede6826a8b62d6 GIT binary patch literal 1598 zcmZ?wbhEHbWMbf9`2L?^+lgx@uD#fG>c)-}*Y3Ugbn3>79j9(RdiCYOt1l;RJbUos z%l}a@8Un*N1QdU=FfuT3Gw3h?0Vq$jkLHNs8{4BkBOC%8(hQ6Y77ia84lppW$Ouee TXk=vM5Ryc)-}*Y3Ugbn3>79j9(RdiCYOt1l;RJbUos z%l}a@8Un*N1QdU=FfuT3Gw3h?0Vq$jkLHNs8{4BkBOC%8(hQ6Y77ia84lppW$Ouee TXk=vM5Ry|z+UAje;)Ap|z+UAje;)Ap=dU~2cWFHR)gEau0j};&Q literal 0 HcmV?d00001 diff --git a/api/extjs/resources/themes/images/default/btn/btn-default-large-bg.gif b/api/extjs/resources/themes/images/default/btn/btn-default-large-bg.gif new file mode 100755 index 0000000000000000000000000000000000000000..5e1f83f8b585f0c94d4f0c19640e78167fda552e GIT binary patch literal 1825 zcmZ?wbhEHbRZa5fB23 zKUo+V7&sVo7=QqjC)!7I#0ZG?Q7_^Q0gitRoE$P98x|aF<`CA>iCD1kaJzuA*Bpi8YXK5ui`ndY3b?d3`wWvcy3;HcD6*we|J&4aukH`R?BK_V$kA*Z0ou-v0jn vfo5)bzdbuXK0Yy7JO13Bou8jySnNIDZ||CMz{#M)00f{s(LS0ZhI^ck`VU_SaOg5Ha_Bg0NN8y0U}f?UNN`|aW@Qs7 enX#aOkx5uqPDDU~k+GMZi9?~F!J(;v!5RQbr2}XH literal 0 HcmV?d00001 diff --git a/api/extjs/resources/themes/images/default/btn/btn-default-large-disabled-bg.gif b/api/extjs/resources/themes/images/default/btn/btn-default-large-disabled-bg.gif new file mode 100755 index 0000000000000000000000000000000000000000..e5ae29f88d0cb0f30f924c86b17628844fe591c9 GIT binary patch literal 1825 zcmZ?wbhEHbRZa5fB23 zKUo+V7&sVo7=QqjC)!7I#0ZG?Q7_^Q0gitRoE$P98x|aF<`CA>iCD1kaJzuA*Bpi8YXK5ui`ndY3b?d3`wWvcy3;HcD6*we|J&4aukH`R?BK_V$kA*Z0ou-v0jn vfo5)bzdbuXK0Yy7JO13Bou8jySnNIDZ||eZV!Z{EFo_wC!afB*jd9|fZ!Ffu|w@h1x- z0|PsQ4g(N?@CMz{#M)00f{s(LS0ZhI^ck`VU_SaQtUr7m+^Zc%JU=Z!fQJ3qHPYZ?t*tz5TV% zkMY)2_Di*d$TAg^+Y$otFNz5 zINT-cy=~3S%^8`2GdnjwKfl1aTh4damY0`T1h0-eyKC#~>l>0!&-2~A z?d|Oy#jo$3-M#(&{R7S1@_u`Ee0+RjvUdErJv%=?zp&VQzTe(mUtizYoPGb?-re8d ZKRDdYEAPK=&(F^qpx4FDDCmdpSE literal 0 HcmV?d00001 diff --git a/api/extjs/resources/themes/images/default/btn/btn-default-large-focus-corners.gif b/api/extjs/resources/themes/images/default/btn/btn-default-large-focus-corners.gif new file mode 100755 index 0000000000000000000000000000000000000000..697108e9cb369f27235f8b2d497d0ef98073cf63 GIT binary patch literal 1621 zcmZ?wbhEHbWM&Xz`2L?^)0q!PZhhHv<dG&OQ3^@87@wqhK@yhFu6K{$ycfVBllWVE_V9o@gJ<5yLK$M?FMB2yhrNuye#X zY)EKm=3wP3aA06)WZ`BIa0xhYu!)6>gUO*_Lqh`tp9q6Rg+c=ZGdqt32M2>S05$^v AxBvhE literal 0 HcmV?d00001 diff --git a/api/extjs/resources/themes/images/default/btn/btn-default-large-focus-sides.gif b/api/extjs/resources/themes/images/default/btn/btn-default-large-focus-sides.gif new file mode 100755 index 0000000000000000000000000000000000000000..8137ad21c72b6469ed0ee790107d047f203d9cfd GIT binary patch literal 1923 zcmZ?wbhEHbWMgn*{{Ej~!U67!85p7y^nvSr{1@co}pUfB=*y+DCK5aE#|sKM@-O9RC>@RU~FGG&nS| zaf-1lSg??(nNQxRB%`45C@Y&_hD*YShU3h#_HAD>E;M*DtNKgn9N2W=)HF8E6DkQ4 z8hzQ=*k8yb1T^?F+SapuwG`24VDMm;@LBaG^Zc%JU=Z!fQJ z3qHPYZ?t*tz5TV%kMY)2_Di*d$TAg^+Y$otFNz5 zINT-cy=~3S%^8`2GdnjwKfl1aTh4damY0`T1h0-eyKC#~>l>0!&-2~A z?d|Oy#jo$3-M#(&{R7S1@_u`Ee0+RjvUdErJv%=?zp&VQzTe(mUtizYoPGb?-re8d ZKRDdYEAPK=&(F^qpx4FKvEmc#%6 literal 0 HcmV?d00001 diff --git a/api/extjs/resources/themes/images/default/btn/btn-default-large-over-corners.gif b/api/extjs/resources/themes/images/default/btn/btn-default-large-over-corners.gif new file mode 100755 index 0000000000000000000000000000000000000000..91cdc04e6e7ece4e648a51431f547af5324185cd GIT binary patch literal 1621 zcmZ?wbhEHbWM&Xz`2L?^)0q!PZhhHv<=D9)0?E?$M8b|Ni|S1*0J_yh1?nCkrD313!Zf0}z1nMEhut7+x_v>KoERfWwG^ zog>9zLqbC{2P#(vCWnFz4Gj$ZVhk1)3Jna*>^wFc91PX~ DdYt|_ literal 0 HcmV?d00001 diff --git a/api/extjs/resources/themes/images/default/btn/btn-default-large-over-sides.gif b/api/extjs/resources/themes/images/default/btn/btn-default-large-over-sides.gif new file mode 100755 index 0000000000000000000000000000000000000000..6dfce7ce216d7edf9a5fd1482c15a000b4395dd8 GIT binary patch literal 1923 zcmZ?wbhEHbWMgn*{{Ej~!@RU~FGG&nS| zaf-1lSg??(nNQxRB%`45C@Y&_hD*YShU3h#_HAD>E;M*DtNKgn9N2W=)HF8E6DkQ4 z8hzQ=*k8yb1T^?F+SapuwG`24VDMm;@LBaG^Zc%JU=Z!fQJ z3qHPYZ?t*tz5TV%kMY)2_Di*d$TAg^8Un*51QdU=FfuR*GUzY>0Vq$jkLHNs61SuN zASVPk{xfiL$arj6aIl#}SS#klgon-T0?J-#%jz)zuN3gG>)>U44B$)1fX|?`>;tZqB$oN%z3EwYRqyJU%tod;7Y(yDL7wx_f&2 z`uqDEn7QSAc5HZfxIB6idh zWQG98e+Fh7i606L4oz&FVm1~R5}Mn2Wt^t`n2>aYfyGG3U`3&_Td#~`-5H5VDGcly zvJyTkjSe(T=jLIW!FeE|X*OrhBa;;imNPZ8H_0(*P00voW}77Cuxd(X&~k5Po*7mL z7BsA8T9b6OYHId12G&Dj1{!5L5gSu3&f}du?QPWN)Z2$brN6Jev%Bo`wY%Qi*GKQG z|9g(tr(#3mo(BHcqCGP{K04H^XdgDm!YK9lRQ2e4YjzetJ3qtOo6R=r%hO9M{8vBo zsoI);c}?PeKiS#ea;~qzPZ1? zJiEFve!85kb@}VN+pFv3_4n2M`265!Dt8! z_YhG0$->CMz{#M)00f{s(LS0ZhI^ck`VU_SaQtUr6p@HvXmDs^;}o;8xUitHolVAR z%8v<2E(`+tX(km59y9jIIhKk16l^#?Nu8H3!ty{u!*oU-t{IvRYQD3L3$L*_6sP;o zW#i;f6)4FFT9od4BA^s^46EJ`x)q?(g_47dGdH{^R3)%KULUI}0A4 zoUZG9Y)@oy>Zv*Q>1=N;x4gWx!gICU* z$9QWh@*f@Q*7iRqv-9)g3(fY^h-~Rmh^Xu2IA3uKl9|fZ!Ffu|w@h1x- z0|PsQ4g(N?@CMz{#M)00f{s(LS0ZhI^ck`VU_SaOg5Ha_Bg0NN8y0U}f?UNN`|aW@Qs7 enX#aOkx5uqPDDU~k+GMZi9?~F!J(;v!5RQbr2}XH literal 0 HcmV?d00001 diff --git a/api/extjs/resources/themes/images/default/btn/btn-default-medium-disabled-bg.gif b/api/extjs/resources/themes/images/default/btn/btn-default-medium-disabled-bg.gif new file mode 100755 index 0000000000000000000000000000000000000000..23d7e57d652ec1e0a74324ce0ba59c67fdf3ff23 GIT binary patch literal 1809 zcmZ?wbhEHbeZV!Z{EFo_wC!afB*jd9|fZ!Ffu|w@h1x- z0|PsQ4g(N?@RZa5fB23 zKUo+V7&sVo7=QqjC)!7I#0ZG?Q7_^Q0gnF+>>?5o2@MWSY@A{?76yt=ZQP<(ITi;R zT$$PQlh#xiCLd>HaS}4nSg?elnIVYDVdbP$uj$(CD|#|NJ!zPw;w!~-!1%zqdG?iT zUo97?2QGG=EXKMkB;)d8pNV#%T3fTOtoB=*c9g4h_4RcLD~m*bPtCcpGGpt!(Clrw zw>IXVJ{HS8{cX(lvd`D|NGwkQS$oI=J5J`wpHI>-`Q9na9wX-&5zIb&MtT7uiN|k z+lP~zr~jW<_vhn}tM{+x@2~&&^Z!-x2Xzde%oo(NsYN_!V$!;y(9B||k=P=l#Idkd YI4R;`qm0##h3!&pHy&m&GBQ{L0Q6s@rT_o{ literal 0 HcmV?d00001 diff --git a/api/extjs/resources/themes/images/default/btn/btn-default-medium-focus-bg.gif b/api/extjs/resources/themes/images/default/btn/btn-default-medium-focus-bg.gif new file mode 100755 index 0000000000000000000000000000000000000000..fe97ab427f5c93e89c104111d92117aa3036244c GIT binary patch literal 1817 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 A>i_@% literal 0 HcmV?d00001 diff --git a/api/extjs/resources/themes/images/default/btn/btn-default-small-corners.gif b/api/extjs/resources/themes/images/default/btn/btn-default-small-corners.gif new file mode 100755 index 0000000000000000000000000000000000000000..76f32bd594fe44200d4e1e8968351af8c9a6863f GIT binary patch literal 1614 zcmZ?wbhEHbWM&Xz`2L^a!i5XZo;|yF@7|RwS6;k$@$cWiSFc`Ox^(HzojdCMz{#M)00f{s(LS0ZhI^ck`VU_SaA-3ya_Bg0NN8y0U}f?UNN`|aW@QtQ caZqq%WM)ybve8g*U}BP%Z(L;da4g))fjK_ur2b(#BwRAidEIiyUpzM{Sv0%~BZVBV8H5>~T zAMaOi?vnA`q;i5mBY0KJ$xTa7Pd7+DHOF)Fva_=-ieKG1xq12d`3}uovR+$OTwLri zSu6I`mX(*62Q2oQ>$P>&)zuN3v+kbSy88P1gu`93-rLsP+?;WFRqW|)Yj1BaczkNE z_x5#ncUOFVb@%l4_4oHTFmucK?AY+|aEGvV+?gF4A0MBf>^;wC=ccEpXBcPSJF|21 z^YaUwyXAa$ZFzZlMeyplv%9vwzP=&(^gQ3)+uq*ZQT+Pe+1=aU-#_5a&ca{~02ont A`v3p{ literal 0 HcmV?d00001 diff --git a/api/extjs/resources/themes/images/default/btn/btn-default-small-disabled-corners.gif b/api/extjs/resources/themes/images/default/btn/btn-default-small-disabled-corners.gif new file mode 100755 index 0000000000000000000000000000000000000000..9188a88982fa907f2d366ef105f3299afc642c74 GIT binary patch literal 1614 zcmZ?wbhEHbWM&Xz`2L^a-o1Md9z1yU>eZV!Z{EFo_wC!afB*jd9|fZ!Ffu|w@h1x- z0|PsQ4g(N?@o}QYdo47AzrjeTObkp=(cUEprKR4f^`4o#)$cwX! zJo>esdX}v8U+lBc&R1&ctB~cstCObA`nu}c`nbbovZuGM3Eh-_HqZBT+1lt08TY$F zxu?Iov#s>wy{XdX`tiGKzyFfe*-`M|aD(t`*F6y*?;o2W@2z&GVpHPrDTeWVb7p={ zJ3ZC9`I^kH%`Yx53!Wb5yK8Iuwe_+6eZJM(a<6R2Up=jN_V;(U_BQ^%HrLvs@cz+u z>G*YfDnC6xv6#EvF80^QS2xyYr~B3JE`ELIV7>8qxp{vo-rqgFSbYA!J-@!cd%S)A o`F;B;e|>+u{`~p+{q;Y7{8gV{#~@^pP|vDVv7q57D+_})0F%Iib#-;b=B&G?wywUuKH+eetoODxH#cWoUKM+K z+uGaP3m%`E>%D#5-Q5+RU)?>uef|CY4b0qfK07u%Jlr9y9d~BO#>dAeD0|QI*}3WI z=^4h^_s;Cx{QUd^=WaRQU0YsWUJ<-H?(D9uudi=NK0VKO_qMmUcND+AcXs#o_xBGp SbIbef+41r52}^bs25SI|GJbpj literal 0 HcmV?d00001 diff --git a/api/extjs/resources/themes/images/default/btn/btn-default-small-focus-corners.gif b/api/extjs/resources/themes/images/default/btn/btn-default-small-focus-corners.gif new file mode 100755 index 0000000000000000000000000000000000000000..a0ed287cf33e4de80508cea3d5a20ab1864d94e9 GIT binary patch literal 1622 zcmZ?wbhEHbWM&Xz`2L?^)0q!PZhhHv<;M2czkA6J*^bZLBkAl$<7%m~8_>+Z^fkBW#hXDvcd7^zZM+}#^9rXt} zA;4kGz|K+QupyzLnS+(D!{Gr#BP&0jfK7nHp=MSdITMe92MLUfj7kO!1pT6T literal 0 HcmV?d00001 diff --git a/api/extjs/resources/themes/images/default/btn/btn-default-small-focus-sides.gif b/api/extjs/resources/themes/images/default/btn/btn-default-small-focus-sides.gif new file mode 100755 index 0000000000000000000000000000000000000000..f3f673c7d9163e62727c75f3bc726f871a57a670 GIT binary patch literal 1879 zcmZ?wbhEHbWMeR3{{Ej~!ZuT4+J zhlZofZ0s2_2>}i6jI#D^Uos3DPBN(aFEiOGq}ni9FLB$PpFyd<)6A1^O_@1a?fiV} z=0_}6AuG-;^61z4nmHviXt{T_m#WlMtt+d8XQ$Qf+PW%ib?n9_+231r!Z)R#t@1rx zwl;cW*28U6f19m|-BSAT(%owFy!$)rKmWQaJwyND;bviGw>=RX9~_$??``&GMp4S? z$=um#b7mSpJ3m{yeV@&)%^ByHIxdc@-DR42ZGG(QKHutXxmPz8UcXjry*2;F-p0>z z|E$YD-aXzdEk19K#pmaz7b~~h#qRp_>c;x)^1Qj#W$$m#?lxI2H_ztB=f}I3|KGQ7 xPu1tQ7Z1<>zt67v*Y~%(&!4Z~U;pzLib#-;b=B&G?wywUuKH+eetoODxH#cWoUKM+K z+uGaP3m%`E>%D#5-Q5+RU)?>uef|CY4b0qfK07u%Jlr9y9d~BO#>dAeD0|QI*}3WI z=^4h^_s;Cx{QUd^=WaRQU0YsWUJ<-H?(D9uudi=NK0VKO_qMmUcND+AcXs#o_xBGp SbIbef+41r52}^bs25SI|GJbpj literal 0 HcmV?d00001 diff --git a/api/extjs/resources/themes/images/default/btn/btn-default-small-over-corners.gif b/api/extjs/resources/themes/images/default/btn/btn-default-small-over-corners.gif new file mode 100755 index 0000000000000000000000000000000000000000..1f89ac57934151efcf9499f1eb8755ff75496bc1 GIT binary patch literal 1621 zcmZ?wbhEHbWM&Xz`2L?^)42~vZhhHv<=D9(?+D?$M7&pZ)>C|4}d+0>dZ-6o0ZXGB5}*=r8~QC{MJH=7?bwy`x?sIRrS2 z7}z;V95y60G;^@>H8?OZFtYM72(Sb&G%>Ss%NSTNJV;<ftj7hfrEp= F8UO{${b~RJ literal 0 HcmV?d00001 diff --git a/api/extjs/resources/themes/images/default/btn/btn-default-small-over-sides.gif b/api/extjs/resources/themes/images/default/btn/btn-default-small-over-sides.gif new file mode 100755 index 0000000000000000000000000000000000000000..f3f673c7d9163e62727c75f3bc726f871a57a670 GIT binary patch literal 1879 zcmZ?wbhEHbWMeR3{{Ej~!ZuT4+J zhlZofZ0s2_2>}i6jI#D^Uos3DPBN(aFEiOGq}ni9FLB$PpFyd<)6A1^O_@1a?fiV} z=0_}6AuG-;^61z4nmHviXt{T_m#WlMtt+d8XQ$Qf+PW%ib?n9_+231r!Z)R#t@1rx zwl;cW*28U6f19m|-BSAT(%owFy!$)rKmWQaJwyND;bviGw>=RX9~_$??``&GMp4S? z$=um#b7mSpJ3m{yeV@&)%^ByHIxdc@-DR42ZGG(QKHutXxmPz8UcXjry*2;F-p0>z z|E$YD-aXzdEk19K#pmaz7b~~h#qRp_>c;x)^1Qj#W$$m#?lxI2H_ztB=f}I3|KGQ7 xPu1tQ7Z1<>zt67v*Y~%(&!4Z~U;pzL~Z|gacpt4t&{j;mMwJPj;Pq z@_!VJhQRO*0mYvzj0_Ci3_1)z0Ll~Xqd8*u#`dVs2!{a22L?_K8IKJM4mLB1YQ&t_ zpxD$dpzJlr<6~lDw}f%lof8`uyE7;_cga*PSaNc*2K$Pblbe>Fp034uVvgtLWoKs_ zF~7KTa`W=@^BtPGWWBbmxVYG3vR3S=Eh{fC4_NFq*K6yltE(e6XWc!ub@lc235UC6 zy|=BoxjEzVs@T)p*52M;@c7hR@9pdE?ymU!>h9_7>+kPxVCI(d*|Fi_;SOQ#xHCI8 zK0ZD{*?XSP&P`8G&oIuucV_42=jRtVcgy+i+Vb-9is038XLoIVeSJgn>3P1px4pf+ qqxki`v%9yyzki^aTi$Qaj*pK|OxBJ+w`b?)=NA@x@0Sr^um%8jj(Q*f literal 0 HcmV?d00001 diff --git a/api/extjs/resources/themes/images/default/btn/btn-default-small-pressed-corners.gif b/api/extjs/resources/themes/images/default/btn/btn-default-small-pressed-corners.gif new file mode 100755 index 0000000000000000000000000000000000000000..b36e111532e61d73125488c344003442276d86ce GIT binary patch literal 1621 zcmZ?wbhEHbWM&Xz`2L?^-i~_<_S~Cx=*zra54N3pvf{v_X-B?nJM(14p$97tJXm$; z(X0b+{{8#6=E$S}qhK@yhFu6K{$ycfVBllWVE_V9o@gJ<5yLK$M?FMB2yhrNuyd$5 zd}wfF<`CwRd9Z+?fr*!c!GOb|k(r5?OJ)KG!@?$3CaE$J0fz%jEQ|sc92^YR0LiEK A&Hw-a literal 0 HcmV?d00001 diff --git a/api/extjs/resources/themes/images/default/btn/btn-default-small-pressed-sides.gif b/api/extjs/resources/themes/images/default/btn/btn-default-small-pressed-sides.gif new file mode 100755 index 0000000000000000000000000000000000000000..d322e2c7306f42ffdba5eb8bdc82c04a6a3e9325 GIT binary patch literal 1892 zcmZ?wbhEHbWMeR3{{Ek#=fIbFyBMqk7a^M1=sye+Fg&2@iz^hbA_0jhF<3 z#=|VU@=`7if(MUuiEB!+91v_c$gIFGA>&YV;KU?0))gWXik2Q^GT`3RV=0{GJCiZ# z(Ur>0>3*~9bJ^~4PI(?M-)*v3tX4>7@G_VAUcFwTnjx!$H-_1sy81F~ebnKyy;f$~ zH`k{eoF}?^TkfsxX?Kscc9*TYyQ|{nrK{D`^Y3kKc=}KD&Gv!^d)t4j$@R?mkaW0D z*?iubh@#X}J^I<_&PW=iouBPkUgvY`Q^w^*!PEcku_}3ec}?K{Fx}l{Z*H&4eSVC$ zdi(o(2Qoj4{hM9!;pT}_`S83wm7gA-?{<&poBOlm`L)gA_w{0{%imqu-|finFK1ox z`SHc+`_J9`UG@Fdiv5f+lvO84v0N SxPB~X;R};^7|O`VU=09P5R<6@ literal 0 HcmV?d00001 diff --git a/api/extjs/resources/themes/images/default/btn/btn-default-small-sides.gif b/api/extjs/resources/themes/images/default/btn/btn-default-small-sides.gif new file mode 100755 index 0000000000000000000000000000000000000000..52a797ee93f3aa44dce044d102b65ef51b7e2617 GIT binary patch literal 1873 zcmZ?wbhEHbWMeR3{{Elg!i5V@o;-Q<=+TcKKmPpr^Xu2I|D#|u1V&5mSmU>TBO`JF7q*0ppEdBgfTTT`~^P6v*%_OU}CF9%z z_f9p_uFWs~m-$ckD(#xGDrj}UYPX|SrK`i&CakX$l{VA9xjF4}neJ|}+~}<_kNaA! zzpstmne%biRd4hB*nQ>yxxRTx%qG`}?)c z&(-`WdVaRsdA{D>s!uPjuT0+|z`)3$!vF-JJkdUyBSvak81*+O Y1UUE@m^oxTHY_;U%pt7C!@*z;06j7TnE(I) literal 0 HcmV?d00001 diff --git a/api/extjs/resources/themes/images/default/btn/btn-default-toolbar-large-disabled-corners.gif b/api/extjs/resources/themes/images/default/btn/btn-default-toolbar-large-disabled-corners.gif new file mode 100755 index 0000000000000000000000000000000000000000..f19715a3e6339b5eef2e557a3bbd7ce11221ee9f GIT binary patch literal 1585 zcmZ?wbhEHbWM&Xz`2L^a-@kwVN5N+|z`)3$!vF-JJkdUyBSvak81*+O Y1UUE@m^oxTHY_;U%pt7C!@*z;06j7TnE(I) literal 0 HcmV?d00001 diff --git a/api/extjs/resources/themes/images/default/btn/btn-default-toolbar-large-disabled-sides.gif b/api/extjs/resources/themes/images/default/btn/btn-default-toolbar-large-disabled-sides.gif new file mode 100755 index 0000000000000000000000000000000000000000..51698b0b77c71e821200c632bec55c3857ae77ac GIT binary patch literal 1596 zcmZ?wbhEHbWMfcb`2L^a-@kwVN5N+|z`)3$!vF-JJkdUyBSvak81*+O k1UMuam^oxTHY_;U%pt55b7I57!|ejfUUOa;C@@$908dy6$^ZZW literal 0 HcmV?d00001 diff --git a/api/extjs/resources/themes/images/default/btn/btn-default-toolbar-large-focus-bg.gif b/api/extjs/resources/themes/images/default/btn/btn-default-toolbar-large-focus-bg.gif new file mode 100755 index 0000000000000000000000000000000000000000..f182b67f326a4a369817ffefc56acfbc3cc85bec GIT binary patch literal 1851 zcmZ?wbhEHbC+w%$PCj)zuN3v(`#2 zSbcqc!r?Ai?`>;tZqB&8D)#iYwYRqyJU%tod;7Y(yDL7wx_f&2`uqDEn7QSAc5HZf zxIm0dwza?ad~z8`F(qTfB*3K^nCyQ|9&Jel{{35b;@PHC&lVkc z(zWW+hBGg^)?C_h?$x$)Z~l*h(GVC$A)xq^g^__lfI)`=2tawFeKbc5qv##=3dteB zVZ^}5q2jP1p`n?Bm8qd2fuV_=g-t+a0s|8xI}eAMM1etL1A~BsiNy|u1}0{19tRE% G25SJl81_~G literal 0 HcmV?d00001 diff --git a/api/extjs/resources/themes/images/default/btn/btn-default-toolbar-large-focus-sides.gif b/api/extjs/resources/themes/images/default/btn/btn-default-toolbar-large-focus-sides.gif new file mode 100755 index 0000000000000000000000000000000000000000..f787cda78a67ba643097fa5f68e1d6e49fd7c721 GIT binary patch literal 1939 zcmZ?wbhEHbWMgn*{{Ek#VabI(SHA4J^x?p@FMFg6!g@K|I1DBGPfkvT{ODCInMofZ0qdN;5Z-O^c#I^7q$dfVH`ZTWYX^?H}DySt&{;F)lPeQSH}@pEUZx4*w~Ad&s}-{>8Mj}Dirzu&vZ;?v_(3yr70v-$P;^|j6Z$M?ln ze|`60e|JH?-@K~IcaP7mcCWuz{rkiF%bVlh&$Fxf{pt1j`|J1rul@J`=k)jn7QT#x z8jeTP6&l#JUMMtkb4esN3Y&2}Y!*uLSlA|(R`IZ1u5E{6hjQ1A#7>QQE0S7uif$-% aYVXoe?$MtWk=$i|%;Ry7nU;hAgEauy9;WgD literal 0 HcmV?d00001 diff --git a/api/extjs/resources/themes/images/default/btn/btn-default-toolbar-large-over-bg.gif b/api/extjs/resources/themes/images/default/btn/btn-default-toolbar-large-over-bg.gif new file mode 100755 index 0000000000000000000000000000000000000000..febf0a6f9841268ed5f254a4a89664814b0ae556 GIT binary patch literal 1851 zcmZ?wbhEHbC+w%7{*Qvu5EynLp!k!8k%57aL5BedKzX8lG)D}(NFMbN2_eAopFxyE#$&^R zgUuYmauFvsEIiyUpzJlrBk)mEw}f$)$$^cFkM}D$7r8iWT5@u-M(`w^1Dlqfo^FtQ zYR<_8%g)ZWkbZIJ$PCj)zuN3v(`#2 zSbcqc!r?Ai?`>;tZqB&8D)#iYwYRqyJU%tod;7Y(yDL7wx_f&2`uqDEn7QSAc5HZf zxIm0dwza?ad~z8`F(qTfB*3K^nCyQ|9&Jel{{35b;@PHC&lVkc z(zWW+hBGg^)?C_h?$x$)Z~l*h(GVC$A)xq^g^__lfI)`=2tawFeKbc5qv##=3dteB zVZ^}5q2jP1p`n?Bm8qd2fuV_=g-t+a0s|8xI}eAMM1etL1A~BsiNy|u1}0{19tRE% G25SJl81_~G literal 0 HcmV?d00001 diff --git a/api/extjs/resources/themes/images/default/btn/btn-default-toolbar-large-over-sides.gif b/api/extjs/resources/themes/images/default/btn/btn-default-toolbar-large-over-sides.gif new file mode 100755 index 0000000000000000000000000000000000000000..f2c097f400f57f3f16c3d16c2dbbfd8b25ad56b0 GIT binary patch literal 1939 zcmZ?wbhEHbWMgn*{{Ek#VabI(SHA4J^x?p@PkXL>y727Zr5FD$y!dzJ#lIVG{#|?Z z@5-xxXP*4obLrEbOCSD^g3%BdULm0PlZBCifuBK#0SG{OqJ1<+46hg-^$lqu!114f zQAJ_~LxV#T8>g6!g@K|I1DBGPfkvT{ODCInMofZ0qdN;5Z-O^c#I^7q$dfVH`ZTWYX^?H}DySt&{;F)lPeQSH}@pEUZx4*w~Ad&s}-{>8Mj}Dirzu&vZ;?v_(3yr70v-$P;^|j6Z$M?ln ze|`60e|JH?-@K~IcaP7mcCWuz{rkiF%bVlh&$Fxf{pt1j`|J1rul@J`=k)jn7QT#x z8jeTP6&l#JUMMtkb4esN3Y&2}Y!*uLSlA|(R`IZ1u5E{6hjQ1A#7>QQE0S7uif$-% aYVXoe?$MtWk=$i|%;Ry7nU;hAgEauC@}}wl literal 0 HcmV?d00001 diff --git a/api/extjs/resources/themes/images/default/btn/btn-default-toolbar-large-pressed-bg.gif b/api/extjs/resources/themes/images/default/btn/btn-default-toolbar-large-pressed-bg.gif new file mode 100755 index 0000000000000000000000000000000000000000..37a8a7a33ec23c6a7f242016f61547a0dedc1a75 GIT binary patch literal 1846 zcmZ?wbhEHbJv(&e z*^w*H4qbY7;L5WDm!9l7_hiq7C;vymXb23K5K#Qd!pOiN$e_aj1fV?8KAIzjOWcn7 zgPaiH_|L$}A>*-O!NFz@VXc@G6B3)+1(dz!cx+sBv|C6tQ5KE>j&dD+?77R8rb4s2e2e!fHVCliM)D=sefn5-3RwP5At%DEw&CMB?SH+&*w)Xb+g2$)kdT(EMcX!3-S9ecu zUw?mp12ear&yEcb4|fP_$DP@+@$vBq%HH#Qc5ZrldWLcKy)!#EKR>^~xm(V6*Or%; zR|Kz)JG*P^>+2hmPtWt+z3uJo9mTKjo!!0t{rv;Y-12^Vc6@w%VzPGpxjj2SKfkcp xd%oY^U0+|{*qnX;+}_>a-#<9qEiCW9Z_m%qFD|c+KfiD9@9!Uuva>K)0|1Rqjhg@f literal 0 HcmV?d00001 diff --git a/api/extjs/resources/themes/images/default/btn/btn-default-toolbar-large-pressed-corners.gif b/api/extjs/resources/themes/images/default/btn/btn-default-toolbar-large-pressed-corners.gif new file mode 100755 index 0000000000000000000000000000000000000000..02e660e99868818f578dbd47fd8f5bc4f7861461 GIT binary patch literal 1623 zcmZ?wbhEHbWM&Xz`2L@vYSxhjJFd;!cByX8kzMDW%scj_Z_~YbC%!D$bz|O^E3>v- zYM6Iy&bBLkTORB=_hinAFaQ4i`#%asLtwasfZ|UUMg|5!1|0?<0Og7H(Ht>c;&#*@ z(fcAo(Pd0k?#UgYdyKv&=J}ZQ*oi@MmPJXL|ed@`A?2Y&}Y$RZ}v97#J6^ z8EBMhg{%zO7}q;%>g%x8p}U)|N_|^>V{_W&X|dkh)`oA(zuVXAUA``MOTqh9Q@f|X zzqhNF@&DD?<_3xTTiK=K*6b*Jbi6~EyUix@)5B9U^t01^DmN#ep5s`5PG;7ZjPrB7 z7mLmPwdK|Ib;;Z3o!zx9^Vas<_2DKf0 z_Evp)ePOfq@qMwsKfimhzdLLBx!OIY@1IT0~Zyyeq|G)Ro?{A;4-}m3Y zzxv<*pXTumEPNRXbqsPV<~MK{?MP_kb^5WOiPOzvVY8@T#=|zLvKbHCCE7F;JCwUB h5<4~Ktx#%LS@&XLr_P}tNnM7QEEac*vav8&0{~I$oO}QP literal 0 HcmV?d00001 diff --git a/api/extjs/resources/themes/images/default/btn/btn-default-toolbar-large-sides.gif b/api/extjs/resources/themes/images/default/btn/btn-default-toolbar-large-sides.gif new file mode 100755 index 0000000000000000000000000000000000000000..51698b0b77c71e821200c632bec55c3857ae77ac GIT binary patch literal 1596 zcmZ?wbhEHbWMfcb`2L^a-@kwVN5N+|z`)3$!vF-JJkdUyBSvak81*+O k1UMuam^oxTHY_;U%pt55b7I57!|ejfUUOa;C@@$908dy6$^ZZW literal 0 HcmV?d00001 diff --git a/api/extjs/resources/themes/images/default/btn/btn-default-toolbar-medium-corners.gif b/api/extjs/resources/themes/images/default/btn/btn-default-toolbar-medium-corners.gif new file mode 100755 index 0000000000000000000000000000000000000000..f19715a3e6339b5eef2e557a3bbd7ce11221ee9f GIT binary patch literal 1585 zcmZ?wbhEHbWM&Xz`2L^a-@kwVN5N+|z`)3$!vF-JJkdUyBSvak81*+O Y1UUE@m^oxTHY_;U%pt7C!@*z;06j7TnE(I) literal 0 HcmV?d00001 diff --git a/api/extjs/resources/themes/images/default/btn/btn-default-toolbar-medium-disabled-corners.gif b/api/extjs/resources/themes/images/default/btn/btn-default-toolbar-medium-disabled-corners.gif new file mode 100755 index 0000000000000000000000000000000000000000..f19715a3e6339b5eef2e557a3bbd7ce11221ee9f GIT binary patch literal 1585 zcmZ?wbhEHbWM&Xz`2L^a-@kwVN5N+|z`)3$!vF-JJkdUyBSvak81*+O Y1UUE@m^oxTHY_;U%pt7C!@*z;06j7TnE(I) literal 0 HcmV?d00001 diff --git a/api/extjs/resources/themes/images/default/btn/btn-default-toolbar-medium-disabled-sides.gif b/api/extjs/resources/themes/images/default/btn/btn-default-toolbar-medium-disabled-sides.gif new file mode 100755 index 0000000000000000000000000000000000000000..94256ef9c6221865cc142ec71613e5c5bf78062f GIT binary patch literal 1594 zcmZ?wbhEHbWMhzG`2L^a-@kwVN5N+|z`)3$!vF-JJkdUyBSvak81*+O h1USSQm^oxTHY_;U%pt55b7I57!|ejfd^{Ws)&T132fP3P literal 0 HcmV?d00001 diff --git a/api/extjs/resources/themes/images/default/btn/btn-default-toolbar-medium-focus-bg.gif b/api/extjs/resources/themes/images/default/btn/btn-default-toolbar-medium-focus-bg.gif new file mode 100755 index 0000000000000000000000000000000000000000..012108c65350b311b1d533b794ef22839eec242e GIT binary patch literal 1826 zcmZ?wbhEHby*%rl@L=J3Tety0~GncH_m-L3k9+S0VPi+9Sdv<($d}6Y8{JA|lKR>^)*n7U;-d$f`-`Jde|J>f) M-`^i%W@4}g0GRHJ7ytkO literal 0 HcmV?d00001 diff --git a/api/extjs/resources/themes/images/default/btn/btn-default-toolbar-medium-focus-corners.gif b/api/extjs/resources/themes/images/default/btn/btn-default-toolbar-medium-focus-corners.gif new file mode 100755 index 0000000000000000000000000000000000000000..361fc557b6dd609fda0647360db26d76f7fa617f GIT binary patch literal 1622 zcmZ?wbhEHbWM&Xz`2L@vVabI(SH3Jc@T6_Ur5kVlZ8-Dd)|-EuPCZ+9;@P4DPdZjy z+H~qg$Er*J{{7o>?$x$)Z@N}p`acRrLtwasfZ|UUMg|5!1|0?<0Og7H(Ht>c;&#*@ z( literal 0 HcmV?d00001 diff --git a/api/extjs/resources/themes/images/default/btn/btn-default-toolbar-medium-focus-sides.gif b/api/extjs/resources/themes/images/default/btn/btn-default-toolbar-medium-focus-sides.gif new file mode 100755 index 0000000000000000000000000000000000000000..3605c0db4c51c4597b6b2fe98452322c6ccb95b2 GIT binary patch literal 1917 zcmZ?wbhEHbWMi;m{{Ek#VabI(SHA4J^kLtXPkXL>y7A`Ur5FFMz4~_rh+h1=@a*5Y zXaDwG`n2cLhySBsGz5lS2q^w!VPs(7W6)s$0#Kf4AI%ZNE|Nz*L_!E~{AXYkk%(Yu zaA;!V6k{n^@Q|^YPu{2`L!i->g^f4EWI|!Gd#}7DQ-DKI#a{9|o2pA%hjg>V9)=8ksm8Od1X@a%&f}-4&u4xXgd9nk!dnR`9Bz)mdjxiLSoB zI$?30sPr|ho14=v=gF?#mVI+;{@q2b*5P^4+e+RaJDP32{{Fs(pIrC6cf3nD-1=21 zZq1I5_Ye0mtJm2?8YQ2auIt{`Q(2sPZkBa7pRd%Gm*-a)&kvh>%lP&6b;YuZ{v)=LX(TPrN`Ez@|7d=1Q>O5a>@2`)~uT6H}zc1Fh^xgfv z=~2h|>T1eAJvzPG|GeDZ-=9Am-alRbzRlm?-#)LOzkYx1-@pHVw#zp#bKQ`yXOWXo zXkt@)ky*%rl@L=J3Tety0~GncH_m-L3k9+S0VPi+9Sdv<($d}6Y8{JA|lKR>^)*n7U;-d$f`-`Jde|J>f) M-`^i%W@4}g0GRHJ7ytkO literal 0 HcmV?d00001 diff --git a/api/extjs/resources/themes/images/default/btn/btn-default-toolbar-medium-over-corners.gif b/api/extjs/resources/themes/images/default/btn/btn-default-toolbar-medium-over-corners.gif new file mode 100755 index 0000000000000000000000000000000000000000..361fc557b6dd609fda0647360db26d76f7fa617f GIT binary patch literal 1622 zcmZ?wbhEHbWM&Xz`2L@vVabI(SH3Jc@T6_Ur5kVlZ8-Dd)|-EuPCZ+9;@P4DPdZjy z+H~qg$Er*J{{7o>?$x$)Z@N}p`acRrLtwasfZ|UUMg|5!1|0?<0Og7H(Ht>c;&#*@ z( literal 0 HcmV?d00001 diff --git a/api/extjs/resources/themes/images/default/btn/btn-default-toolbar-medium-over-sides.gif b/api/extjs/resources/themes/images/default/btn/btn-default-toolbar-medium-over-sides.gif new file mode 100755 index 0000000000000000000000000000000000000000..3605c0db4c51c4597b6b2fe98452322c6ccb95b2 GIT binary patch literal 1917 zcmZ?wbhEHbWMi;m{{Ek#VabI(SHA4J^kLtXPkXL>y7A`Ur5FFMz4~_rh+h1=@a*5Y zXaDwG`n2cLhySBsGz5lS2q^w!VPs(7W6)s$0#Kf4AI%ZNE|Nz*L_!E~{AXYkk%(Yu zaA;!V6k{n^@Q|^YPu{2`L!i->g^f4EWI|!Gd#}7DQ-DKI#a{9|o2pA%hjg>V9)=8ksm8Od1X@a%&f}-4&u4xXgd9nk!dnR`9Bz)mdjxiLSoB zI$?30sPr|ho14=v=gF?#mVI+;{@q2b*5P^4+e+RaJDP32{{Fs(pIrC6cf3nD-1=21 zZq1I5_Ye0mtJm2?8YQ2auIt{`Q(2sPZkBa7pRd%Gm*-a)&kvh>%lP&6b;YuZ{v)=LX(TPrN`Ez@|7d=1Q>O5a>@2`)~uT6H}zc1Fh^xgfv z=~2h|>T1eAJvzPG|GeDZ-=9Am-alRbzRlm?-#)LOzkYx1-@pHVw#zp#bKQ`yXOWXo zXkt@)kj(wSR?8}T}Uk+S)GUvpX8ArZMJMv}9kuQ5LJUMdZ z*`X`X4qSS+@4}P+qhK@yhFu6K{$ycfVBllWVE_V9o@gJ<5yLK$M?FMB2ypyo5ay8a z*pSfN%pt55bK-+SW4nN|*Bp^LH0t_^c3MXm01>aq4*?u;?JGgm}!E9fFGwGAVG^@K_3^cur(sSs{`j(CE#= zCVC=7pm^CqW()p1XEHA|_%qwqvwh7pXt>DW+OKB1OGL9_vEM?oxxYd(Lzjgwj+#1a zs@C=O(T9^*t;5z_+mvyB)z_?Pxl!A*cb`&~p00Oick%6KwY#^ki`!lMkxA~)c7yms z?YzHz&s1zoKG>ybKJAaihSVcd4TJC1SQb4$Ip4VYn#?TYmzNg@H@oeP+WO+!hWOKF zZ)cU|+}`Z{I&JQ3^LO`mXS46O-Lt*m{?SI|__{roh0o5+|z`)3$!vF-JJkdUyBSvak81*+O h1USSQm^oxTHY_;U%pt55b7I57!|ejfd^{Ws)&T132fP3P literal 0 HcmV?d00001 diff --git a/api/extjs/resources/themes/images/default/btn/btn-default-toolbar-small-corners.gif b/api/extjs/resources/themes/images/default/btn/btn-default-toolbar-small-corners.gif new file mode 100755 index 0000000000000000000000000000000000000000..f19715a3e6339b5eef2e557a3bbd7ce11221ee9f GIT binary patch literal 1585 zcmZ?wbhEHbWM&Xz`2L^a-@kwVN5N+|z`)3$!vF-JJkdUyBSvak81*+O Y1UUE@m^oxTHY_;U%pt7C!@*z;06j7TnE(I) literal 0 HcmV?d00001 diff --git a/api/extjs/resources/themes/images/default/btn/btn-default-toolbar-small-disabled-corners.gif b/api/extjs/resources/themes/images/default/btn/btn-default-toolbar-small-disabled-corners.gif new file mode 100755 index 0000000000000000000000000000000000000000..f19715a3e6339b5eef2e557a3bbd7ce11221ee9f GIT binary patch literal 1585 zcmZ?wbhEHbWM&Xz`2L^a-@kwVN5N+|z`)3$!vF-JJkdUyBSvak81*+O Y1UUE@m^oxTHY_;U%pt7C!@*z;06j7TnE(I) literal 0 HcmV?d00001 diff --git a/api/extjs/resources/themes/images/default/btn/btn-default-toolbar-small-disabled-sides.gif b/api/extjs/resources/themes/images/default/btn/btn-default-toolbar-small-disabled-sides.gif new file mode 100755 index 0000000000000000000000000000000000000000..522f864ddf7433c96e927edfd1369a2a096137b0 GIT binary patch literal 1589 zcmZ?wbhEHbWMdFu`2L^a-@kwVN5N+|z`)3$!vF-JJkdUyBSvak81*+O c1UQ5km^oxTHY_;U%pt55b7Di{!3G9v0A{@h1poj5 literal 0 HcmV?d00001 diff --git a/api/extjs/resources/themes/images/default/btn/btn-default-toolbar-small-focus-bg.gif b/api/extjs/resources/themes/images/default/btn/btn-default-toolbar-small-focus-bg.gif new file mode 100755 index 0000000000000000000000000000000000000000..8444d3206a6497ada05311034d0be5d5b1921780 GIT binary patch literal 1799 zcmZ?wbhEHbC=U0|8BhbckR``E3f`tdhzf7C>RZa5fB23 zKUo+V7&sVo7=QqjC)!7I#0ZG?Q7_^Q0gfjOoE$P98x|aFX5!X}Ik913W4nN|*Bp%)+ zG;_&%ZCP<~vBzYs*i&0pUS1xs*lVuW)>T(mM{Lfzdur?I>+2H^cgcEhTXS=B#^qJ9 zr?;)Wy}jV^skz?U*WKM+@%h!=)7#hI-`~K@E$6di!^6WJ!rF0Xc5Hlne1fv~JfEGL zo}QjzoPF=i&dtxyFL3Ub^WC-O<>eK@tK-h@+WPwXhUC-pe0OhqdwWOm>w9N+Z-0OP TKr^?z-<};GAFpC&Vz34P(e-?g literal 0 HcmV?d00001 diff --git a/api/extjs/resources/themes/images/default/btn/btn-default-toolbar-small-focus-corners.gif b/api/extjs/resources/themes/images/default/btn/btn-default-toolbar-small-focus-corners.gif new file mode 100755 index 0000000000000000000000000000000000000000..77031196789e4d6020aeca48199ab2c8072f3bf6 GIT binary patch literal 1622 zcmZ?wbhEHbWM&Xz`2L@vVabI(SH3Jc@T6_Ur5kVl-FWqH!e;#z&lVkc z(y`*wrc*CER$cn{@86blueP0g)3xf-|4}d+0>dH%6o0ZXG61uJ4g(N?@qG#EHB Ou<|GwOb`%Yum%8;1N43X literal 0 HcmV?d00001 diff --git a/api/extjs/resources/themes/images/default/btn/btn-default-toolbar-small-focus-sides.gif b/api/extjs/resources/themes/images/default/btn/btn-default-toolbar-small-focus-sides.gif new file mode 100755 index 0000000000000000000000000000000000000000..6c47a7c893bf05e58e6029c4032ac68a98f0cf3f GIT binary patch literal 1879 zcmZ?wbhEHbWMeR3{{Ek#VabI(S3d2!^x?v@e|s){y7A`UwO9YHy!v~kWqp?=1fLFgFBHs@zhs_!)OfqUFwY#>i3R@k!u}Sv#R-N!o>1V5a zPnWHY-k9}p+tlA?Yht&Qe!O(I+C1<6&ic>4u1e3)e|WfAnAvSl#Ks55Cdhl6y_r#z za(Xg%cG{eo#?Q{r)^6Wtvukt4`K6AF<7#)AW?ow#JG;-fdRy+*O@-I5)mm@Ozp=OR zv)n)H@{f0qH%p7pn`80$`RT>V?RK%dKE1lJKD#_`ZgtuF+q1h(mdnkv`SJPj?&bgY z?b}oJ`R&ES^Z)O&tN!)-X3H{Ka@C=U0|8BhbckR``E3f`tdhzf7C>RZa5fB23 zKUo+V7&sVo7=QqjC)!7I#0ZG?Q7_^Q0gfjOoE$P98x|aFX5!X}Ik913W4nN|*Bp%)+ zG;_&%ZCP<~vBzYs*i&0pUS1xs*lVuW)>T(mM{Lfzdur?I>+2H^cgcEhTXS=B#^qJ9 zr?;)Wy}jV^skz?U*WKM+@%h!=)7#hI-`~K@E$6di!^6WJ!rF0Xc5Hlne1fv~JfEGL zo}QjzoPF=i&dtxyFL3Ub^WC-O<>eK@tK-h@+WPwXhUC-pe0OhqdwWOm>w9N+Z-0OP TKr^?z-<};GAFpC&Vz34P(e-?g literal 0 HcmV?d00001 diff --git a/api/extjs/resources/themes/images/default/btn/btn-default-toolbar-small-over-corners.gif b/api/extjs/resources/themes/images/default/btn/btn-default-toolbar-small-over-corners.gif new file mode 100755 index 0000000000000000000000000000000000000000..77031196789e4d6020aeca48199ab2c8072f3bf6 GIT binary patch literal 1622 zcmZ?wbhEHbWM&Xz`2L@vVabI(SH3Jc@T6_Ur5kVl-FWqH!e;#z&lVkc z(y`*wrc*CER$cn{@86blueP0g)3xf-|4}d+0>dH%6o0ZXG61uJ4g(N?@qG#EHB Ou<|GwOb`%Yum%8;1N43X literal 0 HcmV?d00001 diff --git a/api/extjs/resources/themes/images/default/btn/btn-default-toolbar-small-over-sides.gif b/api/extjs/resources/themes/images/default/btn/btn-default-toolbar-small-over-sides.gif new file mode 100755 index 0000000000000000000000000000000000000000..6c47a7c893bf05e58e6029c4032ac68a98f0cf3f GIT binary patch literal 1879 zcmZ?wbhEHbWMeR3{{Ek#VabI(S3d2!^x?v@e|s){y7A`UwO9YHy!v~kWqp?=1fLFgFBHs@zhs_!)OfqUFwY#>i3R@k!u}Sv#R-N!o>1V5a zPnWHY-k9}p+tlA?Yht&Qe!O(I+C1<6&ic>4u1e3)e|WfAnAvSl#Ks55Cdhl6y_r#z za(Xg%cG{eo#?Q{r)^6Wtvukt4`K6AF<7#)AW?ow#JG;-fdRy+*O@-I5)mm@Ozp=OR zv)n)H@{f0qH%p7pn`80$`RT>V?RK%dKE1lJKD#_`ZgtuF+q1h(mdnkv`SJPj?&bgY z?b}oJ`R&ES^Z)O&tN!)-X3H{Ka@ zNIv;L3PwXCn%g@huXy%gj+Op!}VvosMv8T4Iyu3VMvDaL$t*frCj@X=a_te(a*ViW; z?vnN1w&v#MjLWNHPj6d$dwap-Q**tyue-au;`6J!r?;=azrTT*Th3?4hKGkcgtg<& z?AZAD_ylF|c|JQgJv}|cIQ!n2otvMZU*Oy==eujm%gZZ*SI3>*we|J&4aukH`R?BK u_V$kA*Z0ou-v0jnfo5)bzdbuXK0Yy7JO13Bou8jySnNID&$ifs!5RSj!F#O$ literal 0 HcmV?d00001 diff --git a/api/extjs/resources/themes/images/default/btn/btn-default-toolbar-small-pressed-corners.gif b/api/extjs/resources/themes/images/default/btn/btn-default-toolbar-small-pressed-corners.gif new file mode 100755 index 0000000000000000000000000000000000000000..2f60752e7157250077297505965868c6e950fa60 GIT binary patch literal 1624 zcmZ?wbhEHbWM&Xz`2L@vYSxi?+b%WCJ61R6$ewdg<{kUex9Q%V3r`m8xHfOwm04RZ z%{%dB!LA#1^N!3p@uhFegE`x-{QLKB*SRNij(zz*3PwXj3^WuNS(!MPWE2z}8k$)- XqVV&anU2$<;Pz+epk)rIUW literal 0 HcmV?d00001 diff --git a/api/extjs/resources/themes/images/default/btn/btn-default-toolbar-small-pressed-sides.gif b/api/extjs/resources/themes/images/default/btn/btn-default-toolbar-small-pressed-sides.gif new file mode 100755 index 0000000000000000000000000000000000000000..fdf6889afa78c7276979a9bfc595a4699920844c GIT binary patch literal 1892 zcmZ?wbhEHbWMeR3{{Ek#YSxiC$G%KC@@3zJC$o-yIdbLMjALJB9QiWs$d^M`o*lUK z?9e43`Q-m77!85p7y^nvSr{1@co}pUfB=*y+DCK5aE#|sKM@-O9RC>@c_b_t8XTI~ zL^VPt6f8W*A|Pzjld+-UD3hqZl*oa=21gbJK?xIwO9xI&V&hz)GNEYcL15O|(_<-| z<~x%i>Cu(S&FOx#>~q=fa!z?3FyC#mSgck^X7DnX`Ch$VqM9MAgExlRp1S%nY<<+> zvb|Pj**Djx9GoY*dRy+T?P+(9wRV@SySuC6=B2CE)AR3bZFu@m^v(8y2YcIptI74u z_>gqCPuYClnuwy*Q$70G=gvqPrJbMcSYGFI>r=+%MZwem?XfC(eR)mb{xIF$Wp8e; z%YA-~w|e{gdj~QHE*!`(5?@)#L5<_V%@ZzkhjnfBO3U_5c2V`zfx_@Pjuap^@X0`+_ER XqZtqC1h{@IXyFT!co@pa$Y2cs4#1P< literal 0 HcmV?d00001 diff --git a/api/extjs/resources/themes/images/default/btn/btn-default-toolbar-small-sides.gif b/api/extjs/resources/themes/images/default/btn/btn-default-toolbar-small-sides.gif new file mode 100755 index 0000000000000000000000000000000000000000..522f864ddf7433c96e927edfd1369a2a096137b0 GIT binary patch literal 1589 zcmZ?wbhEHbWMdFu`2L^a-@kwVN5N+|z`)3$!vF-JJkdUyBSvak81*+O c1UQ5km^oxTHY_;U%pt55b7Di{!3G9v0A{@h1poj5 literal 0 HcmV?d00001 diff --git a/api/extjs/resources/themes/images/default/button/arrow.gif b/api/extjs/resources/themes/images/default/button/arrow.gif new file mode 100755 index 0000000000000000000000000000000000000000..3ab4f71ac115188898fa2701b6b11561d0461e4d GIT binary patch literal 828 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 literal 0 HcmV?d00001 diff --git a/api/extjs/resources/themes/images/default/button/group-cs.gif b/api/extjs/resources/themes/images/default/button/group-cs.gif new file mode 100755 index 0000000000000000000000000000000000000000..3d1dca8f05ca550917346830a5a0ae4e16665181 GIT binary patch literal 2459 zcmeH`i9ZvH1HdQ!yk5P2p?H)dxpp{mJU@!;=?=U!!Pkq*zsjUC!6Bk-dSFVOt_!mB{_I3VoryMO9y{@Ma z=-n9DL$B{GJqcGoa`AW@KtUEXYxS9y%>dB{M#Mz_E@4eP*_kWX z^$4C>m(33o-~&JGx7SyMz30WrFL$>$RxxA>k0+M{zIVY>_Ns?Yre=MWTI_qhMP6lu~OPcC3oegZjRc3=(^V7L)w0*({)+2G{4{T;} z!o0jGzAzuE1S`!ys~+~X;Ic~gSFD>2s0i!s44Nr2{v9?`?2ia5C=Ng`%#;QugJvIl zX2534LY2Z0<&i8qVL7rJG?#U&KWwg2Z6tfHDp4JGvpPj7exmxGdU$C3eVxYnn$L!U z`PxTjbD?!bexlEHC5Xm_h{s6L!t<)w{UTi5CucPzxwui(_yinUcAMBO2QMa*XVGKC z=GlNC5?&-)q})%Ygw02%fDp? zVNB8KSM#G-X(81lbZQu7nT3hsnXV^A4@CVZF?NFV-}t){`7%2$Np8AIR-7-nvHOnQ^Yr z29ODG<^*{=utg%~TyB+{CHl7?LfQY-rAyiI?J<{dz1}#QCwUHfpd2o~hf|W=KB6QJ zu45SUAF!!>)JvC{YD)6?1&ZX1^D@s|{)cn`#dBJlpkU5!N_ZIg4~{NC(Uzy6x{{=1 zKe?rfYg@ITrV0~|@8ub{|BR&EQ|Ia^S=qK8j9Iy>vok3>3+xaUQ15r1*4vMH-k~NY zr<-xLf4OeU(HvTdwc$>QVsM?qQfg-Hww|)w(fE}flAPtt)lx0AZ85ZzM!P3YPuBpu zIz4GQX`B=4@`f%`F)25gdrYI#mTiHRMj`BlpN4SV3>xj>^#pw_p3!SNBqur_%-}Fb({3Vq!raSJOb>jsf$Mg_Ll=3M}zGh0*jv{cQuF zqmjT9Ni1sMYJk1%XufpWRdV7?$2CxI+916|kz;5kukQ^K6G~rle?6IYiE>rdD!AJo z!NKDDVl5bDbMZ#j3K=C~N*BvVzNyC%m1wm(h9_K{;$IbDeX@-l!VY^kdI9N8_1=jfHxh8T3_)wKnK|Kp zd#kHb=JVjpZkT2o*vDFxiHooYdyV1V)pyhI?)CaUwehdL_6Z^()SB zh=d#_`1@P3XpBUY8&RN-J+pLr$&4YwYPAf?9 zNv=0?zgF??W86>)p4GbSeVcF@FJrNNcTI26z+a}2%;xSja7^K`kr~TUVtBW8#)oO;GY8+ecXL81wkhso@Q7N{RGV36L4-Fn0@B=bZS$i$`@>*e=Y6L&Ng dUQu}td}@Irs8Us{==-D1xS|KJM_Czg`hV^ynJEAO literal 0 HcmV?d00001 diff --git a/api/extjs/resources/themes/images/default/button/group-lr.gif b/api/extjs/resources/themes/images/default/button/group-lr.gif new file mode 100755 index 0000000000000000000000000000000000000000..7c549f96d6064d4b0cc022671fd823c13df36d8c GIT binary patch literal 861 zcmZ?wbhEHbe8J4f(9Xcn@V{aEiR+JFe`Od2qaiTzLO}5+3p2>qIv@g+Cm1-a7??R2 z95yUC*vuiU6?0<4!o%$X%3gCkHZD5aEn%E>=fuXv$NLqWyJS2!Ejc+^BY0KJ$xTbW LTbP(wSQxAUYf&Xs literal 0 HcmV?d00001 diff --git a/api/extjs/resources/themes/images/default/button/group-tb.gif b/api/extjs/resources/themes/images/default/button/group-tb.gif new file mode 100755 index 0000000000000000000000000000000000000000..adeb0a4cf54bdfb626ab6f3c070f6e2919f374c0 GIT binary patch literal 846 zcmZ?wbhEHbWMt4`Y-eC-_}{So#PvfrK0JQ?m0=W&hQJ650mYvz%pfo8fCx~YVBpYZ yVCE5U*s$PWGl#HNOoc$h;dTLKuQ?tY7ai@EFwVMjV&mfD{R+-`G6D(;4Aua=h#nIF literal 0 HcmV?d00001 diff --git a/api/extjs/resources/themes/images/default/button/s-arrow-b-noline.gif b/api/extjs/resources/themes/images/default/button/s-arrow-b-noline.gif new file mode 100755 index 0000000000000000000000000000000000000000..a4220ee9066357ea2270a842ed244bbaadb23de4 GIT binary patch literal 898 zcmZ?wbhEHbJi)-n(9Qq?M~)mhbnDyy|Np_fQDQU%Mo=fuXv$NLqWyJS2!Ejc+^BY0KJ z$xTa7Pd7+DHOF)FGT%0aqGx+fZdP}nYuC)RmLp-s#l;?zwPH_gS$TPRz~V9<4hCxg D_B%R6 literal 0 HcmV?d00001 diff --git a/api/extjs/resources/themes/images/default/button/s-arrow-b.gif b/api/extjs/resources/themes/images/default/button/s-arrow-b.gif new file mode 100755 index 0000000000000000000000000000000000000000..84b64703006ca6d86d335b89f8d40b9fa3883c48 GIT binary patch literal 937 zcmZ?wbhEHbJi)-n(9Qq?M~)mhbnDyy|Np_fQDQU%Mo)`~r~W##4N0gJundTm{G tbu}Af#?`K^tFNzT+TJAVU8dErDdY00*wfqA-ripD_|#nQ={XJz)&S^DQ3wD4 literal 0 HcmV?d00001 diff --git a/api/extjs/resources/themes/images/default/button/s-arrow-bo.gif b/api/extjs/resources/themes/images/default/button/s-arrow-bo.gif new file mode 100755 index 0000000000000000000000000000000000000000..548700bf45a4766e4633a2ad21cdd03a907e191c GIT binary patch literal 139 zcmZ?wbhEHbJi)-nu#f=+R-O3x{>OhHL-8jIBNqcRgAPa(B=5i!GpB#$>9_og=WMyv zz4@M01z+1Ek7>_3m%Tc*Z6(9;Pd?Yb^*;Y~?)yJ}o<}i97JcmS(V9N7;WKBi*YYc? qzIL6>+J0x<_w3ZJ<4-pI?D3myle6{rUd98@zwG+kS1-=MU=08a%|q${ literal 0 HcmV?d00001 diff --git a/api/extjs/resources/themes/images/default/button/s-arrow-light.gif b/api/extjs/resources/themes/images/default/button/s-arrow-light.gif new file mode 100755 index 0000000000000000000000000000000000000000..08783c9d2f269eeb9799f2591ef41ddd2b14695b GIT binary patch literal 116 zcmZ?wbhEHb*_y R+_d!cbc5tmb0h^AtO41(Cb0kj literal 0 HcmV?d00001 diff --git a/api/extjs/resources/themes/images/default/button/s-arrow-o.gif b/api/extjs/resources/themes/images/default/button/s-arrow-o.gif new file mode 100755 index 0000000000000000000000000000000000000000..89c70f36fa653684087485ab673043ecbf615cdd GIT binary patch literal 937 zcmZ?wbhEHbO`C@~rWBPawEf3h$$FfcLbfcy-~6AT<} z46G~?3JVq-Y-VLwiqV*$aJZREUaCi9W8%>kKJB0>J3c15x5sMVlHA(yGnuN7&N42);+}s>}e3|KPvE1;j`8SW1{tiuYV6X-NOpiu@ literal 0 HcmV?d00001 diff --git a/api/extjs/resources/themes/images/default/button/s-arrow.gif b/api/extjs/resources/themes/images/default/button/s-arrow.gif new file mode 100755 index 0000000000000000000000000000000000000000..8940774785c25d4467b239aa608a9eee40e273d1 GIT binary patch literal 937 zcmZ?wbhEHbkKJB0>J3c15x5sMVlHA(yGnuN7&N42);+}s>}e3|KPvE1;j`8SW1{tiuYV6X-Nh3iI; literal 0 HcmV?d00001 diff --git a/api/extjs/resources/themes/images/default/datepicker/datepicker-footer-bg.gif b/api/extjs/resources/themes/images/default/datepicker/datepicker-footer-bg.gif new file mode 100755 index 0000000000000000000000000000000000000000..1152ee3ad364db26296683a21b3a0f80c0319fe1 GIT binary patch literal 1833 zcmZ?wbhEHbI<*-O z!NF!GPK}ro8x|gJ7f_a);jwX%D~p72)}4$6i;wp!ICsf-1~s0XtP#u?adOkr)6)%- zPtAEL)NppTMe(aUCpRxYKZmJ_OV(@4ii?XqCJXT%*s}8S@_@x&bG^2%y1F`IbJpEc zTUTFSpK!QK)_dEUo0~H(uZlgrZSC#t1&>e7_1?bj?(T}uukN1SzW)CH24-$KpB)<> z9_|piJrDv1h z*QWlM7d%7dwbXO9)f?Eer=JwH3%{MPUv>Yz`IhU}Wu4Ex_D6nYw)iezy$=VUh%|?u m{BIdidftHN@Zdq_hvK)rG4n{X6)FV!n!(f6&t;ucLK6VW1#h_k literal 0 HcmV?d00001 diff --git a/api/extjs/resources/themes/images/default/datepicker/datepicker-header-bg.gif b/api/extjs/resources/themes/images/default/datepicker/datepicker-header-bg.gif new file mode 100755 index 0000000000000000000000000000000000000000..ee316fbb2363a8dbaff6b072e83e466685dda514 GIT binary patch literal 1860 zcmZ?wbhEHbOrGdwmfI@&FvE_LI?#>L0`70l%%JU1=zWYGv-6?1Zv>M0h3>%uS`@#!b8@r#IaY^eE?KWF8Ubt`leJ<`ZPC2M7O>cBuGWH8S64@D&RWa0VDXLoOZfB!%;x4hq;9UmW`n5-RtZqLro&o3E-r|0|c-}m?TkI%2~pWpxgO#_2904^$QiU0rr literal 0 HcmV?d00001 diff --git a/api/extjs/resources/themes/images/default/datepicker/datepicker-header-bg.png b/api/extjs/resources/themes/images/default/datepicker/datepicker-header-bg.png new file mode 100755 index 0000000000000000000000000000000000000000..45d74d7e3bd91be836654132cc24fe93423cc864 GIT binary patch literal 309 zcmeAS@N?(olHy`uVBq!ia0vp^{0t1tRvc_VR$Qm#Ng%~i?Bp530R%N1DIGvQXMsm# zF#`j)FbFd;%$g$s6uj=~;uumf=k4W#oDB{z{tPzWPQXm)!T(} zl1HTlQ>B$RHCvyw)cv`B?&rLO;Jt^f>Sx}0HRrNi@~x2S$U_D^hX)N>-zwj4X_6JX S{)`yViwvHwelF{r5}E*Fp<>4X literal 0 HcmV?d00001 diff --git a/api/extjs/resources/themes/images/default/dd/drop-add.gif b/api/extjs/resources/themes/images/default/dd/drop-add.gif new file mode 100755 index 0000000000000000000000000000000000000000..b22cd1448efa13c47ad6d3b75bdea8b4031c31e9 GIT binary patch literal 1001 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 Q&Ma5+V#7h^qYVt!09Vf94*&oF literal 0 HcmV?d00001 diff --git a/api/extjs/resources/themes/images/default/form-invalid-tip/form-invalid-tip-default-corners.gif b/api/extjs/resources/themes/images/default/form-invalid-tip/form-invalid-tip-default-corners.gif new file mode 100755 index 0000000000000000000000000000000000000000..a16f169441fceb9a515ac134c3143a3cbd525fa4 GIT binary patch literal 1690 zcmZ?wbhEHbWMz(7rLpDvtPVx@JXB}~ zA+lpZ!a)HJVXc@G8x)JxOrA&{|| zlg&ZIVMF2}_7;8#4~Gf{=Jv^&&H)OY28UUA`S}_Q3>q2Py5v;~9;`gT?8L#NB-5}U V(Sd=Lmo0|jp`sH*7b7EsH30G#+lK%E literal 0 HcmV?d00001 diff --git a/api/extjs/resources/themes/images/default/form-invalid-tip/form-invalid-tip-default-sides.gif b/api/extjs/resources/themes/images/default/form-invalid-tip/form-invalid-tip-default-sides.gif new file mode 100755 index 0000000000000000000000000000000000000000..bd64f328877e6dd3a7e7cc7f5b11dc1f2a4c67c9 GIT binary patch literal 1647 zcmZ?wbhEHb4Dos5zl2Nl0i$4P1EsCno@ab>G7$?h1Ysk3a6c$Zo4Dos5zl2Nl0i$4P1EsCno@ab>G7$?h1Ysk3a6c$ZoiedU|?(etsf6f+si5mrP-pS8AO_YNJeWr&4gHRCB0Sc&uG;qG5BSVs)lucBN-{ zr)YYrYkjM3f2vi6qg#TrcZREXlf8SEzf`8xUbgpty4+{EW4iZg!1r~=_j$(o ze8~BNf`W#IhKh=cjgF3yk&%^^m6@5Do}QkInY)acx{R8>ke$7up`oUxrl_c>uCA`G zv$?Ucv9-0evbVgnxxKl$xwyN(y}iAHo57Nw!Gfd7i>JzfyWN$c!=0zVo~g)}vCx~l z*?_*{qprxNvCXNp&#$=8rMA(ay4Rw-*{QqMyS~A`zre7$(YC(Txxdha#ps92?ux_X zfz0`e(D;ne_?E}xmeKH#)cKs$@txKDo!I)a$ltrd)vMF$qS^bZ+ViU2`?t;Gvf1yy z+wHgC^|9amt>FBz;rq1W`?ccyx8?l2;PboW`@q1#!o$SE#KgtL#m2|T#>mRW$<4^f z$jZyi%*@Qh%ihb*)XC4?%+S`+(b3h_)zQ@1)!5wH+S}RN-P+vV+}+;A+Uw8M;>+Lf z+~4BBY>io~@_|EM8-r?ij;px)l^493{)9m@t z?)}v4`PAck%;pOh<=jiC@ z>Few4>+J09?d|I9^6l>N zio1&#GrFT9WSYm1Ag2j&p{u0Hle%2EV#l(jOLnd-hM7q-Oc_2KJ3iUT^9d9}B1s|{ zN)!nbCMj3Gd>PYS7*$YJy@EvxRL*HnE@{2Ai4!NFBXuEJM0OD*NRpZ)UD~o;yQWW7 zv3ey7SG7@Bvuf??sTWwGWzkB)q*f(cw{GFirAqCZHdJ}J^6k|tQBbjF(PGM^$;n!m zh!Hm>18WvFZQQzbb9EJp*S^D&C4+RCiDpfGdl~x7E_CRoXK-EH*4r(u)_sFLlg3H6srOVndaq^Bq(PIE6uVpPZ!L!U z&MxCM^5;P#&N&1Ib6FFd^fC-I;fNECC-wQJQB$Y55=&#-aI=jzR~Z6HCZ3!}-7uFq zQ3xZFc*09C!SE7cXcJnbkwzSaWMfz;p`?<8F&5+_M+yZw(nCb5MA4Bk{aBEYK^95m zHBd$=Wt1{%B#%57)o9~7@tAX2j><#>OiI_V<f4Fm8jp3{iK`JFg0Earxg+)mYCQO1u3wt1= zNVcA`12DI}s#44gFvze2mgAjUOaw5CFb_G;k`zcSD5%iF4d?(9Nwy*b9B{9sc$0+; zGx&k!e>EE74G%D@0na%GhNXltMX=BU9^fEj3D6tz*Ak(p#8QkFT(r~8h8=2x%@07l z^UN|NhP4DDw-}MeIKJ%vk_*u6Y(w0cRl0K}jU9PpPCQ+LgrhFMIMd88Cvj>fs7eyV zq(V+UH09?|X0G|>3w7QQ=${vk(cxEZ+4$opg*m3>mlIl$7gBIw##L4H-n$r4U?57J zBz0iC@l}M70T_OkY0C4^hXRTz?AZRr^fEaKUKU0XJ51*)?MW`SK zGl&5d7??m8#=tu>fIQxXc$Y@BlAdKmu1l0~Q!KKT}XKhBEYm874ph3SgiWsMuYNz+eUi z7;*uvI7JD=LO}>XKmr#Cq!(OBMJhtCdKT$|C_vE1D*zG=SGj^HGGNFkB+?9*34s|r zAOQ(fVH9Wpg9|}%$4e5b3l#)G2v8vkQG6nlVmN>XG|&oKqTw=8xWX7d0D@7NVGIl8 r6!btbJzExzbr{joG#1ymk324NldBw{Y9~5_knSL+J00qz6c7MAhD0lK literal 0 HcmV?d00001 diff --git a/api/extjs/resources/themes/images/default/form/clear-trigger.gif b/api/extjs/resources/themes/images/default/form/clear-trigger.gif new file mode 100755 index 0000000000000000000000000000000000000000..da78d45b3214480842c62514af524f4aebb66124 GIT binary patch literal 1988 zcmdth=~t5n8U^q-VGC;mBm0hsV8ubLEt_Ll8<8_(J7+8+GN29vjM%!ALxG`*vV;KaE8sA!@Y z4L3~1jhLAW4>!Ua947Tqg?%((Kh;b$Ko$&=1w*rGb*ec?N^AxVXqe@UN>0 z891^{u56v7+E|jCmSrZke1FwUW#X##SBxOn2(GSyLZMKlQmNHyjYgx@YWd;~fq0Ft z+7v0*1j;R;!o*jZMDlHsa!;f+iM1w)YEP=(muf+oW=p08<(hqkW|zMX3O7KpZcnTO zrMf+lxo?0HvrSO0Hz^EedrHHu(zqvI1C{Hb+PJIP0JWQ-Y#UT;feI6-)9Lhjy}@8G z8jZTOUH$s*&hGy1-ahdEdx6`Q=5Zi!^uxptKLNl%;1tXUNoYe@!v1h1gG9hjRlyIY zT+i)opRVyJ$m^OWcFfcd!goE+KKq624@2~*{(Gx41$X#rT_Vu?_+4{kc3!~LZ@o|e@KE%NaSqqM2CdnRrfg1wYE_n>MZsu=aYxhs@ zZYg1(SHAI5{)vrY3S>+Sr2G5!}cb)=Lak{l#IcWFsP=h z54sOE<$IwK0i|U>!mQGuh`69u9r$a%T`NxXx|!$| z=ac7y%X=&#XG<+_jk=4wnhTGFb+y-lKaBeiK%tbtM}APdfB|~CqPsh#af)y^(trRQ zEp@1acO7D$So@a(lTLRcQP%+{D$xQ)D?;t7^o`EZs~jG0R~!KcEY9V= zMfruL`9PuG*Qsdx+dj=Ii`&E0II=PwOPulj+Tj@q29JB~T2{m(hfi&|!E zBM$OTv98=N_;e}11gu55UTB%9W)-L))9jWO$gpd{tFfCL@43sLIsT;NS-D3u+AQ2N zWr!%TS6ADl-D$@0q>qlSMI`y2eiHE9u3$58=)j+XZx;IBIT;=;f85a*t?a9*L%6-} zN85P+E0<{PUGyX_R!^ME+)_z>Mape4XM92w`b7;YV!insg9^+qDfzUevNmaJNM0}502MlVmsU>iV}`Lr`6`Bb{t@C#l~>;SXe`ck9;fs%svkL zUAe$-+haTd`enn-;A=LHa#CU?4rl5R1@d8MkEOU&)s-HE(zl)`8NRsxz3AFuDKdp$ U;ezY9-WkTkP-6N%4gg~Q2Qp;nKmY&$ literal 0 HcmV?d00001 diff --git a/api/extjs/resources/themes/images/default/form/date-trigger.gif b/api/extjs/resources/themes/images/default/form/date-trigger.gif new file mode 100755 index 0000000000000000000000000000000000000000..25ef7b3ae73c0918e97b5fd9c3e0cc5c69bcc14b GIT binary patch literal 1603 zcmeH`>o?nX0EfSlh?LXSh6Gchb&K0_)}2tjEVIrf*mT-cZDZJ(tUK`vtS)2>N?|+Q73~jaWl`R5gD__+)uHa6pc+;!AnYA{)io;j^$zK-;1hccV zLZMJ363x%gFT6y&EEbCw7Z)WGiBu|`_EpHn+pf<~!qL)+^@kuX9ddA!|~^bJ3jxY7!i&- zO}gJ$d>WVTX%pGG&aZ`i7E(VkK4Ja9tTI%PI|;LlFAd7J6{u?I^lr=khW z9L7j`^i6YIRU?auTO!iU9LH=Gd5-vUS@FpVMr|<;$*%?ORm3```@bRaKQttiW@oLK zmS&$sxRipjURP}nFmq^A<(b)H=?}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#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>>5 g-MOq(pFXLdRU~2PX6q%R;{Do7>GCKGOG|L!Kl0xUxBvhE literal 0 HcmV?d00001 diff --git a/api/extjs/resources/themes/images/default/form/error-tip-corners.gif b/api/extjs/resources/themes/images/default/form/error-tip-corners.gif new file mode 100755 index 0000000000000000000000000000000000000000..6ea4c3838768c0ec3b5dab8e789333593295c15c GIT binary patch literal 4183 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 BA5{PV literal 0 HcmV?d00001 diff --git a/api/extjs/resources/themes/images/default/form/exclamation.gif b/api/extjs/resources/themes/images/default/form/exclamation.gif new file mode 100755 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!meOY(6|dTBUw78N>aBj$UH@iM{ilZ1FAYgw8_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(=rm< znzH#Wl@*DQugyk|h0s(J9u~z4MZR499ryhC^~?K*w-=e{wl~-nv>Egj1cL7gguBx% zT)Zq@NE=-Nt6g4JyGT~9fVo?Mjr%bh_W%^(#8yHO+#|w*$V3wYFrM_Cf1JV+84je7 z9ROpGU-)jyX(BU$6nbeLjSW4@*$~LtaEfn9=b%FPo5J`zLU_AExy0xc;4Ihg&$RuV zvJGs78Rz*%p2AAl3(x<8lzp}-|FX4l%|7EfIvgRBjB8tSQLP1VZWEF#ywdLj z>2hyD&Cz7(vFsX(us-NkLs+sfDkV2EMfeY2cqXqlT3nl0R8N;Z551!ZFX)PvHbvg; zPAF=Ql@G){8oW?FobYU%-aQi8(syOzQ{37bFFif|+O^~xchYiY*TsbylHyFUEVrOS zC@mHh+?B~>#g(;XRrU9uJgcg0tgWkKmA77d(0=`qGNYy=^WpQ%CrV+BN>bPLw6R6f z(sR2_!|q(n>iQ^DjS2e4MK5Qv`<8AFEsF-0Btwh&iZ>0-?TxLUQpLzh z&8rU$BjfVd`o|+*kbdR$!ncucOIodVe0*G|(@jlJ&&BTL3F4!sWQKrZSsrbm`jlswPRiNw~ox#)EssIi3K_U?mR$7V-IC9eE}g* z5#SHoR>a6~NhI<=Q;WTt%?}Qu9NUN;+@wtJJS0y=!z59V(h!KT_cmHu5NujLLCxE9 z_QU0%P-;FGb5tI6*gk|&C@tm`|9+v*B6nv=lO}$S+iOD$Mn~aW%lOvrmnW;VvcjwTy1x_M|Vx7g?UOR%A{vxR1=O9xx`_0#)mAz z#O%%n@__a?l=898*N7xDAiI1b<_~Z{nslUk?g_Dey!Eax#h5@k{{; z%`faJ5{8R)QaC;cQD8x5`VzNXi1Wqp3x`c^8P{6P{gaVWuFtYe7c(1?zIg}q~%W>VJ1sc%Av?5s&yuiMsG8Vvph~HOnJjUP7z}R9x z!{}s!KCBJ0F`$WM&Ver~;K&ocSHW(s6Mh)nO&1ErxjYUP9z|fJI2_q7U~QAux`?+R z3gs}A84lrf=7C(=X6VrsYzT(A2H$czA`b%`i`+&{!uU_X)(G<^EyNUO6=M{u;y53QM-q4Y5!fjNf2B$c3=RvJnhbNor$)h(^K&^hwf=q`1g%>cIxsnNp85qN`tNhU3jbmaN?09D@dd_WcK8kleih literal 0 HcmV?d00001 diff --git a/api/extjs/resources/themes/images/default/form/search-trigger.gif b/api/extjs/resources/themes/images/default/form/search-trigger.gif new file mode 100755 index 0000000000000000000000000000000000000000..db8802beb370d7554d5319c0e0d5c4ecb8da2c5b GIT binary patch literal 2182 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 ZkbiNJBLYFXC1qVT#6abhSh5fT06W`UZ>azP literal 0 HcmV?d00001 diff --git a/api/extjs/resources/themes/images/default/form/spinner.gif b/api/extjs/resources/themes/images/default/form/spinner.gif new file mode 100755 index 0000000000000000000000000000000000000000..1e323bf0b68433bf86df2bd885c11a607a0c8b9b GIT binary patch literal 1975 zcmeH``%_bQ8i!8^kRZ?+paC^F0TB@qxoJ}n8&DxEbjIiwT<^AsG*V28QY%%#&=3#{ zREOex2AqnAPZYLx;C+EBHN9=EX<}=ScKfg0?d_o-U zv*T$H8Cry(&^=een8o4D;)s1$w=V6US1;5`F4jpd)k$*eB~8tLJ!8lC#>j`!51l&7e5>Kf6CXD@)##fWZLFvqEsZlI7 zh^59snPy0)5zCBX89Xf049c_vGQ*%uKOlpLWZGf5W=O6dmg|P5OmC)^yf~tmd#iv) zrs2`0DPf7yIHuG~l%_GIaa?H_QyIrprgtjC{QUgF!or7Tv>&v~%nYDnqrM6-kE10zcquDxV1+dvVzib<9v6(EW$zofypjNBZga8YI zS`eEB!K?^sLIHvxRs=Jnz=~oBYC}*AMNzX2peSas0jmulOKrn!%U}owPz=~GfMMWo z{!bV1vDo7v2tYy563agU5dq{$q%az!moE|B0uOa-g)i_c*R5qxnZB_+uTLWTx(AN$ z<`Z|sqED*-NZ9GWFRVrYmG%C5`AAQyLMY6?NsIOf&2vAA$A=y6aw+29%e%gw>3cY} zN%e($%6{4{?KS?J2VW>7T3ByNsvI`86?MuS3Pu~US9|9Q%j<~S@T2_nUXv*A;qjOM zj=pKit$2~!Z-2nuv7ur&YbN&Gn(u=TKRr|!f!hU%lj{$Xn@3xJD5%7Jm(9-R_;SWc z8Fmnnnxe}a2;R;m_qQ}1ZBJW43P|k=@fyltK1iEyp3kFpbNz6BP%cDI_=Pa=kopts z@u}3MAZzOU3TYdT4^Bp3Uch~jJo)}befgD~;1k5Hp7iv-oM7p`D@Xh9wQ{JCTUC6P z+(|$nL3T0TM3=XM_ZM+OCZ0>JARmFwxs3eA@rbM*JLk5yI@!aI@ho+^p?=wGP> z*5<~14{qQ6?jN~~s_C+XV2R=y6N5S^_O$!)Zg@MokU~f4?;U+ot5TuU3N4R?PbIZE zl53a+tFx{i3;4ZD_NR(<0dt}YxHV_(-Oe;^6jJw{*|@=*L1C(^3WE>4E8eQ%@YnAA z6ASH&7G{QtGr=j}P%&ZpYxI3wo;gOP|>-0KV+t}iCZ#?uV+SR*7n7?g~{hW|L zx8<3ib5er{?_SI9GvCgr{7XG(ZoD=Be3Smgrjd+?#epRhBQDglmEGp-{B3xRUHuqq z_`I+u+|jF5%Ja@_Ers76{@S(D!E?WuEJ<5a@aXNKoc`=lucW7&ACDbKeDcKq&V_7= z5(h~3H#4`9RFyFS%@D!wOrvT|G$WGk>BkNUyi@cGiy|-DIYtwdCSJ^SOHx$LQ1_qv z2Yqc)K>mM$UgkeuDI#^r(d|^$Q4r6|Kwv z-K3+sAi{Uv7>UWQo_ud#_N8YpMKgr6sXf+D~*JEhbc-#tI&Y%63>- z%qrlyfz0UkwBE5plBag)y$Uv6yHRqYIrbKr*5I(cw4JRGa0!p8pBuvkoFFfeQ?fRX zh2s)Mr9Ah6`!4Iyt1sKaZ@aGA;1rVY;}L)-26U|C-N?)P=&YLix?4nu8uod9J$QJv z!Jgz8ZST60TTPCj4HSOM*oAW&;BAQH@Ph;8&ZjHv1Jokkrx6_~Kl68m1#t>^)vLa4 zN~eTbg~jnnQ@C1UXH1jKB{?I1wXCfxpio!BGvleajd>2Jtd#!_@9SwHI9Akd_N|UB t9+NZTu$Z#)3}Xk~-$Ba8#=V)fUwM3XH!vlkF&BcO{s)2W&!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/api/extjs/resources/themes/images/default/form/trigger-square.gif b/api/extjs/resources/themes/images/default/form/trigger-square.gif new file mode 100755 index 0000000000000000000000000000000000000000..3004ec589026c038e7d056e2b99e3a877d1ecd50 GIT binary patch literal 1810 zcmeH`=~I#k0Eb@@(r`m7uUt*s$}CGwv#`U(3p3rqV|JbGJ~p>wuw%A$t1UBIwalz( z+{&#$%ZT+L@5&Oi)(njo!2=aJUO-TkLqNb6-<{omV!!O~!}Il-d1iizNhCtlp<{qI zFbe>0K=r2)<>eaTOHke`M`}Tc$K&-w`Z;)h1NmlC>qos_ACXo(VMBP*8NSR=2g;eC zTse!>fe=?>)ai87)6-h5_EoP^AP~Uz`M$nBKA*3fwW+K~cv^AWkZNFHpqV2d92_)R z?LwiDBeg?jq*rY07MUBnWnJRA;o;%P^jikAjW3;mVK^eS*lI_(V=4h;GFfaNL{^bV zWP|59VCLdoYHQ)h*?r>{i-ixF%vSq=!rTU`t#k0} zUggI0TWvzs=P^~+(A0Wn8IQWMaOQ0fTZF_<#RVfdDJ| zU-P$Wo*?VVKr zv>QMX8JhcNpY6P}`bdd8lUmhVPVfpMuo|9opEw=-v~3MQ=RHRG1nv9Oc-)Z|m)zHr z)TI1eNurS+6-EBZuS;&Cc#vt;!iFD%gK}8SH6tyq?@1m&3uTYPa>Im(Gk9&3h6-_B zp3}k4Vn(P0zi~{h{VkGnsuu#lr^Ct719}PhhL} zwJTGMKb;z>Igsvlx}rs~`R#5PcR8;)iRvvM|Jk(+(lJoch!ov6ixFnDlj011>WQkv_op8RKJdoL^uEJJCSo!-%b_pjdzFFrJmJ5u%l|L{a0h$@c| zQG*K7nT$MuxPuq(trliLXcs$F;zO;`Hcjg#WrSFHN-C$kgd zQHVYJk}Y{TLeFA3E+FTQu8@r5a-tocYEMo=ei(-!z!|5@yEuY}*X6J=)3sNTi&Up} Wr&xDc=v65PKOA33bU>qlt$zauvnrPW literal 0 HcmV?d00001 diff --git a/api/extjs/resources/themes/images/default/form/trigger-tpl.gif b/api/extjs/resources/themes/images/default/form/trigger-tpl.gif new file mode 100755 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#N2luQwPBW3%=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_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(DJsR0TJCw1C%R+wAP Mbv*YluxN1lKj3usvH$=8 literal 0 HcmV?d00001 diff --git a/api/extjs/resources/themes/images/default/form/trigger.gif b/api/extjs/resources/themes/images/default/form/trigger.gif new file mode 100755 index 0000000000000000000000000000000000000000..f6cba375ae3a96c87639a5b3034d204953d1db14 GIT binary patch literal 1816 zcmeH`_ft~`0DvC>l)V*M8qq2uh!jyON)b6kq!482iD+?8gcdhyFlbZ|=|RDBw1|nK zYy=g-LKp%@NJ7F0kj2X&VI?8&k(c$_{t^AH-#_r(eRtok-4Q`Qq@Dnl0SotmX1et2 znD}NDyN)jG6Qb30kilRKf(n0Ju2yFdDUimGJpp_36beNxUC5kJ*3g9v!Msd^{)2b{ zt)YWDy+JOQ)A*{nxjFfQrm0UnJ3HGlGWq@9yh#Kd7#LtOnJgA-XlMwAVF=L=4-dbm z3fXKnRiF=ye+a^8A5VqoQJqfL&C@akG8PEYxRXj))60QJM@IwV@*uUQp?9K-gJ^UH z4u_-FYMW@18U{!cz;a0asZU(Z0H>#?IrHd{2&N23`ni(|NYg@>b`8qZYBi$ODPSFh z7`jJhAVkyHJFzMLVGDbb%7s2qg)pKQKO~dc9tw(M&*S2TMv}O{ul| zX(hr_p*$X+#+A0Sq=O=OW@d&4Y7hhgA#_j(ixyB=hq5JVKA%tHNdpt|spDd)a$!U? z)5sF_^Hs10Wr_7%E*AvBz=Vf`lc;0?RY8zKjRwZ&(}g;vQppgb43Ta~iVm}RDwPWO zpZ~tVO2otn0PX`m|Em6d0x&}XXEXQ6TK?^DjDz>V9vskq*Um8{ZzSEb>&{ZYsD`$> zm)(zuOII)3T~F#=j=_{4?5+PUs&M0;zw%rhk5ixe#BCnweRnc8-_pj+BdVzUj`_L_ z?#D?-(@DGs1nWi=zJ{hbxhrf&%I9P;z^0j13zsoCgUyB!LQG$M=6Bn zEAz4?W0%OlXZ*aUKJ;U)pd(AW$gbc;9oStk74bN_sb181!*oCQpv$^Dw9=iqU&fOF zA~XHNGjV!qu8eunzbD^*Rqi>fhV#@l+mqU6##_(wB0iO=C7ZkUxySYgSDd!7KA4`t z06t~PYMpC;jw9vdJDi-&MA7~e!G~Qkj#U=LMSSMXfRx;YLuK16N&BjCr(TdvP5rdc zt{pce*VU*awki_c3{bJ8r)Ojoe=08|_7OJCv7kK{Qgd2!MVLiRi_8Mw-eFrw8P7v;1u9x z-}%LDSypYcB`tYg>w`BBcdlCOdCe)M zfedWoWIDv&Q{*sXo@UiMg$8V^0TPUXMplY3&fDl%31>0(Zc)nn!H}aK4fIu=z6)kv z-+Z?)QwhI?k0h;tqPxe!h}L*+mSyQBc8+_@CEm253L5eZ-+%~}u_Mh*3<*qT_XkyU<3LnMio0A;#iIPH2>?PU+mB(da-cCK;QqFvtUd_gzW zR3d9re%ms)ZMLbqzj@+o@P+O3jjpA7c>MCCZPR2MtU)a-vAv->;ui9GR8TT!P_r-l zp)l_j*PxyKbA^6(s&E5fn9Jqqg!@{l99z5`bkz(Dw>Ii+vxSa)plM$yeY@T53FcuX yYq-rg40qd+b;#6`NHN(^kZr9xY#!i+x4U-1Xsrs12{a3_fn)Cim5HGM5d1gxR!0f| literal 0 HcmV?d00001 diff --git a/api/extjs/resources/themes/images/default/grid/arrow-left-white.gif b/api/extjs/resources/themes/images/default/grid/arrow-left-white.gif new file mode 100755 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/api/extjs/resources/themes/images/default/grid/arrow-right-white.gif b/api/extjs/resources/themes/images/default/grid/arrow-right-white.gif new file mode 100755 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/api/extjs/resources/themes/images/default/grid/cell-special-bg.gif b/api/extjs/resources/themes/images/default/grid/cell-special-bg.gif new file mode 100755 index 0000000000000000000000000000000000000000..d76ffbccdc66ff52433560c893ae9f3130152a2c GIT binary patch literal 1636 zcmZ?wbhEHbG-qaH`2L^a#fulOUcLJA<;$l}pFVu}@b2BaH*enj9|fZ!Ffu|w@h1x- z0|PsQ4g(N?@13PQn3)hIR%euQ?tY7ai@E uFwVMjV&mfD{R+-qGM<~3oSdu?yej78rlqH+8zi5a2*=FiKfk`du4iLoYy1EIzwv>L6f@N#hBdp@_pFUkiUlfT N@O1TaS?83{1OR1r9kKub literal 0 HcmV?d00001 diff --git a/api/extjs/resources/themes/images/default/grid/cell-special-selected-bg.gif b/api/extjs/resources/themes/images/default/grid/cell-special-selected-bg.gif new file mode 100755 index 0000000000000000000000000000000000000000..f1da867ded3e87e53d6ac3823dd7fec84e4f3bd5 GIT binary patch literal 1640 zcmZ?wbhEHbG-qaH`2L^a)U6K}?tQrT?8}{JUv545as!ASeYy7N)0GFGF5UZd1}J;y z!?`;j{*Qvu5Ezajp!k!8k%57iL5BedKzX8lG)D}_cpmi=u_3_W%D~DY;V^-rk%^5@ z!=*vNv7wzuLL-1-!J?zx62@6~PHbF!ykEh&OU854l9Q7)f>*_y+_d!cbc5tmb38XM PJ3HH=_?3&K0E0CEWa1PZ literal 0 HcmV?d00001 diff --git a/api/extjs/resources/themes/images/default/grid/cell-special-selected-bg.png b/api/extjs/resources/themes/images/default/grid/cell-special-selected-bg.png new file mode 100755 index 0000000000000000000000000000000000000000..500c3bddb2ff42b2235619190fe461989f81559b GIT binary patch literal 136 zcmeAS@N?(olHy`uVBq!ia0vp^;y}#E!3HEvmzt^pDVAa<&kznEsNqQI0P;BtJR*x3 z7`TN&n2}-D90{PHmZytj2*=FiJ>UPl{{Nqchv)x)X9MQL^&HZA-{jAwB{Y0`_-RGf d!>WZz3|BlfrsWsL2Lg35c)I$ztaD0e0sylZCIkQg literal 0 HcmV?d00001 diff --git a/api/extjs/resources/themes/images/default/grid/checked.gif b/api/extjs/resources/themes/images/default/grid/checked.gif new file mode 100755 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+*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/api/extjs/resources/themes/images/default/grid/col-move-bottom.gif b/api/extjs/resources/themes/images/default/grid/col-move-bottom.gif new file mode 100755 index 0000000000000000000000000000000000000000..cc1e473ecc1a48f6d33d935f226588c495da4e05 GIT binary patch literal 868 zcmZ?wbhEHb( 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/api/extjs/resources/themes/images/default/grid/col-move-top.gif b/api/extjs/resources/themes/images/default/grid/col-move-top.gif new file mode 100755 index 0000000000000000000000000000000000000000..58ff32cc8fa2aa1be310b03bb2af77c1b77abe93 GIT binary patch literal 869 zcmZ?wbhEHbG68wVGIhem=U(^LUb4h;c?We$u2%uEc{03e(}^8f$< literal 0 HcmV?d00001 diff --git a/api/extjs/resources/themes/images/default/grid/column-header-bg.gif b/api/extjs/resources/themes/images/default/grid/column-header-bg.gif new file mode 100755 index 0000000000000000000000000000000000000000..5895dbaa507b86b85517947bcb91879357dd045b GIT binary patch literal 1858 zcmZ?wbhEHb^U*yzT|&CAcTIW%+0zFM&2;$jbZjo4FLG+UMj zEcWVk*t+WKYN1V8cTbr%TwkAXm`TEW+nSr3GcK=+J-u!1?d=7RPtEn-zV7bsiqEg^ zp5DIx{{9ALZaJSF8y+6+5Y~=6vt#4q;}ev<=lSg1^z`%$vxOG+5TW|k$A4WHa+w!$M@3X z-^}~o-h9Je=%fFyM!WCr!8fAb5^aft20h&VflWEV-gbulkEuW}F?hQAxvXLCpIiR+|JMFF~?)$qNCjs##whxY+QW2U%|Oc#&gq> zlan=qSH+y%wDk0JgXB|lJU1^pJKLi8)t!@@m!F^S(99+4wPnS{#U7KjVoz;Zd3kxj zVz0SgTUT9O9kDsarV74J2yW+zreX$&Ue?A QmzP%rua28*uE1ao0O8YYqyPW_ literal 0 HcmV?d00001 diff --git a/api/extjs/resources/themes/images/default/grid/column-header-over-bg.png b/api/extjs/resources/themes/images/default/grid/column-header-over-bg.png new file mode 100755 index 0000000000000000000000000000000000000000..3f206494db775af4dbed9a37fe52d74953c2451e GIT binary patch literal 283 zcmeAS@N?(olHy`uVBq!ia0vp^{0t1tCLC-)R!VclP9Vin?Bp530R%N1DIGvQXMsm# zF#`j)FbFd;%$g$s6x{3S;uumf=j~ZbJ_Z2>2FD}+?X@m;T>8k)+I6#T)5a|u4<)`7 pIkdfSUF|;0!v;Kq3H@QdCwYQbb;bNWfk2Nic)I$ztaD0e0sy)ySg-&9 literal 0 HcmV?d00001 diff --git a/api/extjs/resources/themes/images/default/grid/columns.gif b/api/extjs/resources/themes/images/default/grid/columns.gif new file mode 100755 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^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%)1K8vI{DjqJ*BN5r{ru+ zE8dX@@h1x-1A`ia4#-rHpBUIY93~fd=t%XSSW=X!RXD?mhh^5u1eqRJ zra}V|4(7yC6`@KS8NXveD>;rxe2zT3&O@bf;od_Jstz(SGPv+_sRXDB26XrI_Bk?G F0|2KMVH*Gd literal 0 HcmV?d00001 diff --git a/api/extjs/resources/themes/images/default/grid/dd-insert-arrow-left.png b/api/extjs/resources/themes/images/default/grid/dd-insert-arrow-left.png new file mode 100755 index 0000000000000000000000000000000000000000..5dc696781e6135d37b5bf2e98e46fd94f020c48d GIT binary patch literal 345 zcmV-f0jBq$gGR5;6H z{Qv(y10{fofkH6I3@AO3$p*x`Nil#0jeqs;pT9Ds7{CaN1)$9r#n~kE{`~pF@bLXZ zhF?E_GyM7i!oL`P0x_8Wj$ni2F7#hzWPxfvDaInaJo@X+Cm!COivwWT<1&XvJeYQNiErjd+Mbq870xT@Ntjs=&42%KF O-2R=tef=(u4AuZIk#dp% literal 0 HcmV?d00001 diff --git a/api/extjs/resources/themes/images/default/grid/dd-insert-arrow-right.png b/api/extjs/resources/themes/images/default/grid/dd-insert-arrow-right.png new file mode 100755 index 0000000000000000000000000000000000000000..b1a1819238c6de8f9e50988f4151261fa6ba64ea GIT binary patch literal 349 zcmV-j0iyniP)o>#A+qW*AYQLZl(!&BX$x7Ik;qO170ssEM z@$bKXf%rGW?|(r27bf-TSv zD}TdX0CM*JhkLO)8|Y^+n~Q^sK~hqR;q|N647YFGy>NTZJsWr!5CaSfwJm@a><8NX v2&h?|>lyj2t2o f3la`CGVn;rtSCr4)W)vpHOFJ)qNAORj11NQ63h`c literal 0 HcmV?d00001 diff --git a/api/extjs/resources/themes/images/default/grid/done.gif b/api/extjs/resources/themes/images/default/grid/done.gif new file mode 100755 index 0000000000000000000000000000000000000000..a937cb22c84a2ac6ecfc12ae9681ab72ed83ca78 GIT binary patch literal 133 zcmZ?wbhEHb6krfwXl7towPL}p0*huu%~roJzC1V7qiQ)z(xVq;t8Q*e g@TwP&*%vbDj%DY0^FxMh_Sd^OqF)Bg*^}7&&A#5)LvkG7IyS zOnBJr%r7CL!Q$}XP&==XoWqO@51m;T- zPZpr7|1;=-+z!eU3>@+d`VlJv8V|8>3M$wXTxdAR#L6ikV-V2L(7?dJ#=^p24FK}3 BP__U7 literal 0 HcmV?d00001 diff --git a/api/extjs/resources/themes/images/default/grid/grid-blue-hd.gif b/api/extjs/resources/themes/images/default/grid/grid-blue-hd.gif new file mode 100755 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<=_zzU~q6?um%8<;zWG_ literal 0 HcmV?d00001 diff --git a/api/extjs/resources/themes/images/default/grid/grid-blue-split.gif b/api/extjs/resources/themes/images/default/grid/grid-blue-split.gif new file mode 100755 index 0000000000000000000000000000000000000000..5286f58f6f798184c3eeacba1352cfd39b9ae03e GIT binary patch literal 817 zcmZ?wbhEHbWMbfDXlG!Ub?iS7FpPrH5Ezjmp!kyo=M_wPS^_`om@~ literal 0 HcmV?d00001 diff --git a/api/extjs/resources/themes/images/default/grid/grid-loading.gif b/api/extjs/resources/themes/images/default/grid/grid-loading.gif new file mode 100755 index 0000000000000000000000000000000000000000..d112c54013e1e4c2f606e848352f08958134c46f GIT binary patch literal 701 zcmZ?wbhEHb6krfw_{6~Q|NsBg$>(oA`P8%SHjuGk&%@0ppYOTwO7TCppKD04vtxj( zk)8oFBLf42;y+oZ(#)I^h4Rdj3>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=g^pDJi6uprK3M%`#IdVL zUEAw4e{ zmg0{~p6|Ie&p`6H%mYO|r)_gjg|As;$iv1hQk=MZgX#CFjEx2xI6HUG&(-w8Y7Wpj zcm93g6udbnGzoX) literal 0 HcmV?d00001 diff --git a/api/extjs/resources/themes/images/default/grid/grid-vista-hd.gif b/api/extjs/resources/themes/images/default/grid/grid-vista-hd.gif new file mode 100755 index 0000000000000000000000000000000000000000..d0972638e8305d32d4a2419b3dd317f3c8fd3fe2 GIT binary patch literal 829 zcmZ?wbhEHbWMmL!XlGzJe){5xGZ#;uy>#l_<(QpFT5;g3%Bd$|0cmlLhGf{|q`H nPk{0S1BVoYrq2Wc#zV~Pyb=r?3JDC2Ol*7#9t#p29T=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`d67r$SB{>v~5Mnhoag@EEu7NDp9Gw6W44$2b@93l*? Z95Nmo7Bnz$2y4ZhC{SczU}R*l1^^j55kLR{ literal 0 HcmV?d00001 diff --git a/api/extjs/resources/themes/images/default/grid/grid3-hrow.gif b/api/extjs/resources/themes/images/default/grid/grid3-hrow.gif new file mode 100755 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/api/extjs/resources/themes/images/default/grid/grid3-rowheader.gif b/api/extjs/resources/themes/images/default/grid/grid3-rowheader.gif new file mode 100755 index 0000000000000000000000000000000000000000..2799b45c6591f1db05c8c00bd1fd0c5c01f57614 GIT binary patch literal 43 scmZ?wbhEHbWMp7uXkcLY|NlP&1B2pE79h#MpaUX6G7L;iE{qJ;0LYaF_y7O^ literal 0 HcmV?d00001 diff --git a/api/extjs/resources/themes/images/default/grid/group-by.gif b/api/extjs/resources/themes/images/default/grid/group-by.gif new file mode 100755 index 0000000000000000000000000000000000000000..d6075bba2fd87519bce379df01d12cdbe67f255e GIT binary patch literal 917 zcmZ?wbhEHb6krfwXlGz>`0o(b_B3_s=d77u3+H|!r zfbs+bM-c-fhm6OD1qYj1`88rr6eKbU2cZFVdORzJ@!m~?8+%1KMTTg@3K$aq~=^PX>8{)(q7 acp2+dVHKAK1EYrP>l5}X$w&(@SOWm68Djnb literal 0 HcmV?d00001 diff --git a/api/extjs/resources/themes/images/default/grid/group-collapse.gif b/api/extjs/resources/themes/images/default/grid/group-collapse.gif new file mode 100755 index 0000000000000000000000000000000000000000..495bb051dcee00b837a948af56f7a59e77b69aa5 GIT binary patch literal 881 zcmZ?wbhEHb}Lc00Z?nwEzGB literal 0 HcmV?d00001 diff --git a/api/extjs/resources/themes/images/default/grid/group-expand-sprite.gif b/api/extjs/resources/themes/images/default/grid/group-expand-sprite.gif new file mode 100755 index 0000000000000000000000000000000000000000..9c1653b48dbd2d4bb00886c379ba3a66813737c4 GIT binary patch literal 955 zcmZ?wbhEHbuiX3i z{QdXWpZ@~^!zdUHf#DSbia%Kx85kHDbU@w$?_tHlbAgvKT&29}T*1_wr_8B7v4Oad0D zH!!O=%UO7AS#fc($7HS8Q(IPEULLU6Yp&PURaaMg26lV0F?{M|skyG2(-{0TB%q{1$Bh!Jw8USBOURwYF literal 0 HcmV?d00001 diff --git a/api/extjs/resources/themes/images/default/grid/group-expand.gif b/api/extjs/resources/themes/images/default/grid/group-expand.gif new file mode 100755 index 0000000000000000000000000000000000000000..a33ac30bd2b3758ab2e003f70ce638ab77eaf101 GIT binary patch literal 884 zcmZ?wbhEHbbN~|U;Bpe)@m>5|?LIe~TnPxDF-7pDQklw(o P-YjR~vE{{q1_o;Y#^^iR literal 0 HcmV?d00001 diff --git a/api/extjs/resources/themes/images/default/grid/hd-pop.gif b/api/extjs/resources/themes/images/default/grid/hd-pop.gif new file mode 100755 index 0000000000000000000000000000000000000000..eb8ba79679eabb7811c3d9d1c86c43bcf67552cc GIT binary patch literal 839 zcmZ?wbhEHb_??HKjfkTCXkweD9 mfT4kbgI~?WW5NQ*7JhN9o*xBDE*)ahRw)@D7aeL~um%9t9ucMh literal 0 HcmV?d00001 diff --git a/api/extjs/resources/themes/images/default/grid/hmenu-asc.gif b/api/extjs/resources/themes/images/default/grid/hmenu-asc.gif new file mode 100755 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!wWjlNOK|~-m_dM?T+-E!pI0dd^5l}(d@Glq_swQ5Q<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/api/extjs/resources/themes/images/default/grid/hmenu-desc.gif b/api/extjs/resources/themes/images/default/grid/hmenu-desc.gif new file mode 100755 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/api/extjs/resources/themes/images/default/grid/hmenu-lock.gif b/api/extjs/resources/themes/images/default/grid/hmenu-lock.gif new file mode 100755 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#s|^2dGCVn`{Pc*@>k~$=Pg%ddVgCO)!~fR||KBnE z|HJVAKg0iLR{x*dJ-;0I|GC%y_pblnMF0Qq{Qtk(|NlOXjV)~*Jzd>>6DCZaK7IO( z88c?ioVjUP%kt&RSFKvLYv;-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/api/extjs/resources/themes/images/default/grid/hmenu-lock.png b/api/extjs/resources/themes/images/default/grid/hmenu-lock.png new file mode 100755 index 0000000000000000000000000000000000000000..8b81e7ff284100752e155dff383c18bd00107eee GIT binary patch literal 648 zcmV;30(bq1P)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^nd8hiS;2Kdj#HUllo z8f~>&*KFH9Nwz?Ckui3oR;%3`NI(gPUDtho|G}f2_3e8bT8ASerBbE5)1bTYdcFQ| zZM?C8k+I47`6u~>51*b--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<dA!cTgY+CR4-a*;u;!NrNF3LWTlP5a1_; iES|Z7@j-3=)A|j?vD&^)Yn&Va00007>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 zfXCOw7l;j1uOz`;`%xPF|1H(H=TQ-Al80O7c-*kEIp@ZM``Ch}Whn7a@ zEo{qiRYg+i%R z4h#&aR4TPvt$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@#!#g0h@qxe*x=qGVcHY literal 0 HcmV?d00001 diff --git a/api/extjs/resources/themes/images/default/grid/hmenu-unlock.png b/api/extjs/resources/themes/images/default/grid/hmenu-unlock.png new file mode 100755 index 0000000000000000000000000000000000000000..9dd5df34b70b94b708e862053ef4a634246acc8d GIT binary patch literal 697 zcmV;q0!ICbP)WdKHUATcr^L}hv)GB7YRATlyKF)%tYH6SZ6F)%P+<{wS~000McNliru z(*g|-5GqRX(wr!towOa3bz1}%hRS$Ze*UVXl27U>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/api/extjs/resources/themes/images/default/grid/invalid_line.gif b/api/extjs/resources/themes/images/default/grid/invalid_line.gif new file mode 100755 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/api/extjs/resources/themes/images/default/grid/loading.gif b/api/extjs/resources/themes/images/default/grid/loading.gif new file mode 100755 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 ~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>+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/api/extjs/resources/themes/images/default/grid/mso-hd.gif b/api/extjs/resources/themes/images/default/grid/mso-hd.gif new file mode 100755 index 0000000000000000000000000000000000000000..669f3cf089a61580a9d1c7632a5b1309f8d0439a GIT binary patch literal 875 zcmZ?wbhEHbWMYtKXlGzpd-4Cei~rYO`oH1Q|BaXbZ@T<{^OgTwuKwS8_5ZeO|94#b zzw`S4UDyBbzVUz0&HsCE{@-`&|NdM558VEL!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/api/extjs/resources/themes/images/default/grid/nowait.gif b/api/extjs/resources/themes/images/default/grid/nowait.gif new file mode 100755 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/api/extjs/resources/themes/images/default/grid/page-first-disabled.gif b/api/extjs/resources/themes/images/default/grid/page-first-disabled.gif new file mode 100755 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}gPhY%v@z$+dw{PFR zd-v{x2M-uV!Dt8!L;Mq+#E6<8x|aFW_O4e+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/api/extjs/resources/themes/images/default/grid/page-first.gif b/api/extjs/resources/themes/images/default/grid/page-first.gif new file mode 100755 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*eYuz6C>RX^ z>V<&fPZnkd21y1TkddG~!N5_)V9X)ov0=f%X7nX_llo;Ppa!i5VLFJ8Q4$&%&Em#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/api/extjs/resources/themes/images/default/grid/page-last.gif b/api/extjs/resources/themes/images/default/grid/page-last.gif new file mode 100755 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*eYuz6C>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+|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/api/extjs/resources/themes/images/default/grid/page-next.gif b/api/extjs/resources/themes/images/default/grid/page-next.gif new file mode 100755 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*eYuz6C>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/api/extjs/resources/themes/images/default/grid/page-prev-disabled.gif b/api/extjs/resources/themes/images/default/grid/page-prev-disabled.gif new file mode 100755 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*=uxnSOV literal 0 HcmV?d00001 diff --git a/api/extjs/resources/themes/images/default/grid/page-prev.gif b/api/extjs/resources/themes/images/default/grid/page-prev.gif new file mode 100755 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*eYuz6C>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/api/extjs/resources/themes/images/default/grid/pick-button.gif b/api/extjs/resources/themes/images/default/grid/pick-button.gif new file mode 100755 index 0000000000000000000000000000000000000000..6957924a8bf01f24f6930aa0213d794a3f56924d GIT binary patch literal 1036 zcmZ?wbhEHbA}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||Ns8~&oBx`LjW}d6o0ZXGcYhR=zxSld4hrCB?B{ujK>Cr zPF^XagaZi+ome=9Dmm#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/api/extjs/resources/themes/images/default/grid/property-cell-bg.gif b/api/extjs/resources/themes/images/default/grid/property-cell-bg.gif new file mode 100755 index 0000000000000000000000000000000000000000..7890cf9f887ca6dcd09f0106c97b44b6bd032304 GIT binary patch literal 155 zcmZ?wbhEHblwc5Gc+AOg;lhR2Z{EFm`~K~_5AWW8eE;FohmW5>e){tB=gdaSrM&Udw>$^!;7jFpfiJKq0dh%|O{FRAsr%cJ6cQeymfr-Hy05I5B@&Et; literal 0 HcmV?d00001 diff --git a/api/extjs/resources/themes/images/default/grid/property-cell-selected-bg.gif b/api/extjs/resources/themes/images/default/grid/property-cell-selected-bg.gif new file mode 100755 index 0000000000000000000000000000000000000000..1dfe9a69eae133929f3835ffcfd108959539b9e5 GIT binary patch literal 843 zcmZ?wbhEHblwe?DXlGzpb>`cJ$GN zbN|hshj0HpdiUqa`#(?L|9SS|&x?Tku;-OBz~m8F^(Xxn=WLtiN>a=Bx$F zE?m8F;nLL!Q)l&0o9h!C(=%n(wOe=Z-ha4p+phfwkEZ5Vc1)PQY|Z9dx9>(KWnH~~ z>(S$RNmD?mv9-+Rg2I4_CJIHMaG% zPnb4+&ceq}p0)H%FR85Wo;q*Ux=pFMWe1L)nlNk8yoJkV&R?=-^RCpKQa9hQwEXgn z!pip_KJM6ec>m#J*KXY2f8^w`6Q^e`TG`P(@#U-6IYpHfO+D3(9i5ZsY}~%Lv1{Uq zvlkaGS=HV7gkm^w5Q~jme)4VU$mmSscZUz74w#^?wB~^=g*%RMb(8> z&7BjcKYH@~{)0!8XDuwKZoPH){;G{T7>EOkKUo+V7>XHmK*~XJ!oWVSp}48JrL|2t z%F8=3u&p`0Ak5C8$Vs=)FN>E?AUn<7Baf4*MT)W6--OM=GeE4bSy-LLSvqt>F{7&i zgQ&TE6Th`WhFXr2Y&0`7J9}^ww@;xYgOHm>TsTuQk6BY}E(5EeV_RmksUj;&zVVJ? zqex9(HbbrEkeHTKIc+_OAiWO?j?WH@yUQHepwOi1&dIu?>P1B(15azY1T!OpH2`<~ B4eI~^ literal 0 HcmV?d00001 diff --git a/api/extjs/resources/themes/images/default/grid/refresh.gif b/api/extjs/resources/themes/images/default/grid/refresh.gif new file mode 100755 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-cNm zdAaJ$n+2EuFS_`D;g$bOF8yC{^Z%AJuQpuyyy5=;?RWm~z4m$Iga5mp{NMZF|DH$x z_dNZ7J^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;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/api/extjs/resources/themes/images/default/grid/row-check-sprite.gif b/api/extjs/resources/themes/images/default/grid/row-check-sprite.gif new file mode 100755 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(fW5aL2&AYd5-M(@A-tF6WZr{0c>(2e#ckkc1d++>}M|bZ(ymSA_y$28PKYDua;miAv zUOssE@WI2!4<9{x_~`M2N6#KTe)9Oq(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**uiX3i z{QdXWpZ@~^!zdUHf#DSbia%Kx85kHDbU@w$^aLtQ^>)SRb9SKCQ``Jr`=eVAz{OT z183VTy}$iASS#R nB^X?DXxtttx-R#(S?*zGzsXrO9p?HCdj*-f<$NLv92l$th`d^G literal 0 HcmV?d00001 diff --git a/api/extjs/resources/themes/images/default/grid/row-over.gif b/api/extjs/resources/themes/images/default/grid/row-over.gif new file mode 100755 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@dCU$jHda z$;ryf%FD~k%*@Qq&CSlv&d<-!(9qD)(b3Y<($mw^)YR0~)z#M4*4Nk9*x1lt)=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/api/extjs/resources/themes/images/default/grid/row-sel.gif b/api/extjs/resources/themes/images/default/grid/row-sel.gif new file mode 100755 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/api/extjs/resources/themes/images/default/grid/sort-hd.gif b/api/extjs/resources/themes/images/default/grid/sort-hd.gif new file mode 100755 index 0000000000000000000000000000000000000000..45e545f74423d274d5ba7fd942349e9b6e377787 GIT binary patch literal 1473 zcmeH`Yfn-E06_1O8OuKCZ05?;9y0{yY?;~WgRMsR$~K$2`D~d1@}bQ#*KE^FOzmNr zk4h0m5xA%*2nq5&mj9jr&@R9m?MLJ@ z28+?&*i;q2X{glmbaXwjt9hit_dI1))x{ir6L_uMFRHs`tO}FBO&#lQRo8}|J5?7Y zU`>9C$Th8w3EHL`Ba086h!(PEnZzn=+PIK2*LI5;-9YgM=D}nEMKj(5E_P-Pm7jo~EXPhgm4T&wVplL(D->;y1`B0^KR=R4S}*a1vj)fV>NEY1mB8Uq&zYI6Q%t`{**z!J+Vr;E@5~g9*=aqW{3>u}nt)+%y z;;>ng6u?b5{(;L^(y<6nxNxiv6hU01L$+fA6FPrm&HQ1X9CMc{2sC$3gd=9b3;|~m zeo4%+^eknA7SU=RVi9X;xUJr+UX-mqm<4W0%pzn`0voy-@k72&h=Y%ZQ8zP%g((!cJJT4@8F*OhYlV-dg#cp zW5-XNI(_EM*|Vq5Up;&A+S!ZOuUxr$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@75u5?#BR20ya;KC(goN;9V qqtnW!)kYaNB(j|}n>i$H<|I5^)XKF~L^CSn=7x7MEgZ~D4AuZjXTU80 literal 0 HcmV?d00001 diff --git a/api/extjs/resources/themes/images/default/grid/wait.gif b/api/extjs/resources/themes/images/default/grid/wait.gif new file mode 100755 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)E9#Hd|0*@ZIv{eO*Nb# z12yCIrOhLLJlbn33DTB}t(F_b2bV4~y*j=}%v9m90(t13QX1^b_==P$D+H{5*5Mu? z8gKY>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`YELYsVW1or1)YW%;)D$oE>#r zQ3z|D(W$Eg`c?NY^+fD&+nctrc25@u47U__J8-QW7NqK!$T9C@*SpuaHyFRRpIGae rj_Lao#za}+eaj_<`F9!mRdtBiaY8;Hc6N36?{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/api/extjs/resources/themes/images/default/layout/mini-left.gif b/api/extjs/resources/themes/images/default/layout/mini-left.gif new file mode 100755 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#$`Jzc6N36?{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/api/extjs/resources/themes/images/default/layout/mini-top.gif b/api/extjs/resources/themes/images/default/layout/mini-top.gif new file mode 100755 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/api/extjs/resources/themes/images/default/menu/checked.gif b/api/extjs/resources/themes/images/default/menu/checked.gif new file mode 100755 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+*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/api/extjs/resources/themes/images/default/menu/group-checked.gif b/api/extjs/resources/themes/images/default/menu/group-checked.gif new file mode 100755 index 0000000000000000000000000000000000000000..d30b3e5a8f138bfbbfea3d1d6d5631a81268fe26 GIT binary patch literal 891 zcmZ?wbhEHb6krfwXlGzxGAUp-FJv++Vzw-1u&!ctt7CJoDF4C-YI>17M;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/api/extjs/resources/themes/images/default/menu/item-over.gif b/api/extjs/resources/themes/images/default/menu/item-over.gif new file mode 100755 index 0000000000000000000000000000000000000000..da1f289fc9d80d11f57ea8e69f8f5c738c5c0f71 GIT binary patch literal 47 zcmZ?wbhEHbWMYtFSjfz<>dd#BFMhxN{P+L=|2hmn01{_l;+WFEQt~aovJQha0J+!^ ACIA2c literal 0 HcmV?d00001 diff --git a/api/extjs/resources/themes/images/default/menu/menu-item-active-bg.gif b/api/extjs/resources/themes/images/default/menu/menu-item-active-bg.gif new file mode 100755 index 0000000000000000000000000000000000000000..afb0225751dd52de8c6cb1e9fbb5ef44e2949c11 GIT binary patch literal 1833 zcmZ?wbhEHb*-O z!NF!GagCT08x}UU3n+Wd@%X6N)GcA0rE_58;^X}a&P6^Bo0goM%o4OJ=44UB>FEZ^ zr{=u;)NppTMKRlrlbe^HpYKp^CgHVZMIf8UWUW}P1uHKv4_NFq*K6yltE(e6XWc!u zb@lc235UC6y|=BoxjEzVs@T)p*52M;@c7hR@9pdE?ymU!>h9_7>+kPxVCI(d*|Fi_ z;SOQ#xHCI8K0ZD{*?XSP&P`8G&oIuucV_42=jRtVcgy+i+Vb-9is038XLoIVeSJgn z>3P1px4pf+qxki`v%9yyzki^aTi$Qaj*pK|OxBJ+w`b?)=NA@x&-dHA>+9)V<$U*5d?aOS~}V|RW$dH3tmqaR0Z{n&Nw z$F3_sEydh_eXvtJM1{JQhv z*NqpyEkAD0g1*0J_yh1?nCkrD313!Zf0}z1nMEhut7+x_v>KoERfa5;{ zql`oaLxV#To3MsY!i5HBW?p%z5Qo6VgG>_KF=sLa8r@mgI6G7l3K~u_s`^W%9GGU|Y}j)lx*GVZPf$vDm7RjNnE7ldVFfrfObY9lY7; z=&sP!SJox$@7nrmYEH!F+Q(ef58D@%mJ3 zNZi{bC>~a0u|D}gucGn1KNf{gk4{&Po;GKu(ev}Oos-#YqqaP|w8DS&x13p}S=U!v zpH`EdZT9B&=IG~jdv|ZkyS=xNS^nQ{i~L8&dw=_#tJzun@YF){>HlnYls>t-G5CI+ zZPoXe_cvDuU6-3@{qytV%gyflOQz{a2h@&qVP zFmM<%@JmQ|Y*@g^%E=?8;=tJG)Wo9VlknjJLnFJO0!M|%0mo(rQBEC(fQyeBCb4lX KFcA=7um%9T95sFb literal 0 HcmV?d00001 diff --git a/api/extjs/resources/themes/images/default/menu/menu.gif b/api/extjs/resources/themes/images/default/menu/menu.gif new file mode 100755 index 0000000000000000000000000000000000000000..30a2c4b6c0458751f85126e8bbca6ef2ccc2ff00 GIT binary patch literal 834 zcmZ?wbhEHb{Kde?(9Xc{=<(wZA3ps5|DRzLjE2C-3jxKSEI?2HXV3w89h4^+IOG|a lIb=LGEI8Q6z#`0voy-@k72&h=Y%ZQ8zP%g((!cJJT4@8F*OhYlV-dg#cp zW5-XNI(_EM*|Vq5Up;&A+S!ZOuUxr$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@75u5?#BR20ya;KC(goN;9V qqtnW!)kYaNB(j|}n>i$H<|I5^)XKF~L^CSn=7x7MEgZ~D4AuZjXTU80 literal 0 HcmV?d00001 diff --git a/api/extjs/resources/themes/images/default/panel-header/panel-header-default-bottom-bg.gif b/api/extjs/resources/themes/images/default/panel-header/panel-header-default-bottom-bg.gif new file mode 100755 index 0000000000000000000000000000000000000000..408066bfba107a3da8a8198d63140e3114b9e303 GIT binary patch literal 1862 zcmZ?wbhEHbo_)FT$>vfkU)+}xaTc~$J`ZEJ6DFL-=v zuJ`tJcXwBOes%Zs_VxGoH!yR{`Rv&6@NkE)cHEgA8y_E^pzJ-*XXmD;r)L;v|Fc@K z`T6+;&fV`~7HoNWc}4JQz1#&`UtixKdSagM?rm>xZxVlT@9ggKruzq)x!E1|?D+Ut zWRiCLxtgZW&o3-?pW(N6*VorKmV4hgw|Dn<_6LW%mF4d**z@!Ai_5F^-!Itv`}+sQ a6Z8G|+cp3G@%gp-f&Kgc|7T=mum%8ZOq&J( literal 0 HcmV?d00001 diff --git a/api/extjs/resources/themes/images/default/panel-header/panel-header-default-framed-bottom-bg.gif b/api/extjs/resources/themes/images/default/panel-header/panel-header-default-framed-bottom-bg.gif new file mode 100755 index 0000000000000000000000000000000000000000..ad2113f3b3cf8d5dae45f7e0b4055d1e72cef99f GIT binary patch literal 1839 zcmZ?wbhEHbo_)FTj*a_P~R3lD(k)46+}j@nBcl$2A+jHsNj&tv}oqP9x6pV(zum}OgpDc_F3_=V#3_t+N6YZlpVpv4% zs3*t_0gnF+%p5Wv8x|aF<`CA3Ik92k;dTLKuQ?tY7ai@EFwVMjV&mfD{R+-qGM<~3 zoSdu?yej78rlqH+8zi5aWIx*cTa6yeSLkx;VxP4ZEJ3B&bYiP_Vl*3x3?EOJ~h{S`?|ZkD?Y!v zdwTo&`}-T1x#fIzY&4jI;k)E!h10`~v6hcRmZY zyu7?3c(q>af~~KwZ{R&K&v*B>x3@P5zPNXGcX`YG1I^s*4tsWde9SvZJO13Bou8lZ qFY=!6cenBD>l>T(Z=Bn^yPWmG;cg!J`3v^^{QTnbYJGVD25SJ(yNW3Q literal 0 HcmV?d00001 diff --git a/api/extjs/resources/themes/images/default/panel-header/panel-header-default-framed-bottom-corners.gif b/api/extjs/resources/themes/images/default/panel-header/panel-header-default-framed-bottom-corners.gif new file mode 100755 index 0000000000000000000000000000000000000000..f4380faf23f5ebca25bf6d15eca8704ff6923b86 GIT binary patch literal 1648 zcmZ?wbhEHbWMPnC`2L?^#-0}!?!23~@5QWrFK#^ha^uODV>dqBd-dbaiyzmXd^vaT z)0Q*u794mn@4$;W`(B*5_36Z&ck52PIdtvasXL!GoO-kE+`DJ*emr>f!qsJPH}w*x8h1HW)ZIHE>H<6htT- YP-J5iHj!D-@Q{I-gGcKG4+n!a06`!CZ~y=R literal 0 HcmV?d00001 diff --git a/api/extjs/resources/themes/images/default/panel-header/panel-header-default-framed-bottom-sides.gif b/api/extjs/resources/themes/images/default/panel-header/panel-header-default-framed-bottom-sides.gif new file mode 100755 index 0000000000000000000000000000000000000000..2f5557f99b9fb4c1109af6c850123f1d4a6a7bed GIT binary patch literal 2015 zcmZ?wbhEHb(Q5zP`3Jetp(ju4!u`)~D^Bc2p|t?ai&pH<#slm#>T6 zS@HOl>+I?8<95_BGt2$iw&C{S(%(XEHQ(1iJklqrU3VwK;OWUp%Ff&7%>4Z9=zRU` zbv(1SWSn1SJ^h$W)Yq3+7e_A7^R3>NdvizfYqzv>;SVU|WJYyEIe6WmJ V#85$ysBcIM0gj&x%p5Wv z8x|aF<`CA3Ik92k;dTLKuQ?tY7ai@EFwVMjV&mfD{R+-qGM<~3oSdu?yej78rlqH+ z8zi5aWIx* zcTa6yeSLkx;VxP4ZEJ3B&bYiP_Vl*3x3?EOJ~h{S`?|ZkD?Y!vdwTo&`}-T1x#fIz zY&4jI+zM7i@lhegS)jobRqJFE20RUJ-Y8*Vg9i z8w9N+Z-0M>r-@tMucq JdN~0GYXF`kewhFO literal 0 HcmV?d00001 diff --git a/api/extjs/resources/themes/images/default/panel-header/panel-header-default-framed-collapsed-bottom-corners.gif b/api/extjs/resources/themes/images/default/panel-header/panel-header-default-framed-collapsed-bottom-corners.gif new file mode 100755 index 0000000000000000000000000000000000000000..8328b0535e6f82e0175f0ebac83d0dbf0dc16121 GIT binary patch literal 1667 zcmZ?wbhEHbWMPnC`2L?^#-0}!?!4P_=FOaaFCM-5aqhvlV>dp0`u69^n;&;x{J8h( z$Bidnww!r)=-Rt&=iZ&T^KRC@7uTMBo44=9iCdrM9e8o-&ZjRw{ycm4dmuvzyAIEcjDH!|D#|u1O`nADE?$& zWMEKZ&|v@qP@ZTX%@Knpaz-6803pDUz`)4C@?c@}K~@g&l!zGz8=RSimHak1Ts-8! zpyrh$5#Z3w#KI&Z5Ml7Zp@oOp%*3Ekp^;6PJId&Uz{7@?Ny0oi0R;=4m^mf*W*8iF ZU^>FgtkvV8@Th@_mtVs|LP~(a8UT$m{(=Ai literal 0 HcmV?d00001 diff --git a/api/extjs/resources/themes/images/default/panel-header/panel-header-default-framed-collapsed-bottom-sides.gif b/api/extjs/resources/themes/images/default/panel-header/panel-header-default-framed-collapsed-bottom-sides.gif new file mode 100755 index 0000000000000000000000000000000000000000..59d140b6328d2f0dd667b94c71361d7720d6220c GIT binary patch literal 1998 zcmZ?wbhEHbyZ7nHjSq*eeK-I_ zS3c~!^ls0kce^gU+i~vQwsY_PkAl$<7%m~8_>+Z^fkBW#hXDvcd7^zZM+}#^9rXt} zA;9sUfl+|N!GM90fr(qn#bU#QgDrfLS~WK&C>-q+Qg+%hW8&jut@8R=Yd9t?@#t5x zo_0hc=;_I+%8|=*Jd2n4&a_B=X@13{%qTD`*7)RA-9_E>mMHJlhm%e6JhZ5n9!Q-YpDAXAE(gCJ9eQbF1*c2*V!YXE>W!nOba literal 0 HcmV?d00001 diff --git a/api/extjs/resources/themes/images/default/panel-header/panel-header-default-framed-collapsed-left-bg.gif b/api/extjs/resources/themes/images/default/panel-header/panel-header-default-framed-collapsed-left-bg.gif new file mode 100755 index 0000000000000000000000000000000000000000..73a97fdfb20f3818f7a992d017e6f0bd5af3d978 GIT binary patch literal 1634 zcmZ?wbhEHbG+<_A`2L?^)v-5M9(}p==*xu%K=kR{y-#QEeL8aE!=Y;*4qW-L=fb;v zSKjTp^lsOMcRS9#`#%asLtuD?fZ|UUMg|6c1|0?<0Og7H(Ht?nVtCXyq=f*7Jp;dt z!-Ry!CN@3>5e)-}h6V-!Wv@9N8y6kzmN3q`b7JG-x%cVZy-!DOd^mLN z!+|Rw_FZ|m=hC}97vAl<@NUPscmGGhXb23K5K#Qd!pOiN$e_aj1fV?8KAIzjOWcn7 zgPaiH_|L$|A>*-O!NFz@VXc@G8x|gJ7f|+^7z|n~Xz%Lqh{Y!r?Ai?`>;tZqB&8D)#iYwYRqyJU%tod;7Y(yDL7wx_f&2 z`uqDEn7QSAb{NF23|X6W_0-kX506h!_MYdnbJNq)GmNwEo!M!eawK$p+TB}US3keJ zB6xM&*cmPD7&fWX8=fb;v zSKjTp^lsOMcRS9#`#%asLtuD?fZ|UUMg|6c1|0?<0Og7H(Ht?nVtCXyq=f*7Jp(g` zjK_ur2b(#BwPH?eSa`TyK-p`K$HqlRyCsaX?wr`T_;|m9bC-30dAIG{yBklwY&!F9-hmf$_Psc9>)Wv#AJ&|BGjHFE1qWVSd-Cnhvu}^y z{CM^0*M?JXZan+;;MI>$-~QZs_U+b-ZyQd$dGO}Pmv4W*{P^?l-@pH(U^D~yfq{uxgwIBUae+e%pFD$#!-@$D z8~7A>JeKSbXlUW#Fjsq{vCy$WSV@~nVd2B3rYW+9ITsEvsvTyQ_3+s6Qc#6;9xq4B x1&czJ!wiCaE;_3|wJ`Bn&n!FgQ<3RBpRwYHKMx)*-O!NFz@VXc@G8x|gJ7f|+^Y|grSYU}Fj>k|%l$$D>Fb8~aXcmPD74qW-L>%zM| zm)`BW^lrzwciYar`#%asLtuD?fZ|UUMg|6c1|0?<0Og7H(Ht?nVtCXyq=f*-F9vQ7 z8IKJM4mNWLOGTX6u<$UmfU?&dj|Gd4c1sv%t$DFv@$r5I#ts?JO-q_4YXq-~Ir-^H z({zL6Qz;Icmz|x>S@i18$>4_b^BtPmB)qn)xVYG3vR3S=Eh{fC4_NFq*K6yltE(e6 zXWc!ub@lc235UC6y|=BoxjEzVs@T)p*52M;@c7hR@9pdE?ymU!>h9_7>+kPxVCI(d z*|Fi_;SOQ#xHCI8K0ZD{*?XSP&P`8G&oIuucV_42=jRtVcgy+i+Vb-9is038XLoIV zeSJgn>3P1px4pf+qxki`v%9yyzki^aTi$Qaj*pK|OxBJ+w`b?)=NA@x&-dHA>+9dp$`ta-4i*GlceY^JT z+o?OB&fWWT=H90hAZ70kU3<6f+`Cyo#ZSI0IPhZ5z8CWjyf|^|)4CIHzI^-h=+%!q zKwVG1ow)Vw#*;6fzWurN?AxnPzaG8$@#M{q4X56G`SIu9zkmNn!Dt8!ju24%$->CM zpw6Jf00f{s(LS0Z21m?{x?*5LfFqHCk%J{*Q9>sRhp+Z^fkBW#hXDvcd7^zZM+}#^9rXt} zA;9sUfl-y@D&24wBwylm>pL%dnZ1pzX$Zh#|XZ3oQuZ!JU^zqu&>g%iSudlz% z)^=NbL*l`9&d;$n7Wt3&_H!%GTVrAL_(-3j^EI8FM$b=AF>b$Svukt4`K6AF<7#)A zW?ow#JG;-fdRy+*O@-I5)!yFp{`~%6_V&BdI|?5j@BAERXH)+9?)h%z`Ri<~K0i6P z(fPXGUaRk~uWW8#f8TE3?uz$M4=#?c-)CF-?fu=^{r>g)YQKK^c>Q|){aydx|6eMu zQ1h2DV?hJE(24s^%+IbrsN)ywc+kS-b|RsPFNtGen^4$^hpi%M5|7%H%QP0Xt2T8! z>Qdk4q13IvD1P$Y2cs(>ubE literal 0 HcmV?d00001 diff --git a/api/extjs/resources/themes/images/default/panel-header/panel-header-default-framed-left-bg.gif b/api/extjs/resources/themes/images/default/panel-header/panel-header-default-framed-left-bg.gif new file mode 100755 index 0000000000000000000000000000000000000000..ff78a2bab3834ee4e573d02245cfff88bfaf3815 GIT binary patch literal 1638 zcmZ?wbhEHbG-hUG`2L?^)v-4>o_)FT zB6idhWQG8TGlQf?z=i{k%p8IYG9Cd942_J;JS;OjHZD5aEn%E>=fuXv$NLqWyJS2! hEjc+^BY0KJ$xTa7Pd7+DHOF)Fva_=-{MlF-tO4)V4D|p2 literal 0 HcmV?d00001 diff --git a/api/extjs/resources/themes/images/default/panel-header/panel-header-default-framed-left-corners.gif b/api/extjs/resources/themes/images/default/panel-header/panel-header-default-framed-left-corners.gif new file mode 100755 index 0000000000000000000000000000000000000000..bb487a5209f1fa0017fd7fc6a19da2a88ca94509 GIT binary patch literal 1669 zcmZ?wbhEHb^0w vsN&Pc#g}u!Vsat_BfHW!mIDV5Ffp1lo|q#sIXP&m;N)p3C#NJjFjxZsWVs75 literal 0 HcmV?d00001 diff --git a/api/extjs/resources/themes/images/default/panel-header/panel-header-default-framed-left-sides.gif b/api/extjs/resources/themes/images/default/panel-header/panel-header-default-framed-left-sides.gif new file mode 100755 index 0000000000000000000000000000000000000000..14f4971fff9a4dff13ea935604fe1310a485bdc1 GIT binary patch literal 1841 zcmZ?wbhEHbG-l>t`2L?^#-0~9o_)FTdGzJN10ecz?%t;} z_dXrD@!`<54+pM%*mvdKo=flcTzI$Z!n+;k-u)j1qaiTFLqPE-3nK%A2!jp-5PT|n7uj>pDDN4q7Av+kVOxcGR# zf^(OQ=cXkmC#!R=h&j1w>FMbP$*1OcZeDhFwng!)J0~|UKR@50nM>Ad%ZiJOJtk|# zp4zhV@^XJkgNz3c7+E-l*)#$g4m30}vvRRWcyC*Cb92V!Rk5eHt-Zay;PI)s-rLvR z-Cgnd)!ozE*WcgYz|1Y@vtz@l}M- x&(6=!FD&++@3(i?*Vi{TXUBJL+Wr0ggTvi?^8Wkw{QUgl^6L2WbqNj()&NHFgyjGL literal 0 HcmV?d00001 diff --git a/api/extjs/resources/themes/images/default/panel-header/panel-header-default-framed-right-bg.gif b/api/extjs/resources/themes/images/default/panel-header/panel-header-default-framed-right-bg.gif new file mode 100755 index 0000000000000000000000000000000000000000..df72cd36f41beb9255d24ec9afd3706bc01358bf GIT binary patch literal 1639 zcmZ?wbhEHbG-hUG`2L?^)v-6H?tD6N>(j9tAI{wSbmh^POOL)>cmPD7&fWWT|X z*FGG$@?p<~cl)lq+jHsNt_$yWoO}0w6pV(zum}OgpDc_F3_=V#3_t+N6YZlpVpv4% zs3*t_0S*@iW)2yT4GRu7a|mn2oY=7NaJzuA*Bpt`2L?^#-10a?tD6N>(i=ZZ!SFe^ySB&3lF|rdGzJdqc3OfeL8pV z)3F;Lj@+Z^fkA{phXDvc zd7^zZM-1^O9d$lMA;9sUfssSTW5a@j%^bp7F()=GJlrmz>@~+@$PRY#l;?z zwPH_gS$TQ6KeNYNudS=Du8!E8b@$ZP)z{Z29PX0!-nQoE=8Vg$Voz^ddwYAq<5P3J zx39aqJC#)@;lP4MW_AH3ABhPLjEu}2d@=`4@7VbG_ylF|c|JQgJv}|cI6H04^!4!v znmDE1)>LeMd3ibSGJw!Xf;A+r44Z}Sfi4z&yG_nqCn{r&v|&D`>SF+bj%-{$%} zjA!f4&(AL`_MY#zch}d~H#TSAKUb@I>ivVm-GcJ|`}X|&{NnQJ`1AYr{%&MsWUvMR DRaJyH literal 0 HcmV?d00001 diff --git a/api/extjs/resources/themes/images/default/panel-header/panel-header-default-framed-top-bg.gif b/api/extjs/resources/themes/images/default/panel-header/panel-header-default-framed-top-bg.gif new file mode 100755 index 0000000000000000000000000000000000000000..810660c9a65e0928fba21330be6d47429ec4692a GIT binary patch literal 1842 zcmZ?wbhEHb(j9tAI{zTbmh^POOL)>cmPD7j@B9t_$z>U3$0Y(z_k!-fcVg?*Awl4S``10*XIb7#SFZ7<3qb0F)=%M{~rmh}cn2 zkQo9T{~5SBWIQ%3IM~b~EEREL!@|SN0?J-Q}pW2$>7HG^BtPiB)qn)xX9=+Su6I`7R?~WfW=;O zr53EZx;kQW*4d)u0un=>x2iaot;?d|Oak5A3@-oEbc?uyT^?w;Ph z{{H?3W^Os39UC4V?hw|FJF{csdord-CPbwRc<20MVOu zC*GX8^J(6`7uTMAJ9qEXxd-2FJp1G_377_Z-2i0`19}I zzyG6PGz5lD2q^w!VPs&CX3${(0#Kf4AI%X%C-z2NO8pSv2xMU7V41KmfsKiSQzoL~ zK!Yy*jQwR WdORjPa&4DnaN+SXd~vja!5RP_CIL|Z literal 0 HcmV?d00001 diff --git a/api/extjs/resources/themes/images/default/panel-header/panel-header-default-framed-top-sides.gif b/api/extjs/resources/themes/images/default/panel-header/panel-header-default-framed-top-sides.gif new file mode 100755 index 0000000000000000000000000000000000000000..38b27559f10179cc9754e9ea11f198c79b983b48 GIT binary patch literal 2019 zcmZ?wbhEHb(i=ZZ_eHO^ySB&E04Zhdi3SO10ecz?8b*9 zH$EJ?_Tc~!UHP!@(z`vE-tD^ZZrizcJI=lPKMF=eV2Fo+;!hSv1_luZ9R?r(<%#yu z95KYBbkzA2g#gEY21XGBhYJpj3{2coE*2XeI5x5?$yG!!G`g~gaAv4XC{%XkR8S3& zaVTOq%Auh=$H!B!$(ut&{zQ$##YSIt5y=-R4uy^9Sw%!SLIp}RTp2xB19%RY9JsX1 zf2LdMsSTQ;jbY2P)^bf<9kM>0JB4+(XmA zJ3K#rU&((iJ|7AFgu~5(;%cXNwxV%32cpUHSuQ}JZ6<@!n8(p4%Z%aKlzn_eG!Q;ad#nsR5DgAu=e64=D zpKMj>%Tt@(?f2PMet&uGaPoow>;77mf4+CIS$_S#JwHCbzkEENfBxT^@83ROzpo!( zU;ppRU-g6rmPhOh8kvM$zpN0*|UhpeMYZtDEFKE(@2@%@`z)}L}#T)l}?{+ zH=gwR|Jt!+a)?vp(kWhPl20c_tKED$C9JLU>GY_$lS^mDE#iDOBWs%GvzhtJB%jYJ U*krkUcGo_)FY zB6idhWQG8TD+8xW!h!_{o7nke92gcb9Aso>W#bSKSg`15w}f%lof8`uAMaOi?vnA` kwB+Pujo?)=CpRrUJ>4Mr)Ev*v%g)ZWD1PN5DZpS20Nvyd1poj5 literal 0 HcmV?d00001 diff --git a/api/extjs/resources/themes/images/default/panel-header/panel-header-default-right-bg.gif b/api/extjs/resources/themes/images/default/panel-header/panel-header-default-right-bg.gif new file mode 100755 index 0000000000000000000000000000000000000000..7240859e13665d79a0482ddd43d8addadcda83d2 GIT binary patch literal 1640 zcmZ?wbhEHbG-YOF`2L?^)v-6H?tD6N>(h}NA1*xj^ySB&OAo$Wdi3SmlP^~ueK~jU z)1hl04qW+g?8b*Zm)`BT@NU zB6idhWQG8TD+4o!jK_ur2b(#BwPH?eSa`TyK-p`K$HqlRyCsaX?wr`T_;|m9bC-bz{t!l@IpsGfWaC77rY9# literal 0 HcmV?d00001 diff --git a/api/extjs/resources/themes/images/default/panel-header/panel-header-default-top-bg.gif b/api/extjs/resources/themes/images/default/panel-header/panel-header-default-top-bg.gif new file mode 100755 index 0000000000000000000000000000000000000000..df8ba358077bb37d84e98ed89c48e8bba76318d3 GIT binary patch literal 1863 zcmZ?wbhEHb(h}NAI{zT^ySB&YfrvhdGzJVlP{MZeYy1D z%Z(>rEU3vF^6pV(zP!0jbpDc_F45AD= z3_t+N6YZlpVkpPwsM{$G0gnF++#E6<8y++@a|mmh9N4h%aJzuAk&VN~MMt|OjDvg* zY+QW2pU0_7#&c4`$;leQt71-WQf-)SkbG*2!{%jYXA2j-x^vRF>HK_$W-i%RlbbFs z_LyuJacaxTVD^B;UURJ$th%~7VsqA7u7#_wuTNm@koDe{)37+Z^fkA{phXDvc zd7^zZM-1^O9d$lMA;96nz|J8fuwcQ#W)5K~8H)xcRt^RYl>`9>rlSlDJWL%A3>=zS nM7ZQ8EHF$y$id6yWg~E4A|cZ`pK5Vw1|r z$#Q{SAuA1+o}Q{7eQ1v6<}~+N=DB@6GdDl?n`2+vC6hHNJz%~|q>?U|$;!axzB9R| z?h1K%adp7*sIyUDHAC0L?`*m&wN2;d=D3S)p{q^T-rkyj`_NqN?Rnw5%HQ_&&ffk$ UZcqK!F4>%E`3d_On3x!>0UPc`5C8xG literal 0 HcmV?d00001 diff --git a/api/extjs/resources/themes/images/default/progress/progress-default-bg.gif b/api/extjs/resources/themes/images/default/progress/progress-default-bg.gif new file mode 100755 index 0000000000000000000000000000000000000000..a19c88cb1b39e521b2c8261d331698204565ea13 GIT binary patch literal 1837 zcmZ?wbhEHbdQ)6o0ZXGB5}-=r8~QC{MJH=7`}Ex1;_b zCj>bDGq7^Vcx-sk(99vMrE*}y!o%&XN?vn3E;bzPmN1sPabn|QcNPWbE}5ANmYkfd zA-W>wm|~3ak0l_wun<(Rt7T!EcTk~ zwRP3i)e)Ps?w;DZ`uh5W!(Fo8+t%FNoN;+o?CEW5Z*MPnd}^-u_H}o6SA2eT_w@Gl z_xCq2bIbYc*zoXhhp=|snH?J+AD^J?Jy@ literal 0 HcmV?d00001 diff --git a/api/extjs/resources/themes/images/default/shared/blue-loading.gif b/api/extjs/resources/themes/images/default/shared/blue-loading.gif new file mode 100755 index 0000000000000000000000000000000000000000..3bbf639efae54ae59e83067121a5283ca34fc319 GIT binary patch literal 3236 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 JpNE6N8UT=&&-wrW literal 0 HcmV?d00001 diff --git a/api/extjs/resources/themes/images/default/shared/glass-bg.gif b/api/extjs/resources/themes/images/default/shared/glass-bg.gif new file mode 100755 index 0000000000000000000000000000000000000000..26fbbae3bc6d2510832a5ed709f0cb029c2c1170 GIT binary patch literal 873 zcmZ?wbhEHbWMpt*XlGzJe&g*4AiDYX)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|DKJJSK2bm`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{@gtKWw+(i!R!IjKB)<%j$y1Z!Zof6-y9;DGq~5NJ}7gDVJu-S5NBXy HWUvMRItY+| literal 0 HcmV?d00001 diff --git a/api/extjs/resources/themes/images/default/shared/icon-error.gif b/api/extjs/resources/themes/images/default/shared/icon-error.gif new file mode 100755 index 0000000000000000000000000000000000000000..397b655ab83e5362fdc7eb0d18cf361c6f86bd9d GIT binary patch literal 1669 zcmV;02738NNk%w1VITk?0QUd@0|NsJ0|X2J00{{R5ds1i7Z(~66B`>G9v&Vb001Kp z5h)oOFaQ8I0021w0Y3o&E-fxEFEBACCN(uSJUcx_0Rc|{08I)CQ~&^5003P90ZlnN zZ2HgaR#tRYR&iNbdS75? zU|?otXJ=+;Yin(FU|@V`YIb#ZeSCg?et>}h0EGYmiU0tO0055<5Rm`?kOl^o005Z) z0GmN+?~005%|1f>7~rUeD5005~41+4%8tpx?M0RglK2)Y6SybBAy92~17B(5YS zt0^g|FE6h$GP@!ovpPDDN=%4PP>)+%g=J@gYio~fZHaSpjd*yLX=#~kY?O0znsITT ze0->1U$sL+wn#|6N=l(?ZKHd8zjAWJ0s_Pf3(Ero%L)p|939OP64C(y(FzLN0RhLMcRH8%DjAoeXS{Ujv)EG+gtJ^wQ^{W?3v zNJh*-LCQ@{#8XqnUth>oR?f~+Utj)HQ~z6A@Lyo#VPouQYVB}x>v?Q{t%gd(L*0R{xyxG~vlatYag2Jb&>V$^kk(2*{ zf&Yw*|C5vdnwsaLq~@lni75b z|Ns8}{@~x^A^8LW00930EC2ui03ZM$000R70RIUbNDv$>R;N^%GKK1uH+KXhN+gI) zQmI(8v}vO?E0!usk6NLdNb;LSjN7_}3)gKMEm^BfQ9=}oWJFkzOv$3fZRN_A+GfF& z32BcxoBv$pj74i3x2G;S3XK)B)FeoEmXWL#snn`jv}gsDrLa^fQ>tQ`viiu;6mb&4 zIih50RjgR4R9RKTR}rL1lO$0B9ElMiAmt)9>blUBj4Y5687efWvLQo=T3ms|nUS42 zGT05w#%K~HN|L}(qt>OeA3m=K#Zlp_nV3Y10NJUdgV?}Dj3P~n6lR(~fAPA&<^wy< z3SY;ip*i$tjvF;7)cwO(hY@E;pU(dEJAMvK96x^EuyA(#I4D2W)wt>4TNE8YjvOf} zG)mrhfAgFX#~WKj)1E)1@X?1HY^b3I4=}g`${ckFf(Rmn_^}B+|J5T5Fy|aN${TUW z0S6mQFhRr!;UgPsq@e^7N-V$&6Kb%bq#Sa*Vdfi^>~mm0dsJzqm1!)YL=j6Upi2{A zuE7S7XQmMhKT=kc#-N0zk;D-~AfZ4mcqp-i8dkz#<`P*@Bc(t0{IW!$Ngy$V5I-1@ zizZxdisc(i!~o5u$IbJ_rv6JTkwg(c{D4CNyI4a65=m^j#u6#8*Ipi;`17AUTJ(BE z5kdIy0|yB7l8z8W9HFeL2U?Ou5|`ZbpQ}X_F@z60{NTU@$Nckz5JFhX#WM$9V(qqN zczc{Zzy$F_4?N^RzzK;Blf(}}6cGhE|5-BcwnvOnPkU1IumcV|U{F8}13B@74?zS0 z#dwzlam2`nic7|EPvkH$4mJotfiVMJGlaxG_)rEWKMWD>&Oe?)03;wIQ58SrAhy#rm+eCjRSRuH))@dW!7dZ& zW5o_u2R%03bq^haWeql1000EIv_ld+Sb#9`4TvW`^x8Ju-~j^zOmNFONd2>m2p`;_ zHs5>m&A|f!9AH8(f>-{JI5cc`2#jD0Go}*+k21NqFv0{8KoG$M PBfNl1GVhQS5C8x>^BLCH literal 0 HcmV?d00001 diff --git a/api/extjs/resources/themes/images/default/shared/icon-info.gif b/api/extjs/resources/themes/images/default/shared/icon-info.gif new file mode 100755 index 0000000000000000000000000000000000000000..58281c3067b309779f5cf949a7196170c8ca97b9 GIT binary patch literal 1586 zcmV-22F>|LNk%w1VITk?0QUd@002Ay07w84PX`%A3LHrS9ajJYWB>?a019mY3w!_= zeheW`4kS_$BTNt{R2C>w87x&AE?6EhTN5*F88u@cHent&Zy_^VB{*RwJ!T<2Ybrfu zEanAeNJ0@02_k<8;bxSjRY)#049Cl8e5Y1_tY3bkWN(XQaEfVlk7;?7 zZF!SzdY5*8mt2auc!8LDgq&lBt7(C!V~et7k-lw{yKsuMageiql(2i8y-tSTQHA4U zhskM;!F86%bDF?tGlSHx~QzWsjj`Ou)c+z$A_QDf}_NMrOt$@%8RPR zi>%9lsM?CJ)Qqyzkfy4!pytE%CW@Nu*TlB$=|re)xF5pzRlaC#O0*M=&Huzs>kT8$>*ZV^`Xr3 zq{{ZD&GV%F^A_)Y{V6-P_#W#@Xx7+U3jK?!?;j!ruDO*W%II z<s1(&F;b=Ka&^{@UjA-Rbn(?f%pA|J?Ea z-}(RG-{a%sWQF}}=T6!l(LfBVqwLzTzdz--gr zA>~JRUspdjz=SD#uW#3T=*1z15PotP*O<}1TXI=rW8fk~GqY79KP}1YrcVGlvzs zDl$nW+ZJ<7GW-rh3M7OOB8UkZSwRrC?KL;(Q+JJH=Ywg3PC literal 0 HcmV?d00001 diff --git a/api/extjs/resources/themes/images/default/shared/icon-question.gif b/api/extjs/resources/themes/images/default/shared/icon-question.gif new file mode 100755 index 0000000000000000000000000000000000000000..08abd82ae86c9457172c7a4fdbc527641cf28e48 GIT binary patch literal 1607 zcmV-N2Dtf0Nk%w1VITk?0QUd@02fyP7F_@vT>uhh032%o9CQF5e-A8e03mY#BzglW zcL_0l6g7B5MoUafO-xQwNKjc)QdCG)VMGais%VD1YKp&Yk+f=&xOI)E zaEiQim9}=7y?K_jd6&3+oV;3t&|-(kYnQ@tj>UPC!+4gSZh?S#&mcD?Rw3D8!n4hVIpuCNxypy7?lBc|sslAz{ zv!1E8nykH`pQ59qrl_Z?tE#T5tFf-Ly0EXZv$D0gx4OH!y?~j^f}_NSpv#4+%#5bO zjit(rsl|+~%!H%Tg{shuuF;CD-i))_m#xK;uF0IQ!Je+okgwa9u*sgY$DOs#l(p29 zwb+%o+nKY|oV(kBuJ?(u=#RDcm$&DYyyKX=;G(m`qqxkgwZo{l%AmW~pu5Wy1~n_!_~3H*|^2hyUEtQ&D)~F!=r_S`L&GoF&_N~(Sv&!PL&+@j??Yq$Bv(odm+WouL^Ss^uzv2JK z#>vRX%gf5m#L3db&e_e*)63J`)6&(_)!NwC+uGXR!PV)++V9BJ>B`#d#N777-1y4d z^3d1g(%a?H-|XGp;>6+p%jEve=>OE=@803%+~e!f;quVt`_t+E+2!%y==0m`{@(Hb z;NRop*MI`>g(&|>+<34{Oa!Wf0xe!3Pge_@yBbqQDAy z^yqLDY^(Y`Bgb#Yy&t*SHt<)MmubQE= zM_%4K|K!o54GAF7UTBq*Ob!?g0o7_ijR4L$#5Cl7WQu5*Y1Gi(Bmg6D)2&N<*T z_(l=0(9+Fy7{;fLf+vi?iGtvWSYtTY0MiN@9f&f^H7LmFMINyXBrZBDyqCps^d=g7F3EF65lHnZVrI>UYlglJe zU~oq>afkv8HsRE$YQu zh#-bkqRKD4cwz`3RWxA(1Qnd&3}YuvgUT2`;GhH*Q&3SwBCD*Dh!i~7&_D!W@DWW; z1F;hgDs>bA#0Ei30Z1pS2x5T)7=Y0SG)EyV5IfR9lMEkstO3X(t9(I08OcCnvDYWD z6Ol7qAd-p~6!7sjC){4MV~P`tbU^{7d>1~=99ZDpN7scTEv^xRGv0Vk((EBd#a;&l F06QAMRrde@ literal 0 HcmV?d00001 diff --git a/api/extjs/resources/themes/images/default/shared/icon-warning.gif b/api/extjs/resources/themes/images/default/shared/icon-warning.gif new file mode 100755 index 0000000000000000000000000000000000000000..27ff98b4f787f776e24227da0227bc781e3b11e8 GIT binary patch literal 1483 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 literal 0 HcmV?d00001 diff --git a/api/extjs/resources/themes/images/default/shared/left-btn.gif b/api/extjs/resources/themes/images/default/shared/left-btn.gif new file mode 100755 index 0000000000000000000000000000000000000000..a0ddd9ee8203b9fc45eb5ee78ae6bcb7e57aed7b GIT binary patch literal 870 zcmZ?wbhEHbSKV^zd-BO3vC604f{{R1d4Yk$n}L-sZYVSj)zmI o(Q}fL|Dq=uMNdw3X~iE>$=vYlK$lteqcf2P3=A_Zn3))?0bn93t^fc4 literal 0 HcmV?d00001 diff --git a/api/extjs/resources/themes/images/default/shared/loading-balls.gif b/api/extjs/resources/themes/images/default/shared/loading-balls.gif new file mode 100755 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 z1lbx&?h&&9gFi*>!1pzUs7{@wn9`hLm1fx>(Jl7@kz#sNtqbnGu~ zQe16TTxnMP)H3+<{h@2EL)RY+mC2N450&LIW#wqY$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@)|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;g8AmhLs23E}Fg8bsA}jW84be zJj3a&!EX+(#)=!^aPHuvE0%9D^z0oWQl`8qV(5Oxp*_o)rkOg&mhP%-u(0XS@f3?_`nfh@f|7!XJ# zk%OqjKq3JM^2G-d4?(;7)p&sbDCoC_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/api/extjs/resources/themes/images/default/shared/right-btn.gif b/api/extjs/resources/themes/images/default/shared/right-btn.gif new file mode 100755 index 0000000000000000000000000000000000000000..dee63e2113fcca680699455e8a56ee3eecc81c40 GIT binary patch literal 871 zcmZ?wbhEHbSKV^zd-BO3vC604f{{R1d4Yk$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/api/extjs/resources/themes/images/default/shared/shadow-c.png b/api/extjs/resources/themes/images/default/shared/shadow-c.png new file mode 100755 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/api/extjs/resources/themes/images/default/shared/shadow-lr.png b/api/extjs/resources/themes/images/default/shared/shadow-lr.png new file mode 100755 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/api/extjs/resources/themes/images/default/shared/shadow.png b/api/extjs/resources/themes/images/default/shared/shadow.png new file mode 100755 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;=qQcOOgc@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/api/extjs/resources/themes/images/default/shared/warning.gif b/api/extjs/resources/themes/images/default/shared/warning.gif new file mode 100755 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_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/api/extjs/resources/themes/images/default/sizer/e-handle-dark.gif b/api/extjs/resources/themes/images/default/sizer/e-handle-dark.gif new file mode 100755 index 0000000000000000000000000000000000000000..b5486c1a95bcc0f39a88c15c10c04ef7c3c561dd GIT binary patch literal 1062 zcmZ?wbhEHb#gW zSa7hJLs%>3#D;~3+Xa-p=6GyebhKN-IP1=djf;=>D>!$_cy3y9a}Xwye0g*kiI*?5Qm)FE0;R>^0YG>#D1(BQ|H< zJ+*c9_4NsdyJWq$t+}~5+bHZ`26bb>Fw+9?{8q{mh;)M z;o;#9VePmxJJK5%IOMqVHRPj^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*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@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>?LPQFywyoHAYVDT0ajVyEf83S5 zYUk}~v)}G~z3g<}j<=J3>+SdwC9S{f)2`L|`~Ez7{eCaQVeNvw_itHmILNZPy5Jy> z_M8uUINa|T91(v1`~4w4?>U7>|FZqra8xea=i@Pz{v4wd67%mAp3VHu<2 zhTV5Ioz;IFV|>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/api/extjs/resources/themes/images/default/sizer/ne-handle-dark.gif b/api/extjs/resources/themes/images/default/sizer/ne-handle-dark.gif new file mode 100755 index 0000000000000000000000000000000000000000..04e5ecf7d3837aec9510f5467282c10f158a5563 GIT binary patch literal 839 zcmZ?wbhEHb+Yh5$94ZWq95Nmo l794Em;N}uwNKib;z{ui|Vj-Z!(9Iz$HK#)0@qq>gYXJ2^5-b1! literal 0 HcmV?d00001 diff --git a/api/extjs/resources/themes/images/default/sizer/ne-handle.gif b/api/extjs/resources/themes/images/default/sizer/ne-handle.gif new file mode 100755 index 0000000000000000000000000000000000000000..09405c7ac7b321b3eb9170b1584167448819a071 GIT binary patch literal 854 zcmZ?wbhEHbc63}qqP#3eHjE2L+1SS?XB|ZfS0S0RTeD^Ni literal 0 HcmV?d00001 diff --git a/api/extjs/resources/themes/images/default/sizer/nw-handle-dark.gif b/api/extjs/resources/themes/images/default/sizer/nw-handle-dark.gif new file mode 100755 index 0000000000000000000000000000000000000000..6e49d6967c08db2c02a3aeb9c1f3cacb9c8665f6 GIT binary patch literal 839 zcmZ?wbhEHb+Yh5$94ZWq95Nmo l794Em5abeINJw;KWMp#S2{2G%=w_Cco6{kn+|a;a4FKuB5a0j+ literal 0 HcmV?d00001 diff --git a/api/extjs/resources/themes/images/default/sizer/nw-handle.gif b/api/extjs/resources/themes/images/default/sizer/nw-handle.gif new file mode 100755 index 0000000000000000000000000000000000000000..2fcea8a9285dc74626ba9374055b25ab77e53a08 GIT binary patch literal 853 zcmZ?wbhEHb#gW zSa7hJLs%>3#D;~3+Xa-p=6GyebhKN-IP1=djf;=>D>!$_cy3y9a}Xwye0g*kiI*?5UEB1_q}2ZmnDnS(jHwY|grS zYU}Fj>k|%l$$D>Fb8~aX+fl6@9wVn{Oa!M?d$LFZ(!z@^VzW> zaVFC%HL)EM4v!B{Q1+hZvvbqa(=&{-@15DX`T6+;&fRjpySBW%ydrpY+}T}QUtiyl ze0rYm?rm>x?*pKCAv-hK1$|Ns9CqhK@yMn(uI{$v4q z^gn|R$h)9C!NBpKfty3dW5a@j%^bp7F()=GJlrmz>@~+@*_y+_d!cbc5tmb38XMJ3HH=_|=`0o0p%T&eFss>$PRY#l;?zwPH_g zS$TPRz+$htURzgPT^+GG>+Y$otFNz5INT-cy=~3S%^8FMbi#@YAI?A-kP`~v50 zIp1AdUS3`iygKgeuC1@HZ%95pZ|#k>jf~q0nRm>cz3u(|1I^s>etUL&e0*ZEcKo?L zJ3n7!TI4<7Z||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<LuU0IXmi21oie;-_ty;6~)vMJTjxl$oIxtuR03tF% AKmY&$ literal 0 HcmV?d00001 diff --git a/api/extjs/resources/themes/images/default/sizer/se-handle-dark.gif b/api/extjs/resources/themes/images/default/sizer/se-handle-dark.gif new file mode 100755 index 0000000000000000000000000000000000000000..c4c1087868afab5b5bfd329f52d9907eb1c0061a GIT binary patch literal 838 zcmZ?wbhEHb+YZ5$9Lfxg96SOJ k3mltSSY>Q9925^Vv52er?AV~l(9La}b>~E3vIB!P0N;ZWjQ{`u literal 0 HcmV?d00001 diff --git a/api/extjs/resources/themes/images/default/sizer/se-handle.gif b/api/extjs/resources/themes/images/default/sizer/se-handle.gif new file mode 100755 index 0000000000000000000000000000000000000000..972055e7b297a702ab9aa2d799d133b94ac92315 GIT binary patch literal 853 zcmZ?wbhEHb{~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/api/extjs/resources/themes/images/default/sizer/sw-handle-dark.gif b/api/extjs/resources/themes/images/default/sizer/sw-handle-dark.gif new file mode 100755 index 0000000000000000000000000000000000000000..77224b0c06f1666685286c5322fb02b4cd2204bc GIT binary patch literal 839 zcmZ?wbhEHb+Yh5$94ZWq93m15 l2M#ndammSOI2<_C%q421Gvk7Sb33nm)}0d@l^YrutN|0L6o3E# literal 0 HcmV?d00001 diff --git a/api/extjs/resources/themes/images/default/sizer/sw-handle.gif b/api/extjs/resources/themes/images/default/sizer/sw-handle.gif new file mode 100755 index 0000000000000000000000000000000000000000..3ca0ed96df2059fe283c1d65fa1032a777e1ff97 GIT binary patch literal 855 zcmZ?wbhEHb_F_q!3HE}A3wtbq*&4&eH|GXHuiJ>Nn~YUV3x~t zb`J1#c2)=|%1_J8No8QDU~CP!pM5z%pKTcrzf+GR}4O9?JiK}KQU6w@P04YHl8Q~ZV%Q(n$q`&^(mcb25z#hR{r@|Lv)J@e{@B!Rx#qQchktv&e=X{IS~=;%>n(D`^nj5%7>4X2ih}xI5qXjq-Z>t=){vaEBVN(A3kD|N?uDYWtN0gZnC&$tucAp zTN(F?lkt2z;>5m2Z`$$g!S8u@Rj>E$5p6xXeesRJw_6)u?%E_gOS--^ap~f`hvqw< z&X&$y&CL<`uj}bXkGRxR{!M|`OU<552%i3@l>5BVly|CSLJ>T>)_jQjp_Rks-zt7+ z`u-~?&fQxpc)Fob$8Pn!;Iqfxs9y59^g3n7{;sc1$0UAEFm#TZyHCY;PM77UTLIka zY~@X_pFN7vzs^2y_nFv-zjku0)hkl&J0$+qwMOy7KI46M@!Rt|5|`iJcRA(tV#BD{ zyDv}NwP<72l>Xc5-)#F<2}^F;xNl=!7>D+jMafxSn@ju|m{oKArhjIg{9dqyyQX8E zZfF1Mr0@y;+FbcFdE%z?c&_)jskgzp|1I;j;A^qZGUJOaKWi1dl>U48wVrt>Tb$&9 zi^Y243ye#jaBirH(|Ij=Ti#~g_J)bpx0Bb}<|gjywhLQ*yF@Qqj&V2t>Z|k5uey5o z`ICC?ip77}Rw{E{JG3y~2$*v?3p^r=85sBufiR<}hF1dv17mS!NJL45ua8x7ey(0( zN`6wRUPW#JP<3jaZfGzAgH44Mke{1clBiITo0C^;Rbi_HR%QicgM{^!6u?SKvTcyou+33T=(vHhlRkj=$%I7^@978MwlmGnxZ_liE zpv9X>#cqpAWSD+z%jLy7L9^H__MTEYdAcoFC|_ZN&Hq2#%l)Rwzn}MbN{Wo)#wPP0 zZ4*_vHI{vUck}E2yQjq^CZ4OP_lS6FaGZUql0(;0MW@O z{~_qa=l>9N{q=tcy7uQk1U>!vAC5l%`_I6@pqH4FS4l#`mm0ptP!BO`=nfYDGc zgC3A!#9+c;#&BU%hyX}7U<-u4uocSR4(0EF(274+9@xY{TI+E|xQA&vBjfJ{=sA$#UVM0!whb#JzhgH*aM! z$V&*l5PEo%CG6hQmoHvlWV!!dp6ln&&nLg$d-3$kTj6m1xlIjBKY5iCJ}B&KVUbq4 zvV4R1;ffEBLXSLsA8lDJVRq~l$EA5ELQXf-CaUorF-kY^-=pu=`*F^>IX5>s$;rK%mHE!r zP$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-{yUCV9Ec?o@;sUjk=1>cAm88uY+&dR!6>c{!;b@zv}ZnqTHCISIq3j zrmRZR!4J?JEO}MEgUxOYRO$OSzfMm1HjkLN%MA;yI5!rveWW!)Se@qKRd$^E(bb#N7V}{^+|z`)6% z1Cj)p!NB5da8lFJaRtYz>P<7A^-dCCk$%}2xhiPQk07@MnHN0qYweEe$zBM5c(TSh gNhp)&+_Xb#AC*;S@t8j6{w%jXPw*+ z6yhxKh%9Dc;5!7ujG`J|4M0JbbVpxD28NCO+UBR8*c(lVeoYIb6Mw<&;$UDTwkjI literal 0 HcmV?d00001 diff --git a/api/extjs/resources/themes/images/default/slider/slider-v-thumb.gif b/api/extjs/resources/themes/images/default/slider/slider-v-thumb.gif new file mode 100755 index 0000000000000000000000000000000000000000..58afe96aae0b9c6401d8c9991922d2cec6a86171 GIT binary patch literal 533 zcmZ?wbh9u|)Me0OxXQp#xA{%uvfIm#z6GKsSN;Lfo~!S6T>lS6FaGZUql0(;0MW@O z{~_qa=l>9N{q=tcy7uQk1U>!vAC5l%`_DjQp!k!8k%2*hK?h_H$WIJx{~abcI_OBT zvP~#DnPWBobmG!aEBwrF@C%)KtH(M!^Q+<7l&$x^2!9CZ2??R|XC)#}obq9jK70Pcr2=`DtKQdd z-a4Cp|AE4zb6i}vFTZ$sh1sl literal 0 HcmV?d00001 diff --git a/api/extjs/resources/themes/images/default/slider/slider-v-thumb.png b/api/extjs/resources/themes/images/default/slider/slider-v-thumb.png new file mode 100755 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&r8Rg-rR1}uO-*=86B3}KEpj8RNJSwCe z<7ROQqPp;lkCMd%5%jZYyEu~r&Z91X zf9j@W8dR9k4|L3<$&YFmJnu7Kt{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+*yoGx 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(eZpwg8szLd;) zE0(OwSuK=zMkpZnzJ-dQ@B9A;j_J8?dE4Z1e}l&z!+950Oxai+vHr#zW~Uid3uD?V z-gL}3ne^_vwA*a<^i8+4KWsbx%;CTpe_^49MxYf>(V^3$$dK68QT0^6kZh;!-ur(qY<@lj!Smw@%R%QGe< zyH8^BbxU&T^k3>Sjak2o<%i&sqci1lw-uihNVA#8R;x8dGw6l&0^#f?mswg8szLd;) z8j5RkUaxzly*VrSe#N~N0q_4ic=)<+`Pg(~Uf01KtNA_2Mjj0g>(9PQKK-^zK2&Gh zD~;L88Jn$mM0*so*sCV=g$w_vVPd%O{A5u^1|wr>T6tY{O=m+>b4wdvM_0|%+Nw}) zZo!thb2DafPoB19hQO>j^X4sBBv83zYTeA)tL6(X3}xH3n{DczU7Pz>wr<}cuzy$0 z3ARu!u0s<9&t2Ymg6Z@b0gl_Zi!<)rxq9P7=!3iWpK*k;zIprZJ?qn#pKrhZ@cqrF zFE79S_z=p@#3keL!NI=%9fMem#0P~#H3AYwB|icdx-^LhM(xosSiHYihS#a$2cL?2 z{|_I}IG0NQr7qL{E496`n3Q5YT{!zzk9zU46LSS>&8}n$KX;m;T7AxCRzRl5GV{6f jRJ<-_IIeJPO?s;NMLl4(#LBQKyMorZZ4z>3V6X-NW`ERP literal 0 HcmV?d00001 diff --git a/api/extjs/resources/themes/images/default/tab-bar/tab-bar-default-bg.gif b/api/extjs/resources/themes/images/default/tab-bar/tab-bar-default-bg.gif new file mode 100755 index 0000000000000000000000000000000000000000..5b01cf9064c88bcc2c6e0402adac913b8dcee7c0 GIT binary patch literal 1829 zcmZ?wbhEHb*+@ zp|P1mSS#klhlIv<0cEc_9vc@OWtK3`x^rTqvKzC4bC-$P>&)zuN3v+kbS zy88P1gu`93-rLsP+?;WFRqW|)Yj1BaczkNE_x5#ncUOFVb@%l4_4oHTFmucK?AY+| zaEGvV+?gF4A0MBf>^;wC=ccEpXBcPSJF|21^YaUwyXAa$ZFzZlMeyplv%9vwzP=&( z^gQ3)+uq*ZQT+Pe+1=aU-#^gIE$_Ey$H&JfCTqu^+q3iY^9zf;=lkv5_4W0Q&Dr^w z=R{${@qPtoHVMy7OHNMK2woL)a?{e&(+!eO&GFp4?Cfld;#YT0ZeD(VzC$yYtk;$m z7Z-a>)`~r~W##4N0gJundTm{Gb#=t%th=YSuD-rL;c%C%_qH`RH)mX46?=Ny+S}U; z9-o@)y?x!?-4&l--95d1{r&w7%-nK5J2pH#+##$TcV@@N$Hylqd(ZRPx#{WY8OGW7 x&g|U${QLsvZaLpwTV7sX5xhF??5?e^uWv{`JuSLv*+2qEAOW4c(Uc(hiSW>%-Zwp-@kwVN5N+|z#zh)!vF-J zJkdUyBZhdCjyj*B5a4iOVCInV*pSe`#38J-=D-G~hIR%HrWFbWNv>UN%oZX$0+k!s nMFor;3>Gr5a&l+|ELf0m@DK;9nnFSVqa!mHzrq?G4hCxgZK44< literal 0 HcmV?d00001 diff --git a/api/extjs/resources/themes/images/default/tab/tab-default-bottom-active-sides.gif b/api/extjs/resources/themes/images/default/tab/tab-default-bottom-active-sides.gif new file mode 100755 index 0000000000000000000000000000000000000000..5110be98b6cefc2bca336b010e866b434a88a0cf GIT binary patch literal 1982 zcmZ?wbhEHb*wP3_t+N6YZlpVgy9{s26dD0LOm@MimK%0tY4rCT=MgiwzGBw(v=6)!dk% zaI{lM*=fs+iI0!9GVyoVI9zP-WESCGq2plKaGF6k{#c2nu-f72W~`6aocz4ZXTC|} zGoKB?8UAzaC$fcFZPB>A*k!U?tku?)A;J3m_Zxn(o`|per^vCOiAn6lgGLrLiHA+XW*Q5d zMV&exwuzT{D7MR2Wh8c}^kpn+Q(6?Us7qby#iM5ZGzsMn-9s6Rd(1DLc+_XS?8f6R y`)eJKCs?taOzyK&;#@MxN$lj4i7slAPbUSNX)c`{>eTskT6mdfY9b>egEatH%*9~< literal 0 HcmV?d00001 diff --git a/api/extjs/resources/themes/images/default/tab/tab-default-bottom-bg.gif b/api/extjs/resources/themes/images/default/tab/tab-default-bottom-bg.gif new file mode 100755 index 0000000000000000000000000000000000000000..5e2b3bfc07fb548146a8594491678b81d1d566da GIT binary patch literal 1789 zcmZ?wbhEHb#tCpIoV-oxnBCF3d7aB{Ln@T!=To0guQZjgLxj_2lOXJ=a!zq)gB^YZia9h$jh zy|%2lxY%Q|R_v)QD=#k(SnM^|YwN13t0OjN-95E+_4V}$hr49Gx2?IkIpgxG*wfqA z-ripD_|#nQ?d$IDuK4`w?&vEkw24q@%MGdnguK0ZO&d!EnEO;1nH zFwVYrX6NST=NCA4%lYow^78VE;MH+wcWr%reM9o;dA_^1y}iAo`1QTBySL}>Vq|2n F1^}9Ycgp|( literal 0 HcmV?d00001 diff --git a/api/extjs/resources/themes/images/default/tab/tab-default-bottom-corners.gif b/api/extjs/resources/themes/images/default/tab/tab-default-bottom-corners.gif new file mode 100755 index 0000000000000000000000000000000000000000..5cae8ae41d59cddbd6ae2cc4b7b09e4266b31f37 GIT binary patch literal 1648 zcmZ?wbhEHbWMPnC`2L@vXVar6Z+^_!^J3bLCr{q}xbfoGnqzP7z4>$N$**Vceoff+ zID^Gs>`}gn9zkeUT{rNu% zMnhmog@EEu7DfgJDFz(|AOPiw_R$CX!w`tax3hd=*E!DtAKm=I9>$->CMz{a4% z00f{s(LS0ZMoi?7dK60ta6D#U<&g2%u;5@bhp<-6jDm*4?E=bPb6!knINB{?oOLH- zW5e-&1!p!1&rM5CPSyxs6_Y8{aC*8y@~JtVo0pxPZBhK{&dJTo&(C*g=92Z=vf|=m zkI7oGr?#xTygXpB*IciytFEq&*qn9u)YjG4*C!nAlJ(xU=H}*%%d28fZ(DnNd%@#V zbG^5(ySuyM^Q*h3x39myzk!)s&S%Glhle|awd2n0*!cMP1ZD4eK07x(Jw3xX``($I zo1dRw;M^_eyKBqK%PWFc$DQ4^_4V})$*1S}?%wwH_KxD$_s;I#{{H@fW^Q@EJv%-g JWn^Tq1^`N7el`FA literal 0 HcmV?d00001 diff --git a/api/extjs/resources/themes/images/default/tab/tab-default-bottom-disabled-corners.gif b/api/extjs/resources/themes/images/default/tab/tab-default-bottom-disabled-corners.gif new file mode 100755 index 0000000000000000000000000000000000000000..396aad7828d3e66c0b69102f5901a40c5ed6d5aa GIT binary patch literal 1648 zcmZ?wbhEHbWMPnC`2L?^#-0~X-u>Eh<-@K^@7{g+_2}Kd2XB78`t;|_y)XN&eAsv8 z-J>_Z?!5VN>dvPJuYO&4@a4dj50BpcI``nqoo7EjeEIY5-@k7^{(SlI=l>`e4S^vT z0*XIb7#Vz(Iz2BJ^{@IP7SOa8W9`~j7*JO5(YLN8x$N`Sr~N$90D30n0Pql Kj_`0WSOWmcj|c() literal 0 HcmV?d00001 diff --git a/api/extjs/resources/themes/images/default/tab/tab-default-bottom-disabled-sides.gif b/api/extjs/resources/themes/images/default/tab/tab-default-bottom-disabled-sides.gif new file mode 100755 index 0000000000000000000000000000000000000000..f5e887f180fbfd32548fd932bfbab9749c528eb8 GIT binary patch literal 1984 zcmZ?wbhEHbRZa5fB23 zKUo+V7&sVo7=QqjC)!7I#0ZG?Q7_^Q0gnF+j4BEa6C9Wrn7E}}EH*qi*up2NRWoBj z!%-#?{iKwP1&bNG0(vw*r=FQ@M^z}PJ5+7Ux%y@-QD%n%j|W;=G5(rVpnf_ zdwp}>;bpbf;d;@#%HJMadP+Peen-XkU$Q(A`40}a3IAWa+af>tV5_|Hv^6sfl27*; zI`5N-{G4)rs&)4>AFIz9mzSC^j$6Cy>+{R&oR`Misn`6LgmSA*(+%Yw zi+3*`PjGl8@noW#+Rx-(?`JobOmMa9Tr$N==;V^Aeo359rv_$OE}b4KCMLjO4FE&q B&Jq9s literal 0 HcmV?d00001 diff --git a/api/extjs/resources/themes/images/default/tab/tab-default-bottom-over-bg.gif b/api/extjs/resources/themes/images/default/tab/tab-default-bottom-over-bg.gif new file mode 100755 index 0000000000000000000000000000000000000000..bd751fdce155cde6dce6f395271df759ed89f18f GIT binary patch literal 1791 zcmZ?wbhEHbEE*t|DJsK_vqcf2XFrU9|fZ!Ffu|w@h1x- z0|PsQ4g(N?@eeyYuSbhEwl8ef#&~!>?!Wem!~j zYtptSx1Ri(vg65)3-5MZ_^{>7ha1oSTzmHG-@kviUI5XbJFk9y`tk4oC>RZaAs7OR zKUo+VfLTF@0SG{OqJ1<+48dp|bu!gLfWw1Goe51&%p80o2MibvvhYaAm;_iPK5JzWP*agO@QLwE1A{dH DrUe8F literal 0 HcmV?d00001 diff --git a/api/extjs/resources/themes/images/default/tab/tab-default-bottom-over-sides.gif b/api/extjs/resources/themes/images/default/tab/tab-default-bottom-over-sides.gif new file mode 100755 index 0000000000000000000000000000000000000000..3864ac96fb1400ba5e93d2e7d04fd44546a66551 GIT binary patch literal 1985 zcmZ?wbhEHbWpTA`nma5 z*=&0)rz~fh@7nlHWY?68;Kd&EwQNsKSrxoGV71#(tJ2lsYZKPjiAtMk-`t#bxlDJr zSZ?%I&&OUdj0>s^}pXRzL?kW<869EJ{dKz~a-owm%F`1n{W6L*J>!^eh`%&PuDA_syPjsmmJo*ql#G~by#$&W-rmotWeQkZ%-Zs|m(ls|XW$c_3 zT0Jc{YDvN3V|T5>-$d`Mc=>GW>uvdWx7Ocg+qZhV!Tp1E-G3Iw@zd7qEPi%=nr%Bp$ z_48`0o_tt*{JvfMpX#4KUOwOceqa6Hum87-KdAjBdg6Y=zqjlQnwX3{9yIc)WjtsS zHj8-JEaFtLutlnD#=~~8DhZ_yiN1`aPK_duMP2HfW+*ioxJf*2Gw%AasK?^cjK#fr z-y$A&*>970(rYDl^6><_cN|M5IT?9AndqmM`D9YCS>)5nAx@P`r$m*_d^$Z$PE>%w F8UPA-&fow5 literal 0 HcmV?d00001 diff --git a/api/extjs/resources/themes/images/default/tab/tab-default-close.gif b/api/extjs/resources/themes/images/default/tab/tab-default-close.gif new file mode 100755 index 0000000000000000000000000000000000000000..e699878484183bf770efe1e9376a6d0d36b5f1fa GIT binary patch literal 896 zcmZ?wbhEHbJ?|=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/api/extjs/resources/themes/images/default/tab/tab-default-top-active-bg.gif b/api/extjs/resources/themes/images/default/tab/tab-default-top-active-bg.gif new file mode 100755 index 0000000000000000000000000000000000000000..aee1957beb2f8c0a27cb9458d2de065d1bed035e GIT binary patch literal 1775 zcmZ?wbhEHb))3j|2};C^Xk)||D#|u1V&5)`~r~W##4N0gJundTm{Gb#=t%th=YSuD-rL;c%C%_qH`RH)mX46?=Ny+S}U; z9-o@)y?x!?-4&l--95d1{r&w7%-nK5J2pH#+##$TcV@@N$Hylqd(ZRPx#{WY8OGW7 m&g|U${QLsvZaLpwTV7sX5xhF??5?e^uWv{`Eha6%U=09$-*4{# literal 0 HcmV?d00001 diff --git a/api/extjs/resources/themes/images/default/tab/tab-default-top-active-corners.gif b/api/extjs/resources/themes/images/default/tab/tab-default-top-active-corners.gif new file mode 100755 index 0000000000000000000000000000000000000000..e4ee0d9a89c9d2284e0f338974268eed6f881110 GIT binary patch literal 1640 zcmZ?wbhEHbWMPnC`2L@vXVas5Z~k0)^XJBkUoSrW`t|4Ek6-_uef#t7%ddBze!cnh zYtptSo6fwOvg65tYwz}4dN*U&lUaM7{rmUt|0oy@fuSD)ia%Kx85o2abQpjDlqcFp zbHvb()lnai9|9b%42&Es4ht1pnK*=%cn)k>c(|QW%_m_)0uu|1h@8TNfCUE+GI2|I mENM_U)WRerV&UMikkPSCpZN&OhY3t)8O$V~wMYsuSOWm?6$e=W literal 0 HcmV?d00001 diff --git a/api/extjs/resources/themes/images/default/tab/tab-default-top-active-sides.gif b/api/extjs/resources/themes/images/default/tab/tab-default-top-active-sides.gif new file mode 100755 index 0000000000000000000000000000000000000000..0aa990b9a0ca4e6cbdcd0614e3fa20702cd6eb1d GIT binary patch literal 1962 zcmZ?wbhEHb*wP3_t+N6YZlpVgy9{s26dD0LOm@Mim8z2@XsQOx#i~GY&L3GqbbG&8SdF zVq%nFjo>+8c;Hx{yk*;$6C0F08`a!b>2OY3>M>nicuC7np;YhL`h~~ltlYfp%xwE& zw!55Do(If#n=BTq6_Ode%w@h;ua~H1$m-yYVM|YLO~1Z4es11ZFR`4+jZv4|_U7rWWy_iAn2*LNkkQLo-3j>kP#*EAmY d+CP(c(&zBWVoAT7TI7>SPFgopycro8tO2bYzTE%- literal 0 HcmV?d00001 diff --git a/api/extjs/resources/themes/images/default/tab/tab-default-top-bg.gif b/api/extjs/resources/themes/images/default/tab/tab-default-top-bg.gif new file mode 100755 index 0000000000000000000000000000000000000000..47fbdacd564945295666b79e00fb9ec93b57ca42 GIT binary patch literal 1775 zcmZ?wbhEHbd&oLe{Q_^b?w=&D^Gs>9|fZ!Ffu|w@h1x- z0|PsQ4g(N?@vEkw24q@%MGdnguK0ZO&d!EnEO;1nH pFwVYrX6NST=NCA4%lYow^78VE;MH+wcWr%reM9nTF=+t?YXB3SZIb{1 literal 0 HcmV?d00001 diff --git a/api/extjs/resources/themes/images/default/tab/tab-default-top-corners.gif b/api/extjs/resources/themes/images/default/tab/tab-default-top-corners.gif new file mode 100755 index 0000000000000000000000000000000000000000..3cccd3afd7cdab25685c54d9dab55e14f132b597 GIT binary patch literal 1648 zcmZ?wbhEHbWMPnC`2L@vXVaq_FMiF~^J3DrC(qvfSaa;nl{bGTYbj|-2!U3v23-@ku<{{8##<SU7|oA~+5< z9&Q(q<(i@4(9FilY@%?$V4*`BmjIj31c9K&qns=P84Ups4>EBGsqrYhn6Qj_HiL%M R9fpK-e|8&9CJqh;YXHFl0|Ed5 literal 0 HcmV?d00001 diff --git a/api/extjs/resources/themes/images/default/tab/tab-default-top-disabled-bg.gif b/api/extjs/resources/themes/images/default/tab/tab-default-top-disabled-bg.gif new file mode 100755 index 0000000000000000000000000000000000000000..1e50a8cf07757db219dbff22fe1af21f716bc04e GIT binary patch literal 1794 zcmZ?wbhEHb$->CMz{a4% z00f{s(LS0ZMoi?7dK60taNK8L}Xwye0g z*kiI*?5Qm)FE0;R>^0YG>#D1(BQ|H+bHZ`26bb>Fw+9?{8q{mh;)M;o;#9VePmxJ2pN(K0(=gp3lxrPfyP<&c1hM z=jP|<7dUsz`R>~C^74w{)p2KcZGC-xL-Of)zPq=*y}hIO^}VyZx4*xCpqX1f&RT)N F8UU%4d;0(Y literal 0 HcmV?d00001 diff --git a/api/extjs/resources/themes/images/default/tab/tab-default-top-disabled-corners.gif b/api/extjs/resources/themes/images/default/tab/tab-default-top-disabled-corners.gif new file mode 100755 index 0000000000000000000000000000000000000000..2eccc81e48acd7ac7f1e41c3afc96d92e7811e3f GIT binary patch literal 1649 zcmZ?wbhEHbWMPnC`2L?^#-0~X-u>El<-@K^@7{g+_3YE12XB78`t;|_y)Or@eAsj4 z!=pF9ZoT?->dvPJAO2jp_vz8QUmw2w`SK6_P=jDP@xH2}0$ B38w%6 literal 0 HcmV?d00001 diff --git a/api/extjs/resources/themes/images/default/tab/tab-default-top-disabled-sides.gif b/api/extjs/resources/themes/images/default/tab/tab-default-top-disabled-sides.gif new file mode 100755 index 0000000000000000000000000000000000000000..641602a61d072c563f8ad3e1640e1a683f3f47b0 GIT binary patch literal 1979 zcmZ?wbhEHbCdA#zyAIE_u|8!XCMANdH3u8C>RZa5fB23 zKUo+V7&sVo7=QqjC)!7I#0ZG?Q7_^Q0gnF+j4Bci1rAIMOx#i~GafV?W@cx#YdLYD z!IfE1IOa&i$E0IS3fwh3GXonu8CCt$cn%mHI5kZ_@>t2q4XVD4X6diia86$CGv8eJ z3Ck|wbpOTn6WL@}ZCP<)vHxVZSgxrrLzaha4!f%rnjO9_WPca0x0rUs=H!dhR8MWo zyuCVq@48ZN@x0ibS)Y&D?l#Z8zq5?_@!!?o_2LiL2{OyA*|Fil;eKKFIG&jwQ;ttF z4!@@pS)6`uihVbquat4d<;8*1)z0iHe0_So?fNob>9X9LtBQ}??X@m_e{);&<9};^ zo8>>=H<4L>-JTsE9-p7=9?v)TXUX$xo5Szx#a5TUyRyG~2EV_Yb;ak$7pJSA+gJJf z_4~c+%l+l+YJa}^eB6G&eeM6B-&i~D*Z;bEe179UMUDpzTw)pz8u`^E9ySRWSuAW8 zON)5eCX{tUv0bE2BdJ3riDOZx@}dZ(Mjf*ok6QJsb}Z^PITW$DN9&oy<4)^kHy-zx uv2{M~x4L&?@kBc%&Lj_u$RHdvE^z9|fZ!Ffu|w@h1x- z0|PsQ4g(N?@<=W^zPTR z9nWq&`?KxbyD2-KY&!Ms#*1G&F1)+(=Fh)>|8BkbbL+*wJFouz9|fZ!Ff>Cz@h1x- z1A{n&4g(N?@1}0`v9UlpY3yHo==8OR)9gGbA^I58bSOf$Z FtN}Fv1L*(& literal 0 HcmV?d00001 diff --git a/api/extjs/resources/themes/images/default/tab/tab-default-top-over-sides.gif b/api/extjs/resources/themes/images/default/tab/tab-default-top-over-sides.gif new file mode 100755 index 0000000000000000000000000000000000000000..b88406a322b95a52a5fe01b4479f07739f671a94 GIT binary patch literal 1963 zcmZ?wbhEHbpZ-1j@bAv6e?ai$!@o!G{@r`?@4=gY|3|@S2n_cS zQ2fcl$iTqKpu+$Jpghq&nj?mLoR9hsUkGsgXJFKja42YCVqoIeuqg;w(Adr5-ee#xVUpfLD-6t{m_r*j8rFu`$cRl8kDU{|l+cfpwm6?;5ot|q~ z`0ve0p^U&q#{GP;T3a;zm-)|S>-8#K6}mKNW7yRy)0N?i<0m%BYH!oIvM%L(QLJ=W z?(H@C+mE?si{(Y_E`56M>g?(3Ztt!8`0wp$v4X@y#r*tnIy(&GkM+y4_xV(AN*eI{W@u)*-8b@Ng%DfW~yA)U5NNUs1lThwbJ2Ycauj#3Z#eJ5SUOeiv ed-Nl@Uxz7DWumd1<&#NHW+#;=8?mx5SOWlg&$s6Q literal 0 HcmV?d00001 diff --git a/api/extjs/resources/themes/images/default/tab/tab-default-top-sides.gif b/api/extjs/resources/themes/images/default/tab/tab-default-top-sides.gif new file mode 100755 index 0000000000000000000000000000000000000000..f545916db21541418bf7b7c52e17e4018a252cc5 GIT binary patch literal 1962 zcmZ?wbhEHb5RPWjPg~#Ts+`R0} zZ2MxiyPQ*=2h4YyEEcO3k{P_rWxiLhm#AjQ>fnuGOHXc1zrHwrZr)cfv7E?_QJ35H z?lQ~1y)o_aqT1EpbfS0XeLOUG_4ajlcGrJqyT?7_eZu}WVevSfh{EJ!E%M%dK9Yth zrzabRFFU<6|M}thviaY9q)IX`&I)edx5ujZ^~Gh$i|f|@GReNZuJG`@wY#^yxxK%b z{XXxU?*;ddO%{*Wi>WMrc4WSHzn`pS$?MA-!TAUr^7c7V)5oN$Z9}GmD)@VvC3p z$HG?OqzJ`YnQzx0Hp*M=SlF)86tSp7YMI2NR_(MKk2=(jbv)|Uns;JRuihh$$30fp gG#>ZbKa+UU=kUp5Nxz#~Tq|o89z@dqOk4xdi4h08hR&Egs4h{xu0Gdww Axc~qF literal 0 HcmV?d00001 diff --git a/api/extjs/resources/themes/images/default/tip/tip-sides.gif b/api/extjs/resources/themes/images/default/tip/tip-sides.gif new file mode 100755 index 0000000000000000000000000000000000000000..cf4c2f62a036eb8d2924f88eb7a761f7296eeebc GIT binary patch literal 1623 zcmZ?wbhEHbWMfcb`2L@vZ`HXMpZ@(H1*0J_B11s&CkrD30~3P|0}z1nMEhut7?BBK z)YH%q;4ooeWRZ|yXmDs^;}o;8Fi>=A;}*5b;V4Wx(k`T(b>@WNV)rgt$GSZln^aCt O77NaknQ5fJU=0A~&kg|q literal 0 HcmV?d00001 diff --git a/api/extjs/resources/themes/images/default/toolbar/more.gif b/api/extjs/resources/themes/images/default/toolbar/more.gif new file mode 100755 index 0000000000000000000000000000000000000000..02c2509fee0fb4555df61072d8e8daac8dc7430e GIT binary patch literal 845 zcmZ?wbhEHb_??HKjfkTUdnM1~7 r!-9j&9Ku>L9YCQ*K7KbIgN+Z4bP31@U9tF}++`ynz+epkzXub1 literal 0 HcmV?d00001 diff --git a/api/extjs/resources/themes/images/default/toolbar/scroll-left.gif b/api/extjs/resources/themes/images/default/toolbar/scroll-left.gif new file mode 100755 index 0000000000000000000000000000000000000000..2db8cf5cacdeedff17ce269eed74d98624bb1f67 GIT binary patch literal 1861 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 aAvIb&vGk?1#~7_f{bJ2zyB-JxsQnl3W4iMI literal 0 HcmV?d00001 diff --git a/api/extjs/resources/themes/images/default/tools/tools-sprites-trans.gif b/api/extjs/resources/themes/images/default/tools/tools-sprites-trans.gif new file mode 100755 index 0000000000000000000000000000000000000000..ead931ef617ac8520a24a263abb456ebc1bcd54e GIT binary patch literal 2843 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 P{CU^aTq0!FVcq`#CX}cg literal 0 HcmV?d00001 diff --git a/api/extjs/resources/themes/images/default/tree/drop-above.gif b/api/extjs/resources/themes/images/default/tree/drop-above.gif new file mode 100755 index 0000000000000000000000000000000000000000..30d1ca7107816233884d23239dd76fce79237fe5 GIT binary patch literal 911 zcmZ?wbhEHb6krfwXlGzB^-Oj%*Y>c~334!T+I5ReJa7x*DTyS#YWmWQ8@*yChwS&o6 zrsT(mM-FYgx*h@@4;QobG08Hm@c7Wg%*HKZQ}Uv~iG_ooBg3QNK|^B;FB^}5K!V!o j#pA)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<@{-~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&ihj$;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}!+;FF#5#6#i2*%nh> zyAFx!#AZoGf3_x%!Zyuz9to2P8w(l~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<@{-~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&ihj$;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}!+;FF#5#6#i2*%nh> zyAFx!#AZoGf3_x%!Zyuz9to2P8w(l~c~334eSRT}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/api/extjs/resources/themes/images/default/tree/drop-between.gif b/api/extjs/resources/themes/images/default/tree/drop-between.gif new file mode 100755 index 0000000000000000000000000000000000000000..5c6c09d987cf7cee99cf1baec891f85e7477cc02 GIT binary patch literal 907 zcmZ?wbhEHb6krfwXlGzB^-Oj%*Y>c~334oIij5|Ns9CqhK@yhFS=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>ViN 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{oQNISc~334!T+I5ReJa7x*DTyS#YWmWQ8@*yChwS&o6 zrsT(mM-FYgx*h@@4;QobG08Hm@c7Wg%*HKZQ}Uv~iG_ooBg3QNK|^B;FB^}5K!V!o j#pc~334eSRT}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/api/extjs/resources/themes/images/default/tree/drop-yes.gif b/api/extjs/resources/themes/images/default/tree/drop-yes.gif new file mode 100755 index 0000000000000000000000000000000000000000..8aacb307e89d690f46853e01f5c4726bd5d94e31 GIT binary patch literal 1016 zcmZ?wbhEHb6krfwXlGzhFH%vfSJo_7)vQuAsWC9EH&km;*6LR^?KiYxFJMjooS=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#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%{1g;@!G-s^!P$| z8==@$AR3<{5^GPA?~^>Pma%d|c$9FpHozQ?Xjg>udUpBYwxjRJ5N111_ak$-+1`( z`TOs$KmUgS#h)yU3=I4XIt)MnGJ}D|<-opRJB_vEXSch-q28ikEr8>dQ*& zr*1lvbmi&;28RdllqNhC>tgCx%Fvy_p*nG)g9O)&r%wdl%(Hp0p+cvVfx#L8`j$#l literal 0 HcmV?d00001 diff --git a/api/extjs/resources/themes/images/default/tree/elbow-end-minus.gif b/api/extjs/resources/themes/images/default/tree/elbow-end-minus.gif new file mode 100755 index 0000000000000000000000000000000000000000..55d8a0fa27324b7f4e38c26336106ea63a8d20c3 GIT binary patch literal 157 zcmZ?wbhEHb6krfxc+AIO=#}jB-)YLyy>ozQ?Xjg>udUpBYwxjRJ5N111_ak$-+1`( z`TOs$KmUgS#h)yU3=I4XIt)MnGJ}D|>%&P+;k_2G)3^V>tM0{}$k(hOBl&Po{$U2) zHzzoHcN%V%*me2~~eL65ZFb1$}72{STS F0{~EqN}K=y literal 0 HcmV?d00001 diff --git a/api/extjs/resources/themes/images/default/tree/elbow-end-plus-nl.gif b/api/extjs/resources/themes/images/default/tree/elbow-end-plus-nl.gif new file mode 100755 index 0000000000000000000000000000000000000000..96f8d723942d4f0c5e23e2fdf9f64d5d414870f7 GIT binary patch literal 152 zcmZ?wbhEHb6krfxc+AIO=#}jB-)YLyy>ozQ?Xjg>udUpBYwxjRTTeVb1_YO$U%B`3 z`TOs$KmUgS#h)yU3=I4XIt)MnGJ}D|^}|We)q5>opRJB_vEXSch-q28ikEqT_64o= zQ&%x;mMAr~Xh@h)E@%82Bw2LM$6iowpm(o>{suv@X_;DVz34Pv!F%; literal 0 HcmV?d00001 diff --git a/api/extjs/resources/themes/images/default/tree/elbow-end-plus.gif b/api/extjs/resources/themes/images/default/tree/elbow-end-plus.gif new file mode 100755 index 0000000000000000000000000000000000000000..a5c62fab32adca39a885e19ab9230d21a9cb804d GIT binary patch literal 159 zcmZ?wbhEHb6krfxc+AIO=#}jB-)YLyy>ozQ?Xjg>udUpBYwxjRTTeVb1_YO$U%B`3 z`TOs$KmUgS#h)yU3=I4XIt)MnGJ}D|=fg=&;k_2G)3^V>tM0{}$k(hOBl&Po{$U1P zo)cWXJM|Cfu-#34z#!4Oq3H+cw0Y|6j{uQT)d^~>^T<( G25SI?qe(ab literal 0 HcmV?d00001 diff --git a/api/extjs/resources/themes/images/default/tree/elbow-end.gif b/api/extjs/resources/themes/images/default/tree/elbow-end.gif new file mode 100755 index 0000000000000000000000000000000000000000..406a88dff55195c8f8fbb65c37a10280e9689e25 GIT binary patch literal 70 zcmZ?wbhEHb6krfxSjfcS^xx^&v19+iK=CIFBLfiVfC!L01Cw}5e&gx43+Bx!j0#)d SwtMyY(nlWCo>_`ASOWlykQ)2| literal 0 HcmV?d00001 diff --git a/api/extjs/resources/themes/images/default/tree/elbow-line.gif b/api/extjs/resources/themes/images/default/tree/elbow-line.gif new file mode 100755 index 0000000000000000000000000000000000000000..e25ed03fb6cebb2a0f891c0730f50977246ddace GIT binary patch literal 72 zcmZ?wbhEHb6krfxSjfcS^xx^&v19+iK=CIFBLfiVfC!L01CwM+e&gx43+Bx!j0#)d Tw)?qX<1KZol+K0jj11NQyrLT7 literal 0 HcmV?d00001 diff --git a/api/extjs/resources/themes/images/default/tree/elbow-minus-nl.gif b/api/extjs/resources/themes/images/default/tree/elbow-minus-nl.gif new file mode 100755 index 0000000000000000000000000000000000000000..f50bd40ae3db3333f583681ae0b875e2a83cadaa GIT binary patch literal 151 zcmZ?wbhEHb6krfxc+AIO=#}jB-)YLyy>ozQ?Xjg>udUpBYwxjRJ5N111_ak$-+1`( z`TOs$KmUgS#h)yU3=I4XIt)MnGJ}D|<-opRJB_vEXSch-q28ikEr8>dQ*& zr*1lvbmi&;28RdllqNhC>tgCx%Fvy_p*nG)g9O)&r%wdl%(Hp0p+cvVfx#L8`j$#l literal 0 HcmV?d00001 diff --git a/api/extjs/resources/themes/images/default/tree/elbow-minus.gif b/api/extjs/resources/themes/images/default/tree/elbow-minus.gif new file mode 100755 index 0000000000000000000000000000000000000000..a7287961bd3f1eb0269c1ac04f18176dc92e9722 GIT binary patch literal 159 zcmZ?wbhEHb6krfxc+AIO=#}jB-)YLyy>ozQ?Xjg>udUpBYwxjRJ5N111_ak$-+1`( z`TOs$KmUgS#h)yU3=I4XIt)MnGJ}D|=fg=&;k_2G)3^V>tM0{}$k(hOBl&Po{$U2) zHzzoHcN%V%*me2~~eL65Xvw}qcA*DiBm HV6X-N=kiOC literal 0 HcmV?d00001 diff --git a/api/extjs/resources/themes/images/default/tree/elbow-plus-nl.gif b/api/extjs/resources/themes/images/default/tree/elbow-plus-nl.gif new file mode 100755 index 0000000000000000000000000000000000000000..96f8d723942d4f0c5e23e2fdf9f64d5d414870f7 GIT binary patch literal 152 zcmZ?wbhEHb6krfxc+AIO=#}jB-)YLyy>ozQ?Xjg>udUpBYwxjRTTeVb1_YO$U%B`3 z`TOs$KmUgS#h)yU3=I4XIt)MnGJ}D|^}|We)q5>opRJB_vEXSch-q28ikEqT_64o= zQ&%x;mMAr~Xh@h)E@%82Bw2LM$6iowpm(o>{suv@X_;DVz34Pv!F%; literal 0 HcmV?d00001 diff --git a/api/extjs/resources/themes/images/default/tree/elbow-plus.gif b/api/extjs/resources/themes/images/default/tree/elbow-plus.gif new file mode 100755 index 0000000000000000000000000000000000000000..ae41983cca2f762abffb8638a43869859a276e44 GIT binary patch literal 160 zcmZ?wbhEHb6krfxc+AIO=#}jB-)YLyy>ozQ?Xjg>udUpBYwxjRTTeVb1_YO$U%B`3 z`TOs$KmUgS#h)yU3=I4XIt)MnGJ}D|_rpm|;k_2G)3^V>tM0{}$k(hOBl&Po{$U1P zo)cWXJM|Cfu-#34z#!4Oq3H+cw0Y|6j{uQTpXw|H*T}0 HAcHjk$M;B$ literal 0 HcmV?d00001 diff --git a/api/extjs/resources/themes/images/default/tree/elbow.gif b/api/extjs/resources/themes/images/default/tree/elbow.gif new file mode 100755 index 0000000000000000000000000000000000000000..201c413e388369bf82b1a1289baf47fa3cc06f40 GIT binary patch literal 73 zcmZ?wbhEHb6krfxSjfcS^xx^&v19+iK=CIFBLfiVfC!L01Cvxse&gx43+Bx!j0#)d UwtMyYQa?4X6w5`|G{qRK0oEWJ9RL6T literal 0 HcmV?d00001 diff --git a/api/extjs/resources/themes/images/default/tree/folder-open.gif b/api/extjs/resources/themes/images/default/tree/folder-open.gif new file mode 100755 index 0000000000000000000000000000000000000000..361e1be3e4b28bf8fc4e39b60f66dc805c5b7835 GIT binary patch literal 356 zcmV-q0h|6uNk%w1VGsZi0Hr+uF-l`X|3aB(0h(w6oN5G~YzCli2%>Nbqj3wQatx(& z4X1Svta=o%ei*ZX8?}NRw}cF z*SJ91zii^OL*l_u{nc>)+ja2ddjI5ql%>6#rMxBRBiTCh{|M-*t|C#^)od5r&#KgqK#l_9d&C$`(#@6fD;qmA1_v`cj`uqI<|NsC0 z|NsC0A^8LW002J#EC2ui01yBW000Joz@KnPED|#r%*A3n_MSXmrTNSBWLRuZ5`jD% z4I$>5%|4%u+wanYx!-WvqBg19@AXd$L7T+NWicHSECzjlaBng%6CedNKYlKgl#??W z9t4nnG9#X!BQqQu1CWt1A*rgVA`}8OLK6zJvk3#~t CowKL_ literal 0 HcmV?d00001 diff --git a/api/extjs/resources/themes/images/default/tree/folder.gif b/api/extjs/resources/themes/images/default/tree/folder.gif new file mode 100755 index 0000000000000000000000000000000000000000..b2fd81a12d520bb45ce681ad14801a3e9d2ffedb GIT binary patch literal 351 zcmZ?wbhEHb6krfwSZc;#=#}jB-)Uw#uSU{)Jbe^l-}ATyS+tzSG&^QF4Y6Q8i)F|j!x1&K1Kh;RD+Y#3{TH6J~Pwg z_V%FL+YA3+$^U=5^#7CkDNFax0iw0XmTtYaa__CZ$Bykh_2mEi&i_9q|NlSp|NlAv z|L;0*;K1qAr_Y=@bNTY+YuBzFyY~9V!;jD3e}Db?KYpP2lZBCi!Ja{f0SG{TVqmK| zFu%YrY|>(@5!KS@?CREHtr5{um^68c7E6t=mi+8FbG4XjgtX+AEM2C>RBRv5 f$IH#d!Oq6Y!lY~9Y@oM$&)yv&2M)SAGFSru#-z0M literal 0 HcmV?d00001 diff --git a/api/extjs/resources/themes/images/default/tree/leaf.gif b/api/extjs/resources/themes/images/default/tree/leaf.gif new file mode 100755 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#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<ENsed*j@4Yk?RR_1qN#Xfm)wA literal 0 HcmV?d00001 diff --git a/api/extjs/resources/themes/images/default/tree/loading.gif b/api/extjs/resources/themes/images/default/tree/loading.gif new file mode 100755 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 ~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>+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/api/extjs/resources/themes/images/default/tree/s.gif b/api/extjs/resources/themes/images/default/tree/s.gif new file mode 100755 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/api/extjs/resources/themes/images/default/util/splitter/mini-bottom.gif b/api/extjs/resources/themes/images/default/util/splitter/mini-bottom.gif new file mode 100755 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/api/extjs/resources/themes/images/default/util/splitter/mini-left.gif b/api/extjs/resources/themes/images/default/util/splitter/mini-left.gif new file mode 100755 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#$`Jzc6N36?{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/api/extjs/resources/themes/images/default/util/splitter/mini-top.gif b/api/extjs/resources/themes/images/default/util/splitter/mini-top.gif new file mode 100755 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/api/extjs/resources/themes/images/default/window-header/window-header-default-bottom-corners.gif b/api/extjs/resources/themes/images/default/window-header/window-header-default-bottom-corners.gif new file mode 100755 index 0000000000000000000000000000000000000000..5daef146a980bce2254ac6cabf837233a67c1911 GIT binary patch literal 1664 zcmZ?wbhEHbWMz%Yl4xGEU<-ny)`z~xcaAC`#OB?oGdiCMgjYscx9lN&c#EmDfzC3#M<<+NO|3|@S z2n@9lQ2fcl$iN`Upu+$Jpghq&nj?l<9FDq|njydu%fQGXBC%k>!DbF&t&ofbiH92n z6r~I}5|R#fiRiL*WL#iq=#%HJVzE5H(AdPKqoAR|(8S2XVib^(aL}QRhe<|9!{fk# ea}2_KE(!(*9he!}_)JzzNOWXjG-qaFum%88(Ez&u literal 0 HcmV?d00001 diff --git a/api/extjs/resources/themes/images/default/window-header/window-header-default-bottom-sides.gif b/api/extjs/resources/themes/images/default/window-header/window-header-default-bottom-sides.gif new file mode 100755 index 0000000000000000000000000000000000000000..5188482551e034a7ac068cd4346c1c4c6e47c11e GIT binary patch literal 1624 zcmZ?wbhEHbDT{JFd70QF9Z~SvM@3*Ff-^d00AgZw2$V9 zk(UZaeT)bJ4pRn34i1M63m6!fxTRby0umdVIc1%4Run8c+|HvPHD$)c TlODKD6!BbUB3YE^z+epkDl89i literal 0 HcmV?d00001 diff --git a/api/extjs/resources/themes/images/default/window-header/window-header-default-collapsed-bottom-corners.gif b/api/extjs/resources/themes/images/default/window-header/window-header-default-collapsed-bottom-corners.gif new file mode 100755 index 0000000000000000000000000000000000000000..99eeb6d09dcb919f19af410dadfcc86ec07f676d GIT binary patch literal 213 zcmZ?wbhEHbWMzvwBg9P8_y1%ySHf5v2(Xx{QLLs&8J_FUVORn;N5|9ch>DY zw`9|?1Ly8-IdEyyz6+ZUT-b8x(uRGPUVZp=_wVs#R{c`yPEaJoO>)LZZQhMgcDFMJ5IU9bAoP5*h>SSXvmB wG<^B`gbr@dkYhfW=y2ipT`93z>% literal 0 HcmV?d00001 diff --git a/api/extjs/resources/themes/images/default/window-header/window-header-default-collapsed-bottom-sides.gif b/api/extjs/resources/themes/images/default/window-header/window-header-default-collapsed-bottom-sides.gif new file mode 100755 index 0000000000000000000000000000000000000000..5188482551e034a7ac068cd4346c1c4c6e47c11e GIT binary patch literal 1624 zcmZ?wbhEHbDT{JFd70QF9Z~SvM@3*Ff-^d00AgZw2$V9 zk(UZaeT)bJ4pRn34i1M63m6!fxTRby0umdVIc1%4Run8c+|HvPHD$)c TlODKD6!BbUB3YE^z+epkDl89i literal 0 HcmV?d00001 diff --git a/api/extjs/resources/themes/images/default/window-header/window-header-default-collapsed-left-corners.gif b/api/extjs/resources/themes/images/default/window-header/window-header-default-collapsed-left-corners.gif new file mode 100755 index 0000000000000000000000000000000000000000..3b81c20367d57dd5d8016763bbf32aa9ee7ab92a GIT binary patch literal 211 zcmZ?wbhEHbWMzqRiYY*NXICXE+ zz6(n>9XoLD&Xz-0*6lmD<7Mmeqi+5up7~EhS|5pU9D3a3z{|z**x5llMqv^^ vV_*kIK*uR2R}F){lLt0P2>fZ1Ke^69SVtm8Kg@b97uQseDH{{&oEWSDl3;g# literal 0 HcmV?d00001 diff --git a/api/extjs/resources/themes/images/default/window-header/window-header-default-collapsed-left-sides.gif b/api/extjs/resources/themes/images/default/window-header/window-header-default-collapsed-left-sides.gif new file mode 100755 index 0000000000000000000000000000000000000000..931428d5531ff2cc1a2a3942d105843588d9643e GIT binary patch literal 70 zcmZ?wbhEHbWM>d!Sjfz(r%w-%lsbR`99XoLD-j)NGHtoBx>A;08hc0c{cj@21e{Vkgdh+VajYscx9lN&c#EnOFz7pZV1tCfpQfF$jcOGJJK}VloHm58vbHdPPV|@|ugG8x E0FjAxP5=M^ literal 0 HcmV?d00001 diff --git a/api/extjs/resources/themes/images/default/window-header/window-header-default-collapsed-right-sides.gif b/api/extjs/resources/themes/images/default/window-header/window-header-default-collapsed-right-sides.gif new file mode 100755 index 0000000000000000000000000000000000000000..b2b6b79db4b3b9b27c8e9c931a81dfb21962e63e GIT binary patch literal 70 zcmZ?wbhEHbWM>d!Sjfz=|)OPB5 XK$MYL)%`1CN#|>$Rm+my#2Bmrbw?NL literal 0 HcmV?d00001 diff --git a/api/extjs/resources/themes/images/default/window-header/window-header-default-collapsed-top-corners.gif b/api/extjs/resources/themes/images/default/window-header/window-header-default-collapsed-top-corners.gif new file mode 100755 index 0000000000000000000000000000000000000000..8886bde6e34411760067ded4e416c94c87fd390f GIT binary patch literal 215 zcmZ?wbhEHbWMzMDQctJys*^$%Bpz)6#7Z;n7u#Hp{hfP7PfSy1XL(u{oX?`zxMFwjC DF=22W literal 0 HcmV?d00001 diff --git a/api/extjs/resources/themes/images/default/window-header/window-header-default-collapsed-top-sides.gif b/api/extjs/resources/themes/images/default/window-header/window-header-default-collapsed-top-sides.gif new file mode 100755 index 0000000000000000000000000000000000000000..5188482551e034a7ac068cd4346c1c4c6e47c11e GIT binary patch literal 1624 zcmZ?wbhEHbDT{JFd70QF9Z~SvM@3*Ff-^d00AgZw2$V9 zk(UZaeT)bJ4pRn34i1M63m6!fxTRby0umdVIc1%4Run8c+|HvPHD$)c TlODKD6!BbUB3YE^z+epkDl89i literal 0 HcmV?d00001 diff --git a/api/extjs/resources/themes/images/default/window-header/window-header-default-left-corners.gif b/api/extjs/resources/themes/images/default/window-header/window-header-default-left-corners.gif new file mode 100755 index 0000000000000000000000000000000000000000..3c5f24235d9504f739fb96552f783848c43556ff GIT binary patch literal 1655 zcmZ?wbhEHbWMz(Q$(JC5CW^6Ja~Q7{?;Lofss zf3h$#Fi0@yFaQB4PqdHbh#?q_qfVw;2ylcjFmi}QEJ!%Wz#*&^b7F&{Q!^_&*O3Ot zgUyT*Iub%7 literal 0 HcmV?d00001 diff --git a/api/extjs/resources/themes/images/default/window-header/window-header-default-left-sides.gif b/api/extjs/resources/themes/images/default/window-header/window-header-default-left-sides.gif new file mode 100755 index 0000000000000000000000000000000000000000..8c0c187a97dd03b5c2a342ecfa8747351936d79b GIT binary patch literal 1610 zcmZ?wbhEHbWMdFw`2L?^(S{@EZajPQ>DT{JFd70QF9Z~SvM@3*Ff-^d00AgZw2$V9 zk(UZaeT)bJ4s`}b4h{!_28Sj_9zLCl2@emo@G9DcbWB)uxJyvi>xhNn;^Te7%uEc{ E0ACOa6951J literal 0 HcmV?d00001 diff --git a/api/extjs/resources/themes/images/default/window-header/window-header-default-right-corners.gif b/api/extjs/resources/themes/images/default/window-header/window-header-default-right-corners.gif new file mode 100755 index 0000000000000000000000000000000000000000..853c3134ff52baf893227d1e8f67dee127111070 GIT binary patch literal 1656 zcmZ?wbhEHbWMzc z`_3)dbnL*nds_}%+O+S&rUMtY9J;h&-=%;5{=NC|>&dGxHy*v)b?n-%6E_~c`tpAi zjE2CF3IWBREQ|~cQVco_Kmf`U?V~wjNJZeNW2qbh9H9)193l}55)LwO2y4Zh*r4dt z%*yUHg+s8xshiVKNoIpX0~;@^mdlO>jSfvrd@KrECOl+xVq%rZ;4#>o=Gv*Byv{|T Xv4M386PH3kgCjFDr<^GZ3xhQP)CK*u literal 0 HcmV?d00001 diff --git a/api/extjs/resources/themes/images/default/window-header/window-header-default-right-sides.gif b/api/extjs/resources/themes/images/default/window-header/window-header-default-right-sides.gif new file mode 100755 index 0000000000000000000000000000000000000000..0a31ccd83678ba6fd18ed3b02c3f4fa3a1540311 GIT binary patch literal 1610 zcmZ?wbhEHbWMdFw`2L?^(S{@EZajPQ>DT{JFd70QF9Z~SvM@3*Ff-^d00AgZw2$V9 zk(UZaeT)bJ4s`}b76}c828Sj#b~cTQf<&hlUP-Mf9EFdZ+XeN5j${}vKHewB%*0>~ E05VqyN&o-= literal 0 HcmV?d00001 diff --git a/api/extjs/resources/themes/images/default/window-header/window-header-default-top-corners.gif b/api/extjs/resources/themes/images/default/window-header/window-header-default-top-corners.gif new file mode 100755 index 0000000000000000000000000000000000000000..0f634a6c2883627e8d19606dda6e075b78a96670 GIT binary patch literal 199 zcmZ?wbhEHbWMz6uJT;*)mqG%eme6=)0x&r^u^}mQxi4xp|nTHVAZZH}W*i n)UadeOjL4+<>MDQctOG;DDH!}sM_J635-#_Uh5N^1sJRWU+`}K literal 0 HcmV?d00001 diff --git a/api/extjs/resources/themes/images/default/window-header/window-header-default-top-sides.gif b/api/extjs/resources/themes/images/default/window-header/window-header-default-top-sides.gif new file mode 100755 index 0000000000000000000000000000000000000000..5188482551e034a7ac068cd4346c1c4c6e47c11e GIT binary patch literal 1624 zcmZ?wbhEHbDT{JFd70QF9Z~SvM@3*Ff-^d00AgZw2$V9 zk(UZaeT)bJ4pRn34i1M63m6!fxTRby0umdVIc1%4Run8c+|HvPHD$)c TlODKD6!BbUB3YE^z+epkDl89i literal 0 HcmV?d00001 diff --git a/api/extjs/resources/themes/images/default/window/window-default-corners.gif b/api/extjs/resources/themes/images/default/window/window-default-corners.gif new file mode 100755 index 0000000000000000000000000000000000000000..efae7da9c1ddc8cc43f3fb86aa8f5f51c6555384 GIT binary patch literal 1686 zcmZ?wbhEHbWMzG z_3786S6|+I`t|SMzfA`&Y&mr4|0oy@fk7Msia%Kx85k58bQpjDlqcFpbHpHyu2HAa zJOnt385lW4PAp6~$iN}26?0;PqEj;~I~NOM5+gHpxTt}hvm&ZP>H!lQ X7mMB%kp+y088{V$0t6fk6&S1m4nO=6 literal 0 HcmV?d00001 diff --git a/api/extjs/resources/themes/images/default/window/window-default-sides.gif b/api/extjs/resources/themes/images/default/window/window-default-sides.gif new file mode 100755 index 0000000000000000000000000000000000000000..39edc88d118607eca8e572dc8af68748af6979e5 GIT binary patch literal 1776 zcmZ?wbhEHbS~+CNvc_RPqTbpPvn>9 Y7iW96>z%FIntgRc@aZ%gO9cjN0I9%XwEzGB literal 0 HcmV?d00001 diff --git a/api/favicon.ico b/api/favicon.ico new file mode 100644 index 0000000000000000000000000000000000000000..ea8c545bb1d618bee4f8a29cea87fcc19b43101f GIT binary patch literal 1150 zcmbV~-%C?r7{?zam=)1+?#FqL#!e2!kS&R%A2{1pT|_w%!XRN8(W0m>YV?D0{S-4D z-Go#y+RYH68T8x8GdJgiXb@PpL4Uxhi+L4%dyd;+;8{xV;d7q%ectEuocF*>RKt%X z5x-Rmts`;}Q5(Z4&J^<;$j^HX8;cn0(x~OgJ5j+^>4+U2(HYsQcS^e(gby)7vOMa7*s;TxNztk4?sbZv!S$#pTQQXq-KzAcIp&yf!}in-d%P2l zL>C&LbwM5XqUAzkRbP4?3|glS>DKrj*b@8TczyuRsUA3A^+A3cfb-pcIA88G_3Kkt zI~ufeuul)dp6q8Q$j(WK=@7)H(-1Q!I39)k@nCGlp*dk&xS5nc--0}QnZI+M>%tJ) z6^Pku5E+h{i#!kMLK{%c{HGR_gIzzR{C?;~Yt5jpr{E5M3%@ kc!^*s6#iI + + + Backgrid.js + + + + + + + + + + + + + + + + + + + +
    Backgrid.js
    + +
    Backgrid.js
    + +
    + + + + + + + + + + + diff --git a/api/output/Backgrid.Body.js b/api/output/Backgrid.Body.js new file mode 100644 index 00000000..16a22440 --- /dev/null +++ b/api/output/Backgrid.Body.js @@ -0,0 +1,168 @@ +Ext.data.JsonP.Backgrid_Body({ + "tagname": "class", + "name": "Backgrid.Body", + "extends": "Backbone.View", + "mixins": [ + + ], + "alternateClassNames": [ + + ], + "aliases": { + }, + "singleton": false, + "requires": [ + + ], + "uses": [ + + ], + "enum": null, + "override": null, + "inheritable": null, + "inheritdoc": null, + "meta": { + }, + "private": null, + "id": "class-Backgrid.Body", + "members": { + "cfg": [ + + ], + "property": [ + { + "name": "tagName", + "tagname": "property", + "owner": "Backgrid.Body", + "meta": { + }, + "id": "property-tagName" + } + ], + "method": [ + { + "name": "initialize", + "tagname": "method", + "owner": "Backgrid.Body", + "meta": { + }, + "id": "method-initialize" + }, + { + "name": "insertRow", + "tagname": "method", + "owner": "Backgrid.Body", + "meta": { + "chainable": true + }, + "id": "method-insertRow" + }, + { + "name": "moveToNextCell", + "tagname": "method", + "owner": "Backgrid.Body", + "meta": { + "chainable": true + }, + "id": "method-moveToNextCell" + }, + { + "name": "refresh", + "tagname": "method", + "owner": "Backgrid.Body", + "meta": { + "chainable": true + }, + "id": "method-refresh" + }, + { + "name": "remove", + "tagname": "method", + "owner": "Backgrid.Body", + "meta": { + "chainable": true + }, + "id": "method-remove" + }, + { + "name": "removeRow", + "tagname": "method", + "owner": "Backgrid.Body", + "meta": { + "chainable": true + }, + "id": "method-removeRow" + }, + { + "name": "render", + "tagname": "method", + "owner": "Backgrid.Body", + "meta": { + "chainable": true + }, + "id": "method-render" + }, + { + "name": "sort", + "tagname": "method", + "owner": "Backgrid.Body", + "meta": { + "chainable": true + }, + "id": "method-sort" + } + ], + "event": [ + + ], + "css_var": [ + + ], + "css_mixin": [ + + ] + }, + "linenr": 9, + "files": [ + { + "filename": "body.js", + "href": null + } + ], + "html_meta": { + }, + "statics": { + "cfg": [ + + ], + "property": [ + + ], + "method": [ + + ], + "event": [ + + ], + "css_var": [ + + ], + "css_mixin": [ + + ] + }, + "component": false, + "superclasses": [ + "Backbone.View" + ], + "subclasses": [ + + ], + "mixedInto": [ + + ], + "parentMixins": [ + + ], + "html": "

    Hierarchy

    Backbone.View
    Backgrid.Body

    Body is the table body which contains the rows inside a table. Body is\nresponsible for refreshing the rows after sorting, insertion and removal.

    \n
    Defined By

    Properties

    Backgrid.Body
    : String
    ...
    \n

    Defaults to: "tbody"

    Defined By

    Methods

    Backgrid.Body
    ( options )
    Initializer. ...

    Initializer.

    \n

    Parameters

    • options : Object
      \n
      • collection : Backbone.Collection
      • columns : Backbone.Collection.<Backgrid.Column>|Array.<Backgrid.Column>|Array.<Object>

        Column metadata.

        \n
      • row : Backgrid.Row (optional)

        The Row class to use.

        \n

        Defaults to: Backgrid.Row

      • emptyText : string|function(): string (optional)

        The text to display in the empty row.

        \n

    Throws

    • TypeError

      If options.columns or options.collection is undefined.

      \n\n

      See Backgrid.Row.

      \n
    Backgrid.Body
    ( model, collection, options ) : Backgrid.Bodychainable
    This method can be called either directly or as a callback to a\nBackbone.Collecton#add event. ...

    This method can be called either directly or as a callback to a\nBackbone.Collecton#add event.

    \n\n

    When called directly, it accepts a model or an array of models and an\noption hash just like\nBackbone.Collection#add and\ndelegates to it. Once the model is added, a new row is inserted into the\nbody and automatically rendered.

    \n\n

    When called as a callback of an add event, splices a new row into the\nbody and renders it.

    \n

    Parameters

    • model : Backbone.Model

      The model to render as a row.

      \n
    • collection : Backbone.Collection

      When called directly, this\nparameter is actually the options to\nBackbone.Collection#add.

      \n
    • options : Object

      When called directly, this must be null.

      \n\n

      See:

      \n\n\n\n

    Returns

    Backgrid.Body
    ( model, column, command ) : Backgrid.Bodychainable
    Moves focus to the next renderable and editable cell and return the\ncurrently editing cell to display mode. ...

    Moves focus to the next renderable and editable cell and return the\ncurrently editing cell to display mode.

    \n\n

    Triggers a backgrid:next event on the model with the indices of the row\nand column the user intended to move to, and whether the intended move\nwas going to go out of bounds. Note that out of bound always means an\nattempt to go past the end of the last row.

    \n

    Parameters

    • model : Backbone.Model

      The originating model

      \n
    • column : Backgrid.Column

      The originating model column

      \n
    • command : Backgrid.Command

      The Command object constructed from a DOM\nevent

      \n

    Returns

    Backgrid.Body
    ( ) : Backgrid.Bodychainable
    Reinitialize all the rows inside the body and re-render them. ...

    Reinitialize all the rows inside the body and re-render them. Triggers a\nBackbone backgrid:refresh event from the collection along with the body\ninstance as its sole parameter when done.

    \n

    Returns

    Backgrid.Body
    ( ) : Backgrid.Bodychainable
    Clean up this body and it's rows. ...

    Clean up this body and it's rows.

    \n

    Returns

    Backgrid.Body
    ( model, collection, options ) : Backgrid.Bodychainable
    The method can be called either directly or as a callback to a\nBackbone.Collection#remove\nevent. ...

    The method can be called either directly or as a callback to a\nBackbone.Collection#remove\nevent.

    \n\n

    When called directly, it accepts a model or an array of models and an\noption hash just like\nBackbone.Collection#remove and\ndelegates to it. Once the model is removed, a corresponding row is removed\nfrom the body.

    \n\n

    When called as a callback of a remove event, splices into the rows and\nremoves the row responsible for rendering the model.

    \n

    Parameters

    • model : Backbone.Model

      The model to remove from the body.

      \n
    • collection : Backbone.Collection

      When called directly, this\nparameter is actually the options to\nBackbone.Collection#remove.

      \n
    • options : Object

      When called directly, this must be null.

      \n\n

      See:

      \n\n\n\n

    Returns

    Backgrid.Body
    ( ) : Backgrid.Bodychainable
    Renders all the rows inside this body. ...

    Renders all the rows inside this body. If the collection is empty and\noptions.emptyText is defined and not null in the constructor, an empty\nrow is rendered, otherwise no row is rendered.

    \n

    Returns

    Backgrid.Body
    ( column, direction ) : Backgrid.Bodychainable
    If the underlying collection is a Backbone.PageableCollection in\nserver-mode or infinite-mode, a page of models is fe...

    If the underlying collection is a Backbone.PageableCollection in\nserver-mode or infinite-mode, a page of models is fetched after sorting is\ndone on the server.

    \n\n

    If the underlying collection is a Backbone.PageableCollection in\nclient-mode, or any\nBackbone.Collection instance, sorting\nis done on the client side. If the collection is an instance of a\nBackbone.PageableCollection, sorting will be done globally on all the pages\nand the current page will then be returned.

    \n\n

    Triggers a Backbone backgrid:sorted event from the collection when done\nwith the column, direction and a reference to the collection.

    \n

    Parameters

    Returns

    " +}); \ No newline at end of file diff --git a/api/output/Backgrid.BooleanCell.js b/api/output/Backgrid.BooleanCell.js new file mode 100644 index 00000000..3b40e18c --- /dev/null +++ b/api/output/Backgrid.BooleanCell.js @@ -0,0 +1,180 @@ +Ext.data.JsonP.Backgrid_BooleanCell({ + "tagname": "class", + "name": "Backgrid.BooleanCell", + "extends": "Backgrid.Cell", + "mixins": [ + + ], + "alternateClassNames": [ + + ], + "aliases": { + }, + "singleton": false, + "requires": [ + + ], + "uses": [ + + ], + "enum": null, + "override": null, + "inheritable": null, + "inheritdoc": null, + "meta": { + }, + "private": null, + "id": "class-Backgrid.BooleanCell", + "members": { + "cfg": [ + + ], + "property": [ + { + "name": "className", + "tagname": "property", + "owner": "Backgrid.BooleanCell", + "meta": { + }, + "id": "property-className" + }, + { + "name": "editor", + "tagname": "property", + "owner": "Backgrid.BooleanCell", + "meta": { + }, + "id": "property-editor" + }, + { + "name": "events", + "tagname": "property", + "owner": "Backgrid.BooleanCell", + "meta": { + }, + "id": "property-events" + }, + { + "name": "formatter", + "tagname": "property", + "owner": "Backgrid.Cell", + "meta": { + }, + "id": "property-formatter" + }, + { + "name": "tagName", + "tagname": "property", + "owner": "Backgrid.Cell", + "meta": { + }, + "id": "property-tagName" + } + ], + "method": [ + { + "name": "enterEditMode", + "tagname": "method", + "owner": "Backgrid.Cell", + "meta": { + }, + "id": "method-enterEditMode" + }, + { + "name": "exitEditMode", + "tagname": "method", + "owner": "Backgrid.Cell", + "meta": { + }, + "id": "method-exitEditMode" + }, + { + "name": "initialize", + "tagname": "method", + "owner": "Backgrid.Cell", + "meta": { + }, + "id": "method-initialize" + }, + { + "name": "remove", + "tagname": "method", + "owner": "Backgrid.Cell", + "meta": { + "chainable": true + }, + "id": "method-remove" + }, + { + "name": "render", + "tagname": "method", + "owner": "Backgrid.BooleanCell", + "meta": { + "chainable": true + }, + "id": "method-render" + }, + { + "name": "renderError", + "tagname": "method", + "owner": "Backgrid.Cell", + "meta": { + }, + "id": "method-renderError" + } + ], + "event": [ + + ], + "css_var": [ + + ], + "css_mixin": [ + + ] + }, + "linenr": 727, + "files": [ + { + "filename": "cell.js", + "href": null + } + ], + "html_meta": { + }, + "statics": { + "cfg": [ + + ], + "property": [ + + ], + "method": [ + + ], + "event": [ + + ], + "css_var": [ + + ], + "css_mixin": [ + + ] + }, + "component": false, + "superclasses": [ + "Backbone.View", + "Backgrid.Cell" + ], + "subclasses": [ + + ], + "mixedInto": [ + + ], + "parentMixins": [ + + ], + "html": "

    Hierarchy

    Backbone.View
    Backgrid.Cell
    Backgrid.BooleanCell

    BooleanCell renders a checkbox both during display mode and edit mode. The\ncheckbox is checked if the model value is true, unchecked otherwise.

    \n
    Defined By

    Properties

    Backgrid.BooleanCell
    : String
    ...
    \n

    Defaults to: "boolean-cell"

    Backgrid.BooleanCell
    editor : Object
    \n
    Backgrid.BooleanCell
    : Object
    ...
    \n

    Defaults to: {"click": "enterEditMode"}

    Overrides: Backgrid.Cell.events

    ...
    \n

    Defaults to: CellFormatter

    ...
    \n

    Defaults to: "td"

    Defined By

    Methods

    If this column is editable, a new CellEditor instance is instantiated with\nits required parameters. ...

    If this column is editable, a new CellEditor instance is instantiated with\nits required parameters. An editor CSS class is added to the cell upon\nentering edit mode.

    \n\n

    This method triggers a Backbone backgrid:edit event from the model when\nthe cell is entering edit mode and an editor instance has been constructed,\nbut before it is rendered and inserted into the DOM. The cell and the\nconstructed cell editor instance are sent as event parameters when this\nevent is triggered.

    \n\n

    When this cell has finished switching to edit mode, a Backbone\nbackgrid:editing event is triggered from the model. The cell and the\nconstructed cell instance are also sent as parameters in the event.

    \n\n

    When the model triggers a backgrid:error event, it means the editor is\nunable to convert the current user input to an apprpriate value for the\nmodel's column, and an error CSS class is added to the cell accordingly.

    \n
    Removes the editor and re-render in display mode. ...

    Removes the editor and re-render in display mode.

    \n
    Initializer. ...

    Initializer.

    \n

    Parameters

    Throws

    • ReferenceError

      If formatter is a string but a formatter class of\nsaid name cannot be found in the Backgrid module.

      \n
    Clean up this cell. ...

    Clean up this cell.

    \n

    Returns

    Backgrid.BooleanCell
    ( ) : Backgrid.BooleanCellchainable
    Renders a checkbox and check it if the model value of this column is true,\nuncheck otherwise. ...

    Renders a checkbox and check it if the model value of this column is true,\nuncheck otherwise.

    \n

    Returns

    Overrides: Backgrid.Cell.render

    ( model, column )
    Put an error CSS class on the table cell. ...

    Put an error CSS class on the table cell.

    \n

    Parameters

    • model : Object
      \n
    • column : Object
      \n
    " +}); \ No newline at end of file diff --git a/api/output/Backgrid.BooleanCellEditor.js b/api/output/Backgrid.BooleanCellEditor.js new file mode 100644 index 00000000..f9d00c15 --- /dev/null +++ b/api/output/Backgrid.BooleanCellEditor.js @@ -0,0 +1,156 @@ +Ext.data.JsonP.Backgrid_BooleanCellEditor({ + "tagname": "class", + "name": "Backgrid.BooleanCellEditor", + "extends": "Backgrid.CellEditor", + "mixins": [ + + ], + "alternateClassNames": [ + + ], + "aliases": { + }, + "singleton": false, + "requires": [ + + ], + "uses": [ + + ], + "enum": null, + "override": null, + "inheritable": null, + "inheritdoc": null, + "meta": { + }, + "private": null, + "id": "class-Backgrid.BooleanCellEditor", + "members": { + "cfg": [ + + ], + "property": [ + { + "name": "attributes", + "tagname": "property", + "owner": "Backgrid.BooleanCellEditor", + "meta": { + }, + "id": "property-attributes" + }, + { + "name": "events", + "tagname": "property", + "owner": "Backgrid.BooleanCellEditor", + "meta": { + }, + "id": "property-events" + }, + { + "name": "tagName", + "tagname": "property", + "owner": "Backgrid.BooleanCellEditor", + "meta": { + }, + "id": "property-tagName" + } + ], + "method": [ + { + "name": "enterOrExitEditMode", + "tagname": "method", + "owner": "Backgrid.BooleanCellEditor", + "meta": { + }, + "id": "method-enterOrExitEditMode" + }, + { + "name": "initialize", + "tagname": "method", + "owner": "Backgrid.CellEditor", + "meta": { + }, + "id": "method-initialize" + }, + { + "name": "postRender", + "tagname": "method", + "owner": "Backgrid.CellEditor", + "meta": { + "chainable": true + }, + "id": "method-postRender" + }, + { + "name": "render", + "tagname": "method", + "owner": "Backgrid.BooleanCellEditor", + "meta": { + "chainable": true + }, + "id": "method-render" + }, + { + "name": "saveOrCancel", + "tagname": "method", + "owner": "Backgrid.BooleanCellEditor", + "meta": { + }, + "id": "method-saveOrCancel" + } + ], + "event": [ + + ], + "css_var": [ + + ], + "css_mixin": [ + + ] + }, + "linenr": 640, + "files": [ + { + "filename": "cell.js", + "href": null + } + ], + "html_meta": { + }, + "statics": { + "cfg": [ + + ], + "property": [ + + ], + "method": [ + + ], + "event": [ + + ], + "css_var": [ + + ], + "css_mixin": [ + + ] + }, + "component": false, + "superclasses": [ + "Backbone.View", + "Backgrid.CellEditor" + ], + "subclasses": [ + + ], + "mixedInto": [ + + ], + "parentMixins": [ + + ], + "html": "

    Hierarchy

    Backbone.View
    Backgrid.CellEditor
    Backgrid.BooleanCellEditor

    BooleanCellEditor renders a checkbox as its editor.

    \n
    Defined By

    Properties

    Backgrid.BooleanCellEditor
    attributes : Object
    \n
    \n
    Backgrid.BooleanCellEditor
    events : Object
    \n
    \n
    Backgrid.BooleanCellEditor
    : String
    ...
    \n

    Defaults to: "input"

    Defined By

    Methods

    Backgrid.BooleanCellEditor
    ( e )
    Event handler. ...

    Event handler. Hack to deal with the case where blur is fired before\nchange and click on a checkbox.

    \n

    Parameters

    • e : Object
      \n
    Initializer. ...

    Initializer.

    \n

    Parameters

    Throws

    • TypeError

      If formatter is not a formatter instance, or when\nmodel or column are undefined.

      \n
    Post-rendering setup and initialization. ...

    Post-rendering setup and initialization. Focuses the cell editor's el in\nthis default implementation. Should be called by Cell classes after\ncalling Backgrid.CellEditor#render.

    \n

    Parameters

    • model : Object
      \n
    • column : Object
      \n

    Returns

    Backgrid.BooleanCellEditor
    ( ) : Backgrid.BooleanCellEditorchainable
    Renders a checkbox and check it if the model value of this column is true,\nuncheck otherwise. ...

    Renders a checkbox and check it if the model value of this column is true,\nuncheck otherwise.

    \n

    Returns

    Backgrid.BooleanCellEditor
    ( e )
    Event handler. ...

    Event handler. Save the value into the model if the event is change or\none of the keyboard navigation key presses. Exit edit mode without saving\nif escape was pressed.

    \n

    Parameters

    • e : Object
      \n
    " +}); \ No newline at end of file diff --git a/api/output/Backgrid.Cell.js b/api/output/Backgrid.Cell.js new file mode 100644 index 00000000..082b33cd --- /dev/null +++ b/api/output/Backgrid.Cell.js @@ -0,0 +1,178 @@ +Ext.data.JsonP.Backgrid_Cell({ + "tagname": "class", + "name": "Backgrid.Cell", + "extends": "Backbone.View", + "mixins": [ + + ], + "alternateClassNames": [ + + ], + "aliases": { + }, + "singleton": false, + "requires": [ + + ], + "uses": [ + + ], + "enum": null, + "override": null, + "inheritable": null, + "inheritdoc": null, + "meta": { + "abstract": true + }, + "private": null, + "id": "class-Backgrid.Cell", + "members": { + "cfg": [ + + ], + "property": [ + { + "name": "editor", + "tagname": "property", + "owner": "Backgrid.Cell", + "meta": { + }, + "id": "property-editor" + }, + { + "name": "events", + "tagname": "property", + "owner": "Backgrid.Cell", + "meta": { + }, + "id": "property-events" + }, + { + "name": "formatter", + "tagname": "property", + "owner": "Backgrid.Cell", + "meta": { + }, + "id": "property-formatter" + }, + { + "name": "tagName", + "tagname": "property", + "owner": "Backgrid.Cell", + "meta": { + }, + "id": "property-tagName" + } + ], + "method": [ + { + "name": "enterEditMode", + "tagname": "method", + "owner": "Backgrid.Cell", + "meta": { + }, + "id": "method-enterEditMode" + }, + { + "name": "exitEditMode", + "tagname": "method", + "owner": "Backgrid.Cell", + "meta": { + }, + "id": "method-exitEditMode" + }, + { + "name": "initialize", + "tagname": "method", + "owner": "Backgrid.Cell", + "meta": { + }, + "id": "method-initialize" + }, + { + "name": "remove", + "tagname": "method", + "owner": "Backgrid.Cell", + "meta": { + "chainable": true + }, + "id": "method-remove" + }, + { + "name": "render", + "tagname": "method", + "owner": "Backgrid.Cell", + "meta": { + "chainable": true + }, + "id": "method-render" + }, + { + "name": "renderError", + "tagname": "method", + "owner": "Backgrid.Cell", + "meta": { + }, + "id": "method-renderError" + } + ], + "event": [ + + ], + "css_var": [ + + ], + "css_mixin": [ + + ] + }, + "linenr": 170, + "files": [ + { + "filename": "cell.js", + "href": null + } + ], + "html_meta": { + "abstract": null + }, + "statics": { + "cfg": [ + + ], + "property": [ + + ], + "method": [ + + ], + "event": [ + + ], + "css_var": [ + + ], + "css_mixin": [ + + ] + }, + "component": false, + "superclasses": [ + "Backbone.View" + ], + "subclasses": [ + "Backgrid.BooleanCell", + "Backgrid.DatetimeCell", + "Backgrid.NumberCell", + "Backgrid.SelectCell", + "Backgrid.StringCell", + "Backgrid.UriCell" + ], + "mixedInto": [ + + ], + "parentMixins": [ + + ], + "html": "

    Hierarchy

    Backbone.View
    Backgrid.Cell

    Subclasses

    The super-class for all Cell types. By default, this class renders a plain\ntable cell with the model value converted to a string using the\nformatter. The table cell is clickable, upon which the cell will go into\neditor mode, which is rendered by a Backgrid.InputCellEditor instance by\ndefault. Upon encountering any formatting errors, this class will add an\nerror CSS class to the table cell.

    \n
    Defined By

    Properties

    The\ndefault editor for all cell instances of this class. ...

    The\ndefault editor for all cell instances of this class. This value must be a\nclass, it will be automatically instantiated upon entering edit mode.

    \n\n

    See Backgrid.CellEditor

    \n

    Defaults to: Backgrid.InputCellEditor

    Backgrid.Cell
    : Object
    ...
    \n

    Defaults to: {"click": "enterEditMode"}

    Backgrid.Cell
    : Backgrid.CellFormatter|Object|string
    ...
    \n

    Defaults to: CellFormatter

    Backgrid.Cell
    : String
    ...
    \n

    Defaults to: "td"

    Defined By

    Methods

    Backgrid.Cell
    ( )
    If this column is editable, a new CellEditor instance is instantiated with\nits required parameters. ...

    If this column is editable, a new CellEditor instance is instantiated with\nits required parameters. An editor CSS class is added to the cell upon\nentering edit mode.

    \n\n

    This method triggers a Backbone backgrid:edit event from the model when\nthe cell is entering edit mode and an editor instance has been constructed,\nbut before it is rendered and inserted into the DOM. The cell and the\nconstructed cell editor instance are sent as event parameters when this\nevent is triggered.

    \n\n

    When this cell has finished switching to edit mode, a Backbone\nbackgrid:editing event is triggered from the model. The cell and the\nconstructed cell instance are also sent as parameters in the event.

    \n\n

    When the model triggers a backgrid:error event, it means the editor is\nunable to convert the current user input to an apprpriate value for the\nmodel's column, and an error CSS class is added to the cell accordingly.

    \n
    Backgrid.Cell
    ( )
    Removes the editor and re-render in display mode. ...

    Removes the editor and re-render in display mode.

    \n
    Backgrid.Cell
    ( options )
    Initializer. ...

    Initializer.

    \n

    Parameters

    Throws

    • ReferenceError

      If formatter is a string but a formatter class of\nsaid name cannot be found in the Backgrid module.

      \n
    Backgrid.Cell
    ( ) : Backgrid.Cellchainable
    Clean up this cell. ...

    Clean up this cell.

    \n

    Returns

    Backgrid.Cell
    ( ) : Backgrid.Cellchainable
    Render a text string in a table cell. ...

    Render a text string in a table cell. The text is converted from the\nmodel's raw value for this cell's column.

    \n

    Returns

    Backgrid.Cell
    ( model, column )
    Put an error CSS class on the table cell. ...

    Put an error CSS class on the table cell.

    \n

    Parameters

    • model : Object
      \n
    • column : Object
      \n
    " +}); \ No newline at end of file diff --git a/api/output/Backgrid.CellEditor.js b/api/output/Backgrid.CellEditor.js new file mode 100644 index 00000000..bcb1624c --- /dev/null +++ b/api/output/Backgrid.CellEditor.js @@ -0,0 +1,111 @@ +Ext.data.JsonP.Backgrid_CellEditor({ + "tagname": "class", + "name": "Backgrid.CellEditor", + "extends": "Backbone.View", + "mixins": [ + + ], + "alternateClassNames": [ + + ], + "aliases": { + }, + "singleton": false, + "requires": [ + + ], + "uses": [ + + ], + "enum": null, + "override": null, + "inheritable": null, + "inheritdoc": null, + "meta": { + "abstract": true + }, + "private": null, + "id": "class-Backgrid.CellEditor", + "members": { + "cfg": [ + + ], + "property": [ + + ], + "method": [ + { + "name": "initialize", + "tagname": "method", + "owner": "Backgrid.CellEditor", + "meta": { + }, + "id": "method-initialize" + }, + { + "name": "postRender", + "tagname": "method", + "owner": "Backgrid.CellEditor", + "meta": { + "chainable": true + }, + "id": "method-postRender" + } + ], + "event": [ + + ], + "css_var": [ + + ], + "css_mixin": [ + + ] + }, + "linenr": 9, + "files": [ + { + "filename": "cell.js", + "href": null + } + ], + "html_meta": { + "abstract": null + }, + "statics": { + "cfg": [ + + ], + "property": [ + + ], + "method": [ + + ], + "event": [ + + ], + "css_var": [ + + ], + "css_mixin": [ + + ] + }, + "component": false, + "superclasses": [ + "Backbone.View" + ], + "subclasses": [ + "Backgrid.BooleanCellEditor", + "Backgrid.InputCellEditor", + "Backgrid.SelectCellEditor" + ], + "mixedInto": [ + + ], + "parentMixins": [ + + ], + "html": "

    Hierarchy

    Backbone.View
    Backgrid.CellEditor

    Subclasses

    Generic cell editor base class. Only defines an initializer for a number of\nrequired parameters.

    \n
    Defined By

    Methods

    Backgrid.CellEditor
    ( options )
    Initializer. ...

    Initializer.

    \n

    Parameters

    Throws

    • TypeError

      If formatter is not a formatter instance, or when\nmodel or column are undefined.

      \n
    Backgrid.CellEditor
    ( model, column ) : Backgrid.CellEditorchainable
    Post-rendering setup and initialization. ...

    Post-rendering setup and initialization. Focuses the cell editor's el in\nthis default implementation. Should be called by Cell classes after\ncalling Backgrid.CellEditor#render.

    \n

    Parameters

    • model : Object
      \n
    • column : Object
      \n

    Returns

    " +}); \ No newline at end of file diff --git a/api/output/Backgrid.CellFormatter.js b/api/output/Backgrid.CellFormatter.js new file mode 100644 index 00000000..84c45ce8 --- /dev/null +++ b/api/output/Backgrid.CellFormatter.js @@ -0,0 +1,120 @@ +Ext.data.JsonP.Backgrid_CellFormatter({ + "tagname": "class", + "name": "Backgrid.CellFormatter", + "extends": null, + "mixins": [ + + ], + "alternateClassNames": [ + + ], + "aliases": { + }, + "singleton": false, + "requires": [ + + ], + "uses": [ + + ], + "enum": null, + "override": null, + "inheritable": null, + "inheritdoc": null, + "meta": { + "abstract": true + }, + "private": null, + "id": "class-Backgrid.CellFormatter", + "members": { + "cfg": [ + + ], + "property": [ + + ], + "method": [ + { + "name": "constructor", + "tagname": "method", + "owner": "Backgrid.CellFormatter", + "meta": { + }, + "id": "method-constructor" + }, + { + "name": "fromRaw", + "tagname": "method", + "owner": "Backgrid.CellFormatter", + "meta": { + }, + "id": "method-fromRaw" + }, + { + "name": "toRaw", + "tagname": "method", + "owner": "Backgrid.CellFormatter", + "meta": { + }, + "id": "method-toRaw" + } + ], + "event": [ + + ], + "css_var": [ + + ], + "css_mixin": [ + + ] + }, + "linenr": 9, + "files": [ + { + "filename": "formatter.js", + "href": null + } + ], + "html_meta": { + "abstract": null + }, + "statics": { + "cfg": [ + + ], + "property": [ + + ], + "method": [ + + ], + "event": [ + + ], + "css_var": [ + + ], + "css_mixin": [ + + ] + }, + "component": false, + "superclasses": [ + + ], + "subclasses": [ + "Backgrid.DatetimeFormatter", + "Backgrid.EmailFormatter", + "Backgrid.NumberFormatter", + "Backgrid.SelectFormatter", + "Backgrid.StringFormatter" + ], + "mixedInto": [ + + ], + "parentMixins": [ + + ], + "html": "

    Subclasses

    Just a convenient class for interested parties to subclass.

    \n\n

    The default Cell classes don't require the formatter to be a subclass of\nFormatter as long as the fromRaw(rawData) and toRaw(formattedData) methods\nare defined.

    \n
    Defined By

    Methods

    Backgrid.CellFormatter
    new( ) : Backgrid.CellFormatter
    ...
    Backgrid.CellFormatter
    ( rawData, model ) : *
    Takes a raw value from a model and returns an optionally formatted string\nfor display. ...

    Takes a raw value from a model and returns an optionally formatted string\nfor display. The default implementation simply returns the supplied value\nas is without any type conversion.

    \n

    Parameters

    • rawData : *
      \n
    • model : Backbone.Model

      Used for more complicated formatting

      \n

    Returns

    • *
      \n
    Backgrid.CellFormatter
    ( formattedData, model ) : *|undefined
    Takes a formatted string, usually from user input, and returns a\nappropriately typed value for persistence in the model. ...

    Takes a formatted string, usually from user input, and returns a\nappropriately typed value for persistence in the model.

    \n\n

    If the user input is invalid or unable to be converted to a raw value\nsuitable for persistence in the model, toRaw must return undefined.

    \n

    Parameters

    • formattedData : string
      \n
    • model : Backbone.Model

      Used for more complicated formatting

      \n

    Returns

    • *|undefined
      \n
    " +}); \ No newline at end of file diff --git a/api/output/Backgrid.Column.js b/api/output/Backgrid.Column.js new file mode 100644 index 00000000..42819b19 --- /dev/null +++ b/api/output/Backgrid.Column.js @@ -0,0 +1,140 @@ +Ext.data.JsonP.Backgrid_Column({ + "tagname": "class", + "name": "Backgrid.Column", + "extends": "Backbone.Model", + "mixins": [ + + ], + "alternateClassNames": [ + + ], + "aliases": { + }, + "singleton": false, + "requires": [ + + ], + "uses": [ + + ], + "enum": null, + "override": null, + "inheritable": null, + "inheritdoc": null, + "meta": { + }, + "private": null, + "id": "class-Backgrid.Column", + "members": { + "cfg": [ + { + "name": "defaults", + "tagname": "cfg", + "owner": "Backgrid.Column", + "meta": { + }, + "id": "cfg-defaults" + } + ], + "property": [ + + ], + "method": [ + { + "name": "editable", + "tagname": "method", + "owner": "Backgrid.Column", + "meta": { + "protected": true + }, + "id": "method-editable" + }, + { + "name": "initialize", + "tagname": "method", + "owner": "Backgrid.Column", + "meta": { + }, + "id": "method-initialize" + }, + { + "name": "renderable", + "tagname": "method", + "owner": "Backgrid.Column", + "meta": { + "protected": true + }, + "id": "method-renderable" + }, + { + "name": "sortValue", + "tagname": "method", + "owner": "Backgrid.Column", + "meta": { + }, + "id": "method-sortValue" + }, + { + "name": "sortable", + "tagname": "method", + "owner": "Backgrid.Column", + "meta": { + "protected": true + }, + "id": "method-sortable" + } + ], + "event": [ + + ], + "css_var": [ + + ], + "css_mixin": [ + + ] + }, + "linenr": 9, + "files": [ + { + "filename": "column.js", + "href": null + } + ], + "html_meta": { + }, + "statics": { + "cfg": [ + + ], + "property": [ + + ], + "method": [ + + ], + "event": [ + + ], + "css_var": [ + + ], + "css_mixin": [ + + ] + }, + "component": false, + "superclasses": [ + "Backbone.Model" + ], + "subclasses": [ + + ], + "mixedInto": [ + + ], + "parentMixins": [ + + ], + "html": "

    Hierarchy

    Backbone.Model
    Backgrid.Column

    A Column is a placeholder for column metadata.

    \n\n

    You usually don't need to create an instance of this class yourself as a\ncollection of column instances will be created for you from a list of column\nattributes in the Backgrid.js view class constructors.

    \n
    Defined By

    Config options

    Backgrid.Column
    : Object
    Column defaults. ...

    Column defaults. To override any of these default\nvalues, you can either change the prototype directly to override\nColumn.defaults globally or extend Column and supply the custom class to\nBackgrid.Grid:

    \n\n
    // Override Column defaults globally\nColumn.prototype.defaults.sortable = false;\n\n// Override Column defaults locally\nvar MyColumn = Column.extend({\n  defaults: _.defaults({\n    editable: false\n  }, Column.prototype.defaults)\n});\n\nvar grid = new Backgrid.Grid(columns: new Columns([{...}, {...}], {\n  model: MyColumn\n}));\n
    \n
    • name : string (optional)

      The default name of the model attribute.

      \n
    • label : string (optional)

      The default label to show in the header.

      \n
    • cell : string|Backgrid.Cell (optional)

      The default cell type. If this\nis a string, the capitalized form will be used to look up a cell class in\nBackbone, i.e.: string => StringCell. If a Cell subclass is supplied, it is\ninitialized with a hash of parameters. If a Cell instance is supplied, it\nis used directly.

      \n
    • headerCell : string|Backgrid.HeaderCell (optional)

      The default header\ncell type.

      \n
    • sortable : boolean|string|function(): boolean (optional)

      Whether\nthis column is sortable. If the value is a string, a method will the same\nname will be looked up from the column instance to determine whether the\ncolumn should be sortable. The method's signature must be function\n(Backgrid.Column, Backbone.Model): boolean.

      \n

      Defaults to: true

    • editable : boolean|string|function(): boolean (optional)

      Whether\nthis column is editable. If the value is a string, a method will the same\nname will be looked up from the column instance to determine whether the\ncolumn should be editable. The method's signature must be function\n(Backgrid.Column, Backbone.Model): boolean.

      \n

      Defaults to: true

    • renderable : boolean|string|function(): boolean (optional)

      Whether this column is renderable. If the value is a string, a method will\nthe same name will be looked up from the column instance to determine\nwhether the column should be renderable. The method's signature must be\nfunction (Backrid.Column, Backbone.Model): boolean.

      \n

      Defaults to: true

    • formatter : Backgrid.CellFormatter | Object | string (optional)

      The\nformatter to use to convert between raw model values and user input.

      \n
    • sortType : \"toggle\"|\"cycle\" (optional)

      Whether sorting will\ntoggle between ascending and descending order, or cycle between insertion\norder, ascending and descending order.

      \n

      Defaults to: "cycle"

    • sortValue : (function(Backbone.Model, string): *) | string (optional)

      The function to use to extract a value from the model for comparison during\nsorting. If this value is a string, a method with the same name will be\nlooked up from the column instance.

      \n
    • direction : \"ascending\"|\"descending\"|null (optional)

      The initial\nsorting direction for this column. The default is ordered by\nBackbone.Model.cid, which usually means the collection is ordered by\ninsertion order.

      \n

      Defaults to: null

    Defined By

    Methods

    Backgrid.Column
    ( ) : function(Backgrid.Column, Backbone.Model): boolean | booleanprotected
    ...
    \n

    Returns

    Backgrid.Column
    ( attrs )
    Initializes this Column instance. ...

    Initializes this Column instance.

    \n

    Parameters

    • attrs : Object
      \n
      • name : string

        The model attribute this column is responsible\nfor.

        \n
      • cell : string|Backgrid.Cell

        The cell type to use to render\nthis column.

        \n
      • label : string (optional)
      • headerCell : string|Backgrid.HeaderCell (optional)
      • sortable : boolean|string|function(): boolean (optional)

        Defaults to: true

      • editable : boolean|string|function(): boolean (optional)

        Defaults to: true

      • renderable : boolean|string|function(): boolean (optional)

        Defaults to: true

      • formatter : Backgrid.CellFormatter | Object | string (optional)
      • sortType : \"toggle\"|\"cycle\" (optional)

        Defaults to: "cycle"

      • sortValue : (function(Backbone.Model, string): *) | string (optional)

    Throws

    Backgrid.Column
    ( ) : function(Backgrid.Column, Backbone.Model): boolean | booleanprotected
    ...
    \n

    Returns

    Backgrid.Column
    ( ) : function(Backbone.Model, string): *
    Returns an appropriate value extraction function from a model for sorting. ...

    Returns an appropriate value extraction function from a model for sorting.

    \n\n

    If the column model contains an attribute sortValue, if it is a string, a\nmethod from the column instance identifified by the sortValue string is\nreturned. If it is a function, it it returned as is. If sortValue isn't\nfound from the column model's attributes, a default value extraction\nfunction is returned which will compare according to the natural order of\nthe value's type.

    \n

    Returns

    • function(Backbone.Model, string): *
      \n
    Backgrid.Column
    ( ) : function(Backgrid.Column, Backbone.Model): boolean | booleanprotected
    ...
    \n

    Returns

    " +}); \ No newline at end of file diff --git a/api/output/Backgrid.Columns.js b/api/output/Backgrid.Columns.js new file mode 100644 index 00000000..f0061332 --- /dev/null +++ b/api/output/Backgrid.Columns.js @@ -0,0 +1,98 @@ +Ext.data.JsonP.Backgrid_Columns({ + "tagname": "class", + "name": "Backgrid.Columns", + "extends": "Backbone.Collection", + "mixins": [ + + ], + "alternateClassNames": [ + + ], + "aliases": { + }, + "singleton": false, + "requires": [ + + ], + "uses": [ + + ], + "enum": null, + "override": null, + "inheritable": null, + "inheritdoc": null, + "meta": { + }, + "private": null, + "id": "class-Backgrid.Columns", + "members": { + "cfg": [ + + ], + "property": [ + { + "name": "model", + "tagname": "property", + "owner": "Backgrid.Columns", + "meta": { + }, + "id": "property-model" + } + ], + "method": [ + + ], + "event": [ + + ], + "css_var": [ + + ], + "css_mixin": [ + + ] + }, + "linenr": 207, + "files": [ + { + "filename": "column.js", + "href": null + } + ], + "html_meta": { + }, + "statics": { + "cfg": [ + + ], + "property": [ + + ], + "method": [ + + ], + "event": [ + + ], + "css_var": [ + + ], + "css_mixin": [ + + ] + }, + "component": false, + "superclasses": [ + "Backbone.Collection" + ], + "subclasses": [ + + ], + "mixedInto": [ + + ], + "parentMixins": [ + + ], + "html": "

    Hierarchy

    Backbone.Collection
    Backgrid.Columns

    A Backbone collection of Column instances.

    \n
    Defined By

    Properties

    Backgrid.Columns
    model : Backgrid.Column
    \n
    \n
    " +}); \ No newline at end of file diff --git a/api/output/Backgrid.Command.js b/api/output/Backgrid.Command.js new file mode 100644 index 00000000..a2bbd770 --- /dev/null +++ b/api/output/Backgrid.Command.js @@ -0,0 +1,154 @@ +Ext.data.JsonP.Backgrid_Command({ + "tagname": "class", + "name": "Backgrid.Command", + "extends": null, + "mixins": [ + + ], + "alternateClassNames": [ + + ], + "aliases": { + }, + "singleton": false, + "requires": [ + + ], + "uses": [ + + ], + "enum": null, + "override": null, + "inheritable": null, + "inheritdoc": null, + "meta": { + }, + "private": null, + "id": "class-Backgrid.Command", + "members": { + "cfg": [ + + ], + "property": [ + + ], + "method": [ + { + "name": "constructor", + "tagname": "method", + "owner": "Backgrid.Command", + "meta": { + }, + "id": "method-constructor" + }, + { + "name": "cancel", + "tagname": "method", + "owner": "Backgrid.Command", + "meta": { + }, + "id": "method-cancel" + }, + { + "name": "moveDown", + "tagname": "method", + "owner": "Backgrid.Command", + "meta": { + }, + "id": "method-moveDown" + }, + { + "name": "moveLeft", + "tagname": "method", + "owner": "Backgrid.Command", + "meta": { + }, + "id": "method-moveLeft" + }, + { + "name": "moveRight", + "tagname": "method", + "owner": "Backgrid.Command", + "meta": { + }, + "id": "method-moveRight" + }, + { + "name": "moveUp", + "tagname": "method", + "owner": "Backgrid.Command", + "meta": { + }, + "id": "method-moveUp" + }, + { + "name": "passThru", + "tagname": "method", + "owner": "Backgrid.Command", + "meta": { + }, + "id": "method-passThru" + }, + { + "name": "save", + "tagname": "method", + "owner": "Backgrid.Command", + "meta": { + }, + "id": "method-save" + } + ], + "event": [ + + ], + "css_var": [ + + ], + "css_mixin": [ + + ] + }, + "linenr": 75, + "files": [ + { + "filename": "preamble.js", + "href": null + } + ], + "html_meta": { + }, + "statics": { + "cfg": [ + + ], + "property": [ + + ], + "method": [ + + ], + "event": [ + + ], + "css_var": [ + + ], + "css_mixin": [ + + ] + }, + "component": false, + "superclasses": [ + + ], + "subclasses": [ + + ], + "mixedInto": [ + + ], + "parentMixins": [ + + ], + "html": "

    Command translates a DOM Event into commands that Backgrid\nrecognizes. Interested parties can listen on selected Backgrid events that\ncome with an instance of this class and act on the commands.

    \n\n

    It is also possible to globally rebind the keyboard shortcuts by replacing\nthe methods in this class' prototype.

    \n
    Defined By

    Methods

    Backgrid.Command
    new( ) : Backgrid.Command
    ...
    \n

    Returns

    Backgrid.Command
    ( )
    Esc ...

    Esc

    \n
    Backgrid.Command
    ( )
    Down Arrow ...

    Down Arrow

    \n
    Backgrid.Command
    ( )
    Shift Tab ...

    Shift Tab

    \n
    Backgrid.Command
    ( )
    Tab ...

    Tab

    \n
    Backgrid.Command
    ( )
    Up Arrow ...

    Up Arrow

    \n
    Backgrid.Command
    ( )
    None of the above. ...

    None of the above.

    \n
    Backgrid.Command
    ( )
    Enter ...

    Enter

    \n
    " +}); \ No newline at end of file diff --git a/api/output/Backgrid.DateCell.js b/api/output/Backgrid.DateCell.js new file mode 100644 index 00000000..caff2ca5 --- /dev/null +++ b/api/output/Backgrid.DateCell.js @@ -0,0 +1,205 @@ +Ext.data.JsonP.Backgrid_DateCell({ + "tagname": "class", + "name": "Backgrid.DateCell", + "extends": "Backgrid.DatetimeCell", + "mixins": [ + + ], + "alternateClassNames": [ + + ], + "aliases": { + }, + "singleton": false, + "requires": [ + + ], + "uses": [ + + ], + "enum": null, + "override": null, + "inheritable": null, + "inheritdoc": null, + "meta": { + }, + "private": null, + "id": "class-Backgrid.DateCell", + "members": { + "cfg": [ + + ], + "property": [ + { + "name": "className", + "tagname": "property", + "owner": "Backgrid.DateCell", + "meta": { + }, + "id": "property-className" + }, + { + "name": "editor", + "tagname": "property", + "owner": "Backgrid.Cell", + "meta": { + }, + "id": "property-editor" + }, + { + "name": "events", + "tagname": "property", + "owner": "Backgrid.Cell", + "meta": { + }, + "id": "property-events" + }, + { + "name": "formatter", + "tagname": "property", + "owner": "Backgrid.DatetimeCell", + "meta": { + }, + "id": "property-formatter" + }, + { + "name": "includeDate", + "tagname": "property", + "owner": "Backgrid.DatetimeCell", + "meta": { + }, + "id": "property-includeDate" + }, + { + "name": "includeMilli", + "tagname": "property", + "owner": "Backgrid.DatetimeCell", + "meta": { + }, + "id": "property-includeMilli" + }, + { + "name": "includeTime", + "tagname": "property", + "owner": "Backgrid.DateCell", + "meta": { + }, + "id": "property-includeTime" + }, + { + "name": "tagName", + "tagname": "property", + "owner": "Backgrid.Cell", + "meta": { + }, + "id": "property-tagName" + } + ], + "method": [ + { + "name": "enterEditMode", + "tagname": "method", + "owner": "Backgrid.Cell", + "meta": { + }, + "id": "method-enterEditMode" + }, + { + "name": "exitEditMode", + "tagname": "method", + "owner": "Backgrid.Cell", + "meta": { + }, + "id": "method-exitEditMode" + }, + { + "name": "initialize", + "tagname": "method", + "owner": "Backgrid.DatetimeCell", + "meta": { + }, + "id": "method-initialize" + }, + { + "name": "remove", + "tagname": "method", + "owner": "Backgrid.Cell", + "meta": { + "chainable": true + }, + "id": "method-remove" + }, + { + "name": "render", + "tagname": "method", + "owner": "Backgrid.Cell", + "meta": { + "chainable": true + }, + "id": "method-render" + }, + { + "name": "renderError", + "tagname": "method", + "owner": "Backgrid.Cell", + "meta": { + }, + "id": "method-renderError" + } + ], + "event": [ + + ], + "css_var": [ + + ], + "css_mixin": [ + + ] + }, + "linenr": 608, + "files": [ + { + "filename": "cell.js", + "href": null + } + ], + "html_meta": { + }, + "statics": { + "cfg": [ + + ], + "property": [ + + ], + "method": [ + + ], + "event": [ + + ], + "css_var": [ + + ], + "css_mixin": [ + + ] + }, + "component": false, + "superclasses": [ + "Backbone.View", + "Backgrid.Cell", + "Backgrid.DatetimeCell" + ], + "subclasses": [ + + ], + "mixedInto": [ + + ], + "parentMixins": [ + + ], + "html": "

    Hierarchy

    Backbone.View

    DateCell is a Backgrid.DatetimeCell without the time part.

    \n
    Defined By

    Properties

    Backgrid.DateCell
    : String
    ...
    \n

    Defaults to: "date-cell"

    Overrides: Backgrid.DatetimeCell.className

    The\ndefault editor for all cell instances of this class. ...

    The\ndefault editor for all cell instances of this class. This value must be a\nclass, it will be automatically instantiated upon entering edit mode.

    \n\n

    See Backgrid.CellEditor

    \n

    Defaults to: Backgrid.InputCellEditor

    ...
    \n

    Defaults to: {"click": "enterEditMode"}

    ...
    \n

    Defaults to: Backgrid.DatetimeFormatter

    Overrides: Backgrid.Cell.formatter

    ...
    \n

    Defaults to: true

    ...
    \n

    Defaults to: false

    Backgrid.DateCell
    : Boolean
    ...
    \n

    Defaults to: false

    Overrides: Backgrid.DatetimeCell.includeTime

    ...
    \n

    Defaults to: "td"

    Defined By

    Methods

    If this column is editable, a new CellEditor instance is instantiated with\nits required parameters. ...

    If this column is editable, a new CellEditor instance is instantiated with\nits required parameters. An editor CSS class is added to the cell upon\nentering edit mode.

    \n\n

    This method triggers a Backbone backgrid:edit event from the model when\nthe cell is entering edit mode and an editor instance has been constructed,\nbut before it is rendered and inserted into the DOM. The cell and the\nconstructed cell editor instance are sent as event parameters when this\nevent is triggered.

    \n\n

    When this cell has finished switching to edit mode, a Backbone\nbackgrid:editing event is triggered from the model. The cell and the\nconstructed cell instance are also sent as parameters in the event.

    \n\n

    When the model triggers a backgrid:error event, it means the editor is\nunable to convert the current user input to an apprpriate value for the\nmodel's column, and an error CSS class is added to the cell accordingly.

    \n
    Removes the editor and re-render in display mode. ...

    Removes the editor and re-render in display mode.

    \n
    Initializes this cell and the datetime formatter. ...

    Initializes this cell and the datetime formatter.

    \n

    Parameters

    Overrides: Backgrid.Cell.initialize

    Clean up this cell. ...

    Clean up this cell.

    \n

    Returns

    Render a text string in a table cell. ...

    Render a text string in a table cell. The text is converted from the\nmodel's raw value for this cell's column.

    \n

    Returns

    ( model, column )
    Put an error CSS class on the table cell. ...

    Put an error CSS class on the table cell.

    \n

    Parameters

    • model : Object
      \n
    • column : Object
      \n
    " +}); \ No newline at end of file diff --git a/api/output/Backgrid.DatetimeCell.js b/api/output/Backgrid.DatetimeCell.js new file mode 100644 index 00000000..ba351bde --- /dev/null +++ b/api/output/Backgrid.DatetimeCell.js @@ -0,0 +1,205 @@ +Ext.data.JsonP.Backgrid_DatetimeCell({ + "tagname": "class", + "name": "Backgrid.DatetimeCell", + "extends": "Backgrid.Cell", + "mixins": [ + + ], + "alternateClassNames": [ + + ], + "aliases": { + }, + "singleton": false, + "requires": [ + + ], + "uses": [ + + ], + "enum": null, + "override": null, + "inheritable": null, + "inheritdoc": null, + "meta": { + }, + "private": null, + "id": "class-Backgrid.DatetimeCell", + "members": { + "cfg": [ + + ], + "property": [ + { + "name": "className", + "tagname": "property", + "owner": "Backgrid.DatetimeCell", + "meta": { + }, + "id": "property-className" + }, + { + "name": "editor", + "tagname": "property", + "owner": "Backgrid.Cell", + "meta": { + }, + "id": "property-editor" + }, + { + "name": "events", + "tagname": "property", + "owner": "Backgrid.Cell", + "meta": { + }, + "id": "property-events" + }, + { + "name": "formatter", + "tagname": "property", + "owner": "Backgrid.DatetimeCell", + "meta": { + }, + "id": "property-formatter" + }, + { + "name": "includeDate", + "tagname": "property", + "owner": "Backgrid.DatetimeCell", + "meta": { + }, + "id": "property-includeDate" + }, + { + "name": "includeMilli", + "tagname": "property", + "owner": "Backgrid.DatetimeCell", + "meta": { + }, + "id": "property-includeMilli" + }, + { + "name": "includeTime", + "tagname": "property", + "owner": "Backgrid.DatetimeCell", + "meta": { + }, + "id": "property-includeTime" + }, + { + "name": "tagName", + "tagname": "property", + "owner": "Backgrid.Cell", + "meta": { + }, + "id": "property-tagName" + } + ], + "method": [ + { + "name": "enterEditMode", + "tagname": "method", + "owner": "Backgrid.Cell", + "meta": { + }, + "id": "method-enterEditMode" + }, + { + "name": "exitEditMode", + "tagname": "method", + "owner": "Backgrid.Cell", + "meta": { + }, + "id": "method-exitEditMode" + }, + { + "name": "initialize", + "tagname": "method", + "owner": "Backgrid.DatetimeCell", + "meta": { + }, + "id": "method-initialize" + }, + { + "name": "remove", + "tagname": "method", + "owner": "Backgrid.Cell", + "meta": { + "chainable": true + }, + "id": "method-remove" + }, + { + "name": "render", + "tagname": "method", + "owner": "Backgrid.Cell", + "meta": { + "chainable": true + }, + "id": "method-render" + }, + { + "name": "renderError", + "tagname": "method", + "owner": "Backgrid.Cell", + "meta": { + }, + "id": "method-renderError" + } + ], + "event": [ + + ], + "css_var": [ + + ], + "css_mixin": [ + + ] + }, + "linenr": 543, + "files": [ + { + "filename": "cell.js", + "href": null + } + ], + "html_meta": { + }, + "statics": { + "cfg": [ + + ], + "property": [ + + ], + "method": [ + + ], + "event": [ + + ], + "css_var": [ + + ], + "css_mixin": [ + + ] + }, + "component": false, + "superclasses": [ + "Backbone.View", + "Backgrid.Cell" + ], + "subclasses": [ + "Backgrid.DateCell", + "Backgrid.TimeCell" + ], + "mixedInto": [ + + ], + "parentMixins": [ + + ], + "html": "

    Hierarchy

    Backbone.View
    Backgrid.Cell
    Backgrid.DatetimeCell

    Subclasses

    DatetimeCell is a basic cell that accepts datetime string values in RFC-2822\nor W3C's subset of ISO-8601 and displays them in ISO-8601 format. For a much\nmore sophisticated date time cell with better datetime formatting, take a\nlook at the Backgrid.Extension.MomentCell extension. See:

    \n\n\n\n
    Defined By

    Properties

    Backgrid.DatetimeCell
    : String
    ...
    \n

    Defaults to: "datetime-cell"

    The\ndefault editor for all cell instances of this class. ...

    The\ndefault editor for all cell instances of this class. This value must be a\nclass, it will be automatically instantiated upon entering edit mode.

    \n\n

    See Backgrid.CellEditor

    \n

    Defaults to: Backgrid.InputCellEditor

    ...
    \n

    Defaults to: {"click": "enterEditMode"}

    Backgrid.DatetimeCell
    : Backgrid.CellFormatter
    ...
    \n

    Defaults to: Backgrid.DatetimeFormatter

    Overrides: Backgrid.Cell.formatter

    Backgrid.DatetimeCell
    : boolean
    ...
    \n

    Defaults to: true

    Backgrid.DatetimeCell
    : boolean
    ...
    \n

    Defaults to: false

    Backgrid.DatetimeCell
    : boolean
    ...
    \n

    Defaults to: true

    ...
    \n

    Defaults to: "td"

    Defined By

    Methods

    If this column is editable, a new CellEditor instance is instantiated with\nits required parameters. ...

    If this column is editable, a new CellEditor instance is instantiated with\nits required parameters. An editor CSS class is added to the cell upon\nentering edit mode.

    \n\n

    This method triggers a Backbone backgrid:edit event from the model when\nthe cell is entering edit mode and an editor instance has been constructed,\nbut before it is rendered and inserted into the DOM. The cell and the\nconstructed cell editor instance are sent as event parameters when this\nevent is triggered.

    \n\n

    When this cell has finished switching to edit mode, a Backbone\nbackgrid:editing event is triggered from the model. The cell and the\nconstructed cell instance are also sent as parameters in the event.

    \n\n

    When the model triggers a backgrid:error event, it means the editor is\nunable to convert the current user input to an apprpriate value for the\nmodel's column, and an error CSS class is added to the cell accordingly.

    \n
    Removes the editor and re-render in display mode. ...

    Removes the editor and re-render in display mode.

    \n
    Backgrid.DatetimeCell
    ( options )
    Initializes this cell and the datetime formatter. ...

    Initializes this cell and the datetime formatter.

    \n

    Parameters

    Overrides: Backgrid.Cell.initialize

    Clean up this cell. ...

    Clean up this cell.

    \n

    Returns

    Render a text string in a table cell. ...

    Render a text string in a table cell. The text is converted from the\nmodel's raw value for this cell's column.

    \n

    Returns

    ( model, column )
    Put an error CSS class on the table cell. ...

    Put an error CSS class on the table cell.

    \n

    Parameters

    • model : Object
      \n
    • column : Object
      \n
    " +}); \ No newline at end of file diff --git a/api/output/Backgrid.DatetimeFormatter.js b/api/output/Backgrid.DatetimeFormatter.js new file mode 100644 index 00000000..b180e111 --- /dev/null +++ b/api/output/Backgrid.DatetimeFormatter.js @@ -0,0 +1,121 @@ +Ext.data.JsonP.Backgrid_DatetimeFormatter({ + "tagname": "class", + "name": "Backgrid.DatetimeFormatter", + "extends": "Backgrid.CellFormatter", + "mixins": [ + + ], + "alternateClassNames": [ + + ], + "aliases": { + }, + "singleton": false, + "requires": [ + + ], + "uses": [ + + ], + "enum": null, + "override": null, + "inheritable": null, + "inheritdoc": null, + "meta": { + }, + "private": null, + "id": "class-Backgrid.DatetimeFormatter", + "members": { + "cfg": [ + { + "name": "options", + "tagname": "cfg", + "owner": "Backgrid.DatetimeFormatter", + "meta": { + }, + "id": "cfg-options" + } + ], + "property": [ + + ], + "method": [ + { + "name": "constructor", + "tagname": "method", + "owner": "Backgrid.DatetimeFormatter", + "meta": { + }, + "id": "method-constructor" + }, + { + "name": "fromRaw", + "tagname": "method", + "owner": "Backgrid.DatetimeFormatter", + "meta": { + }, + "id": "method-fromRaw" + }, + { + "name": "toRaw", + "tagname": "method", + "owner": "Backgrid.DatetimeFormatter", + "meta": { + }, + "id": "method-toRaw" + } + ], + "event": [ + + ], + "css_var": [ + + ], + "css_mixin": [ + + ] + }, + "linenr": 225, + "files": [ + { + "filename": "formatter.js", + "href": null + } + ], + "html_meta": { + }, + "statics": { + "cfg": [ + + ], + "property": [ + + ], + "method": [ + + ], + "event": [ + + ], + "css_var": [ + + ], + "css_mixin": [ + + ] + }, + "component": false, + "superclasses": [ + "Backgrid.CellFormatter" + ], + "subclasses": [ + + ], + "mixedInto": [ + + ], + "parentMixins": [ + + ], + "html": "

    Hierarchy

    Backgrid.CellFormatter
    Backgrid.DatetimeFormatter

    Formatter to converts between various datetime formats.

    \n\n

    This class only understands ISO-8601 formatted datetime strings and UNIX\noffset (number of milliseconds since UNIX Epoch). See\nBackgrid.Extension.MomentFormatter if you need a much more flexible datetime\nformatter.

    \n
    Defined By

    Config options

    Backgrid.DatetimeFormatter
    : Object
    ...
    \n
    • includeDate : boolean (optional)

      Whether the values include the\ndate part.

      \n

      Defaults to: true

    • includeTime : boolean (optional)

      Whether the values include the\ntime part.

      \n

      Defaults to: true

    • includeMilli : boolean (optional)

      If includeTime is true,\nwhether to include the millisecond part, if it exists.

      \n

      Defaults to: false

    Defined By

    Methods

    Backgrid.DatetimeFormatter
    new( ) : Backgrid.DatetimeFormatter
    ...
    \n

    Returns

    Throws

    • Error

      If both includeDate and includeTime are false.

      \n

    Overrides: Backgrid.CellFormatter.constructor

    Backgrid.DatetimeFormatter
    ( rawData, model ) : string|null|undefined
    Converts an ISO-8601 formatted datetime string to a datetime string, date\nstring or a time string. ...

    Converts an ISO-8601 formatted datetime string to a datetime string, date\nstring or a time string. The timezone is ignored if supplied.

    \n

    Parameters

    • rawData : string
      \n
    • model : Backbone.Model

      Used for more complicated formatting

      \n

    Returns

    • string|null|undefined

      ISO-8601 string in UTC. Null and undefined\nvalues are returned as is.

      \n

    Overrides: Backgrid.CellFormatter.fromRaw

    Backgrid.DatetimeFormatter
    ( formattedData, model ) : string|undefined
    Converts an ISO-8601 formatted datetime string to a datetime string, date\nstring or a time string. ...

    Converts an ISO-8601 formatted datetime string to a datetime string, date\nstring or a time string. The timezone is ignored if supplied. This method\nparses the input values exactly the same way as\nBackgrid.Extension.MomentFormatter#fromRaw(), in addition to doing some\nsanity checks.

    \n

    Parameters

    • formattedData : string
      \n
    • model : Backbone.Model

      Used for more complicated formatting

      \n

    Returns

    • string|undefined

      ISO-8601 string in UTC. Undefined if a date is\nfound when includeDate is false, or a time is found when includeTime is\nfalse, or if includeDate is true and a date is not found, or if\nincludeTime is true and a time is not found.

      \n

    Overrides: Backgrid.CellFormatter.toRaw

    " +}); \ No newline at end of file diff --git a/api/output/Backgrid.EmailCell.js b/api/output/Backgrid.EmailCell.js new file mode 100644 index 00000000..95f9f4a6 --- /dev/null +++ b/api/output/Backgrid.EmailCell.js @@ -0,0 +1,181 @@ +Ext.data.JsonP.Backgrid_EmailCell({ + "tagname": "class", + "name": "Backgrid.EmailCell", + "extends": "Backgrid.StringCell", + "mixins": [ + + ], + "alternateClassNames": [ + + ], + "aliases": { + }, + "singleton": false, + "requires": [ + + ], + "uses": [ + + ], + "enum": null, + "override": null, + "inheritable": null, + "inheritdoc": null, + "meta": { + }, + "private": null, + "id": "class-Backgrid.EmailCell", + "members": { + "cfg": [ + + ], + "property": [ + { + "name": "className", + "tagname": "property", + "owner": "Backgrid.EmailCell", + "meta": { + }, + "id": "property-className" + }, + { + "name": "editor", + "tagname": "property", + "owner": "Backgrid.Cell", + "meta": { + }, + "id": "property-editor" + }, + { + "name": "events", + "tagname": "property", + "owner": "Backgrid.Cell", + "meta": { + }, + "id": "property-events" + }, + { + "name": "formatter", + "tagname": "property", + "owner": "Backgrid.Cell", + "meta": { + }, + "id": "property-formatter" + }, + { + "name": "tagName", + "tagname": "property", + "owner": "Backgrid.Cell", + "meta": { + }, + "id": "property-tagName" + } + ], + "method": [ + { + "name": "enterEditMode", + "tagname": "method", + "owner": "Backgrid.Cell", + "meta": { + }, + "id": "method-enterEditMode" + }, + { + "name": "exitEditMode", + "tagname": "method", + "owner": "Backgrid.Cell", + "meta": { + }, + "id": "method-exitEditMode" + }, + { + "name": "initialize", + "tagname": "method", + "owner": "Backgrid.Cell", + "meta": { + }, + "id": "method-initialize" + }, + { + "name": "remove", + "tagname": "method", + "owner": "Backgrid.Cell", + "meta": { + "chainable": true + }, + "id": "method-remove" + }, + { + "name": "render", + "tagname": "method", + "owner": "Backgrid.Cell", + "meta": { + "chainable": true + }, + "id": "method-render" + }, + { + "name": "renderError", + "tagname": "method", + "owner": "Backgrid.Cell", + "meta": { + }, + "id": "method-renderError" + } + ], + "event": [ + + ], + "css_var": [ + + ], + "css_mixin": [ + + ] + }, + "linenr": 414, + "files": [ + { + "filename": "cell.js", + "href": null + } + ], + "html_meta": { + }, + "statics": { + "cfg": [ + + ], + "property": [ + + ], + "method": [ + + ], + "event": [ + + ], + "css_var": [ + + ], + "css_mixin": [ + + ] + }, + "component": false, + "superclasses": [ + "Backbone.View", + "Backgrid.Cell", + "Backgrid.StringCell" + ], + "subclasses": [ + + ], + "mixedInto": [ + + ], + "parentMixins": [ + + ], + "html": "

    Hierarchy

    Backbone.View

    Like Backgrid.UriCell, EmailCell renders an HTML <a> anchor for the\nvalue. The href in the anchor is prefixed with mailto:. EmailCell will\ncomplain if the user enters a string that doesn't contain the @ sign.

    \n
    Defined By

    Properties

    Backgrid.EmailCell
    : String
    ...
    \n

    Defaults to: "email-cell"

    Overrides: Backgrid.StringCell.className

    The\ndefault editor for all cell instances of this class. ...

    The\ndefault editor for all cell instances of this class. This value must be a\nclass, it will be automatically instantiated upon entering edit mode.

    \n\n

    See Backgrid.CellEditor

    \n

    Defaults to: Backgrid.InputCellEditor

    ...
    \n

    Defaults to: {"click": "enterEditMode"}

    ...
    \n

    Defaults to: CellFormatter

    ...
    \n

    Defaults to: "td"

    Defined By

    Methods

    If this column is editable, a new CellEditor instance is instantiated with\nits required parameters. ...

    If this column is editable, a new CellEditor instance is instantiated with\nits required parameters. An editor CSS class is added to the cell upon\nentering edit mode.

    \n\n

    This method triggers a Backbone backgrid:edit event from the model when\nthe cell is entering edit mode and an editor instance has been constructed,\nbut before it is rendered and inserted into the DOM. The cell and the\nconstructed cell editor instance are sent as event parameters when this\nevent is triggered.

    \n\n

    When this cell has finished switching to edit mode, a Backbone\nbackgrid:editing event is triggered from the model. The cell and the\nconstructed cell instance are also sent as parameters in the event.

    \n\n

    When the model triggers a backgrid:error event, it means the editor is\nunable to convert the current user input to an apprpriate value for the\nmodel's column, and an error CSS class is added to the cell accordingly.

    \n
    Removes the editor and re-render in display mode. ...

    Removes the editor and re-render in display mode.

    \n
    Initializer. ...

    Initializer.

    \n

    Parameters

    Throws

    • ReferenceError

      If formatter is a string but a formatter class of\nsaid name cannot be found in the Backgrid module.

      \n
    Clean up this cell. ...

    Clean up this cell.

    \n

    Returns

    Render a text string in a table cell. ...

    Render a text string in a table cell. The text is converted from the\nmodel's raw value for this cell's column.

    \n

    Returns

    ( model, column )
    Put an error CSS class on the table cell. ...

    Put an error CSS class on the table cell.

    \n

    Parameters

    • model : Object
      \n
    • column : Object
      \n
    " +}); \ No newline at end of file diff --git a/api/output/Backgrid.EmailFormatter.js b/api/output/Backgrid.EmailFormatter.js new file mode 100644 index 00000000..2c39eb69 --- /dev/null +++ b/api/output/Backgrid.EmailFormatter.js @@ -0,0 +1,114 @@ +Ext.data.JsonP.Backgrid_EmailFormatter({ + "tagname": "class", + "name": "Backgrid.EmailFormatter", + "extends": "Backgrid.CellFormatter", + "mixins": [ + + ], + "alternateClassNames": [ + + ], + "aliases": { + }, + "singleton": false, + "requires": [ + + ], + "uses": [ + + ], + "enum": null, + "override": null, + "inheritable": null, + "inheritdoc": null, + "meta": { + }, + "private": null, + "id": "class-Backgrid.EmailFormatter", + "members": { + "cfg": [ + + ], + "property": [ + + ], + "method": [ + { + "name": "constructor", + "tagname": "method", + "owner": "Backgrid.EmailFormatter", + "meta": { + }, + "id": "method-constructor" + }, + { + "name": "fromRaw", + "tagname": "method", + "owner": "Backgrid.CellFormatter", + "meta": { + }, + "id": "method-fromRaw" + }, + { + "name": "toRaw", + "tagname": "method", + "owner": "Backgrid.EmailFormatter", + "meta": { + }, + "id": "method-toRaw" + } + ], + "event": [ + + ], + "css_var": [ + + ], + "css_mixin": [ + + ] + }, + "linenr": 389, + "files": [ + { + "filename": "formatter.js", + "href": null + } + ], + "html_meta": { + }, + "statics": { + "cfg": [ + + ], + "property": [ + + ], + "method": [ + + ], + "event": [ + + ], + "css_var": [ + + ], + "css_mixin": [ + + ] + }, + "component": false, + "superclasses": [ + "Backgrid.CellFormatter" + ], + "subclasses": [ + + ], + "mixedInto": [ + + ], + "parentMixins": [ + + ], + "html": "

    Hierarchy

    Backgrid.CellFormatter
    Backgrid.EmailFormatter

    Simple email validation formatter.

    \n
    Defined By

    Methods

    ( rawData, model ) : *
    Takes a raw value from a model and returns an optionally formatted string\nfor display. ...

    Takes a raw value from a model and returns an optionally formatted string\nfor display. The default implementation simply returns the supplied value\nas is without any type conversion.

    \n

    Parameters

    • rawData : *
      \n
    • model : Backbone.Model

      Used for more complicated formatting

      \n

    Returns

    • *
      \n
    Backgrid.EmailFormatter
    ( formattedData, model ) : string|undefined
    Return the input if it is a string that contains an '@' character and if\nthe strings before and after '@' are non-empty. ...

    Return the input if it is a string that contains an '@' character and if\nthe strings before and after '@' are non-empty. If the input does not\nvalidate, undefined is returned.

    \n

    Parameters

    • formattedData : *
      \n
    • model : Backbone.Model

      Used for more complicated formatting

      \n

    Returns

    • string|undefined
      \n

    Overrides: Backgrid.CellFormatter.toRaw

    " +}); \ No newline at end of file diff --git a/api/output/Backgrid.EmptyRow.js b/api/output/Backgrid.EmptyRow.js new file mode 100644 index 00000000..ea933a94 --- /dev/null +++ b/api/output/Backgrid.EmptyRow.js @@ -0,0 +1,122 @@ +Ext.data.JsonP.Backgrid_EmptyRow({ + "tagname": "class", + "name": "Backgrid.EmptyRow", + "extends": "Backbone.View", + "mixins": [ + + ], + "alternateClassNames": [ + + ], + "aliases": { + }, + "singleton": false, + "requires": [ + + ], + "uses": [ + + ], + "enum": null, + "override": null, + "inheritable": null, + "inheritdoc": null, + "meta": { + }, + "private": null, + "id": "class-Backgrid.EmptyRow", + "members": { + "cfg": [ + + ], + "property": [ + { + "name": "emptyText", + "tagname": "property", + "owner": "Backgrid.EmptyRow", + "meta": { + }, + "id": "property-emptyText" + }, + { + "name": "tagName", + "tagname": "property", + "owner": "Backgrid.EmptyRow", + "meta": { + }, + "id": "property-tagName" + } + ], + "method": [ + { + "name": "initialize", + "tagname": "method", + "owner": "Backgrid.EmptyRow", + "meta": { + }, + "id": "method-initialize" + }, + { + "name": "render", + "tagname": "method", + "owner": "Backgrid.EmptyRow", + "meta": { + "chainable": true + }, + "id": "method-render" + } + ], + "event": [ + + ], + "css_var": [ + + ], + "css_mixin": [ + + ] + }, + "linenr": 117, + "files": [ + { + "filename": "row.js", + "href": null + } + ], + "html_meta": { + }, + "statics": { + "cfg": [ + + ], + "property": [ + + ], + "method": [ + + ], + "event": [ + + ], + "css_var": [ + + ], + "css_mixin": [ + + ] + }, + "component": false, + "superclasses": [ + "Backbone.View" + ], + "subclasses": [ + + ], + "mixedInto": [ + + ], + "parentMixins": [ + + ], + "html": "

    Hierarchy

    Backbone.View
    Backgrid.EmptyRow

    EmptyRow is a simple container view that takes a list of column and render a\nrow with a single column.

    \n
    Defined By

    Properties

    Backgrid.EmptyRow
    emptyText : string|function(): string
    \n
    \n
    Backgrid.EmptyRow
    : String
    ...
    \n

    Defaults to: "tr"

    Defined By

    Methods

    Backgrid.EmptyRow
    ( options )
    Initializer. ...

    Initializer.

    \n

    Parameters

    • options : Object
      \n
    Backgrid.EmptyRow
    ( ) : Backgrid.EmptyRowchainable
    Renders an empty row. ...

    Renders an empty row.

    \n

    Returns

    " +}); \ No newline at end of file diff --git a/api/output/Backgrid.Footer.js b/api/output/Backgrid.Footer.js new file mode 100644 index 00000000..6ab94631 --- /dev/null +++ b/api/output/Backgrid.Footer.js @@ -0,0 +1,107 @@ +Ext.data.JsonP.Backgrid_Footer({ + "tagname": "class", + "name": "Backgrid.Footer", + "extends": "Backbone.View", + "mixins": [ + + ], + "alternateClassNames": [ + + ], + "aliases": { + }, + "singleton": false, + "requires": [ + + ], + "uses": [ + + ], + "enum": null, + "override": null, + "inheritable": null, + "inheritdoc": null, + "meta": { + "abstract": true + }, + "private": null, + "id": "class-Backgrid.Footer", + "members": { + "cfg": [ + + ], + "property": [ + { + "name": "tagName", + "tagname": "property", + "owner": "Backgrid.Footer", + "meta": { + }, + "id": "property-tagName" + } + ], + "method": [ + { + "name": "initialize", + "tagname": "method", + "owner": "Backgrid.Footer", + "meta": { + }, + "id": "method-initialize" + } + ], + "event": [ + + ], + "css_var": [ + + ], + "css_mixin": [ + + ] + }, + "linenr": 9, + "files": [ + { + "filename": "footer.js", + "href": null + } + ], + "html_meta": { + "abstract": null + }, + "statics": { + "cfg": [ + + ], + "property": [ + + ], + "method": [ + + ], + "event": [ + + ], + "css_var": [ + + ], + "css_mixin": [ + + ] + }, + "component": false, + "superclasses": [ + "Backbone.View" + ], + "subclasses": [ + + ], + "mixedInto": [ + + ], + "parentMixins": [ + + ], + "html": "

    Hierarchy

    Backbone.View
    Backgrid.Footer

    A Footer is a generic class that only defines a default tag tfoot and\nnumber of required parameters in the initializer.

    \n
    Defined By

    Properties

    Backgrid.Footer
    : String
    ...
    \n

    Defaults to: "tfoot"

    Defined By

    Methods

    Backgrid.Footer
    ( options )
    Initializer. ...

    Initializer.

    \n

    Parameters

    • options : Object
      \n

    Throws

    • TypeError

      If options.columns or options.collection is undefined.

      \n
    " +}); \ No newline at end of file diff --git a/api/output/Backgrid.Grid.js b/api/output/Backgrid.Grid.js new file mode 100644 index 00000000..ae799e0e --- /dev/null +++ b/api/output/Backgrid.Grid.js @@ -0,0 +1,200 @@ +Ext.data.JsonP.Backgrid_Grid({ + "tagname": "class", + "name": "Backgrid.Grid", + "extends": "Backbone.View", + "mixins": [ + + ], + "alternateClassNames": [ + + ], + "aliases": { + }, + "singleton": false, + "requires": [ + + ], + "uses": [ + + ], + "enum": null, + "override": null, + "inheritable": null, + "inheritdoc": null, + "meta": { + }, + "private": null, + "id": "class-Backgrid.Grid", + "members": { + "cfg": [ + + ], + "property": [ + { + "name": "body", + "tagname": "property", + "owner": "Backgrid.Grid", + "meta": { + }, + "id": "property-body" + }, + { + "name": "className", + "tagname": "property", + "owner": "Backgrid.Grid", + "meta": { + }, + "id": "property-className" + }, + { + "name": "footer", + "tagname": "property", + "owner": "Backgrid.Grid", + "meta": { + }, + "id": "property-footer" + }, + { + "name": "header", + "tagname": "property", + "owner": "Backgrid.Grid", + "meta": { + }, + "id": "property-header" + }, + { + "name": "tagName", + "tagname": "property", + "owner": "Backgrid.Grid", + "meta": { + }, + "id": "property-tagName" + } + ], + "method": [ + { + "name": "initialize", + "tagname": "method", + "owner": "Backgrid.Grid", + "meta": { + }, + "id": "method-initialize" + }, + { + "name": "insertColumn", + "tagname": "method", + "owner": "Backgrid.Grid", + "meta": { + "chainable": true + }, + "id": "method-insertColumn" + }, + { + "name": "insertRow", + "tagname": "method", + "owner": "Backgrid.Grid", + "meta": { + "chainable": true + }, + "id": "method-insertRow" + }, + { + "name": "remove", + "tagname": "method", + "owner": "Backgrid.Grid", + "meta": { + "chainable": true + }, + "id": "method-remove" + }, + { + "name": "removeColumn", + "tagname": "method", + "owner": "Backgrid.Grid", + "meta": { + "chainable": true + }, + "id": "method-removeColumn" + }, + { + "name": "removeRow", + "tagname": "method", + "owner": "Backgrid.Grid", + "meta": { + "chainable": true + }, + "id": "method-removeRow" + }, + { + "name": "render", + "tagname": "method", + "owner": "Backgrid.Grid", + "meta": { + "chainable": true + }, + "id": "method-render" + }, + { + "name": "sort", + "tagname": "method", + "owner": "Backgrid.Grid", + "meta": { + "chainable": true + }, + "id": "method-sort" + } + ], + "event": [ + + ], + "css_var": [ + + ], + "css_mixin": [ + + ] + }, + "linenr": 9, + "files": [ + { + "filename": "grid.js", + "href": null + } + ], + "html_meta": { + }, + "statics": { + "cfg": [ + + ], + "property": [ + + ], + "method": [ + + ], + "event": [ + + ], + "css_var": [ + + ], + "css_mixin": [ + + ] + }, + "component": false, + "superclasses": [ + "Backbone.View" + ], + "subclasses": [ + + ], + "mixedInto": [ + + ], + "parentMixins": [ + + ], + "html": "

    Hierarchy

    Backbone.View
    Backgrid.Grid

    Grid represents a data grid that has a header, body and an optional footer.

    \n\n

    By default, a Grid treats each model in a collection as a row, and each\nattribute in a model as a column. To render a grid you must provide a list of\ncolumn metadata and a collection to the Grid constructor. Just like any\nBackbone.View class, the grid is rendered as a DOM node fragment when you\ncall render().

    \n\n
    var grid = Backgrid.Grid({\n  columns: [{ name: \"id\", label: \"ID\", type: \"string\" },\n   // ...\n  ],\n  collections: books\n});\n\n$(\"#table-container\").append(grid.render().el);\n
    \n\n

    Optionally, if you want to customize the rendering of the grid's header and\nfooter, you may choose to extend Backgrid.Header and Backgrid.Footer, and\nthen supply that class or an instance of that class to the Grid constructor.\nSee the documentation for Header and Footer for further details.

    \n\n
    var grid = Backgrid.Grid({\n  columns: [{ name: \"id\", label: \"ID\", type: \"string\" }],\n  collections: books,\n  header: Backgrid.Header.extend({\n       //...\n  }),\n  footer: Backgrid.Paginator\n});\n
    \n\n

    Finally, if you want to override how the rows are rendered in the table body,\nyou can supply a Body subclass as the body attribute that uses a different\nRow class. See:

    \n\n\n\n
    Defined By

    Properties

    Backgrid.Grid
    body : Object
    \n
    \n
    Backgrid.Grid
    : String
    ...
    \n

    Defaults to: "backgrid"

    Backgrid.Grid
    header : Object
    \n
    \n
    Backgrid.Grid
    : String
    ...
    \n

    Defaults to: "table"

    Defined By

    Methods

    Backgrid.Grid
    ( options )
    Initializes a Grid instance. ...

    Initializes a Grid instance.

    \n

    Parameters

    • options : Object
      \n
      • columns : Backbone.Collection.<Backgrid.Columns>|Array.<Backgrid.Column>|Array.<Object>

        Column metadata.

        \n
      • collection : Backbone.Collection

        The collection of tabular model data to display.

        \n
      • header : Backgrid.Header (optional)

        An optional Header class to override the default.

        \n

        Defaults to: Backgrid.Header

      • body : Backgrid.Body (optional)

        An optional Body class to override the default.

        \n

        Defaults to: Backgrid.Body

      • row : Backgrid.Row (optional)

        An optional Row class to override the default.

        \n

        Defaults to: Backgrid.Row

      • footer : Backgrid.Footer (optional)

        An optional Footer class.

        \n

        Defaults to: Backgrid.Footer

    Backgrid.Grid
    ( [options] ) : Backgrid.Gridchainable
    Delegates to Backgrid.Columns#add for adding a column. ...

    Delegates to Backgrid.Columns#add for adding a column. Subviews can listen\nto the add event from their internal columns if rerendering needs to\nhappen.

    \n

    Parameters

    • options : Object (optional)

      Options for Backgrid.Columns#add.

      \n

    Returns

    Backgrid.Grid
    ( ) : Backgrid.Gridchainable
    Delegates to Backgrid.Body.insertRow. ...

    Delegates to Backgrid.Body.insertRow.

    \n

    Returns

    Backgrid.Grid
    ( ) : Backgrid.Gridchainable
    Clean up this grid and its subviews. ...

    Clean up this grid and its subviews.

    \n

    Returns

    Backgrid.Grid
    ( [options] ) : Backgrid.Gridchainable
    Delegates to Backgrid.Columns#remove for removing a column. ...

    Delegates to Backgrid.Columns#remove for removing a column. Subviews can\nlisten to the remove event from the internal columns if rerendering\nneeds to happen.

    \n

    Parameters

    • options : Object (optional)

      Options for Backgrid.Columns#remove.

      \n

    Returns

    Backgrid.Grid
    ( ) : Backgrid.Gridchainable
    Delegates to Backgrid.Body.removeRow. ...

    Delegates to Backgrid.Body.removeRow.

    \n

    Returns

    Backgrid.Grid
    ( ) : Backgrid.Gridchainable
    Renders the grid's header, then footer, then finally the body. ...

    Renders the grid's header, then footer, then finally the body. Triggers a\nBackbone backgrid:rendered event along with a reference to the grid when\nthe it has successfully been rendered.

    \n

    Returns

    Backgrid.Grid
    ( ) : Backgrid.Gridchainable
    Delegates to Backgrid.Body.sort. ...

    Delegates to Backgrid.Body.sort.

    \n

    Returns

    " +}); \ No newline at end of file diff --git a/api/output/Backgrid.Header.js b/api/output/Backgrid.Header.js new file mode 100644 index 00000000..0e50dc72 --- /dev/null +++ b/api/output/Backgrid.Header.js @@ -0,0 +1,123 @@ +Ext.data.JsonP.Backgrid_Header({ + "tagname": "class", + "name": "Backgrid.Header", + "extends": "Backbone.View", + "mixins": [ + + ], + "alternateClassNames": [ + + ], + "aliases": { + }, + "singleton": false, + "requires": [ + + ], + "uses": [ + + ], + "enum": null, + "override": null, + "inheritable": null, + "inheritdoc": null, + "meta": { + }, + "private": null, + "id": "class-Backgrid.Header", + "members": { + "cfg": [ + + ], + "property": [ + { + "name": "tagName", + "tagname": "property", + "owner": "Backgrid.Header", + "meta": { + }, + "id": "property-tagName" + } + ], + "method": [ + { + "name": "initialize", + "tagname": "method", + "owner": "Backgrid.Header", + "meta": { + }, + "id": "method-initialize" + }, + { + "name": "remove", + "tagname": "method", + "owner": "Backgrid.Header", + "meta": { + "chainable": true + }, + "id": "method-remove" + }, + { + "name": "render", + "tagname": "method", + "owner": "Backgrid.Header", + "meta": { + "chainable": true + }, + "id": "method-render" + } + ], + "event": [ + + ], + "css_var": [ + + ], + "css_mixin": [ + + ] + }, + "linenr": 174, + "files": [ + { + "filename": "header.js", + "href": null + } + ], + "html_meta": { + }, + "statics": { + "cfg": [ + + ], + "property": [ + + ], + "method": [ + + ], + "event": [ + + ], + "css_var": [ + + ], + "css_mixin": [ + + ] + }, + "component": false, + "superclasses": [ + "Backbone.View" + ], + "subclasses": [ + + ], + "mixedInto": [ + + ], + "parentMixins": [ + + ], + "html": "

    Hierarchy

    Backbone.View
    Backgrid.Header

    Header is a special structural view class that renders a table head with a\nsingle row of header cells.

    \n
    Defined By

    Properties

    Backgrid.Header
    : String
    ...
    \n

    Defaults to: "thead"

    Defined By

    Methods

    Backgrid.Header
    ( options )
    Initializer. ...

    Initializer. Initializes this table head view to contain a single header\nrow view.

    \n

    Parameters

    • options : Object
      \n
      • columns : Backbone.Collection.<Backgrid.Column>|Array.<Backgrid.Column>|Array.<Object>

        Column metadata.

        \n
      • model : Backbone.Model

        The model instance to render.

        \n

    Throws

    • TypeError

      If options.columns or options.model is undefined.

      \n
    Backgrid.Header
    ( ) : Backgrid.Headerchainable
    Clean up this header and its row. ...

    Clean up this header and its row.

    \n

    Returns

    Backgrid.Header
    ( ) : Backgrid.Headerchainable
    Renders this table head with a single row of header cells. ...

    Renders this table head with a single row of header cells.

    \n

    Returns

    " +}); \ No newline at end of file diff --git a/api/output/Backgrid.HeaderCell.js b/api/output/Backgrid.HeaderCell.js new file mode 100644 index 00000000..dc665e06 --- /dev/null +++ b/api/output/Backgrid.HeaderCell.js @@ -0,0 +1,146 @@ +Ext.data.JsonP.Backgrid_HeaderCell({ + "tagname": "class", + "name": "Backgrid.HeaderCell", + "extends": "Backbone.View", + "mixins": [ + + ], + "alternateClassNames": [ + + ], + "aliases": { + }, + "singleton": false, + "requires": [ + + ], + "uses": [ + + ], + "enum": null, + "override": null, + "inheritable": null, + "inheritdoc": null, + "meta": { + }, + "private": null, + "id": "class-Backgrid.HeaderCell", + "members": { + "cfg": [ + + ], + "property": [ + { + "name": "events", + "tagname": "property", + "owner": "Backgrid.HeaderCell", + "meta": { + }, + "id": "property-events" + }, + { + "name": "tagName", + "tagname": "property", + "owner": "Backgrid.HeaderCell", + "meta": { + }, + "id": "property-tagName" + } + ], + "method": [ + { + "name": "initialize", + "tagname": "method", + "owner": "Backgrid.HeaderCell", + "meta": { + }, + "id": "method-initialize" + }, + { + "name": "onClick", + "tagname": "method", + "owner": "Backgrid.HeaderCell", + "meta": { + }, + "id": "method-onClick" + }, + { + "name": "removeCellDirection", + "tagname": "method", + "owner": "Backgrid.HeaderCell", + "meta": { + }, + "id": "method-removeCellDirection" + }, + { + "name": "render", + "tagname": "method", + "owner": "Backgrid.HeaderCell", + "meta": { + "chainable": true + }, + "id": "method-render" + }, + { + "name": "setCellDirection", + "tagname": "method", + "owner": "Backgrid.HeaderCell", + "meta": { + }, + "id": "method-setCellDirection" + } + ], + "event": [ + + ], + "css_var": [ + + ], + "css_mixin": [ + + ] + }, + "linenr": 9, + "files": [ + { + "filename": "header.js", + "href": null + } + ], + "html_meta": { + }, + "statics": { + "cfg": [ + + ], + "property": [ + + ], + "method": [ + + ], + "event": [ + + ], + "css_var": [ + + ], + "css_mixin": [ + + ] + }, + "component": false, + "superclasses": [ + "Backbone.View" + ], + "subclasses": [ + + ], + "mixedInto": [ + + ], + "parentMixins": [ + + ], + "html": "

    Hierarchy

    Backbone.View
    Backgrid.HeaderCell

    HeaderCell is a special cell class that renders a column header cell. If the\ncolumn is sortable, a sorter is also rendered and will trigger a table\nrefresh after sorting.

    \n
    Defined By

    Properties

    Backgrid.HeaderCell
    : Object
    ...
    \n

    Defaults to: {"click a": "onClick"}

    Backgrid.HeaderCell
    : String
    ...
    \n

    Defaults to: "th"

    Defined By

    Methods

    Backgrid.HeaderCell
    ( options )
    Initializer. ...

    Initializer.

    \n

    Parameters

    Throws

    • TypeError

      If options.column or options.collection is undefined.

      \n
    Backgrid.HeaderCell
    ( e )
    Event handler for the click event on the cell's anchor. ...

    Event handler for the click event on the cell's anchor. If the column is\nsortable, clicking on the anchor will cycle through 3 sorting orderings -\nascending, descending, and default.

    \n

    Parameters

    • e : Object
      \n
    Backgrid.HeaderCell
    ( )
    Event handler for the collection's sort event. ...

    Event handler for the collection's sort event. Removes all the CSS\ndirection classes.

    \n
    Backgrid.HeaderCell
    ( ) : Backgrid.HeaderCellchainable
    Renders a header cell with a sorter, a label, and a class name for this\ncolumn. ...

    Renders a header cell with a sorter, a label, and a class name for this\ncolumn.

    \n

    Returns

    Backgrid.HeaderCell
    ( column, direction )
    Event handler for the column's change:direction event. ...

    Event handler for the column's change:direction event. If this\nHeaderCell's column is being sorted on, it applies the direction given as a\nCSS class to the header cell. Removes all the CSS direction classes\notherwise.

    \n

    Parameters

    • column : Object
      \n
    • direction : Object
      \n
    " +}); \ No newline at end of file diff --git a/api/output/Backgrid.HeaderRow.js b/api/output/Backgrid.HeaderRow.js new file mode 100644 index 00000000..8a1b1779 --- /dev/null +++ b/api/output/Backgrid.HeaderRow.js @@ -0,0 +1,133 @@ +Ext.data.JsonP.Backgrid_HeaderRow({ + "tagname": "class", + "name": "Backgrid.HeaderRow", + "extends": "Backgrid.Row", + "mixins": [ + + ], + "alternateClassNames": [ + + ], + "aliases": { + }, + "singleton": false, + "requires": [ + + ], + "uses": [ + + ], + "enum": null, + "override": null, + "inheritable": null, + "inheritdoc": null, + "meta": { + }, + "private": null, + "id": "class-Backgrid.HeaderRow", + "members": { + "cfg": [ + + ], + "property": [ + { + "name": "tagName", + "tagname": "property", + "owner": "Backgrid.Row", + "meta": { + }, + "id": "property-tagName" + } + ], + "method": [ + { + "name": "initialize", + "tagname": "method", + "owner": "Backgrid.HeaderRow", + "meta": { + }, + "id": "method-initialize" + }, + { + "name": "makeCell", + "tagname": "method", + "owner": "Backgrid.Row", + "meta": { + "protected": true + }, + "id": "method-makeCell" + }, + { + "name": "remove", + "tagname": "method", + "owner": "Backgrid.Row", + "meta": { + "chainable": true + }, + "id": "method-remove" + }, + { + "name": "render", + "tagname": "method", + "owner": "Backgrid.Row", + "meta": { + "chainable": true + }, + "id": "method-render" + } + ], + "event": [ + + ], + "css_var": [ + + ], + "css_mixin": [ + + ] + }, + "linenr": 137, + "files": [ + { + "filename": "header.js", + "href": null + } + ], + "html_meta": { + }, + "statics": { + "cfg": [ + + ], + "property": [ + + ], + "method": [ + + ], + "event": [ + + ], + "css_var": [ + + ], + "css_mixin": [ + + ] + }, + "component": false, + "superclasses": [ + "Backbone.View", + "Backgrid.Row" + ], + "subclasses": [ + + ], + "mixedInto": [ + + ], + "parentMixins": [ + + ], + "html": "

    Hierarchy

    Backbone.View
    Backgrid.Row
    Backgrid.HeaderRow

    HeaderRow is a controller for a row of header cells.

    \n
    Defined By

    Properties

    ...
    \n

    Defaults to: "tr"

    Defined By

    Methods

    Backgrid.HeaderRow
    ( options )
    Initializer. ...

    Initializer.

    \n

    Parameters

    • options : Object
      \n
      • columns : Backbone.Collection.<Backgrid.Column>|Array.<Backgrid.Column>|Array.<Object>
      • headerCell : Backgrid.HeaderCell (optional)

        Customized default\nHeaderCell for all the columns. Supply a HeaderCell class or instance to a\nthe headerCell key in a column definition for column-specific header\nrendering.

        \n

    Throws

    • TypeError

      If options.columns or options.collection is undefined.

      \n

    Overrides: Backgrid.Row.initialize

    ( column, options ) : Backgrid.Cellprotected
    Factory method for making a cell. ...

    Factory method for making a cell. Used by initialize internally. Override\nthis to provide an appropriate cell instance for a custom Row subclass.

    \n

    Parameters

    Returns

    Clean up this row and its cells. ...

    Clean up this row and its cells.

    \n

    Returns

    Renders a row of cells for this row's model. ...

    Renders a row of cells for this row's model.

    \n

    Returns

    " +}); \ No newline at end of file diff --git a/api/output/Backgrid.InputCellEditor.js b/api/output/Backgrid.InputCellEditor.js new file mode 100644 index 00000000..f6573bbe --- /dev/null +++ b/api/output/Backgrid.InputCellEditor.js @@ -0,0 +1,148 @@ +Ext.data.JsonP.Backgrid_InputCellEditor({ + "tagname": "class", + "name": "Backgrid.InputCellEditor", + "extends": "Backgrid.CellEditor", + "mixins": [ + + ], + "alternateClassNames": [ + + ], + "aliases": { + }, + "singleton": false, + "requires": [ + + ], + "uses": [ + + ], + "enum": null, + "override": null, + "inheritable": null, + "inheritdoc": null, + "meta": { + }, + "private": null, + "id": "class-Backgrid.InputCellEditor", + "members": { + "cfg": [ + + ], + "property": [ + { + "name": "attributes", + "tagname": "property", + "owner": "Backgrid.InputCellEditor", + "meta": { + }, + "id": "property-attributes" + }, + { + "name": "events", + "tagname": "property", + "owner": "Backgrid.InputCellEditor", + "meta": { + }, + "id": "property-events" + }, + { + "name": "tagName", + "tagname": "property", + "owner": "Backgrid.InputCellEditor", + "meta": { + }, + "id": "property-tagName" + } + ], + "method": [ + { + "name": "initialize", + "tagname": "method", + "owner": "Backgrid.InputCellEditor", + "meta": { + }, + "id": "method-initialize" + }, + { + "name": "postRender", + "tagname": "method", + "owner": "Backgrid.CellEditor", + "meta": { + "chainable": true + }, + "id": "method-postRender" + }, + { + "name": "render", + "tagname": "method", + "owner": "Backgrid.InputCellEditor", + "meta": { + "chainable": true + }, + "id": "method-render" + }, + { + "name": "saveOrCancel", + "tagname": "method", + "owner": "Backgrid.InputCellEditor", + "meta": { + }, + "id": "method-saveOrCancel" + } + ], + "event": [ + + ], + "css_var": [ + + ], + "css_mixin": [ + + ] + }, + "linenr": 54, + "files": [ + { + "filename": "cell.js", + "href": null + } + ], + "html_meta": { + }, + "statics": { + "cfg": [ + + ], + "property": [ + + ], + "method": [ + + ], + "event": [ + + ], + "css_var": [ + + ], + "css_mixin": [ + + ] + }, + "component": false, + "superclasses": [ + "Backbone.View", + "Backgrid.CellEditor" + ], + "subclasses": [ + + ], + "mixedInto": [ + + ], + "parentMixins": [ + + ], + "html": "

    Hierarchy

    Backbone.View
    Backgrid.CellEditor
    Backgrid.InputCellEditor

    InputCellEditor the cell editor type used by most core cell types. This cell\neditor renders a text input box as its editor. The input will render a\nplaceholder if the value is empty on supported browsers.

    \n
    Defined By

    Properties

    Backgrid.InputCellEditor
    : Object
    ...
    \n

    Defaults to: {type: "text"}

    Backgrid.InputCellEditor
    : Object
    ...
    \n

    Defaults to: {"blur": "saveOrCancel", "keydown": "saveOrCancel"}

    Backgrid.InputCellEditor
    : String
    ...
    \n

    Defaults to: "input"

    Defined By

    Methods

    Backgrid.InputCellEditor
    ( options )
    Initializer. ...

    Initializer. Removes this el from the DOM when a done event is\ntriggered.

    \n

    Parameters

    Overrides: Backgrid.CellEditor.initialize

    Post-rendering setup and initialization. ...

    Post-rendering setup and initialization. Focuses the cell editor's el in\nthis default implementation. Should be called by Cell classes after\ncalling Backgrid.CellEditor#render.

    \n

    Parameters

    • model : Object
      \n
    • column : Object
      \n

    Returns

    Backgrid.InputCellEditor
    ( ) : Backgrid.InputCellEditorchainable
    Renders a text input with the cell value formatted for display, if it\nexists. ...

    Renders a text input with the cell value formatted for display, if it\nexists.

    \n

    Returns

    Backgrid.InputCellEditor
    ( e )
    If the key pressed is enter, tab, up, or down, converts the value\nin the editor to a raw value for saving into the mo...

    If the key pressed is enter, tab, up, or down, converts the value\nin the editor to a raw value for saving into the model using the formatter.

    \n\n

    If the key pressed is esc the changes are undone.

    \n\n

    If the editor goes out of focus (blur) but the value is invalid, the\nevent is intercepted and cancelled so the cell remains in focus pending for\nfurther action. The changes are saved otherwise.

    \n\n

    Triggers a Backbone backgrid:edited event from the model when successful,\nand backgrid:error if the value cannot be converted. Classes listening to\nthe error event, usually the Cell classes, should respond appropriately,\nusually by rendering some kind of error feedback.

    \n

    Parameters

    • e : Event
      \n
    " +}); \ No newline at end of file diff --git a/api/output/Backgrid.IntegerCell.js b/api/output/Backgrid.IntegerCell.js new file mode 100644 index 00000000..a0cd03f0 --- /dev/null +++ b/api/output/Backgrid.IntegerCell.js @@ -0,0 +1,205 @@ +Ext.data.JsonP.Backgrid_IntegerCell({ + "tagname": "class", + "name": "Backgrid.IntegerCell", + "extends": "Backgrid.NumberCell", + "mixins": [ + + ], + "alternateClassNames": [ + + ], + "aliases": { + }, + "singleton": false, + "requires": [ + + ], + "uses": [ + + ], + "enum": null, + "override": null, + "inheritable": null, + "inheritdoc": null, + "meta": { + }, + "private": null, + "id": "class-Backgrid.IntegerCell", + "members": { + "cfg": [ + + ], + "property": [ + { + "name": "className", + "tagname": "property", + "owner": "Backgrid.IntegerCell", + "meta": { + }, + "id": "property-className" + }, + { + "name": "decimalSeparator", + "tagname": "property", + "owner": "Backgrid.NumberCell", + "meta": { + }, + "id": "property-decimalSeparator" + }, + { + "name": "decimals", + "tagname": "property", + "owner": "Backgrid.IntegerCell", + "meta": { + }, + "id": "property-decimals" + }, + { + "name": "editor", + "tagname": "property", + "owner": "Backgrid.Cell", + "meta": { + }, + "id": "property-editor" + }, + { + "name": "events", + "tagname": "property", + "owner": "Backgrid.Cell", + "meta": { + }, + "id": "property-events" + }, + { + "name": "formatter", + "tagname": "property", + "owner": "Backgrid.NumberCell", + "meta": { + }, + "id": "property-formatter" + }, + { + "name": "orderSeparator", + "tagname": "property", + "owner": "Backgrid.NumberCell", + "meta": { + }, + "id": "property-orderSeparator" + }, + { + "name": "tagName", + "tagname": "property", + "owner": "Backgrid.Cell", + "meta": { + }, + "id": "property-tagName" + } + ], + "method": [ + { + "name": "enterEditMode", + "tagname": "method", + "owner": "Backgrid.Cell", + "meta": { + }, + "id": "method-enterEditMode" + }, + { + "name": "exitEditMode", + "tagname": "method", + "owner": "Backgrid.Cell", + "meta": { + }, + "id": "method-exitEditMode" + }, + { + "name": "initialize", + "tagname": "method", + "owner": "Backgrid.NumberCell", + "meta": { + }, + "id": "method-initialize" + }, + { + "name": "remove", + "tagname": "method", + "owner": "Backgrid.Cell", + "meta": { + "chainable": true + }, + "id": "method-remove" + }, + { + "name": "render", + "tagname": "method", + "owner": "Backgrid.Cell", + "meta": { + "chainable": true + }, + "id": "method-render" + }, + { + "name": "renderError", + "tagname": "method", + "owner": "Backgrid.Cell", + "meta": { + }, + "id": "method-renderError" + } + ], + "event": [ + + ], + "css_var": [ + + ], + "css_mixin": [ + + ] + }, + "linenr": 487, + "files": [ + { + "filename": "cell.js", + "href": null + } + ], + "html_meta": { + }, + "statics": { + "cfg": [ + + ], + "property": [ + + ], + "method": [ + + ], + "event": [ + + ], + "css_var": [ + + ], + "css_mixin": [ + + ] + }, + "component": false, + "superclasses": [ + "Backbone.View", + "Backgrid.Cell", + "Backgrid.NumberCell" + ], + "subclasses": [ + + ], + "mixedInto": [ + + ], + "parentMixins": [ + + ], + "html": "

    Hierarchy

    Backbone.View

    An IntegerCell is just a Backgrid.NumberCell with 0 decimals. If a floating\npoint number is supplied, the number is simply rounded the usual way when\ndisplayed.

    \n
    Defined By

    Properties

    Backgrid.IntegerCell
    : String
    ...
    \n

    Defaults to: "integer-cell"

    Overrides: Backgrid.NumberCell.className

    ...
    \n

    Defaults to: '.'

    Backgrid.IntegerCell
    : number
    Must be an integer. ...

    Must be an integer.

    \n

    Defaults to: 0

    Overrides: Backgrid.NumberCell.decimals

    The\ndefault editor for all cell instances of this class. ...

    The\ndefault editor for all cell instances of this class. This value must be a\nclass, it will be automatically instantiated upon entering edit mode.

    \n\n

    See Backgrid.CellEditor

    \n

    Defaults to: Backgrid.InputCellEditor

    ...
    \n

    Defaults to: {"click": "enterEditMode"}

    ...
    \n

    Defaults to: Backgrid.NumberFormatter

    Overrides: Backgrid.Cell.formatter

    ...
    \n

    Defaults to: ','

    ...
    \n

    Defaults to: "td"

    Defined By

    Methods

    If this column is editable, a new CellEditor instance is instantiated with\nits required parameters. ...

    If this column is editable, a new CellEditor instance is instantiated with\nits required parameters. An editor CSS class is added to the cell upon\nentering edit mode.

    \n\n

    This method triggers a Backbone backgrid:edit event from the model when\nthe cell is entering edit mode and an editor instance has been constructed,\nbut before it is rendered and inserted into the DOM. The cell and the\nconstructed cell editor instance are sent as event parameters when this\nevent is triggered.

    \n\n

    When this cell has finished switching to edit mode, a Backbone\nbackgrid:editing event is triggered from the model. The cell and the\nconstructed cell instance are also sent as parameters in the event.

    \n\n

    When the model triggers a backgrid:error event, it means the editor is\nunable to convert the current user input to an apprpriate value for the\nmodel's column, and an error CSS class is added to the cell accordingly.

    \n
    Removes the editor and re-render in display mode. ...

    Removes the editor and re-render in display mode.

    \n
    Initializes this cell and the number formatter. ...

    Initializes this cell and the number formatter.

    \n

    Parameters

    Overrides: Backgrid.Cell.initialize

    Clean up this cell. ...

    Clean up this cell.

    \n

    Returns

    Render a text string in a table cell. ...

    Render a text string in a table cell. The text is converted from the\nmodel's raw value for this cell's column.

    \n

    Returns

    ( model, column )
    Put an error CSS class on the table cell. ...

    Put an error CSS class on the table cell.

    \n

    Parameters

    • model : Object
      \n
    • column : Object
      \n
    " +}); \ No newline at end of file diff --git a/api/output/Backgrid.NumberCell.js b/api/output/Backgrid.NumberCell.js new file mode 100644 index 00000000..5ae1207e --- /dev/null +++ b/api/output/Backgrid.NumberCell.js @@ -0,0 +1,205 @@ +Ext.data.JsonP.Backgrid_NumberCell({ + "tagname": "class", + "name": "Backgrid.NumberCell", + "extends": "Backgrid.Cell", + "mixins": [ + + ], + "alternateClassNames": [ + + ], + "aliases": { + }, + "singleton": false, + "requires": [ + + ], + "uses": [ + + ], + "enum": null, + "override": null, + "inheritable": null, + "inheritdoc": null, + "meta": { + }, + "private": null, + "id": "class-Backgrid.NumberCell", + "members": { + "cfg": [ + + ], + "property": [ + { + "name": "className", + "tagname": "property", + "owner": "Backgrid.NumberCell", + "meta": { + }, + "id": "property-className" + }, + { + "name": "decimalSeparator", + "tagname": "property", + "owner": "Backgrid.NumberCell", + "meta": { + }, + "id": "property-decimalSeparator" + }, + { + "name": "decimals", + "tagname": "property", + "owner": "Backgrid.NumberCell", + "meta": { + }, + "id": "property-decimals" + }, + { + "name": "editor", + "tagname": "property", + "owner": "Backgrid.Cell", + "meta": { + }, + "id": "property-editor" + }, + { + "name": "events", + "tagname": "property", + "owner": "Backgrid.Cell", + "meta": { + }, + "id": "property-events" + }, + { + "name": "formatter", + "tagname": "property", + "owner": "Backgrid.NumberCell", + "meta": { + }, + "id": "property-formatter" + }, + { + "name": "orderSeparator", + "tagname": "property", + "owner": "Backgrid.NumberCell", + "meta": { + }, + "id": "property-orderSeparator" + }, + { + "name": "tagName", + "tagname": "property", + "owner": "Backgrid.Cell", + "meta": { + }, + "id": "property-tagName" + } + ], + "method": [ + { + "name": "enterEditMode", + "tagname": "method", + "owner": "Backgrid.Cell", + "meta": { + }, + "id": "method-enterEditMode" + }, + { + "name": "exitEditMode", + "tagname": "method", + "owner": "Backgrid.Cell", + "meta": { + }, + "id": "method-exitEditMode" + }, + { + "name": "initialize", + "tagname": "method", + "owner": "Backgrid.NumberCell", + "meta": { + }, + "id": "method-initialize" + }, + { + "name": "remove", + "tagname": "method", + "owner": "Backgrid.Cell", + "meta": { + "chainable": true + }, + "id": "method-remove" + }, + { + "name": "render", + "tagname": "method", + "owner": "Backgrid.Cell", + "meta": { + "chainable": true + }, + "id": "method-render" + }, + { + "name": "renderError", + "tagname": "method", + "owner": "Backgrid.Cell", + "meta": { + }, + "id": "method-renderError" + } + ], + "event": [ + + ], + "css_var": [ + + ], + "css_mixin": [ + + ] + }, + "linenr": 444, + "files": [ + { + "filename": "cell.js", + "href": null + } + ], + "html_meta": { + }, + "statics": { + "cfg": [ + + ], + "property": [ + + ], + "method": [ + + ], + "event": [ + + ], + "css_var": [ + + ], + "css_mixin": [ + + ] + }, + "component": false, + "superclasses": [ + "Backbone.View", + "Backgrid.Cell" + ], + "subclasses": [ + "Backgrid.IntegerCell", + "Backgrid.PercentCell" + ], + "mixedInto": [ + + ], + "parentMixins": [ + + ], + "html": "

    Hierarchy

    Backbone.View
    Backgrid.Cell
    Backgrid.NumberCell

    Subclasses

    NumberCell is a generic cell that renders all numbers. Numbers are formatted\nusing a Backgrid.NumberFormatter.

    \n
    Defined By

    Properties

    Backgrid.NumberCell
    : String
    ...
    \n

    Defaults to: "number-cell"

    Backgrid.NumberCell
    : string
    ...
    \n

    Defaults to: '.'

    Backgrid.NumberCell
    : number
    Must be an integer. ...

    Must be an integer.

    \n

    Defaults to: 2

    The\ndefault editor for all cell instances of this class. ...

    The\ndefault editor for all cell instances of this class. This value must be a\nclass, it will be automatically instantiated upon entering edit mode.

    \n\n

    See Backgrid.CellEditor

    \n

    Defaults to: Backgrid.InputCellEditor

    ...
    \n

    Defaults to: {"click": "enterEditMode"}

    Backgrid.NumberCell
    : Backgrid.CellFormatter
    ...
    \n

    Defaults to: Backgrid.NumberFormatter

    Overrides: Backgrid.Cell.formatter

    Backgrid.NumberCell
    : string
    ...
    \n

    Defaults to: ','

    ...
    \n

    Defaults to: "td"

    Defined By

    Methods

    If this column is editable, a new CellEditor instance is instantiated with\nits required parameters. ...

    If this column is editable, a new CellEditor instance is instantiated with\nits required parameters. An editor CSS class is added to the cell upon\nentering edit mode.

    \n\n

    This method triggers a Backbone backgrid:edit event from the model when\nthe cell is entering edit mode and an editor instance has been constructed,\nbut before it is rendered and inserted into the DOM. The cell and the\nconstructed cell editor instance are sent as event parameters when this\nevent is triggered.

    \n\n

    When this cell has finished switching to edit mode, a Backbone\nbackgrid:editing event is triggered from the model. The cell and the\nconstructed cell instance are also sent as parameters in the event.

    \n\n

    When the model triggers a backgrid:error event, it means the editor is\nunable to convert the current user input to an apprpriate value for the\nmodel's column, and an error CSS class is added to the cell accordingly.

    \n
    Removes the editor and re-render in display mode. ...

    Removes the editor and re-render in display mode.

    \n
    Backgrid.NumberCell
    ( options )
    Initializes this cell and the number formatter. ...

    Initializes this cell and the number formatter.

    \n

    Parameters

    Overrides: Backgrid.Cell.initialize

    Clean up this cell. ...

    Clean up this cell.

    \n

    Returns

    Render a text string in a table cell. ...

    Render a text string in a table cell. The text is converted from the\nmodel's raw value for this cell's column.

    \n

    Returns

    ( model, column )
    Put an error CSS class on the table cell. ...

    Put an error CSS class on the table cell.

    \n

    Parameters

    • model : Object
      \n
    • column : Object
      \n
    " +}); \ No newline at end of file diff --git a/api/output/Backgrid.NumberFormatter.js b/api/output/Backgrid.NumberFormatter.js new file mode 100644 index 00000000..3e365cce --- /dev/null +++ b/api/output/Backgrid.NumberFormatter.js @@ -0,0 +1,121 @@ +Ext.data.JsonP.Backgrid_NumberFormatter({ + "tagname": "class", + "name": "Backgrid.NumberFormatter", + "extends": "Backgrid.CellFormatter", + "mixins": [ + + ], + "alternateClassNames": [ + + ], + "aliases": { + }, + "singleton": false, + "requires": [ + + ], + "uses": [ + + ], + "enum": null, + "override": null, + "inheritable": null, + "inheritdoc": null, + "meta": { + }, + "private": null, + "id": "class-Backgrid.NumberFormatter", + "members": { + "cfg": [ + { + "name": "options", + "tagname": "cfg", + "owner": "Backgrid.NumberFormatter", + "meta": { + }, + "id": "cfg-options" + } + ], + "property": [ + + ], + "method": [ + { + "name": "constructor", + "tagname": "method", + "owner": "Backgrid.NumberFormatter", + "meta": { + }, + "id": "method-constructor" + }, + { + "name": "fromRaw", + "tagname": "method", + "owner": "Backgrid.NumberFormatter", + "meta": { + }, + "id": "method-fromRaw" + }, + { + "name": "toRaw", + "tagname": "method", + "owner": "Backgrid.NumberFormatter", + "meta": { + }, + "id": "method-toRaw" + } + ], + "event": [ + + ], + "css_var": [ + + ], + "css_mixin": [ + + ] + }, + "linenr": 55, + "files": [ + { + "filename": "formatter.js", + "href": null + } + ], + "html_meta": { + }, + "statics": { + "cfg": [ + + ], + "property": [ + + ], + "method": [ + + ], + "event": [ + + ], + "css_var": [ + + ], + "css_mixin": [ + + ] + }, + "component": false, + "superclasses": [ + "Backgrid.CellFormatter" + ], + "subclasses": [ + "Backgrid.PercentFormatter" + ], + "mixedInto": [ + + ], + "parentMixins": [ + + ], + "html": "

    Hierarchy

    Backgrid.CellFormatter
    Backgrid.NumberFormatter

    Subclasses

    A floating point number formatter. Doesn't understand scientific notation at\nthe moment.

    \n
    Defined By

    Config options

    Backgrid.NumberFormatter
    : Object
    ...
    \n
    • decimals : number (optional)

      Number of decimals to display. Must be an integer.

      \n

      Defaults to: 2

    • decimalSeparator : string (optional)

      The separator to use when\ndisplaying decimals.

      \n

      Defaults to: '.'

    • orderSeparator : string (optional)

      The separator to use to\nseparator thousands. May be an empty string.

      \n

      Defaults to: ','

    Defined By

    Methods

    Backgrid.NumberFormatter
    new( ) : Backgrid.NumberFormatter
    ...
    \n

    Returns

    Throws

    • RangeError

      If decimals < 0 or > 20.

      \n

    Overrides: Backgrid.CellFormatter.constructor

    Backgrid.NumberFormatter
    ( number, model ) : string
    Takes a floating point number and convert it to a formatted string where\nevery thousand is separated by orderSeparato...

    Takes a floating point number and convert it to a formatted string where\nevery thousand is separated by orderSeparator, with a decimal number of\ndecimals separated by decimalSeparator. The number returned is rounded\nthe usual way.

    \n

    Parameters

    • number : number
      \n
    • model : Backbone.Model

      Used for more complicated formatting

      \n

    Returns

    • string
      \n

    Overrides: Backgrid.CellFormatter.fromRaw

    Backgrid.NumberFormatter
    ( formattedData, model ) : number|undefined
    Takes a string, possibly formatted with orderSeparator and/or\ndecimalSeparator, and convert it back to a number. ...

    Takes a string, possibly formatted with orderSeparator and/or\ndecimalSeparator, and convert it back to a number.

    \n

    Parameters

    • formattedData : string
      \n
    • model : Backbone.Model

      Used for more complicated formatting

      \n

    Returns

    • number|undefined

      Undefined if the string cannot be converted to\na number.

      \n

    Overrides: Backgrid.CellFormatter.toRaw

    " +}); \ No newline at end of file diff --git a/api/output/Backgrid.PercentCell.js b/api/output/Backgrid.PercentCell.js new file mode 100644 index 00000000..72b156e8 --- /dev/null +++ b/api/output/Backgrid.PercentCell.js @@ -0,0 +1,221 @@ +Ext.data.JsonP.Backgrid_PercentCell({ + "tagname": "class", + "name": "Backgrid.PercentCell", + "extends": "Backgrid.NumberCell", + "mixins": [ + + ], + "alternateClassNames": [ + + ], + "aliases": { + }, + "singleton": false, + "requires": [ + + ], + "uses": [ + + ], + "enum": null, + "override": null, + "inheritable": null, + "inheritdoc": null, + "meta": { + }, + "private": null, + "id": "class-Backgrid.PercentCell", + "members": { + "cfg": [ + + ], + "property": [ + { + "name": "className", + "tagname": "property", + "owner": "Backgrid.PercentCell", + "meta": { + }, + "id": "property-className" + }, + { + "name": "decimalSeparator", + "tagname": "property", + "owner": "Backgrid.NumberCell", + "meta": { + }, + "id": "property-decimalSeparator" + }, + { + "name": "decimals", + "tagname": "property", + "owner": "Backgrid.NumberCell", + "meta": { + }, + "id": "property-decimals" + }, + { + "name": "editor", + "tagname": "property", + "owner": "Backgrid.Cell", + "meta": { + }, + "id": "property-editor" + }, + { + "name": "events", + "tagname": "property", + "owner": "Backgrid.Cell", + "meta": { + }, + "id": "property-events" + }, + { + "name": "formatter", + "tagname": "property", + "owner": "Backgrid.PercentCell", + "meta": { + }, + "id": "property-formatter" + }, + { + "name": "multiplier", + "tagname": "property", + "owner": "Backgrid.PercentCell", + "meta": { + }, + "id": "property-multiplier" + }, + { + "name": "orderSeparator", + "tagname": "property", + "owner": "Backgrid.NumberCell", + "meta": { + }, + "id": "property-orderSeparator" + }, + { + "name": "symbol", + "tagname": "property", + "owner": "Backgrid.PercentCell", + "meta": { + }, + "id": "property-symbol" + }, + { + "name": "tagName", + "tagname": "property", + "owner": "Backgrid.Cell", + "meta": { + }, + "id": "property-tagName" + } + ], + "method": [ + { + "name": "enterEditMode", + "tagname": "method", + "owner": "Backgrid.Cell", + "meta": { + }, + "id": "method-enterEditMode" + }, + { + "name": "exitEditMode", + "tagname": "method", + "owner": "Backgrid.Cell", + "meta": { + }, + "id": "method-exitEditMode" + }, + { + "name": "initialize", + "tagname": "method", + "owner": "Backgrid.PercentCell", + "meta": { + }, + "id": "method-initialize" + }, + { + "name": "remove", + "tagname": "method", + "owner": "Backgrid.Cell", + "meta": { + "chainable": true + }, + "id": "method-remove" + }, + { + "name": "render", + "tagname": "method", + "owner": "Backgrid.Cell", + "meta": { + "chainable": true + }, + "id": "method-render" + }, + { + "name": "renderError", + "tagname": "method", + "owner": "Backgrid.Cell", + "meta": { + }, + "id": "method-renderError" + } + ], + "event": [ + + ], + "css_var": [ + + ], + "css_mixin": [ + + ] + }, + "linenr": 506, + "files": [ + { + "filename": "cell.js", + "href": null + } + ], + "html_meta": { + }, + "statics": { + "cfg": [ + + ], + "property": [ + + ], + "method": [ + + ], + "event": [ + + ], + "css_var": [ + + ], + "css_mixin": [ + + ] + }, + "component": false, + "superclasses": [ + "Backbone.View", + "Backgrid.Cell", + "Backgrid.NumberCell" + ], + "subclasses": [ + + ], + "mixedInto": [ + + ], + "parentMixins": [ + + ], + "html": "

    Hierarchy

    Backbone.View

    A PercentCell is another Backgrid.NumberCell that takes a floating number,\noptionally multiplied by a multiplier and display it as a percentage.

    \n
    Defined By

    Properties

    Backgrid.PercentCell
    : String
    ...
    \n

    Defaults to: "percent-cell"

    Overrides: Backgrid.NumberCell.className

    ...
    \n

    Defaults to: '.'

    Must be an integer. ...

    Must be an integer.

    \n

    Defaults to: 2

    The\ndefault editor for all cell instances of this class. ...

    The\ndefault editor for all cell instances of this class. This value must be a\nclass, it will be automatically instantiated upon entering edit mode.

    \n\n

    See Backgrid.CellEditor

    \n

    Defaults to: Backgrid.InputCellEditor

    ...
    \n

    Defaults to: {"click": "enterEditMode"}

    Backgrid.PercentCell
    : Backgrid.CellFormatter
    ...
    \n

    Defaults to: Backgrid.PercentFormatter

    Overrides: Backgrid.NumberCell.formatter

    Backgrid.PercentCell
    : number
    ...
    \n

    Defaults to: 1

    ...
    \n

    Defaults to: ','

    Backgrid.PercentCell
    : string
    ...
    \n

    Defaults to: '%'

    ...
    \n

    Defaults to: "td"

    Defined By

    Methods

    If this column is editable, a new CellEditor instance is instantiated with\nits required parameters. ...

    If this column is editable, a new CellEditor instance is instantiated with\nits required parameters. An editor CSS class is added to the cell upon\nentering edit mode.

    \n\n

    This method triggers a Backbone backgrid:edit event from the model when\nthe cell is entering edit mode and an editor instance has been constructed,\nbut before it is rendered and inserted into the DOM. The cell and the\nconstructed cell editor instance are sent as event parameters when this\nevent is triggered.

    \n\n

    When this cell has finished switching to edit mode, a Backbone\nbackgrid:editing event is triggered from the model. The cell and the\nconstructed cell instance are also sent as parameters in the event.

    \n\n

    When the model triggers a backgrid:error event, it means the editor is\nunable to convert the current user input to an apprpriate value for the\nmodel's column, and an error CSS class is added to the cell accordingly.

    \n
    Removes the editor and re-render in display mode. ...

    Removes the editor and re-render in display mode.

    \n
    Backgrid.PercentCell
    ( options )
    Initializes this cell and the percent formatter. ...

    Initializes this cell and the percent formatter.

    \n

    Parameters

    Overrides: Backgrid.NumberCell.initialize

    Clean up this cell. ...

    Clean up this cell.

    \n

    Returns

    Render a text string in a table cell. ...

    Render a text string in a table cell. The text is converted from the\nmodel's raw value for this cell's column.

    \n

    Returns

    ( model, column )
    Put an error CSS class on the table cell. ...

    Put an error CSS class on the table cell.

    \n

    Parameters

    • model : Object
      \n
    • column : Object
      \n
    " +}); \ No newline at end of file diff --git a/api/output/Backgrid.PercentFormatter.js b/api/output/Backgrid.PercentFormatter.js new file mode 100644 index 00000000..2e50b2df --- /dev/null +++ b/api/output/Backgrid.PercentFormatter.js @@ -0,0 +1,122 @@ +Ext.data.JsonP.Backgrid_PercentFormatter({ + "tagname": "class", + "name": "Backgrid.PercentFormatter", + "extends": "Backgrid.NumberFormatter", + "mixins": [ + + ], + "alternateClassNames": [ + + ], + "aliases": { + }, + "singleton": false, + "requires": [ + + ], + "uses": [ + + ], + "enum": null, + "override": null, + "inheritable": null, + "inheritdoc": null, + "meta": { + }, + "private": null, + "id": "class-Backgrid.PercentFormatter", + "members": { + "cfg": [ + { + "name": "options", + "tagname": "cfg", + "owner": "Backgrid.PercentFormatter", + "meta": { + }, + "id": "cfg-options" + } + ], + "property": [ + + ], + "method": [ + { + "name": "constructor", + "tagname": "method", + "owner": "Backgrid.PercentFormatter", + "meta": { + }, + "id": "method-constructor" + }, + { + "name": "fromRaw", + "tagname": "method", + "owner": "Backgrid.PercentFormatter", + "meta": { + }, + "id": "method-fromRaw" + }, + { + "name": "toRaw", + "tagname": "method", + "owner": "Backgrid.PercentFormatter", + "meta": { + }, + "id": "method-toRaw" + } + ], + "event": [ + + ], + "css_var": [ + + ], + "css_mixin": [ + + ] + }, + "linenr": 155, + "files": [ + { + "filename": "formatter.js", + "href": null + } + ], + "html_meta": { + }, + "statics": { + "cfg": [ + + ], + "property": [ + + ], + "method": [ + + ], + "event": [ + + ], + "css_var": [ + + ], + "css_mixin": [ + + ] + }, + "component": false, + "superclasses": [ + "Backgrid.CellFormatter", + "Backgrid.NumberFormatter" + ], + "subclasses": [ + + ], + "mixedInto": [ + + ], + "parentMixins": [ + + ], + "html": "

    Hierarchy

    A number formatter that converts a floating point number, optionally\nmultiplied by a multiplier, to a percentage string and vice versa.

    \n
    Defined By

    Config options

    Backgrid.PercentFormatter
    : Object
    ...
    \n
    • multiplier : number (optional)

      The number used to multiply the model\nvalue for display.

      \n

      Defaults to: 1

    • symbol : string (optional)

      The symbol to append to the percentage\nstring.

      \n

      Defaults to: '%'

    Overrides: Backgrid.NumberFormatter.options

    Defined By

    Methods

    Backgrid.PercentFormatter
    new( ) : Backgrid.PercentFormatter
    ...
    \n

    Returns

    Throws

    • RangeError

      If decimals < 0 or > 20.

      \n

    Overrides: Backgrid.NumberFormatter.constructor

    Backgrid.PercentFormatter
    ( rawValue, model ) : string
    Takes a floating point number, where the number is first multiplied by\nmultiplier, then converted to a formatted stri...

    Takes a floating point number, where the number is first multiplied by\nmultiplier, then converted to a formatted string like\nNumberFormatter#fromRaw, then finally append symbol to the end.

    \n

    Parameters

    • rawValue : number
      \n
    • model : Backbone.Model

      Used for more complicated formatting

      \n

    Returns

    • string
      \n

    Overrides: Backgrid.NumberFormatter.fromRaw

    Backgrid.PercentFormatter
    ( formattedData, model ) : number|undefined
    Takes a string, possibly appended with symbol and/or decimalSeparator,\nand convert it back to a number for the model ...

    Takes a string, possibly appended with symbol and/or decimalSeparator,\nand convert it back to a number for the model like NumberFormatter#toRaw,\nand then dividing it by multiplier.

    \n

    Parameters

    • formattedData : string
      \n
    • model : Backbone.Model

      Used for more complicated formatting

      \n

    Returns

    • number|undefined

      Undefined if the string cannot be converted to\na number.

      \n

    Overrides: Backgrid.NumberFormatter.toRaw

    " +}); \ No newline at end of file diff --git a/api/output/Backgrid.Row.js b/api/output/Backgrid.Row.js new file mode 100644 index 00000000..49da5b28 --- /dev/null +++ b/api/output/Backgrid.Row.js @@ -0,0 +1,132 @@ +Ext.data.JsonP.Backgrid_Row({ + "tagname": "class", + "name": "Backgrid.Row", + "extends": "Backbone.View", + "mixins": [ + + ], + "alternateClassNames": [ + + ], + "aliases": { + }, + "singleton": false, + "requires": [ + + ], + "uses": [ + + ], + "enum": null, + "override": null, + "inheritable": null, + "inheritdoc": null, + "meta": { + }, + "private": null, + "id": "class-Backgrid.Row", + "members": { + "cfg": [ + + ], + "property": [ + { + "name": "tagName", + "tagname": "property", + "owner": "Backgrid.Row", + "meta": { + }, + "id": "property-tagName" + } + ], + "method": [ + { + "name": "initialize", + "tagname": "method", + "owner": "Backgrid.Row", + "meta": { + }, + "id": "method-initialize" + }, + { + "name": "makeCell", + "tagname": "method", + "owner": "Backgrid.Row", + "meta": { + "protected": true + }, + "id": "method-makeCell" + }, + { + "name": "remove", + "tagname": "method", + "owner": "Backgrid.Row", + "meta": { + "chainable": true + }, + "id": "method-remove" + }, + { + "name": "render", + "tagname": "method", + "owner": "Backgrid.Row", + "meta": { + "chainable": true + }, + "id": "method-render" + } + ], + "event": [ + + ], + "css_var": [ + + ], + "css_mixin": [ + + ] + }, + "linenr": 9, + "files": [ + { + "filename": "row.js", + "href": null + } + ], + "html_meta": { + }, + "statics": { + "cfg": [ + + ], + "property": [ + + ], + "method": [ + + ], + "event": [ + + ], + "css_var": [ + + ], + "css_mixin": [ + + ] + }, + "component": false, + "superclasses": [ + "Backbone.View" + ], + "subclasses": [ + "Backgrid.HeaderRow" + ], + "mixedInto": [ + + ], + "parentMixins": [ + + ], + "html": "

    Hierarchy

    Backbone.View
    Backgrid.Row

    Subclasses

    Row is a simple container view that takes a model instance and a list of\ncolumn metadata describing how each of the model's attribute is to be\nrendered, and apply the appropriate cell to each attribute.

    \n
    Defined By

    Properties

    Backgrid.Row
    : String
    ...
    \n

    Defaults to: "tr"

    Defined By

    Methods

    Backgrid.Row
    ( options )
    Initializes a row view instance. ...

    Initializes a row view instance.

    \n

    Parameters

    • options : Object
      \n
      • columns : Backbone.Collection.<Backgrid.Column>|Array.<Backgrid.Column>|Array.<Object>

        Column metadata.

        \n
      • model : Backbone.Model

        The model instance to render.

        \n

    Throws

    • TypeError

      If options.columns or options.model is undefined.

      \n
    Backgrid.Row
    ( column, options ) : Backgrid.Cellprotected
    Factory method for making a cell. ...

    Factory method for making a cell. Used by initialize internally. Override\nthis to provide an appropriate cell instance for a custom Row subclass.

    \n

    Parameters

    Returns

    Backgrid.Row
    ( ) : Backgrid.Rowchainable
    Clean up this row and its cells. ...

    Clean up this row and its cells.

    \n

    Returns

    Backgrid.Row
    ( ) : Backgrid.Rowchainable
    Renders a row of cells for this row's model. ...

    Renders a row of cells for this row's model.

    \n

    Returns

    " +}); \ No newline at end of file diff --git a/api/output/Backgrid.SelectCell.js b/api/output/Backgrid.SelectCell.js new file mode 100644 index 00000000..a8b7d404 --- /dev/null +++ b/api/output/Backgrid.SelectCell.js @@ -0,0 +1,204 @@ +Ext.data.JsonP.Backgrid_SelectCell({ + "tagname": "class", + "name": "Backgrid.SelectCell", + "extends": "Backgrid.Cell", + "mixins": [ + + ], + "alternateClassNames": [ + + ], + "aliases": { + }, + "singleton": false, + "requires": [ + + ], + "uses": [ + + ], + "enum": null, + "override": null, + "inheritable": null, + "inheritdoc": null, + "meta": { + }, + "private": null, + "id": "class-Backgrid.SelectCell", + "members": { + "cfg": [ + + ], + "property": [ + { + "name": "className", + "tagname": "property", + "owner": "Backgrid.SelectCell", + "meta": { + }, + "id": "property-className" + }, + { + "name": "delimiter", + "tagname": "property", + "owner": "Backgrid.SelectCell", + "meta": { + }, + "id": "property-delimiter" + }, + { + "name": "editor", + "tagname": "property", + "owner": "Backgrid.SelectCell", + "meta": { + }, + "id": "property-editor" + }, + { + "name": "events", + "tagname": "property", + "owner": "Backgrid.Cell", + "meta": { + }, + "id": "property-events" + }, + { + "name": "formatter", + "tagname": "property", + "owner": "Backgrid.SelectCell", + "meta": { + }, + "id": "property-formatter" + }, + { + "name": "multiple", + "tagname": "property", + "owner": "Backgrid.SelectCell", + "meta": { + }, + "id": "property-multiple" + }, + { + "name": "optionValues", + "tagname": "property", + "owner": "Backgrid.SelectCell", + "meta": { + }, + "id": "property-optionValues" + }, + { + "name": "tagName", + "tagname": "property", + "owner": "Backgrid.Cell", + "meta": { + }, + "id": "property-tagName" + } + ], + "method": [ + { + "name": "enterEditMode", + "tagname": "method", + "owner": "Backgrid.Cell", + "meta": { + }, + "id": "method-enterEditMode" + }, + { + "name": "exitEditMode", + "tagname": "method", + "owner": "Backgrid.Cell", + "meta": { + }, + "id": "method-exitEditMode" + }, + { + "name": "initialize", + "tagname": "method", + "owner": "Backgrid.SelectCell", + "meta": { + }, + "id": "method-initialize" + }, + { + "name": "remove", + "tagname": "method", + "owner": "Backgrid.Cell", + "meta": { + "chainable": true + }, + "id": "method-remove" + }, + { + "name": "render", + "tagname": "method", + "owner": "Backgrid.SelectCell", + "meta": { + "chainable": true + }, + "id": "method-render" + }, + { + "name": "renderError", + "tagname": "method", + "owner": "Backgrid.Cell", + "meta": { + }, + "id": "method-renderError" + } + ], + "event": [ + + ], + "css_var": [ + + ], + "css_mixin": [ + + ] + }, + "linenr": 893, + "files": [ + { + "filename": "cell.js", + "href": null + } + ], + "html_meta": { + }, + "statics": { + "cfg": [ + + ], + "property": [ + + ], + "method": [ + + ], + "event": [ + + ], + "css_var": [ + + ], + "css_mixin": [ + + ] + }, + "component": false, + "superclasses": [ + "Backbone.View", + "Backgrid.Cell" + ], + "subclasses": [ + + ], + "mixedInto": [ + + ], + "parentMixins": [ + + ], + "html": "

    Hierarchy

    Backbone.View
    Backgrid.Cell
    Backgrid.SelectCell

    SelectCell is also a different kind of cell in that upon going into edit mode\nthe cell renders a list of options to pick from, as opposed to an input box.

    \n\n

    SelectCell cannot be referenced by its string name when used in a column\ndefinition because it requires an optionValues class attribute to be\ndefined. optionValues can either be a list of name-value pairs, to be\nrendered as options, or a list of object hashes which consist of a key name\nwhich is the option group name, and a key values which is a list of\nname-value pairs to be rendered as options under that option group.

    \n\n

    In addition, optionValues can also be a parameter-less function that\nreturns one of the above. If the options are static, it is recommended the\nreturned values to be memoized. _.memoize() is a good function to help with\nthat.

    \n\n

    During display mode, the default formatter will normalize the raw model value\nto an array of values whether the raw model value is a scalar or an\narray. Each value is compared with the optionValues values using\nEcmascript's implicit type conversion rules. When exiting edit mode, no type\nconversion is performed when saving into the model. This behavior is not\nalways desirable when the value type is anything other than string. To\ncontrol type conversion on the client-side, you should subclass SelectCell to\nprovide a custom formatter or provide the formatter to your column\ndefinition.

    \n\n

    See:\n $.fn.val()

    \n
    Defined By

    Properties

    Backgrid.SelectCell
    : String
    ...
    \n

    Defaults to: "select-cell"

    Backgrid.SelectCell
    : String
    ...
    \n

    Defaults to: ', '

    Backgrid.SelectCell
    editor : Object
    \n
    ...
    \n

    Defaults to: {"click": "enterEditMode"}

    Backgrid.SelectCell
    formatter : Object
    Backgrid.SelectCell
    : Boolean
    ...
    \n

    Defaults to: false

    Backgrid.SelectCell
    optionValues : Array.<Array>|Array.<{name: string, values: Array.<Array>}>
    \n
    \n
    ...
    \n

    Defaults to: "td"

    Defined By

    Methods

    If this column is editable, a new CellEditor instance is instantiated with\nits required parameters. ...

    If this column is editable, a new CellEditor instance is instantiated with\nits required parameters. An editor CSS class is added to the cell upon\nentering edit mode.

    \n\n

    This method triggers a Backbone backgrid:edit event from the model when\nthe cell is entering edit mode and an editor instance has been constructed,\nbut before it is rendered and inserted into the DOM. The cell and the\nconstructed cell editor instance are sent as event parameters when this\nevent is triggered.

    \n\n

    When this cell has finished switching to edit mode, a Backbone\nbackgrid:editing event is triggered from the model. The cell and the\nconstructed cell instance are also sent as parameters in the event.

    \n\n

    When the model triggers a backgrid:error event, it means the editor is\nunable to convert the current user input to an apprpriate value for the\nmodel's column, and an error CSS class is added to the cell accordingly.

    \n
    Removes the editor and re-render in display mode. ...

    Removes the editor and re-render in display mode.

    \n
    Backgrid.SelectCell
    ( options )
    Initializer. ...

    Initializer.

    \n

    Parameters

    Throws

    • TypeError

      If optionsValues is undefined.

      \n

    Overrides: Backgrid.Cell.initialize

    Clean up this cell. ...

    Clean up this cell.

    \n

    Returns

    Backgrid.SelectCell
    ( ) : Backgrid.SelectCellchainable
    Renders the label using the raw value as key to look up from optionValues. ...

    Renders the label using the raw value as key to look up from optionValues.

    \n

    Returns

    Throws

    • TypeError

      If optionValues is malformed.

      \n

    Overrides: Backgrid.Cell.render

    ( model, column )
    Put an error CSS class on the table cell. ...

    Put an error CSS class on the table cell.

    \n

    Parameters

    • model : Object
      \n
    • column : Object
      \n
    " +}); \ No newline at end of file diff --git a/api/output/Backgrid.SelectCellEditor.js b/api/output/Backgrid.SelectCellEditor.js new file mode 100644 index 00000000..98d436c5 --- /dev/null +++ b/api/output/Backgrid.SelectCellEditor.js @@ -0,0 +1,156 @@ +Ext.data.JsonP.Backgrid_SelectCellEditor({ + "tagname": "class", + "name": "Backgrid.SelectCellEditor", + "extends": "Backgrid.CellEditor", + "mixins": [ + + ], + "alternateClassNames": [ + + ], + "aliases": { + }, + "singleton": false, + "requires": [ + + ], + "uses": [ + + ], + "enum": null, + "override": null, + "inheritable": null, + "inheritdoc": null, + "meta": { + }, + "private": null, + "id": "class-Backgrid.SelectCellEditor", + "members": { + "cfg": [ + + ], + "property": [ + { + "name": "events", + "tagname": "property", + "owner": "Backgrid.SelectCellEditor", + "meta": { + }, + "id": "property-events" + }, + { + "name": "tagName", + "tagname": "property", + "owner": "Backgrid.SelectCellEditor", + "meta": { + }, + "id": "property-tagName" + }, + { + "name": "template", + "tagname": "property", + "owner": "Backgrid.SelectCellEditor", + "meta": { + }, + "id": "property-template" + } + ], + "method": [ + { + "name": "close", + "tagname": "method", + "owner": "Backgrid.SelectCellEditor", + "meta": { + }, + "id": "method-close" + }, + { + "name": "initialize", + "tagname": "method", + "owner": "Backgrid.CellEditor", + "meta": { + }, + "id": "method-initialize" + }, + { + "name": "postRender", + "tagname": "method", + "owner": "Backgrid.CellEditor", + "meta": { + "chainable": true + }, + "id": "method-postRender" + }, + { + "name": "render", + "tagname": "method", + "owner": "Backgrid.SelectCellEditor", + "meta": { + "chainable": true + }, + "id": "method-render" + }, + { + "name": "save", + "tagname": "method", + "owner": "Backgrid.SelectCellEditor", + "meta": { + }, + "id": "method-save" + } + ], + "event": [ + + ], + "css_var": [ + + ], + "css_mixin": [ + + ] + }, + "linenr": 767, + "files": [ + { + "filename": "cell.js", + "href": null + } + ], + "html_meta": { + }, + "statics": { + "cfg": [ + + ], + "property": [ + + ], + "method": [ + + ], + "event": [ + + ], + "css_var": [ + + ], + "css_mixin": [ + + ] + }, + "component": false, + "superclasses": [ + "Backbone.View", + "Backgrid.CellEditor" + ], + "subclasses": [ + + ], + "mixedInto": [ + + ], + "parentMixins": [ + + ], + "html": "

    Hierarchy

    Backbone.View
    Backgrid.CellEditor
    Backgrid.SelectCellEditor

    SelectCellEditor renders an HTML <select> fragment as the editor.

    \n
    Defined By

    Properties

    Backgrid.SelectCellEditor
    : Object
    ...
    \n

    Defaults to: {"change": "save", "blur": "close", "keydown": "close"}

    Backgrid.SelectCellEditor
    : String
    ...
    \n

    Defaults to: "select"

    Backgrid.SelectCellEditor
    template : function(Object, ?Object=): string
    \n
    \n
    Defined By

    Methods

    Backgrid.SelectCellEditor
    ( e )
    Triggers a backgrid:edited event from the model so the body can close\nthis editor. ...

    Triggers a backgrid:edited event from the model so the body can close\nthis editor.

    \n

    Parameters

    • e : Object
      \n
    Initializer. ...

    Initializer.

    \n

    Parameters

    Throws

    • TypeError

      If formatter is not a formatter instance, or when\nmodel or column are undefined.

      \n
    Post-rendering setup and initialization. ...

    Post-rendering setup and initialization. Focuses the cell editor's el in\nthis default implementation. Should be called by Cell classes after\ncalling Backgrid.CellEditor#render.

    \n

    Parameters

    • model : Object
      \n
    • column : Object
      \n

    Returns

    Backgrid.SelectCellEditor
    ( ) : Backgrid.SelectCellEditorchainable
    Renders the options if optionValues is a list of name-value pairs. ...

    Renders the options if optionValues is a list of name-value pairs. The\noptions are contained inside option groups if optionValues is a list of\nobject hashes. The name is rendered at the option text and the value is the\noption value. If optionValues is a function, it is called without a\nparameter.

    \n

    Returns

    Backgrid.SelectCellEditor
    ( e )
    Saves the value of the selected option to the model attribute. ...

    Saves the value of the selected option to the model attribute.

    \n

    Parameters

    • e : Object
      \n
    " +}); \ No newline at end of file diff --git a/api/output/Backgrid.SelectFormatter.js b/api/output/Backgrid.SelectFormatter.js new file mode 100644 index 00000000..17728b1b --- /dev/null +++ b/api/output/Backgrid.SelectFormatter.js @@ -0,0 +1,114 @@ +Ext.data.JsonP.Backgrid_SelectFormatter({ + "tagname": "class", + "name": "Backgrid.SelectFormatter", + "extends": "Backgrid.CellFormatter", + "mixins": [ + + ], + "alternateClassNames": [ + + ], + "aliases": { + }, + "singleton": false, + "requires": [ + + ], + "uses": [ + + ], + "enum": null, + "override": null, + "inheritable": null, + "inheritdoc": null, + "meta": { + }, + "private": null, + "id": "class-Backgrid.SelectFormatter", + "members": { + "cfg": [ + + ], + "property": [ + + ], + "method": [ + { + "name": "constructor", + "tagname": "method", + "owner": "Backgrid.SelectFormatter", + "meta": { + }, + "id": "method-constructor" + }, + { + "name": "fromRaw", + "tagname": "method", + "owner": "Backgrid.SelectFormatter", + "meta": { + }, + "id": "method-fromRaw" + }, + { + "name": "toRaw", + "tagname": "method", + "owner": "Backgrid.CellFormatter", + "meta": { + }, + "id": "method-toRaw" + } + ], + "event": [ + + ], + "css_var": [ + + ], + "css_mixin": [ + + ] + }, + "linenr": 417, + "files": [ + { + "filename": "formatter.js", + "href": null + } + ], + "html_meta": { + }, + "statics": { + "cfg": [ + + ], + "property": [ + + ], + "method": [ + + ], + "event": [ + + ], + "css_var": [ + + ], + "css_mixin": [ + + ] + }, + "component": false, + "superclasses": [ + "Backgrid.CellFormatter" + ], + "subclasses": [ + + ], + "mixedInto": [ + + ], + "parentMixins": [ + + ], + "html": "

    Hierarchy

    Backgrid.CellFormatter
    Backgrid.SelectFormatter

    Formatter for SelectCell.

    \n\n

    If the type of a model value is not a string, it is expected that a subclass\nof this formatter is provided to the SelectCell, with toRaw overridden to\nconvert the string value returned from the DOM back to whatever value is\nexpected in the model.

    \n
    Defined By

    Methods

    Backgrid.SelectFormatter
    ( rawValue, model ) : Array.<*>
    Normalizes raw scalar or array values to an array. ...

    Normalizes raw scalar or array values to an array.

    \n

    Parameters

    • rawValue : *
      \n
    • model : Backbone.Model

      Used for more complicated formatting

      \n

    Returns

    • Array.<*>
      \n

    Overrides: Backgrid.CellFormatter.fromRaw

    ( formattedData, model ) : *|undefined
    Takes a formatted string, usually from user input, and returns a\nappropriately typed value for persistence in the model. ...

    Takes a formatted string, usually from user input, and returns a\nappropriately typed value for persistence in the model.

    \n\n

    If the user input is invalid or unable to be converted to a raw value\nsuitable for persistence in the model, toRaw must return undefined.

    \n

    Parameters

    • formattedData : string
      \n
    • model : Backbone.Model

      Used for more complicated formatting

      \n

    Returns

    • *|undefined
      \n
    " +}); \ No newline at end of file diff --git a/api/output/Backgrid.StringCell.js b/api/output/Backgrid.StringCell.js new file mode 100644 index 00000000..a3f4c2e4 --- /dev/null +++ b/api/output/Backgrid.StringCell.js @@ -0,0 +1,180 @@ +Ext.data.JsonP.Backgrid_StringCell({ + "tagname": "class", + "name": "Backgrid.StringCell", + "extends": "Backgrid.Cell", + "mixins": [ + + ], + "alternateClassNames": [ + + ], + "aliases": { + }, + "singleton": false, + "requires": [ + + ], + "uses": [ + + ], + "enum": null, + "override": null, + "inheritable": null, + "inheritdoc": null, + "meta": { + }, + "private": null, + "id": "class-Backgrid.StringCell", + "members": { + "cfg": [ + + ], + "property": [ + { + "name": "className", + "tagname": "property", + "owner": "Backgrid.StringCell", + "meta": { + }, + "id": "property-className" + }, + { + "name": "editor", + "tagname": "property", + "owner": "Backgrid.Cell", + "meta": { + }, + "id": "property-editor" + }, + { + "name": "events", + "tagname": "property", + "owner": "Backgrid.Cell", + "meta": { + }, + "id": "property-events" + }, + { + "name": "formatter", + "tagname": "property", + "owner": "Backgrid.Cell", + "meta": { + }, + "id": "property-formatter" + }, + { + "name": "tagName", + "tagname": "property", + "owner": "Backgrid.Cell", + "meta": { + }, + "id": "property-tagName" + } + ], + "method": [ + { + "name": "enterEditMode", + "tagname": "method", + "owner": "Backgrid.Cell", + "meta": { + }, + "id": "method-enterEditMode" + }, + { + "name": "exitEditMode", + "tagname": "method", + "owner": "Backgrid.Cell", + "meta": { + }, + "id": "method-exitEditMode" + }, + { + "name": "initialize", + "tagname": "method", + "owner": "Backgrid.Cell", + "meta": { + }, + "id": "method-initialize" + }, + { + "name": "remove", + "tagname": "method", + "owner": "Backgrid.Cell", + "meta": { + "chainable": true + }, + "id": "method-remove" + }, + { + "name": "render", + "tagname": "method", + "owner": "Backgrid.Cell", + "meta": { + "chainable": true + }, + "id": "method-render" + }, + { + "name": "renderError", + "tagname": "method", + "owner": "Backgrid.Cell", + "meta": { + }, + "id": "method-renderError" + } + ], + "event": [ + + ], + "css_var": [ + + ], + "css_mixin": [ + + ] + }, + "linenr": 349, + "files": [ + { + "filename": "cell.js", + "href": null + } + ], + "html_meta": { + }, + "statics": { + "cfg": [ + + ], + "property": [ + + ], + "method": [ + + ], + "event": [ + + ], + "css_var": [ + + ], + "css_mixin": [ + + ] + }, + "component": false, + "superclasses": [ + "Backbone.View", + "Backgrid.Cell" + ], + "subclasses": [ + "Backgrid.EmailCell" + ], + "mixedInto": [ + + ], + "parentMixins": [ + + ], + "html": "

    Hierarchy

    Backbone.View
    Backgrid.Cell
    Backgrid.StringCell

    Subclasses

    StringCell displays HTML escaped strings and accepts anything typed in.

    \n
    Defined By

    Properties

    Backgrid.StringCell
    : String
    ...
    \n

    Defaults to: "string-cell"

    The\ndefault editor for all cell instances of this class. ...

    The\ndefault editor for all cell instances of this class. This value must be a\nclass, it will be automatically instantiated upon entering edit mode.

    \n\n

    See Backgrid.CellEditor

    \n

    Defaults to: Backgrid.InputCellEditor

    ...
    \n

    Defaults to: {"click": "enterEditMode"}

    ...
    \n

    Defaults to: CellFormatter

    ...
    \n

    Defaults to: "td"

    Defined By

    Methods

    If this column is editable, a new CellEditor instance is instantiated with\nits required parameters. ...

    If this column is editable, a new CellEditor instance is instantiated with\nits required parameters. An editor CSS class is added to the cell upon\nentering edit mode.

    \n\n

    This method triggers a Backbone backgrid:edit event from the model when\nthe cell is entering edit mode and an editor instance has been constructed,\nbut before it is rendered and inserted into the DOM. The cell and the\nconstructed cell editor instance are sent as event parameters when this\nevent is triggered.

    \n\n

    When this cell has finished switching to edit mode, a Backbone\nbackgrid:editing event is triggered from the model. The cell and the\nconstructed cell instance are also sent as parameters in the event.

    \n\n

    When the model triggers a backgrid:error event, it means the editor is\nunable to convert the current user input to an apprpriate value for the\nmodel's column, and an error CSS class is added to the cell accordingly.

    \n
    Removes the editor and re-render in display mode. ...

    Removes the editor and re-render in display mode.

    \n
    Initializer. ...

    Initializer.

    \n

    Parameters

    Throws

    • ReferenceError

      If formatter is a string but a formatter class of\nsaid name cannot be found in the Backgrid module.

      \n
    Clean up this cell. ...

    Clean up this cell.

    \n

    Returns

    Render a text string in a table cell. ...

    Render a text string in a table cell. The text is converted from the\nmodel's raw value for this cell's column.

    \n

    Returns

    ( model, column )
    Put an error CSS class on the table cell. ...

    Put an error CSS class on the table cell.

    \n

    Parameters

    • model : Object
      \n
    • column : Object
      \n
    " +}); \ No newline at end of file diff --git a/api/output/Backgrid.StringFormatter.js b/api/output/Backgrid.StringFormatter.js new file mode 100644 index 00000000..b944acf3 --- /dev/null +++ b/api/output/Backgrid.StringFormatter.js @@ -0,0 +1,114 @@ +Ext.data.JsonP.Backgrid_StringFormatter({ + "tagname": "class", + "name": "Backgrid.StringFormatter", + "extends": "Backgrid.CellFormatter", + "mixins": [ + + ], + "alternateClassNames": [ + + ], + "aliases": { + }, + "singleton": false, + "requires": [ + + ], + "uses": [ + + ], + "enum": null, + "override": null, + "inheritable": null, + "inheritdoc": null, + "meta": { + }, + "private": null, + "id": "class-Backgrid.StringFormatter", + "members": { + "cfg": [ + + ], + "property": [ + + ], + "method": [ + { + "name": "constructor", + "tagname": "method", + "owner": "Backgrid.StringFormatter", + "meta": { + }, + "id": "method-constructor" + }, + { + "name": "fromRaw", + "tagname": "method", + "owner": "Backgrid.StringFormatter", + "meta": { + }, + "id": "method-fromRaw" + }, + { + "name": "toRaw", + "tagname": "method", + "owner": "Backgrid.CellFormatter", + "meta": { + }, + "id": "method-toRaw" + } + ], + "event": [ + + ], + "css_var": [ + + ], + "css_mixin": [ + + ] + }, + "linenr": 363, + "files": [ + { + "filename": "formatter.js", + "href": null + } + ], + "html_meta": { + }, + "statics": { + "cfg": [ + + ], + "property": [ + + ], + "method": [ + + ], + "event": [ + + ], + "css_var": [ + + ], + "css_mixin": [ + + ] + }, + "component": false, + "superclasses": [ + "Backgrid.CellFormatter" + ], + "subclasses": [ + + ], + "mixedInto": [ + + ], + "parentMixins": [ + + ], + "html": "

    Hierarchy

    Backgrid.CellFormatter
    Backgrid.StringFormatter

    Formatter to convert any value to string.

    \n
    Defined By

    Methods

    Backgrid.StringFormatter
    ( rawValue, model ) : string
    Converts any value to a string using Ecmascript's implicit type\nconversion. ...

    Converts any value to a string using Ecmascript's implicit type\nconversion. If the given value is null or undefined, an empty string is\nreturned instead.

    \n

    Parameters

    • rawValue : *
      \n
    • model : Backbone.Model

      Used for more complicated formatting

      \n

    Returns

    • string
      \n

    Overrides: Backgrid.CellFormatter.fromRaw

    ( formattedData, model ) : *|undefined
    Takes a formatted string, usually from user input, and returns a\nappropriately typed value for persistence in the model. ...

    Takes a formatted string, usually from user input, and returns a\nappropriately typed value for persistence in the model.

    \n\n

    If the user input is invalid or unable to be converted to a raw value\nsuitable for persistence in the model, toRaw must return undefined.

    \n

    Parameters

    • formattedData : string
      \n
    • model : Backbone.Model

      Used for more complicated formatting

      \n

    Returns

    • *|undefined
      \n
    " +}); \ No newline at end of file diff --git a/api/output/Backgrid.TimeCell.js b/api/output/Backgrid.TimeCell.js new file mode 100644 index 00000000..e4359ecc --- /dev/null +++ b/api/output/Backgrid.TimeCell.js @@ -0,0 +1,205 @@ +Ext.data.JsonP.Backgrid_TimeCell({ + "tagname": "class", + "name": "Backgrid.TimeCell", + "extends": "Backgrid.DatetimeCell", + "mixins": [ + + ], + "alternateClassNames": [ + + ], + "aliases": { + }, + "singleton": false, + "requires": [ + + ], + "uses": [ + + ], + "enum": null, + "override": null, + "inheritable": null, + "inheritdoc": null, + "meta": { + }, + "private": null, + "id": "class-Backgrid.TimeCell", + "members": { + "cfg": [ + + ], + "property": [ + { + "name": "className", + "tagname": "property", + "owner": "Backgrid.TimeCell", + "meta": { + }, + "id": "property-className" + }, + { + "name": "editor", + "tagname": "property", + "owner": "Backgrid.Cell", + "meta": { + }, + "id": "property-editor" + }, + { + "name": "events", + "tagname": "property", + "owner": "Backgrid.Cell", + "meta": { + }, + "id": "property-events" + }, + { + "name": "formatter", + "tagname": "property", + "owner": "Backgrid.DatetimeCell", + "meta": { + }, + "id": "property-formatter" + }, + { + "name": "includeDate", + "tagname": "property", + "owner": "Backgrid.TimeCell", + "meta": { + }, + "id": "property-includeDate" + }, + { + "name": "includeMilli", + "tagname": "property", + "owner": "Backgrid.DatetimeCell", + "meta": { + }, + "id": "property-includeMilli" + }, + { + "name": "includeTime", + "tagname": "property", + "owner": "Backgrid.DatetimeCell", + "meta": { + }, + "id": "property-includeTime" + }, + { + "name": "tagName", + "tagname": "property", + "owner": "Backgrid.Cell", + "meta": { + }, + "id": "property-tagName" + } + ], + "method": [ + { + "name": "enterEditMode", + "tagname": "method", + "owner": "Backgrid.Cell", + "meta": { + }, + "id": "method-enterEditMode" + }, + { + "name": "exitEditMode", + "tagname": "method", + "owner": "Backgrid.Cell", + "meta": { + }, + "id": "method-exitEditMode" + }, + { + "name": "initialize", + "tagname": "method", + "owner": "Backgrid.DatetimeCell", + "meta": { + }, + "id": "method-initialize" + }, + { + "name": "remove", + "tagname": "method", + "owner": "Backgrid.Cell", + "meta": { + "chainable": true + }, + "id": "method-remove" + }, + { + "name": "render", + "tagname": "method", + "owner": "Backgrid.Cell", + "meta": { + "chainable": true + }, + "id": "method-render" + }, + { + "name": "renderError", + "tagname": "method", + "owner": "Backgrid.Cell", + "meta": { + }, + "id": "method-renderError" + } + ], + "event": [ + + ], + "css_var": [ + + ], + "css_mixin": [ + + ] + }, + "linenr": 624, + "files": [ + { + "filename": "cell.js", + "href": null + } + ], + "html_meta": { + }, + "statics": { + "cfg": [ + + ], + "property": [ + + ], + "method": [ + + ], + "event": [ + + ], + "css_var": [ + + ], + "css_mixin": [ + + ] + }, + "component": false, + "superclasses": [ + "Backbone.View", + "Backgrid.Cell", + "Backgrid.DatetimeCell" + ], + "subclasses": [ + + ], + "mixedInto": [ + + ], + "parentMixins": [ + + ], + "html": "

    Hierarchy

    Backbone.View

    TimeCell is a Backgrid.DatetimeCell without the date part.

    \n
    Defined By

    Properties

    Backgrid.TimeCell
    : String
    ...
    \n

    Defaults to: "time-cell"

    Overrides: Backgrid.DatetimeCell.className

    The\ndefault editor for all cell instances of this class. ...

    The\ndefault editor for all cell instances of this class. This value must be a\nclass, it will be automatically instantiated upon entering edit mode.

    \n\n

    See Backgrid.CellEditor

    \n

    Defaults to: Backgrid.InputCellEditor

    ...
    \n

    Defaults to: {"click": "enterEditMode"}

    ...
    \n

    Defaults to: Backgrid.DatetimeFormatter

    Overrides: Backgrid.Cell.formatter

    Backgrid.TimeCell
    : Boolean
    ...
    \n

    Defaults to: false

    Overrides: Backgrid.DatetimeCell.includeDate

    ...
    \n

    Defaults to: false

    ...
    \n

    Defaults to: true

    ...
    \n

    Defaults to: "td"

    Defined By

    Methods

    If this column is editable, a new CellEditor instance is instantiated with\nits required parameters. ...

    If this column is editable, a new CellEditor instance is instantiated with\nits required parameters. An editor CSS class is added to the cell upon\nentering edit mode.

    \n\n

    This method triggers a Backbone backgrid:edit event from the model when\nthe cell is entering edit mode and an editor instance has been constructed,\nbut before it is rendered and inserted into the DOM. The cell and the\nconstructed cell editor instance are sent as event parameters when this\nevent is triggered.

    \n\n

    When this cell has finished switching to edit mode, a Backbone\nbackgrid:editing event is triggered from the model. The cell and the\nconstructed cell instance are also sent as parameters in the event.

    \n\n

    When the model triggers a backgrid:error event, it means the editor is\nunable to convert the current user input to an apprpriate value for the\nmodel's column, and an error CSS class is added to the cell accordingly.

    \n
    Removes the editor and re-render in display mode. ...

    Removes the editor and re-render in display mode.

    \n
    Initializes this cell and the datetime formatter. ...

    Initializes this cell and the datetime formatter.

    \n

    Parameters

    Overrides: Backgrid.Cell.initialize

    Clean up this cell. ...

    Clean up this cell.

    \n

    Returns

    Render a text string in a table cell. ...

    Render a text string in a table cell. The text is converted from the\nmodel's raw value for this cell's column.

    \n

    Returns

    ( model, column )
    Put an error CSS class on the table cell. ...

    Put an error CSS class on the table cell.

    \n

    Parameters

    • model : Object
      \n
    • column : Object
      \n
    " +}); \ No newline at end of file diff --git a/api/output/Backgrid.UriCell.js b/api/output/Backgrid.UriCell.js new file mode 100644 index 00000000..d46a1c3e --- /dev/null +++ b/api/output/Backgrid.UriCell.js @@ -0,0 +1,196 @@ +Ext.data.JsonP.Backgrid_UriCell({ + "tagname": "class", + "name": "Backgrid.UriCell", + "extends": "Backgrid.Cell", + "mixins": [ + + ], + "alternateClassNames": [ + + ], + "aliases": { + }, + "singleton": false, + "requires": [ + + ], + "uses": [ + + ], + "enum": null, + "override": null, + "inheritable": null, + "inheritdoc": null, + "meta": { + }, + "private": null, + "id": "class-Backgrid.UriCell", + "members": { + "cfg": [ + + ], + "property": [ + { + "name": "className", + "tagname": "property", + "owner": "Backgrid.UriCell", + "meta": { + }, + "id": "property-className" + }, + { + "name": "editor", + "tagname": "property", + "owner": "Backgrid.Cell", + "meta": { + }, + "id": "property-editor" + }, + { + "name": "events", + "tagname": "property", + "owner": "Backgrid.Cell", + "meta": { + }, + "id": "property-events" + }, + { + "name": "formatter", + "tagname": "property", + "owner": "Backgrid.Cell", + "meta": { + }, + "id": "property-formatter" + }, + { + "name": "tagName", + "tagname": "property", + "owner": "Backgrid.Cell", + "meta": { + }, + "id": "property-tagName" + }, + { + "name": "target", + "tagname": "property", + "owner": "Backgrid.UriCell", + "meta": { + }, + "id": "property-target" + }, + { + "name": "title", + "tagname": "property", + "owner": "Backgrid.UriCell", + "meta": { + }, + "id": "property-title" + } + ], + "method": [ + { + "name": "enterEditMode", + "tagname": "method", + "owner": "Backgrid.Cell", + "meta": { + }, + "id": "method-enterEditMode" + }, + { + "name": "exitEditMode", + "tagname": "method", + "owner": "Backgrid.Cell", + "meta": { + }, + "id": "method-exitEditMode" + }, + { + "name": "initialize", + "tagname": "method", + "owner": "Backgrid.Cell", + "meta": { + }, + "id": "method-initialize" + }, + { + "name": "remove", + "tagname": "method", + "owner": "Backgrid.Cell", + "meta": { + "chainable": true + }, + "id": "method-remove" + }, + { + "name": "render", + "tagname": "method", + "owner": "Backgrid.Cell", + "meta": { + "chainable": true + }, + "id": "method-render" + }, + { + "name": "renderError", + "tagname": "method", + "owner": "Backgrid.Cell", + "meta": { + }, + "id": "method-renderError" + } + ], + "event": [ + + ], + "css_var": [ + + ], + "css_mixin": [ + + ] + }, + "linenr": 364, + "files": [ + { + "filename": "cell.js", + "href": null + } + ], + "html_meta": { + }, + "statics": { + "cfg": [ + + ], + "property": [ + + ], + "method": [ + + ], + "event": [ + + ], + "css_var": [ + + ], + "css_mixin": [ + + ] + }, + "component": false, + "superclasses": [ + "Backbone.View", + "Backgrid.Cell" + ], + "subclasses": [ + + ], + "mixedInto": [ + + ], + "parentMixins": [ + + ], + "html": "

    Hierarchy

    Backbone.View
    Backgrid.Cell
    Backgrid.UriCell

    UriCell renders an HTML <a> anchor for the value and accepts URIs as user\ninput values. No type conversion or URL validation is done by the formatter\nof this cell. Users who need URL validation are encourage to subclass UriCell\nto take advantage of the parsing capabilities of the HTMLAnchorElement\navailable on HTML5-capable browsers or using a third-party library like\nURI.js.

    \n
    Defined By

    Properties

    Backgrid.UriCell
    : String
    ...
    \n

    Defaults to: "uri-cell"

    The\ndefault editor for all cell instances of this class. ...

    The\ndefault editor for all cell instances of this class. This value must be a\nclass, it will be automatically instantiated upon entering edit mode.

    \n\n

    See Backgrid.CellEditor

    \n

    Defaults to: Backgrid.InputCellEditor

    ...
    \n

    Defaults to: {"click": "enterEditMode"}

    ...
    \n

    Defaults to: CellFormatter

    ...
    \n

    Defaults to: "td"

    Backgrid.UriCell
    : string
    The target attribute of the generated\nanchor. ...

    The target attribute of the generated\nanchor.

    \n

    Defaults to: "_blank"

    Backgrid.UriCell
    : string
    The title attribute of the generated anchor. ...

    The title attribute of the generated anchor. It\nuses the display value formatted by the formatter.fromRaw by default.

    \n
    Defined By

    Methods

    If this column is editable, a new CellEditor instance is instantiated with\nits required parameters. ...

    If this column is editable, a new CellEditor instance is instantiated with\nits required parameters. An editor CSS class is added to the cell upon\nentering edit mode.

    \n\n

    This method triggers a Backbone backgrid:edit event from the model when\nthe cell is entering edit mode and an editor instance has been constructed,\nbut before it is rendered and inserted into the DOM. The cell and the\nconstructed cell editor instance are sent as event parameters when this\nevent is triggered.

    \n\n

    When this cell has finished switching to edit mode, a Backbone\nbackgrid:editing event is triggered from the model. The cell and the\nconstructed cell instance are also sent as parameters in the event.

    \n\n

    When the model triggers a backgrid:error event, it means the editor is\nunable to convert the current user input to an apprpriate value for the\nmodel's column, and an error CSS class is added to the cell accordingly.

    \n
    Removes the editor and re-render in display mode. ...

    Removes the editor and re-render in display mode.

    \n
    Initializer. ...

    Initializer.

    \n

    Parameters

    Throws

    • ReferenceError

      If formatter is a string but a formatter class of\nsaid name cannot be found in the Backgrid module.

      \n
    Clean up this cell. ...

    Clean up this cell.

    \n

    Returns

    Render a text string in a table cell. ...

    Render a text string in a table cell. The text is converted from the\nmodel's raw value for this cell's column.

    \n

    Returns

    ( model, column )
    Put an error CSS class on the table cell. ...

    Put an error CSS class on the table cell.

    \n

    Parameters

    • model : Object
      \n
    • column : Object
      \n
    " +}); \ No newline at end of file diff --git a/api/resources/css/app-0b2d94a756da271cc9ed4a65f4837560.css b/api/resources/css/app-0b2d94a756da271cc9ed4a65f4837560.css new file mode 100644 index 00000000..93060c9f --- /dev/null +++ b/api/resources/css/app-0b2d94a756da271cc9ed4a65f4837560.css @@ -0,0 +1 @@ +html,body,div,dl,dt,dd,ul,ol,li,h1,h2,h3,h4,h5,h6,pre,code,form,fieldset,legend,input,textarea,p,blockquote,th,td{margin:0;padding:0}table{border-collapse:collapse;border-spacing:0}fieldset,img{border:0}address,caption,cite,code,dfn,em,strong,th,var{font-style:normal;font-weight:normal}li{list-style:none}caption,th{text-align:left}h1,h2,h3,h4,h5,h6{font-size:100%}q:before,q:after{content:""}abbr,acronym{border:0;font-variant:normal}sup{vertical-align:text-top}sub{vertical-align:text-bottom}input,textarea,select{font-family:inherit;font-size:inherit;font-weight:inherit}*:focus{outline:0}.x-border-box,.x-border-box *{box-sizing:border-box;-moz-box-sizing:border-box;-ms-box-sizing:border-box;-webkit-box-sizing:border-box}.x-body{color:black;font-size:12px;font-family:Helvetica Neue,Arial,sans-serif}.x-rtl{direction:rtl}.x-ltr{direction:ltr}.x-clear{overflow:hidden;clear:both;font-size:0;line-height:0;display:table}.x-strict .x-ie7 .x-clear{height:0;width:0}.x-layer{position:absolute!important;overflow:hidden;zoom:1}.x-shim{position:absolute;left:0;top:0;overflow:hidden;filter:alpha(opacity=0);opacity:0}.x-hide-display{display:none!important}.x-hide-visibility{visibility:hidden!important}.x-item-disabled .x-form-item-label,.x-item-disabled .x-form-field,.x-item-disabled .x-form-cb-label,.x-item-disabled .x-form-trigger{filter:alpha(opacity=30);opacity:.3}.x-ie6 .x-item-disabled{filter:none}.x-hidden,.x-hide-offsets{display:block!important;visibility:hidden!important;position:absolute!important;left:-10000px!important;top:-10000px!important}.x-hide-nosize{height:0!important;width:0!important}.x-masked-relative{position:relative}.x-ie6 .x-masked select,.x-ie6.x-body-masked select{visibility:hidden!important}.x-css-shadow{position:absolute;-webkit-border-radius:5px 5px;-moz-border-radius:5px 5px;-ms-border-radius:5px 5px;-o-border-radius:5px 5px;border-radius:5px 5px}.x-ie-shadow{background-color:#777;display:none;position:absolute;overflow:hidden;zoom:1}.x-box-tl{background:transparent no-repeat 0 0;zoom:1}.x-box-tc{height:8px;background:transparent repeat-x 0 0;overflow:hidden}.x-box-tr{background:transparent no-repeat right -8px}.x-box-ml{background:transparent repeat-y 0;padding-left:4px;overflow:hidden;zoom:1}.x-box-mc{background:repeat-x 0 -16px;padding:4px 10px}.x-box-mc h3{margin:0 0 4px 0;zoom:1}.x-box-mr{background:transparent repeat-y right;padding-right:4px;overflow:hidden}.x-box-bl{background:transparent no-repeat 0 -16px;zoom:1}.x-box-bc{background:transparent repeat-x 0 -8px;height:8px;overflow:hidden}.x-box-br{background:transparent 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-tl{background-image:url('../../extjs/resources/themes/images/default/box/corners.gif')}.x-box-tc{background-image:url('../../extjs/resources/themes/images/default/box/tb.gif')}.x-box-tr{background-image:url('../../extjs/resources/themes/images/default/box/corners.gif')}.x-box-ml{background-image:url('../../extjs/resources/themes/images/default/box/l.gif')}.x-box-mc{background-color:#eee;background-image:url('../../extjs/resources/themes/images/default/box/tb.gif');font-family:"Myriad Pro","Myriad Web","Tahoma","Helvetica","Arial",sans-serif;color:#393939;font-size:15px}.x-box-mc h3{font-size:18px;font-weight:bold}.x-box-mr{background-image:url('../../extjs/resources/themes/images/default/box/r.gif')}.x-box-bl{background-image:url('../../extjs/resources/themes/images/default/box/corners.gif')}.x-box-bc{background-image:url('../../extjs/resources/themes/images/default/box/tb.gif')}.x-box-br{background-image:url('../../extjs/resources/themes/images/default/box/corners.gif')}.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('../../extjs/resources/themes/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('../../extjs/resources/themes/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('../../extjs/resources/themes/images/default/box/l-blue.gif')}.x-box-blue .x-box-mr{background-image:url('../../extjs/resources/themes/images/default/box/r-blue.gif')}.x-container{zoom:1}.x-container:before{content:"";clear:both;display:table}table.x-container:before,tbody.x-container:before,tr.x-container:before{display:none}.x-focus-element{position:absolute;top:-10px;left:-10px;width:0;height:0}.x-focus-frame{position:absolute;left:0;top:0;z-index:100000000;width:0;height:0}.x-focus-frame-top,.x-focus-frame-bottom,.x-focus-frame-left,.x-focus-frame-right{position:absolute;top:0;left:0}.x-focus-frame-top,.x-focus-frame-bottom{border-top:solid 2px #15428b;height:2px}.x-focus-frame-left,.x-focus-frame-right{border-left:solid 2px #15428b;width:2px}.x-mask{z-index:100;position:absolute;top:0;left:0;filter:alpha(opacity=50);opacity:.5;width:100%;height:100%;zoom:1;background:#ccc}.x-mask-msg{z-index:20001;position:absolute;top:0;left:0;padding:2px;border:1px solid;border-color:#bfbfbf;background:#fdfdfd}.x-mask-msg div{padding:5px 10px 5px 25px;background-image:url('../../extjs/resources/themes/images/default/grid/loading.gif');background-repeat:no-repeat;background-position:5px center;cursor:wait;border:1px solid #d0d0d0;background-color:#eee;color:#222;font:normal 11px Helvetica Neue,Arial,sans-serif}.x-boundlist{border-width:1px;border-style:solid;border-color:#e2cfcf;background:white}.x-boundlist .x-toolbar{border-width:1px 0 0 0}.x-strict .x-ie6 .x-boundlist-list-ct,.x-strict .x-ie7 .x-boundlist-list-ct{position:relative}.x-boundlist-item{padding:2px;user-select:none;-o-user-select:none;-ms-user-select:none;-moz-user-select:-moz-none;-webkit-user-select:none;cursor:default;cursor:pointer;cursor:hand;position:relative;border-width:1px;border-style:dotted;border-color:white}.x-boundlist-selected{background:#f0f0f0;border-color:#cfc9c9}.x-boundlist-item-over{background:#fdfdfd;border-color:#dbd7d6}.x-boundlist-floating{border-top-width:0}.x-boundlist-above{border-top-width:1px;border-bottom-width:1px}.x-btn{display:inline-block;zoom:1;*display:inline;position:relative;cursor:pointer;cursor:hand;white-space:nowrap;vertical-align:middle;background-repeat:no-repeat}.x-btn *{cursor:pointer;cursor:hand}.x-btn em{background-repeat:no-repeat}.x-btn em a{text-decoration:none;display:block;color:inherit;width:100%;zoom:1}.x-btn button{width:100%;display:block;margin:0;padding:0;border:0;background:0;outline:0 none;overflow:hidden;vertical-align:bottom;-webkit-appearance:none}.x-btn button::-moz-focus-inner{border:0;padding:0}.x-btn .x-btn-inner{display:block;white-space:nowrap;background-color:transparent;background-repeat:no-repeat;background-position:left center;overflow:hidden}.x-btn .x-btn-left .x-btn-inner{text-align:left}.x-btn .x-btn-center .x-btn-inner{text-align:center}.x-btn .x-btn-right .x-btn-inner{text-align:right}.x-btn-disabled span{filter:alpha(opacity=50);opacity:.5}.x-ie6 .x-btn-disabled span,.x-ie7 .x-btn-disabled span{filter:none}.x-ie7 .x-btn-disabled,.x-ie8 .x-btn-disabled{filter:none}.x-ie6 .x-btn-disabled .x-btn-icon,.x-ie7 .x-btn-disabled .x-btn-icon,.x-ie8 .x-btn-disabled .x-btn-icon{filter:alpha(opacity=60);opacity:.6}.x-ie9 .x-btn button{overflow:visible!important}* html .x-ie .x-btn button{width:1px}.x-ie .x-btn button{overflow-x:visible;vertical-align:baseline}.x-strict .x-ie6 .x-btn .x-frame-mc,.x-strict .x-ie7 .x-btn .x-frame-mc{height:100%}.x-btn .x-frame-mc{vertical-align:middle;white-space:nowrap;cursor:pointer}.x-btn-noicon .x-frame-mc{text-align:center}.x-btn-icon-text-left .x-btn-icon{background-position:left center}.x-btn-icon-text-right .x-btn-icon{background-position:right center}.x-btn-icon-text-top .x-btn-icon{background-position:center top}.x-btn-icon-text-bottom .x-btn-icon{background-position:center bottom}.x-btn button,.x-btn a{position:relative}.x-btn button .x-btn-icon,.x-btn a .x-btn-icon{position:absolute;background-repeat:no-repeat}.x-btn-arrow-right{background:transparent no-repeat right center;padding-right:12px}.x-btn-arrow-right .x-btn-inner{padding-right:0!important}.x-toolbar .x-btn-arrow-right{padding-right:12px}.x-btn-arrow-bottom{background:transparent no-repeat center bottom;padding-bottom:12px}.x-btn-arrow{background-image:url('../../extjs/resources/themes/images/default/button/arrow.gif');display:block}.x-btn-split-right,.x-btn-over .x-btn-split-right{background:transparent no-repeat right center;background-image:url('../../extjs/resources/themes/images/default/button/s-arrow.gif');padding-right:14px!important}.x-btn-split-bottom,.x-btn-over .x-btn-split-bottom{background:transparent no-repeat center bottom;background-image:url('../../extjs/resources/themes/images/default/button/s-arrow-b.gif');padding-bottom:14px}.x-toolbar .x-btn-split-right{background-image:url('../../extjs/resources/themes/images/default/button/s-arrow-noline.gif');padding-right:12px!important}.x-toolbar .x-btn-split-bottom{background-image:url('../../extjs/resources/themes/images/default/button/s-arrow-b-noline.gif')}.x-btn-split{display:block}.x-item-disabled,.x-item-disabled *{cursor:default}.x-cycle-fixed-width .x-btn-inner{text-align:inherit}.x-btn-over .x-btn-split-right{background-image:url('../../extjs/resources/themes/images/default/button/s-arrow-o.gif')}.x-btn-over .x-btn-split-bottom{background-image:url('../../extjs/resources/themes/images/default/button/s-arrow-bo.gif')}.x-btn-default-small{border-color:#d1d1d1}.x-btn-default-small{-webkit-border-radius:3px;-moz-border-radius:3px;-ms-border-radius:3px;-o-border-radius:3px;border-radius:3px;padding:2px 2px 2px 2px;border-width:1px;border-style:solid;background-image:none;background-color:white;background-image:-webkit-gradient(linear,50% 0,50% 100%,color-stop(0%,#fff),color-stop(48%,#f9f9f9),color-stop(52%,#e2e2e2),color-stop(100%,#e7e7e7));background-image:-webkit-linear-gradient(top,#fff,#f9f9f9 48%,#e2e2e2 52%,#e7e7e7);background-image:-moz-linear-gradient(top,#fff,#f9f9f9 48%,#e2e2e2 52%,#e7e7e7);background-image:-o-linear-gradient(top,#fff,#f9f9f9 48%,#e2e2e2 52%,#e7e7e7);background-image:linear-gradient(top,#fff,#f9f9f9 48%,#e2e2e2 52%,#e7e7e7)}.x-nlg .x-btn-default-small-mc{background-image:url('../../extjs/resources/themes/images/default/btn/btn-default-small-bg.gif');background-color:white}.x-nbr .x-btn-default-small{padding:0!important;border-width:0!important;-webkit-border-radius:0;-moz-border-radius:0;-ms-border-radius:0;-o-border-radius:0;border-radius:0;background-color:transparent;background-position:1100303px 1000303px}.x-nbr .x-btn-default-small-tl,.x-nbr .x-btn-default-small-bl,.x-nbr .x-btn-default-small-tr,.x-nbr .x-btn-default-small-br,.x-nbr .x-btn-default-small-tc,.x-nbr .x-btn-default-small-bc,.x-nbr .x-btn-default-small-ml,.x-nbr .x-btn-default-small-mr{zoom:1;background-image:url('../../extjs/resources/themes/images/default/btn/btn-default-small-corners.gif')}.x-nbr .x-btn-default-small-ml,.x-nbr .x-btn-default-small-mr{zoom:1;background-image:url('../../extjs/resources/themes/images/default/btn/btn-default-small-sides.gif');background-position:0 0}.x-nbr .x-btn-default-small-mc{padding:0}.x-strict .x-ie7 .x-btn-default-small-tl,.x-strict .x-ie7 .x-btn-default-small-bl{position:relative;right:0}.x-btn-default-small .x-btn-inner{font-size:11px;font-weight:normal;font-family:Helvetica Neue,Arial,sans-serif;color:#333;background-repeat:no-repeat;padding:0 4px}.x-btn-default-small-icon button,.x-btn-default-small-icon a,.x-btn-default-small-icon .x-btn-inner,.x-btn-default-small-noicon button,.x-btn-default-small-noicon a,.x-btn-default-small-noicon .x-btn-inner{height:16px;line-height:16px}.x-btn-default-small-icon button,.x-btn-default-small-icon a{padding:0}.x-btn-default-small-icon .x-btn-inner{width:16px;padding:0}.x-btn-default-small-icon .x-btn-icon{width:16px;height:16px;top:0;left:0;bottom:0;right:0}.x-btn-default-small-icon-text-left button,.x-btn-default-small-icon-text-left a{height:16px}.x-btn-default-small-icon-text-left .x-btn-inner{height:16px;line-height:16px;padding-left:20px}.x-btn-default-small-icon-text-left .x-btn-icon{width:16px;height:auto;top:0;left:0;bottom:0;right:auto}.x-ie6 .x-btn-default-small-icon-text-left .x-btn-icon,.x-quirks .x-btn-default-small-icon-text-left .x-btn-icon{height:16px}.x-btn-default-small-icon-text-right button,.x-btn-default-small-icon-text-right a{height:16px}.x-btn-default-small-icon-text-right .x-btn-inner{height:16px;line-height:16px;padding-right:20px!important}.x-btn-default-small-icon-text-right .x-btn-icon{width:16px;height:auto;top:0;left:auto;bottom:0;right:0}.x-ie6 .x-btn-default-small-icon-text-right .x-btn-icon,.x-quirks .x-btn-default-small-icon-text-right .x-btn-icon{height:16px}.x-btn-default-small-icon-text-top .x-btn-inner{padding-top:20px}.x-btn-default-small-icon-text-top .x-btn-icon{width:auto;height:16px;top:0;left:0;bottom:auto;right:0}.x-ie6 .x-btn-default-small-icon-text-top .x-btn-icon,.x-quirks .x-ie .x-btn-default-small-icon-text-top .x-btn-icon{width:16px}.x-btn-default-small-icon-text-bottom .x-btn-inner{padding-bottom:20px}.x-btn-default-small-icon-text-bottom .x-btn-icon{width:auto;height:16px;top:auto;left:0;bottom:0;right:0}.x-ie6 .x-btn-default-small-icon-text-bottom .x-btn-icon,.x-quirks .x-ie .x-btn-default-small-icon-text-bottom .x-btn-icon{width:16px}.x-btn-default-small-over{border-color:#e4dad9;background-image:none;background-color:white;background-image:-webkit-gradient(linear,50% 0,50% 100%,color-stop(0%,#fff),color-stop(48%,#fcf7f7),color-stop(52%,#eae5e5),color-stop(100%,#efe8e8));background-image:-webkit-linear-gradient(top,#fff,#fcf7f7 48%,#eae5e5 52%,#efe8e8);background-image:-moz-linear-gradient(top,#fff,#fcf7f7 48%,#eae5e5 52%,#efe8e8);background-image:-o-linear-gradient(top,#fff,#fcf7f7 48%,#eae5e5 52%,#efe8e8);background-image:linear-gradient(top,#fff,#fcf7f7 48%,#eae5e5 52%,#efe8e8)}.x-btn-default-small-focus{border-color:#e4dad9;background-image:none;background-color:white;background-image:-webkit-gradient(linear,50% 0,50% 100%,color-stop(0%,#fff),color-stop(48%,#fcf7f7),color-stop(52%,#eae5e5),color-stop(100%,#efe8e8));background-image:-webkit-linear-gradient(top,#fff,#fcf7f7 48%,#eae5e5 52%,#efe8e8);background-image:-moz-linear-gradient(top,#fff,#fcf7f7 48%,#eae5e5 52%,#efe8e8);background-image:-o-linear-gradient(top,#fff,#fcf7f7 48%,#eae5e5 52%,#efe8e8);background-image:linear-gradient(top,#fff,#fcf7f7 48%,#eae5e5 52%,#efe8e8)}.x-btn-default-small-menu-active,.x-btn-default-small-pressed{border-color:#d5cfcf;background-image:none;background-color:#e0e0e0;background-image:-webkit-gradient(linear,50% 0,50% 100%,color-stop(0%,#e0e0e0),color-stop(48%,#e5e5e5),color-stop(52%,#e4c3c5),color-stop(100%,#e7cbcc));background-image:-webkit-linear-gradient(top,#e0e0e0,#e5e5e5 48%,#e4c3c5 52%,#e7cbcc);background-image:-moz-linear-gradient(top,#e0e0e0,#e5e5e5 48%,#e4c3c5 52%,#e7cbcc);background-image:-o-linear-gradient(top,#e0e0e0,#e5e5e5 48%,#e4c3c5 52%,#e7cbcc);background-image:linear-gradient(top,#e0e0e0,#e5e5e5 48%,#e4c3c5 52%,#e7cbcc)}.x-btn-default-small-disabled{border-color:#e9e9e9;background-image:none;background-color:white;background-image:-webkit-gradient(linear,50% 0,50% 100%,color-stop(0%,#fff),color-stop(48%,#f9f9f9),color-stop(52%,#e2e2e2),color-stop(100%,#e7e7e7));background-image:-webkit-linear-gradient(top,#fff,#f9f9f9 48%,#e2e2e2 52%,#e7e7e7);background-image:-moz-linear-gradient(top,#fff,#f9f9f9 48%,#e2e2e2 52%,#e7e7e7);background-image:-o-linear-gradient(top,#fff,#f9f9f9 48%,#e2e2e2 52%,#e7e7e7);background-image:linear-gradient(top,#fff,#f9f9f9 48%,#e2e2e2 52%,#e7e7e7)}.x-btn-default-small-disabled .x-btn-inner{color:#333!important}.x-ie .x-btn-default-small-disabled .x-btn-inner{color:#595959!important}.x-ie6 .x-btn-default-small-disabled .x-btn-inner{color:#8c8c8c!important}.x-nbr .x-btn-default-small-over .x-frame-tl,.x-nbr .x-btn-default-small-over .x-frame-bl,.x-nbr .x-btn-default-small-over .x-frame-tr,.x-nbr .x-btn-default-small-over .x-frame-br,.x-nbr .x-btn-default-small-over .x-frame-tc,.x-nbr .x-btn-default-small-over .x-frame-bc{background-image:url('../../extjs/resources/themes/images/default/btn/btn-default-small-over-corners.gif')}.x-nbr .x-btn-default-small-over .x-frame-ml,.x-nbr .x-btn-default-small-over .x-frame-mr{background-image:url('../../extjs/resources/themes/images/default/btn/btn-default-small-over-sides.gif')}.x-nbr .x-btn-default-small-over .x-frame-mc{background-color:white;background-image:url('../../extjs/resources/themes/images/default/btn/btn-default-small-over-bg.gif')}.x-nbr .x-btn-default-small-focus .x-frame-tl,.x-nbr .x-btn-default-small-focus .x-frame-bl,.x-nbr .x-btn-default-small-focus .x-frame-tr,.x-nbr .x-btn-default-small-focus .x-frame-br,.x-nbr .x-btn-default-small-focus .x-frame-tc,.x-nbr .x-btn-default-small-focus .x-frame-bc{background-image:url('../../extjs/resources/themes/images/default/btn/btn-default-small-focus-corners.gif')}.x-nbr .x-btn-default-small-focus .x-frame-ml,.x-nbr .x-btn-default-small-focus .x-frame-mr{background-image:url('../../extjs/resources/themes/images/default/btn/btn-default-small-focus-sides.gif')}.x-nbr .x-btn-default-small-focus .x-frame-mc{background-color:white;background-image:url('../../extjs/resources/themes/images/default/btn/btn-default-small-focus-bg.gif')}.x-nbr .x-btn-default-small-menu-active .x-frame-tl,.x-nbr .x-btn-default-small-menu-active .x-frame-bl,.x-nbr .x-btn-default-small-menu-active .x-frame-tr,.x-nbr .x-btn-default-small-menu-active .x-frame-br,.x-nbr .x-btn-default-small-menu-active .x-frame-tc,.x-nbr .x-btn-default-small-menu-active .x-frame-bc,.x-nbr .x-btn-default-small-pressed .x-frame-tl,.x-nbr .x-btn-default-small-pressed .x-frame-bl,.x-nbr .x-btn-default-small-pressed .x-frame-tr,.x-nbr .x-btn-default-small-pressed .x-frame-br,.x-nbr .x-btn-default-small-pressed .x-frame-tc,.x-nbr .x-btn-default-small-pressed .x-frame-bc{background-image:url('../../extjs/resources/themes/images/default/btn/btn-default-small-pressed-corners.gif')}.x-nbr .x-btn-default-small-menu-active .x-frame-ml,.x-nbr .x-btn-default-small-menu-active .x-frame-mr,.x-nbr .x-btn-default-small-pressed .x-frame-ml,.x-nbr .x-btn-default-small-pressed .x-frame-mr{background-image:url('../../extjs/resources/themes/images/default/btn/btn-default-small-pressed-sides.gif')}.x-nbr .x-btn-default-small-menu-active .x-frame-mc,.x-nbr .x-btn-default-small-pressed .x-frame-mc{background-color:#e0e0e0;background-image:url('../../extjs/resources/themes/images/default/btn/btn-default-small-pressed-bg.gif')}.x-nbr .x-btn-default-small-disabled .x-frame-tl,.x-nbr .x-btn-default-small-disabled .x-frame-bl,.x-nbr .x-btn-default-small-disabled .x-frame-tr,.x-nbr .x-btn-default-small-disabled .x-frame-br,.x-nbr .x-btn-default-small-disabled .x-frame-tc,.x-nbr .x-btn-default-small-disabled .x-frame-bc{background-image:url('../../extjs/resources/themes/images/default/btn/btn-default-small-disabled-corners.gif')}.x-nbr .x-btn-default-small-disabled .x-frame-ml,.x-nbr .x-btn-default-small-disabled .x-frame-mr{background-image:url('../../extjs/resources/themes/images/default/btn/btn-default-small-disabled-sides.gif')}.x-nbr .x-btn-default-small-disabled .x-frame-mc{background-color:white;background-image:url('../../extjs/resources/themes/images/default/btn/btn-default-small-disabled-bg.gif')}.x-nlg .x-btn-default-small{background-repeat:repeat-x;background-image:url('../../extjs/resources/themes/images/default/btn/btn-default-small-bg.gif')}.x-nlg .x-btn-default-small-over{background-repeat:repeat-x;background-image:url('../../extjs/resources/themes/images/default/btn/btn-default-small-over-bg.gif')}.x-nlg .x-btn-default-small-focus{background-repeat:repeat-x;background-image:url('../../extjs/resources/themes/images/default/btn/btn-default-small-focus-bg.gif')}.x-nlg .x-btn-default-small-menu-active,.x-nlg .x-btn-default-small-pressed{background-repeat:repeat-x;background-image:url('../../extjs/resources/themes/images/default/btn/btn-default-small-pressed-bg.gif')}.x-nlg .x-btn-default-small-disabled{background-repeat:repeat-x;background-image:url('../../extjs/resources/themes/images/default/btn/btn-default-small-disabled-bg.gif')}.x-btn-default-medium{border-color:#d1d1d1}.x-btn-default-medium{-webkit-border-radius:3px;-moz-border-radius:3px;-ms-border-radius:3px;-o-border-radius:3px;border-radius:3px;padding:3px 3px 3px 3px;border-width:1px;border-style:solid;background-image:none;background-color:white;background-image:-webkit-gradient(linear,50% 0,50% 100%,color-stop(0%,#fff),color-stop(48%,#f9f9f9),color-stop(52%,#e2e2e2),color-stop(100%,#e7e7e7));background-image:-webkit-linear-gradient(top,#fff,#f9f9f9 48%,#e2e2e2 52%,#e7e7e7);background-image:-moz-linear-gradient(top,#fff,#f9f9f9 48%,#e2e2e2 52%,#e7e7e7);background-image:-o-linear-gradient(top,#fff,#f9f9f9 48%,#e2e2e2 52%,#e7e7e7);background-image:linear-gradient(top,#fff,#f9f9f9 48%,#e2e2e2 52%,#e7e7e7)}.x-nlg .x-btn-default-medium-mc{background-image:url('../../extjs/resources/themes/images/default/btn/btn-default-medium-bg.gif');background-color:white}.x-nbr .x-btn-default-medium{padding:0!important;border-width:0!important;-webkit-border-radius:0;-moz-border-radius:0;-ms-border-radius:0;-o-border-radius:0;border-radius:0;background-color:transparent;background-position:1100303px 1000303px}.x-nbr .x-btn-default-medium-tl,.x-nbr .x-btn-default-medium-bl,.x-nbr .x-btn-default-medium-tr,.x-nbr .x-btn-default-medium-br,.x-nbr .x-btn-default-medium-tc,.x-nbr .x-btn-default-medium-bc,.x-nbr .x-btn-default-medium-ml,.x-nbr .x-btn-default-medium-mr{zoom:1;background-image:url('../../extjs/resources/themes/images/default/btn/btn-default-medium-corners.gif')}.x-nbr .x-btn-default-medium-ml,.x-nbr .x-btn-default-medium-mr{zoom:1;background-image:url('../../extjs/resources/themes/images/default/btn/btn-default-medium-sides.gif');background-position:0 0}.x-nbr .x-btn-default-medium-mc{padding:1px 1px 1px 1px}.x-strict .x-ie7 .x-btn-default-medium-tl,.x-strict .x-ie7 .x-btn-default-medium-bl{position:relative;right:0}.x-btn-default-medium .x-btn-inner{font-size:11px;font-weight:normal;font-family:Helvetica Neue,Arial,sans-serif;color:#333;background-repeat:no-repeat;padding:0 3px}.x-btn-default-medium-icon button,.x-btn-default-medium-icon a,.x-btn-default-medium-icon .x-btn-inner,.x-btn-default-medium-noicon button,.x-btn-default-medium-noicon a,.x-btn-default-medium-noicon .x-btn-inner{height:24px;line-height:24px}.x-btn-default-medium-icon button,.x-btn-default-medium-icon a{padding:0}.x-btn-default-medium-icon .x-btn-inner{width:24px;padding:0}.x-btn-default-medium-icon .x-btn-icon{width:24px;height:24px;top:0;left:0;bottom:0;right:0}.x-btn-default-medium-icon-text-left button,.x-btn-default-medium-icon-text-left a{height:24px}.x-btn-default-medium-icon-text-left .x-btn-inner{height:24px;line-height:24px;padding-left:28px}.x-btn-default-medium-icon-text-left .x-btn-icon{width:24px;height:auto;top:0;left:0;bottom:0;right:auto}.x-ie6 .x-btn-default-medium-icon-text-left .x-btn-icon,.x-quirks .x-btn-default-medium-icon-text-left .x-btn-icon{height:24px}.x-btn-default-medium-icon-text-right button,.x-btn-default-medium-icon-text-right a{height:24px}.x-btn-default-medium-icon-text-right .x-btn-inner{height:24px;line-height:24px;padding-right:28px!important}.x-btn-default-medium-icon-text-right .x-btn-icon{width:24px;height:auto;top:0;left:auto;bottom:0;right:0}.x-ie6 .x-btn-default-medium-icon-text-right .x-btn-icon,.x-quirks .x-btn-default-medium-icon-text-right .x-btn-icon{height:24px}.x-btn-default-medium-icon-text-top .x-btn-inner{padding-top:28px}.x-btn-default-medium-icon-text-top .x-btn-icon{width:auto;height:24px;top:0;left:0;bottom:auto;right:0}.x-ie6 .x-btn-default-medium-icon-text-top .x-btn-icon,.x-quirks .x-ie .x-btn-default-medium-icon-text-top .x-btn-icon{width:24px}.x-btn-default-medium-icon-text-bottom .x-btn-inner{padding-bottom:28px}.x-btn-default-medium-icon-text-bottom .x-btn-icon{width:auto;height:24px;top:auto;left:0;bottom:0;right:0}.x-ie6 .x-btn-default-medium-icon-text-bottom .x-btn-icon,.x-quirks .x-ie .x-btn-default-medium-icon-text-bottom .x-btn-icon{width:24px}.x-btn-default-medium-over{border-color:#e4dad9;background-image:none;background-color:white;background-image:-webkit-gradient(linear,50% 0,50% 100%,color-stop(0%,#fff),color-stop(48%,#fcf7f7),color-stop(52%,#eae5e5),color-stop(100%,#efe8e8));background-image:-webkit-linear-gradient(top,#fff,#fcf7f7 48%,#eae5e5 52%,#efe8e8);background-image:-moz-linear-gradient(top,#fff,#fcf7f7 48%,#eae5e5 52%,#efe8e8);background-image:-o-linear-gradient(top,#fff,#fcf7f7 48%,#eae5e5 52%,#efe8e8);background-image:linear-gradient(top,#fff,#fcf7f7 48%,#eae5e5 52%,#efe8e8)}.x-btn-default-medium-focus{border-color:#e4dad9;background-image:none;background-color:white;background-image:-webkit-gradient(linear,50% 0,50% 100%,color-stop(0%,#fff),color-stop(48%,#fcf7f7),color-stop(52%,#eae5e5),color-stop(100%,#efe8e8));background-image:-webkit-linear-gradient(top,#fff,#fcf7f7 48%,#eae5e5 52%,#efe8e8);background-image:-moz-linear-gradient(top,#fff,#fcf7f7 48%,#eae5e5 52%,#efe8e8);background-image:-o-linear-gradient(top,#fff,#fcf7f7 48%,#eae5e5 52%,#efe8e8);background-image:linear-gradient(top,#fff,#fcf7f7 48%,#eae5e5 52%,#efe8e8)}.x-btn-default-medium-menu-active,.x-btn-default-medium-pressed{border-color:#d5cfcf;background-image:none;background-color:#e0e0e0;background-image:-webkit-gradient(linear,50% 0,50% 100%,color-stop(0%,#e0e0e0),color-stop(48%,#e5e5e5),color-stop(52%,#e4c3c5),color-stop(100%,#e7cbcc));background-image:-webkit-linear-gradient(top,#e0e0e0,#e5e5e5 48%,#e4c3c5 52%,#e7cbcc);background-image:-moz-linear-gradient(top,#e0e0e0,#e5e5e5 48%,#e4c3c5 52%,#e7cbcc);background-image:-o-linear-gradient(top,#e0e0e0,#e5e5e5 48%,#e4c3c5 52%,#e7cbcc);background-image:linear-gradient(top,#e0e0e0,#e5e5e5 48%,#e4c3c5 52%,#e7cbcc)}.x-btn-default-medium-disabled{border-color:#e9e9e9;background-image:none;background-color:white;background-image:-webkit-gradient(linear,50% 0,50% 100%,color-stop(0%,#fff),color-stop(48%,#f9f9f9),color-stop(52%,#e2e2e2),color-stop(100%,#e7e7e7));background-image:-webkit-linear-gradient(top,#fff,#f9f9f9 48%,#e2e2e2 52%,#e7e7e7);background-image:-moz-linear-gradient(top,#fff,#f9f9f9 48%,#e2e2e2 52%,#e7e7e7);background-image:-o-linear-gradient(top,#fff,#f9f9f9 48%,#e2e2e2 52%,#e7e7e7);background-image:linear-gradient(top,#fff,#f9f9f9 48%,#e2e2e2 52%,#e7e7e7)}.x-btn-default-medium-disabled .x-btn-inner{color:#333!important}.x-ie .x-btn-default-medium-disabled .x-btn-inner{color:#595959!important}.x-ie6 .x-btn-default-medium-disabled .x-btn-inner{color:#8c8c8c!important}.x-nbr .x-btn-default-medium-over .x-frame-tl,.x-nbr .x-btn-default-medium-over .x-frame-bl,.x-nbr .x-btn-default-medium-over .x-frame-tr,.x-nbr .x-btn-default-medium-over .x-frame-br,.x-nbr .x-btn-default-medium-over .x-frame-tc,.x-nbr .x-btn-default-medium-over .x-frame-bc{background-image:url('../../extjs/resources/themes/images/default/btn/btn-default-medium-over-corners.gif')}.x-nbr .x-btn-default-medium-over .x-frame-ml,.x-nbr .x-btn-default-medium-over .x-frame-mr{background-image:url('../../extjs/resources/themes/images/default/btn/btn-default-medium-over-sides.gif')}.x-nbr .x-btn-default-medium-over .x-frame-mc{background-color:white;background-image:url('../../extjs/resources/themes/images/default/btn/btn-default-medium-over-bg.gif')}.x-nbr .x-btn-default-medium-focus .x-frame-tl,.x-nbr .x-btn-default-medium-focus .x-frame-bl,.x-nbr .x-btn-default-medium-focus .x-frame-tr,.x-nbr .x-btn-default-medium-focus .x-frame-br,.x-nbr .x-btn-default-medium-focus .x-frame-tc,.x-nbr .x-btn-default-medium-focus .x-frame-bc{background-image:url('../../extjs/resources/themes/images/default/btn/btn-default-medium-focus-corners.gif')}.x-nbr .x-btn-default-medium-focus .x-frame-ml,.x-nbr .x-btn-default-medium-focus .x-frame-mr{background-image:url('../../extjs/resources/themes/images/default/btn/btn-default-medium-focus-sides.gif')}.x-nbr .x-btn-default-medium-focus .x-frame-mc{background-color:white;background-image:url('../../extjs/resources/themes/images/default/btn/btn-default-medium-focus-bg.gif')}.x-nbr .x-btn-default-medium-menu-active .x-frame-tl,.x-nbr .x-btn-default-medium-menu-active .x-frame-bl,.x-nbr .x-btn-default-medium-menu-active .x-frame-tr,.x-nbr .x-btn-default-medium-menu-active .x-frame-br,.x-nbr .x-btn-default-medium-menu-active .x-frame-tc,.x-nbr .x-btn-default-medium-menu-active .x-frame-bc,.x-nbr .x-btn-default-medium-pressed .x-frame-tl,.x-nbr .x-btn-default-medium-pressed .x-frame-bl,.x-nbr .x-btn-default-medium-pressed .x-frame-tr,.x-nbr .x-btn-default-medium-pressed .x-frame-br,.x-nbr .x-btn-default-medium-pressed .x-frame-tc,.x-nbr .x-btn-default-medium-pressed .x-frame-bc{background-image:url('../../extjs/resources/themes/images/default/btn/btn-default-medium-pressed-corners.gif')}.x-nbr .x-btn-default-medium-menu-active .x-frame-ml,.x-nbr .x-btn-default-medium-menu-active .x-frame-mr,.x-nbr .x-btn-default-medium-pressed .x-frame-ml,.x-nbr .x-btn-default-medium-pressed .x-frame-mr{background-image:url('../../extjs/resources/themes/images/default/btn/btn-default-medium-pressed-sides.gif')}.x-nbr .x-btn-default-medium-menu-active .x-frame-mc,.x-nbr .x-btn-default-medium-pressed .x-frame-mc{background-color:#e0e0e0;background-image:url('../../extjs/resources/themes/images/default/btn/btn-default-medium-pressed-bg.gif')}.x-nbr .x-btn-default-medium-disabled .x-frame-tl,.x-nbr .x-btn-default-medium-disabled .x-frame-bl,.x-nbr .x-btn-default-medium-disabled .x-frame-tr,.x-nbr .x-btn-default-medium-disabled .x-frame-br,.x-nbr .x-btn-default-medium-disabled .x-frame-tc,.x-nbr .x-btn-default-medium-disabled .x-frame-bc{background-image:url('../../extjs/resources/themes/images/default/btn/btn-default-medium-disabled-corners.gif')}.x-nbr .x-btn-default-medium-disabled .x-frame-ml,.x-nbr .x-btn-default-medium-disabled .x-frame-mr{background-image:url('../../extjs/resources/themes/images/default/btn/btn-default-medium-disabled-sides.gif')}.x-nbr .x-btn-default-medium-disabled .x-frame-mc{background-color:white;background-image:url('../../extjs/resources/themes/images/default/btn/btn-default-medium-disabled-bg.gif')}.x-nlg .x-btn-default-medium{background-repeat:repeat-x;background-image:url('../../extjs/resources/themes/images/default/btn/btn-default-medium-bg.gif')}.x-nlg .x-btn-default-medium-over{background-repeat:repeat-x;background-image:url('../../extjs/resources/themes/images/default/btn/btn-default-medium-over-bg.gif')}.x-nlg .x-btn-default-medium-focus{background-repeat:repeat-x;background-image:url('../../extjs/resources/themes/images/default/btn/btn-default-medium-focus-bg.gif')}.x-nlg .x-btn-default-medium-menu-active,.x-nlg .x-btn-default-medium-pressed{background-repeat:repeat-x;background-image:url('../../extjs/resources/themes/images/default/btn/btn-default-medium-pressed-bg.gif')}.x-nlg .x-btn-default-medium-disabled{background-repeat:repeat-x;background-image:url('../../extjs/resources/themes/images/default/btn/btn-default-medium-disabled-bg.gif')}.x-btn-default-large{border-color:#d1d1d1}.x-btn-default-large{-webkit-border-radius:3px;-moz-border-radius:3px;-ms-border-radius:3px;-o-border-radius:3px;border-radius:3px;padding:3px 3px 3px 3px;border-width:1px;border-style:solid;background-image:none;background-color:white;background-image:-webkit-gradient(linear,50% 0,50% 100%,color-stop(0%,#fff),color-stop(48%,#f9f9f9),color-stop(52%,#e2e2e2),color-stop(100%,#e7e7e7));background-image:-webkit-linear-gradient(top,#fff,#f9f9f9 48%,#e2e2e2 52%,#e7e7e7);background-image:-moz-linear-gradient(top,#fff,#f9f9f9 48%,#e2e2e2 52%,#e7e7e7);background-image:-o-linear-gradient(top,#fff,#f9f9f9 48%,#e2e2e2 52%,#e7e7e7);background-image:linear-gradient(top,#fff,#f9f9f9 48%,#e2e2e2 52%,#e7e7e7)}.x-nlg .x-btn-default-large-mc{background-image:url('../../extjs/resources/themes/images/default/btn/btn-default-large-bg.gif');background-color:white}.x-nbr .x-btn-default-large{padding:0!important;border-width:0!important;-webkit-border-radius:0;-moz-border-radius:0;-ms-border-radius:0;-o-border-radius:0;border-radius:0;background-color:transparent;background-position:1100303px 1000303px}.x-nbr .x-btn-default-large-tl,.x-nbr .x-btn-default-large-bl,.x-nbr .x-btn-default-large-tr,.x-nbr .x-btn-default-large-br,.x-nbr .x-btn-default-large-tc,.x-nbr .x-btn-default-large-bc,.x-nbr .x-btn-default-large-ml,.x-nbr .x-btn-default-large-mr{zoom:1;background-image:url('../../extjs/resources/themes/images/default/btn/btn-default-large-corners.gif')}.x-nbr .x-btn-default-large-ml,.x-nbr .x-btn-default-large-mr{zoom:1;background-image:url('../../extjs/resources/themes/images/default/btn/btn-default-large-sides.gif');background-position:0 0}.x-nbr .x-btn-default-large-mc{padding:1px 1px 1px 1px}.x-strict .x-ie7 .x-btn-default-large-tl,.x-strict .x-ie7 .x-btn-default-large-bl{position:relative;right:0}.x-btn-default-large .x-btn-inner{font-size:11px;font-weight:normal;font-family:Helvetica Neue,Arial,sans-serif;color:#333;background-repeat:no-repeat;padding:0 3px}.x-btn-default-large-icon button,.x-btn-default-large-icon a,.x-btn-default-large-icon .x-btn-inner,.x-btn-default-large-noicon button,.x-btn-default-large-noicon a,.x-btn-default-large-noicon .x-btn-inner{height:32px;line-height:32px}.x-btn-default-large-icon button,.x-btn-default-large-icon a{padding:0}.x-btn-default-large-icon .x-btn-inner{width:32px;padding:0}.x-btn-default-large-icon .x-btn-icon{width:32px;height:32px;top:0;left:0;bottom:0;right:0}.x-btn-default-large-icon-text-left button,.x-btn-default-large-icon-text-left a{height:32px}.x-btn-default-large-icon-text-left .x-btn-inner{height:32px;line-height:32px;padding-left:36px}.x-btn-default-large-icon-text-left .x-btn-icon{width:32px;height:auto;top:0;left:0;bottom:0;right:auto}.x-ie6 .x-btn-default-large-icon-text-left .x-btn-icon,.x-quirks .x-btn-default-large-icon-text-left .x-btn-icon{height:32px}.x-btn-default-large-icon-text-right button,.x-btn-default-large-icon-text-right a{height:32px}.x-btn-default-large-icon-text-right .x-btn-inner{height:32px;line-height:32px;padding-right:36px!important}.x-btn-default-large-icon-text-right .x-btn-icon{width:32px;height:auto;top:0;left:auto;bottom:0;right:0}.x-ie6 .x-btn-default-large-icon-text-right .x-btn-icon,.x-quirks .x-btn-default-large-icon-text-right .x-btn-icon{height:32px}.x-btn-default-large-icon-text-top .x-btn-inner{padding-top:36px}.x-btn-default-large-icon-text-top .x-btn-icon{width:auto;height:32px;top:0;left:0;bottom:auto;right:0}.x-ie6 .x-btn-default-large-icon-text-top .x-btn-icon,.x-quirks .x-ie .x-btn-default-large-icon-text-top .x-btn-icon{width:32px}.x-btn-default-large-icon-text-bottom .x-btn-inner{padding-bottom:36px}.x-btn-default-large-icon-text-bottom .x-btn-icon{width:auto;height:32px;top:auto;left:0;bottom:0;right:0}.x-ie6 .x-btn-default-large-icon-text-bottom .x-btn-icon,.x-quirks .x-ie .x-btn-default-large-icon-text-bottom .x-btn-icon{width:32px}.x-btn-default-large-over{border-color:#e4dad9;background-image:none;background-color:white;background-image:-webkit-gradient(linear,50% 0,50% 100%,color-stop(0%,#fff),color-stop(48%,#fcf7f7),color-stop(52%,#eae5e5),color-stop(100%,#efe8e8));background-image:-webkit-linear-gradient(top,#fff,#fcf7f7 48%,#eae5e5 52%,#efe8e8);background-image:-moz-linear-gradient(top,#fff,#fcf7f7 48%,#eae5e5 52%,#efe8e8);background-image:-o-linear-gradient(top,#fff,#fcf7f7 48%,#eae5e5 52%,#efe8e8);background-image:linear-gradient(top,#fff,#fcf7f7 48%,#eae5e5 52%,#efe8e8)}.x-btn-default-large-focus{border-color:#e4dad9;background-image:none;background-color:white;background-image:-webkit-gradient(linear,50% 0,50% 100%,color-stop(0%,#fff),color-stop(48%,#fcf7f7),color-stop(52%,#eae5e5),color-stop(100%,#efe8e8));background-image:-webkit-linear-gradient(top,#fff,#fcf7f7 48%,#eae5e5 52%,#efe8e8);background-image:-moz-linear-gradient(top,#fff,#fcf7f7 48%,#eae5e5 52%,#efe8e8);background-image:-o-linear-gradient(top,#fff,#fcf7f7 48%,#eae5e5 52%,#efe8e8);background-image:linear-gradient(top,#fff,#fcf7f7 48%,#eae5e5 52%,#efe8e8)}.x-btn-default-large-menu-active,.x-btn-default-large-pressed{border-color:#d5cfcf;background-image:none;background-color:#e0e0e0;background-image:-webkit-gradient(linear,50% 0,50% 100%,color-stop(0%,#e0e0e0),color-stop(48%,#e5e5e5),color-stop(52%,#e4c3c5),color-stop(100%,#e7cbcc));background-image:-webkit-linear-gradient(top,#e0e0e0,#e5e5e5 48%,#e4c3c5 52%,#e7cbcc);background-image:-moz-linear-gradient(top,#e0e0e0,#e5e5e5 48%,#e4c3c5 52%,#e7cbcc);background-image:-o-linear-gradient(top,#e0e0e0,#e5e5e5 48%,#e4c3c5 52%,#e7cbcc);background-image:linear-gradient(top,#e0e0e0,#e5e5e5 48%,#e4c3c5 52%,#e7cbcc)}.x-btn-default-large-disabled{border-color:#e9e9e9;background-image:none;background-color:white;background-image:-webkit-gradient(linear,50% 0,50% 100%,color-stop(0%,#fff),color-stop(48%,#f9f9f9),color-stop(52%,#e2e2e2),color-stop(100%,#e7e7e7));background-image:-webkit-linear-gradient(top,#fff,#f9f9f9 48%,#e2e2e2 52%,#e7e7e7);background-image:-moz-linear-gradient(top,#fff,#f9f9f9 48%,#e2e2e2 52%,#e7e7e7);background-image:-o-linear-gradient(top,#fff,#f9f9f9 48%,#e2e2e2 52%,#e7e7e7);background-image:linear-gradient(top,#fff,#f9f9f9 48%,#e2e2e2 52%,#e7e7e7)}.x-btn-default-large-disabled .x-btn-inner{color:#333!important}.x-ie .x-btn-default-large-disabled .x-btn-inner{color:#595959!important}.x-ie6 .x-btn-default-large-disabled .x-btn-inner{color:#8c8c8c!important}.x-nbr .x-btn-default-large-over .x-frame-tl,.x-nbr .x-btn-default-large-over .x-frame-bl,.x-nbr .x-btn-default-large-over .x-frame-tr,.x-nbr .x-btn-default-large-over .x-frame-br,.x-nbr .x-btn-default-large-over .x-frame-tc,.x-nbr .x-btn-default-large-over .x-frame-bc{background-image:url('../../extjs/resources/themes/images/default/btn/btn-default-large-over-corners.gif')}.x-nbr .x-btn-default-large-over .x-frame-ml,.x-nbr .x-btn-default-large-over .x-frame-mr{background-image:url('../../extjs/resources/themes/images/default/btn/btn-default-large-over-sides.gif')}.x-nbr .x-btn-default-large-over .x-frame-mc{background-color:white;background-image:url('../../extjs/resources/themes/images/default/btn/btn-default-large-over-bg.gif')}.x-nbr .x-btn-default-large-focus .x-frame-tl,.x-nbr .x-btn-default-large-focus .x-frame-bl,.x-nbr .x-btn-default-large-focus .x-frame-tr,.x-nbr .x-btn-default-large-focus .x-frame-br,.x-nbr .x-btn-default-large-focus .x-frame-tc,.x-nbr .x-btn-default-large-focus .x-frame-bc{background-image:url('../../extjs/resources/themes/images/default/btn/btn-default-large-focus-corners.gif')}.x-nbr .x-btn-default-large-focus .x-frame-ml,.x-nbr .x-btn-default-large-focus .x-frame-mr{background-image:url('../../extjs/resources/themes/images/default/btn/btn-default-large-focus-sides.gif')}.x-nbr .x-btn-default-large-focus .x-frame-mc{background-color:white;background-image:url('../../extjs/resources/themes/images/default/btn/btn-default-large-focus-bg.gif')}.x-nbr .x-btn-default-large-menu-active .x-frame-tl,.x-nbr .x-btn-default-large-menu-active .x-frame-bl,.x-nbr .x-btn-default-large-menu-active .x-frame-tr,.x-nbr .x-btn-default-large-menu-active .x-frame-br,.x-nbr .x-btn-default-large-menu-active .x-frame-tc,.x-nbr .x-btn-default-large-menu-active .x-frame-bc,.x-nbr .x-btn-default-large-pressed .x-frame-tl,.x-nbr .x-btn-default-large-pressed .x-frame-bl,.x-nbr .x-btn-default-large-pressed .x-frame-tr,.x-nbr .x-btn-default-large-pressed .x-frame-br,.x-nbr .x-btn-default-large-pressed .x-frame-tc,.x-nbr .x-btn-default-large-pressed .x-frame-bc{background-image:url('../../extjs/resources/themes/images/default/btn/btn-default-large-pressed-corners.gif')}.x-nbr .x-btn-default-large-menu-active .x-frame-ml,.x-nbr .x-btn-default-large-menu-active .x-frame-mr,.x-nbr .x-btn-default-large-pressed .x-frame-ml,.x-nbr .x-btn-default-large-pressed .x-frame-mr{background-image:url('../../extjs/resources/themes/images/default/btn/btn-default-large-pressed-sides.gif')}.x-nbr .x-btn-default-large-menu-active .x-frame-mc,.x-nbr .x-btn-default-large-pressed .x-frame-mc{background-color:#e0e0e0;background-image:url('../../extjs/resources/themes/images/default/btn/btn-default-large-pressed-bg.gif')}.x-nbr .x-btn-default-large-disabled .x-frame-tl,.x-nbr .x-btn-default-large-disabled .x-frame-bl,.x-nbr .x-btn-default-large-disabled .x-frame-tr,.x-nbr .x-btn-default-large-disabled .x-frame-br,.x-nbr .x-btn-default-large-disabled .x-frame-tc,.x-nbr .x-btn-default-large-disabled .x-frame-bc{background-image:url('../../extjs/resources/themes/images/default/btn/btn-default-large-disabled-corners.gif')}.x-nbr .x-btn-default-large-disabled .x-frame-ml,.x-nbr .x-btn-default-large-disabled .x-frame-mr{background-image:url('../../extjs/resources/themes/images/default/btn/btn-default-large-disabled-sides.gif')}.x-nbr .x-btn-default-large-disabled .x-frame-mc{background-color:white;background-image:url('../../extjs/resources/themes/images/default/btn/btn-default-large-disabled-bg.gif')}.x-nlg .x-btn-default-large{background-repeat:repeat-x;background-image:url('../../extjs/resources/themes/images/default/btn/btn-default-large-bg.gif')}.x-nlg .x-btn-default-large-over{background-repeat:repeat-x;background-image:url('../../extjs/resources/themes/images/default/btn/btn-default-large-over-bg.gif')}.x-nlg .x-btn-default-large-focus{background-repeat:repeat-x;background-image:url('../../extjs/resources/themes/images/default/btn/btn-default-large-focus-bg.gif')}.x-nlg .x-btn-default-large-menu-active,.x-nlg .x-btn-default-large-pressed{background-repeat:repeat-x;background-image:url('../../extjs/resources/themes/images/default/btn/btn-default-large-pressed-bg.gif')}.x-nlg .x-btn-default-large-disabled{background-repeat:repeat-x;background-image:url('../../extjs/resources/themes/images/default/btn/btn-default-large-disabled-bg.gif')}.x-btn-default-toolbar-small{border-color:transparent}.x-btn-default-toolbar-small{-webkit-border-radius:3px;-moz-border-radius:3px;-ms-border-radius:3px;-o-border-radius:3px;border-radius:3px;padding:2px 2px 2px 2px;border-width:1px;border-style:solid;background-color:transparent}.x-nlg .x-btn-default-toolbar-small-mc{background-color:transparent}.x-nbr .x-btn-default-toolbar-small{padding:0!important;border-width:0!important;-webkit-border-radius:0;-moz-border-radius:0;-ms-border-radius:0;-o-border-radius:0;border-radius:0;background-color:transparent;background-position:1100303px 1000303px}.x-nbr .x-btn-default-toolbar-small-tl,.x-nbr .x-btn-default-toolbar-small-bl,.x-nbr .x-btn-default-toolbar-small-tr,.x-nbr .x-btn-default-toolbar-small-br,.x-nbr .x-btn-default-toolbar-small-tc,.x-nbr .x-btn-default-toolbar-small-bc,.x-nbr .x-btn-default-toolbar-small-ml,.x-nbr .x-btn-default-toolbar-small-mr{zoom:1}.x-nbr .x-btn-default-toolbar-small-ml,.x-nbr .x-btn-default-toolbar-small-mr{zoom:1}.x-nbr .x-btn-default-toolbar-small-mc{padding:0}.x-strict .x-ie7 .x-btn-default-toolbar-small-tl,.x-strict .x-ie7 .x-btn-default-toolbar-small-bl{position:relative;right:0}.x-btn-default-toolbar-small .x-btn-inner{font-size:11px;font-weight:normal;font-family:Helvetica Neue,Arial,sans-serif;color:#333;background-repeat:no-repeat;padding:0 4px}.x-btn-default-toolbar-small-icon button,.x-btn-default-toolbar-small-icon a,.x-btn-default-toolbar-small-icon .x-btn-inner,.x-btn-default-toolbar-small-noicon button,.x-btn-default-toolbar-small-noicon a,.x-btn-default-toolbar-small-noicon .x-btn-inner{height:16px;line-height:16px}.x-btn-default-toolbar-small-icon button,.x-btn-default-toolbar-small-icon a{padding:0}.x-btn-default-toolbar-small-icon .x-btn-inner{width:16px;padding:0}.x-btn-default-toolbar-small-icon .x-btn-icon{width:16px;height:16px;top:0;left:0;bottom:0;right:0}.x-btn-default-toolbar-small-icon-text-left button,.x-btn-default-toolbar-small-icon-text-left a{height:16px}.x-btn-default-toolbar-small-icon-text-left .x-btn-inner{height:16px;line-height:16px;padding-left:20px}.x-btn-default-toolbar-small-icon-text-left .x-btn-icon{width:16px;height:auto;top:0;left:0;bottom:0;right:auto}.x-ie6 .x-btn-default-toolbar-small-icon-text-left .x-btn-icon,.x-quirks .x-btn-default-toolbar-small-icon-text-left .x-btn-icon{height:16px}.x-btn-default-toolbar-small-icon-text-right button,.x-btn-default-toolbar-small-icon-text-right a{height:16px}.x-btn-default-toolbar-small-icon-text-right .x-btn-inner{height:16px;line-height:16px;padding-right:20px!important}.x-btn-default-toolbar-small-icon-text-right .x-btn-icon{width:16px;height:auto;top:0;left:auto;bottom:0;right:0}.x-ie6 .x-btn-default-toolbar-small-icon-text-right .x-btn-icon,.x-quirks .x-btn-default-toolbar-small-icon-text-right .x-btn-icon{height:16px}.x-btn-default-toolbar-small-icon-text-top .x-btn-inner{padding-top:20px}.x-btn-default-toolbar-small-icon-text-top .x-btn-icon{width:auto;height:16px;top:0;left:0;bottom:auto;right:0}.x-ie6 .x-btn-default-toolbar-small-icon-text-top .x-btn-icon,.x-quirks .x-ie .x-btn-default-toolbar-small-icon-text-top .x-btn-icon{width:16px}.x-btn-default-toolbar-small-icon-text-bottom .x-btn-inner{padding-bottom:20px}.x-btn-default-toolbar-small-icon-text-bottom .x-btn-icon{width:auto;height:16px;top:auto;left:0;bottom:0;right:0}.x-ie6 .x-btn-default-toolbar-small-icon-text-bottom .x-btn-icon,.x-quirks .x-ie .x-btn-default-toolbar-small-icon-text-bottom .x-btn-icon{width:16px}.x-btn-default-toolbar-small-over{border-color:#bbb;background-image:none;background-color:white;background-image:-webkit-gradient(linear,50% 0,50% 100%,color-stop(0%,#fff),color-stop(48%,#fcf7f7),color-stop(52%,#eae5e5),color-stop(100%,#efe8e8));background-image:-webkit-linear-gradient(top,#fff,#fcf7f7 48%,#eae5e5 52%,#efe8e8);background-image:-moz-linear-gradient(top,#fff,#fcf7f7 48%,#eae5e5 52%,#efe8e8);background-image:-o-linear-gradient(top,#fff,#fcf7f7 48%,#eae5e5 52%,#efe8e8);background-image:linear-gradient(top,#fff,#fcf7f7 48%,#eae5e5 52%,#efe8e8)}.x-btn-default-toolbar-small-focus{border-color:#bbb;background-image:none;background-color:white;background-image:-webkit-gradient(linear,50% 0,50% 100%,color-stop(0%,#fff),color-stop(48%,#fcf7f7),color-stop(52%,#eae5e5),color-stop(100%,#efe8e8));background-image:-webkit-linear-gradient(top,#fff,#fcf7f7 48%,#eae5e5 52%,#efe8e8);background-image:-moz-linear-gradient(top,#fff,#fcf7f7 48%,#eae5e5 52%,#efe8e8);background-image:-o-linear-gradient(top,#fff,#fcf7f7 48%,#eae5e5 52%,#efe8e8);background-image:linear-gradient(top,#fff,#fcf7f7 48%,#eae5e5 52%,#efe8e8)}.x-btn-default-toolbar-small-menu-active,.x-btn-default-toolbar-small-pressed{border-color:#b1b1b1;background-image:none;background-color:#e3e3e3;background-image:-webkit-gradient(linear,50% 0,50% 100%,color-stop(0%,#e3e3e3),color-stop(48%,#e9e9e9),color-stop(52%,#e6c8c9),color-stop(100%,#e9d0d1));background-image:-webkit-linear-gradient(top,#e3e3e3,#e9e9e9 48%,#e6c8c9 52%,#e9d0d1);background-image:-moz-linear-gradient(top,#e3e3e3,#e9e9e9 48%,#e6c8c9 52%,#e9d0d1);background-image:-o-linear-gradient(top,#e3e3e3,#e9e9e9 48%,#e6c8c9 52%,#e9d0d1);background-image:linear-gradient(top,#e3e3e3,#e9e9e9 48%,#e6c8c9 52%,#e9d0d1)}.x-btn-default-toolbar-small-disabled{background-image:none;background-color:transparent}.x-btn-default-toolbar-small-disabled .x-btn-inner{color:#333!important}.x-ie .x-btn-default-toolbar-small-disabled .x-btn-inner{color:#595959!important}.x-ie6 .x-btn-default-toolbar-small-disabled .x-btn-inner{color:#8c8c8c!important}.x-nbr .x-btn-default-toolbar-small-over .x-frame-tl,.x-nbr .x-btn-default-toolbar-small-over .x-frame-bl,.x-nbr .x-btn-default-toolbar-small-over .x-frame-tr,.x-nbr .x-btn-default-toolbar-small-over .x-frame-br,.x-nbr .x-btn-default-toolbar-small-over .x-frame-tc,.x-nbr .x-btn-default-toolbar-small-over .x-frame-bc{background-image:url('../../extjs/resources/themes/images/default/btn/btn-default-toolbar-small-over-corners.gif')}.x-nbr .x-btn-default-toolbar-small-over .x-frame-ml,.x-nbr .x-btn-default-toolbar-small-over .x-frame-mr{background-image:url('../../extjs/resources/themes/images/default/btn/btn-default-toolbar-small-over-sides.gif')}.x-nbr .x-btn-default-toolbar-small-over .x-frame-mc{background-color:white;background-image:url('../../extjs/resources/themes/images/default/btn/btn-default-toolbar-small-over-bg.gif')}.x-nbr .x-btn-default-toolbar-small-focus .x-frame-tl,.x-nbr .x-btn-default-toolbar-small-focus .x-frame-bl,.x-nbr .x-btn-default-toolbar-small-focus .x-frame-tr,.x-nbr .x-btn-default-toolbar-small-focus .x-frame-br,.x-nbr .x-btn-default-toolbar-small-focus .x-frame-tc,.x-nbr .x-btn-default-toolbar-small-focus .x-frame-bc{background-image:url('../../extjs/resources/themes/images/default/btn/btn-default-toolbar-small-focus-corners.gif')}.x-nbr .x-btn-default-toolbar-small-focus .x-frame-ml,.x-nbr .x-btn-default-toolbar-small-focus .x-frame-mr{background-image:url('../../extjs/resources/themes/images/default/btn/btn-default-toolbar-small-focus-sides.gif')}.x-nbr .x-btn-default-toolbar-small-focus .x-frame-mc{background-color:white;background-image:url('../../extjs/resources/themes/images/default/btn/btn-default-toolbar-small-focus-bg.gif')}.x-nbr .x-btn-default-toolbar-small-menu-active .x-frame-tl,.x-nbr .x-btn-default-toolbar-small-menu-active .x-frame-bl,.x-nbr .x-btn-default-toolbar-small-menu-active .x-frame-tr,.x-nbr .x-btn-default-toolbar-small-menu-active .x-frame-br,.x-nbr .x-btn-default-toolbar-small-menu-active .x-frame-tc,.x-nbr .x-btn-default-toolbar-small-menu-active .x-frame-bc,.x-nbr .x-btn-default-toolbar-small-pressed .x-frame-tl,.x-nbr .x-btn-default-toolbar-small-pressed .x-frame-bl,.x-nbr .x-btn-default-toolbar-small-pressed .x-frame-tr,.x-nbr .x-btn-default-toolbar-small-pressed .x-frame-br,.x-nbr .x-btn-default-toolbar-small-pressed .x-frame-tc,.x-nbr .x-btn-default-toolbar-small-pressed .x-frame-bc{background-image:url('../../extjs/resources/themes/images/default/btn/btn-default-toolbar-small-pressed-corners.gif')}.x-nbr .x-btn-default-toolbar-small-menu-active .x-frame-ml,.x-nbr .x-btn-default-toolbar-small-menu-active .x-frame-mr,.x-nbr .x-btn-default-toolbar-small-pressed .x-frame-ml,.x-nbr .x-btn-default-toolbar-small-pressed .x-frame-mr{background-image:url('../../extjs/resources/themes/images/default/btn/btn-default-toolbar-small-pressed-sides.gif')}.x-nbr .x-btn-default-toolbar-small-menu-active .x-frame-mc,.x-nbr .x-btn-default-toolbar-small-pressed .x-frame-mc{background-color:#e3e3e3;background-image:url('../../extjs/resources/themes/images/default/btn/btn-default-toolbar-small-pressed-bg.gif')}.x-nbr .x-btn-default-toolbar-small-disabled .x-frame-tl,.x-nbr .x-btn-default-toolbar-small-disabled .x-frame-bl,.x-nbr .x-btn-default-toolbar-small-disabled .x-frame-tr,.x-nbr .x-btn-default-toolbar-small-disabled .x-frame-br,.x-nbr .x-btn-default-toolbar-small-disabled .x-frame-tc,.x-nbr .x-btn-default-toolbar-small-disabled .x-frame-bc{background-image:url('../../extjs/resources/themes/images/default/btn/btn-default-toolbar-small-disabled-corners.gif')}.x-nbr .x-btn-default-toolbar-small-disabled .x-frame-ml,.x-nbr .x-btn-default-toolbar-small-disabled .x-frame-mr{background-image:url('../../extjs/resources/themes/images/default/btn/btn-default-toolbar-small-disabled-sides.gif')}.x-nbr .x-btn-default-toolbar-small-disabled .x-frame-mc{background-color:transparent}.x-nlg .x-btn-default-toolbar-small-over{background-repeat:repeat-x;background-image:url('../../extjs/resources/themes/images/default/btn/btn-default-toolbar-small-over-bg.gif')}.x-nlg .x-btn-default-toolbar-small-focus{background-repeat:repeat-x;background-image:url('../../extjs/resources/themes/images/default/btn/btn-default-toolbar-small-focus-bg.gif')}.x-nlg .x-btn-default-toolbar-small-menu-active,.x-nlg .x-btn-default-toolbar-small-pressed{background-repeat:repeat-x;background-image:url('../../extjs/resources/themes/images/default/btn/btn-default-toolbar-small-pressed-bg.gif')}.x-btn-default-toolbar-medium{border-color:transparent}.x-btn-default-toolbar-medium{-webkit-border-radius:3px;-moz-border-radius:3px;-ms-border-radius:3px;-o-border-radius:3px;border-radius:3px;padding:3px 3px 3px 3px;border-width:1px;border-style:solid;background-color:transparent}.x-nlg .x-btn-default-toolbar-medium-mc{background-color:transparent}.x-nbr .x-btn-default-toolbar-medium{padding:0!important;border-width:0!important;-webkit-border-radius:0;-moz-border-radius:0;-ms-border-radius:0;-o-border-radius:0;border-radius:0;background-color:transparent;background-position:1100303px 1000303px}.x-nbr .x-btn-default-toolbar-medium-tl,.x-nbr .x-btn-default-toolbar-medium-bl,.x-nbr .x-btn-default-toolbar-medium-tr,.x-nbr .x-btn-default-toolbar-medium-br,.x-nbr .x-btn-default-toolbar-medium-tc,.x-nbr .x-btn-default-toolbar-medium-bc,.x-nbr .x-btn-default-toolbar-medium-ml,.x-nbr .x-btn-default-toolbar-medium-mr{zoom:1}.x-nbr .x-btn-default-toolbar-medium-ml,.x-nbr .x-btn-default-toolbar-medium-mr{zoom:1}.x-nbr .x-btn-default-toolbar-medium-mc{padding:1px 1px 1px 1px}.x-strict .x-ie7 .x-btn-default-toolbar-medium-tl,.x-strict .x-ie7 .x-btn-default-toolbar-medium-bl{position:relative;right:0}.x-btn-default-toolbar-medium .x-btn-inner{font-size:11px;font-weight:normal;font-family:Helvetica Neue,Arial,sans-serif;color:#333;background-repeat:no-repeat;padding:0 3px}.x-btn-default-toolbar-medium-icon button,.x-btn-default-toolbar-medium-icon a,.x-btn-default-toolbar-medium-icon .x-btn-inner,.x-btn-default-toolbar-medium-noicon button,.x-btn-default-toolbar-medium-noicon a,.x-btn-default-toolbar-medium-noicon .x-btn-inner{height:24px;line-height:24px}.x-btn-default-toolbar-medium-icon button,.x-btn-default-toolbar-medium-icon a{padding:0}.x-btn-default-toolbar-medium-icon .x-btn-inner{width:24px;padding:0}.x-btn-default-toolbar-medium-icon .x-btn-icon{width:24px;height:24px;top:0;left:0;bottom:0;right:0}.x-btn-default-toolbar-medium-icon-text-left button,.x-btn-default-toolbar-medium-icon-text-left a{height:24px}.x-btn-default-toolbar-medium-icon-text-left .x-btn-inner{height:24px;line-height:24px;padding-left:28px}.x-btn-default-toolbar-medium-icon-text-left .x-btn-icon{width:24px;height:auto;top:0;left:0;bottom:0;right:auto}.x-ie6 .x-btn-default-toolbar-medium-icon-text-left .x-btn-icon,.x-quirks .x-btn-default-toolbar-medium-icon-text-left .x-btn-icon{height:24px}.x-btn-default-toolbar-medium-icon-text-right button,.x-btn-default-toolbar-medium-icon-text-right a{height:24px}.x-btn-default-toolbar-medium-icon-text-right .x-btn-inner{height:24px;line-height:24px;padding-right:28px!important}.x-btn-default-toolbar-medium-icon-text-right .x-btn-icon{width:24px;height:auto;top:0;left:auto;bottom:0;right:0}.x-ie6 .x-btn-default-toolbar-medium-icon-text-right .x-btn-icon,.x-quirks .x-btn-default-toolbar-medium-icon-text-right .x-btn-icon{height:24px}.x-btn-default-toolbar-medium-icon-text-top .x-btn-inner{padding-top:28px}.x-btn-default-toolbar-medium-icon-text-top .x-btn-icon{width:auto;height:24px;top:0;left:0;bottom:auto;right:0}.x-ie6 .x-btn-default-toolbar-medium-icon-text-top .x-btn-icon,.x-quirks .x-ie .x-btn-default-toolbar-medium-icon-text-top .x-btn-icon{width:24px}.x-btn-default-toolbar-medium-icon-text-bottom .x-btn-inner{padding-bottom:28px}.x-btn-default-toolbar-medium-icon-text-bottom .x-btn-icon{width:auto;height:24px;top:auto;left:0;bottom:0;right:0}.x-ie6 .x-btn-default-toolbar-medium-icon-text-bottom .x-btn-icon,.x-quirks .x-ie .x-btn-default-toolbar-medium-icon-text-bottom .x-btn-icon{width:24px}.x-btn-default-toolbar-medium-over{border-color:#bbb;background-image:none;background-color:white;background-image:-webkit-gradient(linear,50% 0,50% 100%,color-stop(0%,#fff),color-stop(48%,#fcf7f7),color-stop(52%,#eae5e5),color-stop(100%,#efe8e8));background-image:-webkit-linear-gradient(top,#fff,#fcf7f7 48%,#eae5e5 52%,#efe8e8);background-image:-moz-linear-gradient(top,#fff,#fcf7f7 48%,#eae5e5 52%,#efe8e8);background-image:-o-linear-gradient(top,#fff,#fcf7f7 48%,#eae5e5 52%,#efe8e8);background-image:linear-gradient(top,#fff,#fcf7f7 48%,#eae5e5 52%,#efe8e8)}.x-btn-default-toolbar-medium-focus{border-color:#bbb;background-image:none;background-color:white;background-image:-webkit-gradient(linear,50% 0,50% 100%,color-stop(0%,#fff),color-stop(48%,#fcf7f7),color-stop(52%,#eae5e5),color-stop(100%,#efe8e8));background-image:-webkit-linear-gradient(top,#fff,#fcf7f7 48%,#eae5e5 52%,#efe8e8);background-image:-moz-linear-gradient(top,#fff,#fcf7f7 48%,#eae5e5 52%,#efe8e8);background-image:-o-linear-gradient(top,#fff,#fcf7f7 48%,#eae5e5 52%,#efe8e8);background-image:linear-gradient(top,#fff,#fcf7f7 48%,#eae5e5 52%,#efe8e8)}.x-btn-default-toolbar-medium-menu-active,.x-btn-default-toolbar-medium-pressed{border-color:#b1b1b1;background-image:none;background-color:#e3e3e3;background-image:-webkit-gradient(linear,50% 0,50% 100%,color-stop(0%,#e3e3e3),color-stop(48%,#e9e9e9),color-stop(52%,#e6c8c9),color-stop(100%,#e9d0d1));background-image:-webkit-linear-gradient(top,#e3e3e3,#e9e9e9 48%,#e6c8c9 52%,#e9d0d1);background-image:-moz-linear-gradient(top,#e3e3e3,#e9e9e9 48%,#e6c8c9 52%,#e9d0d1);background-image:-o-linear-gradient(top,#e3e3e3,#e9e9e9 48%,#e6c8c9 52%,#e9d0d1);background-image:linear-gradient(top,#e3e3e3,#e9e9e9 48%,#e6c8c9 52%,#e9d0d1)}.x-btn-default-toolbar-medium-disabled{background-image:none;background-color:transparent}.x-btn-default-toolbar-medium-disabled .x-btn-inner{color:#333!important}.x-ie .x-btn-default-toolbar-medium-disabled .x-btn-inner{color:#595959!important}.x-ie6 .x-btn-default-toolbar-medium-disabled .x-btn-inner{color:#8c8c8c!important}.x-nbr .x-btn-default-toolbar-medium-over .x-frame-tl,.x-nbr .x-btn-default-toolbar-medium-over .x-frame-bl,.x-nbr .x-btn-default-toolbar-medium-over .x-frame-tr,.x-nbr .x-btn-default-toolbar-medium-over .x-frame-br,.x-nbr .x-btn-default-toolbar-medium-over .x-frame-tc,.x-nbr .x-btn-default-toolbar-medium-over .x-frame-bc{background-image:url('../../extjs/resources/themes/images/default/btn/btn-default-toolbar-medium-over-corners.gif')}.x-nbr .x-btn-default-toolbar-medium-over .x-frame-ml,.x-nbr .x-btn-default-toolbar-medium-over .x-frame-mr{background-image:url('../../extjs/resources/themes/images/default/btn/btn-default-toolbar-medium-over-sides.gif')}.x-nbr .x-btn-default-toolbar-medium-over .x-frame-mc{background-color:white;background-image:url('../../extjs/resources/themes/images/default/btn/btn-default-toolbar-medium-over-bg.gif')}.x-nbr .x-btn-default-toolbar-medium-focus .x-frame-tl,.x-nbr .x-btn-default-toolbar-medium-focus .x-frame-bl,.x-nbr .x-btn-default-toolbar-medium-focus .x-frame-tr,.x-nbr .x-btn-default-toolbar-medium-focus .x-frame-br,.x-nbr .x-btn-default-toolbar-medium-focus .x-frame-tc,.x-nbr .x-btn-default-toolbar-medium-focus .x-frame-bc{background-image:url('../../extjs/resources/themes/images/default/btn/btn-default-toolbar-medium-focus-corners.gif')}.x-nbr .x-btn-default-toolbar-medium-focus .x-frame-ml,.x-nbr .x-btn-default-toolbar-medium-focus .x-frame-mr{background-image:url('../../extjs/resources/themes/images/default/btn/btn-default-toolbar-medium-focus-sides.gif')}.x-nbr .x-btn-default-toolbar-medium-focus .x-frame-mc{background-color:white;background-image:url('../../extjs/resources/themes/images/default/btn/btn-default-toolbar-medium-focus-bg.gif')}.x-nbr .x-btn-default-toolbar-medium-menu-active .x-frame-tl,.x-nbr .x-btn-default-toolbar-medium-menu-active .x-frame-bl,.x-nbr .x-btn-default-toolbar-medium-menu-active .x-frame-tr,.x-nbr .x-btn-default-toolbar-medium-menu-active .x-frame-br,.x-nbr .x-btn-default-toolbar-medium-menu-active .x-frame-tc,.x-nbr .x-btn-default-toolbar-medium-menu-active .x-frame-bc,.x-nbr .x-btn-default-toolbar-medium-pressed .x-frame-tl,.x-nbr .x-btn-default-toolbar-medium-pressed .x-frame-bl,.x-nbr .x-btn-default-toolbar-medium-pressed .x-frame-tr,.x-nbr .x-btn-default-toolbar-medium-pressed .x-frame-br,.x-nbr .x-btn-default-toolbar-medium-pressed .x-frame-tc,.x-nbr .x-btn-default-toolbar-medium-pressed .x-frame-bc{background-image:url('../../extjs/resources/themes/images/default/btn/btn-default-toolbar-medium-pressed-corners.gif')}.x-nbr .x-btn-default-toolbar-medium-menu-active .x-frame-ml,.x-nbr .x-btn-default-toolbar-medium-menu-active .x-frame-mr,.x-nbr .x-btn-default-toolbar-medium-pressed .x-frame-ml,.x-nbr .x-btn-default-toolbar-medium-pressed .x-frame-mr{background-image:url('../../extjs/resources/themes/images/default/btn/btn-default-toolbar-medium-pressed-sides.gif')}.x-nbr .x-btn-default-toolbar-medium-menu-active .x-frame-mc,.x-nbr .x-btn-default-toolbar-medium-pressed .x-frame-mc{background-color:#e3e3e3;background-image:url('../../extjs/resources/themes/images/default/btn/btn-default-toolbar-medium-pressed-bg.gif')}.x-nbr .x-btn-default-toolbar-medium-disabled .x-frame-tl,.x-nbr .x-btn-default-toolbar-medium-disabled .x-frame-bl,.x-nbr .x-btn-default-toolbar-medium-disabled .x-frame-tr,.x-nbr .x-btn-default-toolbar-medium-disabled .x-frame-br,.x-nbr .x-btn-default-toolbar-medium-disabled .x-frame-tc,.x-nbr .x-btn-default-toolbar-medium-disabled .x-frame-bc{background-image:url('../../extjs/resources/themes/images/default/btn/btn-default-toolbar-medium-disabled-corners.gif')}.x-nbr .x-btn-default-toolbar-medium-disabled .x-frame-ml,.x-nbr .x-btn-default-toolbar-medium-disabled .x-frame-mr{background-image:url('../../extjs/resources/themes/images/default/btn/btn-default-toolbar-medium-disabled-sides.gif')}.x-nbr .x-btn-default-toolbar-medium-disabled .x-frame-mc{background-color:transparent}.x-nlg .x-btn-default-toolbar-medium-over{background-repeat:repeat-x;background-image:url('../../extjs/resources/themes/images/default/btn/btn-default-toolbar-medium-over-bg.gif')}.x-nlg .x-btn-default-toolbar-medium-focus{background-repeat:repeat-x;background-image:url('../../extjs/resources/themes/images/default/btn/btn-default-toolbar-medium-focus-bg.gif')}.x-nlg .x-btn-default-toolbar-medium-menu-active,.x-nlg .x-btn-default-toolbar-medium-pressed{background-repeat:repeat-x;background-image:url('../../extjs/resources/themes/images/default/btn/btn-default-toolbar-medium-pressed-bg.gif')}.x-btn-default-toolbar-large{border-color:transparent}.x-btn-default-toolbar-large{-webkit-border-radius:3px;-moz-border-radius:3px;-ms-border-radius:3px;-o-border-radius:3px;border-radius:3px;padding:3px 3px 3px 3px;border-width:1px;border-style:solid;background-color:transparent}.x-nlg .x-btn-default-toolbar-large-mc{background-color:transparent}.x-nbr .x-btn-default-toolbar-large{padding:0!important;border-width:0!important;-webkit-border-radius:0;-moz-border-radius:0;-ms-border-radius:0;-o-border-radius:0;border-radius:0;background-color:transparent;background-position:1100303px 1000303px}.x-nbr .x-btn-default-toolbar-large-tl,.x-nbr .x-btn-default-toolbar-large-bl,.x-nbr .x-btn-default-toolbar-large-tr,.x-nbr .x-btn-default-toolbar-large-br,.x-nbr .x-btn-default-toolbar-large-tc,.x-nbr .x-btn-default-toolbar-large-bc,.x-nbr .x-btn-default-toolbar-large-ml,.x-nbr .x-btn-default-toolbar-large-mr{zoom:1}.x-nbr .x-btn-default-toolbar-large-ml,.x-nbr .x-btn-default-toolbar-large-mr{zoom:1}.x-nbr .x-btn-default-toolbar-large-mc{padding:1px 1px 1px 1px}.x-strict .x-ie7 .x-btn-default-toolbar-large-tl,.x-strict .x-ie7 .x-btn-default-toolbar-large-bl{position:relative;right:0}.x-btn-default-toolbar-large .x-btn-inner{font-size:11px;font-weight:normal;font-family:Helvetica Neue,Arial,sans-serif;color:#333;background-repeat:no-repeat;padding:0 3px}.x-btn-default-toolbar-large-icon button,.x-btn-default-toolbar-large-icon a,.x-btn-default-toolbar-large-icon .x-btn-inner,.x-btn-default-toolbar-large-noicon button,.x-btn-default-toolbar-large-noicon a,.x-btn-default-toolbar-large-noicon .x-btn-inner{height:32px;line-height:32px}.x-btn-default-toolbar-large-icon button,.x-btn-default-toolbar-large-icon a{padding:0}.x-btn-default-toolbar-large-icon .x-btn-inner{width:32px;padding:0}.x-btn-default-toolbar-large-icon .x-btn-icon{width:32px;height:32px;top:0;left:0;bottom:0;right:0}.x-btn-default-toolbar-large-icon-text-left button,.x-btn-default-toolbar-large-icon-text-left a{height:32px}.x-btn-default-toolbar-large-icon-text-left .x-btn-inner{height:32px;line-height:32px;padding-left:36px}.x-btn-default-toolbar-large-icon-text-left .x-btn-icon{width:32px;height:auto;top:0;left:0;bottom:0;right:auto}.x-ie6 .x-btn-default-toolbar-large-icon-text-left .x-btn-icon,.x-quirks .x-btn-default-toolbar-large-icon-text-left .x-btn-icon{height:32px}.x-btn-default-toolbar-large-icon-text-right button,.x-btn-default-toolbar-large-icon-text-right a{height:32px}.x-btn-default-toolbar-large-icon-text-right .x-btn-inner{height:32px;line-height:32px;padding-right:36px!important}.x-btn-default-toolbar-large-icon-text-right .x-btn-icon{width:32px;height:auto;top:0;left:auto;bottom:0;right:0}.x-ie6 .x-btn-default-toolbar-large-icon-text-right .x-btn-icon,.x-quirks .x-btn-default-toolbar-large-icon-text-right .x-btn-icon{height:32px}.x-btn-default-toolbar-large-icon-text-top .x-btn-inner{padding-top:36px}.x-btn-default-toolbar-large-icon-text-top .x-btn-icon{width:auto;height:32px;top:0;left:0;bottom:auto;right:0}.x-ie6 .x-btn-default-toolbar-large-icon-text-top .x-btn-icon,.x-quirks .x-ie .x-btn-default-toolbar-large-icon-text-top .x-btn-icon{width:32px}.x-btn-default-toolbar-large-icon-text-bottom .x-btn-inner{padding-bottom:36px}.x-btn-default-toolbar-large-icon-text-bottom .x-btn-icon{width:auto;height:32px;top:auto;left:0;bottom:0;right:0}.x-ie6 .x-btn-default-toolbar-large-icon-text-bottom .x-btn-icon,.x-quirks .x-ie .x-btn-default-toolbar-large-icon-text-bottom .x-btn-icon{width:32px}.x-btn-default-toolbar-large-over{border-color:#bbb;background-image:none;background-color:white;background-image:-webkit-gradient(linear,50% 0,50% 100%,color-stop(0%,#fff),color-stop(48%,#fcf7f7),color-stop(52%,#eae5e5),color-stop(100%,#efe8e8));background-image:-webkit-linear-gradient(top,#fff,#fcf7f7 48%,#eae5e5 52%,#efe8e8);background-image:-moz-linear-gradient(top,#fff,#fcf7f7 48%,#eae5e5 52%,#efe8e8);background-image:-o-linear-gradient(top,#fff,#fcf7f7 48%,#eae5e5 52%,#efe8e8);background-image:linear-gradient(top,#fff,#fcf7f7 48%,#eae5e5 52%,#efe8e8)}.x-btn-default-toolbar-large-focus{border-color:#bbb;background-image:none;background-color:white;background-image:-webkit-gradient(linear,50% 0,50% 100%,color-stop(0%,#fff),color-stop(48%,#fcf7f7),color-stop(52%,#eae5e5),color-stop(100%,#efe8e8));background-image:-webkit-linear-gradient(top,#fff,#fcf7f7 48%,#eae5e5 52%,#efe8e8);background-image:-moz-linear-gradient(top,#fff,#fcf7f7 48%,#eae5e5 52%,#efe8e8);background-image:-o-linear-gradient(top,#fff,#fcf7f7 48%,#eae5e5 52%,#efe8e8);background-image:linear-gradient(top,#fff,#fcf7f7 48%,#eae5e5 52%,#efe8e8)}.x-btn-default-toolbar-large-menu-active,.x-btn-default-toolbar-large-pressed{border-color:#b1b1b1;background-image:none;background-color:#e3e3e3;background-image:-webkit-gradient(linear,50% 0,50% 100%,color-stop(0%,#e3e3e3),color-stop(48%,#e9e9e9),color-stop(52%,#e6c8c9),color-stop(100%,#e9d0d1));background-image:-webkit-linear-gradient(top,#e3e3e3,#e9e9e9 48%,#e6c8c9 52%,#e9d0d1);background-image:-moz-linear-gradient(top,#e3e3e3,#e9e9e9 48%,#e6c8c9 52%,#e9d0d1);background-image:-o-linear-gradient(top,#e3e3e3,#e9e9e9 48%,#e6c8c9 52%,#e9d0d1);background-image:linear-gradient(top,#e3e3e3,#e9e9e9 48%,#e6c8c9 52%,#e9d0d1)}.x-btn-default-toolbar-large-disabled{background-image:none;background-color:transparent}.x-btn-default-toolbar-large-disabled .x-btn-inner{color:#333!important}.x-ie .x-btn-default-toolbar-large-disabled .x-btn-inner{color:#595959!important}.x-ie6 .x-btn-default-toolbar-large-disabled .x-btn-inner{color:#8c8c8c!important}.x-nbr .x-btn-default-toolbar-large-over .x-frame-tl,.x-nbr .x-btn-default-toolbar-large-over .x-frame-bl,.x-nbr .x-btn-default-toolbar-large-over .x-frame-tr,.x-nbr .x-btn-default-toolbar-large-over .x-frame-br,.x-nbr .x-btn-default-toolbar-large-over .x-frame-tc,.x-nbr .x-btn-default-toolbar-large-over .x-frame-bc{background-image:url('../../extjs/resources/themes/images/default/btn/btn-default-toolbar-large-over-corners.gif')}.x-nbr .x-btn-default-toolbar-large-over .x-frame-ml,.x-nbr .x-btn-default-toolbar-large-over .x-frame-mr{background-image:url('../../extjs/resources/themes/images/default/btn/btn-default-toolbar-large-over-sides.gif')}.x-nbr .x-btn-default-toolbar-large-over .x-frame-mc{background-color:white;background-image:url('../../extjs/resources/themes/images/default/btn/btn-default-toolbar-large-over-bg.gif')}.x-nbr .x-btn-default-toolbar-large-focus .x-frame-tl,.x-nbr .x-btn-default-toolbar-large-focus .x-frame-bl,.x-nbr .x-btn-default-toolbar-large-focus .x-frame-tr,.x-nbr .x-btn-default-toolbar-large-focus .x-frame-br,.x-nbr .x-btn-default-toolbar-large-focus .x-frame-tc,.x-nbr .x-btn-default-toolbar-large-focus .x-frame-bc{background-image:url('../../extjs/resources/themes/images/default/btn/btn-default-toolbar-large-focus-corners.gif')}.x-nbr .x-btn-default-toolbar-large-focus .x-frame-ml,.x-nbr .x-btn-default-toolbar-large-focus .x-frame-mr{background-image:url('../../extjs/resources/themes/images/default/btn/btn-default-toolbar-large-focus-sides.gif')}.x-nbr .x-btn-default-toolbar-large-focus .x-frame-mc{background-color:white;background-image:url('../../extjs/resources/themes/images/default/btn/btn-default-toolbar-large-focus-bg.gif')}.x-nbr .x-btn-default-toolbar-large-menu-active .x-frame-tl,.x-nbr .x-btn-default-toolbar-large-menu-active .x-frame-bl,.x-nbr .x-btn-default-toolbar-large-menu-active .x-frame-tr,.x-nbr .x-btn-default-toolbar-large-menu-active .x-frame-br,.x-nbr .x-btn-default-toolbar-large-menu-active .x-frame-tc,.x-nbr .x-btn-default-toolbar-large-menu-active .x-frame-bc,.x-nbr .x-btn-default-toolbar-large-pressed .x-frame-tl,.x-nbr .x-btn-default-toolbar-large-pressed .x-frame-bl,.x-nbr .x-btn-default-toolbar-large-pressed .x-frame-tr,.x-nbr .x-btn-default-toolbar-large-pressed .x-frame-br,.x-nbr .x-btn-default-toolbar-large-pressed .x-frame-tc,.x-nbr .x-btn-default-toolbar-large-pressed .x-frame-bc{background-image:url('../../extjs/resources/themes/images/default/btn/btn-default-toolbar-large-pressed-corners.gif')}.x-nbr .x-btn-default-toolbar-large-menu-active .x-frame-ml,.x-nbr .x-btn-default-toolbar-large-menu-active .x-frame-mr,.x-nbr .x-btn-default-toolbar-large-pressed .x-frame-ml,.x-nbr .x-btn-default-toolbar-large-pressed .x-frame-mr{background-image:url('../../extjs/resources/themes/images/default/btn/btn-default-toolbar-large-pressed-sides.gif')}.x-nbr .x-btn-default-toolbar-large-menu-active .x-frame-mc,.x-nbr .x-btn-default-toolbar-large-pressed .x-frame-mc{background-color:#e3e3e3;background-image:url('../../extjs/resources/themes/images/default/btn/btn-default-toolbar-large-pressed-bg.gif')}.x-nbr .x-btn-default-toolbar-large-disabled .x-frame-tl,.x-nbr .x-btn-default-toolbar-large-disabled .x-frame-bl,.x-nbr .x-btn-default-toolbar-large-disabled .x-frame-tr,.x-nbr .x-btn-default-toolbar-large-disabled .x-frame-br,.x-nbr .x-btn-default-toolbar-large-disabled .x-frame-tc,.x-nbr .x-btn-default-toolbar-large-disabled .x-frame-bc{background-image:url('../../extjs/resources/themes/images/default/btn/btn-default-toolbar-large-disabled-corners.gif')}.x-nbr .x-btn-default-toolbar-large-disabled .x-frame-ml,.x-nbr .x-btn-default-toolbar-large-disabled .x-frame-mr{background-image:url('../../extjs/resources/themes/images/default/btn/btn-default-toolbar-large-disabled-sides.gif')}.x-nbr .x-btn-default-toolbar-large-disabled .x-frame-mc{background-color:transparent}.x-nlg .x-btn-default-toolbar-large-over{background-repeat:repeat-x;background-image:url('../../extjs/resources/themes/images/default/btn/btn-default-toolbar-large-over-bg.gif')}.x-nlg .x-btn-default-toolbar-large-focus{background-repeat:repeat-x;background-image:url('../../extjs/resources/themes/images/default/btn/btn-default-toolbar-large-focus-bg.gif')}.x-nlg .x-btn-default-toolbar-large-menu-active,.x-nlg .x-btn-default-toolbar-large-pressed{background-repeat:repeat-x;background-image:url('../../extjs/resources/themes/images/default/btn/btn-default-toolbar-large-pressed-bg.gif')}.x-btn-default-toolbar-small-disabled,.x-btn-default-toolbar-medium-disabled,.x-btn-default-toolbar-large-disabled{border-color:transparent;background-image:none;background:transparent}.x-btn-group{position:relative;overflow:hidden}.x-btn-group-body{position:relative;zoom:1;padding:0 1px}.x-btn-group-body .x-table-layout-cell{vertical-align:top}.x-btn-group-header-text{white-space:nowrap}.x-btn-group-default-framed{-webkit-border-radius:2px;-moz-border-radius:2px;-ms-border-radius:2px;-o-border-radius:2px;border-radius:2px;padding:1px 1px 1px 1px;border-width:1px;border-style:solid;background-color:#f3f3f3}.x-nlg .x-btn-group-default-framed-mc{background-color:#f3f3f3}.x-nbr .x-btn-group-default-framed{padding:0!important;border-width:0!important;-webkit-border-radius:0;-moz-border-radius:0;-ms-border-radius:0;-o-border-radius:0;border-radius:0;background-color:transparent;background-position:1000202px 1000202px}.x-nbr .x-btn-group-default-framed-tl,.x-nbr .x-btn-group-default-framed-bl,.x-nbr .x-btn-group-default-framed-tr,.x-nbr .x-btn-group-default-framed-br,.x-nbr .x-btn-group-default-framed-tc,.x-nbr .x-btn-group-default-framed-bc,.x-nbr .x-btn-group-default-framed-ml,.x-nbr .x-btn-group-default-framed-mr{zoom:1;background-image:url('../../extjs/resources/themes/images/default/btn-group/btn-group-default-framed-corners.gif')}.x-nbr .x-btn-group-default-framed-ml,.x-nbr .x-btn-group-default-framed-mr{zoom:1;background-image:url('../../extjs/resources/themes/images/default/btn-group/btn-group-default-framed-sides.gif');background-position:0 0;background-repeat:repeat-y}.x-nbr .x-btn-group-default-framed-mc{padding:0}.x-strict .x-ie7 .x-btn-group-default-framed-tl,.x-strict .x-ie7 .x-btn-group-default-framed-bl{position:relative;right:0}.x-btn-group-default-framed{border-color:#dadada;-webkit-box-shadow:white 0 1px 0 0 inset,white 0 -1px 0 0 inset,white -1px 0 0 0 inset,white 1px 0 0 0 inset;-moz-box-shadow:white 0 1px 0 0 inset,white 0 -1px 0 0 inset,white -1px 0 0 0 inset,white 1px 0 0 0 inset;box-shadow:white 0 1px 0 0 inset,white 0 -1px 0 0 inset,white -1px 0 0 0 inset,white 1px 0 0 0 inset}.x-btn-group-header-default-framed{margin:2px 2px 0 2px}.x-btn-group-header-body-default-framed{padding:1px 0;background:#edebeb;-moz-border-radius-topleft:2px;-webkit-border-top-left-radius:2px;border-top-left-radius:2px;-moz-border-radius-topright:2px;-webkit-border-top-right-radius:2px;border-top-right-radius:2px}.x-btn-group-header-text-default-framed{font:normal 11px Helvetica Neue,Arial,sans-serif;color:#878787}.x-datepicker{border:1px solid #5a5352;background-color:white;position:relative}.x-datepicker a{-moz-outline:0 none;outline:0 none;color:#745351;text-decoration:none;border-width:0}.x-datepicker-inner,.x-datepicker-inner td,.x-datepicker-inner th{border-collapse:separate}.x-datepicker-header{position:relative;height:26px;background-image:none;background-color:#626262;background-image:-webkit-gradient(linear,50% 0,50% 100%,color-stop(0%,#6a6969),color-stop(100%,#585857));background-image:-webkit-linear-gradient(top,#6a6969,#585857);background-image:-moz-linear-gradient(top,#6a6969,#585857);background-image:-o-linear-gradient(top,#6a6969,#585857);background-image:linear-gradient(top,#6a6969,#585857)}.x-datepicker-prev,.x-datepicker-next{position:absolute;top:5px;width:18px}.x-datepicker-prev a,.x-datepicker-next a{display:block;width:16px;height:16px;background-position:top;background-repeat:no-repeat;cursor:pointer;text-decoration:none!important;filter:alpha(opacity=70);opacity:.7}.x-datepicker-prev a:hover,.x-datepicker-next a:hover{filter:alpha(opacity=100);opacity:1}.x-datepicker-next{right:5px}.x-datepicker-next a{background-image:url('../../extjs/resources/themes/images/default/shared/right-btn.gif')}.x-datepicker-prev{left:5px}.x-datepicker-prev a{background-image:url('../../extjs/resources/themes/images/default/shared/left-btn.gif')}.x-item-disabled .x-datepicker-prev a:hover,.x-item-disabled .x-datepicker-next a:hover{filter:alpha(opacity=60);opacity:.6}.x-datepicker-month{padding-top:3px}.x-datepicker-month .x-btn,.x-datepicker-month button,.x-datepicker-month .x-btn-tc,.x-datepicker-month .x-btn-tl,.x-datepicker-month .x-btn-tr,.x-datepicker-month .x-btn-mc,.x-datepicker-month .x-btn-ml,.x-datepicker-month .x-btn-mr,.x-datepicker-month .x-btn-bc,.x-datepicker-month .x-btn-bl,.x-datepicker-month .x-btn-br{background:transparent!important;border-width:0!important}.x-datepicker-month span{color:#fff!important}.x-datepicker-month .x-btn-split-right{background-image:url('../../extjs/resources/themes/images/default/button/s-arrow-light.gif');padding-right:12px}.x-datepicker-next{text-align:right}.x-datepicker-month{text-align:center}.x-datepicker-month button{color:white!important}table.x-datepicker-inner{width:100%;table-layout:fixed}table.x-datepicker-inner th{width:25px;height:19px;padding:0;color:#5b5b5b;font:normal 10px Helvetica Neue,Arial,sans-serif;text-align:right;border-bottom:1px solid #ebe0e0;border-collapse:separate;background-image:none;background-color:white;background-image:-webkit-gradient(linear,50% 0,50% 100%,color-stop(0%,#fff),color-stop(100%,#f7f3f3));background-image:-webkit-linear-gradient(top,#fff,#f7f3f3);background-image:-moz-linear-gradient(top,#fff,#f7f3f3);background-image:-o-linear-gradient(top,#fff,#f7f3f3);background-image:linear-gradient(top,#fff,#f7f3f3);cursor:default}table.x-datepicker-inner th span{display:block;padding-right:7px}table.x-datepicker-inner tr{height:20px}table.x-datepicker-inner td{border:1px solid;height:17px;border-color:white;text-align:right;padding:0}table.x-datepicker-inner a{padding-right:4px;display:block;zoom:1;font:normal 11px Helvetica Neue,Arial,sans-serif;color:black;text-decoration:none;text-align:right}table.x-datepicker-inner .x-datepicker-active{cursor:pointer;color:black}table.x-datepicker-inner .x-datepicker-selected a{background:repeat-x left top;background-color:#f9f9f9;border:1px solid #cdc8c8}table.x-datepicker-inner .x-datepicker-selected span{font-weight:bold}table.x-datepicker-inner .x-datepicker-today a{border:1px solid;border-color:darkred}table.x-datepicker-inner .x-datepicker-prevday a,table.x-datepicker-inner .x-datepicker-nextday a{text-decoration:none!important;color:#aaa}table.x-datepicker-inner a:hover,table.x-datepicker-inner .x-datepicker-disabled a:hover{text-decoration:none!important;color:#000;background-color:white}table.x-datepicker-inner .x-datepicker-disabled a{cursor:default;background-color:#eee;color:#bbb}.x-datepicker-footer,.x-monthpicker-buttons{position:relative;border-top:1px solid #ebe0e0;background-image:none;background-color:white;background-image:-webkit-gradient(linear,50% 0,50% 100%,color-stop(0%,#fcfcfc),color-stop(49%,#f3f3f3),color-stop(51%,#ededed),color-stop(100%,#efefef));background-image:-webkit-linear-gradient(top,#fcfcfc,#f3f3f3 49%,#ededed 51%,#efefef);background-image:-moz-linear-gradient(top,#fcfcfc,#f3f3f3 49%,#ededed 51%,#efefef);background-image:-o-linear-gradient(top,#fcfcfc,#f3f3f3 49%,#ededed 51%,#efefef);background-image:linear-gradient(top,#fcfcfc,#f3f3f3 49%,#ededed 51%,#efefef);text-align:center}.x-datepicker-footer .x-btn,.x-monthpicker-buttons .x-btn{position:relative;margin:4px}.x-item-disabled .x-datepicker-inner a:hover{background:0}.x-datepicker .x-monthpicker{position:absolute;left:0;top:0}.x-monthpicker{border:1px solid #5a5352;background-color:white}.x-monthpicker-months,.x-monthpicker-years{float:left;height:167px;width:88px}.x-monthpicker-item{float:left;margin:4px 0 5px 0;font:normal 11px Helvetica Neue,Arial,sans-serif;text-align:center;vertical-align:middle;height:18px;width:43px;border:0 none}.x-monthpicker-item a{display:block;margin:0 5px;text-decoration:none;color:#745351;border:1px solid white;line-height:17px}.x-monthpicker-item a:hover{background-color:white}.x-monthpicker-item a.x-monthpicker-selected{background-color:white;border:1px solid #cdc8c8}.x-monthpicker-months{border-right:1px solid #5a5352;width:87px}.x-monthpicker-years .x-monthpicker-item{width:44px}.x-monthpicker-yearnav{height:28px}.x-monthpicker-yearnav button{background-image:url('../../extjs/resources/themes/images/default/tools/tool-sprites.gif');height:15px;width:15px;padding:0;margin:6px 12px 5px 15px;border:0;outline:0 none}.x-monthpicker-yearnav button::-moz-focus-inner{border:0;padding:0}.x-monthpicker-yearnav-next{background-position:0 -120px}.x-monthpicker-yearnav-next-over{cursor:pointer;cursor:hand;background-position:-15px -120px}.x-monthpicker-yearnav-prev{background-position:0 -105px}.x-monthpicker-yearnav-prev-over{cursor:pointer;cursor:hand;background-position:-15px -105px}.x-monthpicker-small .x-monthpicker-item{margin:2px 0 2px 0}.x-monthpicker-small .x-monthpicker-yearnav{height:23px}.x-monthpicker-small .x-monthpicker-months,.x-monthpicker-small .x-monthpicker-years{height:136px}.x-quirks .x-ie7 .x-monthpicker-buttons .x-btn,.x-quirks .x-ie8 .x-monthpicker-buttons .x-btn{margin-top:2px}.x-quirks .x-monthpicker-small .x-monthpicker-yearnav button{margin-top:3px;margin-bottom:3px}.x-ie6 .x-monthpicker-small .x-monthpicker-yearnav button{margin-top:3px;margin-bottom:3px}.x-nlg .x-datepicker-header{background-image:url('../../extjs/resources/themes/images/default/datepicker/datepicker-header-bg.gif');background-repeat:repeat-x;background-position:top left}.x-nlg .x-datepicker-footer,.x-nlg .x-monthpicker-buttons{background-image:url('../../extjs/resources/themes/images/default/datepicker/datepicker-footer-bg.gif');background-repeat:repeat-x;background-position:top left}.x-color-picker{width:144px;height:90px;cursor:pointer}.x-color-picker a{border:1px solid #fff;float:left;padding:2px;text-decoration:none;-moz-outline:0 none;outline:0 none;cursor:pointer}.x-color-picker a:hover,.x-color-picker a.x-color-picker-selected{border-color:#8bb8f3;background-color:#deecfd}.x-color-picker em{display:block;border:1px solid #aca899}.x-color-picker em span{cursor:pointer;display:block;height:10px;width:10px;line-height:10px}.x-menu-body{user-select:none;-o-user-select:none;-ms-user-select:none;-moz-user-select:-moz-none;-webkit-user-select:none;cursor:default;background:#f0f0f0!important;padding:2px}.x-menu-item .x-form-text{user-select:text;-webkit-user-select:text;-o-user-select:text;-ie-user-select:text;-moz-user-select:text;-ie-user-select:text}.x-menu-icon-separator{position:absolute;top:0;left:27px;z-index:0;border-left:solid 1px #e0e0e0;background-color:white;width:2px;overflow:hidden}.x-menu-plain .x-menu-icon-separator{display:none}.x-menu-focus{display:block;position:absolute;top:-10px;left:-10px;width:0;height:0}.x-menu-item{white-space:nowrap;overflow:hidden;z-index:1}.x-menu-item-cmp{margin-bottom:1px}.x-menu-item-link{display:block;margin:1px;padding:6px 2px 3px 32px;text-decoration:none!important;line-height:16px;cursor:default}.x-opera .x-menu-item-link{position:relative}.x-menu-item-icon{width:16px;height:16px;position:absolute;top:5px;left:4px;background:no-repeat center center}.x-menu-item-icon-right{width:16px;height:16px;position:absolute;top:6px;right:4px;background:no-repeat center center}.x-menu-item-text{font-size:11px;color:#222}.x-menu-item-checked .x-menu-item-icon{background-image:url('../../extjs/resources/themes/images/default/menu/checked.gif')}.x-menu-item-checked .x-menu-group-icon{background-image:url('../../extjs/resources/themes/images/default/menu/group-checked.gif')}.x-menu-item-unchecked .x-menu-item-icon{background-image:url('../../extjs/resources/themes/images/default/menu/unchecked.gif')}.x-menu-item-unchecked .x-menu-group-icon{background-image:none}.x-menu-item-separator{height:2px;border-top:solid 1px #e0e0e0;background-color:white;margin:2px 0;overflow:hidden}.x-menu-item-arrow{position:absolute;width:12px;height:9px;top:9px;right:0;background:no-repeat center center;background-image:url('../../extjs/resources/themes/images/default/menu/menu-parent.gif')}.x-menu-item-indent{margin-left:31px}.x-menu-item-active{cursor:pointer}.x-menu-item-active .x-menu-item-link{background-image:none;background-color:#fdfcfc;background-image:-webkit-gradient(linear,50% 0,50% 100%,color-stop(0%,#fff),color-stop(100%,#f6efef));background-image:-webkit-linear-gradient(top,#fff,#f6efef);background-image:-moz-linear-gradient(top,#fff,#f6efef);background-image:-o-linear-gradient(top,#fff,#f6efef);background-image:linear-gradient(top,#fff,#f6efef);margin:0;border:1px solid #e8dbdb;cursor:pointer;-webkit-border-radius:3px;-moz-border-radius:3px;-ms-border-radius:3px;-o-border-radius:3px;border-radius:3px}.x-menu-item-disabled{filter:alpha(opacity=50);opacity:.5}.x-ie .x-menu-item-disabled .x-menu-item-icon{filter:alpha(opacity=50);opacity:.5}.x-ie .x-menu-item-disabled .x-menu-item-text{background-color:transparent}.x-strict .x-ie7m .x-ie .x-menu-icon-separator{width:1px}.x-strict .x-ie7m .x-ie .x-menu-item-separator{height:1px}.x-ie6 .x-menu-item-link,.x-ie7 .x-menu-item-link,.x-quirks .x-ie8 .x-menu-item-link{padding-bottom:2px}.x-nlg .x-menu-item-active .x-menu-item-link{background:#fdfcfc repeat-x left top;background-image:url('../../extjs/resources/themes/images/default/menu/menu-item-active-bg.gif')}.x-menu-date-item{border-color:#99bbe8}.x-panel .x-grid-body{background:white;border-color:#bfbfbf;border-style:solid;border-width:1px;border-top-color:#c5c5c5}.x-panel .x-grid-header-ct-hidden{visibility:hidden}.x-grid-empty{padding:10px;color:gray;font:normal 11px tahoma,arial,helvetica,sans-serif}.x-grid-header-hidden .x-grid-body{border-top-color:#bfbfbf!important}.x-grid-view{overflow:hidden;position:relative}.x-grid-table{table-layout:fixed;border-collapse:separate}.x-autowidth-table table.x-grid-table{table-layout:auto;width:auto!important}.x-grid-row .x-grid-table{border-collapse:collapse}.x-grid-locked .x-grid-inner-locked{border-width:0 1px 0 0!important;border-style:solid}.x-grid-header-ct{cursor:default;zoom:1;padding:0;border:1px solid #bfbfbf;border-bottom-color:#c5c5c5;background-image:none;background-color:#c5c5c5;background-image:-webkit-gradient(linear,50% 0,50% 100%,color-stop(0%,#f9f9f9),color-stop(100%,#e3e4e6));background-image:-webkit-linear-gradient(top,#f9f9f9,#e3e4e6);background-image:-moz-linear-gradient(top,#f9f9f9,#e3e4e6);background-image:-o-linear-gradient(top,#f9f9f9,#e3e4e6);background-image:linear-gradient(top,#f9f9f9,#e3e4e6)}.x-accordion-item .x-grid-header-ct{border-width:0 0 1px 0!important}.x-column-header{padding:0;position:absolute;overflow:hidden;border-right:1px solid #c5c5c5;border-left:0 none;border-top:0 none;border-bottom:0 none;text-shadow:0 1px 0 rgba(255,255,255,0.3);font:normal 11px Helvetica Neue,Arial,sans-serif;background-image:none;background-color:#c5c5c5;background-image:-webkit-gradient(linear,50% 0,50% 100%,color-stop(0%,#f9f9f9),color-stop(100%,#e3e4e6));background-image:-webkit-linear-gradient(top,#f9f9f9,#e3e4e6);background-image:-moz-linear-gradient(top,#f9f9f9,#e3e4e6);background-image:-o-linear-gradient(top,#f9f9f9,#e3e4e6);background-image:linear-gradient(top,#f9f9f9,#e3e4e6)}.x-group-header{padding:0;border-left-width:0}.x-group-sub-header{background:transparent;border-top:1px solid #c5c5c5;border-left-width:0}.x-column-header-inner{zoom:1;position:relative;white-space:nowrap;line-height:15px;padding:3px 6px 4px}.x-column-header-inner .x-column-header-text{white-space:nowrap}.x-column-header-over,.x-column-header-sort-ASC,.x-column-header-sort-DESC{border-left-color:#eadbdb;border-right-color:#eadbdb;background-image:none;background-color:#eadbdb;background-image:-webkit-gradient(linear,50% 0,50% 100%,color-stop(0%,#fff),color-stop(39%,#fff),color-stop(40%,#fdfcfc),color-stop(100%,#fdfcfc));background-image:-webkit-linear-gradient(top,#fff,#fff 39%,#fdfcfc 40%,#fdfcfc);background-image:-moz-linear-gradient(top,#fff,#fff 39%,#fdfcfc 40%,#fdfcfc);background-image:-o-linear-gradient(top,#fff,#fff 39%,#fdfcfc 40%,#fdfcfc);background-image:linear-gradient(top,#fff,#fff 39%,#fdfcfc 40%,#fdfcfc)}.x-nlg .x-grid-header-ct,.x-nlg .x-column-header{background:repeat-x 0 top;background-image:url('../../extjs/resources/themes/images/default/grid/column-header-bg.gif')}.x-nlg .x-column-header-over,.x-nlg .x-column-header-sort-ASC,.x-nlg .x-column-header-sort-DESC{background:#ebf3fd repeat-x 0 top;background-image:url('../../extjs/resources/themes/images/default/grid/column-header-over-bg.gif')}.x-column-header-trigger{display:none;height:100%;width:14px;background:no-repeat left center;background-color:#c3daf9;background-image:url('../../extjs/resources/themes/images/default/grid/grid3-hd-btn.gif');position:absolute;right:0;top:0;z-index:2;cursor:pointer}.x-column-header-over .x-column-header-trigger,.x-column-header-open .x-column-header-trigger{display:block}.x-column-header-align-right{text-align:right}.x-column-header-align-right .x-column-header-text{padding-right:.5ex;margin-right:6px}.x-column-header-align-center{text-align:center}.x-column-header-align-left{text-align:left}.x-column-header-sort-ASC .x-column-header-text{padding-right:16px;background:no-repeat right 6px;background-image:url('../../extjs/resources/themes/images/default/grid/sort_asc.gif')}.x-column-header-sort-DESC .x-column-header-text{padding-right:16px;background:no-repeat right 6px;background-image:url('../../extjs/resources/themes/images/default/grid/sort_desc.gif')}.x-grid-row{vertical-align:top}.x-grid-row .x-grid-cell{font:normal 11px/15px Helvetica Neue,Arial,sans-serif;background-color:white;border-color:#ededed;border-style:solid;border-top-color:#fafafa;border-width:0}.x-grid-with-row-lines .x-grid-cell{border-width:1px 0}.x-grid-rowwrap-div{border-width:1px 0;border-color:#ededed;border-style:solid;border-top-color:#fafafa;overflow:hidden}.x-grid-row-alt .x-grid-cell,.x-grid-row-alt .x-grid-rowwrap-div{background-color:#fafafa}.x-grid-row-over .x-grid-cell,.x-grid-row-over .x-grid-rowwrap-div{border-color:#ddd;background-color:#efefef}.x-grid-row-focused .x-grid-cell,.x-grid-row-focused .x-grid-rowwrap-div{border-color:#ddd;background-color:#efefef}.x-grid-row-selected .x-grid-cell,.x-grid-row-selected .x-grid-rowwrap-div{border-style:dotted;border-color:#dbd7d6;background-color:#d9e8fb!important}.x-grid-rowwrap-div .x-grid-cell,.x-grid-rowwrap-div .x-grid-cell-inner{border-width:0;background:transparent}.x-grid-row-body-hidden{display:none}.x-grid-rowbody{font:normal 11px/13px Helvetica Neue,Arial,sans-serif;padding:4px}.x-grid-rowbody p{margin:5px 5px 10px 5px}.x-grid-cell{overflow:hidden}.x-grid-cell-inner{overflow:hidden;-o-text-overflow:ellipsis;text-overflow:ellipsis;padding:2px 6px 3px;white-space:nowrap}.x-grid-with-row-lines .x-grid-cell-inner{line-height:13px;padding-bottom:4px}.x-action-col-cell .x-grid-cell-inner{line-height:0;padding:2px}.x-action-col-cell .x-item-disabled{filter:alpha(opacity=30);opacity:.3}.x-grid-with-row-lines .x-action-col-cell .x-grid-cell-inner{padding-top:1px}.x-grid-row .x-grid-cell-special{padding:0;border-right:1px solid #e3e3e3;background-image:none;background-color:#f6f6f6;background-image:-webkit-gradient(linear,0% 50%,100% 50%,color-stop(0%,#f6f6f6),color-stop(100%,#e9e9e9));background-image:-webkit-linear-gradient(left,#f6f6f6,#e9e9e9);background-image:-moz-linear-gradient(left,#f6f6f6,#e9e9e9);background-image:-o-linear-gradient(left,#f6f6f6,#e9e9e9);background-image:linear-gradient(left,#f6f6f6,#e9e9e9)}.x-grid-row .x-grid-cell-row-checker{vertical-align:middle}.x-ie6 .x-grid-header-row,.x-ie7 .x-grid-header-row,.x-quirks .x-ie8 .x-grid-header-row{position:absolute}.x-grid-row-selected .x-grid-cell-special{border-right:1px solid #eadbdb;background-image:none;background-color:#d9e8fb;background-image:-webkit-gradient(linear,0% 50%,100% 50%,color-stop(0%,#d9e8fb),color-stop(100%,#c2daf9));background-image:-webkit-linear-gradient(left,#d9e8fb,#c2daf9);background-image:-moz-linear-gradient(left,#d9e8fb,#c2daf9);background-image:-o-linear-gradient(left,#d9e8fb,#c2daf9);background-image:linear-gradient(left,#d9e8fb,#c2daf9)}.x-grid-dirty-cell{background-image:url('../../extjs/resources/themes/images/default/grid/dirty.gif');background-position:0 0;background-repeat:no-repeat}.x-grid-cell-selected{background-color:#b8cfee!important}.x-nlg .x-grid-cell-special{background-repeat:repeat-y;background-position:top right}.x-nlg .x-grid-row .x-grid-cell-special,.x-nlg .x-grid-row-over .x-grid-cell-special{background-image:url('../../extjs/resources/themes/images/default/grid/cell-special-bg.gif')}.x-nlg .x-grid-row-focused .x-grid-cell-special,.x-nlg .x-grid-row-selected .x-grid-cell-special{background-image:url('../../extjs/resources/themes/images/default/grid/cell-special-selected-bg.gif')}.x-grid-with-col-lines .x-grid-cell{padding-right:0;border-right:1px solid #e3e3e3}.x-property-grid .x-grid-row .x-grid-property-name .x-grid-cell-inner,.x-property-grid .x-grid-row-over .x-grid-property-name .x-grid-cell-inner{padding-left:12px;background-image:url('../../extjs/resources/themes/images/default/grid/property-cell-bg.gif');background-repeat:no-repeat;background-position:-16px 2px}.x-grid-with-row-lines.x-property-grid .x-grid-row .x-grid-property-name .x-grid-cell-inner,.x-grid-with-row-lines.x-property-grid .x-grid-row-over .x-grid-property-name .x-grid-cell-inner{background-position:-16px 1px}.x-quirks .x-ie .x-grid-row .x-grid-property-name .x-grid-cell-inner{background-position:-16px 2px}.x-unselectable{user-select:none;-o-user-select:none;-ms-user-select:none;-moz-user-select:-moz-none;-webkit-user-select:none;cursor:default}.x-grid-row-body-hidden{display:none}.x-grid-group-collapsed{display:none}.x-grid-view .x-grid-td-expander{vertical-align:top}.x-grid-td-expander{background:repeat-y right transparent}.x-grid-view .x-grid-td-expander .x-grid-cell-inner{padding:0!important}.x-grid-row-expander{background-image:url('../../extjs/resources/themes/images/default/grid/group-collapse.gif');background-color:transparent;width:9px;height:13px;margin-left:3px;background-repeat:no-repeat;background-position:0 -2px}.x-grid-row-collapsed .x-grid-row-expander{background-image:url('../../extjs/resources/themes/images/default/grid/group-expand.gif')}.x-grid-resize-marker{position:absolute;z-index:5;top:0;width:1px;background-color:#0f0f0f}.col-move-top,.col-move-bottom{width:9px;height:9px;position:absolute;top:0;line-height:0;font-size:0;overflow:hidden;z-index:20000;background:no-repeat left top transparent}.col-move-top{background-image:url('../../extjs/resources/themes/images/default/grid/col-move-top.gif')}.col-move-bottom{background-image:url('../../extjs/resources/themes/images/default/grid/col-move-bottom.gif')}.x-tbar-page-number{width:30px}.x-grid-group,.x-grid-group-body,.x-grid-group-hd{zoom:1}.x-grid-group-hd{padding-top:6px}.x-grid-group-hd .x-grid-cell-inner{padding:10px 4px 4px 4px;background:white;border-width:0 0 2px 0;border-style:solid;border-color:#d6d0d0;cursor:pointer}.x-grid-group-hd-collapsible .x-grid-group-title{background:transparent no-repeat 0 -1px;background-image:url('../../extjs/resources/themes/images/default/grid/group-collapse.gif');padding:0 0 0 14px}.x-grid-group-title{color:#7e7e7e;font:bold 11px Helvetica Neue,Arial,sans-serif}.x-grid-group-hd-collapsed .x-grid-group-title{background-image:url('../../extjs/resources/themes/images/default/grid/group-expand.gif')}.x-grid-group-collapsed .x-grid-group-body{display:none}.x-grid-group-collapsed .x-grid-group-title{background-image:url('../../extjs/resources/themes/images/default/grid/group-expand.gif')}.x-group-by-icon{background-image:url('../../extjs/resources/themes/images/default/grid/group-by.gif')}.x-show-groups-icon{background-image:url('../../extjs/resources/themes/images/default/grid/group-by.gif')}.x-column-header-checkbox .x-column-header-inner{padding:0}.x-grid-cell-special .x-grid-cell-inner{padding-left:4px;padding-right:4px}.x-grid-row-checker,.x-column-header-checkbox .x-column-header-text{height:14px;width:14px;line-height:0;background-image:url('../../extjs/resources/themes/images/default/grid/unchecked.gif');background-position:-1px -1px;background-repeat:no-repeat;background-color:transparent}.x-column-header-checkbox .x-column-header-text{display:block;margin:0 5px}.x-quirks .x-ie .x-grid-row-checker,.x-quirks .x-ie .x-column-header-checkbox .x-column-header-text,.x-ie7m .x-grid-row-checker,.x-ie7m .x-column-header-checkbox .x-column-header-text{line-height:14px}.x-grid-hd-checker-on .x-column-header-text{background-image:url('../../extjs/resources/themes/images/default/grid/checked.gif')}.x-grid-cell-row-checker .x-grid-cell-inner{padding-top:4px;padding-bottom:2px;line-height:14px}.x-grid-with-row-lines .x-grid-cell-row-checker .x-grid-cell-inner{padding-top:3px}.x-grid-row-checker{margin-left:1px;background-position:50% -2px}.x-grid-row-selected .x-grid-row-checker,.x-grid-row-checked .x-grid-row-checker{background-image:url('../../extjs/resources/themes/images/default/grid/checked.gif')}.x-tbar-page-first{background-image:url('../../extjs/resources/themes/images/default/grid/page-first.gif')!important}.x-tbar-loading{background-image:url('../../extjs/resources/themes/images/default/grid/refresh.gif')!important}.x-tbar-page-last{background-image:url('../../extjs/resources/themes/images/default/grid/page-last.gif')!important}.x-tbar-page-next{background-image:url('../../extjs/resources/themes/images/default/grid/page-next.gif')!important}.x-tbar-page-prev{background-image:url('../../extjs/resources/themes/images/default/grid/page-prev.gif')!important}.x-item-disabled .x-tbar-loading{background-image:url('../../extjs/resources/themes/images/default/grid/refresh-disabled.gif')!important}.x-item-disabled .x-tbar-page-first{background-image:url('../../extjs/resources/themes/images/default/grid/page-first-disabled.gif')!important}.x-item-disabled .x-tbar-page-last{background-image:url('../../extjs/resources/themes/images/default/grid/page-last-disabled.gif')!important}.x-item-disabled .x-tbar-page-next{background-image:url('../../extjs/resources/themes/images/default/grid/page-next-disabled.gif')!important}.x-item-disabled .x-tbar-page-prev{background-image:url('../../extjs/resources/themes/images/default/grid/page-prev-disabled.gif')!important}.x-hmenu-sort-asc .x-menu-item-icon{background-image:url('../../extjs/resources/themes/images/default/grid/hmenu-asc.gif')}.x-hmenu-sort-desc .x-menu-item-icon{background-image:url('../../extjs/resources/themes/images/default/grid/hmenu-desc.gif')}.x-hmenu-lock .x-menu-item-icon{background-image:url('../../extjs/resources/themes/images/default/grid/hmenu-lock.gif')}.x-hmenu-unlock .x-menu-item-icon{background-image:url('../../extjs/resources/themes/images/default/grid/hmenu-unlock.gif')}.x-group-by-icon{background-image:url('../../extjs/resources/themes/images/default/grid/group-by.gif')}.x-cols-icon .x-menu-item-icon{background-image:url('../../extjs/resources/themes/images/default/grid/columns.gif')}.x-show-groups-icon{background-image:url('../../extjs/resources/themes/images/default/grid/group-by.gif')}.x-grid-drop-indicator{position:absolute;height:1px;line-height:0;background-color:#77bc71;overflow:visible}.x-grid-drop-indicator .x-grid-drop-indicator-left{position:absolute;top:-8px;left:-12px;background-image:url('../../extjs/resources/themes/images/default/grid/dd-insert-arrow-right.png');height:16px;width:16px}.x-grid-drop-indicator .x-grid-drop-indicator-right{position:absolute;top:-8px;right:-11px;background-image:url('../../extjs/resources/themes/images/default/grid/dd-insert-arrow-left.png');height:16px;width:16px}.x-ie6 .x-grid-drop-indicator-left{background-image:url('../../extjs/resources/themes/images/default/grid/dd-insert-arrow-right.gif')}.x-ie6 .x-grid-drop-indicator-right{background-image:url('../../extjs/resources/themes/images/default/grid/dd-insert-arrow-left.gif')}.x-grid-editor .x-form-text{padding:0 4px}.x-grid-editor .x-form-cb-wrap{padding-top:3px}.x-grid-row-editor{position:absolute!important;z-index:1;zoom:1;overflow:visible!important}.x-grid-row-editor .x-form-text{padding:0 2px}.x-grid-row-editor .x-form-cb-wrap{padding-top:0}.x-grid-row-editor .x-form-checkbox{margin-left:-4px}.x-grid-row-editor .x-form-display-field{font:normal 11px/15px Helvetica Neue,Arial,sans-serif;padding-top:0;padding-left:2px}.x-grid-row-editor .x-panel-body{background-color:white;border-top:1px solid #bfbfbf!important;border-bottom:1px solid #bfbfbf!important}.x-grid-editor .x-form-cb-wrap,.x-grid-row-editor .x-form-cb-wrap{text-align:center}.x-grid-editor .x-form-trigger,.x-grid-row-editor .x-form-trigger{height:19px}.x-grid-editor .x-form-trigger-wrap .x-form-spinner-up,.x-grid-editor .x-form-trigger-wrap .x-form-spinner-down,.x-grid-row-editor .x-form-trigger-wrap .x-form-spinner-up,.x-grid-row-editor .x-form-trigger-wrap .x-form-spinner-down{background-image:url('../../extjs/resources/themes/images/default/form/spinner-small.gif');height:10px!important}.x-grid-editor .x-form-text,.x-grid-row-editor .x-form-text{font:normal 11px/15px Helvetica Neue,Arial,sans-serif;height:18px}.x-border-box .x-grid-editor .x-form-trigger,.x-border-box .x-grid-row-editor .x-form-trigger{height:20px}.x-border-box .x-grid-editor .x-form-text,.x-border-box .x-grid-row-editor .x-form-text{height:20px;padding-bottom:1px}.x-ie .x-grid-editor .x-form-text{padding-left:5px}.x-ie .x-grid-row-editor .x-form-text{padding-left:3px}.x-ie8m .x-grid-editor .x-form-text,.x-ie8m .x-grid-row-editor .x-form-text{padding-top:1px}.x-strict .x-ie6 .x-grid-editor .x-form-text,.x-strict .x-ie6 .x-grid-row-editor .x-form-text,.x-strict .x-ie7 .x-grid-editor .x-form-text,.x-strict .x-ie7 .x-grid-row-editor .x-form-text{height:17px}.x-quirks .x-ie9 .x-grid-editor .x-form-text,.x-quirks .x-ie9 .x-grid-row-editor .x-form-text{line-height:17px}.x-opera .x-grid-editor .x-form-text{padding-left:5px}.x-opera .x-grid-row-editor .x-form-text{padding-left:3px}.x-grid-row-editor-buttons{background-color:white;position:absolute;bottom:-31px;padding:4px;height:32px}.x-strict .x-ie7m .x-grid-row-editor-buttons{width:192px;height:24px}.x-grid-row-editor-buttons-ml,.x-grid-row-editor-buttons-mr,.x-grid-row-editor-buttons-bl,.x-grid-row-editor-buttons-br,.x-grid-row-editor-buttons-bc{position:absolute;overflow:hidden}.x-grid-row-editor-buttons-bl,.x-grid-row-editor-buttons-br{width:4px;height:4px;bottom:0;background-image:url('../../extjs/resources/themes/images/default/panel/panel-default-framed-corners.gif')}.x-grid-row-editor-buttons-bl{left:0;background-position:0 -16px}.x-grid-row-editor-buttons-br{right:0;background-position:0 -20px}.x-grid-row-editor-buttons-bc{position:absolute;left:4px;bottom:0;width:192px;height:1px;background-color:#bfbfbf}.x-grid-row-editor-buttons-ml,.x-grid-row-editor-buttons-mr{height:27px;width:1px;top:1px;background-color:#bfbfbf}.x-grid-row-editor-buttons-ml{left:0}.x-grid-row-editor-buttons-mr{background-position:0 -20px;right:0}.x-grid-row-editor-errors ul{margin-left:5px}.x-grid-row-editor-errors li{list-style:disc;margin-left:15px}.x-webkit *:focus{outline:none!important}.x-form-item{vertical-align:top;table-layout:fixed}.x-autocontainer-form-item,.x-anchor-form-item,.x-vbox-form-item,.x-checkboxgroup-form-item,.x-table-form-item{margin-bottom:5px}.x-form-layout-table{border-collapse:separate;border-spacing:0 2px}.x-form-item-body{position:relative}.x-form-form-item td{border-top:1px solid transparent}.x-ie6 .x-form-layout-table{border-collapse:collapse;border-spacing:0}.x-ie6 .x-form-form-item td{border-top-width:0}.x-ie6 td.x-form-item-pad{height:5px}.x-editor .x-form-item-body{padding-bottom:0}.x-form-item-label{display:block;padding:3px 0 0;font-size:12px;user-select:none;-o-user-select:none;-ms-user-select:none;-moz-user-select:-moz-none;-webkit-user-select:none;cursor:default}.x-form-item-label-top{display:block;zoom:1;padding:0 0 5px 0}.x-form-item-label-right{text-align:right}.x-form-invalid-under{padding:2px 2px 2px 18px;color:#c0272b;font:normal 11px Helvetica Neue,Arial,sans-serif;line-height:16px;background:no-repeat 0 2px;background-image:url('../../extjs/resources/themes/images/default/form/exclamation.gif')}.x-form-invalid-icon{width:18px;height:14px;background:no-repeat center center;background-image:url('../../extjs/resources/themes/images/default/form/exclamation.gif');overflow:hidden}.x-form-invalid-icon ul{display:block;width:18px}.x-form-invalid-icon ul li{display:none}.x-lbl-top-err-icon{margin-bottom:4px}.x-form-field,.x-form-display-field{margin:0;font:normal 12px Helvetica Neue,Arial,sans-serif;color:black}.x-form-item-hidden{margin:0}.x-form-text,textarea.x-form-field{padding:1px 3px;background:repeat-x 0 0;border:1px solid;background-color:white;background-image:url('../../extjs/resources/themes/images/default/form/text-bg.gif');border-color:#b5b8c8}.x-form-text{height:18px;line-height:15px;vertical-align:top}.x-ie8m .x-form-text{line-height:15px}.x-border-box .x-form-text{height:22px}textarea.x-form-field{color:black;overflow:auto;height:auto;line-height:normal;background:repeat-x 0 0;background-color:white;background-image:url('../../extjs/resources/themes/images/default/form/text-bg.gif');resize:none}.x-border-box textarea.x-form-field{height:auto}.x-safari.x-mac textarea.x-form-field{margin-bottom:-2px}.x-form-focus,textarea.x-form-focus{border-color:#bebebe}.x-form-invalid-field,textarea.x-form-invalid-field{background-color:white;background-image:url('../../extjs/resources/themes/images/default/grid/invalid_line.gif');background-repeat:repeat-x;background-position:bottom;border-color:#c30}.x-form-item{font:normal 12px Helvetica Neue,Arial,sans-serif}.x-form-empty-field,textarea.x-form-empty-field{color:gray}.x-webkit .x-form-empty-field{line-height:15px}.x-form-display-field{padding-top:3px}.x-quirks .x-ie9p .x-form-text,.x-ie7m .x-form-text{margin-top:-1px;margin-bottom:-1px}.x-ie .x-form-file{height:23px;line-height:18px;vertical-align:middle}.x-field-default-toolbar .x-form-text{height:16px}.x-border-box .x-field-default-toolbar .x-form-text{height:20px}.x-field-default-toolbar .x-form-item-label-left{padding-left:4px}.x-fieldset{border:1px solid #b5b8c8;padding:10px;margin-bottom:10px;display:block;position:relative}.x-ie .x-fieldset{padding-top:0}.x-ie .x-fieldset .x-fieldset-body{padding-top:10px}.x-fieldset-header-checkbox{line-height:14px}.x-fieldset-header{font:11px/14px bold Helvetica Neue,Arial,sans-serif;color:#745351;padding:0 3px 1px;overflow:hidden}.x-fieldset-header .x-fieldset-header-text{float:left;padding:1px 0}.x-fieldset-header .x-fieldset-header-text-collapsible{cursor:pointer}.x-fieldset-header .x-form-item,.x-fieldset-header .x-tool{float:left;margin:1px 0 0 0}.x-fieldset-header .x-form-cb-wrap{padding:1px 0;font-size:0;line-height:0}.x-fieldset-with-title .x-fieldset-header-checkbox,.x-fieldset-with-title .x-tool{margin-right:3px}.x-webkit .x-fieldset-header{-webkit-padding-start:3px;-webkit-padding-end:3px}.x-opera .x-fieldset-with-legend{margin-top:-1px}.x-opera.x-mac .x-fieldset-header-text{padding:2px 0 0}.x-strict .x-ie8 .x-fieldset-header{margin-bottom:-1px}.x-strict .x-ie8 .x-fieldset-header .x-tool,.x-strict .x-ie8 .x-fieldset-header .x-fieldset-header-text,.x-strict .x-ie8 .x-fieldset-header .x-fieldset-header-checkbox{position:relative;top:-1px}.x-quirks .x-ie .x-fieldset-header,.x-ie8m .x-fieldset-header{padding-left:1px;padding-right:1px}.x-fieldset-collapsed .x-fieldset-body{display:none}.x-fieldset-collapsed{padding-bottom:0!important;border-width:1px 1px 0 1px!important;border-left-color:transparent!important;border-right-color:transparent!important}.x-ie6 .x-fieldset-collapsed{border-width:1px 0 0 0!important;padding-bottom:0!important;margin-left:1px;margin-right:1px}.x-ie .x-fieldset-bwrap{zoom:1}.x-ie .x-fieldset-noborder legend{position:relative;margin-bottom:23px}.x-ie .x-fieldset-noborder legend span{position:absolute;left:16px}.x-fieldset{overflow:hidden}.x-fieldset-bwrap{overflow:hidden;zoom:1}.x-fieldset-body{overflow:hidden}.x-form-file-wrap .x-form-text{color:#777}.x-form-file-wrap .x-form-file-btn{overflow:hidden}.x-form-file-wrap .x-form-file-input{position:absolute;top:-4px;right:-2px;height:30px;filter:alpha(opacity=0);opacity:0;font-size:100px}.x-form-cb-wrap{padding-top:3px}.x-form-checkbox,.x-form-radio{vertical-align:-1px;width:13px;height:13px;background:no-repeat;background-image:url('../../extjs/resources/themes/images/default/form/checkbox.gif');overflow:hidden;padding:0;border:0}.x-form-checkbox::-moz-focus-inner,.x-form-radio::-moz-focus-inner{padding:0;border:0}.x-nbr.x-ie .x-form-checkbox,.x-nbr.x-ie .x-form-radio{font-size:0}.x-form-cb-checked .x-form-checkbox,.x-form-cb-checked .x-form-radio{background-position:0 -13px}.x-form-cb-focus{background-position:-13px 0}.x-form-cb-checked .x-form-cb-focus{background-position:-13px -13px}.x-form-radio{background-image:url('../../extjs/resources/themes/images/default/form/radio.gif')}.x-form-cb-label-before{margin-right:4px}.x-form-cb-label-after{margin-left:4px}.x-form-checkboxgroup-body{padding:1px 4px 1px 4px}.x-form-invalid .x-form-checkboxgroup-body{border:1px solid #c30!important;background:transparent repeat-x bottom;background-image:url('../../extjs/resources/themes/images/default/grid/invalid_line.gif');padding:1px 3px 0 3px}.x-check-group-alt{background:#f2f2f2;border-top:1px dotted #d1d1d1;border-bottom:1px dotted #d1d1d1}.x-form-check-group-label{color:#333;border-bottom:1px solid #333;margin:0 30px 5px 0;padding:2px}.x-form-trigger-wrap{vertical-align:top}.x-form-trigger{background-image:url('../../extjs/resources/themes/images/default/form/trigger.gif');background-position:0 0;width:17px;height:21px;border-bottom:1px solid #b5b8c8;cursor:pointer;cursor:hand;overflow:hidden}.x-border-box .x-form-trigger{height:22px}.x-field-default-toolbar .x-form-trigger{height:19px}.x-border-box .x-field-default-toolbar .x-form-trigger{height:20px}.x-form-trigger-over{background-position:-17px 0;border-bottom-color:#bebebe}.x-form-trigger-wrap-focus .x-form-trigger{background-position:-51px 0;border-bottom-color:#bebebe}.x-form-trigger-wrap-focus .x-form-trigger-over{background-position:-68px 0}.x-form-trigger-click,.x-form-trigger-wrap-focus .x-form-trigger-click{background-position:-34px 0}.x-form-trigger-icon{height:16px;background-repeat:no-repeat;background-position:7px 6px}.x-pickerfield-open .x-form-field{-moz-border-radius-bottomleft:0;-webkit-border-bottom-left-radius:0;border-bottom-left-radius:0;-moz-border-radius-bottomright:0;-webkit-border-bottom-right-radius:0;border-bottom-right-radius:0}.x-pickerfield-open-above .x-form-field{-moz-border-radius-bottomleft:3px;-webkit-border-bottom-left-radius:3px;border-bottom-left-radius:3px;-moz-border-radius-topleft:0;-webkit-border-top-left-radius:0;border-top-left-radius:0;-moz-border-radius-topright:0;-webkit-border-top-right-radius:0;border-top-right-radius:0}.x-form-arrow-trigger .x-form-trigger-icon{background-image:url('../../extjs/resources/themes/images/default/boundlist/trigger-arrow.png')}.x-form-date-trigger{background-image:url('../../extjs/resources/themes/images/default/form/date-trigger.gif')}.x-form-trigger-wrap .x-form-spinner-up,.x-form-trigger-wrap .x-form-spinner-down{background-image:url('../../extjs/resources/themes/images/default/form/spinner.gif');width:17px!important;height:11px!important;font-size:0;border-bottom:0}.x-form-trigger-wrap .x-form-spinner-down{background-position:0 -11px}.x-form-trigger-wrap-focus .x-form-spinner-down{background-position:-51px -11px}.x-form-trigger-wrap .x-form-spinner-down-over{background-position:-17px -11px}.x-form-trigger-wrap-focus .x-form-spinner-down-over{background-position:-68px -11px}.x-form-trigger-wrap .x-form-spinner-down-click{background-position:-34px -11px}.x-field-default-toolbar .x-form-trigger-wrap .x-form-spinner-up,.x-field-default-toolbar .x-form-trigger-wrap .x-form-spinner-down{background-image:url('../../extjs/resources/themes/images/default/form/spinner-small.gif');height:10px!important}.x-field-default-toolbar .x-form-trigger-wrap .x-form-spinner-down{background-position:0 -10px}.x-field-default-toolbar .x-form-trigger-wrap-focus .x-form-spinner-down{background-position:-51px -10px}.x-field-default-toolbar .x-form-trigger-wrap .x-form-spinner-down-over{background-position:-17px -10px}.x-field-default-toolbar .x-form-trigger-wrap-focus .x-form-spinner-down-over{background-position:-68px -10px}.x-field-default-toolbar .x-form-trigger-wrap .x-form-spinner-down-click{background-position:-34px -10px}.x-trigger-noedit{cursor:pointer;cursor:hand}.x-item-disabled .x-trigger-noedit,.x-item-disabled .x-form-trigger{cursor:auto}.x-form-clear-trigger{background-image:url('../../extjs/resources/themes/images/default/form/clear-trigger.gif')}.x-form-search-trigger{background-image:url('../../extjs/resources/themes/images/default/form/search-trigger.gif')}.x-quirks .prefixie6 .x-form-trigger-input-cell{height:22px}.x-quirks .prefixie6 .x-field-default-toolbar .x-form-trigger-input-cell{height:20px}.x-html-editor-wrap{border:1px solid #b5b8c8}.x-html-editor-wrap .x-toolbar{border-top-width:0;border-left-width:0;border-right-width:0}.x-html-editor-wrap textarea{background-color:white}.x-html-editor-tb .x-btn-text{background:transparent no-repeat;background-image:url('../../extjs/resources/themes/images/default/editor/tb-sprite.gif')}.x-html-editor-tb .x-edit-bold,.x-menu-item img.x-edit-bold{background-position:0 0;background-image:url('../../extjs/resources/themes/images/default/editor/tb-sprite.gif')}.x-html-editor-tb .x-edit-italic,.x-menu-item img.x-edit-italic{background-position:-16px 0;background-image:url('../../extjs/resources/themes/images/default/editor/tb-sprite.gif')}.x-html-editor-tb .x-edit-underline,.x-menu-item img.x-edit-underline{background-position:-32px 0;background-image:url('../../extjs/resources/themes/images/default/editor/tb-sprite.gif')}.x-html-editor-tb .x-edit-forecolor,.x-menu-item img.x-edit-forecolor{background-position:-160px 0;background-image:url('../../extjs/resources/themes/images/default/editor/tb-sprite.gif')}.x-html-editor-tb .x-edit-backcolor,.x-menu-item img.x-edit-backcolor{background-position:-176px 0;background-image:url('../../extjs/resources/themes/images/default/editor/tb-sprite.gif')}.x-html-editor-tb .x-edit-justifyleft,.x-menu-item img.x-edit-justifyleft{background-position:-112px 0;background-image:url('../../extjs/resources/themes/images/default/editor/tb-sprite.gif')}.x-html-editor-tb .x-edit-justifycenter,.x-menu-item img.x-edit-justifycenter{background-position:-128px 0;background-image:url('../../extjs/resources/themes/images/default/editor/tb-sprite.gif')}.x-html-editor-tb .x-edit-justifyright,.x-menu-item img.x-edit-justifyright{background-position:-144px 0;background-image:url('../../extjs/resources/themes/images/default/editor/tb-sprite.gif')}.x-html-editor-tb .x-edit-insertorderedlist,.x-menu-item img.x-edit-insertorderedlist{background-position:-80px 0;background-image:url('../../extjs/resources/themes/images/default/editor/tb-sprite.gif')}.x-html-editor-tb .x-edit-insertunorderedlist,.x-menu-item img.x-edit-insertunorderedlist{background-position:-96px 0;background-image:url('../../extjs/resources/themes/images/default/editor/tb-sprite.gif')}.x-html-editor-tb .x-edit-increasefontsize,.x-menu-item img.x-edit-increasefontsize{background-position:-48px 0;background-image:url('../../extjs/resources/themes/images/default/editor/tb-sprite.gif')}.x-html-editor-tb .x-edit-decreasefontsize,.x-menu-item img.x-edit-decreasefontsize{background-position:-64px 0;background-image:url('../../extjs/resources/themes/images/default/editor/tb-sprite.gif')}.x-html-editor-tb .x-edit-sourceedit,.x-menu-item img.x-edit-sourceedit{background-position:-192px 0;background-image:url('../../extjs/resources/themes/images/default/editor/tb-sprite.gif')}.x-html-editor-tb .x-edit-createlink,.x-menu-item img.x-edit-createlink{background-position:-208px 0;background-image:url('../../extjs/resources/themes/images/default/editor/tb-sprite.gif')}.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-html-editor-tb .x-font-select{font-size:11px}.x-html-editor-wrap textarea{border:0;padding:3px 2px;overflow:auto}.x-panel,.x-plain{overflow:hidden;position:relative}.x-ie .x-panel-header,.x-ie .x-panel-header-tl,.x-ie .x-panel-header-tc,.x-ie .x-panel-header-tr,.x-ie .x-panel-header-ml,.x-ie .x-panel-header-mc,.x-ie .x-panel-header-mr,.x-ie .x-panel-header-bl,.x-ie .x-panel-header-bc,.x-ie .x-panel-header-br{zoom:1}.x-ie8 td.x-frame-mc{vertical-align:top}.x-panel-header-horizontal{padding:3px 5px 4px}.x-panel-header-vertical{padding:5px 4px}.x-panel-header-icon,.x-window-header-icon{width:16px;height:16px;background-repeat:no-repeat;background-position:0 0;vertical-align:middle;margin-right:4px}.x-vertical .x-panel-header-icon,.x-vertical .x-window-header-icon{margin:0 0 4px}.x-panel-header-draggable,.x-panel-header-draggable .x-panel-header-text,.x-window-header-draggable,.x-window-header-draggable .x-window-header-text{cursor:move}.x-panel-ghost,.x-window-ghost{filter:alpha(opacity=65);opacity:.65;cursor:move}.x-panel-header-horizontal .x-panel-header-body,.x-panel-header-horizontal .x-window-header-body,.x-panel-header-horizontal .x-btn-group-header-body,.x-window-header-horizontal .x-panel-header-body,.x-window-header-horizontal .x-window-header-body,.x-window-header-horizontal .x-btn-group-header-body,.x-btn-group-header-horizontal .x-panel-header-body,.x-btn-group-header-horizontal .x-window-header-body,.x-btn-group-header-horizontal .x-btn-group-header-body{width:100%}.x-panel-header-vertical .x-panel-header-body,.x-panel-header-vertical .x-window-header-body,.x-panel-header-vertical .x-btn-group-header-body,.x-window-header-vertical .x-panel-header-body,.x-window-header-vertical .x-window-header-body,.x-window-header-vertical .x-btn-group-header-body,.x-btn-group-header-vertical .x-panel-header-body,.x-btn-group-header-vertical .x-window-header-body,.x-btn-group-header-vertical .x-btn-group-header-body{height:100%}.x-panel-header-text-container{overflow:hidden;-o-text-overflow:ellipsis;text-overflow:ellipsis}.x-panel-header-text{user-select:none;-o-user-select:none;-ms-user-select:none;-moz-user-select:-moz-none;-webkit-user-select:none;cursor:default;white-space:nowrap}.x-panel-header-left .x-vml-base,.x-panel-header-right .x-vml-base{left:-3px!important}.x-panel-body{overflow:hidden;position:relative;font-size:13px}.x-panel-header-vertical .x-surface{padding-left:1px}.x-opera .x-panel-header-vertical .x-surface,.x-strict .x-ie9 .x-panel-header-vertical .x-surface{padding-left:2px}.x-panel-collapsed .x-panel-header-collapsed-border-top{border-bottom-width:1px!important}.x-panel-collapsed .x-panel-header-collapsed-border-right{border-left-width:1px!important}.x-panel-collapsed .x-panel-header-collapsed-border-bottom{border-top-width:1px!important}.x-panel-collapsed .x-panel-header-collapsed-border-left{border-right-width:1px!important}.x-nlg .x-panel-header-vertical .x-frame-mc{background-repeat:repeat-y}.x-panel-default{border-color:#bfbfbf}.x-panel-header-default{font-size:11px;border-color:#bfbfbf;border-width:1px;border-style:solid;background-image:none;background-color:#f2f1f1;background-image:-webkit-gradient(linear,50% 0,50% 100%,color-stop(0%,#fbfafa),color-stop(45%,#f3f2f2),color-stop(46%,#e0dcdc),color-stop(50%,#e0dcdc),color-stop(51%,#e7e4e4),color-stop(100%,#f2f1f1));background-image:-webkit-linear-gradient(top,#fbfafa,#f3f2f2 45%,#e0dcdc 46%,#e0dcdc 50%,#e7e4e4 51%,#f2f1f1);background-image:-moz-linear-gradient(top,#fbfafa,#f3f2f2 45%,#e0dcdc 46%,#e0dcdc 50%,#e7e4e4 51%,#f2f1f1);background-image:-o-linear-gradient(top,#fbfafa,#f3f2f2 45%,#e0dcdc 46%,#e0dcdc 50%,#e7e4e4 51%,#f2f1f1);background-image:linear-gradient(top,#fbfafa,#f3f2f2 45%,#e0dcdc 46%,#e0dcdc 50%,#e7e4e4 51%,#f2f1f1);-webkit-box-shadow:white 0 1px 0 0 inset;-moz-box-shadow:white 0 1px 0 0 inset;box-shadow:white 0 1px 0 0 inset}.x-nlg .x-panel-header-default-top{background-image:url('../../extjs/resources/themes/images/default/panel-header/panel-header-default-top-bg.gif')}.x-nlg .x-panel-header-default-bottom{background-image:url('../../extjs/resources/themes/images/default/panel-header/panel-header-default-bottom-bg.gif')}.x-nlg .x-panel-header-default-left{background-image:url('../../extjs/resources/themes/images/default/panel-header/panel-header-default-left-bg.gif')}.x-nlg .x-panel-header-default-right{background-image:url('../../extjs/resources/themes/images/default/panel-header/panel-header-default-right-bg.gif')}.x-nlg .x-panel-header-default-right{background-position:top right}.x-nlg .x-panel-header-default-bottom{background-position:bottom left}.x-panel-header-text-default{color:#7e3737;font-size:11px;font-weight:bold;font-family:Helvetica Neue,Arial,sans-serif;line-height:17px}.x-panel-body-default{background:white;border-color:#bfbfbf;color:black;border-width:1px;border-style:solid}.x-panel-collapsed .x-window-header-default,.x-panel-collapsed .x-panel-header-default{border-color:#bfbfbf}.x-panel-header-default-vertical{border-color:#bfbfbf}.x-panel-header-default-left,.x-panel-header-default-right{background-image:none;background-color:#f2f1f1;background-image:-webkit-gradient(linear,100% 50%,0% 50%,color-stop(0%,#fbfafa),color-stop(45%,#f3f2f2),color-stop(46%,#e0dcdc),color-stop(50%,#e0dcdc),color-stop(51%,#e7e4e4),color-stop(100%,#f2f1f1));background-image:-webkit-linear-gradient(right,#fbfafa,#f3f2f2 45%,#e0dcdc 46%,#e0dcdc 50%,#e7e4e4 51%,#f2f1f1);background-image:-moz-linear-gradient(right,#fbfafa,#f3f2f2 45%,#e0dcdc 46%,#e0dcdc 50%,#e7e4e4 51%,#f2f1f1);background-image:-o-linear-gradient(right,#fbfafa,#f3f2f2 45%,#e0dcdc 46%,#e0dcdc 50%,#e7e4e4 51%,#f2f1f1);background-image:linear-gradient(right,#fbfafa,#f3f2f2 45%,#e0dcdc 46%,#e0dcdc 50%,#e7e4e4 51%,#f2f1f1)}.x-panel-header-default-top{-webkit-box-shadow:white 0 1px 0 0 inset;-moz-box-shadow:white 0 1px 0 0 inset;box-shadow:white 0 1px 0 0 inset}.x-panel-header-default-right{-webkit-box-shadow:white -1px 0 0 0 inset;-moz-box-shadow:white -1px 0 0 0 inset;box-shadow:white -1px 0 0 0 inset}.x-panel-header-default-bottom{-webkit-box-shadow:white 0 -1px 0 0 inset;-moz-box-shadow:white 0 -1px 0 0 inset;box-shadow:white 0 -1px 0 0 inset}.x-panel-header-default-left{-webkit-box-shadow:white 1px 0 0 0 inset;-moz-box-shadow:white 1px 0 0 0 inset;box-shadow:white 1px 0 0 0 inset}.x-panel-header-default-right-tc,.x-panel-header-default-right-mc,.x-panel-header-default-right-bc{background-position:right 0}.x-panel-header-default-bottom-tc,.x-panel-header-default-bottom-mc,.x-panel-header-default-bottom-bc{background-position:0 bottom}.x-panel-default-framed{border-color:#bfbfbf}.x-panel-header-default-framed{font-size:11px;border-color:#bfbfbf;border-width:1px;border-style:solid;background-image:none;background-color:#f2f1f1;background-image:-webkit-gradient(linear,50% 0,50% 100%,color-stop(0%,#fbfafa),color-stop(45%,#f3f2f2),color-stop(46%,#e0dcdc),color-stop(50%,#e0dcdc),color-stop(51%,#e7e4e4),color-stop(100%,#f2f1f1));background-image:-webkit-linear-gradient(top,#fbfafa,#f3f2f2 45%,#e0dcdc 46%,#e0dcdc 50%,#e7e4e4 51%,#f2f1f1);background-image:-moz-linear-gradient(top,#fbfafa,#f3f2f2 45%,#e0dcdc 46%,#e0dcdc 50%,#e7e4e4 51%,#f2f1f1);background-image:-o-linear-gradient(top,#fbfafa,#f3f2f2 45%,#e0dcdc 46%,#e0dcdc 50%,#e7e4e4 51%,#f2f1f1);background-image:linear-gradient(top,#fbfafa,#f3f2f2 45%,#e0dcdc 46%,#e0dcdc 50%,#e7e4e4 51%,#f2f1f1);-webkit-box-shadow:white 0 1px 0 0 inset;-moz-box-shadow:white 0 1px 0 0 inset;box-shadow:white 0 1px 0 0 inset}.x-nlg .x-panel-header-default-framed-top{background-image:url('../../extjs/resources/themes/images/default/panel-header/panel-header-default-framed-top-bg.gif')}.x-nlg .x-panel-header-default-framed-bottom{background-image:url('../../extjs/resources/themes/images/default/panel-header/panel-header-default-framed-bottom-bg.gif')}.x-nlg .x-panel-header-default-framed-left{background-image:url('../../extjs/resources/themes/images/default/panel-header/panel-header-default-framed-left-bg.gif')}.x-nlg .x-panel-header-default-framed-right{background-image:url('../../extjs/resources/themes/images/default/panel-header/panel-header-default-framed-right-bg.gif')}.x-nlg .x-panel-header-default-framed-right{background-position:top right}.x-nlg .x-panel-header-default-framed-bottom{background-position:bottom left}.x-nbr .x-panel-header-default-framed{background-image:none}.x-strict .x-ie9 .x-panel-header-default-framed-top,.x-nlg.x-opera .x-panel-header-default-framed-top,.x-nlg.x-safari .x-panel-header-default-framed-top{background-image:url('../../extjs/resources/themes/images/default/panel-header/panel-header-default-top-bg.gif')}.x-strict .x-ie9 .x-panel-header-default-framed-bottom,.x-nlg.x-opera .x-panel-header-default-framed-bottom,.x-nlg.x-safari .x-panel-header-default-framed-bottom{background-image:url('../../extjs/resources/themes/images/default/panel-header/panel-header-default-bottom-bg.gif')}.x-strict .x-ie9 .x-panel-header-default-framed-left,.x-nlg.x-opera .x-panel-header-default-framed-left,.x-nlg.x-safari .x-panel-header-default-framed-left{background-image:url('../../extjs/resources/themes/images/default/panel-header/panel-header-default-left-bg.gif')}.x-strict .x-ie9 .x-panel-header-default-framed-right,.x-nlg.x-opera .x-panel-header-default-framed-right,.x-nlg.x-safari .x-panel-header-default-framed-right{background-image:url('../../extjs/resources/themes/images/default/panel-header/panel-header-default-right-bg.gif')}.x-panel-header-text-default-framed{color:#7e3737;font-size:11px;font-weight:bold;font-family:Helvetica Neue,Arial,sans-serif;line-height:17px}.x-panel-body-default-framed{background:#fdfdfd;border-color:#bfbfbf;color:black;border-width:0;border-style:solid}.x-panel-collapsed .x-window-header-default-framed,.x-panel-collapsed .x-panel-header-default-framed{border-color:#bfbfbf}.x-panel-header-default-framed-vertical{border-color:#bfbfbf}.x-panel-header-default-framed-left,.x-panel-header-default-framed-right{background-image:none;background-color:#f2f1f1;background-image:-webkit-gradient(linear,100% 50%,0% 50%,color-stop(0%,#fbfafa),color-stop(45%,#f3f2f2),color-stop(46%,#e0dcdc),color-stop(50%,#e0dcdc),color-stop(51%,#e7e4e4),color-stop(100%,#f2f1f1));background-image:-webkit-linear-gradient(right,#fbfafa,#f3f2f2 45%,#e0dcdc 46%,#e0dcdc 50%,#e7e4e4 51%,#f2f1f1);background-image:-moz-linear-gradient(right,#fbfafa,#f3f2f2 45%,#e0dcdc 46%,#e0dcdc 50%,#e7e4e4 51%,#f2f1f1);background-image:-o-linear-gradient(right,#fbfafa,#f3f2f2 45%,#e0dcdc 46%,#e0dcdc 50%,#e7e4e4 51%,#f2f1f1);background-image:linear-gradient(right,#fbfafa,#f3f2f2 45%,#e0dcdc 46%,#e0dcdc 50%,#e7e4e4 51%,#f2f1f1)}.x-panel-default-framed{-webkit-border-radius:4px;-moz-border-radius:4px;-ms-border-radius:4px;-o-border-radius:4px;border-radius:4px;padding:4px 4px 4px 4px;border-width:1px;border-style:solid;background-color:#fdfdfd}.x-nlg .x-panel-default-framed-mc{background-color:#fdfdfd}.x-nbr .x-panel-default-framed{padding:0!important;border-width:0!important;-webkit-border-radius:0;-moz-border-radius:0;-ms-border-radius:0;-o-border-radius:0;border-radius:0;background-color:transparent;background-position:1000404px 1000404px}.x-nbr .x-panel-default-framed-tl,.x-nbr .x-panel-default-framed-bl,.x-nbr .x-panel-default-framed-tr,.x-nbr .x-panel-default-framed-br,.x-nbr .x-panel-default-framed-tc,.x-nbr .x-panel-default-framed-bc,.x-nbr .x-panel-default-framed-ml,.x-nbr .x-panel-default-framed-mr{zoom:1;background-image:url('../../extjs/resources/themes/images/default/panel/panel-default-framed-corners.gif')}.x-nbr .x-panel-default-framed-ml,.x-nbr .x-panel-default-framed-mr{zoom:1;background-image:url('../../extjs/resources/themes/images/default/panel/panel-default-framed-sides.gif');background-position:0 0;background-repeat:repeat-y}.x-nbr .x-panel-default-framed-mc{padding:1px 1px 1px 1px}.x-strict .x-ie7 .x-panel-default-framed-tl,.x-strict .x-ie7 .x-panel-default-framed-bl{position:relative;right:0}.x-panel-header-default-framed-top{-moz-border-radius-topleft:4px;-webkit-border-top-left-radius:4px;border-top-left-radius:4px;-moz-border-radius-topright:4px;-webkit-border-top-right-radius:4px;border-top-right-radius:4px;-moz-border-radius-bottomright:0;-webkit-border-bottom-right-radius:0;border-bottom-right-radius:0;-moz-border-radius-bottomleft:0;-webkit-border-bottom-left-radius:0;border-bottom-left-radius:0;padding:3px 5px 4px 5px;border-width:1px 1px 0 1px;border-style:solid;background-image:none;background-color:#f2f1f1;background-image:-webkit-gradient(linear,50% 0,50% 100%,color-stop(0%,#fbfafa),color-stop(45%,#f3f2f2),color-stop(46%,#e0dcdc),color-stop(50%,#e0dcdc),color-stop(51%,#e7e4e4),color-stop(100%,#f2f1f1));background-image:-webkit-linear-gradient(top,#fbfafa,#f3f2f2 45%,#e0dcdc 46%,#e0dcdc 50%,#e7e4e4 51%,#f2f1f1);background-image:-moz-linear-gradient(top,#fbfafa,#f3f2f2 45%,#e0dcdc 46%,#e0dcdc 50%,#e7e4e4 51%,#f2f1f1);background-image:-o-linear-gradient(top,#fbfafa,#f3f2f2 45%,#e0dcdc 46%,#e0dcdc 50%,#e7e4e4 51%,#f2f1f1);background-image:linear-gradient(top,#fbfafa,#f3f2f2 45%,#e0dcdc 46%,#e0dcdc 50%,#e7e4e4 51%,#f2f1f1)}.x-nlg .x-panel-header-default-framed-top-mc{background-image:url('../../extjs/resources/themes/images/default/panel-header/panel-header-default-framed-top-bg.gif');background-color:#f2f1f1}.x-nbr .x-panel-header-default-framed-top{padding:0!important;border-width:0!important;-webkit-border-radius:0;-moz-border-radius:0;-ms-border-radius:0;-o-border-radius:0;border-radius:0;background-color:transparent;background-position:1000404px 1000000px}.x-nbr .x-panel-header-default-framed-top-tl,.x-nbr .x-panel-header-default-framed-top-bl,.x-nbr .x-panel-header-default-framed-top-tr,.x-nbr .x-panel-header-default-framed-top-br,.x-nbr .x-panel-header-default-framed-top-tc,.x-nbr .x-panel-header-default-framed-top-bc,.x-nbr .x-panel-header-default-framed-top-ml,.x-nbr .x-panel-header-default-framed-top-mr{zoom:1;background-image:url('../../extjs/resources/themes/images/default/panel-header/panel-header-default-framed-top-corners.gif')}.x-nbr .x-panel-header-default-framed-top-ml,.x-nbr .x-panel-header-default-framed-top-mr{zoom:1;background-image:url('../../extjs/resources/themes/images/default/panel-header/panel-header-default-framed-top-sides.gif');background-position:0 0}.x-nbr .x-panel-header-default-framed-top-mc{padding:0 2px 4px 2px}.x-strict .x-ie7 .x-panel-header-default-framed-top-tl,.x-strict .x-ie7 .x-panel-header-default-framed-top-bl{position:relative;right:0}.x-panel-header-default-framed-right{-moz-border-radius-topleft:0;-webkit-border-top-left-radius:0;border-top-left-radius:0;-moz-border-radius-topright:4px;-webkit-border-top-right-radius:4px;border-top-right-radius:4px;-moz-border-radius-bottomright:4px;-webkit-border-bottom-right-radius:4px;border-bottom-right-radius:4px;-moz-border-radius-bottomleft:0;-webkit-border-bottom-left-radius:0;border-bottom-left-radius:0;padding:5px 4px 5px 4px;border-width:1px 1px 1px 0;border-style:solid;background-image:none;background-color:#f2f1f1;background-image:-webkit-gradient(linear,100% 50%,0% 50%,color-stop(0%,#fbfafa),color-stop(45%,#f3f2f2),color-stop(46%,#e0dcdc),color-stop(50%,#e0dcdc),color-stop(51%,#e7e4e4),color-stop(100%,#f2f1f1));background-image:-webkit-linear-gradient(right,#fbfafa,#f3f2f2 45%,#e0dcdc 46%,#e0dcdc 50%,#e7e4e4 51%,#f2f1f1);background-image:-moz-linear-gradient(right,#fbfafa,#f3f2f2 45%,#e0dcdc 46%,#e0dcdc 50%,#e7e4e4 51%,#f2f1f1);background-image:-o-linear-gradient(right,#fbfafa,#f3f2f2 45%,#e0dcdc 46%,#e0dcdc 50%,#e7e4e4 51%,#f2f1f1);background-image:linear-gradient(right,#fbfafa,#f3f2f2 45%,#e0dcdc 46%,#e0dcdc 50%,#e7e4e4 51%,#f2f1f1)}.x-nlg .x-panel-header-default-framed-right-mc{background-image:url('../../extjs/resources/themes/images/default/panel-header/panel-header-default-framed-right-bg.gif');background-color:#f2f1f1}.x-nbr .x-panel-header-default-framed-right{padding:0!important;border-width:0!important;-webkit-border-radius:0;-moz-border-radius:0;-ms-border-radius:0;-o-border-radius:0;border-radius:0;background-color:transparent;background-position:1000004px 1100400px}.x-nbr .x-panel-header-default-framed-right-tl,.x-nbr .x-panel-header-default-framed-right-bl,.x-nbr .x-panel-header-default-framed-right-tr,.x-nbr .x-panel-header-default-framed-right-br,.x-nbr .x-panel-header-default-framed-right-tc,.x-nbr .x-panel-header-default-framed-right-bc,.x-nbr .x-panel-header-default-framed-right-ml,.x-nbr .x-panel-header-default-framed-right-mr{zoom:1;background-image:url('../../extjs/resources/themes/images/default/panel-header/panel-header-default-framed-right-corners.gif')}.x-nbr .x-panel-header-default-framed-right-tc,.x-nbr .x-panel-header-default-framed-right-bc{zoom:1;background-image:url('../../extjs/resources/themes/images/default/panel-header/panel-header-default-framed-right-sides.gif');background-position:0 0;background-repeat:repeat-x}.x-nbr .x-panel-header-default-framed-right-mc{padding:2px 1px 2px 4px}.x-strict .x-ie7 .x-panel-header-default-framed-right-tl,.x-strict .x-ie7 .x-panel-header-default-framed-right-bl{position:relative;right:0}.x-panel-header-default-framed-bottom{-moz-border-radius-topleft:0;-webkit-border-top-left-radius:0;border-top-left-radius:0;-moz-border-radius-topright:0;-webkit-border-top-right-radius:0;border-top-right-radius:0;-moz-border-radius-bottomright:4px;-webkit-border-bottom-right-radius:4px;border-bottom-right-radius:4px;-moz-border-radius-bottomleft:4px;-webkit-border-bottom-left-radius:4px;border-bottom-left-radius:4px;padding:3px 5px 4px 5px;border-width:0 1px 1px 1px;border-style:solid;background-image:none;background-color:#f2f1f1;background-image:-webkit-gradient(linear,50% 0,50% 100%,color-stop(0%,#fbfafa),color-stop(45%,#f3f2f2),color-stop(46%,#e0dcdc),color-stop(50%,#e0dcdc),color-stop(51%,#e7e4e4),color-stop(100%,#f2f1f1));background-image:-webkit-linear-gradient(top,#fbfafa,#f3f2f2 45%,#e0dcdc 46%,#e0dcdc 50%,#e7e4e4 51%,#f2f1f1);background-image:-moz-linear-gradient(top,#fbfafa,#f3f2f2 45%,#e0dcdc 46%,#e0dcdc 50%,#e7e4e4 51%,#f2f1f1);background-image:-o-linear-gradient(top,#fbfafa,#f3f2f2 45%,#e0dcdc 46%,#e0dcdc 50%,#e7e4e4 51%,#f2f1f1);background-image:linear-gradient(top,#fbfafa,#f3f2f2 45%,#e0dcdc 46%,#e0dcdc 50%,#e7e4e4 51%,#f2f1f1)}.x-nlg .x-panel-header-default-framed-bottom-mc{background-image:url('../../extjs/resources/themes/images/default/panel-header/panel-header-default-framed-bottom-bg.gif');background-color:#f2f1f1}.x-nbr .x-panel-header-default-framed-bottom{padding:0!important;border-width:0!important;-webkit-border-radius:0;-moz-border-radius:0;-ms-border-radius:0;-o-border-radius:0;border-radius:0;background-color:transparent;background-position:1000000px 1000404px}.x-nbr .x-panel-header-default-framed-bottom-tl,.x-nbr .x-panel-header-default-framed-bottom-bl,.x-nbr .x-panel-header-default-framed-bottom-tr,.x-nbr .x-panel-header-default-framed-bottom-br,.x-nbr .x-panel-header-default-framed-bottom-tc,.x-nbr .x-panel-header-default-framed-bottom-bc,.x-nbr .x-panel-header-default-framed-bottom-ml,.x-nbr .x-panel-header-default-framed-bottom-mr{zoom:1;background-image:url('../../extjs/resources/themes/images/default/panel-header/panel-header-default-framed-bottom-corners.gif')}.x-nbr .x-panel-header-default-framed-bottom-ml,.x-nbr .x-panel-header-default-framed-bottom-mr{zoom:1;background-image:url('../../extjs/resources/themes/images/default/panel-header/panel-header-default-framed-bottom-sides.gif');background-position:0 0}.x-nbr .x-panel-header-default-framed-bottom-mc{padding:3px 2px 1px 2px}.x-strict .x-ie7 .x-panel-header-default-framed-bottom-tl,.x-strict .x-ie7 .x-panel-header-default-framed-bottom-bl{position:relative;right:0}.x-panel-header-default-framed-left{-moz-border-radius-topleft:4px;-webkit-border-top-left-radius:4px;border-top-left-radius:4px;-moz-border-radius-topright:0;-webkit-border-top-right-radius:0;border-top-right-radius:0;-moz-border-radius-bottomright:0;-webkit-border-bottom-right-radius:0;border-bottom-right-radius:0;-moz-border-radius-bottomleft:4px;-webkit-border-bottom-left-radius:4px;border-bottom-left-radius:4px;padding:5px 4px 5px 4px;border-width:1px 0 1px 1px;border-style:solid;background-image:none;background-color:#f2f1f1;background-image:-webkit-gradient(linear,100% 50%,0% 50%,color-stop(0%,#fbfafa),color-stop(45%,#f3f2f2),color-stop(46%,#e0dcdc),color-stop(50%,#e0dcdc),color-stop(51%,#e7e4e4),color-stop(100%,#f2f1f1));background-image:-webkit-linear-gradient(right,#fbfafa,#f3f2f2 45%,#e0dcdc 46%,#e0dcdc 50%,#e7e4e4 51%,#f2f1f1);background-image:-moz-linear-gradient(right,#fbfafa,#f3f2f2 45%,#e0dcdc 46%,#e0dcdc 50%,#e7e4e4 51%,#f2f1f1);background-image:-o-linear-gradient(right,#fbfafa,#f3f2f2 45%,#e0dcdc 46%,#e0dcdc 50%,#e7e4e4 51%,#f2f1f1);background-image:linear-gradient(right,#fbfafa,#f3f2f2 45%,#e0dcdc 46%,#e0dcdc 50%,#e7e4e4 51%,#f2f1f1)}.x-nlg .x-panel-header-default-framed-left-mc{background-image:url('../../extjs/resources/themes/images/default/panel-header/panel-header-default-framed-left-bg.gif');background-color:#f2f1f1}.x-nbr .x-panel-header-default-framed-left{padding:0!important;border-width:0!important;-webkit-border-radius:0;-moz-border-radius:0;-ms-border-radius:0;-o-border-radius:0;border-radius:0;background-color:transparent;background-position:1000400px 1100004px}.x-nbr .x-panel-header-default-framed-left-tl,.x-nbr .x-panel-header-default-framed-left-bl,.x-nbr .x-panel-header-default-framed-left-tr,.x-nbr .x-panel-header-default-framed-left-br,.x-nbr .x-panel-header-default-framed-left-tc,.x-nbr .x-panel-header-default-framed-left-bc,.x-nbr .x-panel-header-default-framed-left-ml,.x-nbr .x-panel-header-default-framed-left-mr{zoom:1;background-image:url('../../extjs/resources/themes/images/default/panel-header/panel-header-default-framed-left-corners.gif')}.x-nbr .x-panel-header-default-framed-left-tc,.x-nbr .x-panel-header-default-framed-left-bc{zoom:1;background-image:url('../../extjs/resources/themes/images/default/panel-header/panel-header-default-framed-left-sides.gif');background-position:0 0;background-repeat:repeat-x}.x-nbr .x-panel-header-default-framed-left-mc{padding:2px 4px 2px 1px}.x-strict .x-ie7 .x-panel-header-default-framed-left-tl,.x-strict .x-ie7 .x-panel-header-default-framed-left-bl{position:relative;right:0}.x-panel-header-default-framed-top{-webkit-box-shadow:white 0 1px 0 0 inset,white -1px 0 0 0 inset,white 1px 0 0 0 inset;-moz-box-shadow:white 0 1px 0 0 inset,white -1px 0 0 0 inset,white 1px 0 0 0 inset;box-shadow:white 0 1px 0 0 inset,white -1px 0 0 0 inset,white 1px 0 0 0 inset}.x-panel-header-default-framed-right{-webkit-box-shadow:white 0 1px 0 0 inset,white 0 -1px 0 0 inset,white -1px 0 0 0 inset;-moz-box-shadow:white 0 1px 0 0 inset,white 0 -1px 0 0 inset,white -1px 0 0 0 inset;box-shadow:white 0 1px 0 0 inset,white 0 -1px 0 0 inset,white -1px 0 0 0 inset}.x-panel-header-default-framed-bottom{-webkit-box-shadow:white 0 -1px 0 0 inset,white -1px 0 0 0 inset,white 1px 0 0 0 inset;-moz-box-shadow:white 0 -1px 0 0 inset,white -1px 0 0 0 inset,white 1px 0 0 0 inset;box-shadow:white 0 -1px 0 0 inset,white -1px 0 0 0 inset,white 1px 0 0 0 inset}.x-panel-header-default-framed-left{-webkit-box-shadow:white 0 1px 0 0 inset,white 0 -1px 0 0 inset,white 1px 0 0 0 inset;-moz-box-shadow:white 0 1px 0 0 inset,white 0 -1px 0 0 inset,white 1px 0 0 0 inset;box-shadow:white 0 1px 0 0 inset,white 0 -1px 0 0 inset,white 1px 0 0 0 inset}.x-panel .x-panel-header-default-framed-top{border-bottom-width:1px!important}.x-panel .x-panel-header-default-framed-right{border-left-width:1px!important}.x-panel .x-panel-header-default-framed-bottom{border-top-width:1px!important}.x-panel .x-panel-header-default-framed-left{border-right-width:1px!important}.x-panel-header-default-framed-collapsed{-webkit-border-radius:4px;-moz-border-radius:4px;-ms-border-radius:4px;-o-border-radius:4px;border-radius:4px}.x-panel-header-default-framed-collapsed-top{-moz-border-radius-topleft:4px;-webkit-border-top-left-radius:4px;border-top-left-radius:4px;-moz-border-radius-topright:4px;-webkit-border-top-right-radius:4px;border-top-right-radius:4px;-moz-border-radius-bottomright:4px;-webkit-border-bottom-right-radius:4px;border-bottom-right-radius:4px;-moz-border-radius-bottomleft:4px;-webkit-border-bottom-left-radius:4px;border-bottom-left-radius:4px;padding:3px 5px 4px 5px;border-width:1px;border-style:solid;background-image:none;background-color:#f2f1f1;background-image:-webkit-gradient(linear,50% 0,50% 100%,color-stop(0%,#fbfafa),color-stop(45%,#f3f2f2),color-stop(46%,#e0dcdc),color-stop(50%,#e0dcdc),color-stop(51%,#e7e4e4),color-stop(100%,#f2f1f1));background-image:-webkit-linear-gradient(top,#fbfafa,#f3f2f2 45%,#e0dcdc 46%,#e0dcdc 50%,#e7e4e4 51%,#f2f1f1);background-image:-moz-linear-gradient(top,#fbfafa,#f3f2f2 45%,#e0dcdc 46%,#e0dcdc 50%,#e7e4e4 51%,#f2f1f1);background-image:-o-linear-gradient(top,#fbfafa,#f3f2f2 45%,#e0dcdc 46%,#e0dcdc 50%,#e7e4e4 51%,#f2f1f1);background-image:linear-gradient(top,#fbfafa,#f3f2f2 45%,#e0dcdc 46%,#e0dcdc 50%,#e7e4e4 51%,#f2f1f1)}.x-nlg .x-panel-header-default-framed-collapsed-top-mc{background-image:url('../../extjs/resources/themes/images/default/panel-header/panel-header-default-framed-collapsed-top-bg.gif');background-color:#f2f1f1}.x-nbr .x-panel-header-default-framed-collapsed-top{padding:0!important;border-width:0!important;-webkit-border-radius:0;-moz-border-radius:0;-ms-border-radius:0;-o-border-radius:0;border-radius:0;background-color:transparent;background-position:1000404px 1000404px}.x-nbr .x-panel-header-default-framed-collapsed-top-tl,.x-nbr .x-panel-header-default-framed-collapsed-top-bl,.x-nbr .x-panel-header-default-framed-collapsed-top-tr,.x-nbr .x-panel-header-default-framed-collapsed-top-br,.x-nbr .x-panel-header-default-framed-collapsed-top-tc,.x-nbr .x-panel-header-default-framed-collapsed-top-bc,.x-nbr .x-panel-header-default-framed-collapsed-top-ml,.x-nbr .x-panel-header-default-framed-collapsed-top-mr{zoom:1;background-image:url('../../extjs/resources/themes/images/default/panel-header/panel-header-default-framed-collapsed-top-corners.gif')}.x-nbr .x-panel-header-default-framed-collapsed-top-ml,.x-nbr .x-panel-header-default-framed-collapsed-top-mr{zoom:1;background-image:url('../../extjs/resources/themes/images/default/panel-header/panel-header-default-framed-collapsed-top-sides.gif');background-position:0 0}.x-nbr .x-panel-header-default-framed-collapsed-top-mc{padding:0 2px 1px 2px}.x-strict .x-ie7 .x-panel-header-default-framed-collapsed-top-tl,.x-strict .x-ie7 .x-panel-header-default-framed-collapsed-top-bl{position:relative;right:0}.x-panel-header-default-framed-collapsed-right{-moz-border-radius-topleft:4px;-webkit-border-top-left-radius:4px;border-top-left-radius:4px;-moz-border-radius-topright:4px;-webkit-border-top-right-radius:4px;border-top-right-radius:4px;-moz-border-radius-bottomright:4px;-webkit-border-bottom-right-radius:4px;border-bottom-right-radius:4px;-moz-border-radius-bottomleft:4px;-webkit-border-bottom-left-radius:4px;border-bottom-left-radius:4px;padding:5px 4px 5px 4px;border-width:1px;border-style:solid;background-image:none;background-color:#f2f1f1;background-image:-webkit-gradient(linear,100% 50%,0% 50%,color-stop(0%,#fbfafa),color-stop(45%,#f3f2f2),color-stop(46%,#e0dcdc),color-stop(50%,#e0dcdc),color-stop(51%,#e7e4e4),color-stop(100%,#f2f1f1));background-image:-webkit-linear-gradient(right,#fbfafa,#f3f2f2 45%,#e0dcdc 46%,#e0dcdc 50%,#e7e4e4 51%,#f2f1f1);background-image:-moz-linear-gradient(right,#fbfafa,#f3f2f2 45%,#e0dcdc 46%,#e0dcdc 50%,#e7e4e4 51%,#f2f1f1);background-image:-o-linear-gradient(right,#fbfafa,#f3f2f2 45%,#e0dcdc 46%,#e0dcdc 50%,#e7e4e4 51%,#f2f1f1);background-image:linear-gradient(right,#fbfafa,#f3f2f2 45%,#e0dcdc 46%,#e0dcdc 50%,#e7e4e4 51%,#f2f1f1)}.x-nlg .x-panel-header-default-framed-collapsed-right-mc{background-image:url('../../extjs/resources/themes/images/default/panel-header/panel-header-default-framed-collapsed-right-bg.gif');background-color:#f2f1f1}.x-nbr .x-panel-header-default-framed-collapsed-right{padding:0!important;border-width:0!important;-webkit-border-radius:0;-moz-border-radius:0;-ms-border-radius:0;-o-border-radius:0;border-radius:0;background-color:transparent;background-position:1000404px 1100404px}.x-nbr .x-panel-header-default-framed-collapsed-right-tl,.x-nbr .x-panel-header-default-framed-collapsed-right-bl,.x-nbr .x-panel-header-default-framed-collapsed-right-tr,.x-nbr .x-panel-header-default-framed-collapsed-right-br,.x-nbr .x-panel-header-default-framed-collapsed-right-tc,.x-nbr .x-panel-header-default-framed-collapsed-right-bc,.x-nbr .x-panel-header-default-framed-collapsed-right-ml,.x-nbr .x-panel-header-default-framed-collapsed-right-mr{zoom:1;background-image:url('../../extjs/resources/themes/images/default/panel-header/panel-header-default-framed-collapsed-right-corners.gif')}.x-nbr .x-panel-header-default-framed-collapsed-right-tc,.x-nbr .x-panel-header-default-framed-collapsed-right-bc{zoom:1;background-image:url('../../extjs/resources/themes/images/default/panel-header/panel-header-default-framed-collapsed-right-sides.gif');background-position:0 0;background-repeat:repeat-x}.x-nbr .x-panel-header-default-framed-collapsed-right-mc{padding:2px 1px 2px 1px}.x-strict .x-ie7 .x-panel-header-default-framed-collapsed-right-tl,.x-strict .x-ie7 .x-panel-header-default-framed-collapsed-right-bl{position:relative;right:0}.x-panel-header-default-framed-collapsed-bottom{-moz-border-radius-topleft:4px;-webkit-border-top-left-radius:4px;border-top-left-radius:4px;-moz-border-radius-topright:4px;-webkit-border-top-right-radius:4px;border-top-right-radius:4px;-moz-border-radius-bottomright:4px;-webkit-border-bottom-right-radius:4px;border-bottom-right-radius:4px;-moz-border-radius-bottomleft:4px;-webkit-border-bottom-left-radius:4px;border-bottom-left-radius:4px;padding:3px 5px 4px 5px;border-width:1px;border-style:solid;background-image:none;background-color:#f2f1f1;background-image:-webkit-gradient(linear,50% 0,50% 100%,color-stop(0%,#fbfafa),color-stop(45%,#f3f2f2),color-stop(46%,#e0dcdc),color-stop(50%,#e0dcdc),color-stop(51%,#e7e4e4),color-stop(100%,#f2f1f1));background-image:-webkit-linear-gradient(top,#fbfafa,#f3f2f2 45%,#e0dcdc 46%,#e0dcdc 50%,#e7e4e4 51%,#f2f1f1);background-image:-moz-linear-gradient(top,#fbfafa,#f3f2f2 45%,#e0dcdc 46%,#e0dcdc 50%,#e7e4e4 51%,#f2f1f1);background-image:-o-linear-gradient(top,#fbfafa,#f3f2f2 45%,#e0dcdc 46%,#e0dcdc 50%,#e7e4e4 51%,#f2f1f1);background-image:linear-gradient(top,#fbfafa,#f3f2f2 45%,#e0dcdc 46%,#e0dcdc 50%,#e7e4e4 51%,#f2f1f1)}.x-nlg .x-panel-header-default-framed-collapsed-bottom-mc{background-image:url('../../extjs/resources/themes/images/default/panel-header/panel-header-default-framed-collapsed-bottom-bg.gif');background-color:#f2f1f1}.x-nbr .x-panel-header-default-framed-collapsed-bottom{padding:0!important;border-width:0!important;-webkit-border-radius:0;-moz-border-radius:0;-ms-border-radius:0;-o-border-radius:0;border-radius:0;background-color:transparent;background-position:1000404px 1000404px}.x-nbr .x-panel-header-default-framed-collapsed-bottom-tl,.x-nbr .x-panel-header-default-framed-collapsed-bottom-bl,.x-nbr .x-panel-header-default-framed-collapsed-bottom-tr,.x-nbr .x-panel-header-default-framed-collapsed-bottom-br,.x-nbr .x-panel-header-default-framed-collapsed-bottom-tc,.x-nbr .x-panel-header-default-framed-collapsed-bottom-bc,.x-nbr .x-panel-header-default-framed-collapsed-bottom-ml,.x-nbr .x-panel-header-default-framed-collapsed-bottom-mr{zoom:1;background-image:url('../../extjs/resources/themes/images/default/panel-header/panel-header-default-framed-collapsed-bottom-corners.gif')}.x-nbr .x-panel-header-default-framed-collapsed-bottom-ml,.x-nbr .x-panel-header-default-framed-collapsed-bottom-mr{zoom:1;background-image:url('../../extjs/resources/themes/images/default/panel-header/panel-header-default-framed-collapsed-bottom-sides.gif');background-position:0 0}.x-nbr .x-panel-header-default-framed-collapsed-bottom-mc{padding:0 2px 1px 2px}.x-strict .x-ie7 .x-panel-header-default-framed-collapsed-bottom-tl,.x-strict .x-ie7 .x-panel-header-default-framed-collapsed-bottom-bl{position:relative;right:0}.x-panel-header-default-framed-collapsed-left{-moz-border-radius-topleft:4px;-webkit-border-top-left-radius:4px;border-top-left-radius:4px;-moz-border-radius-topright:4px;-webkit-border-top-right-radius:4px;border-top-right-radius:4px;-moz-border-radius-bottomright:4px;-webkit-border-bottom-right-radius:4px;border-bottom-right-radius:4px;-moz-border-radius-bottomleft:4px;-webkit-border-bottom-left-radius:4px;border-bottom-left-radius:4px;padding:5px 4px 5px 4px;border-width:1px;border-style:solid;background-image:none;background-color:#f2f1f1;background-image:-webkit-gradient(linear,100% 50%,0% 50%,color-stop(0%,#fbfafa),color-stop(45%,#f3f2f2),color-stop(46%,#e0dcdc),color-stop(50%,#e0dcdc),color-stop(51%,#e7e4e4),color-stop(100%,#f2f1f1));background-image:-webkit-linear-gradient(right,#fbfafa,#f3f2f2 45%,#e0dcdc 46%,#e0dcdc 50%,#e7e4e4 51%,#f2f1f1);background-image:-moz-linear-gradient(right,#fbfafa,#f3f2f2 45%,#e0dcdc 46%,#e0dcdc 50%,#e7e4e4 51%,#f2f1f1);background-image:-o-linear-gradient(right,#fbfafa,#f3f2f2 45%,#e0dcdc 46%,#e0dcdc 50%,#e7e4e4 51%,#f2f1f1);background-image:linear-gradient(right,#fbfafa,#f3f2f2 45%,#e0dcdc 46%,#e0dcdc 50%,#e7e4e4 51%,#f2f1f1)}.x-nlg .x-panel-header-default-framed-collapsed-left-mc{background-image:url('../../extjs/resources/themes/images/default/panel-header/panel-header-default-framed-collapsed-left-bg.gif');background-color:#f2f1f1}.x-nbr .x-panel-header-default-framed-collapsed-left{padding:0!important;border-width:0!important;-webkit-border-radius:0;-moz-border-radius:0;-ms-border-radius:0;-o-border-radius:0;border-radius:0;background-color:transparent;background-position:1000404px 1100404px}.x-nbr .x-panel-header-default-framed-collapsed-left-tl,.x-nbr .x-panel-header-default-framed-collapsed-left-bl,.x-nbr .x-panel-header-default-framed-collapsed-left-tr,.x-nbr .x-panel-header-default-framed-collapsed-left-br,.x-nbr .x-panel-header-default-framed-collapsed-left-tc,.x-nbr .x-panel-header-default-framed-collapsed-left-bc,.x-nbr .x-panel-header-default-framed-collapsed-left-ml,.x-nbr .x-panel-header-default-framed-collapsed-left-mr{zoom:1;background-image:url('../../extjs/resources/themes/images/default/panel-header/panel-header-default-framed-collapsed-left-corners.gif')}.x-nbr .x-panel-header-default-framed-collapsed-left-tc,.x-nbr .x-panel-header-default-framed-collapsed-left-bc{zoom:1;background-image:url('../../extjs/resources/themes/images/default/panel-header/panel-header-default-framed-collapsed-left-sides.gif');background-position:0 0;background-repeat:repeat-x}.x-nbr .x-panel-header-default-framed-collapsed-left-mc{padding:2px 1px 2px 1px}.x-strict .x-ie7 .x-panel-header-default-framed-collapsed-left-tl,.x-strict .x-ie7 .x-panel-header-default-framed-collapsed-left-bl{position:relative;right:0}.x-panel-header-default-framed-right-tc,.x-panel-header-default-framed-right-mc,.x-panel-header-default-framed-right-bc{background-position:right 0}.x-panel-header-default-framed-bottom-tc,.x-panel-header-default-framed-bottom-mc,.x-panel-header-default-framed-bottom-bc{background-position:0 bottom}.x-panel-header-plain,.x-panel-body-plain{border:0;padding:0}.x-tip{position:absolute;overflow:visible;border-color:#b9b9b9}.x-tip .x-tip-header .x-box-item{padding:3px 3px 0}.x-tip .x-tip-header .x-tool{padding:0 1px 0 0!important}.x-tip{-webkit-border-radius:3px;-moz-border-radius:3px;-ms-border-radius:3px;-o-border-radius:3px;border-radius:3px;padding:2px 2px 2px 2px;border-width:1px;border-style:solid;background-color:white}.x-nlg .x-tip-mc{background-color:white}.x-nbr .x-tip{padding:0!important;border-width:0!important;-webkit-border-radius:0;-moz-border-radius:0;-ms-border-radius:0;-o-border-radius:0;border-radius:0;background-color:transparent;background-position:1100303px 1000303px}.x-nbr .x-tip-tl,.x-nbr .x-tip-bl,.x-nbr .x-tip-tr,.x-nbr .x-tip-br,.x-nbr .x-tip-tc,.x-nbr .x-tip-bc,.x-nbr .x-tip-ml,.x-nbr .x-tip-mr{zoom:1;background-image:url('../../extjs/resources/themes/images/default/tip/tip-corners.gif')}.x-nbr .x-tip-ml,.x-nbr .x-tip-mr{zoom:1;background-image:url('../../extjs/resources/themes/images/default/tip/tip-sides.gif');background-position:0 0;background-repeat:repeat-y}.x-nbr .x-tip-mc{padding:0}.x-strict .x-ie7 .x-tip-tl,.x-strict .x-ie7 .x-tip-bl{position:relative;right:0}.x-tip-header-text{user-select:none;-o-user-select:none;-ms-user-select:none;-moz-user-select:-moz-none;-webkit-user-select:none;cursor:default;color:#444;font-size:11px;font-weight:bold}.x-tip-header-draggable .x-tip-header-text{cursor:move}.x-tip-body,.x-form-invalid-tip-body{overflow:hidden;position:relative;padding:3px}.x-tip-header,.x-tip-body,.x-form-invalid-tip-body{color:#444;font-size:11px;font-weight:normal}.x-tip-header a,.x-tip-body a,.x-form-invalid-tip-body a{color:#2a2a2a}.x-tip-anchor{position:absolute;overflow:hidden;height:0;width:0;border-style:solid;border-width:5px;border-color:#b9b9b9;zoom:1}.x-border-box .x-tip-anchor{width:10px;height:10px}.x-tip-anchor-top{border-top-color:transparent;border-left-color:transparent;border-right-color:transparent;_border-top-color:pink;_border-left-color:pink;_border-right-color:pink;_filter:chroma(color=pink)}.x-tip-anchor-bottom{border-bottom-color:transparent;border-left-color:transparent;border-right-color:transparent;_border-bottom-color:pink;_border-left-color:pink;_border-right-color:pink;_filter:chroma(color=pink)}.x-tip-anchor-left{border-top-color:transparent;border-bottom-color:transparent;border-left-color:transparent;_border-top-color:pink;_border-bottom-color:pink;_border-left-color:pink;_filter:chroma(color=pink)}.x-tip-anchor-right{border-top-color:transparent;border-bottom-color:transparent;border-right-color:transparent;_border-top-color:pink;_border-bottom-color:pink;_border-right-color:pink;_filter:chroma(color=pink)}.x-form-invalid-tip{border-color:#a1311f;-webkit-box-shadow:#d87166 0 1px 0 0 inset,#d87166 0 -1px 0 0 inset,#d87166 -1px 0 0 0 inset,#d87166 1px 0 0 0 inset;-moz-box-shadow:#d87166 0 1px 0 0 inset,#d87166 0 -1px 0 0 inset,#d87166 -1px 0 0 0 inset,#d87166 1px 0 0 0 inset;box-shadow:#d87166 0 1px 0 0 inset,#d87166 0 -1px 0 0 inset,#d87166 -1px 0 0 0 inset,#d87166 1px 0 0 0 inset}.x-form-invalid-tip-body{background:1px 1px no-repeat;background-image:url('../../extjs/resources/themes/images/default/form/exclamation.gif');padding-left:22px}.x-form-invalid-tip-body li{margin-bottom:4px}.x-form-invalid-tip-body li.last{margin-bottom:0}.x-form-invalid-tip-default{-webkit-border-radius:5px;-moz-border-radius:5px;-ms-border-radius:5px;-o-border-radius:5px;border-radius:5px;padding:4px 4px 4px 4px;border-width:1px;border-style:solid;background-color:white}.x-nlg .x-form-invalid-tip-default-mc{background-color:white}.x-nbr .x-form-invalid-tip-default{padding:0!important;border-width:0!important;-webkit-border-radius:0;-moz-border-radius:0;-ms-border-radius:0;-o-border-radius:0;border-radius:0;background-color:transparent;background-position:1100505px 1000505px}.x-nbr .x-form-invalid-tip-default-tl,.x-nbr .x-form-invalid-tip-default-bl,.x-nbr .x-form-invalid-tip-default-tr,.x-nbr .x-form-invalid-tip-default-br,.x-nbr .x-form-invalid-tip-default-tc,.x-nbr .x-form-invalid-tip-default-bc,.x-nbr .x-form-invalid-tip-default-ml,.x-nbr .x-form-invalid-tip-default-mr{zoom:1;background-image:url('../../extjs/resources/themes/images/default/form-invalid-tip/form-invalid-tip-default-corners.gif')}.x-nbr .x-form-invalid-tip-default-ml,.x-nbr .x-form-invalid-tip-default-mr{zoom:1;background-image:url('../../extjs/resources/themes/images/default/form-invalid-tip/form-invalid-tip-default-sides.gif');background-position:0 0;background-repeat:repeat-y}.x-nbr .x-form-invalid-tip-default-mc{padding:0}.x-strict .x-ie7 .x-form-invalid-tip-default-tl,.x-strict .x-ie7 .x-form-invalid-tip-default-bl{position:relative;right:0}.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;user-select:none;-o-user-select:none;-ms-user-select:none;-moz-user-select:-moz-none;-webkit-user-select:none;cursor:default;display:block;overflow:hidden}.x-slider-horz{padding-left:7px;background:transparent no-repeat 0 -24px;width:100%}.x-slider-horz .x-slider-end{padding-right:7px;zoom:1;background:transparent no-repeat right -46px}.x-slider-horz .x-slider-inner{background:transparent repeat-x 0 -2px;height:18px}.x-slider-horz .x-slider-thumb{width:14px;height:15px;margin-left:-7px;position:absolute;left:0;top:1px;background:transparent 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 no-repeat -44px 0}.x-slider-vert .x-slider-end{padding-bottom:7px;zoom:1;background:transparent no-repeat -22px bottom;width:22px}.x-slider-vert .x-slider-inner{background:transparent repeat-y 0 0;width:22px}.x-slider-vert .x-slider-thumb{width:15px;height:14px;margin-bottom:-7px;position:absolute;left:3px;bottom:0;background:transparent 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}.x-slider-horz,.x-slider-horz .x-slider-end,.x-slider-horz .x-slider-inner{background-image:url('../../extjs/resources/themes/images/default/slider/slider-bg.png')}.x-slider-horz .x-slider-thumb{background-image:url('../../extjs/resources/themes/images/default/slider/slider-thumb.png')}.x-slider-vert,.x-slider-vert .x-slider-end,.x-slider-vert .x-slider-inner{background-image:url('../../extjs/resources/themes/images/default/slider/slider-v-bg.png')}.x-slider-vert .x-slider-thumb{background-image:url('../../extjs/resources/themes/images/default/slider/slider-v-thumb.png')}.x-ie6 .x-slider-horz,.x-ie6 .x-slider-horz .x-slider-end,.x-ie6 .x-slider-horz .x-slider-inner{background-image:url('../../extjs/resources/themes/images/default/slider/slider-bg.gif')}.x-ie6 .x-slider-horz .x-slider-thumb{background-image:url('../../extjs/resources/themes/images/default/slider/slider-thumb.gif')}.x-ie6 .x-slider-vert,.x-ie6 .x-slider-vert .x-slider-end,.x-ie6 .x-slider-vert .x-slider-inner{background-image:url('../../extjs/resources/themes/images/default/slider/slider-v-bg.gif')}.x-ie6 .x-slider-vert .x-slider-thumb{background-image:url('../../extjs/resources/themes/images/default/slider/slider-v-thumb.gif')}.x-progress{position:relative;border-width:1px;border-style:solid;-webkit-border-radius:0;-moz-border-radius:0;-ms-border-radius:0;-o-border-radius:0;border-radius:0;overflow:hidden;height:20px}.x-progress-bar{height:18px;overflow:hidden;position:absolute;width:0;-webkit-border-radius:0;-moz-border-radius:0;-ms-border-radius:0;-o-border-radius:0;border-radius:0;border-right:1px solid;border-top:1px solid}.x-progress-text{overflow:hidden;position:absolute;padding:0 5px;height:18px;font-weight:bold;font-size:11px;line-height:16px;text-align:center}.x-progress-text-back{padding-top:1px}.x-strict .x-ie7m .x-progress{height:18px}.x-progress-default{border-color:#adadad}.x-progress-default .x-progress-bar{border-right-color:#adadad;border-top-color:#ececec;background-image:none;background-color:#c1b7b7;background-image:-webkit-gradient(linear,50% 0,50% 100%,color-stop(0%,#e5e0e0),color-stop(50%,#cdc4c4),color-stop(51%,#c1b7b7),color-stop(100%,#b6a9a9));background-image:-webkit-linear-gradient(top,#e5e0e0,#cdc4c4 50%,#c1b7b7 51%,#b6a9a9);background-image:-moz-linear-gradient(top,#e5e0e0,#cdc4c4 50%,#c1b7b7 51%,#b6a9a9);background-image:-o-linear-gradient(top,#e5e0e0,#cdc4c4 50%,#c1b7b7 51%,#b6a9a9);background-image:linear-gradient(top,#e5e0e0,#cdc4c4 50%,#c1b7b7 51%,#b6a9a9)}.x-progress-default .x-progress-text{color:white}.x-progress-default .x-progress-text-back{color:#7a7a7a}.x-nlg .x-progress-default .x-progress-bar{background:repeat-x;background-image:url('../../extjs/resources/themes/images/default/progress/progress-default-bg.gif')}.x-toolbar{font-size:11px;border:1px solid;padding:2px 0 2px 2px}.x-toolbar .x-form-item-label{font-size:11px;line-height:15px}.x-toolbar .x-toolbar-item{margin:0 2px 0 0}.x-toolbar .x-toolbar-text{margin-left:4px;margin-right:6px;white-space:nowrap;color:#4c4c4c;line-height:16px;font-family:Helvetica Neue,Arial,sans-serif;font-size:11px;font-weight:normal}.x-toolbar .x-toolbar-separator{display:block;font-size:1px;overflow:hidden;cursor:default;border:0}.x-toolbar .x-toolbar-separator-horizontal{margin:0 3px 0 2px;height:14px;width:0;border-left:1px solid #ffbdbe;border-right:1px solid white}.x-quirks .x-ie .x-toolbar .x-toolbar-separator-horizontal{width:2px}.x-toolbar-footer{background:transparent;border:0 none;margin-top:3px;padding:2px 0 2px 6px}.x-toolbar-footer .x-box-inner{border-width:0}.x-toolbar-footer .x-toolbar-item{margin:0 6px 0 0}.x-toolbar-vertical{padding:2px 2px 0 2px}.x-toolbar-vertical .x-toolbar-item{margin:0 0 2px 0}.x-toolbar-vertical .x-toolbar-text{margin-top:4px;margin-bottom:6px}.x-toolbar-vertical .x-toolbar-separator-vertical{margin:2px 5px 3px 5px;height:0;width:10px;line-height:0;border-top:1px solid #ffbdbe;border-bottom:1px solid white}.x-toolbar-scroller{padding-left:0}.x-toolbar-spacer{width:2px}.x-toolbar-more-icon{background-image:url('../../extjs/resources/themes/images/default/toolbar/more.gif')!important;background-position:2px center!important;background-repeat:no-repeat}.x-toolbar-default{border-color:#bfbfbf;background-image:none;background-color:#e9e9e9;background-image:-webkit-gradient(linear,50% 0,50% 100%,color-stop(0%,#f1f1f1),color-stop(100%,#e9e9e9));background-image:-webkit-linear-gradient(top,#f1f1f1,#e9e9e9);background-image:-moz-linear-gradient(top,#f1f1f1,#e9e9e9);background-image:-o-linear-gradient(top,#f1f1f1,#e9e9e9);background-image:linear-gradient(top,#f1f1f1,#e9e9e9)}.x-nlg .x-toolbar-default{background-image:url('../../extjs/resources/themes/images/default/toolbar/toolbar-default-bg.gif')!important;background-repeat:repeat-x}.x-toolbar-plain{border:0}.x-window{outline:0;overflow:hidden}.x-window .x-window-wrap{position:relative}.x-window-body{position:relative;border-style:solid;overflow:hidden}.x-window-maximized .x-window-wrap .x-window-header{-moz-border-radius:0!important;-webkit-border-radius:0!important;-o-border-radius:0!important;-ms-border-radius:0!important;-khtml-border-radius:0!important;border-radius:0!important}.x-window-header-top{margin-bottom:-2px}.x-window-header-body-horizontal{margin-top:-1px}.x-window-header-bottom{margin-top:-1px;margin-bottom:-1px}.x-window-header-left{margin-right:-1px}.x-window-header-right{margin-left:-1px}.x-window-header-vertical .x-surface{padding-left:1px}.x-window-collapsed .x-window-header-vertical{-webkit-border-radius:5px;-moz-border-radius:5px;-ms-border-radius:5px;-o-border-radius:5px;border-radius:5px}.x-window-collapsed .x-window-header-horizontal{-webkit-border-radius:5px;-moz-border-radius:5px;-ms-border-radius:5px;-o-border-radius:5px;border-radius:5px}.x-window-collapsed .x-window-header-left{padding-right:5px!important;margin-right:0}.x-window-collapsed .x-window-header-right{padding-left:5px!important;margin-left:0}.x-window-collapsed .x-window-header-top{padding-bottom:5px!important;margin-bottom:-1px}.x-window-collapsed .x-window-header-bottom{padding-top:5px!important;margin-top:0}.x-window-header-left .x-vml-base,.x-window-header-right .x-vml-base{left:-3px!important}.x-opera .x-window-header-vertical .x-surface,.x-strict .x-ie9 .x-window-header-vertical .x-surface{padding-left:2px}.x-window-header-text-container{overflow:hidden;-o-text-overflow:ellipsis;text-overflow:ellipsis}.x-window-header-text{user-select:none;-o-user-select:none;-ms-user-select:none;-moz-user-select:-moz-none;-webkit-user-select:none;cursor:default;white-space:nowrap}.x-window-default{border-color:#c6c6c6;-webkit-border-radius:5px 5px;-moz-border-radius:5px 5px;-ms-border-radius:5px 5px;-o-border-radius:5px 5px;border-radius:5px 5px;-webkit-box-shadow:white 0 1px 0 0 inset,white 0 -1px 0 0 inset,white -1px 0 0 0 inset,white 1px 0 0 0 inset;-moz-box-shadow:white 0 1px 0 0 inset,white 0 -1px 0 0 inset,white -1px 0 0 0 inset,white 1px 0 0 0 inset;box-shadow:white 0 1px 0 0 inset,white 0 -1px 0 0 inset,white -1px 0 0 0 inset,white 1px 0 0 0 inset}.x-window-default{-moz-border-radius-topleft:5px;-webkit-border-top-left-radius:5px;border-top-left-radius:5px;-moz-border-radius-topright:5px;-webkit-border-top-right-radius:5px;border-top-right-radius:5px;-moz-border-radius-bottomright:5px;-webkit-border-bottom-right-radius:5px;border-bottom-right-radius:5px;-moz-border-radius-bottomleft:5px;-webkit-border-bottom-left-radius:5px;border-bottom-left-radius:5px;padding:4px 4px 4px 4px;border-width:1px;border-style:solid;background-color:#ededed}.x-nlg .x-window-default-mc{background-color:#ededed}.x-nbr .x-window-default{padding:0!important;border-width:0!important;-webkit-border-radius:0;-moz-border-radius:0;-ms-border-radius:0;-o-border-radius:0;border-radius:0;background-color:transparent;background-position:1000505px 1000505px}.x-nbr .x-window-default-tl,.x-nbr .x-window-default-bl,.x-nbr .x-window-default-tr,.x-nbr .x-window-default-br,.x-nbr .x-window-default-tc,.x-nbr .x-window-default-bc,.x-nbr .x-window-default-ml,.x-nbr .x-window-default-mr{zoom:1;background-image:url('../../extjs/resources/themes/images/default/window/window-default-corners.gif')}.x-nbr .x-window-default-ml,.x-nbr .x-window-default-mr{zoom:1;background-image:url('../../extjs/resources/themes/images/default/window/window-default-sides.gif');background-position:0 0;background-repeat:repeat-y}.x-nbr .x-window-default-mc{padding:0}.x-strict .x-ie7 .x-window-default-tl,.x-strict .x-ie7 .x-window-default-bl{position:relative;right:0}.x-window-body-default{border-color:#d6d0d0;border-width:1px;background:#fdfdfd;color:black}.x-window-header-default{font-size:11px;border-color:#c6c6c6;zoom:1}.x-window-header-text-default{color:#7e373a;font-weight:bold;line-height:17px;font-family:Helvetica Neue,Arial,sans-serif;font-size:11px}.x-window-header-default-top{-moz-border-radius-topleft:5px;-webkit-border-top-left-radius:5px;border-top-left-radius:5px;-moz-border-radius-topright:5px;-webkit-border-top-right-radius:5px;border-top-right-radius:5px;-moz-border-radius-bottomright:0;-webkit-border-bottom-right-radius:0;border-bottom-right-radius:0;-moz-border-radius-bottomleft:0;-webkit-border-bottom-left-radius:0;border-bottom-left-radius:0;padding:4px 5px 0 5px;border-width:1px 1px 0 1px;border-style:solid;background-color:#ededed}.x-nlg .x-window-header-default-top-mc{background-color:#ededed}.x-nbr .x-window-header-default-top{padding:0!important;border-width:0!important;-webkit-border-radius:0;-moz-border-radius:0;-ms-border-radius:0;-o-border-radius:0;border-radius:0;background-color:transparent;background-position:1000505px 1000000px}.x-nbr .x-window-header-default-top-tl,.x-nbr .x-window-header-default-top-bl,.x-nbr .x-window-header-default-top-tr,.x-nbr .x-window-header-default-top-br,.x-nbr .x-window-header-default-top-tc,.x-nbr .x-window-header-default-top-bc,.x-nbr .x-window-header-default-top-ml,.x-nbr .x-window-header-default-top-mr{zoom:1;background-image:url('../../extjs/resources/themes/images/default/window-header/window-header-default-top-corners.gif')}.x-nbr .x-window-header-default-top-ml,.x-nbr .x-window-header-default-top-mr{zoom:1;background-image:url('../../extjs/resources/themes/images/default/window-header/window-header-default-top-sides.gif');background-position:0 0;background-repeat:repeat-y}.x-nbr .x-window-header-default-top-mc{padding:0 1px 0 1px}.x-strict .x-ie7 .x-window-header-default-top-tl,.x-strict .x-ie7 .x-window-header-default-top-bl{position:relative;right:0}.x-window-header-default-right{-moz-border-radius-topleft:0;-webkit-border-top-left-radius:0;border-top-left-radius:0;-moz-border-radius-topright:5px;-webkit-border-top-right-radius:5px;border-top-right-radius:5px;-moz-border-radius-bottomright:5px;-webkit-border-bottom-right-radius:5px;border-bottom-right-radius:5px;-moz-border-radius-bottomleft:0;-webkit-border-bottom-left-radius:0;border-bottom-left-radius:0;padding:5px 4px 5px 0;border-width:1px 1px 1px 0;border-style:solid;background-color:#ededed}.x-nlg .x-window-header-default-right-mc{background-color:#ededed}.x-nbr .x-window-header-default-right{padding:0!important;border-width:0!important;-webkit-border-radius:0;-moz-border-radius:0;-ms-border-radius:0;-o-border-radius:0;border-radius:0;background-color:transparent;background-position:1000005px 1000500px}.x-nbr .x-window-header-default-right-tl,.x-nbr .x-window-header-default-right-bl,.x-nbr .x-window-header-default-right-tr,.x-nbr .x-window-header-default-right-br,.x-nbr .x-window-header-default-right-tc,.x-nbr .x-window-header-default-right-bc,.x-nbr .x-window-header-default-right-ml,.x-nbr .x-window-header-default-right-mr{zoom:1;background-image:url('../../extjs/resources/themes/images/default/window-header/window-header-default-right-corners.gif')}.x-nbr .x-window-header-default-right-ml,.x-nbr .x-window-header-default-right-mr{zoom:1;background-image:url('../../extjs/resources/themes/images/default/window-header/window-header-default-right-sides.gif');background-position:0 0;background-repeat:repeat-y}.x-nbr .x-window-header-default-right-mc{padding:1px 0 1px 0}.x-strict .x-ie7 .x-window-header-default-right-tl,.x-strict .x-ie7 .x-window-header-default-right-bl{position:relative;right:0}.x-window-header-default-bottom{-moz-border-radius-topleft:0;-webkit-border-top-left-radius:0;border-top-left-radius:0;-moz-border-radius-topright:0;-webkit-border-top-right-radius:0;border-top-right-radius:0;-moz-border-radius-bottomright:5px;-webkit-border-bottom-right-radius:5px;border-bottom-right-radius:5px;-moz-border-radius-bottomleft:5px;-webkit-border-bottom-left-radius:5px;border-bottom-left-radius:5px;padding:0 5px 4px 5px;border-width:0 1px 1px 1px;border-style:solid;background-color:#ededed}.x-nlg .x-window-header-default-bottom-mc{background-color:#ededed}.x-nbr .x-window-header-default-bottom{padding:0!important;border-width:0!important;-webkit-border-radius:0;-moz-border-radius:0;-ms-border-radius:0;-o-border-radius:0;border-radius:0;background-color:transparent;background-position:1000000px 1000505px}.x-nbr .x-window-header-default-bottom-tl,.x-nbr .x-window-header-default-bottom-bl,.x-nbr .x-window-header-default-bottom-tr,.x-nbr .x-window-header-default-bottom-br,.x-nbr .x-window-header-default-bottom-tc,.x-nbr .x-window-header-default-bottom-bc,.x-nbr .x-window-header-default-bottom-ml,.x-nbr .x-window-header-default-bottom-mr{zoom:1;background-image:url('../../extjs/resources/themes/images/default/window-header/window-header-default-bottom-corners.gif')}.x-nbr .x-window-header-default-bottom-ml,.x-nbr .x-window-header-default-bottom-mr{zoom:1;background-image:url('../../extjs/resources/themes/images/default/window-header/window-header-default-bottom-sides.gif');background-position:0 0;background-repeat:repeat-y}.x-nbr .x-window-header-default-bottom-mc{padding:0 1px 0 1px}.x-strict .x-ie7 .x-window-header-default-bottom-tl,.x-strict .x-ie7 .x-window-header-default-bottom-bl{position:relative;right:0}.x-window-header-default-left{-moz-border-radius-topleft:5px;-webkit-border-top-left-radius:5px;border-top-left-radius:5px;-moz-border-radius-topright:0;-webkit-border-top-right-radius:0;border-top-right-radius:0;-moz-border-radius-bottomright:0;-webkit-border-bottom-right-radius:0;border-bottom-right-radius:0;-moz-border-radius-bottomleft:5px;-webkit-border-bottom-left-radius:5px;border-bottom-left-radius:5px;padding:5px 0 5px 4px;border-width:1px 0 1px 1px;border-style:solid;background-color:#ededed}.x-nlg .x-window-header-default-left-mc{background-color:#ededed}.x-nbr .x-window-header-default-left{padding:0!important;border-width:0!important;-webkit-border-radius:0;-moz-border-radius:0;-ms-border-radius:0;-o-border-radius:0;border-radius:0;background-color:transparent;background-position:1000500px 1000005px}.x-nbr .x-window-header-default-left-tl,.x-nbr .x-window-header-default-left-bl,.x-nbr .x-window-header-default-left-tr,.x-nbr .x-window-header-default-left-br,.x-nbr .x-window-header-default-left-tc,.x-nbr .x-window-header-default-left-bc,.x-nbr .x-window-header-default-left-ml,.x-nbr .x-window-header-default-left-mr{zoom:1;background-image:url('../../extjs/resources/themes/images/default/window-header/window-header-default-left-corners.gif')}.x-nbr .x-window-header-default-left-ml,.x-nbr .x-window-header-default-left-mr{zoom:1;background-image:url('../../extjs/resources/themes/images/default/window-header/window-header-default-left-sides.gif');background-position:0 0;background-repeat:repeat-y}.x-nbr .x-window-header-default-left-mc{padding:1px 0 1px 0}.x-strict .x-ie7 .x-window-header-default-left-tl,.x-strict .x-ie7 .x-window-header-default-left-bl{position:relative;right:0}.x-window-header-default-collapsed-top{-moz-border-radius-topleft:5px;-webkit-border-top-left-radius:5px;border-top-left-radius:5px;-moz-border-radius-topright:5px;-webkit-border-top-right-radius:5px;border-top-right-radius:5px;-moz-border-radius-bottomright:5px;-webkit-border-bottom-right-radius:5px;border-bottom-right-radius:5px;-moz-border-radius-bottomleft:5px;-webkit-border-bottom-left-radius:5px;border-bottom-left-radius:5px;padding:4px 5px 4px 5px;border-width:1px;border-style:solid;background-color:#ededed}.x-nlg .x-window-header-default-collapsed-top-mc{background-color:#ededed}.x-nbr .x-window-header-default-collapsed-top{padding:0!important;border-width:0!important;-webkit-border-radius:0;-moz-border-radius:0;-ms-border-radius:0;-o-border-radius:0;border-radius:0;background-color:transparent;background-position:1000505px 1000505px}.x-nbr .x-window-header-default-collapsed-top-tl,.x-nbr .x-window-header-default-collapsed-top-bl,.x-nbr .x-window-header-default-collapsed-top-tr,.x-nbr .x-window-header-default-collapsed-top-br,.x-nbr .x-window-header-default-collapsed-top-tc,.x-nbr .x-window-header-default-collapsed-top-bc,.x-nbr .x-window-header-default-collapsed-top-ml,.x-nbr .x-window-header-default-collapsed-top-mr{zoom:1;background-image:url('../../extjs/resources/themes/images/default/window-header/window-header-default-collapsed-top-corners.gif')}.x-nbr .x-window-header-default-collapsed-top-ml,.x-nbr .x-window-header-default-collapsed-top-mr{zoom:1;background-image:url('../../extjs/resources/themes/images/default/window-header/window-header-default-collapsed-top-sides.gif');background-position:0 0;background-repeat:repeat-y}.x-nbr .x-window-header-default-collapsed-top-mc{padding:0 1px 0 1px}.x-strict .x-ie7 .x-window-header-default-collapsed-top-tl,.x-strict .x-ie7 .x-window-header-default-collapsed-top-bl{position:relative;right:0}.x-window-header-default-collapsed-right{-moz-border-radius-topleft:5px;-webkit-border-top-left-radius:5px;border-top-left-radius:5px;-moz-border-radius-topright:5px;-webkit-border-top-right-radius:5px;border-top-right-radius:5px;-moz-border-radius-bottomright:5px;-webkit-border-bottom-right-radius:5px;border-bottom-right-radius:5px;-moz-border-radius-bottomleft:5px;-webkit-border-bottom-left-radius:5px;border-bottom-left-radius:5px;padding:5px 4px 5px 4px;border-width:1px;border-style:solid;background-color:#ededed}.x-nlg .x-window-header-default-collapsed-right-mc{background-color:#ededed}.x-nbr .x-window-header-default-collapsed-right{padding:0!important;border-width:0!important;-webkit-border-radius:0;-moz-border-radius:0;-ms-border-radius:0;-o-border-radius:0;border-radius:0;background-color:transparent;background-position:1000505px 1000505px}.x-nbr .x-window-header-default-collapsed-right-tl,.x-nbr .x-window-header-default-collapsed-right-bl,.x-nbr .x-window-header-default-collapsed-right-tr,.x-nbr .x-window-header-default-collapsed-right-br,.x-nbr .x-window-header-default-collapsed-right-tc,.x-nbr .x-window-header-default-collapsed-right-bc,.x-nbr .x-window-header-default-collapsed-right-ml,.x-nbr .x-window-header-default-collapsed-right-mr{zoom:1;background-image:url('../../extjs/resources/themes/images/default/window-header/window-header-default-collapsed-right-corners.gif')}.x-nbr .x-window-header-default-collapsed-right-ml,.x-nbr .x-window-header-default-collapsed-right-mr{zoom:1;background-image:url('../../extjs/resources/themes/images/default/window-header/window-header-default-collapsed-right-sides.gif');background-position:0 0;background-repeat:repeat-y}.x-nbr .x-window-header-default-collapsed-right-mc{padding:1px 0 1px 0}.x-strict .x-ie7 .x-window-header-default-collapsed-right-tl,.x-strict .x-ie7 .x-window-header-default-collapsed-right-bl{position:relative;right:0}.x-window-header-default-collapsed-bottom{-moz-border-radius-topleft:5px;-webkit-border-top-left-radius:5px;border-top-left-radius:5px;-moz-border-radius-topright:5px;-webkit-border-top-right-radius:5px;border-top-right-radius:5px;-moz-border-radius-bottomright:5px;-webkit-border-bottom-right-radius:5px;border-bottom-right-radius:5px;-moz-border-radius-bottomleft:5px;-webkit-border-bottom-left-radius:5px;border-bottom-left-radius:5px;padding:4px 5px 4px 5px;border-width:1px;border-style:solid;background-color:#ededed}.x-nlg .x-window-header-default-collapsed-bottom-mc{background-color:#ededed}.x-nbr .x-window-header-default-collapsed-bottom{padding:0!important;border-width:0!important;-webkit-border-radius:0;-moz-border-radius:0;-ms-border-radius:0;-o-border-radius:0;border-radius:0;background-color:transparent;background-position:1000505px 1000505px}.x-nbr .x-window-header-default-collapsed-bottom-tl,.x-nbr .x-window-header-default-collapsed-bottom-bl,.x-nbr .x-window-header-default-collapsed-bottom-tr,.x-nbr .x-window-header-default-collapsed-bottom-br,.x-nbr .x-window-header-default-collapsed-bottom-tc,.x-nbr .x-window-header-default-collapsed-bottom-bc,.x-nbr .x-window-header-default-collapsed-bottom-ml,.x-nbr .x-window-header-default-collapsed-bottom-mr{zoom:1;background-image:url('../../extjs/resources/themes/images/default/window-header/window-header-default-collapsed-bottom-corners.gif')}.x-nbr .x-window-header-default-collapsed-bottom-ml,.x-nbr .x-window-header-default-collapsed-bottom-mr{zoom:1;background-image:url('../../extjs/resources/themes/images/default/window-header/window-header-default-collapsed-bottom-sides.gif');background-position:0 0;background-repeat:repeat-y}.x-nbr .x-window-header-default-collapsed-bottom-mc{padding:0 1px 0 1px}.x-strict .x-ie7 .x-window-header-default-collapsed-bottom-tl,.x-strict .x-ie7 .x-window-header-default-collapsed-bottom-bl{position:relative;right:0}.x-window-header-default-collapsed-left{-moz-border-radius-topleft:5px;-webkit-border-top-left-radius:5px;border-top-left-radius:5px;-moz-border-radius-topright:5px;-webkit-border-top-right-radius:5px;border-top-right-radius:5px;-moz-border-radius-bottomright:5px;-webkit-border-bottom-right-radius:5px;border-bottom-right-radius:5px;-moz-border-radius-bottomleft:5px;-webkit-border-bottom-left-radius:5px;border-bottom-left-radius:5px;padding:5px 4px 5px 4px;border-width:1px;border-style:solid;background-color:#ededed}.x-nlg .x-window-header-default-collapsed-left-mc{background-color:#ededed}.x-nbr .x-window-header-default-collapsed-left{padding:0!important;border-width:0!important;-webkit-border-radius:0;-moz-border-radius:0;-ms-border-radius:0;-o-border-radius:0;border-radius:0;background-color:transparent;background-position:1000505px 1000505px}.x-nbr .x-window-header-default-collapsed-left-tl,.x-nbr .x-window-header-default-collapsed-left-bl,.x-nbr .x-window-header-default-collapsed-left-tr,.x-nbr .x-window-header-default-collapsed-left-br,.x-nbr .x-window-header-default-collapsed-left-tc,.x-nbr .x-window-header-default-collapsed-left-bc,.x-nbr .x-window-header-default-collapsed-left-ml,.x-nbr .x-window-header-default-collapsed-left-mr{zoom:1;background-image:url('../../extjs/resources/themes/images/default/window-header/window-header-default-collapsed-left-corners.gif')}.x-nbr .x-window-header-default-collapsed-left-ml,.x-nbr .x-window-header-default-collapsed-left-mr{zoom:1;background-image:url('../../extjs/resources/themes/images/default/window-header/window-header-default-collapsed-left-sides.gif');background-position:0 0;background-repeat:repeat-y}.x-nbr .x-window-header-default-collapsed-left-mc{padding:1px 0 1px 0}.x-strict .x-ie7 .x-window-header-default-collapsed-left-tl,.x-strict .x-ie7 .x-window-header-default-collapsed-left-bl{position:relative;right:0}.x-window-header-default-top{-webkit-box-shadow:white 0 1px 0 0 inset,white -1px 0 0 0 inset,white 1px 0 0 0 inset;-moz-box-shadow:white 0 1px 0 0 inset,white -1px 0 0 0 inset,white 1px 0 0 0 inset;box-shadow:white 0 1px 0 0 inset,white -1px 0 0 0 inset,white 1px 0 0 0 inset}.x-window-header-default-right{-webkit-box-shadow:white 0 1px 0 0 inset,white 0 -1px 0 0 inset,white -1px 0 0 0 inset;-moz-box-shadow:white 0 1px 0 0 inset,white 0 -1px 0 0 inset,white -1px 0 0 0 inset;box-shadow:white 0 1px 0 0 inset,white 0 -1px 0 0 inset,white -1px 0 0 0 inset}.x-window-header-default-bottom{-webkit-box-shadow:white 0 -1px 0 0 inset,white -1px 0 0 0 inset,white 1px 0 0 0 inset;-moz-box-shadow:white 0 -1px 0 0 inset,white -1px 0 0 0 inset,white 1px 0 0 0 inset;box-shadow:white 0 -1px 0 0 inset,white -1px 0 0 0 inset,white 1px 0 0 0 inset}.x-window-header-default-left{-webkit-box-shadow:white 0 1px 0 0 inset,white 0 -1px 0 0 inset,white 1px 0 0 0 inset;-moz-box-shadow:white 0 1px 0 0 inset,white 0 -1px 0 0 inset,white 1px 0 0 0 inset;box-shadow:white 0 1px 0 0 inset,white 0 -1px 0 0 inset,white 1px 0 0 0 inset}.x-window-body-plain{background:transparent}.x-message-box .x-window-body{background-color:#ededed;border:0}.x-message-box .x-progress-wrap{margin-top:4px}.x-message-box-icon{width:47px;height:32px}.x-message-box-info,.x-message-box-warning,.x-message-box-question,.x-message-box-error{background:transparent no-repeat top left}.x-message-box .x-msg-box-wait{background-image:url('../../extjs/resources/themes/images/default/shared/blue-loading.gif')}.x-message-box-info{background-image:url('../../extjs/resources/themes/images/default/shared/icon-info.gif')}.x-message-box-warning{background-image:url('../../extjs/resources/themes/images/default/shared/icon-warning.gif')}.x-message-box-question{background-image:url('../../extjs/resources/themes/images/default/shared/icon-question.gif')}.x-message-box-error{background-image:url('../../extjs/resources/themes/images/default/shared/icon-error.gif')}.x-tab-bar{position:relative;background-color:transparent;background-image:none;background-color:#efefef;background-image:-webkit-gradient(linear,50% 0,50% 100%,color-stop(0%,#fcfbfb),color-stop(100%,#efefef));background-image:-webkit-linear-gradient(top,#fcfbfb,#efefef);background-image:-moz-linear-gradient(top,#fcfbfb,#efefef);background-image:-o-linear-gradient(top,#fcfbfb,#efefef);background-image:linear-gradient(top,#fcfbfb,#efefef);font-size:11px}.x-nlg .x-tab-bar{background-image:url('../../extjs/resources/themes/images/default/tab-bar/tab-bar-default-bg.gif')}.x-tab-bar-default-plain,.x-nlg .x-tab-bar-default-plain{background:transparent none}.x-tab-bar-body{border-style:solid;border-color:#bfbfbf;position:relative;z-index:2;zoom:1}.x-tab-bar-top .x-tab-bar-body{height:20px;border-width:1px 1px 0;padding:1px 0 3px}.x-tab-bar-top .x-tab-bar-strip{top:22px;border-width:1px 1px 0;height:2px}.x-border-box .x-tab-bar-top .x-tab-bar-body{height:25px}.x-border-box .x-tab-bar-top .x-tab-bar-strip{height:3px}.x-tab-bar-top .x-tab-bar-body-default-plain{height:20px;border-width:0;padding:0 0 2px}.x-tab-bar-top .x-tab-bar-strip-default-plain{top:20px;border-width:1px 1px 0 1px;height:2px}.x-border-box .x-tab-bar-top .x-tab-bar-body-default-plain{height:22px}.x-border-box .x-tab-bar-top .x-tab-bar-strip-default-plain{height:3px}.x-tab-bar-bottom .x-tab-bar-body{height:20px;border-width:0 1px 1px;padding:3px 0 1px}.x-tab-bar-bottom .x-tab-bar-body .x-box-inner{position:relative;top:-1px}.x-tab-bar-bottom .x-tab-bar-body .x-box-scroller,.x-tab-bar-bottom .x-tab-bar-body .x-box-scroller-left,.x-tab-bar-bottom .x-tab-bar-body .x-box-scroller-right{height:22px}.x-tab-bar-bottom .x-tab-bar-strip{top:0;border-width:0 1px 1px 1px;height:2px}.x-border-box .x-tab-bar-bottom .x-tab-bar-body{height:25px}.x-border-box .x-tab-bar-bottom .x-tab-bar-strip{height:3px}.x-tab-bar-bottom .x-tab-bar-body-default-plain{height:20px;border-width:0;padding:3px 0 0}.x-tab-bar-bottom .x-tab-bar-body-default-plain .x-box-inner{position:relative;top:-1px}.x-tab-bar-bottom .x-tab-bar-body-default-plain .x-box-scroller,.x-tab-bar-bottom .x-tab-bar-body-default-plain .x-box-scroller-left,.x-tab-bar-bottom .x-tab-bar-body-default-plain .x-box-scroller-right{height:21px}.x-tab-bar-bottom .x-tab-bar-strip-default-plain{top:0;border-width:0 1px 1px 1px;height:2px}.x-border-box .x-tab-bar-bottom .x-tab-bar-body-default-plain{height:23px}.x-border-box .x-tab-bar-bottom .x-tab-bar-strip-default-plain{height:3px}.x-tab-bar-strip-default,.x-tab-bar-strip-default-plain{font-size:0;line-height:0;position:absolute;z-index:1;border-style:solid;overflow:hidden;border-color:#bfbfbf;background-color:#e9e9e9;zoom:1}.x-tab-default-top{-moz-border-radius-topleft:4px;-webkit-border-top-left-radius:4px;border-top-left-radius:4px;-moz-border-radius-topright:4px;-webkit-border-top-right-radius:4px;border-top-right-radius:4px;-moz-border-radius-bottomright:0;-webkit-border-bottom-right-radius:0;border-bottom-right-radius:0;-moz-border-radius-bottomleft:0;-webkit-border-bottom-left-radius:0;border-bottom-left-radius:0;padding:3px 3px 0 3px;border-width:1px 1px 0 1px;border-style:solid;background-image:none;background-color:#e9e9e9;background-image:-webkit-gradient(linear,50% 0,50% 100%,color-stop(0%,#dcdcdc),color-stop(25%,#e3e3e3),color-stop(45%,#e9e9e9));background-image:-webkit-linear-gradient(top,#dcdcdc,#e3e3e3 25%,#e9e9e9 45%);background-image:-moz-linear-gradient(top,#dcdcdc,#e3e3e3 25%,#e9e9e9 45%);background-image:-o-linear-gradient(top,#dcdcdc,#e3e3e3 25%,#e9e9e9 45%);background-image:linear-gradient(top,#dcdcdc,#e3e3e3 25%,#e9e9e9 45%)}.x-nlg .x-tab-default-top-mc{background-image:url('../../extjs/resources/themes/images/default/tab/tab-default-top-bg.gif');background-color:#e9e9e9}.x-nbr .x-tab-default-top{padding:0!important;border-width:0!important;-webkit-border-radius:0;-moz-border-radius:0;-ms-border-radius:0;-o-border-radius:0;border-radius:0;background-color:transparent;background-position:1100404px 1000000px}.x-nbr .x-tab-default-top-tl,.x-nbr .x-tab-default-top-bl,.x-nbr .x-tab-default-top-tr,.x-nbr .x-tab-default-top-br,.x-nbr .x-tab-default-top-tc,.x-nbr .x-tab-default-top-bc,.x-nbr .x-tab-default-top-ml,.x-nbr .x-tab-default-top-mr{zoom:1;background-image:url('../../extjs/resources/themes/images/default/tab/tab-default-top-corners.gif')}.x-nbr .x-tab-default-top-ml,.x-nbr .x-tab-default-top-mr{zoom:1;background-image:url('../../extjs/resources/themes/images/default/tab/tab-default-top-sides.gif');background-position:0 0}.x-nbr .x-tab-default-top-mc{padding:0}.x-strict .x-ie7 .x-tab-default-top-tl,.x-strict .x-ie7 .x-tab-default-top-bl{position:relative;right:0}.x-tab-default-bottom{-moz-border-radius-topleft:0;-webkit-border-top-left-radius:0;border-top-left-radius:0;-moz-border-radius-topright:0;-webkit-border-top-right-radius:0;border-top-right-radius:0;-moz-border-radius-bottomright:4px;-webkit-border-bottom-right-radius:4px;border-bottom-right-radius:4px;-moz-border-radius-bottomleft:4px;-webkit-border-bottom-left-radius:4px;border-bottom-left-radius:4px;padding:0 3px 3px 3px;border-width:0 1px 1px 1px;border-style:solid;background-image:none;background-color:#e9e9e9;background-image:-webkit-gradient(linear,50% 100%,50% 0,color-stop(0%,#dcdcdc),color-stop(25%,#e3e3e3),color-stop(45%,#e9e9e9));background-image:-webkit-linear-gradient(bottom,#dcdcdc,#e3e3e3 25%,#e9e9e9 45%);background-image:-moz-linear-gradient(bottom,#dcdcdc,#e3e3e3 25%,#e9e9e9 45%);background-image:-o-linear-gradient(bottom,#dcdcdc,#e3e3e3 25%,#e9e9e9 45%);background-image:linear-gradient(bottom,#dcdcdc,#e3e3e3 25%,#e9e9e9 45%)}.x-nlg .x-tab-default-bottom-mc{background-image:url('../../extjs/resources/themes/images/default/tab/tab-default-bottom-bg.gif');background-color:#e9e9e9}.x-nbr .x-tab-default-bottom{padding:0!important;border-width:0!important;-webkit-border-radius:0;-moz-border-radius:0;-ms-border-radius:0;-o-border-radius:0;border-radius:0;background-color:transparent;background-position:1100000px 1000404px}.x-nbr .x-tab-default-bottom-tl,.x-nbr .x-tab-default-bottom-bl,.x-nbr .x-tab-default-bottom-tr,.x-nbr .x-tab-default-bottom-br,.x-nbr .x-tab-default-bottom-tc,.x-nbr .x-tab-default-bottom-bc,.x-nbr .x-tab-default-bottom-ml,.x-nbr .x-tab-default-bottom-mr{zoom:1;background-image:url('../../extjs/resources/themes/images/default/tab/tab-default-bottom-corners.gif')}.x-nbr .x-tab-default-bottom-ml,.x-nbr .x-tab-default-bottom-mr{zoom:1;background-image:url('../../extjs/resources/themes/images/default/tab/tab-default-bottom-sides.gif');background-position:0 0}.x-nbr .x-tab-default-bottom-mc{padding:0}.x-strict .x-ie7 .x-tab-default-bottom-tl,.x-strict .x-ie7 .x-tab-default-bottom-bl{position:relative;right:0}.x-tab{z-index:1;margin:0 0 0 2px;display:inline-block;zoom:1;*display:inline;white-space:nowrap;height:20px;border-color:#b4b4b4;cursor:pointer;cursor:hand}.x-tab button{cursor:pointer;cursor:hand}.x-tab em{display:block;padding:0 6px;line-height:1px}.x-tab button{background:0;border:0;padding:0;margin:0;-webkit-appearance:none;font-size:11px;font-weight:bold;font-family:Helvetica Neue,Arial,sans-serif;color:#6e6e6e;outline:0 none;overflow-x:visible}.x-tab button::-moz-focus-inner{border:0;padding:0}.x-tab button .x-tab-inner{background-color:transparent;background-repeat:no-repeat;background-position:0 -2px;display:block;text-align:center;white-space:nowrap;text-overflow:ellipsis;-o-text-overflow:ellipsis;overflow:hidden}.x-tab img{display:none}.x-border-box .x-tab-default-top{height:21px}.x-border-box .x-tab-default-bottom{height:21px}* html .x-ie .x-tab button{width:1px}.x-strict .x-ie6 .x-tab .x-frame-mc,.x-strict .x-ie7 .x-tab .x-frame-mc{height:100%}.x-ie .x-tab-active button:active{position:relative;top:-1px;left:-1px}.x-tab-default-top{-webkit-box-shadow:white 0 1px 0 0 inset,white -1px 0 0 0 inset,white 1px 0 0 0 inset;-moz-box-shadow:white 0 1px 0 0 inset,white -1px 0 0 0 inset,white 1px 0 0 0 inset;box-shadow:white 0 1px 0 0 inset,white -1px 0 0 0 inset,white 1px 0 0 0 inset;border-bottom:1px solid #bfbfbf!important}.x-tab-default-top em{padding-bottom:3px}.x-tab-default-top button,.x-tab-default-top .x-tab-inner{height:13px;line-height:13px}.x-safari4 .x-tab-default-top .x-tab-inner,.x-safari5_0 .x-tab-default-top .x-tab-inner{line-height:11px}.x-nbr .x-tab-default-top{border-bottom-width:1px!important}.x-tab-default-top-active{border-bottom-color:#e9e9e9!important}.x-tab-default-bottom{-webkit-box-shadow:white 0 -1px 0 0 inset,white -1px 0 0 0 inset,white 1px 0 0 0 inset;-moz-box-shadow:white 0 -1px 0 0 inset,white -1px 0 0 0 inset,white 1px 0 0 0 inset;box-shadow:white 0 -1px 0 0 inset,white -1px 0 0 0 inset,white 1px 0 0 0 inset;border-top:1px solid #bfbfbf!important;-webkit-box-shadow:white 0 -1px 0 0 inset,white -1px 0 0 0 inset,white 1px 0 0 0 inset;-moz-box-shadow:white 0 -1px 0 0 inset,white -1px 0 0 0 inset,white 1px 0 0 0 inset;box-shadow:white 0 -1px 0 0 inset,white -1px 0 0 0 inset,white 1px 0 0 0 inset}.x-tab-default-bottom em{padding-top:3px}.x-tab-default-bottom button,.x-tab-default-bottom .x-tab-inner{height:13px;line-height:13px}.x-nbr .x-tab-default-bottom{border-top-width:1px!important}.x-tab-default-bottom-active{border-top-color:#e9e9e9!important}.x-tab-default-disabled{cursor:default;border-color:#e9e6e6;background-image:none;background-color:white;background-image:-webkit-gradient(linear,50% 0,50% 100%,color-stop(0%,#fff),color-stop(100%,#fff));background-image:-webkit-linear-gradient(top,#fff,#fff);background-image:-moz-linear-gradient(top,#fff,#fff);background-image:-o-linear-gradient(top,#fff,#fff);background-image:linear-gradient(top,#fff,#fff)}.x-tab-default-disabled button{color:#c3b3b3!important}.x-tab-icon-text-left .x-tab-inner{padding-left:20px}.x-tab button{position:relative}.x-tab-icon{position:absolute;background-repeat:no-repeat;background-position:0 -1px;top:0;left:0;right:auto;bottom:0;width:18px;height:18px}.x-strict .x-ie8 .x-tab button,.x-strict .x-ie9 .x-tab button{overflow-y:visible}.x-tab-default-disabled .x-tab-icon{filter:alpha(opacity=50);opacity:.5}.x-tab-noicon .x-tab-icon{display:none}.x-tab-top-over{background-image:none;background-color:#f1eded;background-image:-webkit-gradient(linear,50% 0,50% 100%,color-stop(0%,#e6e5e5),color-stop(25%,#ede9e9),color-stop(45%,#f1eded));background-image:-webkit-linear-gradient(top,#e6e5e5,#ede9e9 25%,#f1eded 45%);background-image:-moz-linear-gradient(top,#e6e5e5,#ede9e9 25%,#f1eded 45%);background-image:-o-linear-gradient(top,#e6e5e5,#ede9e9 25%,#f1eded 45%);background-image:linear-gradient(top,#e6e5e5,#ede9e9 25%,#f1eded 45%)}.x-tab-bottom-over{background-image:none;background-color:#f1eded;background-image:-webkit-gradient(linear,50% 100%,50% 0,color-stop(0%,#e6e5e5),color-stop(25%,#ede9e9),color-stop(45%,#f1eded));background-image:-webkit-linear-gradient(bottom,#e6e5e5,#ede9e9 25%,#f1eded 45%);background-image:-moz-linear-gradient(bottom,#e6e5e5,#ede9e9 25%,#f1eded 45%);background-image:-o-linear-gradient(bottom,#e6e5e5,#ede9e9 25%,#f1eded 45%);background-image:linear-gradient(bottom,#e6e5e5,#ede9e9 25%,#f1eded 45%)}.x-tab-active{z-index:3}.x-tab-active button{color:#633434}.x-tab-top-active{background-image:none;background-color:#e9e9e9;background-image:-webkit-gradient(linear,50% 0,50% 100%,color-stop(0%,#fbfbfb),color-stop(25%,#f5f5f5),color-stop(45%,#e9e9e9));background-image:-webkit-linear-gradient(top,#fbfbfb,#f5f5f5 25%,#e9e9e9 45%);background-image:-moz-linear-gradient(top,#fbfbfb,#f5f5f5 25%,#e9e9e9 45%);background-image:-o-linear-gradient(top,#fbfbfb,#f5f5f5 25%,#e9e9e9 45%);background-image:linear-gradient(top,#fbfbfb,#f5f5f5 25%,#e9e9e9 45%)}.x-tab-bottom-active{background-image:none;background-color:#e9e9e9;background-image:-webkit-gradient(linear,50% 100%,50% 0,color-stop(0%,#fbfbfb),color-stop(25%,#f5f5f5),color-stop(45%,#e9e9e9));background-image:-webkit-linear-gradient(bottom,#fbfbfb,#f5f5f5 25%,#e9e9e9 45%);background-image:-moz-linear-gradient(bottom,#fbfbfb,#f5f5f5 25%,#e9e9e9 45%);background-image:-o-linear-gradient(bottom,#fbfbfb,#f5f5f5 25%,#e9e9e9 45%);background-image:linear-gradient(bottom,#fbfbfb,#f5f5f5 25%,#e9e9e9 45%)}.x-tab-disabled{border-color:#e9e6e6}.x-tab-disabled button{color:#c3b3b3}.x-tab-top-disabled{background-image:none;background:transparent;background-image:none;background-color:white;background-image:-webkit-gradient(linear,50% 0,50% 100%,color-stop(0%,#fff),color-stop(100%,#fff));background-image:-webkit-linear-gradient(top,#fff,#fff);background-image:-moz-linear-gradient(top,#fff,#fff);background-image:-o-linear-gradient(top,#fff,#fff);background-image:linear-gradient(top,#fff,#fff)}.x-tab-bottom-disabled{background-image:none;background:transparent;background-image:none;background-color:white;background-image:-webkit-gradient(linear,50% 100%,50% 0,color-stop(0%,#fff),color-stop(100%,#fff));background-image:-webkit-linear-gradient(bottom,#fff,#fff);background-image:-moz-linear-gradient(bottom,#fff,#fff);background-image:-o-linear-gradient(bottom,#fff,#fff);background-image:linear-gradient(bottom,#fff,#fff)}.x-nlg .x-tab-top{background-image:url('../../extjs/resources/themes/images/default/tab/tab-default-top-bg.gif')}.x-nlg .x-tab-bottom{background-image:url('../../extjs/resources/themes/images/default/tab/tab-default-bottom-bg.gif')}.x-nlg .x-tab-top-over{background-image:url('../../extjs/resources/themes/images/default/tab/tab-default-top-over-bg.gif')}.x-nlg .x-tab-bottom-over{background-image:url('../../extjs/resources/themes/images/default/tab/tab-default-bottom-over-bg.gif')}.x-nlg .x-tab-top-active{background-image:url('../../extjs/resources/themes/images/default/tab/tab-default-top-active-bg.gif')}.x-nlg .x-tab-bottom-active{background-image:url('../../extjs/resources/themes/images/default/tab/tab-default-bottom-active-bg.gif')}.x-nlg .x-tab-top-disabled{background-image:url('../../extjs/resources/themes/images/default/tab/tab-default-top-disabled-bg.gif')!important}.x-nlg .x-tab-bottom-disabled{background-image:url('../../extjs/resources/themes/images/default/tab/tab-default-bottom-disabled-bg.gif')!important}.x-tab-closable em{padding-right:14px}.x-tab-close-btn{position:absolute;top:2px;right:2px;width:11px;height:11px;font-size:0;line-height:0;text-indent:-999px;background:no-repeat;background-image:url('../../extjs/resources/themes/images/default/tab/tab-default-close.gif');filter:alpha(opacity=60);opacity:.6}.x-nbr .x-tab-close-btn{top:0;right:0}a.x-tab-close-btn:hover{filter:alpha(opacity=100);opacity:1}.x-tab-default-disabled a.x-tab-close-btn{filter:alpha(opacity=30);opacity:.3}.x-nbr .x-tab-top-over .x-frame-tl,.x-nbr .x-tab-top-over .x-frame-bl,.x-nbr .x-tab-top-over .x-frame-tr,.x-nbr .x-tab-top-over .x-frame-br,.x-nbr .x-tab-top-over .x-frame-tc,.x-nbr .x-tab-top-over .x-frame-bc{background-image:url('../../extjs/resources/themes/images/default/tab/tab-default-top-over-corners.gif')}.x-nbr .x-tab-top-over .x-frame-ml,.x-nbr .x-tab-top-over .x-frame-mr{background-image:url('../../extjs/resources/themes/images/default/tab/tab-default-top-over-sides.gif')}.x-nbr .x-tab-top-over .x-frame-mc{background-color:#f1eded;background-repeat:repeat-x;background-image:url('../../extjs/resources/themes/images/default/tab/tab-default-top-over-bg.gif')}.x-nbr .x-tab-bottom-over .x-frame-tl,.x-nbr .x-tab-bottom-over .x-frame-bl,.x-nbr .x-tab-bottom-over .x-frame-tr,.x-nbr .x-tab-bottom-over .x-frame-br,.x-nbr .x-tab-bottom-over .x-frame-tc,.x-nbr .x-tab-bottom-over .x-frame-bc{background-image:url('../../extjs/resources/themes/images/default/tab/tab-default-bottom-over-corners.gif')}.x-nbr .x-tab-bottom-over .x-frame-ml,.x-nbr .x-tab-bottom-over .x-frame-mr{background-image:url('../../extjs/resources/themes/images/default/tab/tab-default-bottom-over-sides.gif')}.x-nbr .x-tab-bottom-over .x-frame-mc{background-color:#f1eded;background-repeat:repeat-x;background-image:url('../../extjs/resources/themes/images/default/tab/tab-default-bottom-over-bg.gif')}.x-nbr .x-tab-top-active .x-frame-tl,.x-nbr .x-tab-top-active .x-frame-bl,.x-nbr .x-tab-top-active .x-frame-tr,.x-nbr .x-tab-top-active .x-frame-br,.x-nbr .x-tab-top-active .x-frame-tc,.x-nbr .x-tab-top-active .x-frame-bc{background-image:url('../../extjs/resources/themes/images/default/tab/tab-default-top-active-corners.gif')}.x-nbr .x-tab-top-active .x-frame-ml,.x-nbr .x-tab-top-active .x-frame-mr{background-image:url('../../extjs/resources/themes/images/default/tab/tab-default-top-active-sides.gif')}.x-nbr .x-tab-top-active .x-frame-mc{background-color:#e9e9e9;background-repeat:repeat-x;background-image:url('../../extjs/resources/themes/images/default/tab/tab-default-top-active-bg.gif')}.x-nbr .x-tab-bottom-active .x-frame-tl,.x-nbr .x-tab-bottom-active .x-frame-bl,.x-nbr .x-tab-bottom-active .x-frame-tr,.x-nbr .x-tab-bottom-active .x-frame-br,.x-nbr .x-tab-bottom-active .x-frame-tc,.x-nbr .x-tab-bottom-active .x-frame-bc{background-image:url('../../extjs/resources/themes/images/default/tab/tab-default-bottom-active-corners.gif')}.x-nbr .x-tab-bottom-active .x-frame-ml,.x-nbr .x-tab-bottom-active .x-frame-mr{background-image:url('../../extjs/resources/themes/images/default/tab/tab-default-bottom-active-sides.gif')}.x-nbr .x-tab-bottom-active .x-frame-mc{background-color:#e9e9e9;background-repeat:repeat-x;background-image:url('../../extjs/resources/themes/images/default/tab/tab-default-bottom-active-bg.gif')}.x-nbr .x-tab-top-disabled .x-frame-tl,.x-nbr .x-tab-top-disabled .x-frame-bl,.x-nbr .x-tab-top-disabled .x-frame-tr,.x-nbr .x-tab-top-disabled .x-frame-br,.x-nbr .x-tab-top-disabled .x-frame-tc,.x-nbr .x-tab-top-disabled .x-frame-bc{background-image:url('../../extjs/resources/themes/images/default/tab/tab-default-top-disabled-corners.gif')}.x-nbr .x-tab-top-disabled .x-frame-ml,.x-nbr .x-tab-top-disabled .x-frame-mr{background-image:url('../../extjs/resources/themes/images/default/tab/tab-default-top-disabled-sides.gif')}.x-nbr .x-tab-top-disabled .x-frame-mc{background-repeat:repeat-x;background-image:url('../../extjs/resources/themes/images/default/tab/tab-default-top-disabled-bg.gif')}.x-nbr .x-tab-bottom-disabled .x-frame-tl,.x-nbr .x-tab-bottom-disabled .x-frame-bl,.x-nbr .x-tab-bottom-disabled .x-frame-tr,.x-nbr .x-tab-bottom-disabled .x-frame-br,.x-nbr .x-tab-bottom-disabled .x-frame-tc,.x-nbr .x-tab-bottom-disabled .x-frame-bc{background-image:url('../../extjs/resources/themes/images/default/tab/tab-default-bottom-disabled-corners.gif')}.x-nbr .x-tab-bottom-disabled .x-frame-ml,.x-nbr .x-tab-bottom-disabled .x-frame-mr{background-image:url('../../extjs/resources/themes/images/default/tab/tab-default-bottom-disabled-sides.gif')}.x-nbr .x-tab-bottom-disabled .x-frame-mc{background-repeat:repeat-x;background-image:url('../../extjs/resources/themes/images/default/tab/tab-default-bottom-disabled-bg.gif')}.x-autowidth-table table.x-grid-table{table-layout:auto;width:auto!important}.x-tree-no-lines .x-tree-elbow{background-color:transparent}.x-tree-no-lines .x-tree-elbow-end{background-color:transparent}.x-tree-no-lines .x-tree-elbow-line{background-color:transparent}.x-tree-arrows .x-tree-elbow-plus{background:transparent no-repeat 0 0}.x-tree-arrows .x-tree-elbow-end-plus{background:transparent no-repeat 0 0}.x-tree-arrows .x-tree-elbow-end-minus{background:transparent no-repeat -16px 0}.x-tree-arrows .x-tree-elbow-minus{background:transparent no-repeat -16px 0}.x-tree-arrows .x-tree-elbow{background-color:transparent!important}.x-tree-arrows .x-tree-elbow-end{background-color:transparent!important}.x-tree-arrows .x-tree-elbow-line{background-color:transparent!important}.x-tree-arrows .x-tree-expander-over .x-tree-elbow-plus,.x-tree-arrows .x-tree-expander-over .x-tree-elbow-end-plus{background-position:-32px 0}.x-tree-arrows .x-tree-expander-over .x-tree-elbow-minus,.x-tree-arrows .x-tree-expander-over .x-tree-elbow-end-minus{background-position:-48px 0}.x-tree-arrows .x-grid-tree-node-expanded .x-tree-elbow-plus,.x-tree-arrows .x-grid-tree-node-expanded .x-tree-elbow-end-plus{background-position:-16px 0}.x-tree-arrows .x-grid-tree-node-expanded .x-tree-expander-over .x-tree-elbow-plus,.x-tree-arrows .x-grid-tree-node-expanded .x-tree-expander-over .x-tree-elbow-end-plus{background-position:-48px 0}.x-tree-elbow-plus,.x-tree-elbow-minus,.x-tree-elbow-end-plus,.x-tree-elbow-end-minus{cursor:pointer}.x-tree-lines .x-tree-elbow{background-image:url('../../extjs/resources/themes/images/default/tree/elbow.gif')}.x-tree-lines .x-tree-elbow-end{background-image:url('../../extjs/resources/themes/images/default/tree/elbow-end.gif')}.x-tree-lines .x-tree-elbow-plus{background-image:url('../../extjs/resources/themes/images/default/tree/elbow-plus.gif')}.x-tree-lines .x-tree-elbow-end-plus{background-image:url('../../extjs/resources/themes/images/default/tree/elbow-end-plus.gif')}.x-tree-lines .x-grid-tree-node-expanded .x-tree-elbow-plus{background-image:url('../../extjs/resources/themes/images/default/tree/elbow-minus.gif')}.x-tree-lines .x-grid-tree-node-expanded .x-tree-elbow-end-plus{background-image:url('../../extjs/resources/themes/images/default/tree/elbow-end-minus.gif')}.x-tree-lines .x-tree-elbow-line{background-image:url('../../extjs/resources/themes/images/default/tree/elbow-line.gif')}.x-tree-no-lines .x-tree-elbow-plus,.x-tree-no-lines .x-tree-elbow-end-plus{background-image:url('../../extjs/resources/themes/images/default/tree/elbow-plus-nl.gif')}.x-tree-no-lines .x-grid-tree-node-expanded .x-tree-elbow-plus,.x-tree-no-lines .x-grid-tree-node-expanded .x-tree-elbow-end-plus{background-image:url('../../extjs/resources/themes/images/default/tree/elbow-end-minus-nl.gif')}.x-tree-arrows .x-tree-elbow-plus,.x-tree-arrows .x-tree-elbow-minus,.x-tree-arrows .x-tree-elbow-end-plus,.x-tree-arrows .x-tree-elbow-end-minus{background-image:url('../../extjs/resources/themes/images/default/tree/arrows.gif')}.x-tree-icon{margin:2px 3px 0 0}.x-grid-with-row-lines .x-tree-icon{margin-top:1px}.x-tree-elbow,.x-tree-elbow-end,.x-tree-elbow-plus,.x-tree-elbow-end-plus,.x-tree-elbow-empty,.x-tree-elbow-line{height:20px;width:16px}.x-grid-with-row-lines .x-tree-elbow,.x-grid-with-row-lines .x-tree-elbow-end,.x-grid-with-row-lines .x-tree-elbow-plus,.x-grid-with-row-lines .x-tree-elbow-end-plus,.x-grid-with-row-lines .x-tree-elbow-empty,.x-grid-with-row-lines .x-tree-elbow-line{height:19px;background-position:0 -1px}.x-tree-icon-leaf{width:16px;background-image:url('../../extjs/resources/themes/images/default/tree/leaf.gif')}.x-tree-icon-parent{width:16px;background-image:url('../../extjs/resources/themes/images/default/tree/folder.gif')}.x-grid-tree-node-expanded .x-tree-icon-parent{background-image:url('../../extjs/resources/themes/images/default/tree/folder-open.gif')}.x-grid-rowbody{padding:0}.x-grid-cell-treecolumn .x-grid-cell-inner{padding:0;line-height:19px}.x-grid-with-row-lines .x-grid-cell-treecolumn .x-grid-cell-inner{line-height:17px}.x-tree-panel .x-grid-cell-inner{cursor:pointer}.x-tree-panel .x-grid-cell-inner img{display:inline-block;vertical-align:top}.x-ie .x-tree-panel .x-tree-elbow,.x-ie .x-tree-panel .x-tree-elbow-end,.x-ie .x-tree-panel .x-tree-elbow-plus,.x-ie .x-tree-panel .x-tree-elbow-end-plus,.x-ie .x-tree-panel .x-tree-elbow-empty,.x-ie .x-tree-panel .x-tree-elbow-line{vertical-align:-6px}.x-grid-editor-on-text-node .x-form-text{padding-left:1px;padding-right:1px}.x-ie .x-grid-editor-on-text-node .x-form-text{padding-left:2px;padding-right:2px}.x-opera .x-grid-editor-on-text-node .x-form-text{padding-left:2px;padding-right:2px}.x-tree-checkbox{margin:4px 3px 0 0;display:inline-block;vertical-align:top;width:13px;height:13px;background:no-repeat;background-image:url('../../extjs/resources/themes/images/default/form/checkbox.gif');overflow:hidden;padding:0;border:0}.x-tree-checkbox::-moz-focus-inner{padding:0;border:0}.x-grid-with-row-lines .x-tree-checkbox{margin-top:3px}.x-tree-checkbox-checked{background-position:0 -13px}.x-tree-drop-ok-append .x-dd-drop-icon{background-image:url('../../extjs/resources/themes/images/default/tree/drop-append.gif')}.x-tree-drop-ok-above .x-dd-drop-icon{background-image:url('../../extjs/resources/themes/images/default/tree/drop-above.gif')}.x-tree-drop-ok-below .x-dd-drop-icon{background-image:url('../../extjs/resources/themes/images/default/tree/drop-below.gif')}.x-tree-drop-ok-between .x-dd-drop-icon{background-image:url('../../extjs/resources/themes/images/default/tree/drop-between.gif')}.x-grid-tree-loading .x-tree-icon{background-image:url('../../extjs/resources/themes/images/default/tree/loading.gif')}.x-tree-ddindicator{height:1px;border-width:1px 0 0;border-style:dotted;border-color:green}.x-grid-tree-loading span{font-style:italic;color:#444}.x-tree-animator-wrap{overflow:hidden}.x-surface{display:-moz-inline-stack;display:inline-block;vertical-align:middle;*vertical-align:auto;zoom:1;*display:inline;overflow:hidden}.rvml{behavior:url(#default#VML)}.x-surface tspan{user-select:none;-o-user-select:none;-ms-user-select:none;-moz-user-select:-moz-none;-webkit-user-select:none;cursor:default}.x-vml-sprite{position:absolute;left:0;top:0;width:1px;height:1px}.x-vml-group{position:absolute;left:0;top:0;width:1000px;height:1000px}.x-vml-measure-span{position:absolute;left:-9999em;top:-9999em;padding:0;margin:0;display:inline}.x-vml-base{position:relative;top:0;left:0;overflow:hidden;display:inline-block}.x-vml-base{position:relative;top:0;left:0;overflow:hidden;display:inline-block}svg,vml{overflow:hidden}.x-viewport,.x-viewport body{margin:0;padding:0;border:0 none;overflow:hidden;height:100%;position:static}.x-dd-drag-proxy{z-index:1000000!important}.x-dd-drag-repair .x-dd-drag-ghost{filter:alpha(opacity=60);opacity:.6}.x-dd-drag-repair .x-dd-drop-icon{display:none}.x-dd-drag-ghost{filter:alpha(opacity=85);opacity:.85;padding:5px;padding-left:20px;white-space:nowrap;color:#000;font:normal 11px Helvetica Neue,Arial,sans-serif;border:1px solid;border-color:#ddd #bbb #bbb #ddd;background-color:#fff}.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-view-selector{position:absolute;left:0;top:0;width:0;background-color:#c3daf9;border:1px dotted #39b;filter:alpha(opacity=50);opacity:.5;zoom:1}.x-dd-drop-nodrop .x-dd-drop-icon{background-image:url('../../extjs/resources/themes/images/default/dd/drop-no.gif')}.x-dd-drop-ok .x-dd-drop-icon{background-image:url('../../extjs/resources/themes/images/default/dd/drop-yes.gif')}.x-dd-drop-ok-add .x-dd-drop-icon{background-image:url('../../extjs/resources/themes/images/default/dd/drop-add.gif')}.x-resizable-handle{position:absolute;z-index:100;font-size:1px;line-height:6px;overflow:hidden;zoom:1;filter:alpha(opacity=0);opacity:0;background-color:#fff}.x-collapsed .x-resizable-handle{display:none}.x-resizable-handle-east{width:6px;height:100%;right:0;top:0}.x-resizable-over .x-resizable-handle-east{cursor:e-resize}.x-resizable-handle-south{width:100%;height:6px;left:0;bottom:0}.x-resizable-over .x-resizable-handle-south{cursor:s-resize}.x-resizable-handle-west{width:6px;height:100%;left:0;top:0}.x-resizable-over .x-resizable-handle-west{cursor:w-resize}.x-resizable-handle-north{width:100%;height:6px;left:0;top:0}.x-resizable-over .x-resizable-handle-north{cursor:n-resize}.x-resizable-handle-southeast{width:6px;height:6px;right:0;bottom:0;z-index:101}.x-resizable-over .x-resizable-handle-southeast{cursor:se-resize}.x-resizable-handle-northwest{width:6px;height:6px;left:0;top:0;z-index:101}.x-resizable-over .x-resizable-handle-northwest{cursor:nw-resize}.x-resizable-handle-northeast{width:6px;height:6px;right:0;top:0;z-index:101}.x-resizable-over .x-resizable-handle-northeast{cursor:ne-resize}.x-resizable-handle-southwest{width:6px;height:6px;left:0;bottom:0;z-index:101}.x-resizable-over .x-resizable-handle-southwest{cursor:sw-resize}.x-ie .x-resizable-handle-east{margin-right:-1px}.x-ie .x-resizable-handle-south{margin-bottom:-1px}.x-resizable-over .x-resizable-handle,.x-resizable-pinned .x-resizable-handle{filter:alpha(opacity=100);opacity:1}.x-window .x-window-handle{filter:alpha(opacity=0);opacity:0}.x-window-collapsed .x-window-handle{display:none}.x-resizable-proxy{border:1px dashed #3b5a82;position:absolute;left:0;top:0;overflow:hidden;z-index:50000}.x-resizable-overlay{position:absolute;left:0;top:0;width:100%;height:100%;display:none;z-index:200000;background-color:#fff;filter:alpha(opacity=0);opacity:0}.x-resizable-over .x-resizable-handle-east,.x-resizable-over .x-resizable-handle-west,.x-resizable-pinned .x-resizable-handle-east,.x-resizable-pinned .x-resizable-handle-west{background-position:left;background-image:url('../../extjs/resources/themes/images/default/sizer/e-handle.gif')}.x-resizable-over .x-resizable-handle-south,.x-resizable-over .x-resizable-handle-north,.x-resizable-pinned .x-resizable-handle-south,.x-resizable-pinned .x-resizable-handle-north{background-position:top;background-image:url('../../extjs/resources/themes/images/default/sizer/s-handle.gif')}.x-resizable-over .x-resizable-handle-southeast,.x-resizable-pinned .x-resizable-handle-southeast{background-position:top left;background-image:url('../../extjs/resources/themes/images/default/sizer/se-handle.gif')}.x-resizable-over .x-resizable-handle-northwest,.x-resizable-pinned .x-resizable-handle-northwest{background-position:bottom right;background-image:url('../../extjs/resources/themes/images/default/sizer/nw-handle.gif')}.x-resizable-over .x-resizable-handle-northeast,.x-resizable-pinned .x-resizable-handle-northeast{background-position:bottom left;background-image:url('../../extjs/resources/themes/images/default/sizer/ne-handle.gif')}.x-resizable-over .x-resizable-handle-southwest,.x-resizable-pinned .x-resizable-handle-southwest{background-position:top right;background-image:url('../../extjs/resources/themes/images/default/sizer/sw-handle.gif')}.x-splitter .x-collapse-el{position:absolute;cursor:pointer;background-color:transparent;background-repeat:no-repeat!important}.x-layout-split-left,.x-layout-split-right{top:50%;margin-top:-17px;width:5px;height:35px}.x-layout-split-top,.x-layout-split-bottom{left:50%;width:35px;height:5px;margin-left:-17px}.x-layout-split-left{background:no-repeat top right;background-image:url('../../extjs/resources/themes/images/default/util/splitter/mini-left.gif')}.x-layout-split-right{background:no-repeat top left;background-image:url('../../extjs/resources/themes/images/default/util/splitter/mini-right.gif')}.x-layout-split-top{background:no-repeat top left;background-image:url('../../extjs/resources/themes/images/default/util/splitter/mini-top.gif')}.x-layout-split-bottom{background:no-repeat top left;background-image:url('../../extjs/resources/themes/images/default/util/splitter/mini-bottom.gif')}.x-splitter-collapsed .x-layout-split-left{background:no-repeat top left;background-image:url('../../extjs/resources/themes/images/default/util/splitter/mini-right.gif')}.x-splitter-collapsed .x-layout-split-right{background:no-repeat top right;background-image:url('../../extjs/resources/themes/images/default/util/splitter/mini-left.gif')}.x-splitter-collapsed .x-layout-split-top{background:no-repeat top left;background-image:url('../../extjs/resources/themes/images/default/util/splitter/mini-bottom.gif')}.x-splitter-collapsed .x-layout-split-bottom{background:no-repeat top left;background-image:url('../../extjs/resources/themes/images/default/util/splitter/mini-top.gif')}.x-splitter-horizontal{cursor:e-resize;cursor:row-resize;font-size:1px}.x-splitter-vertical{cursor:e-resize;cursor:col-resize;font-size:1px}.x-splitter-collapsed,.x-splitter-horizontal-noresize,.x-splitter-vertical-noresize{cursor:default}.x-splitter-active{z-index:4;font-size:1px;background-color:#b4b4b4;filter:alpha(opacity=80);opacity:.8}.x-splitter-active .x-collapse-el{filter:alpha(opacity=30);opacity:.3}.x-proxy-el{position:absolute;background:#b4b4b4;filter:alpha(opacity=80);opacity:.8}.x-docked{position:absolute!important;z-index:1}.x-docked-top{border-bottom-width:0!important}.x-docked-bottom{border-top-width:0!important}.x-docked-left{border-right-width:0!important}.x-docked-right{border-left-width:0!important}.x-docked-noborder-top{border-top-width:0!important}.x-docked-noborder-right{border-right-width:0!important}.x-docked-noborder-bottom{border-bottom-width:0!important}.x-docked-noborder-left{border-left-width:0!important}.x-box-inner{overflow:hidden;zoom:1;position:relative;left:0;top:0}.x-box-item{position:absolute!important;left:0;top:0}.x-rtl .x-box-item{right:0;left:auto}.x-box-layout-ct,.x-border-layout-ct{overflow:hidden;zoom:1}.x-border-layout-ct{background-color:#fdfdfd;position:relative}.x-overflow-hidden{overflow:hidden!important}.x-inline-children>*{display:inline-block!important}.x-abs-layout-ct{position:relative}.x-abs-layout-item{position:absolute!important}.x-fit-item{position:relative}.x-border-region-slide-in{z-index:5}.x-region-collapsed-placeholder{z-index:4}.x-accordion-hd .x-panel-header-text{color:black;font-weight:normal}.x-accordion-hd{background:#fbfafa!important;-webkit-box-shadow:inset 0 0 0 0 #fbfafa;-moz-box-shadow:inset 0 0 0 0 #fbfafa;box-shadow:inset 0 0 0 0 #fbfafa}.x-accordion-hd .x-tool-collapse-top,.x-accordion-hd .x-tool-collapse-right,.x-accordion-hd .x-tool-collapse-bottom,.x-accordion-hd .x-tool-collapse-left{background-position:0 -255px}.x-accordion-hd .x-tool-expand-top,.x-accordion-hd .x-tool-expand-right,.x-accordion-hd .x-tool-expand-bottom,.x-accordion-hd .x-tool-expand-left{background-position:0 -240px}.x-accordion-hd .x-tool-over .x-tool-collapse-top,.x-accordion-hd .x-tool-over .x-tool-collapse-right,.x-accordion-hd .x-tool-over .x-tool-collapse-bottom,.x-accordion-hd .x-tool-over .x-tool-collapse-left{background-position:-15px -255px}.x-accordion-hd .x-tool-over .x-tool-expand-top,.x-accordion-hd .x-tool-over .x-tool-expand-right,.x-accordion-hd .x-tool-over .x-tool-expand-bottom,.x-accordion-hd .x-tool-over .x-tool-expand-left{background-position:-15px -240px}.x-accordion-hd{border-width:1px 0 1px 0!important;padding:4px 5px 5px 5px;border-top-color:white!important}.x-accordion-body{border-width:0!important}.x-accordion-hd-sibling-expanded{border-top-color:#bfbfbf!important;-webkit-box-shadow:inset 0 1px 0 0 white;-moz-box-shadow:inset 0 1px 0 0 white;box-shadow:inset 0 1px 0 0 white}.x-accordion-hd-last-collapsed{border-bottom-color:#fbfafa!important}.x-frame-tl,.x-frame-tr,.x-frame-tc,.x-frame-bl,.x-frame-br,.x-frame-bc{overflow:hidden;background-repeat:no-repeat}.x-frame-tc,.x-frame-bc{background-repeat:repeat-x}.x-frame-mc{position:relative;background-repeat:repeat-x;overflow:hidden}.x-box-scroller-left{float:left;height:100%;z-index:5}.x-box-scroller-left .x-toolbar-scroll-left,.x-box-scroller-left .x-tabbar-scroll-left{width:18px;position:relative;cursor:pointer;height:20px;background:transparent no-repeat -18px 0;background-image:url('../../extjs/resources/themes/images/default/tab-bar/scroll-left.gif')}.x-box-scroller-left .x-toolbar-scroll-left-hover{background-position:0 0}.x-box-scroller-left .x-toolbar-scroll-left-disabled,.x-box-scroller-left .x-tabbar-scroll-left-disabled{background-position:-18px 0;filter:alpha(opacity=50);opacity:.5;cursor:default}.x-box-scroller-left .x-toolbar-scroll-left{background-image:url('../../extjs/resources/themes/images/default/toolbar/scroll-left.gif');background-position:-14px 0}.x-box-scroller-left .x-toolbar-scroll-left-hover{background-position:0 0}.x-box-scroller-left .x-toolbar-scroll-left-disabled{background-position:-14px 0}.x-box-scroller-left .x-toolbar-scroll-left{width:14px;height:22px;border-bottom:1px solid #8db2e3}.x-horizontal-box-overflow-body{float:left}.x-box-scroller-right{float:right;height:100%;z-index:5}.x-box-scroller-right .x-toolbar-scroll-right,.x-box-scroller-right .x-tabbar-scroll-right{width:18px;position:relative;cursor:pointer;height:20px;background:transparent no-repeat 0 0;background-image:url('../../extjs/resources/themes/images/default/tab-bar/scroll-right.gif')}.x-box-scroller-right .x-toolbar-scroll-right-hover{background-position:-18px 0}.x-box-scroller-right .x-toolbar-scroll-right-disabled,.x-box-scroller-right .x-tabbar-scroll-right-disabled{background-position:0 0;filter:alpha(opacity=50);opacity:.5;cursor:default}.x-box-scroller-right .x-toolbar-scroll-right{background-image:url('../../extjs/resources/themes/images/default/toolbar/scroll-right.gif')}.x-box-scroller-right .x-toolbar-scroll-right-hover{background-position:-14px 0}.x-box-scroller-right .x-toolbar-scroll-right-disabled{background-position:0 0}.x-box-scroller-right .x-toolbar-scroll-right{width:14px;height:22px;border-bottom:1px solid #8db2e3}.x-box-scroller-top .x-box-scroller{line-height:0;font-size:0}.x-box-scroller-top .x-menu-scroll-top{background:transparent no-repeat center center;background-image:url('../../extjs/resources/themes/images/default/layout/mini-top.gif');height:8px;cursor:pointer}.x-box-scroller-bottom .x-box-scroller{line-height:0;font-size:0}.x-box-scroller-bottom .x-menu-scroll-bottom{background:transparent no-repeat center center;background-image:url('../../extjs/resources/themes/images/default/layout/mini-bottom.gif');height:8px;cursor:pointer}.x-box-menu-right{float:right;padding-right:2px}.x-column{float:left}.x-ie6 .x-column{display:inline}.x-quirks .x-ie .x-form-layout-table,.x-quirks .x-ie .x-form-layout-table tbody tr.x-form-item{position:relative}.x-tool{height:15px}.x-tool img{overflow:hidden;width:15px;height:15px;cursor:pointer;background-color:transparent;background-repeat:no-repeat;background-image:url('../../extjs/resources/themes/images/default/tools/tool-sprites.gif');margin:0}.x-panel-header-horizontal .x-tool,.x-window-header-horizontal .x-tool{margin-left:2px}.x-panel-header-vertical .x-tool,.x-window-header-vertical .x-tool{margin-top:2px}.x-panel-header-vertical .x-tool-top,.x-window-header-vertical .x-tool-top{margin:0 0 4px}.x-tool-placeholder{visibility:hidden}.x-tool-toggle{background-position:0 -60px}.x-tool-over .x-tool-toggle{background-position:-15px -60px}.x-panel-collapsed .x-tool-toggle,.x-fieldset-collapsed .x-tool-toggle{background-position:0 -75px}.x-panel-collapsed .x-tool-over .x-tool-toggle,.x-fieldset-collapsed .x-tool-over .x-tool-toggle{background-position:-15px -75px}.x-tool-close{background-position:0 0}.x-tool-minimize{background-position:0 -15px}.x-tool-maximize{background-position:0 -30px}.x-tool-restore{background-position:0 -45px}.x-tool-gear{background-position:0 -90px}.x-tool-prev{background-position:0 -105px}.x-tool-next{background-position:0 -120px}.x-tool-pin{background-position:0 -135px}.x-tool-unpin{background-position:0 -150px}.x-tool-right{background-position:0 -165px}.x-tool-left{background-position:0 -180px}.x-tool-help{background-position:0 -300px}.x-tool-save{background-position:0 -285px}.x-tool-search{background-position:0 -270px}.x-tool-minus{background-position:0 -255px}.x-tool-plus{background-position:0 -240px}.x-tool-refresh{background-position:0 -225px}.x-tool-up{background-position:0 -210px}.x-tool-down{background-position:0 -195px}.x-tool-collapse{background-position:0 -345px}.x-tool-expand{background-position:0 -330px}.x-tool-print{background-position:0 -315px}.x-tool-expand-bottom,.x-tool-collapse-bottom{background-position:0 -195px}.x-tool-expand-top,.x-tool-collapse-top{background-position:0 -210px}.x-tool-expand-left,.x-tool-collapse-left{background-position:0 -180px}.x-tool-expand-right,.x-tool-collapse-right{background-position:0 -165px}.x-tool-over .x-tool-close{background-position:-15px 0}.x-tool-over .x-tool-minimize{background-position:-15px -15px}.x-tool-over .x-tool-maximize{background-position:-15px -30px}.x-tool-over .x-tool-restore{background-position:-15px -45px}.x-tool-over .x-tool-gear{background-position:-15px -90px}.x-tool-over .x-tool-prev{background-position:-15px -105px}.x-tool-over .x-tool-next{background-position:-15px -120px}.x-tool-over .x-tool-pin{background-position:-15px -135px}.x-tool-over .x-tool-unpin{background-position:-15px -150px}.x-tool-over .x-tool-right{background-position:-15px -165px}.x-tool-over .x-tool-left{background-position:-15px -180px}.x-tool-over .x-tool-down{background-position:-15px -195px}.x-tool-over .x-tool-up{background-position:-15px -210px}.x-tool-over .x-tool-refresh{background-position:-15px -225px}.x-tool-over .x-tool-plus{background-position:-15px -240px}.x-tool-over .x-tool-minus{background-position:-15px -255px}.x-tool-over .x-tool-search{background-position:-15px -270px}.x-tool-over .x-tool-save{background-position:-15px -285px}.x-tool-over .x-tool-help{background-position:-15px -300px}.x-tool-over .x-tool-print{background-position:-15px -315px}.x-tool-over .x-tool-expand{background-position:-15px -330px}.x-tool-over .x-tool-collapse{background-position:-15px -345px}.x-tool-over .x-tool-expand-bottom,.x-tool-over .x-tool-collapse-bottom{background-position:-15px -195px}.x-tool-over .x-tool-expand-top,.x-tool-over .x-tool-collapse-top{background-position:-15px -210px}.x-tool-over .x-tool-expand-left,.x-tool-over .x-tool-collapse-left{background-position:-15px -180px}.x-tool-over .x-tool-expand-right,.x-tool-over .x-tool-collapse-right{background-position:-15px -165px}.x-horizontal-scroller-present .x-grid-body{border-bottom-width:0}.x-vertical-scroller-present .x-grid-body{border-right-width:0}.x-scroller{overflow:hidden}.x-scroller-vertical{border:1px solid #bfbfbf;border-top-color:#c5c5c5}.x-scroller-horizontal{border:1px solid #bfbfbf}.x-vertical-scroller-present .x-scroller-horizontal{border-right-width:0}.x-scroller-ct{overflow:hidden;position:absolute;margin:0;padding:0;border:0;left:0;top:0;box-sizing:content-box!important;-ms-box-sizing:content-box!important;-moz-box-sizing:content-box!important;-webkit-box-sizing:content-box!important}.x-scroller-vertical .x-scroller-ct{overflow-y:scroll}.x-scroller-horizontal .x-scroller-ct{overflow-x:scroll}.x-html html,.x-html address,.x-html blockquote,.x-html body,.x-html dd,.x-html div,.x-html dl,.x-html dt,.x-html fieldset,.x-html form,.x-html frame,.x-html frameset,.x-html h1,.x-html h2,.x-html h3,.x-html h4,.x-html h5,.x-html h6,.x-html noframes,.x-html ol,.x-html p,.x-html ul,.x-html center,.x-html dir,.x-html hr,.x-html menu,.x-html pre{display:block}.x-html li{display:list-item;list-style:disc}.x-html head{display:none}.x-html table{display:table}.x-html tr{display:table-row}.x-html thead{display:table-header-group}.x-html tbody{display:table-row-group}.x-html tfoot{display:table-footer-group}.x-html col{display:table-column}.x-html colgroup{display:table-column-group}.x-html td,.x-html th{display:table-cell}.x-html caption{display:table-caption}.x-html th{font-weight:bolder;text-align:center}.x-html caption{text-align:center}.x-html body{margin:8px}.x-html h1{font-size:2em;margin:.67em 0}.x-html h2{font-size:1.5em;margin:.75em 0}.x-html h3{font-size:1.17em;margin:.83em 0}.x-html h4,.x-html p,.x-html blockquote,.x-html ul,.x-html fieldset,.x-html form,.x-html ol,.x-html dl,.x-html dir,.x-html menu{margin:1.12em 0}.x-html h5{font-size:.83em;margin:1.5em 0}.x-html h6{font-size:.75em;margin:1.67em 0}.x-html h1,.x-html h2,.x-html h3,.x-html h4,.x-html h5,.x-html h6,.x-html b,.x-html strong{font-weight:bolder}.x-html blockquote{margin-left:40px;margin-right:40px}.x-html i,.x-html cite,.x-html em,.x-html var,.x-html address{font-style:italic}.x-html pre,.x-html tt,.x-html code,.x-html kbd,.x-html samp{font-family:monospace}.x-html pre{white-space:pre}.x-html button,.x-html textarea,.x-html input,.x-html select{display:inline-block}.x-html big{font-size:1.17em}.x-html small,.x-html sub,.x-html sup{font-size:.83em}.x-html sub{vertical-align:sub}.x-html sup{vertical-align:super}.x-html table{border-spacing:2px}.x-html thead,.x-html tbody,.x-html tfoot{vertical-align:middle}.x-html td,.x-html th{vertical-align:inherit}.x-html s,.x-html strike,.x-html del{text-decoration:line-through}.x-html hr{border:1px inset}.x-html ol,.x-html ul,.x-html dir,.x-html menu,.x-html dd{margin-left:40px}.x-html ul,.x-html menu,.x-html dir{list-style-type:disc}.x-html ol{list-style-type:decimal}.x-html ol ul,.x-html ul ol,.x-html ul ul,.x-html ol ol{margin-top:0;margin-bottom:0}.x-html u,.x-html ins{text-decoration:underline}.x-html br:before{content:"\A"}.x-html :before,.x-html :after{white-space:pre-line}.x-html center{text-align:center}.x-html :link,.x-html :visited{text-decoration:underline}.x-html :focus{outline:invert dotted thin}.x-html BDO[DIR="ltr"]{direction:ltr;unicode-bidi:bidi-override}.x-html BDO[DIR="rtl"]{direction:rtl;unicode-bidi:bidi-override}.x-nlg .x-toolbar-default{background-image:none!important}.x-nlg .x-btn-default-toolbar-small-focus,.x-nlg .x-btn-default-toolbar-small-over,.x-nlg .x-btn-default-toolbar-small-pressed{background-image:none}html{color:#000;background:#FFF}body,div,dl,dt,dd,ul,ol,li,h1,h2,h3,h4,h5,h6,pre,code,form,fieldset,legend,input,button,textarea,p,blockquote,th,td{margin:0;padding:0}table{border-collapse:collapse;border-spacing:0}fieldset,img{border:0}address,caption,cite,code,dfn,em,strong,th,var,optgroup{font-style:inherit;font-weight:inherit}del,ins{text-decoration:none}li{list-style:none}caption,th{text-align:left}h1,h2,h3,h4,h5,h6{font-size:100%;font-weight:normal}q:before,q:after{content:''}abbr,acronym{border:0;font-variant:normal}sup{vertical-align:baseline}sub{vertical-align:baseline}legend{color:#000}input,button,textarea,select,optgroup,option{font-family:inherit;font-size:inherit;font-style:inherit;font-weight:inherit}input,button,textarea,select{*font-size:100%}body{font:13px/1.231 HelveticaNeue,helvetica,arial,clean,sans-serif!important;*font-size:small;*font:x-small}select,input,button,textarea,button{font:99% HelveticaNeue,helvetica,arial,clean,sans-serif}table{font-size:inherit;font:100%}pre,code,kbd,samp,tt{font-family:monospace;*font-size:108%;line-height:100%}html{height:100%}body{-webkit-font-smoothing:antialiased;font:13px/1.231 "Helvetica Neue","Helvetica","Arial","Lucida Grande",sans-serif;color:#484848;background:#f8f8f8;min-height:100%}a:link{color:#083772;text-decoration:none}a:link:hover{color:#0464bb}pre,code,kbd,samp,tt{font-family:"Menlo","Courier New","Courier",monospace}.iScroll ::-webkit-scrollbar,.iScroll::-webkit-scrollbar{width:6px;height:9px}.iScroll ::-webkit-scrollbar-button:start:decrement,.iScroll ::-webkit-scrollbar-button:end:increment,.iScroll::-webkit-scrollbar-button:start:decrement,.iScroll::-webkit-scrollbar-button:end:increment{display:block;height:0;background-color:transparent}.iScroll ::-webkit-scrollbar-track-piece,.iScroll::-webkit-scrollbar-track-piece{margin:10px 0;-webkit-border-radius:0;-webkit-border-bottom-right-radius:4px;-webkit-border-bottom-left-radius:4px}.iScroll ::-webkit-scrollbar-thumb:vertical,.iScroll::-webkit-scrollbar-thumb:vertical{height:50px;background-color:rgba(0,0,0,0.12);-webkit-border-radius:4px}.iScroll ::-webkit-scrollbar-thumb:horizontal,.iScroll::-webkit-scrollbar-thumb:horizontal{width:50px;background-color:rgba(0,0,0,0.12);-webkit-border-radius:4px}#treecontainer .iScroll ::-webkit-scrollbar-thumb:vertical,#treecontainer .iScroll::-webkit-scrollbar-thumb:vertical{height:50px;background-color:rgba(0,0,0,0.06);-webkit-border-radius:4px}@media print{.logo{padding:0}.logo a{color:#000;font-size:1.4em}.members .member a.side{display:none}.members .member{padding:5px}.members h3.members-title{padding:5px}}#loading{position:absolute;top:50%;width:100%;margin-top:-70px}#loading .title{font-family:"Exo",sans-serif;font-size:2em;color:gray;text-align:center;white-space:nowrap;display:block}#loading .logo{background:url(../images/loading.gif) no-repeat center;display:block;height:120px}#north-region{background:#074e7c;background:-webkit-gradient(linear,left top,left bottom,from(#074e7c),to(#095f93));background:-moz-linear-gradient(top,#074e7c,#095f93)}#north-region .dropdown{padding-right:15px;background:url(../images/down-arr.png) no-repeat bottom right}#header-content{background:url(../images/logo.png) 0 0 no-repeat;color:#fff;font-family:"Helvetica Neue","Helvetica","Arial","Lucida Grande",sans-serif;line-height:20px;margin:10px 0 0 8px;padding-left:21px;font-size:1.1em;white-space:nowrap}#header-content a{color:#fff}#header-content strong{font-weight:bold;padding-right:3px}#loginContainer{text-align:right;color:#fff;line-height:25px}#loginContainer div{padding-left:10px;float:right}#loginContainer img.avatar{-webkit-border-radius:2px;-moz-border-radius:2px;-ms-border-radius:2px;-o-border-radius:2px;border-radius:2px}#loginContainer .register{font-weight:bold}#loginContainer a{color:#fff}.loginForm .username,.loginForm .password{width:100px;-webkit-border-radius:3px;-moz-border-radius:3px;-ms-border-radius:3px;-o-border-radius:3px;border-radius:3px;border:0;padding:2px 3px;margin-right:10px}.loginForm .submit{padding:2px 7px 2px 7px;-webkit-box-shadow:#b3f33d 0 1px 0 0 inset;-moz-box-shadow:#b3f33d 0 1px 0 0 inset;box-shadow:#b3f33d 0 1px 0 0 inset;color:#fff;text-shadow:rgba(0,0,0,0.3) 0 -1px 0;-webkit-border-radius:3px;-moz-border-radius:3px;-ms-border-radius:3px;-o-border-radius:3px;border-radius:3px;cursor:pointer;border:1px solid #264901;background:#91c632;background:-webkit-gradient(linear,left top,left bottom,from(#91c632),to(#519700));background:-moz-linear-gradient(top,#91c632,#519700)}.loginForm .submit:hover{background:#74b61e;background:-webkit-gradient(linear,left top,left bottom,from(#74b61e),to(#3d7e00));background:-moz-linear-gradient(top,#74b61e,#3d7e00)}.loginForm .submit.disabled{border-color:#707070;cursor:auto;background:#bbb;background:-webkit-gradient(linear,left top,left bottom,from(#bbb),to(#9c9c9c));background:-moz-linear-gradient(top,#bbb,#9c9c9c);-webkit-box-shadow:#d7d7d7 0 1px 0 0 inset;-moz-box-shadow:#d7d7d7 0 1px 0 0 inset;box-shadow:#d7d7d7 0 1px 0 0 inset}.loginForm label{margin-right:10px}.search{background:url(../images/search-box.png) no-repeat;padding:2px 0 0 25px}.search .x-panel-body-default{border:0;background:0}.search .x-form-text{border:0;background:0}#search-field .reset{background:url(../images/x.png) no-repeat;width:16px;height:16px;border:0;margin:2px 0 0 14px}#search-dropdown{border-style:solid;border-color:#bfbfbf;border-width:1px 1px 0 1px;background:white;position:absolute;width:190px;top:18px;left:23px;z-index:5}#search-dropdown .item,#search-dropdown .footer{position:relative;display:block;cursor:pointer;overflow:hidden;padding:5px 5px 5px 30px;border-width:0 0 1px 0;border-style:solid;border-color:#bfbfbf;color:#605f5f}#search-dropdown .item .title,#search-dropdown .item .class,#search-dropdown .footer .title,#search-dropdown .footer .class{white-space:pre}#search-dropdown .item .title strong,#search-dropdown .item .class strong,#search-dropdown .footer .title strong,#search-dropdown .footer .class strong{background:rgba(0,0,0,0.1);color:black}#search-dropdown .item .title,#search-dropdown .footer .title{font-weight:bold;overflow:hidden;text-overflow:ellipsis}#search-dropdown .item .title.private,#search-dropdown .footer .title.private{color:gray}#search-dropdown .item .title.removed,#search-dropdown .footer .title.removed{color:gray;text-decoration:line-through}#search-dropdown .item .class,#search-dropdown .footer .class{font-size:.85em;overflow:hidden;text-overflow:ellipsis}#search-dropdown .icon{position:absolute;float:left;top:6px;left:4px;width:18px;height:18px}#search-dropdown .icon-pkg{background:url(../images/icons.png) no-repeat 0 0}#search-dropdown .icon-class{background:url(../images/icons.png) no-repeat 0 -40px}#search-dropdown .icon-singleton{background:url(../images/icons.png) no-repeat 0 -80px}#search-dropdown .icon-subclass{background:url(../images/icons.png) no-repeat 0 -120px}#search-dropdown .icon-component{background:url(../images/icons.png) no-repeat 0 -160px}#search-dropdown .icon-cfg{background:url(../images/icons.png) no-repeat 0 -200px}#search-dropdown .icon-property{background:url(../images/icons.png) no-repeat 0 -240px}#search-dropdown .icon-method{background:url(../images/icons.png) no-repeat 0 -280px}#search-dropdown .icon-event{background:url(../images/icons.png) no-repeat 0 -320px}#search-dropdown .icon-guide{background:url(../images/icons.png) no-repeat 0 -360px}#search-dropdown .icon-video{background:url(../images/icons.png) no-repeat 0 -400px}#search-dropdown .icon-example{background:url(../images/icons.png) no-repeat 0 -440px}#search-dropdown .icon-css_var{background:url(../images/icons.png) no-repeat 0 -480px}#search-dropdown .icon-css_mixin{background:url(../images/icons.png) no-repeat 0 -520px}#search-dropdown .icon-class-redirect{background:url(../images/icons.png) no-repeat 0 -560px}#search-dropdown .icon-singleton-redirect{background:url(../images/icons.png) no-repeat 0 -600px}#search-dropdown .icon-component-redirect{background:url(../images/icons.png) no-repeat 0 -640px}#search-dropdown .meta{position:absolute;top:6px;right:4px}#search-dropdown .meta .signature{font-size:.6em;text-transform:uppercase;font-weight:bold;padding:0 .5em;-webkit-border-radius:2px;-moz-border-radius:2px;-ms-border-radius:2px;-o-border-radius:2px;border-radius:2px;color:white;background-color:#aaa}#search-dropdown .meta .signature.deprecated{background-color:#a00}#search-dropdown .meta .signature.removed{color:#a00;background-color:transparent;border:1px solid #a00;text-decoration:line-through}#search-dropdown .meta .signature.chainable{background-color:#0a0}#search-dropdown .meta .signature.static{background-color:#484848}#search-dropdown .meta .signature.required{background-color:#484848}#search-dropdown .meta .signature.new{color:#484848;background-color:#f5d833}#search-dropdown .meta .signature.private{background-color:#fd6b1b}#search-dropdown .meta .signature.protected{background-color:#9b86fc}#search-dropdown .item.x-item-selected{background-color:#ffa}#search-dropdown .item.x-view-over{background-color:#ffa}#search-dropdown .footer{cursor:auto;text-align:right;font-size:.85em}#search-dropdown .footer a{padding:0 .5em}#footer{background:#f8f8f8;color:gray;text-align:right;font-size:10px;padding-top:3px;padding-right:40px;border-color:#ebebeb;border-width:0 1px 0 0!important;border-style:solid}#footer a{color:gray}#footer #footer-content{display:block!important}.doctabs{padding-left:10px;height:19px;position:relative}.doctabs .icon-pkg{background:url(../images/icons.png) no-repeat 0 0}.doctabs .icon-class{background:url(../images/icons.png) no-repeat 0 -40px}.doctabs .icon-singleton{background:url(../images/icons.png) no-repeat 0 -80px}.doctabs .icon-subclass{background:url(../images/icons.png) no-repeat 0 -120px}.doctabs .icon-component{background:url(../images/icons.png) no-repeat 0 -160px}.doctabs .icon-cfg{background:url(../images/icons.png) no-repeat 0 -200px}.doctabs .icon-property{background:url(../images/icons.png) no-repeat 0 -240px}.doctabs .icon-method{background:url(../images/icons.png) no-repeat 0 -280px}.doctabs .icon-event{background:url(../images/icons.png) no-repeat 0 -320px}.doctabs .icon-guide{background:url(../images/icons.png) no-repeat 0 -360px}.doctabs .icon-video{background:url(../images/icons.png) no-repeat 0 -400px}.doctabs .icon-example{background:url(../images/icons.png) no-repeat 0 -440px}.doctabs .icon-css_var{background:url(../images/icons.png) no-repeat 0 -480px}.doctabs .icon-css_mixin{background:url(../images/icons.png) no-repeat 0 -520px}.doctabs .icon-class-redirect{background:url(../images/icons.png) no-repeat 0 -560px}.doctabs .icon-singleton-redirect{background:url(../images/icons.png) no-repeat 0 -600px}.doctabs .icon-component-redirect{background:url(../images/icons.png) no-repeat 0 -640px}.doctabs .doctab{position:relative;display:block;float:left;overflow:hidden;top:0;margin-left:-8px;cursor:pointer;height:28px}.doctabs .doctab .l{position:absolute;top:0;left:0;width:9px;height:29px;background:url(../images/tabs.png) no-repeat -8px -141px;z-index:3}.doctabs .doctab .r{position:absolute;right:0;top:0;width:26px;height:29px;background:url(../images/tabs.png) no-repeat 0 -239px;z-index:5}.doctabs .doctab .m{z-index:5;position:relative;padding:6px 3px 0 6px;margin:0 7px;background:url(../images/tabs.png) repeat-x 0 -173px;height:29px;overflow:hidden;white-space:nowrap;text-shadow:1px 1px 0 rgba(255,255,255,0.5);font-family:"Helvetica Neue","Helvetica","Arial","Lucida Grande",sans-serif;font-weight:bold;font-size:11px}.doctabs .doctab .m span,.doctabs .doctab .m a{padding-bottom:5px;line-height:16px;display:block;color:#2e3841;white-space:nowrap;overflow:hidden;float:left}.doctabs .doctab .m a.ov-tab{overflow:hidden;padding:0 14px 0 17px}.doctabs .doctab .m a.ov-tab-text{overflow:hidden}.doctabs .doctab .m a.main-tab{overflow:hidden;padding:0 14px 0 17px;width:140px}.doctabs .doctab .m span.icn{display:block;position:absolute;left:3px;padding-left:15px;padding-bottom:0}.doctabs .doctab a.close{position:absolute;width:11px;height:11px;top:8px;right:9px;z-index:6;background:url(../images/tabs.png) no-repeat -8px -111px!important}.doctabs .doctab a.close.ovr{background:url(../images/tabs.png) no-repeat -8px -123px!important}.doctabs .doctab.highlight{border-width:0}.doctabs .doctab.highlight .l{background:url(../images/tabs.png) no-repeat -9px -271px}.doctabs .doctab.highlight .r{background:url(../images/tabs.png) no-repeat -9px -335px;width:10px}.doctabs .doctab.highlight .m{background:url(../images/tabs.png) repeat-x 0 -303px}.doctabs .doctab.active{border-width:0}.doctabs .doctab.active .l{background:url(../images/tabs.png) no-repeat -9px -369px;z-index:6;width:13px}.doctabs .doctab.active .r{background:url(../images/tabs.png) no-repeat 3px -479px;z-index:5;width:28px}.doctabs .doctab.active .m{background:url(../images/tabs.png) repeat-x 0 -405px;z-index:5}.doctabs .doctab.overview .m{z-index:6}.doctabs .doctab.index .m a{background:url(../images/tabs.png) no-repeat 1px 1px;padding-left:16px;padding-right:12px;padding-bottom:20px}.doctabs .doctab.classes .m a{background:url(../images/tabs.png) no-repeat 2px -20px;padding-left:16px;padding-right:12px}.doctabs .doctab.guides .m a{background:url(../images/tabs.png) no-repeat 3px -55px;padding-left:16px;padding-right:12px}.doctabs .doctab.videos .m a{background:url(../images/tabs.png) no-repeat 2px -38px;padding-left:16px;padding-right:12px}.doctabs .doctab.examples .m a{background:url(../images/tabs.png) no-repeat 1px -93px;padding-left:16px;padding-right:12px}.doctabs .doctab.comments .m a{background:url(../images/tabs.png) no-repeat 2px -72px;padding-left:16px;padding-right:12px}.doctabs .tab-overflow{position:absolute;right:5px;top:8px}.doctabs .tab-overflow button{cursor:pointer;display:block;width:14px;height:20px;background:url(../images/tabs.png) no-repeat -7px -513px;border:0}.tab-menu .x-menu-item-link{padding-top:5px}.tab-menu .overflow{background:#e3e3e3}.tab-menu .close-all{background:#e3e3e3;border-top:1px dotted #aaa;font-weight:bold}.tab-menu .close-all a .x-menu-item-text{color:#666}.tab-menu .x-menu-item-icon.close{background:url(../images/x12.png) no-repeat 4px 4px}.class-overview .x-toolbar.member-links{border-radius:2px;border-color:#e4e4e4;padding:5px;border-width:1px!important}.class-overview .x-toolbar.member-links .icon-pkg{background:url(../images/icons.png) no-repeat 0 0}.class-overview .x-toolbar.member-links .icon-class{background:url(../images/icons.png) no-repeat 0 -40px}.class-overview .x-toolbar.member-links .icon-singleton{background:url(../images/icons.png) no-repeat 0 -80px}.class-overview .x-toolbar.member-links .icon-subclass{background:url(../images/icons.png) no-repeat 0 -120px}.class-overview .x-toolbar.member-links .icon-component{background:url(../images/icons.png) no-repeat 0 -160px}.class-overview .x-toolbar.member-links .icon-cfg{background:url(../images/icons.png) no-repeat 0 -200px}.class-overview .x-toolbar.member-links .icon-property{background:url(../images/icons.png) no-repeat 0 -240px}.class-overview .x-toolbar.member-links .icon-method{background:url(../images/icons.png) no-repeat 0 -280px}.class-overview .x-toolbar.member-links .icon-event{background:url(../images/icons.png) no-repeat 0 -320px}.class-overview .x-toolbar.member-links .icon-guide{background:url(../images/icons.png) no-repeat 0 -360px}.class-overview .x-toolbar.member-links .icon-video{background:url(../images/icons.png) no-repeat 0 -400px}.class-overview .x-toolbar.member-links .icon-example{background:url(../images/icons.png) no-repeat 0 -440px}.class-overview .x-toolbar.member-links .icon-css_var{background:url(../images/icons.png) no-repeat 0 -480px}.class-overview .x-toolbar.member-links .icon-css_mixin{background:url(../images/icons.png) no-repeat 0 -520px}.class-overview .x-toolbar.member-links .icon-class-redirect{background:url(../images/icons.png) no-repeat 0 -560px}.class-overview .x-toolbar.member-links .icon-singleton-redirect{background:url(../images/icons.png) no-repeat 0 -600px}.class-overview .x-toolbar.member-links .icon-component-redirect{background:url(../images/icons.png) no-repeat 0 -640px}.member-filter{height:20px;border-style:solid;border-color:#bebebe;border-width:1px;margin-left:-1px;background:white url("../images/text-bg.gif") repeat-x 0 0}.member-filter .x-form-trigger.reset{background:url(../images/x12.png) no-repeat 2px 3px;padding:0;margin:0;border:0}.member-filter input{background:transparent;border:0}.expand-all-members{background:url(../images/expandcollapse.png) no-repeat -12px 2px}.collapse-all-members{background:url(../images/expandcollapse.png) no-repeat 2px 2px}.hover-menu-button{padding-left:20px;cursor:pointer}.hover-menu-button sup{font-size:.8em;position:relative;top:-4px}.hover-menu{font-size:12px;position:absolute;padding:5px 15px 10px;background:#eaeaea;z-index:8;top:21px;border:1px solid #e4e4e4;border-top:1px solid #eaeaea;left:-16px;-moz-border-radius-bottomleft:5px;-webkit-border-bottom-left-radius:5px;border-bottom-left-radius:5px;-moz-border-radius-bottomright:5px;-webkit-border-bottom-right-radius:5px;border-bottom-right-radius:5px}.hover-menu table{width:100%}.hover-menu td{vertical-align:top}.hover-menu .item{position:relative}.hover-menu a{display:block;position:relative;padding:2px 30px 2px 0;color:#0464bb;white-space:nowrap}.hover-menu a:hover{color:#083772;text-decoration:underline}.hover-menu a .signature{font-size:.6em;text-transform:uppercase;font-weight:bold;padding:0 .5em;-webkit-border-radius:2px;-moz-border-radius:2px;-ms-border-radius:2px;-o-border-radius:2px;border-radius:2px;color:white;background-color:#aaa}.hover-menu a .signature.deprecated{background-color:#a00}.hover-menu a .signature.removed{color:#a00;background-color:transparent;border:1px solid #a00;text-decoration:line-through}.hover-menu a .signature.chainable{background-color:#0a0}.hover-menu a .signature.static{background-color:#484848}.hover-menu a .signature.required{background-color:#484848}.hover-menu a .signature.new{color:#484848;background-color:#f5d833}.hover-menu a .signature.private{background-color:#fd6b1b}.hover-menu a .signature.protected{background-color:#9b86fc}.hover-menu a{font-family:Helvetica,Arial,clean,sans-serif;font-size:12px}#treecontainer{background:#f8f8f8;border:0;background:-moz-linear-gradient(top,white 0,#f8f8f8 10px);background:-webkit-gradient(linear,left top,left bottom,color-stop(0%,white),color-stop(10px,#f8f8f8));background:-webkit-linear-gradient(top,white 0,#f8f8f8 10px);background:-o-linear-gradient(top,white 0,#f8f8f8 5px);background:-ms-linear-gradient(top,white 0,#f8f8f8 5px);background:linear-gradient(top,#fff 0,#f8f8f8 5px)}#treecontainer a{color:#000}#treecontainer .x-grid-cell{background:0}#treecontainer .x-grid-cell-inner{font-family:"Helvetica Neue","Helvetica","Arial","Lucida Grande",sans-serif;font-size:13px;position:relative;-webkit-transition:background-color .15s linear;-moz-transition:background-color .15s linear;-o-transition:background-color .15s linear}#treecontainer .x-grid-cell-inner .icon-pkg{background:url(../images/icons.png) no-repeat 0 0}#treecontainer .x-grid-cell-inner .icon-class{background:url(../images/icons.png) no-repeat 0 -40px}#treecontainer .x-grid-cell-inner .icon-singleton{background:url(../images/icons.png) no-repeat 0 -80px}#treecontainer .x-grid-cell-inner .icon-subclass{background:url(../images/icons.png) no-repeat 0 -120px}#treecontainer .x-grid-cell-inner .icon-component{background:url(../images/icons.png) no-repeat 0 -160px}#treecontainer .x-grid-cell-inner .icon-cfg{background:url(../images/icons.png) no-repeat 0 -200px}#treecontainer .x-grid-cell-inner .icon-property{background:url(../images/icons.png) no-repeat 0 -240px}#treecontainer .x-grid-cell-inner .icon-method{background:url(../images/icons.png) no-repeat 0 -280px}#treecontainer .x-grid-cell-inner .icon-event{background:url(../images/icons.png) no-repeat 0 -320px}#treecontainer .x-grid-cell-inner .icon-guide{background:url(../images/icons.png) no-repeat 0 -360px}#treecontainer .x-grid-cell-inner .icon-video{background:url(../images/icons.png) no-repeat 0 -400px}#treecontainer .x-grid-cell-inner .icon-example{background:url(../images/icons.png) no-repeat 0 -440px}#treecontainer .x-grid-cell-inner .icon-css_var{background:url(../images/icons.png) no-repeat 0 -480px}#treecontainer .x-grid-cell-inner .icon-css_mixin{background:url(../images/icons.png) no-repeat 0 -520px}#treecontainer .x-grid-cell-inner .icon-class-redirect{background:url(../images/icons.png) no-repeat 0 -560px}#treecontainer .x-grid-cell-inner .icon-singleton-redirect{background:url(../images/icons.png) no-repeat 0 -600px}#treecontainer .x-grid-cell-inner .icon-component-redirect{background:url(../images/icons.png) no-repeat 0 -640px}#treecontainer .private .x-grid-cell-inner,#treecontainer .private .x-grid-cell-inner a{color:#666}#treecontainer .x-grid-row-over .x-grid-cell-inner{-webkit-transition:background-color .15s linear;-moz-transition:background-color .15s linear;-o-transition:background-color .15s linear}#treecontainer .x-panel-body{border-color:#d4d4d4;background:#f8f8f8}.x-scroller-vertical{border:0}.x-tree-arrows .x-tree-elbow-plus,.x-tree-arrows .x-tree-elbow-minus,.x-tree-arrows .x-tree-elbow-end-plus,.x-tree-arrows .x-tree-elbow-end-minus{background:url("../images/arrows.png") no-repeat 2px 1px}.x-tree-arrows .x-tree-expander-over .x-tree-elbow-plus,.x-tree-arrows .x-tree-expander-over .x-tree-elbow-end-plus{background-position:2px 1px}.x-tree-arrows .x-grid-tree-node-expanded .x-tree-elbow-plus,.x-tree-arrows .x-grid-tree-node-expanded .x-tree-elbow-end-plus{background-position:-12px 1px}.x-tree-arrows .x-grid-tree-node-expanded .x-tree-expander-over .x-tree-elbow-plus,.x-tree-arrows .x-grid-tree-node-expanded .x-tree-expander-over .x-tree-elbow-end-plus{background-position:-12px 1px}#tree-container .x-grid-cell-inner{font-family:Helvetica,Arial,clean,sans-serif;font-size:12px}#treecontainer>.x-panel-body{background:transparent;border-color:#ebebeb;border-width:0 1px 0 0!important}.x-resizable-over .x-resizable-handle-east{cursor:col-resize}.x-resizable-handle-east{width:6px}.x-resizable-over .x-resizable-handle-east,.x-resizable-over .x-resizable-handle-west,.x-resizable-pinned .x-resizable-handle-east,.x-resizable-pinned .x-resizable-handle-west{background:0;border:solid #bbb;border-width:0 1px 0 0}.cls-grouping button,.cls-private-cb{font-size:11px;color:#4d4d4d;font-weight:bold;-webkit-font-smoothing:antialiased}.cls-grouping{padding:5px 0 2px 0;text-align:center}.cls-grouping button{display:inline-block;float:left;margin:0 3px;padding:1px 13px 2px 13px;border:1px solid transparent;cursor:pointer;background:transparent}.cls-grouping button.selected{color:#fff;border:1px solid #727a81;background-color:#646b72;background:#646b72;background:-webkit-gradient(linear,left top,left bottom,from(#646b72),to(#8d949b));background:-moz-linear-gradient(top,#646b72,#8d949b);-webkit-box-shadow:#5b6167 0 0 1px 0 inset;-moz-box-shadow:#5b6167 0 0 1px 0 inset;box-shadow:#5b6167 0 0 1px 0 inset;-webkit-border-radius:10px;-moz-border-radius:10px;-ms-border-radius:10px;-o-border-radius:10px;border-radius:10px;text-shadow:1px 1px 0 rgba(0,0,0,0.35)}.thumb-list{padding:2px}.thumb-list dd{cursor:pointer;float:left;height:100px;margin:10px;width:300px;zoom:1;line-height:1em}.thumb-list dd.over{background:#f5fde3 url(../images/sample-over.gif) no-repeat}.thumb-list dd .thumb{float:left;height:90px;margin:5px 0 0 5px;width:120px}.thumb-list dd .thumb img{border:1px solid #ddd;max-height:88px;max-width:118px;margin:auto}.thumb-list dd div{float:left;margin-left:10px;width:160px}.thumb-list dd h4{color:#555;font-size:11px;font-weight:bold;padding:3px 0}.thumb-list dd h4 span.new-sample{color:red}.thumb-list dd h4 span.updated-sample{color:blue}.thumb-list dd p{color:#777;font-size:13px}.thumb-list h2{border-bottom:2px solid #99bbe8;cursor:pointer;padding-top:6px}.thumb-list h2 div{background:transparent url(../images/group-expand-sprite.gif) no-repeat 2px -45px;color:#3764a0;padding:4px 4px 4px 17px}.thumb-list .collapsed h2 div{background-position:2px 5px}.thumb-list .collapsed dl{display:none}.touch-examples-ui .thumb-list dd .thumb{border:1px solid #ddd;background:white;background:-webkit-gradient(linear,left top,left bottom,from(white),to(#f9f9f9));background:-moz-linear-gradient(top,white,#f9f9f9)}.touch-examples-ui .thumb-list dd .thumb img{border:0;margin:7px 0 0 22px}.class-categories h1.top{margin-bottom:12px}.class-categories .notice{background-color:#ffc;text-align:center;color:#434343;font-weight:bold;padding:8px 0;margin:0 20px 15px 0;-webkit-border-radius:8px;-moz-border-radius:8px;-ms-border-radius:8px;-o-border-radius:8px;border-radius:8px}.class-categories .section{-webkit-border-radius:5px;-moz-border-radius:5px;-ms-border-radius:5px;-o-border-radius:5px;border-radius:5px;background-color:#f7f7f7;border:1px solid #ebebeb;padding:20px 10px 20px 20px;margin:0 10px 20px 0;clear:both}.class-categories .section .left-column{float:left;width:250px;margin-left:20px}.class-categories .section .middle-column{float:left;width:280px}.class-categories .section .right-column{float:left}.class-categories .section .links{margin-left:1.5em}.class-categories .section .links .new-class{-webkit-border-radius:2px;-moz-border-radius:2px;-ms-border-radius:2px;-o-border-radius:2px;border-radius:2px;padding:0 .5em;background:#f5d833;position:relative;top:-2px;font-size:7px}#failure{padding:1em}#failure h1{padding:10px 0;font-family:"Exo",sans-serif;margin-bottom:16px;font-size:2em;color:#66ab16}#failure p{margin:0 0 .8em}#center-container h1{font-family:"Exo",sans-serif;padding-bottom:5px;padding-top:2px;border-bottom:1px #f1f1f1;font-size:2em;color:#66ab16}#center-container h1 .class-source-link{color:#66ab16;margin-left:-3px;padding:.1em 0 .4em 2.3em}#center-container h1.class .class-source-link{background:url(../images/class-m.png) no-repeat 0 -5px}#center-container h1.component .class-source-link{background:url(../images/component-m.png) no-repeat 0 -5px}#center-container h1.singleton .class-source-link{background:url(../images/singleton-m.png) no-repeat 0 -5px}#center-container h1 span{color:#929292;letter-spacing:0;margin-left:10px;font-size:.5em}#center-container h1 span.class-source-tip{font-size:.5em;position:absolute;top:35px;left:100px;color:#fff;-webkit-transition:color .2s linear;-moz-transition:color .2s linear;-o-transition:color .2s linear}#center-container h1 span.class-source-tip.hover{color:#929292}#center-container h1 .signature{font-weight:bold;text-transform:uppercase;font-size:.4em;letter-spacing:2px;-webkit-border-radius:3px;-moz-border-radius:3px;-ms-border-radius:3px;-o-border-radius:3px;border-radius:3px;margin-left:2px;margin-right:0;padding:0 5px;color:white;background-color:#aaa}#center-container h1 .signature.deprecated{background-color:#a00}#center-container h1 .signature.removed{color:#a00;background-color:transparent;border:1px solid #a00;text-decoration:line-through}#center-container h1 .signature.chainable{background-color:#0a0}#center-container h1 .signature.static{background-color:#484848}#center-container h1 .signature.required{background-color:#484848}#center-container h1 .signature.new{color:#484848;background-color:#f5d833}#center-container h1 .signature.private{background-color:#fd6b1b}#center-container h1 .signature.protected{background-color:#9b86fc}#center-container .guide-container table{width:900px;font-size:.9em}#center-container .guide-container table th{background-color:#eee;font-weight:bold;text-align:center;color:#333;padding:1px 2px}#center-container .guide-container table td{padding:3px}#center-container .print{background:url(../images/print.png) no-repeat;position:absolute;right:0;top:5px;display:block;text-indent:-9999px;width:32px;height:32px}#center-container .print.guide{right:15px;top:15px}.card-panel{line-height:1.5em}.card-panel h3{font-size:1.2em;padding:1em 0 .4em 0;font-weight:normal}#welcomeindex .markdown{margin:2em;color:#484848}#welcomeindex .markdown p{margin-bottom:1em}#welcomeindex .markdown h1{color:#66ab16;font-family:"Exo",sans-serif;font-size:2em}#welcomeindex .markdown h2{font-family:"Helvetica Neue","Helvetica","Arial","Lucida Grande",sans-serif;letter-spacing:-1px;line-height:20px;border-bottom:1px solid #f1f1f1;font-size:20px;font-weight:bold;color:#314e64;margin:30px 0 15px;padding-bottom:5px}#welcomeindex .markdown h3{font-weight:bold;color:#314e64;margin-top:.5em;padding-top:16px;font-size:16px;line-height:16px;margin-bottom:4px}#welcomeindex .markdown h3{font-weight:bold;font-size:1.1em}#welcomeindex .markdown h4{font-weight:bold}#welcomeindex .markdown ul{margin:0 0 1em 2em}#welcomeindex .markdown ul li{list-style:disc outside}#welcomeindex .markdown ol{margin:0 0 1em 2em}#welcomeindex .markdown ol li{list-style:decimal outside}#welcomeindex .markdown em{font-style:italic}#welcomeindex .markdown strong{font-weight:bold}#welcomeindex .markdown pre{background-color:#f7f7f7;border:solid 1px #e8e8e8;-webkit-border-radius:5px;-moz-border-radius:5px;-ms-border-radius:5px;-o-border-radius:5px;border-radius:5px;color:#314e64;font-family:"Menlo","Courier New","Courier",monospace;padding:10px 12px;margin:10px 0 14px 0;overflow-x:auto;overflow-y:hidden}.class-overview .x-panel-body,.guide-container .x-panel-body,.comments-index .x-panel-body{min-height:100px}.class-overview .x-panel-body .clr,.guide-container .x-panel-body .clr,.comments-index .x-panel-body .clr{clear:both}.class-overview .x-panel-body p,.class-overview .x-panel-body ul,.class-overview .x-panel-body ol,.guide-container .x-panel-body p,.guide-container .x-panel-body ul,.guide-container .x-panel-body ol,.comments-index .x-panel-body p,.comments-index .x-panel-body ul,.comments-index .x-panel-body ol{color:#484848;max-width:900px}.class-overview .x-panel-body p,.guide-container .x-panel-body p,.comments-index .x-panel-body p{padding:0;margin:0 0 1em}.class-overview .x-panel-body p:last-child,.guide-container .x-panel-body p:last-child,.comments-index .x-panel-body p:last-child{margin:0}.class-overview .x-panel-body ul,.guide-container .x-panel-body ul,.comments-index .x-panel-body ul{margin:0 0 1em 2em}.class-overview .x-panel-body ul li,.guide-container .x-panel-body ul li,.comments-index .x-panel-body ul li{list-style:disc outside}.class-overview .x-panel-body ol,.guide-container .x-panel-body ol,.comments-index .x-panel-body ol{margin:0 0 1em 2em}.class-overview .x-panel-body ol li,.guide-container .x-panel-body ol li,.comments-index .x-panel-body ol li{list-style:decimal outside}.class-overview .x-panel-body em,.guide-container .x-panel-body em,.comments-index .x-panel-body em{font-style:italic}.class-overview .x-panel-body strong,.guide-container .x-panel-body strong,.comments-index .x-panel-body strong{font-weight:bold}.class-overview .x-panel-body h3,.guide-container .x-panel-body h3,.comments-index .x-panel-body h3{font-weight:bold;font-size:1.1em}.class-overview .x-panel-body h4,.guide-container .x-panel-body h4,.comments-index .x-panel-body h4{font-weight:bold}.class-overview .x-panel-body table,.guide-container .x-panel-body table,.comments-index .x-panel-body table{margin-bottom:10px}.class-overview .x-panel-body table tr:first-child td,.guide-container .x-panel-body table tr:first-child td,.comments-index .x-panel-body table tr:first-child td{color:#000;font-weight:bold}.class-overview .x-panel-body table td,.guide-container .x-panel-body table td,.comments-index .x-panel-body table td{color:#484848;padding:2px 20px 2px 0}.class-overview .x-panel-body blockquote,.guide-container .x-panel-body blockquote,.comments-index .x-panel-body blockquote{padding-left:1em;border-left:solid 1em #e8e8e8}.class-overview .x-panel-body pre.notpretty,.class-overview .x-panel-body pre.prettyprint,.guide-container .x-panel-body pre.notpretty,.guide-container .x-panel-body pre.prettyprint,.comments-index .x-panel-body pre.notpretty,.comments-index .x-panel-body pre.prettyprint{background-color:#f7f7f7;border:solid 1px #e8e8e8;-webkit-border-radius:5px;-moz-border-radius:5px;-ms-border-radius:5px;-o-border-radius:5px;border-radius:5px;color:#314e64;font-family:"Menlo","Courier New","Courier",monospace;padding:10px 12px;line-height:1.3em;margin:10px 0 14px 0;max-width:900px;overflow-x:auto;overflow-y:hidden}.class-overview .x-panel-body pre.notpretty code,.class-overview .x-panel-body pre.prettyprint code,.guide-container .x-panel-body pre.notpretty code,.guide-container .x-panel-body pre.prettyprint code,.comments-index .x-panel-body pre.notpretty code,.comments-index .x-panel-body pre.prettyprint code{font-family:"Menlo","Courier New","Courier",monospace}.class-overview .x-panel-body pre.notpretty i,.class-overview .x-panel-body pre.notpretty em,.class-overview .x-panel-body pre.prettyprint i,.class-overview .x-panel-body pre.prettyprint em,.guide-container .x-panel-body pre.notpretty i,.guide-container .x-panel-body pre.notpretty em,.guide-container .x-panel-body pre.prettyprint i,.guide-container .x-panel-body pre.prettyprint em,.comments-index .x-panel-body pre.notpretty i,.comments-index .x-panel-body pre.notpretty em,.comments-index .x-panel-body pre.prettyprint i,.comments-index .x-panel-body pre.prettyprint em{font-style:normal}.class-overview .hierarchy,.class-overview .aside{-webkit-border-radius:5px;-moz-border-radius:5px;-ms-border-radius:5px;-o-border-radius:5px;border-radius:5px;background-color:#f7f7f7;border:1px solid #ebebeb;padding:0 15px 15px 10px;float:right;clear:right;margin:0 0 10px 60px;color:#484848;font-size:12px}.class-overview .hierarchy h4{font-family:"Helvetica Neue","Helvetica","Arial","Lucida Grande",sans-serif;font-size:90%;padding:11px 0 5px 0;text-transform:uppercase;color:#999}.class-overview .hierarchy .dependency,.class-overview .hierarchy .alternate-class-name{padding:0 0 0 12px;margin-top:3px}.class-overview .hierarchy .alternate-class-name{color:#484848}.class-overview .hierarchy .subclass{background:url(../images/elbow-end.gif) no-repeat -5px 0;margin-top:3px;padding:0 0 0 12px}.class-overview .hierarchy .subclass.first-child{background:0;padding-left:15px}.class-overview .aside{width:180px}.class-overview .aside h4{margin:4px 0;font-size:larger;color:#526c83;padding-left:22px}.class-overview .aside img{width:50px;float:left;margin-right:10px}.class-overview .aside.guide h4{background:url(../images/tabs.png) no-repeat -5px -55px}.class-overview .aside.video h4{background:url(../images/tabs.png) no-repeat -6px -38px}.class-overview .aside.example h4{background:url(../images/tabs.png) no-repeat -7px -93px}#center-container .doc-contents h1,#center-container .doc-contents h2{font-family:"Helvetica Neue","Helvetica","Arial","Lucida Grande",sans-serif;letter-spacing:-1px;line-height:20px;border-bottom:1px solid #f1f1f1;font-size:20px;font-weight:bold;color:#314e64;margin:30px 0 15px;padding-bottom:5px;letter-spacing:0}#center-container .doc-contents h3{font-weight:bold;color:#314e64;margin-top:.5em;padding-top:16px;font-size:16px;line-height:16px;margin-bottom:4px}.class-overview p.private{border:1px solid #999;-webkit-border-radius:5px;-moz-border-radius:5px;-ms-border-radius:5px;-o-border-radius:5px;border-radius:5px;color:#600;background-color:#fee;padding:10px 50px;text-align:center}.class-overview p.enum{border:1px solid #999;-webkit-border-radius:5px;-moz-border-radius:5px;-ms-border-radius:5px;-o-border-radius:5px;border-radius:5px;color:#060;background-color:#efe;padding:10px 50px;text-align:center}.class-overview .signature{font-weight:bold;text-transform:uppercase;font-size:.7em;-webkit-border-radius:2px;-moz-border-radius:2px;-ms-border-radius:2px;-o-border-radius:2px;border-radius:2px;margin-left:5px;padding:0 3px;color:white;background-color:#aaa}.class-overview .signature.deprecated{background-color:#a00}.class-overview .signature.removed{color:#a00;background-color:transparent;border:1px solid #a00;text-decoration:line-through}.class-overview .signature.chainable{background-color:#0a0}.class-overview .signature.static{background-color:#484848}.class-overview .signature.required{background-color:#484848}.class-overview .signature.new{color:#484848;background-color:#f5d833}.class-overview .signature.private{background-color:#fd6b1b}.class-overview .signature.protected{background-color:#9b86fc}.class-overview .new-keyword{margin-left:0;margin-right:3px;color:#083772}.class-overview .cfgGroup{margin:10px 0 3px 0}.members{color:#444;padding-top:10px;clear:both;first-child-padding-top:0}.members h1,.members h2{font-family:"Helvetica Neue","Helvetica","Arial","Lucida Grande",sans-serif;letter-spacing:-1px;line-height:20px;border-bottom:1px solid #f1f1f1;font-size:20px;font-weight:bold;color:#314e64;margin:30px 0 15px;padding-bottom:5px;font-size:14px;margin:15px 0 5px}.members .pre{font-family:"Menlo","Courier New","Courier",monospace;font-size:.9em}.members .definedBy{float:right;padding:0 20px 0 0;font-weight:bold;color:#666}.members .subsection .definedBy{padding-top:0}.members h3.pa{padding:10px 0 5px 0}.members .members-section,.members .comments-section{margin-bottom:40px}.members h3.members-title{margin:20px 0 5px 0;padding:0 0 0 25px;font-size:1.3em;font-weight:bold}.members .icon-pkg{background:url(../images/icons.png) no-repeat 0 0}.members .icon-class{background:url(../images/icons.png) no-repeat 0 -40px}.members .icon-singleton{background:url(../images/icons.png) no-repeat 0 -80px}.members .icon-subclass{background:url(../images/icons.png) no-repeat 0 -120px}.members .icon-component{background:url(../images/icons.png) no-repeat 0 -160px}.members .icon-cfg{background:url(../images/icons.png) no-repeat 0 -200px}.members .icon-property{background:url(../images/icons.png) no-repeat 0 -240px}.members .icon-method{background:url(../images/icons.png) no-repeat 0 -280px}.members .icon-event{background:url(../images/icons.png) no-repeat 0 -320px}.members .icon-guide{background:url(../images/icons.png) no-repeat 0 -360px}.members .icon-video{background:url(../images/icons.png) no-repeat 0 -400px}.members .icon-example{background:url(../images/icons.png) no-repeat 0 -440px}.members .icon-css_var{background:url(../images/icons.png) no-repeat 0 -480px}.members .icon-css_mixin{background:url(../images/icons.png) no-repeat 0 -520px}.members .icon-class-redirect{background:url(../images/icons.png) no-repeat 0 -560px}.members .icon-singleton-redirect{background:url(../images/icons.png) no-repeat 0 -600px}.members .icon-component-redirect{background:url(../images/icons.png) no-repeat 0 -640px}.members h4.members-subtitle{padding-left:25px;margin:10px 0 7px 0}.members ul ul{list-style:circle;margin-top:1em}.members .sub-desc{margin:.5em 0 1em}.members .description .short p{margin:0}.members a{text-decoration:none}.members .member{position:relative;min-height:2.5em;border-style:solid;border-color:#e0e0e0;border-width:0 0 1px 0;padding:10px 22px}.members .member.open>a.side.toggleComments,.members .member.open>a.side.expandable{background:#ebf3fe}.members .member.open>a.side.toggleComments span,.members .member.open>a.side.expandable span{background:url(../images/member-expanded.gif) no-repeat 2px 12px}.members .member a.side{display:block;position:absolute;top:0;left:0;bottom:0;cursor:default!important}.members .member a.side span{display:block;width:15px;height:30px}.members .member a.side.expandable,.members .member a.side.toggleComments{cursor:pointer}.members .member a.side.expandable span,.members .member a.side.toggleComments span{background:url(../images/member-collapsed.gif) no-repeat 3px 13px}.members .member a.side.expandable:hover span,.members .member a.side.toggleComments:hover span{background:url(../images/member-hover.gif) no-repeat 3px 13px}.members .member.first-child{border-width:1px 0}.members .member .long{display:none}.members .member .meta{float:right;text-align:right}.members .member .defined-in,.members .member .view-source{font-family:"Helvetica","Arial",sans-serif;font-size:.9em}.members .member a.defined-in{color:#888}.members .member a.defined-in:hover{color:#0464bb}.members .member a.view-source{color:rgba(0,0,0,0);-webkit-transition:color .2s linear;-moz-transition:color .2s linear;-o-transition:color .2s linear;font-size:.9em}.members .member a.view-source:hover{-webkit-transition:color .2s linear;-moz-transition:color .2s linear;-o-transition:color .2s linear;color:#0464bb}.members .member:hover a.view-source{color:gray;-webkit-transition:color .2s linear;-moz-transition:color .2s linear;-o-transition:color .2s linear}.members .member.open a.side.expandable{background:#ebf3fe;background:-webkit-gradient(linear,left top,right top,from(#ebf3fe),to(#d9e8fc));background:-moz-linear-gradient(left,#ebf3fe,#d9e8fc)}.members .member.open a.side.expandable span{background:url(../images/member-expanded.gif) no-repeat 1px 2px}.members .member.open .short{display:none}.members .member.open .long{display:block}.members .member .name{font-weight:bold}.members .member .title{padding-bottom:3px}.signature-box{border:1px solid #999;-webkit-border-radius:5px;-moz-border-radius:5px;-ms-border-radius:5px;-o-border-radius:5px;border-radius:5px;padding:10px 50px;text-align:center}.signature-box.template{background-color:#eee}.signature-box.deprecated,.signature-box.removed{color:#600;background-color:#fee}.signature-box.deprecated strong,.signature-box.removed strong{text-transform:uppercase;-webkit-border-radius:2px;-moz-border-radius:2px;-ms-border-radius:2px;-o-border-radius:2px;border-radius:2px;padding:0 3px}.signature-box.deprecated strong{color:white;background-color:#a00}.signature-box.removed strong{color:#a00;border:1px solid #a00;background-color:transparent;text-decoration:line-through}#center-container .guide-container{padding:10px;font-size:14px}#center-container .guide-container .toc{float:right;background-color:#f7f7f7;border:solid 1px #e8e8e8;padding:10px 20px;margin:0 14px;-webkit-border-radius:5px;-moz-border-radius:5px;-ms-border-radius:5px;-o-border-radius:5px;border-radius:5px}#center-container .guide-container h1{background:url(../images/doc-m.png) no-repeat -5px -5px;padding:10px 0 10px 55px;font-family:"Exo",sans-serif;margin-bottom:16px;font-size:2em;color:#66ab16}#center-container .guide-container h2{font-family:"Helvetica Neue","Helvetica","Arial","Lucida Grande",sans-serif;letter-spacing:-1px;line-height:20px;border-bottom:1px solid #f1f1f1;font-size:20px;font-weight:bold;color:#314e64;margin:30px 0 15px;padding-bottom:5px}#center-container .guide-container h3{font-weight:bold;color:#314e64;margin-top:.5em;padding-top:16px;font-size:16px;line-height:16px;margin-bottom:4px}#center-container .guide-container hr{display:none}p.screenshot img{display:block;margin:0 auto}p.screenshot span{display:block;text-align:center;font-size:smaller}#video object,#video p,#video h1{margin:15px}#exampleindex,#videoindex,#guideindex,#classindex{padding:15px 10px 10px 10px}.x-panel-body-default{border-width:0}pre.inline-example{margin-top:0}.inline-example-tb{background:none!important;border:0}.inline-example-tb .x-btn table{margin:0}.inline-example-tb .x-btn table td{padding:0}.inline-example-tb .x-btn button{display:inline-block}.inline-example-tb span.x-btn-inner{line-height:16px}.inline-example-tb .active span.x-btn-inner{color:#57a7dc}.inline-example-tb span.x-btn-icon{background:url(../images/example-icons.png) no-repeat;filter:alpha(opacity=60);opacity:.6}.inline-example-tb span.x-btn-icon.code{background-position:-2px -17px}.inline-example-tb span.x-btn-icon.preview{background-position:-3px -63px}.inline-example-tb span.x-btn-icon.copy{background-position:-2px -86px}.inline-example-tb .active span.x-btn-icon{background:url(../images/example-icons.png) no-repeat;filter:alpha(opacity=100);opacity:1}.inline-example-tb .active span.x-btn-icon.code{background-position:-30px -17px}.inline-example-tb .active span.x-btn-icon.preview{background-position:-31px -63px}.inline-example-tb .active span.x-btn-icon.copy{background-position:-30px -86px}.inline-example-editor{border:0}.inline-example-editor .x-panel-body{border:solid 1px #e8e8e8;-webkit-border-radius:5px;-moz-border-radius:5px;-ms-border-radius:5px;-o-border-radius:5px;border-radius:5px;padding:5px 15px!important;background:#f7f7f7}.inline-example-editor .CodeMirror-scroll{height:auto}.inline-example-editor .CodeMirror pre{line-height:1.3em}.inline-example-cmp{margin-bottom:10px;padding-right:25px}.tablet.landscape{padding:83px 87px;background:url(../images/tablet-l.jpg) no-repeat}.tablet.portrait{padding:87px 80px;background:url(../images/tablet-p.jpg) no-repeat}.phone.landscape{padding:22px 79px;width:637px;height:367px;background:url(../images/phone-l.jpg) no-repeat}.phone.portrait{padding:78px 25px;width:368px;height:637px;background:url(../images/phone-p.jpg) no-repeat}.miniphone.landscape{padding:79px 22px 6px 25px;width:368px;height:303px;background:url(../images/phone-small-p.jpg) no-repeat}.miniphone.portrait{padding:22px 6px 25px 79px;width:303px;height:368px;background:url(../images/phone-small-l.jpg) no-repeat}.example-container h1{padding:15px 0!important}.example-toolbar{height:35px;padding:7px 5px;width:100%;border-radius:2px;border-color:#e4e4e4;border-width:1px!important;border-style:solid;background:#f1f1f1;background:-webkit-gradient(linear,left top,left bottom,from(#f1f1f1),to(#e9e9e9));background:-moz-linear-gradient(top,#f1f1f1,#e9e9e9);-webkit-box-shadow:rgba(255,255,255,0.5) 0 1px 0 0 inset;-moz-box-shadow:rgba(255,255,255,0.5) 0 1px 0 0 inset;box-shadow:rgba(255,255,255,0.5) 0 1px 0 0 inset}.example-toolbar .separator{border-left:1px solid #ccc;margin:0 10px;display:inline-block;float:left;width:1px}.example-toolbar .new-window{float:right}.comment-btn{background:url(../images/comment-bubble.png) no-repeat;color:#fff;text-align:center;line-height:16px;height:20px;text-shadow:1px 1px 0 #58b0e0;font-weight:bold;cursor:pointer}.comment-counter-small{cursor:pointer;background:url(../images/comment-bubble.png) no-repeat 2px -55px;padding-left:21px;font-weight:normal;font-size:11px}#center-container .comments-large-expander{clear:both}#center-container .comments-large-expander .comments-expander.open>a.side.toggleComments,#center-container .comments-large-expander .comments-expander.open>a.side.expandable{background:#ebf3fe}#center-container .comments-large-expander .comments-expander.open>a.side.toggleComments span,#center-container .comments-large-expander .comments-expander.open>a.side.expandable span{background:url(../images/member-expanded.gif) no-repeat 2px 12px}#center-container .comments-large-expander .comments-expander a.side{display:block;position:absolute;top:0;left:0;bottom:0;cursor:default!important}#center-container .comments-large-expander .comments-expander a.side span{display:block;width:15px;height:30px}#center-container .comments-large-expander .comments-expander a.side.expandable,#center-container .comments-large-expander .comments-expander a.side.toggleComments{cursor:pointer}#center-container .comments-large-expander .comments-expander a.side.expandable span,#center-container .comments-large-expander .comments-expander a.side.toggleComments span{background:url(../images/member-collapsed.gif) no-repeat 3px 13px}#center-container .comments-large-expander .comments-expander a.side.expandable:hover span,#center-container .comments-large-expander .comments-expander a.side.toggleComments:hover span{background:url(../images/member-hover.gif) no-repeat 3px 13px}#center-container .comments-large-expander .comments-expander.open>a.side.toggleComments.drop-target-hover{background:#94b773}#center-container .comments-large-expander h3.icon-comment{padding:0 0 5px 25px;margin:30px 0 5px 0;background:url(../images/comment-bubble.png) no-repeat 1px -26px}.comments-expander{color:#484848;border-width:1px 0;border-style:solid;border-color:#e0e0e0;position:relative;padding:0 0 10px 25px}.comments-expander.open>a.side.toggleComments.drop-target-hover{background:#94b773}.comments-expander.open{min-height:40px}.comments-expander .loading{font-weight:bold;background:url(../images/ajax-loader.gif) no-repeat 0 9px;padding:8px 0 0 25px}.comments-expander .name{padding:10px 0 0 0;display:block;font-weight:normal!important}.auth-form form{position:relative;display:inline-block}.auth-form form .username,.auth-form form .password{border:1px solid #bbb}.auth-form .before-text{display:inline-block;line-height:22px;margin:10px 10px 1px 4px;font-weight:bold}form.commentForm{position:relative;border:1px solid #c7d1d9;padding:10px 15px 15px 15px;-webkit-border-radius:4px;-moz-border-radius:4px;-ms-border-radius:4px;-o-border-radius:4px;border-radius:4px;background:#ecf5fc;margin:10px 55px 0 0}form.commentForm.newComment{margin:20px 55px 10px 5px}form.commentForm .subscribe{margin-right:5px;color:#444}form.commentForm .subscribe .sep{color:#aaa}form.commentForm .subscribe input{color:#000;margin-right:5px;margin-left:5px}form.commentForm .com-meta{position:relative;margin-top:8px;text-align:right}form.commentForm .com-meta .toggleCommentGuide{font-weight:bold}form.commentForm img{-webkit-border-radius:2px;-moz-border-radius:2px;-ms-border-radius:2px;-o-border-radius:2px;border-radius:2px;position:absolute;left:0;margin-right:10px}form.commentForm .form-author{font-weight:normal;line-height:25px;position:absolute;left:35px;margin-bottom:10px}form.commentForm .CodeMirror,form.commentForm textarea{border:1px solid #ccc;background:#fff;-webkit-border-radius:3px;-moz-border-radius:3px;-ms-border-radius:3px;-o-border-radius:3px;border-radius:3px;width:100%;padding:3px;border:auto}form.commentForm .CodeMirror .CodeMirror-scroll,form.commentForm textarea{height:auto;min-height:8em}form.commentForm input.sub{-webkit-box-shadow:#b3f33d 0 1px 0 0 inset;-moz-box-shadow:#b3f33d 0 1px 0 0 inset;box-shadow:#b3f33d 0 1px 0 0 inset;color:#fff;text-shadow:rgba(0,0,0,0.3) 0 -1px 0;-webkit-border-radius:3px;-moz-border-radius:3px;-ms-border-radius:3px;-o-border-radius:3px;border-radius:3px;cursor:pointer;border:1px solid #264901;background:#91c632;background:-webkit-gradient(linear,left top,left bottom,from(#91c632),to(#519700));background:-moz-linear-gradient(top,#91c632,#519700);font-weight:bold;width:120px;margin-left:20px;padding:5px 8px;font-size:12px}form.commentForm input.sub:hover{background:#74b61e;background:-webkit-gradient(linear,left top,left bottom,from(#74b61e),to(#3d7e00));background:-moz-linear-gradient(top,#74b61e,#3d7e00)}form.commentForm input.sub.disabled{border-color:#707070;cursor:auto;background:#bbb;background:-webkit-gradient(linear,left top,left bottom,from(#bbb),to(#9c9c9c));background:-moz-linear-gradient(top,#bbb,#9c9c9c);-webkit-box-shadow:#d7d7d7 0 1px 0 0 inset;-moz-box-shadow:#d7d7d7 0 1px 0 0 inset;box-shadow:#d7d7d7 0 1px 0 0 inset}form.commentForm .commentGuideTxt{border-top:1px solid #c7d1d9;margin-top:15px;padding-top:10px}form.commentForm .commentGuideTxt .markdown.preview{float:left;width:310px}form.commentForm .commentGuideTxt .markdown.preview pre{border:0;padding:0;margin:0;line-height:1.5em;background:transparent}form.commentForm .commentGuideTxt .markdown.result{margin-left:320px;width:260px}form.commentForm .commentGuideTxt .markdown{background:#fff;padding:20px;position:relative;-webkit-border-radius:5px;-moz-border-radius:5px;-ms-border-radius:5px;-o-border-radius:5px;border-radius:5px}form.commentForm .commentGuideTxt .markdown h4{position:absolute;top:0;right:0;padding:5px 10px;background:rgba(0,0,0,0.05)}form.commentForm .commentGuideTxt code{padding-left:5px}form.commentForm .commentGuideTxt ul{margin-top:5px}.comment{padding-top:10px;padding-left:2px}.comment.drop-target-hover{background:#94b773}.comment:hover>.com-meta>.top-right>.command,.comment:hover>.com-meta>.top-right>.vote,.comment:hover>.comments-replies-expander>.replies-button{-webkit-transition:opacity .2s linear;-moz-transition:opacity .2s linear;-o-transition:opacity .2s linear;filter:alpha(opacity=100);opacity:1}.comment .target{color:#666;font-size:90%;font-weight:normal}.comment .com-meta{position:relative;text-size:13px}.comment .com-meta img{-webkit-border-radius:2px;-moz-border-radius:2px;-ms-border-radius:2px;-o-border-radius:2px;border-radius:2px}.comment .com-meta img.drag-handle{cursor:all-scroll}.comment .com-meta .author{position:absolute;left:40px;font-weight:bold;top:2px;font-size:14px}.comment .com-meta .author.moderator{color:#3d7e00}.comment .com-meta .top-right{position:absolute;right:20px;top:0}.comment .com-meta .top-right .command,.comment .com-meta .top-right .time{display:inline-block;margin-left:10px}.comment .com-meta .top-right .tag{-webkit-border-radius:2px;-moz-border-radius:2px;-ms-border-radius:2px;-o-border-radius:2px;border-radius:2px;padding:0 1em;font-weight:bold;color:white;background:#484848;position:relative}.comment .com-meta .top-right .tag a{color:#484848;position:absolute;top:-5px;right:-5px;background:white;width:13px;height:13px;text-align:center;line-height:7px;border:2px solid #484848;-webkit-border-radius:7px;-moz-border-radius:7px;-ms-border-radius:7px;-o-border-radius:7px;border-radius:7px}.comment .com-meta .top-right .tag a:hover{border-color:red;color:red}.comment .com-meta .top-right .add-tag{color:#999;background:white;width:13px;height:13px;text-align:center;text-indent:-1px;line-height:9px;border:2px solid #999;-webkit-border-radius:7px;-moz-border-radius:7px;-ms-border-radius:7px;-o-border-radius:7px;border-radius:7px;filter:alpha(opacity=0);opacity:0;-webkit-transition:opacity .2s linear;-moz-transition:opacity .2s linear;-o-transition:opacity .2s linear}.comment .com-meta .top-right .add-tag:hover{border-color:#3d7e00;color:#3d7e00}.comment .com-meta .top-right .editComment,.comment .com-meta .top-right .deleteComment,.comment .com-meta .top-right .readComment{color:#999;filter:alpha(opacity=0);opacity:0;-webkit-transition:opacity .2s linear;-moz-transition:opacity .2s linear;-o-transition:opacity .2s linear}.comment .com-meta .top-right .readComment.read{color:white;-webkit-border-radius:2px;-moz-border-radius:2px;-ms-border-radius:2px;-o-border-radius:2px;border-radius:2px;background:#3d7e00;font-weight:bold;padding:0 1em;filter:alpha(opacity=50);opacity:.5}.comment .com-meta .top-right .time{color:#999;text-align:right;width:90px}.comment .com-meta .vote{position:absolute;left:2px;top:33px}.comment .com-meta .vote .voteCommentUp{position:absolute;display:block;width:20px;height:18px;background:url(../images/vote-arrows.png) no-repeat}.comment .com-meta .vote .voteCommentUp.selected{filter:alpha(opacity=40);opacity:.4;background-position:-22px 0}.comment .com-meta .vote .voteCommentUp:hover,.comment .com-meta .vote .voteCommentUp.selected:hover{filter:alpha(opacity=100);opacity:1;background-position:-22px 0}.comment .com-meta .vote .voteCommentDown{position:absolute;display:block;width:20px;height:18px;top:36px;background:url(../images/vote-arrows.png) no-repeat 0 -35px}.comment .com-meta .vote .voteCommentDown.selected{background-position:-22px -35px;filter:alpha(opacity=40);opacity:.4}.comment .com-meta .vote .voteCommentDown:hover,.comment .com-meta .vote .voteCommentDown.selected:hover{filter:alpha(opacity=100);opacity:1;background-position:-22px -35px}.comment .com-meta .vote .score{position:absolute;font-weight:bold;width:20px;top:15px;color:#aaa;text-align:center;font-size:16px}.comment .content{min-height:65px;padding:0 0 30px 40px;border-bottom:1px solid #eee}.comment .comments-replies-expander .replies-button{position:relative;top:-20px;height:0;display:block;padding-left:40px;font-weight:bold;filter:alpha(opacity=0);opacity:0;-webkit-transition:opacity .2s linear;-moz-transition:opacity .2s linear;-o-transition:opacity .2s linear;color:#94b773}.comment .comments-replies-expander .replies-button.with-replies{filter:alpha(opacity=100);opacity:1}.comment .comments-replies-expander .replies-button:hover{color:#3d7e00}.comment .comments-replies-expander .comments-list-with-form{padding-left:1em;border-left:1em solid #ebf3fe}.comment .deleted-comment{text-align:center;background:#ffd76e;border:1px solid #e1ba53;-webkit-border-radius:4px;-moz-border-radius:4px;-ms-border-radius:4px;-o-border-radius:4px;border-radius:4px;font-weight:bold}.comments-tageditor{padding-top:10px}.comments-tageditor-boundlist .x-boundlist-item-over{background:#94b773}#commentindex{padding:5px}#commentindex .comments-full-list .comments-list{margin:0 auto;max-width:1000px}#commentindex .comments-full-list .x-mask{opacity:.9;background:white url(../images/ajax-loader.gif) no-repeat center}.recent-comments-pager{display:block;padding:10px 0 5px 35px;position:relative;color:gray}.recent-comments-pager span{display:block;position:absolute;left:0;top:5px;width:27px;height:28px;background:url(../images/comment.png) no-repeat 0 -25px}.recent-comments-pager:hover span{background-position:-59px -25px}.comments-header-menu h1 a{margin-right:1em;color:gray}.comments-header-menu h1 a:hover{filter:alpha(opacity=70);opacity:.7}.comments-header-menu h1 a.selected{color:#66ab16}.comments-users .x-panel-body .users-list ul,.comments-users .x-panel-body .users-list li{margin:0;padding:0;list-style:none}.comments-users .x-panel-body .users-list li{height:30px;-webkit-border-radius:2px;-moz-border-radius:2px;-ms-border-radius:2px;-o-border-radius:2px;border-radius:2px;cursor:pointer}.comments-users .x-panel-body .users-list li:hover{background:#eee}.comments-users .x-panel-body .users-list li.x-item-selected{background:#94b773}.comments-users .x-panel-body .users-list .score{display:block;float:left;width:40px;padding:0 5px;line-height:30px;font-weight:bold;color:#aaa;text-align:center;font-size:16px}.comments-users .x-panel-body .users-list img{-webkit-border-radius:2px;-moz-border-radius:2px;-ms-border-radius:2px;-o-border-radius:2px;border-radius:2px;display:block;float:left;margin-top:2px;margin-right:10px}.comments-users .x-panel-body .users-list .username{line-height:30px;font-weight:bold}.comments-users .x-panel-body .users-list .username.moderator{color:#3d7e00}.comments-users .x-panel-body .users-list .x-item-selected .score{color:#484848}.comments-users .x-panel-body .users-list .x-item-selected .username.moderator{color:#083772}.comments-toplist .x-panel-body .top-list ul,.comments-toplist .x-panel-body .top-list li{margin:0;padding:0;list-style:none}.comments-toplist .x-panel-body .top-list li{height:30px;-webkit-border-radius:2px;-moz-border-radius:2px;-ms-border-radius:2px;-o-border-radius:2px;border-radius:2px;cursor:pointer}.comments-toplist .x-panel-body .top-list li:hover{background:#eee}.comments-toplist .x-panel-body .top-list li.x-item-selected{background:#94b773}.comments-toplist .x-panel-body .top-list .score{display:block;float:left;width:40px;padding:0 5px;line-height:30px;font-weight:bold;color:#aaa;text-align:center;font-size:16px}.comments-toplist .x-panel-body .top-list .x-item-selected .score{color:#484848}.comments-toplist .x-panel-body .top-list .text{float:left;width:250px;overflow:hidden;line-height:30px;font-weight:bold}.comments-filter-field table{border-style:solid;border-color:#bebebe;border-width:1px;background:white url("../images/text-bg.gif") repeat-x 0 0}.comments-filter-field .x-form-trigger.reset{background:url(../images/x12.png) no-repeat 2px 3px;padding:0;margin:0;border:0}.comments-filter-field input{background:transparent;border:0}#extjs-welcome{-webkit-font-smoothing:antialiased;color:#434343;font:14px/1.4em "Helvetica Neue","Helvetica","Arial","Lucida Grande",sans-serif}#extjs-welcome .logo{background:url(../images/logo-screen-noglow.png) no-repeat;width:155px;height:72px;margin:0 0 0 -13px;position:relative;z-index:99}#extjs-welcome .logo a{display:block;width:100%;height:100%;text-indent:-9999px}#extjs-welcome a{color:#126499}#extjs-welcome ul{font-size:13px;margin-bottom:1em;margin-left:18px}#extjs-welcome ul li{list-style:square}#extjs-welcome h1,#extjs-welcome h2{text-rendering:optimizeLegibility;text-shadow:rgba(255,255,255,0.8) 0 1px 1px}#extjs-welcome h2{color:#314e64;line-height:1.0em;margin-top:60px;margin-bottom:8px;font-size:25px;font-weight:normal;font-family:"Exo",sans-serif;font-weight:normal}#extjs-welcome h2 strong{font-size:1.2em;color:#4c8e0e}#extjs-welcome h3{font-size:16px;line-height:20px;margin-bottom:4px;margin-top:1em;font-weight:bold;color:#314e64;padding:0}#extjs-welcome p{margin-bottom:1em}#extjs-welcome p.intro{color:#314e64;font-size:16px;line-height:22px}#extjs-welcome .auto_columns{width:100%}#extjs-welcome .auto_columns::after{clear:both;content:'.';display:block;height:0;visibility:hidden}#extjs-welcome .auto_columns .auto_columns p{font-size:13px;line-height:16px}#extjs-welcome .two .column{width:48%;padding-right:2%;float:left;position:relative;box-sizing:content-box}#extjs-welcome a.button-link{font-family:"Helvetica Neue",Helvetica,Arial,"Lucida Grande",sans-serif;border-color:#274807!important;background:#4c8e0e url(../images/link-green-standard.png) 0 0 repeat-x;color:white;-webkit-background-clip:padding-box;border:1px solid #477a09;font-size:15px;font-weight:bold;line-height:1.0em;padding:6px 8px 9px;text-decoration:none;text-shadow:rgba(0,0,0,0.3) 0 -1px 0;-webkit-border-radius:3px;-moz-border-radius:3px;-ms-border-radius:3px;-o-border-radius:3px;border-radius:3px;display:inline-block}#extjs-welcome a.button-link:active{position:relative;top:1px}#extjs-welcome a.button-link:hover,#extjs-welcome a.button-link:focus,#extjs-welcome a.button-link:active{background:#38690a url(../images/link-green-standard-over.png) 0 0 repeat-x}#extjs-welcome a.more-icon{background:url(../images/more.png) no-repeat right center;font-size:12px;font-weight:bold;padding-right:16px}#extjs-welcome .button-group a{margin-right:12px}#extjs-welcome .right{padding-top:140px;overflow:hidden}#extjs-welcome .content{margin:0 auto;text-align:left;width:900px;padding-top:30px}#extjs-welcome section{padding:36px 18px;background:white url(../images/welcome-bg-js4.gif) left bottom no-repeat;min-height:300px;position:relative}#extjs-welcome .meta{color:#8f8f8f}#extjs-welcome .inline-social{text-indent:-9999px;margin-top:6px}#extjs-welcome .inline-social li{display:block;float:right;margin-bottom:8px}#extjs-welcome .inline-social li a{color:#314e64;display:block;line-height:1.0em;width:16px;height:16px;margin-right:4px;background-position:top left;background-repeat:no-repeat}#extjs-welcome .inline-social li a.facebook{background:url(../images/facebook-16.png) no-repeat}#extjs-welcome .inline-social li a.linkedin{background:url(../images/linkedin-16.png) no-repeat}#extjs-welcome .inline-social li a.tumblr{background:url(../images/tumblr-16.png) no-repeat}#extjs-welcome .inline-social li a.twitter{background:url(../images/twitter-16.png) no-repeat}#extjs-welcome .inline-social li a.vimeo{background:url(../images/vimeo-16.png) no-repeat}#extjs-welcome .inline-social li a.rss{background:url(../images/rss-16.png) no-repeat}#extjs-welcome .feature-img{position:absolute;right:20px;top:-100px}#extjs-welcome footer{color:#b9d4e7;padding:8px 18px;font-size:13px}#extjs-welcome .news{width:860px;margin:20px auto}#extjs-welcome .news h1{padding-bottom:15px}#extjs-welcome .news .l{float:left;width:450px}#extjs-welcome .news .r{margin-left:470px}#extjs-welcome .news .item{padding-bottom:3px}#extjs-welcome .news .date{color:#666;font-size:.8em;width:90px;display:block;float:left;font-family:"Menlo","Courier New","Courier",monospace}.doc-test-ready{font-weight:bold;color:#333}.doc-test-failure{font-weight:bold;color:red}.doc-test-success{font-weight:bold;color:green}.CodeMirror{line-height:1em;font-family:monospace}.CodeMirror-scroll{overflow:auto;height:300px;position:relative;outline:0}.CodeMirror-gutter{position:absolute;left:0;top:0;z-index:10;background-color:#f7f7f7;border-right:1px solid #eee;min-width:2em;height:100%}.CodeMirror-gutter-text{color:#aaa;text-align:right;padding:.4em .2em .4em .4em;white-space:pre!important}.CodeMirror-lines{padding:.4em;white-space:pre}.CodeMirror pre{-moz-border-radius:0;-webkit-border-radius:0;-o-border-radius:0;border-radius:0;border-width:0;margin:0;padding:0;background:transparent;font-family:inherit;font-size:inherit;padding:0;margin:0;white-space:pre;word-wrap:normal;line-height:inherit}.CodeMirror-wrap pre{word-wrap:break-word;white-space:pre-wrap;word-break:normal}.CodeMirror-wrap .CodeMirror-scroll{overflow-x:hidden}.CodeMirror textarea{outline:none!important}.CodeMirror pre.CodeMirror-cursor{z-index:10;position:absolute;visibility:hidden;border-left:1px solid black;border-right:0;width:0}.CodeMirror-focused pre.CodeMirror-cursor{visibility:visible}div.CodeMirror-selected{background:#d9d9d9}.CodeMirror-focused div.CodeMirror-selected{background:#d7d4f0}.CodeMirror-searching{background:#ffa;background:rgba(255,255,0,.4)}.cm-s-default span.cm-keyword{color:#708}.cm-s-default span.cm-atom{color:#219}.cm-s-default span.cm-number{color:#164}.cm-s-default span.cm-def{color:#00f}.cm-s-default span.cm-variable{color:black}.cm-s-default span.cm-variable-2{color:#05a}.cm-s-default span.cm-variable-3{color:#085}.cm-s-default span.cm-property{color:black}.cm-s-default span.cm-operator{color:black}.cm-s-default span.cm-comment{color:#a50}.cm-s-default span.cm-string{color:#a11}.cm-s-default span.cm-string-2{color:#f50}.cm-s-default span.cm-meta{color:#555}.cm-s-default span.cm-error{color:#f00}.cm-s-default span.cm-qualifier{color:#555}.cm-s-default span.cm-builtin{color:#30a}.cm-s-default span.cm-bracket{color:#cc7}.cm-s-default span.cm-tag{color:#170}.cm-s-default span.cm-attribute{color:#00c}.cm-s-default span.cm-header{color:#a0a}.cm-s-default span.cm-quote{color:#090}.cm-s-default span.cm-hr{color:#999}.cm-s-default span.cm-link{color:#00c}span.cm-header,span.cm-strong{font-weight:bold}span.cm-em{font-style:italic}span.cm-emstrong{font-style:italic;font-weight:bold}span.cm-link{text-decoration:underline}div.CodeMirror span.CodeMirror-matchingbracket{color:#0f0}div.CodeMirror span.CodeMirror-nonmatchingbracket{color:#f22}.pln{color:#000}@media screen{.str{color:#080}.kwd{color:#008}.com{color:#800}.typ{color:#606}.lit{color:#066}.pun,.opn,.clo{color:#660}.tag{color:#008}.atn{color:#606}.atv{color:#080}.dec,.var{color:#606}.fun{color:red}}@media print,projection{.str{color:#060}.kwd{color:#006;font-weight:bold}.com{color:#600;font-style:italic}.typ{color:#404;font-weight:bold}.lit{color:#044}.pun,.opn,.clo{color:#440}.tag{color:#006;font-weight:bold}.atn{color:#404}.atv{color:#060}}pre.prettyprint{padding:2px;border:1px solid #888}ol.linenums{margin-top:0;margin-bottom:0}li.L0,li.L1,li.L2,li.L3,li.L5,li.L6,li.L7,li.L8{list-style-type:none}li.L1,li.L3,li.L5,li.L7,li.L9{background:#eee} \ No newline at end of file diff --git a/api/resources/images/ajax-loader.gif b/api/resources/images/ajax-loader.gif new file mode 100644 index 0000000000000000000000000000000000000000..e14a0487dc604ad2f12a17257bc8f21af3c3257e GIT binary patch literal 1849 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 GqW%X?0KIAe literal 0 HcmV?d00001 diff --git a/api/resources/images/comment-bubble.png b/api/resources/images/comment-bubble.png new file mode 100644 index 0000000000000000000000000000000000000000..b092c31faf3e3174d94ce7ba92fe35660a3c73b5 GIT binary patch literal 1250 zcmV<81ReW{P)Px#24YJ`L;(K){{a7>y{D4^000SaNLh0L01FcU01FcV0GgZ_00007bV*G`2ipoB z4-Ex?!?V5s00d%5L_t(&-tC#sYujcR$G^4}+ez%Kq)XWk5){}7406h8ko*lZJsApx zLf*p$h5Z4A9k;)rP;}^NVCW7x?zB@*WrIRk52H}I*$lN^$%=kN{_*PFA(q|PvL(HG zHRz%T1h)11!|O-V^L+h$fs`T#0QD2~YXCn3*cHG$15lU7Z=Qa&{qgQ6x7HI=|9)rg z|JBl-Nc9u7Qpo4_XmK4)JNb4C<#hnsz67Aaki)4Rw+Uk*3VV9xJ`9YcbB3rOb(8j3NK137)L4?ODV@uz!WULa9IS- z`!9Uq;$FrRF7D-(KnY95eWw>JTvk@ASXrI6x#6XS;pJ4IEUgtW1ZNaV}JzjWDz{W2`4S!oaT4834H3sL5xcn}}Jzj~g}lH_^)H z$E+{L4pmiImW3=rBv!!Fwh!PjfWv^(e*pNtQIk)3%I4#}&o&P~zg?X>@wR6l{CVDe z3gAl~@D5#Bg=)>8C>GZNbid#(^v(#7r0CKrGMF*|93zLYdfagw7efzohh^J=-8m}w z*zCPK?flckg|1=b0k&mAd)vZ=)_nos0oUy|bL%zBA8qZpM#lhf6xN>N_B@(a&wH3g z&-*qjR9W1})}$y(dd`h3%e$MKn~ABNPG|r8{QQZeC`u)t&+kc+gkGF{6B$lK>g(|?#^l&8;0AN=8^Le!40ff-{T*2SY~q{1&k%}S-RGkzQs zMZe#NZQCy<&W&YR&j3VrZc3#RN~O{@V87p=3`V$}8%0s(oEt)j80ThfZ4Hj&PymnK zhb9HXaU2c6Jwk|h=Y|j>*11s>C39}FxLIQbP7QYkpiT%`?%c%HaK2W&U%SAa{*A1Kv%{e!Q zVFU`7a=DChxjdb=xULUP=G+7bl;?yHG0x4##s)^C5gf-6>)bHL;5d#k))V5K8`Crg z0PYe(#5*^H5V2D%MNu;6CVphjO%@R(R>0F1>f8`Q_?(;V?d`*@t@%H!nx-A7s><)& z6bc3Cx<3EKE7yhJxfu?JJ|tE*4+VRk$2F6S;M_RyJa6u>lR7tsVVt&FE$F%qN+~SM zLc86DuIpl)8%0r?)oOLeG))7*QCNG5+w*8zJ?~)}Juh=^vPc;J0^&N~BnfwSXaE2J M07*qoM6N<$f`Y$Kb^rhX literal 0 HcmV?d00001 diff --git a/api/resources/images/comment.png b/api/resources/images/comment.png new file mode 100644 index 0000000000000000000000000000000000000000..5bf3391ecd12763a4078d4d8a628df2d56b0c44b GIT binary patch literal 5163 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 Z9{^V0BcfHYtWf{}002ovPDHLkV1g<)@nZl0 literal 0 HcmV?d00001 diff --git a/api/resources/images/component-m.png b/api/resources/images/component-m.png new file mode 100644 index 0000000000000000000000000000000000000000..e002685db56a163f2f6459729e640ca019a31ff3 GIT binary patch literal 3287 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 MoV$IEZE*5`01;TesQ>@~ literal 0 HcmV?d00001 diff --git a/api/resources/images/default-guide.png b/api/resources/images/default-guide.png new file mode 100644 index 0000000000000000000000000000000000000000..a8f9f7a047e37e238c5c4e6ad52f0fd95961f9bd GIT binary patch literal 13215 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 RnjioG002ovPDHLkV1hq!UH1S0 literal 0 HcmV?d00001 diff --git a/api/resources/images/doc-m.png b/api/resources/images/doc-m.png new file mode 100644 index 0000000000000000000000000000000000000000..c1b8639d43aea3b6ae06e968d91007825e79a8ea GIT binary patch literal 3368 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 literal 0 HcmV?d00001 diff --git a/api/resources/images/down-arr.png b/api/resources/images/down-arr.png new file mode 100644 index 0000000000000000000000000000000000000000..2b9e3ffb957a1cfc6ff1c7bd7f2cb2e796c5e04b GIT binary patch literal 963 zcmaJ=J#W)M7&ambrBW9r%5=CD10p_OnvdFwsT|vFBh^)vMj}WIIQFHnQv1yLLYz!h zH#X?R&d$KffU?2FiueU=3@i+Ya8Bctfne!;cdy>(dB2`}adf!1wt8n(5QMeHzS-pa z4Zd!!&$AiW71_qhhjnZNC$&P;GEzlcD&KEPq-!s*EjuEo3-r&)g^)C zq&`v-L>w&$wVfn#+&*TYgHQZW6TiRzAOhdh#7AXYwj%@g{QWV-$K%76JMO!RC+<81 zwM69v0cH+Jg3~Zo6HT1)s{EXqp$KL!tgnfeNww`GU=WHyS&|E`TtT2xl2A!jO3DLJ zl#vWk5z5s9lGSoml@XYKB9BJBuG%zr=dt)r6MKwBDulz~P#SJYgq}d8C<>H|uvjc` zk3u{OnUfU4cq3ylaqLn*Vm=8$%II{+fN3Jn^s zas4p0%n-J%Ho}-Wp^F=)CUOqR_dVWB#n@6RidEN5ge+On>&PnVb*qYuN=e_!uqJT_ z0S;M)^{%k`Qfw-QAmWitO#SEB+odD`v!Ydhc`ntZd~>X~JeTdISjdxs>1h8Nb!OuF zNskNR^2`qqTDd`R`Rv;b2^>=ntqw&@?dgiO>!@{4{kl4*Uok?gll<$esf>Sv9Of^KJd<`5zq3E3W_m literal 0 HcmV?d00001 diff --git a/api/resources/images/elbow-end.gif b/api/resources/images/elbow-end.gif new file mode 100644 index 0000000000000000000000000000000000000000..f24ddee799ccebea4dfe60fd65a5703a6a59d44f GIT binary patch literal 844 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 literal 0 HcmV?d00001 diff --git a/api/resources/images/group-expand-sprite.gif b/api/resources/images/group-expand-sprite.gif new file mode 100644 index 0000000000000000000000000000000000000000..9c1653b48dbd2d4bb00886c379ba3a66813737c4 GIT binary patch literal 955 zcmZ?wbhEHbuiX3i z{QdXWpZ@~^!zdUHf#DSbia%Kx85kHDbU@w$?_tHlbAgvKT&29}T*1_wr_8B7v4Oad0D zH!!O=%UO7AS#fc($7HS8Q(IPEULLU6Yp&PURaaMg26lV0F?{M|skyG2(-{0TB%q{1$Bh!Jw8USBOURwYF literal 0 HcmV?d00001 diff --git a/api/resources/images/guide-icon.png b/api/resources/images/guide-icon.png new file mode 100644 index 0000000000000000000000000000000000000000..0a3845c3a41db03bcb177c9d36b5587d4c9d2e36 GIT binary patch literal 1659 zcmV->288*EP)Px#24YJ`L;(K){{a7>y{D4^000SaNLh0L01FcU01FcV0GgZ_00007bV*G`2ipc4 z2MiDhI4Yk200sL=L_t(Y$HkUwh+S6|$A5e8^SbBWxsRF2ByH17WYX5Lu~k}%>4zwC zeN%i83qpyCg4)WGbDpEis*@4Kvf3 zT<6}&x%Zs2AAXpdhtb%3lb{P0i@o>Rd;QOUt-baV&N=>{;$7^uc33C{JCD7Z#X% z`d|jUv(ZZCFFSx{JuU*D1nwymO4nA(TPTiAAc6qt`AE;F+g|4NV}E@P*wbhw`DF>g zAjWq9UnxYzYf6POQB(xwp>>MH;7pFyK4XlC1QAGykP_*62%!*4A*6>?3Z%js!{X7ytHAC?D_I^EfIQFnUBF!AM?a_)syoJ_ z5=u#o)flbOT4VAYqjPkgq4ShHOVL>hII0s@O#%;J6a&qAyc3w8n7pcBJ8eV|A%s8( z0YZTQDdi>;LL#IZSP4=ggg_~urKO`}{p3B3R&r=m2KI@uN@4uQJs2Dgi^JiBBi9*1 zIE*z|YcNJ*OpdYnrqwCNWMp}dv0@eAu|W=v1mIV$yMC&((V;Yb4JPelaR@0{d1IB% z#s;1*5CVj-AROQj!l9G{r!hK5`2lgUG6UQ_auPP{@k1tv?%uWcBb5}XrAA#hTFb3{={ZM;O5X>g9U)e{@Qjg40F_fY^$0xuM2c289bG3zfq zkClpknqssi>1hN41Ryrq*c`~stEqf;?AV5LkoHcIB%MRRdmF994s{C}tz;E=pnYrs zYEyV|3Fj=w*&trA)C@ z#2Aasa`Ikp9=NH|O8P^;hRu5X)6@&@n7VE^y;omG<4{P1bZ0#SSU_%$ZFd!I403D| zrR15fOuvswv#$c*KljCyZ&D||9_p-fa(S6xd<#x%EEZ!O#@e%r#aM%}23M>S1Oa5^E60}rQbOXSK&h7s0S?4VHpC)L)GM@6hPSm!_pblPLRpPqjH zuN)e{K)xG0v)o=@!mm_t(&7X-F^Ix>DwF`>a7y58PG`MCHhv|u`@aQ{1J8{FpwUX& z!2KfW(n~d}5aW!+Ik4xb8Cd7QSx0}POV>qgzwL|6?A_0+KfcESzXo0!xhHJaV-I+t zqoQkTQ#JHPXOn^RuN06cr|4Oq$y+|e_8Z>M$v^&*_2*mjz?T}Wq;)Ax=?8${CgpKi z48f%7*+YatXMK99rZ9a2yFU1Nx^uthQ>%z+g*4YZ5DsnNP)+I2O6zp>9Vxt0~X$)g*@Di3RDYnF}xztDkhSOEX>=YRRhw*^3LdRDX-7esA()*X5Lp|HL9 z;#=?h&FT?=qlXTP_Ts`Bz_saF2hd(za5wM2*Znsp{s|%?6&IWXxUv8M002ovPDHLk FV1low2Q2^q literal 0 HcmV?d00001 diff --git a/api/resources/images/guides.png b/api/resources/images/guides.png new file mode 100644 index 0000000000000000000000000000000000000000..68e76f62f8d03b79c44bf7c33c9e965f5f85c684 GIT binary patch literal 22038 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 k0#Q&GT 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 unQZ_4K?h6yv}Tn5e zazcRk9uQAFzG=xHkR5d*(()Xv?3{mK%3nRY)5OHZ%P$BMTsNVn4nzYT63@afD)AX6 z00PhN-8cpGnE}hMA3s=w3R;?Af;CG=uj64Tyv){0ij11mYQBPlJF>Py&mfgp3)` r9~wZe0#wsOAif5~r+|L?3labT>U*fZl3zTU00000NkvXXu0mjfVHwR$ literal 0 HcmV?d00001 diff --git a/api/resources/images/link-green-standard-over.png b/api/resources/images/link-green-standard-over.png new file mode 100644 index 0000000000000000000000000000000000000000..0f08df25041c29d5f344059536ac7103939d8bb0 GIT binary patch literal 240 zcmeAS@N?(olHy`uVBq!ia0vp^j6f{I!3-p)H>>^wQj#UE5hcO-X(i=}MX3yqDfvmM z3ZA)%>8U}fi7AzZCsS>Jib4W>LR_8d_#);?HG~Eo*jaLlSN#b_@~~t@aq@OT&?QUBWPX1UA|Q(Y_^zPB~S2l(WK>ym0R^}%XwlK z$)>JUwm5yD8EC$dr;B4q#VwYD?Tiiv3=A7)EKLji{NG+RZF}ru;i+Nsz29EdmhoHc kYP7t<8 literal 0 HcmV?d00001 diff --git a/api/resources/images/link-green-standard.png b/api/resources/images/link-green-standard.png new file mode 100644 index 0000000000000000000000000000000000000000..e7512aad722fd4389ebf8e883c35e72a1db480a0 GIT binary patch literal 240 zcmeAS@N?(olHy`uVBq!ia0vp^j6f{I!3-p)H>>^wQj#UE5hcO-X(i=}MX3yqDfvmM z3ZA)%>8U}fi7AzZCsS>Jib4W>LR|X~SvKs@uHB}QFkh@{i(272+1>-@K7D-M`%R-} zi3Cg(=-6xI*UuL;Ss-MpVEHEHtslI?rwgYn63<#8)wbK9d6(YA!&W656w;SU=B}2B zohv%|u+4pwe4z0RMxHK?Ar-e+4z@Eo7%(twn6Wf1@biCr)v)=(YtKEHAnLXC=+cij l?wU;v*PrRTDDVfX1cT-c#_IDi_ojffd%F6$taD0e0stYmRr3G< literal 0 HcmV?d00001 diff --git a/api/resources/images/loading.gif b/api/resources/images/loading.gif new file mode 100644 index 0000000000000000000000000000000000000000..ea83910a143c54d4d2c350b7e204404f3bf385bd GIT binary patch literal 16717 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 FO#l@5x}E?4 literal 0 HcmV?d00001 diff --git a/api/resources/images/member-collapsed.gif b/api/resources/images/member-collapsed.gif new file mode 100644 index 0000000000000000000000000000000000000000..16bce1d3023a0327127a1a3b01c0052a82be4fdb GIT binary patch literal 856 zcmZ?wbhEHb`0vot(lTw@wE6SrFI~EH`SRr_PMo-N=g$56_n$p`_VVS+ zSFc{Ze*OCW`}cqT{9zacqaiT7LO}5+3p2<^Iv@g+Cm1+P85lWaJT@$FWMGq$VR2Z% t(A3N##$%B%p@Er|NkU}H3kAmpRumEJGz1RLG2aZ#?lG#`otN{>aA`t)p literal 0 HcmV?d00001 diff --git a/api/resources/images/more.png b/api/resources/images/more.png new file mode 100644 index 0000000000000000000000000000000000000000..a270ab4a65526cf9780b566b5fa8d9afb5b00d1d GIT binary patch literal 498 zcmV*{|cGeT@hQ0s+!~o>*0L<{_!SWU z0SF+lgmCICD;2(1Y%a0hk$Np0@8m3x!Dih>W{kv76&S{1=4OXg&^>HR_Z=I zIgx!Jd7vwutm;>LgKPm=BhJUk_6g{POFJ(<`T$k`c7JWqPoP0R85tSeUVQk<4~hej z;(ecg{0eH@aK;8^a{ZbU=cnwvqzf_)=!t&~Ar@DF>>u!;1bSQi_^s!L&p&(vnZh6m o^m@6U@gq+Ig>OLa8zBAy0QY>X;`dL66#xJL07*qoM6N<$f`z8qb^rhX literal 0 HcmV?d00001 diff --git a/api/resources/images/phone-l.jpg b/api/resources/images/phone-l.jpg new file mode 100644 index 0000000000000000000000000000000000000000..004a88ce2c460a7d77d8d6f413be8e2c1af23560 GIT binary patch literal 23894 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 OlIREs2nYxWKmXas5ieE% literal 0 HcmV?d00001 diff --git a/api/resources/images/phone-p.jpg b/api/resources/images/phone-p.jpg new file mode 100644 index 0000000000000000000000000000000000000000..58a99b75b2378b7a7992ab0414007d231fd437cf GIT binary patch literal 24174 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 W4$Hy42P}YqfPjF2fPjF2ga6r8*XQ2= literal 0 HcmV?d00001 diff --git a/api/resources/images/phone-small-l.jpg b/api/resources/images/phone-small-l.jpg new file mode 100644 index 0000000000000000000000000000000000000000..e4eaac2df987d2adb600f3a1e70c3755d9ebf20b GIT binary patch literal 12852 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 literal 0 HcmV?d00001 diff --git a/api/resources/images/phone-small-p.jpg b/api/resources/images/phone-small-p.jpg new file mode 100644 index 0000000000000000000000000000000000000000..244e55374faffde6b5415f8ef741be2ddb104a7c GIT binary patch literal 12905 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 literal 0 HcmV?d00001 diff --git a/api/resources/images/preview.png b/api/resources/images/preview.png new file mode 100644 index 0000000000000000000000000000000000000000..3aac3b48e42088b5de36b285e0cc1bad6fe0a619 GIT binary patch literal 1361 zcmbtTTTC2P7#>4v8)6$JK6r_Coc5uy-JO}e@5owlXK6QfH|wymBtGb{dw`M7rL#j> zNWcKHA}p7n;SxwC1T00X#7KmY03ifYStKAKNGv1}pfN-VSGju@Sn7lL;z{OQ{`}wf zfB$7Zb2+b_jeaQ_L6Ecd>ofz;bK&ny6x=UWKAMHci;68#Nf48j3|0n6oL5W&sGVn1 z00UTW=Iw_d7D1vea_&SW(Q$+Fh`gE&`>6fA1knf*d(|(oo;0AKNg#z2EZCo&-5APw zE!a)HgK$Vzkjh=pl0ib2)9uMh^O(KZ)i=>tKLrVRps=W)za{u6zXdzsrQkhm#xeB3 zMM<+@hoTZ4F4QW@0M)Arm4`5ps6nSDb%a@GzJh89lE6s~P8d}rLFtVYL83)yT z6iyV-Fe95JrYjZC+3?6RnKUy6z!TAYa zj|Ue%jz=E|aNcD&*sp#QlHpGga@}y-^78VwwzgJRSGTvfJ32b@^Yb@1HwOj=0)aqL zQBiJgZdX@VX=&-&+S=UQTyJmh&dyFrNlAHmd3$?%c6N4KTU$XvK}AJHb#--NVd2Qg zNGKEv27`@_jpO6vGcz;8!^1f_IV&qG^Yil?8yl08lMM|Gqobphm6hGy-ObI-6B84y zt*!n2{maYCb#-+uEiHY0eG3Z#l`FE>r+!x)6>&UO-(~XLt|rOOG``j_4R{; zgFQVxv$M0iySsaPd;15gc6aJ4m=~=u&V)nD|Jsq;qh&FWuhve-x&4#wpY<_OanI22 zsK3t}%Bp?kulX3~>iMN#KK{~p{;8)C|MRcC_sMCS0%an0 Mo0Ii_@% literal 0 HcmV?d00001 diff --git a/api/resources/images/print.png b/api/resources/images/print.png new file mode 100644 index 0000000000000000000000000000000000000000..f19d9a607903b3683c314144720827c3c63a7691 GIT binary patch literal 829 zcmV-D1H$}?P)xAig5s)Yia-%7ME2FVUGMSj&o|<6h$oW3^Stp>P^rM(`w!px1A!_N(wj&h zH3ksG>4D&3%Io#Y^CL$GVd=#Jl*?tq0Cu|_PK}Jh+Su3BU`2(?U{^ z$rY-#YV7<4(}gA$i^0XqSLAUdG7mIG(3&COc|neOyTsvi!}!EGc^nFbfG=dVbAaP` zI5~8zZ2;KT#Ms&Dd~SAD8-PX0_Uz?y$7(;TlFYRL$OBXdTQqE6vm;_TuA|+Ln*IMg zVD0(Glwnek&t+TQ)amMlz55R|^Z-#$ND@|goKC0U!^hQ@0Y*oLp|8JRp9kWW* zLtodG=$k+3Uz?9#zlzMkOt`j8@2=0NW*<`i1Hcy?Jm~i9^Q}aq(+tCya{r~NsXMuB zCYkv0J*nJ^qy3Uv05ZD*;lUjldj4*!P&Nh7>vWt}yqrP0iT@GwG$gqD_@+D?#y4m? z)k+?|$92w3Pber}x!2-B(ClW^LQpTqTiE<-gFmLK{1spT!gfpHpLZW~00000NkvXX Hu0mjfOs<3b literal 0 HcmV?d00001 diff --git a/api/resources/images/sample-over.gif b/api/resources/images/sample-over.gif new file mode 100644 index 0000000000000000000000000000000000000000..612ee1c59457584dbf5b6f3b178e1dc65a2f2199 GIT binary patch literal 2594 zcmeH`c~_E&0*A3<>6n%`OFd2tw>oaQwM-h#f>TEk(YUuxnq%cOUNyDkR>wTvnoFB7 ziIdZ!W>&Za$R@5RntQTplqII-h61uL!V9RpxA_+LkNJIq=RD{4#Ky%$9r-!LDIJ1? zKqRV$DNWmFZTq~TUuqoGSU+lQ5}oan&NiX9Pa5n~#+7N~%8Y4s&b%hItSwsBWPn2s zI22Y;X#!4;AZP=@6%bqlK?ewekiYhqf&ViD zf44b*Ap#*Ge{%iV1jH4D#76l-h{V1-u3o{ZJXZAp&T|j43ei~err7sjHa)7h&(+yE z4DTD)RL6f5c#@jRZ+ayxkN8DU71vA}eioH^4vK}sahu_H+;$*aDDP?!kAlw%TIxs1 z=vw4+WGnT2fV)m~ciBveQQG>baTsOj4fEV1vNZw6(qXnVe54hJm?oX77i%bNc!kVKikA3{P@-wPcI zloAe&Wl2k-WY)Q2m_;Fd0N)U_@E|-RZQ&1ufBnKk)ZwLtN9dTK#mA>kUtD~WoKe46 zmh8=6EKe&6l2xRaU6egd?8f(1=C&=#o?(W9KQ|S<~QpFnd&QUk=Hf^M{_=i>MW^s&A)%5;!j;3||LMMIw zRK7~Xo-Nv^ZC@zM(RL_EG%ZKnrqXumhg8}&<5-UFwN*ybb+20D!(KZ!gy?&neR46q zkX>|rzk8%QqUWn0LJWgjlUDUj+tTTVq3zez1}+pAV&v^D&o%M`$#kP2gsnCTe0xGn zqC=8g({PlWewDXhr#8KXyM!)_zXwpu?+^iu<@ZOz;1*Wb^E&-nl785eT4wJ0T(-{P z1DMu%0(VCgWIFvw*|u1b$+XF;u4`>_A}-9Xs4Ks0U#h!`MlVpyS zNSGbU(n;ouwhPd%=(?ocPWnNgyj25F)g2u@5TIK%iDNgf86k(l*UaOY4c{q0M?##_KtGoeptOB|(4?KPzfWmv%`RTE)DB?OF zUhf8&{+1_!=p2CPb4$_R_7xG=yHNTz73%Lm-K$+=5&c^Zu>P|dQSFw*>-Xm9??n)* z-7^sbeiQnlC{gvM>%4)Tb`0+GRjen7Lk#ZrGvE=Znl0tLL4TOxH#DJUD;e=7IK^=P zl>2UPHt$VXp`kdM72ACWbRR; z;Q`jY4oXvSqy3Df_^o@*2gKMInDLKNLfzhgI6gAP_^?7$=O4-ECl(qX5#3(}{_ynH z?T9OnDX3S$NqoU+j`0bLo*v|c5hPC-%i2Y+!meKwp2@&E^}3THaB-pwex?c@igciy zFUo+Ko{9;iL*%&OY~*P9n22E^@4? z(oD}vpq(L8$J#h%2Bw6TDo08g2NQ#fpPKgr+Ib1gE9Jr|84TzUmoTrr?3`Rm0XXBs%zU=+ zv$jyu{&9_2z>S|aRsvm8kMKf?aN5EFUQb_QIM2q<*e8H);0ZihRy^ad13i#7=C4k@ zGmx*Xy{<8O?8d6u4M(kg>a!7d15k5rc}e}=BdnrGLaO^!>i~3`g*%3t-x66c=%3hl z-%vcit<(BOb!k5#6D8FO+J~Y>{(UWvF5S6eZU5HMSc;pPgnHR{u(1Znb~I$~(KEdD w7%aq7{5P)@n;?0lsf?Ywcndna=gcR31s5ed@XRL4N^Gw5*@6vsafTfIAJJoI&j0`b literal 0 HcmV?d00001 diff --git a/api/resources/images/search-box.png b/api/resources/images/search-box.png new file mode 100644 index 0000000000000000000000000000000000000000..1d2871581f542250bcf848ee4bdff81f3dfeac55 GIT binary patch literal 1988 zcmaJ?Yg7~07LHVrheAZXT46~D!c`&3Or9hrAV~-!1e745v{gbfkOY#6lL3OLH7HzP zK)~{_EwsF}tvsw4E3p=KHp`T3l4{yAF)mti>*Il?-D0R?5nCW9>kV+(Xa$m0;ix^G6cefD&S;@5TTK! zLa~rck-fDO;^J`ctWd=zpb6qAjvUsIWp*F3L8HUaI2<>`pp(hdAe4{{rK+?%;*&FN zM1o4eBT5-!K&%r$O4Yh;2qf7S9Vg$GCTA;%A;AQ$frAlfAXG*$XwtQMj)6yf$;-j^ zb~A-Yc-7-WDX2bds%NhgDJfK6uy5~u(OP(UgLV39z8!(ed$ zkns8;V$l#q3MW=5dL0Wp@rX(k)p014tgI|@7L5!esT7dSW>Wwvg-Ru19wdFX7L^%D zTD|WKgAmfo5tR;A!CHcyQI-s6pgba`^i>KP-5Xl1{&ktKf>8`I9R(x<_LOEE#p3_( zs?ogh)}yh|-+JFltdGmqL6lfX4`(29tZ^y6_E0*G0D)vEjKslk`b-r!C}9-VD`6c$ zAYqU}f>D*V7zXg!e2~o- z2*N-Hl}`_%&tQeHJVOI%(HX4bZ!CuR2dsS5D4j~%>WWY#^KXLD#+FG?%N>(ryi_k zE;s#Pd$L=|g==OrqYq{>7>7TKa`KA|tjBW_67wz$dDCx*ijyjDhFJFR-`~_ZCnY6C zk)3TFFWcNKRjbuevmJMb?i1BggM+n?7xFzys;9fITwzsiUb$$j_Tn?EN~Z4mPd^?- z(TY=ehX)+7#bW7x-rCBhiGB8bu--AIcmC?lOEcVmtoKwueEj&6fFCEM#>!t=;F0#d zC3s}j(o<%jYuEeuZirPZF&c2R7srx#`IYH^(pGr;411hLhw?n*JG7jly~Vtxo}Q6M z-py!ky%j-&YU@OD1sRjbSbNR1F(2r&cz4qbrxG^q1)%p4GqGR-=}TqS|7i0 z;}7G+k0VFU+3;|tr@5_ZLq-2d1f{O^+eb9XpT2DkRkijIoj575tnR5;^s8xl&dSAjgEY%*SB=t`|YWu zd(SQ6zg$Q|=g&Jh?xffzwk(T3%5ur{vGUGx`xyPcUQbCB3Tu?~*?V>A!%dNS&YX!> zezj@RvP(&y@{Wz{SSH@_^KYeasinC*JTbU&edF}@1J1>aMpJ)VqTqh}iR}xLaMgtm Uz5F7_*VzB75n<87CVo=xU+|qJZvX%Q literal 0 HcmV?d00001 diff --git a/api/resources/images/sencha-stamp.png b/api/resources/images/sencha-stamp.png new file mode 100644 index 0000000000000000000000000000000000000000..089455c720a7d881d62c5456a03ae33384cd4f88 GIT binary patch literal 1849 zcmd^=`#;-<8pqS}I>Sc3my}kuF1@HWXr(7RR!Z806UthwysEY&OPIEz6mhF5s$%US z?devlRy$g^Akq<%(vTa|qRb^iQ1>K=RHSP=JNfOr&fjpJA3pET=Xrj8p4Y=X9qeyu zVQYavAS{Xh#D^ddTZ)a|%gn^6-*?$f8nGjZ5RnubADzS?C(;l&YCMJJK#U{D&_ZZr zYFa`!%?p7rL7YAnMre}9dh+4mb{JC$GTOno4mjaA@TwHf>I5&eL1&ua{BAg11O;%R zYZ54`8A_JGer<4I6Kq=oF}tB3WMEDgOqZg_Z7`t$G8hb_qob>D-?>!$w{3~r&6g#Mn=}x*R@*h{QUgP%*^cU?AqGe%F4>}^77Qw z)Z*ge!otFvH*eHxwNj~^o12@Sp4MnIOG``UF;3!9Gc9*UJXUJ*hC{qW4(7_AxT=wnmF;88A=Ed(PvP!U|D2WvN_ z1r&8jq(cGd?|i@ELpd$mFTb$4eD9n;4|c5pLY~7x>E}fvkyi~=AOW*_tOD~%9lv{* z^0KqL;MV>_!rq_?cG*_~I8OpPGyaj-2JS4iieMcG;vnl3u|vzR9>4N^^xM}H^Ceon zioy;Yo698@I7jnAYz4P?mRtbQm>hC=h8HkmM^9dP_<8!6_j5^i`U4IRnswYUho?Q^ZC+m?}k0L__$SA($J^sGbmx0*(J8UmvN-BT6 z&`u*IY2(oj@h>TN*6Np8F-p&Q^LJ5r>VUz1??Y$ zhn|23D{RVz&aRKa>iSw-3zYE^y4np_4%we=fsbUmaTT#rsq_K+e$}u;xDch*N+Oy- z-MX@Op4+p?+4m64>;-UafPO1=Pqw4&Lm;mkJ}-o^W!A^5k=}LSaW+hO0S``pQ^;|u ztSieAfwOChvwZkkUqZeZJdosFFbEkp=lLgEmhplRNg=_ZfBkOc)*f%@l@&Zr3WwwOID=f6?`Ks;0U$}1OkG_4X;U2u3q_E z>(kO#UpC@?EG9-^NNZoc(l^m74?8T7U4jbX z+^Wx90t&(Ms=Y40I?VnvE+Kid(E-K2`z!a_zz*H?JFnd0YyQ2Uap$%<`+kv=babg- zgB~!Kx5^KG=efW6aI;_YxpUY^ABA}wb0eB0pnjkoi@}fv`x`qrJBTy4{bbVZ)ce&} zrJL2?@**}Zx0XgZW;GT1*>f=4M*@+nA0MqDyJ#i`HHWte*1ikm{zA zsLX|}z5Ri-Ta%lW^dF?JmprPX&O_0CQ44Rk;;2LXziK^sk-I#1Ph{RYTN}0ftVzx= zW!)jK{n4_%j7h%9Oh`^nQ4Uc9#am2SLpSLOaeig3+M^x=BZk4JjG{drMFhZe>2J#l z!G}LD`Y=A{34DG@f5K$EXF6~_qWGhi)B1i5^?BEtk-A>M_?c&do288(uI}yPg*WUo z{5eXBRH&JI0DScOsT;M{sp;*{OENhpDNl4X5Wl&Ts2%Yx$9`G;b@|iL86f8}iyFbG z_LmHrbrNrj3|0PJ9;VZCfp3ne$PbGg#xs@gT{jl%P6BlFXGad_Ea;csjl zVYJdXPG;^;k*R~SweLe~9yws_O%IZ6EG#HtVmIxLU8Y-1aeyyi#2?6y+eirW#kkb@ SO>fZn3lT&@Fuwi-Dd#^_#SD4? literal 0 HcmV?d00001 diff --git a/api/resources/images/singleton-m.png b/api/resources/images/singleton-m.png new file mode 100644 index 0000000000000000000000000000000000000000..212e7007f789f9cf198b5f27a0bcbacf7495e68b GIT binary patch literal 6253 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 BvQ7X1 literal 0 HcmV?d00001 diff --git a/api/resources/images/tablet-p.jpg b/api/resources/images/tablet-p.jpg new file mode 100644 index 0000000000000000000000000000000000000000..ecbec6cf0e4d044b331657bd5e6782c426dd67e6 GIT binary patch literal 34731 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 literal 0 HcmV?d00001 diff --git a/api/resources/images/text-bg.gif b/api/resources/images/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/api/resources/images/version-tabs.png b/api/resources/images/version-tabs.png new file mode 100644 index 0000000000000000000000000000000000000000..0a67c460a5c38f83972a413e24216e3cd3f4ff5d GIT binary patch literal 3594 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 Q9RL6T07*qoM6N<$f|D`mumAu6 literal 0 HcmV?d00001 diff --git a/api/resources/images/vote-arrows.png b/api/resources/images/vote-arrows.png new file mode 100644 index 0000000000000000000000000000000000000000..bb94c7c957f8192a27597faf6f6ba79d14f0e1fd GIT binary patch literal 883 zcmV-(1C0EMP)!Ga=Wux z-y|>IW-~jP$;`m5nHRofcYb^_d^7v@$LvzK+XaOD((eH!&^R);iG8l*m#+2_tOfLs0&b%OR^qb{K`Lj(2=ca{N9P!|jP7pUy6;Xvo( zvfMgXX231f9YHxS+d)06>X^u<>fGGa0k_J4bEpl;k8Mzbd9OK8BW{w~=ZXwCM#s*I z1h_(Nc#`>6uG|$L0_I%tAz;J}1R3-#YE>cIu2S2x0d}~leQr?7pwCfFP>&|{ zxmL`yrGeVxCib~S10JESfPU~k4^a>P9jlWAwZ=^yaK{F$q3*%_aUb;wwON`0cDadt zE;rx|>M589XM9F&kpZ>fasxi14uZv?fm-LXG`G$Tz(J%bI0=^6XF4%}F-Hclni!B} zZVbrkVgPexfCKK5;scTYHV(johd00*;0^Ewcmuov-T-faH^3X<4e$nd0~RryJPmxT&Z(y|KJWpiA*clt(f}1(uj;{mSD3fzn zL<}g*0IoJFD(vejBF1oku%|XE8cdeyC?dv04tR_@38STFo!F$lRmbYS=9ZJ-Z5X{{ zcS;eqMSV&!wTfwln>pYHf{|ZFZKICPfPJU7$#k|(zzsLG&J~>od(`j)>QDvj54GuO zoUe_!%mKIRW~hS-C2oe)rXs~wemba7QXf(q;fJBM73!cuNqtCdrs`yOgDq4nD37U5 zdc`JD3l$5>W2&p{%j9aIVnKOKb;5ostHb=|f z6kdnD_wUy&UbAa+Gqt-xEv||IJb_#-Y%3U`G*E3WbHM#8zyQ0SxO@!1W%>XB002ov JPDHLkV1j-x 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 WuS9_B8hb6Mw<&;$U>gU$;8 literal 0 HcmV?d00001 diff --git a/api/resources/images/x12.png b/api/resources/images/x12.png new file mode 100644 index 0000000000000000000000000000000000000000..a729b48ee422aa3d301945b9b0b539cd5c6739e5 GIT binary patch literal 1242 zcmbVMTWs4@7^_i(_sE1+vB_lsZ#!mx zB)0CJ_-HJVNbCm! zutirATPDO7Ij&NvL@Ln;cE&kAnM`^bf)J*NusdTBwHmhEJq-mJxte3x#K0Et6xAZ0 zCK5|Mt%qRR+3cpUu8tc&_8Z$iFWfdHsW%~#nX;P>rvX% zAk*C4*^mdM-iSkvL5reJ%2=B=kwr4H#L|<9Zs=k>nTp8?1qzA)giH62jTndV(<2tA$ z9i$TM!YJ@Hyyv;DaU`9^mtDhIIUq0IE-!bo- z+7&v@T-+Oq`hRW%Pqr?socQCxfwrdn#aIaYivB>p(0cXSW8eE1o_k@g6My(h$IkEi zTE5m#ivEXdptihR(95;j($Z4x%9U-UQwz_>zBzt=$Nk$6kB$~Y540CyT+j=;uHU$| z>R%aOe(ChSvv+@12&_Kw4teqB>V=`gNa~s1V}C8$H^17eUwA$G@*}^kt*tHYZeBhf zJOA|5FTaxaUpsXup!$5i`HuEW_uc;BVEIz?`nyM4_XnN8;t$~J?>~Nd;FI}h+d8J^ z3X;ERU(b!s&^egWKHh$YTRnX2o;SX2T3Q)8@#*d}AI)_>bS~H)y{kC?1+%T0>3_4Y U^yjP65$|u4=^vEe>MNZ58#hawrvLx| literal 0 HcmV?d00001 diff --git a/api/resources/images/x122.png b/api/resources/images/x122.png new file mode 100644 index 0000000000000000000000000000000000000000..3a1416d7c6ff59992ed52d3d57bb3c955cf8bf84 GIT binary patch literal 1418 zcmeAS@N?(olHy`uVBq!ia0vp^d_XM6!3HE{=IMI@DajJoh?3y^w370~qErUQl>DSr z1<%~X^wgl##FWaylc_cg49qH-ArU1JzCKpT`MG+DAT@dwxdlMo3=B5*6$OdO*{LN8 zNvY|XdA3ULckfqH$V{%1*XSQL?vFu&J;D8jzb> zlBiITo0C^;Rbi_HHrEQs1_|pcDS(xfWZNo192Makpx~Tel&WB=XP}#GU}mUbW};_k zVqj@vsiRh+i#(Mch>H3D2mX`VkM*2oZxQ#zd*q`*i_F@!8b8E zGY=#J*5T`G<(XGpl9-pA>gi&u1T;f0Gc(1?)y&z{z|F+e$dO;yW843T@l_t>#|aUI7^_sV~B@9O}kC-svm4-nmRnc7#c;qJk(jP z9CmvDWP|XOGxax(pFcHG^gVHi|5@7e{kx6Ny?9+>^&lq3+RN?6TZtGpA-pT~MPd{y1ofbATnbq8wY&a{pqJK}(PMND&rdcLZ zP7Dc$muJqJYn|ko81jrwzWZoXNvygI17n!l#s}G z4+>Z}UP!7^`kWHPz&MXRVR?|Imx>Tj_cZ@9KCf?WOD0awoTU^$F+f3qFIsQ9ivG^D z5^MLlJCnC@Y;Y|*xFkb6xupDg$;?%MbFRNSx%b_|j&%*;&%UYquAA`PXm3-0OXa&s z_tylQ|7)-GDQ32)7B;I%e{ML{FL-6hqN1frEDUBf8M`Nc-tjEVn76rrfhA(qs!Ltg z>3iem&vQR>C&NUjQGj8~?FyTJb#i~}>{*)+p8qei?V+`G|B01BYbTvjPFWMibmM8! z&BzVwKTC8U)sX7tVw}g5aQso>u9W{5ZS21OcK_V5$87dlMRglt_NZy4b#j6aG+H(+ gebN8?qjLiz!-7qBzQib9ssojdp00i_>zopr01O2JKmY&$ literal 0 HcmV?d00001 diff --git a/api/resources/prettify/prettify.css b/api/resources/prettify/prettify.css new file mode 100644 index 00000000..d44b3a22 --- /dev/null +++ b/api/resources/prettify/prettify.css @@ -0,0 +1 @@ +.pln{color:#000}@media screen{.str{color:#080}.kwd{color:#008}.com{color:#800}.typ{color:#606}.lit{color:#066}.pun,.opn,.clo{color:#660}.tag{color:#008}.atn{color:#606}.atv{color:#080}.dec,.var{color:#606}.fun{color:red}}@media print,projection{.str{color:#060}.kwd{color:#006;font-weight:bold}.com{color:#600;font-style:italic}.typ{color:#404;font-weight:bold}.lit{color:#044}.pun,.opn,.clo{color:#440}.tag{color:#006;font-weight:bold}.atn{color:#404}.atv{color:#060}}pre.prettyprint{padding:2px;border:1px solid #888}ol.linenums{margin-top:0;margin-bottom:0}li.L0,li.L1,li.L2,li.L3,li.L5,li.L6,li.L7,li.L8{list-style-type:none}li.L1,li.L3,li.L5,li.L7,li.L9{background:#eee} \ No newline at end of file diff --git a/api/resources/prettify/prettify.js b/api/resources/prettify/prettify.js new file mode 100644 index 00000000..7b990496 --- /dev/null +++ b/api/resources/prettify/prettify.js @@ -0,0 +1,30 @@ +!function(){var q=null;window.PR_SHOULD_USE_CONTINUATION=!0; +(function(){function S(a){function d(e){var b=e.charCodeAt(0);if(b!==92)return b;var a=e.charAt(1);return(b=r[a])?b:"0"<=a&&a<="7"?parseInt(e.substring(1),8):a==="u"||a==="x"?parseInt(e.substring(2),16):e.charCodeAt(1)}function g(e){if(e<32)return(e<16?"\\x0":"\\x")+e.toString(16);e=String.fromCharCode(e);return e==="\\"||e==="-"||e==="]"||e==="^"?"\\"+e:e}function b(e){var b=e.substring(1,e.length-1).match(/\\u[\dA-Fa-f]{4}|\\x[\dA-Fa-f]{2}|\\[0-3][0-7]{0,2}|\\[0-7]{1,2}|\\[\S\s]|[^\\]/g),e=[],a= +b[0]==="^",c=["["];a&&c.push("^");for(var a=a?1:0,f=b.length;a122||(l<65||h>90||e.push([Math.max(65,h)|32,Math.min(l,90)|32]),l<97||h>122||e.push([Math.max(97,h)&-33,Math.min(l,122)&-33]))}}e.sort(function(e,a){return e[0]-a[0]||a[1]-e[1]});b=[];f=[];for(a=0;ah[0]&&(h[1]+1>h[0]&&c.push("-"),c.push(g(h[1])));c.push("]");return c.join("")}function s(e){for(var a=e.source.match(/\[(?:[^\\\]]|\\[\S\s])*]|\\u[\dA-Fa-f]{4}|\\x[\dA-Fa-f]{2}|\\\d+|\\[^\dux]|\(\?[!:=]|[()^]|[^()[\\^]+/g),c=a.length,d=[],f=0,h=0;f=2&&e==="["?a[f]=b(l):e!=="\\"&&(a[f]=l.replace(/[A-Za-z]/g,function(a){a=a.charCodeAt(0);return"["+String.fromCharCode(a&-33,a|32)+"]"}));return a.join("")}for(var x=0,m=!1,j=!1,k=0,c=a.length;k=5&&"lang-"===w.substring(0,5))&&!(t&&typeof t[1]==="string"))f=!1,w="src";f||(r[z]=w)}h=c;c+=z.length;if(f){f=t[1];var l=z.indexOf(f),B=l+f.length;t[2]&&(B=z.length-t[2].length,l=B-f.length);w=w.substring(5);H(j+h,z.substring(0,l),g,k);H(j+h+l,f,I(w,f),k);H(j+h+B,z.substring(B),g,k)}else k.push(j+h,w)}a.g=k}var b={},s;(function(){for(var g=a.concat(d),j=[],k={},c=0,i=g.length;c=0;)b[n.charAt(e)]=r;r=r[1];n=""+r;k.hasOwnProperty(n)||(j.push(r),k[n]=q)}j.push(/[\S\s]/);s=S(j)})();var x=d.length;return g}function v(a){var d=[],g=[];a.tripleQuotedStrings?d.push(["str",/^(?:'''(?:[^'\\]|\\[\S\s]|''?(?=[^']))*(?:'''|$)|"""(?:[^"\\]|\\[\S\s]|""?(?=[^"]))*(?:"""|$)|'(?:[^'\\]|\\[\S\s])*(?:'|$)|"(?:[^"\\]|\\[\S\s])*(?:"|$))/,q,"'\""]):a.multiLineStrings?d.push(["str",/^(?:'(?:[^'\\]|\\[\S\s])*(?:'|$)|"(?:[^"\\]|\\[\S\s])*(?:"|$)|`(?:[^\\`]|\\[\S\s])*(?:`|$))/, +q,"'\"`"]):d.push(["str",/^(?:'(?:[^\n\r'\\]|\\.)*(?:'|$)|"(?:[^\n\r"\\]|\\.)*(?:"|$))/,q,"\"'"]);a.verbatimStrings&&g.push(["str",/^@"(?:[^"]|"")*(?:"|$)/,q]);var b=a.hashComments;b&&(a.cStyleComments?(b>1?d.push(["com",/^#(?:##(?:[^#]|#(?!##))*(?:###|$)|.*)/,q,"#"]):d.push(["com",/^#(?:(?:define|e(?:l|nd)if|else|error|ifn?def|include|line|pragma|undef|warning)\b|[^\n\r]*)/,q,"#"]),g.push(["str",/^<(?:(?:(?:\.\.\/)*|\/?)(?:[\w-]+(?:\/[\w-]+)+)?[\w-]+\.h(?:h|pp|\+\+)?|[a-z]\w*)>/,q])):d.push(["com", +/^#[^\n\r]*/,q,"#"]));a.cStyleComments&&(g.push(["com",/^\/\/[^\n\r]*/,q]),g.push(["com",/^\/\*[\S\s]*?(?:\*\/|$)/,q]));if(b=a.regexLiterals){var s=(b=b>1?"":"\n\r")?".":"[\\S\\s]";g.push(["lang-regex",RegExp("^(?:^^\\.?|[+-]|[!=]=?=?|\\#|%=?|&&?=?|\\(|\\*=?|[+\\-]=|->|\\/=?|::?|<>?>?=?|,|;|\\?|@|\\[|~|{|\\^\\^?=?|\\|\\|?=?|break|case|continue|delete|do|else|finally|instanceof|return|throw|try|typeof)\\s*("+("/(?=[^/*"+b+"])(?:[^/\\x5B\\x5C"+b+"]|\\x5C"+s+"|\\x5B(?:[^\\x5C\\x5D"+b+"]|\\x5C"+ +s+")*(?:\\x5D|$))+/")+")")])}(b=a.types)&&g.push(["typ",b]);b=(""+a.keywords).replace(/^ | $/g,"");b.length&&g.push(["kwd",RegExp("^(?:"+b.replace(/[\s,]+/g,"|")+")\\b"),q]);d.push(["pln",/^\s+/,q," \r\n\t\u00a0"]);b="^.[^\\s\\w.$@'\"`/\\\\]*";a.regexLiterals&&(b+="(?!s*/)");g.push(["lit",/^@[$_a-z][\w$@]*/i,q],["typ",/^(?:[@_]?[A-Z]+[a-z][\w$@]*|\w+_t\b)/,q],["pln",/^[$_a-z][\w$@]*/i,q],["lit",/^(?:0x[\da-f]+|(?:\d(?:_\d+)*\d*(?:\.\d*)?|\.\d\+)(?:e[+-]?\d+)?)[a-z]*/i,q,"0123456789"],["pln",/^\\[\S\s]?/, +q],["pun",RegExp(b),q]);return C(d,g)}function J(a,d,g){function b(a){var c=a.nodeType;if(c==1&&!x.test(a.className))if("br"===a.nodeName)s(a),a.parentNode&&a.parentNode.removeChild(a);else for(a=a.firstChild;a;a=a.nextSibling)b(a);else if((c==3||c==4)&&g){var d=a.nodeValue,i=d.match(m);if(i)c=d.substring(0,i.index),a.nodeValue=c,(d=d.substring(i.index+i[0].length))&&a.parentNode.insertBefore(j.createTextNode(d),a.nextSibling),s(a),c||a.parentNode.removeChild(a)}}function s(a){function b(a,c){var d= +c?a.cloneNode(!1):a,e=a.parentNode;if(e){var e=b(e,1),g=a.nextSibling;e.appendChild(d);for(var i=g;i;i=g)g=i.nextSibling,e.appendChild(i)}return d}for(;!a.nextSibling;)if(a=a.parentNode,!a)return;for(var a=b(a.nextSibling,0),d;(d=a.parentNode)&&d.nodeType===1;)a=d;c.push(a)}for(var x=/(?:^|\s)nocode(?:\s|$)/,m=/\r\n?|\n/,j=a.ownerDocument,k=j.createElement("li");a.firstChild;)k.appendChild(a.firstChild);for(var c=[k],i=0;i=0;){var b=d[g];F.hasOwnProperty(b)?D.console&&console.warn("cannot override language handler %s",b):F[b]=a}}function I(a,d){if(!a||!F.hasOwnProperty(a))a=/^\s*=l&&(b+=2);g>=B&&(r+=2)}}finally{if(f)f.style.display=h}}catch(u){D.console&&console.log(u&&u.stack||u)}}var D=window,y=["break,continue,do,else,for,if,return,while"],E=[[y,"auto,case,char,const,default,double,enum,extern,float,goto,inline,int,long,register,short,signed,sizeof,static,struct,switch,typedef,union,unsigned,void,volatile"], +"catch,class,delete,false,import,new,operator,private,protected,public,this,throw,true,try,typeof"],M=[E,"alignof,align_union,asm,axiom,bool,concept,concept_map,const_cast,constexpr,decltype,delegate,dynamic_cast,explicit,export,friend,generic,late_check,mutable,namespace,nullptr,property,reinterpret_cast,static_assert,static_cast,template,typeid,typename,using,virtual,where"],N=[E,"abstract,assert,boolean,byte,extends,final,finally,implements,import,instanceof,interface,null,native,package,strictfp,super,synchronized,throws,transient"], +O=[N,"as,base,by,checked,decimal,delegate,descending,dynamic,event,fixed,foreach,from,group,implicit,in,internal,into,is,let,lock,object,out,override,orderby,params,partial,readonly,ref,sbyte,sealed,stackalloc,string,select,uint,ulong,unchecked,unsafe,ushort,var,virtual,where"],E=[E,"debugger,eval,export,function,get,null,set,undefined,var,with,Infinity,NaN"],P=[y,"and,as,assert,class,def,del,elif,except,exec,finally,from,global,import,in,is,lambda,nonlocal,not,or,pass,print,raise,try,with,yield,False,True,None"], +Q=[y,"alias,and,begin,case,class,def,defined,elsif,end,ensure,false,in,module,next,nil,not,or,redo,rescue,retry,self,super,then,true,undef,unless,until,when,yield,BEGIN,END"],W=[y,"as,assert,const,copy,drop,enum,extern,fail,false,fn,impl,let,log,loop,match,mod,move,mut,priv,pub,pure,ref,self,static,struct,true,trait,type,unsafe,use"],y=[y,"case,done,elif,esac,eval,fi,function,in,local,set,then,until"],R=/^(DIR|FILE|vector|(de|priority_)?queue|list|stack|(const_)?iterator|(multi)?(set|map)|bitset|u?(int|float)\d*)\b/, +V=/\S/,X=v({keywords:[M,O,E,"caller,delete,die,do,dump,elsif,eval,exit,foreach,for,goto,if,import,last,local,my,next,no,our,print,package,redo,require,sub,undef,unless,until,use,wantarray,while,BEGIN,END",P,Q,y],hashComments:!0,cStyleComments:!0,multiLineStrings:!0,regexLiterals:!0}),F={};p(X,["default-code"]);p(C([],[["pln",/^[^]*(?:>|$)/],["com",/^<\!--[\S\s]*?(?:--\>|$)/],["lang-",/^<\?([\S\s]+?)(?:\?>|$)/],["lang-",/^<%([\S\s]+?)(?:%>|$)/],["pun",/^(?:<[%?]|[%?]>)/],["lang-", +/^]*>([\S\s]+?)<\/xmp\b[^>]*>/i],["lang-js",/^]*>([\S\s]*?)(<\/script\b[^>]*>)/i],["lang-css",/^]*>([\S\s]*?)(<\/style\b[^>]*>)/i],["lang-in.tag",/^(<\/?[a-z][^<>]*>)/i]]),["default-markup","htm","html","mxml","xhtml","xml","xsl"]);p(C([["pln",/^\s+/,q," \t\r\n"],["atv",/^(?:"[^"]*"?|'[^']*'?)/,q,"\"'"]],[["tag",/^^<\/?[a-z](?:[\w-.:]*\w)?|\/?>$/i],["atn",/^(?!style[\s=]|on)[a-z](?:[\w:-]*\w)?/i],["lang-uq.val",/^=\s*([^\s"'>]*(?:[^\s"'/>]|\/(?=\s)))/],["pun",/^[/<->]+/], +["lang-js",/^on\w+\s*=\s*"([^"]+)"/i],["lang-js",/^on\w+\s*=\s*'([^']+)'/i],["lang-js",/^on\w+\s*=\s*([^\s"'>]+)/i],["lang-css",/^style\s*=\s*"([^"]+)"/i],["lang-css",/^style\s*=\s*'([^']+)'/i],["lang-css",/^style\s*=\s*([^\s"'>]+)/i]]),["in.tag"]);p(C([],[["atv",/^[\S\s]+/]]),["uq.val"]);p(v({keywords:M,hashComments:!0,cStyleComments:!0,types:R}),["c","cc","cpp","cxx","cyc","m"]);p(v({keywords:"null,true,false"}),["json"]);p(v({keywords:O,hashComments:!0,cStyleComments:!0,verbatimStrings:!0,types:R}), +["cs"]);p(v({keywords:N,cStyleComments:!0}),["java"]);p(v({keywords:y,hashComments:!0,multiLineStrings:!0}),["bash","bsh","csh","sh"]);p(v({keywords:P,hashComments:!0,multiLineStrings:!0,tripleQuotedStrings:!0}),["cv","py","python"]);p(v({keywords:"caller,delete,die,do,dump,elsif,eval,exit,foreach,for,goto,if,import,last,local,my,next,no,our,print,package,redo,require,sub,undef,unless,until,use,wantarray,while,BEGIN,END",hashComments:!0,multiLineStrings:!0,regexLiterals:2}),["perl","pl","pm"]);p(v({keywords:Q, +hashComments:!0,multiLineStrings:!0,regexLiterals:!0}),["rb","ruby"]);p(v({keywords:E,cStyleComments:!0,regexLiterals:!0}),["javascript","js"]);p(v({keywords:"all,and,by,catch,class,else,extends,false,finally,for,if,in,is,isnt,loop,new,no,not,null,of,off,on,or,return,super,then,throw,true,try,unless,until,when,while,yes",hashComments:3,cStyleComments:!0,multilineStrings:!0,tripleQuotedStrings:!0,regexLiterals:!0}),["coffee"]);p(v({keywords:W,cStyleComments:!0,multilineStrings:!0}),["rc","rs","rust"]); +p(C([],[["str",/^[\S\s]+/]]),["regex"]);var Y=D.PR={createSimpleLexer:C,registerLangHandler:p,sourceDecorator:v,PR_ATTRIB_NAME:"atn",PR_ATTRIB_VALUE:"atv",PR_COMMENT:"com",PR_DECLARATION:"dec",PR_KEYWORD:"kwd",PR_LITERAL:"lit",PR_NOCODE:"nocode",PR_PLAIN:"pln",PR_PUNCTUATION:"pun",PR_SOURCE:"src",PR_STRING:"str",PR_TAG:"tag",PR_TYPE:"typ",prettyPrintOne:D.prettyPrintOne=function(a,d,g){var b=document.createElement("div");b.innerHTML="

    "+a+"
    ";b=b.firstChild;g&&J(b,g,!0);K({h:d,j:g,c:b,i:1}); +return b.innerHTML},prettyPrint:D.prettyPrint=function(a,d){function g(){for(var b=D.PR_SHOULD_USE_CONTINUATION?c.now()+250:Infinity;i + Licensed under the MIT license. +*/ +!function(a){"object"==typeof exports?module.exports=a(module.exports,require("underscore"),require("backbone")):a(this,this._,this.Backbone)}(function(a,b,c){"use strict";function d(a,b,c){var d=b-(a+"").length;d=0>d?0:d;for(var e="",f=0;d>f;f++)e+=c;return e+a}var e=" \n \f\r   ᠎              \u2028\u2029";if(!String.prototype.trim||e.trim()){e="["+e+"]";var f=new RegExp("^"+e+e+"*"),g=new RegExp(e+e+"*$");String.prototype.trim=function(){if(void 0===this||null===this)throw new TypeError("can't convert "+this+" to object");return String(this).replace(f,"").replace(g,"")}}var h=c.$,i=a.Backgrid={Extension:{},resolveNameToClass:function(a,c){if(b.isString(a)){var d=b.map(a.split("-"),function(a){return a.slice(0,1).toUpperCase()+a.slice(1)}).join("")+c,e=i[d]||i.Extension[d];if(b.isUndefined(e))throw new ReferenceError("Class '"+d+"' not found");return e}return a},callByNeed:function(){var a=arguments[0];if(!b.isFunction(a))return a;var c=arguments[1],d=[].slice.call(arguments,2);return a.apply(c,d+""?d:[])}};b.extend(i,c.Events);var j=i.Command=function(a){b.extend(this,{altKey:!!a.altKey,"char":a["char"],charCode:a.charCode,ctrlKey:!!a.ctrlKey,key:a.key,keyCode:a.keyCode,locale:a.locale,location:a.location,metaKey:!!a.metaKey,repeat:!!a.repeat,shiftKey:!!a.shiftKey,which:a.which})};b.extend(j.prototype,{moveUp:function(){return 38==this.keyCode},moveDown:function(){return 40===this.keyCode},moveLeft:function(){return this.shiftKey&&9===this.keyCode},moveRight:function(){return!this.shiftKey&&9===this.keyCode},save:function(){return 13===this.keyCode},cancel:function(){return 27===this.keyCode},passThru:function(){return!(this.moveUp()||this.moveDown()||this.moveLeft()||this.moveRight()||this.save()||this.cancel())}});var k=i.CellFormatter=function(){};b.extend(k.prototype,{fromRaw:function(a){return a},toRaw:function(a){return a}});var l=i.NumberFormatter=function(a){if(b.extend(this,this.defaults,a||{}),this.decimals<0||this.decimals>20)throw new RangeError("decimals must be between 0 and 20")};l.prototype=new k,b.extend(l.prototype,{defaults:{decimals:2,decimalSeparator:".",orderSeparator:","},HUMANIZED_NUM_RE:/(\d)(?=(?:\d{3})+$)/g,fromRaw:function(a){if(b.isNull(a)||b.isUndefined(a))return"";a=a.toFixed(~~this.decimals);var c=a.split("."),d=c[0],e=c[1]?(this.decimalSeparator||".")+c[1]:"";return d.replace(this.HUMANIZED_NUM_RE,"$1"+this.orderSeparator)+e},toRaw:function(a){if(a=a.trim(),""===a)return null;for(var c="",d=a.split(this.orderSeparator),e=0;e",{tabIndex:-1,href:a,title:this.title||b,target:this.target}).text(b)),this.delegateEvents(),this}}),w=(i.EmailCell=u.extend({className:"email-cell",formatter:p,render:function(){this.$el.empty();var a=this.model,b=this.formatter.fromRaw(a.get(this.column.get("name")),a);return this.$el.append(h("",{tabIndex:-1,href:"mailto:"+b,title:b}).text(b)),this.delegateEvents(),this}}),i.NumberCell=t.extend({className:"number-cell",decimals:l.prototype.defaults.decimals,decimalSeparator:l.prototype.defaults.decimalSeparator,orderSeparator:l.prototype.defaults.orderSeparator,formatter:l,initialize:function(){w.__super__.initialize.apply(this,arguments);var a=this.formatter;a.decimals=this.decimals,a.decimalSeparator=this.decimalSeparator,a.orderSeparator=this.orderSeparator}})),x=(i.IntegerCell=w.extend({className:"integer-cell",decimals:0}),i.PercentCell=w.extend({className:"percent-cell",multiplier:m.prototype.defaults.multiplier,symbol:m.prototype.defaults.symbol,formatter:m,initialize:function(){x.__super__.initialize.apply(this,arguments);var a=this.formatter;a.multiplier=this.multiplier,a.symbol=this.symbol}})),y=i.DatetimeCell=t.extend({className:"datetime-cell",includeDate:n.prototype.defaults.includeDate,includeTime:n.prototype.defaults.includeTime,includeMilli:n.prototype.defaults.includeMilli,formatter:n,initialize:function(){y.__super__.initialize.apply(this,arguments);var a=this.formatter;a.includeDate=this.includeDate,a.includeTime=this.includeTime,a.includeMilli=this.includeMilli;var c=this.includeDate?"YYYY-MM-DD":"";c+=this.includeDate&&this.includeTime?"T":"",c+=this.includeTime?"HH:mm:ss":"",c+=this.includeTime&&this.includeMilli?".SSS":"",this.editor=this.editor.extend({attributes:b.extend({},this.editor.prototype.attributes,this.editor.attributes,{placeholder:c})})}}),z=(i.DateCell=y.extend({className:"date-cell",includeTime:!1}),i.TimeCell=y.extend({className:"time-cell",includeDate:!1}),i.BooleanCellEditor=r.extend({tagName:"input",attributes:{tabIndex:-1,type:"checkbox"},events:{mousedown:function(){this.mouseDown=!0},blur:"enterOrExitEditMode",mouseup:function(){this.mouseDown=!1},change:"saveOrCancel",keydown:"saveOrCancel"},render:function(){var a=this.model,b=this.formatter.fromRaw(a.get(this.column.get("name")),a);return this.$el.prop("checked",b),this},enterOrExitEditMode:function(a){if(!this.mouseDown){var b=this.model;b.trigger("backgrid:edited",b,this.column,new j(a))}},saveOrCancel:function(a){var b=this.model,c=this.column,d=this.formatter,e=new j(a);if(e.passThru()&&"change"!=a.type)return!0;e.cancel()&&(a.stopPropagation(),b.trigger("backgrid:edited",b,c,e));var f=this.$el;if(e.save()||e.moveLeft()||e.moveRight()||e.moveUp()||e.moveDown()){a.preventDefault(),a.stopPropagation();var g=d.toRaw(f.prop("checked"),b);b.set(c.get("name"),g),b.trigger("backgrid:edited",b,c,e)}else if("change"==a.type){var g=d.toRaw(f.prop("checked"),b);b.set(c.get("name"),g),f.focus()}}})),A=(i.BooleanCell=t.extend({className:"boolean-cell",editor:z,events:{click:"enterEditMode"},render:function(){this.$el.empty();var a=this.model,b=this.column,c=i.callByNeed(b.editable(),b,a);return this.$el.append(h("",{tabIndex:-1,type:"checkbox",checked:this.formatter.fromRaw(a.get(b.get("name")),a),disabled:!c})),this.delegateEvents(),this}}),i.SelectCellEditor=r.extend({tagName:"select",events:{change:"save",blur:"close",keydown:"close"},template:b.template('',null,{variable:null}),setOptionValues:function(a){this.optionValues=a,this.optionValues=b.result(this,"optionValues")},setMultiple:function(a){this.multiple=a,this.$el.prop("multiple",a)},_renderOptions:function(a,c){for(var d="",e=0;e-1});return d},render:function(){this.$el.empty();var a=b.result(this,"optionValues"),c=this.model,d=this.formatter.fromRaw(c.get(this.column.get("name")),c);if(!b.isArray(a))throw new TypeError("optionValues must be an array");for(var e=null,f=null,e=null,g=null,i=null,j=0;j-1}));else{if(!b.isObject(e))throw new TypeError("optionValues elements must be a name-value pair or an object hash of { name: 'optgroup label', value: [option name-value pairs] }");g=e.name,i=h("",{label:g}),i.append(this._renderOptions.call(this,e.values,d)),this.$el.append(i)}}return this.delegateEvents(),this},save:function(){var a=this.model,b=this.column;a.set(b.get("name"),this.formatter.toRaw(this.$el.val(),a))},close:function(a){var b=this.model,c=this.column,d=new j(a);d.cancel()?(a.stopPropagation(),b.trigger("backgrid:edited",b,c,new j(a))):(d.save()||d.moveLeft()||d.moveRight()||d.moveUp()||d.moveDown()||"blur"==a.type)&&(a.preventDefault(),a.stopPropagation(),this.save(a),b.trigger("backgrid:edited",b,c,new j(a)))}})),B=i.SelectCell=t.extend({className:"select-cell",editor:A,multiple:!1,formatter:q,optionValues:void 0,delimiter:", ",initialize:function(){B.__super__.initialize.apply(this,arguments),this.listenTo(this.model,"backgrid:edit",function(a,b,c,d){b.get("name")==this.column.get("name")&&(d.setOptionValues(this.optionValues),d.setMultiple(this.multiple))})},render:function(){this.$el.empty();var a=b.result(this,"optionValues"),c=this.model,d=this.formatter.fromRaw(c.get(this.column.get("name")),c),e=[];try{if(!b.isArray(a)||b.isEmpty(a))throw new TypeError;for(var f=0;f|Array.<{name: string, values: Array.}>}");throw n}return this.delegateEvents(),this}}),C=i.Column=c.Model.extend({defaults:{name:void 0,label:void 0,sortable:!0,editable:!0,renderable:!0,formatter:void 0,sortType:"cycle",sortValue:void 0,direction:null,cell:void 0,headerCell:void 0},initialize:function(){this.has("label")||this.set({label:this.get("name")},{silent:!0});var a=i.resolveNameToClass(this.get("headerCell"),"HeaderCell"),b=i.resolveNameToClass(this.get("cell"),"Cell");this.set({cell:b,headerCell:a},{silent:!0})},sortValue:function(){var a=this.get("sortValue");return b.isString(a)?this[a]:b.isFunction(a)?a:function(a,b){return a.get(b)}}});b.each(["sortable","renderable","editable"],function(a){C.prototype[a]=function(){var c=this.get(a);return b.isString(c)?this[c]:b.isFunction(c)?c:!!c}});{var D=i.Columns=c.Collection.extend({model:C}),E=i.Row=c.View.extend({tagName:"tr",initialize:function(a){var b=this.columns=a.columns;b instanceof c.Collection||(b=this.columns=new D(b));for(var d=this.cells=[],e=0;e").text(b.get("label")).append(""):document.createTextNode(b.get("label")),this.$el.append(a),this.$el.addClass(b.get("name")),this.$el.addClass(b.get("direction")),this.delegateEvents(),this}}),H=(i.HeaderRow=i.Row.extend({requiredOptions:["columns","collection"],initialize:function(){i.Row.prototype.initialize.apply(this,arguments)},makeCell:function(a,b){var c=a.get("headerCell")||b.headerCell||G;return c=new c({column:a,collection:this.collection})}}),i.Header=c.View.extend({tagName:"thead",initialize:function(a){this.columns=a.columns,this.columns instanceof c.Collection||(this.columns=new D(this.columns)),this.row=new i.HeaderRow({columns:this.columns,collection:this.collection})},render:function(){return this.$el.append(this.row.render().$el),this.delegateEvents(),this},remove:function(){return this.row.remove.apply(this.row,arguments),c.View.prototype.remove.apply(this,arguments)}})),I=i.Body=c.View.extend({tagName:"tbody",initialize:function(a){this.columns=a.columns,this.columns instanceof c.Collection||(this.columns=new D(this.columns)),this.row=a.row||E,this.rows=this.collection.map(function(a){var b=new this.row({columns:this.columns,model:a});return b},this),this.emptyText=a.emptyText,this._unshiftEmptyRowMayBe();var b=this.collection;this.listenTo(b,"add",this.insertRow),this.listenTo(b,"remove",this.removeRow),this.listenTo(b,"sort",this.refresh),this.listenTo(b,"reset",this.refresh),this.listenTo(b,"backgrid:sort",this.sort),this.listenTo(b,"backgrid:edited",this.moveToNextCell)},_unshiftEmptyRowMayBe:function(){0===this.rows.length&&null!=this.emptyText&&this.rows.unshift(new F({emptyText:this.emptyText,columns:this.columns}))},insertRow:function(a,b,d){if(this.rows[0]instanceof F&&this.rows.pop().remove(),!(b instanceof c.Collection||d))return void this.collection.add(a,d=b);var e=new this.row({columns:this.columns,model:a}),f=b.indexOf(a);this.rows.splice(f,0,e);var g=this.$el,h=g.children(),i=e.render().$el;return f>=h.length?g.append(i):h.eq(f).before(i),this},removeRow:function(a,c,d){return d?((b.isUndefined(d.render)||d.render)&&this.rows[d.index].remove(),this.rows.splice(d.index,1),this._unshiftEmptyRowMayBe(),this):(this.collection.remove(a,d=c),void this._unshiftEmptyRowMayBe())},refresh:function(){for(var a=0;ag?-1:1}},moveToNextCell:function(a,b,c){var d,e,f,g,h,j=this.collection.indexOf(a),k=this.columns.indexOf(b);if(this.rows[j].cells[k].exitEditMode(),c.moveUp()||c.moveDown()||c.moveLeft()||c.moveRight()||c.save()){var l=this.columns.length,m=l*this.collection.length;if(c.moveUp()||c.moveDown()){g=j+(c.moveUp()?-1:1);var n=this.rows[g];n?(d=n.cells[k],i.callByNeed(d.column.editable(),d.column,a)&&(d.enterEditMode(),a.trigger("backgrid:next",g,k,!1))):a.trigger("backgrid:next",g,k,!0)}else if(c.moveLeft()||c.moveRight()){for(var o=c.moveRight(),p=j*l+k+(o?1:-1);p>=0&&m>p;o?p++:p--)if(g=~~(p/l),h=p-g*l,d=this.rows[g].cells[h],e=i.callByNeed(d.column.renderable(),d.column,d.model),f=i.callByNeed(d.column.editable(),d.column,a),e&&f){d.enterEditMode(),a.trigger("backgrid:next",g,h,!1);break}p==m&&a.trigger("backgrid:next",~~(p/l),p-g*l,!0)}}return this}});i.Footer=c.View.extend({tagName:"tfoot",initialize:function(a){this.columns=a.columns,this.columns instanceof c.Collection||(this.columns=new i.Columns(this.columns))}}),i.Grid=c.View.extend({tagName:"table",className:"backgrid",header:H,body:I,footer:null,initialize:function(a){a.columns instanceof c.Collection||(a.columns=new D(a.columns)),this.columns=a.columns;var d=b.omit(a,["el","id","attributes","className","tagName","events"]);this.body=a.body||this.body,this.body=new this.body(d),this.header=a.header||this.header,this.header&&(this.header=new this.header(d)),this.footer=a.footer||this.footer,this.footer&&(this.footer=new this.footer(d)),this.listenTo(this.columns,"reset",function(){this.header&&(this.header=new(this.header.remove().constructor)(d)),this.body=new(this.body.remove().constructor)(d),this.footer&&(this.footer=new(this.footer.remove().constructor)(d)),this.render()})},insertRow:function(){return this.body.insertRow.apply(this.body,arguments),this},removeRow:function(){return this.body.removeRow.apply(this.body,arguments),this},insertColumn:function(){return this.columns.add.apply(this.columns,arguments),this},removeColumn:function(){return this.columns.remove.apply(this.columns,arguments),this},sort:function(){return this.body.sort.apply(this.body,arguments),this},render:function(){return this.$el.empty(),this.header&&this.$el.append(this.header.render().$el),this.footer&&this.$el.append(this.footer.render().$el),this.$el.append(this.body.render().$el),this.delegateEvents(),this.trigger("backgrid:rendered",this),this},remove:function(){return this.header&&this.header.remove.apply(this.header,arguments),this.body.remove.apply(this.body,arguments),this.footer&&this.footer.remove.apply(this.footer,arguments),c.View.prototype.remove.apply(this,arguments)}})}return i}); \ No newline at end of file diff --git a/package.json b/package.json index d67240f9..d083a39f 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "backgrid", - "version": "0.3.4", + "version": "0.3.5", "author": "Jimmy Yuen Ho Wong and contributors ", "description": "Backgrid.js is a set of components for building semantic and easily stylable data grid widgets with Backbone.", "homepage": "http://backgridjs.com/", diff --git a/test/coverage/coverage.json b/test/coverage/coverage.json new file mode 100644 index 00000000..61e68d75 --- /dev/null +++ b/test/coverage/coverage.json @@ -0,0 +1 @@ +{"lib/backgrid.js":{"path":"lib/backgrid.js","s":{"1":1,"2":1,"3":0,"4":1,"5":1,"6":1,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":1,"14":92,"15":92,"16":92,"17":92,"18":53,"19":92,"20":1,"21":1,"22":884,"23":173,"24":174,"25":173,"26":173,"27":1,"28":172,"29":711,"30":985,"31":985,"32":964,"33":21,"34":21,"35":21,"36":1,"37":1,"38":26,"39":1,"40":29,"41":25,"42":23,"43":24,"44":18,"45":10,"46":5,"47":1,"48":1,"49":54,"50":13,"51":1,"52":178,"53":178,"54":2,"55":1,"56":1,"57":171,"58":2,"59":169,"60":169,"61":169,"62":169,"63":169,"64":11,"65":11,"66":2,"67":9,"68":9,"69":9,"70":13,"71":9,"72":9,"73":9,"74":16,"75":9,"76":9,"77":9,"78":9,"79":6,"80":1,"81":7,"82":1,"83":6,"84":6,"85":6,"86":6,"87":6,"88":6,"89":6,"90":2,"91":4,"92":1,"93":44,"94":44,"95":1,"96":1,"97":1,"98":34,"99":2,"100":32,"101":32,"102":1,"103":1,"104":1,"105":31,"106":30,"107":30,"108":30,"109":31,"110":31,"111":31,"112":15,"113":3,"114":12,"115":4,"116":8,"117":2,"118":6,"119":1,"120":21,"121":21,"122":21,"123":13,"124":21,"125":14,"126":14,"127":5,"128":21,"129":6,"130":21,"131":19,"132":2,"133":17,"134":17,"135":1,"136":1,"137":1,"138":44,"139":3,"140":41,"141":1,"142":1,"143":1,"144":8,"145":8,"146":1,"147":1,"148":1,"149":1,"150":23,"151":1,"152":40,"153":40,"154":40,"155":13,"156":40,"157":9,"158":9,"159":9,"160":1,"161":19,"162":19,"163":7,"164":19,"165":19,"166":19,"167":8,"168":8,"169":8,"170":8,"171":8,"172":8,"173":7,"174":7,"175":7,"176":7,"177":7,"178":3,"179":4,"180":4,"181":1,"182":1,"183":1,"184":12,"185":12,"186":0,"187":0,"188":12,"189":12,"190":1,"191":259,"192":259,"193":67,"194":259,"195":259,"196":259,"197":256,"198":259,"199":259,"200":259,"201":11,"202":7,"203":259,"204":259,"205":7,"206":7,"207":7,"208":7,"209":259,"210":256,"211":259,"212":258,"213":259,"214":255,"215":207,"216":207,"217":207,"218":207,"219":207,"220":20,"221":20,"222":20,"223":20,"224":20,"225":20,"226":20,"227":20,"228":20,"229":20,"230":20,"231":20,"232":1,"233":1,"234":8,"235":8,"236":8,"237":8,"238":8,"239":8,"240":89,"241":1,"242":1,"243":89,"244":1,"245":1,"246":6,"247":6,"248":6,"249":6,"250":6,"251":6,"252":6,"253":6,"254":6,"255":1,"256":2,"257":2,"258":2,"259":2,"260":2,"261":2,"262":1,"263":166,"264":166,"265":166,"266":166,"267":166,"268":1,"269":1,"270":4,"271":4,"272":4,"273":4,"274":1,"275":16,"276":16,"277":16,"278":16,"279":16,"280":16,"281":16,"282":16,"283":16,"284":16,"285":1,"286":1,"287":1,"288":1,"289":0,"290":7,"291":7,"292":7,"293":7,"294":2,"295":1,"296":1,"297":1,"298":1,"299":1,"300":1,"301":1,"302":0,"303":1,"304":0,"305":0,"306":1,"307":1,"308":0,"309":0,"310":0,"311":0,"312":0,"313":1,"314":1,"315":1,"316":1,"317":1,"318":20,"319":20,"320":20,"321":20,"322":20,"323":20,"324":1,"325":13,"326":13,"327":6,"328":6,"329":8,"330":8,"331":24,"332":8,"333":13,"334":13,"335":13,"336":13,"337":13,"338":0,"339":13,"340":13,"341":13,"342":13,"343":13,"344":13,"345":25,"346":25,"347":17,"348":17,"349":17,"350":8,"351":8,"352":8,"353":8,"354":8,"355":0,"356":13,"357":13,"358":4,"359":4,"360":4,"361":1,"362":1,"363":1,"364":1,"365":0,"366":0,"367":1,"368":1,"369":1,"370":1,"371":1,"372":1,"373":9,"374":9,"375":1,"376":1,"377":1,"378":10,"379":10,"380":10,"381":10,"382":10,"383":10,"384":10,"385":0,"386":10,"387":12,"388":12,"389":24,"390":24,"391":18,"392":18,"393":18,"394":9,"395":6,"396":6,"397":6,"398":18,"399":18,"400":3,"401":0,"402":10,"403":0,"404":0,"405":0,"406":10,"407":10,"408":1,"409":181,"410":181,"411":181,"412":181,"413":181,"414":16,"415":16,"416":1,"417":15,"418":8,"419":7,"420":26,"421":1,"422":3,"423":990,"424":990,"425":15,"426":975,"427":9,"428":966,"429":1,"430":1,"431":191,"432":191,"433":6,"434":191,"435":191,"436":200,"437":191,"438":8,"439":8,"440":8,"441":8,"442":8,"443":0,"444":8,"445":8,"446":0,"447":191,"448":6,"449":6,"450":189,"451":175,"452":175,"453":175,"454":184,"455":175,"456":175,"457":175,"458":86,"459":86,"460":86,"461":86,"462":1,"463":13,"464":13,"465":14,"466":14,"467":14,"468":14,"469":14,"470":14,"471":14,"472":1,"473":37,"474":37,"475":15,"476":37,"477":37,"478":4,"479":4,"480":4,"481":4,"482":37,"483":37,"484":37,"485":36,"486":37,"487":36,"488":37,"489":35,"490":37,"491":3,"492":3,"493":12,"494":12,"495":12,"496":8,"497":8,"498":8,"499":8,"500":1,"501":5,"502":1,"503":4,"504":1,"505":3,"506":1,"507":3,"508":1,"509":2,"510":8,"511":8,"512":8,"513":8,"514":3,"515":5,"516":31,"517":31,"518":31,"519":31,"520":31,"521":30,"522":1,"523":31,"524":31,"525":31,"526":31,"527":31,"528":1,"529":12,"530":19,"531":19,"532":19,"533":1,"534":9,"535":9,"536":1,"537":9,"538":5,"539":5,"540":5,"541":2,"542":2,"543":1,"544":41,"545":41,"546":32,"547":41,"548":41,"549":105,"550":105,"551":41,"552":41,"553":41,"554":41,"555":41,"556":41,"557":41,"558":41,"559":41,"560":78,"561":3,"562":15,"563":2,"564":15,"565":4,"566":4,"567":11,"568":11,"569":11,"570":11,"571":11,"572":11,"573":11,"574":9,"575":2,"576":11,"577":7,"578":2,"579":2,"580":2,"581":5,"582":5,"583":5,"584":5,"585":5,"586":30,"587":73,"588":30,"589":60,"590":60,"591":30,"592":30,"593":30,"594":30,"595":67,"596":67,"597":67,"598":156,"599":156,"600":67,"601":67,"602":67,"603":2,"604":6,"605":6,"606":2,"607":14,"608":1,"609":13,"610":1,"611":13,"612":13,"613":13,"614":5,"615":8,"616":5,"617":3,"618":13,"619":16,"620":13,"621":4,"622":4,"623":3,"624":1,"625":3,"626":3,"627":1,"628":1,"629":9,"630":9,"631":9,"632":13,"633":13,"634":13,"635":26,"636":26,"637":8,"638":26,"639":0,"640":26,"641":9,"642":17,"643":6,"644":6,"645":6,"646":6,"647":6,"648":5,"649":5,"650":5,"651":2,"652":2,"653":2,"654":2,"655":2,"656":2,"657":2,"658":0,"659":3,"660":2,"661":2,"662":6,"663":6,"664":6,"665":6,"666":6,"667":6,"668":2,"669":2,"670":2,"671":2,"672":0,"673":6,"674":1,"675":8,"676":8,"677":0,"678":1,"679":7,"680":7,"681":7,"682":7,"683":7,"684":7,"685":7,"686":7,"687":7,"688":7,"689":7,"690":7,"691":7,"692":1,"693":1,"694":1,"695":1,"696":1,"697":1,"698":1,"699":1,"700":1,"701":1,"702":1,"703":1,"704":1,"705":1,"706":1,"707":1,"708":4,"709":4,"710":4,"711":4,"712":4,"713":4,"714":4,"715":4,"716":4,"717":1,"718":1,"719":1,"720":1,"721":1},"b":{"1":[0,1],"2":[0,1],"3":[1,1],"4":[0,0],"5":[0,0],"6":[0,92],"7":[173,711],"8":[173,1],"9":[1,172],"10":[964,21],"11":[19,2],"12":[23,3],"13":[24,23],"14":[5,5,5,5,5,5],"15":[178,174],"16":[2,176],"17":[178,177],"18":[2,169],"19":[171,171],"20":[9,160],"21":[9,0],"22":[2,9],"23":[9,0],"24":[6,3],"25":[9,9],"26":[6,0],"27":[6,0],"28":[6,6,6,3],"29":[2,4],"30":[44,21],"31":[1,43],"32":[44,11],"33":[2,32],"34":[1,31],"35":[30,0],"36":[21,9],"37":[12,18],"38":[30,21],"39":[9,9],"40":[31,9],"41":[31,9],"42":[15,16],"43":[3,12],"44":[15,9],"45":[4,8],"46":[12,10],"47":[2,6],"48":[8,4],"49":[1,5],"50":[6,2],"51":[21,6],"52":[21,11],"53":[21,6],"54":[21,11],"55":[21,11],"56":[21,17],"57":[21,11],"58":[13,8],"59":[14,7],"60":[6,8],"61":[5,9],"62":[6,15],"63":[21,13],"64":[2,17],"65":[19,18],"66":[3,41],"67":[44,42],"68":[1,7],"69":[8,5],"70":[7,16],"71":[14,2],"72":[13,27],"73":[9,0],"74":[9,9],"75":[7,12],"76":[7,1],"77":[8,8,8,8,7,4],"78":[3,4],"79":[1,0],"80":[12,0],"81":[12,12],"82":[0,12],"83":[67,192],"84":[259,256],"85":[256,3],"86":[259,256],"87":[7,4],"88":[7,0],"89":[256,3],"90":[258,1],"91":[255,4],"92":[20,0],"93":[1,0],"94":[1,1],"95":[1,88],"96":[6,5],"97":[6,5],"98":[6,5],"99":[12,4],"100":[8,8],"101":[16,12],"102":[12,4],"103":[3,13],"104":[16,12],"105":[1,1],"106":[0,1],"107":[1,1],"108":[0,1],"109":[0,1],"110":[1,1,1,1,1],"111":[1,0],"112":[0,13],"113":[17,8],"114":[8,0],"115":[0,1],"116":[1,0],"117":[1,1,1,1,1,1],"118":[1,0],"119":[0,10],"120":[10,10],"121":[18,6],"122":[9,9],"123":[6,0],"124":[3,15],"125":[0,0],"126":[181,0],"127":[1,15],"128":[8,7],"129":[15,975],"130":[9,966],"131":[6,185],"132":[0,8],"133":[8,0],"134":[15,22],"135":[4,0],"136":[36,1],"137":[36,1],"138":[35,2],"139":[37,36],"140":[12,0],"141":[1,4],"142":[1,3],"143":[1,2],"144":[8,0],"145":[3,5],"146":[30,1],"147":[19,19,19],"148":[1,8],"149":[32,9],"150":[41,39],"151":[3,75],"152":[78,9],"153":[2,13],"154":[4,11],"155":[15,4],"156":[9,2],"157":[2,5],"158":[5,0],"159":[5,0],"160":[1,13],"161":[1,12],"162":[5,8],"163":[5,3],"164":[10,3],"165":[4,9],"166":[13,13],"167":[4,3],"168":[3,1],"169":[1,2],"170":[8,18],"171":[0,26],"172":[9,17],"173":[5,1],"174":[6,5,4,3,2],"175":[2,3],"176":[5,4],"177":[1,1],"178":[2,0],"179":[2,0],"180":[2,1],"181":[3,2],"182":[6,6],"183":[2,2],"184":[2,4],"185":[6,4],"186":[0,2],"187":[0,8],"188":[7,0],"189":[7,6],"190":[7,6],"191":[7,0],"192":[7,0],"193":[7,0],"194":[1,0],"195":[1,0],"196":[4,0],"197":[4,0],"198":[1,1],"199":[1,1]},"f":{"1":1,"2":1,"3":0,"4":92,"5":884,"6":174,"7":985,"8":26,"9":29,"10":25,"11":23,"12":24,"13":18,"14":10,"15":5,"16":41,"17":54,"18":13,"19":178,"20":171,"21":11,"22":7,"23":6,"24":6,"25":44,"26":34,"27":19,"28":17,"29":41,"30":44,"31":5,"32":8,"33":21,"34":23,"35":40,"36":9,"37":19,"38":19,"39":8,"40":12,"41":259,"42":11,"43":7,"44":207,"45":20,"46":1,"47":8,"48":89,"49":6,"50":6,"51":2,"52":166,"53":4,"54":16,"55":1,"56":0,"57":7,"58":2,"59":1,"60":20,"61":13,"62":6,"63":8,"64":13,"65":4,"66":1,"67":9,"68":1,"69":10,"70":181,"71":16,"72":26,"73":3,"74":990,"75":191,"76":8,"77":6,"78":189,"79":175,"80":86,"81":13,"82":14,"83":37,"84":4,"85":3,"86":12,"87":8,"88":5,"89":3,"90":31,"91":12,"92":19,"93":9,"94":5,"95":2,"96":41,"97":105,"98":78,"99":15,"100":7,"101":30,"102":60,"103":67,"104":2,"105":14,"106":16,"107":1,"108":13,"109":26,"110":6,"111":8,"112":7,"113":1,"114":1,"115":1,"116":1,"117":1,"118":1,"119":4,"120":1},"fnMap":{"1":{"name":"(anonymous_1)","line":9,"loc":{"start":{"line":9,"column":1},"end":{"line":9,"column":20}}},"2":{"name":"(anonymous_2)","line":19,"loc":{"start":{"line":19,"column":2},"end":{"line":19,"column":31}}},"3":{"name":"trim","line":44,"loc":{"start":{"line":44,"column":26},"end":{"line":44,"column":42}}},"4":{"name":"lpad","line":54,"loc":{"start":{"line":54,"column":0},"end":{"line":54,"column":35}}},"5":{"name":"(anonymous_5)","line":70,"loc":{"start":{"line":70,"column":22},"end":{"line":70,"column":46}}},"6":{"name":"(anonymous_6)","line":72,"loc":{"start":{"line":72,"column":39},"end":{"line":72,"column":52}}},"7":{"name":"(anonymous_7)","line":85,"loc":{"start":{"line":85,"column":14},"end":{"line":85,"column":26}}},"8":{"name":"(anonymous_8)","line":108,"loc":{"start":{"line":108,"column":33},"end":{"line":108,"column":48}}},"9":{"name":"(anonymous_9)","line":130,"loc":{"start":{"line":130,"column":10},"end":{"line":130,"column":22}}},"10":{"name":"(anonymous_10)","line":136,"loc":{"start":{"line":136,"column":12},"end":{"line":136,"column":24}}},"11":{"name":"(anonymous_11)","line":142,"loc":{"start":{"line":142,"column":12},"end":{"line":142,"column":24}}},"12":{"name":"(anonymous_12)","line":148,"loc":{"start":{"line":148,"column":13},"end":{"line":148,"column":25}}},"13":{"name":"(anonymous_13)","line":154,"loc":{"start":{"line":154,"column":8},"end":{"line":154,"column":20}}},"14":{"name":"(anonymous_14)","line":160,"loc":{"start":{"line":160,"column":10},"end":{"line":160,"column":22}}},"15":{"name":"(anonymous_15)","line":166,"loc":{"start":{"line":166,"column":12},"end":{"line":166,"column":24}}},"16":{"name":"(anonymous_16)","line":191,"loc":{"start":{"line":191,"column":45},"end":{"line":191,"column":57}}},"17":{"name":"(anonymous_17)","line":204,"loc":{"start":{"line":204,"column":11},"end":{"line":204,"column":37}}},"18":{"name":"(anonymous_18)","line":220,"loc":{"start":{"line":220,"column":9},"end":{"line":220,"column":41}}},"19":{"name":"(anonymous_19)","line":235,"loc":{"start":{"line":235,"column":49},"end":{"line":235,"column":68}}},"20":{"name":"(anonymous_20)","line":276,"loc":{"start":{"line":276,"column":11},"end":{"line":276,"column":36}}},"21":{"name":"(anonymous_21)","line":298,"loc":{"start":{"line":298,"column":9},"end":{"line":298,"column":41}}},"22":{"name":"(anonymous_22)","line":335,"loc":{"start":{"line":335,"column":51},"end":{"line":335,"column":63}}},"23":{"name":"(anonymous_23)","line":368,"loc":{"start":{"line":368,"column":11},"end":{"line":368,"column":36}}},"24":{"name":"(anonymous_24)","line":385,"loc":{"start":{"line":385,"column":9},"end":{"line":385,"column":42}}},"25":{"name":"(anonymous_25)","line":409,"loc":{"start":{"line":409,"column":53},"end":{"line":409,"column":72}}},"26":{"name":"(anonymous_26)","line":443,"loc":{"start":{"line":443,"column":12},"end":{"line":443,"column":38}}},"27":{"name":"(anonymous_27)","line":508,"loc":{"start":{"line":508,"column":11},"end":{"line":508,"column":37}}},"28":{"name":"(anonymous_28)","line":528,"loc":{"start":{"line":528,"column":9},"end":{"line":528,"column":41}}},"29":{"name":"(anonymous_29)","line":541,"loc":{"start":{"line":541,"column":49},"end":{"line":541,"column":61}}},"30":{"name":"(anonymous_30)","line":554,"loc":{"start":{"line":554,"column":11},"end":{"line":554,"column":38}}},"31":{"name":"(anonymous_31)","line":567,"loc":{"start":{"line":567,"column":47},"end":{"line":567,"column":59}}},"32":{"name":"(anonymous_32)","line":580,"loc":{"start":{"line":580,"column":9},"end":{"line":580,"column":41}}},"33":{"name":"(anonymous_33)","line":600,"loc":{"start":{"line":600,"column":49},"end":{"line":600,"column":61}}},"34":{"name":"(anonymous_34)","line":612,"loc":{"start":{"line":612,"column":11},"end":{"line":612,"column":38}}},"35":{"name":"(anonymous_35)","line":646,"loc":{"start":{"line":646,"column":14},"end":{"line":646,"column":33}}},"36":{"name":"(anonymous_36)","line":661,"loc":{"start":{"line":661,"column":14},"end":{"line":661,"column":39}}},"37":{"name":"(anonymous_37)","line":704,"loc":{"start":{"line":704,"column":14},"end":{"line":704,"column":33}}},"38":{"name":"(anonymous_38)","line":716,"loc":{"start":{"line":716,"column":10},"end":{"line":716,"column":22}}},"39":{"name":"(anonymous_39)","line":739,"loc":{"start":{"line":739,"column":16},"end":{"line":739,"column":29}}},"40":{"name":"(anonymous_40)","line":772,"loc":{"start":{"line":772,"column":14},"end":{"line":772,"column":39}}},"41":{"name":"(anonymous_41)","line":832,"loc":{"start":{"line":832,"column":14},"end":{"line":832,"column":33}}},"42":{"name":"(anonymous_42)","line":851,"loc":{"start":{"line":851,"column":57},"end":{"line":851,"column":69}}},"43":{"name":"(anonymous_43)","line":858,"loc":{"start":{"line":858,"column":18},"end":{"line":858,"column":36}}},"44":{"name":"(anonymous_44)","line":876,"loc":{"start":{"line":876,"column":10},"end":{"line":876,"column":22}}},"45":{"name":"(anonymous_45)","line":903,"loc":{"start":{"line":903,"column":17},"end":{"line":903,"column":29}}},"46":{"name":"(anonymous_46)","line":932,"loc":{"start":{"line":932,"column":15},"end":{"line":932,"column":40}}},"47":{"name":"(anonymous_47)","line":941,"loc":{"start":{"line":941,"column":16},"end":{"line":941,"column":28}}},"48":{"name":"(anonymous_48)","line":955,"loc":{"start":{"line":955,"column":10},"end":{"line":955,"column":22}}},"49":{"name":"(anonymous_49)","line":1008,"loc":{"start":{"line":1008,"column":14},"end":{"line":1008,"column":33}}},"50":{"name":"(anonymous_50)","line":1014,"loc":{"start":{"line":1014,"column":10},"end":{"line":1014,"column":22}}},"51":{"name":"(anonymous_51)","line":1045,"loc":{"start":{"line":1045,"column":10},"end":{"line":1045,"column":22}}},"52":{"name":"(anonymous_52)","line":1093,"loc":{"start":{"line":1093,"column":14},"end":{"line":1093,"column":33}}},"53":{"name":"(anonymous_53)","line":1150,"loc":{"start":{"line":1150,"column":14},"end":{"line":1150,"column":26}}},"54":{"name":"(anonymous_54)","line":1203,"loc":{"start":{"line":1203,"column":14},"end":{"line":1203,"column":33}}},"55":{"name":"(anonymous_55)","line":1275,"loc":{"start":{"line":1275,"column":17},"end":{"line":1275,"column":29}}},"56":{"name":"(anonymous_56)","line":1279,"loc":{"start":{"line":1279,"column":15},"end":{"line":1279,"column":27}}},"57":{"name":"(anonymous_57)","line":1290,"loc":{"start":{"line":1290,"column":10},"end":{"line":1290,"column":22}}},"58":{"name":"(anonymous_58)","line":1301,"loc":{"start":{"line":1301,"column":23},"end":{"line":1301,"column":36}}},"59":{"name":"(anonymous_59)","line":1313,"loc":{"start":{"line":1313,"column":16},"end":{"line":1313,"column":29}}},"60":{"name":"(anonymous_60)","line":1367,"loc":{"start":{"line":1367,"column":10},"end":{"line":1367,"column":22}}},"61":{"name":"(anonymous_61)","line":1404,"loc":{"start":{"line":1404,"column":19},"end":{"line":1404,"column":43}}},"62":{"name":"(anonymous_62)","line":1409,"loc":{"start":{"line":1409,"column":15},"end":{"line":1409,"column":35}}},"63":{"name":"(anonymous_63)","line":1414,"loc":{"start":{"line":1414,"column":18},"end":{"line":1414,"column":50}}},"64":{"name":"(anonymous_64)","line":1433,"loc":{"start":{"line":1433,"column":10},"end":{"line":1433,"column":22}}},"65":{"name":"(anonymous_65)","line":1480,"loc":{"start":{"line":1480,"column":8},"end":{"line":1480,"column":21}}},"66":{"name":"(anonymous_66)","line":1490,"loc":{"start":{"line":1490,"column":9},"end":{"line":1490,"column":22}}},"67":{"name":"(anonymous_67)","line":1572,"loc":{"start":{"line":1572,"column":14},"end":{"line":1572,"column":33}}},"68":{"name":"(anonymous_68)","line":1574,"loc":{"start":{"line":1574,"column":47},"end":{"line":1574,"column":86}}},"69":{"name":"(anonymous_69)","line":1587,"loc":{"start":{"line":1587,"column":10},"end":{"line":1587,"column":22}}},"70":{"name":"(anonymous_70)","line":1783,"loc":{"start":{"line":1783,"column":14},"end":{"line":1783,"column":26}}},"71":{"name":"(anonymous_71)","line":1807,"loc":{"start":{"line":1807,"column":13},"end":{"line":1807,"column":25}}},"72":{"name":"(anonymous_72)","line":1812,"loc":{"start":{"line":1812,"column":11},"end":{"line":1812,"column":37}}},"73":{"name":"(anonymous_73)","line":1839,"loc":{"start":{"line":1839,"column":47},"end":{"line":1839,"column":62}}},"74":{"name":"(anonymous_74)","line":1840,"loc":{"start":{"line":1840,"column":26},"end":{"line":1840,"column":38}}},"75":{"name":"(anonymous_75)","line":1893,"loc":{"start":{"line":1893,"column":14},"end":{"line":1893,"column":33}}},"76":{"name":"(anonymous_76)","line":1905,"loc":{"start":{"line":1905,"column":34},"end":{"line":1905,"column":61}}},"77":{"name":"(anonymous_77)","line":1922,"loc":{"start":{"line":1922,"column":37},"end":{"line":1922,"column":70}}},"78":{"name":"(anonymous_78)","line":1939,"loc":{"start":{"line":1939,"column":12},"end":{"line":1939,"column":30}}},"79":{"name":"(anonymous_79)","line":1949,"loc":{"start":{"line":1949,"column":10},"end":{"line":1949,"column":22}}},"80":{"name":"(anonymous_80)","line":1969,"loc":{"start":{"line":1969,"column":10},"end":{"line":1969,"column":22}}},"81":{"name":"(anonymous_81)","line":2001,"loc":{"start":{"line":2001,"column":14},"end":{"line":2001,"column":33}}},"82":{"name":"(anonymous_82)","line":2009,"loc":{"start":{"line":2009,"column":10},"end":{"line":2009,"column":22}}},"83":{"name":"(anonymous_83)","line":2057,"loc":{"start":{"line":2057,"column":14},"end":{"line":2057,"column":33}}},"84":{"name":"(anonymous_84)","line":2066,"loc":{"start":{"line":2066,"column":18},"end":{"line":2066,"column":36}}},"85":{"name":"(anonymous_85)","line":2088,"loc":{"start":{"line":2088,"column":23},"end":{"line":2088,"column":35}}},"86":{"name":"(anonymous_86)","line":2099,"loc":{"start":{"line":2099,"column":20},"end":{"line":2099,"column":49}}},"87":{"name":"(anonymous_87)","line":2109,"loc":{"start":{"line":2109,"column":11},"end":{"line":2109,"column":24}}},"88":{"name":"cycleSort","line":2116,"loc":{"start":{"line":2116,"column":4},"end":{"line":2116,"column":36}}},"89":{"name":"toggleSort","line":2122,"loc":{"start":{"line":2122,"column":4},"end":{"line":2122,"column":37}}},"90":{"name":"(anonymous_90)","line":2139,"loc":{"start":{"line":2139,"column":10},"end":{"line":2139,"column":22}}},"91":{"name":"(anonymous_91)","line":2181,"loc":{"start":{"line":2181,"column":14},"end":{"line":2181,"column":26}}},"92":{"name":"(anonymous_92)","line":2185,"loc":{"start":{"line":2185,"column":12},"end":{"line":2185,"column":39}}},"93":{"name":"(anonymous_93)","line":2218,"loc":{"start":{"line":2218,"column":14},"end":{"line":2218,"column":33}}},"94":{"name":"(anonymous_94)","line":2233,"loc":{"start":{"line":2233,"column":10},"end":{"line":2233,"column":22}}},"95":{"name":"(anonymous_95)","line":2244,"loc":{"start":{"line":2244,"column":10},"end":{"line":2244,"column":22}}},"96":{"name":"(anonymous_96)","line":2285,"loc":{"start":{"line":2285,"column":14},"end":{"line":2285,"column":33}}},"97":{"name":"(anonymous_97)","line":2293,"loc":{"start":{"line":2293,"column":36},"end":{"line":2293,"column":53}}},"98":{"name":"(anonymous_98)","line":2314,"loc":{"start":{"line":2314,"column":25},"end":{"line":2314,"column":37}}},"99":{"name":"(anonymous_99)","line":2346,"loc":{"start":{"line":2346,"column":13},"end":{"line":2346,"column":51}}},"100":{"name":"(anonymous_100)","line":2402,"loc":{"start":{"line":2402,"column":13},"end":{"line":2402,"column":51}}},"101":{"name":"(anonymous_101)","line":2426,"loc":{"start":{"line":2426,"column":11},"end":{"line":2426,"column":23}}},"102":{"name":"(anonymous_102)","line":2431,"loc":{"start":{"line":2431,"column":36},"end":{"line":2431,"column":53}}},"103":{"name":"(anonymous_103)","line":2453,"loc":{"start":{"line":2453,"column":10},"end":{"line":2453,"column":22}}},"104":{"name":"(anonymous_104)","line":2474,"loc":{"start":{"line":2474,"column":10},"end":{"line":2474,"column":22}}},"105":{"name":"(anonymous_105)","line":2502,"loc":{"start":{"line":2502,"column":8},"end":{"line":2502,"column":37}}},"106":{"name":"(anonymous_106)","line":2520,"loc":{"start":{"line":2520,"column":41},"end":{"line":2520,"column":58}}},"107":{"name":"(anonymous_107)","line":2540,"loc":{"start":{"line":2540,"column":51},"end":{"line":2540,"column":63}}},"108":{"name":"(anonymous_108)","line":2555,"loc":{"start":{"line":2555,"column":18},"end":{"line":2555,"column":47}}},"109":{"name":"(anonymous_109)","line":2557,"loc":{"start":{"line":2557,"column":11},"end":{"line":2557,"column":34}}},"110":{"name":"(anonymous_110)","line":2585,"loc":{"start":{"line":2585,"column":18},"end":{"line":2585,"column":52}}},"111":{"name":"(anonymous_111)","line":2667,"loc":{"start":{"line":2667,"column":14},"end":{"line":2667,"column":33}}},"112":{"name":"(anonymous_112)","line":2759,"loc":{"start":{"line":2759,"column":14},"end":{"line":2759,"column":33}}},"113":{"name":"(anonymous_113)","line":2784,"loc":{"start":{"line":2784,"column":41},"end":{"line":2784,"column":53}}},"114":{"name":"(anonymous_114)","line":2799,"loc":{"start":{"line":2799,"column":13},"end":{"line":2799,"column":25}}},"115":{"name":"(anonymous_115)","line":2807,"loc":{"start":{"line":2807,"column":13},"end":{"line":2807,"column":25}}},"116":{"name":"(anonymous_116)","line":2819,"loc":{"start":{"line":2819,"column":16},"end":{"line":2819,"column":28}}},"117":{"name":"(anonymous_117)","line":2831,"loc":{"start":{"line":2831,"column":16},"end":{"line":2831,"column":28}}},"118":{"name":"(anonymous_118)","line":2839,"loc":{"start":{"line":2839,"column":8},"end":{"line":2839,"column":20}}},"119":{"name":"(anonymous_119)","line":2849,"loc":{"start":{"line":2849,"column":10},"end":{"line":2849,"column":22}}},"120":{"name":"(anonymous_120)","line":2874,"loc":{"start":{"line":2874,"column":10},"end":{"line":2874,"column":22}}}},"statementMap":{"1":{"start":{"line":9,"column":0},"end":{"line":2883,"column":4}},"2":{"start":{"line":12,"column":2},"end":{"line":18,"column":44}},"3":{"start":{"line":13,"column":4},"end":{"line":15,"column":50}},"4":{"start":{"line":18,"column":7},"end":{"line":18,"column":44}},"5":{"start":{"line":35,"column":0},"end":{"line":37,"column":17}},"6":{"start":{"line":38,"column":0},"end":{"line":52,"column":1}},"7":{"start":{"line":41,"column":2},"end":{"line":41,"column":22}},"8":{"start":{"line":42,"column":2},"end":{"line":43,"column":45}},"9":{"start":{"line":44,"column":2},"end":{"line":51,"column":4}},"10":{"start":{"line":45,"column":4},"end":{"line":47,"column":5}},"11":{"start":{"line":46,"column":6},"end":{"line":46,"column":66}},"12":{"start":{"line":48,"column":4},"end":{"line":50,"column":34}},"13":{"start":{"line":54,"column":0},"end":{"line":62,"column":1}},"14":{"start":{"line":55,"column":2},"end":{"line":55,"column":46}},"15":{"start":{"line":56,"column":2},"end":{"line":56,"column":48}},"16":{"start":{"line":57,"column":2},"end":{"line":57,"column":19}},"17":{"start":{"line":58,"column":2},"end":{"line":60,"column":3}},"18":{"start":{"line":59,"column":4},"end":{"line":59,"column":31}},"19":{"start":{"line":61,"column":2},"end":{"line":61,"column":23}},"20":{"start":{"line":64,"column":0},"end":{"line":64,"column":19}},"21":{"start":{"line":66,"column":0},"end":{"line":94,"column":2}},"22":{"start":{"line":71,"column":4},"end":{"line":80,"column":5}},"23":{"start":{"line":72,"column":6},"end":{"line":74,"column":27}},"24":{"start":{"line":73,"column":8},"end":{"line":73,"column":56}},"25":{"start":{"line":75,"column":6},"end":{"line":75,"column":59}},"26":{"start":{"line":76,"column":6},"end":{"line":78,"column":7}},"27":{"start":{"line":77,"column":8},"end":{"line":77,"column":66}},"28":{"start":{"line":79,"column":6},"end":{"line":79,"column":19}},"29":{"start":{"line":82,"column":4},"end":{"line":82,"column":16}},"30":{"start":{"line":86,"column":4},"end":{"line":86,"column":29}},"31":{"start":{"line":87,"column":4},"end":{"line":87,"column":43}},"32":{"start":{"line":87,"column":30},"end":{"line":87,"column":43}},"33":{"start":{"line":89,"column":4},"end":{"line":89,"column":31}},"34":{"start":{"line":90,"column":4},"end":{"line":90,"column":43}},"35":{"start":{"line":91,"column":4},"end":{"line":91,"column":59}},"36":{"start":{"line":95,"column":0},"end":{"line":95,"column":36}},"37":{"start":{"line":108,"column":0},"end":{"line":123,"column":2}},"38":{"start":{"line":109,"column":2},"end":{"line":122,"column":5}},"39":{"start":{"line":124,"column":0},"end":{"line":170,"column":3}},"40":{"start":{"line":130,"column":24},"end":{"line":130,"column":50}},"41":{"start":{"line":136,"column":26},"end":{"line":136,"column":53}},"42":{"start":{"line":142,"column":26},"end":{"line":142,"column":69}},"43":{"start":{"line":148,"column":27},"end":{"line":148,"column":71}},"44":{"start":{"line":154,"column":22},"end":{"line":154,"column":49}},"45":{"start":{"line":160,"column":24},"end":{"line":160,"column":51}},"46":{"start":{"line":167,"column":4},"end":{"line":168,"column":63}},"47":{"start":{"line":191,"column":0},"end":{"line":191,"column":60}},"48":{"start":{"line":192,"column":0},"end":{"line":224,"column":3}},"49":{"start":{"line":205,"column":4},"end":{"line":205,"column":19}},"50":{"start":{"line":221,"column":4},"end":{"line":221,"column":25}},"51":{"start":{"line":235,"column":0},"end":{"line":241,"column":2}},"52":{"start":{"line":236,"column":2},"end":{"line":236,"column":47}},"53":{"start":{"line":238,"column":2},"end":{"line":240,"column":3}},"54":{"start":{"line":239,"column":4},"end":{"line":239,"column":62}},"55":{"start":{"line":242,"column":0},"end":{"line":242,"column":48}},"56":{"start":{"line":243,"column":0},"end":{"line":324,"column":3}},"57":{"start":{"line":277,"column":4},"end":{"line":277,"column":61}},"58":{"start":{"line":277,"column":51},"end":{"line":277,"column":61}},"59":{"start":{"line":279,"column":4},"end":{"line":279,"column":45}},"60":{"start":{"line":281,"column":4},"end":{"line":281,"column":34}},"61":{"start":{"line":282,"column":4},"end":{"line":282,"column":31}},"62":{"start":{"line":283,"column":4},"end":{"line":283,"column":80}},"63":{"start":{"line":285,"column":4},"end":{"line":285,"column":96}},"64":{"start":{"line":299,"column":4},"end":{"line":299,"column":41}},"65":{"start":{"line":301,"column":4},"end":{"line":301,"column":42}},"66":{"start":{"line":301,"column":30},"end":{"line":301,"column":42}},"67":{"start":{"line":303,"column":4},"end":{"line":303,"column":21}},"68":{"start":{"line":305,"column":4},"end":{"line":305,"column":61}},"69":{"start":{"line":306,"column":4},"end":{"line":308,"column":5}},"70":{"start":{"line":307,"column":6},"end":{"line":307,"column":30}},"71":{"start":{"line":310,"column":4},"end":{"line":310,"column":60}},"72":{"start":{"line":311,"column":4},"end":{"line":311,"column":17}},"73":{"start":{"line":312,"column":4},"end":{"line":314,"column":5}},"74":{"start":{"line":313,"column":6},"end":{"line":313,"column":48}},"75":{"start":{"line":316,"column":4},"end":{"line":318,"column":5}},"76":{"start":{"line":317,"column":6},"end":{"line":317,"column":53}},"77":{"start":{"line":320,"column":4},"end":{"line":320,"column":60}},"78":{"start":{"line":321,"column":4},"end":{"line":321,"column":62}},"79":{"start":{"line":321,"column":48},"end":{"line":321,"column":62}},"80":{"start":{"line":335,"column":0},"end":{"line":337,"column":2}},"81":{"start":{"line":336,"column":2},"end":{"line":336,"column":50}},"82":{"start":{"line":339,"column":0},"end":{"line":394,"column":3}},"83":{"start":{"line":369,"column":4},"end":{"line":369,"column":43}},"84":{"start":{"line":370,"column":4},"end":{"line":370,"column":43}},"85":{"start":{"line":371,"column":4},"end":{"line":371,"column":86}},"86":{"start":{"line":386,"column":4},"end":{"line":386,"column":51}},"87":{"start":{"line":387,"column":4},"end":{"line":391,"column":5}},"88":{"start":{"line":388,"column":6},"end":{"line":388,"column":75}},"89":{"start":{"line":389,"column":6},"end":{"line":389,"column":51}},"90":{"start":{"line":389,"column":35},"end":{"line":389,"column":51}},"91":{"start":{"line":390,"column":6},"end":{"line":390,"column":40}},"92":{"start":{"line":409,"column":0},"end":{"line":415,"column":2}},"93":{"start":{"line":410,"column":2},"end":{"line":410,"column":47}},"94":{"start":{"line":412,"column":2},"end":{"line":414,"column":3}},"95":{"start":{"line":413,"column":4},"end":{"line":413,"column":70}},"96":{"start":{"line":416,"column":0},"end":{"line":416,"column":50}},"97":{"start":{"line":417,"column":0},"end":{"line":532,"column":3}},"98":{"start":{"line":444,"column":4},"end":{"line":444,"column":47}},"99":{"start":{"line":444,"column":35},"end":{"line":444,"column":47}},"100":{"start":{"line":446,"column":4},"end":{"line":446,"column":26}},"101":{"start":{"line":447,"column":4},"end":{"line":457,"column":5}},"102":{"start":{"line":448,"column":6},"end":{"line":448,"column":34}},"103":{"start":{"line":449,"column":6},"end":{"line":449,"column":134}},"104":{"start":{"line":450,"column":6},"end":{"line":450,"column":132}},"105":{"start":{"line":453,"column":6},"end":{"line":453,"column":25}},"106":{"start":{"line":454,"column":6},"end":{"line":454,"column":57}},"107":{"start":{"line":455,"column":6},"end":{"line":455,"column":57}},"108":{"start":{"line":456,"column":6},"end":{"line":456,"column":87}},"109":{"start":{"line":459,"column":4},"end":{"line":459,"column":49}},"110":{"start":{"line":460,"column":4},"end":{"line":460,"column":50}},"111":{"start":{"line":462,"column":4},"end":{"line":467,"column":5}},"112":{"start":{"line":463,"column":6},"end":{"line":463,"column":65}},"113":{"start":{"line":463,"column":58},"end":{"line":463,"column":65}},"114":{"start":{"line":464,"column":6},"end":{"line":464,"column":66}},"115":{"start":{"line":464,"column":59},"end":{"line":464,"column":66}},"116":{"start":{"line":465,"column":6},"end":{"line":465,"column":44}},"117":{"start":{"line":465,"column":37},"end":{"line":465,"column":44}},"118":{"start":{"line":466,"column":6},"end":{"line":466,"column":44}},"119":{"start":{"line":466,"column":37},"end":{"line":466,"column":44}},"120":{"start":{"line":469,"column":4},"end":{"line":475,"column":62}},"121":{"start":{"line":477,"column":4},"end":{"line":477,"column":20}},"122":{"start":{"line":479,"column":4},"end":{"line":481,"column":5}},"123":{"start":{"line":480,"column":6},"end":{"line":480,"column":136}},"124":{"start":{"line":483,"column":4},"end":{"line":489,"column":5}},"125":{"start":{"line":484,"column":6},"end":{"line":484,"column":175}},"126":{"start":{"line":486,"column":6},"end":{"line":488,"column":7}},"127":{"start":{"line":487,"column":8},"end":{"line":487,"column":72}},"128":{"start":{"line":491,"column":4},"end":{"line":493,"column":5}},"129":{"start":{"line":492,"column":6},"end":{"line":492,"column":20}},"130":{"start":{"line":495,"column":4},"end":{"line":495,"column":18}},"131":{"start":{"line":509,"column":4},"end":{"line":509,"column":63}},"132":{"start":{"line":509,"column":53},"end":{"line":509,"column":63}},"133":{"start":{"line":510,"column":4},"end":{"line":510,"column":34}},"134":{"start":{"line":529,"column":4},"end":{"line":529,"column":46}},"135":{"start":{"line":541,"column":0},"end":{"line":541,"column":64}},"136":{"start":{"line":542,"column":0},"end":{"line":542,"column":48}},"137":{"start":{"line":543,"column":0},"end":{"line":558,"column":3}},"138":{"start":{"line":555,"column":4},"end":{"line":555,"column":65}},"139":{"start":{"line":555,"column":55},"end":{"line":555,"column":65}},"140":{"start":{"line":556,"column":4},"end":{"line":556,"column":25}},"141":{"start":{"line":567,"column":0},"end":{"line":567,"column":62}},"142":{"start":{"line":568,"column":0},"end":{"line":568,"column":47}},"143":{"start":{"line":569,"column":0},"end":{"line":586,"column":3}},"144":{"start":{"line":581,"column":4},"end":{"line":581,"column":48}},"145":{"start":{"line":582,"column":4},"end":{"line":584,"column":5}},"146":{"start":{"line":583,"column":6},"end":{"line":583,"column":27}},"147":{"start":{"line":600,"column":0},"end":{"line":600,"column":64}},"148":{"start":{"line":601,"column":0},"end":{"line":601,"column":48}},"149":{"start":{"line":602,"column":0},"end":{"line":615,"column":3}},"150":{"start":{"line":613,"column":4},"end":{"line":613,"column":79}},"151":{"start":{"line":633,"column":0},"end":{"line":668,"column":3}},"152":{"start":{"line":647,"column":4},"end":{"line":647,"column":39}},"153":{"start":{"line":648,"column":4},"end":{"line":648,"column":33}},"154":{"start":{"line":649,"column":4},"end":{"line":651,"column":5}},"155":{"start":{"line":650,"column":6},"end":{"line":650,"column":44}},"156":{"start":{"line":653,"column":4},"end":{"line":653,"column":67}},"157":{"start":{"line":662,"column":4},"end":{"line":664,"column":5}},"158":{"start":{"line":663,"column":6},"end":{"line":663,"column":23}},"159":{"start":{"line":665,"column":4},"end":{"line":665,"column":16}},"160":{"start":{"line":678,"column":0},"end":{"line":784,"column":3}},"161":{"start":{"line":705,"column":4},"end":{"line":705,"column":64}},"162":{"start":{"line":707,"column":4},"end":{"line":709,"column":5}},"163":{"start":{"line":708,"column":6},"end":{"line":708,"column":56}},"164":{"start":{"line":717,"column":4},"end":{"line":717,"column":27}},"165":{"start":{"line":718,"column":4},"end":{"line":718,"column":84}},"166":{"start":{"line":719,"column":4},"end":{"line":719,"column":16}},"167":{"start":{"line":741,"column":4},"end":{"line":741,"column":35}},"168":{"start":{"line":742,"column":4},"end":{"line":742,"column":27}},"169":{"start":{"line":743,"column":4},"end":{"line":743,"column":29}},"170":{"start":{"line":745,"column":4},"end":{"line":745,"column":33}},"171":{"start":{"line":746,"column":4},"end":{"line":746,"column":36}},"172":{"start":{"line":748,"column":4},"end":{"line":769,"column":5}},"173":{"start":{"line":751,"column":6},"end":{"line":751,"column":25}},"174":{"start":{"line":752,"column":6},"end":{"line":752,"column":26}},"175":{"start":{"line":754,"column":6},"end":{"line":754,"column":31}},"176":{"start":{"line":755,"column":6},"end":{"line":755,"column":49}},"177":{"start":{"line":756,"column":6},"end":{"line":762,"column":7}},"178":{"start":{"line":757,"column":8},"end":{"line":757,"column":60}},"179":{"start":{"line":760,"column":8},"end":{"line":760,"column":48}},"180":{"start":{"line":761,"column":8},"end":{"line":761,"column":65}},"181":{"start":{"line":765,"column":9},"end":{"line":769,"column":5}},"182":{"start":{"line":767,"column":6},"end":{"line":767,"column":26}},"183":{"start":{"line":768,"column":6},"end":{"line":768,"column":63}},"184":{"start":{"line":773,"column":4},"end":{"line":780,"column":5}},"185":{"start":{"line":775,"column":6},"end":{"line":779,"column":28}},"186":{"start":{"line":776,"column":8},"end":{"line":776,"column":33}},"187":{"start":{"line":777,"column":8},"end":{"line":777,"column":44}},"188":{"start":{"line":779,"column":11},"end":{"line":779,"column":28}},"189":{"start":{"line":781,"column":4},"end":{"line":781,"column":16}},"190":{"start":{"line":798,"column":0},"end":{"line":963,"column":3}},"191":{"start":{"line":833,"column":4},"end":{"line":833,"column":33}},"192":{"start":{"line":834,"column":4},"end":{"line":836,"column":5}},"193":{"start":{"line":835,"column":6},"end":{"line":835,"column":44}},"194":{"start":{"line":838,"column":4},"end":{"line":838,"column":65}},"195":{"start":{"line":840,"column":4},"end":{"line":841,"column":77}},"196":{"start":{"line":843,"column":4},"end":{"line":845,"column":5}},"197":{"start":{"line":844,"column":6},"end":{"line":844,"column":34}},"198":{"start":{"line":847,"column":4},"end":{"line":847,"column":31}},"199":{"start":{"line":849,"column":4},"end":{"line":849,"column":73}},"200":{"start":{"line":851,"column":4},"end":{"line":853,"column":7}},"201":{"start":{"line":852,"column":6},"end":{"line":852,"column":49}},"202":{"start":{"line":852,"column":35},"end":{"line":852,"column":49}},"203":{"start":{"line":855,"column":4},"end":{"line":855,"column":61}},"204":{"start":{"line":857,"column":4},"end":{"line":865,"column":21}},"205":{"start":{"line":859,"column":20},"end":{"line":859,"column":61}},"206":{"start":{"line":860,"column":20},"end":{"line":864,"column":21}},"207":{"start":{"line":861,"column":22},"end":{"line":863,"column":23}},"208":{"start":{"line":862,"column":24},"end":{"line":862,"column":59}},"209":{"start":{"line":867,"column":4},"end":{"line":867,"column":88}},"210":{"start":{"line":867,"column":63},"end":{"line":867,"column":88}},"211":{"start":{"line":868,"column":4},"end":{"line":868,"column":88}},"212":{"start":{"line":868,"column":63},"end":{"line":868,"column":88}},"213":{"start":{"line":869,"column":4},"end":{"line":869,"column":92}},"214":{"start":{"line":869,"column":65},"end":{"line":869,"column":92}},"215":{"start":{"line":877,"column":4},"end":{"line":877,"column":21}},"216":{"start":{"line":878,"column":4},"end":{"line":878,"column":27}},"217":{"start":{"line":879,"column":4},"end":{"line":879,"column":85}},"218":{"start":{"line":880,"column":4},"end":{"line":880,"column":26}},"219":{"start":{"line":881,"column":4},"end":{"line":881,"column":16}},"220":{"start":{"line":904,"column":4},"end":{"line":904,"column":27}},"221":{"start":{"line":905,"column":4},"end":{"line":905,"column":29}},"222":{"start":{"line":907,"column":4},"end":{"line":907,"column":73}},"223":{"start":{"line":908,"column":4},"end":{"line":926,"column":5}},"224":{"start":{"line":910,"column":6},"end":{"line":914,"column":9}},"225":{"start":{"line":916,"column":6},"end":{"line":916,"column":78}},"226":{"start":{"line":919,"column":6},"end":{"line":919,"column":30}},"227":{"start":{"line":920,"column":6},"end":{"line":920,"column":23}},"228":{"start":{"line":921,"column":6},"end":{"line":921,"column":46}},"229":{"start":{"line":922,"column":6},"end":{"line":922,"column":34}},"230":{"start":{"line":923,"column":6},"end":{"line":923,"column":34}},"231":{"start":{"line":925,"column":6},"end":{"line":925,"column":81}},"232":{"start":{"line":933,"column":4},"end":{"line":935,"column":5}},"233":{"start":{"line":934,"column":6},"end":{"line":934,"column":33}},"234":{"start":{"line":942,"column":4},"end":{"line":942,"column":34}},"235":{"start":{"line":943,"column":4},"end":{"line":943,"column":32}},"236":{"start":{"line":944,"column":4},"end":{"line":944,"column":43}},"237":{"start":{"line":945,"column":4},"end":{"line":945,"column":30}},"238":{"start":{"line":946,"column":4},"end":{"line":946,"column":35}},"239":{"start":{"line":947,"column":4},"end":{"line":947,"column":18}},"240":{"start":{"line":956,"column":4},"end":{"line":959,"column":5}},"241":{"start":{"line":957,"column":6},"end":{"line":957,"column":69}},"242":{"start":{"line":958,"column":6},"end":{"line":958,"column":32}},"243":{"start":{"line":960,"column":4},"end":{"line":960,"column":56}},"244":{"start":{"line":971,"column":0},"end":{"line":978,"column":3}},"245":{"start":{"line":991,"column":0},"end":{"line":1028,"column":3}},"246":{"start":{"line":1009,"column":4},"end":{"line":1009,"column":56}},"247":{"start":{"line":1010,"column":4},"end":{"line":1010,"column":45}},"248":{"start":{"line":1011,"column":4},"end":{"line":1011,"column":48}},"249":{"start":{"line":1015,"column":4},"end":{"line":1015,"column":21}},"250":{"start":{"line":1016,"column":4},"end":{"line":1016,"column":59}},"251":{"start":{"line":1017,"column":4},"end":{"line":1017,"column":70}},"252":{"start":{"line":1018,"column":4},"end":{"line":1023,"column":29}},"253":{"start":{"line":1024,"column":4},"end":{"line":1024,"column":26}},"254":{"start":{"line":1025,"column":4},"end":{"line":1025,"column":16}},"255":{"start":{"line":1038,"column":0},"end":{"line":1058,"column":3}},"256":{"start":{"line":1046,"column":4},"end":{"line":1046,"column":21}},"257":{"start":{"line":1047,"column":4},"end":{"line":1047,"column":27}},"258":{"start":{"line":1048,"column":4},"end":{"line":1048,"column":91}},"259":{"start":{"line":1049,"column":4},"end":{"line":1053,"column":29}},"260":{"start":{"line":1054,"column":4},"end":{"line":1054,"column":26}},"261":{"start":{"line":1055,"column":4},"end":{"line":1055,"column":16}},"262":{"start":{"line":1067,"column":0},"end":{"line":1101,"column":3}},"263":{"start":{"line":1094,"column":4},"end":{"line":1094,"column":59}},"264":{"start":{"line":1095,"column":4},"end":{"line":1095,"column":35}},"265":{"start":{"line":1096,"column":4},"end":{"line":1096,"column":39}},"266":{"start":{"line":1097,"column":4},"end":{"line":1097,"column":55}},"267":{"start":{"line":1098,"column":4},"end":{"line":1098,"column":51}},"268":{"start":{"line":1111,"column":0},"end":{"line":1120,"column":3}},"269":{"start":{"line":1129,"column":0},"end":{"line":1157,"column":3}},"270":{"start":{"line":1151,"column":4},"end":{"line":1151,"column":60}},"271":{"start":{"line":1152,"column":4},"end":{"line":1152,"column":35}},"272":{"start":{"line":1153,"column":4},"end":{"line":1153,"column":43}},"273":{"start":{"line":1154,"column":4},"end":{"line":1154,"column":35}},"274":{"start":{"line":1173,"column":0},"end":{"line":1222,"column":3}},"275":{"start":{"line":1204,"column":4},"end":{"line":1204,"column":61}},"276":{"start":{"line":1205,"column":4},"end":{"line":1205,"column":35}},"277":{"start":{"line":1206,"column":4},"end":{"line":1206,"column":45}},"278":{"start":{"line":1207,"column":4},"end":{"line":1207,"column":45}},"279":{"start":{"line":1208,"column":4},"end":{"line":1208,"column":47}},"280":{"start":{"line":1210,"column":4},"end":{"line":1210,"column":59}},"281":{"start":{"line":1211,"column":4},"end":{"line":1211,"column":69}},"282":{"start":{"line":1212,"column":4},"end":{"line":1212,"column":54}},"283":{"start":{"line":1213,"column":4},"end":{"line":1213,"column":73}},"284":{"start":{"line":1215,"column":4},"end":{"line":1219,"column":7}},"285":{"start":{"line":1230,"column":0},"end":{"line":1238,"column":3}},"286":{"start":{"line":1246,"column":0},"end":{"line":1254,"column":3}},"287":{"start":{"line":1262,"column":0},"end":{"line":1341,"column":3}},"288":{"start":{"line":1276,"column":6},"end":{"line":1276,"column":28}},"289":{"start":{"line":1280,"column":6},"end":{"line":1280,"column":29}},"290":{"start":{"line":1291,"column":4},"end":{"line":1291,"column":27}},"291":{"start":{"line":1292,"column":4},"end":{"line":1292,"column":80}},"292":{"start":{"line":1293,"column":4},"end":{"line":1293,"column":34}},"293":{"start":{"line":1294,"column":4},"end":{"line":1294,"column":16}},"294":{"start":{"line":1302,"column":4},"end":{"line":1305,"column":5}},"295":{"start":{"line":1303,"column":6},"end":{"line":1303,"column":29}},"296":{"start":{"line":1304,"column":6},"end":{"line":1304,"column":75}},"297":{"start":{"line":1314,"column":4},"end":{"line":1314,"column":27}},"298":{"start":{"line":1315,"column":4},"end":{"line":1315,"column":29}},"299":{"start":{"line":1316,"column":4},"end":{"line":1316,"column":35}},"300":{"start":{"line":1317,"column":4},"end":{"line":1317,"column":33}},"301":{"start":{"line":1319,"column":4},"end":{"line":1319,"column":62}},"302":{"start":{"line":1319,"column":50},"end":{"line":1319,"column":62}},"303":{"start":{"line":1320,"column":4},"end":{"line":1323,"column":5}},"304":{"start":{"line":1321,"column":6},"end":{"line":1321,"column":26}},"305":{"start":{"line":1322,"column":6},"end":{"line":1322,"column":63}},"306":{"start":{"line":1325,"column":4},"end":{"line":1325,"column":23}},"307":{"start":{"line":1326,"column":4},"end":{"line":1338,"column":5}},"308":{"start":{"line":1328,"column":6},"end":{"line":1328,"column":25}},"309":{"start":{"line":1329,"column":6},"end":{"line":1329,"column":26}},"310":{"start":{"line":1330,"column":6},"end":{"line":1330,"column":60}},"311":{"start":{"line":1331,"column":6},"end":{"line":1331,"column":41}},"312":{"start":{"line":1332,"column":6},"end":{"line":1332,"column":63}},"313":{"start":{"line":1334,"column":9},"end":{"line":1338,"column":5}},"314":{"start":{"line":1335,"column":6},"end":{"line":1335,"column":60}},"315":{"start":{"line":1336,"column":6},"end":{"line":1336,"column":41}},"316":{"start":{"line":1337,"column":6},"end":{"line":1337,"column":18}},"317":{"start":{"line":1350,"column":0},"end":{"line":1381,"column":3}},"318":{"start":{"line":1368,"column":4},"end":{"line":1368,"column":21}},"319":{"start":{"line":1369,"column":4},"end":{"line":1369,"column":49}},"320":{"start":{"line":1370,"column":4},"end":{"line":1370,"column":73}},"321":{"start":{"line":1371,"column":4},"end":{"line":1376,"column":8}},"322":{"start":{"line":1377,"column":4},"end":{"line":1377,"column":26}},"323":{"start":{"line":1378,"column":4},"end":{"line":1378,"column":16}},"324":{"start":{"line":1389,"column":0},"end":{"line":1507,"column":3}},"325":{"start":{"line":1405,"column":4},"end":{"line":1405,"column":37}},"326":{"start":{"line":1406,"column":4},"end":{"line":1406,"column":55}},"327":{"start":{"line":1410,"column":4},"end":{"line":1410,"column":29}},"328":{"start":{"line":1411,"column":4},"end":{"line":1411,"column":40}},"329":{"start":{"line":1415,"column":4},"end":{"line":1415,"column":21}},"330":{"start":{"line":1416,"column":4},"end":{"line":1422,"column":5}},"331":{"start":{"line":1417,"column":6},"end":{"line":1421,"column":9}},"332":{"start":{"line":1423,"column":4},"end":{"line":1423,"column":19}},"333":{"start":{"line":1434,"column":4},"end":{"line":1434,"column":21}},"334":{"start":{"line":1436,"column":4},"end":{"line":1436,"column":54}},"335":{"start":{"line":1437,"column":4},"end":{"line":1437,"column":27}},"336":{"start":{"line":1438,"column":4},"end":{"line":1438,"column":91}},"337":{"start":{"line":1440,"column":4},"end":{"line":1440,"column":87}},"338":{"start":{"line":1440,"column":34},"end":{"line":1440,"column":87}},"339":{"start":{"line":1442,"column":4},"end":{"line":1442,"column":27}},"340":{"start":{"line":1443,"column":4},"end":{"line":1443,"column":26}},"341":{"start":{"line":1444,"column":4},"end":{"line":1444,"column":27}},"342":{"start":{"line":1445,"column":4},"end":{"line":1445,"column":28}},"343":{"start":{"line":1446,"column":4},"end":{"line":1446,"column":24}},"344":{"start":{"line":1448,"column":4},"end":{"line":1470,"column":5}},"345":{"start":{"line":1449,"column":6},"end":{"line":1449,"column":40}},"346":{"start":{"line":1451,"column":6},"end":{"line":1469,"column":7}},"347":{"start":{"line":1452,"column":8},"end":{"line":1452,"column":37}},"348":{"start":{"line":1453,"column":8},"end":{"line":1453,"column":37}},"349":{"start":{"line":1455,"column":8},"end":{"line":1459,"column":12}},"350":{"start":{"line":1461,"column":11},"end":{"line":1469,"column":7}},"351":{"start":{"line":1462,"column":8},"end":{"line":1462,"column":40}},"352":{"start":{"line":1463,"column":8},"end":{"line":1463,"column":71}},"353":{"start":{"line":1464,"column":8},"end":{"line":1464,"column":92}},"354":{"start":{"line":1465,"column":8},"end":{"line":1465,"column":34}},"355":{"start":{"line":1468,"column":8},"end":{"line":1468,"column":161}},"356":{"start":{"line":1472,"column":4},"end":{"line":1472,"column":26}},"357":{"start":{"line":1474,"column":4},"end":{"line":1474,"column":16}},"358":{"start":{"line":1481,"column":4},"end":{"line":1481,"column":27}},"359":{"start":{"line":1482,"column":4},"end":{"line":1482,"column":29}},"360":{"start":{"line":1483,"column":4},"end":{"line":1483,"column":79}},"361":{"start":{"line":1491,"column":4},"end":{"line":1491,"column":27}},"362":{"start":{"line":1492,"column":4},"end":{"line":1492,"column":29}},"363":{"start":{"line":1493,"column":4},"end":{"line":1493,"column":33}},"364":{"start":{"line":1494,"column":4},"end":{"line":1504,"column":5}},"365":{"start":{"line":1495,"column":6},"end":{"line":1495,"column":26}},"366":{"start":{"line":1496,"column":6},"end":{"line":1496,"column":70}},"367":{"start":{"line":1498,"column":9},"end":{"line":1504,"column":5}},"368":{"start":{"line":1500,"column":6},"end":{"line":1500,"column":25}},"369":{"start":{"line":1501,"column":6},"end":{"line":1501,"column":26}},"370":{"start":{"line":1502,"column":6},"end":{"line":1502,"column":19}},"371":{"start":{"line":1503,"column":6},"end":{"line":1503,"column":70}},"372":{"start":{"line":1541,"column":0},"end":{"line":1641,"column":3}},"373":{"start":{"line":1573,"column":4},"end":{"line":1573,"column":59}},"374":{"start":{"line":1574,"column":4},"end":{"line":1579,"column":7}},"375":{"start":{"line":1575,"column":6},"end":{"line":1578,"column":7}},"376":{"start":{"line":1576,"column":8},"end":{"line":1576,"column":50}},"377":{"start":{"line":1577,"column":8},"end":{"line":1577,"column":42}},"378":{"start":{"line":1588,"column":4},"end":{"line":1588,"column":21}},"379":{"start":{"line":1590,"column":4},"end":{"line":1590,"column":54}},"380":{"start":{"line":1591,"column":4},"end":{"line":1591,"column":27}},"381":{"start":{"line":1592,"column":4},"end":{"line":1592,"column":84}},"382":{"start":{"line":1594,"column":4},"end":{"line":1594,"column":26}},"383":{"start":{"line":1596,"column":4},"end":{"line":1634,"column":5}},"384":{"start":{"line":1597,"column":6},"end":{"line":1597,"column":83}},"385":{"start":{"line":1597,"column":63},"end":{"line":1597,"column":83}},"386":{"start":{"line":1599,"column":6},"end":{"line":1625,"column":7}},"387":{"start":{"line":1600,"column":8},"end":{"line":1600,"column":34}},"388":{"start":{"line":1602,"column":8},"end":{"line":1624,"column":9}},"389":{"start":{"line":1603,"column":10},"end":{"line":1603,"column":44}},"390":{"start":{"line":1605,"column":10},"end":{"line":1623,"column":11}},"391":{"start":{"line":1606,"column":12},"end":{"line":1606,"column":45}},"392":{"start":{"line":1607,"column":12},"end":{"line":1607,"column":45}},"393":{"start":{"line":1609,"column":12},"end":{"line":1609,"column":71}},"394":{"start":{"line":1609,"column":41},"end":{"line":1609,"column":71}},"395":{"start":{"line":1611,"column":15},"end":{"line":1623,"column":11}},"396":{"start":{"line":1612,"column":12},"end":{"line":1612,"column":55}},"397":{"start":{"line":1614,"column":12},"end":{"line":1619,"column":13}},"398":{"start":{"line":1615,"column":14},"end":{"line":1615,"column":58}},"399":{"start":{"line":1616,"column":14},"end":{"line":1618,"column":15}},"400":{"start":{"line":1617,"column":16},"end":{"line":1617,"column":55}},"401":{"start":{"line":1622,"column":12},"end":{"line":1622,"column":32}},"402":{"start":{"line":1627,"column":6},"end":{"line":1627,"column":57}},"403":{"start":{"line":1630,"column":6},"end":{"line":1632,"column":7}},"404":{"start":{"line":1631,"column":8},"end":{"line":1631,"column":124}},"405":{"start":{"line":1633,"column":6},"end":{"line":1633,"column":15}},"406":{"start":{"line":1636,"column":4},"end":{"line":1636,"column":26}},"407":{"start":{"line":1638,"column":4},"end":{"line":1638,"column":16}},"408":{"start":{"line":1661,"column":0},"end":{"line":1837,"column":3}},"409":{"start":{"line":1784,"column":4},"end":{"line":1786,"column":5}},"410":{"start":{"line":1785,"column":6},"end":{"line":1785,"column":62}},"411":{"start":{"line":1788,"column":4},"end":{"line":1788,"column":87}},"412":{"start":{"line":1790,"column":4},"end":{"line":1790,"column":69}},"413":{"start":{"line":1792,"column":4},"end":{"line":1792,"column":69}},"414":{"start":{"line":1808,"column":4},"end":{"line":1808,"column":42}},"415":{"start":{"line":1809,"column":4},"end":{"line":1810,"column":55}},"416":{"start":{"line":1809,"column":31},"end":{"line":1809,"column":54}},"417":{"start":{"line":1810,"column":9},"end":{"line":1810,"column":55}},"418":{"start":{"line":1810,"column":38},"end":{"line":1810,"column":55}},"419":{"start":{"line":1812,"column":4},"end":{"line":1814,"column":6}},"420":{"start":{"line":1813,"column":6},"end":{"line":1813,"column":32}},"421":{"start":{"line":1839,"column":0},"end":{"line":1847,"column":3}},"422":{"start":{"line":1840,"column":2},"end":{"line":1846,"column":4}},"423":{"start":{"line":1841,"column":4},"end":{"line":1841,"column":30}},"424":{"start":{"line":1842,"column":4},"end":{"line":1843,"column":47}},"425":{"start":{"line":1842,"column":27},"end":{"line":1842,"column":46}},"426":{"start":{"line":1843,"column":9},"end":{"line":1843,"column":47}},"427":{"start":{"line":1843,"column":34},"end":{"line":1843,"column":47}},"428":{"start":{"line":1845,"column":4},"end":{"line":1845,"column":19}},"429":{"start":{"line":1855,"column":0},"end":{"line":1861,"column":3}},"430":{"start":{"line":1879,"column":0},"end":{"line":1977,"column":3}},"431":{"start":{"line":1895,"column":4},"end":{"line":1895,"column":49}},"432":{"start":{"line":1896,"column":4},"end":{"line":1898,"column":5}},"433":{"start":{"line":1897,"column":6},"end":{"line":1897,"column":52}},"434":{"start":{"line":1900,"column":4},"end":{"line":1900,"column":32}},"435":{"start":{"line":1901,"column":4},"end":{"line":1903,"column":5}},"436":{"start":{"line":1902,"column":6},"end":{"line":1902,"column":56}},"437":{"start":{"line":1905,"column":4},"end":{"line":1920,"column":7}},"438":{"start":{"line":1906,"column":6},"end":{"line":1906,"column":38}},"439":{"start":{"line":1907,"column":6},"end":{"line":1907,"column":48}},"440":{"start":{"line":1908,"column":6},"end":{"line":1908,"column":31}},"441":{"start":{"line":1910,"column":6},"end":{"line":1910,"column":25}},"442":{"start":{"line":1911,"column":6},"end":{"line":1919,"column":7}},"443":{"start":{"line":1912,"column":8},"end":{"line":1912,"column":39}},"444":{"start":{"line":1914,"column":11},"end":{"line":1919,"column":7}},"445":{"start":{"line":1915,"column":8},"end":{"line":1915,"column":38}},"446":{"start":{"line":1918,"column":8},"end":{"line":1918,"column":55}},"447":{"start":{"line":1922,"column":4},"end":{"line":1925,"column":7}},"448":{"start":{"line":1923,"column":6},"end":{"line":1923,"column":33}},"449":{"start":{"line":1924,"column":6},"end":{"line":1924,"column":34}},"450":{"start":{"line":1940,"column":4},"end":{"line":1943,"column":7}},"451":{"start":{"line":1950,"column":4},"end":{"line":1950,"column":21}},"452":{"start":{"line":1952,"column":4},"end":{"line":1952,"column":53}},"453":{"start":{"line":1953,"column":4},"end":{"line":1955,"column":5}},"454":{"start":{"line":1954,"column":6},"end":{"line":1954,"column":54}},"455":{"start":{"line":1957,"column":4},"end":{"line":1957,"column":34}},"456":{"start":{"line":1959,"column":4},"end":{"line":1959,"column":26}},"457":{"start":{"line":1961,"column":4},"end":{"line":1961,"column":16}},"458":{"start":{"line":1970,"column":4},"end":{"line":1973,"column":5}},"459":{"start":{"line":1971,"column":6},"end":{"line":1971,"column":31}},"460":{"start":{"line":1972,"column":6},"end":{"line":1972,"column":41}},"461":{"start":{"line":1974,"column":4},"end":{"line":1974,"column":65}},"462":{"start":{"line":1986,"column":0},"end":{"line":2021,"column":3}},"463":{"start":{"line":2002,"column":4},"end":{"line":2002,"column":39}},"464":{"start":{"line":2003,"column":4},"end":{"line":2003,"column":36}},"465":{"start":{"line":2010,"column":4},"end":{"line":2010,"column":21}},"466":{"start":{"line":2012,"column":4},"end":{"line":2012,"column":42}},"467":{"start":{"line":2013,"column":4},"end":{"line":2013,"column":52}},"468":{"start":{"line":2014,"column":4},"end":{"line":2014,"column":73}},"469":{"start":{"line":2016,"column":4},"end":{"line":2016,"column":32}},"470":{"start":{"line":2017,"column":4},"end":{"line":2017,"column":28}},"471":{"start":{"line":2019,"column":4},"end":{"line":2019,"column":16}},"472":{"start":{"line":2039,"column":0},"end":{"line":2157,"column":3}},"473":{"start":{"line":2058,"column":4},"end":{"line":2058,"column":33}},"474":{"start":{"line":2059,"column":4},"end":{"line":2061,"column":5}},"475":{"start":{"line":2060,"column":6},"end":{"line":2060,"column":44}},"476":{"start":{"line":2063,"column":4},"end":{"line":2063,"column":75}},"477":{"start":{"line":2065,"column":4},"end":{"line":2073,"column":21}},"478":{"start":{"line":2067,"column":20},"end":{"line":2067,"column":61}},"479":{"start":{"line":2068,"column":20},"end":{"line":2072,"column":21}},"480":{"start":{"line":2069,"column":22},"end":{"line":2071,"column":23}},"481":{"start":{"line":2070,"column":24},"end":{"line":2070,"column":59}},"482":{"start":{"line":2074,"column":4},"end":{"line":2074,"column":69}},"483":{"start":{"line":2075,"column":4},"end":{"line":2075,"column":67}},"484":{"start":{"line":2077,"column":4},"end":{"line":2077,"column":93}},"485":{"start":{"line":2077,"column":68},"end":{"line":2077,"column":93}},"486":{"start":{"line":2078,"column":4},"end":{"line":2078,"column":93}},"487":{"start":{"line":2078,"column":68},"end":{"line":2078,"column":93}},"488":{"start":{"line":2079,"column":4},"end":{"line":2079,"column":97}},"489":{"start":{"line":2079,"column":70},"end":{"line":2079,"column":97}},"490":{"start":{"line":2081,"column":4},"end":{"line":2081,"column":93}},"491":{"start":{"line":2089,"column":4},"end":{"line":2089,"column":64}},"492":{"start":{"line":2090,"column":4},"end":{"line":2090,"column":39}},"493":{"start":{"line":2100,"column":4},"end":{"line":2100,"column":64}},"494":{"start":{"line":2101,"column":4},"end":{"line":2101,"column":68}},"495":{"start":{"line":2101,"column":39},"end":{"line":2101,"column":68}},"496":{"start":{"line":2110,"column":4},"end":{"line":2110,"column":23}},"497":{"start":{"line":2112,"column":4},"end":{"line":2112,"column":29}},"498":{"start":{"line":2113,"column":4},"end":{"line":2113,"column":37}},"499":{"start":{"line":2114,"column":4},"end":{"line":2114,"column":32}},"500":{"start":{"line":2116,"column":4},"end":{"line":2120,"column":5}},"501":{"start":{"line":2117,"column":6},"end":{"line":2119,"column":55}},"502":{"start":{"line":2117,"column":51},"end":{"line":2117,"column":96}},"503":{"start":{"line":2118,"column":11},"end":{"line":2119,"column":55}},"504":{"start":{"line":2118,"column":57},"end":{"line":2118,"column":94}},"505":{"start":{"line":2119,"column":11},"end":{"line":2119,"column":55}},"506":{"start":{"line":2122,"column":4},"end":{"line":2125,"column":5}},"507":{"start":{"line":2123,"column":6},"end":{"line":2124,"column":55}},"508":{"start":{"line":2123,"column":51},"end":{"line":2123,"column":96}},"509":{"start":{"line":2124,"column":11},"end":{"line":2124,"column":55}},"510":{"start":{"line":2127,"column":4},"end":{"line":2127,"column":83}},"511":{"start":{"line":2128,"column":4},"end":{"line":2132,"column":5}},"512":{"start":{"line":2129,"column":6},"end":{"line":2129,"column":44}},"513":{"start":{"line":2130,"column":6},"end":{"line":2131,"column":35}},"514":{"start":{"line":2130,"column":33},"end":{"line":2130,"column":58}},"515":{"start":{"line":2131,"column":11},"end":{"line":2131,"column":35}},"516":{"start":{"line":2140,"column":4},"end":{"line":2140,"column":21}},"517":{"start":{"line":2141,"column":4},"end":{"line":2141,"column":29}},"518":{"start":{"line":2142,"column":4},"end":{"line":2142,"column":83}},"519":{"start":{"line":2143,"column":4},"end":{"line":2143,"column":14}},"520":{"start":{"line":2144,"column":4},"end":{"line":2148,"column":5}},"521":{"start":{"line":2145,"column":6},"end":{"line":2145,"column":86}},"522":{"start":{"line":2147,"column":6},"end":{"line":2147,"column":59}},"523":{"start":{"line":2150,"column":4},"end":{"line":2150,"column":27}},"524":{"start":{"line":2151,"column":4},"end":{"line":2151,"column":42}},"525":{"start":{"line":2152,"column":4},"end":{"line":2152,"column":47}},"526":{"start":{"line":2153,"column":4},"end":{"line":2153,"column":26}},"527":{"start":{"line":2154,"column":4},"end":{"line":2154,"column":16}},"528":{"start":{"line":2165,"column":0},"end":{"line":2194,"column":3}},"529":{"start":{"line":2182,"column":4},"end":{"line":2182,"column":61}},"530":{"start":{"line":2186,"column":4},"end":{"line":2186,"column":82}},"531":{"start":{"line":2187,"column":4},"end":{"line":2190,"column":7}},"532":{"start":{"line":2191,"column":4},"end":{"line":2191,"column":22}},"533":{"start":{"line":2203,"column":0},"end":{"line":2249,"column":3}},"534":{"start":{"line":2219,"column":4},"end":{"line":2219,"column":35}},"535":{"start":{"line":2220,"column":4},"end":{"line":2222,"column":5}},"536":{"start":{"line":2221,"column":6},"end":{"line":2221,"column":47}},"537":{"start":{"line":2224,"column":4},"end":{"line":2227,"column":7}},"538":{"start":{"line":2234,"column":4},"end":{"line":2234,"column":43}},"539":{"start":{"line":2235,"column":4},"end":{"line":2235,"column":26}},"540":{"start":{"line":2236,"column":4},"end":{"line":2236,"column":16}},"541":{"start":{"line":2245,"column":4},"end":{"line":2245,"column":47}},"542":{"start":{"line":2246,"column":4},"end":{"line":2246,"column":65}},"543":{"start":{"line":2266,"column":0},"end":{"line":2634,"column":3}},"544":{"start":{"line":2287,"column":4},"end":{"line":2287,"column":35}},"545":{"start":{"line":2288,"column":4},"end":{"line":2290,"column":5}},"546":{"start":{"line":2289,"column":6},"end":{"line":2289,"column":47}},"547":{"start":{"line":2292,"column":4},"end":{"line":2292,"column":34}},"548":{"start":{"line":2293,"column":4},"end":{"line":2300,"column":13}},"549":{"start":{"line":2294,"column":6},"end":{"line":2297,"column":9}},"550":{"start":{"line":2299,"column":6},"end":{"line":2299,"column":17}},"551":{"start":{"line":2302,"column":4},"end":{"line":2302,"column":39}},"552":{"start":{"line":2303,"column":4},"end":{"line":2303,"column":33}},"553":{"start":{"line":2305,"column":4},"end":{"line":2305,"column":37}},"554":{"start":{"line":2306,"column":4},"end":{"line":2306,"column":53}},"555":{"start":{"line":2307,"column":4},"end":{"line":2307,"column":56}},"556":{"start":{"line":2308,"column":4},"end":{"line":2308,"column":52}},"557":{"start":{"line":2309,"column":4},"end":{"line":2309,"column":53}},"558":{"start":{"line":2310,"column":4},"end":{"line":2310,"column":58}},"559":{"start":{"line":2311,"column":4},"end":{"line":2311,"column":70}},"560":{"start":{"line":2315,"column":4},"end":{"line":2320,"column":5}},"561":{"start":{"line":2316,"column":6},"end":{"line":2319,"column":10}},"562":{"start":{"line":2348,"column":4},"end":{"line":2348,"column":67}},"563":{"start":{"line":2348,"column":42},"end":{"line":2348,"column":67}},"564":{"start":{"line":2351,"column":4},"end":{"line":2354,"column":5}},"565":{"start":{"line":2352,"column":6},"end":{"line":2352,"column":57}},"566":{"start":{"line":2353,"column":6},"end":{"line":2353,"column":13}},"567":{"start":{"line":2356,"column":4},"end":{"line":2359,"column":7}},"568":{"start":{"line":2361,"column":4},"end":{"line":2361,"column":42}},"569":{"start":{"line":2362,"column":4},"end":{"line":2362,"column":36}},"570":{"start":{"line":2364,"column":4},"end":{"line":2364,"column":23}},"571":{"start":{"line":2365,"column":4},"end":{"line":2365,"column":35}},"572":{"start":{"line":2366,"column":4},"end":{"line":2366,"column":34}},"573":{"start":{"line":2368,"column":4},"end":{"line":2373,"column":5}},"574":{"start":{"line":2369,"column":6},"end":{"line":2369,"column":25}},"575":{"start":{"line":2372,"column":6},"end":{"line":2372,"column":41}},"576":{"start":{"line":2375,"column":4},"end":{"line":2375,"column":16}},"577":{"start":{"line":2405,"column":4},"end":{"line":2409,"column":5}},"578":{"start":{"line":2406,"column":6},"end":{"line":2406,"column":60}},"579":{"start":{"line":2407,"column":6},"end":{"line":2407,"column":35}},"580":{"start":{"line":2408,"column":6},"end":{"line":2408,"column":13}},"581":{"start":{"line":2411,"column":4},"end":{"line":2413,"column":5}},"582":{"start":{"line":2412,"column":6},"end":{"line":2412,"column":40}},"583":{"start":{"line":2415,"column":4},"end":{"line":2415,"column":39}},"584":{"start":{"line":2416,"column":4},"end":{"line":2416,"column":33}},"585":{"start":{"line":2418,"column":4},"end":{"line":2418,"column":16}},"586":{"start":{"line":2427,"column":4},"end":{"line":2429,"column":5}},"587":{"start":{"line":2428,"column":6},"end":{"line":2428,"column":28}},"588":{"start":{"line":2431,"column":4},"end":{"line":2438,"column":13}},"589":{"start":{"line":2432,"column":6},"end":{"line":2435,"column":9}},"590":{"start":{"line":2437,"column":6},"end":{"line":2437,"column":17}},"591":{"start":{"line":2439,"column":4},"end":{"line":2439,"column":33}},"592":{"start":{"line":2441,"column":4},"end":{"line":2441,"column":18}},"593":{"start":{"line":2443,"column":4},"end":{"line":2443,"column":54}},"594":{"start":{"line":2445,"column":4},"end":{"line":2445,"column":16}},"595":{"start":{"line":2454,"column":4},"end":{"line":2454,"column":21}},"596":{"start":{"line":2456,"column":4},"end":{"line":2456,"column":53}},"597":{"start":{"line":2457,"column":4},"end":{"line":2460,"column":5}},"598":{"start":{"line":2458,"column":6},"end":{"line":2458,"column":29}},"599":{"start":{"line":2459,"column":6},"end":{"line":2459,"column":44}},"600":{"start":{"line":2462,"column":4},"end":{"line":2462,"column":34}},"601":{"start":{"line":2464,"column":4},"end":{"line":2464,"column":26}},"602":{"start":{"line":2466,"column":4},"end":{"line":2466,"column":16}},"603":{"start":{"line":2475,"column":4},"end":{"line":2478,"column":5}},"604":{"start":{"line":2476,"column":6},"end":{"line":2476,"column":29}},"605":{"start":{"line":2477,"column":6},"end":{"line":2477,"column":39}},"606":{"start":{"line":2479,"column":4},"end":{"line":2479,"column":65}},"607":{"start":{"line":2504,"column":4},"end":{"line":2506,"column":5}},"608":{"start":{"line":2505,"column":6},"end":{"line":2505,"column":91}},"609":{"start":{"line":2508,"column":4},"end":{"line":2508,"column":76}},"610":{"start":{"line":2508,"column":28},"end":{"line":2508,"column":76}},"611":{"start":{"line":2510,"column":4},"end":{"line":2510,"column":37}},"612":{"start":{"line":2512,"column":4},"end":{"line":2512,"column":14}},"613":{"start":{"line":2513,"column":4},"end":{"line":2515,"column":22}},"614":{"start":{"line":2513,"column":35},"end":{"line":2513,"column":46}},"615":{"start":{"line":2514,"column":9},"end":{"line":2515,"column":22}},"616":{"start":{"line":2514,"column":41},"end":{"line":2514,"column":51}},"617":{"start":{"line":2515,"column":9},"end":{"line":2515,"column":22}},"618":{"start":{"line":2517,"column":4},"end":{"line":2522,"column":44}},"619":{"start":{"line":2521,"column":43},"end":{"line":2521,"column":81}},"620":{"start":{"line":2524,"column":4},"end":{"line":2548,"column":5}},"621":{"start":{"line":2527,"column":6},"end":{"line":2528,"column":61}},"622":{"start":{"line":2530,"column":6},"end":{"line":2542,"column":10}},"623":{"start":{"line":2534,"column":8},"end":{"line":2536,"column":9}},"624":{"start":{"line":2535,"column":10},"end":{"line":2535,"column":60}},"625":{"start":{"line":2537,"column":8},"end":{"line":2537,"column":41}},"626":{"start":{"line":2538,"column":8},"end":{"line":2538,"column":77}},"627":{"start":{"line":2540,"column":11},"end":{"line":2542,"column":10}},"628":{"start":{"line":2541,"column":8},"end":{"line":2541,"column":77}},"629":{"start":{"line":2545,"column":6},"end":{"line":2545,"column":41}},"630":{"start":{"line":2546,"column":6},"end":{"line":2546,"column":24}},"631":{"start":{"line":2547,"column":6},"end":{"line":2547,"column":75}},"632":{"start":{"line":2550,"column":4},"end":{"line":2550,"column":39}},"633":{"start":{"line":2552,"column":4},"end":{"line":2552,"column":16}},"634":{"start":{"line":2557,"column":4},"end":{"line":2568,"column":6}},"635":{"start":{"line":2559,"column":6},"end":{"line":2559,"column":57}},"636":{"start":{"line":2562,"column":6},"end":{"line":2562,"column":43}},"637":{"start":{"line":2562,"column":23},"end":{"line":2562,"column":43}},"638":{"start":{"line":2565,"column":6},"end":{"line":2566,"column":32}},"639":{"start":{"line":2565,"column":19},"end":{"line":2565,"column":28}},"640":{"start":{"line":2566,"column":11},"end":{"line":2566,"column":32}},"641":{"start":{"line":2566,"column":22},"end":{"line":2566,"column":32}},"642":{"start":{"line":2567,"column":6},"end":{"line":2567,"column":15}},"643":{"start":{"line":2586,"column":4},"end":{"line":2586,"column":43}},"644":{"start":{"line":2587,"column":4},"end":{"line":2587,"column":41}},"645":{"start":{"line":2588,"column":4},"end":{"line":2588,"column":41}},"646":{"start":{"line":2590,"column":4},"end":{"line":2590,"column":41}},"647":{"start":{"line":2592,"column":4},"end":{"line":2630,"column":5}},"648":{"start":{"line":2594,"column":6},"end":{"line":2594,"column":34}},"649":{"start":{"line":2595,"column":6},"end":{"line":2595,"column":49}},"650":{"start":{"line":2597,"column":6},"end":{"line":2629,"column":7}},"651":{"start":{"line":2598,"column":8},"end":{"line":2598,"column":44}},"652":{"start":{"line":2599,"column":8},"end":{"line":2599,"column":31}},"653":{"start":{"line":2600,"column":8},"end":{"line":2607,"column":56}},"654":{"start":{"line":2601,"column":10},"end":{"line":2601,"column":30}},"655":{"start":{"line":2602,"column":10},"end":{"line":2605,"column":11}},"656":{"start":{"line":2603,"column":12},"end":{"line":2603,"column":33}},"657":{"start":{"line":2604,"column":12},"end":{"line":2604,"column":56}},"658":{"start":{"line":2607,"column":13},"end":{"line":2607,"column":56}},"659":{"start":{"line":2609,"column":11},"end":{"line":2629,"column":7}},"660":{"start":{"line":2610,"column":8},"end":{"line":2610,"column":40}},"661":{"start":{"line":2611,"column":8},"end":{"line":2624,"column":9}},"662":{"start":{"line":2614,"column":10},"end":{"line":2614,"column":29}},"663":{"start":{"line":2615,"column":10},"end":{"line":2615,"column":29}},"664":{"start":{"line":2616,"column":10},"end":{"line":2616,"column":39}},"665":{"start":{"line":2617,"column":10},"end":{"line":2617,"column":94}},"666":{"start":{"line":2618,"column":10},"end":{"line":2618,"column":85}},"667":{"start":{"line":2619,"column":10},"end":{"line":2623,"column":11}},"668":{"start":{"line":2620,"column":12},"end":{"line":2620,"column":33}},"669":{"start":{"line":2621,"column":12},"end":{"line":2621,"column":56}},"670":{"start":{"line":2622,"column":12},"end":{"line":2622,"column":18}},"671":{"start":{"line":2626,"column":8},"end":{"line":2628,"column":9}},"672":{"start":{"line":2627,"column":10},"end":{"line":2627,"column":79}},"673":{"start":{"line":2632,"column":4},"end":{"line":2632,"column":16}},"674":{"start":{"line":2652,"column":0},"end":{"line":2674,"column":3}},"675":{"start":{"line":2668,"column":4},"end":{"line":2668,"column":35}},"676":{"start":{"line":2669,"column":4},"end":{"line":2671,"column":5}},"677":{"start":{"line":2670,"column":6},"end":{"line":2670,"column":56}},"678":{"start":{"line":2731,"column":0},"end":{"line":2881,"column":3}},"679":{"start":{"line":2762,"column":4},"end":{"line":2764,"column":5}},"680":{"start":{"line":2763,"column":6},"end":{"line":2763,"column":53}},"681":{"start":{"line":2765,"column":4},"end":{"line":2765,"column":35}},"682":{"start":{"line":2767,"column":4},"end":{"line":2768,"column":78}},"683":{"start":{"line":2771,"column":4},"end":{"line":2771,"column":42}},"684":{"start":{"line":2772,"column":4},"end":{"line":2772,"column":47}},"685":{"start":{"line":2774,"column":4},"end":{"line":2774,"column":48}},"686":{"start":{"line":2775,"column":4},"end":{"line":2777,"column":5}},"687":{"start":{"line":2776,"column":6},"end":{"line":2776,"column":53}},"688":{"start":{"line":2779,"column":4},"end":{"line":2779,"column":48}},"689":{"start":{"line":2780,"column":4},"end":{"line":2782,"column":5}},"690":{"start":{"line":2781,"column":6},"end":{"line":2781,"column":53}},"691":{"start":{"line":2784,"column":4},"end":{"line":2793,"column":7}},"692":{"start":{"line":2785,"column":6},"end":{"line":2787,"column":7}},"693":{"start":{"line":2786,"column":8},"end":{"line":2786,"column":78}},"694":{"start":{"line":2788,"column":6},"end":{"line":2788,"column":72}},"695":{"start":{"line":2789,"column":6},"end":{"line":2791,"column":7}},"696":{"start":{"line":2790,"column":8},"end":{"line":2790,"column":78}},"697":{"start":{"line":2792,"column":6},"end":{"line":2792,"column":20}},"698":{"start":{"line":2800,"column":4},"end":{"line":2800,"column":52}},"699":{"start":{"line":2801,"column":4},"end":{"line":2801,"column":16}},"700":{"start":{"line":2808,"column":4},"end":{"line":2808,"column":52}},"701":{"start":{"line":2809,"column":4},"end":{"line":2809,"column":16}},"702":{"start":{"line":2820,"column":4},"end":{"line":2820,"column":52}},"703":{"start":{"line":2821,"column":4},"end":{"line":2821,"column":16}},"704":{"start":{"line":2832,"column":4},"end":{"line":2832,"column":55}},"705":{"start":{"line":2833,"column":4},"end":{"line":2833,"column":16}},"706":{"start":{"line":2840,"column":4},"end":{"line":2840,"column":47}},"707":{"start":{"line":2841,"column":4},"end":{"line":2841,"column":16}},"708":{"start":{"line":2850,"column":4},"end":{"line":2850,"column":21}},"709":{"start":{"line":2852,"column":4},"end":{"line":2854,"column":5}},"710":{"start":{"line":2853,"column":6},"end":{"line":2853,"column":48}},"711":{"start":{"line":2856,"column":4},"end":{"line":2858,"column":5}},"712":{"start":{"line":2857,"column":6},"end":{"line":2857,"column":48}},"713":{"start":{"line":2860,"column":4},"end":{"line":2860,"column":44}},"714":{"start":{"line":2862,"column":4},"end":{"line":2862,"column":26}},"715":{"start":{"line":2864,"column":4},"end":{"line":2864,"column":44}},"716":{"start":{"line":2866,"column":4},"end":{"line":2866,"column":16}},"717":{"start":{"line":2875,"column":4},"end":{"line":2875,"column":68}},"718":{"start":{"line":2876,"column":4},"end":{"line":2876,"column":49}},"719":{"start":{"line":2877,"column":4},"end":{"line":2877,"column":68}},"720":{"start":{"line":2878,"column":4},"end":{"line":2878,"column":65}},"721":{"start":{"line":2882,"column":0},"end":{"line":2882,"column":16}}},"branchMap":{"1":{"line":12,"type":"if","locations":[{"start":{"line":12,"column":2},"end":{"line":12,"column":2}},{"start":{"line":12,"column":2},"end":{"line":12,"column":2}}]},"2":{"line":38,"type":"if","locations":[{"start":{"line":38,"column":0},"end":{"line":38,"column":0}},{"start":{"line":38,"column":0},"end":{"line":38,"column":0}}]},"3":{"line":38,"type":"binary-expr","locations":[{"start":{"line":38,"column":4},"end":{"line":38,"column":26}},{"start":{"line":38,"column":30},"end":{"line":38,"column":39}}]},"4":{"line":45,"type":"if","locations":[{"start":{"line":45,"column":4},"end":{"line":45,"column":4}},{"start":{"line":45,"column":4},"end":{"line":45,"column":4}}]},"5":{"line":45,"type":"binary-expr","locations":[{"start":{"line":45,"column":8},"end":{"line":45,"column":26}},{"start":{"line":45,"column":30},"end":{"line":45,"column":43}}]},"6":{"line":56,"type":"cond-expr","locations":[{"start":{"line":56,"column":33},"end":{"line":56,"column":34}},{"start":{"line":56,"column":37},"end":{"line":56,"column":47}}]},"7":{"line":71,"type":"if","locations":[{"start":{"line":71,"column":4},"end":{"line":71,"column":4}},{"start":{"line":71,"column":4},"end":{"line":71,"column":4}}]},"8":{"line":75,"type":"binary-expr","locations":[{"start":{"line":75,"column":18},"end":{"line":75,"column":31}},{"start":{"line":75,"column":35},"end":{"line":75,"column":58}}]},"9":{"line":76,"type":"if","locations":[{"start":{"line":76,"column":6},"end":{"line":76,"column":6}},{"start":{"line":76,"column":6},"end":{"line":76,"column":6}}]},"10":{"line":87,"type":"if","locations":[{"start":{"line":87,"column":4},"end":{"line":87,"column":4}},{"start":{"line":87,"column":4},"end":{"line":87,"column":4}}]},"11":{"line":91,"type":"cond-expr","locations":[{"start":{"line":91,"column":48},"end":{"line":91,"column":52}},{"start":{"line":91,"column":55},"end":{"line":91,"column":57}}]},"12":{"line":142,"type":"binary-expr","locations":[{"start":{"line":142,"column":33},"end":{"line":142,"column":46}},{"start":{"line":142,"column":50},"end":{"line":142,"column":68}}]},"13":{"line":148,"type":"binary-expr","locations":[{"start":{"line":148,"column":34},"end":{"line":148,"column":48}},{"start":{"line":148,"column":52},"end":{"line":148,"column":70}}]},"14":{"line":167,"type":"binary-expr","locations":[{"start":{"line":167,"column":13},"end":{"line":167,"column":26}},{"start":{"line":167,"column":30},"end":{"line":167,"column":45}},{"start":{"line":167,"column":49},"end":{"line":167,"column":64}},{"start":{"line":168,"column":13},"end":{"line":168,"column":29}},{"start":{"line":168,"column":33},"end":{"line":168,"column":44}},{"start":{"line":168,"column":48},"end":{"line":168,"column":61}}]},"15":{"line":236,"type":"binary-expr","locations":[{"start":{"line":236,"column":32},"end":{"line":236,"column":39}},{"start":{"line":236,"column":43},"end":{"line":236,"column":45}}]},"16":{"line":238,"type":"if","locations":[{"start":{"line":238,"column":2},"end":{"line":238,"column":2}},{"start":{"line":238,"column":2},"end":{"line":238,"column":2}}]},"17":{"line":238,"type":"binary-expr","locations":[{"start":{"line":238,"column":6},"end":{"line":238,"column":23}},{"start":{"line":238,"column":27},"end":{"line":238,"column":45}}]},"18":{"line":277,"type":"if","locations":[{"start":{"line":277,"column":4},"end":{"line":277,"column":4}},{"start":{"line":277,"column":4},"end":{"line":277,"column":4}}]},"19":{"line":277,"type":"binary-expr","locations":[{"start":{"line":277,"column":8},"end":{"line":277,"column":24}},{"start":{"line":277,"column":28},"end":{"line":277,"column":49}}]},"20":{"line":283,"type":"cond-expr","locations":[{"start":{"line":283,"column":33},"end":{"line":283,"column":74}},{"start":{"line":283,"column":77},"end":{"line":283,"column":79}}]},"21":{"line":283,"type":"binary-expr","locations":[{"start":{"line":283,"column":34},"end":{"line":283,"column":55}},{"start":{"line":283,"column":59},"end":{"line":283,"column":62}}]},"22":{"line":301,"type":"if","locations":[{"start":{"line":301,"column":4},"end":{"line":301,"column":4}},{"start":{"line":301,"column":4},"end":{"line":301,"column":4}}]},"23":{"line":316,"type":"if","locations":[{"start":{"line":316,"column":4},"end":{"line":316,"column":4}},{"start":{"line":316,"column":4},"end":{"line":316,"column":4}}]},"24":{"line":321,"type":"if","locations":[{"start":{"line":321,"column":4},"end":{"line":321,"column":4}},{"start":{"line":321,"column":4},"end":{"line":321,"column":4}}]},"25":{"line":321,"type":"binary-expr","locations":[{"start":{"line":321,"column":8},"end":{"line":321,"column":26}},{"start":{"line":321,"column":30},"end":{"line":321,"column":46}}]},"26":{"line":371,"type":"binary-expr","locations":[{"start":{"line":371,"column":12},"end":{"line":371,"column":63}},{"start":{"line":371,"column":67},"end":{"line":371,"column":70}}]},"27":{"line":387,"type":"if","locations":[{"start":{"line":387,"column":4},"end":{"line":387,"column":4}},{"start":{"line":387,"column":4},"end":{"line":387,"column":4}}]},"28":{"line":387,"type":"binary-expr","locations":[{"start":{"line":387,"column":8},"end":{"line":387,"column":14}},{"start":{"line":387,"column":18},"end":{"line":387,"column":27}},{"start":{"line":387,"column":31},"end":{"line":387,"column":47}},{"start":{"line":387,"column":51},"end":{"line":387,"column":68}}]},"29":{"line":389,"type":"if","locations":[{"start":{"line":389,"column":6},"end":{"line":389,"column":6}},{"start":{"line":389,"column":6},"end":{"line":389,"column":6}}]},"30":{"line":410,"type":"binary-expr","locations":[{"start":{"line":410,"column":32},"end":{"line":410,"column":39}},{"start":{"line":410,"column":43},"end":{"line":410,"column":45}}]},"31":{"line":412,"type":"if","locations":[{"start":{"line":412,"column":2},"end":{"line":412,"column":2}},{"start":{"line":412,"column":2},"end":{"line":412,"column":2}}]},"32":{"line":412,"type":"binary-expr","locations":[{"start":{"line":412,"column":6},"end":{"line":412,"column":23}},{"start":{"line":412,"column":27},"end":{"line":412,"column":44}}]},"33":{"line":444,"type":"if","locations":[{"start":{"line":444,"column":4},"end":{"line":444,"column":4}},{"start":{"line":444,"column":4},"end":{"line":444,"column":4}}]},"34":{"line":447,"type":"if","locations":[{"start":{"line":447,"column":4},"end":{"line":447,"column":4}},{"start":{"line":447,"column":4},"end":{"line":447,"column":4}}]},"35":{"line":454,"type":"binary-expr","locations":[{"start":{"line":454,"column":18},"end":{"line":454,"column":50}},{"start":{"line":454,"column":54},"end":{"line":454,"column":56}}]},"36":{"line":455,"type":"cond-expr","locations":[{"start":{"line":455,"column":43},"end":{"line":455,"column":51}},{"start":{"line":455,"column":54},"end":{"line":455,"column":56}}]},"37":{"line":456,"type":"cond-expr","locations":[{"start":{"line":456,"column":32},"end":{"line":456,"column":40}},{"start":{"line":456,"column":43},"end":{"line":456,"column":86}}]},"38":{"line":456,"type":"binary-expr","locations":[{"start":{"line":456,"column":13},"end":{"line":456,"column":17}},{"start":{"line":456,"column":21},"end":{"line":456,"column":29}}]},"39":{"line":456,"type":"cond-expr","locations":[{"start":{"line":456,"column":73},"end":{"line":456,"column":81}},{"start":{"line":456,"column":84},"end":{"line":456,"column":86}}]},"40":{"line":459,"type":"binary-expr","locations":[{"start":{"line":459,"column":19},"end":{"line":459,"column":42}},{"start":{"line":459,"column":46},"end":{"line":459,"column":48}}]},"41":{"line":460,"type":"binary-expr","locations":[{"start":{"line":460,"column":20},"end":{"line":460,"column":43}},{"start":{"line":460,"column":47},"end":{"line":460,"column":49}}]},"42":{"line":462,"type":"if","locations":[{"start":{"line":462,"column":4},"end":{"line":462,"column":4}},{"start":{"line":462,"column":4},"end":{"line":462,"column":4}}]},"43":{"line":463,"type":"if","locations":[{"start":{"line":463,"column":6},"end":{"line":463,"column":6}},{"start":{"line":463,"column":6},"end":{"line":463,"column":6}}]},"44":{"line":463,"type":"binary-expr","locations":[{"start":{"line":463,"column":10},"end":{"line":463,"column":26}},{"start":{"line":463,"column":30},"end":{"line":463,"column":56}}]},"45":{"line":464,"type":"if","locations":[{"start":{"line":464,"column":6},"end":{"line":464,"column":6}},{"start":{"line":464,"column":6},"end":{"line":464,"column":6}}]},"46":{"line":464,"type":"binary-expr","locations":[{"start":{"line":464,"column":10},"end":{"line":464,"column":26}},{"start":{"line":464,"column":30},"end":{"line":464,"column":57}}]},"47":{"line":465,"type":"if","locations":[{"start":{"line":465,"column":6},"end":{"line":465,"column":6}},{"start":{"line":465,"column":6},"end":{"line":465,"column":6}}]},"48":{"line":465,"type":"binary-expr","locations":[{"start":{"line":465,"column":10},"end":{"line":465,"column":27}},{"start":{"line":465,"column":31},"end":{"line":465,"column":35}}]},"49":{"line":466,"type":"if","locations":[{"start":{"line":466,"column":6},"end":{"line":466,"column":6}},{"start":{"line":466,"column":6},"end":{"line":466,"column":6}}]},"50":{"line":466,"type":"binary-expr","locations":[{"start":{"line":466,"column":10},"end":{"line":466,"column":27}},{"start":{"line":466,"column":31},"end":{"line":466,"column":35}}]},"51":{"line":469,"type":"binary-expr","locations":[{"start":{"line":469,"column":35},"end":{"line":469,"column":50}},{"start":{"line":469,"column":54},"end":{"line":469,"column":55}}]},"52":{"line":470,"type":"binary-expr","locations":[{"start":{"line":470,"column":35},"end":{"line":470,"column":54}},{"start":{"line":470,"column":58},"end":{"line":470,"column":59}}]},"53":{"line":471,"type":"binary-expr","locations":[{"start":{"line":471,"column":35},"end":{"line":471,"column":50}},{"start":{"line":471,"column":54},"end":{"line":471,"column":55}}]},"54":{"line":472,"type":"binary-expr","locations":[{"start":{"line":472,"column":35},"end":{"line":472,"column":51}},{"start":{"line":472,"column":55},"end":{"line":472,"column":59}}]},"55":{"line":473,"type":"binary-expr","locations":[{"start":{"line":473,"column":35},"end":{"line":473,"column":51}},{"start":{"line":473,"column":55},"end":{"line":473,"column":59}}]},"56":{"line":474,"type":"binary-expr","locations":[{"start":{"line":474,"column":35},"end":{"line":474,"column":51}},{"start":{"line":474,"column":55},"end":{"line":474,"column":59}}]},"57":{"line":475,"type":"binary-expr","locations":[{"start":{"line":475,"column":35},"end":{"line":475,"column":51}},{"start":{"line":475,"column":55},"end":{"line":475,"column":59}}]},"58":{"line":479,"type":"if","locations":[{"start":{"line":479,"column":4},"end":{"line":479,"column":4}},{"start":{"line":479,"column":4},"end":{"line":479,"column":4}}]},"59":{"line":483,"type":"if","locations":[{"start":{"line":483,"column":4},"end":{"line":483,"column":4}},{"start":{"line":483,"column":4},"end":{"line":483,"column":4}}]},"60":{"line":484,"type":"cond-expr","locations":[{"start":{"line":484,"column":44},"end":{"line":484,"column":47}},{"start":{"line":484,"column":50},"end":{"line":484,"column":52}}]},"61":{"line":486,"type":"if","locations":[{"start":{"line":486,"column":6},"end":{"line":486,"column":6}},{"start":{"line":486,"column":6},"end":{"line":486,"column":6}}]},"62":{"line":491,"type":"if","locations":[{"start":{"line":491,"column":4},"end":{"line":491,"column":4}},{"start":{"line":491,"column":4},"end":{"line":491,"column":4}}]},"63":{"line":491,"type":"binary-expr","locations":[{"start":{"line":491,"column":8},"end":{"line":491,"column":24}},{"start":{"line":491,"column":28},"end":{"line":491,"column":44}}]},"64":{"line":509,"type":"if","locations":[{"start":{"line":509,"column":4},"end":{"line":509,"column":4}},{"start":{"line":509,"column":4},"end":{"line":509,"column":4}}]},"65":{"line":509,"type":"binary-expr","locations":[{"start":{"line":509,"column":8},"end":{"line":509,"column":25}},{"start":{"line":509,"column":29},"end":{"line":509,"column":51}}]},"66":{"line":555,"type":"if","locations":[{"start":{"line":555,"column":4},"end":{"line":555,"column":4}},{"start":{"line":555,"column":4},"end":{"line":555,"column":4}}]},"67":{"line":555,"type":"binary-expr","locations":[{"start":{"line":555,"column":8},"end":{"line":555,"column":31}},{"start":{"line":555,"column":35},"end":{"line":555,"column":53}}]},"68":{"line":582,"type":"if","locations":[{"start":{"line":582,"column":4},"end":{"line":582,"column":4}},{"start":{"line":582,"column":4},"end":{"line":582,"column":4}}]},"69":{"line":582,"type":"binary-expr","locations":[{"start":{"line":582,"column":8},"end":{"line":582,"column":26}},{"start":{"line":582,"column":30},"end":{"line":582,"column":42}}]},"70":{"line":613,"type":"cond-expr","locations":[{"start":{"line":613,"column":33},"end":{"line":613,"column":41}},{"start":{"line":613,"column":44},"end":{"line":613,"column":78}}]},"71":{"line":613,"type":"cond-expr","locations":[{"start":{"line":613,"column":63},"end":{"line":613,"column":73}},{"start":{"line":613,"column":76},"end":{"line":613,"column":78}}]},"72":{"line":649,"type":"if","locations":[{"start":{"line":649,"column":4},"end":{"line":649,"column":4}},{"start":{"line":649,"column":4},"end":{"line":649,"column":4}}]},"73":{"line":662,"type":"if","locations":[{"start":{"line":662,"column":4},"end":{"line":662,"column":4}},{"start":{"line":662,"column":4},"end":{"line":662,"column":4}}]},"74":{"line":662,"type":"binary-expr","locations":[{"start":{"line":662,"column":8},"end":{"line":662,"column":22}},{"start":{"line":662,"column":26},"end":{"line":662,"column":71}}]},"75":{"line":707,"type":"if","locations":[{"start":{"line":707,"column":4},"end":{"line":707,"column":4}},{"start":{"line":707,"column":4},"end":{"line":707,"column":4}}]},"76":{"line":748,"type":"if","locations":[{"start":{"line":748,"column":4},"end":{"line":748,"column":4}},{"start":{"line":748,"column":4},"end":{"line":748,"column":4}}]},"77":{"line":748,"type":"binary-expr","locations":[{"start":{"line":748,"column":8},"end":{"line":748,"column":24}},{"start":{"line":748,"column":28},"end":{"line":748,"column":46}},{"start":{"line":748,"column":50},"end":{"line":748,"column":68}},{"start":{"line":748,"column":72},"end":{"line":748,"column":91}},{"start":{"line":749,"column":8},"end":{"line":749,"column":22}},{"start":{"line":749,"column":26},"end":{"line":749,"column":33}}]},"78":{"line":756,"type":"if","locations":[{"start":{"line":756,"column":6},"end":{"line":756,"column":6}},{"start":{"line":756,"column":6},"end":{"line":756,"column":6}}]},"79":{"line":765,"type":"if","locations":[{"start":{"line":765,"column":9},"end":{"line":765,"column":9}},{"start":{"line":765,"column":9},"end":{"line":765,"column":9}}]},"80":{"line":773,"type":"if","locations":[{"start":{"line":773,"column":4},"end":{"line":773,"column":4}},{"start":{"line":773,"column":4},"end":{"line":773,"column":4}}]},"81":{"line":773,"type":"binary-expr","locations":[{"start":{"line":773,"column":8},"end":{"line":773,"column":22}},{"start":{"line":773,"column":26},"end":{"line":773,"column":71}}]},"82":{"line":775,"type":"if","locations":[{"start":{"line":775,"column":6},"end":{"line":775,"column":6}},{"start":{"line":775,"column":6},"end":{"line":775,"column":6}}]},"83":{"line":834,"type":"if","locations":[{"start":{"line":834,"column":4},"end":{"line":834,"column":4}},{"start":{"line":834,"column":4},"end":{"line":834,"column":4}}]},"84":{"line":840,"type":"binary-expr","locations":[{"start":{"line":840,"column":48},"end":{"line":840,"column":71}},{"start":{"line":841,"column":48},"end":{"line":841,"column":62}}]},"85":{"line":843,"type":"if","locations":[{"start":{"line":843,"column":4},"end":{"line":843,"column":4}},{"start":{"line":843,"column":4},"end":{"line":843,"column":4}}]},"86":{"line":843,"type":"binary-expr","locations":[{"start":{"line":843,"column":8},"end":{"line":843,"column":40}},{"start":{"line":843,"column":44},"end":{"line":843,"column":74}}]},"87":{"line":852,"type":"if","locations":[{"start":{"line":852,"column":6},"end":{"line":852,"column":6}},{"start":{"line":852,"column":6},"end":{"line":852,"column":6}}]},"88":{"line":861,"type":"if","locations":[{"start":{"line":861,"column":22},"end":{"line":861,"column":22}},{"start":{"line":861,"column":22},"end":{"line":861,"column":22}}]},"89":{"line":867,"type":"if","locations":[{"start":{"line":867,"column":4},"end":{"line":867,"column":4}},{"start":{"line":867,"column":4},"end":{"line":867,"column":4}}]},"90":{"line":868,"type":"if","locations":[{"start":{"line":868,"column":4},"end":{"line":868,"column":4}},{"start":{"line":868,"column":4},"end":{"line":868,"column":4}}]},"91":{"line":869,"type":"if","locations":[{"start":{"line":869,"column":4},"end":{"line":869,"column":4}},{"start":{"line":869,"column":4},"end":{"line":869,"column":4}}]},"92":{"line":908,"type":"if","locations":[{"start":{"line":908,"column":4},"end":{"line":908,"column":4}},{"start":{"line":908,"column":4},"end":{"line":908,"column":4}}]},"93":{"line":933,"type":"if","locations":[{"start":{"line":933,"column":4},"end":{"line":933,"column":4}},{"start":{"line":933,"column":4},"end":{"line":933,"column":4}}]},"94":{"line":933,"type":"binary-expr","locations":[{"start":{"line":933,"column":8},"end":{"line":933,"column":22}},{"start":{"line":933,"column":26},"end":{"line":933,"column":71}}]},"95":{"line":956,"type":"if","locations":[{"start":{"line":956,"column":4},"end":{"line":956,"column":4}},{"start":{"line":956,"column":4},"end":{"line":956,"column":4}}]},"96":{"line":1010,"type":"binary-expr","locations":[{"start":{"line":1010,"column":17},"end":{"line":1010,"column":30}},{"start":{"line":1010,"column":34},"end":{"line":1010,"column":44}}]},"97":{"line":1011,"type":"binary-expr","locations":[{"start":{"line":1011,"column":18},"end":{"line":1011,"column":32}},{"start":{"line":1011,"column":36},"end":{"line":1011,"column":47}}]},"98":{"line":1021,"type":"binary-expr","locations":[{"start":{"line":1021,"column":13},"end":{"line":1021,"column":23}},{"start":{"line":1021,"column":27},"end":{"line":1021,"column":41}}]},"99":{"line":1210,"type":"cond-expr","locations":[{"start":{"line":1210,"column":41},"end":{"line":1210,"column":53}},{"start":{"line":1210,"column":56},"end":{"line":1210,"column":58}}]},"100":{"line":1211,"type":"cond-expr","locations":[{"start":{"line":1211,"column":60},"end":{"line":1211,"column":63}},{"start":{"line":1211,"column":66},"end":{"line":1211,"column":68}}]},"101":{"line":1211,"type":"binary-expr","locations":[{"start":{"line":1211,"column":20},"end":{"line":1211,"column":36}},{"start":{"line":1211,"column":40},"end":{"line":1211,"column":56}}]},"102":{"line":1212,"type":"cond-expr","locations":[{"start":{"line":1212,"column":38},"end":{"line":1212,"column":48}},{"start":{"line":1212,"column":51},"end":{"line":1212,"column":53}}]},"103":{"line":1213,"type":"cond-expr","locations":[{"start":{"line":1213,"column":61},"end":{"line":1213,"column":67}},{"start":{"line":1213,"column":70},"end":{"line":1213,"column":72}}]},"104":{"line":1213,"type":"binary-expr","locations":[{"start":{"line":1213,"column":20},"end":{"line":1213,"column":36}},{"start":{"line":1213,"column":40},"end":{"line":1213,"column":57}}]},"105":{"line":1302,"type":"if","locations":[{"start":{"line":1302,"column":4},"end":{"line":1302,"column":4}},{"start":{"line":1302,"column":4},"end":{"line":1302,"column":4}}]},"106":{"line":1319,"type":"if","locations":[{"start":{"line":1319,"column":4},"end":{"line":1319,"column":4}},{"start":{"line":1319,"column":4},"end":{"line":1319,"column":4}}]},"107":{"line":1319,"type":"binary-expr","locations":[{"start":{"line":1319,"column":8},"end":{"line":1319,"column":26}},{"start":{"line":1319,"column":30},"end":{"line":1319,"column":48}}]},"108":{"line":1320,"type":"if","locations":[{"start":{"line":1320,"column":4},"end":{"line":1320,"column":4}},{"start":{"line":1320,"column":4},"end":{"line":1320,"column":4}}]},"109":{"line":1326,"type":"if","locations":[{"start":{"line":1326,"column":4},"end":{"line":1326,"column":4}},{"start":{"line":1326,"column":4},"end":{"line":1326,"column":4}}]},"110":{"line":1326,"type":"binary-expr","locations":[{"start":{"line":1326,"column":8},"end":{"line":1326,"column":22}},{"start":{"line":1326,"column":26},"end":{"line":1326,"column":44}},{"start":{"line":1326,"column":48},"end":{"line":1326,"column":67}},{"start":{"line":1326,"column":71},"end":{"line":1326,"column":87}},{"start":{"line":1327,"column":8},"end":{"line":1327,"column":26}}]},"111":{"line":1334,"type":"if","locations":[{"start":{"line":1334,"column":9},"end":{"line":1334,"column":9}},{"start":{"line":1334,"column":9},"end":{"line":1334,"column":9}}]},"112":{"line":1440,"type":"if","locations":[{"start":{"line":1440,"column":4},"end":{"line":1440,"column":4}},{"start":{"line":1440,"column":4},"end":{"line":1440,"column":4}}]},"113":{"line":1451,"type":"if","locations":[{"start":{"line":1451,"column":6},"end":{"line":1451,"column":6}},{"start":{"line":1451,"column":6},"end":{"line":1451,"column":6}}]},"114":{"line":1461,"type":"if","locations":[{"start":{"line":1461,"column":11},"end":{"line":1461,"column":11}},{"start":{"line":1461,"column":11},"end":{"line":1461,"column":11}}]},"115":{"line":1494,"type":"if","locations":[{"start":{"line":1494,"column":4},"end":{"line":1494,"column":4}},{"start":{"line":1494,"column":4},"end":{"line":1494,"column":4}}]},"116":{"line":1498,"type":"if","locations":[{"start":{"line":1498,"column":9},"end":{"line":1498,"column":9}},{"start":{"line":1498,"column":9},"end":{"line":1498,"column":9}}]},"117":{"line":1498,"type":"binary-expr","locations":[{"start":{"line":1498,"column":13},"end":{"line":1498,"column":27}},{"start":{"line":1498,"column":31},"end":{"line":1498,"column":49}},{"start":{"line":1498,"column":53},"end":{"line":1498,"column":72}},{"start":{"line":1499,"column":13},"end":{"line":1499,"column":29}},{"start":{"line":1499,"column":33},"end":{"line":1499,"column":51}},{"start":{"line":1499,"column":55},"end":{"line":1499,"column":71}}]},"118":{"line":1575,"type":"if","locations":[{"start":{"line":1575,"column":6},"end":{"line":1575,"column":6}},{"start":{"line":1575,"column":6},"end":{"line":1575,"column":6}}]},"119":{"line":1597,"type":"if","locations":[{"start":{"line":1597,"column":6},"end":{"line":1597,"column":6}},{"start":{"line":1597,"column":6},"end":{"line":1597,"column":6}}]},"120":{"line":1597,"type":"binary-expr","locations":[{"start":{"line":1597,"column":10},"end":{"line":1597,"column":34}},{"start":{"line":1597,"column":38},"end":{"line":1597,"column":61}}]},"121":{"line":1605,"type":"if","locations":[{"start":{"line":1605,"column":10},"end":{"line":1605,"column":10}},{"start":{"line":1605,"column":10},"end":{"line":1605,"column":10}}]},"122":{"line":1609,"type":"if","locations":[{"start":{"line":1609,"column":12},"end":{"line":1609,"column":12}},{"start":{"line":1609,"column":12},"end":{"line":1609,"column":12}}]},"123":{"line":1611,"type":"if","locations":[{"start":{"line":1611,"column":15},"end":{"line":1611,"column":15}},{"start":{"line":1611,"column":15},"end":{"line":1611,"column":15}}]},"124":{"line":1616,"type":"if","locations":[{"start":{"line":1616,"column":14},"end":{"line":1616,"column":14}},{"start":{"line":1616,"column":14},"end":{"line":1616,"column":14}}]},"125":{"line":1630,"type":"if","locations":[{"start":{"line":1630,"column":6},"end":{"line":1630,"column":6}},{"start":{"line":1630,"column":6},"end":{"line":1630,"column":6}}]},"126":{"line":1784,"type":"if","locations":[{"start":{"line":1784,"column":4},"end":{"line":1784,"column":4}},{"start":{"line":1784,"column":4},"end":{"line":1784,"column":4}}]},"127":{"line":1809,"type":"if","locations":[{"start":{"line":1809,"column":4},"end":{"line":1809,"column":4}},{"start":{"line":1809,"column":4},"end":{"line":1809,"column":4}}]},"128":{"line":1810,"type":"if","locations":[{"start":{"line":1810,"column":9},"end":{"line":1810,"column":9}},{"start":{"line":1810,"column":9},"end":{"line":1810,"column":9}}]},"129":{"line":1842,"type":"if","locations":[{"start":{"line":1842,"column":4},"end":{"line":1842,"column":4}},{"start":{"line":1842,"column":4},"end":{"line":1842,"column":4}}]},"130":{"line":1843,"type":"if","locations":[{"start":{"line":1843,"column":9},"end":{"line":1843,"column":9}},{"start":{"line":1843,"column":9},"end":{"line":1843,"column":9}}]},"131":{"line":1896,"type":"if","locations":[{"start":{"line":1896,"column":4},"end":{"line":1896,"column":4}},{"start":{"line":1896,"column":4},"end":{"line":1896,"column":4}}]},"132":{"line":1911,"type":"if","locations":[{"start":{"line":1911,"column":6},"end":{"line":1911,"column":6}},{"start":{"line":1911,"column":6},"end":{"line":1911,"column":6}}]},"133":{"line":1914,"type":"if","locations":[{"start":{"line":1914,"column":11},"end":{"line":1914,"column":11}},{"start":{"line":1914,"column":11},"end":{"line":1914,"column":11}}]},"134":{"line":2059,"type":"if","locations":[{"start":{"line":2059,"column":4},"end":{"line":2059,"column":4}},{"start":{"line":2059,"column":4},"end":{"line":2059,"column":4}}]},"135":{"line":2069,"type":"if","locations":[{"start":{"line":2069,"column":22},"end":{"line":2069,"column":22}},{"start":{"line":2069,"column":22},"end":{"line":2069,"column":22}}]},"136":{"line":2077,"type":"if","locations":[{"start":{"line":2077,"column":4},"end":{"line":2077,"column":4}},{"start":{"line":2077,"column":4},"end":{"line":2077,"column":4}}]},"137":{"line":2078,"type":"if","locations":[{"start":{"line":2078,"column":4},"end":{"line":2078,"column":4}},{"start":{"line":2078,"column":4},"end":{"line":2078,"column":4}}]},"138":{"line":2079,"type":"if","locations":[{"start":{"line":2079,"column":4},"end":{"line":2079,"column":4}},{"start":{"line":2079,"column":4},"end":{"line":2079,"column":4}}]},"139":{"line":2081,"type":"binary-expr","locations":[{"start":{"line":2081,"column":18},"end":{"line":2081,"column":43}},{"start":{"line":2081,"column":47},"end":{"line":2081,"column":57}}]},"140":{"line":2101,"type":"if","locations":[{"start":{"line":2101,"column":4},"end":{"line":2101,"column":4}},{"start":{"line":2101,"column":4},"end":{"line":2101,"column":4}}]},"141":{"line":2117,"type":"if","locations":[{"start":{"line":2117,"column":6},"end":{"line":2117,"column":6}},{"start":{"line":2117,"column":6},"end":{"line":2117,"column":6}}]},"142":{"line":2118,"type":"if","locations":[{"start":{"line":2118,"column":11},"end":{"line":2118,"column":11}},{"start":{"line":2118,"column":11},"end":{"line":2118,"column":11}}]},"143":{"line":2123,"type":"if","locations":[{"start":{"line":2123,"column":6},"end":{"line":2123,"column":6}},{"start":{"line":2123,"column":6},"end":{"line":2123,"column":6}}]},"144":{"line":2128,"type":"if","locations":[{"start":{"line":2128,"column":4},"end":{"line":2128,"column":4}},{"start":{"line":2128,"column":4},"end":{"line":2128,"column":4}}]},"145":{"line":2130,"type":"if","locations":[{"start":{"line":2130,"column":6},"end":{"line":2130,"column":6}},{"start":{"line":2130,"column":6},"end":{"line":2130,"column":6}}]},"146":{"line":2144,"type":"if","locations":[{"start":{"line":2144,"column":4},"end":{"line":2144,"column":4}},{"start":{"line":2144,"column":4},"end":{"line":2144,"column":4}}]},"147":{"line":2186,"type":"binary-expr","locations":[{"start":{"line":2186,"column":21},"end":{"line":2186,"column":45}},{"start":{"line":2186,"column":49},"end":{"line":2186,"column":67}},{"start":{"line":2186,"column":71},"end":{"line":2186,"column":81}}]},"148":{"line":2220,"type":"if","locations":[{"start":{"line":2220,"column":4},"end":{"line":2220,"column":4}},{"start":{"line":2220,"column":4},"end":{"line":2220,"column":4}}]},"149":{"line":2288,"type":"if","locations":[{"start":{"line":2288,"column":4},"end":{"line":2288,"column":4}},{"start":{"line":2288,"column":4},"end":{"line":2288,"column":4}}]},"150":{"line":2292,"type":"binary-expr","locations":[{"start":{"line":2292,"column":15},"end":{"line":2292,"column":26}},{"start":{"line":2292,"column":30},"end":{"line":2292,"column":33}}]},"151":{"line":2315,"type":"if","locations":[{"start":{"line":2315,"column":4},"end":{"line":2315,"column":4}},{"start":{"line":2315,"column":4},"end":{"line":2315,"column":4}}]},"152":{"line":2315,"type":"binary-expr","locations":[{"start":{"line":2315,"column":8},"end":{"line":2315,"column":30}},{"start":{"line":2315,"column":34},"end":{"line":2315,"column":56}}]},"153":{"line":2348,"type":"if","locations":[{"start":{"line":2348,"column":4},"end":{"line":2348,"column":4}},{"start":{"line":2348,"column":4},"end":{"line":2348,"column":4}}]},"154":{"line":2351,"type":"if","locations":[{"start":{"line":2351,"column":4},"end":{"line":2351,"column":4}},{"start":{"line":2351,"column":4},"end":{"line":2351,"column":4}}]},"155":{"line":2351,"type":"binary-expr","locations":[{"start":{"line":2351,"column":8},"end":{"line":2351,"column":52}},{"start":{"line":2351,"column":56},"end":{"line":2351,"column":64}}]},"156":{"line":2368,"type":"if","locations":[{"start":{"line":2368,"column":4},"end":{"line":2368,"column":4}},{"start":{"line":2368,"column":4},"end":{"line":2368,"column":4}}]},"157":{"line":2405,"type":"if","locations":[{"start":{"line":2405,"column":4},"end":{"line":2405,"column":4}},{"start":{"line":2405,"column":4},"end":{"line":2405,"column":4}}]},"158":{"line":2411,"type":"if","locations":[{"start":{"line":2411,"column":4},"end":{"line":2411,"column":4}},{"start":{"line":2411,"column":4},"end":{"line":2411,"column":4}}]},"159":{"line":2411,"type":"binary-expr","locations":[{"start":{"line":2411,"column":8},"end":{"line":2411,"column":37}},{"start":{"line":2411,"column":41},"end":{"line":2411,"column":55}}]},"160":{"line":2504,"type":"if","locations":[{"start":{"line":2504,"column":4},"end":{"line":2504,"column":4}},{"start":{"line":2504,"column":4},"end":{"line":2504,"column":4}}]},"161":{"line":2508,"type":"if","locations":[{"start":{"line":2508,"column":4},"end":{"line":2508,"column":4}},{"start":{"line":2508,"column":4},"end":{"line":2508,"column":4}}]},"162":{"line":2513,"type":"if","locations":[{"start":{"line":2513,"column":4},"end":{"line":2513,"column":4}},{"start":{"line":2513,"column":4},"end":{"line":2513,"column":4}}]},"163":{"line":2514,"type":"if","locations":[{"start":{"line":2514,"column":9},"end":{"line":2514,"column":9}},{"start":{"line":2514,"column":9},"end":{"line":2514,"column":9}}]},"164":{"line":2518,"type":"cond-expr","locations":[{"start":{"line":2519,"column":41},"end":{"line":2519,"column":59}},{"start":{"line":2520,"column":41},"end":{"line":2522,"column":42}}]},"165":{"line":2524,"type":"if","locations":[{"start":{"line":2524,"column":4},"end":{"line":2524,"column":4}},{"start":{"line":2524,"column":4},"end":{"line":2524,"column":4}}]},"166":{"line":2524,"type":"binary-expr","locations":[{"start":{"line":2524,"column":8},"end":{"line":2524,"column":35}},{"start":{"line":2525,"column":8},"end":{"line":2525,"column":57}}]},"167":{"line":2527,"type":"binary-expr","locations":[{"start":{"line":2527,"column":28},"end":{"line":2527,"column":33}},{"start":{"line":2527,"column":37},"end":{"line":2527,"column":55}}]},"168":{"line":2530,"type":"if","locations":[{"start":{"line":2530,"column":6},"end":{"line":2530,"column":6}},{"start":{"line":2530,"column":6},"end":{"line":2530,"column":6}}]},"169":{"line":2534,"type":"if","locations":[{"start":{"line":2534,"column":8},"end":{"line":2534,"column":8}},{"start":{"line":2534,"column":8},"end":{"line":2534,"column":8}}]},"170":{"line":2562,"type":"if","locations":[{"start":{"line":2562,"column":6},"end":{"line":2562,"column":6}},{"start":{"line":2562,"column":6},"end":{"line":2562,"column":6}}]},"171":{"line":2565,"type":"if","locations":[{"start":{"line":2565,"column":6},"end":{"line":2565,"column":6}},{"start":{"line":2565,"column":6},"end":{"line":2565,"column":6}}]},"172":{"line":2566,"type":"if","locations":[{"start":{"line":2566,"column":11},"end":{"line":2566,"column":11}},{"start":{"line":2566,"column":11},"end":{"line":2566,"column":11}}]},"173":{"line":2592,"type":"if","locations":[{"start":{"line":2592,"column":4},"end":{"line":2592,"column":4}},{"start":{"line":2592,"column":4},"end":{"line":2592,"column":4}}]},"174":{"line":2592,"type":"binary-expr","locations":[{"start":{"line":2592,"column":8},"end":{"line":2592,"column":24}},{"start":{"line":2592,"column":28},"end":{"line":2592,"column":46}},{"start":{"line":2592,"column":50},"end":{"line":2592,"column":68}},{"start":{"line":2593,"column":8},"end":{"line":2593,"column":27}},{"start":{"line":2593,"column":31},"end":{"line":2593,"column":45}}]},"175":{"line":2597,"type":"if","locations":[{"start":{"line":2597,"column":6},"end":{"line":2597,"column":6}},{"start":{"line":2597,"column":6},"end":{"line":2597,"column":6}}]},"176":{"line":2597,"type":"binary-expr","locations":[{"start":{"line":2597,"column":10},"end":{"line":2597,"column":26}},{"start":{"line":2597,"column":30},"end":{"line":2597,"column":48}}]},"177":{"line":2598,"type":"cond-expr","locations":[{"start":{"line":2598,"column":36},"end":{"line":2598,"column":38}},{"start":{"line":2598,"column":41},"end":{"line":2598,"column":42}}]},"178":{"line":2600,"type":"if","locations":[{"start":{"line":2600,"column":8},"end":{"line":2600,"column":8}},{"start":{"line":2600,"column":8},"end":{"line":2600,"column":8}}]},"179":{"line":2602,"type":"if","locations":[{"start":{"line":2602,"column":10},"end":{"line":2602,"column":10}},{"start":{"line":2602,"column":10},"end":{"line":2602,"column":10}}]},"180":{"line":2609,"type":"if","locations":[{"start":{"line":2609,"column":11},"end":{"line":2609,"column":11}},{"start":{"line":2609,"column":11},"end":{"line":2609,"column":11}}]},"181":{"line":2609,"type":"binary-expr","locations":[{"start":{"line":2609,"column":15},"end":{"line":2609,"column":33}},{"start":{"line":2609,"column":37},"end":{"line":2609,"column":56}}]},"182":{"line":2612,"type":"binary-expr","locations":[{"start":{"line":2612,"column":13},"end":{"line":2612,"column":24}},{"start":{"line":2612,"column":28},"end":{"line":2612,"column":46}}]},"183":{"line":2613,"type":"cond-expr","locations":[{"start":{"line":2613,"column":21},"end":{"line":2613,"column":29}},{"start":{"line":2613,"column":32},"end":{"line":2613,"column":40}}]},"184":{"line":2619,"type":"if","locations":[{"start":{"line":2619,"column":10},"end":{"line":2619,"column":10}},{"start":{"line":2619,"column":10},"end":{"line":2619,"column":10}}]},"185":{"line":2619,"type":"binary-expr","locations":[{"start":{"line":2619,"column":14},"end":{"line":2619,"column":24}},{"start":{"line":2619,"column":28},"end":{"line":2619,"column":36}}]},"186":{"line":2626,"type":"if","locations":[{"start":{"line":2626,"column":8},"end":{"line":2626,"column":8}},{"start":{"line":2626,"column":8},"end":{"line":2626,"column":8}}]},"187":{"line":2669,"type":"if","locations":[{"start":{"line":2669,"column":4},"end":{"line":2669,"column":4}},{"start":{"line":2669,"column":4},"end":{"line":2669,"column":4}}]},"188":{"line":2762,"type":"if","locations":[{"start":{"line":2762,"column":4},"end":{"line":2762,"column":4}},{"start":{"line":2762,"column":4},"end":{"line":2762,"column":4}}]},"189":{"line":2771,"type":"binary-expr","locations":[{"start":{"line":2771,"column":16},"end":{"line":2771,"column":28}},{"start":{"line":2771,"column":32},"end":{"line":2771,"column":41}}]},"190":{"line":2774,"type":"binary-expr","locations":[{"start":{"line":2774,"column":18},"end":{"line":2774,"column":32}},{"start":{"line":2774,"column":36},"end":{"line":2774,"column":47}}]},"191":{"line":2775,"type":"if","locations":[{"start":{"line":2775,"column":4},"end":{"line":2775,"column":4}},{"start":{"line":2775,"column":4},"end":{"line":2775,"column":4}}]},"192":{"line":2779,"type":"binary-expr","locations":[{"start":{"line":2779,"column":18},"end":{"line":2779,"column":32}},{"start":{"line":2779,"column":36},"end":{"line":2779,"column":47}}]},"193":{"line":2780,"type":"if","locations":[{"start":{"line":2780,"column":4},"end":{"line":2780,"column":4}},{"start":{"line":2780,"column":4},"end":{"line":2780,"column":4}}]},"194":{"line":2785,"type":"if","locations":[{"start":{"line":2785,"column":6},"end":{"line":2785,"column":6}},{"start":{"line":2785,"column":6},"end":{"line":2785,"column":6}}]},"195":{"line":2789,"type":"if","locations":[{"start":{"line":2789,"column":6},"end":{"line":2789,"column":6}},{"start":{"line":2789,"column":6},"end":{"line":2789,"column":6}}]},"196":{"line":2852,"type":"if","locations":[{"start":{"line":2852,"column":4},"end":{"line":2852,"column":4}},{"start":{"line":2852,"column":4},"end":{"line":2852,"column":4}}]},"197":{"line":2856,"type":"if","locations":[{"start":{"line":2856,"column":4},"end":{"line":2856,"column":4}},{"start":{"line":2856,"column":4},"end":{"line":2856,"column":4}}]},"198":{"line":2875,"type":"binary-expr","locations":[{"start":{"line":2875,"column":4},"end":{"line":2875,"column":15}},{"start":{"line":2875,"column":19},"end":{"line":2875,"column":67}}]},"199":{"line":2877,"type":"binary-expr","locations":[{"start":{"line":2877,"column":4},"end":{"line":2877,"column":15}},{"start":{"line":2877,"column":19},"end":{"line":2877,"column":67}}]}}}} \ No newline at end of file diff --git a/test/coverage/index.html b/test/coverage/index.html new file mode 100644 index 00000000..9bdcbd10 --- /dev/null +++ b/test/coverage/index.html @@ -0,0 +1,350 @@ + + + + Code coverage report for All files + + + + + + + +
    +

    Code coverage report for All files

    +

    + + Statements: 95.42% (688 / 721)      + + + Branches: 87.35% (366 / 419)      + + + Functions: 98.33% (118 / 120)      + + + Lines: 95.75% (653 / 682)      + + Ignored: none      +

    +
    +
    +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    FileStatementsBranchesFunctionsLines
    lib/95.42%(688 / 721)87.35%(366 / 419)98.33%(118 / 120)95.75%(653 / 682)
    +
    +
    +
    + + + + + + + diff --git a/test/coverage/lib/backgrid.js.html b/test/coverage/lib/backgrid.js.html new file mode 100644 index 00000000..68e26e12 --- /dev/null +++ b/test/coverage/lib/backgrid.js.html @@ -0,0 +1,8968 @@ + + + + Code coverage report for lib/backgrid.js + + + + + + + +
    +

    Code coverage report for lib/backgrid.js

    +

    + + Statements: 95.42% (688 / 721)      + + + Branches: 87.35% (366 / 419)      + + + Functions: 98.33% (118 / 120)      + + + Lines: 95.75% (653 / 682)      + + Ignored: none      +

    +
    All files » lib/ » backgrid.js
    +
    +
    +
    
    +
    +
    1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87 +88 +89 +90 +91 +92 +93 +94 +95 +96 +97 +98 +99 +100 +101 +102 +103 +104 +105 +106 +107 +108 +109 +110 +111 +112 +113 +114 +115 +116 +117 +118 +119 +120 +121 +122 +123 +124 +125 +126 +127 +128 +129 +130 +131 +132 +133 +134 +135 +136 +137 +138 +139 +140 +141 +142 +143 +144 +145 +146 +147 +148 +149 +150 +151 +152 +153 +154 +155 +156 +157 +158 +159 +160 +161 +162 +163 +164 +165 +166 +167 +168 +169 +170 +171 +172 +173 +174 +175 +176 +177 +178 +179 +180 +181 +182 +183 +184 +185 +186 +187 +188 +189 +190 +191 +192 +193 +194 +195 +196 +197 +198 +199 +200 +201 +202 +203 +204 +205 +206 +207 +208 +209 +210 +211 +212 +213 +214 +215 +216 +217 +218 +219 +220 +221 +222 +223 +224 +225 +226 +227 +228 +229 +230 +231 +232 +233 +234 +235 +236 +237 +238 +239 +240 +241 +242 +243 +244 +245 +246 +247 +248 +249 +250 +251 +252 +253 +254 +255 +256 +257 +258 +259 +260 +261 +262 +263 +264 +265 +266 +267 +268 +269 +270 +271 +272 +273 +274 +275 +276 +277 +278 +279 +280 +281 +282 +283 +284 +285 +286 +287 +288 +289 +290 +291 +292 +293 +294 +295 +296 +297 +298 +299 +300 +301 +302 +303 +304 +305 +306 +307 +308 +309 +310 +311 +312 +313 +314 +315 +316 +317 +318 +319 +320 +321 +322 +323 +324 +325 +326 +327 +328 +329 +330 +331 +332 +333 +334 +335 +336 +337 +338 +339 +340 +341 +342 +343 +344 +345 +346 +347 +348 +349 +350 +351 +352 +353 +354 +355 +356 +357 +358 +359 +360 +361 +362 +363 +364 +365 +366 +367 +368 +369 +370 +371 +372 +373 +374 +375 +376 +377 +378 +379 +380 +381 +382 +383 +384 +385 +386 +387 +388 +389 +390 +391 +392 +393 +394 +395 +396 +397 +398 +399 +400 +401 +402 +403 +404 +405 +406 +407 +408 +409 +410 +411 +412 +413 +414 +415 +416 +417 +418 +419 +420 +421 +422 +423 +424 +425 +426 +427 +428 +429 +430 +431 +432 +433 +434 +435 +436 +437 +438 +439 +440 +441 +442 +443 +444 +445 +446 +447 +448 +449 +450 +451 +452 +453 +454 +455 +456 +457 +458 +459 +460 +461 +462 +463 +464 +465 +466 +467 +468 +469 +470 +471 +472 +473 +474 +475 +476 +477 +478 +479 +480 +481 +482 +483 +484 +485 +486 +487 +488 +489 +490 +491 +492 +493 +494 +495 +496 +497 +498 +499 +500 +501 +502 +503 +504 +505 +506 +507 +508 +509 +510 +511 +512 +513 +514 +515 +516 +517 +518 +519 +520 +521 +522 +523 +524 +525 +526 +527 +528 +529 +530 +531 +532 +533 +534 +535 +536 +537 +538 +539 +540 +541 +542 +543 +544 +545 +546 +547 +548 +549 +550 +551 +552 +553 +554 +555 +556 +557 +558 +559 +560 +561 +562 +563 +564 +565 +566 +567 +568 +569 +570 +571 +572 +573 +574 +575 +576 +577 +578 +579 +580 +581 +582 +583 +584 +585 +586 +587 +588 +589 +590 +591 +592 +593 +594 +595 +596 +597 +598 +599 +600 +601 +602 +603 +604 +605 +606 +607 +608 +609 +610 +611 +612 +613 +614 +615 +616 +617 +618 +619 +620 +621 +622 +623 +624 +625 +626 +627 +628 +629 +630 +631 +632 +633 +634 +635 +636 +637 +638 +639 +640 +641 +642 +643 +644 +645 +646 +647 +648 +649 +650 +651 +652 +653 +654 +655 +656 +657 +658 +659 +660 +661 +662 +663 +664 +665 +666 +667 +668 +669 +670 +671 +672 +673 +674 +675 +676 +677 +678 +679 +680 +681 +682 +683 +684 +685 +686 +687 +688 +689 +690 +691 +692 +693 +694 +695 +696 +697 +698 +699 +700 +701 +702 +703 +704 +705 +706 +707 +708 +709 +710 +711 +712 +713 +714 +715 +716 +717 +718 +719 +720 +721 +722 +723 +724 +725 +726 +727 +728 +729 +730 +731 +732 +733 +734 +735 +736 +737 +738 +739 +740 +741 +742 +743 +744 +745 +746 +747 +748 +749 +750 +751 +752 +753 +754 +755 +756 +757 +758 +759 +760 +761 +762 +763 +764 +765 +766 +767 +768 +769 +770 +771 +772 +773 +774 +775 +776 +777 +778 +779 +780 +781 +782 +783 +784 +785 +786 +787 +788 +789 +790 +791 +792 +793 +794 +795 +796 +797 +798 +799 +800 +801 +802 +803 +804 +805 +806 +807 +808 +809 +810 +811 +812 +813 +814 +815 +816 +817 +818 +819 +820 +821 +822 +823 +824 +825 +826 +827 +828 +829 +830 +831 +832 +833 +834 +835 +836 +837 +838 +839 +840 +841 +842 +843 +844 +845 +846 +847 +848 +849 +850 +851 +852 +853 +854 +855 +856 +857 +858 +859 +860 +861 +862 +863 +864 +865 +866 +867 +868 +869 +870 +871 +872 +873 +874 +875 +876 +877 +878 +879 +880 +881 +882 +883 +884 +885 +886 +887 +888 +889 +890 +891 +892 +893 +894 +895 +896 +897 +898 +899 +900 +901 +902 +903 +904 +905 +906 +907 +908 +909 +910 +911 +912 +913 +914 +915 +916 +917 +918 +919 +920 +921 +922 +923 +924 +925 +926 +927 +928 +929 +930 +931 +932 +933 +934 +935 +936 +937 +938 +939 +940 +941 +942 +943 +944 +945 +946 +947 +948 +949 +950 +951 +952 +953 +954 +955 +956 +957 +958 +959 +960 +961 +962 +963 +964 +965 +966 +967 +968 +969 +970 +971 +972 +973 +974 +975 +976 +977 +978 +979 +980 +981 +982 +983 +984 +985 +986 +987 +988 +989 +990 +991 +992 +993 +994 +995 +996 +997 +998 +999 +1000 +1001 +1002 +1003 +1004 +1005 +1006 +1007 +1008 +1009 +1010 +1011 +1012 +1013 +1014 +1015 +1016 +1017 +1018 +1019 +1020 +1021 +1022 +1023 +1024 +1025 +1026 +1027 +1028 +1029 +1030 +1031 +1032 +1033 +1034 +1035 +1036 +1037 +1038 +1039 +1040 +1041 +1042 +1043 +1044 +1045 +1046 +1047 +1048 +1049 +1050 +1051 +1052 +1053 +1054 +1055 +1056 +1057 +1058 +1059 +1060 +1061 +1062 +1063 +1064 +1065 +1066 +1067 +1068 +1069 +1070 +1071 +1072 +1073 +1074 +1075 +1076 +1077 +1078 +1079 +1080 +1081 +1082 +1083 +1084 +1085 +1086 +1087 +1088 +1089 +1090 +1091 +1092 +1093 +1094 +1095 +1096 +1097 +1098 +1099 +1100 +1101 +1102 +1103 +1104 +1105 +1106 +1107 +1108 +1109 +1110 +1111 +1112 +1113 +1114 +1115 +1116 +1117 +1118 +1119 +1120 +1121 +1122 +1123 +1124 +1125 +1126 +1127 +1128 +1129 +1130 +1131 +1132 +1133 +1134 +1135 +1136 +1137 +1138 +1139 +1140 +1141 +1142 +1143 +1144 +1145 +1146 +1147 +1148 +1149 +1150 +1151 +1152 +1153 +1154 +1155 +1156 +1157 +1158 +1159 +1160 +1161 +1162 +1163 +1164 +1165 +1166 +1167 +1168 +1169 +1170 +1171 +1172 +1173 +1174 +1175 +1176 +1177 +1178 +1179 +1180 +1181 +1182 +1183 +1184 +1185 +1186 +1187 +1188 +1189 +1190 +1191 +1192 +1193 +1194 +1195 +1196 +1197 +1198 +1199 +1200 +1201 +1202 +1203 +1204 +1205 +1206 +1207 +1208 +1209 +1210 +1211 +1212 +1213 +1214 +1215 +1216 +1217 +1218 +1219 +1220 +1221 +1222 +1223 +1224 +1225 +1226 +1227 +1228 +1229 +1230 +1231 +1232 +1233 +1234 +1235 +1236 +1237 +1238 +1239 +1240 +1241 +1242 +1243 +1244 +1245 +1246 +1247 +1248 +1249 +1250 +1251 +1252 +1253 +1254 +1255 +1256 +1257 +1258 +1259 +1260 +1261 +1262 +1263 +1264 +1265 +1266 +1267 +1268 +1269 +1270 +1271 +1272 +1273 +1274 +1275 +1276 +1277 +1278 +1279 +1280 +1281 +1282 +1283 +1284 +1285 +1286 +1287 +1288 +1289 +1290 +1291 +1292 +1293 +1294 +1295 +1296 +1297 +1298 +1299 +1300 +1301 +1302 +1303 +1304 +1305 +1306 +1307 +1308 +1309 +1310 +1311 +1312 +1313 +1314 +1315 +1316 +1317 +1318 +1319 +1320 +1321 +1322 +1323 +1324 +1325 +1326 +1327 +1328 +1329 +1330 +1331 +1332 +1333 +1334 +1335 +1336 +1337 +1338 +1339 +1340 +1341 +1342 +1343 +1344 +1345 +1346 +1347 +1348 +1349 +1350 +1351 +1352 +1353 +1354 +1355 +1356 +1357 +1358 +1359 +1360 +1361 +1362 +1363 +1364 +1365 +1366 +1367 +1368 +1369 +1370 +1371 +1372 +1373 +1374 +1375 +1376 +1377 +1378 +1379 +1380 +1381 +1382 +1383 +1384 +1385 +1386 +1387 +1388 +1389 +1390 +1391 +1392 +1393 +1394 +1395 +1396 +1397 +1398 +1399 +1400 +1401 +1402 +1403 +1404 +1405 +1406 +1407 +1408 +1409 +1410 +1411 +1412 +1413 +1414 +1415 +1416 +1417 +1418 +1419 +1420 +1421 +1422 +1423 +1424 +1425 +1426 +1427 +1428 +1429 +1430 +1431 +1432 +1433 +1434 +1435 +1436 +1437 +1438 +1439 +1440 +1441 +1442 +1443 +1444 +1445 +1446 +1447 +1448 +1449 +1450 +1451 +1452 +1453 +1454 +1455 +1456 +1457 +1458 +1459 +1460 +1461 +1462 +1463 +1464 +1465 +1466 +1467 +1468 +1469 +1470 +1471 +1472 +1473 +1474 +1475 +1476 +1477 +1478 +1479 +1480 +1481 +1482 +1483 +1484 +1485 +1486 +1487 +1488 +1489 +1490 +1491 +1492 +1493 +1494 +1495 +1496 +1497 +1498 +1499 +1500 +1501 +1502 +1503 +1504 +1505 +1506 +1507 +1508 +1509 +1510 +1511 +1512 +1513 +1514 +1515 +1516 +1517 +1518 +1519 +1520 +1521 +1522 +1523 +1524 +1525 +1526 +1527 +1528 +1529 +1530 +1531 +1532 +1533 +1534 +1535 +1536 +1537 +1538 +1539 +1540 +1541 +1542 +1543 +1544 +1545 +1546 +1547 +1548 +1549 +1550 +1551 +1552 +1553 +1554 +1555 +1556 +1557 +1558 +1559 +1560 +1561 +1562 +1563 +1564 +1565 +1566 +1567 +1568 +1569 +1570 +1571 +1572 +1573 +1574 +1575 +1576 +1577 +1578 +1579 +1580 +1581 +1582 +1583 +1584 +1585 +1586 +1587 +1588 +1589 +1590 +1591 +1592 +1593 +1594 +1595 +1596 +1597 +1598 +1599 +1600 +1601 +1602 +1603 +1604 +1605 +1606 +1607 +1608 +1609 +1610 +1611 +1612 +1613 +1614 +1615 +1616 +1617 +1618 +1619 +1620 +1621 +1622 +1623 +1624 +1625 +1626 +1627 +1628 +1629 +1630 +1631 +1632 +1633 +1634 +1635 +1636 +1637 +1638 +1639 +1640 +1641 +1642 +1643 +1644 +1645 +1646 +1647 +1648 +1649 +1650 +1651 +1652 +1653 +1654 +1655 +1656 +1657 +1658 +1659 +1660 +1661 +1662 +1663 +1664 +1665 +1666 +1667 +1668 +1669 +1670 +1671 +1672 +1673 +1674 +1675 +1676 +1677 +1678 +1679 +1680 +1681 +1682 +1683 +1684 +1685 +1686 +1687 +1688 +1689 +1690 +1691 +1692 +1693 +1694 +1695 +1696 +1697 +1698 +1699 +1700 +1701 +1702 +1703 +1704 +1705 +1706 +1707 +1708 +1709 +1710 +1711 +1712 +1713 +1714 +1715 +1716 +1717 +1718 +1719 +1720 +1721 +1722 +1723 +1724 +1725 +1726 +1727 +1728 +1729 +1730 +1731 +1732 +1733 +1734 +1735 +1736 +1737 +1738 +1739 +1740 +1741 +1742 +1743 +1744 +1745 +1746 +1747 +1748 +1749 +1750 +1751 +1752 +1753 +1754 +1755 +1756 +1757 +1758 +1759 +1760 +1761 +1762 +1763 +1764 +1765 +1766 +1767 +1768 +1769 +1770 +1771 +1772 +1773 +1774 +1775 +1776 +1777 +1778 +1779 +1780 +1781 +1782 +1783 +1784 +1785 +1786 +1787 +1788 +1789 +1790 +1791 +1792 +1793 +1794 +1795 +1796 +1797 +1798 +1799 +1800 +1801 +1802 +1803 +1804 +1805 +1806 +1807 +1808 +1809 +1810 +1811 +1812 +1813 +1814 +1815 +1816 +1817 +1818 +1819 +1820 +1821 +1822 +1823 +1824 +1825 +1826 +1827 +1828 +1829 +1830 +1831 +1832 +1833 +1834 +1835 +1836 +1837 +1838 +1839 +1840 +1841 +1842 +1843 +1844 +1845 +1846 +1847 +1848 +1849 +1850 +1851 +1852 +1853 +1854 +1855 +1856 +1857 +1858 +1859 +1860 +1861 +1862 +1863 +1864 +1865 +1866 +1867 +1868 +1869 +1870 +1871 +1872 +1873 +1874 +1875 +1876 +1877 +1878 +1879 +1880 +1881 +1882 +1883 +1884 +1885 +1886 +1887 +1888 +1889 +1890 +1891 +1892 +1893 +1894 +1895 +1896 +1897 +1898 +1899 +1900 +1901 +1902 +1903 +1904 +1905 +1906 +1907 +1908 +1909 +1910 +1911 +1912 +1913 +1914 +1915 +1916 +1917 +1918 +1919 +1920 +1921 +1922 +1923 +1924 +1925 +1926 +1927 +1928 +1929 +1930 +1931 +1932 +1933 +1934 +1935 +1936 +1937 +1938 +1939 +1940 +1941 +1942 +1943 +1944 +1945 +1946 +1947 +1948 +1949 +1950 +1951 +1952 +1953 +1954 +1955 +1956 +1957 +1958 +1959 +1960 +1961 +1962 +1963 +1964 +1965 +1966 +1967 +1968 +1969 +1970 +1971 +1972 +1973 +1974 +1975 +1976 +1977 +1978 +1979 +1980 +1981 +1982 +1983 +1984 +1985 +1986 +1987 +1988 +1989 +1990 +1991 +1992 +1993 +1994 +1995 +1996 +1997 +1998 +1999 +2000 +2001 +2002 +2003 +2004 +2005 +2006 +2007 +2008 +2009 +2010 +2011 +2012 +2013 +2014 +2015 +2016 +2017 +2018 +2019 +2020 +2021 +2022 +2023 +2024 +2025 +2026 +2027 +2028 +2029 +2030 +2031 +2032 +2033 +2034 +2035 +2036 +2037 +2038 +2039 +2040 +2041 +2042 +2043 +2044 +2045 +2046 +2047 +2048 +2049 +2050 +2051 +2052 +2053 +2054 +2055 +2056 +2057 +2058 +2059 +2060 +2061 +2062 +2063 +2064 +2065 +2066 +2067 +2068 +2069 +2070 +2071 +2072 +2073 +2074 +2075 +2076 +2077 +2078 +2079 +2080 +2081 +2082 +2083 +2084 +2085 +2086 +2087 +2088 +2089 +2090 +2091 +2092 +2093 +2094 +2095 +2096 +2097 +2098 +2099 +2100 +2101 +2102 +2103 +2104 +2105 +2106 +2107 +2108 +2109 +2110 +2111 +2112 +2113 +2114 +2115 +2116 +2117 +2118 +2119 +2120 +2121 +2122 +2123 +2124 +2125 +2126 +2127 +2128 +2129 +2130 +2131 +2132 +2133 +2134 +2135 +2136 +2137 +2138 +2139 +2140 +2141 +2142 +2143 +2144 +2145 +2146 +2147 +2148 +2149 +2150 +2151 +2152 +2153 +2154 +2155 +2156 +2157 +2158 +2159 +2160 +2161 +2162 +2163 +2164 +2165 +2166 +2167 +2168 +2169 +2170 +2171 +2172 +2173 +2174 +2175 +2176 +2177 +2178 +2179 +2180 +2181 +2182 +2183 +2184 +2185 +2186 +2187 +2188 +2189 +2190 +2191 +2192 +2193 +2194 +2195 +2196 +2197 +2198 +2199 +2200 +2201 +2202 +2203 +2204 +2205 +2206 +2207 +2208 +2209 +2210 +2211 +2212 +2213 +2214 +2215 +2216 +2217 +2218 +2219 +2220 +2221 +2222 +2223 +2224 +2225 +2226 +2227 +2228 +2229 +2230 +2231 +2232 +2233 +2234 +2235 +2236 +2237 +2238 +2239 +2240 +2241 +2242 +2243 +2244 +2245 +2246 +2247 +2248 +2249 +2250 +2251 +2252 +2253 +2254 +2255 +2256 +2257 +2258 +2259 +2260 +2261 +2262 +2263 +2264 +2265 +2266 +2267 +2268 +2269 +2270 +2271 +2272 +2273 +2274 +2275 +2276 +2277 +2278 +2279 +2280 +2281 +2282 +2283 +2284 +2285 +2286 +2287 +2288 +2289 +2290 +2291 +2292 +2293 +2294 +2295 +2296 +2297 +2298 +2299 +2300 +2301 +2302 +2303 +2304 +2305 +2306 +2307 +2308 +2309 +2310 +2311 +2312 +2313 +2314 +2315 +2316 +2317 +2318 +2319 +2320 +2321 +2322 +2323 +2324 +2325 +2326 +2327 +2328 +2329 +2330 +2331 +2332 +2333 +2334 +2335 +2336 +2337 +2338 +2339 +2340 +2341 +2342 +2343 +2344 +2345 +2346 +2347 +2348 +2349 +2350 +2351 +2352 +2353 +2354 +2355 +2356 +2357 +2358 +2359 +2360 +2361 +2362 +2363 +2364 +2365 +2366 +2367 +2368 +2369 +2370 +2371 +2372 +2373 +2374 +2375 +2376 +2377 +2378 +2379 +2380 +2381 +2382 +2383 +2384 +2385 +2386 +2387 +2388 +2389 +2390 +2391 +2392 +2393 +2394 +2395 +2396 +2397 +2398 +2399 +2400 +2401 +2402 +2403 +2404 +2405 +2406 +2407 +2408 +2409 +2410 +2411 +2412 +2413 +2414 +2415 +2416 +2417 +2418 +2419 +2420 +2421 +2422 +2423 +2424 +2425 +2426 +2427 +2428 +2429 +2430 +2431 +2432 +2433 +2434 +2435 +2436 +2437 +2438 +2439 +2440 +2441 +2442 +2443 +2444 +2445 +2446 +2447 +2448 +2449 +2450 +2451 +2452 +2453 +2454 +2455 +2456 +2457 +2458 +2459 +2460 +2461 +2462 +2463 +2464 +2465 +2466 +2467 +2468 +2469 +2470 +2471 +2472 +2473 +2474 +2475 +2476 +2477 +2478 +2479 +2480 +2481 +2482 +2483 +2484 +2485 +2486 +2487 +2488 +2489 +2490 +2491 +2492 +2493 +2494 +2495 +2496 +2497 +2498 +2499 +2500 +2501 +2502 +2503 +2504 +2505 +2506 +2507 +2508 +2509 +2510 +2511 +2512 +2513 +2514 +2515 +2516 +2517 +2518 +2519 +2520 +2521 +2522 +2523 +2524 +2525 +2526 +2527 +2528 +2529 +2530 +2531 +2532 +2533 +2534 +2535 +2536 +2537 +2538 +2539 +2540 +2541 +2542 +2543 +2544 +2545 +2546 +2547 +2548 +2549 +2550 +2551 +2552 +2553 +2554 +2555 +2556 +2557 +2558 +2559 +2560 +2561 +2562 +2563 +2564 +2565 +2566 +2567 +2568 +2569 +2570 +2571 +2572 +2573 +2574 +2575 +2576 +2577 +2578 +2579 +2580 +2581 +2582 +2583 +2584 +2585 +2586 +2587 +2588 +2589 +2590 +2591 +2592 +2593 +2594 +2595 +2596 +2597 +2598 +2599 +2600 +2601 +2602 +2603 +2604 +2605 +2606 +2607 +2608 +2609 +2610 +2611 +2612 +2613 +2614 +2615 +2616 +2617 +2618 +2619 +2620 +2621 +2622 +2623 +2624 +2625 +2626 +2627 +2628 +2629 +2630 +2631 +2632 +2633 +2634 +2635 +2636 +2637 +2638 +2639 +2640 +2641 +2642 +2643 +2644 +2645 +2646 +2647 +2648 +2649 +2650 +2651 +2652 +2653 +2654 +2655 +2656 +2657 +2658 +2659 +2660 +2661 +2662 +2663 +2664 +2665 +2666 +2667 +2668 +2669 +2670 +2671 +2672 +2673 +2674 +2675 +2676 +2677 +2678 +2679 +2680 +2681 +2682 +2683 +2684 +2685 +2686 +2687 +2688 +2689 +2690 +2691 +2692 +2693 +2694 +2695 +2696 +2697 +2698 +2699 +2700 +2701 +2702 +2703 +2704 +2705 +2706 +2707 +2708 +2709 +2710 +2711 +2712 +2713 +2714 +2715 +2716 +2717 +2718 +2719 +2720 +2721 +2722 +2723 +2724 +2725 +2726 +2727 +2728 +2729 +2730 +2731 +2732 +2733 +2734 +2735 +2736 +2737 +2738 +2739 +2740 +2741 +2742 +2743 +2744 +2745 +2746 +2747 +2748 +2749 +2750 +2751 +2752 +2753 +2754 +2755 +2756 +2757 +2758 +2759 +2760 +2761 +2762 +2763 +2764 +2765 +2766 +2767 +2768 +2769 +2770 +2771 +2772 +2773 +2774 +2775 +2776 +2777 +2778 +2779 +2780 +2781 +2782 +2783 +2784 +2785 +2786 +2787 +2788 +2789 +2790 +2791 +2792 +2793 +2794 +2795 +2796 +2797 +2798 +2799 +2800 +2801 +2802 +2803 +2804 +2805 +2806 +2807 +2808 +2809 +2810 +2811 +2812 +2813 +2814 +2815 +2816 +2817 +2818 +2819 +2820 +2821 +2822 +2823 +2824 +2825 +2826 +2827 +2828 +2829 +2830 +2831 +2832 +2833 +2834 +2835 +2836 +2837 +2838 +2839 +2840 +2841 +2842 +2843 +2844 +2845 +2846 +2847 +2848 +2849 +2850 +2851 +2852 +2853 +2854 +2855 +2856 +2857 +2858 +2859 +2860 +2861 +2862 +2863 +2864 +2865 +2866 +2867 +2868 +2869 +2870 +2871 +2872 +2873 +2874 +2875 +2876 +2877 +2878 +2879 +2880 +2881 +2882 +2883  +  +  +  +  +  +  +  +1 +  +  +1 +  +  +  +  +  +1 +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +1 +  +  +1 +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +1 +92 +92 +92 +92 +53 +  +92 +  +  +1 +  +1 +  +  +  +  +884 +173 +174 +  +173 +173 +1 +  +172 +  +  +711 +  +  +  +985 +985 +  +21 +21 +21 +  +  +  +1 +  +  +  +  +  +  +  +  +  +  +  +  +1 +26 +  +  +  +  +  +  +  +  +  +  +  +  +  +  +1 +  +  +  +  +  +29 +  +  +  +  +  +25 +  +  +  +  +  +23 +  +  +  +  +  +24 +  +  +  +  +  +18 +  +  +  +  +  +10 +  +  +  +  +  +  +5 +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +1 +1 +  +  +  +  +  +  +  +  +  +  +  +  +54 +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +13 +  +  +  +  +  +  +  +  +  +  +  +  +  +1 +178 +  +178 +2 +  +  +1 +1 +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +171 +  +169 +  +169 +169 +169 +  +169 +  +  +  +  +  +  +  +  +  +  +  +  +  +11 +  +11 +  +9 +  +9 +9 +13 +  +  +9 +9 +9 +16 +  +  +9 +9 +  +  +9 +9 +  +  +  +  +  +  +  +  +  +  +  +  +  +1 +7 +  +  +1 +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +6 +6 +6 +  +  +  +  +  +  +  +  +  +  +  +  +  +  +6 +6 +6 +6 +4 +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +1 +44 +  +44 +1 +  +  +1 +1 +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +34 +  +32 +32 +1 +1 +1 +  +  +31 +30 +30 +30 +  +  +31 +31 +  +31 +15 +12 +8 +6 +  +  +21 +  +  +  +  +  +  +  +21 +  +21 +13 +  +  +21 +14 +  +14 +5 +  +  +  +21 +6 +  +  +21 +  +  +  +  +  +  +  +  +  +  +  +  +  +19 +17 +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +17 +  +  +  +  +  +  +  +  +  +  +  +1 +1 +1 +  +  +  +  +  +  +  +  +  +  +  +44 +41 +  +  +  +  +  +  +  +  +  +  +1 +1 +1 +  +  +  +  +  +  +  +  +  +  +  +8 +8 +1 +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +1 +1 +1 +  +  +  +  +  +  +  +  +  +  +23 +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +1 +  +  +  +  +  +  +  +  +  +  +  +  +  +40 +40 +40 +13 +  +  +40 +  +  +  +  +  +  +  +  +9 +9 +  +9 +  +  +  +  +  +  +  +  +  +  +  +  +1 +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +19 +  +19 +7 +  +  +  +  +  +  +  +  +19 +19 +19 +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +8 +8 +8 +  +8 +8 +  +8 +  +  +7 +7 +  +7 +7 +7 +3 +  +  +4 +4 +  +  +  +1 +  +1 +1 +  +  +  +  +12 +  +12 +  +  +  +12 +  +12 +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +1 +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +259 +259 +67 +  +  +259 +  +259 +  +  +259 +256 +  +  +259 +  +259 +  +259 +11 +  +  +259 +  +259 +  +7 +7 +7 +7 +  +  +  +  +259 +259 +259 +  +  +  +  +  +  +  +207 +207 +207 +207 +207 +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +20 +20 +  +20 +20 +  +20 +  +  +  +  +  +20 +  +  +20 +20 +20 +20 +20 +  +20 +  +  +  +  +  +  +  +1 +1 +  +  +  +  +  +  +  +8 +8 +8 +8 +8 +8 +  +  +  +  +  +  +  +  +89 +1 +1 +  +89 +  +  +  +  +  +  +  +  +  +  +1 +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +1 +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +6 +6 +6 +  +  +  +6 +6 +6 +6 +  +  +  +  +  +6 +6 +  +  +  +  +  +  +  +  +  +  +  +  +1 +  +  +  +  +  +  +  +2 +2 +2 +2 +  +  +  +  +2 +2 +  +  +  +  +  +  +  +  +  +  +  +1 +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +166 +166 +166 +166 +166 +  +  +  +  +  +  +  +  +  +  +  +  +1 +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +1 +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +4 +4 +4 +4 +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +1 +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +16 +16 +16 +16 +16 +  +16 +16 +16 +16 +  +16 +  +  +  +  +  +  +  +  +  +  +  +  +  +  +1 +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +1 +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +1 +  +  +  +  +  +  +  +  +  +  +  +  +  +1 +  +  +  +  +  +  +  +  +  +  +  +  +  +  +7 +7 +7 +7 +  +  +  +  +  +  +  +2 +1 +1 +  +  +  +  +  +  +  +  +  +1 +1 +1 +1 +  +1 +1 +  +  +  +  +1 +1 +  +  +  +  +  +  +  +1 +1 +1 +1 +  +  +  +  +  +  +  +  +  +  +  +  +1 +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +20 +20 +20 +20 +  +  +  +  +  +20 +20 +  +  +  +  +  +  +  +  +  +  +1 +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +13 +13 +  +  +  +6 +6 +  +  +  +8 +8 +24 +  +  +  +  +  +8 +  +  +  +  +  +  +  +  +  +  +13 +  +13 +13 +13 +  +13 +  +13 +13 +13 +13 +13 +  +13 +25 +  +25 +17 +17 +  +17 +  +  +  +  +  +8 +8 +8 +8 +8 +  +  +  +  +  +  +13 +  +13 +  +  +  +  +  +  +4 +4 +4 +  +  +  +  +  +  +  +1 +1 +1 +1 +  +  +  +1 +  +1 +1 +1 +1 +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +1 +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +9 +9 +1 +1 +1 +  +  +  +  +  +  +  +  +  +  +10 +  +10 +10 +10 +  +10 +  +10 +10 +  +10 +12 +  +12 +24 +  +24 +18 +18 +  +18 +  +6 +6 +  +6 +18 +18 +3 +  +  +  +  +  +  +  +  +  +10 +  +  +  +  +  +  +  +  +10 +  +10 +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +1 +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +181 +181 +  +  +181 +  +181 +  +181 +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +16 +16 +15 +  +7 +26 +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +1 +3 +990 +990 +975 +  +966 +  +  +  +  +  +  +  +  +  +1 +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +1 +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +191 +191 +6 +  +  +191 +191 +200 +  +  +191 +8 +8 +8 +  +8 +8 +  +  +8 +8 +  +  +  +  +  +  +191 +6 +6 +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +189 +  +  +  +  +  +  +  +  +  +175 +  +175 +175 +184 +  +  +175 +  +175 +  +175 +  +  +  +  +  +  +  +  +86 +86 +86 +  +86 +  +  +  +  +  +  +  +  +  +  +  +1 +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +13 +13 +  +  +  +  +  +  +14 +  +14 +14 +14 +  +14 +14 +  +14 +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +1 +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +37 +37 +15 +  +  +37 +  +37 +  +4 +4 +4 +4 +  +  +  +37 +37 +  +37 +37 +37 +  +37 +  +  +  +  +  +  +  +3 +3 +  +  +  +  +  +  +  +  +  +12 +12 +  +  +  +  +  +  +  +  +8 +  +8 +8 +8 +  +1 +5 +4 +3 +  +  +1 +3 +2 +  +  +8 +8 +8 +8 +5 +  +  +  +  +  +  +  +  +31 +31 +31 +31 +31 +30 +  +1 +  +  +31 +31 +31 +31 +31 +  +  +  +  +  +  +  +  +  +  +1 +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +12 +  +  +  +19 +19 +  +  +  +19 +  +  +  +  +  +  +  +  +  +  +  +1 +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +9 +9 +1 +  +  +9 +  +  +  +  +  +  +  +  +  +5 +5 +5 +  +  +  +  +  +  +  +  +2 +2 +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +1 +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +41 +41 +32 +  +  +41 +41 +105 +  +  +  +  +105 +  +  +41 +41 +  +41 +41 +41 +41 +41 +41 +41 +  +  +  +78 +3 +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +15 +  +  +15 +4 +4 +  +  +11 +  +  +  +  +11 +11 +  +11 +11 +11 +  +11 +9 +  +  +2 +  +  +11 +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +7 +2 +2 +2 +  +  +5 +5 +  +  +5 +5 +  +5 +  +  +  +  +  +  +  +  +30 +73 +  +  +30 +60 +  +  +  +  +60 +  +30 +  +30 +  +30 +  +30 +  +  +  +  +  +  +  +  +67 +  +67 +67 +156 +156 +  +  +67 +  +67 +  +67 +  +  +  +  +  +  +  +  +2 +6 +6 +  +2 +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +14 +1 +  +  +13 +  +13 +  +13 +13 +8 +3 +  +13 +  +  +  +16 +  +  +13 +  +  +4 +  +  +4 +  +  +  +3 +1 +  +3 +3 +  +1 +1 +  +  +  +9 +9 +9 +  +  +13 +  +13 +  +  +  +  +13 +  +26 +  +  +26 +  +  +26 +26 +17 +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +6 +6 +6 +  +6 +  +6 +  +5 +5 +  +5 +2 +2 +2 +2 +2 +2 +2 +  +  +  +  +3 +2 +2 +  +  +6 +6 +6 +6 +6 +6 +2 +2 +2 +  +  +  +2 +  +  +  +  +  +6 +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +1 +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +8 +8 +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +1 +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +7 +7 +  +7 +  +7 +  +  +  +7 +7 +  +7 +7 +7 +  +  +7 +7 +7 +  +  +7 +1 +1 +  +1 +1 +1 +  +1 +  +  +  +  +  +  +  +1 +1 +  +  +  +  +  +  +1 +1 +  +  +  +  +  +  +  +  +  +  +1 +1 +  +  +  +  +  +  +  +  +  +  +1 +1 +  +  +  +  +  +  +1 +1 +  +  +  +  +  +  +  +  +4 +  +4 +4 +  +  +4 +4 +  +  +4 +  +4 +  +4 +  +4 +  +  +  +  +  +  +  +  +1 +1 +1 +1 +  +  +  +1 + 
    /*!
    +  backgrid
    +  http://github.com/wyuenho/backgrid
    + 
    +  Copyright (c) 2014 Jimmy Yuen Ho Wong and contributors <wyuenho@gmail.com>
    +  Licensed under the MIT license.
    +*/
    + 
    +(function (factory) {
    + 
    +  // CommonJS
    +  Iif (typeof exports == "object") {
    +    module.exports = factory(module.exports,
    +                             require("underscore"),
    +                             require("backbone"));
    +  }
    +  // Browser
    +  else factory(this, this._, this.Backbone);
    +}(function (root, _, Backbone) {
    + 
    +  "use strict";
    + 
    +/*
    +  backgrid
    +  http://github.com/wyuenho/backgrid
    + 
    +  Copyright (c) 2013 Jimmy Yuen Ho Wong and contributors
    +  Licensed under the MIT license.
    +*/
    + 
    +// Copyright 2009, 2010 Kristopher Michael Kowal
    +// https://github.com/kriskowal/es5-shim
    +// ES5 15.5.4.20
    +// http://es5.github.com/#x15.5.4.20
    +var ws = "\x09\x0A\x0B\x0C\x0D\x20\xA0\u1680\u180E\u2000\u2001\u2002\u2003" +
    +  "\u2004\u2005\u2006\u2007\u2008\u2009\u200A\u202F\u205F\u3000\u2028" +
    +  "\u2029\uFEFF";
    +Iif (!String.prototype.trim || ws.trim()) {
    +  // http://blog.stevenlevithan.com/archives/faster-trim-javascript
    +  // http://perfectionkills.com/whitespace-deviations/
    +  ws = "[" + ws + "]";
    +  var trimBeginRegexp = new RegExp("^" + ws + ws + "*"),
    +  trimEndRegexp = new RegExp(ws + ws + "*$");
    +  String.prototype.trim = function trim() {
    +    if (this === undefined || this === null) {
    +      throw new TypeError("can't convert " + this + " to object");
    +    }
    +    return String(this)
    +      .replace(trimBeginRegexp, "")
    +      .replace(trimEndRegexp, "");
    +  };
    +}
    + 
    +function lpad(str, length, padstr) {
    +  var paddingLen = length - (str + '').length;
    +  paddingLen =  paddingLen < 0 ? 0 : paddingLen;
    +  var padding = '';
    +  for (var i = 0; i < paddingLen; i++) {
    +    padding = padding + padstr;
    +  }
    +  return padding + str;
    +}
    + 
    +var $ = Backbone.$;
    + 
    +var Backgrid = root.Backgrid = {
    + 
    +  Extension: {},
    + 
    +  resolveNameToClass: function (name, suffix) {
    +    if (_.isString(name)) {
    +      var key = _.map(name.split('-'), function (e) {
    +        return e.slice(0, 1).toUpperCase() + e.slice(1);
    +      }).join('') + suffix;
    +      var klass = Backgrid[key] || Backgrid.Extension[key];
    +      if (_.isUndefined(klass)) {
    +        throw new ReferenceError("Class '" + key + "' not found");
    +      }
    +      return klass;
    +    }
    + 
    +    return name;
    +  },
    + 
    +  callByNeed: function () {
    +    var value = arguments[0];
    +    if (!_.isFunction(value)) return value;
    + 
    +    var context = arguments[1];
    +    var args = [].slice.call(arguments, 2);
    +    return value.apply(context, !!(args + '') ? args : []);
    +  }
    + 
    +};
    +_.extend(Backgrid, Backbone.Events);
    + 
    +/**
    +   Command translates a DOM Event into commands that Backgrid
    +   recognizes. Interested parties can listen on selected Backgrid events that
    +   come with an instance of this class and act on the commands.
    + 
    +   It is also possible to globally rebind the keyboard shortcuts by replacing
    +   the methods in this class' prototype.
    + 
    +   @class Backgrid.Command
    +   @constructor
    + */
    +var Command = Backgrid.Command = function (evt) {
    +  _.extend(this, {
    +    altKey: !!evt.altKey,
    +    "char": evt["char"],
    +    charCode: evt.charCode,
    +    ctrlKey: !!evt.ctrlKey,
    +    key: evt.key,
    +    keyCode: evt.keyCode,
    +    locale: evt.locale,
    +    location: evt.location,
    +    metaKey: !!evt.metaKey,
    +    repeat: !!evt.repeat,
    +    shiftKey: !!evt.shiftKey,
    +    which: evt.which
    +  });
    +};
    +_.extend(Command.prototype, {
    +  /**
    +     Up Arrow
    + 
    +     @member Backgrid.Command
    +   */
    +  moveUp: function () { return this.keyCode == 38; },
    +  /**
    +     Down Arrow
    + 
    +     @member Backgrid.Command
    +   */
    +  moveDown: function () { return this.keyCode === 40; },
    +  /**
    +     Shift Tab
    + 
    +     @member Backgrid.Command
    +   */
    +  moveLeft: function () { return this.shiftKey && this.keyCode === 9; },
    +  /**
    +     Tab
    + 
    +     @member Backgrid.Command
    +   */
    +  moveRight: function () { return !this.shiftKey && this.keyCode === 9; },
    +  /**
    +     Enter
    + 
    +     @member Backgrid.Command
    +   */
    +  save: function () { return this.keyCode === 13; },
    +  /**
    +     Esc
    + 
    +     @member Backgrid.Command
    +   */
    +  cancel: function () { return this.keyCode === 27; },
    +  /**
    +     None of the above.
    + 
    +     @member Backgrid.Command
    +   */
    +  passThru: function () {
    +    return !(this.moveUp() || this.moveDown() || this.moveLeft() ||
    +             this.moveRight() || this.save() || this.cancel());
    +  }
    +});
    + 
    +/*
    +  backgrid
    +  http://github.com/wyuenho/backgrid
    + 
    +  Copyright (c) 2013 Jimmy Yuen Ho Wong and contributors
    +  Licensed under the MIT license.
    +*/
    + 
    +/**
    +   Just a convenient class for interested parties to subclass.
    + 
    +   The default Cell classes don't require the formatter to be a subclass of
    +   Formatter as long as the fromRaw(rawData) and toRaw(formattedData) methods
    +   are defined.
    + 
    +   @abstract
    +   @class Backgrid.CellFormatter
    +   @constructor
    +*/
    +var CellFormatter = Backgrid.CellFormatter = function () {};
    +_.extend(CellFormatter.prototype, {
    + 
    +  /**
    +     Takes a raw value from a model and returns an optionally formatted string
    +     for display. The default implementation simply returns the supplied value
    +     as is without any type conversion.
    + 
    +     @member Backgrid.CellFormatter
    +     @param {*} rawData
    +     @param {Backbone.Model} model Used for more complicated formatting
    +     @return {*}
    +  */
    +  fromRaw: function (rawData, model) {
    +    return rawData;
    +  },
    + 
    +  /**
    +     Takes a formatted string, usually from user input, and returns a
    +     appropriately typed value for persistence in the model.
    + 
    +     If the user input is invalid or unable to be converted to a raw value
    +     suitable for persistence in the model, toRaw must return `undefined`.
    + 
    +     @member Backgrid.CellFormatter
    +     @param {string} formattedData
    +     @param {Backbone.Model} model Used for more complicated formatting
    +     @return {*|undefined}
    +  */
    +  toRaw: function (formattedData, model) {
    +    return formattedData;
    +  }
    + 
    +});
    + 
    +/**
    +   A floating point number formatter. Doesn't understand scientific notation at
    +   the moment.
    + 
    +   @class Backgrid.NumberFormatter
    +   @extends Backgrid.CellFormatter
    +   @constructor
    +   @throws {RangeError} If decimals < 0 or > 20.
    +*/
    +var NumberFormatter = Backgrid.NumberFormatter = function (options) {
    +  _.extend(this, this.defaults, options || {});
    + 
    +  if (this.decimals < 0 || this.decimals > 20) {
    +    throw new RangeError("decimals must be between 0 and 20");
    +  }
    +};
    +NumberFormatter.prototype = new CellFormatter();
    +_.extend(NumberFormatter.prototype, {
    + 
    +  /**
    +     @member Backgrid.NumberFormatter
    +     @cfg {Object} options
    + 
    +     @cfg {number} [options.decimals=2] Number of decimals to display. Must be an integer.
    + 
    +     @cfg {string} [options.decimalSeparator='.'] The separator to use when
    +     displaying decimals.
    + 
    +     @cfg {string} [options.orderSeparator=','] The separator to use to
    +     separator thousands. May be an empty string.
    +   */
    +  defaults: {
    +    decimals: 2,
    +    decimalSeparator: '.',
    +    orderSeparator: ','
    +  },
    + 
    +  HUMANIZED_NUM_RE: /(\d)(?=(?:\d{3})+$)/g,
    + 
    +  /**
    +     Takes a floating point number and convert it to a formatted string where
    +     every thousand is separated by `orderSeparator`, with a `decimal` number of
    +     decimals separated by `decimalSeparator`. The number returned is rounded
    +     the usual way.
    + 
    +     @member Backgrid.NumberFormatter
    +     @param {number} number
    +     @param {Backbone.Model} model Used for more complicated formatting
    +     @return {string}
    +  */
    +  fromRaw: function (number, model) {
    +    if (_.isNull(number) || _.isUndefined(number)) return '';
    + 
    +    number = number.toFixed(~~this.decimals);
    + 
    +    var parts = number.split('.');
    +    var integerPart = parts[0];
    +    var decimalPart = parts[1] ? (this.decimalSeparator || '.') + parts[1] : '';
    + 
    +    return integerPart.replace(this.HUMANIZED_NUM_RE, '$1' + this.orderSeparator) + decimalPart;
    +  },
    + 
    +  /**
    +     Takes a string, possibly formatted with `orderSeparator` and/or
    +     `decimalSeparator`, and convert it back to a number.
    + 
    +     @member Backgrid.NumberFormatter
    +     @param {string} formattedData
    +     @param {Backbone.Model} model Used for more complicated formatting
    +     @return {number|undefined} Undefined if the string cannot be converted to
    +     a number.
    +  */
    +  toRaw: function (formattedData, model) {
    +    formattedData = formattedData.trim();
    + 
    +    if (formattedData === '') return null;
    + 
    +    var rawData = '';
    + 
    +    var thousands = formattedData.split(this.orderSeparator);
    +    for (var i = 0; i < thousands.length; i++) {
    +      rawData += thousands[i];
    +    }
    + 
    +    var decimalParts = rawData.split(this.decimalSeparator);
    +    rawData = '';
    +    for (var i = 0; i < decimalParts.length; i++) {
    +      rawData = rawData + decimalParts[i] + '.';
    +    }
    + 
    +    Eif (rawData[rawData.length - 1] === '.') {
    +      rawData = rawData.slice(0, rawData.length - 1);
    +    }
    + 
    +    var result = (rawData * 1).toFixed(~~this.decimals) * 1;
    +    if (_.isNumber(result) && !_.isNaN(result)) return result;
    +  }
    + 
    +});
    + 
    +/**
    +   A number formatter that converts a floating point number, optionally
    +   multiplied by a multiplier, to a percentage string and vice versa.
    + 
    +   @class Backgrid.PercentFormatter
    +   @extends Backgrid.NumberFormatter
    +   @constructor
    +   @throws {RangeError} If decimals < 0 or > 20.
    + */
    +var PercentFormatter = Backgrid.PercentFormatter = function () {
    +  Backgrid.NumberFormatter.apply(this, arguments);
    +};
    + 
    +PercentFormatter.prototype = new Backgrid.NumberFormatter(),
    + 
    +_.extend(PercentFormatter.prototype, {
    + 
    +  /**
    +     @member Backgrid.PercentFormatter
    +     @cfg {Object} options
    + 
    +     @cfg {number} [options.multiplier=1] The number used to multiply the model
    +     value for display.
    + 
    +     @cfg {string} [options.symbol='%'] The symbol to append to the percentage
    +     string.
    +   */
    +  defaults: _.extend({}, NumberFormatter.prototype.defaults, {
    +    multiplier: 1,
    +    symbol: "%"
    +  }),
    + 
    +  /**
    +     Takes a floating point number, where the number is first multiplied by
    +     `multiplier`, then converted to a formatted string like
    +     NumberFormatter#fromRaw, then finally append `symbol` to the end.
    + 
    +     @member Backgrid.PercentFormatter
    +     @param {number} rawValue
    +     @param {Backbone.Model} model Used for more complicated formatting
    +     @return {string}
    +  */
    +  fromRaw: function (number, model) {
    +    var args = [].slice.call(arguments, 1);
    +    args.unshift(number * this.multiplier);
    +    return (NumberFormatter.prototype.fromRaw.apply(this, args) || "0") + this.symbol;
    +  },
    + 
    +  /**
    +     Takes a string, possibly appended with `symbol` and/or `decimalSeparator`,
    +     and convert it back to a number for the model like NumberFormatter#toRaw,
    +     and then dividing it by `multiplier`.
    + 
    +     @member Backgrid.PercentFormatter
    +     @param {string} formattedData
    +     @param {Backbone.Model} model Used for more complicated formatting
    +     @return {number|undefined} Undefined if the string cannot be converted to
    +     a number.
    +  */
    +  toRaw: function (formattedValue, model) {
    +    var tokens = formattedValue.split(this.symbol);
    +    Eif (tokens && tokens[0] && tokens[1] === "" || tokens[1] == null) {
    +      var rawValue = NumberFormatter.prototype.toRaw.call(this, tokens[0]);
    +      if (_.isUndefined(rawValue)) return rawValue;
    +      return rawValue / this.multiplier;
    +    }
    +  }
    + 
    +});
    + 
    +/**
    +   Formatter to converts between various datetime formats.
    + 
    +   This class only understands ISO-8601 formatted datetime strings and UNIX
    +   offset (number of milliseconds since UNIX Epoch). See
    +   Backgrid.Extension.MomentFormatter if you need a much more flexible datetime
    +   formatter.
    + 
    +   @class Backgrid.DatetimeFormatter
    +   @extends Backgrid.CellFormatter
    +   @constructor
    +   @throws {Error} If both `includeDate` and `includeTime` are false.
    +*/
    +var DatetimeFormatter = Backgrid.DatetimeFormatter = function (options) {
    +  _.extend(this, this.defaults, options || {});
    + 
    +  if (!this.includeDate && !this.includeTime) {
    +    throw new Error("Either includeDate or includeTime must be true");
    +  }
    +};
    +DatetimeFormatter.prototype = new CellFormatter();
    +_.extend(DatetimeFormatter.prototype, {
    + 
    +  /**
    +     @member Backgrid.DatetimeFormatter
    + 
    +     @cfg {Object} options
    + 
    +     @cfg {boolean} [options.includeDate=true] Whether the values include the
    +     date part.
    + 
    +     @cfg {boolean} [options.includeTime=true] Whether the values include the
    +     time part.
    + 
    +     @cfg {boolean} [options.includeMilli=false] If `includeTime` is true,
    +     whether to include the millisecond part, if it exists.
    +   */
    +  defaults: {
    +    includeDate: true,
    +    includeTime: true,
    +    includeMilli: false
    +  },
    + 
    +  DATE_RE: /^([+\-]?\d{4})-(\d{2})-(\d{2})$/,
    +  TIME_RE: /^(\d{2}):(\d{2}):(\d{2})(\.(\d{3}))?$/,
    +  ISO_SPLITTER_RE: /T|Z| +/,
    + 
    +  _convert: function (data, validate) {
    +    if ((data + '').trim() === '') return null;
    + 
    +    var date, time = null;
    +    if (_.isNumber(data)) {
    +      var jsDate = new Date(data);
    +      date = lpad(jsDate.getUTCFullYear(), 4, 0) + '-' + lpad(jsDate.getUTCMonth() + 1, 2, 0) + '-' + lpad(jsDate.getUTCDate(), 2, 0);
    +      time = lpad(jsDate.getUTCHours(), 2, 0) + ':' + lpad(jsDate.getUTCMinutes(), 2, 0) + ':' + lpad(jsDate.getUTCSeconds(), 2, 0);
    +    }
    +    else {
    +      data = data.trim();
    +      var parts = data.split(this.ISO_SPLITTER_RE) || [];
    +      date = this.DATE_RE.test(parts[0]) ? parts[0] : '';
    +      time = date && parts[1] ? parts[1] : this.TIME_RE.test(parts[0]) ? parts[0] : '';
    +    }
    + 
    +    var YYYYMMDD = this.DATE_RE.exec(date) || [];
    +    var HHmmssSSS = this.TIME_RE.exec(time) || [];
    + 
    +    if (validate) {
    +      if (this.includeDate && _.isUndefined(YYYYMMDD[0])) return;
    +      if (this.includeTime && _.isUndefined(HHmmssSSS[0])) return;
    +      if (!this.includeDate && date) return;
    +      if (!this.includeTime && time) return;
    +    }
    + 
    +    var jsDate = new Date(Date.UTC(YYYYMMDD[1] * 1 || 0,
    +                                   YYYYMMDD[2] * 1 - 1 || 0,
    +                                   YYYYMMDD[3] * 1 || 0,
    +                                   HHmmssSSS[1] * 1 || null,
    +                                   HHmmssSSS[2] * 1 || null,
    +                                   HHmmssSSS[3] * 1 || null,
    +                                   HHmmssSSS[5] * 1 || null));
    + 
    +    var result = '';
    + 
    +    if (this.includeDate) {
    +      result = lpad(jsDate.getUTCFullYear(), 4, 0) + '-' + lpad(jsDate.getUTCMonth() + 1, 2, 0) + '-' + lpad(jsDate.getUTCDate(), 2, 0);
    +    }
    + 
    +    if (this.includeTime) {
    +      result = result + (this.includeDate ? 'T' : '') + lpad(jsDate.getUTCHours(), 2, 0) + ':' + lpad(jsDate.getUTCMinutes(), 2, 0) + ':' + lpad(jsDate.getUTCSeconds(), 2, 0);
    + 
    +      if (this.includeMilli) {
    +        result = result + '.' + lpad(jsDate.getUTCMilliseconds(), 3, 0);
    +      }
    +    }
    + 
    +    if (this.includeDate && this.includeTime) {
    +      result += "Z";
    +    }
    + 
    +    return result;
    +  },
    + 
    +  /**
    +     Converts an ISO-8601 formatted datetime string to a datetime string, date
    +     string or a time string. The timezone is ignored if supplied.
    + 
    +     @member Backgrid.DatetimeFormatter
    +     @param {string} rawData
    +     @param {Backbone.Model} model Used for more complicated formatting
    +     @return {string|null|undefined} ISO-8601 string in UTC. Null and undefined
    +     values are returned as is.
    +  */
    +  fromRaw: function (rawData, model) {
    +    if (_.isNull(rawData) || _.isUndefined(rawData)) return '';
    +    return this._convert(rawData);
    +  },
    + 
    +  /**
    +     Converts an ISO-8601 formatted datetime string to a datetime string, date
    +     string or a time string. The timezone is ignored if supplied. This method
    +     parses the input values exactly the same way as
    +     Backgrid.Extension.MomentFormatter#fromRaw(), in addition to doing some
    +     sanity checks.
    + 
    +     @member Backgrid.DatetimeFormatter
    +     @param {string} formattedData
    +     @param {Backbone.Model} model Used for more complicated formatting
    +     @return {string|undefined} ISO-8601 string in UTC. Undefined if a date is
    +     found when `includeDate` is false, or a time is found when `includeTime` is
    +     false, or if `includeDate` is true and a date is not found, or if
    +     `includeTime` is true and a time is not found.
    +  */
    +  toRaw: function (formattedData, model) {
    +    return this._convert(formattedData, true);
    +  }
    + 
    +});
    + 
    +/**
    +   Formatter to convert any value to string.
    + 
    +   @class Backgrid.StringFormatter
    +   @extends Backgrid.CellFormatter
    +   @constructor
    + */
    +var StringFormatter = Backgrid.StringFormatter = function () {};
    +StringFormatter.prototype = new CellFormatter();
    +_.extend(StringFormatter.prototype, {
    +  /**
    +     Converts any value to a string using Ecmascript's implicit type
    +     conversion. If the given value is `null` or `undefined`, an empty string is
    +     returned instead.
    + 
    +     @member Backgrid.StringFormatter
    +     @param {*} rawValue
    +     @param {Backbone.Model} model Used for more complicated formatting
    +     @return {string}
    +   */
    +  fromRaw: function (rawValue, model) {
    +    if (_.isUndefined(rawValue) || _.isNull(rawValue)) return '';
    +    return rawValue + '';
    +  }
    +});
    + 
    +/**
    +   Simple email validation formatter.
    + 
    +   @class Backgrid.EmailFormatter
    +   @extends Backgrid.CellFormatter
    +   @constructor
    + */
    +var EmailFormatter = Backgrid.EmailFormatter = function () {};
    +EmailFormatter.prototype = new CellFormatter();
    +_.extend(EmailFormatter.prototype, {
    +  /**
    +     Return the input if it is a string that contains an '@' character and if
    +     the strings before and after '@' are non-empty. If the input does not
    +     validate, `undefined` is returned.
    + 
    +     @member Backgrid.EmailFormatter
    +     @param {*} formattedData
    +     @param {Backbone.Model} model Used for more complicated formatting
    +     @return {string|undefined}
    +   */
    +  toRaw: function (formattedData, model) {
    +    var parts = formattedData.trim().split("@");
    +    if (parts.length === 2 && _.all(parts)) {
    +      return formattedData;
    +    }
    +  }
    +});
    + 
    +/**
    +   Formatter for SelectCell.
    + 
    +   If the type of a model value is not a string, it is expected that a subclass
    +   of this formatter is provided to the SelectCell, with #toRaw overridden to
    +   convert the string value returned from the DOM back to whatever value is
    +   expected in the model.
    + 
    +   @class Backgrid.SelectFormatter
    +   @extends Backgrid.CellFormatter
    +   @constructor
    +*/
    +var SelectFormatter = Backgrid.SelectFormatter = function () {};
    +SelectFormatter.prototype = new CellFormatter();
    +_.extend(SelectFormatter.prototype, {
    + 
    +  /**
    +     Normalizes raw scalar or array values to an array.
    + 
    +     @member Backgrid.SelectFormatter
    +     @param {*} rawValue
    +     @param {Backbone.Model} model Used for more complicated formatting
    +     @return {Array.<*>}
    +  */
    +  fromRaw: function (rawValue, model) {
    +    return _.isArray(rawValue) ? rawValue : rawValue != null ? [rawValue] : [];
    +  }
    +});
    + 
    +/*
    +  backgrid
    +  http://github.com/wyuenho/backgrid
    + 
    +  Copyright (c) 2013 Jimmy Yuen Ho Wong and contributors
    +  Licensed under the MIT license.
    +*/
    + 
    +/**
    +   Generic cell editor base class. Only defines an initializer for a number of
    +   required parameters.
    + 
    +   @abstract
    +   @class Backgrid.CellEditor
    +   @extends Backbone.View
    +*/
    +var CellEditor = Backgrid.CellEditor = Backbone.View.extend({
    + 
    +  /**
    +     Initializer.
    + 
    +     @param {Object} options
    +     @param {Backgrid.CellFormatter} options.formatter
    +     @param {Backgrid.Column} options.column
    +     @param {Backbone.Model} options.model
    + 
    +     @throws {TypeError} If `formatter` is not a formatter instance, or when
    +     `model` or `column` are undefined.
    +  */
    +  initialize: function (options) {
    +    this.formatter = options.formatter;
    +    this.column = options.column;
    +    if (!(this.column instanceof Column)) {
    +      this.column = new Column(this.column);
    +    }
    + 
    +    this.listenTo(this.model, "backgrid:editing", this.postRender);
    +  },
    + 
    +  /**
    +     Post-rendering setup and initialization. Focuses the cell editor's `el` in
    +     this default implementation. **Should** be called by Cell classes after
    +     calling Backgrid.CellEditor#render.
    +  */
    +  postRender: function (model, column) {
    +    Eif (column == null || column.get("name") == this.column.get("name")) {
    +      this.$el.focus();
    +    }
    +    return this;
    +  }
    + 
    +});
    + 
    +/**
    +   InputCellEditor the cell editor type used by most core cell types. This cell
    +   editor renders a text input box as its editor. The input will render a
    +   placeholder if the value is empty on supported browsers.
    + 
    +   @class Backgrid.InputCellEditor
    +   @extends Backgrid.CellEditor
    +*/
    +var InputCellEditor = Backgrid.InputCellEditor = CellEditor.extend({
    + 
    +  /** @property */
    +  tagName: "input",
    + 
    +  /** @property */
    +  attributes: {
    +    type: "text"
    +  },
    + 
    +  /** @property */
    +  events: {
    +    "blur": "saveOrCancel",
    +    "keydown": "saveOrCancel"
    +  },
    + 
    +  /**
    +     Initializer. Removes this `el` from the DOM when a `done` event is
    +     triggered.
    + 
    +     @param {Object} options
    +     @param {Backgrid.CellFormatter} options.formatter
    +     @param {Backgrid.Column} options.column
    +     @param {Backbone.Model} options.model
    +     @param {string} [options.placeholder]
    +  */
    +  initialize: function (options) {
    +    InputCellEditor.__super__.initialize.apply(this, arguments);
    + 
    +    if (options.placeholder) {
    +      this.$el.attr("placeholder", options.placeholder);
    +    }
    +  },
    + 
    +  /**
    +     Renders a text input with the cell value formatted for display, if it
    +     exists.
    +  */
    +  render: function () {
    +    var model = this.model;
    +    this.$el.val(this.formatter.fromRaw(model.get(this.column.get("name")), model));
    +    return this;
    +  },
    + 
    +  /**
    +     If the key pressed is `enter`, `tab`, `up`, or `down`, converts the value
    +     in the editor to a raw value for saving into the model using the formatter.
    + 
    +     If the key pressed is `esc` the changes are undone.
    + 
    +     If the editor goes out of focus (`blur`) but the value is invalid, the
    +     event is intercepted and cancelled so the cell remains in focus pending for
    +     further action. The changes are saved otherwise.
    + 
    +     Triggers a Backbone `backgrid:edited` event from the model when successful,
    +     and `backgrid:error` if the value cannot be converted. Classes listening to
    +     the `error` event, usually the Cell classes, should respond appropriately,
    +     usually by rendering some kind of error feedback.
    + 
    +     @param {Event} e
    +  */
    +  saveOrCancel: function (e) {
    + 
    +    var formatter = this.formatter;
    +    var model = this.model;
    +    var column = this.column;
    + 
    +    var command = new Command(e);
    +    var blurred = e.type === "blur";
    + 
    +    if (command.moveUp() || command.moveDown() || command.moveLeft() || command.moveRight() ||
    +        command.save() || blurred) {
    + 
    +      e.preventDefault();
    +      e.stopPropagation();
    + 
    +      var val = this.$el.val();
    +      var newValue = formatter.toRaw(val, model);
    +      if (_.isUndefined(newValue)) {
    +        model.trigger("backgrid:error", model, column, val);
    +      }
    +      else {
    +        model.set(column.get("name"), newValue);
    +        model.trigger("backgrid:edited", model, column, command);
    +      }
    +    }
    +    // esc
    +    else Eif (command.cancel()) {
    +      // undo
    +      e.stopPropagation();
    +      model.trigger("backgrid:edited", model, column, command);
    +    }
    +  },
    + 
    +  postRender: function (model, column) {
    +    Eif (column == null || column.get("name") == this.column.get("name")) {
    +      // move the cursor to the end on firefox if text is right aligned
    +      Iif (this.$el.css("text-align") === "right") {
    +        var val = this.$el.val();
    +        this.$el.focus().val(null).val(val);
    +      }
    +      else this.$el.focus();
    +    }
    +    return this;
    +  }
    + 
    +});
    + 
    +/**
    +   The super-class for all Cell types. By default, this class renders a plain
    +   table cell with the model value converted to a string using the
    +   formatter. The table cell is clickable, upon which the cell will go into
    +   editor mode, which is rendered by a Backgrid.InputCellEditor instance by
    +   default. Upon encountering any formatting errors, this class will add an
    +   `error` CSS class to the table cell.
    + 
    +   @abstract
    +   @class Backgrid.Cell
    +   @extends Backbone.View
    +*/
    +var Cell = Backgrid.Cell = Backbone.View.extend({
    + 
    +  /** @property */
    +  tagName: "td",
    + 
    +  /**
    +     @property {Backgrid.CellFormatter|Object|string} [formatter=CellFormatter]
    +  */
    +  formatter: CellFormatter,
    + 
    +  /**
    +     @property {Backgrid.CellEditor} [editor=Backgrid.InputCellEditor] The
    +     default editor for all cell instances of this class. This value must be a
    +     class, it will be automatically instantiated upon entering edit mode.
    + 
    +     See Backgrid.CellEditor
    +  */
    +  editor: InputCellEditor,
    + 
    +  /** @property */
    +  events: {
    +    "click": "enterEditMode"
    +  },
    + 
    +  /**
    +     Initializer.
    + 
    +     @param {Object} options
    +     @param {Backbone.Model} options.model
    +     @param {Backgrid.Column} options.column
    + 
    +     @throws {ReferenceError} If formatter is a string but a formatter class of
    +     said name cannot be found in the Backgrid module.
    +  */
    +  initialize: function (options) {
    +    this.column = options.column;
    +    if (!(this.column instanceof Column)) {
    +      this.column = new Column(this.column);
    +    }
    + 
    +    var column = this.column, model = this.model, $el = this.$el;
    + 
    +    var formatter = Backgrid.resolveNameToClass(column.get("formatter") ||
    +                                                this.formatter, "Formatter");
    + 
    +    if (!_.isFunction(formatter.fromRaw) && !_.isFunction(formatter.toRaw)) {
    +      formatter = new formatter();
    +    }
    + 
    +    this.formatter = formatter;
    + 
    +    this.editor = Backgrid.resolveNameToClass(this.editor, "CellEditor");
    + 
    +    this.listenTo(model, "change:" + column.get("name"), function () {
    +      if (!$el.hasClass("editor")) this.render();
    +    });
    + 
    +    this.listenTo(model, "backgrid:error", this.renderError);
    + 
    +    this.listenTo(column, "change:editable change:sortable change:renderable",
    +                  function (column) {
    +                    var changed = column.changedAttributes();
    +                    for (var key in changed) {
    +                      Eif (changed.hasOwnProperty(key)) {
    +                        $el.toggleClass(key, changed[key]);
    +                      }
    +                    }
    +                  });
    + 
    +    if (Backgrid.callByNeed(column.editable(), column, model)) $el.addClass("editable");
    +    if (Backgrid.callByNeed(column.sortable(), column, model)) $el.addClass("sortable");
    +    if (Backgrid.callByNeed(column.renderable(), column, model)) $el.addClass("renderable");
    +  },
    + 
    +  /**
    +     Render a text string in a table cell. The text is converted from the
    +     model's raw value for this cell's column.
    +  */
    +  render: function () {
    +    this.$el.empty();
    +    var model = this.model;
    +    this.$el.text(this.formatter.fromRaw(model.get(this.column.get("name")), model));
    +    this.delegateEvents();
    +    return this;
    +  },
    + 
    +  /**
    +     If this column is editable, a new CellEditor instance is instantiated with
    +     its required parameters. An `editor` CSS class is added to the cell upon
    +     entering edit mode.
    + 
    +     This method triggers a Backbone `backgrid:edit` event from the model when
    +     the cell is entering edit mode and an editor instance has been constructed,
    +     but before it is rendered and inserted into the DOM. The cell and the
    +     constructed cell editor instance are sent as event parameters when this
    +     event is triggered.
    + 
    +     When this cell has finished switching to edit mode, a Backbone
    +     `backgrid:editing` event is triggered from the model. The cell and the
    +     constructed cell instance are also sent as parameters in the event.
    + 
    +     When the model triggers a `backgrid:error` event, it means the editor is
    +     unable to convert the current user input to an apprpriate value for the
    +     model's column, and an `error` CSS class is added to the cell accordingly.
    +  */
    +  enterEditMode: function () {
    +    var model = this.model;
    +    var column = this.column;
    + 
    +    var editable = Backgrid.callByNeed(column.editable(), column, model);
    +    Eif (editable) {
    + 
    +      this.currentEditor = new this.editor({
    +        column: this.column,
    +        model: this.model,
    +        formatter: this.formatter
    +      });
    + 
    +      model.trigger("backgrid:edit", model, column, this, this.currentEditor);
    + 
    +      // Need to redundantly undelegate events for Firefox
    +      this.undelegateEvents();
    +      this.$el.empty();
    +      this.$el.append(this.currentEditor.$el);
    +      this.currentEditor.render();
    +      this.$el.addClass("editor");
    + 
    +      model.trigger("backgrid:editing", model, column, this, this.currentEditor);
    +    }
    +  },
    + 
    +  /**
    +     Put an `error` CSS class on the table cell.
    +  */
    +  renderError: function (model, column) {
    +    Eif (column == null || column.get("name") == this.column.get("name")) {
    +      this.$el.addClass("error");
    +    }
    +  },
    + 
    +  /**
    +     Removes the editor and re-render in display mode.
    +  */
    +  exitEditMode: function () {
    +    this.$el.removeClass("error");
    +    this.currentEditor.remove();
    +    this.stopListening(this.currentEditor);
    +    delete this.currentEditor;
    +    this.$el.removeClass("editor");
    +    this.render();
    +  },
    + 
    +  /**
    +     Clean up this cell.
    + 
    +     @chainable
    +  */
    +  remove: function () {
    +    if (this.currentEditor) {
    +      this.currentEditor.remove.apply(this.currentEditor, arguments);
    +      delete this.currentEditor;
    +    }
    +    return Cell.__super__.remove.apply(this, arguments);
    +  }
    + 
    +});
    + 
    +/**
    +   StringCell displays HTML escaped strings and accepts anything typed in.
    + 
    +   @class Backgrid.StringCell
    +   @extends Backgrid.Cell
    +*/
    +var StringCell = Backgrid.StringCell = Cell.extend({
    + 
    +  /** @property */
    +  className: "string-cell",
    + 
    +  formatter: StringFormatter
    + 
    +});
    + 
    +/**
    +   UriCell renders an HTML `<a>` anchor for the value and accepts URIs as user
    +   input values. No type conversion or URL validation is done by the formatter
    +   of this cell. Users who need URL validation are encourage to subclass UriCell
    +   to take advantage of the parsing capabilities of the HTMLAnchorElement
    +   available on HTML5-capable browsers or using a third-party library like
    +   [URI.js](https://github.com/medialize/URI.js).
    + 
    +   @class Backgrid.UriCell
    +   @extends Backgrid.Cell
    +*/
    +var UriCell = Backgrid.UriCell = Cell.extend({
    + 
    +  /** @property */
    +  className: "uri-cell",
    + 
    +  /**
    +     @property {string} [title] The title attribute of the generated anchor. It
    +     uses the display value formatted by the `formatter.fromRaw` by default.
    +  */
    +  title: null,
    + 
    +  /**
    +     @property {string} [target="_blank"] The target attribute of the generated
    +     anchor.
    +  */
    +  target: "_blank",
    + 
    +  initialize: function (options) {
    +    UriCell.__super__.initialize.apply(this, arguments);
    +    this.title = options.title || this.title;
    +    this.target = options.target || this.target;
    +  },
    + 
    +  render: function () {
    +    this.$el.empty();
    +    var rawValue = this.model.get(this.column.get("name"));
    +    var formattedValue = this.formatter.fromRaw(rawValue, this.model);
    +    this.$el.append($("<a>", {
    +      tabIndex: -1,
    +      href: rawValue,
    +      title: this.title || formattedValue,
    +      target: this.target
    +    }).text(formattedValue));
    +    this.delegateEvents();
    +    return this;
    +  }
    + 
    +});
    + 
    +/**
    +   Like Backgrid.UriCell, EmailCell renders an HTML `<a>` anchor for the
    +   value. The `href` in the anchor is prefixed with `mailto:`. EmailCell will
    +   complain if the user enters a string that doesn't contain the `@` sign.
    + 
    +   @class Backgrid.EmailCell
    +   @extends Backgrid.StringCell
    +*/
    +var EmailCell = Backgrid.EmailCell = StringCell.extend({
    + 
    +  /** @property */
    +  className: "email-cell",
    + 
    +  formatter: EmailFormatter,
    + 
    +  render: function () {
    +    this.$el.empty();
    +    var model = this.model;
    +    var formattedValue = this.formatter.fromRaw(model.get(this.column.get("name")), model);
    +    this.$el.append($("<a>", {
    +      tabIndex: -1,
    +      href: "mailto:" + formattedValue,
    +      title: formattedValue
    +    }).text(formattedValue));
    +    this.delegateEvents();
    +    return this;
    +  }
    + 
    +});
    + 
    +/**
    +   NumberCell is a generic cell that renders all numbers. Numbers are formatted
    +   using a Backgrid.NumberFormatter.
    + 
    +   @class Backgrid.NumberCell
    +   @extends Backgrid.Cell
    +*/
    +var NumberCell = Backgrid.NumberCell = Cell.extend({
    + 
    +  /** @property */
    +  className: "number-cell",
    + 
    +  /**
    +     @property {number} [decimals=2] Must be an integer.
    +  */
    +  decimals: NumberFormatter.prototype.defaults.decimals,
    + 
    +  /** @property {string} [decimalSeparator='.'] */
    +  decimalSeparator: NumberFormatter.prototype.defaults.decimalSeparator,
    + 
    +  /** @property {string} [orderSeparator=','] */
    +  orderSeparator: NumberFormatter.prototype.defaults.orderSeparator,
    + 
    +  /** @property {Backgrid.CellFormatter} [formatter=Backgrid.NumberFormatter] */
    +  formatter: NumberFormatter,
    + 
    +  /**
    +     Initializes this cell and the number formatter.
    + 
    +     @param {Object} options
    +     @param {Backbone.Model} options.model
    +     @param {Backgrid.Column} options.column
    +  */
    +  initialize: function (options) {
    +    NumberCell.__super__.initialize.apply(this, arguments);
    +    var formatter = this.formatter;
    +    formatter.decimals = this.decimals;
    +    formatter.decimalSeparator = this.decimalSeparator;
    +    formatter.orderSeparator = this.orderSeparator;
    +  }
    + 
    +});
    + 
    +/**
    +   An IntegerCell is just a Backgrid.NumberCell with 0 decimals. If a floating
    +   point number is supplied, the number is simply rounded the usual way when
    +   displayed.
    + 
    +   @class Backgrid.IntegerCell
    +   @extends Backgrid.NumberCell
    +*/
    +var IntegerCell = Backgrid.IntegerCell = NumberCell.extend({
    + 
    +  /** @property */
    +  className: "integer-cell",
    + 
    +  /**
    +     @property {number} decimals Must be an integer.
    +  */
    +  decimals: 0
    +});
    + 
    +/**
    +   A PercentCell is another Backgrid.NumberCell that takes a floating number,
    +   optionally multiplied by a multiplier and display it as a percentage.
    + 
    +   @class Backgrid.PercentCell
    +   @extends Backgrid.NumberCell
    + */
    +var PercentCell = Backgrid.PercentCell = NumberCell.extend({
    + 
    +  /** @property */
    +  className: "percent-cell",
    + 
    +  /** @property {number} [multiplier=1] */
    +  multiplier: PercentFormatter.prototype.defaults.multiplier,
    + 
    +  /** @property {string} [symbol='%'] */
    +  symbol: PercentFormatter.prototype.defaults.symbol,
    + 
    +  /** @property {Backgrid.CellFormatter} [formatter=Backgrid.PercentFormatter] */
    +  formatter: PercentFormatter,
    + 
    +  /**
    +     Initializes this cell and the percent formatter.
    + 
    +     @param {Object} options
    +     @param {Backbone.Model} options.model
    +     @param {Backgrid.Column} options.column
    +  */
    +  initialize: function () {
    +    PercentCell.__super__.initialize.apply(this, arguments);
    +    var formatter = this.formatter;
    +    formatter.multiplier = this.multiplier;
    +    formatter.symbol = this.symbol;
    +  }
    + 
    +});
    + 
    +/**
    +   DatetimeCell is a basic cell that accepts datetime string values in RFC-2822
    +   or W3C's subset of ISO-8601 and displays them in ISO-8601 format. For a much
    +   more sophisticated date time cell with better datetime formatting, take a
    +   look at the Backgrid.Extension.MomentCell extension.
    + 
    +   @class Backgrid.DatetimeCell
    +   @extends Backgrid.Cell
    + 
    +   See:
    + 
    +   - Backgrid.Extension.MomentCell
    +   - Backgrid.DatetimeFormatter
    +*/
    +var DatetimeCell = Backgrid.DatetimeCell = Cell.extend({
    + 
    +  /** @property */
    +  className: "datetime-cell",
    + 
    +  /**
    +     @property {boolean} [includeDate=true]
    +  */
    +  includeDate: DatetimeFormatter.prototype.defaults.includeDate,
    + 
    +  /**
    +     @property {boolean} [includeTime=true]
    +  */
    +  includeTime: DatetimeFormatter.prototype.defaults.includeTime,
    + 
    +  /**
    +     @property {boolean} [includeMilli=false]
    +  */
    +  includeMilli: DatetimeFormatter.prototype.defaults.includeMilli,
    + 
    +  /** @property {Backgrid.CellFormatter} [formatter=Backgrid.DatetimeFormatter] */
    +  formatter: DatetimeFormatter,
    + 
    +  /**
    +     Initializes this cell and the datetime formatter.
    + 
    +     @param {Object} options
    +     @param {Backbone.Model} options.model
    +     @param {Backgrid.Column} options.column
    +  */
    +  initialize: function (options) {
    +    DatetimeCell.__super__.initialize.apply(this, arguments);
    +    var formatter = this.formatter;
    +    formatter.includeDate = this.includeDate;
    +    formatter.includeTime = this.includeTime;
    +    formatter.includeMilli = this.includeMilli;
    + 
    +    var placeholder = this.includeDate ? "YYYY-MM-DD" : "";
    +    placeholder += (this.includeDate && this.includeTime) ? "T" : "";
    +    placeholder += this.includeTime ? "HH:mm:ss" : "";
    +    placeholder += (this.includeTime && this.includeMilli) ? ".SSS" : "";
    + 
    +    this.editor = this.editor.extend({
    +      attributes: _.extend({}, this.editor.prototype.attributes, this.editor.attributes, {
    +        placeholder: placeholder
    +      })
    +    });
    +  }
    + 
    +});
    + 
    +/**
    +   DateCell is a Backgrid.DatetimeCell without the time part.
    + 
    +   @class Backgrid.DateCell
    +   @extends Backgrid.DatetimeCell
    +*/
    +var DateCell = Backgrid.DateCell = DatetimeCell.extend({
    + 
    +  /** @property */
    +  className: "date-cell",
    + 
    +  /** @property */
    +  includeTime: false
    + 
    +});
    + 
    +/**
    +   TimeCell is a Backgrid.DatetimeCell without the date part.
    + 
    +   @class Backgrid.TimeCell
    +   @extends Backgrid.DatetimeCell
    +*/
    +var TimeCell = Backgrid.TimeCell = DatetimeCell.extend({
    + 
    +  /** @property */
    +  className: "time-cell",
    + 
    +  /** @property */
    +  includeDate: false
    + 
    +});
    + 
    +/**
    +   BooleanCellEditor renders a checkbox as its editor.
    + 
    +   @class Backgrid.BooleanCellEditor
    +   @extends Backgrid.CellEditor
    +*/
    +var BooleanCellEditor = Backgrid.BooleanCellEditor = CellEditor.extend({
    + 
    +  /** @property */
    +  tagName: "input",
    + 
    +  /** @property */
    +  attributes: {
    +    tabIndex: -1,
    +    type: "checkbox"
    +  },
    + 
    +  /** @property */
    +  events: {
    +    "mousedown": function () {
    +      this.mouseDown = true;
    +    },
    +    "blur": "enterOrExitEditMode",
    +    "mouseup": function () {
    +      this.mouseDown = false;
    +    },
    +    "change": "saveOrCancel",
    +    "keydown": "saveOrCancel"
    +  },
    + 
    +  /**
    +     Renders a checkbox and check it if the model value of this column is true,
    +     uncheck otherwise.
    +  */
    +  render: function () {
    +    var model = this.model;
    +    var val = this.formatter.fromRaw(model.get(this.column.get("name")), model);
    +    this.$el.prop("checked", val);
    +    return this;
    +  },
    + 
    +  /**
    +     Event handler. Hack to deal with the case where `blur` is fired before
    +     `change` and `click` on a checkbox.
    +  */
    +  enterOrExitEditMode: function (e) {
    +    if (!this.mouseDown) {
    +      var model = this.model;
    +      model.trigger("backgrid:edited", model, this.column, new Command(e));
    +    }
    +  },
    + 
    +  /**
    +     Event handler. Save the value into the model if the event is `change` or
    +     one of the keyboard navigation key presses. Exit edit mode without saving
    +     if `escape` was pressed.
    +  */
    +  saveOrCancel: function (e) {
    +    var model = this.model;
    +    var column = this.column;
    +    var formatter = this.formatter;
    +    var command = new Command(e);
    +    // skip ahead to `change` when space is pressed
    +    Iif (command.passThru() && e.type != "change") return true;
    +    Iif (command.cancel()) {
    +      e.stopPropagation();
    +      model.trigger("backgrid:edited", model, column, command);
    +    }
    + 
    +    var $el = this.$el;
    +    Iif (command.save() || command.moveLeft() || command.moveRight() || command.moveUp() ||
    +        command.moveDown()) {
    +      e.preventDefault();
    +      e.stopPropagation();
    +      var val = formatter.toRaw($el.prop("checked"), model);
    +      model.set(column.get("name"), val);
    +      model.trigger("backgrid:edited", model, column, command);
    +    }
    +    else Eif (e.type == "change") {
    +      var val = formatter.toRaw($el.prop("checked"), model);
    +      model.set(column.get("name"), val);
    +      $el.focus();
    +    }
    +  }
    + 
    +});
    + 
    +/**
    +   BooleanCell renders a checkbox both during display mode and edit mode. The
    +   checkbox is checked if the model value is true, unchecked otherwise.
    + 
    +   @class Backgrid.BooleanCell
    +   @extends Backgrid.Cell
    +*/
    +var BooleanCell = Backgrid.BooleanCell = Cell.extend({
    + 
    +  /** @property */
    +  className: "boolean-cell",
    + 
    +  /** @property */
    +  editor: BooleanCellEditor,
    + 
    +  /** @property */
    +  events: {
    +    "click": "enterEditMode"
    +  },
    + 
    +  /**
    +     Renders a checkbox and check it if the model value of this column is true,
    +     uncheck otherwise.
    +  */
    +  render: function () {
    +    this.$el.empty();
    +    var model = this.model, column = this.column;
    +    var editable = Backgrid.callByNeed(column.editable(), column, model);
    +    this.$el.append($("<input>", {
    +      tabIndex: -1,
    +      type: "checkbox",
    +      checked: this.formatter.fromRaw(model.get(column.get("name")), model),
    +      disabled: !editable
    +    }));
    +    this.delegateEvents();
    +    return this;
    +  }
    + 
    +});
    + 
    +/**
    +   SelectCellEditor renders an HTML `<select>` fragment as the editor.
    + 
    +   @class Backgrid.SelectCellEditor
    +   @extends Backgrid.CellEditor
    +*/
    +var SelectCellEditor = Backgrid.SelectCellEditor = CellEditor.extend({
    + 
    +  /** @property */
    +  tagName: "select",
    + 
    +  /** @property */
    +  events: {
    +    "change": "save",
    +    "blur": "close",
    +    "keydown": "close"
    +  },
    + 
    +  /** @property {function(Object, ?Object=): string} template */
    +  template: _.template('<option value="<%- value %>" <%= selected ? \'selected="selected"\' : "" %>><%- text %></option>', null, {variable: null}),
    + 
    +  setOptionValues: function (optionValues) {
    +    this.optionValues = optionValues;
    +    this.optionValues = _.result(this, "optionValues");
    +  },
    + 
    +  setMultiple: function (multiple) {
    +    this.multiple = multiple;
    +    this.$el.prop("multiple", multiple);
    +  },
    + 
    +  _renderOptions: function (nvps, selectedValues) {
    +    var options = '';
    +    for (var i = 0; i < nvps.length; i++) {
    +      options = options + this.template({
    +        text: nvps[i][0],
    +        value: nvps[i][1],
    +        selected: _.indexOf(selectedValues, nvps[i][1]) > -1
    +      });
    +    }
    +    return options;
    +  },
    + 
    +  /**
    +     Renders the options if `optionValues` is a list of name-value pairs. The
    +     options are contained inside option groups if `optionValues` is a list of
    +     object hashes. The name is rendered at the option text and the value is the
    +     option value. If `optionValues` is a function, it is called without a
    +     parameter.
    +  */
    +  render: function () {
    +    this.$el.empty();
    + 
    +    var optionValues = _.result(this, "optionValues");
    +    var model = this.model;
    +    var selectedValues = this.formatter.fromRaw(model.get(this.column.get("name")), model);
    + 
    +    Iif (!_.isArray(optionValues)) throw new TypeError("optionValues must be an array");
    + 
    +    var optionValue = null;
    +    var optionText = null;
    +    var optionValue = null;
    +    var optgroupName = null;
    +    var optgroup = null;
    + 
    +    for (var i = 0; i < optionValues.length; i++) {
    +      var optionValue = optionValues[i];
    + 
    +      if (_.isArray(optionValue)) {
    +        optionText  = optionValue[0];
    +        optionValue = optionValue[1];
    + 
    +        this.$el.append(this.template({
    +          text: optionText,
    +          value: optionValue,
    +          selected: _.indexOf(selectedValues, optionValue) > -1
    +        }));
    +      }
    +      else Eif (_.isObject(optionValue)) {
    +        optgroupName = optionValue.name;
    +        optgroup = $("<optgroup></optgroup>", { label: optgroupName });
    +        optgroup.append(this._renderOptions.call(this, optionValue.values, selectedValues));
    +        this.$el.append(optgroup);
    +      }
    +      else {
    +        throw new TypeError("optionValues elements must be a name-value pair or an object hash of { name: 'optgroup label', value: [option name-value pairs] }");
    +      }
    +    }
    + 
    +    this.delegateEvents();
    + 
    +    return this;
    +  },
    + 
    +  /**
    +     Saves the value of the selected option to the model attribute.
    +  */
    +  save: function (e) {
    +    var model = this.model;
    +    var column = this.column;
    +    model.set(column.get("name"), this.formatter.toRaw(this.$el.val(), model));
    +  },
    + 
    +  /**
    +     Triggers a `backgrid:edited` event from the model so the body can close
    +     this editor.
    +  */
    +  close: function (e) {
    +    var model = this.model;
    +    var column = this.column;
    +    var command = new Command(e);
    +    Iif (command.cancel()) {
    +      e.stopPropagation();
    +      model.trigger("backgrid:edited", model, column, new Command(e));
    +    }
    +    else Eif (command.save() || command.moveLeft() || command.moveRight() ||
    +             command.moveUp() || command.moveDown() || e.type == "blur") {
    +      e.preventDefault();
    +      e.stopPropagation();
    +      this.save(e);
    +      model.trigger("backgrid:edited", model, column, new Command(e));
    +    }
    +  }
    + 
    +});
    + 
    +/**
    +   SelectCell is also a different kind of cell in that upon going into edit mode
    +   the cell renders a list of options to pick from, as opposed to an input box.
    + 
    +   SelectCell cannot be referenced by its string name when used in a column
    +   definition because it requires an `optionValues` class attribute to be
    +   defined. `optionValues` can either be a list of name-value pairs, to be
    +   rendered as options, or a list of object hashes which consist of a key *name*
    +   which is the option group name, and a key *values* which is a list of
    +   name-value pairs to be rendered as options under that option group.
    + 
    +   In addition, `optionValues` can also be a parameter-less function that
    +   returns one of the above. If the options are static, it is recommended the
    +   returned values to be memoized. `_.memoize()` is a good function to help with
    +   that.
    + 
    +   During display mode, the default formatter will normalize the raw model value
    +   to an array of values whether the raw model value is a scalar or an
    +   array. Each value is compared with the `optionValues` values using
    +   Ecmascript's implicit type conversion rules. When exiting edit mode, no type
    +   conversion is performed when saving into the model. This behavior is not
    +   always desirable when the value type is anything other than string. To
    +   control type conversion on the client-side, you should subclass SelectCell to
    +   provide a custom formatter or provide the formatter to your column
    +   definition.
    + 
    +   See:
    +     [$.fn.val()](http://api.jquery.com/val/)
    + 
    +   @class Backgrid.SelectCell
    +   @extends Backgrid.Cell
    +*/
    +var SelectCell = Backgrid.SelectCell = Cell.extend({
    + 
    +  /** @property */
    +  className: "select-cell",
    + 
    +  /** @property */
    +  editor: SelectCellEditor,
    + 
    +  /** @property */
    +  multiple: false,
    + 
    +  /** @property */
    +  formatter: SelectFormatter,
    + 
    +  /**
    +     @property {Array.<Array>|Array.<{name: string, values: Array.<Array>}>} optionValues
    +  */
    +  optionValues: undefined,
    + 
    +  /** @property */
    +  delimiter: ', ',
    + 
    +  /**
    +     Initializer.
    + 
    +     @param {Object} options
    +     @param {Backbone.Model} options.model
    +     @param {Backgrid.Column} options.column
    + 
    +     @throws {TypeError} If `optionsValues` is undefined.
    +  */
    +  initialize: function (options) {
    +    SelectCell.__super__.initialize.apply(this, arguments);
    +    this.listenTo(this.model, "backgrid:edit", function (model, column, cell, editor) {
    +      Eif (column.get("name") == this.column.get("name")) {
    +        editor.setOptionValues(this.optionValues);
    +        editor.setMultiple(this.multiple);
    +      }
    +    });
    +  },
    + 
    +  /**
    +     Renders the label using the raw value as key to look up from `optionValues`.
    + 
    +     @throws {TypeError} If `optionValues` is malformed.
    +  */
    +  render: function () {
    +    this.$el.empty();
    + 
    +    var optionValues = _.result(this, "optionValues");
    +    var model = this.model;
    +    var rawData = this.formatter.fromRaw(model.get(this.column.get("name")), model);
    + 
    +    var selectedText = [];
    + 
    +    try {
    +      Iif (!_.isArray(optionValues) || _.isEmpty(optionValues)) throw new TypeError;
    + 
    +      for (var k = 0; k < rawData.length; k++) {
    +        var rawDatum = rawData[k];
    + 
    +        for (var i = 0; i < optionValues.length; i++) {
    +          var optionValue = optionValues[i];
    + 
    +          if (_.isArray(optionValue)) {
    +            var optionText  = optionValue[0];
    +            var optionValue = optionValue[1];
    + 
    +            if (optionValue == rawDatum) selectedText.push(optionText);
    +          }
    +          else Eif (_.isObject(optionValue)) {
    +            var optionGroupValues = optionValue.values;
    + 
    +            for (var j = 0; j < optionGroupValues.length; j++) {
    +              var optionGroupValue = optionGroupValues[j];
    +              if (optionGroupValue[1] == rawDatum) {
    +                selectedText.push(optionGroupValue[0]);
    +              }
    +            }
    +          }
    +          else {
    +            throw new TypeError;
    +          }
    +        }
    +      }
    + 
    +      this.$el.append(selectedText.join(this.delimiter));
    +    }
    +    catch (ex) {
    +      if (ex instanceof TypeError) {
    +        throw new TypeError("'optionValues' must be of type {Array.<Array>|Array.<{name: string, values: Array.<Array>}>}");
    +      }
    +      throw ex;
    +    }
    + 
    +    this.delegateEvents();
    + 
    +    return this;
    +  }
    + 
    +});
    + 
    +/*
    +  backgrid
    +  http://github.com/wyuenho/backgrid
    + 
    +  Copyright (c) 2013 Jimmy Yuen Ho Wong and contributors
    +  Licensed under the MIT license.
    +*/
    + 
    +/**
    +   A Column is a placeholder for column metadata.
    + 
    +   You usually don't need to create an instance of this class yourself as a
    +   collection of column instances will be created for you from a list of column
    +   attributes in the Backgrid.js view class constructors.
    + 
    +   @class Backgrid.Column
    +   @extends Backbone.Model
    +*/
    +var Column = Backgrid.Column = Backbone.Model.extend({
    + 
    +  /**
    +     @cfg {Object} defaults Column defaults. To override any of these default
    +     values, you can either change the prototype directly to override
    +     Column.defaults globally or extend Column and supply the custom class to
    +     Backgrid.Grid:
    + 
    +         // Override Column defaults globally
    +         Column.prototype.defaults.sortable = false;
    + 
    +         // Override Column defaults locally
    +         var MyColumn = Column.extend({
    +           defaults: _.defaults({
    +             editable: false
    +           }, Column.prototype.defaults)
    +         });
    + 
    +         var grid = new Backgrid.Grid(columns: new Columns([{...}, {...}], {
    +           model: MyColumn
    +         }));
    + 
    +     @cfg {string} [defaults.name] The default name of the model attribute.
    + 
    +     @cfg {string} [defaults.label] The default label to show in the header.
    + 
    +     @cfg {string|Backgrid.Cell} [defaults.cell] The default cell type. If this
    +     is a string, the capitalized form will be used to look up a cell class in
    +     Backbone, i.e.: string => StringCell. If a Cell subclass is supplied, it is
    +     initialized with a hash of parameters. If a Cell instance is supplied, it
    +     is used directly.
    + 
    +     @cfg {string|Backgrid.HeaderCell} [defaults.headerCell] The default header
    +     cell type.
    + 
    +     @cfg {boolean|string|function(): boolean} [defaults.sortable=true] Whether
    +     this column is sortable. If the value is a string, a method will the same
    +     name will be looked up from the column instance to determine whether the
    +     column should be sortable. The method's signature must be `function
    +     (Backgrid.Column, Backbone.Model): boolean`.
    + 
    +     @cfg {boolean|string|function(): boolean} [defaults.editable=true] Whether
    +     this column is editable. If the value is a string, a method will the same
    +     name will be looked up from the column instance to determine whether the
    +     column should be editable. The method's signature must be `function
    +     (Backgrid.Column, Backbone.Model): boolean`.
    + 
    +     @cfg {boolean|string|function(): boolean} [defaults.renderable=true]
    +     Whether this column is renderable. If the value is a string, a method will
    +     the same name will be looked up from the column instance to determine
    +     whether the column should be renderable. The method's signature must be
    +     `function (Backrid.Column, Backbone.Model): boolean`.
    + 
    +     @cfg {Backgrid.CellFormatter | Object | string} [defaults.formatter] The
    +     formatter to use to convert between raw model values and user input.
    + 
    +     @cfg {"toggle"|"cycle"} [defaults.sortType="cycle"] Whether sorting will
    +     toggle between ascending and descending order, or cycle between insertion
    +     order, ascending and descending order.
    + 
    +     @cfg {(function(Backbone.Model, string): *) | string} [defaults.sortValue]
    +     The function to use to extract a value from the model for comparison during
    +     sorting. If this value is a string, a method with the same name will be
    +     looked up from the column instance.
    + 
    +     @cfg {"ascending"|"descending"|null} [defaults.direction=null] The initial
    +     sorting direction for this column. The default is ordered by
    +     Backbone.Model.cid, which usually means the collection is ordered by
    +     insertion order.
    +  */
    +  defaults: {
    +    name: undefined,
    +    label: undefined,
    +    sortable: true,
    +    editable: true,
    +    renderable: true,
    +    formatter: undefined,
    +    sortType: "cycle",
    +    sortValue: undefined,
    +    direction: null,
    +    cell: undefined,
    +    headerCell: undefined
    +  },
    + 
    +  /**
    +     Initializes this Column instance.
    + 
    +     @param {Object} attrs
    + 
    +     @param {string} attrs.name The model attribute this column is responsible
    +     for.
    + 
    +     @param {string|Backgrid.Cell} attrs.cell The cell type to use to render
    +     this column.
    + 
    +     @param {string} [attrs.label]
    + 
    +     @param {string|Backgrid.HeaderCell} [attrs.headerCell]
    + 
    +     @param {boolean|string|function(): boolean} [attrs.sortable=true]
    + 
    +     @param {boolean|string|function(): boolean} [attrs.editable=true]
    + 
    +     @param {boolean|string|function(): boolean} [attrs.renderable=true]
    + 
    +     @param {Backgrid.CellFormatter | Object | string} [attrs.formatter]
    + 
    +     @param {"toggle"|"cycle"}  [attrs.sortType="cycle"]
    + 
    +     @param {(function(Backbone.Model, string): *) | string} [attrs.sortValue]
    + 
    +     @throws {TypeError} If attrs.cell or attrs.options are not supplied.
    + 
    +     @throws {ReferenceError} If formatter is a string but a formatter class of
    +     said name cannot be found in the Backgrid module.
    + 
    +     See:
    + 
    +     - Backgrid.Column.defaults
    +     - Backgrid.Cell
    +     - Backgrid.CellFormatter
    +   */
    +  initialize: function () {
    +    Eif (!this.has("label")) {
    +      this.set({ label: this.get("name") }, { silent: true });
    +    }
    + 
    +    var headerCell = Backgrid.resolveNameToClass(this.get("headerCell"), "HeaderCell");
    + 
    +    var cell = Backgrid.resolveNameToClass(this.get("cell"), "Cell");
    + 
    +    this.set({cell: cell, headerCell: headerCell}, { silent: true });
    +  },
    + 
    +  /**
    +     Returns an appropriate value extraction function from a model for sorting.
    + 
    +     If the column model contains an attribute `sortValue`, if it is a string, a
    +     method from the column instance identifified by the `sortValue` string is
    +     returned. If it is a function, it it returned as is. If `sortValue` isn't
    +     found from the column model's attributes, a default value extraction
    +     function is returned which will compare according to the natural order of
    +     the value's type.
    + 
    +     @return {function(Backbone.Model, string): *}
    +   */
    +  sortValue: function () {
    +    var sortValue = this.get("sortValue");
    +    if (_.isString(sortValue)) return this[sortValue];
    +    else if (_.isFunction(sortValue)) return sortValue;
    + 
    +    return function (model, colName) {
    +      return model.get(colName);
    +    };
    +  }
    + 
    +  /**
    +     @member Backgrid.Column
    +     @protected
    +     @method sortable
    +     @return {function(Backgrid.Column, Backbone.Model): boolean | boolean}
    +  */
    + 
    +  /**
    +     @member Backgrid.Column
    +     @protected
    +     @method editable
    +     @return {function(Backgrid.Column, Backbone.Model): boolean | boolean}
    +  */
    + 
    +  /**
    +     @member Backgrid.Column
    +     @protected
    +     @method renderable
    +     @return {function(Backgrid.Column, Backbone.Model): boolean | boolean}
    +  */
    +});
    + 
    +_.each(["sortable", "renderable", "editable"], function (key) {
    +  Column.prototype[key] = function () {
    +    var value = this.get(key);
    +    if (_.isString(value)) return this[value];
    +    else if (_.isFunction(value)) return value;
    + 
    +    return !!value;
    +  };
    +});
    + 
    +/**
    +   A Backbone collection of Column instances.
    + 
    +   @class Backgrid.Columns
    +   @extends Backbone.Collection
    + */
    +var Columns = Backgrid.Columns = Backbone.Collection.extend({
    + 
    +  /**
    +     @property {Backgrid.Column} model
    +   */
    +  model: Column
    +});
    + 
    +/*
    +  backgrid
    +  http://github.com/wyuenho/backgrid
    + 
    +  Copyright (c) 2013 Jimmy Yuen Ho Wong and contributors
    +  Licensed under the MIT license.
    +*/
    + 
    +/**
    +   Row is a simple container view that takes a model instance and a list of
    +   column metadata describing how each of the model's attribute is to be
    +   rendered, and apply the appropriate cell to each attribute.
    + 
    +   @class Backgrid.Row
    +   @extends Backbone.View
    +*/
    +var Row = Backgrid.Row = Backbone.View.extend({
    + 
    +  /** @property */
    +  tagName: "tr",
    + 
    +  /**
    +     Initializes a row view instance.
    + 
    +     @param {Object} options
    +     @param {Backbone.Collection.<Backgrid.Column>|Array.<Backgrid.Column>|Array.<Object>} options.columns Column metadata.
    +     @param {Backbone.Model} options.model The model instance to render.
    + 
    +     @throws {TypeError} If options.columns or options.model is undefined.
    +  */
    +  initialize: function (options) {
    + 
    +    var columns = this.columns = options.columns;
    +    if (!(columns instanceof Backbone.Collection)) {
    +      columns = this.columns = new Columns(columns);
    +    }
    + 
    +    var cells = this.cells = [];
    +    for (var i = 0; i < columns.length; i++) {
    +      cells.push(this.makeCell(columns.at(i), options));
    +    }
    + 
    +    this.listenTo(columns, "add", function (column, columns) {
    +      var i = columns.indexOf(column);
    +      var cell = this.makeCell(column, options);
    +      cells.splice(i, 0, cell);
    + 
    +      var $el = this.$el;
    +      Iif (i === 0) {
    +        $el.prepend(cell.render().$el);
    +      }
    +      else Eif (i === columns.length - 1) {
    +        $el.append(cell.render().$el);
    +      }
    +      else {
    +        $el.children().eq(i).before(cell.render().$el);
    +      }
    +    });
    + 
    +    this.listenTo(columns, "remove", function (column, columns, opts) {
    +      cells[opts.index].remove();
    +      cells.splice(opts.index, 1);
    +    });
    +  },
    + 
    +  /**
    +     Factory method for making a cell. Used by #initialize internally. Override
    +     this to provide an appropriate cell instance for a custom Row subclass.
    + 
    +     @protected
    + 
    +     @param {Backgrid.Column} column
    +     @param {Object} options The options passed to #initialize.
    + 
    +     @return {Backgrid.Cell}
    +  */
    +  makeCell: function (column) {
    +    return new (column.get("cell"))({
    +      column: column,
    +      model: this.model
    +    });
    +  },
    + 
    +  /**
    +     Renders a row of cells for this row's model.
    +  */
    +  render: function () {
    +    this.$el.empty();
    + 
    +    var fragment = document.createDocumentFragment();
    +    for (var i = 0; i < this.cells.length; i++) {
    +      fragment.appendChild(this.cells[i].render().el);
    +    }
    + 
    +    this.el.appendChild(fragment);
    + 
    +    this.delegateEvents();
    + 
    +    return this;
    +  },
    + 
    +  /**
    +     Clean up this row and its cells.
    + 
    +     @chainable
    +  */
    +  remove: function () {
    +    for (var i = 0; i < this.cells.length; i++) {
    +      var cell = this.cells[i];
    +      cell.remove.apply(cell, arguments);
    +    }
    +    return Backbone.View.prototype.remove.apply(this, arguments);
    +  }
    + 
    +});
    + 
    +/**
    +   EmptyRow is a simple container view that takes a list of column and render a
    +   row with a single column.
    + 
    +   @class Backgrid.EmptyRow
    +   @extends Backbone.View
    +*/
    +var EmptyRow = Backgrid.EmptyRow = Backbone.View.extend({
    + 
    +  /** @property */
    +  tagName: "tr",
    + 
    +  /** @property {string|function(): string} */
    +  emptyText: null,
    + 
    +  /**
    +     Initializer.
    + 
    +     @param {Object} options
    +     @param {string|function(): string} options.emptyText
    +     @param {Backbone.Collection.<Backgrid.Column>|Array.<Backgrid.Column>|Array.<Object>} options.columns Column metadata.
    +   */
    +  initialize: function (options) {
    +    this.emptyText = options.emptyText;
    +    this.columns =  options.columns;
    +  },
    + 
    +  /**
    +     Renders an empty row.
    +  */
    +  render: function () {
    +    this.$el.empty();
    + 
    +    var td = document.createElement("td");
    +    td.setAttribute("colspan", this.columns.length);
    +    td.appendChild(document.createTextNode(_.result(this, "emptyText")));
    + 
    +    this.el.className = "empty";
    +    this.el.appendChild(td);
    + 
    +    return this;
    +  }
    +});
    + 
    +/*
    +  backgrid
    +  http://github.com/wyuenho/backgrid
    + 
    +  Copyright (c) 2013 Jimmy Yuen Ho Wong and contributors
    +  Licensed under the MIT license.
    +*/
    + 
    +/**
    +   HeaderCell is a special cell class that renders a column header cell. If the
    +   column is sortable, a sorter is also rendered and will trigger a table
    +   refresh after sorting.
    + 
    +   @class Backgrid.HeaderCell
    +   @extends Backbone.View
    + */
    +var HeaderCell = Backgrid.HeaderCell = Backbone.View.extend({
    + 
    +  /** @property */
    +  tagName: "th",
    + 
    +  /** @property */
    +  events: {
    +    "click a": "onClick"
    +  },
    + 
    +  /**
    +     Initializer.
    + 
    +     @param {Object} options
    +     @param {Backgrid.Column|Object} options.column
    + 
    +     @throws {TypeError} If options.column or options.collection is undefined.
    +   */
    +  initialize: function (options) {
    +    this.column = options.column;
    +    if (!(this.column instanceof Column)) {
    +      this.column = new Column(this.column);
    +    }
    + 
    +    var column = this.column, collection = this.collection, $el = this.$el;
    + 
    +    this.listenTo(column, "change:editable change:sortable change:renderable",
    +                  function (column) {
    +                    var changed = column.changedAttributes();
    +                    for (var key in changed) {
    +                      Eif (changed.hasOwnProperty(key)) {
    +                        $el.toggleClass(key, changed[key]);
    +                      }
    +                    }
    +                  });
    +    this.listenTo(column, "change:direction", this.setCellDirection);
    +    this.listenTo(column, "change:name change:label", this.render);
    + 
    +    if (Backgrid.callByNeed(column.editable(), column, collection)) $el.addClass("editable");
    +    if (Backgrid.callByNeed(column.sortable(), column, collection)) $el.addClass("sortable");
    +    if (Backgrid.callByNeed(column.renderable(), column, collection)) $el.addClass("renderable");
    + 
    +    this.listenTo(collection.fullCollection || collection, "sort", this.removeCellDirection);
    +  },
    + 
    +  /**
    +     Event handler for the collection's `sort` event. Removes all the CSS
    +     direction classes.
    +   */
    +  removeCellDirection: function () {
    +    this.$el.removeClass("ascending").removeClass("descending");
    +    this.column.set("direction", null);
    +  },
    + 
    +  /**
    +     Event handler for the column's `change:direction` event. If this
    +     HeaderCell's column is being sorted on, it applies the direction given as a
    +     CSS class to the header cell. Removes all the CSS direction classes
    +     otherwise.
    +   */
    +  setCellDirection: function (column, direction) {
    +    this.$el.removeClass("ascending").removeClass("descending");
    +    Eif (column.cid == this.column.cid) this.$el.addClass(direction);
    +  },
    + 
    +  /**
    +     Event handler for the `click` event on the cell's anchor. If the column is
    +     sortable, clicking on the anchor will cycle through 3 sorting orderings -
    +     `ascending`, `descending`, and default.
    +   */
    +  onClick: function (e) {
    +    e.preventDefault();
    + 
    +    var column = this.column;
    +    var collection = this.collection;
    +    var event = "backgrid:sort";
    + 
    +    function cycleSort(header, col) {
    +      if (column.get("direction") === "ascending") collection.trigger(event, col, "descending");
    +      else if (column.get("direction") === "descending") collection.trigger(event, col, null);
    +      else collection.trigger(event, col, "ascending");
    +    }
    + 
    +    function toggleSort(header, col) {
    +      if (column.get("direction") === "ascending") collection.trigger(event, col, "descending");
    +      else collection.trigger(event, col, "ascending");
    +    }
    + 
    +    var sortable = Backgrid.callByNeed(column.sortable(), column, this.collection);
    +    Eif (sortable) {
    +      var sortType = column.get("sortType");
    +      if (sortType === "toggle") toggleSort(this, column);
    +      else cycleSort(this, column);
    +    }
    +  },
    + 
    +  /**
    +     Renders a header cell with a sorter, a label, and a class name for this
    +     column.
    +   */
    +  render: function () {
    +    this.$el.empty();
    +    var column = this.column;
    +    var sortable = Backgrid.callByNeed(column.sortable(), column, this.collection);
    +    var label;
    +    if(sortable){
    +      label = $("<a>").text(column.get("label")).append("<b class='sort-caret'></b>");
    +    } else {
    +      label = document.createTextNode(column.get("label"));
    +    }
    + 
    +    this.$el.append(label);
    +    this.$el.addClass(column.get("name"));
    +    this.$el.addClass(column.get("direction"));
    +    this.delegateEvents();
    +    return this;
    +  }
    + 
    +});
    + 
    +/**
    +   HeaderRow is a controller for a row of header cells.
    + 
    +   @class Backgrid.HeaderRow
    +   @extends Backgrid.Row
    + */
    +var HeaderRow = Backgrid.HeaderRow = Backgrid.Row.extend({
    + 
    +  requiredOptions: ["columns", "collection"],
    + 
    +  /**
    +     Initializer.
    + 
    +     @param {Object} options
    +     @param {Backbone.Collection.<Backgrid.Column>|Array.<Backgrid.Column>|Array.<Object>} options.columns
    +     @param {Backgrid.HeaderCell} [options.headerCell] Customized default
    +     HeaderCell for all the columns. Supply a HeaderCell class or instance to a
    +     the `headerCell` key in a column definition for column-specific header
    +     rendering.
    + 
    +     @throws {TypeError} If options.columns or options.collection is undefined.
    +   */
    +  initialize: function () {
    +    Backgrid.Row.prototype.initialize.apply(this, arguments);
    +  },
    + 
    +  makeCell: function (column, options) {
    +    var headerCell = column.get("headerCell") || options.headerCell || HeaderCell;
    +    headerCell = new headerCell({
    +      column: column,
    +      collection: this.collection
    +    });
    +    return headerCell;
    +  }
    + 
    +});
    + 
    +/**
    +   Header is a special structural view class that renders a table head with a
    +   single row of header cells.
    + 
    +   @class Backgrid.Header
    +   @extends Backbone.View
    + */
    +var Header = Backgrid.Header = Backbone.View.extend({
    + 
    +  /** @property */
    +  tagName: "thead",
    + 
    +  /**
    +     Initializer. Initializes this table head view to contain a single header
    +     row view.
    + 
    +     @param {Object} options
    +     @param {Backbone.Collection.<Backgrid.Column>|Array.<Backgrid.Column>|Array.<Object>} options.columns Column metadata.
    +     @param {Backbone.Model} options.model The model instance to render.
    + 
    +     @throws {TypeError} If options.columns or options.model is undefined.
    +   */
    +  initialize: function (options) {
    +    this.columns = options.columns;
    +    if (!(this.columns instanceof Backbone.Collection)) {
    +      this.columns = new Columns(this.columns);
    +    }
    + 
    +    this.row = new Backgrid.HeaderRow({
    +      columns: this.columns,
    +      collection: this.collection
    +    });
    +  },
    + 
    +  /**
    +     Renders this table head with a single row of header cells.
    +   */
    +  render: function () {
    +    this.$el.append(this.row.render().$el);
    +    this.delegateEvents();
    +    return this;
    +  },
    + 
    +  /**
    +     Clean up this header and its row.
    + 
    +     @chainable
    +   */
    +  remove: function () {
    +    this.row.remove.apply(this.row, arguments);
    +    return Backbone.View.prototype.remove.apply(this, arguments);
    +  }
    + 
    +});
    + 
    +/*
    +  backgrid
    +  http://github.com/wyuenho/backgrid
    + 
    +  Copyright (c) 2013 Jimmy Yuen Ho Wong and contributors
    +  Licensed under the MIT license.
    +*/
    + 
    +/**
    +   Body is the table body which contains the rows inside a table. Body is
    +   responsible for refreshing the rows after sorting, insertion and removal.
    + 
    +   @class Backgrid.Body
    +   @extends Backbone.View
    +*/
    +var Body = Backgrid.Body = Backbone.View.extend({
    + 
    +  /** @property */
    +  tagName: "tbody",
    + 
    +  /**
    +     Initializer.
    + 
    +     @param {Object} options
    +     @param {Backbone.Collection} options.collection
    +     @param {Backbone.Collection.<Backgrid.Column>|Array.<Backgrid.Column>|Array.<Object>} options.columns
    +     Column metadata.
    +     @param {Backgrid.Row} [options.row=Backgrid.Row] The Row class to use.
    +     @param {string|function(): string} [options.emptyText] The text to display in the empty row.
    + 
    +     @throws {TypeError} If options.columns or options.collection is undefined.
    + 
    +     See Backgrid.Row.
    +  */
    +  initialize: function (options) {
    + 
    +    this.columns = options.columns;
    +    if (!(this.columns instanceof Backbone.Collection)) {
    +      this.columns = new Columns(this.columns);
    +    }
    + 
    +    this.row = options.row || Row;
    +    this.rows = this.collection.map(function (model) {
    +      var row = new this.row({
    +        columns: this.columns,
    +        model: model
    +      });
    + 
    +      return row;
    +    }, this);
    + 
    +    this.emptyText = options.emptyText;
    +    this._unshiftEmptyRowMayBe();
    + 
    +    var collection = this.collection;
    +    this.listenTo(collection, "add", this.insertRow);
    +    this.listenTo(collection, "remove", this.removeRow);
    +    this.listenTo(collection, "sort", this.refresh);
    +    this.listenTo(collection, "reset", this.refresh);
    +    this.listenTo(collection, "backgrid:sort", this.sort);
    +    this.listenTo(collection, "backgrid:edited", this.moveToNextCell);
    +  },
    + 
    +  _unshiftEmptyRowMayBe: function () {
    +    if (this.rows.length === 0 && this.emptyText != null) {
    +      this.rows.unshift(new EmptyRow({
    +        emptyText: this.emptyText,
    +        columns: this.columns
    +      }));
    +    }
    +  },
    + 
    +  /**
    +     This method can be called either directly or as a callback to a
    +     [Backbone.Collecton#add](http://backbonejs.org/#Collection-add) event.
    + 
    +     When called directly, it accepts a model or an array of models and an
    +     option hash just like
    +     [Backbone.Collection#add](http://backbonejs.org/#Collection-add) and
    +     delegates to it. Once the model is added, a new row is inserted into the
    +     body and automatically rendered.
    + 
    +     When called as a callback of an `add` event, splices a new row into the
    +     body and renders it.
    + 
    +     @param {Backbone.Model} model The model to render as a row.
    +     @param {Backbone.Collection} collection When called directly, this
    +     parameter is actually the options to
    +     [Backbone.Collection#add](http://backbonejs.org/#Collection-add).
    +     @param {Object} options When called directly, this must be null.
    + 
    +     See:
    + 
    +     - [Backbone.Collection#add](http://backbonejs.org/#Collection-add)
    +  */
    +  insertRow: function (model, collection, options) {
    + 
    +    if (this.rows[0] instanceof EmptyRow) this.rows.pop().remove();
    + 
    +    // insertRow() is called directly
    +    if (!(collection instanceof Backbone.Collection) && !options) {
    +      this.collection.add(model, (options = collection));
    +      return;
    +    }
    + 
    +    var row = new this.row({
    +      columns: this.columns,
    +      model: model
    +    });
    + 
    +    var index = collection.indexOf(model);
    +    this.rows.splice(index, 0, row);
    + 
    +    var $el = this.$el;
    +    var $children = $el.children();
    +    var $rowEl = row.render().$el;
    + 
    +    if (index >= $children.length) {
    +      $el.append($rowEl);
    +    }
    +    else {
    +      $children.eq(index).before($rowEl);
    +    }
    + 
    +    return this;
    +  },
    + 
    +  /**
    +     The method can be called either directly or as a callback to a
    +     [Backbone.Collection#remove](http://backbonejs.org/#Collection-remove)
    +     event.
    + 
    +     When called directly, it accepts a model or an array of models and an
    +     option hash just like
    +     [Backbone.Collection#remove](http://backbonejs.org/#Collection-remove) and
    +     delegates to it. Once the model is removed, a corresponding row is removed
    +     from the body.
    + 
    +     When called as a callback of a `remove` event, splices into the rows and
    +     removes the row responsible for rendering the model.
    + 
    +     @param {Backbone.Model} model The model to remove from the body.
    +     @param {Backbone.Collection} collection When called directly, this
    +     parameter is actually the options to
    +     [Backbone.Collection#remove](http://backbonejs.org/#Collection-remove).
    +     @param {Object} options When called directly, this must be null.
    + 
    +     See:
    + 
    +     - [Backbone.Collection#remove](http://backbonejs.org/#Collection-remove)
    +  */
    +  removeRow: function (model, collection, options) {
    + 
    +    // removeRow() is called directly
    +    if (!options) {
    +      this.collection.remove(model, (options = collection));
    +      this._unshiftEmptyRowMayBe();
    +      return;
    +    }
    + 
    +    Eif (_.isUndefined(options.render) || options.render) {
    +      this.rows[options.index].remove();
    +    }
    + 
    +    this.rows.splice(options.index, 1);
    +    this._unshiftEmptyRowMayBe();
    + 
    +    return this;
    +  },
    + 
    +  /**
    +     Reinitialize all the rows inside the body and re-render them. Triggers a
    +     Backbone `backgrid:refresh` event from the collection along with the body
    +     instance as its sole parameter when done.
    +  */
    +  refresh: function () {
    +    for (var i = 0; i < this.rows.length; i++) {
    +      this.rows[i].remove();
    +    }
    + 
    +    this.rows = this.collection.map(function (model) {
    +      var row = new this.row({
    +        columns: this.columns,
    +        model: model
    +      });
    + 
    +      return row;
    +    }, this);
    +    this._unshiftEmptyRowMayBe();
    + 
    +    this.render();
    + 
    +    this.collection.trigger("backgrid:refresh", this);
    + 
    +    return this;
    +  },
    + 
    +  /**
    +     Renders all the rows inside this body. If the collection is empty and
    +     `options.emptyText` is defined and not null in the constructor, an empty
    +     row is rendered, otherwise no row is rendered.
    +  */
    +  render: function () {
    +    this.$el.empty();
    + 
    +    var fragment = document.createDocumentFragment();
    +    for (var i = 0; i < this.rows.length; i++) {
    +      var row = this.rows[i];
    +      fragment.appendChild(row.render().el);
    +    }
    + 
    +    this.el.appendChild(fragment);
    + 
    +    this.delegateEvents();
    + 
    +    return this;
    +  },
    + 
    +  /**
    +     Clean up this body and it's rows.
    + 
    +     @chainable
    +  */
    +  remove: function () {
    +    for (var i = 0; i < this.rows.length; i++) {
    +      var row = this.rows[i];
    +      row.remove.apply(row, arguments);
    +    }
    +    return Backbone.View.prototype.remove.apply(this, arguments);
    +  },
    + 
    +  /**
    +     If the underlying collection is a Backbone.PageableCollection in
    +     server-mode or infinite-mode, a page of models is fetched after sorting is
    +     done on the server.
    + 
    +     If the underlying collection is a Backbone.PageableCollection in
    +     client-mode, or any
    +     [Backbone.Collection](http://backbonejs.org/#Collection) instance, sorting
    +     is done on the client side. If the collection is an instance of a
    +     Backbone.PageableCollection, sorting will be done globally on all the pages
    +     and the current page will then be returned.
    + 
    +     Triggers a Backbone `backgrid:sorted` event from the collection when done
    +     with the column, direction and a reference to the collection.
    + 
    +     @param {Backgrid.Column} column
    +     @param {null|"ascending"|"descending"} direction
    + 
    +     See [Backbone.Collection#comparator](http://backbonejs.org/#Collection-comparator)
    +  */
    +  sort: function (column, direction) {
    + 
    +    if (!_.contains(["ascending", "descending", null], direction)) {
    +      throw new RangeError('direction must be one of "ascending", "descending" or `null`');
    +    }
    + 
    +    if (_.isString(column)) column = this.columns.findWhere({name: column});
    + 
    +    var collection = this.collection;
    + 
    +    var order;
    +    if (direction === "ascending") order = -1;
    +    else if (direction === "descending") order = 1;
    +    else order = null;
    + 
    +    var comparator = this.makeComparator(column.get("name"), order,
    +                                         order ?
    +                                         column.sortValue() :
    +                                         function (model) {
    +                                           return model.cid.replace('c', '') * 1;
    +                                         });
    + 
    +    if (Backbone.PageableCollection &&
    +        collection instanceof Backbone.PageableCollection) {
    + 
    +      collection.setSorting(order && column.get("name"), order,
    +                            {sortValue: column.sortValue()});
    + 
    +      if (collection.fullCollection) {
    +        // If order is null, pageable will remove the comparator on both sides,
    +        // in this case the default insertion order comparator needs to be
    +        // attached to get back to the order before sorting.
    +        if (collection.fullCollection.comparator == null) {
    +          collection.fullCollection.comparator = comparator;
    +        }
    +        collection.fullCollection.sort();
    +        collection.trigger("backgrid:sorted", column, direction, collection);
    +      }
    +      else collection.fetch({reset: true, success: function () {
    +        collection.trigger("backgrid:sorted", column, direction, collection);
    +      }});
    +    }
    +    else {
    +      collection.comparator = comparator;
    +      collection.sort();
    +      collection.trigger("backgrid:sorted", column, direction, collection);
    +    }
    + 
    +    column.set("direction", direction);
    + 
    +    return this;
    +  },
    + 
    +  makeComparator: function (attr, order, func) {
    + 
    +    return function (left, right) {
    +      // extract the values from the models
    +      var l = func(left, attr), r = func(right, attr), t;
    + 
    +      // if descending order, swap left and right
    +      if (order === 1) t = l, l = r, r = t;
    + 
    +      // compare as usual
    +      Iif (l === r) return 0;
    +      else if (l < r) return -1;
    +      return 1;
    +    };
    +  },
    + 
    +  /**
    +     Moves focus to the next renderable and editable cell and return the
    +     currently editing cell to display mode.
    + 
    +     Triggers a `backgrid:next` event on the model with the indices of the row
    +     and column the user *intended* to move to, and whether the intended move
    +     was going to go out of bounds. Note that *out of bound* always means an
    +     attempt to go past the end of the last row.
    + 
    +     @param {Backbone.Model} model The originating model
    +     @param {Backgrid.Column} column The originating model column
    +     @param {Backgrid.Command} command The Command object constructed from a DOM
    +     event
    +  */
    +  moveToNextCell: function (model, column, command) {
    +    var i = this.collection.indexOf(model);
    +    var j = this.columns.indexOf(column);
    +    var cell, renderable, editable, m, n;
    + 
    +    this.rows[i].cells[j].exitEditMode();
    + 
    +    if (command.moveUp() || command.moveDown() || command.moveLeft() ||
    +        command.moveRight() || command.save()) {
    +      var l = this.columns.length;
    +      var maxOffset = l * this.collection.length;
    + 
    +      if (command.moveUp() || command.moveDown()) {
    +        m = i + (command.moveUp() ? -1 : 1);
    +        var row = this.rows[m];
    +        Eif (row) {
    +          cell = row.cells[j];
    +          Eif (Backgrid.callByNeed(cell.column.editable(), cell.column, model)) {
    +            cell.enterEditMode();
    +            model.trigger("backgrid:next", m, j, false);
    +          }
    +        }
    +        else model.trigger("backgrid:next", m, j, true);
    +      }
    +      else if (command.moveLeft() || command.moveRight()) {
    +        var right = command.moveRight();
    +        for (var offset = i * l + j + (right ? 1 : -1);
    +             offset >= 0 && offset < maxOffset;
    +             right ? offset++ : offset--) {
    +          m = ~~(offset / l);
    +          n = offset - m * l;
    +          cell = this.rows[m].cells[n];
    +          renderable = Backgrid.callByNeed(cell.column.renderable(), cell.column, cell.model);
    +          editable = Backgrid.callByNeed(cell.column.editable(), cell.column, model);
    +          if (renderable && editable) {
    +            cell.enterEditMode();
    +            model.trigger("backgrid:next", m, n, false);
    +            break;
    +          }
    +        }
    + 
    +        Iif (offset == maxOffset) {
    +          model.trigger("backgrid:next", ~~(offset / l), offset - m * l, true);
    +        }
    +      }
    +    }
    + 
    +    return this;
    +  }
    +});
    + 
    +/*
    +  backgrid
    +  http://github.com/wyuenho/backgrid
    + 
    +  Copyright (c) 2013 Jimmy Yuen Ho Wong and contributors
    +  Licensed under the MIT license.
    +*/
    + 
    +/**
    +   A Footer is a generic class that only defines a default tag `tfoot` and
    +   number of required parameters in the initializer.
    + 
    +   @abstract
    +   @class Backgrid.Footer
    +   @extends Backbone.View
    + */
    +var Footer = Backgrid.Footer = Backbone.View.extend({
    + 
    +  /** @property */
    +  tagName: "tfoot",
    + 
    +  /**
    +     Initializer.
    + 
    +     @param {Object} options
    +     @param {Backbone.Collection.<Backgrid.Column>|Array.<Backgrid.Column>|Array.<Object>} options.columns
    +     Column metadata.
    +     @param {Backbone.Collection} options.collection
    + 
    +     @throws {TypeError} If options.columns or options.collection is undefined.
    +  */
    +  initialize: function (options) {
    +    this.columns = options.columns;
    +    Iif (!(this.columns instanceof Backbone.Collection)) {
    +      this.columns = new Backgrid.Columns(this.columns);
    +    }
    +  }
    + 
    +});
    + 
    +/*
    +  backgrid
    +  http://github.com/wyuenho/backgrid
    + 
    +  Copyright (c) 2013 Jimmy Yuen Ho Wong and contributors
    +  Licensed under the MIT license.
    +*/
    + 
    +/**
    +   Grid represents a data grid that has a header, body and an optional footer.
    + 
    +   By default, a Grid treats each model in a collection as a row, and each
    +   attribute in a model as a column. To render a grid you must provide a list of
    +   column metadata and a collection to the Grid constructor. Just like any
    +   Backbone.View class, the grid is rendered as a DOM node fragment when you
    +   call render().
    + 
    +       var grid = Backgrid.Grid({
    +         columns: [{ name: "id", label: "ID", type: "string" },
    +          // ...
    +         ],
    +         collections: books
    +       });
    + 
    +       $("#table-container").append(grid.render().el);
    + 
    +   Optionally, if you want to customize the rendering of the grid's header and
    +   footer, you may choose to extend Backgrid.Header and Backgrid.Footer, and
    +   then supply that class or an instance of that class to the Grid constructor.
    +   See the documentation for Header and Footer for further details.
    + 
    +       var grid = Backgrid.Grid({
    +         columns: [{ name: "id", label: "ID", type: "string" }],
    +         collections: books,
    +         header: Backgrid.Header.extend({
    +              //...
    +         }),
    +         footer: Backgrid.Paginator
    +       });
    + 
    +   Finally, if you want to override how the rows are rendered in the table body,
    +   you can supply a Body subclass as the `body` attribute that uses a different
    +   Row class.
    + 
    +   @class Backgrid.Grid
    +   @extends Backbone.View
    + 
    +   See:
    + 
    +   - Backgrid.Column
    +   - Backgrid.Header
    +   - Backgrid.Body
    +   - Backgrid.Row
    +   - Backgrid.Footer
    +*/
    +var Grid = Backgrid.Grid = Backbone.View.extend({
    + 
    +  /** @property */
    +  tagName: "table",
    + 
    +  /** @property */
    +  className: "backgrid",
    + 
    +  /** @property */
    +  header: Header,
    + 
    +  /** @property */
    +  body: Body,
    + 
    +  /** @property */
    +  footer: null,
    + 
    +  /**
    +     Initializes a Grid instance.
    + 
    +     @param {Object} options
    +     @param {Backbone.Collection.<Backgrid.Columns>|Array.<Backgrid.Column>|Array.<Object>} options.columns Column metadata.
    +     @param {Backbone.Collection} options.collection The collection of tabular model data to display.
    +     @param {Backgrid.Header} [options.header=Backgrid.Header] An optional Header class to override the default.
    +     @param {Backgrid.Body} [options.body=Backgrid.Body] An optional Body class to override the default.
    +     @param {Backgrid.Row} [options.row=Backgrid.Row] An optional Row class to override the default.
    +     @param {Backgrid.Footer} [options.footer=Backgrid.Footer] An optional Footer class.
    +   */
    +  initialize: function (options) {
    +    // Convert the list of column objects here first so the subviews don't have
    +    // to.
    +    Eif (!(options.columns instanceof Backbone.Collection)) {
    +      options.columns = new Columns(options.columns);
    +    }
    +    this.columns = options.columns;
    + 
    +    var filteredOptions = _.omit(options, ["el", "id", "attributes",
    +                                           "className", "tagName", "events"]);
    + 
    +    // must construct body first so it listens to backgrid:sort first
    +    this.body = options.body || this.body;
    +    this.body = new this.body(filteredOptions);
    + 
    +    this.header = options.header || this.header;
    +    Eif (this.header) {
    +      this.header = new this.header(filteredOptions);
    +    }
    + 
    +    this.footer = options.footer || this.footer;
    +    Eif (this.footer) {
    +      this.footer = new this.footer(filteredOptions);
    +    }
    + 
    +    this.listenTo(this.columns, "reset", function () {
    +      Eif (this.header) {
    +        this.header = new (this.header.remove().constructor)(filteredOptions);
    +      }
    +      this.body = new (this.body.remove().constructor)(filteredOptions);
    +      Eif (this.footer) {
    +        this.footer = new (this.footer.remove().constructor)(filteredOptions);
    +      }
    +      this.render();
    +    });
    +  },
    + 
    +  /**
    +     Delegates to Backgrid.Body#insertRow.
    +   */
    +  insertRow: function () {
    +    this.body.insertRow.apply(this.body, arguments);
    +    return this;
    +  },
    + 
    +  /**
    +     Delegates to Backgrid.Body#removeRow.
    +   */
    +  removeRow: function () {
    +    this.body.removeRow.apply(this.body, arguments);
    +    return this;
    +  },
    + 
    +  /**
    +     Delegates to Backgrid.Columns#add for adding a column. Subviews can listen
    +     to the `add` event from their internal `columns` if rerendering needs to
    +     happen.
    + 
    +     @param {Object} [options] Options for `Backgrid.Columns#add`.
    +   */
    +  insertColumn: function () {
    +    this.columns.add.apply(this.columns, arguments);
    +    return this;
    +  },
    + 
    +  /**
    +     Delegates to Backgrid.Columns#remove for removing a column. Subviews can
    +     listen to the `remove` event from the internal `columns` if rerendering
    +     needs to happen.
    + 
    +     @param {Object} [options] Options for `Backgrid.Columns#remove`.
    +   */
    +  removeColumn: function () {
    +    this.columns.remove.apply(this.columns, arguments);
    +    return this;
    +  },
    + 
    +  /**
    +     Delegates to Backgrid.Body#sort.
    +   */
    +  sort: function () {
    +    this.body.sort.apply(this.body, arguments);
    +    return this;
    +  },
    + 
    +  /**
    +     Renders the grid's header, then footer, then finally the body. Triggers a
    +     Backbone `backgrid:rendered` event along with a reference to the grid when
    +     the it has successfully been rendered.
    +   */
    +  render: function () {
    +    this.$el.empty();
    + 
    +    Eif (this.header) {
    +      this.$el.append(this.header.render().$el);
    +    }
    + 
    +    Eif (this.footer) {
    +      this.$el.append(this.footer.render().$el);
    +    }
    + 
    +    this.$el.append(this.body.render().$el);
    + 
    +    this.delegateEvents();
    + 
    +    this.trigger("backgrid:rendered", this);
    + 
    +    return this;
    +  },
    + 
    +  /**
    +     Clean up this grid and its subviews.
    + 
    +     @chainable
    +   */
    +  remove: function () {
    +    this.header && this.header.remove.apply(this.header, arguments);
    +    this.body.remove.apply(this.body, arguments);
    +    this.footer && this.footer.remove.apply(this.footer, arguments);
    +    return Backbone.View.prototype.remove.apply(this, arguments);
    +  }
    + 
    +});
    +return Backgrid;
    +}));
    + +
    + + + + + + + + diff --git a/test/coverage/lib/index.html b/test/coverage/lib/index.html new file mode 100644 index 00000000..38188097 --- /dev/null +++ b/test/coverage/lib/index.html @@ -0,0 +1,350 @@ + + + + Code coverage report for lib/ + + + + + + + +
    +

    Code coverage report for lib/

    +

    + + Statements: 95.42% (688 / 721)      + + + Branches: 87.35% (366 / 419)      + + + Functions: 98.33% (118 / 120)      + + + Lines: 95.75% (653 / 682)      + + Ignored: none      +

    +
    All files » lib/
    +
    +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    FileStatementsBranchesFunctionsLines
    backgrid.js95.42%(688 / 721)87.35%(366 / 419)98.33%(118 / 120)95.75%(653 / 682)
    +
    +
    + + + + + + + + diff --git a/test/coverage/prettify.css b/test/coverage/prettify.css new file mode 100644 index 00000000..b317a7cd --- /dev/null +++ b/test/coverage/prettify.css @@ -0,0 +1 @@ +.pln{color:#000}@media screen{.str{color:#080}.kwd{color:#008}.com{color:#800}.typ{color:#606}.lit{color:#066}.pun,.opn,.clo{color:#660}.tag{color:#008}.atn{color:#606}.atv{color:#080}.dec,.var{color:#606}.fun{color:red}}@media print,projection{.str{color:#060}.kwd{color:#006;font-weight:bold}.com{color:#600;font-style:italic}.typ{color:#404;font-weight:bold}.lit{color:#044}.pun,.opn,.clo{color:#440}.tag{color:#006;font-weight:bold}.atn{color:#404}.atv{color:#060}}pre.prettyprint{padding:2px;border:1px solid #888}ol.linenums{margin-top:0;margin-bottom:0}li.L0,li.L1,li.L2,li.L3,li.L5,li.L6,li.L7,li.L8{list-style-type:none}li.L1,li.L3,li.L5,li.L7,li.L9{background:#eee} diff --git a/test/coverage/prettify.js b/test/coverage/prettify.js new file mode 100644 index 00000000..ef51e038 --- /dev/null +++ b/test/coverage/prettify.js @@ -0,0 +1 @@ +window.PR_SHOULD_USE_CONTINUATION=true;(function(){var h=["break,continue,do,else,for,if,return,while"];var u=[h,"auto,case,char,const,default,double,enum,extern,float,goto,int,long,register,short,signed,sizeof,static,struct,switch,typedef,union,unsigned,void,volatile"];var p=[u,"catch,class,delete,false,import,new,operator,private,protected,public,this,throw,true,try,typeof"];var l=[p,"alignof,align_union,asm,axiom,bool,concept,concept_map,const_cast,constexpr,decltype,dynamic_cast,explicit,export,friend,inline,late_check,mutable,namespace,nullptr,reinterpret_cast,static_assert,static_cast,template,typeid,typename,using,virtual,where"];var x=[p,"abstract,boolean,byte,extends,final,finally,implements,import,instanceof,null,native,package,strictfp,super,synchronized,throws,transient"];var R=[x,"as,base,by,checked,decimal,delegate,descending,dynamic,event,fixed,foreach,from,group,implicit,in,interface,internal,into,is,lock,object,out,override,orderby,params,partial,readonly,ref,sbyte,sealed,stackalloc,string,select,uint,ulong,unchecked,unsafe,ushort,var"];var r="all,and,by,catch,class,else,extends,false,finally,for,if,in,is,isnt,loop,new,no,not,null,of,off,on,or,return,super,then,true,try,unless,until,when,while,yes";var w=[p,"debugger,eval,export,function,get,null,set,undefined,var,with,Infinity,NaN"];var s="caller,delete,die,do,dump,elsif,eval,exit,foreach,for,goto,if,import,last,local,my,next,no,our,print,package,redo,require,sub,undef,unless,until,use,wantarray,while,BEGIN,END";var I=[h,"and,as,assert,class,def,del,elif,except,exec,finally,from,global,import,in,is,lambda,nonlocal,not,or,pass,print,raise,try,with,yield,False,True,None"];var f=[h,"alias,and,begin,case,class,def,defined,elsif,end,ensure,false,in,module,next,nil,not,or,redo,rescue,retry,self,super,then,true,undef,unless,until,when,yield,BEGIN,END"];var H=[h,"case,done,elif,esac,eval,fi,function,in,local,set,then,until"];var A=[l,R,w,s+I,f,H];var e=/^(DIR|FILE|vector|(de|priority_)?queue|list|stack|(const_)?iterator|(multi)?(set|map)|bitset|u?(int|float)\d*)/;var C="str";var z="kwd";var j="com";var O="typ";var G="lit";var L="pun";var F="pln";var m="tag";var E="dec";var J="src";var P="atn";var n="atv";var N="nocode";var M="(?:^^\\.?|[+-]|\\!|\\!=|\\!==|\\#|\\%|\\%=|&|&&|&&=|&=|\\(|\\*|\\*=|\\+=|\\,|\\-=|\\->|\\/|\\/=|:|::|\\;|<|<<|<<=|<=|=|==|===|>|>=|>>|>>=|>>>|>>>=|\\?|\\@|\\[|\\^|\\^=|\\^\\^|\\^\\^=|\\{|\\||\\|=|\\|\\||\\|\\|=|\\~|break|case|continue|delete|do|else|finally|instanceof|return|throw|try|typeof)\\s*";function k(Z){var ad=0;var S=false;var ac=false;for(var V=0,U=Z.length;V122)){if(!(al<65||ag>90)){af.push([Math.max(65,ag)|32,Math.min(al,90)|32])}if(!(al<97||ag>122)){af.push([Math.max(97,ag)&~32,Math.min(al,122)&~32])}}}}af.sort(function(av,au){return(av[0]-au[0])||(au[1]-av[1])});var ai=[];var ap=[NaN,NaN];for(var ar=0;arat[0]){if(at[1]+1>at[0]){an.push("-")}an.push(T(at[1]))}}an.push("]");return an.join("")}function W(al){var aj=al.source.match(new RegExp("(?:\\[(?:[^\\x5C\\x5D]|\\\\[\\s\\S])*\\]|\\\\u[A-Fa-f0-9]{4}|\\\\x[A-Fa-f0-9]{2}|\\\\[0-9]+|\\\\[^ux0-9]|\\(\\?[:!=]|[\\(\\)\\^]|[^\\x5B\\x5C\\(\\)\\^]+)","g"));var ah=aj.length;var an=[];for(var ak=0,am=0;ak=2&&ai==="["){aj[ak]=X(ag)}else{if(ai!=="\\"){aj[ak]=ag.replace(/[a-zA-Z]/g,function(ao){var ap=ao.charCodeAt(0);return"["+String.fromCharCode(ap&~32,ap|32)+"]"})}}}}return aj.join("")}var aa=[];for(var V=0,U=Z.length;V=0;){S[ac.charAt(ae)]=Y}}var af=Y[1];var aa=""+af;if(!ag.hasOwnProperty(aa)){ah.push(af);ag[aa]=null}}ah.push(/[\0-\uffff]/);V=k(ah)})();var X=T.length;var W=function(ah){var Z=ah.sourceCode,Y=ah.basePos;var ad=[Y,F];var af=0;var an=Z.match(V)||[];var aj={};for(var ae=0,aq=an.length;ae=5&&"lang-"===ap.substring(0,5);if(am&&!(ai&&typeof ai[1]==="string")){am=false;ap=J}if(!am){aj[ag]=ap}}var ab=af;af+=ag.length;if(!am){ad.push(Y+ab,ap)}else{var al=ai[1];var ak=ag.indexOf(al);var ac=ak+al.length;if(ai[2]){ac=ag.length-ai[2].length;ak=ac-al.length}var ar=ap.substring(5);B(Y+ab,ag.substring(0,ak),W,ad);B(Y+ab+ak,al,q(ar,al),ad);B(Y+ab+ac,ag.substring(ac),W,ad)}}ah.decorations=ad};return W}function i(T){var W=[],S=[];if(T.tripleQuotedStrings){W.push([C,/^(?:\'\'\'(?:[^\'\\]|\\[\s\S]|\'{1,2}(?=[^\']))*(?:\'\'\'|$)|\"\"\"(?:[^\"\\]|\\[\s\S]|\"{1,2}(?=[^\"]))*(?:\"\"\"|$)|\'(?:[^\\\']|\\[\s\S])*(?:\'|$)|\"(?:[^\\\"]|\\[\s\S])*(?:\"|$))/,null,"'\""])}else{if(T.multiLineStrings){W.push([C,/^(?:\'(?:[^\\\']|\\[\s\S])*(?:\'|$)|\"(?:[^\\\"]|\\[\s\S])*(?:\"|$)|\`(?:[^\\\`]|\\[\s\S])*(?:\`|$))/,null,"'\"`"])}else{W.push([C,/^(?:\'(?:[^\\\'\r\n]|\\.)*(?:\'|$)|\"(?:[^\\\"\r\n]|\\.)*(?:\"|$))/,null,"\"'"])}}if(T.verbatimStrings){S.push([C,/^@\"(?:[^\"]|\"\")*(?:\"|$)/,null])}var Y=T.hashComments;if(Y){if(T.cStyleComments){if(Y>1){W.push([j,/^#(?:##(?:[^#]|#(?!##))*(?:###|$)|.*)/,null,"#"])}else{W.push([j,/^#(?:(?:define|elif|else|endif|error|ifdef|include|ifndef|line|pragma|undef|warning)\b|[^\r\n]*)/,null,"#"])}S.push([C,/^<(?:(?:(?:\.\.\/)*|\/?)(?:[\w-]+(?:\/[\w-]+)+)?[\w-]+\.h|[a-z]\w*)>/,null])}else{W.push([j,/^#[^\r\n]*/,null,"#"])}}if(T.cStyleComments){S.push([j,/^\/\/[^\r\n]*/,null]);S.push([j,/^\/\*[\s\S]*?(?:\*\/|$)/,null])}if(T.regexLiterals){var X=("/(?=[^/*])(?:[^/\\x5B\\x5C]|\\x5C[\\s\\S]|\\x5B(?:[^\\x5C\\x5D]|\\x5C[\\s\\S])*(?:\\x5D|$))+/");S.push(["lang-regex",new RegExp("^"+M+"("+X+")")])}var V=T.types;if(V){S.push([O,V])}var U=(""+T.keywords).replace(/^ | $/g,"");if(U.length){S.push([z,new RegExp("^(?:"+U.replace(/[\s,]+/g,"|")+")\\b"),null])}W.push([F,/^\s+/,null," \r\n\t\xA0"]);S.push([G,/^@[a-z_$][a-z_$@0-9]*/i,null],[O,/^(?:[@_]?[A-Z]+[a-z][A-Za-z_$@0-9]*|\w+_t\b)/,null],[F,/^[a-z_$][a-z_$@0-9]*/i,null],[G,new RegExp("^(?:0x[a-f0-9]+|(?:\\d(?:_\\d+)*\\d*(?:\\.\\d*)?|\\.\\d\\+)(?:e[+\\-]?\\d+)?)[a-z]*","i"),null,"0123456789"],[F,/^\\[\s\S]?/,null],[L,/^.[^\s\w\.$@\'\"\`\/\#\\]*/,null]);return g(W,S)}var K=i({keywords:A,hashComments:true,cStyleComments:true,multiLineStrings:true,regexLiterals:true});function Q(V,ag){var U=/(?:^|\s)nocode(?:\s|$)/;var ab=/\r\n?|\n/;var ac=V.ownerDocument;var S;if(V.currentStyle){S=V.currentStyle.whiteSpace}else{if(window.getComputedStyle){S=ac.defaultView.getComputedStyle(V,null).getPropertyValue("white-space")}}var Z=S&&"pre"===S.substring(0,3);var af=ac.createElement("LI");while(V.firstChild){af.appendChild(V.firstChild)}var W=[af];function ae(al){switch(al.nodeType){case 1:if(U.test(al.className)){break}if("BR"===al.nodeName){ad(al);if(al.parentNode){al.parentNode.removeChild(al)}}else{for(var an=al.firstChild;an;an=an.nextSibling){ae(an)}}break;case 3:case 4:if(Z){var am=al.nodeValue;var aj=am.match(ab);if(aj){var ai=am.substring(0,aj.index);al.nodeValue=ai;var ah=am.substring(aj.index+aj[0].length);if(ah){var ak=al.parentNode;ak.insertBefore(ac.createTextNode(ah),al.nextSibling)}ad(al);if(!ai){al.parentNode.removeChild(al)}}}break}}function ad(ak){while(!ak.nextSibling){ak=ak.parentNode;if(!ak){return}}function ai(al,ar){var aq=ar?al.cloneNode(false):al;var ao=al.parentNode;if(ao){var ap=ai(ao,1);var an=al.nextSibling;ap.appendChild(aq);for(var am=an;am;am=an){an=am.nextSibling;ap.appendChild(am)}}return aq}var ah=ai(ak.nextSibling,0);for(var aj;(aj=ah.parentNode)&&aj.nodeType===1;){ah=aj}W.push(ah)}for(var Y=0;Y=S){ah+=2}if(V>=ap){Z+=2}}}var t={};function c(U,V){for(var S=V.length;--S>=0;){var T=V[S];if(!t.hasOwnProperty(T)){t[T]=U}else{if(window.console){console.warn("cannot override language handler %s",T)}}}}function q(T,S){if(!(T&&t.hasOwnProperty(T))){T=/^\s*]*(?:>|$)/],[j,/^<\!--[\s\S]*?(?:-\->|$)/],["lang-",/^<\?([\s\S]+?)(?:\?>|$)/],["lang-",/^<%([\s\S]+?)(?:%>|$)/],[L,/^(?:<[%?]|[%?]>)/],["lang-",/^]*>([\s\S]+?)<\/xmp\b[^>]*>/i],["lang-js",/^]*>([\s\S]*?)(<\/script\b[^>]*>)/i],["lang-css",/^]*>([\s\S]*?)(<\/style\b[^>]*>)/i],["lang-in.tag",/^(<\/?[a-z][^<>]*>)/i]]),["default-markup","htm","html","mxml","xhtml","xml","xsl"]);c(g([[F,/^[\s]+/,null," \t\r\n"],[n,/^(?:\"[^\"]*\"?|\'[^\']*\'?)/,null,"\"'"]],[[m,/^^<\/?[a-z](?:[\w.:-]*\w)?|\/?>$/i],[P,/^(?!style[\s=]|on)[a-z](?:[\w:-]*\w)?/i],["lang-uq.val",/^=\s*([^>\'\"\s]*(?:[^>\'\"\s\/]|\/(?=\s)))/],[L,/^[=<>\/]+/],["lang-js",/^on\w+\s*=\s*\"([^\"]+)\"/i],["lang-js",/^on\w+\s*=\s*\'([^\']+)\'/i],["lang-js",/^on\w+\s*=\s*([^\"\'>\s]+)/i],["lang-css",/^style\s*=\s*\"([^\"]+)\"/i],["lang-css",/^style\s*=\s*\'([^\']+)\'/i],["lang-css",/^style\s*=\s*([^\"\'>\s]+)/i]]),["in.tag"]);c(g([],[[n,/^[\s\S]+/]]),["uq.val"]);c(i({keywords:l,hashComments:true,cStyleComments:true,types:e}),["c","cc","cpp","cxx","cyc","m"]);c(i({keywords:"null,true,false"}),["json"]);c(i({keywords:R,hashComments:true,cStyleComments:true,verbatimStrings:true,types:e}),["cs"]);c(i({keywords:x,cStyleComments:true}),["java"]);c(i({keywords:H,hashComments:true,multiLineStrings:true}),["bsh","csh","sh"]);c(i({keywords:I,hashComments:true,multiLineStrings:true,tripleQuotedStrings:true}),["cv","py"]);c(i({keywords:s,hashComments:true,multiLineStrings:true,regexLiterals:true}),["perl","pl","pm"]);c(i({keywords:f,hashComments:true,multiLineStrings:true,regexLiterals:true}),["rb"]);c(i({keywords:w,cStyleComments:true,regexLiterals:true}),["js"]);c(i({keywords:r,hashComments:3,cStyleComments:true,multilineStrings:true,tripleQuotedStrings:true,regexLiterals:true}),["coffee"]);c(g([],[[C,/^[\s\S]+/]]),["regex"]);function d(V){var U=V.langExtension;try{var S=a(V.sourceNode);var T=S.sourceCode;V.sourceCode=T;V.spans=S.spans;V.basePos=0;q(U,T)(V);D(V)}catch(W){if("console" in window){console.log(W&&W.stack?W.stack:W)}}}function y(W,V,U){var S=document.createElement("PRE");S.innerHTML=W;if(U){Q(S,U)}var T={langExtension:V,numberLines:U,sourceNode:S};d(T);return S.innerHTML}function b(ad){function Y(af){return document.getElementsByTagName(af)}var ac=[Y("pre"),Y("code"),Y("xmp")];var T=[];for(var aa=0;aa=0){var ah=ai.match(ab);var am;if(!ah&&(am=o(aj))&&"CODE"===am.tagName){ah=am.className.match(ab)}if(ah){ah=ah[1]}var al=false;for(var ak=aj.parentNode;ak;ak=ak.parentNode){if((ak.tagName==="pre"||ak.tagName==="code"||ak.tagName==="xmp")&&ak.className&&ak.className.indexOf("prettyprint")>=0){al=true;break}}if(!al){var af=aj.className.match(/\blinenums\b(?::(\d+))?/);af=af?af[1]&&af[1].length?+af[1]:true:false;if(af){Q(aj,af)}S={langExtension:ah,sourceNode:aj,numberLines:af};d(S)}}}if(X]*(?:>|$)/],[PR.PR_COMMENT,/^<\!--[\s\S]*?(?:-\->|$)/],[PR.PR_PUNCTUATION,/^(?:<[%?]|[%?]>)/],["lang-",/^<\?([\s\S]+?)(?:\?>|$)/],["lang-",/^<%([\s\S]+?)(?:%>|$)/],["lang-",/^]*>([\s\S]+?)<\/xmp\b[^>]*>/i],["lang-handlebars",/^]*type\s*=\s*['"]?text\/x-handlebars-template['"]?\b[^>]*>([\s\S]*?)(<\/script\b[^>]*>)/i],["lang-js",/^]*>([\s\S]*?)(<\/script\b[^>]*>)/i],["lang-css",/^]*>([\s\S]*?)(<\/style\b[^>]*>)/i],["lang-in.tag",/^(<\/?[a-z][^<>]*>)/i],[PR.PR_DECLARATION,/^{{[#^>/]?\s*[\w.][^}]*}}/],[PR.PR_DECLARATION,/^{{&?\s*[\w.][^}]*}}/],[PR.PR_DECLARATION,/^{{{>?\s*[\w.][^}]*}}}/],[PR.PR_COMMENT,/^{{![^}]*}}/]]),["handlebars","hbs"]);PR.registerLangHandler(PR.createSimpleLexer([[PR.PR_PLAIN,/^[ \t\r\n\f]+/,null," \t\r\n\f"]],[[PR.PR_STRING,/^\"(?:[^\n\r\f\\\"]|\\(?:\r\n?|\n|\f)|\\[\s\S])*\"/,null],[PR.PR_STRING,/^\'(?:[^\n\r\f\\\']|\\(?:\r\n?|\n|\f)|\\[\s\S])*\'/,null],["lang-css-str",/^url\(([^\)\"\']*)\)/i],[PR.PR_KEYWORD,/^(?:url|rgb|\!important|@import|@page|@media|@charset|inherit)(?=[^\-\w]|$)/i,null],["lang-css-kw",/^(-?(?:[_a-z]|(?:\\[0-9a-f]+ ?))(?:[_a-z0-9\-]|\\(?:\\[0-9a-f]+ ?))*)\s*:/i],[PR.PR_COMMENT,/^\/\*[^*]*\*+(?:[^\/*][^*]*\*+)*\//],[PR.PR_COMMENT,/^(?:)/],[PR.PR_LITERAL,/^(?:\d+|\d*\.\d+)(?:%|[a-z]+)?/i],[PR.PR_LITERAL,/^#(?:[0-9a-f]{3}){1,2}/i],[PR.PR_PLAIN,/^-?(?:[_a-z]|(?:\\[\da-f]+ ?))(?:[_a-z\d\-]|\\(?:\\[\da-f]+ ?))*/i],[PR.PR_PUNCTUATION,/^[^\s\w\'\"]+/]]),["css"]);PR.registerLangHandler(PR.createSimpleLexer([],[[PR.PR_KEYWORD,/^-?(?:[_a-z]|(?:\\[\da-f]+ ?))(?:[_a-z\d\-]|\\(?:\\[\da-f]+ ?))*/i]]),["css-kw"]);PR.registerLangHandler(PR.createSimpleLexer([],[[PR.PR_STRING,/^[^\)\"\']+/]]),["css-str"]);