From 94efcaf021e432dbac05b2c05c84633a240bfde1 Mon Sep 17 00:00:00 2001 From: HINOTOR <108602298+HINOTOR@users.noreply.github.com> Date: Wed, 15 Nov 2023 09:29:51 +0800 Subject: [PATCH] src --- src/demo/manager/pom.xml | 270 + .../java/com/dream/common/DateConverter.java | 22 + .../main/java/com/dream/common/E3Result.java | 148 + .../java/com/dream/common/FastDFSClient.java | 74 + .../main/java/com/dream/common/JsonUtils.java | 69 + .../java/com/dream/common/MovieRealm.java | 66 + .../java/com/dream/common/NavigationTag.java | 179 + .../src/main/java/com/dream/common/Page.java | 36 + .../com/dream/controller/AdminController.java | 111 + .../com/dream/controller/MovieController.java | 91 + .../dream/controller/PictureController.java | 56 + .../com/dream/controller/UserController.java | 55 + .../java/com/dream/mapper/AdminMapper.java | 33 + .../java/com/dream/mapper/AdminMapper.xml | 211 + .../java/com/dream/mapper/BrowseMapper.java | 31 + .../java/com/dream/mapper/BrowseMapper.xml | 196 + .../java/com/dream/mapper/CategoryMapper.java | 30 + .../java/com/dream/mapper/CategoryMapper.xml | 164 + .../java/com/dream/mapper/MovieMapper.java | 43 + .../java/com/dream/mapper/MovieMapper.xml | 323 + .../com/dream/mapper/MoviecategoryMapper.java | 30 + .../com/dream/mapper/MoviecategoryMapper.xml | 181 + .../java/com/dream/mapper/RectabMapper.java | 22 + .../java/com/dream/mapper/RectabMapper.xml | 140 + .../java/com/dream/mapper/ReviewMapper.java | 30 + .../java/com/dream/mapper/ReviewMapper.xml | 228 + .../java/com/dream/mapper/UserMapper.java | 33 + .../main/java/com/dream/mapper/UserMapper.xml | 256 + .../src/main/java/com/dream/po/Admin.java | 63 + .../main/java/com/dream/po/AdminExample.java | 400 + .../src/main/java/com/dream/po/Browse.java | 45 + .../main/java/com/dream/po/BrowseExample.java | 451 + .../src/main/java/com/dream/po/Category.java | 23 + .../java/com/dream/po/CategoryExample.java | 330 + .../src/main/java/com/dream/po/Movie.java | 141 + .../main/java/com/dream/po/MovieExample.java | 741 + .../main/java/com/dream/po/Moviecategory.java | 33 + .../com/dream/po/MoviecategoryExample.java | 380 + .../src/main/java/com/dream/po/NewMovie.java | 144 + .../src/main/java/com/dream/po/Query.java | 55 + .../src/main/java/com/dream/po/QueryUser.java | 44 + .../src/main/java/com/dream/po/Rectab.java | 23 + .../main/java/com/dream/po/RectabExample.java | 330 + .../src/main/java/com/dream/po/Review.java | 65 + .../main/java/com/dream/po/ReviewExample.java | 571 + .../src/main/java/com/dream/po/User.java | 93 + .../main/java/com/dream/po/UserExample.java | 542 + .../java/com/dream/service/AdminService.java | 22 + .../java/com/dream/service/MovieService.java | 26 + .../com/dream/service/SystemLogoutFilter.java | 31 + .../java/com/dream/service/UserService.java | 18 + .../dream/service/impl/AdminServiceImpl.java | 87 + .../dream/service/impl/MovieServiceImpl.java | 159 + .../dream/service/impl/UserServiceImpl.java | 105 + .../src/main/resources/conf/client.conf | 1 + .../src/main/resources/jdbc.properties | 4 + .../src/main/resources/log4j.properties | 6 + .../main/resources/mybatis/SqlMapConfig.xml | 11 + .../src/main/resources/resource.properties | 2 + .../spring/applicationContext-dao.xml | 35 + .../spring/applicationContext-service.xml | 14 + .../main/resources/spring/spring-shiro.xml | 48 + .../src/main/resources/spring/springmvc.xml | 71 + .../main/webapp/WEB-INF/jsp/adminLogin.jsp | 78 + .../main/webapp/WEB-INF/jsp/adminManage.jsp | 385 + .../main/webapp/WEB-INF/jsp/movieManage.jsp | 634 + .../main/webapp/WEB-INF/jsp/userManage.jsp | 452 + .../src/main/webapp/WEB-INF/tld/commons.tld | 32 + .../manager/src/main/webapp/WEB-INF/web.xml | 82 + .../src/main/webapp/assets/css/boot-crm.css | 4 + .../assets/css/bootstrap-datetimepicker.css | 418 + .../css/bootstrap-datetimepicker.min.css | 9 + .../webapp/assets/css/bootstrap-editable.css | 663 + .../webapp/assets/css/bootstrap-select.css | 278 + .../assets/css/bootstrap-select.min.css | 7 + .../css/bootstrap-table-reorder-rows.min.css | 1 + .../webapp/assets/css/bootstrap-table.min.css | 1 + .../css/bootstrap-tagsinput-typeahead.css | 54 + .../webapp/assets/css/bootstrap-tagsinput.css | 60 + .../src/main/webapp/assets/css/bootstrap.css | 6262 +++++++ .../main/webapp/assets/css/bootstrap.min.css | 6 + .../assets/css/dataTables.bootstrap.css | 314 + .../src/main/webapp/assets/css/default.css | 99 + .../main/webapp/assets/css/fileinput.min.css | 10 + .../webapp/assets/css/font-awesome.min.css | 4 + .../webapp/assets/css/jquery-confirm.min.css | 9 + .../main/webapp/assets/css/jquery.alerts.css | 44 + .../src/main/webapp/assets/css/login2.css | 189 + .../main/webapp/assets/css/metisMenu.min.css | 10 + .../webapp/assets/css/multiple-select.css | 191 + .../src/main/webapp/assets/css/sb-admin-2.css | 354 + .../main/webapp/assets/css/star-rating.css | 170 + .../webapp/assets/css/star-rating.min.css | 10 + .../main/webapp/assets/css/style-login.css | 127 + .../webapp/assets/css/style-responsive.css | 295 + .../src/main/webapp/assets/css/style.css | 2414 +++ .../webapp/assets/css/table-responsive.css | 94 + .../src/main/webapp/assets/css/taotao.css | 32 + .../src/main/webapp/assets/css/to-do.css | 110 + .../webapp/assets/css/zabuto_calendar.css | 180 + .../assets/font-awesome/css/font-awesome.css | 1566 ++ .../assets/font-awesome/fonts/FontAwesome.otf | Bin 0 -> 75188 bytes .../fonts/fontawesome-webfont.eot | Bin 0 -> 72449 bytes .../fonts/fontawesome-webfont.svg | 504 + .../fonts/fontawesome-webfont.ttf | Bin 0 -> 141564 bytes .../fonts/fontawesome-webfont.woff | Bin 0 -> 83760 bytes .../main/webapp/assets/fonts/FontAwesome.otf | Bin 0 -> 85908 bytes .../assets/fonts/fontawesome-webfont.eot | Bin 0 -> 56006 bytes .../assets/fonts/fontawesome-webfont.svg | 520 + .../assets/fonts/fontawesome-webfont.ttf | Bin 0 -> 112160 bytes .../assets/fonts/fontawesome-webfont.woff | Bin 0 -> 65452 bytes .../fonts/glyphicons-halflings-regular.eot | Bin 0 -> 20335 bytes .../fonts/glyphicons-halflings-regular.svg | 229 + .../fonts/glyphicons-halflings-regular.ttf | Bin 0 -> 41280 bytes .../fonts/glyphicons-halflings-regular.woff | Bin 0 -> 23320 bytes .../src/main/webapp/assets/img/blog-bg.jpg | Bin 0 -> 75688 bytes .../main/webapp/assets/img/checkbox-gray.png | Bin 0 -> 1148 bytes .../main/webapp/assets/img/friends/fr-01.jpg | Bin 0 -> 5676 bytes .../main/webapp/assets/img/friends/fr-02.jpg | Bin 0 -> 5207 bytes .../main/webapp/assets/img/friends/fr-03.jpg | Bin 0 -> 5124 bytes .../main/webapp/assets/img/friends/fr-04.jpg | Bin 0 -> 6273 bytes .../main/webapp/assets/img/friends/fr-05.jpg | Bin 0 -> 3980 bytes .../main/webapp/assets/img/friends/fr-06.jpg | Bin 0 -> 4378 bytes .../main/webapp/assets/img/friends/fr-07.jpg | Bin 0 -> 4240 bytes .../main/webapp/assets/img/friends/fr-08.jpg | Bin 0 -> 4492 bytes .../main/webapp/assets/img/friends/fr-09.jpg | Bin 0 -> 2064 bytes .../main/webapp/assets/img/friends/fr-10.jpg | Bin 0 -> 5464 bytes .../main/webapp/assets/img/friends/fr-11.jpg | Bin 0 -> 7124 bytes .../src/main/webapp/assets/img/instagram.jpg | Bin 0 -> 55597 bytes .../src/main/webapp/assets/img/login-bg.jpg | Bin 0 -> 572160 bytes .../src/main/webapp/assets/img/loginimg/1.jpg | Bin 0 -> 72128 bytes .../src/main/webapp/assets/img/loginimg/2.jpg | Bin 0 -> 68833 bytes .../src/main/webapp/assets/img/loginimg/3.jpg | Bin 0 -> 52931 bytes .../src/main/webapp/assets/img/lorde.jpg | Bin 0 -> 42117 bytes .../src/main/webapp/assets/img/mask.png | Bin 0 -> 1353 bytes .../manager/src/main/webapp/assets/img/ny.jpg | Bin 0 -> 97336 bytes .../webapp/assets/img/portfolio/port01.jpg | Bin 0 -> 100653 bytes .../webapp/assets/img/portfolio/port02.jpg | Bin 0 -> 136947 bytes .../webapp/assets/img/portfolio/port03.jpg | Bin 0 -> 87401 bytes .../webapp/assets/img/portfolio/port04.jpg | Bin 0 -> 63429 bytes .../webapp/assets/img/portfolio/port05.jpg | Bin 0 -> 93649 bytes .../webapp/assets/img/portfolio/port06.jpg | Bin 0 -> 148199 bytes .../src/main/webapp/assets/img/product.jpg | Bin 0 -> 47190 bytes .../src/main/webapp/assets/img/product.png | Bin 0 -> 53208 bytes .../src/main/webapp/assets/img/profile-01.jpg | Bin 0 -> 60432 bytes .../src/main/webapp/assets/img/profile-02.jpg | Bin 0 -> 102096 bytes .../src/main/webapp/assets/img/radio-gray.png | Bin 0 -> 1092 bytes .../src/main/webapp/assets/img/ui-danro.jpg | Bin 0 -> 2064 bytes .../src/main/webapp/assets/img/ui-divya.jpg | Bin 0 -> 5039 bytes .../src/main/webapp/assets/img/ui-sam.jpg | Bin 0 -> 12697 bytes .../src/main/webapp/assets/img/ui-sherman.jpg | Bin 0 -> 4110 bytes .../src/main/webapp/assets/img/ui-zac.jpg | Bin 0 -> 3377 bytes .../src/main/webapp/assets/img/weather.jpg | Bin 0 -> 245302 bytes .../src/main/webapp/assets/img/zoom.png | Bin 0 -> 4151 bytes .../src/main/webapp/assets/js/allMail.js | 298 + .../assets/js/bootstrap-datetimepicker.min.js | 9 + .../bootstrap-inputmask.min.js | 7 + .../assets/js/bootstrap-table-export.min.js | 7 + .../js/bootstrap-table-reorder-rows.min.js | 7 + .../assets/js/bootstrap-table-zh-CN.min.js | 7 + .../webapp/assets/js/bootstrap-table.min.js | 8 + .../assets/js/bootstrap-tagsinput.min.js | 7 + .../main/webapp/assets/js/bootstrap.min.js | 6 + .../src/main/webapp/assets/js/capsLock.js | 85 + .../src/main/webapp/assets/js/cas.login.js | 36 + .../webapp/assets/js/chart-master/Chart.js | 1426 ++ .../main/webapp/assets/js/common-scripts.js | 113 + .../src/main/webapp/assets/js/common.js | 251 + .../assets/js/dataTables.bootstrap.min.js | 8 + .../assets/js/editable/bootstrap-editable.js | 6807 ++++++++ .../editable/bootstrap-table-editable.min.js | 7 + .../assets/js/fancybox/jquery.fancybox.css | 249 + .../assets/js/fancybox/jquery.fancybox.js | 2020 +++ .../assets/js/file_input/fileinput.min.js | 12 + .../main/webapp/assets/js/file_input/zh.js | 73 + .../fullcalendar/bootstrap-fullcalendar.css | 632 + .../js/fullcalendar/fullcalendar.min.js | 114 + .../assets/js/gritter/css/jquery.gritter.css | 102 + .../assets/js/gritter/css/jquery.gritter0.css | 101 + .../js/gritter/images/gritter-light.png | Bin 0 -> 4978 bytes .../assets/js/gritter/images/gritter-long.png | Bin 0 -> 6299 bytes .../assets/js/gritter/images/gritter.png | Bin 0 -> 4880 bytes .../assets/js/gritter/images/ie-spacer.gif | Bin 0 -> 43 bytes .../assets/js/gritter/js/jquery.gritter.js | 418 + .../main/webapp/assets/js/highlight.pack.js | 2 + .../main/webapp/assets/js/jquery-1.5.1.min.js | 16 + .../webapp/assets/js/jquery-confirm.min.js | 10 + .../jquery.easy-pie-chart.css | 10 + .../jquery.easy-pie-chart.js | 185 + .../js/jquery-easyui-1.4.1/changelog.txt | 433 + .../demo/accordion/_content.html | 18 + .../demo/accordion/actions.html | 51 + .../demo/accordion/ajax.html | 28 + .../demo/accordion/basic.html | 52 + .../demo/accordion/datagrid_data1.json | 12 + .../demo/accordion/expandable.html | 33 + .../demo/accordion/fluid.html | 33 + .../demo/accordion/multiple.html | 34 + .../demo/accordion/tools.html | 48 + .../demo/calendar/basic.html | 19 + .../demo/calendar/custom.html | 46 + .../demo/calendar/disabledate.html | 28 + .../demo/calendar/firstday.html | 30 + .../demo/calendar/fluid.html | 23 + .../demo/combo/animation.html | 36 + .../jquery-easyui-1.4.1/demo/combo/basic.html | 42 + .../demo/combobox/actions.html | 86 + .../demo/combobox/basic.html | 71 + .../demo/combobox/combobox_data1.json | 22 + .../demo/combobox/combobox_data2.json | 47 + .../demo/combobox/customformat.html | 33 + .../demo/combobox/dynamicdata.html | 23 + .../demo/combobox/fluid.html | 36 + .../demo/combobox/group.html | 26 + .../demo/combobox/icons.html | 32 + .../demo/combobox/multiline.html | 71 + .../demo/combobox/multiple.html | 29 + .../demo/combobox/navigation.html | 73 + .../demo/combobox/remotedata.html | 27 + .../demo/combobox/remotejsonp.html | 51 + .../demo/combogrid/actions.html | 53 + .../demo/combogrid/basic.html | 34 + .../demo/combogrid/datagrid_data1.json | 12 + .../demo/combogrid/fluid.html | 54 + .../demo/combogrid/initvalue.html | 33 + .../demo/combogrid/multiple.html | 37 + .../demo/combogrid/navigation.html | 38 + .../demo/combotree/actions.html | 39 + .../demo/combotree/basic.html | 19 + .../demo/combotree/fluid.html | 22 + .../demo/combotree/initvalue.html | 19 + .../demo/combotree/multiple.html | 22 + .../demo/combotree/tree_data1.json | 49 + .../demo/datagrid/aligncolumns.html | 32 + .../demo/datagrid/basic.html | 32 + .../demo/datagrid/cacheeditor.html | 149 + .../demo/datagrid/cellediting.html | 79 + .../demo/datagrid/cellstyle.html | 42 + .../demo/datagrid/checkbox.html | 42 + .../demo/datagrid/clientpagination.html | 89 + .../demo/datagrid/columngroup.html | 34 + .../demo/datagrid/complextoolbar.html | 50 + .../demo/datagrid/contextmenu.html | 81 + .../demo/datagrid/custompager.html | 53 + .../demo/datagrid/datagrid_data1.json | 12 + .../demo/datagrid/datagrid_data2.json | 15 + .../demo/datagrid/fluid.html | 32 + .../demo/datagrid/footer.html | 38 + .../demo/datagrid/formatcolumns.html | 39 + .../demo/datagrid/frozencolumns.html | 35 + .../demo/datagrid/frozenrows.html | 44 + .../demo/datagrid/mergecells.html | 58 + .../demo/datagrid/multisorting.html | 37 + .../demo/datagrid/products.json | 9 + .../demo/datagrid/rowborder.html | 60 + .../demo/datagrid/rowediting.html | 114 + .../demo/datagrid/rowstyle.html | 41 + .../demo/datagrid/selection.html | 57 + .../demo/datagrid/simpletoolbar.html | 45 + .../demo/datagrid/transform.html | 46 + .../demo/datebox/basic.html | 18 + .../demo/datebox/buttons.html | 28 + .../demo/datebox/dateformat.html | 39 + .../demo/datebox/events.html | 27 + .../demo/datebox/fluid.html | 21 + .../demo/datebox/restrict.html | 30 + .../demo/datebox/sharedcalendar.html | 30 + .../demo/datebox/validate.html | 30 + .../demo/datetimebox/basic.html | 18 + .../demo/datetimebox/fluid.html | 21 + .../demo/datetimebox/initvalue.html | 19 + .../demo/datetimebox/showseconds.html | 22 + .../demo/datetimespinner/basic.html | 18 + .../demo/datetimespinner/clearicon.html | 28 + .../demo/datetimespinner/fluid.html | 21 + .../demo/datetimespinner/format.html | 50 + .../js/jquery-easyui-1.4.1/demo/demo.css | 21 + .../demo/dialog/basic.html | 23 + .../demo/dialog/complextoolbar.html | 46 + .../demo/dialog/fluid.html | 24 + .../demo/dialog/toolbarbuttons.html | 52 + .../demo/draggable/basic.html | 21 + .../demo/draggable/constrain.html | 35 + .../demo/draggable/snap.html | 37 + .../demo/droppable/accept.html | 78 + .../demo/droppable/basic.html | 77 + .../demo/droppable/sort.html | 71 + .../demo/easyloader/basic.html | 75 + .../demo/filebox/basic.html | 34 + .../demo/filebox/buttonalign.html | 29 + .../demo/filebox/fluid.html | 21 + .../jquery-easyui-1.4.1/demo/form/basic.html | 59 + .../demo/form/form_data1.json | 7 + .../jquery-easyui-1.4.1/demo/form/load.html | 68 + .../demo/form/validateonsubmit.html | 63 + .../demo/layout/_content.html | 18 + .../demo/layout/addremove.html | 53 + .../demo/layout/autoheight.html | 59 + .../demo/layout/basic.html | 39 + .../demo/layout/complex.html | 57 + .../demo/layout/datagrid_data1.json | 12 + .../demo/layout/fluid.html | 24 + .../jquery-easyui-1.4.1/demo/layout/full.html | 19 + .../demo/layout/nestedlayout.html | 31 + .../demo/layout/nocollapsible.html | 34 + .../demo/layout/propertygrid_data1.json | 20 + .../demo/layout/tree_data1.json | 49 + .../demo/linkbutton/basic.html | 33 + .../demo/linkbutton/fluid.html | 33 + .../demo/linkbutton/group.html | 33 + .../demo/linkbutton/iconalign.html | 32 + .../demo/linkbutton/plain.html | 28 + .../demo/linkbutton/size.html | 34 + .../demo/linkbutton/style.html | 31 + .../demo/linkbutton/toggle.html | 25 + .../jquery-easyui-1.4.1/demo/menu/basic.html | 68 + .../demo/menu/customitem.html | 55 + .../jquery-easyui-1.4.1/demo/menu/events.html | 40 + .../demo/menubutton/actions.html | 58 + .../demo/menubutton/alignment.html | 69 + .../demo/menubutton/basic.html | 54 + .../demo/messager/alert.html | 40 + .../demo/messager/basic.html | 56 + .../demo/messager/interactive.html | 36 + .../demo/messager/position.html | 140 + .../demo/numberbox/basic.html | 24 + .../demo/numberbox/fluid.html | 24 + .../demo/numberbox/format.html | 40 + .../demo/numberbox/range.html | 25 + .../demo/numberspinner/basic.html | 25 + .../demo/numberspinner/fluid.html | 21 + .../demo/numberspinner/increment.html | 18 + .../demo/numberspinner/range.html | 18 + .../demo/pagination/attaching.html | 32 + .../demo/pagination/basic.html | 20 + .../demo/pagination/custombuttons.html | 38 + .../demo/pagination/layout.html | 62 + .../demo/pagination/links.html | 23 + .../demo/pagination/simple.html | 25 + .../demo/panel/_content.html | 18 + .../jquery-easyui-1.4.1/demo/panel/basic.html | 31 + .../demo/panel/customtools.html | 35 + .../jquery-easyui-1.4.1/demo/panel/fluid.html | 21 + .../demo/panel/footer.html | 22 + .../demo/panel/loadcontent.html | 27 + .../demo/panel/nestedpanel.html | 30 + .../demo/panel/paneltools.html | 37 + .../demo/progressbar/basic.html | 30 + .../demo/progressbar/fluid.html | 21 + .../demo/propertygrid/basic.html | 61 + .../demo/propertygrid/customcolumns.html | 31 + .../demo/propertygrid/groupformat.html | 30 + .../demo/propertygrid/propertygrid_data1.json | 20 + .../demo/resizable/basic.html | 24 + .../demo/searchbox/basic.html | 23 + .../demo/searchbox/category.html | 28 + .../demo/searchbox/fluid.html | 25 + .../demo/slider/basic.html | 18 + .../demo/slider/fluid.html | 21 + .../demo/slider/formattip.html | 28 + .../demo/slider/nonlinear.html | 58 + .../jquery-easyui-1.4.1/demo/slider/rule.html | 21 + .../demo/slider/vertical.html | 25 + .../demo/splitbutton/actions.html | 64 + .../demo/splitbutton/basic.html | 61 + .../demo/tabs/_content.html | 18 + .../demo/tabs/autoheight.html | 36 + .../jquery-easyui-1.4.1/demo/tabs/basic.html | 36 + .../demo/tabs/dropdown.html | 55 + .../demo/tabs/fixedwidth.html | 37 + .../jquery-easyui-1.4.1/demo/tabs/fluid.html | 24 + .../jquery-easyui-1.4.1/demo/tabs/hover.html | 46 + .../demo/tabs/images/modem.png | Bin 0 -> 1633 bytes .../demo/tabs/images/pda.png | Bin 0 -> 1787 bytes .../demo/tabs/images/scanner.png | Bin 0 -> 2600 bytes .../demo/tabs/images/tablet.png | Bin 0 -> 2505 bytes .../demo/tabs/nestedtabs.html | 54 + .../demo/tabs/striptools.html | 39 + .../demo/tabs/tabimage.html | 41 + .../demo/tabs/tabposition.html | 45 + .../demo/tabs/tabstools.html | 41 + .../demo/tabs/tree_data1.json | 49 + .../demo/textbox/basic.html | 39 + .../demo/textbox/button.html | 23 + .../demo/textbox/clearicon.html | 61 + .../demo/textbox/custom.html | 34 + .../demo/textbox/fluid.html | 21 + .../demo/textbox/icons.html | 45 + .../demo/textbox/multiline.html | 18 + .../demo/textbox/size.html | 29 + .../demo/timespinner/actions.html | 38 + .../demo/timespinner/basic.html | 18 + .../demo/timespinner/fluid.html | 21 + .../demo/timespinner/range.html | 20 + .../demo/tooltip/_content.html | 18 + .../demo/tooltip/_dialog.html | 23 + .../demo/tooltip/ajax.html | 32 + .../demo/tooltip/basic.html | 20 + .../demo/tooltip/customcontent.html | 32 + .../demo/tooltip/customstyle.html | 52 + .../demo/tooltip/position.html | 34 + .../demo/tooltip/toolbar.html | 40 + .../demo/tooltip/tooltipdialog.html | 44 + .../demo/tree/actions.html | 47 + .../demo/tree/animation.html | 20 + .../jquery-easyui-1.4.1/demo/tree/basic.html | 53 + .../demo/tree/checkbox.html | 37 + .../demo/tree/contextmenu.html | 65 + .../js/jquery-easyui-1.4.1/demo/tree/dnd.html | 20 + .../demo/tree/editable.html | 27 + .../demo/tree/formatting.html | 32 + .../jquery-easyui-1.4.1/demo/tree/icons.html | 20 + .../demo/tree/lazyload.html | 82 + .../jquery-easyui-1.4.1/demo/tree/lines.html | 20 + .../demo/tree/tree_data1.json | 49 + .../demo/tree/tree_data2.json | 61 + .../demo/treegrid/actions.html | 64 + .../demo/treegrid/basic.html | 34 + .../demo/treegrid/clientpagination.html | 137 + .../demo/treegrid/contextmenu.html | 104 + .../demo/treegrid/editable.html | 93 + .../demo/treegrid/fluid.html | 33 + .../demo/treegrid/footer.html | 55 + .../demo/treegrid/lines.html | 35 + .../demo/treegrid/reports.html | 49 + .../demo/treegrid/treegrid_data1.json | 73 + .../demo/treegrid/treegrid_data2.json | 11 + .../demo/treegrid/treegrid_data3.json | 13 + .../demo/validatebox/basic.html | 50 + .../demo/validatebox/customtooltip.html | 95 + .../demo/validatebox/validateonblur.html | 57 + .../demo/window/basic.html | 23 + .../demo/window/customtools.html | 30 + .../demo/window/fluid.html | 24 + .../demo/window/footer.html | 24 + .../demo/window/inlinewindow.html | 26 + .../demo/window/modalwindow.html | 24 + .../demo/window/windowlayout.html | 33 + .../js/jquery-easyui-1.4.1/easyloader.js | 190 + .../jquery-easyui-1.4.1/jquery.easyui.min.js | 13547 ++++++++++++++++ .../js/jquery-easyui-1.4.1/jquery.min.js | 4 + .../js/jquery-easyui-1.4.1/licence_gpl.txt | 674 + .../locale/easyui-lang-af.js | 44 + .../locale/easyui-lang-am.js | 46 + .../locale/easyui-lang-ar.js | 45 + .../locale/easyui-lang-bg.js | 44 + .../locale/easyui-lang-ca.js | 44 + .../locale/easyui-lang-cs.js | 44 + .../locale/easyui-lang-cz.js | 44 + .../locale/easyui-lang-da.js | 44 + .../locale/easyui-lang-de.js | 63 + .../locale/easyui-lang-el.js | 45 + .../locale/easyui-lang-en.js | 45 + .../locale/easyui-lang-es.js | 45 + .../locale/easyui-lang-fr.js | 44 + .../locale/easyui-lang-it.js | 45 + .../locale/easyui-lang-jp.js | 45 + .../locale/easyui-lang-nl.js | 44 + .../locale/easyui-lang-pl.js | 45 + .../locale/easyui-lang-pt_BR.js | 45 + .../locale/easyui-lang-ru.js | 46 + .../locale/easyui-lang-sv_SE.js | 45 + .../locale/easyui-lang-tr.js | 59 + .../locale/easyui-lang-zh_CN.js | 66 + .../locale/easyui-lang-zh_TW.js | 48 + .../plugins/jquery.accordion.js | 314 + .../plugins/jquery.calendar.js | 384 + .../plugins/jquery.combo.js | 367 + .../plugins/jquery.combobox.js | 446 + .../plugins/jquery.combogrid.js | 273 + .../plugins/jquery.combotree.js | 175 + .../plugins/jquery.datagrid.js | 2423 +++ .../plugins/jquery.datebox.js | 212 + .../plugins/jquery.datetimebox.js | 178 + .../plugins/jquery.datetimespinner.js | 61 + .../plugins/jquery.dialog.js | 122 + .../plugins/jquery.draggable.js | 283 + .../plugins/jquery.droppable.js | 62 + .../plugins/jquery.filebox.js | 66 + .../plugins/jquery.form.js | 317 + .../plugins/jquery.layout.js | 439 + .../plugins/jquery.linkbutton.js | 181 + .../plugins/jquery.menu.js | 485 + .../plugins/jquery.menubutton.js | 125 + .../plugins/jquery.messager.js | 215 + .../plugins/jquery.numberbox.js | 172 + .../plugins/jquery.numberspinner.js | 58 + .../plugins/jquery.pagination.js | 286 + .../plugins/jquery.panel.js | 602 + .../plugins/jquery.parser.js | 322 + .../plugins/jquery.progressbar.js | 84 + .../plugins/jquery.propertygrid.js | 327 + .../plugins/jquery.resizable.js | 170 + .../plugins/jquery.searchbox.js | 132 + .../plugins/jquery.slider.js | 277 + .../plugins/jquery.spinner.js | 74 + .../plugins/jquery.splitbutton.js | 49 + .../plugins/jquery.tabs.js | 603 + .../plugins/jquery.textbox.js | 386 + .../plugins/jquery.timespinner.js | 181 + .../plugins/jquery.tooltip.js | 232 + .../plugins/jquery.tree.js | 1181 ++ .../plugins/jquery.treegrid.js | 1157 ++ .../plugins/jquery.validatebox.js | 255 + .../plugins/jquery.window.js | 261 + .../assets/js/jquery-easyui-1.4.1/readme.txt | 4 + .../js/jquery-easyui-1.4.1/src/easyloader.js | 417 + .../src/jquery.accordion.js | 406 + .../src/jquery.calendar.js | 429 + .../src/jquery.combobox.js | 556 + .../jquery-easyui-1.4.1/src/jquery.datebox.js | 285 + .../src/jquery.draggable.js | 420 + .../src/jquery.droppable.js | 81 + .../js/jquery-easyui-1.4.1/src/jquery.form.js | 374 + .../src/jquery.linkbutton.js | 240 + .../js/jquery-easyui-1.4.1/src/jquery.menu.js | 615 + .../jquery-easyui-1.4.1/src/jquery.parser.js | 356 + .../src/jquery.progressbar.js | 107 + .../src/jquery.propertygrid.js | 409 + .../src/jquery.resizable.js | 247 + .../jquery-easyui-1.4.1/src/jquery.slider.js | 403 + .../js/jquery-easyui-1.4.1/src/jquery.tabs.js | 789 + .../jquery-easyui-1.4.1/src/jquery.window.js | 379 + .../themes/black/accordion.css | 41 + .../themes/black/calendar.css | 197 + .../themes/black/combo.css | 60 + .../themes/black/combobox.css | 24 + .../themes/black/datagrid.css | 267 + .../themes/black/datebox.css | 36 + .../themes/black/dialog.css | 32 + .../themes/black/easyui.css | 2549 +++ .../themes/black/filebox.css | 6 + .../themes/black/images/accordion_arrows.png | Bin 0 -> 122 bytes .../themes/black/images/blank.gif | Bin 0 -> 43 bytes .../themes/black/images/calendar_arrows.png | Bin 0 -> 173 bytes .../themes/black/images/combo_arrow.png | Bin 0 -> 100 bytes .../themes/black/images/datagrid_icons.png | Bin 0 -> 210 bytes .../themes/black/images/datebox_arrow.png | Bin 0 -> 626 bytes .../themes/black/images/layout_arrows.png | Bin 0 -> 179 bytes .../themes/black/images/linkbutton_bg.png | Bin 0 -> 1274 bytes .../themes/black/images/loading.gif | Bin 0 -> 1737 bytes .../themes/black/images/menu_arrows.png | Bin 0 -> 134 bytes .../themes/black/images/messager_icons.png | Bin 0 -> 6116 bytes .../themes/black/images/pagination_icons.png | Bin 0 -> 339 bytes .../themes/black/images/panel_tools.png | Bin 0 -> 184 bytes .../themes/black/images/searchbox_button.png | Bin 0 -> 813 bytes .../themes/black/images/slider_handle.png | Bin 0 -> 863 bytes .../themes/black/images/spinner_arrows.png | Bin 0 -> 112 bytes .../themes/black/images/tabs_icons.png | Bin 0 -> 144 bytes .../themes/black/images/tree_icons.png | Bin 0 -> 3086 bytes .../black/images/validatebox_warning.png | Bin 0 -> 921 bytes .../themes/black/layout.css | 91 + .../themes/black/linkbutton.css | 197 + .../jquery-easyui-1.4.1/themes/black/menu.css | 109 + .../themes/black/menubutton.css | 94 + .../themes/black/messager.css | 40 + .../themes/black/numberbox.css | 9 + .../themes/black/pagination.css | 71 + .../themes/black/panel.css | 142 + .../themes/black/progressbar.css | 32 + .../themes/black/propertygrid.css | 28 + .../themes/black/searchbox.css | 90 + .../themes/black/slider.css | 101 + .../themes/black/spinner.css | 71 + .../themes/black/splitbutton.css | 12 + .../jquery-easyui-1.4.1/themes/black/tabs.css | 356 + .../themes/black/textbox.css | 87 + .../themes/black/tooltip.css | 100 + .../jquery-easyui-1.4.1/themes/black/tree.css | 157 + .../themes/black/validatebox.css | 5 + .../themes/black/window.css | 94 + .../themes/bootstrap/accordion.css | 41 + .../themes/bootstrap/calendar.css | 197 + .../themes/bootstrap/combo.css | 60 + .../themes/bootstrap/combobox.css | 24 + .../themes/bootstrap/datagrid.css | 267 + .../themes/bootstrap/datebox.css | 36 + .../themes/bootstrap/dialog.css | 32 + .../themes/bootstrap/easyui.css | 2568 +++ .../themes/bootstrap/filebox.css | 6 + .../bootstrap/images/accordion_arrows.png | Bin 0 -> 184 bytes .../themes/bootstrap/images/blank.gif | Bin 0 -> 43 bytes .../bootstrap/images/calendar_arrows.png | Bin 0 -> 173 bytes .../themes/bootstrap/images/combo_arrow.png | Bin 0 -> 117 bytes .../bootstrap/images/datagrid_icons.png | Bin 0 -> 220 bytes .../themes/bootstrap/images/datebox_arrow.png | Bin 0 -> 626 bytes .../themes/bootstrap/images/layout_arrows.png | Bin 0 -> 319 bytes .../themes/bootstrap/images/linkbutton_bg.png | Bin 0 -> 1274 bytes .../themes/bootstrap/images/loading.gif | Bin 0 -> 1737 bytes .../themes/bootstrap/images/menu_arrows.png | Bin 0 -> 160 bytes .../bootstrap/images/messager_icons.png | Bin 0 -> 6116 bytes .../bootstrap/images/pagination_icons.png | Bin 0 -> 628 bytes .../themes/bootstrap/images/panel_tools.png | Bin 0 -> 194 bytes .../bootstrap/images/searchbox_button.png | Bin 0 -> 813 bytes .../themes/bootstrap/images/slider_handle.png | Bin 0 -> 863 bytes .../bootstrap/images/spinner_arrows.png | Bin 0 -> 115 bytes .../themes/bootstrap/images/tabs_icons.png | Bin 0 -> 150 bytes .../themes/bootstrap/images/tree_icons.png | Bin 0 -> 3115 bytes .../bootstrap/images/validatebox_warning.png | Bin 0 -> 921 bytes .../themes/bootstrap/layout.css | 91 + .../themes/bootstrap/linkbutton.css | 197 + .../themes/bootstrap/menu.css | 109 + .../themes/bootstrap/menubutton.css | 94 + .../themes/bootstrap/messager.css | 40 + .../themes/bootstrap/numberbox.css | 9 + .../themes/bootstrap/pagination.css | 71 + .../themes/bootstrap/panel.css | 142 + .../themes/bootstrap/progressbar.css | 32 + .../themes/bootstrap/propertygrid.css | 28 + .../themes/bootstrap/searchbox.css | 90 + .../themes/bootstrap/slider.css | 101 + .../themes/bootstrap/spinner.css | 71 + .../themes/bootstrap/splitbutton.css | 12 + .../themes/bootstrap/tabs.css | 356 + .../themes/bootstrap/textbox.css | 87 + .../themes/bootstrap/tooltip.css | 100 + .../themes/bootstrap/tree.css | 157 + .../themes/bootstrap/validatebox.css | 5 + .../themes/bootstrap/window.css | 94 + .../js/jquery-easyui-1.4.1/themes/color.css | 112 + .../themes/default/accordion.css | 41 + .../themes/default/calendar.css | 197 + .../themes/default/combo.css | 60 + .../themes/default/combobox.css | 24 + .../themes/default/datagrid.css | 267 + .../themes/default/datebox.css | 36 + .../themes/default/dialog.css | 32 + .../themes/default/easyui.css | 2549 +++ .../themes/default/filebox.css | 6 + .../default/images/accordion_arrows.png | Bin 0 -> 184 bytes .../themes/default/images/blank.gif | Bin 0 -> 43 bytes .../themes/default/images/calendar_arrows.png | Bin 0 -> 173 bytes .../themes/default/images/combo_arrow.png | Bin 0 -> 117 bytes .../themes/default/images/datagrid_icons.png | Bin 0 -> 220 bytes .../themes/default/images/datebox_arrow.png | Bin 0 -> 626 bytes .../themes/default/images/layout_arrows.png | Bin 0 -> 319 bytes .../themes/default/images/linkbutton_bg.png | Bin 0 -> 1274 bytes .../themes/default/images/loading.gif | Bin 0 -> 1737 bytes .../themes/default/images/menu_arrows.png | Bin 0 -> 160 bytes .../themes/default/images/messager_icons.png | Bin 0 -> 6116 bytes .../default/images/pagination_icons.png | Bin 0 -> 628 bytes .../themes/default/images/panel_tools.png | Bin 0 -> 852 bytes .../default/images/searchbox_button.png | Bin 0 -> 813 bytes .../themes/default/images/slider_handle.png | Bin 0 -> 863 bytes .../themes/default/images/spinner_arrows.png | Bin 0 -> 115 bytes .../themes/default/images/tabs_icons.png | Bin 0 -> 150 bytes .../themes/default/images/tree_icons.png | Bin 0 -> 3115 bytes .../default/images/validatebox_warning.png | Bin 0 -> 921 bytes .../themes/default/layout.css | 91 + .../themes/default/linkbutton.css | 197 + .../themes/default/menu.css | 109 + .../themes/default/menubutton.css | 94 + .../themes/default/messager.css | 40 + .../themes/default/numberbox.css | 9 + .../themes/default/pagination.css | 71 + .../themes/default/panel.css | 142 + .../themes/default/progressbar.css | 32 + .../themes/default/propertygrid.css | 28 + .../themes/default/searchbox.css | 90 + .../themes/default/slider.css | 101 + .../themes/default/spinner.css | 71 + .../themes/default/splitbutton.css | 12 + .../themes/default/tabs.css | 356 + .../themes/default/textbox.css | 87 + .../themes/default/tooltip.css | 100 + .../themes/default/tree.css | 157 + .../themes/default/validatebox.css | 5 + .../themes/default/window.css | 94 + .../themes/gray/accordion.css | 41 + .../themes/gray/calendar.css | 197 + .../jquery-easyui-1.4.1/themes/gray/combo.css | 60 + .../themes/gray/combobox.css | 24 + .../themes/gray/datagrid.css | 267 + .../themes/gray/datebox.css | 36 + .../themes/gray/dialog.css | 32 + .../themes/gray/easyui.css | 2549 +++ .../themes/gray/filebox.css | 6 + .../themes/gray/images/accordion_arrows.png | Bin 0 -> 125 bytes .../themes/gray/images/blank.gif | Bin 0 -> 43 bytes .../themes/gray/images/calendar_arrows.png | Bin 0 -> 173 bytes .../themes/gray/images/combo_arrow.png | Bin 0 -> 103 bytes .../themes/gray/images/datagrid_icons.png | Bin 0 -> 243 bytes .../themes/gray/images/datebox_arrow.png | Bin 0 -> 626 bytes .../themes/gray/images/layout_arrows.png | Bin 0 -> 181 bytes .../themes/gray/images/linkbutton_bg.png | Bin 0 -> 1274 bytes .../themes/gray/images/loading.gif | Bin 0 -> 1737 bytes .../themes/gray/images/menu_arrows.png | Bin 0 -> 160 bytes .../themes/gray/images/messager_icons.png | Bin 0 -> 6116 bytes .../themes/gray/images/pagination_icons.png | Bin 0 -> 466 bytes .../themes/gray/images/panel_tools.png | Bin 0 -> 191 bytes .../themes/gray/images/searchbox_button.png | Bin 0 -> 813 bytes .../themes/gray/images/slider_handle.png | Bin 0 -> 863 bytes .../themes/gray/images/spinner_arrows.png | Bin 0 -> 141 bytes .../themes/gray/images/tabs_icons.png | Bin 0 -> 144 bytes .../themes/gray/images/tree_icons.png | Bin 0 -> 3115 bytes .../gray/images/validatebox_warning.png | Bin 0 -> 921 bytes .../themes/gray/layout.css | 91 + .../themes/gray/linkbutton.css | 197 + .../jquery-easyui-1.4.1/themes/gray/menu.css | 109 + .../themes/gray/menubutton.css | 94 + .../themes/gray/messager.css | 40 + .../themes/gray/numberbox.css | 9 + .../themes/gray/pagination.css | 71 + .../jquery-easyui-1.4.1/themes/gray/panel.css | 142 + .../themes/gray/progressbar.css | 32 + .../themes/gray/propertygrid.css | 28 + .../themes/gray/searchbox.css | 90 + .../themes/gray/slider.css | 101 + .../themes/gray/spinner.css | 71 + .../themes/gray/splitbutton.css | 12 + .../jquery-easyui-1.4.1/themes/gray/tabs.css | 356 + .../themes/gray/textbox.css | 87 + .../themes/gray/tooltip.css | 100 + .../jquery-easyui-1.4.1/themes/gray/tree.css | 157 + .../themes/gray/validatebox.css | 5 + .../themes/gray/window.css | 94 + .../js/jquery-easyui-1.4.1/themes/icon.css | 93 + .../jquery-easyui-1.4.1/themes/icons/back.png | Bin 0 -> 912 bytes .../themes/icons/blank.gif | Bin 0 -> 43 bytes .../themes/icons/cancel.png | Bin 0 -> 1133 bytes .../themes/icons/clear.png | Bin 0 -> 779 bytes .../jquery-easyui-1.4.1/themes/icons/cut.png | Bin 0 -> 1024 bytes .../themes/icons/edit_add.png | Bin 0 -> 1088 bytes .../themes/icons/edit_remove.png | Bin 0 -> 625 bytes .../themes/icons/filesave.png | Bin 0 -> 898 bytes .../themes/icons/filter.png | Bin 0 -> 305 bytes .../jquery-easyui-1.4.1/themes/icons/help.png | Bin 0 -> 1187 bytes .../themes/icons/large_chart.png | Bin 0 -> 1669 bytes .../themes/icons/large_clipart.png | Bin 0 -> 1727 bytes .../themes/icons/large_picture.png | Bin 0 -> 1667 bytes .../themes/icons/large_shapes.png | Bin 0 -> 1318 bytes .../themes/icons/large_smartart.png | Bin 0 -> 1336 bytes .../jquery-easyui-1.4.1/themes/icons/lock.png | Bin 0 -> 311 bytes .../jquery-easyui-1.4.1/themes/icons/man.png | Bin 0 -> 244 bytes .../themes/icons/mini_add.png | Bin 0 -> 244 bytes .../themes/icons/mini_edit.png | Bin 0 -> 161 bytes .../themes/icons/mini_refresh.png | Bin 0 -> 160 bytes .../jquery-easyui-1.4.1/themes/icons/no.png | Bin 0 -> 922 bytes .../jquery-easyui-1.4.1/themes/icons/ok.png | Bin 0 -> 883 bytes .../themes/icons/pencil.png | Bin 0 -> 713 bytes .../themes/icons/print.png | Bin 0 -> 1057 bytes .../jquery-easyui-1.4.1/themes/icons/redo.png | Bin 0 -> 708 bytes .../themes/icons/reload.png | Bin 0 -> 1045 bytes .../themes/icons/search.png | Bin 0 -> 813 bytes .../jquery-easyui-1.4.1/themes/icons/sum.png | Bin 0 -> 289 bytes .../jquery-easyui-1.4.1/themes/icons/tip.png | Bin 0 -> 743 bytes .../jquery-easyui-1.4.1/themes/icons/undo.png | Bin 0 -> 707 bytes .../themes/metro/accordion.css | 41 + .../themes/metro/calendar.css | 197 + .../themes/metro/combo.css | 60 + .../themes/metro/combobox.css | 24 + .../themes/metro/datagrid.css | 261 + .../themes/metro/datebox.css | 36 + .../themes/metro/dialog.css | 32 + .../themes/metro/easyui.css | 2495 +++ .../themes/metro/filebox.css | 6 + .../themes/metro/images/accordion_arrows.png | Bin 0 -> 184 bytes .../themes/metro/images/blank.gif | Bin 0 -> 43 bytes .../themes/metro/images/calendar_arrows.png | Bin 0 -> 173 bytes .../themes/metro/images/combo_arrow.png | Bin 0 -> 117 bytes .../themes/metro/images/datagrid_icons.png | Bin 0 -> 220 bytes .../themes/metro/images/datebox_arrow.png | Bin 0 -> 626 bytes .../themes/metro/images/layout_arrows.png | Bin 0 -> 319 bytes .../themes/metro/images/linkbutton_bg.png | Bin 0 -> 1274 bytes .../themes/metro/images/loading.gif | Bin 0 -> 1737 bytes .../themes/metro/images/menu_arrows.png | Bin 0 -> 160 bytes .../themes/metro/images/messager_icons.png | Bin 0 -> 6116 bytes .../themes/metro/images/pagination_icons.png | Bin 0 -> 628 bytes .../themes/metro/images/panel_tools.png | Bin 0 -> 194 bytes .../themes/metro/images/searchbox_button.png | Bin 0 -> 813 bytes .../themes/metro/images/slider_handle.png | Bin 0 -> 863 bytes .../themes/metro/images/spinner_arrows.png | Bin 0 -> 115 bytes .../themes/metro/images/tabs_icons.png | Bin 0 -> 150 bytes .../themes/metro/images/tree_icons.png | Bin 0 -> 3115 bytes .../metro/images/validatebox_warning.png | Bin 0 -> 921 bytes .../themes/metro/layout.css | 91 + .../themes/metro/linkbutton.css | 197 + .../jquery-easyui-1.4.1/themes/metro/menu.css | 109 + .../themes/metro/menubutton.css | 94 + .../themes/metro/messager.css | 40 + .../themes/metro/numberbox.css | 9 + .../themes/metro/pagination.css | 71 + .../themes/metro/panel.css | 136 + .../themes/metro/progressbar.css | 32 + .../themes/metro/propertygrid.css | 28 + .../themes/metro/searchbox.css | 90 + .../themes/metro/slider.css | 101 + .../themes/metro/spinner.css | 71 + .../themes/metro/splitbutton.css | 12 + .../jquery-easyui-1.4.1/themes/metro/tabs.css | 320 + .../themes/metro/textbox.css | 87 + .../themes/metro/tooltip.css | 100 + .../jquery-easyui-1.4.1/themes/metro/tree.css | 157 + .../themes/metro/validatebox.css | 5 + .../themes/metro/window.css | 88 + .../assets/js/jquery-ui-1.9.2.custom.min.js | 6 + .../main/webapp/assets/js/jquery.alerts.js | 289 + .../main/webapp/assets/js/jquery.cookie.js | 38 + .../webapp/assets/js/jquery.dataTables.min.js | 164 + .../assets/js/jquery.dcjqaccordion.2.7.js | 225 + .../assets/js/jquery.form-validator.min.js | 9 + .../src/main/webapp/assets/js/jquery.js | 6 + .../src/main/webapp/assets/js/jquery.min.js | 5 + .../webapp/assets/js/jquery.nicescroll.js | 113 + .../webapp/assets/js/jquery.scrollTo.min.js | 7 + .../assets/js/jquery.ui.touch-punch.min.js | 11 + .../kindeditor-4.1.10/kindeditor-all-min.js | 355 + .../js/kindeditor-4.1.10/kindeditor-all.js | 10220 ++++++++++++ .../js/kindeditor-4.1.10/kindeditor-min.js | 182 + .../assets/js/kindeditor-4.1.10/kindeditor.js | 5960 +++++++ .../assets/js/kindeditor-4.1.10/lang/ar.js | 233 + .../assets/js/kindeditor-4.1.10/lang/en.js | 232 + .../assets/js/kindeditor-4.1.10/lang/ko.js | 237 + .../assets/js/kindeditor-4.1.10/lang/zh_CN.js | 236 + .../assets/js/kindeditor-4.1.10/lang/zh_TW.js | 235 + .../assets/js/kindeditor-4.1.10/license.txt | 502 + .../plugins/anchor/anchor.js | 46 + .../plugins/autoheight/autoheight.js | 54 + .../plugins/baidumap/baidumap.js | 93 + .../plugins/baidumap/index.html | 83 + .../plugins/baidumap/map.html | 43 + .../plugins/clearhtml/clearhtml.js | 29 + .../js/kindeditor-4.1.10/plugins/code/code.js | 62 + .../plugins/code/prettify.css | 13 + .../plugins/code/prettify.js | 28 + .../plugins/emoticons/emoticons.js | 129 + .../plugins/emoticons/images/0.gif | Bin 0 -> 1810 bytes .../plugins/emoticons/images/1.gif | Bin 0 -> 1582 bytes .../plugins/emoticons/images/10.gif | Bin 0 -> 3716 bytes .../plugins/emoticons/images/100.gif | Bin 0 -> 1780 bytes .../plugins/emoticons/images/101.gif | Bin 0 -> 2443 bytes .../plugins/emoticons/images/102.gif | Bin 0 -> 1446 bytes .../plugins/emoticons/images/103.gif | Bin 0 -> 2166 bytes .../plugins/emoticons/images/104.gif | Bin 0 -> 2169 bytes .../plugins/emoticons/images/105.gif | Bin 0 -> 1277 bytes .../plugins/emoticons/images/106.gif | Bin 0 -> 1041 bytes .../plugins/emoticons/images/107.gif | Bin 0 -> 1058 bytes .../plugins/emoticons/images/108.gif | Bin 0 -> 1046 bytes .../plugins/emoticons/images/109.gif | Bin 0 -> 1081 bytes .../plugins/emoticons/images/11.gif | Bin 0 -> 8033 bytes .../plugins/emoticons/images/110.gif | Bin 0 -> 1082 bytes .../plugins/emoticons/images/111.gif | Bin 0 -> 1039 bytes .../plugins/emoticons/images/112.gif | Bin 0 -> 1111 bytes .../plugins/emoticons/images/113.gif | Bin 0 -> 1015 bytes .../plugins/emoticons/images/114.gif | Bin 0 -> 1003 bytes .../plugins/emoticons/images/115.gif | Bin 0 -> 1061 bytes .../plugins/emoticons/images/116.gif | Bin 0 -> 996 bytes .../plugins/emoticons/images/117.gif | Bin 0 -> 1041 bytes .../plugins/emoticons/images/118.gif | Bin 0 -> 1012 bytes .../plugins/emoticons/images/119.gif | Bin 0 -> 1101 bytes .../plugins/emoticons/images/12.gif | Bin 0 -> 2247 bytes .../plugins/emoticons/images/120.gif | Bin 0 -> 1008 bytes .../plugins/emoticons/images/121.gif | Bin 0 -> 1060 bytes .../plugins/emoticons/images/122.gif | Bin 0 -> 999 bytes .../plugins/emoticons/images/123.gif | Bin 0 -> 1055 bytes .../plugins/emoticons/images/124.gif | Bin 0 -> 1022 bytes .../plugins/emoticons/images/125.gif | Bin 0 -> 1013 bytes .../plugins/emoticons/images/126.gif | Bin 0 -> 1030 bytes .../plugins/emoticons/images/127.gif | Bin 0 -> 956 bytes .../plugins/emoticons/images/128.gif | Bin 0 -> 1022 bytes .../plugins/emoticons/images/129.gif | Bin 0 -> 972 bytes .../plugins/emoticons/images/13.gif | Bin 0 -> 1736 bytes .../plugins/emoticons/images/130.gif | Bin 0 -> 980 bytes .../plugins/emoticons/images/131.gif | Bin 0 -> 945 bytes .../plugins/emoticons/images/132.gif | Bin 0 -> 936 bytes .../plugins/emoticons/images/133.gif | Bin 0 -> 1012 bytes .../plugins/emoticons/images/134.gif | Bin 0 -> 968 bytes .../plugins/emoticons/images/14.gif | Bin 0 -> 4006 bytes .../plugins/emoticons/images/15.gif | Bin 0 -> 1562 bytes .../plugins/emoticons/images/16.gif | Bin 0 -> 1413 bytes .../plugins/emoticons/images/17.gif | Bin 0 -> 3366 bytes .../plugins/emoticons/images/18.gif | Bin 0 -> 8137 bytes .../plugins/emoticons/images/19.gif | Bin 0 -> 8135 bytes .../plugins/emoticons/images/2.gif | Bin 0 -> 1804 bytes .../plugins/emoticons/images/20.gif | Bin 0 -> 1808 bytes .../plugins/emoticons/images/21.gif | Bin 0 -> 1864 bytes .../plugins/emoticons/images/22.gif | Bin 0 -> 3010 bytes .../plugins/emoticons/images/23.gif | Bin 0 -> 1950 bytes .../plugins/emoticons/images/24.gif | Bin 0 -> 2257 bytes .../plugins/emoticons/images/25.gif | Bin 0 -> 2446 bytes .../plugins/emoticons/images/26.gif | Bin 0 -> 4014 bytes .../plugins/emoticons/images/27.gif | Bin 0 -> 2893 bytes .../plugins/emoticons/images/28.gif | Bin 0 -> 3262 bytes .../plugins/emoticons/images/29.gif | Bin 0 -> 5861 bytes .../plugins/emoticons/images/3.gif | Bin 0 -> 1852 bytes .../plugins/emoticons/images/30.gif | Bin 0 -> 1780 bytes .../plugins/emoticons/images/31.gif | Bin 0 -> 5174 bytes .../plugins/emoticons/images/32.gif | Bin 0 -> 7189 bytes .../plugins/emoticons/images/33.gif | Bin 0 -> 4317 bytes .../plugins/emoticons/images/34.gif | Bin 0 -> 2140 bytes .../plugins/emoticons/images/35.gif | Bin 0 -> 13392 bytes .../plugins/emoticons/images/36.gif | Bin 0 -> 1417 bytes .../plugins/emoticons/images/37.gif | Bin 0 -> 1195 bytes .../plugins/emoticons/images/38.gif | Bin 0 -> 1674 bytes .../plugins/emoticons/images/39.gif | Bin 0 -> 1798 bytes .../plugins/emoticons/images/4.gif | Bin 0 -> 1977 bytes .../plugins/emoticons/images/40.gif | Bin 0 -> 10092 bytes .../plugins/emoticons/images/41.gif | Bin 0 -> 3368 bytes .../plugins/emoticons/images/42.gif | Bin 0 -> 13367 bytes .../plugins/emoticons/images/43.gif | Bin 0 -> 4327 bytes .../plugins/emoticons/images/44.gif | Bin 0 -> 1571 bytes .../plugins/emoticons/images/45.gif | Bin 0 -> 4692 bytes .../plugins/emoticons/images/46.gif | Bin 0 -> 5162 bytes .../plugins/emoticons/images/47.gif | Bin 0 -> 3685 bytes .../plugins/emoticons/images/48.gif | Bin 0 -> 1755 bytes .../plugins/emoticons/images/49.gif | Bin 0 -> 6361 bytes .../plugins/emoticons/images/5.gif | Bin 0 -> 1866 bytes .../plugins/emoticons/images/50.gif | Bin 0 -> 3073 bytes .../plugins/emoticons/images/51.gif | Bin 0 -> 3731 bytes .../plugins/emoticons/images/52.gif | Bin 0 -> 1532 bytes .../plugins/emoticons/images/53.gif | Bin 0 -> 2056 bytes .../plugins/emoticons/images/54.gif | Bin 0 -> 2362 bytes .../plugins/emoticons/images/55.gif | Bin 0 -> 1582 bytes .../plugins/emoticons/images/56.gif | Bin 0 -> 1170 bytes .../plugins/emoticons/images/57.gif | Bin 0 -> 5072 bytes .../plugins/emoticons/images/58.gif | Bin 0 -> 2596 bytes .../plugins/emoticons/images/59.gif | Bin 0 -> 1533 bytes .../plugins/emoticons/images/6.gif | Bin 0 -> 3556 bytes .../plugins/emoticons/images/60.gif | Bin 0 -> 2667 bytes .../plugins/emoticons/images/61.gif | Bin 0 -> 1136 bytes .../plugins/emoticons/images/62.gif | Bin 0 -> 1269 bytes .../plugins/emoticons/images/63.gif | Bin 0 -> 971 bytes .../plugins/emoticons/images/64.gif | Bin 0 -> 988 bytes .../plugins/emoticons/images/65.gif | Bin 0 -> 5285 bytes .../plugins/emoticons/images/66.gif | Bin 0 -> 1159 bytes .../plugins/emoticons/images/67.gif | Bin 0 -> 2746 bytes .../plugins/emoticons/images/68.gif | Bin 0 -> 4148 bytes .../plugins/emoticons/images/69.gif | Bin 0 -> 1015 bytes .../plugins/emoticons/images/7.gif | Bin 0 -> 3929 bytes .../plugins/emoticons/images/70.gif | Bin 0 -> 1162 bytes .../plugins/emoticons/images/71.gif | Bin 0 -> 824 bytes .../plugins/emoticons/images/72.gif | Bin 0 -> 3679 bytes .../plugins/emoticons/images/73.gif | Bin 0 -> 2195 bytes .../plugins/emoticons/images/74.gif | Bin 0 -> 2454 bytes .../plugins/emoticons/images/75.gif | Bin 0 -> 1222 bytes .../plugins/emoticons/images/76.gif | Bin 0 -> 1211 bytes .../plugins/emoticons/images/77.gif | Bin 0 -> 1151 bytes .../plugins/emoticons/images/78.gif | Bin 0 -> 1565 bytes .../plugins/emoticons/images/79.gif | Bin 0 -> 1518 bytes .../plugins/emoticons/images/8.gif | Bin 0 -> 4679 bytes .../plugins/emoticons/images/80.gif | Bin 0 -> 1537 bytes .../plugins/emoticons/images/81.gif | Bin 0 -> 1591 bytes .../plugins/emoticons/images/82.gif | Bin 0 -> 1547 bytes .../plugins/emoticons/images/83.gif | Bin 0 -> 1591 bytes .../plugins/emoticons/images/84.gif | Bin 0 -> 3424 bytes .../plugins/emoticons/images/85.gif | Bin 0 -> 1581 bytes .../plugins/emoticons/images/86.gif | Bin 0 -> 1519 bytes .../plugins/emoticons/images/87.gif | Bin 0 -> 1558 bytes .../plugins/emoticons/images/88.gif | Bin 0 -> 2134 bytes .../plugins/emoticons/images/89.gif | Bin 0 -> 1219 bytes .../plugins/emoticons/images/9.gif | Bin 0 -> 3298 bytes .../plugins/emoticons/images/90.gif | Bin 0 -> 2743 bytes .../plugins/emoticons/images/91.gif | Bin 0 -> 654 bytes .../plugins/emoticons/images/92.gif | Bin 0 -> 1377 bytes .../plugins/emoticons/images/93.gif | Bin 0 -> 1119 bytes .../plugins/emoticons/images/94.gif | Bin 0 -> 3426 bytes .../plugins/emoticons/images/95.gif | Bin 0 -> 3011 bytes .../plugins/emoticons/images/96.gif | Bin 0 -> 1796 bytes .../plugins/emoticons/images/97.gif | Bin 0 -> 5300 bytes .../plugins/emoticons/images/98.gif | Bin 0 -> 1629 bytes .../plugins/emoticons/images/99.gif | Bin 0 -> 2261 bytes .../plugins/emoticons/images/static.gif | Bin 0 -> 35504 bytes .../plugins/filemanager/filemanager.js | 189 + .../plugins/filemanager/images/file-16.gif | Bin 0 -> 170 bytes .../plugins/filemanager/images/file-64.gif | Bin 0 -> 1149 bytes .../plugins/filemanager/images/folder-16.gif | Bin 0 -> 226 bytes .../plugins/filemanager/images/folder-64.gif | Bin 0 -> 1272 bytes .../plugins/filemanager/images/go-up.gif | Bin 0 -> 562 bytes .../kindeditor-4.1.10/plugins/flash/flash.js | 161 + .../kindeditor-4.1.10/plugins/image/image.js | 328 + .../plugins/image/images/align_left.gif | Bin 0 -> 639 bytes .../plugins/image/images/align_right.gif | Bin 0 -> 636 bytes .../plugins/image/images/align_top.gif | Bin 0 -> 625 bytes .../plugins/image/images/refresh.png | Bin 0 -> 800 bytes .../plugins/insertfile/insertfile.js | 138 + .../plugins/lineheight/lineheight.js | 38 + .../js/kindeditor-4.1.10/plugins/link/link.js | 66 + .../js/kindeditor-4.1.10/plugins/map/map.html | 57 + .../js/kindeditor-4.1.10/plugins/map/map.js | 137 + .../kindeditor-4.1.10/plugins/media/media.js | 170 + .../plugins/multiimage/images/image.png | Bin 0 -> 1862 bytes .../multiimage/images/select-files-en.png | Bin 0 -> 484 bytes .../multiimage/images/select-files-zh_CN.png | Bin 0 -> 481 bytes .../plugins/multiimage/images/swfupload.swf | Bin 0 -> 12787 bytes .../plugins/multiimage/multiimage.js | 1384 ++ .../plugins/pagebreak/pagebreak.js | 27 + .../plugins/plainpaste/plainpaste.js | 41 + .../plugins/preview/preview.js | 31 + .../plugins/quickformat/quickformat.js | 81 + .../kindeditor-4.1.10/plugins/table/table.js | 712 + .../plugins/template/html/1.html | 14 + .../plugins/template/html/2.html | 42 + .../plugins/template/html/3.html | 36 + .../plugins/template/template.js | 58 + .../plugins/wordpaste/wordpaste.js | 51 + .../themes/common/anchor.gif | Bin 0 -> 371 bytes .../kindeditor-4.1.10/themes/common/blank.gif | Bin 0 -> 43 bytes .../kindeditor-4.1.10/themes/common/flash.gif | Bin 0 -> 1089 bytes .../themes/common/loading.gif | Bin 0 -> 2608 bytes .../kindeditor-4.1.10/themes/common/media.gif | Bin 0 -> 1036 bytes .../js/kindeditor-4.1.10/themes/common/rm.gif | Bin 0 -> 989 bytes .../themes/default/background.png | Bin 0 -> 788 bytes .../themes/default/default.css | 1149 ++ .../themes/default/default.png | Bin 0 -> 8299 bytes .../js/kindeditor-4.1.10/themes/qq/editor.gif | Bin 0 -> 1449 bytes .../js/kindeditor-4.1.10/themes/qq/qq.css | 143 + .../themes/simple/simple.css | 100 + .../main/webapp/assets/js/metisMenu.min.js | 9 + .../webapp/assets/js/moment/moment.min.js | 492 + .../src/main/webapp/assets/js/moment/zh-cn.js | 127 + .../main/webapp/assets/js/passport.common.js | 320 + .../manager/src/main/webapp/assets/js/png.js | 36 + .../manager/src/main/webapp/assets/js/reg.js | 990 ++ .../src/main/webapp/assets/js/sb-admin-2.js | 36 + .../src/main/webapp/assets/js/star-rating.js | 396 + .../main/webapp/assets/js/star-rating.min.js | 10 + .../src/main/webapp/assets/js/tableExport.js | 1528 ++ .../assets/lineicons/fonts/linecons.eot | Bin 0 -> 15572 bytes .../assets/lineicons/fonts/linecons.svg | 469 + .../assets/lineicons/fonts/linecons.ttf | Bin 0 -> 15404 bytes .../assets/lineicons/fonts/linecons.woff | Bin 0 -> 27308 bytes .../main/webapp/assets/lineicons/index.html | 542 + .../main/webapp/assets/lineicons/lte-ie7.js | 72 + .../main/webapp/assets/lineicons/style.css | 175 + .../webapp/js/bootstrap-datetimepicker.js | 1967 +++ .../webapp/js/bootstrap-datetimepicker.min.js | 1 + .../src/main/webapp/js/bootstrap-select.js | 871 + .../main/webapp/js/bootstrap-select.min.js | 8 + .../src/main/webapp/js/bootstrap.min.js | 6 + src/demo/manager/src/main/webapp/js/common.js | 251 + .../webapp/js/dataTables.bootstrap.min.js | 8 + .../main/webapp/js/jquery.dataTables.min.js | 164 + .../manager/src/main/webapp/js/jquery.min.js | 5 + .../src/main/webapp/js/metisMenu.min.js | 9 + .../src/main/webapp/js/multiple-select.js | 788 + .../manager/src/main/webapp/js/sb-admin-2.js | 36 + 1036 files changed, 143988 insertions(+) create mode 100644 src/demo/manager/pom.xml create mode 100644 src/demo/manager/src/main/java/com/dream/common/DateConverter.java create mode 100644 src/demo/manager/src/main/java/com/dream/common/E3Result.java create mode 100644 src/demo/manager/src/main/java/com/dream/common/FastDFSClient.java create mode 100644 src/demo/manager/src/main/java/com/dream/common/JsonUtils.java create mode 100644 src/demo/manager/src/main/java/com/dream/common/MovieRealm.java create mode 100644 src/demo/manager/src/main/java/com/dream/common/NavigationTag.java create mode 100644 src/demo/manager/src/main/java/com/dream/common/Page.java create mode 100644 src/demo/manager/src/main/java/com/dream/controller/AdminController.java create mode 100644 src/demo/manager/src/main/java/com/dream/controller/MovieController.java create mode 100644 src/demo/manager/src/main/java/com/dream/controller/PictureController.java create mode 100644 src/demo/manager/src/main/java/com/dream/controller/UserController.java create mode 100644 src/demo/manager/src/main/java/com/dream/mapper/AdminMapper.java create mode 100644 src/demo/manager/src/main/java/com/dream/mapper/AdminMapper.xml create mode 100644 src/demo/manager/src/main/java/com/dream/mapper/BrowseMapper.java create mode 100644 src/demo/manager/src/main/java/com/dream/mapper/BrowseMapper.xml create mode 100644 src/demo/manager/src/main/java/com/dream/mapper/CategoryMapper.java create mode 100644 src/demo/manager/src/main/java/com/dream/mapper/CategoryMapper.xml create mode 100644 src/demo/manager/src/main/java/com/dream/mapper/MovieMapper.java create mode 100644 src/demo/manager/src/main/java/com/dream/mapper/MovieMapper.xml create mode 100644 src/demo/manager/src/main/java/com/dream/mapper/MoviecategoryMapper.java create mode 100644 src/demo/manager/src/main/java/com/dream/mapper/MoviecategoryMapper.xml create mode 100644 src/demo/manager/src/main/java/com/dream/mapper/RectabMapper.java create mode 100644 src/demo/manager/src/main/java/com/dream/mapper/RectabMapper.xml create mode 100644 src/demo/manager/src/main/java/com/dream/mapper/ReviewMapper.java create mode 100644 src/demo/manager/src/main/java/com/dream/mapper/ReviewMapper.xml create mode 100644 src/demo/manager/src/main/java/com/dream/mapper/UserMapper.java create mode 100644 src/demo/manager/src/main/java/com/dream/mapper/UserMapper.xml create mode 100644 src/demo/manager/src/main/java/com/dream/po/Admin.java create mode 100644 src/demo/manager/src/main/java/com/dream/po/AdminExample.java create mode 100644 src/demo/manager/src/main/java/com/dream/po/Browse.java create mode 100644 src/demo/manager/src/main/java/com/dream/po/BrowseExample.java create mode 100644 src/demo/manager/src/main/java/com/dream/po/Category.java create mode 100644 src/demo/manager/src/main/java/com/dream/po/CategoryExample.java create mode 100644 src/demo/manager/src/main/java/com/dream/po/Movie.java create mode 100644 src/demo/manager/src/main/java/com/dream/po/MovieExample.java create mode 100644 src/demo/manager/src/main/java/com/dream/po/Moviecategory.java create mode 100644 src/demo/manager/src/main/java/com/dream/po/MoviecategoryExample.java create mode 100644 src/demo/manager/src/main/java/com/dream/po/NewMovie.java create mode 100644 src/demo/manager/src/main/java/com/dream/po/Query.java create mode 100644 src/demo/manager/src/main/java/com/dream/po/QueryUser.java create mode 100644 src/demo/manager/src/main/java/com/dream/po/Rectab.java create mode 100644 src/demo/manager/src/main/java/com/dream/po/RectabExample.java create mode 100644 src/demo/manager/src/main/java/com/dream/po/Review.java create mode 100644 src/demo/manager/src/main/java/com/dream/po/ReviewExample.java create mode 100644 src/demo/manager/src/main/java/com/dream/po/User.java create mode 100644 src/demo/manager/src/main/java/com/dream/po/UserExample.java create mode 100644 src/demo/manager/src/main/java/com/dream/service/AdminService.java create mode 100644 src/demo/manager/src/main/java/com/dream/service/MovieService.java create mode 100644 src/demo/manager/src/main/java/com/dream/service/SystemLogoutFilter.java create mode 100644 src/demo/manager/src/main/java/com/dream/service/UserService.java create mode 100644 src/demo/manager/src/main/java/com/dream/service/impl/AdminServiceImpl.java create mode 100644 src/demo/manager/src/main/java/com/dream/service/impl/MovieServiceImpl.java create mode 100644 src/demo/manager/src/main/java/com/dream/service/impl/UserServiceImpl.java create mode 100644 src/demo/manager/src/main/resources/conf/client.conf create mode 100644 src/demo/manager/src/main/resources/jdbc.properties create mode 100644 src/demo/manager/src/main/resources/log4j.properties create mode 100644 src/demo/manager/src/main/resources/mybatis/SqlMapConfig.xml create mode 100644 src/demo/manager/src/main/resources/resource.properties create mode 100644 src/demo/manager/src/main/resources/spring/applicationContext-dao.xml create mode 100644 src/demo/manager/src/main/resources/spring/applicationContext-service.xml create mode 100644 src/demo/manager/src/main/resources/spring/spring-shiro.xml create mode 100644 src/demo/manager/src/main/resources/spring/springmvc.xml create mode 100644 src/demo/manager/src/main/webapp/WEB-INF/jsp/adminLogin.jsp create mode 100644 src/demo/manager/src/main/webapp/WEB-INF/jsp/adminManage.jsp create mode 100644 src/demo/manager/src/main/webapp/WEB-INF/jsp/movieManage.jsp create mode 100644 src/demo/manager/src/main/webapp/WEB-INF/jsp/userManage.jsp create mode 100644 src/demo/manager/src/main/webapp/WEB-INF/tld/commons.tld create mode 100644 src/demo/manager/src/main/webapp/WEB-INF/web.xml create mode 100644 src/demo/manager/src/main/webapp/assets/css/boot-crm.css create mode 100644 src/demo/manager/src/main/webapp/assets/css/bootstrap-datetimepicker.css create mode 100644 src/demo/manager/src/main/webapp/assets/css/bootstrap-datetimepicker.min.css create mode 100644 src/demo/manager/src/main/webapp/assets/css/bootstrap-editable.css create mode 100644 src/demo/manager/src/main/webapp/assets/css/bootstrap-select.css create mode 100644 src/demo/manager/src/main/webapp/assets/css/bootstrap-select.min.css create mode 100644 src/demo/manager/src/main/webapp/assets/css/bootstrap-table-reorder-rows.min.css create mode 100644 src/demo/manager/src/main/webapp/assets/css/bootstrap-table.min.css create mode 100644 src/demo/manager/src/main/webapp/assets/css/bootstrap-tagsinput-typeahead.css create mode 100644 src/demo/manager/src/main/webapp/assets/css/bootstrap-tagsinput.css create mode 100644 src/demo/manager/src/main/webapp/assets/css/bootstrap.css create mode 100644 src/demo/manager/src/main/webapp/assets/css/bootstrap.min.css create mode 100644 src/demo/manager/src/main/webapp/assets/css/dataTables.bootstrap.css create mode 100644 src/demo/manager/src/main/webapp/assets/css/default.css create mode 100644 src/demo/manager/src/main/webapp/assets/css/fileinput.min.css create mode 100644 src/demo/manager/src/main/webapp/assets/css/font-awesome.min.css create mode 100644 src/demo/manager/src/main/webapp/assets/css/jquery-confirm.min.css create mode 100644 src/demo/manager/src/main/webapp/assets/css/jquery.alerts.css create mode 100644 src/demo/manager/src/main/webapp/assets/css/login2.css create mode 100644 src/demo/manager/src/main/webapp/assets/css/metisMenu.min.css create mode 100644 src/demo/manager/src/main/webapp/assets/css/multiple-select.css create mode 100644 src/demo/manager/src/main/webapp/assets/css/sb-admin-2.css create mode 100644 src/demo/manager/src/main/webapp/assets/css/star-rating.css create mode 100644 src/demo/manager/src/main/webapp/assets/css/star-rating.min.css create mode 100644 src/demo/manager/src/main/webapp/assets/css/style-login.css create mode 100644 src/demo/manager/src/main/webapp/assets/css/style-responsive.css create mode 100644 src/demo/manager/src/main/webapp/assets/css/style.css create mode 100644 src/demo/manager/src/main/webapp/assets/css/table-responsive.css create mode 100644 src/demo/manager/src/main/webapp/assets/css/taotao.css create mode 100644 src/demo/manager/src/main/webapp/assets/css/to-do.css create mode 100644 src/demo/manager/src/main/webapp/assets/css/zabuto_calendar.css create mode 100644 src/demo/manager/src/main/webapp/assets/font-awesome/css/font-awesome.css create mode 100644 src/demo/manager/src/main/webapp/assets/font-awesome/fonts/FontAwesome.otf create mode 100644 src/demo/manager/src/main/webapp/assets/font-awesome/fonts/fontawesome-webfont.eot create mode 100644 src/demo/manager/src/main/webapp/assets/font-awesome/fonts/fontawesome-webfont.svg create mode 100644 src/demo/manager/src/main/webapp/assets/font-awesome/fonts/fontawesome-webfont.ttf create mode 100644 src/demo/manager/src/main/webapp/assets/font-awesome/fonts/fontawesome-webfont.woff create mode 100644 src/demo/manager/src/main/webapp/assets/fonts/FontAwesome.otf create mode 100644 src/demo/manager/src/main/webapp/assets/fonts/fontawesome-webfont.eot create mode 100644 src/demo/manager/src/main/webapp/assets/fonts/fontawesome-webfont.svg create mode 100644 src/demo/manager/src/main/webapp/assets/fonts/fontawesome-webfont.ttf create mode 100644 src/demo/manager/src/main/webapp/assets/fonts/fontawesome-webfont.woff create mode 100644 src/demo/manager/src/main/webapp/assets/fonts/glyphicons-halflings-regular.eot create mode 100644 src/demo/manager/src/main/webapp/assets/fonts/glyphicons-halflings-regular.svg create mode 100644 src/demo/manager/src/main/webapp/assets/fonts/glyphicons-halflings-regular.ttf create mode 100644 src/demo/manager/src/main/webapp/assets/fonts/glyphicons-halflings-regular.woff create mode 100644 src/demo/manager/src/main/webapp/assets/img/blog-bg.jpg create mode 100644 src/demo/manager/src/main/webapp/assets/img/checkbox-gray.png create mode 100644 src/demo/manager/src/main/webapp/assets/img/friends/fr-01.jpg create mode 100644 src/demo/manager/src/main/webapp/assets/img/friends/fr-02.jpg create mode 100644 src/demo/manager/src/main/webapp/assets/img/friends/fr-03.jpg create mode 100644 src/demo/manager/src/main/webapp/assets/img/friends/fr-04.jpg create mode 100644 src/demo/manager/src/main/webapp/assets/img/friends/fr-05.jpg create mode 100644 src/demo/manager/src/main/webapp/assets/img/friends/fr-06.jpg create mode 100644 src/demo/manager/src/main/webapp/assets/img/friends/fr-07.jpg create mode 100644 src/demo/manager/src/main/webapp/assets/img/friends/fr-08.jpg create mode 100644 src/demo/manager/src/main/webapp/assets/img/friends/fr-09.jpg create mode 100644 src/demo/manager/src/main/webapp/assets/img/friends/fr-10.jpg create mode 100644 src/demo/manager/src/main/webapp/assets/img/friends/fr-11.jpg create mode 100644 src/demo/manager/src/main/webapp/assets/img/instagram.jpg create mode 100644 src/demo/manager/src/main/webapp/assets/img/login-bg.jpg create mode 100644 src/demo/manager/src/main/webapp/assets/img/loginimg/1.jpg create mode 100644 src/demo/manager/src/main/webapp/assets/img/loginimg/2.jpg create mode 100644 src/demo/manager/src/main/webapp/assets/img/loginimg/3.jpg create mode 100644 src/demo/manager/src/main/webapp/assets/img/lorde.jpg create mode 100644 src/demo/manager/src/main/webapp/assets/img/mask.png create mode 100644 src/demo/manager/src/main/webapp/assets/img/ny.jpg create mode 100644 src/demo/manager/src/main/webapp/assets/img/portfolio/port01.jpg create mode 100644 src/demo/manager/src/main/webapp/assets/img/portfolio/port02.jpg create mode 100644 src/demo/manager/src/main/webapp/assets/img/portfolio/port03.jpg create mode 100644 src/demo/manager/src/main/webapp/assets/img/portfolio/port04.jpg create mode 100644 src/demo/manager/src/main/webapp/assets/img/portfolio/port05.jpg create mode 100644 src/demo/manager/src/main/webapp/assets/img/portfolio/port06.jpg create mode 100644 src/demo/manager/src/main/webapp/assets/img/product.jpg create mode 100644 src/demo/manager/src/main/webapp/assets/img/product.png create mode 100644 src/demo/manager/src/main/webapp/assets/img/profile-01.jpg create mode 100644 src/demo/manager/src/main/webapp/assets/img/profile-02.jpg create mode 100644 src/demo/manager/src/main/webapp/assets/img/radio-gray.png create mode 100644 src/demo/manager/src/main/webapp/assets/img/ui-danro.jpg create mode 100644 src/demo/manager/src/main/webapp/assets/img/ui-divya.jpg create mode 100644 src/demo/manager/src/main/webapp/assets/img/ui-sam.jpg create mode 100644 src/demo/manager/src/main/webapp/assets/img/ui-sherman.jpg create mode 100644 src/demo/manager/src/main/webapp/assets/img/ui-zac.jpg create mode 100644 src/demo/manager/src/main/webapp/assets/img/weather.jpg create mode 100644 src/demo/manager/src/main/webapp/assets/img/zoom.png create mode 100644 src/demo/manager/src/main/webapp/assets/js/allMail.js create mode 100644 src/demo/manager/src/main/webapp/assets/js/bootstrap-datetimepicker.min.js create mode 100644 src/demo/manager/src/main/webapp/assets/js/bootstrap-inputmask/bootstrap-inputmask.min.js create mode 100644 src/demo/manager/src/main/webapp/assets/js/bootstrap-table-export.min.js create mode 100644 src/demo/manager/src/main/webapp/assets/js/bootstrap-table-reorder-rows.min.js create mode 100644 src/demo/manager/src/main/webapp/assets/js/bootstrap-table-zh-CN.min.js create mode 100644 src/demo/manager/src/main/webapp/assets/js/bootstrap-table.min.js create mode 100644 src/demo/manager/src/main/webapp/assets/js/bootstrap-tagsinput.min.js create mode 100644 src/demo/manager/src/main/webapp/assets/js/bootstrap.min.js create mode 100644 src/demo/manager/src/main/webapp/assets/js/capsLock.js create mode 100644 src/demo/manager/src/main/webapp/assets/js/cas.login.js create mode 100644 src/demo/manager/src/main/webapp/assets/js/chart-master/Chart.js create mode 100644 src/demo/manager/src/main/webapp/assets/js/common-scripts.js create mode 100644 src/demo/manager/src/main/webapp/assets/js/common.js create mode 100644 src/demo/manager/src/main/webapp/assets/js/dataTables.bootstrap.min.js create mode 100644 src/demo/manager/src/main/webapp/assets/js/editable/bootstrap-editable.js create mode 100644 src/demo/manager/src/main/webapp/assets/js/editable/bootstrap-table-editable.min.js create mode 100644 src/demo/manager/src/main/webapp/assets/js/fancybox/jquery.fancybox.css create mode 100644 src/demo/manager/src/main/webapp/assets/js/fancybox/jquery.fancybox.js create mode 100644 src/demo/manager/src/main/webapp/assets/js/file_input/fileinput.min.js create mode 100644 src/demo/manager/src/main/webapp/assets/js/file_input/zh.js create mode 100644 src/demo/manager/src/main/webapp/assets/js/fullcalendar/bootstrap-fullcalendar.css create mode 100644 src/demo/manager/src/main/webapp/assets/js/fullcalendar/fullcalendar.min.js create mode 100644 src/demo/manager/src/main/webapp/assets/js/gritter/css/jquery.gritter.css create mode 100644 src/demo/manager/src/main/webapp/assets/js/gritter/css/jquery.gritter0.css create mode 100644 src/demo/manager/src/main/webapp/assets/js/gritter/images/gritter-light.png create mode 100644 src/demo/manager/src/main/webapp/assets/js/gritter/images/gritter-long.png create mode 100644 src/demo/manager/src/main/webapp/assets/js/gritter/images/gritter.png create mode 100644 src/demo/manager/src/main/webapp/assets/js/gritter/images/ie-spacer.gif create mode 100644 src/demo/manager/src/main/webapp/assets/js/gritter/js/jquery.gritter.js create mode 100644 src/demo/manager/src/main/webapp/assets/js/highlight.pack.js create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-1.5.1.min.js create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-confirm.min.js create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easy-pie-chart/jquery.easy-pie-chart.css create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easy-pie-chart/jquery.easy-pie-chart.js create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/changelog.txt create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/accordion/_content.html create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/accordion/actions.html create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/accordion/ajax.html create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/accordion/basic.html create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/accordion/datagrid_data1.json create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/accordion/expandable.html create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/accordion/fluid.html create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/accordion/multiple.html create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/accordion/tools.html create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/calendar/basic.html create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/calendar/custom.html create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/calendar/disabledate.html create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/calendar/firstday.html create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/calendar/fluid.html create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/combo/animation.html create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/combo/basic.html create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/combobox/actions.html create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/combobox/basic.html create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/combobox/combobox_data1.json create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/combobox/combobox_data2.json create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/combobox/customformat.html create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/combobox/dynamicdata.html create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/combobox/fluid.html create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/combobox/group.html create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/combobox/icons.html create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/combobox/multiline.html create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/combobox/multiple.html create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/combobox/navigation.html create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/combobox/remotedata.html create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/combobox/remotejsonp.html create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/combogrid/actions.html create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/combogrid/basic.html create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/combogrid/datagrid_data1.json create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/combogrid/fluid.html create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/combogrid/initvalue.html create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/combogrid/multiple.html create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/combogrid/navigation.html create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/combotree/actions.html create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/combotree/basic.html create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/combotree/fluid.html create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/combotree/initvalue.html create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/combotree/multiple.html create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/combotree/tree_data1.json create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/datagrid/aligncolumns.html create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/datagrid/basic.html create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/datagrid/cacheeditor.html create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/datagrid/cellediting.html create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/datagrid/cellstyle.html create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/datagrid/checkbox.html create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/datagrid/clientpagination.html create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/datagrid/columngroup.html create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/datagrid/complextoolbar.html create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/datagrid/contextmenu.html create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/datagrid/custompager.html create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/datagrid/datagrid_data1.json create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/datagrid/datagrid_data2.json create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/datagrid/fluid.html create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/datagrid/footer.html create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/datagrid/formatcolumns.html create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/datagrid/frozencolumns.html create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/datagrid/frozenrows.html create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/datagrid/mergecells.html create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/datagrid/multisorting.html create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/datagrid/products.json create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/datagrid/rowborder.html create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/datagrid/rowediting.html create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/datagrid/rowstyle.html create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/datagrid/selection.html create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/datagrid/simpletoolbar.html create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/datagrid/transform.html create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/datebox/basic.html create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/datebox/buttons.html create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/datebox/dateformat.html create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/datebox/events.html create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/datebox/fluid.html create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/datebox/restrict.html create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/datebox/sharedcalendar.html create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/datebox/validate.html create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/datetimebox/basic.html create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/datetimebox/fluid.html create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/datetimebox/initvalue.html create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/datetimebox/showseconds.html create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/datetimespinner/basic.html create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/datetimespinner/clearicon.html create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/datetimespinner/fluid.html create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/datetimespinner/format.html create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/demo.css create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/dialog/basic.html create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/dialog/complextoolbar.html create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/dialog/fluid.html create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/dialog/toolbarbuttons.html create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/draggable/basic.html create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/draggable/constrain.html create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/draggable/snap.html create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/droppable/accept.html create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/droppable/basic.html create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/droppable/sort.html create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/easyloader/basic.html create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/filebox/basic.html create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/filebox/buttonalign.html create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/filebox/fluid.html create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/form/basic.html create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/form/form_data1.json create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/form/load.html create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/form/validateonsubmit.html create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/layout/_content.html create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/layout/addremove.html create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/layout/autoheight.html create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/layout/basic.html create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/layout/complex.html create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/layout/datagrid_data1.json create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/layout/fluid.html create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/layout/full.html create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/layout/nestedlayout.html create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/layout/nocollapsible.html create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/layout/propertygrid_data1.json create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/layout/tree_data1.json create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/linkbutton/basic.html create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/linkbutton/fluid.html create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/linkbutton/group.html create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/linkbutton/iconalign.html create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/linkbutton/plain.html create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/linkbutton/size.html create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/linkbutton/style.html create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/linkbutton/toggle.html create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/menu/basic.html create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/menu/customitem.html create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/menu/events.html create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/menubutton/actions.html create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/menubutton/alignment.html create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/menubutton/basic.html create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/messager/alert.html create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/messager/basic.html create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/messager/interactive.html create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/messager/position.html create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/numberbox/basic.html create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/numberbox/fluid.html create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/numberbox/format.html create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/numberbox/range.html create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/numberspinner/basic.html create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/numberspinner/fluid.html create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/numberspinner/increment.html create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/numberspinner/range.html create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/pagination/attaching.html create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/pagination/basic.html create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/pagination/custombuttons.html create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/pagination/layout.html create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/pagination/links.html create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/pagination/simple.html create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/panel/_content.html create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/panel/basic.html create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/panel/customtools.html create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/panel/fluid.html create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/panel/footer.html create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/panel/loadcontent.html create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/panel/nestedpanel.html create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/panel/paneltools.html create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/progressbar/basic.html create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/progressbar/fluid.html create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/propertygrid/basic.html create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/propertygrid/customcolumns.html create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/propertygrid/groupformat.html create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/propertygrid/propertygrid_data1.json create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/resizable/basic.html create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/searchbox/basic.html create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/searchbox/category.html create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/searchbox/fluid.html create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/slider/basic.html create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/slider/fluid.html create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/slider/formattip.html create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/slider/nonlinear.html create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/slider/rule.html create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/slider/vertical.html create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/splitbutton/actions.html create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/splitbutton/basic.html create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/tabs/_content.html create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/tabs/autoheight.html create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/tabs/basic.html create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/tabs/dropdown.html create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/tabs/fixedwidth.html create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/tabs/fluid.html create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/tabs/hover.html create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/tabs/images/modem.png create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/tabs/images/pda.png create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/tabs/images/scanner.png create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/tabs/images/tablet.png create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/tabs/nestedtabs.html create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/tabs/striptools.html create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/tabs/tabimage.html create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/tabs/tabposition.html create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/tabs/tabstools.html create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/tabs/tree_data1.json create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/textbox/basic.html create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/textbox/button.html create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/textbox/clearicon.html create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/textbox/custom.html create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/textbox/fluid.html create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/textbox/icons.html create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/textbox/multiline.html create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/textbox/size.html create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/timespinner/actions.html create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/timespinner/basic.html create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/timespinner/fluid.html create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/timespinner/range.html create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/tooltip/_content.html create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/tooltip/_dialog.html create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/tooltip/ajax.html create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/tooltip/basic.html create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/tooltip/customcontent.html create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/tooltip/customstyle.html create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/tooltip/position.html create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/tooltip/toolbar.html create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/tooltip/tooltipdialog.html create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/tree/actions.html create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/tree/animation.html create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/tree/basic.html create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/tree/checkbox.html create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/tree/contextmenu.html create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/tree/dnd.html create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/tree/editable.html create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/tree/formatting.html create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/tree/icons.html create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/tree/lazyload.html create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/tree/lines.html create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/tree/tree_data1.json create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/tree/tree_data2.json create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/treegrid/actions.html create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/treegrid/basic.html create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/treegrid/clientpagination.html create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/treegrid/contextmenu.html create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/treegrid/editable.html create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/treegrid/fluid.html create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/treegrid/footer.html create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/treegrid/lines.html create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/treegrid/reports.html create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/treegrid/treegrid_data1.json create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/treegrid/treegrid_data2.json create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/treegrid/treegrid_data3.json create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/validatebox/basic.html create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/validatebox/customtooltip.html create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/validatebox/validateonblur.html create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/window/basic.html create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/window/customtools.html create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/window/fluid.html create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/window/footer.html create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/window/inlinewindow.html create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/window/modalwindow.html create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/window/windowlayout.html create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/easyloader.js create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/jquery.easyui.min.js create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/jquery.min.js create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/licence_gpl.txt create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/locale/easyui-lang-af.js create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/locale/easyui-lang-am.js create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/locale/easyui-lang-ar.js create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/locale/easyui-lang-bg.js create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/locale/easyui-lang-ca.js create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/locale/easyui-lang-cs.js create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/locale/easyui-lang-cz.js create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/locale/easyui-lang-da.js create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/locale/easyui-lang-de.js create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/locale/easyui-lang-el.js create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/locale/easyui-lang-en.js create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/locale/easyui-lang-es.js create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/locale/easyui-lang-fr.js create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/locale/easyui-lang-it.js create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/locale/easyui-lang-jp.js create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/locale/easyui-lang-nl.js create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/locale/easyui-lang-pl.js create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/locale/easyui-lang-pt_BR.js create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/locale/easyui-lang-ru.js create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/locale/easyui-lang-sv_SE.js create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/locale/easyui-lang-tr.js create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/locale/easyui-lang-zh_CN.js create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/locale/easyui-lang-zh_TW.js create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/plugins/jquery.accordion.js create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/plugins/jquery.calendar.js create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/plugins/jquery.combo.js create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/plugins/jquery.combobox.js create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/plugins/jquery.combogrid.js create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/plugins/jquery.combotree.js create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/plugins/jquery.datagrid.js create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/plugins/jquery.datebox.js create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/plugins/jquery.datetimebox.js create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/plugins/jquery.datetimespinner.js create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/plugins/jquery.dialog.js create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/plugins/jquery.draggable.js create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/plugins/jquery.droppable.js create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/plugins/jquery.filebox.js create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/plugins/jquery.form.js create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/plugins/jquery.layout.js create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/plugins/jquery.linkbutton.js create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/plugins/jquery.menu.js create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/plugins/jquery.menubutton.js create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/plugins/jquery.messager.js create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/plugins/jquery.numberbox.js create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/plugins/jquery.numberspinner.js create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/plugins/jquery.pagination.js create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/plugins/jquery.panel.js create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/plugins/jquery.parser.js create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/plugins/jquery.progressbar.js create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/plugins/jquery.propertygrid.js create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/plugins/jquery.resizable.js create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/plugins/jquery.searchbox.js create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/plugins/jquery.slider.js create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/plugins/jquery.spinner.js create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/plugins/jquery.splitbutton.js create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/plugins/jquery.tabs.js create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/plugins/jquery.textbox.js create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/plugins/jquery.timespinner.js create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/plugins/jquery.tooltip.js create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/plugins/jquery.tree.js create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/plugins/jquery.treegrid.js create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/plugins/jquery.validatebox.js create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/plugins/jquery.window.js create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/readme.txt create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/src/easyloader.js create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/src/jquery.accordion.js create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/src/jquery.calendar.js create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/src/jquery.combobox.js create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/src/jquery.datebox.js create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/src/jquery.draggable.js create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/src/jquery.droppable.js create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/src/jquery.form.js create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/src/jquery.linkbutton.js create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/src/jquery.menu.js create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/src/jquery.parser.js create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/src/jquery.progressbar.js create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/src/jquery.propertygrid.js create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/src/jquery.resizable.js create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/src/jquery.slider.js create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/src/jquery.tabs.js create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/src/jquery.window.js create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/themes/black/accordion.css create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/themes/black/calendar.css create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/themes/black/combo.css create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/themes/black/combobox.css create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/themes/black/datagrid.css create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/themes/black/datebox.css create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/themes/black/dialog.css create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/themes/black/easyui.css create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/themes/black/filebox.css create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/themes/black/images/accordion_arrows.png create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/themes/black/images/blank.gif create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/themes/black/images/calendar_arrows.png create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/themes/black/images/combo_arrow.png create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/themes/black/images/datagrid_icons.png create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/themes/black/images/datebox_arrow.png create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/themes/black/images/layout_arrows.png create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/themes/black/images/linkbutton_bg.png create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/themes/black/images/loading.gif create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/themes/black/images/menu_arrows.png create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/themes/black/images/messager_icons.png create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/themes/black/images/pagination_icons.png create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/themes/black/images/panel_tools.png create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/themes/black/images/searchbox_button.png create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/themes/black/images/slider_handle.png create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/themes/black/images/spinner_arrows.png create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/themes/black/images/tabs_icons.png create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/themes/black/images/tree_icons.png create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/themes/black/images/validatebox_warning.png create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/themes/black/layout.css create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/themes/black/linkbutton.css create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/themes/black/menu.css create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/themes/black/menubutton.css create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/themes/black/messager.css create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/themes/black/numberbox.css create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/themes/black/pagination.css create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/themes/black/panel.css create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/themes/black/progressbar.css create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/themes/black/propertygrid.css create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/themes/black/searchbox.css create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/themes/black/slider.css create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/themes/black/spinner.css create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/themes/black/splitbutton.css create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/themes/black/tabs.css create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/themes/black/textbox.css create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/themes/black/tooltip.css create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/themes/black/tree.css create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/themes/black/validatebox.css create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/themes/black/window.css create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/themes/bootstrap/accordion.css create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/themes/bootstrap/calendar.css create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/themes/bootstrap/combo.css create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/themes/bootstrap/combobox.css create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/themes/bootstrap/datagrid.css create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/themes/bootstrap/datebox.css create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/themes/bootstrap/dialog.css create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/themes/bootstrap/easyui.css create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/themes/bootstrap/filebox.css create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/themes/bootstrap/images/accordion_arrows.png create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/themes/bootstrap/images/blank.gif create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/themes/bootstrap/images/calendar_arrows.png create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/themes/bootstrap/images/combo_arrow.png create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/themes/bootstrap/images/datagrid_icons.png create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/themes/bootstrap/images/datebox_arrow.png create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/themes/bootstrap/images/layout_arrows.png create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/themes/bootstrap/images/linkbutton_bg.png create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/themes/bootstrap/images/loading.gif create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/themes/bootstrap/images/menu_arrows.png create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/themes/bootstrap/images/messager_icons.png create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/themes/bootstrap/images/pagination_icons.png create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/themes/bootstrap/images/panel_tools.png create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/themes/bootstrap/images/searchbox_button.png create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/themes/bootstrap/images/slider_handle.png create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/themes/bootstrap/images/spinner_arrows.png create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/themes/bootstrap/images/tabs_icons.png create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/themes/bootstrap/images/tree_icons.png create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/themes/bootstrap/images/validatebox_warning.png create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/themes/bootstrap/layout.css create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/themes/bootstrap/linkbutton.css create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/themes/bootstrap/menu.css create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/themes/bootstrap/menubutton.css create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/themes/bootstrap/messager.css create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/themes/bootstrap/numberbox.css create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/themes/bootstrap/pagination.css create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/themes/bootstrap/panel.css create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/themes/bootstrap/progressbar.css create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/themes/bootstrap/propertygrid.css create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/themes/bootstrap/searchbox.css create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/themes/bootstrap/slider.css create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/themes/bootstrap/spinner.css create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/themes/bootstrap/splitbutton.css create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/themes/bootstrap/tabs.css create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/themes/bootstrap/textbox.css create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/themes/bootstrap/tooltip.css create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/themes/bootstrap/tree.css create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/themes/bootstrap/validatebox.css create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/themes/bootstrap/window.css create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/themes/color.css create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/themes/default/accordion.css create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/themes/default/calendar.css create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/themes/default/combo.css create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/themes/default/combobox.css create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/themes/default/datagrid.css create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/themes/default/datebox.css create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/themes/default/dialog.css create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/themes/default/easyui.css create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/themes/default/filebox.css create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/themes/default/images/accordion_arrows.png create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/themes/default/images/blank.gif create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/themes/default/images/calendar_arrows.png create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/themes/default/images/combo_arrow.png create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/themes/default/images/datagrid_icons.png create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/themes/default/images/datebox_arrow.png create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/themes/default/images/layout_arrows.png create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/themes/default/images/linkbutton_bg.png create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/themes/default/images/loading.gif create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/themes/default/images/menu_arrows.png create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/themes/default/images/messager_icons.png create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/themes/default/images/pagination_icons.png create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/themes/default/images/panel_tools.png create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/themes/default/images/searchbox_button.png create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/themes/default/images/slider_handle.png create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/themes/default/images/spinner_arrows.png create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/themes/default/images/tabs_icons.png create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/themes/default/images/tree_icons.png create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/themes/default/images/validatebox_warning.png create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/themes/default/layout.css create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/themes/default/linkbutton.css create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/themes/default/menu.css create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/themes/default/menubutton.css create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/themes/default/messager.css create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/themes/default/numberbox.css create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/themes/default/pagination.css create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/themes/default/panel.css create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/themes/default/progressbar.css create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/themes/default/propertygrid.css create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/themes/default/searchbox.css create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/themes/default/slider.css create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/themes/default/spinner.css create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/themes/default/splitbutton.css create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/themes/default/tabs.css create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/themes/default/textbox.css create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/themes/default/tooltip.css create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/themes/default/tree.css create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/themes/default/validatebox.css create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/themes/default/window.css create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/themes/gray/accordion.css create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/themes/gray/calendar.css create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/themes/gray/combo.css create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/themes/gray/combobox.css create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/themes/gray/datagrid.css create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/themes/gray/datebox.css create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/themes/gray/dialog.css create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/themes/gray/easyui.css create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/themes/gray/filebox.css create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/themes/gray/images/accordion_arrows.png create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/themes/gray/images/blank.gif create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/themes/gray/images/calendar_arrows.png create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/themes/gray/images/combo_arrow.png create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/themes/gray/images/datagrid_icons.png create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/themes/gray/images/datebox_arrow.png create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/themes/gray/images/layout_arrows.png create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/themes/gray/images/linkbutton_bg.png create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/themes/gray/images/loading.gif create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/themes/gray/images/menu_arrows.png create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/themes/gray/images/messager_icons.png create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/themes/gray/images/pagination_icons.png create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/themes/gray/images/panel_tools.png create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/themes/gray/images/searchbox_button.png create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/themes/gray/images/slider_handle.png create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/themes/gray/images/spinner_arrows.png create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/themes/gray/images/tabs_icons.png create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/themes/gray/images/tree_icons.png create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/themes/gray/images/validatebox_warning.png create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/themes/gray/layout.css create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/themes/gray/linkbutton.css create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/themes/gray/menu.css create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/themes/gray/menubutton.css create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/themes/gray/messager.css create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/themes/gray/numberbox.css create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/themes/gray/pagination.css create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/themes/gray/panel.css create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/themes/gray/progressbar.css create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/themes/gray/propertygrid.css create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/themes/gray/searchbox.css create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/themes/gray/slider.css create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/themes/gray/spinner.css create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/themes/gray/splitbutton.css create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/themes/gray/tabs.css create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/themes/gray/textbox.css create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/themes/gray/tooltip.css create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/themes/gray/tree.css create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/themes/gray/validatebox.css create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/themes/gray/window.css create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/themes/icon.css create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/themes/icons/back.png create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/themes/icons/blank.gif create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/themes/icons/cancel.png create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/themes/icons/clear.png create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/themes/icons/cut.png create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/themes/icons/edit_add.png create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/themes/icons/edit_remove.png create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/themes/icons/filesave.png create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/themes/icons/filter.png create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/themes/icons/help.png create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/themes/icons/large_chart.png create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/themes/icons/large_clipart.png create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/themes/icons/large_picture.png create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/themes/icons/large_shapes.png create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/themes/icons/large_smartart.png create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/themes/icons/lock.png create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/themes/icons/man.png create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/themes/icons/mini_add.png create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/themes/icons/mini_edit.png create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/themes/icons/mini_refresh.png create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/themes/icons/no.png create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/themes/icons/ok.png create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/themes/icons/pencil.png create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/themes/icons/print.png create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/themes/icons/redo.png create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/themes/icons/reload.png create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/themes/icons/search.png create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/themes/icons/sum.png create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/themes/icons/tip.png create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/themes/icons/undo.png create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/themes/metro/accordion.css create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/themes/metro/calendar.css create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/themes/metro/combo.css create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/themes/metro/combobox.css create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/themes/metro/datagrid.css create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/themes/metro/datebox.css create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/themes/metro/dialog.css create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/themes/metro/easyui.css create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/themes/metro/filebox.css create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/themes/metro/images/accordion_arrows.png create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/themes/metro/images/blank.gif create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/themes/metro/images/calendar_arrows.png create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/themes/metro/images/combo_arrow.png create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/themes/metro/images/datagrid_icons.png create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/themes/metro/images/datebox_arrow.png create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/themes/metro/images/layout_arrows.png create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/themes/metro/images/linkbutton_bg.png create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/themes/metro/images/loading.gif create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/themes/metro/images/menu_arrows.png create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/themes/metro/images/messager_icons.png create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/themes/metro/images/pagination_icons.png create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/themes/metro/images/panel_tools.png create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/themes/metro/images/searchbox_button.png create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/themes/metro/images/slider_handle.png create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/themes/metro/images/spinner_arrows.png create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/themes/metro/images/tabs_icons.png create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/themes/metro/images/tree_icons.png create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/themes/metro/images/validatebox_warning.png create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/themes/metro/layout.css create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/themes/metro/linkbutton.css create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/themes/metro/menu.css create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/themes/metro/menubutton.css create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/themes/metro/messager.css create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/themes/metro/numberbox.css create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/themes/metro/pagination.css create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/themes/metro/panel.css create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/themes/metro/progressbar.css create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/themes/metro/propertygrid.css create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/themes/metro/searchbox.css create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/themes/metro/slider.css create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/themes/metro/spinner.css create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/themes/metro/splitbutton.css create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/themes/metro/tabs.css create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/themes/metro/textbox.css create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/themes/metro/tooltip.css create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/themes/metro/tree.css create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/themes/metro/validatebox.css create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/themes/metro/window.css create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery-ui-1.9.2.custom.min.js create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery.alerts.js create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery.cookie.js create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery.dataTables.min.js create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery.dcjqaccordion.2.7.js create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery.form-validator.min.js create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery.js create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery.min.js create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery.nicescroll.js create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery.scrollTo.min.js create mode 100644 src/demo/manager/src/main/webapp/assets/js/jquery.ui.touch-punch.min.js create mode 100644 src/demo/manager/src/main/webapp/assets/js/kindeditor-4.1.10/kindeditor-all-min.js create mode 100644 src/demo/manager/src/main/webapp/assets/js/kindeditor-4.1.10/kindeditor-all.js create mode 100644 src/demo/manager/src/main/webapp/assets/js/kindeditor-4.1.10/kindeditor-min.js create mode 100644 src/demo/manager/src/main/webapp/assets/js/kindeditor-4.1.10/kindeditor.js create mode 100644 src/demo/manager/src/main/webapp/assets/js/kindeditor-4.1.10/lang/ar.js create mode 100644 src/demo/manager/src/main/webapp/assets/js/kindeditor-4.1.10/lang/en.js create mode 100644 src/demo/manager/src/main/webapp/assets/js/kindeditor-4.1.10/lang/ko.js create mode 100644 src/demo/manager/src/main/webapp/assets/js/kindeditor-4.1.10/lang/zh_CN.js create mode 100644 src/demo/manager/src/main/webapp/assets/js/kindeditor-4.1.10/lang/zh_TW.js create mode 100644 src/demo/manager/src/main/webapp/assets/js/kindeditor-4.1.10/license.txt create mode 100644 src/demo/manager/src/main/webapp/assets/js/kindeditor-4.1.10/plugins/anchor/anchor.js create mode 100644 src/demo/manager/src/main/webapp/assets/js/kindeditor-4.1.10/plugins/autoheight/autoheight.js create mode 100644 src/demo/manager/src/main/webapp/assets/js/kindeditor-4.1.10/plugins/baidumap/baidumap.js create mode 100644 src/demo/manager/src/main/webapp/assets/js/kindeditor-4.1.10/plugins/baidumap/index.html create mode 100644 src/demo/manager/src/main/webapp/assets/js/kindeditor-4.1.10/plugins/baidumap/map.html create mode 100644 src/demo/manager/src/main/webapp/assets/js/kindeditor-4.1.10/plugins/clearhtml/clearhtml.js create mode 100644 src/demo/manager/src/main/webapp/assets/js/kindeditor-4.1.10/plugins/code/code.js create mode 100644 src/demo/manager/src/main/webapp/assets/js/kindeditor-4.1.10/plugins/code/prettify.css create mode 100644 src/demo/manager/src/main/webapp/assets/js/kindeditor-4.1.10/plugins/code/prettify.js create mode 100644 src/demo/manager/src/main/webapp/assets/js/kindeditor-4.1.10/plugins/emoticons/emoticons.js create mode 100644 src/demo/manager/src/main/webapp/assets/js/kindeditor-4.1.10/plugins/emoticons/images/0.gif create mode 100644 src/demo/manager/src/main/webapp/assets/js/kindeditor-4.1.10/plugins/emoticons/images/1.gif create mode 100644 src/demo/manager/src/main/webapp/assets/js/kindeditor-4.1.10/plugins/emoticons/images/10.gif create mode 100644 src/demo/manager/src/main/webapp/assets/js/kindeditor-4.1.10/plugins/emoticons/images/100.gif create mode 100644 src/demo/manager/src/main/webapp/assets/js/kindeditor-4.1.10/plugins/emoticons/images/101.gif create mode 100644 src/demo/manager/src/main/webapp/assets/js/kindeditor-4.1.10/plugins/emoticons/images/102.gif create mode 100644 src/demo/manager/src/main/webapp/assets/js/kindeditor-4.1.10/plugins/emoticons/images/103.gif create mode 100644 src/demo/manager/src/main/webapp/assets/js/kindeditor-4.1.10/plugins/emoticons/images/104.gif create mode 100644 src/demo/manager/src/main/webapp/assets/js/kindeditor-4.1.10/plugins/emoticons/images/105.gif create mode 100644 src/demo/manager/src/main/webapp/assets/js/kindeditor-4.1.10/plugins/emoticons/images/106.gif create mode 100644 src/demo/manager/src/main/webapp/assets/js/kindeditor-4.1.10/plugins/emoticons/images/107.gif create mode 100644 src/demo/manager/src/main/webapp/assets/js/kindeditor-4.1.10/plugins/emoticons/images/108.gif create mode 100644 src/demo/manager/src/main/webapp/assets/js/kindeditor-4.1.10/plugins/emoticons/images/109.gif create mode 100644 src/demo/manager/src/main/webapp/assets/js/kindeditor-4.1.10/plugins/emoticons/images/11.gif create mode 100644 src/demo/manager/src/main/webapp/assets/js/kindeditor-4.1.10/plugins/emoticons/images/110.gif create mode 100644 src/demo/manager/src/main/webapp/assets/js/kindeditor-4.1.10/plugins/emoticons/images/111.gif create mode 100644 src/demo/manager/src/main/webapp/assets/js/kindeditor-4.1.10/plugins/emoticons/images/112.gif create mode 100644 src/demo/manager/src/main/webapp/assets/js/kindeditor-4.1.10/plugins/emoticons/images/113.gif create mode 100644 src/demo/manager/src/main/webapp/assets/js/kindeditor-4.1.10/plugins/emoticons/images/114.gif create mode 100644 src/demo/manager/src/main/webapp/assets/js/kindeditor-4.1.10/plugins/emoticons/images/115.gif create mode 100644 src/demo/manager/src/main/webapp/assets/js/kindeditor-4.1.10/plugins/emoticons/images/116.gif create mode 100644 src/demo/manager/src/main/webapp/assets/js/kindeditor-4.1.10/plugins/emoticons/images/117.gif create mode 100644 src/demo/manager/src/main/webapp/assets/js/kindeditor-4.1.10/plugins/emoticons/images/118.gif create mode 100644 src/demo/manager/src/main/webapp/assets/js/kindeditor-4.1.10/plugins/emoticons/images/119.gif create mode 100644 src/demo/manager/src/main/webapp/assets/js/kindeditor-4.1.10/plugins/emoticons/images/12.gif create mode 100644 src/demo/manager/src/main/webapp/assets/js/kindeditor-4.1.10/plugins/emoticons/images/120.gif create mode 100644 src/demo/manager/src/main/webapp/assets/js/kindeditor-4.1.10/plugins/emoticons/images/121.gif create mode 100644 src/demo/manager/src/main/webapp/assets/js/kindeditor-4.1.10/plugins/emoticons/images/122.gif create mode 100644 src/demo/manager/src/main/webapp/assets/js/kindeditor-4.1.10/plugins/emoticons/images/123.gif create mode 100644 src/demo/manager/src/main/webapp/assets/js/kindeditor-4.1.10/plugins/emoticons/images/124.gif create mode 100644 src/demo/manager/src/main/webapp/assets/js/kindeditor-4.1.10/plugins/emoticons/images/125.gif create mode 100644 src/demo/manager/src/main/webapp/assets/js/kindeditor-4.1.10/plugins/emoticons/images/126.gif create mode 100644 src/demo/manager/src/main/webapp/assets/js/kindeditor-4.1.10/plugins/emoticons/images/127.gif create mode 100644 src/demo/manager/src/main/webapp/assets/js/kindeditor-4.1.10/plugins/emoticons/images/128.gif create mode 100644 src/demo/manager/src/main/webapp/assets/js/kindeditor-4.1.10/plugins/emoticons/images/129.gif create mode 100644 src/demo/manager/src/main/webapp/assets/js/kindeditor-4.1.10/plugins/emoticons/images/13.gif create mode 100644 src/demo/manager/src/main/webapp/assets/js/kindeditor-4.1.10/plugins/emoticons/images/130.gif create mode 100644 src/demo/manager/src/main/webapp/assets/js/kindeditor-4.1.10/plugins/emoticons/images/131.gif create mode 100644 src/demo/manager/src/main/webapp/assets/js/kindeditor-4.1.10/plugins/emoticons/images/132.gif create mode 100644 src/demo/manager/src/main/webapp/assets/js/kindeditor-4.1.10/plugins/emoticons/images/133.gif create mode 100644 src/demo/manager/src/main/webapp/assets/js/kindeditor-4.1.10/plugins/emoticons/images/134.gif create mode 100644 src/demo/manager/src/main/webapp/assets/js/kindeditor-4.1.10/plugins/emoticons/images/14.gif create mode 100644 src/demo/manager/src/main/webapp/assets/js/kindeditor-4.1.10/plugins/emoticons/images/15.gif create mode 100644 src/demo/manager/src/main/webapp/assets/js/kindeditor-4.1.10/plugins/emoticons/images/16.gif create mode 100644 src/demo/manager/src/main/webapp/assets/js/kindeditor-4.1.10/plugins/emoticons/images/17.gif create mode 100644 src/demo/manager/src/main/webapp/assets/js/kindeditor-4.1.10/plugins/emoticons/images/18.gif create mode 100644 src/demo/manager/src/main/webapp/assets/js/kindeditor-4.1.10/plugins/emoticons/images/19.gif create mode 100644 src/demo/manager/src/main/webapp/assets/js/kindeditor-4.1.10/plugins/emoticons/images/2.gif create mode 100644 src/demo/manager/src/main/webapp/assets/js/kindeditor-4.1.10/plugins/emoticons/images/20.gif create mode 100644 src/demo/manager/src/main/webapp/assets/js/kindeditor-4.1.10/plugins/emoticons/images/21.gif create mode 100644 src/demo/manager/src/main/webapp/assets/js/kindeditor-4.1.10/plugins/emoticons/images/22.gif create mode 100644 src/demo/manager/src/main/webapp/assets/js/kindeditor-4.1.10/plugins/emoticons/images/23.gif create mode 100644 src/demo/manager/src/main/webapp/assets/js/kindeditor-4.1.10/plugins/emoticons/images/24.gif create mode 100644 src/demo/manager/src/main/webapp/assets/js/kindeditor-4.1.10/plugins/emoticons/images/25.gif create mode 100644 src/demo/manager/src/main/webapp/assets/js/kindeditor-4.1.10/plugins/emoticons/images/26.gif create mode 100644 src/demo/manager/src/main/webapp/assets/js/kindeditor-4.1.10/plugins/emoticons/images/27.gif create mode 100644 src/demo/manager/src/main/webapp/assets/js/kindeditor-4.1.10/plugins/emoticons/images/28.gif create mode 100644 src/demo/manager/src/main/webapp/assets/js/kindeditor-4.1.10/plugins/emoticons/images/29.gif create mode 100644 src/demo/manager/src/main/webapp/assets/js/kindeditor-4.1.10/plugins/emoticons/images/3.gif create mode 100644 src/demo/manager/src/main/webapp/assets/js/kindeditor-4.1.10/plugins/emoticons/images/30.gif create mode 100644 src/demo/manager/src/main/webapp/assets/js/kindeditor-4.1.10/plugins/emoticons/images/31.gif create mode 100644 src/demo/manager/src/main/webapp/assets/js/kindeditor-4.1.10/plugins/emoticons/images/32.gif create mode 100644 src/demo/manager/src/main/webapp/assets/js/kindeditor-4.1.10/plugins/emoticons/images/33.gif create mode 100644 src/demo/manager/src/main/webapp/assets/js/kindeditor-4.1.10/plugins/emoticons/images/34.gif create mode 100644 src/demo/manager/src/main/webapp/assets/js/kindeditor-4.1.10/plugins/emoticons/images/35.gif create mode 100644 src/demo/manager/src/main/webapp/assets/js/kindeditor-4.1.10/plugins/emoticons/images/36.gif create mode 100644 src/demo/manager/src/main/webapp/assets/js/kindeditor-4.1.10/plugins/emoticons/images/37.gif create mode 100644 src/demo/manager/src/main/webapp/assets/js/kindeditor-4.1.10/plugins/emoticons/images/38.gif create mode 100644 src/demo/manager/src/main/webapp/assets/js/kindeditor-4.1.10/plugins/emoticons/images/39.gif create mode 100644 src/demo/manager/src/main/webapp/assets/js/kindeditor-4.1.10/plugins/emoticons/images/4.gif create mode 100644 src/demo/manager/src/main/webapp/assets/js/kindeditor-4.1.10/plugins/emoticons/images/40.gif create mode 100644 src/demo/manager/src/main/webapp/assets/js/kindeditor-4.1.10/plugins/emoticons/images/41.gif create mode 100644 src/demo/manager/src/main/webapp/assets/js/kindeditor-4.1.10/plugins/emoticons/images/42.gif create mode 100644 src/demo/manager/src/main/webapp/assets/js/kindeditor-4.1.10/plugins/emoticons/images/43.gif create mode 100644 src/demo/manager/src/main/webapp/assets/js/kindeditor-4.1.10/plugins/emoticons/images/44.gif create mode 100644 src/demo/manager/src/main/webapp/assets/js/kindeditor-4.1.10/plugins/emoticons/images/45.gif create mode 100644 src/demo/manager/src/main/webapp/assets/js/kindeditor-4.1.10/plugins/emoticons/images/46.gif create mode 100644 src/demo/manager/src/main/webapp/assets/js/kindeditor-4.1.10/plugins/emoticons/images/47.gif create mode 100644 src/demo/manager/src/main/webapp/assets/js/kindeditor-4.1.10/plugins/emoticons/images/48.gif create mode 100644 src/demo/manager/src/main/webapp/assets/js/kindeditor-4.1.10/plugins/emoticons/images/49.gif create mode 100644 src/demo/manager/src/main/webapp/assets/js/kindeditor-4.1.10/plugins/emoticons/images/5.gif create mode 100644 src/demo/manager/src/main/webapp/assets/js/kindeditor-4.1.10/plugins/emoticons/images/50.gif create mode 100644 src/demo/manager/src/main/webapp/assets/js/kindeditor-4.1.10/plugins/emoticons/images/51.gif create mode 100644 src/demo/manager/src/main/webapp/assets/js/kindeditor-4.1.10/plugins/emoticons/images/52.gif create mode 100644 src/demo/manager/src/main/webapp/assets/js/kindeditor-4.1.10/plugins/emoticons/images/53.gif create mode 100644 src/demo/manager/src/main/webapp/assets/js/kindeditor-4.1.10/plugins/emoticons/images/54.gif create mode 100644 src/demo/manager/src/main/webapp/assets/js/kindeditor-4.1.10/plugins/emoticons/images/55.gif create mode 100644 src/demo/manager/src/main/webapp/assets/js/kindeditor-4.1.10/plugins/emoticons/images/56.gif create mode 100644 src/demo/manager/src/main/webapp/assets/js/kindeditor-4.1.10/plugins/emoticons/images/57.gif create mode 100644 src/demo/manager/src/main/webapp/assets/js/kindeditor-4.1.10/plugins/emoticons/images/58.gif create mode 100644 src/demo/manager/src/main/webapp/assets/js/kindeditor-4.1.10/plugins/emoticons/images/59.gif create mode 100644 src/demo/manager/src/main/webapp/assets/js/kindeditor-4.1.10/plugins/emoticons/images/6.gif create mode 100644 src/demo/manager/src/main/webapp/assets/js/kindeditor-4.1.10/plugins/emoticons/images/60.gif create mode 100644 src/demo/manager/src/main/webapp/assets/js/kindeditor-4.1.10/plugins/emoticons/images/61.gif create mode 100644 src/demo/manager/src/main/webapp/assets/js/kindeditor-4.1.10/plugins/emoticons/images/62.gif create mode 100644 src/demo/manager/src/main/webapp/assets/js/kindeditor-4.1.10/plugins/emoticons/images/63.gif create mode 100644 src/demo/manager/src/main/webapp/assets/js/kindeditor-4.1.10/plugins/emoticons/images/64.gif create mode 100644 src/demo/manager/src/main/webapp/assets/js/kindeditor-4.1.10/plugins/emoticons/images/65.gif create mode 100644 src/demo/manager/src/main/webapp/assets/js/kindeditor-4.1.10/plugins/emoticons/images/66.gif create mode 100644 src/demo/manager/src/main/webapp/assets/js/kindeditor-4.1.10/plugins/emoticons/images/67.gif create mode 100644 src/demo/manager/src/main/webapp/assets/js/kindeditor-4.1.10/plugins/emoticons/images/68.gif create mode 100644 src/demo/manager/src/main/webapp/assets/js/kindeditor-4.1.10/plugins/emoticons/images/69.gif create mode 100644 src/demo/manager/src/main/webapp/assets/js/kindeditor-4.1.10/plugins/emoticons/images/7.gif create mode 100644 src/demo/manager/src/main/webapp/assets/js/kindeditor-4.1.10/plugins/emoticons/images/70.gif create mode 100644 src/demo/manager/src/main/webapp/assets/js/kindeditor-4.1.10/plugins/emoticons/images/71.gif create mode 100644 src/demo/manager/src/main/webapp/assets/js/kindeditor-4.1.10/plugins/emoticons/images/72.gif create mode 100644 src/demo/manager/src/main/webapp/assets/js/kindeditor-4.1.10/plugins/emoticons/images/73.gif create mode 100644 src/demo/manager/src/main/webapp/assets/js/kindeditor-4.1.10/plugins/emoticons/images/74.gif create mode 100644 src/demo/manager/src/main/webapp/assets/js/kindeditor-4.1.10/plugins/emoticons/images/75.gif create mode 100644 src/demo/manager/src/main/webapp/assets/js/kindeditor-4.1.10/plugins/emoticons/images/76.gif create mode 100644 src/demo/manager/src/main/webapp/assets/js/kindeditor-4.1.10/plugins/emoticons/images/77.gif create mode 100644 src/demo/manager/src/main/webapp/assets/js/kindeditor-4.1.10/plugins/emoticons/images/78.gif create mode 100644 src/demo/manager/src/main/webapp/assets/js/kindeditor-4.1.10/plugins/emoticons/images/79.gif create mode 100644 src/demo/manager/src/main/webapp/assets/js/kindeditor-4.1.10/plugins/emoticons/images/8.gif create mode 100644 src/demo/manager/src/main/webapp/assets/js/kindeditor-4.1.10/plugins/emoticons/images/80.gif create mode 100644 src/demo/manager/src/main/webapp/assets/js/kindeditor-4.1.10/plugins/emoticons/images/81.gif create mode 100644 src/demo/manager/src/main/webapp/assets/js/kindeditor-4.1.10/plugins/emoticons/images/82.gif create mode 100644 src/demo/manager/src/main/webapp/assets/js/kindeditor-4.1.10/plugins/emoticons/images/83.gif create mode 100644 src/demo/manager/src/main/webapp/assets/js/kindeditor-4.1.10/plugins/emoticons/images/84.gif create mode 100644 src/demo/manager/src/main/webapp/assets/js/kindeditor-4.1.10/plugins/emoticons/images/85.gif create mode 100644 src/demo/manager/src/main/webapp/assets/js/kindeditor-4.1.10/plugins/emoticons/images/86.gif create mode 100644 src/demo/manager/src/main/webapp/assets/js/kindeditor-4.1.10/plugins/emoticons/images/87.gif create mode 100644 src/demo/manager/src/main/webapp/assets/js/kindeditor-4.1.10/plugins/emoticons/images/88.gif create mode 100644 src/demo/manager/src/main/webapp/assets/js/kindeditor-4.1.10/plugins/emoticons/images/89.gif create mode 100644 src/demo/manager/src/main/webapp/assets/js/kindeditor-4.1.10/plugins/emoticons/images/9.gif create mode 100644 src/demo/manager/src/main/webapp/assets/js/kindeditor-4.1.10/plugins/emoticons/images/90.gif create mode 100644 src/demo/manager/src/main/webapp/assets/js/kindeditor-4.1.10/plugins/emoticons/images/91.gif create mode 100644 src/demo/manager/src/main/webapp/assets/js/kindeditor-4.1.10/plugins/emoticons/images/92.gif create mode 100644 src/demo/manager/src/main/webapp/assets/js/kindeditor-4.1.10/plugins/emoticons/images/93.gif create mode 100644 src/demo/manager/src/main/webapp/assets/js/kindeditor-4.1.10/plugins/emoticons/images/94.gif create mode 100644 src/demo/manager/src/main/webapp/assets/js/kindeditor-4.1.10/plugins/emoticons/images/95.gif create mode 100644 src/demo/manager/src/main/webapp/assets/js/kindeditor-4.1.10/plugins/emoticons/images/96.gif create mode 100644 src/demo/manager/src/main/webapp/assets/js/kindeditor-4.1.10/plugins/emoticons/images/97.gif create mode 100644 src/demo/manager/src/main/webapp/assets/js/kindeditor-4.1.10/plugins/emoticons/images/98.gif create mode 100644 src/demo/manager/src/main/webapp/assets/js/kindeditor-4.1.10/plugins/emoticons/images/99.gif create mode 100644 src/demo/manager/src/main/webapp/assets/js/kindeditor-4.1.10/plugins/emoticons/images/static.gif create mode 100644 src/demo/manager/src/main/webapp/assets/js/kindeditor-4.1.10/plugins/filemanager/filemanager.js create mode 100644 src/demo/manager/src/main/webapp/assets/js/kindeditor-4.1.10/plugins/filemanager/images/file-16.gif create mode 100644 src/demo/manager/src/main/webapp/assets/js/kindeditor-4.1.10/plugins/filemanager/images/file-64.gif create mode 100644 src/demo/manager/src/main/webapp/assets/js/kindeditor-4.1.10/plugins/filemanager/images/folder-16.gif create mode 100644 src/demo/manager/src/main/webapp/assets/js/kindeditor-4.1.10/plugins/filemanager/images/folder-64.gif create mode 100644 src/demo/manager/src/main/webapp/assets/js/kindeditor-4.1.10/plugins/filemanager/images/go-up.gif create mode 100644 src/demo/manager/src/main/webapp/assets/js/kindeditor-4.1.10/plugins/flash/flash.js create mode 100644 src/demo/manager/src/main/webapp/assets/js/kindeditor-4.1.10/plugins/image/image.js create mode 100644 src/demo/manager/src/main/webapp/assets/js/kindeditor-4.1.10/plugins/image/images/align_left.gif create mode 100644 src/demo/manager/src/main/webapp/assets/js/kindeditor-4.1.10/plugins/image/images/align_right.gif create mode 100644 src/demo/manager/src/main/webapp/assets/js/kindeditor-4.1.10/plugins/image/images/align_top.gif create mode 100644 src/demo/manager/src/main/webapp/assets/js/kindeditor-4.1.10/plugins/image/images/refresh.png create mode 100644 src/demo/manager/src/main/webapp/assets/js/kindeditor-4.1.10/plugins/insertfile/insertfile.js create mode 100644 src/demo/manager/src/main/webapp/assets/js/kindeditor-4.1.10/plugins/lineheight/lineheight.js create mode 100644 src/demo/manager/src/main/webapp/assets/js/kindeditor-4.1.10/plugins/link/link.js create mode 100644 src/demo/manager/src/main/webapp/assets/js/kindeditor-4.1.10/plugins/map/map.html create mode 100644 src/demo/manager/src/main/webapp/assets/js/kindeditor-4.1.10/plugins/map/map.js create mode 100644 src/demo/manager/src/main/webapp/assets/js/kindeditor-4.1.10/plugins/media/media.js create mode 100644 src/demo/manager/src/main/webapp/assets/js/kindeditor-4.1.10/plugins/multiimage/images/image.png create mode 100644 src/demo/manager/src/main/webapp/assets/js/kindeditor-4.1.10/plugins/multiimage/images/select-files-en.png create mode 100644 src/demo/manager/src/main/webapp/assets/js/kindeditor-4.1.10/plugins/multiimage/images/select-files-zh_CN.png create mode 100644 src/demo/manager/src/main/webapp/assets/js/kindeditor-4.1.10/plugins/multiimage/images/swfupload.swf create mode 100644 src/demo/manager/src/main/webapp/assets/js/kindeditor-4.1.10/plugins/multiimage/multiimage.js create mode 100644 src/demo/manager/src/main/webapp/assets/js/kindeditor-4.1.10/plugins/pagebreak/pagebreak.js create mode 100644 src/demo/manager/src/main/webapp/assets/js/kindeditor-4.1.10/plugins/plainpaste/plainpaste.js create mode 100644 src/demo/manager/src/main/webapp/assets/js/kindeditor-4.1.10/plugins/preview/preview.js create mode 100644 src/demo/manager/src/main/webapp/assets/js/kindeditor-4.1.10/plugins/quickformat/quickformat.js create mode 100644 src/demo/manager/src/main/webapp/assets/js/kindeditor-4.1.10/plugins/table/table.js create mode 100644 src/demo/manager/src/main/webapp/assets/js/kindeditor-4.1.10/plugins/template/html/1.html create mode 100644 src/demo/manager/src/main/webapp/assets/js/kindeditor-4.1.10/plugins/template/html/2.html create mode 100644 src/demo/manager/src/main/webapp/assets/js/kindeditor-4.1.10/plugins/template/html/3.html create mode 100644 src/demo/manager/src/main/webapp/assets/js/kindeditor-4.1.10/plugins/template/template.js create mode 100644 src/demo/manager/src/main/webapp/assets/js/kindeditor-4.1.10/plugins/wordpaste/wordpaste.js create mode 100644 src/demo/manager/src/main/webapp/assets/js/kindeditor-4.1.10/themes/common/anchor.gif create mode 100644 src/demo/manager/src/main/webapp/assets/js/kindeditor-4.1.10/themes/common/blank.gif create mode 100644 src/demo/manager/src/main/webapp/assets/js/kindeditor-4.1.10/themes/common/flash.gif create mode 100644 src/demo/manager/src/main/webapp/assets/js/kindeditor-4.1.10/themes/common/loading.gif create mode 100644 src/demo/manager/src/main/webapp/assets/js/kindeditor-4.1.10/themes/common/media.gif create mode 100644 src/demo/manager/src/main/webapp/assets/js/kindeditor-4.1.10/themes/common/rm.gif create mode 100644 src/demo/manager/src/main/webapp/assets/js/kindeditor-4.1.10/themes/default/background.png create mode 100644 src/demo/manager/src/main/webapp/assets/js/kindeditor-4.1.10/themes/default/default.css create mode 100644 src/demo/manager/src/main/webapp/assets/js/kindeditor-4.1.10/themes/default/default.png create mode 100644 src/demo/manager/src/main/webapp/assets/js/kindeditor-4.1.10/themes/qq/editor.gif create mode 100644 src/demo/manager/src/main/webapp/assets/js/kindeditor-4.1.10/themes/qq/qq.css create mode 100644 src/demo/manager/src/main/webapp/assets/js/kindeditor-4.1.10/themes/simple/simple.css create mode 100644 src/demo/manager/src/main/webapp/assets/js/metisMenu.min.js create mode 100644 src/demo/manager/src/main/webapp/assets/js/moment/moment.min.js create mode 100644 src/demo/manager/src/main/webapp/assets/js/moment/zh-cn.js create mode 100644 src/demo/manager/src/main/webapp/assets/js/passport.common.js create mode 100644 src/demo/manager/src/main/webapp/assets/js/png.js create mode 100644 src/demo/manager/src/main/webapp/assets/js/reg.js create mode 100644 src/demo/manager/src/main/webapp/assets/js/sb-admin-2.js create mode 100644 src/demo/manager/src/main/webapp/assets/js/star-rating.js create mode 100644 src/demo/manager/src/main/webapp/assets/js/star-rating.min.js create mode 100644 src/demo/manager/src/main/webapp/assets/js/tableExport.js create mode 100644 src/demo/manager/src/main/webapp/assets/lineicons/fonts/linecons.eot create mode 100644 src/demo/manager/src/main/webapp/assets/lineicons/fonts/linecons.svg create mode 100644 src/demo/manager/src/main/webapp/assets/lineicons/fonts/linecons.ttf create mode 100644 src/demo/manager/src/main/webapp/assets/lineicons/fonts/linecons.woff create mode 100644 src/demo/manager/src/main/webapp/assets/lineicons/index.html create mode 100644 src/demo/manager/src/main/webapp/assets/lineicons/lte-ie7.js create mode 100644 src/demo/manager/src/main/webapp/assets/lineicons/style.css create mode 100644 src/demo/manager/src/main/webapp/js/bootstrap-datetimepicker.js create mode 100644 src/demo/manager/src/main/webapp/js/bootstrap-datetimepicker.min.js create mode 100644 src/demo/manager/src/main/webapp/js/bootstrap-select.js create mode 100644 src/demo/manager/src/main/webapp/js/bootstrap-select.min.js create mode 100644 src/demo/manager/src/main/webapp/js/bootstrap.min.js create mode 100644 src/demo/manager/src/main/webapp/js/common.js create mode 100644 src/demo/manager/src/main/webapp/js/dataTables.bootstrap.min.js create mode 100644 src/demo/manager/src/main/webapp/js/jquery.dataTables.min.js create mode 100644 src/demo/manager/src/main/webapp/js/jquery.min.js create mode 100644 src/demo/manager/src/main/webapp/js/metisMenu.min.js create mode 100644 src/demo/manager/src/main/webapp/js/multiple-select.js create mode 100644 src/demo/manager/src/main/webapp/js/sb-admin-2.js diff --git a/src/demo/manager/pom.xml b/src/demo/manager/pom.xml new file mode 100644 index 00000000..d21d5d6c --- /dev/null +++ b/src/demo/manager/pom.xml @@ -0,0 +1,270 @@ + + + + + + 4.0.0 + war + + MovieManager + com.dream + MovieManager + 1.0-SNAPSHOT + + http://maven.apache.org + + + + + junit + junit + 4.11 + + + + + com.alibaba + druid + 1.0.9 + + + + + jstl + jstl + 1.2 + + + javax.servlet + servlet-api + 2.5 + provided + + + javax.servlet + jsp-api + 2.0 + provided + + + + + + ch.qos.logback + logback-classic + 1.1.1 + + + + + mysql + mysql-connector-java + 5.1.37 + runtime + + + c3p0 + c3p0 + 0.9.1.2 + + + + + org.mybatis + mybatis + 3.2.7 + + + org.mybatis + mybatis-spring + 1.2.2 + + + + + taglibs + standard + 1.1.2 + + + jstl + jstl + 1.2 + + + com.fasterxml.jackson.core + jackson-databind + 2.5.4 + + + javax.servlet + javax.servlet-api + 3.1.0 + + + + + + org.springframework + spring-core + 4.1.3.RELEASE + + + org.springframework + spring-beans + 4.1.3.RELEASE + + + org.springframework + spring-context + 4.1.3.RELEASE + + + + org.springframework + spring-jdbc + 4.1.3.RELEASE + + + org.springframework + spring-tx + 4.1.3.RELEASE + + + + org.springframework + spring-web + 4.1.3.RELEASE + + + org.springframework + spring-webmvc + 4.1.3.RELEASE + + + + org.springframework + spring-test + 4.1.3.RELEASE + + + + + org.apache.commons + commons-lang3 + 3.3.2 + + + org.apache.commons + commons-io + 1.3.2 + + + commons-net + commons-net + 3.3 + + + + + redis.clients + jedis + 2.7.3 + + + com.dyuproject.protostuff + protostuff-core + 1.0.8 + + + com.dyuproject.protostuff + protostuff-runtime + 1.0.8 + + + + + commons-collections + commons-collections + 3.2 + + + + + commons-fileupload + commons-fileupload + 1.3.1 + + + + fastdfs_client + fastdfs_client + 1.25 + + + + + org.apache.shiro + shiro-core + 1.4.0 + + + org.apache.shiro + shiro-spring + 1.4.0 + + + + + + + src/main/java + + **/*.properties + **/*.xml + + false + + + + + + org.apache.maven.plugins + maven-resources-plugin + 2.7 + + UTF-8 + + + + + org.apache.maven.plugins + maven-compiler-plugin + 3.2 + + 1.7 + 1.7 + UTF-8 + + + + MovieManager + + diff --git a/src/demo/manager/src/main/java/com/dream/common/DateConverter.java b/src/demo/manager/src/main/java/com/dream/common/DateConverter.java new file mode 100644 index 00000000..eb2776a8 --- /dev/null +++ b/src/demo/manager/src/main/java/com/dream/common/DateConverter.java @@ -0,0 +1,22 @@ +package com.dream.common; + + +import org.springframework.core.convert.converter.Converter; + +import java.text.ParseException; +import java.text.SimpleDateFormat; +import java.util.Date; + +public class DateConverter implements Converter { + @Override + public Date convert(String source) { + SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd"); + dateFormat.setLenient(false); + try { + return dateFormat.parse(source); + } catch (ParseException e) { + e.printStackTrace(); + } + return null; + } +} \ No newline at end of file diff --git a/src/demo/manager/src/main/java/com/dream/common/E3Result.java b/src/demo/manager/src/main/java/com/dream/common/E3Result.java new file mode 100644 index 00000000..13efb557 --- /dev/null +++ b/src/demo/manager/src/main/java/com/dream/common/E3Result.java @@ -0,0 +1,148 @@ +package com.dream.common; + +import com.fasterxml.jackson.databind.JsonNode; +import com.fasterxml.jackson.databind.ObjectMapper; + +import java.io.Serializable; +import java.util.List; + +public class E3Result implements Serializable { + + // 定义jackson对象 + private static final ObjectMapper MAPPER = new ObjectMapper(); + + // 响应业务状态 + private Integer status; + + // 响应消息 + private String msg; + + // 响应中的数据 + private Object data; + + public static E3Result build(Integer status, String msg, Object data) { + return new E3Result(status, msg, data); + } + + public static E3Result ok(Object data) { + return new E3Result(data); + } + + public static E3Result ok() { + return new E3Result(null); + } + + public E3Result() { + + } + + public static E3Result build(Integer status, String msg) { + return new E3Result(status, msg, null); + } + + public E3Result(Integer status, String msg, Object data) { + this.status = status; + this.msg = msg; + this.data = data; + } + + public E3Result(Object data) { + this.status = 200; + this.msg = "OK"; + this.data = data; + } + +// public Boolean isOK() { +// return this.status == 200; +// } + + public Integer getStatus() { + return status; + } + + public void setStatus(Integer status) { + this.status = status; + } + + public String getMsg() { + return msg; + } + + public void setMsg(String msg) { + this.msg = msg; + } + + public Object getData() { + return data; + } + + public void setData(Object data) { + this.data = data; + } + + /** + * 将json结果集转化为TaotaoResult对象 + * + * @param jsonData json数据 + * @param clazz TaotaoResult中的object类型 + * @return + */ + public static E3Result formatToPojo(String jsonData, Class clazz) { + try { + if (clazz == null) { + return MAPPER.readValue(jsonData, E3Result.class); + } + JsonNode jsonNode = MAPPER.readTree(jsonData); + JsonNode data = jsonNode.get("data"); + Object obj = null; + if (clazz != null) { + if (data.isObject()) { + obj = MAPPER.readValue(data.traverse(), clazz); + } else if (data.isTextual()) { + obj = MAPPER.readValue(data.asText(), clazz); + } + } + return build(jsonNode.get("status").intValue(), jsonNode.get("msg").asText(), obj); + } catch (Exception e) { + return null; + } + } + + /** + * 没有object对象的转化 + * + * @param json + * @return + */ + public static E3Result format(String json) { + try { + return MAPPER.readValue(json, E3Result.class); + } catch (Exception e) { + e.printStackTrace(); + } + return null; + } + + /** + * Object是集合转化 + * + * @param jsonData json数据 + * @param clazz 集合中的类型 + * @return + */ + public static E3Result formatToList(String jsonData, Class clazz) { + try { + JsonNode jsonNode = MAPPER.readTree(jsonData); + JsonNode data = jsonNode.get("data"); + Object obj = null; + if (data.isArray() && data.size() > 0) { + obj = MAPPER.readValue(data.traverse(), + MAPPER.getTypeFactory().constructCollectionType(List.class, clazz)); + } + return build(jsonNode.get("status").intValue(), jsonNode.get("msg").asText(), obj); + } catch (Exception e) { + return null; + } + } + +} diff --git a/src/demo/manager/src/main/java/com/dream/common/FastDFSClient.java b/src/demo/manager/src/main/java/com/dream/common/FastDFSClient.java new file mode 100644 index 00000000..264f1778 --- /dev/null +++ b/src/demo/manager/src/main/java/com/dream/common/FastDFSClient.java @@ -0,0 +1,74 @@ +package com.dream.common; + +import org.csource.common.NameValuePair; +import org.csource.fastdfs.ClientGlobal; +import org.csource.fastdfs.StorageClient1; +import org.csource.fastdfs.StorageServer; +import org.csource.fastdfs.TrackerClient; +import org.csource.fastdfs.TrackerServer; + +public class FastDFSClient { + + private TrackerClient trackerClient = null; + private TrackerServer trackerServer = null; + private StorageServer storageServer = null; + private StorageClient1 storageClient = null; + + public FastDFSClient(String conf) throws Exception { + if (conf.contains("classpath:")) { + conf = conf.replace("classpath:", this.getClass().getResource("/").getPath()); + } + ClientGlobal.init(conf); + trackerClient = new TrackerClient(); + trackerServer = trackerClient.getConnection(); + storageServer = null; + storageClient = new StorageClient1(trackerServer, storageServer); + } + + /** + * 上传文件方法 + *

Title: uploadFile

+ *

Description:

+ * @param fileName 文件全路径 + * @param extName 文件扩展名,不包含(.) + * @param metas 文件扩展信息 + * @return + * @throws Exception + */ + public String uploadFile(String fileName, String extName, NameValuePair[] metas) throws Exception { + String result = storageClient.upload_file1(fileName, extName, metas); + return result; + } + + public String uploadFile(String fileName) throws Exception { + return uploadFile(fileName, null, null); + } + + public String uploadFile(String fileName, String extName) throws Exception { + return uploadFile(fileName, extName, null); + } + + /** + * 上传文件方法 + *

Title: uploadFile

+ *

Description:

+ * @param fileContent 文件的内容,字节数组 + * @param extName 文件扩展名 + * @param metas 文件扩展信息 + * @return + * @throws Exception + */ + public String uploadFile(byte[] fileContent, String extName, NameValuePair[] metas) throws Exception { + + String result = storageClient.upload_file1(fileContent, extName, metas); + return result; + } + + public String uploadFile(byte[] fileContent) throws Exception { + return uploadFile(fileContent, null, null); + } + + public String uploadFile(byte[] fileContent, String extName) throws Exception { + return uploadFile(fileContent, extName, null); + } +} diff --git a/src/demo/manager/src/main/java/com/dream/common/JsonUtils.java b/src/demo/manager/src/main/java/com/dream/common/JsonUtils.java new file mode 100644 index 00000000..0338383e --- /dev/null +++ b/src/demo/manager/src/main/java/com/dream/common/JsonUtils.java @@ -0,0 +1,69 @@ +package com.dream.common; + +import java.util.List; + +import com.fasterxml.jackson.core.JsonProcessingException; +import com.fasterxml.jackson.databind.JavaType; +import com.fasterxml.jackson.databind.JsonNode; +import com.fasterxml.jackson.databind.ObjectMapper; + +public class JsonUtils { + + // 定义jackson对象 + private static final ObjectMapper MAPPER = new ObjectMapper(); + + /** + * 将对象转换成json字符串。 + *

Title: pojoToJson

+ *

Description:

+ * @param data + * @return + */ + public static String objectToJson(Object data) { + try { + String string = MAPPER.writeValueAsString(data); + return string; + } catch (JsonProcessingException e) { + e.printStackTrace(); + } + return null; + } + + /** + * 将json结果集转化为对象 + * + * @param jsonData json数据 + * @param clazz 对象中的object类型 + * @return + */ + public static T jsonToPojo(String jsonData, Class beanType) { + try { + T t = MAPPER.readValue(jsonData, beanType); + return t; + } catch (Exception e) { + e.printStackTrace(); + } + return null; + } + + /** + * 将json数据转换成pojo对象list + *

Title: jsonToList

+ *

Description:

+ * @param jsonData + * @param beanType + * @return + */ + public static List jsonToList(String jsonData, Class beanType) { + JavaType javaType = MAPPER.getTypeFactory().constructParametricType(List.class, beanType); + try { + List list = MAPPER.readValue(jsonData, javaType); + return list; + } catch (Exception e) { + e.printStackTrace(); + } + + return null; + } + +} diff --git a/src/demo/manager/src/main/java/com/dream/common/MovieRealm.java b/src/demo/manager/src/main/java/com/dream/common/MovieRealm.java new file mode 100644 index 00000000..4c229df7 --- /dev/null +++ b/src/demo/manager/src/main/java/com/dream/common/MovieRealm.java @@ -0,0 +1,66 @@ +package com.dream.common; + +import com.dream.mapper.AdminMapper; +import com.dream.po.Admin; +import com.dream.po.AdminExample; +import org.apache.shiro.authc.*; +import org.apache.shiro.authz.AuthorizationInfo; +import org.apache.shiro.authz.SimpleAuthorizationInfo; +import org.apache.shiro.realm.AuthorizingRealm; +import org.apache.shiro.subject.PrincipalCollection; +import org.springframework.beans.factory.annotation.Autowired; + +import java.util.ArrayList; +import java.util.HashSet; +import java.util.List; +import java.util.Set; + +public class MovieRealm extends AuthorizingRealm{ + + @Autowired + private AdminMapper adminMapper; + + // 授权 + @Override + protected AuthorizationInfo doGetAuthorizationInfo(PrincipalCollection principalCollection) { + Admin admin = (Admin)principalCollection.getPrimaryPrincipal(); + SimpleAuthorizationInfo authorizationInfo = new SimpleAuthorizationInfo(); + // 根据用户名查询用户拥有的角色 +// AdminExample adminExample = new AdminExample(); +// AdminExample.Criteria criteria = adminExample.createCriteria(); +// criteria.andAdminnameEqualTo(adminname); +// List list = adminMapper.selectByExample(adminExample); + Set roleNames = new HashSet(); + if (0 == admin.getRole()) { + roleNames.add("admin"); + } else { + roleNames.add("user"); + } + // 将角色名称提供给info + authorizationInfo.setRoles(roleNames); + + return authorizationInfo; + } + + // 认证 + @Override + protected AuthenticationInfo doGetAuthenticationInfo(AuthenticationToken authenticationToken) throws AuthenticationException { + + System.out.println("----执行了认证方法----"); + UsernamePasswordToken mytoken = (UsernamePasswordToken) authenticationToken; + String adminName = mytoken.getUsername(); + // 根据用户名查询数据库 + AdminExample example = new AdminExample(); + AdminExample.Criteria criteria = example.createCriteria(); + criteria.andAdminnameEqualTo(adminName); + List list = adminMapper.selectByExample(example); + + if (list == null || list.size() == 0) { + // 返回登录失败 + return null; + } + Admin admin = list.get(0); + SimpleAuthenticationInfo info = new SimpleAuthenticationInfo(admin, admin.getAdminpassword(), this.getName()); + return info; + } +} diff --git a/src/demo/manager/src/main/java/com/dream/common/NavigationTag.java b/src/demo/manager/src/main/java/com/dream/common/NavigationTag.java new file mode 100644 index 00000000..f6e59daa --- /dev/null +++ b/src/demo/manager/src/main/java/com/dream/common/NavigationTag.java @@ -0,0 +1,179 @@ +package com.dream.common; + +import java.io.IOException; +import java.util.Map; + +import javax.servlet.http.HttpServletRequest; +import javax.servlet.jsp.JspException; +import javax.servlet.jsp.JspWriter; +import javax.servlet.jsp.tagext.TagSupport; + +import org.apache.taglibs.standard.tag.common.core.UrlSupport; + +/** + * 显示格式 上一页 1 2 3 4 5 下一页 + */ +/* + * 自定义标签类继承TagSupport + */ +public class NavigationTag extends TagSupport { + + static final long serialVersionUID = 2372405317744358833L; + + /** + * request 中用于保存Page 对象的变量名,默认为“page” + */ + private String bean = "page"; //以page为key值,value为分页对象,放到Request域中就结束了。 + + /** + * 分页跳转的url地址,此属性必须 + */ + private String url = null; + + /** + * 显示页码数量 + */ + private int number = 5; + + + @Override + public int doStartTag() throws JspException { + JspWriter writer = pageContext.getOut(); + HttpServletRequest request = (HttpServletRequest) pageContext.getRequest(); + Page page = (Page)request.getAttribute(bean); + if (page == null) + return SKIP_BODY; + url = resolveUrl(url, pageContext); + try { + //计算总页数 + int pageCount = page.getTotal() / page.getSize(); + if (page.getTotal() % page.getSize() > 0) { + pageCount++; + } + writer.print(""); + } catch (IOException e) { + e.printStackTrace(); + } + return SKIP_BODY; + } + + private String append(String url, String key, int value) { + + return append(url, key, String.valueOf(value)); + } + + /** + * 为url 参加参数对儿 + * + * @param url + * @param key + * @param value + * @return + */ + private String append(String url, String key, String value) { + if (url == null || url.trim().length() == 0) { + return ""; + } + + if (url.indexOf("?") == -1) { + url = url + "?" + key + "=" + value; + } else { + if(url.endsWith("?")) { + url = url + key + "=" + value; + } else { + url = url + "&" + key + "=" + value; + } + } + + return url; + } + + /** + * 为url 添加翻页请求参数 + * + * @param url + * @param pageContext + * @return + * @throws javax.servlet.jsp.JspException + */ + private String resolveUrl(String url, javax.servlet.jsp.PageContext pageContext) throws JspException{ + //UrlSupport.resolveUrl(url, context, pageContext) + Map params = pageContext.getRequest().getParameterMap(); + for (Object key:params.keySet()) { + if ("page".equals(key) || "rows".equals(key)) continue; + Object value = params.get(key); + if (value == null) continue; + if (value.getClass().isArray()) { + url = append(url, key.toString(), ((String[])value)[0]); + } else if (value instanceof String) { + url = append(url, key.toString(), value.toString()); + } + } + return url; + } + + + + /** + * @return the bean + */ + public String getBean() { + return bean; + } + + /** + * @param bean the bean to set + */ + public void setBean(String bean) { + this.bean = bean; + } + + /** + * @return the url + */ + public String getUrl() { + return url; + } + + /** + * @param url the url to set + */ + public void setUrl(String url) { + this.url = url; + } + + public void setNumber(int number) { + this.number = number; + } + +} \ No newline at end of file diff --git a/src/demo/manager/src/main/java/com/dream/common/Page.java b/src/demo/manager/src/main/java/com/dream/common/Page.java new file mode 100644 index 00000000..d21413e7 --- /dev/null +++ b/src/demo/manager/src/main/java/com/dream/common/Page.java @@ -0,0 +1,36 @@ +package com.dream.common; + + +import java.util.List; + +public class Page { + + private int total; + private int page; + private int size; + private List rows; + public int getTotal() { + return total; + } + public void setTotal(int total) { + this.total = total; + } + public int getPage() { + return page; + } + public void setPage(int page) { + this.page = page; + } + public int getSize() { + return size; + } + public void setSize(int size) { + this.size = size; + } + public List getRows() { + return rows; + } + public void setRows(List rows) { + this.rows = rows; + } +} \ No newline at end of file diff --git a/src/demo/manager/src/main/java/com/dream/controller/AdminController.java b/src/demo/manager/src/main/java/com/dream/controller/AdminController.java new file mode 100644 index 00000000..eecc99f9 --- /dev/null +++ b/src/demo/manager/src/main/java/com/dream/controller/AdminController.java @@ -0,0 +1,111 @@ +package com.dream.controller; + + +import com.dream.common.E3Result; +import com.dream.common.Page; +import com.dream.po.Admin; +import com.dream.service.AdminService; +import org.apache.shiro.SecurityUtils; +import org.apache.shiro.authc.IncorrectCredentialsException; +import org.apache.shiro.authc.UnknownAccountException; +import org.apache.shiro.authc.UsernamePasswordToken; +import org.apache.shiro.authz.annotation.RequiresRoles; +import org.apache.shiro.subject.Subject; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Controller; +import org.springframework.ui.Model; +import org.springframework.web.bind.annotation.*; + +import javax.servlet.http.HttpServletRequest; + +@Controller +public class AdminController { + + @Autowired + private AdminService adminService; + + @RequestMapping("/") + public String showLogin(){ + + return "adminLogin"; + } + + @RequestMapping("/{page}") + public String showPage(@PathVariable String page){ + return page; + } + +// @RequestMapping(value="/admin/login",method = RequestMethod.POST) +// @ResponseBody +// public E3Result login(String adminname, String adminpassword, Model model, HttpServletRequest request) { +// E3Result e3Result = adminService.adminLogin(adminname, adminpassword); +// Admin admin = null; +// // 判断是否登录成功 +// if (e3Result.getStatus() == 200) { +// admin= (Admin) e3Result.getData(); +// } +// model.addAttribute("admin", admin); +// request.getSession().setAttribute("admin", admin); +// // 返回结果 +// return e3Result; +// } + + + @RequestMapping(value = "/login", method = RequestMethod.POST) + @ResponseBody + public E3Result login(String adminname, String adminpassword, Model model) { + Subject subject = SecurityUtils.getSubject(); + UsernamePasswordToken token = new UsernamePasswordToken(adminname, adminpassword); + try { + subject.login(token); + } catch (UnknownAccountException e) { + e.printStackTrace(); + model.addAttribute("userName", "用户名错误!"); + return E3Result.build(500, "用户名错误"); + } catch (IncorrectCredentialsException e) { + e.printStackTrace(); + model.addAttribute("passwd", "密码错误"); + return E3Result.build(500, "密码错误" ); + } + return E3Result.ok(); + } + + + @RequestMapping(value = "/admin/list") + @RequiresRoles("admin") + public String getUserList(@RequestParam(defaultValue="1")Integer page, @RequestParam(defaultValue="10")Integer rows, String adminname, Model model) { + + Page admins = adminService.findAdminList(page, rows, adminname); + model.addAttribute("page", admins); + model.addAttribute("adminname", adminname); + return "adminManage"; + } + + @RequestMapping("/admin/delete") + @ResponseBody + public String deleteAdmin(Integer id) { + adminService.deleteAdmin(id); + return "OK"; + } + + @RequestMapping("/admin/edit") + @ResponseBody + public Admin getAdminById(Integer id) { + Admin admin = adminService.getAdminById(id); + return admin; + } + + @RequestMapping("/admin/update") + @ResponseBody + public String updateAdmin(Admin admin) { + adminService.updateAdmin(admin); + return "OK"; + } + + @RequestMapping("/admin/add") + @ResponseBody + public String addAdmin(Admin admin) { + adminService.addAdmin(admin); + return "OK"; + } +} diff --git a/src/demo/manager/src/main/java/com/dream/controller/MovieController.java b/src/demo/manager/src/main/java/com/dream/controller/MovieController.java new file mode 100644 index 00000000..e49ff42f --- /dev/null +++ b/src/demo/manager/src/main/java/com/dream/controller/MovieController.java @@ -0,0 +1,91 @@ +package com.dream.controller; + + +import com.dream.common.Page; +import com.dream.po.*; +import com.dream.service.MovieService; +import com.dream.service.UserService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Controller; +import org.springframework.ui.Model; +import org.springframework.web.bind.annotation.Mapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestParam; +import org.springframework.web.bind.annotation.ResponseBody; +import org.springframework.web.multipart.MultipartFile; +import org.springframework.web.multipart.MultipartHttpServletRequest; + +import javax.servlet.http.HttpServletRequest; +import java.util.List; + +@Controller +public class MovieController { + + @Autowired + private MovieService movieService; + @Autowired + private UserService userService; + + @RequestMapping(value = "/movie") + public String showMovie() { + return "redirect:/movie/list.action"; + } + + // 电影列表 + @RequestMapping(value = "/movie/list") + public String list(Query query, Model model) { + + Page movies = movieService.findMovieList(query); + model.addAttribute("page", movies); + List categorylist = movieService.selectCategory(); + model.addAttribute("categoryList", categorylist); + + //参数回显 + model.addAttribute("movieName", query.getMovieName()); + model.addAttribute("categoryId", query.getCategoryId()); + return "movieManage"; + } + + // 用户管理 + @RequestMapping(value = "/movie/userlist") + public String showUser() { + return "redirect:/user/list.action"; + } + // 管理员管理 + @RequestMapping(value = "/movie/adminlist") + public String showAdmin() { + return "redirect:/admin/list.action"; + } + + + @RequestMapping("/movie/delete") + @ResponseBody + public String customerDelete(Integer id) { + movieService.deleteMovie(id); + return "OK"; + } + + @RequestMapping("/movie/edit") + @ResponseBody + public NewMovie getMovieById(Integer id) { + NewMovie newMovie = movieService.getMovieById(id); + return newMovie; + } + + @RequestMapping("/movie/update") + @ResponseBody + public String updateMovie(Movie movie, HttpServletRequest request) { + String[] categoryIds = request.getParameterValues("categoryId"); + movieService.updateMovie(movie, categoryIds); + return "OK"; + } + + @RequestMapping("/movie/add") + @ResponseBody + public String addMovie(Movie movie, HttpServletRequest request) { + String[] categoryIds = request.getParameterValues("categoryId"); + movieService.addMovie(movie, categoryIds); + return "OK"; + } + +} diff --git a/src/demo/manager/src/main/java/com/dream/controller/PictureController.java b/src/demo/manager/src/main/java/com/dream/controller/PictureController.java new file mode 100644 index 00000000..f3b950c6 --- /dev/null +++ b/src/demo/manager/src/main/java/com/dream/controller/PictureController.java @@ -0,0 +1,56 @@ +package com.dream.controller; + +import java.util.HashMap; +import java.util.Map; + +import org.springframework.beans.factory.annotation.Value; +import org.springframework.http.MediaType; +import org.springframework.stereotype.Controller; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestParam; +import org.springframework.web.bind.annotation.ResponseBody; +import org.springframework.web.multipart.MultipartFile; + +import com.dream.common.FastDFSClient; +import com.dream.common.JsonUtils; + +/** + * 图片上传处理Controller + * @author ZXL + * + */ +@Controller +public class PictureController { + + @Value("${IMAGE_SERVER_URL}") + private String IMAGE_SERVER_URL; + + @RequestMapping(value="/movie/file/upload", produces=MediaType.TEXT_PLAIN_VALUE+";charset=utf-8") + @ResponseBody + public String uploadFile(@RequestParam(value = "file") MultipartFile uploadFile){ + try { + //把图片上传的图片服务器 + FastDFSClient fastDFSClient = new FastDFSClient("classpath:conf/client.conf"); + //取文件扩展名 + String originalFilename = uploadFile.getOriginalFilename(); + String extName = originalFilename.substring(originalFilename.lastIndexOf(".") + 1); + //得到一个图片的地址和文件名 + String url = fastDFSClient.uploadFile(uploadFile.getBytes(), extName); + //补充为完整的url + url = IMAGE_SERVER_URL + '/' + url; + //封装到map中返回 + System.out.println(url); + + Map result = new HashMap<>(); + result.put("error", 0); + result.put("url", url); + return JsonUtils.objectToJson(result); + } catch (Exception e) { + e.printStackTrace(); + Map result = new HashMap<>(); + result.put("error", 0); + result.put("url", "图片上传失败"); + return JsonUtils.objectToJson(result); + } + } +} diff --git a/src/demo/manager/src/main/java/com/dream/controller/UserController.java b/src/demo/manager/src/main/java/com/dream/controller/UserController.java new file mode 100644 index 00000000..7cdfb93e --- /dev/null +++ b/src/demo/manager/src/main/java/com/dream/controller/UserController.java @@ -0,0 +1,55 @@ +package com.dream.controller; + +import com.dream.common.Page; +import com.dream.po.User; +import com.dream.service.UserService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Controller; +import org.springframework.ui.Model; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestParam; +import org.springframework.web.bind.annotation.ResponseBody; + +@Controller +public class UserController { + + @Autowired + private UserService userService; + + @RequestMapping(value = "/user/list") + public String getUserList(@RequestParam(defaultValue="1")Integer page, @RequestParam(defaultValue="10")Integer rows, String username, Model model) { + + Page users = userService.findUserList(page, rows, username); + model.addAttribute("page", users); + model.addAttribute("username", username); + return "userManage"; + } + + @RequestMapping("/user/delete") + @ResponseBody + public String deleteUser(Integer id) { + userService.deleteUser(id); + return "OK"; + } + + @RequestMapping("/user/edit") + @ResponseBody + public User getUserById(Integer id) { + User user = userService.getUserById(id); + return user; + } + + @RequestMapping("/user/update") + @ResponseBody + public String updateUser(User user) { + userService.updateUser(user); + return "OK"; + } + + @RequestMapping("/user/add") + @ResponseBody + public String addUser(User user) { + userService.addUser(user); + return "OK"; + } +} diff --git a/src/demo/manager/src/main/java/com/dream/mapper/AdminMapper.java b/src/demo/manager/src/main/java/com/dream/mapper/AdminMapper.java new file mode 100644 index 00000000..fd9d4c5f --- /dev/null +++ b/src/demo/manager/src/main/java/com/dream/mapper/AdminMapper.java @@ -0,0 +1,33 @@ +package com.dream.mapper; + +import com.dream.po.Admin; +import com.dream.po.AdminExample; +import java.util.List; +import org.apache.ibatis.annotations.Param; + +public interface AdminMapper { + int countByExample(AdminExample example); + + int deleteByExample(AdminExample example); + + int deleteByPrimaryKey(Integer adminid); + + int insert(Admin record); + + int insertSelective(Admin record); + + List selectByExample(AdminExample example); + + Admin selectByPrimaryKey(Integer adminid); + + int updateByExampleSelective(@Param("record") Admin record, @Param("example") AdminExample example); + + int updateByExample(@Param("record") Admin record, @Param("example") AdminExample example); + + int updateByPrimaryKeySelective(Admin record); + + int updateByPrimaryKey(Admin record); + + List selectAdminList(Admin admin); + Integer selectAdminListCount(Admin admin); +} \ No newline at end of file diff --git a/src/demo/manager/src/main/java/com/dream/mapper/AdminMapper.xml b/src/demo/manager/src/main/java/com/dream/mapper/AdminMapper.xml new file mode 100644 index 00000000..00d9071a --- /dev/null +++ b/src/demo/manager/src/main/java/com/dream/mapper/AdminMapper.xml @@ -0,0 +1,211 @@ + + + + + + + + + + + + + + + + + + and ${criterion.condition} + + + and ${criterion.condition} #{criterion.value} + + + and ${criterion.condition} #{criterion.value} and #{criterion.secondValue} + + + and ${criterion.condition} + + #{listItem} + + + + + + + + + + + + + + + + + + and ${criterion.condition} + + + and ${criterion.condition} #{criterion.value} + + + and ${criterion.condition} #{criterion.value} and #{criterion.secondValue} + + + and ${criterion.condition} + + #{listItem} + + + + + + + + + + + adminid, adminname, adminpassword, role + + + + + delete from admin + where adminid = #{adminid,jdbcType=INTEGER} + + + delete from admin + + + + + + insert into admin (adminid, adminname, adminpassword,role + ) + values (#{adminid,jdbcType=INTEGER}, #{adminname,jdbcType=VARCHAR}, #{adminpassword,jdbcType=VARCHAR},#{role,jdbcType=INTEGER} + ) + + + insert into admin + + + adminid, + + + adminname, + + + adminpassword, + + + + + #{adminid,jdbcType=INTEGER}, + + + #{adminname,jdbcType=VARCHAR}, + + + #{adminpassword,jdbcType=VARCHAR}, + + + + + + update admin + + + adminid = #{record.adminid,jdbcType=INTEGER}, + + + adminname = #{record.adminname,jdbcType=VARCHAR}, + + + adminpassword = #{record.adminpassword,jdbcType=VARCHAR}, + + + + + + + + update admin + set adminid = #{record.adminid,jdbcType=INTEGER}, + adminname = #{record.adminname,jdbcType=VARCHAR}, + adminpassword = #{record.adminpassword,jdbcType=VARCHAR} + + + + + + update admin + + + adminname = #{adminname,jdbcType=VARCHAR}, + + + adminpassword = #{adminpassword,jdbcType=VARCHAR}, + + + where adminid = #{adminid,jdbcType=INTEGER} + + + update admin + set adminname = #{adminname,jdbcType=VARCHAR}, + adminpassword = #{adminpassword,jdbcType=VARCHAR}, + role = #{role,jdbcType=INTEGER} + where adminid = #{adminid,jdbcType=INTEGER} + + + + + + adminname like "%"#{adminname}"%" + + and role = 1 + + + + + \ No newline at end of file diff --git a/src/demo/manager/src/main/java/com/dream/mapper/BrowseMapper.java b/src/demo/manager/src/main/java/com/dream/mapper/BrowseMapper.java new file mode 100644 index 00000000..b5ea1856 --- /dev/null +++ b/src/demo/manager/src/main/java/com/dream/mapper/BrowseMapper.java @@ -0,0 +1,31 @@ +package com.dream.mapper; + +import java.util.List; + +import com.dream.po.Browse; +import com.dream.po.BrowseExample; +import org.apache.ibatis.annotations.Param; + +public interface BrowseMapper { + int countByExample(BrowseExample example); + + int deleteByExample(BrowseExample example); + + int deleteByPrimaryKey(Integer browseid); + + int insert(Browse record); + + int insertSelective(Browse record); + + List selectByExample(BrowseExample example); + + Browse selectByPrimaryKey(Integer browseid); + + int updateByExampleSelective(@Param("record") Browse record, @Param("example") BrowseExample example); + + int updateByExample(@Param("record") Browse record, @Param("example") BrowseExample example); + + int updateByPrimaryKeySelective(Browse record); + + int updateByPrimaryKey(Browse record); +} \ No newline at end of file diff --git a/src/demo/manager/src/main/java/com/dream/mapper/BrowseMapper.xml b/src/demo/manager/src/main/java/com/dream/mapper/BrowseMapper.xml new file mode 100644 index 00000000..f20868d9 --- /dev/null +++ b/src/demo/manager/src/main/java/com/dream/mapper/BrowseMapper.xml @@ -0,0 +1,196 @@ + + + + + + + + + + + + + + + + + + and ${criterion.condition} + + + and ${criterion.condition} #{criterion.value} + + + and ${criterion.condition} #{criterion.value} and #{criterion.secondValue} + + + and ${criterion.condition} + + #{listItem} + + + + + + + + + + + + + + + + + + and ${criterion.condition} + + + and ${criterion.condition} #{criterion.value} + + + and ${criterion.condition} #{criterion.value} and #{criterion.secondValue} + + + and ${criterion.condition} + + #{listItem} + + + + + + + + + + + browseid, userid, movieids, browsetime + + + + + delete from browse + where browseid = #{browseid,jdbcType=INTEGER} + + + delete from browse + + + + + + insert into browse (browseid, userid, movieids, + browsetime) + values (#{browseid,jdbcType=INTEGER}, #{userid,jdbcType=INTEGER}, #{movieids,jdbcType=VARCHAR}, + #{browsetime,jdbcType=TIMESTAMP}) + + + insert into browse + + + browseid, + + + userid, + + + movieids, + + + browsetime, + + + + + #{browseid,jdbcType=INTEGER}, + + + #{userid,jdbcType=INTEGER}, + + + #{movieids,jdbcType=VARCHAR}, + + + #{browsetime,jdbcType=TIMESTAMP}, + + + + + + update browse + + + browseid = #{record.browseid,jdbcType=INTEGER}, + + + userid = #{record.userid,jdbcType=INTEGER}, + + + movieids = #{record.movieids,jdbcType=VARCHAR}, + + + browsetime = #{record.browsetime,jdbcType=TIMESTAMP}, + + + + + + + + update browse + set browseid = #{record.browseid,jdbcType=INTEGER}, + userid = #{record.userid,jdbcType=INTEGER}, + movieids = #{record.movieids,jdbcType=VARCHAR}, + browsetime = #{record.browsetime,jdbcType=TIMESTAMP} + + + + + + update browse + + + userid = #{userid,jdbcType=INTEGER}, + + + movieids = #{movieids,jdbcType=VARCHAR}, + + + browsetime = #{browsetime,jdbcType=TIMESTAMP}, + + + where browseid = #{browseid,jdbcType=INTEGER} + + + update browse + set userid = #{userid,jdbcType=INTEGER}, + movieids = #{movieids,jdbcType=VARCHAR}, + browsetime = #{browsetime,jdbcType=TIMESTAMP} + where browseid = #{browseid,jdbcType=INTEGER} + + \ No newline at end of file diff --git a/src/demo/manager/src/main/java/com/dream/mapper/CategoryMapper.java b/src/demo/manager/src/main/java/com/dream/mapper/CategoryMapper.java new file mode 100644 index 00000000..85b76548 --- /dev/null +++ b/src/demo/manager/src/main/java/com/dream/mapper/CategoryMapper.java @@ -0,0 +1,30 @@ +package com.dream.mapper; + +import com.dream.po.Category; +import com.dream.po.CategoryExample; +import java.util.List; +import org.apache.ibatis.annotations.Param; + +public interface CategoryMapper { + int countByExample(CategoryExample example); + + int deleteByExample(CategoryExample example); + + int deleteByPrimaryKey(Integer categoryid); + + int insert(Category record); + + int insertSelective(Category record); + + List selectByExample(CategoryExample example); + + Category selectByPrimaryKey(Integer categoryid); + + int updateByExampleSelective(@Param("record") Category record, @Param("example") CategoryExample example); + + int updateByExample(@Param("record") Category record, @Param("example") CategoryExample example); + + int updateByPrimaryKeySelective(Category record); + + int updateByPrimaryKey(Category record); +} \ No newline at end of file diff --git a/src/demo/manager/src/main/java/com/dream/mapper/CategoryMapper.xml b/src/demo/manager/src/main/java/com/dream/mapper/CategoryMapper.xml new file mode 100644 index 00000000..b5f303d5 --- /dev/null +++ b/src/demo/manager/src/main/java/com/dream/mapper/CategoryMapper.xml @@ -0,0 +1,164 @@ + + + + + + + + + + + + + + + + and ${criterion.condition} + + + and ${criterion.condition} #{criterion.value} + + + and ${criterion.condition} #{criterion.value} and #{criterion.secondValue} + + + and ${criterion.condition} + + #{listItem} + + + + + + + + + + + + + + + + + + and ${criterion.condition} + + + and ${criterion.condition} #{criterion.value} + + + and ${criterion.condition} #{criterion.value} and #{criterion.secondValue} + + + and ${criterion.condition} + + #{listItem} + + + + + + + + + + + categoryid, category + + + + + delete from category + where categoryid = #{categoryid,jdbcType=INTEGER} + + + delete from category + + + + + + insert into category (categoryid, category) + values (#{categoryid,jdbcType=INTEGER}, #{category,jdbcType=VARCHAR}) + + + insert into category + + + categoryid, + + + category, + + + + + #{categoryid,jdbcType=INTEGER}, + + + #{category,jdbcType=VARCHAR}, + + + + + + update category + + + categoryid = #{record.categoryid,jdbcType=INTEGER}, + + + category = #{record.category,jdbcType=VARCHAR}, + + + + + + + + update category + set categoryid = #{record.categoryid,jdbcType=INTEGER}, + category = #{record.category,jdbcType=VARCHAR} + + + + + + update category + + + category = #{category,jdbcType=VARCHAR}, + + + where categoryid = #{categoryid,jdbcType=INTEGER} + + + update category + set category = #{category,jdbcType=VARCHAR} + where categoryid = #{categoryid,jdbcType=INTEGER} + + \ No newline at end of file diff --git a/src/demo/manager/src/main/java/com/dream/mapper/MovieMapper.java b/src/demo/manager/src/main/java/com/dream/mapper/MovieMapper.java new file mode 100644 index 00000000..0155b1ab --- /dev/null +++ b/src/demo/manager/src/main/java/com/dream/mapper/MovieMapper.java @@ -0,0 +1,43 @@ +package com.dream.mapper; + +import com.dream.po.Movie; +import com.dream.po.MovieExample; +import java.util.List; + +import com.dream.po.Query; +import org.apache.ibatis.annotations.Param; + +public interface MovieMapper { + int countByExample(MovieExample example); + + int deleteByExample(MovieExample example); + + int deleteByPrimaryKey(Integer movieid); + + int insert(Movie record); + + int insertSelective(Movie record); + + List selectByExample(MovieExample example); + + Movie selectByPrimaryKey(Integer movieid); + + int updateByExampleSelective(@Param("record") Movie record, @Param("example") MovieExample example); + + int updateByExample(@Param("record") Movie record, @Param("example") MovieExample example); + + int updateByPrimaryKeySelective(Movie record); + + int updateByPrimaryKey(Movie record); + + List selectMovieList(Movie movie); + Integer selectMovieListCount(Movie movie); + void updateMovie(Movie movie); + + //总条数 + public Integer movieCount(Query query); + //结果集 + public List selectMovieListByQuery(Query query); + + +} \ No newline at end of file diff --git a/src/demo/manager/src/main/java/com/dream/mapper/MovieMapper.xml b/src/demo/manager/src/main/java/com/dream/mapper/MovieMapper.xml new file mode 100644 index 00000000..92061f82 --- /dev/null +++ b/src/demo/manager/src/main/java/com/dream/mapper/MovieMapper.xml @@ -0,0 +1,323 @@ + + + + + + + + + + + + + + + + + + + + + + + + + and ${criterion.condition} + + + and ${criterion.condition} #{criterion.value} + + + and ${criterion.condition} #{criterion.value} and #{criterion.secondValue} + + + and ${criterion.condition} + + #{listItem} + + + + + + + + + + + + + + + + + + and ${criterion.condition} + + + and ${criterion.condition} #{criterion.value} + + + and ${criterion.condition} #{criterion.value} and #{criterion.secondValue} + + + and ${criterion.condition} + + #{listItem} + + + + + + + + + + + movieid, moviename, showyear, nation, director, leadactors, screenwriter, picture, averating, numrating, description + + + + + + moviename like "%"#{moviename}"%" + + + + + + + + + + + delete from movie + where movieid = #{movieid,jdbcType=INTEGER} + + + delete from movie + + + + + + insert into movie (movieid, moviename, showyear, + nation, director, leadactors, + screenwriter, averating, numrating, picture, description) + values (#{movieid,jdbcType=INTEGER}, #{moviename,jdbcType=VARCHAR}, #{showyear,jdbcType=TIMESTAMP}, + #{nation,jdbcType=VARCHAR}, #{director,jdbcType=VARCHAR}, #{leadactors,jdbcType=VARCHAR}, + #{screenwriter,jdbcType=VARCHAR},#{averating,jdbcType=DOUBLE}, #{numrating,jdbcType=INTEGER}, #{picture,jdbcType=VARCHAR}, #{description,jdbcType=VARCHAR}) + + + insert into movie + + + movieid, + + + moviename, + + + showyear, + + + nation, + + + director, + + + leadactors, + + + screenwriter, + + + picture, + + + + + #{movieid,jdbcType=INTEGER}, + + + #{moviename,jdbcType=VARCHAR}, + + + #{showyear,jdbcType=TIMESTAMP}, + + + #{nation,jdbcType=VARCHAR}, + + + #{director,jdbcType=VARCHAR}, + + + #{leadactors,jdbcType=VARCHAR}, + + + #{screenwriter,jdbcType=VARCHAR}, + + + #{picture,jdbcType=VARCHAR}, + + + + + + update movie + + + movieid = #{record.movieid,jdbcType=INTEGER}, + + + moviename = #{record.moviename,jdbcType=VARCHAR}, + + + showyear = #{record.showyear,jdbcType=TIMESTAMP}, + + + nation = #{record.nation,jdbcType=VARCHAR}, + + + director = #{record.director,jdbcType=VARCHAR}, + + + leadactors = #{record.leadactors,jdbcType=VARCHAR}, + + + screenwriter = #{record.screenwriter,jdbcType=VARCHAR}, + + + picture = #{record.picture,jdbcType=VARCHAR}, + + + + + + + + update movie + set movieid = #{record.movieid,jdbcType=INTEGER}, + moviename = #{record.moviename,jdbcType=VARCHAR}, + showyear = #{record.showyear,jdbcType=TIMESTAMP}, + nation = #{record.nation,jdbcType=VARCHAR}, + director = #{record.director,jdbcType=VARCHAR}, + leadactors = #{record.leadactors,jdbcType=VARCHAR}, + screenwriter = #{record.screenwriter,jdbcType=VARCHAR}, + picture = #{record.picture,jdbcType=VARCHAR} + + + + + + update movie + + + moviename = #{moviename,jdbcType=VARCHAR}, + + + showyear = #{showyear,jdbcType=TIMESTAMP}, + + + nation = #{nation,jdbcType=VARCHAR}, + + + director = #{director,jdbcType=VARCHAR}, + + + leadactors = #{leadactors,jdbcType=VARCHAR}, + + + screenwriter = #{screenwriter,jdbcType=VARCHAR}, + + + picture = #{picture,jdbcType=VARCHAR}, + + + where movieid = #{movieid,jdbcType=INTEGER} + + + update movie + set moviename = #{moviename,jdbcType=VARCHAR}, + nation = #{nation,jdbcType=VARCHAR}, + director = #{director,jdbcType=VARCHAR}, + leadactors = #{leadactors,jdbcType=VARCHAR}, + screenwriter = #{screenwriter,jdbcType=VARCHAR}, + averating = #{averating,jdbcType=DOUBLE}, + numrating = #{numrating,jdbcType=INTEGER}, + description = #{description,jdbcType=VARCHAR}, + picture = #{picture,jdbcType=VARCHAR} + where movieid = #{movieid,jdbcType=INTEGER} + + + + + + \ No newline at end of file diff --git a/src/demo/manager/src/main/java/com/dream/mapper/MoviecategoryMapper.java b/src/demo/manager/src/main/java/com/dream/mapper/MoviecategoryMapper.java new file mode 100644 index 00000000..505b5276 --- /dev/null +++ b/src/demo/manager/src/main/java/com/dream/mapper/MoviecategoryMapper.java @@ -0,0 +1,30 @@ +package com.dream.mapper; + +import com.dream.po.Moviecategory; +import com.dream.po.MoviecategoryExample; +import java.util.List; +import org.apache.ibatis.annotations.Param; + +public interface MoviecategoryMapper { + int countByExample(MoviecategoryExample example); + + int deleteByExample(MoviecategoryExample example); + + int deleteByPrimaryKey(Integer movcatid); + + int insert(Moviecategory record); + + int insertSelective(Moviecategory record); + + List selectByExample(MoviecategoryExample example); + + Moviecategory selectByPrimaryKey(Integer movcatid); + + int updateByExampleSelective(@Param("record") Moviecategory record, @Param("example") MoviecategoryExample example); + + int updateByExample(@Param("record") Moviecategory record, @Param("example") MoviecategoryExample example); + + int updateByPrimaryKeySelective(Moviecategory record); + + int updateByPrimaryKey(Moviecategory record); +} \ No newline at end of file diff --git a/src/demo/manager/src/main/java/com/dream/mapper/MoviecategoryMapper.xml b/src/demo/manager/src/main/java/com/dream/mapper/MoviecategoryMapper.xml new file mode 100644 index 00000000..473f43e8 --- /dev/null +++ b/src/demo/manager/src/main/java/com/dream/mapper/MoviecategoryMapper.xml @@ -0,0 +1,181 @@ + + + + + + + + + + + + + + + + + and ${criterion.condition} + + + and ${criterion.condition} #{criterion.value} + + + and ${criterion.condition} #{criterion.value} and #{criterion.secondValue} + + + and ${criterion.condition} + + #{listItem} + + + + + + + + + + + + + + + + + + and ${criterion.condition} + + + and ${criterion.condition} #{criterion.value} + + + and ${criterion.condition} #{criterion.value} and #{criterion.secondValue} + + + and ${criterion.condition} + + #{listItem} + + + + + + + + + + + movcatid, movieid, categoryid + + + + + delete from moviecategory + where movcatid = #{movcatid,jdbcType=INTEGER} + + + delete from moviecategory + + + + + + insert into moviecategory (movcatid, movieid, categoryid + ) + values (#{movcatid,jdbcType=INTEGER}, #{movieid,jdbcType=INTEGER}, #{categoryid,jdbcType=INTEGER} + ) + + + insert into moviecategory + + + movcatid, + + + movieid, + + + categoryid, + + + + + #{movcatid,jdbcType=INTEGER}, + + + #{movieid,jdbcType=INTEGER}, + + + #{categoryid,jdbcType=INTEGER}, + + + + + + update moviecategory + + + movcatid = #{record.movcatid,jdbcType=INTEGER}, + + + movieid = #{record.movieid,jdbcType=INTEGER}, + + + categoryid = #{record.categoryid,jdbcType=INTEGER}, + + + + + + + + update moviecategory + set movcatid = #{record.movcatid,jdbcType=INTEGER}, + movieid = #{record.movieid,jdbcType=INTEGER}, + categoryid = #{record.categoryid,jdbcType=INTEGER} + + + + + + update moviecategory + + + movieid = #{movieid,jdbcType=INTEGER}, + + + categoryid = #{categoryid,jdbcType=INTEGER}, + + + where movcatid = #{movcatid,jdbcType=INTEGER} + + + update moviecategory + set movieid = #{movieid,jdbcType=INTEGER}, + categoryid = #{categoryid,jdbcType=INTEGER} + where movcatid = #{movcatid,jdbcType=INTEGER} + + \ No newline at end of file diff --git a/src/demo/manager/src/main/java/com/dream/mapper/RectabMapper.java b/src/demo/manager/src/main/java/com/dream/mapper/RectabMapper.java new file mode 100644 index 00000000..0b176e68 --- /dev/null +++ b/src/demo/manager/src/main/java/com/dream/mapper/RectabMapper.java @@ -0,0 +1,22 @@ +package com.dream.mapper; + +import com.dream.po.Rectab; +import com.dream.po.RectabExample; +import java.util.List; +import org.apache.ibatis.annotations.Param; + +public interface RectabMapper { + int countByExample(RectabExample example); + + int deleteByExample(RectabExample example); + + int insert(Rectab record); + + int insertSelective(Rectab record); + + List selectByExample(RectabExample example); + + int updateByExampleSelective(@Param("record") Rectab record, @Param("example") RectabExample example); + + int updateByExample(@Param("record") Rectab record, @Param("example") RectabExample example); +} \ No newline at end of file diff --git a/src/demo/manager/src/main/java/com/dream/mapper/RectabMapper.xml b/src/demo/manager/src/main/java/com/dream/mapper/RectabMapper.xml new file mode 100644 index 00000000..9505e100 --- /dev/null +++ b/src/demo/manager/src/main/java/com/dream/mapper/RectabMapper.xml @@ -0,0 +1,140 @@ + + + + + + + + + + + + + + + + and ${criterion.condition} + + + and ${criterion.condition} #{criterion.value} + + + and ${criterion.condition} #{criterion.value} and #{criterion.secondValue} + + + and ${criterion.condition} + + #{listItem} + + + + + + + + + + + + + + + + + + and ${criterion.condition} + + + and ${criterion.condition} #{criterion.value} + + + and ${criterion.condition} #{criterion.value} and #{criterion.secondValue} + + + and ${criterion.condition} + + #{listItem} + + + + + + + + + + + userid, movieids + + + + delete from rectab + + + + + + insert into rectab (userid, movieids) + values (#{userid,jdbcType=INTEGER}, #{movieids,jdbcType=VARCHAR}) + + + insert into rectab + + + userid, + + + movieids, + + + + + #{userid,jdbcType=INTEGER}, + + + #{movieids,jdbcType=VARCHAR}, + + + + + + update rectab + + + userid = #{record.userid,jdbcType=INTEGER}, + + + movieids = #{record.movieids,jdbcType=VARCHAR}, + + + + + + + + update rectab + set userid = #{record.userid,jdbcType=INTEGER}, + movieids = #{record.movieids,jdbcType=VARCHAR} + + + + + \ No newline at end of file diff --git a/src/demo/manager/src/main/java/com/dream/mapper/ReviewMapper.java b/src/demo/manager/src/main/java/com/dream/mapper/ReviewMapper.java new file mode 100644 index 00000000..ff919344 --- /dev/null +++ b/src/demo/manager/src/main/java/com/dream/mapper/ReviewMapper.java @@ -0,0 +1,30 @@ +package com.dream.mapper; + +import com.dream.po.Review; +import com.dream.po.ReviewExample; +import java.util.List; +import org.apache.ibatis.annotations.Param; + +public interface ReviewMapper { + int countByExample(ReviewExample example); + + int deleteByExample(ReviewExample example); + + int deleteByPrimaryKey(Integer reviewid); + + int insert(Review record); + + int insertSelective(Review record); + + List selectByExample(ReviewExample example); + + Review selectByPrimaryKey(Integer reviewid); + + int updateByExampleSelective(@Param("record") Review record, @Param("example") ReviewExample example); + + int updateByExample(@Param("record") Review record, @Param("example") ReviewExample example); + + int updateByPrimaryKeySelective(Review record); + + int updateByPrimaryKey(Review record); +} \ No newline at end of file diff --git a/src/demo/manager/src/main/java/com/dream/mapper/ReviewMapper.xml b/src/demo/manager/src/main/java/com/dream/mapper/ReviewMapper.xml new file mode 100644 index 00000000..48d4cc30 --- /dev/null +++ b/src/demo/manager/src/main/java/com/dream/mapper/ReviewMapper.xml @@ -0,0 +1,228 @@ + + + + + + + + + + + + + + + + + + + + and ${criterion.condition} + + + and ${criterion.condition} #{criterion.value} + + + and ${criterion.condition} #{criterion.value} and #{criterion.secondValue} + + + and ${criterion.condition} + + #{listItem} + + + + + + + + + + + + + + + + + + and ${criterion.condition} + + + and ${criterion.condition} #{criterion.value} + + + and ${criterion.condition} #{criterion.value} and #{criterion.secondValue} + + + and ${criterion.condition} + + #{listItem} + + + + + + + + + + + reviewid, userid, movieid, content, star, reviewtime + + + + + delete from review + where reviewid = #{reviewid,jdbcType=INTEGER} + + + delete from review + + + + + + insert into review (reviewid, userid, movieid, + content, star, reviewtime + ) + values (#{reviewid,jdbcType=INTEGER}, #{userid,jdbcType=INTEGER}, #{movieid,jdbcType=INTEGER}, + #{content,jdbcType=VARCHAR}, #{star,jdbcType=INTEGER}, #{reviewtime,jdbcType=TIMESTAMP} + ) + + + insert into review + + + reviewid, + + + userid, + + + movieid, + + + content, + + + star, + + + reviewtime, + + + + + #{reviewid,jdbcType=INTEGER}, + + + #{userid,jdbcType=INTEGER}, + + + #{movieid,jdbcType=INTEGER}, + + + #{content,jdbcType=VARCHAR}, + + + #{star,jdbcType=INTEGER}, + + + #{reviewtime,jdbcType=TIMESTAMP}, + + + + + + update review + + + reviewid = #{record.reviewid,jdbcType=INTEGER}, + + + userid = #{record.userid,jdbcType=INTEGER}, + + + movieid = #{record.movieid,jdbcType=INTEGER}, + + + content = #{record.content,jdbcType=VARCHAR}, + + + star = #{record.star,jdbcType=INTEGER}, + + + reviewtime = #{record.reviewtime,jdbcType=TIMESTAMP}, + + + + + + + + update review + set reviewid = #{record.reviewid,jdbcType=INTEGER}, + userid = #{record.userid,jdbcType=INTEGER}, + movieid = #{record.movieid,jdbcType=INTEGER}, + content = #{record.content,jdbcType=VARCHAR}, + star = #{record.star,jdbcType=INTEGER}, + reviewtime = #{record.reviewtime,jdbcType=TIMESTAMP} + + + + + + update review + + + userid = #{userid,jdbcType=INTEGER}, + + + movieid = #{movieid,jdbcType=INTEGER}, + + + content = #{content,jdbcType=VARCHAR}, + + + star = #{star,jdbcType=INTEGER}, + + + reviewtime = #{reviewtime,jdbcType=TIMESTAMP}, + + + where reviewid = #{reviewid,jdbcType=INTEGER} + + + update review + set userid = #{userid,jdbcType=INTEGER}, + movieid = #{movieid,jdbcType=INTEGER}, + content = #{content,jdbcType=VARCHAR}, + star = #{star,jdbcType=INTEGER}, + reviewtime = #{reviewtime,jdbcType=TIMESTAMP} + where reviewid = #{reviewid,jdbcType=INTEGER} + + \ No newline at end of file diff --git a/src/demo/manager/src/main/java/com/dream/mapper/UserMapper.java b/src/demo/manager/src/main/java/com/dream/mapper/UserMapper.java new file mode 100644 index 00000000..b9f8d2c7 --- /dev/null +++ b/src/demo/manager/src/main/java/com/dream/mapper/UserMapper.java @@ -0,0 +1,33 @@ +package com.dream.mapper; + +import com.dream.po.User; +import com.dream.po.UserExample; +import java.util.List; +import org.apache.ibatis.annotations.Param; + +public interface UserMapper { + int countByExample(UserExample example); + + int deleteByExample(UserExample example); + + int deleteByPrimaryKey(Integer userid); + + int insert(User record); + + int insertSelective(User record); + + List selectByExample(UserExample example); + + User selectByPrimaryKey(Integer userid); + + int updateByExampleSelective(@Param("record") User record, @Param("example") UserExample example); + + int updateByExample(@Param("record") User record, @Param("example") UserExample example); + + int updateByPrimaryKeySelective(User record); + + int updateByPrimaryKey(User record); + + List selectUserList(User user); + Integer selectUserListCount(User user); +} \ No newline at end of file diff --git a/src/demo/manager/src/main/java/com/dream/mapper/UserMapper.xml b/src/demo/manager/src/main/java/com/dream/mapper/UserMapper.xml new file mode 100644 index 00000000..d10b6a0b --- /dev/null +++ b/src/demo/manager/src/main/java/com/dream/mapper/UserMapper.xml @@ -0,0 +1,256 @@ + + + + + + + + + + + + + + + + + + + + and ${criterion.condition} + + + and ${criterion.condition} #{criterion.value} + + + and ${criterion.condition} #{criterion.value} and #{criterion.secondValue} + + + and ${criterion.condition} + + #{listItem} + + + + + + + + + + + + + + + + + + and ${criterion.condition} + + + and ${criterion.condition} #{criterion.value} + + + and ${criterion.condition} #{criterion.value} and #{criterion.secondValue} + + + and ${criterion.condition} + + #{listItem} + + + + + + + + + + + userid, username, password, registertime, lastlogintime, email + + + + + + + username like "%"#{username}"%" + + + + + + + + + delete from user + where userid = #{userid,jdbcType=INTEGER} + + + delete from user + + + + + + insert into user (userid, username, password, + registertime, lastlogintime,email) + values (#{userid,jdbcType=INTEGER}, #{username,jdbcType=VARCHAR}, #{password,jdbcType=VARCHAR}, + #{registertime,jdbcType=TIMESTAMP}, #{lastlogintime,jdbcType=TIMESTAMP}, #{email,jdbcType=VARCHAR}) + + + insert into user + + + userid, + + + username, + + + password, + + + registertime, + + + lastlogintime, + + + email, + + + + + #{userid,jdbcType=INTEGER}, + + + #{username,jdbcType=VARCHAR}, + + + #{password,jdbcType=VARCHAR}, + + + #{registertime,jdbcType=TIMESTAMP}, + + + #{lastlogintime,jdbcType=TIMESTAMP}, + + + #{email,jdbcType=VARCHAR}, + + + + + + update user + + + userid = #{record.userid,jdbcType=INTEGER}, + + + username = #{record.username,jdbcType=VARCHAR}, + + + password = #{record.password,jdbcType=VARCHAR}, + + + registertime = #{record.registertime,jdbcType=TIMESTAMP}, + + + lastlogintime = #{record.lastlogintime,jdbcType=TIMESTAMP}, + + + email = #{record.email,jdbcType=VARCHAR}, + + + + + + + + update user + set userid = #{record.userid,jdbcType=INTEGER}, + username = #{record.username,jdbcType=VARCHAR}, + password = #{record.password,jdbcType=VARCHAR}, + registertime = #{record.registertime,jdbcType=TIMESTAMP}, + lastlogintime = #{record.lastlogintime,jdbcType=TIMESTAMP}, + email = #{record.email,jdbcType=VARCHAR} + + + + + + update user + + + username = #{username,jdbcType=VARCHAR}, + + + password = #{password,jdbcType=VARCHAR}, + + + registertime = #{registertime,jdbcType=TIMESTAMP}, + + + lastlogintime = #{lastlogintime,jdbcType=TIMESTAMP}, + + + email = #{email,jdbcType=VARCHAR}, + + + where userid = #{userid,jdbcType=INTEGER} + + + update user + set username = #{username,jdbcType=VARCHAR}, + password = #{password,jdbcType=VARCHAR}, + registertime = #{registertime,jdbcType=TIMESTAMP}, + lastlogintime = #{lastlogintime,jdbcType=TIMESTAMP}, + email = #{email,jdbcType=VARCHAR} + where userid = #{userid,jdbcType=INTEGER} + + \ No newline at end of file diff --git a/src/demo/manager/src/main/java/com/dream/po/Admin.java b/src/demo/manager/src/main/java/com/dream/po/Admin.java new file mode 100644 index 00000000..3dcb465d --- /dev/null +++ b/src/demo/manager/src/main/java/com/dream/po/Admin.java @@ -0,0 +1,63 @@ +package com.dream.po; + +public class Admin { + private Integer adminid; + + private String adminname; + + private String adminpassword; + + private Integer role; + + private Integer start; + + private Integer rows; + + public Integer getStart() { + return start; + } + + public void setStart(Integer start) { + this.start = start; + } + + public Integer getRows() { + return rows; + } + + public void setRows(Integer rows) { + this.rows = rows; + } + + public Integer getRole() { + return role; + } + + public void setRole(Integer role) { + this.role = role; + } + + public Integer getAdminid() { + return adminid; + } + + public void setAdminid(Integer adminid) { + this.adminid = adminid; + } + + public String getAdminname() { + return adminname; + } + + public void setAdminname(String adminname) { + this.adminname = adminname == null ? null : adminname.trim(); + } + + public String getAdminpassword() { + return adminpassword; + } + + public void setAdminpassword(String adminpassword) { + this.adminpassword = adminpassword == null ? null : adminpassword.trim(); + } +} \ No newline at end of file diff --git a/src/demo/manager/src/main/java/com/dream/po/AdminExample.java b/src/demo/manager/src/main/java/com/dream/po/AdminExample.java new file mode 100644 index 00000000..3317cc50 --- /dev/null +++ b/src/demo/manager/src/main/java/com/dream/po/AdminExample.java @@ -0,0 +1,400 @@ +package com.dream.po; + +import java.util.ArrayList; +import java.util.List; + +public class AdminExample { + protected String orderByClause; + + protected boolean distinct; + + protected List oredCriteria; + + public AdminExample() { + oredCriteria = new ArrayList(); + } + + public void setOrderByClause(String orderByClause) { + this.orderByClause = orderByClause; + } + + public String getOrderByClause() { + return orderByClause; + } + + public void setDistinct(boolean distinct) { + this.distinct = distinct; + } + + public boolean isDistinct() { + return distinct; + } + + public List getOredCriteria() { + return oredCriteria; + } + + public void or(Criteria criteria) { + oredCriteria.add(criteria); + } + + public Criteria or() { + Criteria criteria = createCriteriaInternal(); + oredCriteria.add(criteria); + return criteria; + } + + public Criteria createCriteria() { + Criteria criteria = createCriteriaInternal(); + if (oredCriteria.size() == 0) { + oredCriteria.add(criteria); + } + return criteria; + } + + protected Criteria createCriteriaInternal() { + Criteria criteria = new Criteria(); + return criteria; + } + + public void clear() { + oredCriteria.clear(); + orderByClause = null; + distinct = false; + } + + protected abstract static class GeneratedCriteria { + protected List criteria; + + protected GeneratedCriteria() { + super(); + criteria = new ArrayList(); + } + + public boolean isValid() { + return criteria.size() > 0; + } + + public List getAllCriteria() { + return criteria; + } + + public List getCriteria() { + return criteria; + } + + protected void addCriterion(String condition) { + if (condition == null) { + throw new RuntimeException("Value for condition cannot be null"); + } + criteria.add(new Criterion(condition)); + } + + protected void addCriterion(String condition, Object value, String property) { + if (value == null) { + throw new RuntimeException("Value for " + property + " cannot be null"); + } + criteria.add(new Criterion(condition, value)); + } + + protected void addCriterion(String condition, Object value1, Object value2, String property) { + if (value1 == null || value2 == null) { + throw new RuntimeException("Between values for " + property + " cannot be null"); + } + criteria.add(new Criterion(condition, value1, value2)); + } + + public Criteria andAdminidIsNull() { + addCriterion("adminid is null"); + return (Criteria) this; + } + + public Criteria andAdminidIsNotNull() { + addCriterion("adminid is not null"); + return (Criteria) this; + } + + public Criteria andAdminidEqualTo(Integer value) { + addCriterion("adminid =", value, "adminid"); + return (Criteria) this; + } + + public Criteria andAdminidNotEqualTo(Integer value) { + addCriterion("adminid <>", value, "adminid"); + return (Criteria) this; + } + + public Criteria andAdminidGreaterThan(Integer value) { + addCriterion("adminid >", value, "adminid"); + return (Criteria) this; + } + + public Criteria andAdminidGreaterThanOrEqualTo(Integer value) { + addCriterion("adminid >=", value, "adminid"); + return (Criteria) this; + } + + public Criteria andAdminidLessThan(Integer value) { + addCriterion("adminid <", value, "adminid"); + return (Criteria) this; + } + + public Criteria andAdminidLessThanOrEqualTo(Integer value) { + addCriterion("adminid <=", value, "adminid"); + return (Criteria) this; + } + + public Criteria andAdminidIn(List values) { + addCriterion("adminid in", values, "adminid"); + return (Criteria) this; + } + + public Criteria andAdminidNotIn(List values) { + addCriterion("adminid not in", values, "adminid"); + return (Criteria) this; + } + + public Criteria andAdminidBetween(Integer value1, Integer value2) { + addCriterion("adminid between", value1, value2, "adminid"); + return (Criteria) this; + } + + public Criteria andAdminidNotBetween(Integer value1, Integer value2) { + addCriterion("adminid not between", value1, value2, "adminid"); + return (Criteria) this; + } + + public Criteria andAdminnameIsNull() { + addCriterion("adminname is null"); + return (Criteria) this; + } + + public Criteria andAdminnameIsNotNull() { + addCriterion("adminname is not null"); + return (Criteria) this; + } + + public Criteria andAdminnameEqualTo(String value) { + addCriterion("adminname =", value, "adminname"); + return (Criteria) this; + } + + public Criteria andAdminnameNotEqualTo(String value) { + addCriterion("adminname <>", value, "adminname"); + return (Criteria) this; + } + + public Criteria andAdminnameGreaterThan(String value) { + addCriterion("adminname >", value, "adminname"); + return (Criteria) this; + } + + public Criteria andAdminnameGreaterThanOrEqualTo(String value) { + addCriterion("adminname >=", value, "adminname"); + return (Criteria) this; + } + + public Criteria andAdminnameLessThan(String value) { + addCriterion("adminname <", value, "adminname"); + return (Criteria) this; + } + + public Criteria andAdminnameLessThanOrEqualTo(String value) { + addCriterion("adminname <=", value, "adminname"); + return (Criteria) this; + } + + public Criteria andAdminnameLike(String value) { + addCriterion("adminname like", value, "adminname"); + return (Criteria) this; + } + + public Criteria andAdminnameNotLike(String value) { + addCriterion("adminname not like", value, "adminname"); + return (Criteria) this; + } + + public Criteria andAdminnameIn(List values) { + addCriterion("adminname in", values, "adminname"); + return (Criteria) this; + } + + public Criteria andAdminnameNotIn(List values) { + addCriterion("adminname not in", values, "adminname"); + return (Criteria) this; + } + + public Criteria andAdminnameBetween(String value1, String value2) { + addCriterion("adminname between", value1, value2, "adminname"); + return (Criteria) this; + } + + public Criteria andAdminnameNotBetween(String value1, String value2) { + addCriterion("adminname not between", value1, value2, "adminname"); + return (Criteria) this; + } + + public Criteria andAdminpasswordIsNull() { + addCriterion("adminpassword is null"); + return (Criteria) this; + } + + public Criteria andAdminpasswordIsNotNull() { + addCriterion("adminpassword is not null"); + return (Criteria) this; + } + + public Criteria andAdminpasswordEqualTo(String value) { + addCriterion("adminpassword =", value, "adminpassword"); + return (Criteria) this; + } + + public Criteria andAdminpasswordNotEqualTo(String value) { + addCriterion("adminpassword <>", value, "adminpassword"); + return (Criteria) this; + } + + public Criteria andAdminpasswordGreaterThan(String value) { + addCriterion("adminpassword >", value, "adminpassword"); + return (Criteria) this; + } + + public Criteria andAdminpasswordGreaterThanOrEqualTo(String value) { + addCriterion("adminpassword >=", value, "adminpassword"); + return (Criteria) this; + } + + public Criteria andAdminpasswordLessThan(String value) { + addCriterion("adminpassword <", value, "adminpassword"); + return (Criteria) this; + } + + public Criteria andAdminpasswordLessThanOrEqualTo(String value) { + addCriterion("adminpassword <=", value, "adminpassword"); + return (Criteria) this; + } + + public Criteria andAdminpasswordLike(String value) { + addCriterion("adminpassword like", value, "adminpassword"); + return (Criteria) this; + } + + public Criteria andAdminpasswordNotLike(String value) { + addCriterion("adminpassword not like", value, "adminpassword"); + return (Criteria) this; + } + + public Criteria andAdminpasswordIn(List values) { + addCriterion("adminpassword in", values, "adminpassword"); + return (Criteria) this; + } + + public Criteria andAdminpasswordNotIn(List values) { + addCriterion("adminpassword not in", values, "adminpassword"); + return (Criteria) this; + } + + public Criteria andAdminpasswordBetween(String value1, String value2) { + addCriterion("adminpassword between", value1, value2, "adminpassword"); + return (Criteria) this; + } + + public Criteria andAdminpasswordNotBetween(String value1, String value2) { + addCriterion("adminpassword not between", value1, value2, "adminpassword"); + return (Criteria) this; + } + } + + public static class Criteria extends GeneratedCriteria { + + protected Criteria() { + super(); + } + } + + public static class Criterion { + private String condition; + + private Object value; + + private Object secondValue; + + private boolean noValue; + + private boolean singleValue; + + private boolean betweenValue; + + private boolean listValue; + + private String typeHandler; + + public String getCondition() { + return condition; + } + + public Object getValue() { + return value; + } + + public Object getSecondValue() { + return secondValue; + } + + public boolean isNoValue() { + return noValue; + } + + public boolean isSingleValue() { + return singleValue; + } + + public boolean isBetweenValue() { + return betweenValue; + } + + public boolean isListValue() { + return listValue; + } + + public String getTypeHandler() { + return typeHandler; + } + + protected Criterion(String condition) { + super(); + this.condition = condition; + this.typeHandler = null; + this.noValue = true; + } + + protected Criterion(String condition, Object value, String typeHandler) { + super(); + this.condition = condition; + this.value = value; + this.typeHandler = typeHandler; + if (value instanceof List) { + this.listValue = true; + } else { + this.singleValue = true; + } + } + + protected Criterion(String condition, Object value) { + this(condition, value, null); + } + + protected Criterion(String condition, Object value, Object secondValue, String typeHandler) { + super(); + this.condition = condition; + this.value = value; + this.secondValue = secondValue; + this.typeHandler = typeHandler; + this.betweenValue = true; + } + + protected Criterion(String condition, Object value, Object secondValue) { + this(condition, value, secondValue, null); + } + } +} \ No newline at end of file diff --git a/src/demo/manager/src/main/java/com/dream/po/Browse.java b/src/demo/manager/src/main/java/com/dream/po/Browse.java new file mode 100644 index 00000000..3a3ce4ae --- /dev/null +++ b/src/demo/manager/src/main/java/com/dream/po/Browse.java @@ -0,0 +1,45 @@ +package com.dream.po; + +import java.util.Date; + +public class Browse { + private Integer browseid; + + private Integer userid; + + private String movieids; + + private Date browsetime; + + public Integer getBrowseid() { + return browseid; + } + + public void setBrowseid(Integer browseid) { + this.browseid = browseid; + } + + public Integer getUserid() { + return userid; + } + + public void setUserid(Integer userid) { + this.userid = userid; + } + + public String getMovieids() { + return movieids; + } + + public void setMovieids(String movieids) { + this.movieids = movieids == null ? null : movieids.trim(); + } + + public Date getBrowsetime() { + return browsetime; + } + + public void setBrowsetime(Date browsetime) { + this.browsetime = browsetime; + } +} \ No newline at end of file diff --git a/src/demo/manager/src/main/java/com/dream/po/BrowseExample.java b/src/demo/manager/src/main/java/com/dream/po/BrowseExample.java new file mode 100644 index 00000000..3c7239c5 --- /dev/null +++ b/src/demo/manager/src/main/java/com/dream/po/BrowseExample.java @@ -0,0 +1,451 @@ +package com.dream.po; + +import java.util.ArrayList; +import java.util.Date; +import java.util.List; + +public class BrowseExample { + protected String orderByClause; + + protected boolean distinct; + + protected List oredCriteria; + + public BrowseExample() { + oredCriteria = new ArrayList(); + } + + public void setOrderByClause(String orderByClause) { + this.orderByClause = orderByClause; + } + + public String getOrderByClause() { + return orderByClause; + } + + public void setDistinct(boolean distinct) { + this.distinct = distinct; + } + + public boolean isDistinct() { + return distinct; + } + + public List getOredCriteria() { + return oredCriteria; + } + + public void or(Criteria criteria) { + oredCriteria.add(criteria); + } + + public Criteria or() { + Criteria criteria = createCriteriaInternal(); + oredCriteria.add(criteria); + return criteria; + } + + public Criteria createCriteria() { + Criteria criteria = createCriteriaInternal(); + if (oredCriteria.size() == 0) { + oredCriteria.add(criteria); + } + return criteria; + } + + protected Criteria createCriteriaInternal() { + Criteria criteria = new Criteria(); + return criteria; + } + + public void clear() { + oredCriteria.clear(); + orderByClause = null; + distinct = false; + } + + protected abstract static class GeneratedCriteria { + protected List criteria; + + protected GeneratedCriteria() { + super(); + criteria = new ArrayList(); + } + + public boolean isValid() { + return criteria.size() > 0; + } + + public List getAllCriteria() { + return criteria; + } + + public List getCriteria() { + return criteria; + } + + protected void addCriterion(String condition) { + if (condition == null) { + throw new RuntimeException("Value for condition cannot be null"); + } + criteria.add(new Criterion(condition)); + } + + protected void addCriterion(String condition, Object value, String property) { + if (value == null) { + throw new RuntimeException("Value for " + property + " cannot be null"); + } + criteria.add(new Criterion(condition, value)); + } + + protected void addCriterion(String condition, Object value1, Object value2, String property) { + if (value1 == null || value2 == null) { + throw new RuntimeException("Between values for " + property + " cannot be null"); + } + criteria.add(new Criterion(condition, value1, value2)); + } + + public Criteria andBrowseidIsNull() { + addCriterion("browseid is null"); + return (Criteria) this; + } + + public Criteria andBrowseidIsNotNull() { + addCriterion("browseid is not null"); + return (Criteria) this; + } + + public Criteria andBrowseidEqualTo(Integer value) { + addCriterion("browseid =", value, "browseid"); + return (Criteria) this; + } + + public Criteria andBrowseidNotEqualTo(Integer value) { + addCriterion("browseid <>", value, "browseid"); + return (Criteria) this; + } + + public Criteria andBrowseidGreaterThan(Integer value) { + addCriterion("browseid >", value, "browseid"); + return (Criteria) this; + } + + public Criteria andBrowseidGreaterThanOrEqualTo(Integer value) { + addCriterion("browseid >=", value, "browseid"); + return (Criteria) this; + } + + public Criteria andBrowseidLessThan(Integer value) { + addCriterion("browseid <", value, "browseid"); + return (Criteria) this; + } + + public Criteria andBrowseidLessThanOrEqualTo(Integer value) { + addCriterion("browseid <=", value, "browseid"); + return (Criteria) this; + } + + public Criteria andBrowseidIn(List values) { + addCriterion("browseid in", values, "browseid"); + return (Criteria) this; + } + + public Criteria andBrowseidNotIn(List values) { + addCriterion("browseid not in", values, "browseid"); + return (Criteria) this; + } + + public Criteria andBrowseidBetween(Integer value1, Integer value2) { + addCriterion("browseid between", value1, value2, "browseid"); + return (Criteria) this; + } + + public Criteria andBrowseidNotBetween(Integer value1, Integer value2) { + addCriterion("browseid not between", value1, value2, "browseid"); + return (Criteria) this; + } + + public Criteria andUseridIsNull() { + addCriterion("userid is null"); + return (Criteria) this; + } + + public Criteria andUseridIsNotNull() { + addCriterion("userid is not null"); + return (Criteria) this; + } + + public Criteria andUseridEqualTo(Integer value) { + addCriterion("userid =", value, "userid"); + return (Criteria) this; + } + + public Criteria andUseridNotEqualTo(Integer value) { + addCriterion("userid <>", value, "userid"); + return (Criteria) this; + } + + public Criteria andUseridGreaterThan(Integer value) { + addCriterion("userid >", value, "userid"); + return (Criteria) this; + } + + public Criteria andUseridGreaterThanOrEqualTo(Integer value) { + addCriterion("userid >=", value, "userid"); + return (Criteria) this; + } + + public Criteria andUseridLessThan(Integer value) { + addCriterion("userid <", value, "userid"); + return (Criteria) this; + } + + public Criteria andUseridLessThanOrEqualTo(Integer value) { + addCriterion("userid <=", value, "userid"); + return (Criteria) this; + } + + public Criteria andUseridIn(List values) { + addCriterion("userid in", values, "userid"); + return (Criteria) this; + } + + public Criteria andUseridNotIn(List values) { + addCriterion("userid not in", values, "userid"); + return (Criteria) this; + } + + public Criteria andUseridBetween(Integer value1, Integer value2) { + addCriterion("userid between", value1, value2, "userid"); + return (Criteria) this; + } + + public Criteria andUseridNotBetween(Integer value1, Integer value2) { + addCriterion("userid not between", value1, value2, "userid"); + return (Criteria) this; + } + + public Criteria andMovieidsIsNull() { + addCriterion("movieids is null"); + return (Criteria) this; + } + + public Criteria andMovieidsIsNotNull() { + addCriterion("movieids is not null"); + return (Criteria) this; + } + + public Criteria andMovieidsEqualTo(String value) { + addCriterion("movieids =", value, "movieids"); + return (Criteria) this; + } + + public Criteria andMovieidsNotEqualTo(String value) { + addCriterion("movieids <>", value, "movieids"); + return (Criteria) this; + } + + public Criteria andMovieidsGreaterThan(String value) { + addCriterion("movieids >", value, "movieids"); + return (Criteria) this; + } + + public Criteria andMovieidsGreaterThanOrEqualTo(String value) { + addCriterion("movieids >=", value, "movieids"); + return (Criteria) this; + } + + public Criteria andMovieidsLessThan(String value) { + addCriterion("movieids <", value, "movieids"); + return (Criteria) this; + } + + public Criteria andMovieidsLessThanOrEqualTo(String value) { + addCriterion("movieids <=", value, "movieids"); + return (Criteria) this; + } + + public Criteria andMovieidsLike(String value) { + addCriterion("movieids like", value, "movieids"); + return (Criteria) this; + } + + public Criteria andMovieidsNotLike(String value) { + addCriterion("movieids not like", value, "movieids"); + return (Criteria) this; + } + + public Criteria andMovieidsIn(List values) { + addCriterion("movieids in", values, "movieids"); + return (Criteria) this; + } + + public Criteria andMovieidsNotIn(List values) { + addCriterion("movieids not in", values, "movieids"); + return (Criteria) this; + } + + public Criteria andMovieidsBetween(String value1, String value2) { + addCriterion("movieids between", value1, value2, "movieids"); + return (Criteria) this; + } + + public Criteria andMovieidsNotBetween(String value1, String value2) { + addCriterion("movieids not between", value1, value2, "movieids"); + return (Criteria) this; + } + + public Criteria andBrowsetimeIsNull() { + addCriterion("browsetime is null"); + return (Criteria) this; + } + + public Criteria andBrowsetimeIsNotNull() { + addCriterion("browsetime is not null"); + return (Criteria) this; + } + + public Criteria andBrowsetimeEqualTo(Date value) { + addCriterion("browsetime =", value, "browsetime"); + return (Criteria) this; + } + + public Criteria andBrowsetimeNotEqualTo(Date value) { + addCriterion("browsetime <>", value, "browsetime"); + return (Criteria) this; + } + + public Criteria andBrowsetimeGreaterThan(Date value) { + addCriterion("browsetime >", value, "browsetime"); + return (Criteria) this; + } + + public Criteria andBrowsetimeGreaterThanOrEqualTo(Date value) { + addCriterion("browsetime >=", value, "browsetime"); + return (Criteria) this; + } + + public Criteria andBrowsetimeLessThan(Date value) { + addCriterion("browsetime <", value, "browsetime"); + return (Criteria) this; + } + + public Criteria andBrowsetimeLessThanOrEqualTo(Date value) { + addCriterion("browsetime <=", value, "browsetime"); + return (Criteria) this; + } + + public Criteria andBrowsetimeIn(List values) { + addCriterion("browsetime in", values, "browsetime"); + return (Criteria) this; + } + + public Criteria andBrowsetimeNotIn(List values) { + addCriterion("browsetime not in", values, "browsetime"); + return (Criteria) this; + } + + public Criteria andBrowsetimeBetween(Date value1, Date value2) { + addCriterion("browsetime between", value1, value2, "browsetime"); + return (Criteria) this; + } + + public Criteria andBrowsetimeNotBetween(Date value1, Date value2) { + addCriterion("browsetime not between", value1, value2, "browsetime"); + return (Criteria) this; + } + } + + public static class Criteria extends GeneratedCriteria { + + protected Criteria() { + super(); + } + } + + public static class Criterion { + private String condition; + + private Object value; + + private Object secondValue; + + private boolean noValue; + + private boolean singleValue; + + private boolean betweenValue; + + private boolean listValue; + + private String typeHandler; + + public String getCondition() { + return condition; + } + + public Object getValue() { + return value; + } + + public Object getSecondValue() { + return secondValue; + } + + public boolean isNoValue() { + return noValue; + } + + public boolean isSingleValue() { + return singleValue; + } + + public boolean isBetweenValue() { + return betweenValue; + } + + public boolean isListValue() { + return listValue; + } + + public String getTypeHandler() { + return typeHandler; + } + + protected Criterion(String condition) { + super(); + this.condition = condition; + this.typeHandler = null; + this.noValue = true; + } + + protected Criterion(String condition, Object value, String typeHandler) { + super(); + this.condition = condition; + this.value = value; + this.typeHandler = typeHandler; + if (value instanceof List) { + this.listValue = true; + } else { + this.singleValue = true; + } + } + + protected Criterion(String condition, Object value) { + this(condition, value, null); + } + + protected Criterion(String condition, Object value, Object secondValue, String typeHandler) { + super(); + this.condition = condition; + this.value = value; + this.secondValue = secondValue; + this.typeHandler = typeHandler; + this.betweenValue = true; + } + + protected Criterion(String condition, Object value, Object secondValue) { + this(condition, value, secondValue, null); + } + } +} \ No newline at end of file diff --git a/src/demo/manager/src/main/java/com/dream/po/Category.java b/src/demo/manager/src/main/java/com/dream/po/Category.java new file mode 100644 index 00000000..0da43103 --- /dev/null +++ b/src/demo/manager/src/main/java/com/dream/po/Category.java @@ -0,0 +1,23 @@ +package com.dream.po; + +public class Category { + private Integer categoryid; + + private String category; + + public Integer getCategoryid() { + return categoryid; + } + + public void setCategoryid(Integer categoryid) { + this.categoryid = categoryid; + } + + public String getCategory() { + return category; + } + + public void setCategory(String category) { + this.category = category == null ? null : category.trim(); + } +} \ No newline at end of file diff --git a/src/demo/manager/src/main/java/com/dream/po/CategoryExample.java b/src/demo/manager/src/main/java/com/dream/po/CategoryExample.java new file mode 100644 index 00000000..8bc8af4c --- /dev/null +++ b/src/demo/manager/src/main/java/com/dream/po/CategoryExample.java @@ -0,0 +1,330 @@ +package com.dream.po; + +import java.util.ArrayList; +import java.util.List; + +public class CategoryExample { + protected String orderByClause; + + protected boolean distinct; + + protected List oredCriteria; + + public CategoryExample() { + oredCriteria = new ArrayList(); + } + + public void setOrderByClause(String orderByClause) { + this.orderByClause = orderByClause; + } + + public String getOrderByClause() { + return orderByClause; + } + + public void setDistinct(boolean distinct) { + this.distinct = distinct; + } + + public boolean isDistinct() { + return distinct; + } + + public List getOredCriteria() { + return oredCriteria; + } + + public void or(Criteria criteria) { + oredCriteria.add(criteria); + } + + public Criteria or() { + Criteria criteria = createCriteriaInternal(); + oredCriteria.add(criteria); + return criteria; + } + + public Criteria createCriteria() { + Criteria criteria = createCriteriaInternal(); + if (oredCriteria.size() == 0) { + oredCriteria.add(criteria); + } + return criteria; + } + + protected Criteria createCriteriaInternal() { + Criteria criteria = new Criteria(); + return criteria; + } + + public void clear() { + oredCriteria.clear(); + orderByClause = null; + distinct = false; + } + + protected abstract static class GeneratedCriteria { + protected List criteria; + + protected GeneratedCriteria() { + super(); + criteria = new ArrayList(); + } + + public boolean isValid() { + return criteria.size() > 0; + } + + public List getAllCriteria() { + return criteria; + } + + public List getCriteria() { + return criteria; + } + + protected void addCriterion(String condition) { + if (condition == null) { + throw new RuntimeException("Value for condition cannot be null"); + } + criteria.add(new Criterion(condition)); + } + + protected void addCriterion(String condition, Object value, String property) { + if (value == null) { + throw new RuntimeException("Value for " + property + " cannot be null"); + } + criteria.add(new Criterion(condition, value)); + } + + protected void addCriterion(String condition, Object value1, Object value2, String property) { + if (value1 == null || value2 == null) { + throw new RuntimeException("Between values for " + property + " cannot be null"); + } + criteria.add(new Criterion(condition, value1, value2)); + } + + public Criteria andCategoryidIsNull() { + addCriterion("categoryid is null"); + return (Criteria) this; + } + + public Criteria andCategoryidIsNotNull() { + addCriterion("categoryid is not null"); + return (Criteria) this; + } + + public Criteria andCategoryidEqualTo(Integer value) { + addCriterion("categoryid =", value, "categoryid"); + return (Criteria) this; + } + + public Criteria andCategoryidNotEqualTo(Integer value) { + addCriterion("categoryid <>", value, "categoryid"); + return (Criteria) this; + } + + public Criteria andCategoryidGreaterThan(Integer value) { + addCriterion("categoryid >", value, "categoryid"); + return (Criteria) this; + } + + public Criteria andCategoryidGreaterThanOrEqualTo(Integer value) { + addCriterion("categoryid >=", value, "categoryid"); + return (Criteria) this; + } + + public Criteria andCategoryidLessThan(Integer value) { + addCriterion("categoryid <", value, "categoryid"); + return (Criteria) this; + } + + public Criteria andCategoryidLessThanOrEqualTo(Integer value) { + addCriterion("categoryid <=", value, "categoryid"); + return (Criteria) this; + } + + public Criteria andCategoryidIn(List values) { + addCriterion("categoryid in", values, "categoryid"); + return (Criteria) this; + } + + public Criteria andCategoryidNotIn(List values) { + addCriterion("categoryid not in", values, "categoryid"); + return (Criteria) this; + } + + public Criteria andCategoryidBetween(Integer value1, Integer value2) { + addCriterion("categoryid between", value1, value2, "categoryid"); + return (Criteria) this; + } + + public Criteria andCategoryidNotBetween(Integer value1, Integer value2) { + addCriterion("categoryid not between", value1, value2, "categoryid"); + return (Criteria) this; + } + + public Criteria andCategoryIsNull() { + addCriterion("category is null"); + return (Criteria) this; + } + + public Criteria andCategoryIsNotNull() { + addCriterion("category is not null"); + return (Criteria) this; + } + + public Criteria andCategoryEqualTo(String value) { + addCriterion("category =", value, "category"); + return (Criteria) this; + } + + public Criteria andCategoryNotEqualTo(String value) { + addCriterion("category <>", value, "category"); + return (Criteria) this; + } + + public Criteria andCategoryGreaterThan(String value) { + addCriterion("category >", value, "category"); + return (Criteria) this; + } + + public Criteria andCategoryGreaterThanOrEqualTo(String value) { + addCriterion("category >=", value, "category"); + return (Criteria) this; + } + + public Criteria andCategoryLessThan(String value) { + addCriterion("category <", value, "category"); + return (Criteria) this; + } + + public Criteria andCategoryLessThanOrEqualTo(String value) { + addCriterion("category <=", value, "category"); + return (Criteria) this; + } + + public Criteria andCategoryLike(String value) { + addCriterion("category like", value, "category"); + return (Criteria) this; + } + + public Criteria andCategoryNotLike(String value) { + addCriterion("category not like", value, "category"); + return (Criteria) this; + } + + public Criteria andCategoryIn(List values) { + addCriterion("category in", values, "category"); + return (Criteria) this; + } + + public Criteria andCategoryNotIn(List values) { + addCriterion("category not in", values, "category"); + return (Criteria) this; + } + + public Criteria andCategoryBetween(String value1, String value2) { + addCriterion("category between", value1, value2, "category"); + return (Criteria) this; + } + + public Criteria andCategoryNotBetween(String value1, String value2) { + addCriterion("category not between", value1, value2, "category"); + return (Criteria) this; + } + } + + public static class Criteria extends GeneratedCriteria { + + protected Criteria() { + super(); + } + } + + public static class Criterion { + private String condition; + + private Object value; + + private Object secondValue; + + private boolean noValue; + + private boolean singleValue; + + private boolean betweenValue; + + private boolean listValue; + + private String typeHandler; + + public String getCondition() { + return condition; + } + + public Object getValue() { + return value; + } + + public Object getSecondValue() { + return secondValue; + } + + public boolean isNoValue() { + return noValue; + } + + public boolean isSingleValue() { + return singleValue; + } + + public boolean isBetweenValue() { + return betweenValue; + } + + public boolean isListValue() { + return listValue; + } + + public String getTypeHandler() { + return typeHandler; + } + + protected Criterion(String condition) { + super(); + this.condition = condition; + this.typeHandler = null; + this.noValue = true; + } + + protected Criterion(String condition, Object value, String typeHandler) { + super(); + this.condition = condition; + this.value = value; + this.typeHandler = typeHandler; + if (value instanceof List) { + this.listValue = true; + } else { + this.singleValue = true; + } + } + + protected Criterion(String condition, Object value) { + this(condition, value, null); + } + + protected Criterion(String condition, Object value, Object secondValue, String typeHandler) { + super(); + this.condition = condition; + this.value = value; + this.secondValue = secondValue; + this.typeHandler = typeHandler; + this.betweenValue = true; + } + + protected Criterion(String condition, Object value, Object secondValue) { + this(condition, value, secondValue, null); + } + } +} \ No newline at end of file diff --git a/src/demo/manager/src/main/java/com/dream/po/Movie.java b/src/demo/manager/src/main/java/com/dream/po/Movie.java new file mode 100644 index 00000000..b0f936ac --- /dev/null +++ b/src/demo/manager/src/main/java/com/dream/po/Movie.java @@ -0,0 +1,141 @@ +package com.dream.po; + +import com.fasterxml.jackson.annotation.JsonFormat; +import org.springframework.format.annotation.DateTimeFormat; +//import org.springframework.format.annotation.DateTimeFormat; + +import java.io.Serializable; +import java.util.Date; + +public class Movie implements Serializable{ + private Integer movieid; + + private String moviename; + + @JsonFormat(pattern="yyyy-MM-dd",timezone = "GMT+8") + @DateTimeFormat(pattern="yyyy-MM-dd") + private Date showyear; + + private String nation; + + private String director; + + private String leadactors; + + private String screenwriter; + + private String picture; + + // 添加三个字段 + private Double averating; + private Integer numrating; + private String description; + + private Integer start; + + private Integer rows; + + public Integer getStart() { + return start; + } + + public void setStart(Integer start) { + this.start = start; + } + + public Integer getRows() { + return rows; + } + + public void setRows(Integer rows) { + this.rows = rows; + } + + public Integer getMovieid() { + return movieid; + } + + public void setMovieid(Integer movieid) { + this.movieid = movieid; + } + + public String getMoviename() { + return moviename; + } + + public void setMoviename(String moviename) { + this.moviename = moviename == null ? null : moviename.trim(); + } + + public Date getShowyear() { + return showyear; + } + + public void setShowyear(Date showyear) { + this.showyear = showyear; + } + + public String getNation() { + return nation; + } + + public void setNation(String nation) { + this.nation = nation == null ? null : nation.trim(); + } + + public String getDirector() { + return director; + } + + public void setDirector(String director) { + this.director = director == null ? null : director.trim(); + } + + public String getLeadactors() { + return leadactors; + } + + public void setLeadactors(String leadactors) { + this.leadactors = leadactors == null ? null : leadactors.trim(); + } + + public String getScreenwriter() { + return screenwriter; + } + + public void setScreenwriter(String screenwriter) { + this.screenwriter = screenwriter == null ? null : screenwriter.trim(); + } + + public String getPicture() { + return picture; + } + + public void setPicture(String picture) { + this.picture = picture == null ? null : picture.trim(); + } + + public Double getAverating() { + return averating; + } + + public void setAverating(Double averating) { + this.averating = averating; + } + + public Integer getNumrating() { + return numrating; + } + + public void setNumrating(Integer numrating) { + this.numrating = numrating; + } + + public String getDescription() { + return description; + } + + public void setDescription(String description) { + this.description = description; + } +} \ No newline at end of file diff --git a/src/demo/manager/src/main/java/com/dream/po/MovieExample.java b/src/demo/manager/src/main/java/com/dream/po/MovieExample.java new file mode 100644 index 00000000..478b3f3f --- /dev/null +++ b/src/demo/manager/src/main/java/com/dream/po/MovieExample.java @@ -0,0 +1,741 @@ +package com.dream.po; + +import java.util.ArrayList; +import java.util.Date; +import java.util.List; + +public class MovieExample { + protected String orderByClause; + + protected boolean distinct; + + protected List oredCriteria; + + public MovieExample() { + oredCriteria = new ArrayList(); + } + + public void setOrderByClause(String orderByClause) { + this.orderByClause = orderByClause; + } + + public String getOrderByClause() { + return orderByClause; + } + + public void setDistinct(boolean distinct) { + this.distinct = distinct; + } + + public boolean isDistinct() { + return distinct; + } + + public List getOredCriteria() { + return oredCriteria; + } + + public void or(Criteria criteria) { + oredCriteria.add(criteria); + } + + public Criteria or() { + Criteria criteria = createCriteriaInternal(); + oredCriteria.add(criteria); + return criteria; + } + + public Criteria createCriteria() { + Criteria criteria = createCriteriaInternal(); + if (oredCriteria.size() == 0) { + oredCriteria.add(criteria); + } + return criteria; + } + + protected Criteria createCriteriaInternal() { + Criteria criteria = new Criteria(); + return criteria; + } + + public void clear() { + oredCriteria.clear(); + orderByClause = null; + distinct = false; + } + + protected abstract static class GeneratedCriteria { + protected List criteria; + + protected GeneratedCriteria() { + super(); + criteria = new ArrayList(); + } + + public boolean isValid() { + return criteria.size() > 0; + } + + public List getAllCriteria() { + return criteria; + } + + public List getCriteria() { + return criteria; + } + + protected void addCriterion(String condition) { + if (condition == null) { + throw new RuntimeException("Value for condition cannot be null"); + } + criteria.add(new Criterion(condition)); + } + + protected void addCriterion(String condition, Object value, String property) { + if (value == null) { + throw new RuntimeException("Value for " + property + " cannot be null"); + } + criteria.add(new Criterion(condition, value)); + } + + protected void addCriterion(String condition, Object value1, Object value2, String property) { + if (value1 == null || value2 == null) { + throw new RuntimeException("Between values for " + property + " cannot be null"); + } + criteria.add(new Criterion(condition, value1, value2)); + } + + public Criteria andMovieidIsNull() { + addCriterion("movieid is null"); + return (Criteria) this; + } + + public Criteria andMovieidIsNotNull() { + addCriterion("movieid is not null"); + return (Criteria) this; + } + + public Criteria andMovieidEqualTo(Integer value) { + addCriterion("movieid =", value, "movieid"); + return (Criteria) this; + } + + public Criteria andMovieidNotEqualTo(Integer value) { + addCriterion("movieid <>", value, "movieid"); + return (Criteria) this; + } + + public Criteria andMovieidGreaterThan(Integer value) { + addCriterion("movieid >", value, "movieid"); + return (Criteria) this; + } + + public Criteria andMovieidGreaterThanOrEqualTo(Integer value) { + addCriterion("movieid >=", value, "movieid"); + return (Criteria) this; + } + + public Criteria andMovieidLessThan(Integer value) { + addCriterion("movieid <", value, "movieid"); + return (Criteria) this; + } + + public Criteria andMovieidLessThanOrEqualTo(Integer value) { + addCriterion("movieid <=", value, "movieid"); + return (Criteria) this; + } + + public Criteria andMovieidIn(List values) { + addCriterion("movieid in", values, "movieid"); + return (Criteria) this; + } + + public Criteria andMovieidNotIn(List values) { + addCriterion("movieid not in", values, "movieid"); + return (Criteria) this; + } + + public Criteria andMovieidBetween(Integer value1, Integer value2) { + addCriterion("movieid between", value1, value2, "movieid"); + return (Criteria) this; + } + + public Criteria andMovieidNotBetween(Integer value1, Integer value2) { + addCriterion("movieid not between", value1, value2, "movieid"); + return (Criteria) this; + } + + public Criteria andMovienameIsNull() { + addCriterion("moviename is null"); + return (Criteria) this; + } + + public Criteria andMovienameIsNotNull() { + addCriterion("moviename is not null"); + return (Criteria) this; + } + + public Criteria andMovienameEqualTo(String value) { + addCriterion("moviename =", value, "moviename"); + return (Criteria) this; + } + + public Criteria andMovienameNotEqualTo(String value) { + addCriterion("moviename <>", value, "moviename"); + return (Criteria) this; + } + + public Criteria andMovienameGreaterThan(String value) { + addCriterion("moviename >", value, "moviename"); + return (Criteria) this; + } + + public Criteria andMovienameGreaterThanOrEqualTo(String value) { + addCriterion("moviename >=", value, "moviename"); + return (Criteria) this; + } + + public Criteria andMovienameLessThan(String value) { + addCriterion("moviename <", value, "moviename"); + return (Criteria) this; + } + + public Criteria andMovienameLessThanOrEqualTo(String value) { + addCriterion("moviename <=", value, "moviename"); + return (Criteria) this; + } + + public Criteria andMovienameLike(String value) { + addCriterion("moviename like", value, "moviename"); + return (Criteria) this; + } + + public Criteria andMovienameNotLike(String value) { + addCriterion("moviename not like", value, "moviename"); + return (Criteria) this; + } + + public Criteria andMovienameIn(List values) { + addCriterion("moviename in", values, "moviename"); + return (Criteria) this; + } + + public Criteria andMovienameNotIn(List values) { + addCriterion("moviename not in", values, "moviename"); + return (Criteria) this; + } + + public Criteria andMovienameBetween(String value1, String value2) { + addCriterion("moviename between", value1, value2, "moviename"); + return (Criteria) this; + } + + public Criteria andMovienameNotBetween(String value1, String value2) { + addCriterion("moviename not between", value1, value2, "moviename"); + return (Criteria) this; + } + + public Criteria andShowyearIsNull() { + addCriterion("showyear is null"); + return (Criteria) this; + } + + public Criteria andShowyearIsNotNull() { + addCriterion("showyear is not null"); + return (Criteria) this; + } + + public Criteria andShowyearEqualTo(Date value) { + addCriterion("showyear =", value, "showyear"); + return (Criteria) this; + } + + public Criteria andShowyearNotEqualTo(Date value) { + addCriterion("showyear <>", value, "showyear"); + return (Criteria) this; + } + + public Criteria andShowyearGreaterThan(Date value) { + addCriterion("showyear >", value, "showyear"); + return (Criteria) this; + } + + public Criteria andShowyearGreaterThanOrEqualTo(Date value) { + addCriterion("showyear >=", value, "showyear"); + return (Criteria) this; + } + + public Criteria andShowyearLessThan(Date value) { + addCriterion("showyear <", value, "showyear"); + return (Criteria) this; + } + + public Criteria andShowyearLessThanOrEqualTo(Date value) { + addCriterion("showyear <=", value, "showyear"); + return (Criteria) this; + } + + public Criteria andShowyearIn(List values) { + addCriterion("showyear in", values, "showyear"); + return (Criteria) this; + } + + public Criteria andShowyearNotIn(List values) { + addCriterion("showyear not in", values, "showyear"); + return (Criteria) this; + } + + public Criteria andShowyearBetween(Date value1, Date value2) { + addCriterion("showyear between", value1, value2, "showyear"); + return (Criteria) this; + } + + public Criteria andShowyearNotBetween(Date value1, Date value2) { + addCriterion("showyear not between", value1, value2, "showyear"); + return (Criteria) this; + } + + public Criteria andNationIsNull() { + addCriterion("nation is null"); + return (Criteria) this; + } + + public Criteria andNationIsNotNull() { + addCriterion("nation is not null"); + return (Criteria) this; + } + + public Criteria andNationEqualTo(String value) { + addCriterion("nation =", value, "nation"); + return (Criteria) this; + } + + public Criteria andNationNotEqualTo(String value) { + addCriterion("nation <>", value, "nation"); + return (Criteria) this; + } + + public Criteria andNationGreaterThan(String value) { + addCriterion("nation >", value, "nation"); + return (Criteria) this; + } + + public Criteria andNationGreaterThanOrEqualTo(String value) { + addCriterion("nation >=", value, "nation"); + return (Criteria) this; + } + + public Criteria andNationLessThan(String value) { + addCriterion("nation <", value, "nation"); + return (Criteria) this; + } + + public Criteria andNationLessThanOrEqualTo(String value) { + addCriterion("nation <=", value, "nation"); + return (Criteria) this; + } + + public Criteria andNationLike(String value) { + addCriterion("nation like", value, "nation"); + return (Criteria) this; + } + + public Criteria andNationNotLike(String value) { + addCriterion("nation not like", value, "nation"); + return (Criteria) this; + } + + public Criteria andNationIn(List values) { + addCriterion("nation in", values, "nation"); + return (Criteria) this; + } + + public Criteria andNationNotIn(List values) { + addCriterion("nation not in", values, "nation"); + return (Criteria) this; + } + + public Criteria andNationBetween(String value1, String value2) { + addCriterion("nation between", value1, value2, "nation"); + return (Criteria) this; + } + + public Criteria andNationNotBetween(String value1, String value2) { + addCriterion("nation not between", value1, value2, "nation"); + return (Criteria) this; + } + + public Criteria andDirectorIsNull() { + addCriterion("director is null"); + return (Criteria) this; + } + + public Criteria andDirectorIsNotNull() { + addCriterion("director is not null"); + return (Criteria) this; + } + + public Criteria andDirectorEqualTo(String value) { + addCriterion("director =", value, "director"); + return (Criteria) this; + } + + public Criteria andDirectorNotEqualTo(String value) { + addCriterion("director <>", value, "director"); + return (Criteria) this; + } + + public Criteria andDirectorGreaterThan(String value) { + addCriterion("director >", value, "director"); + return (Criteria) this; + } + + public Criteria andDirectorGreaterThanOrEqualTo(String value) { + addCriterion("director >=", value, "director"); + return (Criteria) this; + } + + public Criteria andDirectorLessThan(String value) { + addCriterion("director <", value, "director"); + return (Criteria) this; + } + + public Criteria andDirectorLessThanOrEqualTo(String value) { + addCriterion("director <=", value, "director"); + return (Criteria) this; + } + + public Criteria andDirectorLike(String value) { + addCriterion("director like", value, "director"); + return (Criteria) this; + } + + public Criteria andDirectorNotLike(String value) { + addCriterion("director not like", value, "director"); + return (Criteria) this; + } + + public Criteria andDirectorIn(List values) { + addCriterion("director in", values, "director"); + return (Criteria) this; + } + + public Criteria andDirectorNotIn(List values) { + addCriterion("director not in", values, "director"); + return (Criteria) this; + } + + public Criteria andDirectorBetween(String value1, String value2) { + addCriterion("director between", value1, value2, "director"); + return (Criteria) this; + } + + public Criteria andDirectorNotBetween(String value1, String value2) { + addCriterion("director not between", value1, value2, "director"); + return (Criteria) this; + } + + public Criteria andLeadactorsIsNull() { + addCriterion("leadactors is null"); + return (Criteria) this; + } + + public Criteria andLeadactorsIsNotNull() { + addCriterion("leadactors is not null"); + return (Criteria) this; + } + + public Criteria andLeadactorsEqualTo(String value) { + addCriterion("leadactors =", value, "leadactors"); + return (Criteria) this; + } + + public Criteria andLeadactorsNotEqualTo(String value) { + addCriterion("leadactors <>", value, "leadactors"); + return (Criteria) this; + } + + public Criteria andLeadactorsGreaterThan(String value) { + addCriterion("leadactors >", value, "leadactors"); + return (Criteria) this; + } + + public Criteria andLeadactorsGreaterThanOrEqualTo(String value) { + addCriterion("leadactors >=", value, "leadactors"); + return (Criteria) this; + } + + public Criteria andLeadactorsLessThan(String value) { + addCriterion("leadactors <", value, "leadactors"); + return (Criteria) this; + } + + public Criteria andLeadactorsLessThanOrEqualTo(String value) { + addCriterion("leadactors <=", value, "leadactors"); + return (Criteria) this; + } + + public Criteria andLeadactorsLike(String value) { + addCriterion("leadactors like", value, "leadactors"); + return (Criteria) this; + } + + public Criteria andLeadactorsNotLike(String value) { + addCriterion("leadactors not like", value, "leadactors"); + return (Criteria) this; + } + + public Criteria andLeadactorsIn(List values) { + addCriterion("leadactors in", values, "leadactors"); + return (Criteria) this; + } + + public Criteria andLeadactorsNotIn(List values) { + addCriterion("leadactors not in", values, "leadactors"); + return (Criteria) this; + } + + public Criteria andLeadactorsBetween(String value1, String value2) { + addCriterion("leadactors between", value1, value2, "leadactors"); + return (Criteria) this; + } + + public Criteria andLeadactorsNotBetween(String value1, String value2) { + addCriterion("leadactors not between", value1, value2, "leadactors"); + return (Criteria) this; + } + + public Criteria andScreenwriterIsNull() { + addCriterion("screenwriter is null"); + return (Criteria) this; + } + + public Criteria andScreenwriterIsNotNull() { + addCriterion("screenwriter is not null"); + return (Criteria) this; + } + + public Criteria andScreenwriterEqualTo(String value) { + addCriterion("screenwriter =", value, "screenwriter"); + return (Criteria) this; + } + + public Criteria andScreenwriterNotEqualTo(String value) { + addCriterion("screenwriter <>", value, "screenwriter"); + return (Criteria) this; + } + + public Criteria andScreenwriterGreaterThan(String value) { + addCriterion("screenwriter >", value, "screenwriter"); + return (Criteria) this; + } + + public Criteria andScreenwriterGreaterThanOrEqualTo(String value) { + addCriterion("screenwriter >=", value, "screenwriter"); + return (Criteria) this; + } + + public Criteria andScreenwriterLessThan(String value) { + addCriterion("screenwriter <", value, "screenwriter"); + return (Criteria) this; + } + + public Criteria andScreenwriterLessThanOrEqualTo(String value) { + addCriterion("screenwriter <=", value, "screenwriter"); + return (Criteria) this; + } + + public Criteria andScreenwriterLike(String value) { + addCriterion("screenwriter like", value, "screenwriter"); + return (Criteria) this; + } + + public Criteria andScreenwriterNotLike(String value) { + addCriterion("screenwriter not like", value, "screenwriter"); + return (Criteria) this; + } + + public Criteria andScreenwriterIn(List values) { + addCriterion("screenwriter in", values, "screenwriter"); + return (Criteria) this; + } + + public Criteria andScreenwriterNotIn(List values) { + addCriterion("screenwriter not in", values, "screenwriter"); + return (Criteria) this; + } + + public Criteria andScreenwriterBetween(String value1, String value2) { + addCriterion("screenwriter between", value1, value2, "screenwriter"); + return (Criteria) this; + } + + public Criteria andScreenwriterNotBetween(String value1, String value2) { + addCriterion("screenwriter not between", value1, value2, "screenwriter"); + return (Criteria) this; + } + + public Criteria andPictureIsNull() { + addCriterion("picture is null"); + return (Criteria) this; + } + + public Criteria andPictureIsNotNull() { + addCriterion("picture is not null"); + return (Criteria) this; + } + + public Criteria andPictureEqualTo(String value) { + addCriterion("picture =", value, "picture"); + return (Criteria) this; + } + + public Criteria andPictureNotEqualTo(String value) { + addCriterion("picture <>", value, "picture"); + return (Criteria) this; + } + + public Criteria andPictureGreaterThan(String value) { + addCriterion("picture >", value, "picture"); + return (Criteria) this; + } + + public Criteria andPictureGreaterThanOrEqualTo(String value) { + addCriterion("picture >=", value, "picture"); + return (Criteria) this; + } + + public Criteria andPictureLessThan(String value) { + addCriterion("picture <", value, "picture"); + return (Criteria) this; + } + + public Criteria andPictureLessThanOrEqualTo(String value) { + addCriterion("picture <=", value, "picture"); + return (Criteria) this; + } + + public Criteria andPictureLike(String value) { + addCriterion("picture like", value, "picture"); + return (Criteria) this; + } + + public Criteria andPictureNotLike(String value) { + addCriterion("picture not like", value, "picture"); + return (Criteria) this; + } + + public Criteria andPictureIn(List values) { + addCriterion("picture in", values, "picture"); + return (Criteria) this; + } + + public Criteria andPictureNotIn(List values) { + addCriterion("picture not in", values, "picture"); + return (Criteria) this; + } + + public Criteria andPictureBetween(String value1, String value2) { + addCriterion("picture between", value1, value2, "picture"); + return (Criteria) this; + } + + public Criteria andPictureNotBetween(String value1, String value2) { + addCriterion("picture not between", value1, value2, "picture"); + return (Criteria) this; + } + } + + public static class Criteria extends GeneratedCriteria { + + protected Criteria() { + super(); + } + } + + public static class Criterion { + private String condition; + + private Object value; + + private Object secondValue; + + private boolean noValue; + + private boolean singleValue; + + private boolean betweenValue; + + private boolean listValue; + + private String typeHandler; + + public String getCondition() { + return condition; + } + + public Object getValue() { + return value; + } + + public Object getSecondValue() { + return secondValue; + } + + public boolean isNoValue() { + return noValue; + } + + public boolean isSingleValue() { + return singleValue; + } + + public boolean isBetweenValue() { + return betweenValue; + } + + public boolean isListValue() { + return listValue; + } + + public String getTypeHandler() { + return typeHandler; + } + + protected Criterion(String condition) { + super(); + this.condition = condition; + this.typeHandler = null; + this.noValue = true; + } + + protected Criterion(String condition, Object value, String typeHandler) { + super(); + this.condition = condition; + this.value = value; + this.typeHandler = typeHandler; + if (value instanceof List) { + this.listValue = true; + } else { + this.singleValue = true; + } + } + + protected Criterion(String condition, Object value) { + this(condition, value, null); + } + + protected Criterion(String condition, Object value, Object secondValue, String typeHandler) { + super(); + this.condition = condition; + this.value = value; + this.secondValue = secondValue; + this.typeHandler = typeHandler; + this.betweenValue = true; + } + + protected Criterion(String condition, Object value, Object secondValue) { + this(condition, value, secondValue, null); + } + } +} \ No newline at end of file diff --git a/src/demo/manager/src/main/java/com/dream/po/Moviecategory.java b/src/demo/manager/src/main/java/com/dream/po/Moviecategory.java new file mode 100644 index 00000000..6f75263a --- /dev/null +++ b/src/demo/manager/src/main/java/com/dream/po/Moviecategory.java @@ -0,0 +1,33 @@ +package com.dream.po; + +public class Moviecategory { + private Integer movcatid; + + private Integer movieid; + + private Integer categoryid; + + public Integer getMovcatid() { + return movcatid; + } + + public void setMovcatid(Integer movcatid) { + this.movcatid = movcatid; + } + + public Integer getMovieid() { + return movieid; + } + + public void setMovieid(Integer movieid) { + this.movieid = movieid; + } + + public Integer getCategoryid() { + return categoryid; + } + + public void setCategoryid(Integer categoryid) { + this.categoryid = categoryid; + } +} \ No newline at end of file diff --git a/src/demo/manager/src/main/java/com/dream/po/MoviecategoryExample.java b/src/demo/manager/src/main/java/com/dream/po/MoviecategoryExample.java new file mode 100644 index 00000000..c2245552 --- /dev/null +++ b/src/demo/manager/src/main/java/com/dream/po/MoviecategoryExample.java @@ -0,0 +1,380 @@ +package com.dream.po; + +import java.util.ArrayList; +import java.util.List; + +public class MoviecategoryExample { + protected String orderByClause; + + protected boolean distinct; + + protected List oredCriteria; + + public MoviecategoryExample() { + oredCriteria = new ArrayList(); + } + + public void setOrderByClause(String orderByClause) { + this.orderByClause = orderByClause; + } + + public String getOrderByClause() { + return orderByClause; + } + + public void setDistinct(boolean distinct) { + this.distinct = distinct; + } + + public boolean isDistinct() { + return distinct; + } + + public List getOredCriteria() { + return oredCriteria; + } + + public void or(Criteria criteria) { + oredCriteria.add(criteria); + } + + public Criteria or() { + Criteria criteria = createCriteriaInternal(); + oredCriteria.add(criteria); + return criteria; + } + + public Criteria createCriteria() { + Criteria criteria = createCriteriaInternal(); + if (oredCriteria.size() == 0) { + oredCriteria.add(criteria); + } + return criteria; + } + + protected Criteria createCriteriaInternal() { + Criteria criteria = new Criteria(); + return criteria; + } + + public void clear() { + oredCriteria.clear(); + orderByClause = null; + distinct = false; + } + + protected abstract static class GeneratedCriteria { + protected List criteria; + + protected GeneratedCriteria() { + super(); + criteria = new ArrayList(); + } + + public boolean isValid() { + return criteria.size() > 0; + } + + public List getAllCriteria() { + return criteria; + } + + public List getCriteria() { + return criteria; + } + + protected void addCriterion(String condition) { + if (condition == null) { + throw new RuntimeException("Value for condition cannot be null"); + } + criteria.add(new Criterion(condition)); + } + + protected void addCriterion(String condition, Object value, String property) { + if (value == null) { + throw new RuntimeException("Value for " + property + " cannot be null"); + } + criteria.add(new Criterion(condition, value)); + } + + protected void addCriterion(String condition, Object value1, Object value2, String property) { + if (value1 == null || value2 == null) { + throw new RuntimeException("Between values for " + property + " cannot be null"); + } + criteria.add(new Criterion(condition, value1, value2)); + } + + public Criteria andMovcatidIsNull() { + addCriterion("movcatid is null"); + return (Criteria) this; + } + + public Criteria andMovcatidIsNotNull() { + addCriterion("movcatid is not null"); + return (Criteria) this; + } + + public Criteria andMovcatidEqualTo(Integer value) { + addCriterion("movcatid =", value, "movcatid"); + return (Criteria) this; + } + + public Criteria andMovcatidNotEqualTo(Integer value) { + addCriterion("movcatid <>", value, "movcatid"); + return (Criteria) this; + } + + public Criteria andMovcatidGreaterThan(Integer value) { + addCriterion("movcatid >", value, "movcatid"); + return (Criteria) this; + } + + public Criteria andMovcatidGreaterThanOrEqualTo(Integer value) { + addCriterion("movcatid >=", value, "movcatid"); + return (Criteria) this; + } + + public Criteria andMovcatidLessThan(Integer value) { + addCriterion("movcatid <", value, "movcatid"); + return (Criteria) this; + } + + public Criteria andMovcatidLessThanOrEqualTo(Integer value) { + addCriterion("movcatid <=", value, "movcatid"); + return (Criteria) this; + } + + public Criteria andMovcatidIn(List values) { + addCriterion("movcatid in", values, "movcatid"); + return (Criteria) this; + } + + public Criteria andMovcatidNotIn(List values) { + addCriterion("movcatid not in", values, "movcatid"); + return (Criteria) this; + } + + public Criteria andMovcatidBetween(Integer value1, Integer value2) { + addCriterion("movcatid between", value1, value2, "movcatid"); + return (Criteria) this; + } + + public Criteria andMovcatidNotBetween(Integer value1, Integer value2) { + addCriterion("movcatid not between", value1, value2, "movcatid"); + return (Criteria) this; + } + + public Criteria andMovieidIsNull() { + addCriterion("movieid is null"); + return (Criteria) this; + } + + public Criteria andMovieidIsNotNull() { + addCriterion("movieid is not null"); + return (Criteria) this; + } + + public Criteria andMovieidEqualTo(Integer value) { + addCriterion("movieid =", value, "movieid"); + return (Criteria) this; + } + + public Criteria andMovieidNotEqualTo(Integer value) { + addCriterion("movieid <>", value, "movieid"); + return (Criteria) this; + } + + public Criteria andMovieidGreaterThan(Integer value) { + addCriterion("movieid >", value, "movieid"); + return (Criteria) this; + } + + public Criteria andMovieidGreaterThanOrEqualTo(Integer value) { + addCriterion("movieid >=", value, "movieid"); + return (Criteria) this; + } + + public Criteria andMovieidLessThan(Integer value) { + addCriterion("movieid <", value, "movieid"); + return (Criteria) this; + } + + public Criteria andMovieidLessThanOrEqualTo(Integer value) { + addCriterion("movieid <=", value, "movieid"); + return (Criteria) this; + } + + public Criteria andMovieidIn(List values) { + addCriterion("movieid in", values, "movieid"); + return (Criteria) this; + } + + public Criteria andMovieidNotIn(List values) { + addCriterion("movieid not in", values, "movieid"); + return (Criteria) this; + } + + public Criteria andMovieidBetween(Integer value1, Integer value2) { + addCriterion("movieid between", value1, value2, "movieid"); + return (Criteria) this; + } + + public Criteria andMovieidNotBetween(Integer value1, Integer value2) { + addCriterion("movieid not between", value1, value2, "movieid"); + return (Criteria) this; + } + + public Criteria andCategoryidIsNull() { + addCriterion("categoryid is null"); + return (Criteria) this; + } + + public Criteria andCategoryidIsNotNull() { + addCriterion("categoryid is not null"); + return (Criteria) this; + } + + public Criteria andCategoryidEqualTo(Integer value) { + addCriterion("categoryid =", value, "categoryid"); + return (Criteria) this; + } + + public Criteria andCategoryidNotEqualTo(Integer value) { + addCriterion("categoryid <>", value, "categoryid"); + return (Criteria) this; + } + + public Criteria andCategoryidGreaterThan(Integer value) { + addCriterion("categoryid >", value, "categoryid"); + return (Criteria) this; + } + + public Criteria andCategoryidGreaterThanOrEqualTo(Integer value) { + addCriterion("categoryid >=", value, "categoryid"); + return (Criteria) this; + } + + public Criteria andCategoryidLessThan(Integer value) { + addCriterion("categoryid <", value, "categoryid"); + return (Criteria) this; + } + + public Criteria andCategoryidLessThanOrEqualTo(Integer value) { + addCriterion("categoryid <=", value, "categoryid"); + return (Criteria) this; + } + + public Criteria andCategoryidIn(List values) { + addCriterion("categoryid in", values, "categoryid"); + return (Criteria) this; + } + + public Criteria andCategoryidNotIn(List values) { + addCriterion("categoryid not in", values, "categoryid"); + return (Criteria) this; + } + + public Criteria andCategoryidBetween(Integer value1, Integer value2) { + addCriterion("categoryid between", value1, value2, "categoryid"); + return (Criteria) this; + } + + public Criteria andCategoryidNotBetween(Integer value1, Integer value2) { + addCriterion("categoryid not between", value1, value2, "categoryid"); + return (Criteria) this; + } + } + + public static class Criteria extends GeneratedCriteria { + + protected Criteria() { + super(); + } + } + + public static class Criterion { + private String condition; + + private Object value; + + private Object secondValue; + + private boolean noValue; + + private boolean singleValue; + + private boolean betweenValue; + + private boolean listValue; + + private String typeHandler; + + public String getCondition() { + return condition; + } + + public Object getValue() { + return value; + } + + public Object getSecondValue() { + return secondValue; + } + + public boolean isNoValue() { + return noValue; + } + + public boolean isSingleValue() { + return singleValue; + } + + public boolean isBetweenValue() { + return betweenValue; + } + + public boolean isListValue() { + return listValue; + } + + public String getTypeHandler() { + return typeHandler; + } + + protected Criterion(String condition) { + super(); + this.condition = condition; + this.typeHandler = null; + this.noValue = true; + } + + protected Criterion(String condition, Object value, String typeHandler) { + super(); + this.condition = condition; + this.value = value; + this.typeHandler = typeHandler; + if (value instanceof List) { + this.listValue = true; + } else { + this.singleValue = true; + } + } + + protected Criterion(String condition, Object value) { + this(condition, value, null); + } + + protected Criterion(String condition, Object value, Object secondValue, String typeHandler) { + super(); + this.condition = condition; + this.value = value; + this.secondValue = secondValue; + this.typeHandler = typeHandler; + this.betweenValue = true; + } + + protected Criterion(String condition, Object value, Object secondValue) { + this(condition, value, secondValue, null); + } + } +} \ No newline at end of file diff --git a/src/demo/manager/src/main/java/com/dream/po/NewMovie.java b/src/demo/manager/src/main/java/com/dream/po/NewMovie.java new file mode 100644 index 00000000..4a3f38f1 --- /dev/null +++ b/src/demo/manager/src/main/java/com/dream/po/NewMovie.java @@ -0,0 +1,144 @@ +package com.dream.po; + +import com.fasterxml.jackson.annotation.JsonFormat; +import org.springframework.format.annotation.DateTimeFormat; + +import java.util.Date; + +public class NewMovie { + private Integer movieid; + + private String moviename; + + @JsonFormat(pattern="yyyy-MM-dd",timezone = "GMT+8") + @DateTimeFormat(pattern="yyyy-MM-dd") + private Date showyear; + + private String nation; + + private String director; + + private String leadactors; + + private String screenwriter; + + private String picture; + + private Integer[] categoryid; + + private String categoryname; + + // 新加入的三个字段 + private Double averating; + + private Integer numrating; + + private String description; + + public Double getAverating() { + return averating; + } + + public void setAverating(Double averating) { + this.averating = averating; + } + + public Integer getNumrating() { + return numrating; + } + + public void setNumrating(Integer numrating) { + this.numrating = numrating; + } + + public String getDescription() { + return description; + } + + public void setDescription(String description) { + this.description = description; + } + + public Integer[] getCategoryid() { + return categoryid; + } + + public void setCategoryid(Integer[] categoryid) { + this.categoryid = categoryid; + } + + + public String getCategoryname() { + return categoryname; + } + + public void setCategoryname(String categoryname) { + this.categoryname = categoryname; + } + + public Integer getMovieid() { + return movieid; + } + + public void setMovieid(Integer movieid) { + this.movieid = movieid; + } + + public String getMoviename() { + return moviename; + } + + public void setMoviename(String moviename) { + this.moviename = moviename; + } + + public Date getShowyear() { + return showyear; + } + + public void setShowyear(Date showyear) { + this.showyear = showyear; + } + + public String getNation() { + return nation; + } + + public void setNation(String nation) { + this.nation = nation; + } + + public String getDirector() { + return director; + } + + public void setDirector(String director) { + this.director = director; + } + + public String getLeadactors() { + return leadactors; + } + + public void setLeadactors(String leadactors) { + this.leadactors = leadactors; + } + + public String getScreenwriter() { + return screenwriter; + } + + public void setScreenwriter(String screenwriter) { + this.screenwriter = screenwriter; + } + + public String getPicture() { + return picture; + } + + public void setPicture(String picture) { + this.picture = picture; + } + + +} \ No newline at end of file diff --git a/src/demo/manager/src/main/java/com/dream/po/Query.java b/src/demo/manager/src/main/java/com/dream/po/Query.java new file mode 100644 index 00000000..d2bc073c --- /dev/null +++ b/src/demo/manager/src/main/java/com/dream/po/Query.java @@ -0,0 +1,55 @@ +package com.dream.po; + +public class Query{ + private String movieName; + + private int categoryId; + //当前页 + private Integer page; + //每页数 + private Integer size=5; + //开始行 + private Integer startRow = 0; + + public String getMovieName() { + return movieName; + } + + + public Integer getPage() { + return page; + } + + public Integer getSize() { + return size; + } + + public Integer getStartRow() { + return startRow; + } + + public void setMovieName(String movieName) { + this.movieName = movieName; + } + + + + public void setPage(Integer page) { + this.page = page; + } + + public void setSize(Integer size) { + this.size = size; + } + + public void setStartRow(Integer startRow) { + this.startRow = startRow; + } + public int getCategoryId() { + return categoryId; + } + + public void setCategoryId(int categoryId) { + this.categoryId = categoryId; + } +} diff --git a/src/demo/manager/src/main/java/com/dream/po/QueryUser.java b/src/demo/manager/src/main/java/com/dream/po/QueryUser.java new file mode 100644 index 00000000..d68b2517 --- /dev/null +++ b/src/demo/manager/src/main/java/com/dream/po/QueryUser.java @@ -0,0 +1,44 @@ +package com.dream.po; + +public class QueryUser { + private String username; + + //当前页 + private Integer page; + //每页数 + private Integer size=5; + //开始行 + private Integer startRow = 0; + + public String getUsername() { + return username; + } + + public void setUsername(String username) { + this.username = username; + } + + public Integer getPage() { + return page; + } + + public void setPage(Integer page) { + this.page = page; + } + + public Integer getSize() { + return size; + } + + public void setSize(Integer size) { + this.size = size; + } + + public Integer getStartRow() { + return startRow; + } + + public void setStartRow(Integer startRow) { + this.startRow = startRow; + } +} diff --git a/src/demo/manager/src/main/java/com/dream/po/Rectab.java b/src/demo/manager/src/main/java/com/dream/po/Rectab.java new file mode 100644 index 00000000..77f56cf4 --- /dev/null +++ b/src/demo/manager/src/main/java/com/dream/po/Rectab.java @@ -0,0 +1,23 @@ +package com.dream.po; + +public class Rectab { + private Integer userid; + + private String movieids; + + public Integer getUserid() { + return userid; + } + + public void setUserid(Integer userid) { + this.userid = userid; + } + + public String getMovieids() { + return movieids; + } + + public void setMovieids(String movieids) { + this.movieids = movieids == null ? null : movieids.trim(); + } +} \ No newline at end of file diff --git a/src/demo/manager/src/main/java/com/dream/po/RectabExample.java b/src/demo/manager/src/main/java/com/dream/po/RectabExample.java new file mode 100644 index 00000000..21c85c30 --- /dev/null +++ b/src/demo/manager/src/main/java/com/dream/po/RectabExample.java @@ -0,0 +1,330 @@ +package com.dream.po; + +import java.util.ArrayList; +import java.util.List; + +public class RectabExample { + protected String orderByClause; + + protected boolean distinct; + + protected List oredCriteria; + + public RectabExample() { + oredCriteria = new ArrayList(); + } + + public void setOrderByClause(String orderByClause) { + this.orderByClause = orderByClause; + } + + public String getOrderByClause() { + return orderByClause; + } + + public void setDistinct(boolean distinct) { + this.distinct = distinct; + } + + public boolean isDistinct() { + return distinct; + } + + public List getOredCriteria() { + return oredCriteria; + } + + public void or(Criteria criteria) { + oredCriteria.add(criteria); + } + + public Criteria or() { + Criteria criteria = createCriteriaInternal(); + oredCriteria.add(criteria); + return criteria; + } + + public Criteria createCriteria() { + Criteria criteria = createCriteriaInternal(); + if (oredCriteria.size() == 0) { + oredCriteria.add(criteria); + } + return criteria; + } + + protected Criteria createCriteriaInternal() { + Criteria criteria = new Criteria(); + return criteria; + } + + public void clear() { + oredCriteria.clear(); + orderByClause = null; + distinct = false; + } + + protected abstract static class GeneratedCriteria { + protected List criteria; + + protected GeneratedCriteria() { + super(); + criteria = new ArrayList(); + } + + public boolean isValid() { + return criteria.size() > 0; + } + + public List getAllCriteria() { + return criteria; + } + + public List getCriteria() { + return criteria; + } + + protected void addCriterion(String condition) { + if (condition == null) { + throw new RuntimeException("Value for condition cannot be null"); + } + criteria.add(new Criterion(condition)); + } + + protected void addCriterion(String condition, Object value, String property) { + if (value == null) { + throw new RuntimeException("Value for " + property + " cannot be null"); + } + criteria.add(new Criterion(condition, value)); + } + + protected void addCriterion(String condition, Object value1, Object value2, String property) { + if (value1 == null || value2 == null) { + throw new RuntimeException("Between values for " + property + " cannot be null"); + } + criteria.add(new Criterion(condition, value1, value2)); + } + + public Criteria andUseridIsNull() { + addCriterion("userid is null"); + return (Criteria) this; + } + + public Criteria andUseridIsNotNull() { + addCriterion("userid is not null"); + return (Criteria) this; + } + + public Criteria andUseridEqualTo(Integer value) { + addCriterion("userid =", value, "userid"); + return (Criteria) this; + } + + public Criteria andUseridNotEqualTo(Integer value) { + addCriterion("userid <>", value, "userid"); + return (Criteria) this; + } + + public Criteria andUseridGreaterThan(Integer value) { + addCriterion("userid >", value, "userid"); + return (Criteria) this; + } + + public Criteria andUseridGreaterThanOrEqualTo(Integer value) { + addCriterion("userid >=", value, "userid"); + return (Criteria) this; + } + + public Criteria andUseridLessThan(Integer value) { + addCriterion("userid <", value, "userid"); + return (Criteria) this; + } + + public Criteria andUseridLessThanOrEqualTo(Integer value) { + addCriterion("userid <=", value, "userid"); + return (Criteria) this; + } + + public Criteria andUseridIn(List values) { + addCriterion("userid in", values, "userid"); + return (Criteria) this; + } + + public Criteria andUseridNotIn(List values) { + addCriterion("userid not in", values, "userid"); + return (Criteria) this; + } + + public Criteria andUseridBetween(Integer value1, Integer value2) { + addCriterion("userid between", value1, value2, "userid"); + return (Criteria) this; + } + + public Criteria andUseridNotBetween(Integer value1, Integer value2) { + addCriterion("userid not between", value1, value2, "userid"); + return (Criteria) this; + } + + public Criteria andMovieidsIsNull() { + addCriterion("movieids is null"); + return (Criteria) this; + } + + public Criteria andMovieidsIsNotNull() { + addCriterion("movieids is not null"); + return (Criteria) this; + } + + public Criteria andMovieidsEqualTo(String value) { + addCriterion("movieids =", value, "movieids"); + return (Criteria) this; + } + + public Criteria andMovieidsNotEqualTo(String value) { + addCriterion("movieids <>", value, "movieids"); + return (Criteria) this; + } + + public Criteria andMovieidsGreaterThan(String value) { + addCriterion("movieids >", value, "movieids"); + return (Criteria) this; + } + + public Criteria andMovieidsGreaterThanOrEqualTo(String value) { + addCriterion("movieids >=", value, "movieids"); + return (Criteria) this; + } + + public Criteria andMovieidsLessThan(String value) { + addCriterion("movieids <", value, "movieids"); + return (Criteria) this; + } + + public Criteria andMovieidsLessThanOrEqualTo(String value) { + addCriterion("movieids <=", value, "movieids"); + return (Criteria) this; + } + + public Criteria andMovieidsLike(String value) { + addCriterion("movieids like", value, "movieids"); + return (Criteria) this; + } + + public Criteria andMovieidsNotLike(String value) { + addCriterion("movieids not like", value, "movieids"); + return (Criteria) this; + } + + public Criteria andMovieidsIn(List values) { + addCriterion("movieids in", values, "movieids"); + return (Criteria) this; + } + + public Criteria andMovieidsNotIn(List values) { + addCriterion("movieids not in", values, "movieids"); + return (Criteria) this; + } + + public Criteria andMovieidsBetween(String value1, String value2) { + addCriterion("movieids between", value1, value2, "movieids"); + return (Criteria) this; + } + + public Criteria andMovieidsNotBetween(String value1, String value2) { + addCriterion("movieids not between", value1, value2, "movieids"); + return (Criteria) this; + } + } + + public static class Criteria extends GeneratedCriteria { + + protected Criteria() { + super(); + } + } + + public static class Criterion { + private String condition; + + private Object value; + + private Object secondValue; + + private boolean noValue; + + private boolean singleValue; + + private boolean betweenValue; + + private boolean listValue; + + private String typeHandler; + + public String getCondition() { + return condition; + } + + public Object getValue() { + return value; + } + + public Object getSecondValue() { + return secondValue; + } + + public boolean isNoValue() { + return noValue; + } + + public boolean isSingleValue() { + return singleValue; + } + + public boolean isBetweenValue() { + return betweenValue; + } + + public boolean isListValue() { + return listValue; + } + + public String getTypeHandler() { + return typeHandler; + } + + protected Criterion(String condition) { + super(); + this.condition = condition; + this.typeHandler = null; + this.noValue = true; + } + + protected Criterion(String condition, Object value, String typeHandler) { + super(); + this.condition = condition; + this.value = value; + this.typeHandler = typeHandler; + if (value instanceof List) { + this.listValue = true; + } else { + this.singleValue = true; + } + } + + protected Criterion(String condition, Object value) { + this(condition, value, null); + } + + protected Criterion(String condition, Object value, Object secondValue, String typeHandler) { + super(); + this.condition = condition; + this.value = value; + this.secondValue = secondValue; + this.typeHandler = typeHandler; + this.betweenValue = true; + } + + protected Criterion(String condition, Object value, Object secondValue) { + this(condition, value, secondValue, null); + } + } +} \ No newline at end of file diff --git a/src/demo/manager/src/main/java/com/dream/po/Review.java b/src/demo/manager/src/main/java/com/dream/po/Review.java new file mode 100644 index 00000000..df5464c2 --- /dev/null +++ b/src/demo/manager/src/main/java/com/dream/po/Review.java @@ -0,0 +1,65 @@ +package com.dream.po; + +import java.util.Date; + +public class Review { + private Integer reviewid; + + private Integer userid; + + private Integer movieid; + + private String content; + + private Integer star; + + private Date reviewtime; + + public Integer getReviewid() { + return reviewid; + } + + public void setReviewid(Integer reviewid) { + this.reviewid = reviewid; + } + + public Integer getUserid() { + return userid; + } + + public void setUserid(Integer userid) { + this.userid = userid; + } + + public Integer getMovieid() { + return movieid; + } + + public void setMovieid(Integer movieid) { + this.movieid = movieid; + } + + public String getContent() { + return content; + } + + public void setContent(String content) { + this.content = content == null ? null : content.trim(); + } + + public Integer getStar() { + return star; + } + + public void setStar(Integer star) { + this.star = star; + } + + public Date getReviewtime() { + return reviewtime; + } + + public void setReviewtime(Date reviewtime) { + this.reviewtime = reviewtime; + } +} \ No newline at end of file diff --git a/src/demo/manager/src/main/java/com/dream/po/ReviewExample.java b/src/demo/manager/src/main/java/com/dream/po/ReviewExample.java new file mode 100644 index 00000000..33427889 --- /dev/null +++ b/src/demo/manager/src/main/java/com/dream/po/ReviewExample.java @@ -0,0 +1,571 @@ +package com.dream.po; + +import java.util.ArrayList; +import java.util.Date; +import java.util.List; + +public class ReviewExample { + protected String orderByClause; + + protected boolean distinct; + + protected List oredCriteria; + + public ReviewExample() { + oredCriteria = new ArrayList(); + } + + public void setOrderByClause(String orderByClause) { + this.orderByClause = orderByClause; + } + + public String getOrderByClause() { + return orderByClause; + } + + public void setDistinct(boolean distinct) { + this.distinct = distinct; + } + + public boolean isDistinct() { + return distinct; + } + + public List getOredCriteria() { + return oredCriteria; + } + + public void or(Criteria criteria) { + oredCriteria.add(criteria); + } + + public Criteria or() { + Criteria criteria = createCriteriaInternal(); + oredCriteria.add(criteria); + return criteria; + } + + public Criteria createCriteria() { + Criteria criteria = createCriteriaInternal(); + if (oredCriteria.size() == 0) { + oredCriteria.add(criteria); + } + return criteria; + } + + protected Criteria createCriteriaInternal() { + Criteria criteria = new Criteria(); + return criteria; + } + + public void clear() { + oredCriteria.clear(); + orderByClause = null; + distinct = false; + } + + protected abstract static class GeneratedCriteria { + protected List criteria; + + protected GeneratedCriteria() { + super(); + criteria = new ArrayList(); + } + + public boolean isValid() { + return criteria.size() > 0; + } + + public List getAllCriteria() { + return criteria; + } + + public List getCriteria() { + return criteria; + } + + protected void addCriterion(String condition) { + if (condition == null) { + throw new RuntimeException("Value for condition cannot be null"); + } + criteria.add(new Criterion(condition)); + } + + protected void addCriterion(String condition, Object value, String property) { + if (value == null) { + throw new RuntimeException("Value for " + property + " cannot be null"); + } + criteria.add(new Criterion(condition, value)); + } + + protected void addCriterion(String condition, Object value1, Object value2, String property) { + if (value1 == null || value2 == null) { + throw new RuntimeException("Between values for " + property + " cannot be null"); + } + criteria.add(new Criterion(condition, value1, value2)); + } + + public Criteria andReviewidIsNull() { + addCriterion("reviewid is null"); + return (Criteria) this; + } + + public Criteria andReviewidIsNotNull() { + addCriterion("reviewid is not null"); + return (Criteria) this; + } + + public Criteria andReviewidEqualTo(Integer value) { + addCriterion("reviewid =", value, "reviewid"); + return (Criteria) this; + } + + public Criteria andReviewidNotEqualTo(Integer value) { + addCriterion("reviewid <>", value, "reviewid"); + return (Criteria) this; + } + + public Criteria andReviewidGreaterThan(Integer value) { + addCriterion("reviewid >", value, "reviewid"); + return (Criteria) this; + } + + public Criteria andReviewidGreaterThanOrEqualTo(Integer value) { + addCriterion("reviewid >=", value, "reviewid"); + return (Criteria) this; + } + + public Criteria andReviewidLessThan(Integer value) { + addCriterion("reviewid <", value, "reviewid"); + return (Criteria) this; + } + + public Criteria andReviewidLessThanOrEqualTo(Integer value) { + addCriterion("reviewid <=", value, "reviewid"); + return (Criteria) this; + } + + public Criteria andReviewidIn(List values) { + addCriterion("reviewid in", values, "reviewid"); + return (Criteria) this; + } + + public Criteria andReviewidNotIn(List values) { + addCriterion("reviewid not in", values, "reviewid"); + return (Criteria) this; + } + + public Criteria andReviewidBetween(Integer value1, Integer value2) { + addCriterion("reviewid between", value1, value2, "reviewid"); + return (Criteria) this; + } + + public Criteria andReviewidNotBetween(Integer value1, Integer value2) { + addCriterion("reviewid not between", value1, value2, "reviewid"); + return (Criteria) this; + } + + public Criteria andUseridIsNull() { + addCriterion("userid is null"); + return (Criteria) this; + } + + public Criteria andUseridIsNotNull() { + addCriterion("userid is not null"); + return (Criteria) this; + } + + public Criteria andUseridEqualTo(Integer value) { + addCriterion("userid =", value, "userid"); + return (Criteria) this; + } + + public Criteria andUseridNotEqualTo(Integer value) { + addCriterion("userid <>", value, "userid"); + return (Criteria) this; + } + + public Criteria andUseridGreaterThan(Integer value) { + addCriterion("userid >", value, "userid"); + return (Criteria) this; + } + + public Criteria andUseridGreaterThanOrEqualTo(Integer value) { + addCriterion("userid >=", value, "userid"); + return (Criteria) this; + } + + public Criteria andUseridLessThan(Integer value) { + addCriterion("userid <", value, "userid"); + return (Criteria) this; + } + + public Criteria andUseridLessThanOrEqualTo(Integer value) { + addCriterion("userid <=", value, "userid"); + return (Criteria) this; + } + + public Criteria andUseridIn(List values) { + addCriterion("userid in", values, "userid"); + return (Criteria) this; + } + + public Criteria andUseridNotIn(List values) { + addCriterion("userid not in", values, "userid"); + return (Criteria) this; + } + + public Criteria andUseridBetween(Integer value1, Integer value2) { + addCriterion("userid between", value1, value2, "userid"); + return (Criteria) this; + } + + public Criteria andUseridNotBetween(Integer value1, Integer value2) { + addCriterion("userid not between", value1, value2, "userid"); + return (Criteria) this; + } + + public Criteria andMovieidIsNull() { + addCriterion("movieid is null"); + return (Criteria) this; + } + + public Criteria andMovieidIsNotNull() { + addCriterion("movieid is not null"); + return (Criteria) this; + } + + public Criteria andMovieidEqualTo(Integer value) { + addCriterion("movieid =", value, "movieid"); + return (Criteria) this; + } + + public Criteria andMovieidNotEqualTo(Integer value) { + addCriterion("movieid <>", value, "movieid"); + return (Criteria) this; + } + + public Criteria andMovieidGreaterThan(Integer value) { + addCriterion("movieid >", value, "movieid"); + return (Criteria) this; + } + + public Criteria andMovieidGreaterThanOrEqualTo(Integer value) { + addCriterion("movieid >=", value, "movieid"); + return (Criteria) this; + } + + public Criteria andMovieidLessThan(Integer value) { + addCriterion("movieid <", value, "movieid"); + return (Criteria) this; + } + + public Criteria andMovieidLessThanOrEqualTo(Integer value) { + addCriterion("movieid <=", value, "movieid"); + return (Criteria) this; + } + + public Criteria andMovieidIn(List values) { + addCriterion("movieid in", values, "movieid"); + return (Criteria) this; + } + + public Criteria andMovieidNotIn(List values) { + addCriterion("movieid not in", values, "movieid"); + return (Criteria) this; + } + + public Criteria andMovieidBetween(Integer value1, Integer value2) { + addCriterion("movieid between", value1, value2, "movieid"); + return (Criteria) this; + } + + public Criteria andMovieidNotBetween(Integer value1, Integer value2) { + addCriterion("movieid not between", value1, value2, "movieid"); + return (Criteria) this; + } + + public Criteria andContentIsNull() { + addCriterion("content is null"); + return (Criteria) this; + } + + public Criteria andContentIsNotNull() { + addCriterion("content is not null"); + return (Criteria) this; + } + + public Criteria andContentEqualTo(String value) { + addCriterion("content =", value, "content"); + return (Criteria) this; + } + + public Criteria andContentNotEqualTo(String value) { + addCriterion("content <>", value, "content"); + return (Criteria) this; + } + + public Criteria andContentGreaterThan(String value) { + addCriterion("content >", value, "content"); + return (Criteria) this; + } + + public Criteria andContentGreaterThanOrEqualTo(String value) { + addCriterion("content >=", value, "content"); + return (Criteria) this; + } + + public Criteria andContentLessThan(String value) { + addCriterion("content <", value, "content"); + return (Criteria) this; + } + + public Criteria andContentLessThanOrEqualTo(String value) { + addCriterion("content <=", value, "content"); + return (Criteria) this; + } + + public Criteria andContentLike(String value) { + addCriterion("content like", value, "content"); + return (Criteria) this; + } + + public Criteria andContentNotLike(String value) { + addCriterion("content not like", value, "content"); + return (Criteria) this; + } + + public Criteria andContentIn(List values) { + addCriterion("content in", values, "content"); + return (Criteria) this; + } + + public Criteria andContentNotIn(List values) { + addCriterion("content not in", values, "content"); + return (Criteria) this; + } + + public Criteria andContentBetween(String value1, String value2) { + addCriterion("content between", value1, value2, "content"); + return (Criteria) this; + } + + public Criteria andContentNotBetween(String value1, String value2) { + addCriterion("content not between", value1, value2, "content"); + return (Criteria) this; + } + + public Criteria andStarIsNull() { + addCriterion("star is null"); + return (Criteria) this; + } + + public Criteria andStarIsNotNull() { + addCriterion("star is not null"); + return (Criteria) this; + } + + public Criteria andStarEqualTo(Integer value) { + addCriterion("star =", value, "star"); + return (Criteria) this; + } + + public Criteria andStarNotEqualTo(Integer value) { + addCriterion("star <>", value, "star"); + return (Criteria) this; + } + + public Criteria andStarGreaterThan(Integer value) { + addCriterion("star >", value, "star"); + return (Criteria) this; + } + + public Criteria andStarGreaterThanOrEqualTo(Integer value) { + addCriterion("star >=", value, "star"); + return (Criteria) this; + } + + public Criteria andStarLessThan(Integer value) { + addCriterion("star <", value, "star"); + return (Criteria) this; + } + + public Criteria andStarLessThanOrEqualTo(Integer value) { + addCriterion("star <=", value, "star"); + return (Criteria) this; + } + + public Criteria andStarIn(List values) { + addCriterion("star in", values, "star"); + return (Criteria) this; + } + + public Criteria andStarNotIn(List values) { + addCriterion("star not in", values, "star"); + return (Criteria) this; + } + + public Criteria andStarBetween(Integer value1, Integer value2) { + addCriterion("star between", value1, value2, "star"); + return (Criteria) this; + } + + public Criteria andStarNotBetween(Integer value1, Integer value2) { + addCriterion("star not between", value1, value2, "star"); + return (Criteria) this; + } + + public Criteria andReviewtimeIsNull() { + addCriterion("reviewtime is null"); + return (Criteria) this; + } + + public Criteria andReviewtimeIsNotNull() { + addCriterion("reviewtime is not null"); + return (Criteria) this; + } + + public Criteria andReviewtimeEqualTo(Date value) { + addCriterion("reviewtime =", value, "reviewtime"); + return (Criteria) this; + } + + public Criteria andReviewtimeNotEqualTo(Date value) { + addCriterion("reviewtime <>", value, "reviewtime"); + return (Criteria) this; + } + + public Criteria andReviewtimeGreaterThan(Date value) { + addCriterion("reviewtime >", value, "reviewtime"); + return (Criteria) this; + } + + public Criteria andReviewtimeGreaterThanOrEqualTo(Date value) { + addCriterion("reviewtime >=", value, "reviewtime"); + return (Criteria) this; + } + + public Criteria andReviewtimeLessThan(Date value) { + addCriterion("reviewtime <", value, "reviewtime"); + return (Criteria) this; + } + + public Criteria andReviewtimeLessThanOrEqualTo(Date value) { + addCriterion("reviewtime <=", value, "reviewtime"); + return (Criteria) this; + } + + public Criteria andReviewtimeIn(List values) { + addCriterion("reviewtime in", values, "reviewtime"); + return (Criteria) this; + } + + public Criteria andReviewtimeNotIn(List values) { + addCriterion("reviewtime not in", values, "reviewtime"); + return (Criteria) this; + } + + public Criteria andReviewtimeBetween(Date value1, Date value2) { + addCriterion("reviewtime between", value1, value2, "reviewtime"); + return (Criteria) this; + } + + public Criteria andReviewtimeNotBetween(Date value1, Date value2) { + addCriterion("reviewtime not between", value1, value2, "reviewtime"); + return (Criteria) this; + } + } + + public static class Criteria extends GeneratedCriteria { + + protected Criteria() { + super(); + } + } + + public static class Criterion { + private String condition; + + private Object value; + + private Object secondValue; + + private boolean noValue; + + private boolean singleValue; + + private boolean betweenValue; + + private boolean listValue; + + private String typeHandler; + + public String getCondition() { + return condition; + } + + public Object getValue() { + return value; + } + + public Object getSecondValue() { + return secondValue; + } + + public boolean isNoValue() { + return noValue; + } + + public boolean isSingleValue() { + return singleValue; + } + + public boolean isBetweenValue() { + return betweenValue; + } + + public boolean isListValue() { + return listValue; + } + + public String getTypeHandler() { + return typeHandler; + } + + protected Criterion(String condition) { + super(); + this.condition = condition; + this.typeHandler = null; + this.noValue = true; + } + + protected Criterion(String condition, Object value, String typeHandler) { + super(); + this.condition = condition; + this.value = value; + this.typeHandler = typeHandler; + if (value instanceof List) { + this.listValue = true; + } else { + this.singleValue = true; + } + } + + protected Criterion(String condition, Object value) { + this(condition, value, null); + } + + protected Criterion(String condition, Object value, Object secondValue, String typeHandler) { + super(); + this.condition = condition; + this.value = value; + this.secondValue = secondValue; + this.typeHandler = typeHandler; + this.betweenValue = true; + } + + protected Criterion(String condition, Object value, Object secondValue) { + this(condition, value, secondValue, null); + } + } +} \ No newline at end of file diff --git a/src/demo/manager/src/main/java/com/dream/po/User.java b/src/demo/manager/src/main/java/com/dream/po/User.java new file mode 100644 index 00000000..c033eae3 --- /dev/null +++ b/src/demo/manager/src/main/java/com/dream/po/User.java @@ -0,0 +1,93 @@ +package com.dream.po; + +import com.fasterxml.jackson.annotation.JsonFormat; +import org.springframework.format.annotation.DateTimeFormat; + +import java.io.Serializable; +import java.util.Date; + +public class User implements Serializable { + private Integer userid; + + private String username; + + private String password; + + @JsonFormat(pattern="yyyy-MM-dd",timezone = "GMT+8") + @DateTimeFormat(pattern="yyyy-MM-dd") + private Date registertime; + + @JsonFormat(pattern="yyyy-MM-dd",timezone = "GMT+8") + @DateTimeFormat(pattern="yyyy-MM-dd") + private Date lastlogintime; + + private Integer start; + + private Integer rows; + + private String email; + + public String getEmail() { + return email; + } + + public void setEmail(String email) { + this.email = email; + } + + public Integer getStart() { + return start; + } + + public void setStart(Integer start) { + this.start = start; + } + + public Integer getRows() { + return rows; + } + + public void setRows(Integer rows) { + this.rows = rows; + } + + public Integer getUserid() { + return userid; + } + + public void setUserid(Integer userid) { + this.userid = userid; + } + + public String getUsername() { + return username; + } + + public void setUsername(String username) { + this.username = username == null ? null : username.trim(); + } + + public String getPassword() { + return password; + } + + public void setPassword(String password) { + this.password = password == null ? null : password.trim(); + } + + public Date getRegistertime() { + return registertime; + } + + public void setRegistertime(Date registertime) { + this.registertime = registertime; + } + + public Date getLastlogintime() { + return lastlogintime; + } + + public void setLastlogintime(Date lastlogintime) { + this.lastlogintime = lastlogintime; + } +} \ No newline at end of file diff --git a/src/demo/manager/src/main/java/com/dream/po/UserExample.java b/src/demo/manager/src/main/java/com/dream/po/UserExample.java new file mode 100644 index 00000000..185b3278 --- /dev/null +++ b/src/demo/manager/src/main/java/com/dream/po/UserExample.java @@ -0,0 +1,542 @@ +package com.dream.po; + +import java.util.ArrayList; +import java.util.Date; +import java.util.List; + +public class UserExample { + + protected Integer size; + //开始行 + protected Integer startRow; + + public Integer getSize() { + return size; + } + + public void setSize(Integer size) { + this.size = size; + } + + public Integer getStartRow() { + return startRow; + } + + public void setStartRow(Integer startRow) { + this.startRow = startRow; + } + + protected String orderByClause; + + protected boolean distinct; + + protected List oredCriteria; + + public UserExample() { + oredCriteria = new ArrayList(); + } + + public void setOrderByClause(String orderByClause) { + this.orderByClause = orderByClause; + } + + public String getOrderByClause() { + return orderByClause; + } + + public void setDistinct(boolean distinct) { + this.distinct = distinct; + } + + public boolean isDistinct() { + return distinct; + } + + public List getOredCriteria() { + return oredCriteria; + } + + public void or(Criteria criteria) { + oredCriteria.add(criteria); + } + + public Criteria or() { + Criteria criteria = createCriteriaInternal(); + oredCriteria.add(criteria); + return criteria; + } + + public Criteria createCriteria() { + Criteria criteria = createCriteriaInternal(); + if (oredCriteria.size() == 0) { + oredCriteria.add(criteria); + } + return criteria; + } + + protected Criteria createCriteriaInternal() { + Criteria criteria = new Criteria(); + return criteria; + } + + public void clear() { + oredCriteria.clear(); + orderByClause = null; + distinct = false; + } + + protected abstract static class GeneratedCriteria { + protected List criteria; + + protected GeneratedCriteria() { + super(); + criteria = new ArrayList(); + } + + public boolean isValid() { + return criteria.size() > 0; + } + + public List getAllCriteria() { + return criteria; + } + + public List getCriteria() { + return criteria; + } + + protected void addCriterion(String condition) { + if (condition == null) { + throw new RuntimeException("Value for condition cannot be null"); + } + criteria.add(new Criterion(condition)); + } + + protected void addCriterion(String condition, Object value, String property) { + if (value == null) { + throw new RuntimeException("Value for " + property + " cannot be null"); + } + criteria.add(new Criterion(condition, value)); + } + + protected void addCriterion(String condition, Object value1, Object value2, String property) { + if (value1 == null || value2 == null) { + throw new RuntimeException("Between values for " + property + " cannot be null"); + } + criteria.add(new Criterion(condition, value1, value2)); + } + + public Criteria andUseridIsNull() { + addCriterion("userid is null"); + return (Criteria) this; + } + + public Criteria andUseridIsNotNull() { + addCriterion("userid is not null"); + return (Criteria) this; + } + + public Criteria andUseridEqualTo(Integer value) { + addCriterion("userid =", value, "userid"); + return (Criteria) this; + } + + public Criteria andUseridNotEqualTo(Integer value) { + addCriterion("userid <>", value, "userid"); + return (Criteria) this; + } + + public Criteria andUseridGreaterThan(Integer value) { + addCriterion("userid >", value, "userid"); + return (Criteria) this; + } + + public Criteria andUseridGreaterThanOrEqualTo(Integer value) { + addCriterion("userid >=", value, "userid"); + return (Criteria) this; + } + + public Criteria andUseridLessThan(Integer value) { + addCriterion("userid <", value, "userid"); + return (Criteria) this; + } + + public Criteria andUseridLessThanOrEqualTo(Integer value) { + addCriterion("userid <=", value, "userid"); + return (Criteria) this; + } + + public Criteria andUseridIn(List values) { + addCriterion("userid in", values, "userid"); + return (Criteria) this; + } + + public Criteria andUseridNotIn(List values) { + addCriterion("userid not in", values, "userid"); + return (Criteria) this; + } + + public Criteria andUseridBetween(Integer value1, Integer value2) { + addCriterion("userid between", value1, value2, "userid"); + return (Criteria) this; + } + + public Criteria andUseridNotBetween(Integer value1, Integer value2) { + addCriterion("userid not between", value1, value2, "userid"); + return (Criteria) this; + } + + public Criteria andUsernameIsNull() { + addCriterion("username is null"); + return (Criteria) this; + } + + public Criteria andUsernameIsNotNull() { + addCriterion("username is not null"); + return (Criteria) this; + } + + public Criteria andUsernameEqualTo(String value) { + addCriterion("username =", value, "username"); + return (Criteria) this; + } + + public Criteria andUsernameNotEqualTo(String value) { + addCriterion("username <>", value, "username"); + return (Criteria) this; + } + + public Criteria andUsernameGreaterThan(String value) { + addCriterion("username >", value, "username"); + return (Criteria) this; + } + + public Criteria andUsernameGreaterThanOrEqualTo(String value) { + addCriterion("username >=", value, "username"); + return (Criteria) this; + } + + public Criteria andUsernameLessThan(String value) { + addCriterion("username <", value, "username"); + return (Criteria) this; + } + + public Criteria andUsernameLessThanOrEqualTo(String value) { + addCriterion("username <=", value, "username"); + return (Criteria) this; + } + + public Criteria andUsernameLike(String value) { + addCriterion("username like", value, "username"); + return (Criteria) this; + } + + public Criteria andUsernameNotLike(String value) { + addCriterion("username not like", value, "username"); + return (Criteria) this; + } + + public Criteria andUsernameIn(List values) { + addCriterion("username in", values, "username"); + return (Criteria) this; + } + + public Criteria andUsernameNotIn(List values) { + addCriterion("username not in", values, "username"); + return (Criteria) this; + } + + public Criteria andUsernameBetween(String value1, String value2) { + addCriterion("username between", value1, value2, "username"); + return (Criteria) this; + } + + public Criteria andUsernameNotBetween(String value1, String value2) { + addCriterion("username not between", value1, value2, "username"); + return (Criteria) this; + } + + public Criteria andPasswordIsNull() { + addCriterion("password is null"); + return (Criteria) this; + } + + public Criteria andPasswordIsNotNull() { + addCriterion("password is not null"); + return (Criteria) this; + } + + public Criteria andPasswordEqualTo(String value) { + addCriterion("password =", value, "password"); + return (Criteria) this; + } + + public Criteria andPasswordNotEqualTo(String value) { + addCriterion("password <>", value, "password"); + return (Criteria) this; + } + + public Criteria andPasswordGreaterThan(String value) { + addCriterion("password >", value, "password"); + return (Criteria) this; + } + + public Criteria andPasswordGreaterThanOrEqualTo(String value) { + addCriterion("password >=", value, "password"); + return (Criteria) this; + } + + public Criteria andPasswordLessThan(String value) { + addCriterion("password <", value, "password"); + return (Criteria) this; + } + + public Criteria andPasswordLessThanOrEqualTo(String value) { + addCriterion("password <=", value, "password"); + return (Criteria) this; + } + + public Criteria andPasswordLike(String value) { + addCriterion("password like", value, "password"); + return (Criteria) this; + } + + public Criteria andPasswordNotLike(String value) { + addCriterion("password not like", value, "password"); + return (Criteria) this; + } + + public Criteria andPasswordIn(List values) { + addCriterion("password in", values, "password"); + return (Criteria) this; + } + + public Criteria andPasswordNotIn(List values) { + addCriterion("password not in", values, "password"); + return (Criteria) this; + } + + public Criteria andPasswordBetween(String value1, String value2) { + addCriterion("password between", value1, value2, "password"); + return (Criteria) this; + } + + public Criteria andPasswordNotBetween(String value1, String value2) { + addCriterion("password not between", value1, value2, "password"); + return (Criteria) this; + } + + public Criteria andRegistertimeIsNull() { + addCriterion("registertime is null"); + return (Criteria) this; + } + + public Criteria andRegistertimeIsNotNull() { + addCriterion("registertime is not null"); + return (Criteria) this; + } + + public Criteria andRegistertimeEqualTo(Date value) { + addCriterion("registertime =", value, "registertime"); + return (Criteria) this; + } + + public Criteria andRegistertimeNotEqualTo(Date value) { + addCriterion("registertime <>", value, "registertime"); + return (Criteria) this; + } + + public Criteria andRegistertimeGreaterThan(Date value) { + addCriterion("registertime >", value, "registertime"); + return (Criteria) this; + } + + public Criteria andRegistertimeGreaterThanOrEqualTo(Date value) { + addCriterion("registertime >=", value, "registertime"); + return (Criteria) this; + } + + public Criteria andRegistertimeLessThan(Date value) { + addCriterion("registertime <", value, "registertime"); + return (Criteria) this; + } + + public Criteria andRegistertimeLessThanOrEqualTo(Date value) { + addCriterion("registertime <=", value, "registertime"); + return (Criteria) this; + } + + public Criteria andRegistertimeIn(List values) { + addCriterion("registertime in", values, "registertime"); + return (Criteria) this; + } + + public Criteria andRegistertimeNotIn(List values) { + addCriterion("registertime not in", values, "registertime"); + return (Criteria) this; + } + + public Criteria andRegistertimeBetween(Date value1, Date value2) { + addCriterion("registertime between", value1, value2, "registertime"); + return (Criteria) this; + } + + public Criteria andRegistertimeNotBetween(Date value1, Date value2) { + addCriterion("registertime not between", value1, value2, "registertime"); + return (Criteria) this; + } + + public Criteria andLastlogintimeIsNull() { + addCriterion("lastlogintime is null"); + return (Criteria) this; + } + + public Criteria andLastlogintimeIsNotNull() { + addCriterion("lastlogintime is not null"); + return (Criteria) this; + } + + public Criteria andLastlogintimeEqualTo(Date value) { + addCriterion("lastlogintime =", value, "lastlogintime"); + return (Criteria) this; + } + + public Criteria andLastlogintimeNotEqualTo(Date value) { + addCriterion("lastlogintime <>", value, "lastlogintime"); + return (Criteria) this; + } + + public Criteria andLastlogintimeGreaterThan(Date value) { + addCriterion("lastlogintime >", value, "lastlogintime"); + return (Criteria) this; + } + + public Criteria andLastlogintimeGreaterThanOrEqualTo(Date value) { + addCriterion("lastlogintime >=", value, "lastlogintime"); + return (Criteria) this; + } + + public Criteria andLastlogintimeLessThan(Date value) { + addCriterion("lastlogintime <", value, "lastlogintime"); + return (Criteria) this; + } + + public Criteria andLastlogintimeLessThanOrEqualTo(Date value) { + addCriterion("lastlogintime <=", value, "lastlogintime"); + return (Criteria) this; + } + + public Criteria andLastlogintimeIn(List values) { + addCriterion("lastlogintime in", values, "lastlogintime"); + return (Criteria) this; + } + + public Criteria andLastlogintimeNotIn(List values) { + addCriterion("lastlogintime not in", values, "lastlogintime"); + return (Criteria) this; + } + + public Criteria andLastlogintimeBetween(Date value1, Date value2) { + addCriterion("lastlogintime between", value1, value2, "lastlogintime"); + return (Criteria) this; + } + + public Criteria andLastlogintimeNotBetween(Date value1, Date value2) { + addCriterion("lastlogintime not between", value1, value2, "lastlogintime"); + return (Criteria) this; + } + } + + public static class Criteria extends GeneratedCriteria { + + protected Criteria() { + super(); + } + } + + public static class Criterion { + private String condition; + + private Object value; + + private Object secondValue; + + private boolean noValue; + + private boolean singleValue; + + private boolean betweenValue; + + private boolean listValue; + + private String typeHandler; + + public String getCondition() { + return condition; + } + + public Object getValue() { + return value; + } + + public Object getSecondValue() { + return secondValue; + } + + public boolean isNoValue() { + return noValue; + } + + public boolean isSingleValue() { + return singleValue; + } + + public boolean isBetweenValue() { + return betweenValue; + } + + public boolean isListValue() { + return listValue; + } + + public String getTypeHandler() { + return typeHandler; + } + + protected Criterion(String condition) { + super(); + this.condition = condition; + this.typeHandler = null; + this.noValue = true; + } + + protected Criterion(String condition, Object value, String typeHandler) { + super(); + this.condition = condition; + this.value = value; + this.typeHandler = typeHandler; + if (value instanceof List) { + this.listValue = true; + } else { + this.singleValue = true; + } + } + + protected Criterion(String condition, Object value) { + this(condition, value, null); + } + + protected Criterion(String condition, Object value, Object secondValue, String typeHandler) { + super(); + this.condition = condition; + this.value = value; + this.secondValue = secondValue; + this.typeHandler = typeHandler; + this.betweenValue = true; + } + + protected Criterion(String condition, Object value, Object secondValue) { + this(condition, value, secondValue, null); + } + } +} \ No newline at end of file diff --git a/src/demo/manager/src/main/java/com/dream/service/AdminService.java b/src/demo/manager/src/main/java/com/dream/service/AdminService.java new file mode 100644 index 00000000..95235dc9 --- /dev/null +++ b/src/demo/manager/src/main/java/com/dream/service/AdminService.java @@ -0,0 +1,22 @@ +package com.dream.service; + +import com.dream.common.E3Result; +import com.dream.common.Page; +import com.dream.po.Admin; + +/** + * Created by ZXL on 2018/3/2. + */ +public interface AdminService { + E3Result adminLogin(String adminname, String adminpassword); + // 管理员列表 + public Page findAdminList(Integer page, Integer rows, String username); + // 删除用户 + public void deleteAdmin(Integer id); + // 编辑管理员 + public Admin getAdminById(Integer id); + // 更新管理员信息 + public void updateAdmin(Admin admin); + // 添加管理员 + public void addAdmin(Admin admin); +} diff --git a/src/demo/manager/src/main/java/com/dream/service/MovieService.java b/src/demo/manager/src/main/java/com/dream/service/MovieService.java new file mode 100644 index 00000000..e3eda2f0 --- /dev/null +++ b/src/demo/manager/src/main/java/com/dream/service/MovieService.java @@ -0,0 +1,26 @@ +package com.dream.service; + +import com.dream.common.Page; +import com.dream.po.Category; +import com.dream.po.Movie; +import com.dream.po.NewMovie; +import com.dream.po.Query; + +import java.util.List; + +public interface MovieService { + + // 查询客户列表 + public Page findMovieList(Query query); + + public NewMovie getMovieById(Integer id); + + public void deleteMovie(Integer id); + + public List selectCategory(); + + public void updateMovie(Movie movie, String[] categoryIds); + + public void addMovie(Movie movie, String[] categoryIds); + +} diff --git a/src/demo/manager/src/main/java/com/dream/service/SystemLogoutFilter.java b/src/demo/manager/src/main/java/com/dream/service/SystemLogoutFilter.java new file mode 100644 index 00000000..021f2b4a --- /dev/null +++ b/src/demo/manager/src/main/java/com/dream/service/SystemLogoutFilter.java @@ -0,0 +1,31 @@ +package com.dream.service; + +import org.apache.shiro.session.SessionException; +import org.apache.shiro.subject.Subject; +import org.apache.shiro.web.filter.authc.LogoutFilter; +import org.springframework.stereotype.Service; + +import javax.servlet.ServletContext; +import javax.servlet.ServletRequest; +import javax.servlet.ServletResponse; + +@Service +public class SystemLogoutFilter extends LogoutFilter{ + + @Override + protected boolean preHandle(ServletRequest request, ServletResponse response) throws Exception { + + //在这里执行退出系统前需要清空的数据 + Subject subject=getSubject(request,response); + String redirectUrl=getRedirectUrl(request,response,subject); +// ServletContext context= request.getServletContext(); + try { + subject.logout(); +// context.removeAttribute("error"); + }catch (SessionException e){ + e.printStackTrace(); + } + issueRedirect(request,response,redirectUrl); + return false; + } +} diff --git a/src/demo/manager/src/main/java/com/dream/service/UserService.java b/src/demo/manager/src/main/java/com/dream/service/UserService.java new file mode 100644 index 00000000..a49b89f3 --- /dev/null +++ b/src/demo/manager/src/main/java/com/dream/service/UserService.java @@ -0,0 +1,18 @@ +package com.dream.service; + +import com.dream.common.Page; +import com.dream.po.User; + +public interface UserService { + + // 查询用户列表 + public Page findUserList(Integer page, Integer rows, String username); + // 删除用户 + public void deleteUser(Integer id); + // 编辑用户 + public User getUserById(Integer id); + // 更新用户信息 + public void updateUser(User user); + // 添加用户 + public void addUser(User user); +} diff --git a/src/demo/manager/src/main/java/com/dream/service/impl/AdminServiceImpl.java b/src/demo/manager/src/main/java/com/dream/service/impl/AdminServiceImpl.java new file mode 100644 index 00000000..8ca7c578 --- /dev/null +++ b/src/demo/manager/src/main/java/com/dream/service/impl/AdminServiceImpl.java @@ -0,0 +1,87 @@ +package com.dream.service.impl; +import com.dream.common.E3Result; +import com.dream.common.Page; +import com.dream.mapper.AdminMapper; +import com.dream.po.Admin; +import com.dream.po.AdminExample; +import com.dream.service.AdminService; +import org.apache.commons.lang3.StringUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import org.springframework.util.DigestUtils; + +import java.util.List; +@Service +public class AdminServiceImpl implements AdminService{ + + @Autowired + private AdminMapper adminMapper; + + @Override + public E3Result adminLogin(String adminname, String adminpassword) { + // 1、判断账号和密码是否正确 + // 根据账号查询管理员信息 + AdminExample example = new AdminExample(); + AdminExample.Criteria criteria = example.createCriteria(); + criteria.andAdminnameEqualTo(adminname); + // 执行查询 + List list = adminMapper.selectByExample(example); + if (list == null || list.size() == 0) { + // 返回登录失败 + return E3Result.build(400, "用户名或密码错误"); + } + // 取用户信息 + Admin admin = list.get(0); + // 判断密码是否正确 + if (!DigestUtils.md5DigestAsHex(adminpassword.getBytes()).equals(admin.getAdminpassword())) { + // 2、如果不正确,返回登录失败 + return E3Result.build(400, "用户名或密码错误"); + } else { + return E3Result.ok(admin); + } + } + + @Override + public Page findAdminList(Integer page, Integer rows, String adminname) { + Admin admin = new Admin(); + if (StringUtils.isNotBlank(adminname)) { + admin.setAdminname(adminname); + } + // 当前页 + admin.setStart((page-1)*rows); + // 每页数 + admin.setRows(rows); + List admins = adminMapper.selectAdminList(admin); + // 总记录 + Integer count = adminMapper.selectAdminListCount(admin); + Page result = new Page<>(); + result.setPage(page); + result.setRows(admins); + result.setSize(rows); + result.setTotal(count); + return result; + } + + @Override + public void deleteAdmin(Integer id) { + adminMapper.deleteByPrimaryKey(id); + } + + @Override + public Admin getAdminById(Integer id) { + Admin admin = adminMapper.selectByPrimaryKey(id); + return admin; + } + + @Override + public void updateAdmin(Admin admin) { + adminMapper.updateByPrimaryKey(admin); + } + + @Override + public void addAdmin(Admin admin) { + admin.setRole(1); + System.out.println("**************************"+admin.getRole()); + adminMapper.insert(admin); + } +} diff --git a/src/demo/manager/src/main/java/com/dream/service/impl/MovieServiceImpl.java b/src/demo/manager/src/main/java/com/dream/service/impl/MovieServiceImpl.java new file mode 100644 index 00000000..9cb96ce8 --- /dev/null +++ b/src/demo/manager/src/main/java/com/dream/service/impl/MovieServiceImpl.java @@ -0,0 +1,159 @@ +package com.dream.service.impl; + +import com.dream.common.Page; +import com.dream.mapper.CategoryMapper; +import com.dream.mapper.MovieMapper; +import com.dream.mapper.MoviecategoryMapper; +import com.dream.mapper.ReviewMapper; +import com.dream.po.*; +import com.dream.service.MovieService; +import org.apache.commons.lang3.StringUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + + +import java.util.ArrayList; +import java.util.List; + +@Service("movieService") +@Transactional +public class MovieServiceImpl implements MovieService{ + + @Autowired + private MovieMapper movieMapper; + @Autowired + private CategoryMapper categoryMapper; + @Autowired + private MoviecategoryMapper moviecategoryMapper; + + @Override + public Page findMovieList(Query query) { + Page page = new Page(); + page.setSize(10); + query.setSize(10); + if (null != query) { + //判断当前页 + if (null != query.getPage()) { + page.setPage(query.getPage()); + query.setStartRow((query.getPage() - 1) * query.getSize()); + } + if (null != query.getMovieName() && !"".equals(query.getMovieName().trim())) { + query.setMovieName(query.getMovieName().trim()); + } + if (0 != (query.getCategoryId())) { + query.setCategoryId(query.getCategoryId()); + } + page.setTotal(movieMapper.movieCount(query)); + List newMovieList = new ArrayList<>(); + List movieList = movieMapper.selectMovieListByQuery(query); + for (Movie movie: movieList) { + NewMovie newMovie = getMovieById(movie.getMovieid()); + newMovieList.add(newMovie); + } + page.setRows(newMovieList); + } + return page; + } + + // 删除电影 + @Override + public void deleteMovie(Integer id) { + MoviecategoryExample moviecategoryExample = new MoviecategoryExample(); + MoviecategoryExample.Criteria criteria = moviecategoryExample.createCriteria(); + criteria.andMovieidEqualTo(id); + moviecategoryMapper.deleteByExample(moviecategoryExample); + movieMapper.deleteByPrimaryKey(id); + } + + @Override + public List selectCategory() { + CategoryExample example = new CategoryExample(); + List list = categoryMapper.selectByExample(example); + return list; + } + + // 更新电影信息 + @Override + public void updateMovie(Movie movie, String[] categoryIds) { + movieMapper.updateByPrimaryKey(movie); + // 拿到电影的id + int movieid = movie.getMovieid(); + // 删除原来的电影分类,再加入 + MoviecategoryExample example = new MoviecategoryExample(); + MoviecategoryExample.Criteria criteria = example.createCriteria(); + criteria.andMovieidEqualTo(movieid); + moviecategoryMapper.deleteByExample(example); + + for (String categoryId: categoryIds) { + Moviecategory moviecategory = new Moviecategory(); + // 将分类id转为int型 + int tempcategoryId = Integer.parseInt(categoryId); + + moviecategory.setMovieid(movieid); + moviecategory.setCategoryid(tempcategoryId); + moviecategoryMapper.insert(moviecategory); + + } + } + + // 添加电影 + + @Override + public void addMovie(Movie movie, String[] categoryIds) { + movieMapper.insert(movie); + + int movieid = movie.getMovieid(); + + for (String categoryId: categoryIds) { + Moviecategory moviecategory = new Moviecategory(); + int tempcategoryId = Integer.parseInt(categoryId); + moviecategory.setMovieid(movieid); + moviecategory.setCategoryid(tempcategoryId); + + moviecategoryMapper.insert(moviecategory); + } + } + + //根据电影id获取该条电影记录(包括类别) + @Override + public NewMovie getMovieById(Integer id) { + NewMovie newMovie = new NewMovie(); + //根据电影id获取该条电影记录并给newMovie + Movie movie = movieMapper.selectByPrimaryKey(id); + newMovie.setMovieid(movie.getMovieid()); + newMovie.setMoviename(movie.getMoviename()); + newMovie.setShowyear(movie.getShowyear()); +// newMovie.setNation(movie.getNation()); + newMovie.setDirector(movie.getDirector()); + newMovie.setLeadactors(movie.getLeadactors()); +// newMovie.setScreenwriter(movie.getScreenwriter()); + newMovie.setPicture(movie.getPicture()); + newMovie.setAverating(movie.getAverating()); + newMovie.setNumrating(movie.getNumrating()); + newMovie.setDescription(movie.getDescription()); + //根据电影id查询电影对应的类别 + MoviecategoryExample example = new MoviecategoryExample(); + MoviecategoryExample.Criteria criteria = example.createCriteria(); + criteria.andMovieidEqualTo(id); + List list = moviecategoryMapper.selectByExample(example); + //定义一个临时的list + List temps = new ArrayList(); + // + String categoryname = " "; + //将符合条件的id放到list里 + for(Moviecategory mc:list){ + int temId = mc.getCategoryid(); + temps.add(temId); + Category category = categoryMapper.selectByPrimaryKey(temId); + categoryname = categoryname + category.getCategory() + "/" ; + } + //list转为数组并放到newMovie对象中 + Integer[] arrs = (Integer[]) temps.toArray(new Integer[temps.size()]); + newMovie.setCategoryid(arrs); + + // 设置newMovie的category名称 + newMovie.setCategoryname(categoryname); + return newMovie; + } +} diff --git a/src/demo/manager/src/main/java/com/dream/service/impl/UserServiceImpl.java b/src/demo/manager/src/main/java/com/dream/service/impl/UserServiceImpl.java new file mode 100644 index 00000000..3587a5dc --- /dev/null +++ b/src/demo/manager/src/main/java/com/dream/service/impl/UserServiceImpl.java @@ -0,0 +1,105 @@ +package com.dream.service.impl; + +import com.dream.common.Page; +import com.dream.mapper.BrowseMapper; +import com.dream.mapper.RectabMapper; +import com.dream.mapper.ReviewMapper; +import com.dream.mapper.UserMapper; +import com.dream.po.*; +import com.dream.service.UserService; +import org.apache.commons.lang3.StringUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import org.springframework.util.DigestUtils; + +import java.util.List; + +@Service +public class UserServiceImpl implements UserService{ + + @Autowired + private UserMapper userMapper; + + @Autowired + private ReviewMapper reviewMapper; + + @Autowired + private BrowseMapper browseMapper; + + @Autowired + private RectabMapper rectabMapper; + + @Override + public Page findUserList(Integer page, Integer rows, String username) { + User user = new User(); + + if (StringUtils.isNotBlank(username)) { + user.setUsername(username); + } + // 当前页 + user.setStart((page-1)*rows); + // 每页数 + user.setRows(rows); + List users = userMapper.selectUserList(user); + // 总记录 + Integer count = userMapper.selectUserListCount(user); + Page result = new Page<>(); + result.setPage(page); + result.setRows(users); + result.setSize(rows); + result.setTotal(count); + return result; + } + //删除用户信息 + @Override + public void deleteUser(Integer id) { + + //删除评论表的用户信息 + ReviewExample reviewExample = new ReviewExample(); + ReviewExample.Criteria criteria1 = reviewExample.createCriteria(); + criteria1.andUseridEqualTo(id); + List reviewList = reviewMapper.selectByExample(reviewExample); + if(reviewList != null) { + reviewMapper.deleteByExample(reviewExample); + } + + //删除喜欢收藏表的用户信息 + BrowseExample browseExample = new BrowseExample(); + BrowseExample.Criteria criteria2 = browseExample.createCriteria(); + criteria2.andUseridEqualTo(id); + List browseList = browseMapper.selectByExample(browseExample); + if(browseList != null) { + browseMapper.deleteByExample(browseExample); + } + + //删除推荐表的用户信息 + RectabExample rectabExample = new RectabExample(); + RectabExample.Criteria criteria3 = rectabExample.createCriteria(); + criteria3.andUseridEqualTo(id); + List rectabList = rectabMapper.selectByExample(rectabExample); + if(rectabList != null) { + rectabMapper.deleteByExample(rectabExample); + } + + //删除用户表的个人信息 + userMapper.deleteByPrimaryKey(id); + } + + @Override + public User getUserById(Integer id) { + User user = userMapper.selectByPrimaryKey(id); + return user; + } + + @Override + public void updateUser(User user) { + userMapper.updateByPrimaryKey(user); + } + + @Override + public void addUser(User user) { + String md5Pass = DigestUtils.md5DigestAsHex(user.getPassword().getBytes()); + user.setPassword(md5Pass); + userMapper.insert(user); + } +} diff --git a/src/demo/manager/src/main/resources/conf/client.conf b/src/demo/manager/src/main/resources/conf/client.conf new file mode 100644 index 00000000..ef974344 --- /dev/null +++ b/src/demo/manager/src/main/resources/conf/client.conf @@ -0,0 +1 @@ +tracker_server=101.132.123.55:22122 \ No newline at end of file diff --git a/src/demo/manager/src/main/resources/jdbc.properties b/src/demo/manager/src/main/resources/jdbc.properties new file mode 100644 index 00000000..94c10852 --- /dev/null +++ b/src/demo/manager/src/main/resources/jdbc.properties @@ -0,0 +1,4 @@ +jdbc.driver=com.mysql.jdbc.Driver +jdbc.url=jdbc:mysql://localhost:3306/movie?characterEncoding=utf-8 +jdbc.username=root +jdbc.password=88888888 diff --git a/src/demo/manager/src/main/resources/log4j.properties b/src/demo/manager/src/main/resources/log4j.properties new file mode 100644 index 00000000..913391db --- /dev/null +++ b/src/demo/manager/src/main/resources/log4j.properties @@ -0,0 +1,6 @@ +# Global logging configuration +log4j.rootLogger=INFO, stdout +# Console output... +log4j.appender.stdout=org.apache.log4j.ConsoleAppender +log4j.appender.stdout.layout=org.apache.log4j.PatternLayout +log4j.appender.stdout.layout.ConversionPattern=%5p [%t] - %m%n diff --git a/src/demo/manager/src/main/resources/mybatis/SqlMapConfig.xml b/src/demo/manager/src/main/resources/mybatis/SqlMapConfig.xml new file mode 100644 index 00000000..a1e5930e --- /dev/null +++ b/src/demo/manager/src/main/resources/mybatis/SqlMapConfig.xml @@ -0,0 +1,11 @@ + + + + + + + + + + \ No newline at end of file diff --git a/src/demo/manager/src/main/resources/resource.properties b/src/demo/manager/src/main/resources/resource.properties new file mode 100644 index 00000000..7ab938bf --- /dev/null +++ b/src/demo/manager/src/main/resources/resource.properties @@ -0,0 +1,2 @@ +fromType.code=002 +IMAGE_SERVER_URL=101.132.123.55:8888 \ No newline at end of file diff --git a/src/demo/manager/src/main/resources/spring/applicationContext-dao.xml b/src/demo/manager/src/main/resources/spring/applicationContext-dao.xml new file mode 100644 index 00000000..d058b4e3 --- /dev/null +++ b/src/demo/manager/src/main/resources/spring/applicationContext-dao.xml @@ -0,0 +1,35 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/src/demo/manager/src/main/resources/spring/applicationContext-service.xml b/src/demo/manager/src/main/resources/spring/applicationContext-service.xml new file mode 100644 index 00000000..1c97b9f0 --- /dev/null +++ b/src/demo/manager/src/main/resources/spring/applicationContext-service.xml @@ -0,0 +1,14 @@ + + + + + + + \ No newline at end of file diff --git a/src/demo/manager/src/main/resources/spring/spring-shiro.xml b/src/demo/manager/src/main/resources/spring/spring-shiro.xml new file mode 100644 index 00000000..dd47e984 --- /dev/null +++ b/src/demo/manager/src/main/resources/spring/spring-shiro.xml @@ -0,0 +1,48 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + /admin/* = roles["admin"] + /user/* = authc + + /movie/* = authc + /logout = logout + + + + + + + + + + \ No newline at end of file diff --git a/src/demo/manager/src/main/resources/spring/springmvc.xml b/src/demo/manager/src/main/resources/spring/springmvc.xml new file mode 100644 index 00000000..df1166c3 --- /dev/null +++ b/src/demo/manager/src/main/resources/spring/springmvc.xml @@ -0,0 +1,71 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + /403 + + + + + /403 + + + + + \ No newline at end of file diff --git a/src/demo/manager/src/main/webapp/WEB-INF/jsp/adminLogin.jsp b/src/demo/manager/src/main/webapp/WEB-INF/jsp/adminLogin.jsp new file mode 100644 index 00000000..d0141e6b --- /dev/null +++ b/src/demo/manager/src/main/webapp/WEB-INF/jsp/adminLogin.jsp @@ -0,0 +1,78 @@ +<%@ page language="java" contentType="text/html; charset=UTF-8" + pageEncoding="UTF-8"%> + + + + + + + + + + + + + + + + + 梦的6次方 + + + +
+
+
+
+ 管理员登录 +
+ + +
+
+ + + +
+
+ +
+
+
+
+
+ + + + \ No newline at end of file diff --git a/src/demo/manager/src/main/webapp/WEB-INF/jsp/adminManage.jsp b/src/demo/manager/src/main/webapp/WEB-INF/jsp/adminManage.jsp new file mode 100644 index 00000000..a2130b7d --- /dev/null +++ b/src/demo/manager/src/main/webapp/WEB-INF/jsp/adminManage.jsp @@ -0,0 +1,385 @@ +<%-- + Created by IntelliJ IDEA. + User: lu + Date: 18-3-9 + Time: 上午10:11 + To change this template use File | Settings | File Templates. +--%> +<%@ page language="java" contentType="text/html; charset=UTF-8" + pageEncoding="UTF-8"%> +<%@ page trimDirectiveWhitespaces="true"%> +<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%> +<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%> +<%@ taglib prefix="dream" uri="http://dream.com/common/"%> +<%@ taglib prefix="shiro" uri="http://shiro.apache.org/tags" %> +<% + String path = request.getContextPath(); + String basePath = request.getScheme() + "://" + request.getServerName() + ":" + request.getServerPort() + + path + "/"; +%> + + + + + + + + + +梦的6次方 + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + +
+
+
+

管理员管理

+
+ +
+ +
+
+ +
+
+ + +
+ + + 添加管理员 +
+
+
+
+
+
+
管理员管理信息
+ + + + + + + + + + + + + + + + + + + + + +
管理员Id管理员名字管理员密码角色
${row.adminid}${row.adminname}${row.adminpassword}${row.role} + 修改 + 删除 +
+
+ +
+ +
+ +
+ +
+
+
+ + + + + + + + + + + + + + + + + + + + + + + <%--Datetimepicker Javascript--%> + + + + + + + + + + + diff --git a/src/demo/manager/src/main/webapp/WEB-INF/jsp/movieManage.jsp b/src/demo/manager/src/main/webapp/WEB-INF/jsp/movieManage.jsp new file mode 100644 index 00000000..c737342f --- /dev/null +++ b/src/demo/manager/src/main/webapp/WEB-INF/jsp/movieManage.jsp @@ -0,0 +1,634 @@ +<%@ page language="java" contentType="text/html; charset=UTF-8" + pageEncoding="UTF-8"%> +<%@ page trimDirectiveWhitespaces="true"%> +<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%> +<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%> +<%@ taglib prefix="dream" uri="http://dream.com/common/"%> +<%@ taglib prefix="shiro" uri="http://shiro.apache.org/tags" %> +<% + String path = request.getContextPath(); + String basePath = request.getScheme() + "://" + request.getServerName() + ":" + request.getServerPort() + + path + "/"; +%> + + + + + + + + + +梦的6次方 + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + +
+
+
+

电影管理

+
+ +
+ +
+
+ +
+
+ + +
+
+ + +
+ + + + 添加电影 +
+
+
+
+
+
+
电影管理信息
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
电影ID电影名称上映年份电影类型导演评分评价人数海报
${row.movieid}${row.moviename}${row.categoryname}${row.director}${row.averating}${row.numrating}${row.picture} + 修改 + 删除 +
+
+ +
+ +
+ +
+ +
+
+
+ + + + + + + + + + + + + + + + + + + + + + + <%--Datetimepicker Javascript--%> + + + + + + + + + + + diff --git a/src/demo/manager/src/main/webapp/WEB-INF/jsp/userManage.jsp b/src/demo/manager/src/main/webapp/WEB-INF/jsp/userManage.jsp new file mode 100644 index 00000000..561ff129 --- /dev/null +++ b/src/demo/manager/src/main/webapp/WEB-INF/jsp/userManage.jsp @@ -0,0 +1,452 @@ +<%-- + Created by IntelliJ IDEA. + User: lu + Date: 18-3-9 + Time: 上午10:11 + To change this template use File | Settings | File Templates. +--%> +<%@ page language="java" contentType="text/html; charset=UTF-8" + pageEncoding="UTF-8"%> +<%@ page trimDirectiveWhitespaces="true"%> +<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%> +<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%> +<%@ taglib prefix="dream" uri="http://dream.com/common/"%> +<%@ taglib prefix="shiro" uri="http://shiro.apache.org/tags" %> +<% + String path = request.getContextPath(); + String basePath = request.getScheme() + "://" + request.getServerName() + ":" + request.getServerPort() + + path + "/"; +%> + + + + + + + + + +梦的6次方 + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + +
+
+
+

用户管理

+
+ +
+ +
+
+ +
+
+ + +
+ + + 添加用户 +
+
+
+
+
+
+
用户管理信息
+ + + + + + + + + + + + + + + + + + + + + + + +
用户Id用户名邮箱注册时间上次登录时间
${row.userid}${row.username}${row.email} + 修改 + 删除 +
+
+ +
+ +
+ +
+ +
+
+
+ + + + + + + + + + + + + + + + + + + + + + + <%--Datetimepicker Javascript--%> + + + + + + + + + + + diff --git a/src/demo/manager/src/main/webapp/WEB-INF/tld/commons.tld b/src/demo/manager/src/main/webapp/WEB-INF/tld/commons.tld new file mode 100644 index 00000000..7b2ed22a --- /dev/null +++ b/src/demo/manager/src/main/webapp/WEB-INF/tld/commons.tld @@ -0,0 +1,32 @@ + + + + 2.0 + 1.2 + common + http://dream.com/common/ + Common Tag + Common Tag library + + + page + com.dream.common.NavigationTag + JSP + create navigation for paging + + bean + true + + + number + true + + + url + true + true + + + \ No newline at end of file diff --git a/src/demo/manager/src/main/webapp/WEB-INF/web.xml b/src/demo/manager/src/main/webapp/WEB-INF/web.xml new file mode 100644 index 00000000..f46c0813 --- /dev/null +++ b/src/demo/manager/src/main/webapp/WEB-INF/web.xml @@ -0,0 +1,82 @@ + + + + + Archetype Created Web Application + + + index.html + index.htm + index.jsp + default.html + default.htm + default.jsp + + + + + + contextConfigLocation + classpath:spring/applicationContext-*.xml + + + + org.springframework.web.context.ContextLoaderListener + + + + + springmvc + org.springframework.web.servlet.DispatcherServlet + + + contextConfigLocation + classpath:spring/springmvc.xml + + + + + springmvc + + / + + + + + CharacterEncodingFilter + org.springframework.web.filter.CharacterEncodingFilter + + encoding + utf-8 + + + + CharacterEncodingFilter + /* + + + + + shiroFilter + org.springframework.web.filter.DelegatingFilterProxy + + + targetFilterLifecycle + true + + + + shiroFilter + /* + + + + + \ No newline at end of file diff --git a/src/demo/manager/src/main/webapp/assets/css/boot-crm.css b/src/demo/manager/src/main/webapp/assets/css/boot-crm.css new file mode 100644 index 00000000..2df94f3a --- /dev/null +++ b/src/demo/manager/src/main/webapp/assets/css/boot-crm.css @@ -0,0 +1,4 @@ +.table th{ + text-align: center; + height:38px; +} \ No newline at end of file diff --git a/src/demo/manager/src/main/webapp/assets/css/bootstrap-datetimepicker.css b/src/demo/manager/src/main/webapp/assets/css/bootstrap-datetimepicker.css new file mode 100644 index 00000000..537c6a4c --- /dev/null +++ b/src/demo/manager/src/main/webapp/assets/css/bootstrap-datetimepicker.css @@ -0,0 +1,418 @@ +/*! + * Datetimepicker for Bootstrap + * + * Copyright 2012 Stefan Petre + * Improvements by Andrew Rowls + * Licensed under the Apache License v2.0 + * http://www.apache.org/licenses/LICENSE-2.0 + * + */ +.datetimepicker { + padding: 4px; + margin-top: 1px; + -webkit-border-radius: 4px; + -moz-border-radius: 4px; + border-radius: 4px; + direction: ltr; +} + +.datetimepicker-inline { + width: 220px; +} + +.datetimepicker.datetimepicker-rtl { + direction: rtl; +} + +.datetimepicker.datetimepicker-rtl table tr td span { + float: right; +} + +.datetimepicker-dropdown, .datetimepicker-dropdown-left { + top: 0; + left: 0; +} + +[class*=" datetimepicker-dropdown"]:before { + content: ''; + display: inline-block; + border-left: 7px solid transparent; + border-right: 7px solid transparent; + border-bottom: 7px solid #cccccc; + border-bottom-color: rgba(0, 0, 0, 0.2); + position: absolute; +} + +[class*=" datetimepicker-dropdown"]:after { + content: ''; + display: inline-block; + border-left: 6px solid transparent; + border-right: 6px solid transparent; + border-bottom: 6px solid #ffffff; + position: absolute; +} + +[class*=" datetimepicker-dropdown-top"]:before { + content: ''; + display: inline-block; + border-left: 7px solid transparent; + border-right: 7px solid transparent; + border-top: 7px solid #cccccc; + border-top-color: rgba(0, 0, 0, 0.2); + border-bottom: 0; +} + +[class*=" datetimepicker-dropdown-top"]:after { + content: ''; + display: inline-block; + border-left: 6px solid transparent; + border-right: 6px solid transparent; + border-top: 6px solid #ffffff; + border-bottom: 0; +} + +.datetimepicker-dropdown-bottom-left:before { + top: -7px; + right: 6px; +} + +.datetimepicker-dropdown-bottom-left:after { + top: -6px; + right: 7px; +} + +.datetimepicker-dropdown-bottom-right:before { + top: -7px; + left: 6px; +} + +.datetimepicker-dropdown-bottom-right:after { + top: -6px; + left: 7px; +} + +.datetimepicker-dropdown-top-left:before { + bottom: -7px; + right: 6px; +} + +.datetimepicker-dropdown-top-left:after { + bottom: -6px; + right: 7px; +} + +.datetimepicker-dropdown-top-right:before { + bottom: -7px; + left: 6px; +} + +.datetimepicker-dropdown-top-right:after { + bottom: -6px; + left: 7px; +} + +.datetimepicker > div { + display: none; +} + +.datetimepicker.minutes div.datetimepicker-minutes { + display: block; +} + +.datetimepicker.hours div.datetimepicker-hours { + display: block; +} + +.datetimepicker.days div.datetimepicker-days { + display: block; +} + +.datetimepicker.months div.datetimepicker-months { + display: block; +} + +.datetimepicker.years div.datetimepicker-years { + display: block; +} + +.datetimepicker table { + margin: 0; +} + +.datetimepicker td, +.datetimepicker th { + text-align: center; + width: 20px; + height: 20px; + -webkit-border-radius: 4px; + -moz-border-radius: 4px; + border-radius: 4px; + border: none; +} + +.table-striped .datetimepicker table tr td, +.table-striped .datetimepicker table tr th { + background-color: transparent; +} + +.datetimepicker table tr td.minute:hover { + background: #eeeeee; + cursor: pointer; +} + +.datetimepicker table tr td.hour:hover { + background: #eeeeee; + cursor: pointer; +} + +.datetimepicker table tr td.day:hover { + background: #eeeeee; + cursor: pointer; +} + +.datetimepicker table tr td.old, +.datetimepicker table tr td.new { + color: #999999; +} + +.datetimepicker table tr td.disabled, +.datetimepicker table tr td.disabled:hover { + background: none; + color: #999999; + cursor: default; +} + +.datetimepicker table tr td.today, +.datetimepicker table tr td.today:hover, +.datetimepicker table tr td.today.disabled, +.datetimepicker table tr td.today.disabled:hover { + background-color: #fde19a; + background-image: -moz-linear-gradient(top, #fdd49a, #fdf59a); + background-image: -ms-linear-gradient(top, #fdd49a, #fdf59a); + background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#fdd49a), to(#fdf59a)); + background-image: -webkit-linear-gradient(top, #fdd49a, #fdf59a); + background-image: -o-linear-gradient(top, #fdd49a, #fdf59a); + background-image: linear-gradient(to bottom, #fdd49a, #fdf59a); + background-repeat: repeat-x; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fdd49a', endColorstr='#fdf59a', GradientType=0); + border-color: #fdf59a #fdf59a #fbed50; + border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25); + filter: progid:DXImageTransform.Microsoft.gradient(enabled=false); +} + +.datetimepicker table tr td.today:hover, +.datetimepicker table tr td.today:hover:hover, +.datetimepicker table tr td.today.disabled:hover, +.datetimepicker table tr td.today.disabled:hover:hover, +.datetimepicker table tr td.today:active, +.datetimepicker table tr td.today:hover:active, +.datetimepicker table tr td.today.disabled:active, +.datetimepicker table tr td.today.disabled:hover:active, +.datetimepicker table tr td.today.active, +.datetimepicker table tr td.today:hover.active, +.datetimepicker table tr td.today.disabled.active, +.datetimepicker table tr td.today.disabled:hover.active, +.datetimepicker table tr td.today.disabled, +.datetimepicker table tr td.today:hover.disabled, +.datetimepicker table tr td.today.disabled.disabled, +.datetimepicker table tr td.today.disabled:hover.disabled, +.datetimepicker table tr td.today[disabled], +.datetimepicker table tr td.today:hover[disabled], +.datetimepicker table tr td.today.disabled[disabled], +.datetimepicker table tr td.today.disabled:hover[disabled] { + background-color: #fdf59a; +} + +.datetimepicker table tr td.today:active, +.datetimepicker table tr td.today:hover:active, +.datetimepicker table tr td.today.disabled:active, +.datetimepicker table tr td.today.disabled:hover:active, +.datetimepicker table tr td.today.active, +.datetimepicker table tr td.today:hover.active, +.datetimepicker table tr td.today.disabled.active, +.datetimepicker table tr td.today.disabled:hover.active { + background-color: #fbf069; +} + +.datetimepicker table tr td.active, +.datetimepicker table tr td.active:hover, +.datetimepicker table tr td.active.disabled, +.datetimepicker table tr td.active.disabled:hover { + background-color: #006dcc; + background-image: -moz-linear-gradient(top, #0088cc, #0044cc); + background-image: -ms-linear-gradient(top, #0088cc, #0044cc); + background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#0088cc), to(#0044cc)); + background-image: -webkit-linear-gradient(top, #0088cc, #0044cc); + background-image: -o-linear-gradient(top, #0088cc, #0044cc); + background-image: linear-gradient(to bottom, #0088cc, #0044cc); + background-repeat: repeat-x; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#0088cc', endColorstr='#0044cc', GradientType=0); + border-color: #0044cc #0044cc #002a80; + border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25); + filter: progid:DXImageTransform.Microsoft.gradient(enabled=false); + color: #ffffff; + text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25); +} + +.datetimepicker table tr td.active:hover, +.datetimepicker table tr td.active:hover:hover, +.datetimepicker table tr td.active.disabled:hover, +.datetimepicker table tr td.active.disabled:hover:hover, +.datetimepicker table tr td.active:active, +.datetimepicker table tr td.active:hover:active, +.datetimepicker table tr td.active.disabled:active, +.datetimepicker table tr td.active.disabled:hover:active, +.datetimepicker table tr td.active.active, +.datetimepicker table tr td.active:hover.active, +.datetimepicker table tr td.active.disabled.active, +.datetimepicker table tr td.active.disabled:hover.active, +.datetimepicker table tr td.active.disabled, +.datetimepicker table tr td.active:hover.disabled, +.datetimepicker table tr td.active.disabled.disabled, +.datetimepicker table tr td.active.disabled:hover.disabled, +.datetimepicker table tr td.active[disabled], +.datetimepicker table tr td.active:hover[disabled], +.datetimepicker table tr td.active.disabled[disabled], +.datetimepicker table tr td.active.disabled:hover[disabled] { + background-color: #0044cc; +} + +.datetimepicker table tr td.active:active, +.datetimepicker table tr td.active:hover:active, +.datetimepicker table tr td.active.disabled:active, +.datetimepicker table tr td.active.disabled:hover:active, +.datetimepicker table tr td.active.active, +.datetimepicker table tr td.active:hover.active, +.datetimepicker table tr td.active.disabled.active, +.datetimepicker table tr td.active.disabled:hover.active { + background-color: #003399; +} + +.datetimepicker table tr td span { + display: block; + width: 23%; + height: 54px; + line-height: 54px; + float: left; + margin: 1%; + cursor: pointer; + -webkit-border-radius: 4px; + -moz-border-radius: 4px; + border-radius: 4px; +} + +.datetimepicker .datetimepicker-hours span { + height: 26px; + line-height: 26px; +} + +.datetimepicker .datetimepicker-hours table tr td span.hour_am, +.datetimepicker .datetimepicker-hours table tr td span.hour_pm { + width: 14.6%; +} + +.datetimepicker .datetimepicker-hours fieldset legend, +.datetimepicker .datetimepicker-minutes fieldset legend { + margin-bottom: inherit; + line-height: 30px; +} + +.datetimepicker .datetimepicker-minutes span { + height: 26px; + line-height: 26px; +} + +.datetimepicker table tr td span:hover { + background: #eeeeee; +} + +.datetimepicker table tr td span.disabled, +.datetimepicker table tr td span.disabled:hover { + background: none; + color: #999999; + cursor: default; +} + +.datetimepicker table tr td span.active, +.datetimepicker table tr td span.active:hover, +.datetimepicker table tr td span.active.disabled, +.datetimepicker table tr td span.active.disabled:hover { + background-color: #006dcc; + background-image: -moz-linear-gradient(top, #0088cc, #0044cc); + background-image: -ms-linear-gradient(top, #0088cc, #0044cc); + background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#0088cc), to(#0044cc)); + background-image: -webkit-linear-gradient(top, #0088cc, #0044cc); + background-image: -o-linear-gradient(top, #0088cc, #0044cc); + background-image: linear-gradient(to bottom, #0088cc, #0044cc); + background-repeat: repeat-x; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#0088cc', endColorstr='#0044cc', GradientType=0); + border-color: #0044cc #0044cc #002a80; + border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25); + filter: progid:DXImageTransform.Microsoft.gradient(enabled=false); + color: #ffffff; + text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25); +} + +.datetimepicker table tr td span.active:hover, +.datetimepicker table tr td span.active:hover:hover, +.datetimepicker table tr td span.active.disabled:hover, +.datetimepicker table tr td span.active.disabled:hover:hover, +.datetimepicker table tr td span.active:active, +.datetimepicker table tr td span.active:hover:active, +.datetimepicker table tr td span.active.disabled:active, +.datetimepicker table tr td span.active.disabled:hover:active, +.datetimepicker table tr td span.active.active, +.datetimepicker table tr td span.active:hover.active, +.datetimepicker table tr td span.active.disabled.active, +.datetimepicker table tr td span.active.disabled:hover.active, +.datetimepicker table tr td span.active.disabled, +.datetimepicker table tr td span.active:hover.disabled, +.datetimepicker table tr td span.active.disabled.disabled, +.datetimepicker table tr td span.active.disabled:hover.disabled, +.datetimepicker table tr td span.active[disabled], +.datetimepicker table tr td span.active:hover[disabled], +.datetimepicker table tr td span.active.disabled[disabled], +.datetimepicker table tr td span.active.disabled:hover[disabled] { + background-color: #0044cc; +} + +.datetimepicker table tr td span.active:active, +.datetimepicker table tr td span.active:hover:active, +.datetimepicker table tr td span.active.disabled:active, +.datetimepicker table tr td span.active.disabled:hover:active, +.datetimepicker table tr td span.active.active, +.datetimepicker table tr td span.active:hover.active, +.datetimepicker table tr td span.active.disabled.active, +.datetimepicker table tr td span.active.disabled:hover.active { + background-color: #003399; +} + +.datetimepicker table tr td span.old { + color: #999999; +} + +.datetimepicker th.switch { + width: 145px; +} + +.datetimepicker th span.glyphicon { + pointer-events: none; +} + +.datetimepicker thead tr:first-child th, +.datetimepicker tfoot th { + cursor: pointer; +} + +.datetimepicker thead tr:first-child th:hover, +.datetimepicker tfoot th:hover { + background: #eeeeee; +} + +.input-append.date .add-on i, +.input-prepend.date .add-on i, +.input-group.date .input-group-addon span { + cursor: pointer; + width: 14px; + height: 14px; +} diff --git a/src/demo/manager/src/main/webapp/assets/css/bootstrap-datetimepicker.min.css b/src/demo/manager/src/main/webapp/assets/css/bootstrap-datetimepicker.min.css new file mode 100644 index 00000000..78485fee --- /dev/null +++ b/src/demo/manager/src/main/webapp/assets/css/bootstrap-datetimepicker.min.css @@ -0,0 +1,9 @@ +/*! + * Datetimepicker for Bootstrap + * + * Copyright 2012 Stefan Petre + * Improvements by Andrew Rowls + * Licensed under the Apache License v2.0 + * http://www.apache.org/licenses/LICENSE-2.0 + * + */.datetimepicker{padding:4px;margin-top:1px;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;direction:ltr}.datetimepicker-inline{width:220px}.datetimepicker.datetimepicker-rtl{direction:rtl}.datetimepicker.datetimepicker-rtl table tr td span{float:right}.datetimepicker-dropdown,.datetimepicker-dropdown-left{top:0;left:0}[class*=" datetimepicker-dropdown"]:before{content:'';display:inline-block;border-left:7px solid transparent;border-right:7px solid transparent;border-bottom:7px solid #ccc;border-bottom-color:rgba(0,0,0,0.2);position:absolute}[class*=" datetimepicker-dropdown"]:after{content:'';display:inline-block;border-left:6px solid transparent;border-right:6px solid transparent;border-bottom:6px solid #fff;position:absolute}[class*=" datetimepicker-dropdown-top"]:before{content:'';display:inline-block;border-left:7px solid transparent;border-right:7px solid transparent;border-top:7px solid #ccc;border-top-color:rgba(0,0,0,0.2);border-bottom:0}[class*=" datetimepicker-dropdown-top"]:after{content:'';display:inline-block;border-left:6px solid transparent;border-right:6px solid transparent;border-top:6px solid #fff;border-bottom:0}.datetimepicker-dropdown-bottom-left:before{top:-7px;right:6px}.datetimepicker-dropdown-bottom-left:after{top:-6px;right:7px}.datetimepicker-dropdown-bottom-right:before{top:-7px;left:6px}.datetimepicker-dropdown-bottom-right:after{top:-6px;left:7px}.datetimepicker-dropdown-top-left:before{bottom:-7px;right:6px}.datetimepicker-dropdown-top-left:after{bottom:-6px;right:7px}.datetimepicker-dropdown-top-right:before{bottom:-7px;left:6px}.datetimepicker-dropdown-top-right:after{bottom:-6px;left:7px}.datetimepicker>div{display:none}.datetimepicker.minutes div.datetimepicker-minutes{display:block}.datetimepicker.hours div.datetimepicker-hours{display:block}.datetimepicker.days div.datetimepicker-days{display:block}.datetimepicker.months div.datetimepicker-months{display:block}.datetimepicker.years div.datetimepicker-years{display:block}.datetimepicker table{margin:0}.datetimepicker td,.datetimepicker th{text-align:center;width:20px;height:20px;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;border:0}.table-striped .datetimepicker table tr td,.table-striped .datetimepicker table tr th{background-color:transparent}.datetimepicker table tr td.minute:hover{background:#eee;cursor:pointer}.datetimepicker table tr td.hour:hover{background:#eee;cursor:pointer}.datetimepicker table tr td.day:hover{background:#eee;cursor:pointer}.datetimepicker table tr td.old,.datetimepicker table tr td.new{color:#999}.datetimepicker table tr td.disabled,.datetimepicker table tr td.disabled:hover{background:0;color:#999;cursor:default}.datetimepicker table tr td.today,.datetimepicker table tr td.today:hover,.datetimepicker table tr td.today.disabled,.datetimepicker table tr td.today.disabled:hover{background-color:#fde19a;background-image:-moz-linear-gradient(top,#fdd49a,#fdf59a);background-image:-ms-linear-gradient(top,#fdd49a,#fdf59a);background-image:-webkit-gradient(linear,0 0,0 100%,from(#fdd49a),to(#fdf59a));background-image:-webkit-linear-gradient(top,#fdd49a,#fdf59a);background-image:-o-linear-gradient(top,#fdd49a,#fdf59a);background-image:linear-gradient(to bottom,#fdd49a,#fdf59a);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fdd49a',endColorstr='#fdf59a',GradientType=0);border-color:#fdf59a #fdf59a #fbed50;border-color:rgba(0,0,0,0.1) rgba(0,0,0,0.1) rgba(0,0,0,0.25);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)}.datetimepicker table tr td.today:hover,.datetimepicker table tr td.today:hover:hover,.datetimepicker table tr td.today.disabled:hover,.datetimepicker table tr td.today.disabled:hover:hover,.datetimepicker table tr td.today:active,.datetimepicker table tr td.today:hover:active,.datetimepicker table tr td.today.disabled:active,.datetimepicker table tr td.today.disabled:hover:active,.datetimepicker table tr td.today.active,.datetimepicker table tr td.today:hover.active,.datetimepicker table tr td.today.disabled.active,.datetimepicker table tr td.today.disabled:hover.active,.datetimepicker table tr td.today.disabled,.datetimepicker table tr td.today:hover.disabled,.datetimepicker table tr td.today.disabled.disabled,.datetimepicker table tr td.today.disabled:hover.disabled,.datetimepicker table tr td.today[disabled],.datetimepicker table tr td.today:hover[disabled],.datetimepicker table tr td.today.disabled[disabled],.datetimepicker table tr td.today.disabled:hover[disabled]{background-color:#fdf59a}.datetimepicker table tr td.today:active,.datetimepicker table tr td.today:hover:active,.datetimepicker table tr td.today.disabled:active,.datetimepicker table tr td.today.disabled:hover:active,.datetimepicker table tr td.today.active,.datetimepicker table tr td.today:hover.active,.datetimepicker table tr td.today.disabled.active,.datetimepicker table tr td.today.disabled:hover.active{background-color:#fbf069}.datetimepicker table tr td.active,.datetimepicker table tr td.active:hover,.datetimepicker table tr td.active.disabled,.datetimepicker table tr td.active.disabled:hover{background-color:#006dcc;background-image:-moz-linear-gradient(top,#08c,#04c);background-image:-ms-linear-gradient(top,#08c,#04c);background-image:-webkit-gradient(linear,0 0,0 100%,from(#08c),to(#04c));background-image:-webkit-linear-gradient(top,#08c,#04c);background-image:-o-linear-gradient(top,#08c,#04c);background-image:linear-gradient(to bottom,#08c,#04c);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#0088cc',endColorstr='#0044cc',GradientType=0);border-color:#04c #04c #002a80;border-color:rgba(0,0,0,0.1) rgba(0,0,0,0.1) rgba(0,0,0,0.25);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false);color:#fff;text-shadow:0 -1px 0 rgba(0,0,0,0.25)}.datetimepicker table tr td.active:hover,.datetimepicker table tr td.active:hover:hover,.datetimepicker table tr td.active.disabled:hover,.datetimepicker table tr td.active.disabled:hover:hover,.datetimepicker table tr td.active:active,.datetimepicker table tr td.active:hover:active,.datetimepicker table tr td.active.disabled:active,.datetimepicker table tr td.active.disabled:hover:active,.datetimepicker table tr td.active.active,.datetimepicker table tr td.active:hover.active,.datetimepicker table tr td.active.disabled.active,.datetimepicker table tr td.active.disabled:hover.active,.datetimepicker table tr td.active.disabled,.datetimepicker table tr td.active:hover.disabled,.datetimepicker table tr td.active.disabled.disabled,.datetimepicker table tr td.active.disabled:hover.disabled,.datetimepicker table tr td.active[disabled],.datetimepicker table tr td.active:hover[disabled],.datetimepicker table tr td.active.disabled[disabled],.datetimepicker table tr td.active.disabled:hover[disabled]{background-color:#04c}.datetimepicker table tr td.active:active,.datetimepicker table tr td.active:hover:active,.datetimepicker table tr td.active.disabled:active,.datetimepicker table tr td.active.disabled:hover:active,.datetimepicker table tr td.active.active,.datetimepicker table tr td.active:hover.active,.datetimepicker table tr td.active.disabled.active,.datetimepicker table tr td.active.disabled:hover.active{background-color:#039}.datetimepicker table tr td span{display:block;width:23%;height:54px;line-height:54px;float:left;margin:1%;cursor:pointer;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px}.datetimepicker .datetimepicker-hours span{height:26px;line-height:26px}.datetimepicker .datetimepicker-hours table tr td span.hour_am,.datetimepicker .datetimepicker-hours table tr td span.hour_pm{width:14.6%}.datetimepicker .datetimepicker-hours fieldset legend,.datetimepicker .datetimepicker-minutes fieldset legend{margin-bottom:inherit;line-height:30px}.datetimepicker .datetimepicker-minutes span{height:26px;line-height:26px}.datetimepicker table tr td span:hover{background:#eee}.datetimepicker table tr td span.disabled,.datetimepicker table tr td span.disabled:hover{background:0;color:#999;cursor:default}.datetimepicker table tr td span.active,.datetimepicker table tr td span.active:hover,.datetimepicker table tr td span.active.disabled,.datetimepicker table tr td span.active.disabled:hover{background-color:#006dcc;background-image:-moz-linear-gradient(top,#08c,#04c);background-image:-ms-linear-gradient(top,#08c,#04c);background-image:-webkit-gradient(linear,0 0,0 100%,from(#08c),to(#04c));background-image:-webkit-linear-gradient(top,#08c,#04c);background-image:-o-linear-gradient(top,#08c,#04c);background-image:linear-gradient(to bottom,#08c,#04c);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#0088cc',endColorstr='#0044cc',GradientType=0);border-color:#04c #04c #002a80;border-color:rgba(0,0,0,0.1) rgba(0,0,0,0.1) rgba(0,0,0,0.25);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false);color:#fff;text-shadow:0 -1px 0 rgba(0,0,0,0.25)}.datetimepicker table tr td span.active:hover,.datetimepicker table tr td span.active:hover:hover,.datetimepicker table tr td span.active.disabled:hover,.datetimepicker table tr td span.active.disabled:hover:hover,.datetimepicker table tr td span.active:active,.datetimepicker table tr td span.active:hover:active,.datetimepicker table tr td span.active.disabled:active,.datetimepicker table tr td span.active.disabled:hover:active,.datetimepicker table tr td span.active.active,.datetimepicker table tr td span.active:hover.active,.datetimepicker table tr td span.active.disabled.active,.datetimepicker table tr td span.active.disabled:hover.active,.datetimepicker table tr td span.active.disabled,.datetimepicker table tr td span.active:hover.disabled,.datetimepicker table tr td span.active.disabled.disabled,.datetimepicker table tr td span.active.disabled:hover.disabled,.datetimepicker table tr td span.active[disabled],.datetimepicker table tr td span.active:hover[disabled],.datetimepicker table tr td span.active.disabled[disabled],.datetimepicker table tr td span.active.disabled:hover[disabled]{background-color:#04c}.datetimepicker table tr td span.active:active,.datetimepicker table tr td span.active:hover:active,.datetimepicker table tr td span.active.disabled:active,.datetimepicker table tr td span.active.disabled:hover:active,.datetimepicker table tr td span.active.active,.datetimepicker table tr td span.active:hover.active,.datetimepicker table tr td span.active.disabled.active,.datetimepicker table tr td span.active.disabled:hover.active{background-color:#039}.datetimepicker table tr td span.old{color:#999}.datetimepicker th.switch{width:145px}.datetimepicker th span.glyphicon{pointer-events:none}.datetimepicker thead tr:first-child th,.datetimepicker tfoot th{cursor:pointer}.datetimepicker thead tr:first-child th:hover,.datetimepicker tfoot th:hover{background:#eee}.input-append.date .add-on i,.input-prepend.date .add-on i,.input-group.date .input-group-addon span{cursor:pointer;width:14px;height:14px} \ No newline at end of file diff --git a/src/demo/manager/src/main/webapp/assets/css/bootstrap-editable.css b/src/demo/manager/src/main/webapp/assets/css/bootstrap-editable.css new file mode 100644 index 00000000..eaef0de9 --- /dev/null +++ b/src/demo/manager/src/main/webapp/assets/css/bootstrap-editable.css @@ -0,0 +1,663 @@ +/*! X-editable - v1.5.1 +* In-place editing with Twitter Bootstrap, jQuery UI or pure jQuery +* http://github.com/vitalets/x-editable +* Copyright (c) 2013 Vitaliy Potapov; Licensed MIT */ +.editableform { + margin-bottom: 0; /* overwrites bootstrap margin */ +} + +.editableform .control-group { + margin-bottom: 0; /* overwrites bootstrap margin */ + white-space: nowrap; /* prevent wrapping buttons on new line */ + line-height: 20px; /* overwriting bootstrap line-height. See #133 */ +} + +/* + BS3 width:1005 for inputs breaks editable form in popup + See: https://github.com/vitalets/x-editable/issues/393 +*/ +.editableform .form-control { + width: auto; +} + +.editable-buttons { + display: inline-block; /* should be inline to take effect of parent's white-space: nowrap */ + vertical-align: top; + margin-left: 7px; + /* inline-block emulation for IE7*/ + zoom: 1; + *display: inline; +} + +.editable-buttons.editable-buttons-bottom { + display: block; + margin-top: 7px; + margin-left: 0; +} + +.editable-input { + vertical-align: top; + display: inline-block; /* should be inline to take effect of parent's white-space: nowrap */ + width: auto; /* bootstrap-responsive has width: 100% that breakes layout */ + white-space: normal; /* reset white-space decalred in parent*/ + /* display-inline emulation for IE7*/ + zoom: 1; + *display: inline; +} + +.editable-buttons .editable-cancel { + margin-left: 7px; +} + +/*for jquery-ui buttons need set height to look more pretty*/ +.editable-buttons button.ui-button-icon-only { + height: 24px; + width: 30px; +} + +.editableform-loading { + background: url('../img/loading.gif') center center no-repeat; + height: 25px; + width: auto; + min-width: 25px; +} + +.editable-inline .editableform-loading { + background-position: left 5px; +} + + .editable-error-block { + max-width: 300px; + margin: 5px 0 0 0; + width: auto; + white-space: normal; +} + +/*add padding for jquery ui*/ +.editable-error-block.ui-state-error { + padding: 3px; +} + +.editable-error { + color: red; +} + +/* ---- For specific types ---- */ + +.editableform .editable-date { + padding: 0; + margin: 0; + float: left; +} + +/* move datepicker icon to center of add-on button. See https://github.com/vitalets/x-editable/issues/183 */ +.editable-inline .add-on .icon-th { + margin-top: 3px; + margin-left: 1px; +} + + +/* checklist vertical alignment */ +.editable-checklist label input[type="checkbox"], +.editable-checklist label span { + vertical-align: middle; + margin: 0; +} + +.editable-checklist label { + white-space: nowrap; +} + +/* set exact width of textarea to fit buttons toolbar */ +.editable-wysihtml5 { + width: 566px; + height: 250px; +} + +/* clear button shown as link in date inputs */ +.editable-clear { + clear: both; + font-size: 0.9em; + text-decoration: none; + text-align: right; +} + +/* IOS-style clear button for text inputs */ +.editable-clear-x { + background: url('../img/clear.png') center center no-repeat; + display: block; + width: 13px; + height: 13px; + position: absolute; + opacity: 0.6; + z-index: 100; + + top: 50%; + right: 6px; + margin-top: -6px; + +} + +.editable-clear-x:hover { + opacity: 1; +} + +.editable-pre-wrapped { + white-space: pre-wrap; +} +.editable-container.editable-popup { + max-width: none !important; /* without this rule poshytip/tooltip does not stretch */ +} + +.editable-container.popover { + width: auto; /* without this rule popover does not stretch */ +} + +.editable-container.editable-inline { + display: inline-block; + vertical-align: middle; + width: auto; + /* inline-block emulation for IE7*/ + zoom: 1; + *display: inline; +} + +.editable-container.ui-widget { + font-size: inherit; /* jqueryui widget font 1.1em too big, overwrite it */ + z-index: 9990; /* should be less than select2 dropdown z-index to close dropdown first when click */ +} +.editable-click, +a.editable-click, +a.editable-click:hover { + text-decoration: none; + border-bottom: dashed 1px #0088cc; +} + +.editable-click.editable-disabled, +a.editable-click.editable-disabled, +a.editable-click.editable-disabled:hover { + color: #585858; + cursor: default; + border-bottom: none; +} + +.editable-empty, .editable-empty:hover, .editable-empty:focus{ + font-style: italic; + color: #DD1144; + /* border-bottom: none; */ + text-decoration: none; +} + +.editable-unsaved { + font-weight: bold; +} + +.editable-unsaved:after { +/* content: '*'*/ +} + +.editable-bg-transition { + -webkit-transition: background-color 1400ms ease-out; + -moz-transition: background-color 1400ms ease-out; + -o-transition: background-color 1400ms ease-out; + -ms-transition: background-color 1400ms ease-out; + transition: background-color 1400ms ease-out; +} + +/*see https://github.com/vitalets/x-editable/issues/139 */ +.form-horizontal .editable +{ + padding-top: 5px; + display:inline-block; +} + + +/*! + * Datepicker for Bootstrap + * + * Copyright 2012 Stefan Petre + * Improvements by Andrew Rowls + * Licensed under the Apache License v2.0 + * http://www.apache.org/licenses/LICENSE-2.0 + * + */ +.datepicker { + padding: 4px; + -webkit-border-radius: 4px; + -moz-border-radius: 4px; + border-radius: 4px; + direction: ltr; + /*.dow { + border-top: 1px solid #ddd !important; + }*/ + +} +.datepicker-inline { + width: 220px; +} +.datepicker.datepicker-rtl { + direction: rtl; +} +.datepicker.datepicker-rtl table tr td span { + float: right; +} +.datepicker-dropdown { + top: 0; + left: 0; +} +.datepicker-dropdown:before { + content: ''; + display: inline-block; + border-left: 7px solid transparent; + border-right: 7px solid transparent; + border-bottom: 7px solid #ccc; + border-bottom-color: rgba(0, 0, 0, 0.2); + position: absolute; + top: -7px; + left: 6px; +} +.datepicker-dropdown:after { + content: ''; + display: inline-block; + border-left: 6px solid transparent; + border-right: 6px solid transparent; + border-bottom: 6px solid #ffffff; + position: absolute; + top: -6px; + left: 7px; +} +.datepicker > div { + display: none; +} +.datepicker.days div.datepicker-days { + display: block; +} +.datepicker.months div.datepicker-months { + display: block; +} +.datepicker.years div.datepicker-years { + display: block; +} +.datepicker table { + margin: 0; +} +.datepicker td, +.datepicker th { + text-align: center; + width: 20px; + height: 20px; + -webkit-border-radius: 4px; + -moz-border-radius: 4px; + border-radius: 4px; + border: none; +} +.table-striped .datepicker table tr td, +.table-striped .datepicker table tr th { + background-color: transparent; +} +.datepicker table tr td.day:hover { + background: #eeeeee; + cursor: pointer; +} +.datepicker table tr td.old, +.datepicker table tr td.new { + color: #999999; +} +.datepicker table tr td.disabled, +.datepicker table tr td.disabled:hover { + background: none; + color: #999999; + cursor: default; +} +.datepicker table tr td.today, +.datepicker table tr td.today:hover, +.datepicker table tr td.today.disabled, +.datepicker table tr td.today.disabled:hover { + background-color: #fde19a; + background-image: -moz-linear-gradient(top, #fdd49a, #fdf59a); + background-image: -ms-linear-gradient(top, #fdd49a, #fdf59a); + background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#fdd49a), to(#fdf59a)); + background-image: -webkit-linear-gradient(top, #fdd49a, #fdf59a); + background-image: -o-linear-gradient(top, #fdd49a, #fdf59a); + background-image: linear-gradient(top, #fdd49a, #fdf59a); + background-repeat: repeat-x; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fdd49a', endColorstr='#fdf59a', GradientType=0); + border-color: #fdf59a #fdf59a #fbed50; + border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25); + filter: progid:DXImageTransform.Microsoft.gradient(enabled=false); + color: #000; +} +.datepicker table tr td.today:hover, +.datepicker table tr td.today:hover:hover, +.datepicker table tr td.today.disabled:hover, +.datepicker table tr td.today.disabled:hover:hover, +.datepicker table tr td.today:active, +.datepicker table tr td.today:hover:active, +.datepicker table tr td.today.disabled:active, +.datepicker table tr td.today.disabled:hover:active, +.datepicker table tr td.today.active, +.datepicker table tr td.today:hover.active, +.datepicker table tr td.today.disabled.active, +.datepicker table tr td.today.disabled:hover.active, +.datepicker table tr td.today.disabled, +.datepicker table tr td.today:hover.disabled, +.datepicker table tr td.today.disabled.disabled, +.datepicker table tr td.today.disabled:hover.disabled, +.datepicker table tr td.today[disabled], +.datepicker table tr td.today:hover[disabled], +.datepicker table tr td.today.disabled[disabled], +.datepicker table tr td.today.disabled:hover[disabled] { + background-color: #fdf59a; +} +.datepicker table tr td.today:active, +.datepicker table tr td.today:hover:active, +.datepicker table tr td.today.disabled:active, +.datepicker table tr td.today.disabled:hover:active, +.datepicker table tr td.today.active, +.datepicker table tr td.today:hover.active, +.datepicker table tr td.today.disabled.active, +.datepicker table tr td.today.disabled:hover.active { + background-color: #fbf069 \9; +} +.datepicker table tr td.today:hover:hover { + color: #000; +} +.datepicker table tr td.today.active:hover { + color: #fff; +} +.datepicker table tr td.range, +.datepicker table tr td.range:hover, +.datepicker table tr td.range.disabled, +.datepicker table tr td.range.disabled:hover { + background: #eeeeee; + -webkit-border-radius: 0; + -moz-border-radius: 0; + border-radius: 0; +} +.datepicker table tr td.range.today, +.datepicker table tr td.range.today:hover, +.datepicker table tr td.range.today.disabled, +.datepicker table tr td.range.today.disabled:hover { + background-color: #f3d17a; + background-image: -moz-linear-gradient(top, #f3c17a, #f3e97a); + background-image: -ms-linear-gradient(top, #f3c17a, #f3e97a); + background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#f3c17a), to(#f3e97a)); + background-image: -webkit-linear-gradient(top, #f3c17a, #f3e97a); + background-image: -o-linear-gradient(top, #f3c17a, #f3e97a); + background-image: linear-gradient(top, #f3c17a, #f3e97a); + background-repeat: repeat-x; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#f3c17a', endColorstr='#f3e97a', GradientType=0); + border-color: #f3e97a #f3e97a #edde34; + border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25); + filter: progid:DXImageTransform.Microsoft.gradient(enabled=false); + -webkit-border-radius: 0; + -moz-border-radius: 0; + border-radius: 0; +} +.datepicker table tr td.range.today:hover, +.datepicker table tr td.range.today:hover:hover, +.datepicker table tr td.range.today.disabled:hover, +.datepicker table tr td.range.today.disabled:hover:hover, +.datepicker table tr td.range.today:active, +.datepicker table tr td.range.today:hover:active, +.datepicker table tr td.range.today.disabled:active, +.datepicker table tr td.range.today.disabled:hover:active, +.datepicker table tr td.range.today.active, +.datepicker table tr td.range.today:hover.active, +.datepicker table tr td.range.today.disabled.active, +.datepicker table tr td.range.today.disabled:hover.active, +.datepicker table tr td.range.today.disabled, +.datepicker table tr td.range.today:hover.disabled, +.datepicker table tr td.range.today.disabled.disabled, +.datepicker table tr td.range.today.disabled:hover.disabled, +.datepicker table tr td.range.today[disabled], +.datepicker table tr td.range.today:hover[disabled], +.datepicker table tr td.range.today.disabled[disabled], +.datepicker table tr td.range.today.disabled:hover[disabled] { + background-color: #f3e97a; +} +.datepicker table tr td.range.today:active, +.datepicker table tr td.range.today:hover:active, +.datepicker table tr td.range.today.disabled:active, +.datepicker table tr td.range.today.disabled:hover:active, +.datepicker table tr td.range.today.active, +.datepicker table tr td.range.today:hover.active, +.datepicker table tr td.range.today.disabled.active, +.datepicker table tr td.range.today.disabled:hover.active { + background-color: #efe24b \9; +} +.datepicker table tr td.selected, +.datepicker table tr td.selected:hover, +.datepicker table tr td.selected.disabled, +.datepicker table tr td.selected.disabled:hover { + background-color: #9e9e9e; + background-image: -moz-linear-gradient(top, #b3b3b3, #808080); + background-image: -ms-linear-gradient(top, #b3b3b3, #808080); + background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#b3b3b3), to(#808080)); + background-image: -webkit-linear-gradient(top, #b3b3b3, #808080); + background-image: -o-linear-gradient(top, #b3b3b3, #808080); + background-image: linear-gradient(top, #b3b3b3, #808080); + background-repeat: repeat-x; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#b3b3b3', endColorstr='#808080', GradientType=0); + border-color: #808080 #808080 #595959; + border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25); + filter: progid:DXImageTransform.Microsoft.gradient(enabled=false); + color: #fff; + text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25); +} +.datepicker table tr td.selected:hover, +.datepicker table tr td.selected:hover:hover, +.datepicker table tr td.selected.disabled:hover, +.datepicker table tr td.selected.disabled:hover:hover, +.datepicker table tr td.selected:active, +.datepicker table tr td.selected:hover:active, +.datepicker table tr td.selected.disabled:active, +.datepicker table tr td.selected.disabled:hover:active, +.datepicker table tr td.selected.active, +.datepicker table tr td.selected:hover.active, +.datepicker table tr td.selected.disabled.active, +.datepicker table tr td.selected.disabled:hover.active, +.datepicker table tr td.selected.disabled, +.datepicker table tr td.selected:hover.disabled, +.datepicker table tr td.selected.disabled.disabled, +.datepicker table tr td.selected.disabled:hover.disabled, +.datepicker table tr td.selected[disabled], +.datepicker table tr td.selected:hover[disabled], +.datepicker table tr td.selected.disabled[disabled], +.datepicker table tr td.selected.disabled:hover[disabled] { + background-color: #808080; +} +.datepicker table tr td.selected:active, +.datepicker table tr td.selected:hover:active, +.datepicker table tr td.selected.disabled:active, +.datepicker table tr td.selected.disabled:hover:active, +.datepicker table tr td.selected.active, +.datepicker table tr td.selected:hover.active, +.datepicker table tr td.selected.disabled.active, +.datepicker table tr td.selected.disabled:hover.active { + background-color: #666666 \9; +} +.datepicker table tr td.active, +.datepicker table tr td.active:hover, +.datepicker table tr td.active.disabled, +.datepicker table tr td.active.disabled:hover { + background-color: #006dcc; + background-image: -moz-linear-gradient(top, #0088cc, #0044cc); + background-image: -ms-linear-gradient(top, #0088cc, #0044cc); + background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#0088cc), to(#0044cc)); + background-image: -webkit-linear-gradient(top, #0088cc, #0044cc); + background-image: -o-linear-gradient(top, #0088cc, #0044cc); + background-image: linear-gradient(top, #0088cc, #0044cc); + background-repeat: repeat-x; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#0088cc', endColorstr='#0044cc', GradientType=0); + border-color: #0044cc #0044cc #002a80; + border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25); + filter: progid:DXImageTransform.Microsoft.gradient(enabled=false); + color: #fff; + text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25); +} +.datepicker table tr td.active:hover, +.datepicker table tr td.active:hover:hover, +.datepicker table tr td.active.disabled:hover, +.datepicker table tr td.active.disabled:hover:hover, +.datepicker table tr td.active:active, +.datepicker table tr td.active:hover:active, +.datepicker table tr td.active.disabled:active, +.datepicker table tr td.active.disabled:hover:active, +.datepicker table tr td.active.active, +.datepicker table tr td.active:hover.active, +.datepicker table tr td.active.disabled.active, +.datepicker table tr td.active.disabled:hover.active, +.datepicker table tr td.active.disabled, +.datepicker table tr td.active:hover.disabled, +.datepicker table tr td.active.disabled.disabled, +.datepicker table tr td.active.disabled:hover.disabled, +.datepicker table tr td.active[disabled], +.datepicker table tr td.active:hover[disabled], +.datepicker table tr td.active.disabled[disabled], +.datepicker table tr td.active.disabled:hover[disabled] { + background-color: #0044cc; +} +.datepicker table tr td.active:active, +.datepicker table tr td.active:hover:active, +.datepicker table tr td.active.disabled:active, +.datepicker table tr td.active.disabled:hover:active, +.datepicker table tr td.active.active, +.datepicker table tr td.active:hover.active, +.datepicker table tr td.active.disabled.active, +.datepicker table tr td.active.disabled:hover.active { + background-color: #003399 \9; +} +.datepicker table tr td span { + display: block; + width: 23%; + height: 54px; + line-height: 54px; + float: left; + margin: 1%; + cursor: pointer; + -webkit-border-radius: 4px; + -moz-border-radius: 4px; + border-radius: 4px; +} +.datepicker table tr td span:hover { + background: #eeeeee; +} +.datepicker table tr td span.disabled, +.datepicker table tr td span.disabled:hover { + background: none; + color: #999999; + cursor: default; +} +.datepicker table tr td span.active, +.datepicker table tr td span.active:hover, +.datepicker table tr td span.active.disabled, +.datepicker table tr td span.active.disabled:hover { + background-color: #006dcc; + background-image: -moz-linear-gradient(top, #0088cc, #0044cc); + background-image: -ms-linear-gradient(top, #0088cc, #0044cc); + background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#0088cc), to(#0044cc)); + background-image: -webkit-linear-gradient(top, #0088cc, #0044cc); + background-image: -o-linear-gradient(top, #0088cc, #0044cc); + background-image: linear-gradient(top, #0088cc, #0044cc); + background-repeat: repeat-x; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#0088cc', endColorstr='#0044cc', GradientType=0); + border-color: #0044cc #0044cc #002a80; + border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25); + filter: progid:DXImageTransform.Microsoft.gradient(enabled=false); + color: #fff; + text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25); +} +.datepicker table tr td span.active:hover, +.datepicker table tr td span.active:hover:hover, +.datepicker table tr td span.active.disabled:hover, +.datepicker table tr td span.active.disabled:hover:hover, +.datepicker table tr td span.active:active, +.datepicker table tr td span.active:hover:active, +.datepicker table tr td span.active.disabled:active, +.datepicker table tr td span.active.disabled:hover:active, +.datepicker table tr td span.active.active, +.datepicker table tr td span.active:hover.active, +.datepicker table tr td span.active.disabled.active, +.datepicker table tr td span.active.disabled:hover.active, +.datepicker table tr td span.active.disabled, +.datepicker table tr td span.active:hover.disabled, +.datepicker table tr td span.active.disabled.disabled, +.datepicker table tr td span.active.disabled:hover.disabled, +.datepicker table tr td span.active[disabled], +.datepicker table tr td span.active:hover[disabled], +.datepicker table tr td span.active.disabled[disabled], +.datepicker table tr td span.active.disabled:hover[disabled] { + background-color: #0044cc; +} +.datepicker table tr td span.active:active, +.datepicker table tr td span.active:hover:active, +.datepicker table tr td span.active.disabled:active, +.datepicker table tr td span.active.disabled:hover:active, +.datepicker table tr td span.active.active, +.datepicker table tr td span.active:hover.active, +.datepicker table tr td span.active.disabled.active, +.datepicker table tr td span.active.disabled:hover.active { + background-color: #003399 \9; +} +.datepicker table tr td span.old, +.datepicker table tr td span.new { + color: #999999; +} +.datepicker th.datepicker-switch { + width: 145px; +} +.datepicker thead tr:first-child th, +.datepicker tfoot tr th { + cursor: pointer; +} +.datepicker thead tr:first-child th:hover, +.datepicker tfoot tr th:hover { + background: #eeeeee; +} +.datepicker .cw { + font-size: 10px; + width: 12px; + padding: 0 2px 0 5px; + vertical-align: middle; +} +.datepicker thead tr:first-child th.cw { + cursor: default; + background-color: transparent; +} +.input-append.date .add-on i, +.input-prepend.date .add-on i { + display: block; + cursor: pointer; + width: 16px; + height: 16px; +} +.input-daterange input { + text-align: center; +} +.input-daterange input:first-child { + -webkit-border-radius: 3px 0 0 3px; + -moz-border-radius: 3px 0 0 3px; + border-radius: 3px 0 0 3px; +} +.input-daterange input:last-child { + -webkit-border-radius: 0 3px 3px 0; + -moz-border-radius: 0 3px 3px 0; + border-radius: 0 3px 3px 0; +} +.input-daterange .add-on { + display: inline-block; + width: auto; + min-width: 16px; + height: 18px; + padding: 4px 5px; + font-weight: normal; + line-height: 18px; + text-align: center; + text-shadow: 0 1px 0 #ffffff; + vertical-align: middle; + background-color: #eeeeee; + border: 1px solid #ccc; + margin-left: -5px; + margin-right: -5px; +} diff --git a/src/demo/manager/src/main/webapp/assets/css/bootstrap-select.css b/src/demo/manager/src/main/webapp/assets/css/bootstrap-select.css new file mode 100644 index 00000000..bcfe54ea --- /dev/null +++ b/src/demo/manager/src/main/webapp/assets/css/bootstrap-select.css @@ -0,0 +1,278 @@ +/*! + * bootstrap-select v1.4.3 + * http://silviomoreto.github.io/bootstrap-select/ + * + * Copyright 2013 bootstrap-select + * Licensed under the MIT license + */ + +.bootstrap-select.btn-group, +.bootstrap-select.btn-group[class*="span"] { + float: none; + display: inline-block; + margin-bottom: 10px; + margin-left: 0; +} +.form-search .bootstrap-select.btn-group, +.form-inline .bootstrap-select.btn-group, +.form-horizontal .bootstrap-select.btn-group { + margin-bottom: 0; +} + +.bootstrap-select.form-control { + margin-bottom: 0; + padding: 0; + border: none; +} + +.bootstrap-select.btn-group.pull-right, +.bootstrap-select.btn-group[class*="span"].pull-right, +.row-fluid .bootstrap-select.btn-group[class*="span"].pull-right { + float: right; +} + +.input-append .bootstrap-select.btn-group { + margin-left: -1px; +} + +.input-prepend .bootstrap-select.btn-group { + margin-right: -1px; +} + +.bootstrap-select:not([class*="span"]):not([class*="col-"]):not([class*="form-control"]) { + width: 220px; +} + +.bootstrap-select { + /*width: 220px\9; IE8 and below*/ + width: 220px\0; /*IE9 and below*/ +} + +.bootstrap-select.form-control:not([class*="span"]) { + width: 100%; +} + +.bootstrap-select > .btn { + width: 100%; +} + +.error .bootstrap-select .btn { + border: 1px solid #b94a48; +} + + +.dropdown-menu { + z-index: 2000; +} + +.bootstrap-select.show-menu-arrow.open > .btn { + z-index: 2051; +} + +.bootstrap-select .btn:focus { + outline: thin dotted #333333 !important; + outline: 5px auto -webkit-focus-ring-color !important; + outline-offset: -2px; +} + +.bootstrap-select.btn-group .btn .filter-option { + overflow: hidden; + position: absolute; + left: 12px; + right: 25px; + text-align: left; +} + +.bootstrap-select.btn-group .btn .caret { + position: absolute; + top: 50%; + right: 12px; + margin-top: -2px; + vertical-align: middle; +} + +.bootstrap-select.btn-group > .disabled, +.bootstrap-select.btn-group .dropdown-menu li.disabled > a { + cursor: not-allowed; +} + +.bootstrap-select.btn-group > .disabled:focus { + outline: none !important; +} + +.bootstrap-select.btn-group[class*="span"] .btn { + width: 100%; +} + +.bootstrap-select.btn-group .dropdown-menu { + min-width: 100%; + -moz-box-sizing: border-box; + -webkit-box-sizing: border-box; + box-sizing: border-box; +} + +.bootstrap-select.btn-group .dropdown-menu.inner { + position: static; + border: 0; + padding: 0; + margin: 0; + -webkit-border-radius: 0; + -moz-border-radius: 0; + border-radius: 0; + -webkit-box-shadow: none; + -moz-box-shadow: none; + box-shadow: none; +} + +.bootstrap-select.btn-group .dropdown-menu dt { + display: block; + padding: 3px 20px; + cursor: default; +} + +.bootstrap-select.btn-group .div-contain { + overflow: hidden; +} + +.bootstrap-select.btn-group .dropdown-menu li { + position: relative; +} + +.bootstrap-select.btn-group .dropdown-menu li > a.opt { + position: relative; + padding-left: 35px; +} + +.bootstrap-select.btn-group .dropdown-menu li > a { + cursor: pointer; +} + +.bootstrap-select.btn-group .dropdown-menu li > dt small { + font-weight: normal; +} + +.bootstrap-select.btn-group.show-tick .dropdown-menu li.selected a i.check-mark { + display: inline-block; + position: absolute; + right: 15px; + margin-top: 2.5px; +} + +.bootstrap-select.btn-group .dropdown-menu li a i.check-mark { + display: none; +} + +.bootstrap-select.btn-group.show-tick .dropdown-menu li a span.text { + margin-right: 34px; +} + +.bootstrap-select.btn-group .dropdown-menu li small { + padding-left: 0.5em; +} + +.bootstrap-select.btn-group .dropdown-menu li:not(.disabled) > a:hover small, +.bootstrap-select.btn-group .dropdown-menu li:not(.disabled) > a:focus small, +.bootstrap-select.btn-group .dropdown-menu li.active:not(.disabled) > a small { + color: #64b1d8; + color: rgba(255,255,255,0.4); +} + +.bootstrap-select.btn-group .dropdown-menu li > dt small { + font-weight: normal; +} + +.bootstrap-select.show-menu-arrow .dropdown-toggle:before { + content: ''; + display: inline-block; + border-left: 7px solid transparent; + border-right: 7px solid transparent; + border-bottom: 7px solid #CCC; + border-bottom-color: rgba(0, 0, 0, 0.2); + position: absolute; + bottom: -4px; + left: 9px; + display: none; +} + +.bootstrap-select.show-menu-arrow .dropdown-toggle:after { + content: ''; + display: inline-block; + border-left: 6px solid transparent; + border-right: 6px solid transparent; + border-bottom: 6px solid white; + position: absolute; + bottom: -4px; + left: 10px; + display: none; +} + +.bootstrap-select.show-menu-arrow.dropup .dropdown-toggle:before { + bottom: auto; + top: -3px; + border-top: 7px solid #ccc; + border-bottom: 0; + border-top-color: rgba(0, 0, 0, 0.2); +} + +.bootstrap-select.show-menu-arrow.dropup .dropdown-toggle:after { + bottom: auto; + top: -3px; + border-top: 6px solid #ffffff; + border-bottom: 0; +} + +.bootstrap-select.show-menu-arrow.pull-right .dropdown-toggle:before { + right: 12px; + left: auto; +} +.bootstrap-select.show-menu-arrow.pull-right .dropdown-toggle:after { + right: 13px; + left: auto; +} + +.bootstrap-select.show-menu-arrow.open > .dropdown-toggle:before, +.bootstrap-select.show-menu-arrow.open > .dropdown-toggle:after { + display: block; +} + +.bootstrap-select.btn-group .no-results { + padding: 3px; + background: #f5f5f5; + margin: 0 5px; +} + +.mobile-device { + position: absolute; + top: 0; + left: 0; + display: block !important; + width: 100%; + height: 100% !important; + opacity: 0; +} + +.bootstrap-select.fit-width { + width: auto !important; +} + +.bootstrap-select.btn-group.fit-width .btn .filter-option { + position: static; +} + +.bootstrap-select.btn-group.fit-width .btn .caret { + position: static; + top: auto; + margin-top: -1px; +} + +.control-group.error .bootstrap-select .dropdown-toggle{ + border-color: #b94a48; +} + +.bootstrap-select-searchbox { + padding: 4px 8px; +} + +.bootstrap-select-searchbox input { + margin-bottom: 0; +} diff --git a/src/demo/manager/src/main/webapp/assets/css/bootstrap-select.min.css b/src/demo/manager/src/main/webapp/assets/css/bootstrap-select.min.css new file mode 100644 index 00000000..603804e2 --- /dev/null +++ b/src/demo/manager/src/main/webapp/assets/css/bootstrap-select.min.css @@ -0,0 +1,7 @@ +/*! + * bootstrap-select v1.4.3 + * http://silviomoreto.github.io/bootstrap-select/ + * + * Copyright 2013 bootstrap-select + * Licensed under the MIT license + */.bootstrap-select.btn-group,.bootstrap-select.btn-group[class*="span"]{float:none;display:inline-block;margin-bottom:10px;margin-left:0}.form-search .bootstrap-select.btn-group,.form-inline .bootstrap-select.btn-group,.form-horizontal .bootstrap-select.btn-group{margin-bottom:0}.bootstrap-select.form-control{margin-bottom:0;padding:0;border:0}.bootstrap-select.btn-group.pull-right,.bootstrap-select.btn-group[class*="span"].pull-right,.row-fluid .bootstrap-select.btn-group[class*="span"].pull-right{float:right}.input-append .bootstrap-select.btn-group{margin-left:-1px}.input-prepend .bootstrap-select.btn-group{margin-right:-1px}.bootstrap-select:not([class*="span"]):not([class*="col-"]):not([class*="form-control"]){width:220px}.bootstrap-select{width:220px\0}.bootstrap-select.form-control:not([class*="span"]){width:100%}.bootstrap-select>.btn{width:100%}.error .bootstrap-select .btn{border:1px solid #b94a48}.dropdown-menu{z-index:2000}.bootstrap-select.show-menu-arrow.open>.btn{z-index:2051}.bootstrap-select .btn:focus{outline:thin dotted #333 !important;outline:5px auto -webkit-focus-ring-color !important;outline-offset:-2px}.bootstrap-select.btn-group .btn .filter-option{overflow:hidden;position:absolute;left:12px;right:25px;text-align:left}.bootstrap-select.btn-group .btn .caret{position:absolute;top:50%;right:12px;margin-top:-2px;vertical-align:middle}.bootstrap-select.btn-group>.disabled,.bootstrap-select.btn-group .dropdown-menu li.disabled>a{cursor:not-allowed}.bootstrap-select.btn-group>.disabled:focus{outline:none !important}.bootstrap-select.btn-group[class*="span"] .btn{width:100%}.bootstrap-select.btn-group .dropdown-menu{min-width:100%;-moz-box-sizing:border-box;-webkit-box-sizing:border-box;box-sizing:border-box}.bootstrap-select.btn-group .dropdown-menu.inner{position:static;border:0;padding:0;margin:0;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0;-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none}.bootstrap-select.btn-group .dropdown-menu dt{display:block;padding:3px 20px;cursor:default}.bootstrap-select.btn-group .div-contain{overflow:hidden}.bootstrap-select.btn-group .dropdown-menu li{position:relative}.bootstrap-select.btn-group .dropdown-menu li>a.opt{position:relative;padding-left:35px}.bootstrap-select.btn-group .dropdown-menu li>a{cursor:pointer}.bootstrap-select.btn-group .dropdown-menu li>dt small{font-weight:normal}.bootstrap-select.btn-group.show-tick .dropdown-menu li.selected a i.check-mark{display:inline-block;position:absolute;right:15px;margin-top:2.5px}.bootstrap-select.btn-group .dropdown-menu li a i.check-mark{display:none}.bootstrap-select.btn-group.show-tick .dropdown-menu li a span.text{margin-right:34px}.bootstrap-select.btn-group .dropdown-menu li small{padding-left:.5em}.bootstrap-select.btn-group .dropdown-menu li:not(.disabled)>a:hover small,.bootstrap-select.btn-group .dropdown-menu li:not(.disabled)>a:focus small,.bootstrap-select.btn-group .dropdown-menu li.active:not(.disabled)>a small{color:#64b1d8;color:rgba(255,255,255,0.4)}.bootstrap-select.btn-group .dropdown-menu li>dt small{font-weight:normal}.bootstrap-select.show-menu-arrow .dropdown-toggle:before{content:'';display:inline-block;border-left:7px solid transparent;border-right:7px solid transparent;border-bottom:7px solid #CCC;border-bottom-color:rgba(0,0,0,0.2);position:absolute;bottom:-4px;left:9px;display:none}.bootstrap-select.show-menu-arrow .dropdown-toggle:after{content:'';display:inline-block;border-left:6px solid transparent;border-right:6px solid transparent;border-bottom:6px solid white;position:absolute;bottom:-4px;left:10px;display:none}.bootstrap-select.show-menu-arrow.dropup .dropdown-toggle:before{bottom:auto;top:-3px;border-top:7px solid #ccc;border-bottom:0;border-top-color:rgba(0,0,0,0.2)}.bootstrap-select.show-menu-arrow.dropup .dropdown-toggle:after{bottom:auto;top:-3px;border-top:6px solid #fff;border-bottom:0}.bootstrap-select.show-menu-arrow.pull-right .dropdown-toggle:before{right:12px;left:auto}.bootstrap-select.show-menu-arrow.pull-right .dropdown-toggle:after{right:13px;left:auto}.bootstrap-select.show-menu-arrow.open>.dropdown-toggle:before,.bootstrap-select.show-menu-arrow.open>.dropdown-toggle:after{display:block}.bootstrap-select.btn-group .no-results{padding:3px;background:#f5f5f5;margin:0 5px}.mobile-device{position:absolute;top:0;left:0;display:block !important;width:100%;height:100% !important;opacity:0}.bootstrap-select.fit-width{width:auto !important}.bootstrap-select.btn-group.fit-width .btn .filter-option{position:static}.bootstrap-select.btn-group.fit-width .btn .caret{position:static;top:auto;margin-top:-1px}.control-group.error .bootstrap-select .dropdown-toggle{border-color:#b94a48}.bootstrap-select-searchbox{padding:4px 8px}.bootstrap-select-searchbox input{margin-bottom:0} diff --git a/src/demo/manager/src/main/webapp/assets/css/bootstrap-table-reorder-rows.min.css b/src/demo/manager/src/main/webapp/assets/css/bootstrap-table-reorder-rows.min.css new file mode 100644 index 00000000..7e2eac49 --- /dev/null +++ b/src/demo/manager/src/main/webapp/assets/css/bootstrap-table-reorder-rows.min.css @@ -0,0 +1 @@ +.reorder_rows_onDragClass td{background-color:#eee;-webkit-box-shadow:11px 5px 12px 2px #333,0 1px 0 #ccc inset,0 -1px 0 #ccc inset;-webkit-box-shadow:6px 3px 5px #555,0 1px 0 #ccc inset,0 -1px 0 #ccc inset;-moz-box-shadow:6px 4px 5px 1px #555,0 1px 0 #ccc inset,0 -1px 0 #ccc inset;-box-shadow:6px 4px 5px 1px #555,0 1px 0 #ccc inset,0 -1px 0 #ccc inset}.reorder_rows_onDragClass td:last-child{-webkit-box-shadow:8px 7px 12px 0 #333,0 1px 0 #ccc inset,0 -1px 0 #ccc inset;-webkit-box-shadow:1px 8px 6px -4px #555,0 1px 0 #ccc inset,0 -1px 0 #ccc inset;-moz-box-shadow:0 9px 4px -4px #555,0 1px 0 #ccc inset,0 -1px 0 #ccc inset,-1px 0 0 #ccc inset;-box-shadow:0 9px 4px -4px #555,0 1px 0 #ccc inset,0 -1px 0 #ccc inset,-1px 0 0 #ccc inset} \ No newline at end of file diff --git a/src/demo/manager/src/main/webapp/assets/css/bootstrap-table.min.css b/src/demo/manager/src/main/webapp/assets/css/bootstrap-table.min.css new file mode 100644 index 00000000..d72d0655 --- /dev/null +++ b/src/demo/manager/src/main/webapp/assets/css/bootstrap-table.min.css @@ -0,0 +1 @@ +.fixed-table-container .bs-checkbox,.fixed-table-container .no-records-found{text-align:center}.fixed-table-body thead th .th-inner,.table td,.table th{box-sizing:border-box}.bootstrap-table .table{margin-bottom:0!important;border-bottom:1px solid #ddd;border-collapse:collapse!important;border-radius:1px}.bootstrap-table .table:not(.table-condensed),.bootstrap-table .table:not(.table-condensed)>tbody>tr>td,.bootstrap-table .table:not(.table-condensed)>tbody>tr>th,.bootstrap-table .table:not(.table-condensed)>tfoot>tr>td,.bootstrap-table .table:not(.table-condensed)>tfoot>tr>th,.bootstrap-table .table:not(.table-condensed)>thead>tr>td{padding:8px}.bootstrap-table .table.table-no-bordered>tbody>tr>td,.bootstrap-table .table.table-no-bordered>thead>tr>th{border-right:2px solid transparent}.bootstrap-table .table.table-no-bordered>tbody>tr>td:last-child{border-right:none}.fixed-table-container{position:relative;clear:both;border:1px solid #ddd;border-radius:4px;-webkit-border-radius:4px;-moz-border-radius:4px}.fixed-table-container.table-no-bordered{border:1px solid transparent}.fixed-table-footer,.fixed-table-header{overflow:hidden}.fixed-table-footer{border-top:1px solid #ddd}.fixed-table-body{overflow-x:auto;overflow-y:auto;height:100%}.fixed-table-container table{width:100%}.fixed-table-container thead th{height:0;padding:0;margin:0;border-left:1px solid #ddd}.fixed-table-container thead th:focus{outline:transparent solid 0}.fixed-table-container thead th:first-child{border-left:none;border-top-left-radius:4px;-webkit-border-top-left-radius:4px;-moz-border-radius-topleft:4px}.fixed-table-container tbody td .th-inner,.fixed-table-container thead th .th-inner{padding:8px;line-height:24px;vertical-align:top;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fixed-table-container thead th .sortable{cursor:pointer;background-position:right;background-repeat:no-repeat;padding-right:30px}.fixed-table-container thead th .both{background-image:url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABMAAAATCAQAAADYWf5HAAAAkElEQVQoz7X QMQ5AQBCF4dWQSJxC5wwax1Cq1e7BAdxD5SL+Tq/QCM1oNiJidwox0355mXnG/DrEtIQ6azioNZQxI0ykPhTQIwhCR+BmBYtlK7kLJYwWCcJA9M4qdrZrd8pPjZWPtOqdRQy320YSV17OatFC4euts6z39GYMKRPCTKY9UnPQ6P+GtMRfGtPnBCiqhAeJPmkqAAAAAElFTkSuQmCC')}.fixed-table-container thead th .asc{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABMAAAATCAYAAAByUDbMAAAAZ0lEQVQ4y2NgGLKgquEuFxBPAGI2ahhWCsS/gDibUoO0gPgxEP8H4ttArEyuQYxAPBdqEAxPBImTY5gjEL9DM+wTENuQahAvEO9DMwiGdwAxOymGJQLxTyD+jgWDxCMZRsEoGAVoAADeemwtPcZI2wAAAABJRU5ErkJggg==)}.fixed-table-container thead th .desc{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABMAAAATCAYAAAByUDbMAAAAZUlEQVQ4y2NgGAWjYBSggaqGu5FA/BOIv2PBIPFEUgxjB+IdQPwfC94HxLykus4GiD+hGfQOiB3J8SojEE9EM2wuSJzcsFMG4ttQgx4DsRalkZENxL+AuJQaMcsGxBOAmGvopk8AVz1sLZgg0bsAAAAASUVORK5CYII=)}.fixed-table-container th.detail{width:30px}.fixed-table-container tbody td{border-left:1px solid #ddd}.fixed-table-container tbody tr:first-child td{border-top:none}.fixed-table-container tbody td:first-child{border-left:none}.fixed-table-container tbody .selected td{background-color:#f5f5f5}.fixed-table-container .bs-checkbox .th-inner{padding:8px 0}.fixed-table-container input[type=radio],.fixed-table-container input[type=checkbox]{margin:0 auto!important}.fixed-table-pagination .pagination-detail,.fixed-table-pagination div.pagination{margin-top:10px;margin-bottom:10px}.fixed-table-pagination div.pagination .pagination{margin:0}.fixed-table-pagination .pagination a{padding:6px 12px;line-height:1.428571429}.fixed-table-pagination .pagination-info{line-height:34px;margin-right:5px}.fixed-table-pagination .btn-group{position:relative;display:inline-block;vertical-align:middle}.fixed-table-pagination .dropup .dropdown-menu{margin-bottom:0}.fixed-table-pagination .page-list{display:inline-block}.fixed-table-toolbar .columns-left{margin-right:5px}.fixed-table-toolbar .columns-right{margin-left:5px}.fixed-table-toolbar .columns label{display:block;padding:3px 20px;clear:both;font-weight:400;line-height:1.428571429}.fixed-table-toolbar .bs-bars,.fixed-table-toolbar .columns,.fixed-table-toolbar .search{position:relative;margin-top:10px;margin-bottom:10px;line-height:34px}.fixed-table-pagination li.disabled a{pointer-events:none;cursor:default}.fixed-table-loading{display:none;position:absolute;top:42px;right:0;bottom:0;left:0;z-index:99;background-color:#fff;text-align:center}.fixed-table-body .card-view .title{font-weight:700;display:inline-block;min-width:30%;text-align:left!important}.table td,.table th{vertical-align:middle}.fixed-table-toolbar .dropdown-menu{text-align:left;max-height:300px;overflow:auto}.fixed-table-toolbar .btn-group>.btn-group{display:inline-block;margin-left:-1px!important}.fixed-table-toolbar .btn-group>.btn-group>.btn{border-radius:0}.fixed-table-toolbar .btn-group>.btn-group:first-child>.btn{border-top-left-radius:4px;border-bottom-left-radius:4px}.fixed-table-toolbar .btn-group>.btn-group:last-child>.btn{border-top-right-radius:4px;border-bottom-right-radius:4px}.bootstrap-table .table>thead>tr>th{vertical-align:bottom;border-bottom:1px solid #ddd}.bootstrap-table .table thead>tr>th{padding:0;margin:0}.bootstrap-table .fixed-table-footer tbody>tr>td{padding:0!important}.bootstrap-table .fixed-table-footer .table{border-bottom:none;border-radius:0;padding:0!important}.pull-right .dropdown-menu{right:0;left:auto}p.fixed-table-scroll-inner{width:100%;height:200px}div.fixed-table-scroll-outer{top:0;left:0;visibility:hidden;width:200px;height:150px;overflow:hidden} \ No newline at end of file diff --git a/src/demo/manager/src/main/webapp/assets/css/bootstrap-tagsinput-typeahead.css b/src/demo/manager/src/main/webapp/assets/css/bootstrap-tagsinput-typeahead.css new file mode 100644 index 00000000..537cf9c9 --- /dev/null +++ b/src/demo/manager/src/main/webapp/assets/css/bootstrap-tagsinput-typeahead.css @@ -0,0 +1,54 @@ +/* + * bootstrap-tagsinput v0.8.0 + * + */ + +.twitter-typeahead .tt-query, +.twitter-typeahead .tt-hint { + margin-bottom: 0; +} + +.twitter-typeahead .tt-hint +{ + display: none; +} + +.tt-menu { + position: absolute; + top: 100%; + left: 0; + z-index: 1000; + display: none; + float: left; + min-width: 160px; + padding: 5px 0; + margin: 2px 0 0; + list-style: none; + font-size: 14px; + background-color: #ffffff; + border: 1px solid #cccccc; + border: 1px solid rgba(0, 0, 0, 0.15); + border-radius: 4px; + -webkit-box-shadow: 0 6px 12px rgba(0, 0, 0, 0.175); + box-shadow: 0 6px 12px rgba(0, 0, 0, 0.175); + background-clip: padding-box; + cursor: pointer; +} + +.tt-suggestion { + display: block; + padding: 3px 20px; + clear: both; + font-weight: normal; + line-height: 1.428571429; + color: #333333; + white-space: nowrap; +} + +.tt-suggestion:hover, +.tt-suggestion:focus { + color: #ffffff; + text-decoration: none; + outline: 0; + background-color: #428bca; +} diff --git a/src/demo/manager/src/main/webapp/assets/css/bootstrap-tagsinput.css b/src/demo/manager/src/main/webapp/assets/css/bootstrap-tagsinput.css new file mode 100644 index 00000000..7fced300 --- /dev/null +++ b/src/demo/manager/src/main/webapp/assets/css/bootstrap-tagsinput.css @@ -0,0 +1,60 @@ +/* + * bootstrap-tagsinput v0.8.0 + * + */ + +.bootstrap-tagsinput { + background-color: #fff; + border: 1px solid #ccc; + box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); + display: inline-block; + padding: 4px 6px; + color: #555; + vertical-align: middle; + border-radius: 4px; + max-width: 100%; + line-height: 22px; + cursor: text; +} +.bootstrap-tagsinput input { + border: none; + box-shadow: none; + outline: none; + background-color: transparent; + padding: 0 6px; + margin: 0; + width: auto; + max-width: inherit; +} +.bootstrap-tagsinput.form-control input::-moz-placeholder { + color: #777; + opacity: 1; +} +.bootstrap-tagsinput.form-control input:-ms-input-placeholder { + color: #777; +} +.bootstrap-tagsinput.form-control input::-webkit-input-placeholder { + color: #777; +} +.bootstrap-tagsinput input:focus { + border: none; + box-shadow: none; +} +.bootstrap-tagsinput .tag { + margin-right: 2px; + color: white; +} +.bootstrap-tagsinput .tag [data-role="remove"] { + margin-left: 8px; + cursor: pointer; +} +.bootstrap-tagsinput .tag [data-role="remove"]:after { + content: "x"; + padding: 0px 2px; +} +.bootstrap-tagsinput .tag [data-role="remove"]:hover { + box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05); +} +.bootstrap-tagsinput .tag [data-role="remove"]:hover:active { + box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); +} diff --git a/src/demo/manager/src/main/webapp/assets/css/bootstrap.css b/src/demo/manager/src/main/webapp/assets/css/bootstrap.css new file mode 100644 index 00000000..424edbbe --- /dev/null +++ b/src/demo/manager/src/main/webapp/assets/css/bootstrap.css @@ -0,0 +1,6262 @@ +/*! + * Bootstrap v3.2.0 (http://getbootstrap.com) + * Copyright 2011-2014 Twitter, Inc. + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) + */ + +/*! normalize.css v3.0.1 | MIT License | git.io/normalize */ +html { + font-family: sans-serif; + -webkit-text-size-adjust: 100%; + -ms-text-size-adjust: 100%; +} +body { + margin: 0; +} +article, +aside, +details, +figcaption, +figure, +footer, +header, +hgroup, +main, +nav, +section, +summary { + display: block; +} +audio, +canvas, +progress, +video { + display: inline-block; + vertical-align: baseline; +} +audio:not([controls]) { + display: none; + height: 0; +} +[hidden], +template { + display: none; +} +a { + background: transparent; +} +a:active, +a:hover { + outline: 0; +} +abbr[title] { + border-bottom: 1px dotted; +} +b, +strong { + font-weight: bold; +} +dfn { + font-style: italic; +} +h1 { + margin: .67em 0; + font-size: 2em; +} +mark { + color: #000; + background: #ff0; +} +small { + font-size: 80%; +} +sub, +sup { + position: relative; + font-size: 75%; + line-height: 0; + vertical-align: baseline; +} +sup { + top: -.5em; +} +sub { + bottom: -.25em; +} +img { + border: 0; +} +svg:not(:root) { + overflow: hidden; +} +figure { + margin: 1em 40px; +} +hr { + height: 0; + -webkit-box-sizing: content-box; + -moz-box-sizing: content-box; + box-sizing: content-box; +} +pre { + overflow: auto; +} +code, +kbd, +pre, +samp { + font-family: monospace, monospace; + font-size: 1em; +} +button, +input, +optgroup, +select, +textarea { + margin: 0; + font: inherit; + color: inherit; +} +button { + overflow: visible; +} +button, +select { + text-transform: none; +} +button, +html input[type="button"], +input[type="reset"], +input[type="submit"] { + -webkit-appearance: button; + cursor: pointer; +} +button[disabled], +html input[disabled] { + cursor: default; +} +button::-moz-focus-inner, +input::-moz-focus-inner { + padding: 0; + border: 0; +} +input { + line-height: normal; +} +input[type="checkbox"], +input[type="radio"] { + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; + padding: 0; +} +input[type="number"]::-webkit-inner-spin-button, +input[type="number"]::-webkit-outer-spin-button { + height: auto; +} +input[type="search"] { + -webkit-box-sizing: content-box; + -moz-box-sizing: content-box; + box-sizing: content-box; + -webkit-appearance: textfield; +} +input[type="search"]::-webkit-search-cancel-button, +input[type="search"]::-webkit-search-decoration { + -webkit-appearance: none; +} +fieldset { + padding: .35em .625em .75em; + margin: 0 2px; + border: 1px solid #c0c0c0; +} +legend { + padding: 0; + border: 0; +} +textarea { + overflow: auto; +} +optgroup { + font-weight: bold; +} +table { + border-spacing: 0; + border-collapse: collapse; +} +td, +th { + padding: 0; +} +@media print { + * { + color: #000 !important; + text-shadow: none !important; + background: transparent !important; + -webkit-box-shadow: none !important; + box-shadow: none !important; + } + a, + a:visited { + text-decoration: underline; + } + a[href]:after { + content: " (" attr(href) ")"; + } + abbr[title]:after { + content: " (" attr(title) ")"; + } + a[href^="javascript:"]:after, + a[href^="#"]:after { + content: ""; + } + pre, + blockquote { + border: 1px solid #999; + + page-break-inside: avoid; + } + thead { + display: table-header-group; + } + tr, + img { + page-break-inside: avoid; + } + img { + max-width: 100% !important; + } + p, + h2, + h3 { + orphans: 3; + widows: 3; + } + h2, + h3 { + page-break-after: avoid; + } + select { + background: #fff !important; + } + .navbar { + display: none; + } + .table td, + .table th { + background-color: #fff !important; + } + .btn > .caret, + .dropup > .btn > .caret { + border-top-color: #000 !important; + } + .label { + border: 1px solid #000; + } + .table { + border-collapse: collapse !important; + } + .table-bordered th, + .table-bordered td { + border: 1px solid #ddd !important; + } +} +@font-face { + font-family: 'Glyphicons Halflings'; + + src: url('../fonts/glyphicons-halflings-regular.eot'); + src: url('../fonts/glyphicons-halflings-regular.eot?#iefix') format('embedded-opentype'), url('../fonts/glyphicons-halflings-regular.woff') format('woff'), url('../fonts/glyphicons-halflings-regular.ttf') format('truetype'), url('../fonts/glyphicons-halflings-regular.svg#glyphicons_halflingsregular') format('svg'); +} +.glyphicon { + position: relative; + top: 1px; + display: inline-block; + font-family: 'Glyphicons Halflings'; + font-style: normal; + font-weight: normal; + line-height: 1; + + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; +} +.glyphicon-asterisk:before { + content: "\2a"; +} +.glyphicon-plus:before { + content: "\2b"; +} +.glyphicon-euro:before { + content: "\20ac"; +} +.glyphicon-minus:before { + content: "\2212"; +} +.glyphicon-cloud:before { + content: "\2601"; +} +.glyphicon-envelope:before { + content: "\2709"; +} +.glyphicon-pencil:before { + content: "\270f"; +} +.glyphicon-glass:before { + content: "\e001"; +} +.glyphicon-music:before { + content: "\e002"; +} +.glyphicon-search:before { + content: "\e003"; +} +.glyphicon-heart:before { + content: "\e005"; +} +.glyphicon-star:before { + content: "\e006"; +} +.glyphicon-star-empty:before { + content: "\e007"; +} +.glyphicon-user:before { + content: "\e008"; +} +.glyphicon-film:before { + content: "\e009"; +} +.glyphicon-th-large:before { + content: "\e010"; +} +.glyphicon-th:before { + content: "\e011"; +} +.glyphicon-th-list:before { + content: "\e012"; +} +.glyphicon-ok:before { + content: "\e013"; +} +.glyphicon-remove:before { + content: "\e014"; +} +.glyphicon-zoom-in:before { + content: "\e015"; +} +.glyphicon-zoom-out:before { + content: "\e016"; +} +.glyphicon-off:before { + content: "\e017"; +} +.glyphicon-signal:before { + content: "\e018"; +} +.glyphicon-cog:before { + content: "\e019"; +} +.glyphicon-trash:before { + content: "\e020"; +} +.glyphicon-home:before { + content: "\e021"; +} +.glyphicon-file:before { + content: "\e022"; +} +.glyphicon-time:before { + content: "\e023"; +} +.glyphicon-road:before { + content: "\e024"; +} +.glyphicon-download-alt:before { + content: "\e025"; +} +.glyphicon-download:before { + content: "\e026"; +} +.glyphicon-upload:before { + content: "\e027"; +} +.glyphicon-inbox:before { + content: "\e028"; +} +.glyphicon-play-circle:before { + content: "\e029"; +} +.glyphicon-repeat:before { + content: "\e030"; +} +.glyphicon-refresh:before { + content: "\e031"; +} +.glyphicon-list-alt:before { + content: "\e032"; +} +.glyphicon-lock:before { + content: "\e033"; +} +.glyphicon-flag:before { + content: "\e034"; +} +.glyphicon-headphones:before { + content: "\e035"; +} +.glyphicon-volume-off:before { + content: "\e036"; +} +.glyphicon-volume-down:before { + content: "\e037"; +} +.glyphicon-volume-up:before { + content: "\e038"; +} +.glyphicon-qrcode:before { + content: "\e039"; +} +.glyphicon-barcode:before { + content: "\e040"; +} +.glyphicon-tag:before { + content: "\e041"; +} +.glyphicon-tags:before { + content: "\e042"; +} +.glyphicon-book:before { + content: "\e043"; +} +.glyphicon-bookmark:before { + content: "\e044"; +} +.glyphicon-print:before { + content: "\e045"; +} +.glyphicon-camera:before { + content: "\e046"; +} +.glyphicon-font:before { + content: "\e047"; +} +.glyphicon-bold:before { + content: "\e048"; +} +.glyphicon-italic:before { + content: "\e049"; +} +.glyphicon-text-height:before { + content: "\e050"; +} +.glyphicon-text-width:before { + content: "\e051"; +} +.glyphicon-align-left:before { + content: "\e052"; +} +.glyphicon-align-center:before { + content: "\e053"; +} +.glyphicon-align-right:before { + content: "\e054"; +} +.glyphicon-align-justify:before { + content: "\e055"; +} +.glyphicon-list:before { + content: "\e056"; +} +.glyphicon-indent-left:before { + content: "\e057"; +} +.glyphicon-indent-right:before { + content: "\e058"; +} +.glyphicon-facetime-video:before { + content: "\e059"; +} +.glyphicon-picture:before { + content: "\e060"; +} +.glyphicon-map-marker:before { + content: "\e062"; +} +.glyphicon-adjust:before { + content: "\e063"; +} +.glyphicon-tint:before { + content: "\e064"; +} +.glyphicon-edit:before { + content: "\e065"; +} +.glyphicon-share:before { + content: "\e066"; +} +.glyphicon-check:before { + content: "\e067"; +} +.glyphicon-move:before { + content: "\e068"; +} +.glyphicon-step-backward:before { + content: "\e069"; +} +.glyphicon-fast-backward:before { + content: "\e070"; +} +.glyphicon-backward:before { + content: "\e071"; +} +.glyphicon-play:before { + content: "\e072"; +} +.glyphicon-pause:before { + content: "\e073"; +} +.glyphicon-stop:before { + content: "\e074"; +} +.glyphicon-forward:before { + content: "\e075"; +} +.glyphicon-fast-forward:before { + content: "\e076"; +} +.glyphicon-step-forward:before { + content: "\e077"; +} +.glyphicon-eject:before { + content: "\e078"; +} +.glyphicon-chevron-left:before { + content: "\e079"; +} +.glyphicon-chevron-right:before { + content: "\e080"; +} +.glyphicon-plus-sign:before { + content: "\e081"; +} +.glyphicon-minus-sign:before { + content: "\e082"; +} +.glyphicon-remove-sign:before { + content: "\e083"; +} +.glyphicon-ok-sign:before { + content: "\e084"; +} +.glyphicon-question-sign:before { + content: "\e085"; +} +.glyphicon-info-sign:before { + content: "\e086"; +} +.glyphicon-screenshot:before { + content: "\e087"; +} +.glyphicon-remove-circle:before { + content: "\e088"; +} +.glyphicon-ok-circle:before { + content: "\e089"; +} +.glyphicon-ban-circle:before { + content: "\e090"; +} +.glyphicon-arrow-left:before { + content: "\e091"; +} +.glyphicon-arrow-right:before { + content: "\e092"; +} +.glyphicon-arrow-up:before { + content: "\e093"; +} +.glyphicon-arrow-down:before { + content: "\e094"; +} +.glyphicon-share-alt:before { + content: "\e095"; +} +.glyphicon-resize-full:before { + content: "\e096"; +} +.glyphicon-resize-small:before { + content: "\e097"; +} +.glyphicon-exclamation-sign:before { + content: "\e101"; +} +.glyphicon-gift:before { + content: "\e102"; +} +.glyphicon-leaf:before { + content: "\e103"; +} +.glyphicon-fire:before { + content: "\e104"; +} +.glyphicon-eye-open:before { + content: "\e105"; +} +.glyphicon-eye-close:before { + content: "\e106"; +} +.glyphicon-warning-sign:before { + content: "\e107"; +} +.glyphicon-plane:before { + content: "\e108"; +} +.glyphicon-calendar:before { + content: "\e109"; +} +.glyphicon-random:before { + content: "\e110"; +} +.glyphicon-comment:before { + content: "\e111"; +} +.glyphicon-magnet:before { + content: "\e112"; +} +.glyphicon-chevron-up:before { + content: "\e113"; +} +.glyphicon-chevron-down:before { + content: "\e114"; +} +.glyphicon-retweet:before { + content: "\e115"; +} +.glyphicon-shopping-cart:before { + content: "\e116"; +} +.glyphicon-folder-close:before { + content: "\e117"; +} +.glyphicon-folder-open:before { + content: "\e118"; +} +.glyphicon-resize-vertical:before { + content: "\e119"; +} +.glyphicon-resize-horizontal:before { + content: "\e120"; +} +.glyphicon-hdd:before { + content: "\e121"; +} +.glyphicon-bullhorn:before { + content: "\e122"; +} +.glyphicon-bell:before { + content: "\e123"; +} +.glyphicon-certificate:before { + content: "\e124"; +} +.glyphicon-thumbs-up:before { + content: "\e125"; +} +.glyphicon-thumbs-down:before { + content: "\e126"; +} +.glyphicon-hand-right:before { + content: "\e127"; +} +.glyphicon-hand-left:before { + content: "\e128"; +} +.glyphicon-hand-up:before { + content: "\e129"; +} +.glyphicon-hand-down:before { + content: "\e130"; +} +.glyphicon-circle-arrow-right:before { + content: "\e131"; +} +.glyphicon-circle-arrow-left:before { + content: "\e132"; +} +.glyphicon-circle-arrow-up:before { + content: "\e133"; +} +.glyphicon-circle-arrow-down:before { + content: "\e134"; +} +.glyphicon-globe:before { + content: "\e135"; +} +.glyphicon-wrench:before { + content: "\e136"; +} +.glyphicon-tasks:before { + content: "\e137"; +} +.glyphicon-filter:before { + content: "\e138"; +} +.glyphicon-briefcase:before { + content: "\e139"; +} +.glyphicon-fullscreen:before { + content: "\e140"; +} +.glyphicon-dashboard:before { + content: "\e141"; +} +.glyphicon-paperclip:before { + content: "\e142"; +} +.glyphicon-heart-empty:before { + content: "\e143"; +} +.glyphicon-link:before { + content: "\e144"; +} +.glyphicon-phone:before { + content: "\e145"; +} +.glyphicon-pushpin:before { + content: "\e146"; +} +.glyphicon-usd:before { + content: "\e148"; +} +.glyphicon-gbp:before { + content: "\e149"; +} +.glyphicon-sort:before { + content: "\e150"; +} +.glyphicon-sort-by-alphabet:before { + content: "\e151"; +} +.glyphicon-sort-by-alphabet-alt:before { + content: "\e152"; +} +.glyphicon-sort-by-order:before { + content: "\e153"; +} +.glyphicon-sort-by-order-alt:before { + content: "\e154"; +} +.glyphicon-sort-by-attributes:before { + content: "\e155"; +} +.glyphicon-sort-by-attributes-alt:before { + content: "\e156"; +} +.glyphicon-unchecked:before { + content: "\e157"; +} +.glyphicon-expand:before { + content: "\e158"; +} +.glyphicon-collapse-down:before { + content: "\e159"; +} +.glyphicon-collapse-up:before { + content: "\e160"; +} +.glyphicon-log-in:before { + content: "\e161"; +} +.glyphicon-flash:before { + content: "\e162"; +} +.glyphicon-log-out:before { + content: "\e163"; +} +.glyphicon-new-window:before { + content: "\e164"; +} +.glyphicon-record:before { + content: "\e165"; +} +.glyphicon-save:before { + content: "\e166"; +} +.glyphicon-open:before { + content: "\e167"; +} +.glyphicon-saved:before { + content: "\e168"; +} +.glyphicon-import:before { + content: "\e169"; +} +.glyphicon-export:before { + content: "\e170"; +} +.glyphicon-send:before { + content: "\e171"; +} +.glyphicon-floppy-disk:before { + content: "\e172"; +} +.glyphicon-floppy-saved:before { + content: "\e173"; +} +.glyphicon-floppy-remove:before { + content: "\e174"; +} +.glyphicon-floppy-save:before { + content: "\e175"; +} +.glyphicon-floppy-open:before { + content: "\e176"; +} +.glyphicon-credit-card:before { + content: "\e177"; +} +.glyphicon-transfer:before { + content: "\e178"; +} +.glyphicon-cutlery:before { + content: "\e179"; +} +.glyphicon-header:before { + content: "\e180"; +} +.glyphicon-compressed:before { + content: "\e181"; +} +.glyphicon-earphone:before { + content: "\e182"; +} +.glyphicon-phone-alt:before { + content: "\e183"; +} +.glyphicon-tower:before { + content: "\e184"; +} +.glyphicon-stats:before { + content: "\e185"; +} +.glyphicon-sd-video:before { + content: "\e186"; +} +.glyphicon-hd-video:before { + content: "\e187"; +} +.glyphicon-subtitles:before { + content: "\e188"; +} +.glyphicon-sound-stereo:before { + content: "\e189"; +} +.glyphicon-sound-dolby:before { + content: "\e190"; +} +.glyphicon-sound-5-1:before { + content: "\e191"; +} +.glyphicon-sound-6-1:before { + content: "\e192"; +} +.glyphicon-sound-7-1:before { + content: "\e193"; +} +.glyphicon-copyright-mark:before { + content: "\e194"; +} +.glyphicon-registration-mark:before { + content: "\e195"; +} +.glyphicon-cloud-download:before { + content: "\e197"; +} +.glyphicon-cloud-upload:before { + content: "\e198"; +} +.glyphicon-tree-conifer:before { + content: "\e199"; +} +.glyphicon-tree-deciduous:before { + content: "\e200"; +} +* { + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; +} +*:before, +*:after { + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; +} +html { + font-size: 10px; + + -webkit-tap-highlight-color: rgba(0, 0, 0, 0); +} +body { + font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; + font-size: 14px; + line-height: 1.42857143; + color: #333; + background-color: #fff; +} +input, +button, +select, +textarea { + font-family: inherit; + font-size: inherit; + line-height: inherit; +} +a { + color: #428bca; + text-decoration: none; +} +a:hover, +a:focus { + color: #2a6496; + text-decoration: underline; +} +a:focus { + outline: thin dotted; + outline: 5px auto -webkit-focus-ring-color; + outline-offset: -2px; +} +figure { + margin: 0; +} +img { + vertical-align: middle; +} +.img-responsive, +.thumbnail > img, +.thumbnail a > img, +.carousel-inner > .item > img, +.carousel-inner > .item > a > img { + display: block; + width: 100% \9; + max-width: 100%; + height: auto; +} +.img-rounded { + border-radius: 6px; +} +.img-thumbnail { + display: inline-block; + width: 100% \9; + max-width: 100%; + height: auto; + padding: 4px; + line-height: 1.42857143; + background-color: #fff; + border: 1px solid #ddd; + border-radius: 4px; + -webkit-transition: all .2s ease-in-out; + -o-transition: all .2s ease-in-out; + transition: all .2s ease-in-out; +} +.img-circle { + border-radius: 50%; +} +hr { + margin-top: 20px; + margin-bottom: 20px; + border: 0; + border-top: 1px solid #eee; +} +.sr-only { + position: absolute; + width: 1px; + height: 1px; + padding: 0; + margin: -1px; + overflow: hidden; + clip: rect(0, 0, 0, 0); + border: 0; +} +.sr-only-focusable:active, +.sr-only-focusable:focus { + position: static; + width: auto; + height: auto; + margin: 0; + overflow: visible; + clip: auto; +} +h1, +h2, +h3, +h4, +h5, +h6, +.h1, +.h2, +.h3, +.h4, +.h5, +.h6 { + font-family: inherit; + font-weight: 500; + line-height: 1.1; + color: inherit; +} +h1 small, +h2 small, +h3 small, +h4 small, +h5 small, +h6 small, +.h1 small, +.h2 small, +.h3 small, +.h4 small, +.h5 small, +.h6 small, +h1 .small, +h2 .small, +h3 .small, +h4 .small, +h5 .small, +h6 .small, +.h1 .small, +.h2 .small, +.h3 .small, +.h4 .small, +.h5 .small, +.h6 .small { + font-weight: normal; + line-height: 1; + color: #777; +} +h1, +.h1, +h2, +.h2, +h3, +.h3 { + margin-top: 20px; + margin-bottom: 10px; +} +h1 small, +.h1 small, +h2 small, +.h2 small, +h3 small, +.h3 small, +h1 .small, +.h1 .small, +h2 .small, +.h2 .small, +h3 .small, +.h3 .small { + font-size: 65%; +} +h4, +.h4, +h5, +.h5, +h6, +.h6 { + margin-top: 10px; + margin-bottom: 10px; +} +h4 small, +.h4 small, +h5 small, +.h5 small, +h6 small, +.h6 small, +h4 .small, +.h4 .small, +h5 .small, +.h5 .small, +h6 .small, +.h6 .small { + font-size: 75%; +} +h1, +.h1 { + font-size: 36px; +} +h2, +.h2 { + font-size: 30px; +} +h3, +.h3 { + font-size: 24px; +} +h4, +.h4 { + font-size: 18px; +} +h5, +.h5 { + font-size: 14px; +} +h6, +.h6 { + font-size: 12px; +} +p { + margin: 0 0 10px; +} +.lead { + margin-bottom: 20px; + font-size: 16px; + font-weight: 300; + line-height: 1.4; +} +@media (min-width: 768px) { + .lead { + font-size: 21px; + } +} +small, +.small { + font-size: 85%; +} +cite { + font-style: normal; +} +mark, +.mark { + padding: .2em; + background-color: #fcf8e3; +} +.text-left { + text-align: left; +} +.text-right { + text-align: right; +} +.text-center { + text-align: center; +} +.text-justify { + text-align: justify; +} +.text-nowrap { + white-space: nowrap; +} +.text-lowercase { + text-transform: lowercase; +} +.text-uppercase { + text-transform: uppercase; +} +.text-capitalize { + text-transform: capitalize; +} +.text-muted { + color: #777; +} +.text-primary { + color: #428bca; +} +a.text-primary:hover { + color: #3071a9; +} +.text-success { + color: #3c763d; +} +a.text-success:hover { + color: #2b542c; +} +.text-info { + color: #31708f; +} +a.text-info:hover { + color: #245269; +} +.text-warning { + color: #8a6d3b; +} +a.text-warning:hover { + color: #66512c; +} +.text-danger { + color: #a94442; +} +a.text-danger:hover { + color: #843534; +} +.bg-primary { + color: #fff; + background-color: #428bca; +} +a.bg-primary:hover { + background-color: #3071a9; +} +.bg-success { + background-color: #dff0d8; +} +a.bg-success:hover { + background-color: #c1e2b3; +} +.bg-info { + background-color: #d9edf7; +} +a.bg-info:hover { + background-color: #afd9ee; +} +.bg-warning { + background-color: #fcf8e3; +} +a.bg-warning:hover { + background-color: #f7ecb5; +} +.bg-danger { + background-color: #f2dede; +} +a.bg-danger:hover { + background-color: #e4b9b9; +} +.page-header { + padding-bottom: 9px; + margin: 40px 0 20px; + border-bottom: 1px solid #eee; +} +ul, +ol { + margin-top: 0; + margin-bottom: 10px; +} +ul ul, +ol ul, +ul ol, +ol ol { + margin-bottom: 0; +} +.list-unstyled { + padding-left: 0; + list-style: none; +} +.list-inline { + padding-left: 0; + margin-left: -5px; + list-style: none; +} +.list-inline > li { + display: inline-block; + padding-right: 5px; + padding-left: 5px; +} +dl { + margin-top: 0; + margin-bottom: 20px; +} +dt, +dd { + line-height: 1.42857143; +} +dt { + font-weight: bold; +} +dd { + margin-left: 0; +} +@media (min-width: 768px) { + .dl-horizontal dt { + float: left; + width: 160px; + overflow: hidden; + clear: left; + text-align: right; + text-overflow: ellipsis; + white-space: nowrap; + } + .dl-horizontal dd { + margin-left: 180px; + } +} +abbr[title], +abbr[data-original-title] { + cursor: help; + border-bottom: 1px dotted #777; +} +.initialism { + font-size: 90%; + text-transform: uppercase; +} +blockquote { + padding: 10px 20px; + margin: 0 0 20px; + font-size: 17.5px; + border-left: 5px solid #eee; +} +blockquote p:last-child, +blockquote ul:last-child, +blockquote ol:last-child { + margin-bottom: 0; +} +blockquote footer, +blockquote small, +blockquote .small { + display: block; + font-size: 80%; + line-height: 1.42857143; + color: #777; +} +blockquote footer:before, +blockquote small:before, +blockquote .small:before { + content: '\2014 \00A0'; +} +.blockquote-reverse, +blockquote.pull-right { + padding-right: 15px; + padding-left: 0; + text-align: right; + border-right: 5px solid #eee; + border-left: 0; +} +.blockquote-reverse footer:before, +blockquote.pull-right footer:before, +.blockquote-reverse small:before, +blockquote.pull-right small:before, +.blockquote-reverse .small:before, +blockquote.pull-right .small:before { + content: ''; +} +.blockquote-reverse footer:after, +blockquote.pull-right footer:after, +.blockquote-reverse small:after, +blockquote.pull-right small:after, +.blockquote-reverse .small:after, +blockquote.pull-right .small:after { + content: '\00A0 \2014'; +} +blockquote:before, +blockquote:after { + content: ""; +} +address { + margin-bottom: 20px; + font-style: normal; + line-height: 1.42857143; +} +code, +kbd, +pre, +samp { + font-family: Menlo, Monaco, Consolas, "Courier New", monospace; +} +code { + padding: 2px 4px; + font-size: 90%; + color: #c7254e; + background-color: #f9f2f4; + border-radius: 4px; +} +kbd { + padding: 2px 4px; + font-size: 90%; + color: #fff; + background-color: #333; + border-radius: 3px; + -webkit-box-shadow: inset 0 -1px 0 rgba(0, 0, 0, .25); + box-shadow: inset 0 -1px 0 rgba(0, 0, 0, .25); +} +kbd kbd { + padding: 0; + font-size: 100%; + -webkit-box-shadow: none; + box-shadow: none; +} +pre { + display: block; + padding: 9.5px; + margin: 0 0 10px; + font-size: 13px; + line-height: 1.42857143; + color: #333; + word-break: break-all; + word-wrap: break-word; + background-color: #f5f5f5; + border: 1px solid #ccc; + border-radius: 4px; +} +pre code { + padding: 0; + font-size: inherit; + color: inherit; + white-space: pre-wrap; + background-color: transparent; + border-radius: 0; +} +.pre-scrollable { + max-height: 340px; + overflow-y: scroll; +} +.container { + padding-right: 15px; + padding-left: 15px; + margin-right: auto; + margin-left: auto; +} +@media (min-width: 768px) { + .container { + width: 750px; + } +} +@media (min-width: 992px) { + .container { + width: 970px; + } +} +@media (min-width: 1200px) { + .container { + width: 1170px; + } +} +.container-fluid { + padding-right: 15px; + padding-left: 15px; + margin-right: auto; + margin-left: auto; +} +.row { + margin-right: -15px; + margin-left: -15px; +} +.col-xs-1, .col-sm-1, .col-md-1, .col-lg-1, .col-xs-2, .col-sm-2, .col-md-2, .col-lg-2, .col-xs-3, .col-sm-3, .col-md-3, .col-lg-3, .col-xs-4, .col-sm-4, .col-md-4, .col-lg-4, .col-xs-5, .col-sm-5, .col-md-5, .col-lg-5, .col-xs-6, .col-sm-6, .col-md-6, .col-lg-6, .col-xs-7, .col-sm-7, .col-md-7, .col-lg-7, .col-xs-8, .col-sm-8, .col-md-8, .col-lg-8, .col-xs-9, .col-sm-9, .col-md-9, .col-lg-9, .col-xs-10, .col-sm-10, .col-md-10, .col-lg-10, .col-xs-11, .col-sm-11, .col-md-11, .col-lg-11, .col-xs-12, .col-sm-12, .col-md-12, .col-lg-12 { + position: relative; + min-height: 1px; + padding-right: 15px; + padding-left: 15px; +} +.col-xs-1, .col-xs-2, .col-xs-3, .col-xs-4, .col-xs-5, .col-xs-6, .col-xs-7, .col-xs-8, .col-xs-9, .col-xs-10, .col-xs-11, .col-xs-12 { + float: left; +} +.col-xs-12 { + width: 100%; +} +.col-xs-11 { + width: 91.66666667%; +} +.col-xs-10 { + width: 83.33333333%; +} +.col-xs-9 { + width: 75%; +} +.col-xs-8 { + width: 66.66666667%; +} +.col-xs-7 { + width: 58.33333333%; +} +.col-xs-6 { + width: 50%; +} +.col-xs-5 { + width: 41.66666667%; +} +.col-xs-4 { + width: 33.33333333%; +} +.col-xs-3 { + width: 25%; +} +.col-xs-2 { + width: 16.66666667%; +} +.col-xs-1 { + width: 8.33333333%; +} +.col-xs-pull-12 { + right: 100%; +} +.col-xs-pull-11 { + right: 91.66666667%; +} +.col-xs-pull-10 { + right: 83.33333333%; +} +.col-xs-pull-9 { + right: 75%; +} +.col-xs-pull-8 { + right: 66.66666667%; +} +.col-xs-pull-7 { + right: 58.33333333%; +} +.col-xs-pull-6 { + right: 50%; +} +.col-xs-pull-5 { + right: 41.66666667%; +} +.col-xs-pull-4 { + right: 33.33333333%; +} +.col-xs-pull-3 { + right: 25%; +} +.col-xs-pull-2 { + right: 16.66666667%; +} +.col-xs-pull-1 { + right: 8.33333333%; +} +.col-xs-pull-0 { + right: auto; +} +.col-xs-push-12 { + left: 100%; +} +.col-xs-push-11 { + left: 91.66666667%; +} +.col-xs-push-10 { + left: 83.33333333%; +} +.col-xs-push-9 { + left: 75%; +} +.col-xs-push-8 { + left: 66.66666667%; +} +.col-xs-push-7 { + left: 58.33333333%; +} +.col-xs-push-6 { + left: 50%; +} +.col-xs-push-5 { + left: 41.66666667%; +} +.col-xs-push-4 { + left: 33.33333333%; +} +.col-xs-push-3 { + left: 25%; +} +.col-xs-push-2 { + left: 16.66666667%; +} +.col-xs-push-1 { + left: 8.33333333%; +} +.col-xs-push-0 { + left: auto; +} +.col-xs-offset-12 { + margin-left: 100%; +} +.col-xs-offset-11 { + margin-left: 91.66666667%; +} +.col-xs-offset-10 { + margin-left: 83.33333333%; +} +.col-xs-offset-9 { + margin-left: 75%; +} +.col-xs-offset-8 { + margin-left: 66.66666667%; +} +.col-xs-offset-7 { + margin-left: 58.33333333%; +} +.col-xs-offset-6 { + margin-left: 50%; +} +.col-xs-offset-5 { + margin-left: 41.66666667%; +} +.col-xs-offset-4 { + margin-left: 33.33333333%; +} +.col-xs-offset-3 { + margin-left: 25%; +} +.col-xs-offset-2 { + margin-left: 16.66666667%; +} +.col-xs-offset-1 { + margin-left: 8.33333333%; +} +.col-xs-offset-0 { + margin-left: 0; +} +@media (min-width: 768px) { + .col-sm-1, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8, .col-sm-9, .col-sm-10, .col-sm-11, .col-sm-12 { + float: left; + } + .col-sm-12 { + width: 100%; + } + .col-sm-11 { + width: 91.66666667%; + } + .col-sm-10 { + width: 83.33333333%; + } + .col-sm-9 { + width: 75%; + } + .col-sm-8 { + width: 66.66666667%; + } + .col-sm-7 { + width: 58.33333333%; + } + .col-sm-6 { + width: 50%; + } + .col-sm-5 { + width: 41.66666667%; + } + .col-sm-4 { + width: 33.33333333%; + } + .col-sm-3 { + width: 25%; + } + .col-sm-2 { + width: 16.66666667%; + } + .col-sm-1 { + width: 8.33333333%; + } + .col-sm-pull-12 { + right: 100%; + } + .col-sm-pull-11 { + right: 91.66666667%; + } + .col-sm-pull-10 { + right: 83.33333333%; + } + .col-sm-pull-9 { + right: 75%; + } + .col-sm-pull-8 { + right: 66.66666667%; + } + .col-sm-pull-7 { + right: 58.33333333%; + } + .col-sm-pull-6 { + right: 50%; + } + .col-sm-pull-5 { + right: 41.66666667%; + } + .col-sm-pull-4 { + right: 33.33333333%; + } + .col-sm-pull-3 { + right: 25%; + } + .col-sm-pull-2 { + right: 16.66666667%; + } + .col-sm-pull-1 { + right: 8.33333333%; + } + .col-sm-pull-0 { + right: auto; + } + .col-sm-push-12 { + left: 100%; + } + .col-sm-push-11 { + left: 91.66666667%; + } + .col-sm-push-10 { + left: 83.33333333%; + } + .col-sm-push-9 { + left: 75%; + } + .col-sm-push-8 { + left: 66.66666667%; + } + .col-sm-push-7 { + left: 58.33333333%; + } + .col-sm-push-6 { + left: 50%; + } + .col-sm-push-5 { + left: 41.66666667%; + } + .col-sm-push-4 { + left: 33.33333333%; + } + .col-sm-push-3 { + left: 25%; + } + .col-sm-push-2 { + left: 16.66666667%; + } + .col-sm-push-1 { + left: 8.33333333%; + } + .col-sm-push-0 { + left: auto; + } + .col-sm-offset-12 { + margin-left: 100%; + } + .col-sm-offset-11 { + margin-left: 91.66666667%; + } + .col-sm-offset-10 { + margin-left: 83.33333333%; + } + .col-sm-offset-9 { + margin-left: 75%; + } + .col-sm-offset-8 { + margin-left: 66.66666667%; + } + .col-sm-offset-7 { + margin-left: 58.33333333%; + } + .col-sm-offset-6 { + margin-left: 50%; + } + .col-sm-offset-5 { + margin-left: 41.66666667%; + } + .col-sm-offset-4 { + margin-left: 33.33333333%; + } + .col-sm-offset-3 { + margin-left: 25%; + } + .col-sm-offset-2 { + margin-left: 16.66666667%; + } + .col-sm-offset-1 { + margin-left: 8.33333333%; + } + .col-sm-offset-0 { + margin-left: 0; + } +} +@media (min-width: 992px) { + .col-md-1, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9, .col-md-10, .col-md-11, .col-md-12 { + float: left; + } + .col-md-12 { + width: 100%; + } + .col-md-11 { + width: 91.66666667%; + } + .col-md-10 { + width: 83.33333333%; + } + .col-md-9 { + width: 75%; + } + .col-md-8 { + width: 66.66666667%; + } + .col-md-7 { + width: 58.33333333%; + } + .col-md-6 { + width: 50%; + } + .col-md-5 { + width: 41.66666667%; + } + .col-md-4 { + width: 33.33333333%; + } + .col-md-3 { + width: 25%; + } + .col-md-2 { + width: 16.66666667%; + } + .col-md-1 { + width: 8.33333333%; + } + .col-md-pull-12 { + right: 100%; + } + .col-md-pull-11 { + right: 91.66666667%; + } + .col-md-pull-10 { + right: 83.33333333%; + } + .col-md-pull-9 { + right: 75%; + } + .col-md-pull-8 { + right: 66.66666667%; + } + .col-md-pull-7 { + right: 58.33333333%; + } + .col-md-pull-6 { + right: 50%; + } + .col-md-pull-5 { + right: 41.66666667%; + } + .col-md-pull-4 { + right: 33.33333333%; + } + .col-md-pull-3 { + right: 25%; + } + .col-md-pull-2 { + right: 16.66666667%; + } + .col-md-pull-1 { + right: 8.33333333%; + } + .col-md-pull-0 { + right: auto; + } + .col-md-push-12 { + left: 100%; + } + .col-md-push-11 { + left: 91.66666667%; + } + .col-md-push-10 { + left: 83.33333333%; + } + .col-md-push-9 { + left: 75%; + } + .col-md-push-8 { + left: 66.66666667%; + } + .col-md-push-7 { + left: 58.33333333%; + } + .col-md-push-6 { + left: 50%; + } + .col-md-push-5 { + left: 41.66666667%; + } + .col-md-push-4 { + left: 33.33333333%; + } + .col-md-push-3 { + left: 25%; + } + .col-md-push-2 { + left: 16.66666667%; + } + .col-md-push-1 { + left: 8.33333333%; + } + .col-md-push-0 { + left: auto; + } + .col-md-offset-12 { + margin-left: 100%; + } + .col-md-offset-11 { + margin-left: 91.66666667%; + } + .col-md-offset-10 { + margin-left: 83.33333333%; + } + .col-md-offset-9 { + margin-left: 75%; + } + .col-md-offset-8 { + margin-left: 66.66666667%; + } + .col-md-offset-7 { + margin-left: 58.33333333%; + } + .col-md-offset-6 { + margin-left: 50%; + } + .col-md-offset-5 { + margin-left: 41.66666667%; + } + .col-md-offset-4 { + margin-left: 33.33333333%; + } + .col-md-offset-3 { + margin-left: 25%; + } + .col-md-offset-2 { + margin-left: 16.66666667%; + } + .col-md-offset-1 { + margin-left: 8.33333333%; + } + .col-md-offset-0 { + margin-left: 0; + } +} +@media (min-width: 1200px) { + .col-lg-1, .col-lg-2, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6, .col-lg-7, .col-lg-8, .col-lg-9, .col-lg-10, .col-lg-11, .col-lg-12 { + float: left; + } + .col-lg-12 { + width: 100%; + } + .col-lg-11 { + width: 91.66666667%; + } + .col-lg-10 { + width: 83.33333333%; + } + .col-lg-9 { + width: 75%; + } + .col-lg-8 { + width: 66.66666667%; + } + .col-lg-7 { + width: 58.33333333%; + } + .col-lg-6 { + width: 50%; + } + .col-lg-5 { + width: 41.66666667%; + } + .col-lg-4 { + width: 33.33333333%; + } + .col-lg-3 { + width: 25%; + } + .col-lg-2 { + width: 16.66666667%; + } + .col-lg-1 { + width: 8.33333333%; + } + .col-lg-pull-12 { + right: 100%; + } + .col-lg-pull-11 { + right: 91.66666667%; + } + .col-lg-pull-10 { + right: 83.33333333%; + } + .col-lg-pull-9 { + right: 75%; + } + .col-lg-pull-8 { + right: 66.66666667%; + } + .col-lg-pull-7 { + right: 58.33333333%; + } + .col-lg-pull-6 { + right: 50%; + } + .col-lg-pull-5 { + right: 41.66666667%; + } + .col-lg-pull-4 { + right: 33.33333333%; + } + .col-lg-pull-3 { + right: 25%; + } + .col-lg-pull-2 { + right: 16.66666667%; + } + .col-lg-pull-1 { + right: 8.33333333%; + } + .col-lg-pull-0 { + right: auto; + } + .col-lg-push-12 { + left: 100%; + } + .col-lg-push-11 { + left: 91.66666667%; + } + .col-lg-push-10 { + left: 83.33333333%; + } + .col-lg-push-9 { + left: 75%; + } + .col-lg-push-8 { + left: 66.66666667%; + } + .col-lg-push-7 { + left: 58.33333333%; + } + .col-lg-push-6 { + left: 50%; + } + .col-lg-push-5 { + left: 41.66666667%; + } + .col-lg-push-4 { + left: 33.33333333%; + } + .col-lg-push-3 { + left: 25%; + } + .col-lg-push-2 { + left: 16.66666667%; + } + .col-lg-push-1 { + left: 8.33333333%; + } + .col-lg-push-0 { + left: auto; + } + .col-lg-offset-12 { + margin-left: 100%; + } + .col-lg-offset-11 { + margin-left: 91.66666667%; + } + .col-lg-offset-10 { + margin-left: 83.33333333%; + } + .col-lg-offset-9 { + margin-left: 75%; + } + .col-lg-offset-8 { + margin-left: 66.66666667%; + } + .col-lg-offset-7 { + margin-left: 58.33333333%; + } + .col-lg-offset-6 { + margin-left: 50%; + } + .col-lg-offset-5 { + margin-left: 41.66666667%; + } + .col-lg-offset-4 { + margin-left: 33.33333333%; + } + .col-lg-offset-3 { + margin-left: 25%; + } + .col-lg-offset-2 { + margin-left: 16.66666667%; + } + .col-lg-offset-1 { + margin-left: 8.33333333%; + } + .col-lg-offset-0 { + margin-left: 0; + } +} +table { + background-color: transparent; +} +th { + text-align: left; +} +.table { + width: 100%; + max-width: 100%; + margin-bottom: 20px; +} +.table > thead > tr > th, +.table > tbody > tr > th, +.table > tfoot > tr > th, +.table > thead > tr > td, +.table > tbody > tr > td, +.table > tfoot > tr > td { + padding: 8px; + line-height: 1.42857143; + vertical-align: top; + border-top: 1px solid #ddd; +} +.table > thead > tr > th { + vertical-align: bottom; + border-bottom: 2px solid #ddd; +} +.table > caption + thead > tr:first-child > th, +.table > colgroup + thead > tr:first-child > th, +.table > thead:first-child > tr:first-child > th, +.table > caption + thead > tr:first-child > td, +.table > colgroup + thead > tr:first-child > td, +.table > thead:first-child > tr:first-child > td { + border-top: 0; +} +.table > tbody + tbody { + border-top: 2px solid #ddd; +} +.table .table { + background-color: #fff; +} +.table-condensed > thead > tr > th, +.table-condensed > tbody > tr > th, +.table-condensed > tfoot > tr > th, +.table-condensed > thead > tr > td, +.table-condensed > tbody > tr > td, +.table-condensed > tfoot > tr > td { + padding: 5px; +} +.table-bordered { + border: 1px solid #ddd; +} +.table-bordered > thead > tr > th, +.table-bordered > tbody > tr > th, +.table-bordered > tfoot > tr > th, +.table-bordered > thead > tr > td, +.table-bordered > tbody > tr > td, +.table-bordered > tfoot > tr > td { + border: 1px solid #ddd; +} +.table-bordered > thead > tr > th, +.table-bordered > thead > tr > td { + border-bottom-width: 2px; +} +.table-striped > tbody > tr:nth-child(odd) > td, +.table-striped > tbody > tr:nth-child(odd) > th { + background-color: #f9f9f9; +} +.table-hover > tbody > tr:hover > td, +.table-hover > tbody > tr:hover > th { + background-color: #f5f5f5; +} +table col[class*="col-"] { + position: static; + display: table-column; + float: none; +} +table td[class*="col-"], +table th[class*="col-"] { + position: static; + display: table-cell; + float: none; +} +.table > thead > tr > td.active, +.table > tbody > tr > td.active, +.table > tfoot > tr > td.active, +.table > thead > tr > th.active, +.table > tbody > tr > th.active, +.table > tfoot > tr > th.active, +.table > thead > tr.active > td, +.table > tbody > tr.active > td, +.table > tfoot > tr.active > td, +.table > thead > tr.active > th, +.table > tbody > tr.active > th, +.table > tfoot > tr.active > th { + background-color: #f5f5f5; +} +.table-hover > tbody > tr > td.active:hover, +.table-hover > tbody > tr > th.active:hover, +.table-hover > tbody > tr.active:hover > td, +.table-hover > tbody > tr:hover > .active, +.table-hover > tbody > tr.active:hover > th { + background-color: #e8e8e8; +} +.table > thead > tr > td.success, +.table > tbody > tr > td.success, +.table > tfoot > tr > td.success, +.table > thead > tr > th.success, +.table > tbody > tr > th.success, +.table > tfoot > tr > th.success, +.table > thead > tr.success > td, +.table > tbody > tr.success > td, +.table > tfoot > tr.success > td, +.table > thead > tr.success > th, +.table > tbody > tr.success > th, +.table > tfoot > tr.success > th { + background-color: #dff0d8; +} +.table-hover > tbody > tr > td.success:hover, +.table-hover > tbody > tr > th.success:hover, +.table-hover > tbody > tr.success:hover > td, +.table-hover > tbody > tr:hover > .success, +.table-hover > tbody > tr.success:hover > th { + background-color: #d0e9c6; +} +.table > thead > tr > td.info, +.table > tbody > tr > td.info, +.table > tfoot > tr > td.info, +.table > thead > tr > th.info, +.table > tbody > tr > th.info, +.table > tfoot > tr > th.info, +.table > thead > tr.info > td, +.table > tbody > tr.info > td, +.table > tfoot > tr.info > td, +.table > thead > tr.info > th, +.table > tbody > tr.info > th, +.table > tfoot > tr.info > th { + background-color: #d9edf7; +} +.table-hover > tbody > tr > td.info:hover, +.table-hover > tbody > tr > th.info:hover, +.table-hover > tbody > tr.info:hover > td, +.table-hover > tbody > tr:hover > .info, +.table-hover > tbody > tr.info:hover > th { + background-color: #c4e3f3; +} +.table > thead > tr > td.warning, +.table > tbody > tr > td.warning, +.table > tfoot > tr > td.warning, +.table > thead > tr > th.warning, +.table > tbody > tr > th.warning, +.table > tfoot > tr > th.warning, +.table > thead > tr.warning > td, +.table > tbody > tr.warning > td, +.table > tfoot > tr.warning > td, +.table > thead > tr.warning > th, +.table > tbody > tr.warning > th, +.table > tfoot > tr.warning > th { + background-color: #fcf8e3; +} +.table-hover > tbody > tr > td.warning:hover, +.table-hover > tbody > tr > th.warning:hover, +.table-hover > tbody > tr.warning:hover > td, +.table-hover > tbody > tr:hover > .warning, +.table-hover > tbody > tr.warning:hover > th { + background-color: #faf2cc; +} +.table > thead > tr > td.danger, +.table > tbody > tr > td.danger, +.table > tfoot > tr > td.danger, +.table > thead > tr > th.danger, +.table > tbody > tr > th.danger, +.table > tfoot > tr > th.danger, +.table > thead > tr.danger > td, +.table > tbody > tr.danger > td, +.table > tfoot > tr.danger > td, +.table > thead > tr.danger > th, +.table > tbody > tr.danger > th, +.table > tfoot > tr.danger > th { + background-color: #f2dede; +} +.table-hover > tbody > tr > td.danger:hover, +.table-hover > tbody > tr > th.danger:hover, +.table-hover > tbody > tr.danger:hover > td, +.table-hover > tbody > tr:hover > .danger, +.table-hover > tbody > tr.danger:hover > th { + background-color: #ebcccc; +} +@media screen and (max-width: 767px) { + .table-responsive { + width: 100%; + margin-bottom: 15px; + overflow-x: auto; + overflow-y: hidden; + -webkit-overflow-scrolling: touch; + -ms-overflow-style: -ms-autohiding-scrollbar; + border: 1px solid #ddd; + } + .table-responsive > .table { + margin-bottom: 0; + } + .table-responsive > .table > thead > tr > th, + .table-responsive > .table > tbody > tr > th, + .table-responsive > .table > tfoot > tr > th, + .table-responsive > .table > thead > tr > td, + .table-responsive > .table > tbody > tr > td, + .table-responsive > .table > tfoot > tr > td { + white-space: nowrap; + } + .table-responsive > .table-bordered { + border: 0; + } + .table-responsive > .table-bordered > thead > tr > th:first-child, + .table-responsive > .table-bordered > tbody > tr > th:first-child, + .table-responsive > .table-bordered > tfoot > tr > th:first-child, + .table-responsive > .table-bordered > thead > tr > td:first-child, + .table-responsive > .table-bordered > tbody > tr > td:first-child, + .table-responsive > .table-bordered > tfoot > tr > td:first-child { + border-left: 0; + } + .table-responsive > .table-bordered > thead > tr > th:last-child, + .table-responsive > .table-bordered > tbody > tr > th:last-child, + .table-responsive > .table-bordered > tfoot > tr > th:last-child, + .table-responsive > .table-bordered > thead > tr > td:last-child, + .table-responsive > .table-bordered > tbody > tr > td:last-child, + .table-responsive > .table-bordered > tfoot > tr > td:last-child { + border-right: 0; + } + .table-responsive > .table-bordered > tbody > tr:last-child > th, + .table-responsive > .table-bordered > tfoot > tr:last-child > th, + .table-responsive > .table-bordered > tbody > tr:last-child > td, + .table-responsive > .table-bordered > tfoot > tr:last-child > td { + border-bottom: 0; + } +} +fieldset { + min-width: 0; + padding: 0; + margin: 0; + border: 0; +} +legend { + display: block; + width: 100%; + padding: 0; + margin-bottom: 20px; + font-size: 21px; + line-height: inherit; + color: #333; + border: 0; + border-bottom: 1px solid #e5e5e5; +} +label { + display: inline-block; + max-width: 100%; + margin-bottom: 5px; + font-weight: bold; +} +input[type="search"] { + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; +} +input[type="radio"], +input[type="checkbox"] { + margin: 4px 0 0; + margin-top: 1px \9; + line-height: normal; +} +input[type="file"] { + display: block; +} +input[type="range"] { + display: block; + width: 100%; +} +select[multiple], +select[size] { + height: auto; +} +input[type="file"]:focus, +input[type="radio"]:focus, +input[type="checkbox"]:focus { + outline: thin dotted; + outline: 5px auto -webkit-focus-ring-color; + outline-offset: -2px; +} +output { + display: block; + padding-top: 7px; + font-size: 14px; + line-height: 1.42857143; + color: #555; +} +.form-control { + display: block; + width: 100%; + height: 34px; + padding: 6px 12px; + font-size: 14px; + line-height: 1.42857143; + color: #555; + background-color: #fff; + background-image: none; + border: 1px solid #ccc; + border-radius: 4px; + -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075); + box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075); + -webkit-transition: border-color ease-in-out .15s, -webkit-box-shadow ease-in-out .15s; + -o-transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s; + transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s; +} +.form-control:focus { + border-color: #66afe9; + outline: 0; + -webkit-box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(102, 175, 233, .6); + box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(102, 175, 233, .6); +} +.form-control::-moz-placeholder { + color: #777; + opacity: 1; +} +.form-control:-ms-input-placeholder { + color: #777; +} +.form-control::-webkit-input-placeholder { + color: #777; +} +.form-control[disabled], +.form-control[readonly], +fieldset[disabled] .form-control { + cursor: not-allowed; + background-color: #eee; + opacity: 1; +} +textarea.form-control { + height: auto; +} +input[type="search"] { + -webkit-appearance: none; +} +input[type="date"], +input[type="time"], +input[type="datetime-local"], +input[type="month"] { + line-height: 34px; + line-height: 1.42857143 \0; +} +input[type="date"].input-sm, +input[type="time"].input-sm, +input[type="datetime-local"].input-sm, +input[type="month"].input-sm { + line-height: 30px; +} +input[type="date"].input-lg, +input[type="time"].input-lg, +input[type="datetime-local"].input-lg, +input[type="month"].input-lg { + line-height: 46px; +} +.form-group { + margin-bottom: 15px; +} +.radio, +.checkbox { + position: relative; + display: block; + min-height: 20px; + margin-top: 10px; + margin-bottom: 10px; +} +.radio label, +.checkbox label { + padding-left: 20px; + margin-bottom: 0; + font-weight: normal; + cursor: pointer; +} +.radio input[type="radio"], +.radio-inline input[type="radio"], +.checkbox input[type="checkbox"], +.checkbox-inline input[type="checkbox"] { + position: absolute; + margin-top: 4px \9; + margin-left: -20px; +} +.radio + .radio, +.checkbox + .checkbox { + margin-top: -5px; +} +.radio-inline, +.checkbox-inline { + display: inline-block; + padding-left: 20px; + margin-bottom: 0; + font-weight: normal; + vertical-align: middle; + cursor: pointer; +} +.radio-inline + .radio-inline, +.checkbox-inline + .checkbox-inline { + margin-top: 0; + margin-left: 10px; +} +input[type="radio"][disabled], +input[type="checkbox"][disabled], +input[type="radio"].disabled, +input[type="checkbox"].disabled, +fieldset[disabled] input[type="radio"], +fieldset[disabled] input[type="checkbox"] { + cursor: not-allowed; +} +.radio-inline.disabled, +.checkbox-inline.disabled, +fieldset[disabled] .radio-inline, +fieldset[disabled] .checkbox-inline { + cursor: not-allowed; +} +.radio.disabled label, +.checkbox.disabled label, +fieldset[disabled] .radio label, +fieldset[disabled] .checkbox label { + cursor: not-allowed; +} +.form-control-static { + padding-top: 7px; + padding-bottom: 7px; + margin-bottom: 0; +} +.form-control-static.input-lg, +.form-control-static.input-sm { + padding-right: 0; + padding-left: 0; +} +.input-sm, +.form-horizontal .form-group-sm .form-control { + height: 30px; + padding: 5px 10px; + font-size: 12px; + line-height: 1.5; + border-radius: 3px; +} +select.input-sm { + height: 30px; + line-height: 30px; +} +textarea.input-sm, +select[multiple].input-sm { + height: auto; +} +.input-lg, +.form-horizontal .form-group-lg .form-control { + height: 46px; + padding: 10px 16px; + font-size: 18px; + line-height: 1.33; + border-radius: 6px; +} +select.input-lg { + height: 46px; + line-height: 46px; +} +textarea.input-lg, +select[multiple].input-lg { + height: auto; +} +.has-feedback { + position: relative; +} +.has-feedback .form-control { + padding-right: 42.5px; +} +.form-control-feedback { + position: absolute; + top: 25px; + right: 0; + z-index: 2; + display: block; + width: 34px; + height: 34px; + line-height: 34px; + text-align: center; +} +.input-lg + .form-control-feedback { + width: 46px; + height: 46px; + line-height: 46px; +} +.input-sm + .form-control-feedback { + width: 30px; + height: 30px; + line-height: 30px; +} +.has-success .help-block, +.has-success .control-label, +.has-success .radio, +.has-success .checkbox, +.has-success .radio-inline, +.has-success .checkbox-inline { + color: #3c763d; +} +.has-success .form-control { + border-color: #3c763d; + -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075); + box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075); +} +.has-success .form-control:focus { + border-color: #2b542c; + -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075), 0 0 6px #67b168; + box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075), 0 0 6px #67b168; +} +.has-success .input-group-addon { + color: #3c763d; + background-color: #dff0d8; + border-color: #3c763d; +} +.has-success .form-control-feedback { + color: #3c763d; +} +.has-warning .help-block, +.has-warning .control-label, +.has-warning .radio, +.has-warning .checkbox, +.has-warning .radio-inline, +.has-warning .checkbox-inline { + color: #8a6d3b; +} +.has-warning .form-control { + border-color: #8a6d3b; + -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075); + box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075); +} +.has-warning .form-control:focus { + border-color: #66512c; + -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075), 0 0 6px #c0a16b; + box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075), 0 0 6px #c0a16b; +} +.has-warning .input-group-addon { + color: #8a6d3b; + background-color: #fcf8e3; + border-color: #8a6d3b; +} +.has-warning .form-control-feedback { + color: #8a6d3b; +} +.has-error .help-block, +.has-error .control-label, +.has-error .radio, +.has-error .checkbox, +.has-error .radio-inline, +.has-error .checkbox-inline { + color: #a94442; +} +.has-error .form-control { + border-color: #a94442; + -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075); + box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075); +} +.has-error .form-control:focus { + border-color: #843534; + -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075), 0 0 6px #ce8483; + box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075), 0 0 6px #ce8483; +} +.has-error .input-group-addon { + color: #a94442; + background-color: #f2dede; + border-color: #a94442; +} +.has-error .form-control-feedback { + color: #a94442; +} +.has-feedback label.sr-only ~ .form-control-feedback { + top: 0; +} +.help-block { + display: block; + margin-top: 5px; + margin-bottom: 10px; + color: #737373; +} +@media (min-width: 768px) { + .form-inline .form-group { + display: inline-block; + margin-bottom: 0; + vertical-align: middle; + } + .form-inline .form-control { + display: inline-block; + width: auto; + vertical-align: middle; + } + .form-inline .input-group { + display: inline-table; + vertical-align: middle; + } + .form-inline .input-group .input-group-addon, + .form-inline .input-group .input-group-btn, + .form-inline .input-group .form-control { + width: auto; + } + .form-inline .input-group > .form-control { + width: 100%; + } + .form-inline .control-label { + margin-bottom: 0; + vertical-align: middle; + } + .form-inline .radio, + .form-inline .checkbox { + display: inline-block; + margin-top: 0; + margin-bottom: 0; + vertical-align: middle; + } + .form-inline .radio label, + .form-inline .checkbox label { + padding-left: 0; + } + .form-inline .radio input[type="radio"], + .form-inline .checkbox input[type="checkbox"] { + position: relative; + margin-left: 0; + } + .form-inline .has-feedback .form-control-feedback { + top: 0; + } +} +.form-horizontal .radio, +.form-horizontal .checkbox, +.form-horizontal .radio-inline, +.form-horizontal .checkbox-inline { + padding-top: 7px; + margin-top: 0; + margin-bottom: 0; +} +.form-horizontal .radio, +.form-horizontal .checkbox { + min-height: 27px; +} +.form-horizontal .form-group { + margin-right: -15px; + margin-left: -15px; +} +@media (min-width: 768px) { + .form-horizontal .control-label { + padding-top: 7px; + margin-bottom: 0; + text-align: right; + } +} +.form-horizontal .has-feedback .form-control-feedback { + top: 0; + right: 15px; +} +@media (min-width: 768px) { + .form-horizontal .form-group-lg .control-label { + padding-top: 14.3px; + } +} +@media (min-width: 768px) { + .form-horizontal .form-group-sm .control-label { + padding-top: 6px; + } +} +.btn { + display: inline-block; + padding: 6px 12px; + margin-bottom: 0; + font-size: 14px; + font-weight: normal; + line-height: 1.42857143; + text-align: center; + white-space: nowrap; + vertical-align: middle; + cursor: pointer; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; + background-image: none; + border: 1px solid transparent; + border-radius: 4px; +} +.btn:focus, +.btn:active:focus, +.btn.active:focus { + outline: thin dotted; + outline: 5px auto -webkit-focus-ring-color; + outline-offset: -2px; +} +.btn:hover, +.btn:focus { + color: #333; + text-decoration: none; +} +.btn:active, +.btn.active { + background-image: none; + outline: 0; + -webkit-box-shadow: inset 0 3px 5px rgba(0, 0, 0, .125); + box-shadow: inset 0 3px 5px rgba(0, 0, 0, .125); +} +.btn.disabled, +.btn[disabled], +fieldset[disabled] .btn { + pointer-events: none; + cursor: not-allowed; + filter: alpha(opacity=65); + -webkit-box-shadow: none; + box-shadow: none; + opacity: .65; +} +.btn-default { + color: #337ab7; + background-color: #fff; + border-color: #ccc; +} +.btn-default:hover, +.btn-default:focus, +.btn-default:active, +.btn-default.active, +.open > .dropdown-toggle.btn-default { + color: #333; + background-color: #e6e6e6; + border-color: #adadad; +} +.btn-default:active, +.btn-default.active, +.open > .dropdown-toggle.btn-default { + background-image: none; +} +.btn-default.disabled, +.btn-default[disabled], +fieldset[disabled] .btn-default, +.btn-default.disabled:hover, +.btn-default[disabled]:hover, +fieldset[disabled] .btn-default:hover, +.btn-default.disabled:focus, +.btn-default[disabled]:focus, +fieldset[disabled] .btn-default:focus, +.btn-default.disabled:active, +.btn-default[disabled]:active, +fieldset[disabled] .btn-default:active, +.btn-default.disabled.active, +.btn-default[disabled].active, +fieldset[disabled] .btn-default.active { + background-color: #fff; + border-color: #ccc; +} +.btn-default .badge { + color: #fff; + background-color: #333; +} +.btn-primary { + color: #fff; + background-color: #428bca; + border-color: #357ebd; +} +.btn-primary:hover, +.btn-primary:focus, +.btn-primary:active, +.btn-primary.active, +.open > .dropdown-toggle.btn-primary { + color: #fff; + background-color: #3071a9; + border-color: #285e8e; +} +.btn-primary:active, +.btn-primary.active, +.open > .dropdown-toggle.btn-primary { + background-image: none; +} +.btn-primary.disabled, +.btn-primary[disabled], +fieldset[disabled] .btn-primary, +.btn-primary.disabled:hover, +.btn-primary[disabled]:hover, +fieldset[disabled] .btn-primary:hover, +.btn-primary.disabled:focus, +.btn-primary[disabled]:focus, +fieldset[disabled] .btn-primary:focus, +.btn-primary.disabled:active, +.btn-primary[disabled]:active, +fieldset[disabled] .btn-primary:active, +.btn-primary.disabled.active, +.btn-primary[disabled].active, +fieldset[disabled] .btn-primary.active { + background-color: #428bca; + border-color: #357ebd; +} +.btn-primary .badge { + color: #428bca; + background-color: #fff; +} +.btn-success { + color: #fff; + background-color: #5cb85c; + border-color: #4cae4c; +} +.btn-success:hover, +.btn-success:focus, +.btn-success:active, +.btn-success.active, +.open > .dropdown-toggle.btn-success { + color: #fff; + background-color: #449d44; + border-color: #398439; +} +.btn-success:active, +.btn-success.active, +.open > .dropdown-toggle.btn-success { + background-image: none; +} +.btn-success.disabled, +.btn-success[disabled], +fieldset[disabled] .btn-success, +.btn-success.disabled:hover, +.btn-success[disabled]:hover, +fieldset[disabled] .btn-success:hover, +.btn-success.disabled:focus, +.btn-success[disabled]:focus, +fieldset[disabled] .btn-success:focus, +.btn-success.disabled:active, +.btn-success[disabled]:active, +fieldset[disabled] .btn-success:active, +.btn-success.disabled.active, +.btn-success[disabled].active, +fieldset[disabled] .btn-success.active { + background-color: #5cb85c; + border-color: #4cae4c; +} +.btn-success .badge { + color: #5cb85c; + background-color: #fff; +} +.btn-info { + color: #fff; + background-color: #5bc0de; + border-color: #46b8da; +} +.btn-info:hover, +.btn-info:focus, +.btn-info:active, +.btn-info.active, +.open > .dropdown-toggle.btn-info { + color: #fff; + background-color: #31b0d5; + border-color: #269abc; +} +.btn-info:active, +.btn-info.active, +.open > .dropdown-toggle.btn-info { + background-image: none; +} +.btn-info.disabled, +.btn-info[disabled], +fieldset[disabled] .btn-info, +.btn-info.disabled:hover, +.btn-info[disabled]:hover, +fieldset[disabled] .btn-info:hover, +.btn-info.disabled:focus, +.btn-info[disabled]:focus, +fieldset[disabled] .btn-info:focus, +.btn-info.disabled:active, +.btn-info[disabled]:active, +fieldset[disabled] .btn-info:active, +.btn-info.disabled.active, +.btn-info[disabled].active, +fieldset[disabled] .btn-info.active { + background-color: #5bc0de; + border-color: #46b8da; +} +.btn-info .badge { + color: #5bc0de; + background-color: #fff; +} +.btn-warning { + color: #fff; + background-color: #f0ad4e; + border-color: #eea236; +} +.btn-warning:hover, +.btn-warning:focus, +.btn-warning:active, +.btn-warning.active, +.open > .dropdown-toggle.btn-warning { + color: #fff; + background-color: #ec971f; + border-color: #d58512; +} +.btn-warning:active, +.btn-warning.active, +.open > .dropdown-toggle.btn-warning { + background-image: none; +} +.btn-warning.disabled, +.btn-warning[disabled], +fieldset[disabled] .btn-warning, +.btn-warning.disabled:hover, +.btn-warning[disabled]:hover, +fieldset[disabled] .btn-warning:hover, +.btn-warning.disabled:focus, +.btn-warning[disabled]:focus, +fieldset[disabled] .btn-warning:focus, +.btn-warning.disabled:active, +.btn-warning[disabled]:active, +fieldset[disabled] .btn-warning:active, +.btn-warning.disabled.active, +.btn-warning[disabled].active, +fieldset[disabled] .btn-warning.active { + background-color: #f0ad4e; + border-color: #eea236; +} +.btn-warning .badge { + color: #f0ad4e; + background-color: #fff; +} +.btn-danger { + color: #fff; + background-color: #d9534f; + border-color: #d43f3a; +} +.btn-danger:hover, +.btn-danger:focus, +.btn-danger:active, +.btn-danger.active, +.open > .dropdown-toggle.btn-danger { + color: #fff; + background-color: #c9302c; + border-color: #ac2925; +} +.btn-danger:active, +.btn-danger.active, +.open > .dropdown-toggle.btn-danger { + background-image: none; +} +.btn-danger.disabled, +.btn-danger[disabled], +fieldset[disabled] .btn-danger, +.btn-danger.disabled:hover, +.btn-danger[disabled]:hover, +fieldset[disabled] .btn-danger:hover, +.btn-danger.disabled:focus, +.btn-danger[disabled]:focus, +fieldset[disabled] .btn-danger:focus, +.btn-danger.disabled:active, +.btn-danger[disabled]:active, +fieldset[disabled] .btn-danger:active, +.btn-danger.disabled.active, +.btn-danger[disabled].active, +fieldset[disabled] .btn-danger.active { + background-color: #d9534f; + border-color: #d43f3a; +} +.btn-danger .badge { + color: #d9534f; + background-color: #fff; +} +.btn-link { + font-weight: normal; + color: #428bca; + cursor: pointer; + border-radius: 0; +} +.btn-link, +.btn-link:active, +.btn-link[disabled], +fieldset[disabled] .btn-link { + background-color: transparent; + -webkit-box-shadow: none; + box-shadow: none; +} +.btn-link, +.btn-link:hover, +.btn-link:focus, +.btn-link:active { + border-color: transparent; +} +.btn-link:hover, +.btn-link:focus { + color: #2a6496; + text-decoration: underline; + background-color: transparent; +} +.btn-link[disabled]:hover, +fieldset[disabled] .btn-link:hover, +.btn-link[disabled]:focus, +fieldset[disabled] .btn-link:focus { + color: #777; + text-decoration: none; +} +.btn-lg, +.btn-group-lg > .btn { + padding: 10px 16px; + font-size: 18px; + line-height: 1.33; + border-radius: 6px; +} +.btn-sm, +.btn-group-sm > .btn { + padding: 5px 10px; + font-size: 12px; + line-height: 1.5; + border-radius: 3px; +} +.btn-xs, +.btn-group-xs > .btn { + padding: 1px 5px; + font-size: 12px; + line-height: 1.5; + border-radius: 3px; +} +.btn-block { + display: block; + width: 100%; +} +.btn-block + .btn-block { + margin-top: 5px; +} +input[type="submit"].btn-block, +input[type="reset"].btn-block, +input[type="button"].btn-block { + width: 100%; +} +.fade { + opacity: 0; + -webkit-transition: opacity .15s linear; + -o-transition: opacity .15s linear; + transition: opacity .15s linear; +} +.fade.in { + opacity: 1; +} +.collapse { + display: none; +} +.collapse.in { + display: block; +} +tr.collapse.in { + display: table-row; +} +tbody.collapse.in { + display: table-row-group; +} +.collapsing { + position: relative; + height: 0; + overflow: hidden; + -webkit-transition: height .35s ease; + -o-transition: height .35s ease; + transition: height .35s ease; +} +.caret { + display: inline-block; + width: 0; + height: 0; + margin-left: 2px; + vertical-align: middle; + border-top: 4px solid; + border-right: 4px solid transparent; + border-left: 4px solid transparent; +} +.dropdown { + position: relative; +} +.dropdown-toggle:focus { + outline: 0; +} +.dropdown-menu { + position: absolute; + top: 100%; + left: 0; + z-index: 1000; + display: none; + float: left; + min-width: 160px; + padding: 5px 0; + margin: 2px 0 0; + font-size: 14px; + text-align: left; + list-style: none; + background-color: #fff; + -webkit-background-clip: padding-box; + background-clip: padding-box; + border: 1px solid #ccc; + border: 1px solid rgba(0, 0, 0, .15); + border-radius: 4px; + -webkit-box-shadow: 0 6px 12px rgba(0, 0, 0, .175); + box-shadow: 0 6px 12px rgba(0, 0, 0, .175); +} +.dropdown-menu.pull-right { + right: 0; + left: auto; +} +.dropdown-menu .divider { + height: 1px; + margin: 9px 0; + overflow: hidden; + background-color: #e5e5e5; +} +.dropdown-menu > li > a { + display: block; + padding: 3px 20px; + clear: both; + font-weight: normal; + line-height: 1.42857143; + color: #333; + white-space: nowrap; +} +.dropdown-menu > li > a:hover, +.dropdown-menu > li > a:focus { + color: #262626; + text-decoration: none; + background-color: #f5f5f5; +} +.dropdown-menu > .active > a, +.dropdown-menu > .active > a:hover, +.dropdown-menu > .active > a:focus { + color: #fff; + text-decoration: none; + background-color: #428bca; + outline: 0; +} +.dropdown-menu > .disabled > a, +.dropdown-menu > .disabled > a:hover, +.dropdown-menu > .disabled > a:focus { + color: #777; +} +.dropdown-menu > .disabled > a:hover, +.dropdown-menu > .disabled > a:focus { + text-decoration: none; + cursor: not-allowed; + background-color: transparent; + background-image: none; + filter: progid:DXImageTransform.Microsoft.gradient(enabled = false); +} +.open > .dropdown-menu { + display: block; +} +.open > a { + outline: 0; +} +.dropdown-menu-right { + right: 0; + left: auto; +} +.dropdown-menu-left { + right: auto; + left: 0; +} +.dropdown-header { + display: block; + padding: 3px 20px; + font-size: 12px; + line-height: 1.42857143; + color: #777; + white-space: nowrap; +} +.dropdown-backdrop { + position: fixed; + top: 0; + right: 0; + bottom: 0; + left: 0; + z-index: 990; +} +.pull-right > .dropdown-menu { + right: 0; + left: auto; +} +.dropup .caret, +.navbar-fixed-bottom .dropdown .caret { + content: ""; + border-top: 0; + border-bottom: 4px solid; +} +.dropup .dropdown-menu, +.navbar-fixed-bottom .dropdown .dropdown-menu { + top: auto; + bottom: 100%; + margin-bottom: 1px; +} +@media (min-width: 768px) { + .navbar-right .dropdown-menu { + right: 0; + left: auto; + } + .navbar-right .dropdown-menu-left { + right: auto; + left: 0; + } +} +.btn-group, +.btn-group-vertical { + position: relative; + display: inline-block; + vertical-align: middle; +} +.btn-group > .btn, +.btn-group-vertical > .btn { + position: relative; + float: left; +} +.btn-group > .btn:hover, +.btn-group-vertical > .btn:hover, +.btn-group > .btn:focus, +.btn-group-vertical > .btn:focus, +.btn-group > .btn:active, +.btn-group-vertical > .btn:active, +.btn-group > .btn.active, +.btn-group-vertical > .btn.active { + z-index: 2; +} +.btn-group > .btn:focus, +.btn-group-vertical > .btn:focus { + outline: 0; +} +.btn-group .btn + .btn, +.btn-group .btn + .btn-group, +.btn-group .btn-group + .btn, +.btn-group .btn-group + .btn-group { + margin-left: -1px; +} +.btn-toolbar { + margin-left: -5px; +} +.btn-toolbar .btn-group, +.btn-toolbar .input-group { + float: left; +} +.btn-toolbar > .btn, +.btn-toolbar > .btn-group, +.btn-toolbar > .input-group { + margin-left: 5px; +} +.btn-group > .btn:not(:first-child):not(:last-child):not(.dropdown-toggle) { + border-radius: 0; +} +.btn-group > .btn:first-child { + margin-left: 0; +} +.btn-group > .btn:first-child:not(:last-child):not(.dropdown-toggle) { + border-top-right-radius: 0; + border-bottom-right-radius: 0; +} +.btn-group > .btn:last-child:not(:first-child), +.btn-group > .dropdown-toggle:not(:first-child) { + border-top-left-radius: 0; + border-bottom-left-radius: 0; +} +.btn-group > .btn-group { + float: left; +} +.btn-group > .btn-group:not(:first-child):not(:last-child) > .btn { + border-radius: 0; +} +.btn-group > .btn-group:first-child > .btn:last-child, +.btn-group > .btn-group:first-child > .dropdown-toggle { + border-top-right-radius: 0; + border-bottom-right-radius: 0; +} +.btn-group > .btn-group:last-child > .btn:first-child { + border-top-left-radius: 0; + border-bottom-left-radius: 0; +} +.btn-group .dropdown-toggle:active, +.btn-group.open .dropdown-toggle { + outline: 0; +} +.btn-group > .btn + .dropdown-toggle { + padding-right: 8px; + padding-left: 8px; +} +.btn-group > .btn-lg + .dropdown-toggle { + padding-right: 12px; + padding-left: 12px; +} +.btn-group.open .dropdown-toggle { + -webkit-box-shadow: inset 0 3px 5px rgba(0, 0, 0, .125); + box-shadow: inset 0 3px 5px rgba(0, 0, 0, .125); +} +.btn-group.open .dropdown-toggle.btn-link { + -webkit-box-shadow: none; + box-shadow: none; +} +.btn .caret { + margin-left: 0; +} +.btn-lg .caret { + border-width: 5px 5px 0; + border-bottom-width: 0; +} +.dropup .btn-lg .caret { + border-width: 0 5px 5px; +} +.btn-group-vertical > .btn, +.btn-group-vertical > .btn-group, +.btn-group-vertical > .btn-group > .btn { + display: block; + float: none; + width: 100%; + max-width: 100%; +} +.btn-group-vertical > .btn-group > .btn { + float: none; +} +.btn-group-vertical > .btn + .btn, +.btn-group-vertical > .btn + .btn-group, +.btn-group-vertical > .btn-group + .btn, +.btn-group-vertical > .btn-group + .btn-group { + margin-top: -1px; + margin-left: 0; +} +.btn-group-vertical > .btn:not(:first-child):not(:last-child) { + border-radius: 0; +} +.btn-group-vertical > .btn:first-child:not(:last-child) { + border-top-right-radius: 4px; + border-bottom-right-radius: 0; + border-bottom-left-radius: 0; +} +.btn-group-vertical > .btn:last-child:not(:first-child) { + border-top-left-radius: 0; + border-top-right-radius: 0; + border-bottom-left-radius: 4px; +} +.btn-group-vertical > .btn-group:not(:first-child):not(:last-child) > .btn { + border-radius: 0; +} +.btn-group-vertical > .btn-group:first-child:not(:last-child) > .btn:last-child, +.btn-group-vertical > .btn-group:first-child:not(:last-child) > .dropdown-toggle { + border-bottom-right-radius: 0; + border-bottom-left-radius: 0; +} +.btn-group-vertical > .btn-group:last-child:not(:first-child) > .btn:first-child { + border-top-left-radius: 0; + border-top-right-radius: 0; +} +.btn-group-justified { + display: table; + width: 100%; + table-layout: fixed; + border-collapse: separate; +} +.btn-group-justified > .btn, +.btn-group-justified > .btn-group { + display: table-cell; + float: none; + width: 1%; +} +.btn-group-justified > .btn-group .btn { + width: 100%; +} +.btn-group-justified > .btn-group .dropdown-menu { + left: auto; +} +[data-toggle="buttons"] > .btn > input[type="radio"], +[data-toggle="buttons"] > .btn > input[type="checkbox"] { + position: absolute; + z-index: -1; + filter: alpha(opacity=0); + opacity: 0; +} +.input-group { + position: relative; + display: table; + border-collapse: separate; +} +.input-group[class*="col-"] { + float: none; + padding-right: 0; + padding-left: 0; +} +.input-group .form-control { + position: relative; + z-index: 2; + float: left; + width: 100%; + margin-bottom: 0; +} +.input-group-lg > .form-control, +.input-group-lg > .input-group-addon, +.input-group-lg > .input-group-btn > .btn { + height: 46px; + padding: 10px 16px; + font-size: 18px; + line-height: 1.33; + border-radius: 6px; +} +select.input-group-lg > .form-control, +select.input-group-lg > .input-group-addon, +select.input-group-lg > .input-group-btn > .btn { + height: 46px; + line-height: 46px; +} +textarea.input-group-lg > .form-control, +textarea.input-group-lg > .input-group-addon, +textarea.input-group-lg > .input-group-btn > .btn, +select[multiple].input-group-lg > .form-control, +select[multiple].input-group-lg > .input-group-addon, +select[multiple].input-group-lg > .input-group-btn > .btn { + height: auto; +} +.input-group-sm > .form-control, +.input-group-sm > .input-group-addon, +.input-group-sm > .input-group-btn > .btn { + height: 30px; + padding: 5px 10px; + font-size: 12px; + line-height: 1.5; + border-radius: 3px; +} +select.input-group-sm > .form-control, +select.input-group-sm > .input-group-addon, +select.input-group-sm > .input-group-btn > .btn { + height: 30px; + line-height: 30px; +} +textarea.input-group-sm > .form-control, +textarea.input-group-sm > .input-group-addon, +textarea.input-group-sm > .input-group-btn > .btn, +select[multiple].input-group-sm > .form-control, +select[multiple].input-group-sm > .input-group-addon, +select[multiple].input-group-sm > .input-group-btn > .btn { + height: auto; +} +.input-group-addon, +.input-group-btn, +.input-group .form-control { + display: table-cell; +} +.input-group-addon:not(:first-child):not(:last-child), +.input-group-btn:not(:first-child):not(:last-child), +.input-group .form-control:not(:first-child):not(:last-child) { + border-radius: 0; +} +.input-group-addon, +.input-group-btn { + width: 1%; + white-space: nowrap; + vertical-align: middle; +} +.input-group-addon { + padding: 6px 12px; + font-size: 14px; + font-weight: normal; + line-height: 1; + color: #555; + text-align: center; + background-color: #eee; + border: 1px solid #ccc; + border-radius: 4px; +} +.input-group-addon.input-sm { + padding: 5px 10px; + font-size: 12px; + border-radius: 3px; +} +.input-group-addon.input-lg { + padding: 10px 16px; + font-size: 18px; + border-radius: 6px; +} +.input-group-addon input[type="radio"], +.input-group-addon input[type="checkbox"] { + margin-top: 0; +} +.input-group .form-control:first-child, +.input-group-addon:first-child, +.input-group-btn:first-child > .btn, +.input-group-btn:first-child > .btn-group > .btn, +.input-group-btn:first-child > .dropdown-toggle, +.input-group-btn:last-child > .btn:not(:last-child):not(.dropdown-toggle), +.input-group-btn:last-child > .btn-group:not(:last-child) > .btn { + border-top-right-radius: 0; + border-bottom-right-radius: 0; +} +.input-group-addon:first-child { + border-right: 0; +} +.input-group .form-control:last-child, +.input-group-addon:last-child, +.input-group-btn:last-child > .btn, +.input-group-btn:last-child > .btn-group > .btn, +.input-group-btn:last-child > .dropdown-toggle, +.input-group-btn:first-child > .btn:not(:first-child), +.input-group-btn:first-child > .btn-group:not(:first-child) > .btn { + border-top-left-radius: 0; + border-bottom-left-radius: 0; +} +.input-group-addon:last-child { + border-left: 0; +} +.input-group-btn { + position: relative; + font-size: 0; + white-space: nowrap; +} +.input-group-btn > .btn { + position: relative; +} +.input-group-btn > .btn + .btn { + margin-left: -1px; +} +.input-group-btn > .btn:hover, +.input-group-btn > .btn:focus, +.input-group-btn > .btn:active { + z-index: 2; +} +.input-group-btn:first-child > .btn, +.input-group-btn:first-child > .btn-group { + margin-right: -1px; +} +.input-group-btn:last-child > .btn, +.input-group-btn:last-child > .btn-group { + margin-left: -1px; +} +.nav { + padding-left: 0; + margin-bottom: 0; + list-style: none; +} +.nav > li { + position: relative; + display: block; +} +.nav > li > a { + position: relative; + display: block; + padding: 10px 15px; +} +.nav > li > a:hover, +.nav > li > a:focus { + text-decoration: none; + background-color: #eee; +} +.nav > li.disabled > a { + color: #777; +} +.nav > li.disabled > a:hover, +.nav > li.disabled > a:focus { + color: #777; + text-decoration: none; + cursor: not-allowed; + background-color: transparent; +} +.nav .open > a, +.nav .open > a:hover, +.nav .open > a:focus { + background-color: #eee; + border-color: #428bca; +} +.nav .nav-divider { + height: 1px; + margin: 9px 0; + overflow: hidden; + background-color: #e5e5e5; +} +.nav > li > a > img { + max-width: none; +} +.nav-tabs { + border-bottom: 1px solid #ddd; +} +.nav-tabs > li { + float: left; + margin-bottom: -1px; +} +.nav-tabs > li > a { + margin-right: 2px; + line-height: 1.42857143; + border: 1px solid transparent; + border-radius: 4px 4px 0 0; +} +.nav-tabs > li > a:hover { + border-color: #eee #eee #ddd; +} +.nav-tabs > li.active > a, +.nav-tabs > li.active > a:hover, +.nav-tabs > li.active > a:focus { + color: #555; + cursor: default; + background-color: #fff; + border: 1px solid #ddd; + border-bottom-color: transparent; +} +.nav-tabs.nav-justified { + width: 100%; + border-bottom: 0; +} +.nav-tabs.nav-justified > li { + float: none; +} +.nav-tabs.nav-justified > li > a { + margin-bottom: 5px; + text-align: center; +} +.nav-tabs.nav-justified > .dropdown .dropdown-menu { + top: auto; + left: auto; +} +@media (min-width: 768px) { + .nav-tabs.nav-justified > li { + display: table-cell; + width: 1%; + } + .nav-tabs.nav-justified > li > a { + margin-bottom: 0; + } +} +.nav-tabs.nav-justified > li > a { + margin-right: 0; + border-radius: 4px; +} +.nav-tabs.nav-justified > .active > a, +.nav-tabs.nav-justified > .active > a:hover, +.nav-tabs.nav-justified > .active > a:focus { + border: 1px solid #ddd; +} +@media (min-width: 768px) { + .nav-tabs.nav-justified > li > a { + border-bottom: 1px solid #ddd; + border-radius: 4px 4px 0 0; + } + .nav-tabs.nav-justified > .active > a, + .nav-tabs.nav-justified > .active > a:hover, + .nav-tabs.nav-justified > .active > a:focus { + border-bottom-color: #fff; + } +} +.nav-pills > li { + float: left; +} +.nav-pills > li > a { + border-radius: 4px; +} +.nav-pills > li + li { + margin-left: 2px; +} +.nav-pills > li.active > a, +.nav-pills > li.active > a:hover, +.nav-pills > li.active > a:focus { + color: #fff; + background-color: #428bca; +} +.nav-stacked > li { + float: none; +} +.nav-stacked > li + li { + margin-top: 2px; + margin-left: 0; +} +.nav-justified { + width: 100%; +} +.nav-justified > li { + float: none; +} +.nav-justified > li > a { + margin-bottom: 5px; + text-align: center; +} +.nav-justified > .dropdown .dropdown-menu { + top: auto; + left: auto; +} +@media (min-width: 768px) { + .nav-justified > li { + display: table-cell; + width: 1%; + } + .nav-justified > li > a { + margin-bottom: 0; + } +} +.nav-tabs-justified { + border-bottom: 0; +} +.nav-tabs-justified > li > a { + margin-right: 0; + border-radius: 4px; +} +.nav-tabs-justified > .active > a, +.nav-tabs-justified > .active > a:hover, +.nav-tabs-justified > .active > a:focus { + border: 1px solid #ddd; +} +@media (min-width: 768px) { + .nav-tabs-justified > li > a { + border-bottom: 1px solid #ddd; + border-radius: 4px 4px 0 0; + } + .nav-tabs-justified > .active > a, + .nav-tabs-justified > .active > a:hover, + .nav-tabs-justified > .active > a:focus { + border-bottom-color: #fff; + } +} +.tab-content > .tab-pane { + display: none; +} +.tab-content > .active { + display: block; +} +.nav-tabs .dropdown-menu { + margin-top: -1px; + border-top-left-radius: 0; + border-top-right-radius: 0; +} +.navbar { + position: relative; + min-height: 50px; + margin-bottom: 20px; + border: 1px solid transparent; +} +@media (min-width: 768px) { + .navbar { + border-radius: 4px; + } +} +@media (min-width: 768px) { + .navbar-header { + float: left; + } +} +.navbar-collapse { + padding-right: 15px; + padding-left: 15px; + overflow-x: visible; + -webkit-overflow-scrolling: touch; + border-top: 1px solid transparent; + -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, .1); + box-shadow: inset 0 1px 0 rgba(255, 255, 255, .1); +} +.navbar-collapse.in { + overflow-y: auto; +} +@media (min-width: 768px) { + .navbar-collapse { + width: auto; + border-top: 0; + -webkit-box-shadow: none; + box-shadow: none; + } + .navbar-collapse.collapse { + display: block !important; + height: auto !important; + padding-bottom: 0; + overflow: visible !important; + } + .navbar-collapse.in { + overflow-y: visible; + } + .navbar-fixed-top .navbar-collapse, + .navbar-static-top .navbar-collapse, + .navbar-fixed-bottom .navbar-collapse { + padding-right: 0; + padding-left: 0; + } +} +.navbar-fixed-top .navbar-collapse, +.navbar-fixed-bottom .navbar-collapse { + max-height: 340px; +} +@media (max-width: 480px) and (orientation: landscape) { + .navbar-fixed-top .navbar-collapse, + .navbar-fixed-bottom .navbar-collapse { + max-height: 200px; + } +} +.container > .navbar-header, +.container-fluid > .navbar-header, +.container > .navbar-collapse, +.container-fluid > .navbar-collapse { + margin-right: -15px; + margin-left: -15px; +} +@media (min-width: 768px) { + .container > .navbar-header, + .container-fluid > .navbar-header, + .container > .navbar-collapse, + .container-fluid > .navbar-collapse { + margin-right: 0; + margin-left: 0; + } +} +.navbar-static-top { + z-index: 1000; + border-width: 0 0 1px; +} +@media (min-width: 768px) { + .navbar-static-top { + border-radius: 0; + } +} +.navbar-fixed-top, +.navbar-fixed-bottom { + position: fixed; + right: 0; + left: 0; + z-index: 1030; + -webkit-transform: translate3d(0, 0, 0); + -o-transform: translate3d(0, 0, 0); + transform: translate3d(0, 0, 0); +} +@media (min-width: 768px) { + .navbar-fixed-top, + .navbar-fixed-bottom { + border-radius: 0; + } +} +.navbar-fixed-top { + top: 0; + border-width: 0 0 1px; +} +.navbar-fixed-bottom { + bottom: 0; + margin-bottom: 0; + border-width: 1px 0 0; +} +.navbar-brand { + float: left; + height: 50px; + padding: 15px 15px; + font-size: 18px; + line-height: 20px; +} +.navbar-brand:hover, +.navbar-brand:focus { + text-decoration: none; +} +@media (min-width: 768px) { + .navbar > .container .navbar-brand, + .navbar > .container-fluid .navbar-brand { + margin-left: -15px; + } +} +.navbar-toggle { + position: relative; + float: right; + padding: 9px 10px; + margin-top: 8px; + margin-right: 15px; + margin-bottom: 8px; + background-color: transparent; + background-image: none; + border: 1px solid transparent; + border-radius: 4px; +} +.navbar-toggle:focus { + outline: 0; +} +.navbar-toggle .icon-bar { + display: block; + width: 22px; + height: 2px; + border-radius: 1px; +} +.navbar-toggle .icon-bar + .icon-bar { + margin-top: 4px; +} +@media (min-width: 768px) { + .navbar-toggle { + display: none; + } +} +.navbar-nav { + margin: 7.5px -15px; +} +.navbar-nav > li > a { + padding-top: 10px; + padding-bottom: 10px; + line-height: 20px; +} +@media (max-width: 767px) { + .navbar-nav .open .dropdown-menu { + position: static; + float: none; + width: auto; + margin-top: 0; + background-color: transparent; + border: 0; + -webkit-box-shadow: none; + box-shadow: none; + } + .navbar-nav .open .dropdown-menu > li > a, + .navbar-nav .open .dropdown-menu .dropdown-header { + padding: 5px 15px 5px 25px; + } + .navbar-nav .open .dropdown-menu > li > a { + line-height: 20px; + } + .navbar-nav .open .dropdown-menu > li > a:hover, + .navbar-nav .open .dropdown-menu > li > a:focus { + background-image: none; + } +} +@media (min-width: 768px) { + .navbar-nav { + float: left; + margin: 0; + } + .navbar-nav > li { + float: left; + } + .navbar-nav > li > a { + padding-top: 15px; + padding-bottom: 15px; + } + .navbar-nav.navbar-right:last-child { + margin-right: -15px; + } +} +@media (min-width: 768px) { + .navbar-left { + float: left !important; + } + .navbar-right { + float: right !important; + } +} +.navbar-form { + padding: 10px 15px; + margin-top: 8px; + margin-right: -15px; + margin-bottom: 8px; + margin-left: -15px; + border-top: 1px solid transparent; + border-bottom: 1px solid transparent; + -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, .1), 0 1px 0 rgba(255, 255, 255, .1); + box-shadow: inset 0 1px 0 rgba(255, 255, 255, .1), 0 1px 0 rgba(255, 255, 255, .1); +} +@media (min-width: 768px) { + .navbar-form .form-group { + display: inline-block; + margin-bottom: 0; + vertical-align: middle; + } + .navbar-form .form-control { + display: inline-block; + width: auto; + vertical-align: middle; + } + .navbar-form .input-group { + display: inline-table; + vertical-align: middle; + } + .navbar-form .input-group .input-group-addon, + .navbar-form .input-group .input-group-btn, + .navbar-form .input-group .form-control { + width: auto; + } + .navbar-form .input-group > .form-control { + width: 100%; + } + .navbar-form .control-label { + margin-bottom: 0; + vertical-align: middle; + } + .navbar-form .radio, + .navbar-form .checkbox { + display: inline-block; + margin-top: 0; + margin-bottom: 0; + vertical-align: middle; + } + .navbar-form .radio label, + .navbar-form .checkbox label { + padding-left: 0; + } + .navbar-form .radio input[type="radio"], + .navbar-form .checkbox input[type="checkbox"] { + position: relative; + margin-left: 0; + } + .navbar-form .has-feedback .form-control-feedback { + top: 0; + } +} +@media (max-width: 767px) { + .navbar-form .form-group { + margin-bottom: 5px; + } +} +@media (min-width: 768px) { + .navbar-form { + width: auto; + padding-top: 0; + padding-bottom: 0; + margin-right: 0; + margin-left: 0; + border: 0; + -webkit-box-shadow: none; + box-shadow: none; + } + .navbar-form.navbar-right:last-child { + margin-right: -15px; + } +} +.navbar-nav > li > .dropdown-menu { + margin-top: 0; + border-top-left-radius: 0; + border-top-right-radius: 0; +} +.navbar-fixed-bottom .navbar-nav > li > .dropdown-menu { + border-bottom-right-radius: 0; + border-bottom-left-radius: 0; +} +.navbar-btn { + margin-top: 8px; + margin-bottom: 8px; +} +.navbar-btn.btn-sm { + margin-top: 10px; + margin-bottom: 10px; +} +.navbar-btn.btn-xs { + margin-top: 14px; + margin-bottom: 14px; +} +.navbar-text { + margin-top: 15px; + margin-bottom: 15px; +} +@media (min-width: 768px) { + .navbar-text { + float: left; + margin-right: 15px; + margin-left: 15px; + } + .navbar-text.navbar-right:last-child { + margin-right: 0; + } +} +.navbar-default { + background-color: #f8f8f8; + border-color: #e7e7e7; +} +.navbar-default .navbar-brand { + color: #777; +} +.navbar-default .navbar-brand:hover, +.navbar-default .navbar-brand:focus { + color: #5e5e5e; + background-color: transparent; +} +.navbar-default .navbar-text { + color: #777; +} +.navbar-default .navbar-nav > li > a { + color: #777; +} +.navbar-default .navbar-nav > li > a:hover, +.navbar-default .navbar-nav > li > a:focus { + color: #333; + background-color: transparent; +} +.navbar-default .navbar-nav > .active > a, +.navbar-default .navbar-nav > .active > a:hover, +.navbar-default .navbar-nav > .active > a:focus { + color: #555; + background-color: #e7e7e7; +} +.navbar-default .navbar-nav > .disabled > a, +.navbar-default .navbar-nav > .disabled > a:hover, +.navbar-default .navbar-nav > .disabled > a:focus { + color: #ccc; + background-color: transparent; +} +.navbar-default .navbar-toggle { + border-color: #ddd; +} +.navbar-default .navbar-toggle:hover, +.navbar-default .navbar-toggle:focus { + background-color: #ddd; +} +.navbar-default .navbar-toggle .icon-bar { + background-color: #888; +} +.navbar-default .navbar-collapse, +.navbar-default .navbar-form { + border-color: #e7e7e7; +} +.navbar-default .navbar-nav > .open > a, +.navbar-default .navbar-nav > .open > a:hover, +.navbar-default .navbar-nav > .open > a:focus { + color: #555; + background-color: #e7e7e7; +} +@media (max-width: 767px) { + .navbar-default .navbar-nav .open .dropdown-menu > li > a { + color: #777; + } + .navbar-default .navbar-nav .open .dropdown-menu > li > a:hover, + .navbar-default .navbar-nav .open .dropdown-menu > li > a:focus { + color: #333; + background-color: transparent; + } + .navbar-default .navbar-nav .open .dropdown-menu > .active > a, + .navbar-default .navbar-nav .open .dropdown-menu > .active > a:hover, + .navbar-default .navbar-nav .open .dropdown-menu > .active > a:focus { + color: #555; + background-color: #e7e7e7; + } + .navbar-default .navbar-nav .open .dropdown-menu > .disabled > a, + .navbar-default .navbar-nav .open .dropdown-menu > .disabled > a:hover, + .navbar-default .navbar-nav .open .dropdown-menu > .disabled > a:focus { + color: #ccc; + background-color: transparent; + } +} +.navbar-default .navbar-link { + color: #777; +} +.navbar-default .navbar-link:hover { + color: #333; +} +.navbar-default .btn-link { + color: #777; +} +.navbar-default .btn-link:hover, +.navbar-default .btn-link:focus { + color: #333; +} +.navbar-default .btn-link[disabled]:hover, +fieldset[disabled] .navbar-default .btn-link:hover, +.navbar-default .btn-link[disabled]:focus, +fieldset[disabled] .navbar-default .btn-link:focus { + color: #ccc; +} +.navbar-inverse { + background-color: #222; + border-color: #080808; +} +.navbar-inverse .navbar-brand { + color: #777; +} +.navbar-inverse .navbar-brand:hover, +.navbar-inverse .navbar-brand:focus { + color: #fff; + background-color: transparent; +} +.navbar-inverse .navbar-text { + color: #777; +} +.navbar-inverse .navbar-nav > li > a { + color: #777; +} +.navbar-inverse .navbar-nav > li > a:hover, +.navbar-inverse .navbar-nav > li > a:focus { + color: #fff; + background-color: transparent; +} +.navbar-inverse .navbar-nav > .active > a, +.navbar-inverse .navbar-nav > .active > a:hover, +.navbar-inverse .navbar-nav > .active > a:focus { + color: #fff; + background-color: #080808; +} +.navbar-inverse .navbar-nav > .disabled > a, +.navbar-inverse .navbar-nav > .disabled > a:hover, +.navbar-inverse .navbar-nav > .disabled > a:focus { + color: #444; + background-color: transparent; +} +.navbar-inverse .navbar-toggle { + border-color: #333; +} +.navbar-inverse .navbar-toggle:hover, +.navbar-inverse .navbar-toggle:focus { + background-color: #333; +} +.navbar-inverse .navbar-toggle .icon-bar { + background-color: #fff; +} +.navbar-inverse .navbar-collapse, +.navbar-inverse .navbar-form { + border-color: #101010; +} +.navbar-inverse .navbar-nav > .open > a, +.navbar-inverse .navbar-nav > .open > a:hover, +.navbar-inverse .navbar-nav > .open > a:focus { + color: #fff; + background-color: #080808; +} +@media (max-width: 767px) { + .navbar-inverse .navbar-nav .open .dropdown-menu > .dropdown-header { + border-color: #080808; + } + .navbar-inverse .navbar-nav .open .dropdown-menu .divider { + background-color: #080808; + } + .navbar-inverse .navbar-nav .open .dropdown-menu > li > a { + color: #777; + } + .navbar-inverse .navbar-nav .open .dropdown-menu > li > a:hover, + .navbar-inverse .navbar-nav .open .dropdown-menu > li > a:focus { + color: #fff; + background-color: transparent; + } + .navbar-inverse .navbar-nav .open .dropdown-menu > .active > a, + .navbar-inverse .navbar-nav .open .dropdown-menu > .active > a:hover, + .navbar-inverse .navbar-nav .open .dropdown-menu > .active > a:focus { + color: #fff; + background-color: #080808; + } + .navbar-inverse .navbar-nav .open .dropdown-menu > .disabled > a, + .navbar-inverse .navbar-nav .open .dropdown-menu > .disabled > a:hover, + .navbar-inverse .navbar-nav .open .dropdown-menu > .disabled > a:focus { + color: #444; + background-color: transparent; + } +} +.navbar-inverse .navbar-link { + color: #777; +} +.navbar-inverse .navbar-link:hover { + color: #fff; +} +.navbar-inverse .btn-link { + color: #777; +} +.navbar-inverse .btn-link:hover, +.navbar-inverse .btn-link:focus { + color: #fff; +} +.navbar-inverse .btn-link[disabled]:hover, +fieldset[disabled] .navbar-inverse .btn-link:hover, +.navbar-inverse .btn-link[disabled]:focus, +fieldset[disabled] .navbar-inverse .btn-link:focus { + color: #444; +} +.breadcrumb { + padding: 8px 15px; + margin-bottom: 20px; + list-style: none; + background-color: #f5f5f5; + border-radius: 4px; +} +.breadcrumb > li { + display: inline-block; +} +.breadcrumb > li + li:before { + padding: 0 5px; + color: #ccc; + content: "/\00a0"; +} +.breadcrumb > .active { + color: #777; +} +.pagination { + display: inline-block; + padding-left: 0; + margin: 20px 0; + border-radius: 4px; +} +.pagination > li { + display: inline; +} +.pagination > li > a, +.pagination > li > span { + position: relative; + float: left; + padding: 6px 12px; + margin-left: -1px; + line-height: 1.42857143; + color: #428bca; + text-decoration: none; + background-color: #fff; + border: 1px solid #ddd; +} +.pagination > li:first-child > a, +.pagination > li:first-child > span { + margin-left: 0; + border-top-left-radius: 4px; + border-bottom-left-radius: 4px; +} +.pagination > li:last-child > a, +.pagination > li:last-child > span { + border-top-right-radius: 4px; + border-bottom-right-radius: 4px; +} +.pagination > li > a:hover, +.pagination > li > span:hover, +.pagination > li > a:focus, +.pagination > li > span:focus { + color: #2a6496; + background-color: #eee; + border-color: #ddd; +} +.pagination > .active > a, +.pagination > .active > span, +.pagination > .active > a:hover, +.pagination > .active > span:hover, +.pagination > .active > a:focus, +.pagination > .active > span:focus { + z-index: 2; + color: #fff; + cursor: default; + background-color: #428bca; + border-color: #428bca; +} +.pagination > .disabled > span, +.pagination > .disabled > span:hover, +.pagination > .disabled > span:focus, +.pagination > .disabled > a, +.pagination > .disabled > a:hover, +.pagination > .disabled > a:focus { + color: #777; + cursor: not-allowed; + background-color: #fff; + border-color: #ddd; +} +.pagination-lg > li > a, +.pagination-lg > li > span { + padding: 10px 16px; + font-size: 18px; +} +.pagination-lg > li:first-child > a, +.pagination-lg > li:first-child > span { + border-top-left-radius: 6px; + border-bottom-left-radius: 6px; +} +.pagination-lg > li:last-child > a, +.pagination-lg > li:last-child > span { + border-top-right-radius: 6px; + border-bottom-right-radius: 6px; +} +.pagination-sm > li > a, +.pagination-sm > li > span { + padding: 5px 10px; + font-size: 12px; +} +.pagination-sm > li:first-child > a, +.pagination-sm > li:first-child > span { + border-top-left-radius: 3px; + border-bottom-left-radius: 3px; +} +.pagination-sm > li:last-child > a, +.pagination-sm > li:last-child > span { + border-top-right-radius: 3px; + border-bottom-right-radius: 3px; +} +.pager { + padding-left: 0; + margin: 20px 0; + text-align: center; + list-style: none; +} +.pager li { + display: inline; +} +.pager li > a, +.pager li > span { + display: inline-block; + padding: 5px 14px; + background-color: #fff; + border: 1px solid #ddd; + border-radius: 15px; +} +.pager li > a:hover, +.pager li > a:focus { + text-decoration: none; + background-color: #eee; +} +.pager .next > a, +.pager .next > span { + float: right; +} +.pager .previous > a, +.pager .previous > span { + float: left; +} +.pager .disabled > a, +.pager .disabled > a:hover, +.pager .disabled > a:focus, +.pager .disabled > span { + color: #777; + cursor: not-allowed; + background-color: #fff; +} +.label { + display: inline; + padding: .2em .6em .3em; + font-size: 75%; + font-weight: bold; + line-height: 1; + color: #fff; + text-align: center; + white-space: nowrap; + vertical-align: baseline; + border-radius: .25em; +} +a.label:hover, +a.label:focus { + color: #fff; + text-decoration: none; + cursor: pointer; +} +.label:empty { + display: none; +} +.btn .label { + position: relative; + top: -1px; +} +.label-default { + background-color: #777; +} +.label-default[href]:hover, +.label-default[href]:focus { + background-color: #5e5e5e; +} +.label-primary { + background-color: #428bca; +} +.label-primary[href]:hover, +.label-primary[href]:focus { + background-color: #3071a9; +} +.label-success { + background-color: #5cb85c; +} +.label-success[href]:hover, +.label-success[href]:focus { + background-color: #449d44; +} +.label-info { + background-color: #5bc0de; +} +.label-info[href]:hover, +.label-info[href]:focus { + background-color: #31b0d5; +} +.label-warning { + background-color: #f0ad4e; +} +.label-warning[href]:hover, +.label-warning[href]:focus { + background-color: #ec971f; +} +.label-danger { + background-color: #d9534f; +} +.label-danger[href]:hover, +.label-danger[href]:focus { + background-color: #c9302c; +} +.badge { + display: inline-block; + min-width: 10px; + padding: 3px 7px; + font-size: 12px; + font-weight: bold; + line-height: 1; + color: #fff; + text-align: center; + white-space: nowrap; + vertical-align: baseline; + background-color: #777; + border-radius: 10px; +} +.badge:empty { + display: none; +} +.btn .badge { + position: relative; + top: -1px; +} +.btn-xs .badge { + top: 0; + padding: 1px 5px; +} +a.badge:hover, +a.badge:focus { + color: #fff; + text-decoration: none; + cursor: pointer; +} +a.list-group-item.active > .badge, +.nav-pills > .active > a > .badge { + color: #428bca; + background-color: #fff; +} +.nav-pills > li > a > .badge { + margin-left: 3px; +} +.jumbotron { + padding: 30px; + margin-bottom: 30px; + color: inherit; + background-color: #eee; +} +.jumbotron h1, +.jumbotron .h1 { + color: inherit; +} +.jumbotron p { + margin-bottom: 15px; + font-size: 21px; + font-weight: 200; +} +.jumbotron > hr { + border-top-color: #d5d5d5; +} +.container .jumbotron { + border-radius: 6px; +} +.jumbotron .container { + max-width: 100%; +} +@media screen and (min-width: 768px) { + .jumbotron { + padding-top: 48px; + padding-bottom: 48px; + } + .container .jumbotron { + padding-right: 60px; + padding-left: 60px; + } + .jumbotron h1, + .jumbotron .h1 { + font-size: 63px; + } +} +.thumbnail { + display: block; + padding: 4px; + margin-bottom: 20px; + line-height: 1.42857143; + background-color: #fff; + border: 1px solid #ddd; + border-radius: 4px; + -webkit-transition: all .2s ease-in-out; + -o-transition: all .2s ease-in-out; + transition: all .2s ease-in-out; +} +.thumbnail > img, +.thumbnail a > img { + margin-right: auto; + margin-left: auto; +} +a.thumbnail:hover, +a.thumbnail:focus, +a.thumbnail.active { + border-color: #428bca; +} +.thumbnail .caption { + padding: 9px; + color: #333; +} +.alert { + padding: 15px; + margin-bottom: 20px; + border: 1px solid transparent; + border-radius: 4px; +} +.alert h4 { + margin-top: 0; + color: inherit; +} +.alert .alert-link { + font-weight: bold; +} +.alert > p, +.alert > ul { + margin-bottom: 0; +} +.alert > p + p { + margin-top: 5px; +} +.alert-dismissable, +.alert-dismissible { + padding-right: 35px; +} +.alert-dismissable .close, +.alert-dismissible .close { + position: relative; + top: -2px; + right: -21px; + color: inherit; +} +.alert-success { + color: #3c763d; + background-color: #dff0d8; + border-color: #d6e9c6; +} +.alert-success hr { + border-top-color: #c9e2b3; +} +.alert-success .alert-link { + color: #2b542c; +} +.alert-info { + color: #31708f; + background-color: #d9edf7; + border-color: #bce8f1; +} +.alert-info hr { + border-top-color: #a6e1ec; +} +.alert-info .alert-link { + color: #245269; +} +.alert-warning { + color: #8a6d3b; + background-color: #fcf8e3; + border-color: #faebcc; +} +.alert-warning hr { + border-top-color: #f7e1b5; +} +.alert-warning .alert-link { + color: #66512c; +} +.alert-danger { + color: #a94442; + background-color: #f2dede; + border-color: #ebccd1; +} +.alert-danger hr { + border-top-color: #e4b9c0; +} +.alert-danger .alert-link { + color: #843534; +} +@-webkit-keyframes progress-bar-stripes { + from { + background-position: 40px 0; + } + to { + background-position: 0 0; + } +} +@-o-keyframes progress-bar-stripes { + from { + background-position: 40px 0; + } + to { + background-position: 0 0; + } +} +@keyframes progress-bar-stripes { + from { + background-position: 40px 0; + } + to { + background-position: 0 0; + } +} +.progress { + height: 20px; + margin-bottom: 20px; + overflow: hidden; + background-color: #f5f5f5; + border-radius: 4px; + -webkit-box-shadow: inset 0 1px 2px rgba(0, 0, 0, .1); + box-shadow: inset 0 1px 2px rgba(0, 0, 0, .1); +} +.progress-bar { + float: left; + width: 0; + height: 100%; + font-size: 12px; + line-height: 20px; + color: #fff; + text-align: center; + background-color: #428bca; + -webkit-box-shadow: inset 0 -1px 0 rgba(0, 0, 0, .15); + box-shadow: inset 0 -1px 0 rgba(0, 0, 0, .15); + -webkit-transition: width .6s ease; + -o-transition: width .6s ease; + transition: width .6s ease; +} +.progress-striped .progress-bar, +.progress-bar-striped { + background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent); + background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent); + background-image: linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent); + -webkit-background-size: 40px 40px; + background-size: 40px 40px; +} +.progress.active .progress-bar, +.progress-bar.active { + -webkit-animation: progress-bar-stripes 2s linear infinite; + -o-animation: progress-bar-stripes 2s linear infinite; + animation: progress-bar-stripes 2s linear infinite; +} +.progress-bar[aria-valuenow="1"], +.progress-bar[aria-valuenow="2"] { + min-width: 30px; +} +.progress-bar[aria-valuenow="0"] { + min-width: 30px; + color: #777; + background-color: transparent; + background-image: none; + -webkit-box-shadow: none; + box-shadow: none; +} +.progress-bar-success { + background-color: #5cb85c; +} +.progress-striped .progress-bar-success { + background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent); + background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent); + background-image: linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent); +} +.progress-bar-info { + background-color: #5bc0de; +} +.progress-striped .progress-bar-info { + background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent); + background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent); + background-image: linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent); +} +.progress-bar-warning { + background-color: #f0ad4e; +} +.progress-striped .progress-bar-warning { + background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent); + background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent); + background-image: linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent); +} +.progress-bar-danger { + background-color: #d9534f; +} +.progress-striped .progress-bar-danger { + background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent); + background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent); + background-image: linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent); +} +.media, +.media-body { + overflow: hidden; + zoom: 1; +} +.media, +.media .media { + margin-top: 15px; +} +.media:first-child { + margin-top: 0; +} +.media-object { + display: block; +} +.media-heading { + margin: 0 0 5px; +} +.media > .pull-left { + margin-right: 10px; +} +.media > .pull-right { + margin-left: 10px; +} +.media-list { + padding-left: 0; + list-style: none; +} +.list-group { + padding-left: 0; + margin-bottom: 20px; +} +.list-group-item { + position: relative; + display: block; + padding: 10px 15px; + margin-bottom: -1px; + background-color: #fff; + border: 1px solid #ddd; +} +.list-group-item:first-child { + border-top-left-radius: 4px; + border-top-right-radius: 4px; +} +.list-group-item:last-child { + margin-bottom: 0; + border-bottom-right-radius: 4px; + border-bottom-left-radius: 4px; +} +.list-group-item > .badge { + float: right; +} +.list-group-item > .badge + .badge { + margin-right: 5px; +} +a.list-group-item { + color: #555; +} +a.list-group-item .list-group-item-heading { + color: #333; +} +a.list-group-item:hover, +a.list-group-item:focus { + color: #555; + text-decoration: none; + background-color: #f5f5f5; +} +.list-group-item.disabled, +.list-group-item.disabled:hover, +.list-group-item.disabled:focus { + color: #777; + background-color: #eee; +} +.list-group-item.disabled .list-group-item-heading, +.list-group-item.disabled:hover .list-group-item-heading, +.list-group-item.disabled:focus .list-group-item-heading { + color: inherit; +} +.list-group-item.disabled .list-group-item-text, +.list-group-item.disabled:hover .list-group-item-text, +.list-group-item.disabled:focus .list-group-item-text { + color: #777; +} +.list-group-item.active, +.list-group-item.active:hover, +.list-group-item.active:focus { + z-index: 2; + color: #fff; + background-color: #428bca; + border-color: #428bca; +} +.list-group-item.active .list-group-item-heading, +.list-group-item.active:hover .list-group-item-heading, +.list-group-item.active:focus .list-group-item-heading, +.list-group-item.active .list-group-item-heading > small, +.list-group-item.active:hover .list-group-item-heading > small, +.list-group-item.active:focus .list-group-item-heading > small, +.list-group-item.active .list-group-item-heading > .small, +.list-group-item.active:hover .list-group-item-heading > .small, +.list-group-item.active:focus .list-group-item-heading > .small { + color: inherit; +} +.list-group-item.active .list-group-item-text, +.list-group-item.active:hover .list-group-item-text, +.list-group-item.active:focus .list-group-item-text { + color: #e1edf7; +} +.list-group-item-success { + color: #3c763d; + background-color: #dff0d8; +} +a.list-group-item-success { + color: #3c763d; +} +a.list-group-item-success .list-group-item-heading { + color: inherit; +} +a.list-group-item-success:hover, +a.list-group-item-success:focus { + color: #3c763d; + background-color: #d0e9c6; +} +a.list-group-item-success.active, +a.list-group-item-success.active:hover, +a.list-group-item-success.active:focus { + color: #fff; + background-color: #3c763d; + border-color: #3c763d; +} +.list-group-item-info { + color: #31708f; + background-color: #d9edf7; +} +a.list-group-item-info { + color: #31708f; +} +a.list-group-item-info .list-group-item-heading { + color: inherit; +} +a.list-group-item-info:hover, +a.list-group-item-info:focus { + color: #31708f; + background-color: #c4e3f3; +} +a.list-group-item-info.active, +a.list-group-item-info.active:hover, +a.list-group-item-info.active:focus { + color: #fff; + background-color: #31708f; + border-color: #31708f; +} +.list-group-item-warning { + color: #8a6d3b; + background-color: #fcf8e3; +} +a.list-group-item-warning { + color: #8a6d3b; +} +a.list-group-item-warning .list-group-item-heading { + color: inherit; +} +a.list-group-item-warning:hover, +a.list-group-item-warning:focus { + color: #8a6d3b; + background-color: #faf2cc; +} +a.list-group-item-warning.active, +a.list-group-item-warning.active:hover, +a.list-group-item-warning.active:focus { + color: #fff; + background-color: #8a6d3b; + border-color: #8a6d3b; +} +.list-group-item-danger { + color: #a94442; + background-color: #f2dede; +} +a.list-group-item-danger { + color: #a94442; +} +a.list-group-item-danger .list-group-item-heading { + color: inherit; +} +a.list-group-item-danger:hover, +a.list-group-item-danger:focus { + color: #a94442; + background-color: #ebcccc; +} +a.list-group-item-danger.active, +a.list-group-item-danger.active:hover, +a.list-group-item-danger.active:focus { + color: #fff; + background-color: #a94442; + border-color: #a94442; +} +.list-group-item-heading { + margin-top: 0; + margin-bottom: 5px; +} +.list-group-item-text { + margin-bottom: 0; + line-height: 1.3; +} +.panel { + margin-bottom: 20px; + background-color: #fff; + border: 1px solid transparent; + border-radius: 4px; + -webkit-box-shadow: 0 1px 1px rgba(0, 0, 0, .05); + box-shadow: 0 1px 1px rgba(0, 0, 0, .05); +} +.panel-body { + padding: 15px; +} +.panel-heading { + padding: 10px 15px; + border-bottom: 1px solid transparent; + border-top-left-radius: 3px; + border-top-right-radius: 3px; +} +.panel-heading > .dropdown .dropdown-toggle { + color: inherit; +} +.panel-title { + margin-top: 0; + margin-bottom: 0; + font-size: 16px; + color: inherit; +} +.panel-title > a { + color: inherit; +} +.panel-footer { + padding: 10px 15px; + background-color: #f5f5f5; + border-top: 1px solid #ddd; + border-bottom-right-radius: 3px; + border-bottom-left-radius: 3px; +} +.panel > .list-group { + margin-bottom: 0; +} +.panel > .list-group .list-group-item { + border-width: 1px 0; + border-radius: 0; +} +.panel > .list-group:first-child .list-group-item:first-child { + border-top: 0; + border-top-left-radius: 3px; + border-top-right-radius: 3px; +} +.panel > .list-group:last-child .list-group-item:last-child { + border-bottom: 0; + border-bottom-right-radius: 3px; + border-bottom-left-radius: 3px; +} +.panel-heading + .list-group .list-group-item:first-child { + border-top-width: 0; +} +.list-group + .panel-footer { + border-top-width: 0; +} +.panel > .table, +.panel > .table-responsive > .table, +.panel > .panel-collapse > .table { + margin-bottom: 0; +} +.panel > .table:first-child, +.panel > .table-responsive:first-child > .table:first-child { + border-top-left-radius: 3px; + border-top-right-radius: 3px; +} +.panel > .table:first-child > thead:first-child > tr:first-child td:first-child, +.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child td:first-child, +.panel > .table:first-child > tbody:first-child > tr:first-child td:first-child, +.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child td:first-child, +.panel > .table:first-child > thead:first-child > tr:first-child th:first-child, +.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child th:first-child, +.panel > .table:first-child > tbody:first-child > tr:first-child th:first-child, +.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child th:first-child { + border-top-left-radius: 3px; +} +.panel > .table:first-child > thead:first-child > tr:first-child td:last-child, +.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child td:last-child, +.panel > .table:first-child > tbody:first-child > tr:first-child td:last-child, +.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child td:last-child, +.panel > .table:first-child > thead:first-child > tr:first-child th:last-child, +.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child th:last-child, +.panel > .table:first-child > tbody:first-child > tr:first-child th:last-child, +.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child th:last-child { + border-top-right-radius: 3px; +} +.panel > .table:last-child, +.panel > .table-responsive:last-child > .table:last-child { + border-bottom-right-radius: 3px; + border-bottom-left-radius: 3px; +} +.panel > .table:last-child > tbody:last-child > tr:last-child td:first-child, +.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child td:first-child, +.panel > .table:last-child > tfoot:last-child > tr:last-child td:first-child, +.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child td:first-child, +.panel > .table:last-child > tbody:last-child > tr:last-child th:first-child, +.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child th:first-child, +.panel > .table:last-child > tfoot:last-child > tr:last-child th:first-child, +.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child th:first-child { + border-bottom-left-radius: 3px; +} +.panel > .table:last-child > tbody:last-child > tr:last-child td:last-child, +.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child td:last-child, +.panel > .table:last-child > tfoot:last-child > tr:last-child td:last-child, +.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child td:last-child, +.panel > .table:last-child > tbody:last-child > tr:last-child th:last-child, +.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child th:last-child, +.panel > .table:last-child > tfoot:last-child > tr:last-child th:last-child, +.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child th:last-child { + border-bottom-right-radius: 3px; +} +.panel > .panel-body + .table, +.panel > .panel-body + .table-responsive { + border-top: 1px solid #ddd; +} +.panel > .table > tbody:first-child > tr:first-child th, +.panel > .table > tbody:first-child > tr:first-child td { + border-top: 0; +} +.panel > .table-bordered, +.panel > .table-responsive > .table-bordered { + border: 0; +} +.panel > .table-bordered > thead > tr > th:first-child, +.panel > .table-responsive > .table-bordered > thead > tr > th:first-child, +.panel > .table-bordered > tbody > tr > th:first-child, +.panel > .table-responsive > .table-bordered > tbody > tr > th:first-child, +.panel > .table-bordered > tfoot > tr > th:first-child, +.panel > .table-responsive > .table-bordered > tfoot > tr > th:first-child, +.panel > .table-bordered > thead > tr > td:first-child, +.panel > .table-responsive > .table-bordered > thead > tr > td:first-child, +.panel > .table-bordered > tbody > tr > td:first-child, +.panel > .table-responsive > .table-bordered > tbody > tr > td:first-child, +.panel > .table-bordered > tfoot > tr > td:first-child, +.panel > .table-responsive > .table-bordered > tfoot > tr > td:first-child { + border-left: 0; +} +.panel > .table-bordered > thead > tr > th:last-child, +.panel > .table-responsive > .table-bordered > thead > tr > th:last-child, +.panel > .table-bordered > tbody > tr > th:last-child, +.panel > .table-responsive > .table-bordered > tbody > tr > th:last-child, +.panel > .table-bordered > tfoot > tr > th:last-child, +.panel > .table-responsive > .table-bordered > tfoot > tr > th:last-child, +.panel > .table-bordered > thead > tr > td:last-child, +.panel > .table-responsive > .table-bordered > thead > tr > td:last-child, +.panel > .table-bordered > tbody > tr > td:last-child, +.panel > .table-responsive > .table-bordered > tbody > tr > td:last-child, +.panel > .table-bordered > tfoot > tr > td:last-child, +.panel > .table-responsive > .table-bordered > tfoot > tr > td:last-child { + border-right: 0; +} +.panel > .table-bordered > thead > tr:first-child > td, +.panel > .table-responsive > .table-bordered > thead > tr:first-child > td, +.panel > .table-bordered > tbody > tr:first-child > td, +.panel > .table-responsive > .table-bordered > tbody > tr:first-child > td, +.panel > .table-bordered > thead > tr:first-child > th, +.panel > .table-responsive > .table-bordered > thead > tr:first-child > th, +.panel > .table-bordered > tbody > tr:first-child > th, +.panel > .table-responsive > .table-bordered > tbody > tr:first-child > th { + border-bottom: 0; +} +.panel > .table-bordered > tbody > tr:last-child > td, +.panel > .table-responsive > .table-bordered > tbody > tr:last-child > td, +.panel > .table-bordered > tfoot > tr:last-child > td, +.panel > .table-responsive > .table-bordered > tfoot > tr:last-child > td, +.panel > .table-bordered > tbody > tr:last-child > th, +.panel > .table-responsive > .table-bordered > tbody > tr:last-child > th, +.panel > .table-bordered > tfoot > tr:last-child > th, +.panel > .table-responsive > .table-bordered > tfoot > tr:last-child > th { + border-bottom: 0; +} +.panel > .table-responsive { + margin-bottom: 0; + border: 0; +} +.panel-group { + margin-bottom: 20px; +} +.panel-group .panel { + margin-bottom: 0; + border-radius: 4px; +} +.panel-group .panel + .panel { + margin-top: 5px; +} +.panel-group .panel-heading { + border-bottom: 0; +} +.panel-group .panel-heading + .panel-collapse > .panel-body { + border-top: 1px solid #ddd; +} +.panel-group .panel-footer { + border-top: 0; +} +.panel-group .panel-footer + .panel-collapse .panel-body { + border-bottom: 1px solid #ddd; +} +.panel-default { + border-color: #ddd; +} +.panel-default > .panel-heading { + color: #333; + background-color: #f5f5f5; + border-color: #ddd; +} +.panel-default > .panel-heading + .panel-collapse > .panel-body { + border-top-color: #ddd; +} +.panel-default > .panel-heading .badge { + color: #f5f5f5; + background-color: #333; +} +.panel-default > .panel-footer + .panel-collapse > .panel-body { + border-bottom-color: #ddd; +} +.panel-primary { + border-color: #428bca; +} +.panel-primary > .panel-heading { + color: #fff; + background-color: #428bca; + border-color: #428bca; +} +.panel-primary > .panel-heading + .panel-collapse > .panel-body { + border-top-color: #428bca; +} +.panel-primary > .panel-heading .badge { + color: #428bca; + background-color: #fff; +} +.panel-primary > .panel-footer + .panel-collapse > .panel-body { + border-bottom-color: #428bca; +} +.panel-success { + border-color: #d6e9c6; +} +.panel-success > .panel-heading { + color: #3c763d; + background-color: #dff0d8; + border-color: #d6e9c6; +} +.panel-success > .panel-heading + .panel-collapse > .panel-body { + border-top-color: #d6e9c6; +} +.panel-success > .panel-heading .badge { + color: #dff0d8; + background-color: #3c763d; +} +.panel-success > .panel-footer + .panel-collapse > .panel-body { + border-bottom-color: #d6e9c6; +} +.panel-info { + border-color: #bce8f1; +} +.panel-info > .panel-heading { + color: #31708f; + background-color: #d9edf7; + border-color: #bce8f1; +} +.panel-info > .panel-heading + .panel-collapse > .panel-body { + border-top-color: #bce8f1; +} +.panel-info > .panel-heading .badge { + color: #d9edf7; + background-color: #31708f; +} +.panel-info > .panel-footer + .panel-collapse > .panel-body { + border-bottom-color: #bce8f1; +} +.panel-warning { + border-color: #faebcc; +} +.panel-warning > .panel-heading { + color: #8a6d3b; + background-color: #fcf8e3; + border-color: #faebcc; +} +.panel-warning > .panel-heading + .panel-collapse > .panel-body { + border-top-color: #faebcc; +} +.panel-warning > .panel-heading .badge { + color: #fcf8e3; + background-color: #8a6d3b; +} +.panel-warning > .panel-footer + .panel-collapse > .panel-body { + border-bottom-color: #faebcc; +} +.panel-danger { + border-color: #ebccd1; +} +.panel-danger > .panel-heading { + color: #a94442; + background-color: #f2dede; + border-color: #ebccd1; +} +.panel-danger > .panel-heading + .panel-collapse > .panel-body { + border-top-color: #ebccd1; +} +.panel-danger > .panel-heading .badge { + color: #f2dede; + background-color: #a94442; +} +.panel-danger > .panel-footer + .panel-collapse > .panel-body { + border-bottom-color: #ebccd1; +} +.embed-responsive { + position: relative; + display: block; + height: 0; + padding: 0; + overflow: hidden; +} +.embed-responsive .embed-responsive-item, +.embed-responsive iframe, +.embed-responsive embed, +.embed-responsive object { + position: absolute; + top: 0; + bottom: 0; + left: 0; + width: 100%; + height: 100%; + border: 0; +} +.embed-responsive.embed-responsive-16by9 { + padding-bottom: 56.25%; +} +.embed-responsive.embed-responsive-4by3 { + padding-bottom: 75%; +} +.well { + min-height: 20px; + padding: 19px; + margin-bottom: 20px; + background-color: #f5f5f5; + border: 1px solid #e3e3e3; + border-radius: 4px; + -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, .05); + box-shadow: inset 0 1px 1px rgba(0, 0, 0, .05); +} +.well blockquote { + border-color: #ddd; + border-color: rgba(0, 0, 0, .15); +} +.well-lg { + padding: 24px; + border-radius: 6px; +} +.well-sm { + padding: 9px; + border-radius: 3px; +} +.close { + float: right; + font-size: 21px; + font-weight: bold; + line-height: 1; + color: #000; + text-shadow: 0 1px 0 #fff; + filter: alpha(opacity=20); + opacity: .2; +} +.close:hover, +.close:focus { + color: #000; + text-decoration: none; + cursor: pointer; + filter: alpha(opacity=50); + opacity: .5; +} +button.close { + -webkit-appearance: none; + padding: 0; + cursor: pointer; + background: transparent; + border: 0; +} +.modal-open { + overflow: hidden; +} +.modal { + position: fixed; + top: 0; + right: 0; + bottom: 0; + left: 0; + z-index: 1050; + display: none; + overflow: hidden; + -webkit-overflow-scrolling: touch; + outline: 0; +} +.modal.fade .modal-dialog { + -webkit-transition: -webkit-transform .3s ease-out; + -o-transition: -o-transform .3s ease-out; + transition: transform .3s ease-out; + -webkit-transform: translate3d(0, -25%, 0); + -o-transform: translate3d(0, -25%, 0); + transform: translate3d(0, -25%, 0); +} +.modal.in .modal-dialog { + -webkit-transform: translate3d(0, 0, 0); + -o-transform: translate3d(0, 0, 0); + transform: translate3d(0, 0, 0); +} +.modal-open .modal { + overflow-x: hidden; + overflow-y: auto; +} +.modal-dialog { + position: relative; + width: auto; + margin: 10px; +} +.modal-content { + position: relative; + background-color: #fff; + -webkit-background-clip: padding-box; + background-clip: padding-box; + border: 1px solid #999; + border: 1px solid rgba(0, 0, 0, .2); + border-radius: 6px; + outline: 0; + -webkit-box-shadow: 0 3px 9px rgba(0, 0, 0, .5); + box-shadow: 0 3px 9px rgba(0, 0, 0, .5); +} +.modal-backdrop { + position: fixed; + top: 0; + right: 0; + bottom: 0; + left: 0; + z-index: 1040; + background-color: #000; +} +.modal-backdrop.fade { + filter: alpha(opacity=0); + opacity: 0; +} +.modal-backdrop.in { + filter: alpha(opacity=50); + opacity: .5; +} +.modal-header { + min-height: 16.42857143px; + padding: 15px; + border-bottom: 1px solid #e5e5e5; +} +.modal-header .close { + margin-top: -2px; +} +.modal-title { + margin: 0; + line-height: 1.42857143; +} +.modal-body { + position: relative; + padding: 15px; +} +.modal-footer { + padding: 15px; + text-align: right; + border-top: 1px solid #e5e5e5; +} +.modal-footer .btn + .btn { + margin-bottom: 0; + margin-left: 5px; +} +.modal-footer .btn-group .btn + .btn { + margin-left: -1px; +} +.modal-footer .btn-block + .btn-block { + margin-left: 0; +} +.modal-scrollbar-measure { + position: absolute; + top: -9999px; + width: 50px; + height: 50px; + overflow: scroll; +} +@media (min-width: 768px) { + .modal-dialog { + width: 600px; + margin: 30px auto; + } + .modal-content { + -webkit-box-shadow: 0 5px 15px rgba(0, 0, 0, .5); + box-shadow: 0 5px 15px rgba(0, 0, 0, .5); + } + .modal-sm { + width: 300px; + } +} +@media (min-width: 992px) { + .modal-lg { + width: 900px; + } +} +.tooltip { + position: absolute; + z-index: 1070; + display: block; + font-size: 12px; + line-height: 1.4; + visibility: visible; + filter: alpha(opacity=0); + opacity: 0; +} +.tooltip.in { + filter: alpha(opacity=90); + opacity: .9; +} +.tooltip.top { + padding: 5px 0; + margin-top: -3px; +} +.tooltip.right { + padding: 0 5px; + margin-left: 3px; +} +.tooltip.bottom { + padding: 5px 0; + margin-top: 3px; +} +.tooltip.left { + padding: 0 5px; + margin-left: -3px; +} +.tooltip-inner { + max-width: 200px; + padding: 3px 8px; + color: #fff; + text-align: center; + text-decoration: none; + background-color: #000; + border-radius: 4px; +} +.tooltip-arrow { + position: absolute; + width: 0; + height: 0; + border-color: transparent; + border-style: solid; +} +.tooltip.top .tooltip-arrow { + bottom: 0; + left: 50%; + margin-left: -5px; + border-width: 5px 5px 0; + border-top-color: #000; +} +.tooltip.top-left .tooltip-arrow { + bottom: 0; + left: 5px; + border-width: 5px 5px 0; + border-top-color: #000; +} +.tooltip.top-right .tooltip-arrow { + right: 5px; + bottom: 0; + border-width: 5px 5px 0; + border-top-color: #000; +} +.tooltip.right .tooltip-arrow { + top: 50%; + left: 0; + margin-top: -5px; + border-width: 5px 5px 5px 0; + border-right-color: #000; +} +.tooltip.left .tooltip-arrow { + top: 50%; + right: 0; + margin-top: -5px; + border-width: 5px 0 5px 5px; + border-left-color: #000; +} +.tooltip.bottom .tooltip-arrow { + top: 0; + left: 50%; + margin-left: -5px; + border-width: 0 5px 5px; + border-bottom-color: #000; +} +.tooltip.bottom-left .tooltip-arrow { + top: 0; + left: 5px; + border-width: 0 5px 5px; + border-bottom-color: #000; +} +.tooltip.bottom-right .tooltip-arrow { + top: 0; + right: 5px; + border-width: 0 5px 5px; + border-bottom-color: #000; +} +.popover { + position: absolute; + top: 0; + left: 0; + z-index: 1060; + display: none; + max-width: 276px; + padding: 1px; + text-align: left; + white-space: normal; + background-color: #fff; + -webkit-background-clip: padding-box; + background-clip: padding-box; + border: 1px solid #ccc; + border: 1px solid rgba(0, 0, 0, .2); + border-radius: 6px; + -webkit-box-shadow: 0 5px 10px rgba(0, 0, 0, .2); + box-shadow: 0 5px 10px rgba(0, 0, 0, .2); +} +.popover.top { + margin-top: -10px; +} +.popover.right { + margin-left: 10px; +} +.popover.bottom { + margin-top: 10px; +} +.popover.left { + margin-left: -10px; +} +.popover-title { + padding: 8px 14px; + margin: 0; + font-size: 14px; + font-weight: normal; + line-height: 18px; + background-color: #f7f7f7; + border-bottom: 1px solid #ebebeb; + border-radius: 5px 5px 0 0; +} +.popover-content { + padding: 9px 14px; +} +.popover > .arrow, +.popover > .arrow:after { + position: absolute; + display: block; + width: 0; + height: 0; + border-color: transparent; + border-style: solid; +} +.popover > .arrow { + border-width: 11px; +} +.popover > .arrow:after { + content: ""; + border-width: 10px; +} +.popover.top > .arrow { + bottom: -11px; + left: 50%; + margin-left: -11px; + border-top-color: #999; + border-top-color: rgba(0, 0, 0, .25); + border-bottom-width: 0; +} +.popover.top > .arrow:after { + bottom: 1px; + margin-left: -10px; + content: " "; + border-top-color: #fff; + border-bottom-width: 0; +} +.popover.right > .arrow { + top: 50%; + left: -11px; + margin-top: -11px; + border-right-color: #999; + border-right-color: rgba(0, 0, 0, .25); + border-left-width: 0; +} +.popover.right > .arrow:after { + bottom: -10px; + left: 1px; + content: " "; + border-right-color: #fff; + border-left-width: 0; +} +.popover.bottom > .arrow { + top: -11px; + left: 50%; + margin-left: -11px; + border-top-width: 0; + border-bottom-color: #999; + border-bottom-color: rgba(0, 0, 0, .25); +} +.popover.bottom > .arrow:after { + top: 1px; + margin-left: -10px; + content: " "; + border-top-width: 0; + border-bottom-color: #fff; +} +.popover.left > .arrow { + top: 50%; + right: -11px; + margin-top: -11px; + border-right-width: 0; + border-left-color: #999; + border-left-color: rgba(0, 0, 0, .25); +} +.popover.left > .arrow:after { + right: 1px; + bottom: -10px; + content: " "; + border-right-width: 0; + border-left-color: #fff; +} +.carousel { + position: relative; +} +.carousel-inner { + position: relative; + width: 100%; + overflow: hidden; +} +.carousel-inner > .item { + position: relative; + display: none; + -webkit-transition: .6s ease-in-out left; + -o-transition: .6s ease-in-out left; + transition: .6s ease-in-out left; +} +.carousel-inner > .item > img, +.carousel-inner > .item > a > img { + line-height: 1; +} +.carousel-inner > .active, +.carousel-inner > .next, +.carousel-inner > .prev { + display: block; +} +.carousel-inner > .active { + left: 0; +} +.carousel-inner > .next, +.carousel-inner > .prev { + position: absolute; + top: 0; + width: 100%; +} +.carousel-inner > .next { + left: 100%; +} +.carousel-inner > .prev { + left: -100%; +} +.carousel-inner > .next.left, +.carousel-inner > .prev.right { + left: 0; +} +.carousel-inner > .active.left { + left: -100%; +} +.carousel-inner > .active.right { + left: 100%; +} +.carousel-control { + position: absolute; + top: 0; + bottom: 0; + left: 0; + width: 15%; + font-size: 20px; + color: #fff; + text-align: center; + text-shadow: 0 1px 2px rgba(0, 0, 0, .6); + filter: alpha(opacity=50); + opacity: .5; +} +.carousel-control.left { + background-image: -webkit-linear-gradient(left, rgba(0, 0, 0, .5) 0%, rgba(0, 0, 0, .0001) 100%); + background-image: -o-linear-gradient(left, rgba(0, 0, 0, .5) 0%, rgba(0, 0, 0, .0001) 100%); + background-image: -webkit-gradient(linear, left top, right top, from(rgba(0, 0, 0, .5)), to(rgba(0, 0, 0, .0001))); + background-image: linear-gradient(to right, rgba(0, 0, 0, .5) 0%, rgba(0, 0, 0, .0001) 100%); + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#80000000', endColorstr='#00000000', GradientType=1); + background-repeat: repeat-x; +} +.carousel-control.right { + right: 0; + left: auto; + background-image: -webkit-linear-gradient(left, rgba(0, 0, 0, .0001) 0%, rgba(0, 0, 0, .5) 100%); + background-image: -o-linear-gradient(left, rgba(0, 0, 0, .0001) 0%, rgba(0, 0, 0, .5) 100%); + background-image: -webkit-gradient(linear, left top, right top, from(rgba(0, 0, 0, .0001)), to(rgba(0, 0, 0, .5))); + background-image: linear-gradient(to right, rgba(0, 0, 0, .0001) 0%, rgba(0, 0, 0, .5) 100%); + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#00000000', endColorstr='#80000000', GradientType=1); + background-repeat: repeat-x; +} +.carousel-control:hover, +.carousel-control:focus { + color: #fff; + text-decoration: none; + filter: alpha(opacity=90); + outline: 0; + opacity: .9; +} +.carousel-control .icon-prev, +.carousel-control .icon-next, +.carousel-control .glyphicon-chevron-left, +.carousel-control .glyphicon-chevron-right { + position: absolute; + top: 50%; + z-index: 5; + display: inline-block; +} +.carousel-control .icon-prev, +.carousel-control .glyphicon-chevron-left { + left: 50%; + margin-left: -10px; +} +.carousel-control .icon-next, +.carousel-control .glyphicon-chevron-right { + right: 50%; + margin-right: -10px; +} +.carousel-control .icon-prev, +.carousel-control .icon-next { + width: 20px; + height: 20px; + margin-top: -10px; + font-family: serif; +} +.carousel-control .icon-prev:before { + content: '\2039'; +} +.carousel-control .icon-next:before { + content: '\203a'; +} +.carousel-indicators { + position: absolute; + bottom: 10px; + left: 50%; + z-index: 15; + width: 60%; + padding-left: 0; + margin-left: -30%; + text-align: center; + list-style: none; +} +.carousel-indicators li { + display: inline-block; + width: 10px; + height: 10px; + margin: 1px; + text-indent: -999px; + cursor: pointer; + background-color: #000 \9; + background-color: rgba(0, 0, 0, 0); + border: 1px solid #fff; + border-radius: 10px; +} +.carousel-indicators .active { + width: 12px; + height: 12px; + margin: 0; + background-color: #fff; +} +.carousel-caption { + position: absolute; + right: 15%; + bottom: 20px; + left: 15%; + z-index: 10; + padding-top: 20px; + padding-bottom: 20px; + color: #fff; + text-align: center; + text-shadow: 0 1px 2px rgba(0, 0, 0, .6); +} +.carousel-caption .btn { + text-shadow: none; +} +@media screen and (min-width: 768px) { + .carousel-control .glyphicon-chevron-left, + .carousel-control .glyphicon-chevron-right, + .carousel-control .icon-prev, + .carousel-control .icon-next { + width: 30px; + height: 30px; + margin-top: -15px; + font-size: 30px; + } + .carousel-control .glyphicon-chevron-left, + .carousel-control .icon-prev { + margin-left: -15px; + } + .carousel-control .glyphicon-chevron-right, + .carousel-control .icon-next { + margin-right: -15px; + } + .carousel-caption { + right: 20%; + left: 20%; + padding-bottom: 30px; + } + .carousel-indicators { + bottom: 20px; + } +} +.clearfix:before, +.clearfix:after, +.dl-horizontal dd:before, +.dl-horizontal dd:after, +.container:before, +.container:after, +.container-fluid:before, +.container-fluid:after, +.row:before, +.row:after, +.form-horizontal .form-group:before, +.form-horizontal .form-group:after, +.btn-toolbar:before, +.btn-toolbar:after, +.btn-group-vertical > .btn-group:before, +.btn-group-vertical > .btn-group:after, +.nav:before, +.nav:after, +.navbar:before, +.navbar:after, +.navbar-header:before, +.navbar-header:after, +.navbar-collapse:before, +.navbar-collapse:after, +.pager:before, +.pager:after, +.panel-body:before, +.panel-body:after, +.modal-footer:before, +.modal-footer:after { + display: table; + content: " "; +} +.clearfix:after, +.dl-horizontal dd:after, +.container:after, +.container-fluid:after, +.row:after, +.form-horizontal .form-group:after, +.btn-toolbar:after, +.btn-group-vertical > .btn-group:after, +.nav:after, +.navbar:after, +.navbar-header:after, +.navbar-collapse:after, +.pager:after, +.panel-body:after, +.modal-footer:after { + clear: both; +} +.center-block { + display: block; + margin-right: auto; + margin-left: auto; +} +.pull-right { + float: right !important; +} +.pull-left { + float: left !important; +} +.hide { + display: none !important; +} +.show { + display: block !important; +} +.invisible { + visibility: hidden; +} +.text-hide { + font: 0/0 a; + color: transparent; + text-shadow: none; + background-color: transparent; + border: 0; +} +.hidden { + display: none !important; + visibility: hidden !important; +} +.affix { + position: fixed; + -webkit-transform: translate3d(0, 0, 0); + -o-transform: translate3d(0, 0, 0); + transform: translate3d(0, 0, 0); +} +@-ms-viewport { + width: device-width; +} +.visible-xs, +.visible-sm, +.visible-md, +.visible-lg { + display: none !important; +} +.visible-xs-block, +.visible-xs-inline, +.visible-xs-inline-block, +.visible-sm-block, +.visible-sm-inline, +.visible-sm-inline-block, +.visible-md-block, +.visible-md-inline, +.visible-md-inline-block, +.visible-lg-block, +.visible-lg-inline, +.visible-lg-inline-block { + display: none !important; +} +@media (max-width: 767px) { + .visible-xs { + display: block !important; + } + table.visible-xs { + display: table; + } + tr.visible-xs { + display: table-row !important; + } + th.visible-xs, + td.visible-xs { + display: table-cell !important; + } +} +@media (max-width: 767px) { + .visible-xs-block { + display: block !important; + } +} +@media (max-width: 767px) { + .visible-xs-inline { + display: inline !important; + } +} +@media (max-width: 767px) { + .visible-xs-inline-block { + display: inline-block !important; + } +} +@media (min-width: 768px) and (max-width: 991px) { + .visible-sm { + display: block !important; + } + table.visible-sm { + display: table; + } + tr.visible-sm { + display: table-row !important; + } + th.visible-sm, + td.visible-sm { + display: table-cell !important; + } +} +@media (min-width: 768px) and (max-width: 991px) { + .visible-sm-block { + display: block !important; + } +} +@media (min-width: 768px) and (max-width: 991px) { + .visible-sm-inline { + display: inline !important; + } +} +@media (min-width: 768px) and (max-width: 991px) { + .visible-sm-inline-block { + display: inline-block !important; + } +} +@media (min-width: 992px) and (max-width: 1199px) { + .visible-md { + display: block !important; + } + table.visible-md { + display: table; + } + tr.visible-md { + display: table-row !important; + } + th.visible-md, + td.visible-md { + display: table-cell !important; + } +} +@media (min-width: 992px) and (max-width: 1199px) { + .visible-md-block { + display: block !important; + } +} +@media (min-width: 992px) and (max-width: 1199px) { + .visible-md-inline { + display: inline !important; + } +} +@media (min-width: 992px) and (max-width: 1199px) { + .visible-md-inline-block { + display: inline-block !important; + } +} +@media (min-width: 1200px) { + .visible-lg { + display: block !important; + } + table.visible-lg { + display: table; + } + tr.visible-lg { + display: table-row !important; + } + th.visible-lg, + td.visible-lg { + display: table-cell !important; + } +} +@media (min-width: 1200px) { + .visible-lg-block { + display: block !important; + } +} +@media (min-width: 1200px) { + .visible-lg-inline { + display: inline !important; + } +} +@media (min-width: 1200px) { + .visible-lg-inline-block { + display: inline-block !important; + } +} +@media (max-width: 767px) { + .hidden-xs { + display: none !important; + } +} +@media (min-width: 768px) and (max-width: 991px) { + .hidden-sm { + display: none !important; + } +} +@media (min-width: 992px) and (max-width: 1199px) { + .hidden-md { + display: none !important; + } +} +@media (min-width: 1200px) { + .hidden-lg { + display: none !important; + } +} +.visible-print { + display: none !important; +} +@media print { + .visible-print { + display: block !important; + } + table.visible-print { + display: table; + } + tr.visible-print { + display: table-row !important; + } + th.visible-print, + td.visible-print { + display: table-cell !important; + } +} +.visible-print-block { + display: none !important; +} +@media print { + .visible-print-block { + display: block !important; + } +} +.visible-print-inline { + display: none !important; +} +@media print { + .visible-print-inline { + display: inline !important; + } +} +.visible-print-inline-block { + display: none !important; +} +@media print { + .visible-print-inline-block { + display: inline-block !important; + } +} +@media print { + .hidden-print { + display: none !important; + } +} +.chat-thread { + margin: 10px 10px 0 auto; + padding: 0 0px 0 0; + list-style: none; +} + +.chat-thread li { + position: relative; + clear: both; + display: inline-block; + padding: 8px 8px 8px 8px; + margin: 0 10px 15px 10px; + font: 16px/20px 'Noto Sans', sans-serif; + border-radius: 10px; + background-color: deepskyblue; +} + +/* Chat - Avatar */ +.chat-thread li:after { + position: absolute; + top: 0; + width: 50px; + height: 50px; + border-radius: 50px; + content: ''; +} + +/* Chat - Speech Bubble Arrow */ +.chat-thread li:before { + position: absolute; + top: 15px; + content: ''; + width: 0; + height: 0; + border-top: 15px solid rgba(25, 147, 147, 0.2); +} + +.chat-thread li:nth-child(even) { + animation: show-chat-even 0.15s 1 ease-in; + -moz-animation: show-chat-even 0.15s 1 ease-in; + -webkit-animation: show-chat-even 0.15s 1 ease-in; + float: right; + margin-right: 10px; + color: white; +} + + + + +.chat-thread li:nth-child(odd) { + animation: show-chat-odd 0.15s 1 ease-in; + -moz-animation: show-chat-odd 0.15s 1 ease-in; + -webkit-animation: show-chat-odd 0.15s 1 ease-in; + float: left; + margin-left: 10px; + color: white; +} + + +/*# sourceMappingURL=bootstrap.css.map */ diff --git a/src/demo/manager/src/main/webapp/assets/css/bootstrap.min.css b/src/demo/manager/src/main/webapp/assets/css/bootstrap.min.css new file mode 100644 index 00000000..4cf729e4 --- /dev/null +++ b/src/demo/manager/src/main/webapp/assets/css/bootstrap.min.css @@ -0,0 +1,6 @@ +/*! + * Bootstrap v3.3.6 (http://getbootstrap.com) + * Copyright 2011-2015 Twitter, Inc. + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) + *//*! normalize.css v3.0.3 | MIT License | github.com/necolas/normalize.css */html{font-family:sans-serif;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%}body{margin:0}article,aside,details,figcaption,figure,footer,header,hgroup,main,menu,nav,section,summary{display:block}audio,canvas,progress,video{display:inline-block;vertical-align:baseline}audio:not([controls]){display:none;height:0}[hidden],template{display:none}a{background-color:transparent}a:active,a:hover{outline:0}abbr[title]{border-bottom:1px dotted}b,strong{font-weight:700}dfn{font-style:italic}h1{margin:.67em 0;font-size:2em}mark{color:#000;background:#ff0}small{font-size:80%}sub,sup{position:relative;font-size:75%;line-height:0;vertical-align:baseline}sup{top:-.5em}sub{bottom:-.25em}img{border:0}svg:not(:root){overflow:hidden}figure{margin:1em 40px}hr{height:0;-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box}pre{overflow:auto}code,kbd,pre,samp{font-family:monospace,monospace;font-size:1em}button,input,optgroup,select,textarea{margin:0;font:inherit;color:inherit}button{overflow:visible}button,select{text-transform:none}button,html input[type=button],input[type=reset],input[type=submit]{-webkit-appearance:button;cursor:pointer}button[disabled],html input[disabled]{cursor:default}button::-moz-focus-inner,input::-moz-focus-inner{padding:0;border:0}input{line-height:normal}input[type=checkbox],input[type=radio]{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;padding:0}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{height:auto}input[type=search]{-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;-webkit-appearance:textfield}input[type=search]::-webkit-search-cancel-button,input[type=search]::-webkit-search-decoration{-webkit-appearance:none}fieldset{padding:.35em .625em .75em;margin:0 2px;border:1px solid silver}legend{padding:0;border:0}textarea{overflow:auto}optgroup{font-weight:700}table{border-spacing:0;border-collapse:collapse}td,th{padding:0}/*! Source: https://github.com/h5bp/html5-boilerplate/blob/master/src/css/main.css */@media print{*,:after,:before{color:#000!important;text-shadow:none!important;background:0 0!important;-webkit-box-shadow:none!important;box-shadow:none!important}a,a:visited{text-decoration:underline}a[href]:after{content:" (" attr(href) ")"}abbr[title]:after{content:" (" attr(title) ")"}a[href^="javascript:"]:after,a[href^="#"]:after{content:""}blockquote,pre{border:1px solid #999;page-break-inside:avoid}thead{display:table-header-group}img,tr{page-break-inside:avoid}img{max-width:100%!important}h2,h3,p{orphans:3;widows:3}h2,h3{page-break-after:avoid}.navbar{display:none}.btn>.caret,.dropup>.btn>.caret{border-top-color:#000!important}.label{border:1px solid #000}.table{border-collapse:collapse!important}.table td,.table th{background-color:#fff!important}.table-bordered td,.table-bordered th{border:1px solid #ddd!important}}@font-face{font-family:'Glyphicons Halflings';src:url(../fonts/glyphicons-halflings-regular.eot);src:url(../fonts/glyphicons-halflings-regular.eot?#iefix) format('embedded-opentype'),url(../fonts/glyphicons-halflings-regular.woff2) format('woff2'),url(../fonts/glyphicons-halflings-regular.woff) format('woff'),url(../fonts/glyphicons-halflings-regular.ttf) format('truetype'),url(../fonts/glyphicons-halflings-regular.svg#glyphicons_halflingsregular) format('svg')}.glyphicon{position:relative;top:1px;display:inline-block;font-family:'Glyphicons Halflings';font-style:normal;font-weight:400;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.glyphicon-asterisk:before{content:"\002a"}.glyphicon-plus:before{content:"\002b"}.glyphicon-eur:before,.glyphicon-euro:before{content:"\20ac"}.glyphicon-minus:before{content:"\2212"}.glyphicon-cloud:before{content:"\2601"}.glyphicon-envelope:before{content:"\2709"}.glyphicon-pencil:before{content:"\270f"}.glyphicon-glass:before{content:"\e001"}.glyphicon-music:before{content:"\e002"}.glyphicon-search:before{content:"\e003"}.glyphicon-heart:before{content:"\e005"}.glyphicon-star:before{content:"\e006"}.glyphicon-star-empty:before{content:"\e007"}.glyphicon-user:before{content:"\e008"}.glyphicon-film:before{content:"\e009"}.glyphicon-th-large:before{content:"\e010"}.glyphicon-th:before{content:"\e011"}.glyphicon-th-list:before{content:"\e012"}.glyphicon-ok:before{content:"\e013"}.glyphicon-remove:before{content:"\e014"}.glyphicon-zoom-in:before{content:"\e015"}.glyphicon-zoom-out:before{content:"\e016"}.glyphicon-off:before{content:"\e017"}.glyphicon-signal:before{content:"\e018"}.glyphicon-cog:before{content:"\e019"}.glyphicon-trash:before{content:"\e020"}.glyphicon-home:before{content:"\e021"}.glyphicon-file:before{content:"\e022"}.glyphicon-time:before{content:"\e023"}.glyphicon-road:before{content:"\e024"}.glyphicon-download-alt:before{content:"\e025"}.glyphicon-download:before{content:"\e026"}.glyphicon-upload:before{content:"\e027"}.glyphicon-inbox:before{content:"\e028"}.glyphicon-play-circle:before{content:"\e029"}.glyphicon-repeat:before{content:"\e030"}.glyphicon-refresh:before{content:"\e031"}.glyphicon-list-alt:before{content:"\e032"}.glyphicon-lock:before{content:"\e033"}.glyphicon-flag:before{content:"\e034"}.glyphicon-headphones:before{content:"\e035"}.glyphicon-volume-off:before{content:"\e036"}.glyphicon-volume-down:before{content:"\e037"}.glyphicon-volume-up:before{content:"\e038"}.glyphicon-qrcode:before{content:"\e039"}.glyphicon-barcode:before{content:"\e040"}.glyphicon-tag:before{content:"\e041"}.glyphicon-tags:before{content:"\e042"}.glyphicon-book:before{content:"\e043"}.glyphicon-bookmark:before{content:"\e044"}.glyphicon-print:before{content:"\e045"}.glyphicon-camera:before{content:"\e046"}.glyphicon-font:before{content:"\e047"}.glyphicon-bold:before{content:"\e048"}.glyphicon-italic:before{content:"\e049"}.glyphicon-text-height:before{content:"\e050"}.glyphicon-text-width:before{content:"\e051"}.glyphicon-align-left:before{content:"\e052"}.glyphicon-align-center:before{content:"\e053"}.glyphicon-align-right:before{content:"\e054"}.glyphicon-align-justify:before{content:"\e055"}.glyphicon-list:before{content:"\e056"}.glyphicon-indent-left:before{content:"\e057"}.glyphicon-indent-right:before{content:"\e058"}.glyphicon-facetime-video:before{content:"\e059"}.glyphicon-picture:before{content:"\e060"}.glyphicon-map-marker:before{content:"\e062"}.glyphicon-adjust:before{content:"\e063"}.glyphicon-tint:before{content:"\e064"}.glyphicon-edit:before{content:"\e065"}.glyphicon-share:before{content:"\e066"}.glyphicon-check:before{content:"\e067"}.glyphicon-move:before{content:"\e068"}.glyphicon-step-backward:before{content:"\e069"}.glyphicon-fast-backward:before{content:"\e070"}.glyphicon-backward:before{content:"\e071"}.glyphicon-play:before{content:"\e072"}.glyphicon-pause:before{content:"\e073"}.glyphicon-stop:before{content:"\e074"}.glyphicon-forward:before{content:"\e075"}.glyphicon-fast-forward:before{content:"\e076"}.glyphicon-step-forward:before{content:"\e077"}.glyphicon-eject:before{content:"\e078"}.glyphicon-chevron-left:before{content:"\e079"}.glyphicon-chevron-right:before{content:"\e080"}.glyphicon-plus-sign:before{content:"\e081"}.glyphicon-minus-sign:before{content:"\e082"}.glyphicon-remove-sign:before{content:"\e083"}.glyphicon-ok-sign:before{content:"\e084"}.glyphicon-question-sign:before{content:"\e085"}.glyphicon-info-sign:before{content:"\e086"}.glyphicon-screenshot:before{content:"\e087"}.glyphicon-remove-circle:before{content:"\e088"}.glyphicon-ok-circle:before{content:"\e089"}.glyphicon-ban-circle:before{content:"\e090"}.glyphicon-arrow-left:before{content:"\e091"}.glyphicon-arrow-right:before{content:"\e092"}.glyphicon-arrow-up:before{content:"\e093"}.glyphicon-arrow-down:before{content:"\e094"}.glyphicon-share-alt:before{content:"\e095"}.glyphicon-resize-full:before{content:"\e096"}.glyphicon-resize-small:before{content:"\e097"}.glyphicon-exclamation-sign:before{content:"\e101"}.glyphicon-gift:before{content:"\e102"}.glyphicon-leaf:before{content:"\e103"}.glyphicon-fire:before{content:"\e104"}.glyphicon-eye-open:before{content:"\e105"}.glyphicon-eye-close:before{content:"\e106"}.glyphicon-warning-sign:before{content:"\e107"}.glyphicon-plane:before{content:"\e108"}.glyphicon-calendar:before{content:"\e109"}.glyphicon-random:before{content:"\e110"}.glyphicon-comment:before{content:"\e111"}.glyphicon-magnet:before{content:"\e112"}.glyphicon-chevron-up:before{content:"\e113"}.glyphicon-chevron-down:before{content:"\e114"}.glyphicon-retweet:before{content:"\e115"}.glyphicon-shopping-cart:before{content:"\e116"}.glyphicon-folder-close:before{content:"\e117"}.glyphicon-folder-open:before{content:"\e118"}.glyphicon-resize-vertical:before{content:"\e119"}.glyphicon-resize-horizontal:before{content:"\e120"}.glyphicon-hdd:before{content:"\e121"}.glyphicon-bullhorn:before{content:"\e122"}.glyphicon-bell:before{content:"\e123"}.glyphicon-certificate:before{content:"\e124"}.glyphicon-thumbs-up:before{content:"\e125"}.glyphicon-thumbs-down:before{content:"\e126"}.glyphicon-hand-right:before{content:"\e127"}.glyphicon-hand-left:before{content:"\e128"}.glyphicon-hand-up:before{content:"\e129"}.glyphicon-hand-down:before{content:"\e130"}.glyphicon-circle-arrow-right:before{content:"\e131"}.glyphicon-circle-arrow-left:before{content:"\e132"}.glyphicon-circle-arrow-up:before{content:"\e133"}.glyphicon-circle-arrow-down:before{content:"\e134"}.glyphicon-globe:before{content:"\e135"}.glyphicon-wrench:before{content:"\e136"}.glyphicon-tasks:before{content:"\e137"}.glyphicon-filter:before{content:"\e138"}.glyphicon-briefcase:before{content:"\e139"}.glyphicon-fullscreen:before{content:"\e140"}.glyphicon-dashboard:before{content:"\e141"}.glyphicon-paperclip:before{content:"\e142"}.glyphicon-heart-empty:before{content:"\e143"}.glyphicon-link:before{content:"\e144"}.glyphicon-phone:before{content:"\e145"}.glyphicon-pushpin:before{content:"\e146"}.glyphicon-usd:before{content:"\e148"}.glyphicon-gbp:before{content:"\e149"}.glyphicon-sort:before{content:"\e150"}.glyphicon-sort-by-alphabet:before{content:"\e151"}.glyphicon-sort-by-alphabet-alt:before{content:"\e152"}.glyphicon-sort-by-order:before{content:"\e153"}.glyphicon-sort-by-order-alt:before{content:"\e154"}.glyphicon-sort-by-attributes:before{content:"\e155"}.glyphicon-sort-by-attributes-alt:before{content:"\e156"}.glyphicon-unchecked:before{content:"\e157"}.glyphicon-expand:before{content:"\e158"}.glyphicon-collapse-down:before{content:"\e159"}.glyphicon-collapse-up:before{content:"\e160"}.glyphicon-log-in:before{content:"\e161"}.glyphicon-flash:before{content:"\e162"}.glyphicon-log-out:before{content:"\e163"}.glyphicon-new-window:before{content:"\e164"}.glyphicon-record:before{content:"\e165"}.glyphicon-save:before{content:"\e166"}.glyphicon-open:before{content:"\e167"}.glyphicon-saved:before{content:"\e168"}.glyphicon-import:before{content:"\e169"}.glyphicon-export:before{content:"\e170"}.glyphicon-send:before{content:"\e171"}.glyphicon-floppy-disk:before{content:"\e172"}.glyphicon-floppy-saved:before{content:"\e173"}.glyphicon-floppy-remove:before{content:"\e174"}.glyphicon-floppy-save:before{content:"\e175"}.glyphicon-floppy-open:before{content:"\e176"}.glyphicon-credit-card:before{content:"\e177"}.glyphicon-transfer:before{content:"\e178"}.glyphicon-cutlery:before{content:"\e179"}.glyphicon-header:before{content:"\e180"}.glyphicon-compressed:before{content:"\e181"}.glyphicon-earphone:before{content:"\e182"}.glyphicon-phone-alt:before{content:"\e183"}.glyphicon-tower:before{content:"\e184"}.glyphicon-stats:before{content:"\e185"}.glyphicon-sd-video:before{content:"\e186"}.glyphicon-hd-video:before{content:"\e187"}.glyphicon-subtitles:before{content:"\e188"}.glyphicon-sound-stereo:before{content:"\e189"}.glyphicon-sound-dolby:before{content:"\e190"}.glyphicon-sound-5-1:before{content:"\e191"}.glyphicon-sound-6-1:before{content:"\e192"}.glyphicon-sound-7-1:before{content:"\e193"}.glyphicon-copyright-mark:before{content:"\e194"}.glyphicon-registration-mark:before{content:"\e195"}.glyphicon-cloud-download:before{content:"\e197"}.glyphicon-cloud-upload:before{content:"\e198"}.glyphicon-tree-conifer:before{content:"\e199"}.glyphicon-tree-deciduous:before{content:"\e200"}.glyphicon-cd:before{content:"\e201"}.glyphicon-save-file:before{content:"\e202"}.glyphicon-open-file:before{content:"\e203"}.glyphicon-level-up:before{content:"\e204"}.glyphicon-copy:before{content:"\e205"}.glyphicon-paste:before{content:"\e206"}.glyphicon-alert:before{content:"\e209"}.glyphicon-equalizer:before{content:"\e210"}.glyphicon-king:before{content:"\e211"}.glyphicon-queen:before{content:"\e212"}.glyphicon-pawn:before{content:"\e213"}.glyphicon-bishop:before{content:"\e214"}.glyphicon-knight:before{content:"\e215"}.glyphicon-baby-formula:before{content:"\e216"}.glyphicon-tent:before{content:"\26fa"}.glyphicon-blackboard:before{content:"\e218"}.glyphicon-bed:before{content:"\e219"}.glyphicon-apple:before{content:"\f8ff"}.glyphicon-erase:before{content:"\e221"}.glyphicon-hourglass:before{content:"\231b"}.glyphicon-lamp:before{content:"\e223"}.glyphicon-duplicate:before{content:"\e224"}.glyphicon-piggy-bank:before{content:"\e225"}.glyphicon-scissors:before{content:"\e226"}.glyphicon-bitcoin:before{content:"\e227"}.glyphicon-btc:before{content:"\e227"}.glyphicon-xbt:before{content:"\e227"}.glyphicon-yen:before{content:"\00a5"}.glyphicon-jpy:before{content:"\00a5"}.glyphicon-ruble:before{content:"\20bd"}.glyphicon-rub:before{content:"\20bd"}.glyphicon-scale:before{content:"\e230"}.glyphicon-ice-lolly:before{content:"\e231"}.glyphicon-ice-lolly-tasted:before{content:"\e232"}.glyphicon-education:before{content:"\e233"}.glyphicon-option-horizontal:before{content:"\e234"}.glyphicon-option-vertical:before{content:"\e235"}.glyphicon-menu-hamburger:before{content:"\e236"}.glyphicon-modal-window:before{content:"\e237"}.glyphicon-oil:before{content:"\e238"}.glyphicon-grain:before{content:"\e239"}.glyphicon-sunglasses:before{content:"\e240"}.glyphicon-text-size:before{content:"\e241"}.glyphicon-text-color:before{content:"\e242"}.glyphicon-text-background:before{content:"\e243"}.glyphicon-object-align-top:before{content:"\e244"}.glyphicon-object-align-bottom:before{content:"\e245"}.glyphicon-object-align-horizontal:before{content:"\e246"}.glyphicon-object-align-left:before{content:"\e247"}.glyphicon-object-align-vertical:before{content:"\e248"}.glyphicon-object-align-right:before{content:"\e249"}.glyphicon-triangle-right:before{content:"\e250"}.glyphicon-triangle-left:before{content:"\e251"}.glyphicon-triangle-bottom:before{content:"\e252"}.glyphicon-triangle-top:before{content:"\e253"}.glyphicon-console:before{content:"\e254"}.glyphicon-superscript:before{content:"\e255"}.glyphicon-subscript:before{content:"\e256"}.glyphicon-menu-left:before{content:"\e257"}.glyphicon-menu-right:before{content:"\e258"}.glyphicon-menu-down:before{content:"\e259"}.glyphicon-menu-up:before{content:"\e260"}*{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}:after,:before{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}html{font-size:10px;-webkit-tap-highlight-color:rgba(0,0,0,0)}body{font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:14px;line-height:1.42857143;color:#333;background-color:#fff}button,input,select,textarea{font-family:inherit;font-size:inherit;line-height:inherit}a{color:#337ab7;text-decoration:none}a:focus,a:hover{color:#23527c;text-decoration:underline}a:focus{outline:thin dotted;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}figure{margin:0}img{vertical-align:middle}.carousel-inner>.item>a>img,.carousel-inner>.item>img,.img-responsive,.thumbnail a>img,.thumbnail>img{display:block;max-width:100%;height:auto}.img-rounded{border-radius:6px}.img-thumbnail{display:inline-block;max-width:100%;height:auto;padding:4px;line-height:1.42857143;background-color:#fff;border:1px solid #ddd;border-radius:4px;-webkit-transition:all .2s ease-in-out;-o-transition:all .2s ease-in-out;transition:all .2s ease-in-out}.img-circle{border-radius:50%}hr{margin-top:20px;margin-bottom:20px;border:0;border-top:1px solid #eee}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}.sr-only-focusable:active,.sr-only-focusable:focus{position:static;width:auto;height:auto;margin:0;overflow:visible;clip:auto}[role=button]{cursor:pointer}.h1,.h2,.h3,.h4,.h5,.h6,h1,h2,h3,h4,h5,h6{font-family:inherit;font-weight:500;line-height:1.1;color:inherit}.h1 .small,.h1 small,.h2 .small,.h2 small,.h3 .small,.h3 small,.h4 .small,.h4 small,.h5 .small,.h5 small,.h6 .small,.h6 small,h1 .small,h1 small,h2 .small,h2 small,h3 .small,h3 small,h4 .small,h4 small,h5 .small,h5 small,h6 .small,h6 small{font-weight:400;line-height:1;color:#777}.h1,.h2,.h3,h1,h2,h3{margin-top:20px;margin-bottom:10px}.h1 .small,.h1 small,.h2 .small,.h2 small,.h3 .small,.h3 small,h1 .small,h1 small,h2 .small,h2 small,h3 .small,h3 small{font-size:65%}.h4,.h5,.h6,h4,h5,h6{margin-top:10px;margin-bottom:10px}.h4 .small,.h4 small,.h5 .small,.h5 small,.h6 .small,.h6 small,h4 .small,h4 small,h5 .small,h5 small,h6 .small,h6 small{font-size:75%}.h1,h1{font-size:36px}.h2,h2{font-size:30px}.h3,h3{font-size:24px}.h4,h4{font-size:18px}.h5,h5{font-size:14px}.h6,h6{font-size:12px}p{margin:0 0 10px}.lead{margin-bottom:20px;font-size:16px;font-weight:300;line-height:1.4}@media (min-width:768px){.lead{font-size:21px}}.small,small{font-size:85%}.mark,mark{padding:.2em;background-color:#fcf8e3}.text-left{text-align:left}.text-right{text-align:right}.text-center{text-align:center}.text-justify{text-align:justify}.text-nowrap{white-space:nowrap}.text-lowercase{text-transform:lowercase}.text-uppercase{text-transform:uppercase}.text-capitalize{text-transform:capitalize}.text-muted{color:#777}.text-primary{color:#337ab7}a.text-primary:focus,a.text-primary:hover{color:#286090}.text-success{color:#3c763d}a.text-success:focus,a.text-success:hover{color:#2b542c}.text-info{color:#31708f}a.text-info:focus,a.text-info:hover{color:#245269}.text-warning{color:#8a6d3b}a.text-warning:focus,a.text-warning:hover{color:#66512c}.text-danger{color:#a94442}a.text-danger:focus,a.text-danger:hover{color:#843534}.bg-primary{color:#fff;background-color:#337ab7}a.bg-primary:focus,a.bg-primary:hover{background-color:#286090}.bg-success{background-color:#dff0d8}a.bg-success:focus,a.bg-success:hover{background-color:#c1e2b3}.bg-info{background-color:#d9edf7}a.bg-info:focus,a.bg-info:hover{background-color:#afd9ee}.bg-warning{background-color:#fcf8e3}a.bg-warning:focus,a.bg-warning:hover{background-color:#f7ecb5}.bg-danger{background-color:#f2dede}a.bg-danger:focus,a.bg-danger:hover{background-color:#e4b9b9}.page-header{padding-bottom:9px;margin:40px 0 20px;border-bottom:1px solid #eee}ol,ul{margin-top:0;margin-bottom:10px}ol ol,ol ul,ul ol,ul ul{margin-bottom:0}.list-unstyled{padding-left:0;list-style:none}.list-inline{padding-left:0;margin-left:-5px;list-style:none}.list-inline>li{display:inline-block;padding-right:5px;padding-left:5px}dl{margin-top:0;margin-bottom:20px}dd,dt{line-height:1.42857143}dt{font-weight:700}dd{margin-left:0}@media (min-width:768px){.dl-horizontal dt{float:left;width:160px;overflow:hidden;clear:left;text-align:right;text-overflow:ellipsis;white-space:nowrap}.dl-horizontal dd{margin-left:180px}}abbr[data-original-title],abbr[title]{cursor:help;border-bottom:1px dotted #777}.initialism{font-size:90%;text-transform:uppercase}blockquote{padding:10px 20px;margin:0 0 20px;font-size:17.5px;border-left:5px solid #eee}blockquote ol:last-child,blockquote p:last-child,blockquote ul:last-child{margin-bottom:0}blockquote .small,blockquote footer,blockquote small{display:block;font-size:80%;line-height:1.42857143;color:#777}blockquote .small:before,blockquote footer:before,blockquote small:before{content:'\2014 \00A0'}.blockquote-reverse,blockquote.pull-right{padding-right:15px;padding-left:0;text-align:right;border-right:5px solid #eee;border-left:0}.blockquote-reverse .small:before,.blockquote-reverse footer:before,.blockquote-reverse small:before,blockquote.pull-right .small:before,blockquote.pull-right footer:before,blockquote.pull-right small:before{content:''}.blockquote-reverse .small:after,.blockquote-reverse footer:after,.blockquote-reverse small:after,blockquote.pull-right .small:after,blockquote.pull-right footer:after,blockquote.pull-right small:after{content:'\00A0 \2014'}address{margin-bottom:20px;font-style:normal;line-height:1.42857143}code,kbd,pre,samp{font-family:Menlo,Monaco,Consolas,"Courier New",monospace}code{padding:2px 4px;font-size:90%;color:#c7254e;background-color:#f9f2f4;border-radius:4px}kbd{padding:2px 4px;font-size:90%;color:#fff;background-color:#333;border-radius:3px;-webkit-box-shadow:inset 0 -1px 0 rgba(0,0,0,.25);box-shadow:inset 0 -1px 0 rgba(0,0,0,.25)}kbd kbd{padding:0;font-size:100%;font-weight:700;-webkit-box-shadow:none;box-shadow:none}pre{display:block;padding:9.5px;margin:0 0 10px;font-size:13px;line-height:1.42857143;color:#333;word-break:break-all;word-wrap:break-word;background-color:#f5f5f5;border:1px solid #ccc;border-radius:4px}pre code{padding:0;font-size:inherit;color:inherit;white-space:pre-wrap;background-color:transparent;border-radius:0}.pre-scrollable{max-height:340px;overflow-y:scroll}.container{padding-right:15px;padding-left:15px;margin-right:auto;margin-left:auto}@media (min-width:768px){.container{width:750px}}@media (min-width:992px){.container{width:970px}}@media (min-width:1200px){.container{width:1170px}}.container-fluid{padding-right:15px;padding-left:15px;margin-right:auto;margin-left:auto}.row{margin-right:-15px;margin-left:-15px}.col-lg-1,.col-lg-10,.col-lg-11,.col-lg-12,.col-lg-2,.col-lg-3,.col-lg-4,.col-lg-5,.col-lg-6,.col-lg-7,.col-lg-8,.col-lg-9,.col-md-1,.col-md-10,.col-md-11,.col-md-12,.col-md-2,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-7,.col-md-8,.col-md-9,.col-sm-1,.col-sm-10,.col-sm-11,.col-sm-12,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9,.col-xs-1,.col-xs-10,.col-xs-11,.col-xs-12,.col-xs-2,.col-xs-3,.col-xs-4,.col-xs-5,.col-xs-6,.col-xs-7,.col-xs-8,.col-xs-9{position:relative;min-height:1px;padding-right:15px;padding-left:15px}.col-xs-1,.col-xs-10,.col-xs-11,.col-xs-12,.col-xs-2,.col-xs-3,.col-xs-4,.col-xs-5,.col-xs-6,.col-xs-7,.col-xs-8,.col-xs-9{float:left}.col-xs-12{width:100%}.col-xs-11{width:91.66666667%}.col-xs-10{width:83.33333333%}.col-xs-9{width:75%}.col-xs-8{width:66.66666667%}.col-xs-7{width:58.33333333%}.col-xs-6{width:50%}.col-xs-5{width:41.66666667%}.col-xs-4{width:33.33333333%}.col-xs-3{width:25%}.col-xs-2{width:16.66666667%}.col-xs-1{width:8.33333333%}.col-xs-pull-12{right:100%}.col-xs-pull-11{right:91.66666667%}.col-xs-pull-10{right:83.33333333%}.col-xs-pull-9{right:75%}.col-xs-pull-8{right:66.66666667%}.col-xs-pull-7{right:58.33333333%}.col-xs-pull-6{right:50%}.col-xs-pull-5{right:41.66666667%}.col-xs-pull-4{right:33.33333333%}.col-xs-pull-3{right:25%}.col-xs-pull-2{right:16.66666667%}.col-xs-pull-1{right:8.33333333%}.col-xs-pull-0{right:auto}.col-xs-push-12{left:100%}.col-xs-push-11{left:91.66666667%}.col-xs-push-10{left:83.33333333%}.col-xs-push-9{left:75%}.col-xs-push-8{left:66.66666667%}.col-xs-push-7{left:58.33333333%}.col-xs-push-6{left:50%}.col-xs-push-5{left:41.66666667%}.col-xs-push-4{left:33.33333333%}.col-xs-push-3{left:25%}.col-xs-push-2{left:16.66666667%}.col-xs-push-1{left:8.33333333%}.col-xs-push-0{left:auto}.col-xs-offset-12{margin-left:100%}.col-xs-offset-11{margin-left:91.66666667%}.col-xs-offset-10{margin-left:83.33333333%}.col-xs-offset-9{margin-left:75%}.col-xs-offset-8{margin-left:66.66666667%}.col-xs-offset-7{margin-left:58.33333333%}.col-xs-offset-6{margin-left:50%}.col-xs-offset-5{margin-left:41.66666667%}.col-xs-offset-4{margin-left:33.33333333%}.col-xs-offset-3{margin-left:25%}.col-xs-offset-2{margin-left:16.66666667%}.col-xs-offset-1{margin-left:8.33333333%}.col-xs-offset-0{margin-left:0}@media (min-width:768px){.col-sm-1,.col-sm-10,.col-sm-11,.col-sm-12,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9{float:left}.col-sm-12{width:100%}.col-sm-11{width:91.66666667%}.col-sm-10{width:83.33333333%}.col-sm-9{width:75%}.col-sm-8{width:66.66666667%}.col-sm-7{width:58.33333333%}.col-sm-6{width:50%}.col-sm-5{width:41.66666667%}.col-sm-4{width:33.33333333%}.col-sm-3{width:25%}.col-sm-2{width:16.66666667%}.col-sm-1{width:8.33333333%}.col-sm-pull-12{right:100%}.col-sm-pull-11{right:91.66666667%}.col-sm-pull-10{right:83.33333333%}.col-sm-pull-9{right:75%}.col-sm-pull-8{right:66.66666667%}.col-sm-pull-7{right:58.33333333%}.col-sm-pull-6{right:50%}.col-sm-pull-5{right:41.66666667%}.col-sm-pull-4{right:33.33333333%}.col-sm-pull-3{right:25%}.col-sm-pull-2{right:16.66666667%}.col-sm-pull-1{right:8.33333333%}.col-sm-pull-0{right:auto}.col-sm-push-12{left:100%}.col-sm-push-11{left:91.66666667%}.col-sm-push-10{left:83.33333333%}.col-sm-push-9{left:75%}.col-sm-push-8{left:66.66666667%}.col-sm-push-7{left:58.33333333%}.col-sm-push-6{left:50%}.col-sm-push-5{left:41.66666667%}.col-sm-push-4{left:33.33333333%}.col-sm-push-3{left:25%}.col-sm-push-2{left:16.66666667%}.col-sm-push-1{left:8.33333333%}.col-sm-push-0{left:auto}.col-sm-offset-12{margin-left:100%}.col-sm-offset-11{margin-left:91.66666667%}.col-sm-offset-10{margin-left:83.33333333%}.col-sm-offset-9{margin-left:75%}.col-sm-offset-8{margin-left:66.66666667%}.col-sm-offset-7{margin-left:58.33333333%}.col-sm-offset-6{margin-left:50%}.col-sm-offset-5{margin-left:41.66666667%}.col-sm-offset-4{margin-left:33.33333333%}.col-sm-offset-3{margin-left:25%}.col-sm-offset-2{margin-left:16.66666667%}.col-sm-offset-1{margin-left:8.33333333%}.col-sm-offset-0{margin-left:0}}@media (min-width:992px){.col-md-1,.col-md-10,.col-md-11,.col-md-12,.col-md-2,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-7,.col-md-8,.col-md-9{float:left}.col-md-12{width:100%}.col-md-11{width:91.66666667%}.col-md-10{width:83.33333333%}.col-md-9{width:75%}.col-md-8{width:66.66666667%}.col-md-7{width:58.33333333%}.col-md-6{width:50%}.col-md-5{width:41.66666667%}.col-md-4{width:33.33333333%}.col-md-3{width:25%}.col-md-2{width:16.66666667%}.col-md-1{width:8.33333333%}.col-md-pull-12{right:100%}.col-md-pull-11{right:91.66666667%}.col-md-pull-10{right:83.33333333%}.col-md-pull-9{right:75%}.col-md-pull-8{right:66.66666667%}.col-md-pull-7{right:58.33333333%}.col-md-pull-6{right:50%}.col-md-pull-5{right:41.66666667%}.col-md-pull-4{right:33.33333333%}.col-md-pull-3{right:25%}.col-md-pull-2{right:16.66666667%}.col-md-pull-1{right:8.33333333%}.col-md-pull-0{right:auto}.col-md-push-12{left:100%}.col-md-push-11{left:91.66666667%}.col-md-push-10{left:83.33333333%}.col-md-push-9{left:75%}.col-md-push-8{left:66.66666667%}.col-md-push-7{left:58.33333333%}.col-md-push-6{left:50%}.col-md-push-5{left:41.66666667%}.col-md-push-4{left:33.33333333%}.col-md-push-3{left:25%}.col-md-push-2{left:16.66666667%}.col-md-push-1{left:8.33333333%}.col-md-push-0{left:auto}.col-md-offset-12{margin-left:100%}.col-md-offset-11{margin-left:91.66666667%}.col-md-offset-10{margin-left:83.33333333%}.col-md-offset-9{margin-left:75%}.col-md-offset-8{margin-left:66.66666667%}.col-md-offset-7{margin-left:58.33333333%}.col-md-offset-6{margin-left:50%}.col-md-offset-5{margin-left:41.66666667%}.col-md-offset-4{margin-left:33.33333333%}.col-md-offset-3{margin-left:25%}.col-md-offset-2{margin-left:16.66666667%}.col-md-offset-1{margin-left:8.33333333%}.col-md-offset-0{margin-left:0}}@media (min-width:1200px){.col-lg-1,.col-lg-10,.col-lg-11,.col-lg-12,.col-lg-2,.col-lg-3,.col-lg-4,.col-lg-5,.col-lg-6,.col-lg-7,.col-lg-8,.col-lg-9{float:left}.col-lg-12{width:100%}.col-lg-11{width:91.66666667%}.col-lg-10{width:83.33333333%}.col-lg-9{width:75%}.col-lg-8{width:66.66666667%}.col-lg-7{width:58.33333333%}.col-lg-6{width:50%}.col-lg-5{width:41.66666667%}.col-lg-4{width:33.33333333%}.col-lg-3{width:25%}.col-lg-2{width:16.66666667%}.col-lg-1{width:8.33333333%}.col-lg-pull-12{right:100%}.col-lg-pull-11{right:91.66666667%}.col-lg-pull-10{right:83.33333333%}.col-lg-pull-9{right:75%}.col-lg-pull-8{right:66.66666667%}.col-lg-pull-7{right:58.33333333%}.col-lg-pull-6{right:50%}.col-lg-pull-5{right:41.66666667%}.col-lg-pull-4{right:33.33333333%}.col-lg-pull-3{right:25%}.col-lg-pull-2{right:16.66666667%}.col-lg-pull-1{right:8.33333333%}.col-lg-pull-0{right:auto}.col-lg-push-12{left:100%}.col-lg-push-11{left:91.66666667%}.col-lg-push-10{left:83.33333333%}.col-lg-push-9{left:75%}.col-lg-push-8{left:66.66666667%}.col-lg-push-7{left:58.33333333%}.col-lg-push-6{left:50%}.col-lg-push-5{left:41.66666667%}.col-lg-push-4{left:33.33333333%}.col-lg-push-3{left:25%}.col-lg-push-2{left:16.66666667%}.col-lg-push-1{left:8.33333333%}.col-lg-push-0{left:auto}.col-lg-offset-12{margin-left:100%}.col-lg-offset-11{margin-left:91.66666667%}.col-lg-offset-10{margin-left:83.33333333%}.col-lg-offset-9{margin-left:75%}.col-lg-offset-8{margin-left:66.66666667%}.col-lg-offset-7{margin-left:58.33333333%}.col-lg-offset-6{margin-left:50%}.col-lg-offset-5{margin-left:41.66666667%}.col-lg-offset-4{margin-left:33.33333333%}.col-lg-offset-3{margin-left:25%}.col-lg-offset-2{margin-left:16.66666667%}.col-lg-offset-1{margin-left:8.33333333%}.col-lg-offset-0{margin-left:0}}table{background-color:transparent}caption{padding-top:8px;padding-bottom:8px;color:#777;text-align:left}th{text-align:left}.table{width:100%;max-width:100%;margin-bottom:20px}.table>tbody>tr>td,.table>tbody>tr>th,.table>tfoot>tr>td,.table>tfoot>tr>th,.table>thead>tr>td,.table>thead>tr>th{padding:8px;line-height:1.42857143;vertical-align:top;border-top:1px solid #ddd}.table>thead>tr>th{vertical-align:bottom;border-bottom:2px solid #ddd}.table>caption+thead>tr:first-child>td,.table>caption+thead>tr:first-child>th,.table>colgroup+thead>tr:first-child>td,.table>colgroup+thead>tr:first-child>th,.table>thead:first-child>tr:first-child>td,.table>thead:first-child>tr:first-child>th{border-top:0}.table>tbody+tbody{border-top:2px solid #ddd}.table .table{background-color:#fff}.table-condensed>tbody>tr>td,.table-condensed>tbody>tr>th,.table-condensed>tfoot>tr>td,.table-condensed>tfoot>tr>th,.table-condensed>thead>tr>td,.table-condensed>thead>tr>th{padding:5px}.table-bordered{border:1px solid #ddd}.table-bordered>tbody>tr>td,.table-bordered>tbody>tr>th,.table-bordered>tfoot>tr>td,.table-bordered>tfoot>tr>th,.table-bordered>thead>tr>td,.table-bordered>thead>tr>th{border:1px solid #ddd}.table-bordered>thead>tr>td,.table-bordered>thead>tr>th{border-bottom-width:2px}.table-striped>tbody>tr:nth-of-type(odd){background-color:#f9f9f9}.table-hover>tbody>tr:hover{background-color:#f5f5f5}table col[class*=col-]{position:static;display:table-column;float:none}table td[class*=col-],table th[class*=col-]{position:static;display:table-cell;float:none}.table>tbody>tr.active>td,.table>tbody>tr.active>th,.table>tbody>tr>td.active,.table>tbody>tr>th.active,.table>tfoot>tr.active>td,.table>tfoot>tr.active>th,.table>tfoot>tr>td.active,.table>tfoot>tr>th.active,.table>thead>tr.active>td,.table>thead>tr.active>th,.table>thead>tr>td.active,.table>thead>tr>th.active{background-color:#f5f5f5}.table-hover>tbody>tr.active:hover>td,.table-hover>tbody>tr.active:hover>th,.table-hover>tbody>tr:hover>.active,.table-hover>tbody>tr>td.active:hover,.table-hover>tbody>tr>th.active:hover{background-color:#e8e8e8}.table>tbody>tr.success>td,.table>tbody>tr.success>th,.table>tbody>tr>td.success,.table>tbody>tr>th.success,.table>tfoot>tr.success>td,.table>tfoot>tr.success>th,.table>tfoot>tr>td.success,.table>tfoot>tr>th.success,.table>thead>tr.success>td,.table>thead>tr.success>th,.table>thead>tr>td.success,.table>thead>tr>th.success{background-color:#dff0d8}.table-hover>tbody>tr.success:hover>td,.table-hover>tbody>tr.success:hover>th,.table-hover>tbody>tr:hover>.success,.table-hover>tbody>tr>td.success:hover,.table-hover>tbody>tr>th.success:hover{background-color:#d0e9c6}.table>tbody>tr.info>td,.table>tbody>tr.info>th,.table>tbody>tr>td.info,.table>tbody>tr>th.info,.table>tfoot>tr.info>td,.table>tfoot>tr.info>th,.table>tfoot>tr>td.info,.table>tfoot>tr>th.info,.table>thead>tr.info>td,.table>thead>tr.info>th,.table>thead>tr>td.info,.table>thead>tr>th.info{background-color:#d9edf7}.table-hover>tbody>tr.info:hover>td,.table-hover>tbody>tr.info:hover>th,.table-hover>tbody>tr:hover>.info,.table-hover>tbody>tr>td.info:hover,.table-hover>tbody>tr>th.info:hover{background-color:#c4e3f3}.table>tbody>tr.warning>td,.table>tbody>tr.warning>th,.table>tbody>tr>td.warning,.table>tbody>tr>th.warning,.table>tfoot>tr.warning>td,.table>tfoot>tr.warning>th,.table>tfoot>tr>td.warning,.table>tfoot>tr>th.warning,.table>thead>tr.warning>td,.table>thead>tr.warning>th,.table>thead>tr>td.warning,.table>thead>tr>th.warning{background-color:#fcf8e3}.table-hover>tbody>tr.warning:hover>td,.table-hover>tbody>tr.warning:hover>th,.table-hover>tbody>tr:hover>.warning,.table-hover>tbody>tr>td.warning:hover,.table-hover>tbody>tr>th.warning:hover{background-color:#faf2cc}.table>tbody>tr.danger>td,.table>tbody>tr.danger>th,.table>tbody>tr>td.danger,.table>tbody>tr>th.danger,.table>tfoot>tr.danger>td,.table>tfoot>tr.danger>th,.table>tfoot>tr>td.danger,.table>tfoot>tr>th.danger,.table>thead>tr.danger>td,.table>thead>tr.danger>th,.table>thead>tr>td.danger,.table>thead>tr>th.danger{background-color:#f2dede}.table-hover>tbody>tr.danger:hover>td,.table-hover>tbody>tr.danger:hover>th,.table-hover>tbody>tr:hover>.danger,.table-hover>tbody>tr>td.danger:hover,.table-hover>tbody>tr>th.danger:hover{background-color:#ebcccc}.table-responsive{min-height:.01%;overflow-x:auto}@media screen and (max-width:767px){.table-responsive{width:100%;margin-bottom:15px;overflow-y:hidden;-ms-overflow-style:-ms-autohiding-scrollbar;border:1px solid #ddd}.table-responsive>.table{margin-bottom:0}.table-responsive>.table>tbody>tr>td,.table-responsive>.table>tbody>tr>th,.table-responsive>.table>tfoot>tr>td,.table-responsive>.table>tfoot>tr>th,.table-responsive>.table>thead>tr>td,.table-responsive>.table>thead>tr>th{white-space:nowrap}.table-responsive>.table-bordered{border:0}.table-responsive>.table-bordered>tbody>tr>td:first-child,.table-responsive>.table-bordered>tbody>tr>th:first-child,.table-responsive>.table-bordered>tfoot>tr>td:first-child,.table-responsive>.table-bordered>tfoot>tr>th:first-child,.table-responsive>.table-bordered>thead>tr>td:first-child,.table-responsive>.table-bordered>thead>tr>th:first-child{border-left:0}.table-responsive>.table-bordered>tbody>tr>td:last-child,.table-responsive>.table-bordered>tbody>tr>th:last-child,.table-responsive>.table-bordered>tfoot>tr>td:last-child,.table-responsive>.table-bordered>tfoot>tr>th:last-child,.table-responsive>.table-bordered>thead>tr>td:last-child,.table-responsive>.table-bordered>thead>tr>th:last-child{border-right:0}.table-responsive>.table-bordered>tbody>tr:last-child>td,.table-responsive>.table-bordered>tbody>tr:last-child>th,.table-responsive>.table-bordered>tfoot>tr:last-child>td,.table-responsive>.table-bordered>tfoot>tr:last-child>th{border-bottom:0}}fieldset{min-width:0;padding:0;margin:0;border:0}legend{display:block;width:100%;padding:0;margin-bottom:20px;font-size:21px;line-height:inherit;color:#333;border:0;border-bottom:1px solid #e5e5e5}label{display:inline-block;max-width:100%;margin-bottom:5px;font-weight:700}input[type=search]{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}input[type=checkbox],input[type=radio]{margin:4px 0 0;margin-top:1px\9;line-height:normal}input[type=file]{display:block}input[type=range]{display:block;width:100%}select[multiple],select[size]{height:auto}input[type=file]:focus,input[type=checkbox]:focus,input[type=radio]:focus{outline:thin dotted;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}output{display:block;padding-top:7px;font-size:14px;line-height:1.42857143;color:#555}.form-control{display:block;width:100%;height:34px;padding:6px 12px;font-size:14px;line-height:1.42857143;color:#555;background-color:#fff;background-image:none;border:1px solid #ccc;border-radius:4px;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075);-webkit-transition:border-color ease-in-out .15s,-webkit-box-shadow ease-in-out .15s;-o-transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s;transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s}.form-control:focus{border-color:#66afe9;outline:0;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(102,175,233,.6);box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(102,175,233,.6)}.form-control::-moz-placeholder{color:#999;opacity:1}.form-control:-ms-input-placeholder{color:#999}.form-control::-webkit-input-placeholder{color:#999}.form-control::-ms-expand{background-color:transparent;border:0}.form-control[disabled],.form-control[readonly],fieldset[disabled] .form-control{background-color:#eee;opacity:1}.form-control[disabled],fieldset[disabled] .form-control{cursor:not-allowed}textarea.form-control{height:auto}input[type=search]{-webkit-appearance:none}@media screen and (-webkit-min-device-pixel-ratio:0){input[type=date].form-control,input[type=time].form-control,input[type=datetime-local].form-control,input[type=month].form-control{line-height:34px}.input-group-sm input[type=date],.input-group-sm input[type=time],.input-group-sm input[type=datetime-local],.input-group-sm input[type=month],input[type=date].input-sm,input[type=time].input-sm,input[type=datetime-local].input-sm,input[type=month].input-sm{line-height:30px}.input-group-lg input[type=date],.input-group-lg input[type=time],.input-group-lg input[type=datetime-local],.input-group-lg input[type=month],input[type=date].input-lg,input[type=time].input-lg,input[type=datetime-local].input-lg,input[type=month].input-lg{line-height:46px}}.form-group{margin-bottom:15px}.checkbox,.radio{position:relative;display:block;margin-top:10px;margin-bottom:10px}.checkbox label,.radio label{min-height:20px;padding-left:20px;margin-bottom:0;font-weight:400;cursor:pointer}.checkbox input[type=checkbox],.checkbox-inline input[type=checkbox],.radio input[type=radio],.radio-inline input[type=radio]{position:absolute;margin-top:4px\9;margin-left:-20px}.checkbox+.checkbox,.radio+.radio{margin-top:-5px}.checkbox-inline,.radio-inline{position:relative;display:inline-block;padding-left:20px;margin-bottom:0;font-weight:400;vertical-align:middle;cursor:pointer}.checkbox-inline+.checkbox-inline,.radio-inline+.radio-inline{margin-top:0;margin-left:10px}fieldset[disabled] input[type=checkbox],fieldset[disabled] input[type=radio],input[type=checkbox].disabled,input[type=checkbox][disabled],input[type=radio].disabled,input[type=radio][disabled]{cursor:not-allowed}.checkbox-inline.disabled,.radio-inline.disabled,fieldset[disabled] .checkbox-inline,fieldset[disabled] .radio-inline{cursor:not-allowed}.checkbox.disabled label,.radio.disabled label,fieldset[disabled] .checkbox label,fieldset[disabled] .radio label{cursor:not-allowed}.form-control-static{min-height:34px;padding-top:7px;padding-bottom:7px;margin-bottom:0}.form-control-static.input-lg,.form-control-static.input-sm{padding-right:0;padding-left:0}.input-sm{height:30px;padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}select.input-sm{height:30px;line-height:30px}select[multiple].input-sm,textarea.input-sm{height:auto}.form-group-sm .form-control{height:30px;padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}.form-group-sm select.form-control{height:30px;line-height:30px}.form-group-sm select[multiple].form-control,.form-group-sm textarea.form-control{height:auto}.form-group-sm .form-control-static{height:30px;min-height:32px;padding:6px 10px;font-size:12px;line-height:1.5}.input-lg{height:46px;padding:10px 16px;font-size:18px;line-height:1.3333333;border-radius:6px}select.input-lg{height:46px;line-height:46px}select[multiple].input-lg,textarea.input-lg{height:auto}.form-group-lg .form-control{height:46px;padding:10px 16px;font-size:18px;line-height:1.3333333;border-radius:6px}.form-group-lg select.form-control{height:46px;line-height:46px}.form-group-lg select[multiple].form-control,.form-group-lg textarea.form-control{height:auto}.form-group-lg .form-control-static{height:46px;min-height:38px;padding:11px 16px;font-size:18px;line-height:1.3333333}.has-feedback{position:relative}.has-feedback .form-control{padding-right:42.5px}.form-control-feedback{position:absolute;top:0;right:0;z-index:2;display:block;width:34px;height:34px;line-height:34px;text-align:center;pointer-events:none}.form-group-lg .form-control+.form-control-feedback,.input-group-lg+.form-control-feedback,.input-lg+.form-control-feedback{width:46px;height:46px;line-height:46px}.form-group-sm .form-control+.form-control-feedback,.input-group-sm+.form-control-feedback,.input-sm+.form-control-feedback{width:30px;height:30px;line-height:30px}.has-success .checkbox,.has-success .checkbox-inline,.has-success .control-label,.has-success .help-block,.has-success .radio,.has-success .radio-inline,.has-success.checkbox label,.has-success.checkbox-inline label,.has-success.radio label,.has-success.radio-inline label{color:#3c763d}.has-success .form-control{border-color:#3c763d;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}.has-success .form-control:focus{border-color:#2b542c;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #67b168;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #67b168}.has-success .input-group-addon{color:#3c763d;background-color:#dff0d8;border-color:#3c763d}.has-success .form-control-feedback{color:#3c763d}.has-warning .checkbox,.has-warning .checkbox-inline,.has-warning .control-label,.has-warning .help-block,.has-warning .radio,.has-warning .radio-inline,.has-warning.checkbox label,.has-warning.checkbox-inline label,.has-warning.radio label,.has-warning.radio-inline label{color:#8a6d3b}.has-warning .form-control{border-color:#8a6d3b;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}.has-warning .form-control:focus{border-color:#66512c;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #c0a16b;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #c0a16b}.has-warning .input-group-addon{color:#8a6d3b;background-color:#fcf8e3;border-color:#8a6d3b}.has-warning .form-control-feedback{color:#8a6d3b}.has-error .checkbox,.has-error .checkbox-inline,.has-error .control-label,.has-error .help-block,.has-error .radio,.has-error .radio-inline,.has-error.checkbox label,.has-error.checkbox-inline label,.has-error.radio label,.has-error.radio-inline label{color:#a94442}.has-error .form-control{border-color:#a94442;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}.has-error .form-control:focus{border-color:#843534;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #ce8483;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #ce8483}.has-error .input-group-addon{color:#a94442;background-color:#f2dede;border-color:#a94442}.has-error .form-control-feedback{color:#a94442}.has-feedback label~.form-control-feedback{top:25px}.has-feedback label.sr-only~.form-control-feedback{top:0}.help-block{display:block;margin-top:5px;margin-bottom:10px;color:#737373}@media (min-width:768px){.form-inline .form-group{display:inline-block;margin-bottom:0;vertical-align:middle}.form-inline .form-control{display:inline-block;width:auto;vertical-align:middle}.form-inline .form-control-static{display:inline-block}.form-inline .input-group{display:inline-table;vertical-align:middle}.form-inline .input-group .form-control,.form-inline .input-group .input-group-addon,.form-inline .input-group .input-group-btn{width:auto}.form-inline .input-group>.form-control{width:100%}.form-inline .control-label{margin-bottom:0;vertical-align:middle}.form-inline .checkbox,.form-inline .radio{display:inline-block;margin-top:0;margin-bottom:0;vertical-align:middle}.form-inline .checkbox label,.form-inline .radio label{padding-left:0}.form-inline .checkbox input[type=checkbox],.form-inline .radio input[type=radio]{position:relative;margin-left:0}.form-inline .has-feedback .form-control-feedback{top:0}}.form-horizontal .checkbox,.form-horizontal .checkbox-inline,.form-horizontal .radio,.form-horizontal .radio-inline{padding-top:7px;margin-top:0;margin-bottom:0}.form-horizontal .checkbox,.form-horizontal .radio{min-height:27px}.form-horizontal .form-group{margin-right:-15px;margin-left:-15px}@media (min-width:768px){.form-horizontal .control-label{padding-top:7px;margin-bottom:0;text-align:right}}.form-horizontal .has-feedback .form-control-feedback{right:15px}@media (min-width:768px){.form-horizontal .form-group-lg .control-label{padding-top:11px;font-size:18px}}@media (min-width:768px){.form-horizontal .form-group-sm .control-label{padding-top:6px;font-size:12px}}.btn{display:inline-block;padding:6px 12px;margin-bottom:0;font-size:14px;font-weight:400;line-height:1.42857143;text-align:center;white-space:nowrap;vertical-align:middle;-ms-touch-action:manipulation;touch-action:manipulation;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;background-image:none;border:1px solid transparent;border-radius:4px}.btn.active.focus,.btn.active:focus,.btn.focus,.btn:active.focus,.btn:active:focus,.btn:focus{outline:thin dotted;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}.btn.focus,.btn:focus,.btn:hover{color:#333;text-decoration:none}.btn.active,.btn:active{background-image:none;outline:0;-webkit-box-shadow:inset 0 3px 5px rgba(0,0,0,.125);box-shadow:inset 0 3px 5px rgba(0,0,0,.125)}.btn.disabled,.btn[disabled],fieldset[disabled] .btn{cursor:not-allowed;filter:alpha(opacity=65);-webkit-box-shadow:none;box-shadow:none;opacity:.65}a.btn.disabled,fieldset[disabled] a.btn{pointer-events:none}.btn-default{color:#333;background-color:#fff;border-color:#ccc}.btn-default.focus,.btn-default:focus{color:#333;background-color:#e6e6e6;border-color:#8c8c8c}.btn-default:hover{color:#333;background-color:#e6e6e6;border-color:#adadad}.btn-default.active,.btn-default:active,.open>.dropdown-toggle.btn-default{color:#333;background-color:#e6e6e6;border-color:#adadad}.btn-default.active.focus,.btn-default.active:focus,.btn-default.active:hover,.btn-default:active.focus,.btn-default:active:focus,.btn-default:active:hover,.open>.dropdown-toggle.btn-default.focus,.open>.dropdown-toggle.btn-default:focus,.open>.dropdown-toggle.btn-default:hover{color:#333;background-color:#d4d4d4;border-color:#8c8c8c}.btn-default.active,.btn-default:active,.open>.dropdown-toggle.btn-default{background-image:none}.btn-default.disabled.focus,.btn-default.disabled:focus,.btn-default.disabled:hover,.btn-default[disabled].focus,.btn-default[disabled]:focus,.btn-default[disabled]:hover,fieldset[disabled] .btn-default.focus,fieldset[disabled] .btn-default:focus,fieldset[disabled] .btn-default:hover{background-color:#fff;border-color:#ccc}.btn-default .badge{color:#fff;background-color:#333}.btn-primary{color:#fff;background-color:#337ab7;border-color:#2e6da4}.btn-primary.focus,.btn-primary:focus{color:#fff;background-color:#286090;border-color:#122b40}.btn-primary:hover{color:#fff;background-color:#286090;border-color:#204d74}.btn-primary.active,.btn-primary:active,.open>.dropdown-toggle.btn-primary{color:#fff;background-color:#286090;border-color:#204d74}.btn-primary.active.focus,.btn-primary.active:focus,.btn-primary.active:hover,.btn-primary:active.focus,.btn-primary:active:focus,.btn-primary:active:hover,.open>.dropdown-toggle.btn-primary.focus,.open>.dropdown-toggle.btn-primary:focus,.open>.dropdown-toggle.btn-primary:hover{color:#fff;background-color:#204d74;border-color:#122b40}.btn-primary.active,.btn-primary:active,.open>.dropdown-toggle.btn-primary{background-image:none}.btn-primary.disabled.focus,.btn-primary.disabled:focus,.btn-primary.disabled:hover,.btn-primary[disabled].focus,.btn-primary[disabled]:focus,.btn-primary[disabled]:hover,fieldset[disabled] .btn-primary.focus,fieldset[disabled] .btn-primary:focus,fieldset[disabled] .btn-primary:hover{background-color:#337ab7;border-color:#2e6da4}.btn-primary .badge{color:#337ab7;background-color:#fff}.btn-success{color:#fff;background-color:#5cb85c;border-color:#4cae4c}.btn-success.focus,.btn-success:focus{color:#fff;background-color:#449d44;border-color:#255625}.btn-success:hover{color:#fff;background-color:#449d44;border-color:#398439}.btn-success.active,.btn-success:active,.open>.dropdown-toggle.btn-success{color:#fff;background-color:#449d44;border-color:#398439}.btn-success.active.focus,.btn-success.active:focus,.btn-success.active:hover,.btn-success:active.focus,.btn-success:active:focus,.btn-success:active:hover,.open>.dropdown-toggle.btn-success.focus,.open>.dropdown-toggle.btn-success:focus,.open>.dropdown-toggle.btn-success:hover{color:#fff;background-color:#398439;border-color:#255625}.btn-success.active,.btn-success:active,.open>.dropdown-toggle.btn-success{background-image:none}.btn-success.disabled.focus,.btn-success.disabled:focus,.btn-success.disabled:hover,.btn-success[disabled].focus,.btn-success[disabled]:focus,.btn-success[disabled]:hover,fieldset[disabled] .btn-success.focus,fieldset[disabled] .btn-success:focus,fieldset[disabled] .btn-success:hover{background-color:#5cb85c;border-color:#4cae4c}.btn-success .badge{color:#5cb85c;background-color:#fff}.btn-info{color:#fff;background-color:#5bc0de;border-color:#46b8da}.btn-info.focus,.btn-info:focus{color:#fff;background-color:#31b0d5;border-color:#1b6d85}.btn-info:hover{color:#fff;background-color:#31b0d5;border-color:#269abc}.btn-info.active,.btn-info:active,.open>.dropdown-toggle.btn-info{color:#fff;background-color:#31b0d5;border-color:#269abc}.btn-info.active.focus,.btn-info.active:focus,.btn-info.active:hover,.btn-info:active.focus,.btn-info:active:focus,.btn-info:active:hover,.open>.dropdown-toggle.btn-info.focus,.open>.dropdown-toggle.btn-info:focus,.open>.dropdown-toggle.btn-info:hover{color:#fff;background-color:#269abc;border-color:#1b6d85}.btn-info.active,.btn-info:active,.open>.dropdown-toggle.btn-info{background-image:none}.btn-info.disabled.focus,.btn-info.disabled:focus,.btn-info.disabled:hover,.btn-info[disabled].focus,.btn-info[disabled]:focus,.btn-info[disabled]:hover,fieldset[disabled] .btn-info.focus,fieldset[disabled] .btn-info:focus,fieldset[disabled] .btn-info:hover{background-color:#5bc0de;border-color:#46b8da}.btn-info .badge{color:#5bc0de;background-color:#fff}.btn-warning{color:#fff;background-color:#f0ad4e;border-color:#eea236}.btn-warning.focus,.btn-warning:focus{color:#fff;background-color:#ec971f;border-color:#985f0d}.btn-warning:hover{color:#fff;background-color:#ec971f;border-color:#d58512}.btn-warning.active,.btn-warning:active,.open>.dropdown-toggle.btn-warning{color:#fff;background-color:#ec971f;border-color:#d58512}.btn-warning.active.focus,.btn-warning.active:focus,.btn-warning.active:hover,.btn-warning:active.focus,.btn-warning:active:focus,.btn-warning:active:hover,.open>.dropdown-toggle.btn-warning.focus,.open>.dropdown-toggle.btn-warning:focus,.open>.dropdown-toggle.btn-warning:hover{color:#fff;background-color:#d58512;border-color:#985f0d}.btn-warning.active,.btn-warning:active,.open>.dropdown-toggle.btn-warning{background-image:none}.btn-warning.disabled.focus,.btn-warning.disabled:focus,.btn-warning.disabled:hover,.btn-warning[disabled].focus,.btn-warning[disabled]:focus,.btn-warning[disabled]:hover,fieldset[disabled] .btn-warning.focus,fieldset[disabled] .btn-warning:focus,fieldset[disabled] .btn-warning:hover{background-color:#f0ad4e;border-color:#eea236}.btn-warning .badge{color:#f0ad4e;background-color:#fff}.btn-danger{color:#fff;background-color:#d9534f;border-color:#d43f3a}.btn-danger.focus,.btn-danger:focus{color:#fff;background-color:#c9302c;border-color:#761c19}.btn-danger:hover{color:#fff;background-color:#c9302c;border-color:#ac2925}.btn-danger.active,.btn-danger:active,.open>.dropdown-toggle.btn-danger{color:#fff;background-color:#c9302c;border-color:#ac2925}.btn-danger.active.focus,.btn-danger.active:focus,.btn-danger.active:hover,.btn-danger:active.focus,.btn-danger:active:focus,.btn-danger:active:hover,.open>.dropdown-toggle.btn-danger.focus,.open>.dropdown-toggle.btn-danger:focus,.open>.dropdown-toggle.btn-danger:hover{color:#fff;background-color:#ac2925;border-color:#761c19}.btn-danger.active,.btn-danger:active,.open>.dropdown-toggle.btn-danger{background-image:none}.btn-danger.disabled.focus,.btn-danger.disabled:focus,.btn-danger.disabled:hover,.btn-danger[disabled].focus,.btn-danger[disabled]:focus,.btn-danger[disabled]:hover,fieldset[disabled] .btn-danger.focus,fieldset[disabled] .btn-danger:focus,fieldset[disabled] .btn-danger:hover{background-color:#d9534f;border-color:#d43f3a}.btn-danger .badge{color:#d9534f;background-color:#fff}.btn-link{font-weight:400;color:#337ab7;border-radius:0}.btn-link,.btn-link.active,.btn-link:active,.btn-link[disabled],fieldset[disabled] .btn-link{background-color:transparent;-webkit-box-shadow:none;box-shadow:none}.btn-link,.btn-link:active,.btn-link:focus,.btn-link:hover{border-color:transparent}.btn-link:focus,.btn-link:hover{color:#23527c;text-decoration:underline;background-color:transparent}.btn-link[disabled]:focus,.btn-link[disabled]:hover,fieldset[disabled] .btn-link:focus,fieldset[disabled] .btn-link:hover{color:#777;text-decoration:none}.btn-group-lg>.btn,.btn-lg{padding:10px 16px;font-size:18px;line-height:1.3333333;border-radius:6px}.btn-group-sm>.btn,.btn-sm{padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}.btn-group-xs>.btn,.btn-xs{padding:1px 5px;font-size:12px;line-height:1.5;border-radius:3px}.btn-block{display:block;width:100%}.btn-block+.btn-block{margin-top:5px}input[type=button].btn-block,input[type=reset].btn-block,input[type=submit].btn-block{width:100%}.fade{opacity:0;-webkit-transition:opacity .15s linear;-o-transition:opacity .15s linear;transition:opacity .15s linear}.fade.in{opacity:1}.collapse{display:none}.collapse.in{display:block}tr.collapse.in{display:table-row}tbody.collapse.in{display:table-row-group}.collapsing{position:relative;height:0;overflow:hidden;-webkit-transition-timing-function:ease;-o-transition-timing-function:ease;transition-timing-function:ease;-webkit-transition-duration:.35s;-o-transition-duration:.35s;transition-duration:.35s;-webkit-transition-property:height,visibility;-o-transition-property:height,visibility;transition-property:height,visibility}.caret{display:inline-block;width:0;height:0;margin-left:2px;vertical-align:middle;border-top:4px dashed;border-top:4px solid\9;border-right:4px solid transparent;border-left:4px solid transparent}.dropdown,.dropup{position:relative}.dropdown-toggle:focus{outline:0}.dropdown-menu{position:absolute;top:100%;left:0;z-index:1000;display:none;float:left;min-width:160px;padding:5px 0;margin:2px 0 0;font-size:14px;text-align:left;list-style:none;background-color:#fff;-webkit-background-clip:padding-box;background-clip:padding-box;border:1px solid #ccc;border:1px solid rgba(0,0,0,.15);border-radius:4px;-webkit-box-shadow:0 6px 12px rgba(0,0,0,.175);box-shadow:0 6px 12px rgba(0,0,0,.175)}.dropdown-menu.pull-right{right:0;left:auto}.dropdown-menu .divider{height:1px;margin:9px 0;overflow:hidden;background-color:#e5e5e5}.dropdown-menu>li>a{display:block;padding:3px 20px;clear:both;font-weight:400;line-height:1.42857143;color:#333;white-space:nowrap}.dropdown-menu>li>a:focus,.dropdown-menu>li>a:hover{color:#262626;text-decoration:none;background-color:#f5f5f5}.dropdown-menu>.active>a,.dropdown-menu>.active>a:focus,.dropdown-menu>.active>a:hover{color:#fff;text-decoration:none;background-color:#337ab7;outline:0}.dropdown-menu>.disabled>a,.dropdown-menu>.disabled>a:focus,.dropdown-menu>.disabled>a:hover{color:#777}.dropdown-menu>.disabled>a:focus,.dropdown-menu>.disabled>a:hover{text-decoration:none;cursor:not-allowed;background-color:transparent;background-image:none;filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)}.open>.dropdown-menu{display:block}.open>a{outline:0}.dropdown-menu-right{right:0;left:auto}.dropdown-menu-left{right:auto;left:0}.dropdown-header{display:block;padding:3px 20px;font-size:12px;line-height:1.42857143;color:#777;white-space:nowrap}.dropdown-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:990}.pull-right>.dropdown-menu{right:0;left:auto}.dropup .caret,.navbar-fixed-bottom .dropdown .caret{content:"";border-top:0;border-bottom:4px dashed;border-bottom:4px solid\9}.dropup .dropdown-menu,.navbar-fixed-bottom .dropdown .dropdown-menu{top:auto;bottom:100%;margin-bottom:2px}@media (min-width:768px){.navbar-right .dropdown-menu{right:0;left:auto}.navbar-right .dropdown-menu-left{right:auto;left:0}}.btn-group,.btn-group-vertical{position:relative;display:inline-block;vertical-align:middle}.btn-group-vertical>.btn,.btn-group>.btn{position:relative;float:left}.btn-group-vertical>.btn.active,.btn-group-vertical>.btn:active,.btn-group-vertical>.btn:focus,.btn-group-vertical>.btn:hover,.btn-group>.btn.active,.btn-group>.btn:active,.btn-group>.btn:focus,.btn-group>.btn:hover{z-index:2}.btn-group .btn+.btn,.btn-group .btn+.btn-group,.btn-group .btn-group+.btn,.btn-group .btn-group+.btn-group{margin-left:-1px}.btn-toolbar{margin-left:-5px}.btn-toolbar .btn,.btn-toolbar .btn-group,.btn-toolbar .input-group{float:left}.btn-toolbar>.btn,.btn-toolbar>.btn-group,.btn-toolbar>.input-group{margin-left:5px}.btn-group>.btn:not(:first-child):not(:last-child):not(.dropdown-toggle){border-radius:0}.btn-group>.btn:first-child{margin-left:0}.btn-group>.btn:first-child:not(:last-child):not(.dropdown-toggle){border-top-right-radius:0;border-bottom-right-radius:0}.btn-group>.btn:last-child:not(:first-child),.btn-group>.dropdown-toggle:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.btn-group>.btn-group{float:left}.btn-group>.btn-group:not(:first-child):not(:last-child)>.btn{border-radius:0}.btn-group>.btn-group:first-child:not(:last-child)>.btn:last-child,.btn-group>.btn-group:first-child:not(:last-child)>.dropdown-toggle{border-top-right-radius:0;border-bottom-right-radius:0}.btn-group>.btn-group:last-child:not(:first-child)>.btn:first-child{border-top-left-radius:0;border-bottom-left-radius:0}.btn-group .dropdown-toggle:active,.btn-group.open .dropdown-toggle{outline:0}.btn-group>.btn+.dropdown-toggle{padding-right:8px;padding-left:8px}.btn-group>.btn-lg+.dropdown-toggle{padding-right:12px;padding-left:12px}.btn-group.open .dropdown-toggle{-webkit-box-shadow:inset 0 3px 5px rgba(0,0,0,.125);box-shadow:inset 0 3px 5px rgba(0,0,0,.125)}.btn-group.open .dropdown-toggle.btn-link{-webkit-box-shadow:none;box-shadow:none}.btn .caret{margin-left:0}.btn-lg .caret{border-width:5px 5px 0;border-bottom-width:0}.dropup .btn-lg .caret{border-width:0 5px 5px}.btn-group-vertical>.btn,.btn-group-vertical>.btn-group,.btn-group-vertical>.btn-group>.btn{display:block;float:none;width:100%;max-width:100%}.btn-group-vertical>.btn-group>.btn{float:none}.btn-group-vertical>.btn+.btn,.btn-group-vertical>.btn+.btn-group,.btn-group-vertical>.btn-group+.btn,.btn-group-vertical>.btn-group+.btn-group{margin-top:-1px;margin-left:0}.btn-group-vertical>.btn:not(:first-child):not(:last-child){border-radius:0}.btn-group-vertical>.btn:first-child:not(:last-child){border-top-left-radius:4px;border-top-right-radius:4px;border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn:last-child:not(:first-child){border-top-left-radius:0;border-top-right-radius:0;border-bottom-right-radius:4px;border-bottom-left-radius:4px}.btn-group-vertical>.btn-group:not(:first-child):not(:last-child)>.btn{border-radius:0}.btn-group-vertical>.btn-group:first-child:not(:last-child)>.btn:last-child,.btn-group-vertical>.btn-group:first-child:not(:last-child)>.dropdown-toggle{border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn-group:last-child:not(:first-child)>.btn:first-child{border-top-left-radius:0;border-top-right-radius:0}.btn-group-justified{display:table;width:100%;table-layout:fixed;border-collapse:separate}.btn-group-justified>.btn,.btn-group-justified>.btn-group{display:table-cell;float:none;width:1%}.btn-group-justified>.btn-group .btn{width:100%}.btn-group-justified>.btn-group .dropdown-menu{left:auto}[data-toggle=buttons]>.btn input[type=checkbox],[data-toggle=buttons]>.btn input[type=radio],[data-toggle=buttons]>.btn-group>.btn input[type=checkbox],[data-toggle=buttons]>.btn-group>.btn input[type=radio]{position:absolute;clip:rect(0,0,0,0);pointer-events:none}.input-group{position:relative;display:table;border-collapse:separate}.input-group[class*=col-]{float:none;padding-right:0;padding-left:0}.input-group .form-control{position:relative;z-index:2;float:left;width:100%;margin-bottom:0}.input-group .form-control:focus{z-index:3}.input-group-lg>.form-control,.input-group-lg>.input-group-addon,.input-group-lg>.input-group-btn>.btn{height:46px;padding:10px 16px;font-size:18px;line-height:1.3333333;border-radius:6px}select.input-group-lg>.form-control,select.input-group-lg>.input-group-addon,select.input-group-lg>.input-group-btn>.btn{height:46px;line-height:46px}select[multiple].input-group-lg>.form-control,select[multiple].input-group-lg>.input-group-addon,select[multiple].input-group-lg>.input-group-btn>.btn,textarea.input-group-lg>.form-control,textarea.input-group-lg>.input-group-addon,textarea.input-group-lg>.input-group-btn>.btn{height:auto}.input-group-sm>.form-control,.input-group-sm>.input-group-addon,.input-group-sm>.input-group-btn>.btn{height:30px;padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}select.input-group-sm>.form-control,select.input-group-sm>.input-group-addon,select.input-group-sm>.input-group-btn>.btn{height:30px;line-height:30px}select[multiple].input-group-sm>.form-control,select[multiple].input-group-sm>.input-group-addon,select[multiple].input-group-sm>.input-group-btn>.btn,textarea.input-group-sm>.form-control,textarea.input-group-sm>.input-group-addon,textarea.input-group-sm>.input-group-btn>.btn{height:auto}.input-group .form-control,.input-group-addon,.input-group-btn{display:table-cell}.input-group .form-control:not(:first-child):not(:last-child),.input-group-addon:not(:first-child):not(:last-child),.input-group-btn:not(:first-child):not(:last-child){border-radius:0}.input-group-addon,.input-group-btn{width:1%;white-space:nowrap;vertical-align:middle}.input-group-addon{padding:6px 12px;font-size:14px;font-weight:400;line-height:1;color:#555;text-align:center;background-color:#eee;border:1px solid #ccc;border-radius:4px}.input-group-addon.input-sm{padding:5px 10px;font-size:12px;border-radius:3px}.input-group-addon.input-lg{padding:10px 16px;font-size:18px;border-radius:6px}.input-group-addon input[type=checkbox],.input-group-addon input[type=radio]{margin-top:0}.input-group .form-control:first-child,.input-group-addon:first-child,.input-group-btn:first-child>.btn,.input-group-btn:first-child>.btn-group>.btn,.input-group-btn:first-child>.dropdown-toggle,.input-group-btn:last-child>.btn-group:not(:last-child)>.btn,.input-group-btn:last-child>.btn:not(:last-child):not(.dropdown-toggle){border-top-right-radius:0;border-bottom-right-radius:0}.input-group-addon:first-child{border-right:0}.input-group .form-control:last-child,.input-group-addon:last-child,.input-group-btn:first-child>.btn-group:not(:first-child)>.btn,.input-group-btn:first-child>.btn:not(:first-child),.input-group-btn:last-child>.btn,.input-group-btn:last-child>.btn-group>.btn,.input-group-btn:last-child>.dropdown-toggle{border-top-left-radius:0;border-bottom-left-radius:0}.input-group-addon:last-child{border-left:0}.input-group-btn{position:relative;font-size:0;white-space:nowrap}.input-group-btn>.btn{position:relative}.input-group-btn>.btn+.btn{margin-left:-1px}.input-group-btn>.btn:active,.input-group-btn>.btn:focus,.input-group-btn>.btn:hover{z-index:2}.input-group-btn:first-child>.btn,.input-group-btn:first-child>.btn-group{margin-right:-1px}.input-group-btn:last-child>.btn,.input-group-btn:last-child>.btn-group{z-index:2;margin-left:-1px}.nav{padding-left:0;margin-bottom:0;list-style:none}.nav>li{position:relative;display:block}.nav>li>a{position:relative;display:block;padding:10px 15px}.nav>li>a:focus,.nav>li>a:hover{text-decoration:none;background-color:#eee}.nav>li.disabled>a{color:#777}.nav>li.disabled>a:focus,.nav>li.disabled>a:hover{color:#777;text-decoration:none;cursor:not-allowed;background-color:transparent}.nav .open>a,.nav .open>a:focus,.nav .open>a:hover{background-color:#eee;border-color:#337ab7}.nav .nav-divider{height:1px;margin:9px 0;overflow:hidden;background-color:#e5e5e5}.nav>li>a>img{max-width:none}.nav-tabs{border-bottom:1px solid #ddd}.nav-tabs>li{float:left;margin-bottom:-1px}.nav-tabs>li>a{margin-right:2px;line-height:1.42857143;border:1px solid transparent;border-radius:4px 4px 0 0}.nav-tabs>li>a:hover{border-color:#eee #eee #ddd}.nav-tabs>li.active>a,.nav-tabs>li.active>a:focus,.nav-tabs>li.active>a:hover{color:#555;cursor:default;background-color:#fff;border:1px solid #ddd;border-bottom-color:transparent}.nav-tabs.nav-justified{width:100%;border-bottom:0}.nav-tabs.nav-justified>li{float:none}.nav-tabs.nav-justified>li>a{margin-bottom:5px;text-align:center}.nav-tabs.nav-justified>.dropdown .dropdown-menu{top:auto;left:auto}@media (min-width:768px){.nav-tabs.nav-justified>li{display:table-cell;width:1%}.nav-tabs.nav-justified>li>a{margin-bottom:0}}.nav-tabs.nav-justified>li>a{margin-right:0;border-radius:4px}.nav-tabs.nav-justified>.active>a,.nav-tabs.nav-justified>.active>a:focus,.nav-tabs.nav-justified>.active>a:hover{border:1px solid #ddd}@media (min-width:768px){.nav-tabs.nav-justified>li>a{border-bottom:1px solid #ddd;border-radius:4px 4px 0 0}.nav-tabs.nav-justified>.active>a,.nav-tabs.nav-justified>.active>a:focus,.nav-tabs.nav-justified>.active>a:hover{border-bottom-color:#fff}}.nav-pills>li{float:left}.nav-pills>li>a{border-radius:4px}.nav-pills>li+li{margin-left:2px}.nav-pills>li.active>a,.nav-pills>li.active>a:focus,.nav-pills>li.active>a:hover{color:#fff;background-color:#337ab7}.nav-stacked>li{float:none}.nav-stacked>li+li{margin-top:2px;margin-left:0}.nav-justified{width:100%}.nav-justified>li{float:none}.nav-justified>li>a{margin-bottom:5px;text-align:center}.nav-justified>.dropdown .dropdown-menu{top:auto;left:auto}@media (min-width:768px){.nav-justified>li{display:table-cell;width:1%}.nav-justified>li>a{margin-bottom:0}}.nav-tabs-justified{border-bottom:0}.nav-tabs-justified>li>a{margin-right:0;border-radius:4px}.nav-tabs-justified>.active>a,.nav-tabs-justified>.active>a:focus,.nav-tabs-justified>.active>a:hover{border:1px solid #ddd}@media (min-width:768px){.nav-tabs-justified>li>a{border-bottom:1px solid #ddd;border-radius:4px 4px 0 0}.nav-tabs-justified>.active>a,.nav-tabs-justified>.active>a:focus,.nav-tabs-justified>.active>a:hover{border-bottom-color:#fff}}.tab-content>.tab-pane{display:none}.tab-content>.active{display:block}.nav-tabs .dropdown-menu{margin-top:-1px;border-top-left-radius:0;border-top-right-radius:0}.navbar{position:relative;min-height:50px;margin-bottom:20px;border:1px solid transparent}@media (min-width:768px){.navbar{border-radius:4px}}@media (min-width:768px){.navbar-header{float:left}}.navbar-collapse{padding-right:15px;padding-left:15px;overflow-x:visible;-webkit-overflow-scrolling:touch;border-top:1px solid transparent;-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,.1);box-shadow:inset 0 1px 0 rgba(255,255,255,.1)}.navbar-collapse.in{overflow-y:auto}@media (min-width:768px){.navbar-collapse{width:auto;border-top:0;-webkit-box-shadow:none;box-shadow:none}.navbar-collapse.collapse{display:block!important;height:auto!important;padding-bottom:0;overflow:visible!important}.navbar-collapse.in{overflow-y:visible}.navbar-fixed-bottom .navbar-collapse,.navbar-fixed-top .navbar-collapse,.navbar-static-top .navbar-collapse{padding-right:0;padding-left:0}}.navbar-fixed-bottom .navbar-collapse,.navbar-fixed-top .navbar-collapse{max-height:340px}@media (max-device-width:480px) and (orientation:landscape){.navbar-fixed-bottom .navbar-collapse,.navbar-fixed-top .navbar-collapse{max-height:200px}}.container-fluid>.navbar-collapse,.container-fluid>.navbar-header,.container>.navbar-collapse,.container>.navbar-header{margin-right:-15px;margin-left:-15px}@media (min-width:768px){.container-fluid>.navbar-collapse,.container-fluid>.navbar-header,.container>.navbar-collapse,.container>.navbar-header{margin-right:0;margin-left:0}}.navbar-static-top{z-index:1000;border-width:0 0 1px}@media (min-width:768px){.navbar-static-top{border-radius:0}}.navbar-fixed-bottom,.navbar-fixed-top{position:fixed;right:0;left:0;z-index:1030}@media (min-width:768px){.navbar-fixed-bottom,.navbar-fixed-top{border-radius:0}}.navbar-fixed-top{top:0;border-width:0 0 1px}.navbar-fixed-bottom{bottom:0;margin-bottom:0;border-width:1px 0 0}.navbar-brand{float:left;height:50px;padding:15px 15px;font-size:18px;line-height:20px}.navbar-brand:focus,.navbar-brand:hover{text-decoration:none}.navbar-brand>img{display:block}@media (min-width:768px){.navbar>.container .navbar-brand,.navbar>.container-fluid .navbar-brand{margin-left:-15px}}.navbar-toggle{position:relative;float:right;padding:9px 10px;margin-top:8px;margin-right:15px;margin-bottom:8px;background-color:transparent;background-image:none;border:1px solid transparent;border-radius:4px}.navbar-toggle:focus{outline:0}.navbar-toggle .icon-bar{display:block;width:22px;height:2px;border-radius:1px}.navbar-toggle .icon-bar+.icon-bar{margin-top:4px}@media (min-width:768px){.navbar-toggle{display:none}}.navbar-nav{margin:7.5px -15px}.navbar-nav>li>a{padding-top:10px;padding-bottom:10px;line-height:20px}@media (max-width:767px){.navbar-nav .open .dropdown-menu{position:static;float:none;width:auto;margin-top:0;background-color:transparent;border:0;-webkit-box-shadow:none;box-shadow:none}.navbar-nav .open .dropdown-menu .dropdown-header,.navbar-nav .open .dropdown-menu>li>a{padding:5px 15px 5px 25px}.navbar-nav .open .dropdown-menu>li>a{line-height:20px}.navbar-nav .open .dropdown-menu>li>a:focus,.navbar-nav .open .dropdown-menu>li>a:hover{background-image:none}}@media (min-width:768px){.navbar-nav{float:left;margin:0}.navbar-nav>li{float:left}.navbar-nav>li>a{padding-top:15px;padding-bottom:15px}}.navbar-form{padding:10px 15px;margin-top:8px;margin-right:-15px;margin-bottom:8px;margin-left:-15px;border-top:1px solid transparent;border-bottom:1px solid transparent;-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,.1),0 1px 0 rgba(255,255,255,.1);box-shadow:inset 0 1px 0 rgba(255,255,255,.1),0 1px 0 rgba(255,255,255,.1)}@media (min-width:768px){.navbar-form .form-group{display:inline-block;margin-bottom:0;vertical-align:middle}.navbar-form .form-control{display:inline-block;width:auto;vertical-align:middle}.navbar-form .form-control-static{display:inline-block}.navbar-form .input-group{display:inline-table;vertical-align:middle}.navbar-form .input-group .form-control,.navbar-form .input-group .input-group-addon,.navbar-form .input-group .input-group-btn{width:auto}.navbar-form .input-group>.form-control{width:100%}.navbar-form .control-label{margin-bottom:0;vertical-align:middle}.navbar-form .checkbox,.navbar-form .radio{display:inline-block;margin-top:0;margin-bottom:0;vertical-align:middle}.navbar-form .checkbox label,.navbar-form .radio label{padding-left:0}.navbar-form .checkbox input[type=checkbox],.navbar-form .radio input[type=radio]{position:relative;margin-left:0}.navbar-form .has-feedback .form-control-feedback{top:0}}@media (max-width:767px){.navbar-form .form-group{margin-bottom:5px}.navbar-form .form-group:last-child{margin-bottom:0}}@media (min-width:768px){.navbar-form{width:auto;padding-top:0;padding-bottom:0;margin-right:0;margin-left:0;border:0;-webkit-box-shadow:none;box-shadow:none}}.navbar-nav>li>.dropdown-menu{margin-top:0;border-top-left-radius:0;border-top-right-radius:0}.navbar-fixed-bottom .navbar-nav>li>.dropdown-menu{margin-bottom:0;border-top-left-radius:4px;border-top-right-radius:4px;border-bottom-right-radius:0;border-bottom-left-radius:0}.navbar-btn{margin-top:8px;margin-bottom:8px}.navbar-btn.btn-sm{margin-top:10px;margin-bottom:10px}.navbar-btn.btn-xs{margin-top:14px;margin-bottom:14px}.navbar-text{margin-top:15px;margin-bottom:15px}@media (min-width:768px){.navbar-text{float:left;margin-right:15px;margin-left:15px}}@media (min-width:768px){.navbar-left{float:left!important}.navbar-right{float:right!important;margin-right:-15px}.navbar-right~.navbar-right{margin-right:0}}.navbar-default{background-color:#f8f8f8;border-color:#e7e7e7}.navbar-default .navbar-brand{color:#777}.navbar-default .navbar-brand:focus,.navbar-default .navbar-brand:hover{color:#5e5e5e;background-color:transparent}.navbar-default .navbar-text{color:#777}.navbar-default .navbar-nav>li>a{color:#777}.navbar-default .navbar-nav>li>a:focus,.navbar-default .navbar-nav>li>a:hover{color:#333;background-color:transparent}.navbar-default .navbar-nav>.active>a,.navbar-default .navbar-nav>.active>a:focus,.navbar-default .navbar-nav>.active>a:hover{color:#555;background-color:#e7e7e7}.navbar-default .navbar-nav>.disabled>a,.navbar-default .navbar-nav>.disabled>a:focus,.navbar-default .navbar-nav>.disabled>a:hover{color:#ccc;background-color:transparent}.navbar-default .navbar-toggle{border-color:#ddd}.navbar-default .navbar-toggle:focus,.navbar-default .navbar-toggle:hover{background-color:#ddd}.navbar-default .navbar-toggle .icon-bar{background-color:#888}.navbar-default .navbar-collapse,.navbar-default .navbar-form{border-color:#e7e7e7}.navbar-default .navbar-nav>.open>a,.navbar-default .navbar-nav>.open>a:focus,.navbar-default .navbar-nav>.open>a:hover{color:#555;background-color:#e7e7e7}@media (max-width:767px){.navbar-default .navbar-nav .open .dropdown-menu>li>a{color:#777}.navbar-default .navbar-nav .open .dropdown-menu>li>a:focus,.navbar-default .navbar-nav .open .dropdown-menu>li>a:hover{color:#333;background-color:transparent}.navbar-default .navbar-nav .open .dropdown-menu>.active>a,.navbar-default .navbar-nav .open .dropdown-menu>.active>a:focus,.navbar-default .navbar-nav .open .dropdown-menu>.active>a:hover{color:#555;background-color:#e7e7e7}.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a,.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a:focus,.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a:hover{color:#ccc;background-color:transparent}}.navbar-default .navbar-link{color:#777}.navbar-default .navbar-link:hover{color:#333}.navbar-default .btn-link{color:#777}.navbar-default .btn-link:focus,.navbar-default .btn-link:hover{color:#333}.navbar-default .btn-link[disabled]:focus,.navbar-default .btn-link[disabled]:hover,fieldset[disabled] .navbar-default .btn-link:focus,fieldset[disabled] .navbar-default .btn-link:hover{color:#ccc}.navbar-inverse{background-color:#222;border-color:#080808}.navbar-inverse .navbar-brand{color:#9d9d9d}.navbar-inverse .navbar-brand:focus,.navbar-inverse .navbar-brand:hover{color:#fff;background-color:transparent}.navbar-inverse .navbar-text{color:#9d9d9d}.navbar-inverse .navbar-nav>li>a{color:#9d9d9d}.navbar-inverse .navbar-nav>li>a:focus,.navbar-inverse .navbar-nav>li>a:hover{color:#fff;background-color:transparent}.navbar-inverse .navbar-nav>.active>a,.navbar-inverse .navbar-nav>.active>a:focus,.navbar-inverse .navbar-nav>.active>a:hover{color:#fff;background-color:#080808}.navbar-inverse .navbar-nav>.disabled>a,.navbar-inverse .navbar-nav>.disabled>a:focus,.navbar-inverse .navbar-nav>.disabled>a:hover{color:#444;background-color:transparent}.navbar-inverse .navbar-toggle{border-color:#333}.navbar-inverse .navbar-toggle:focus,.navbar-inverse .navbar-toggle:hover{background-color:#333}.navbar-inverse .navbar-toggle .icon-bar{background-color:#fff}.navbar-inverse .navbar-collapse,.navbar-inverse .navbar-form{border-color:#101010}.navbar-inverse .navbar-nav>.open>a,.navbar-inverse .navbar-nav>.open>a:focus,.navbar-inverse .navbar-nav>.open>a:hover{color:#fff;background-color:#080808}@media (max-width:767px){.navbar-inverse .navbar-nav .open .dropdown-menu>.dropdown-header{border-color:#080808}.navbar-inverse .navbar-nav .open .dropdown-menu .divider{background-color:#080808}.navbar-inverse .navbar-nav .open .dropdown-menu>li>a{color:#9d9d9d}.navbar-inverse .navbar-nav .open .dropdown-menu>li>a:focus,.navbar-inverse .navbar-nav .open .dropdown-menu>li>a:hover{color:#fff;background-color:transparent}.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a,.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a:focus,.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a:hover{color:#fff;background-color:#080808}.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a,.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a:focus,.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a:hover{color:#444;background-color:transparent}}.navbar-inverse .navbar-link{color:#9d9d9d}.navbar-inverse .navbar-link:hover{color:#fff}.navbar-inverse .btn-link{color:#9d9d9d}.navbar-inverse .btn-link:focus,.navbar-inverse .btn-link:hover{color:#fff}.navbar-inverse .btn-link[disabled]:focus,.navbar-inverse .btn-link[disabled]:hover,fieldset[disabled] .navbar-inverse .btn-link:focus,fieldset[disabled] .navbar-inverse .btn-link:hover{color:#444}.breadcrumb{padding:8px 15px;margin-bottom:20px;list-style:none;background-color:#f5f5f5;border-radius:4px}.breadcrumb>li{display:inline-block}.breadcrumb>li+li:before{padding:0 5px;color:#ccc;content:"/\00a0"}.breadcrumb>.active{color:#777}.pagination{display:inline-block;padding-left:0;margin:20px 0;border-radius:4px}.pagination>li{display:inline}.pagination>li>a,.pagination>li>span{position:relative;float:left;padding:6px 12px;margin-left:-1px;line-height:1.42857143;color:#337ab7;text-decoration:none;background-color:#fff;border:1px solid #ddd}.pagination>li:first-child>a,.pagination>li:first-child>span{margin-left:0;border-top-left-radius:4px;border-bottom-left-radius:4px}.pagination>li:last-child>a,.pagination>li:last-child>span{border-top-right-radius:4px;border-bottom-right-radius:4px}.pagination>li>a:focus,.pagination>li>a:hover,.pagination>li>span:focus,.pagination>li>span:hover{z-index:2;color:#23527c;background-color:#eee;border-color:#ddd}.pagination>.active>a,.pagination>.active>a:focus,.pagination>.active>a:hover,.pagination>.active>span,.pagination>.active>span:focus,.pagination>.active>span:hover{z-index:3;color:#fff;cursor:default;background-color:#337ab7;border-color:#337ab7}.pagination>.disabled>a,.pagination>.disabled>a:focus,.pagination>.disabled>a:hover,.pagination>.disabled>span,.pagination>.disabled>span:focus,.pagination>.disabled>span:hover{color:#777;cursor:not-allowed;background-color:#fff;border-color:#ddd}.pagination-lg>li>a,.pagination-lg>li>span{padding:10px 16px;font-size:18px;line-height:1.3333333}.pagination-lg>li:first-child>a,.pagination-lg>li:first-child>span{border-top-left-radius:6px;border-bottom-left-radius:6px}.pagination-lg>li:last-child>a,.pagination-lg>li:last-child>span{border-top-right-radius:6px;border-bottom-right-radius:6px}.pagination-sm>li>a,.pagination-sm>li>span{padding:5px 10px;font-size:12px;line-height:1.5}.pagination-sm>li:first-child>a,.pagination-sm>li:first-child>span{border-top-left-radius:3px;border-bottom-left-radius:3px}.pagination-sm>li:last-child>a,.pagination-sm>li:last-child>span{border-top-right-radius:3px;border-bottom-right-radius:3px}.pager{padding-left:0;margin:20px 0;text-align:center;list-style:none}.pager li{display:inline}.pager li>a,.pager li>span{display:inline-block;padding:5px 14px;background-color:#fff;border:1px solid #ddd;border-radius:15px}.pager li>a:focus,.pager li>a:hover{text-decoration:none;background-color:#eee}.pager .next>a,.pager .next>span{float:right}.pager .previous>a,.pager .previous>span{float:left}.pager .disabled>a,.pager .disabled>a:focus,.pager .disabled>a:hover,.pager .disabled>span{color:#777;cursor:not-allowed;background-color:#fff}.label{display:inline;padding:.2em .6em .3em;font-size:75%;font-weight:700;line-height:1;color:#fff;text-align:center;white-space:nowrap;vertical-align:baseline;border-radius:.25em}a.label:focus,a.label:hover{color:#fff;text-decoration:none;cursor:pointer}.label:empty{display:none}.btn .label{position:relative;top:-1px}.label-default{background-color:#777}.label-default[href]:focus,.label-default[href]:hover{background-color:#5e5e5e}.label-primary{background-color:#337ab7}.label-primary[href]:focus,.label-primary[href]:hover{background-color:#286090}.label-success{background-color:#5cb85c}.label-success[href]:focus,.label-success[href]:hover{background-color:#449d44}.label-info{background-color:#5bc0de}.label-info[href]:focus,.label-info[href]:hover{background-color:#31b0d5}.label-warning{background-color:#f0ad4e}.label-warning[href]:focus,.label-warning[href]:hover{background-color:#ec971f}.label-danger{background-color:#d9534f}.label-danger[href]:focus,.label-danger[href]:hover{background-color:#c9302c}.badge{display:inline-block;min-width:10px;padding:3px 7px;font-size:12px;font-weight:700;line-height:1;color:#fff;text-align:center;white-space:nowrap;vertical-align:middle;background-color:#777;border-radius:10px}.badge:empty{display:none}.btn .badge{position:relative;top:-1px}.btn-group-xs>.btn .badge,.btn-xs .badge{top:0;padding:1px 5px}a.badge:focus,a.badge:hover{color:#fff;text-decoration:none;cursor:pointer}.list-group-item.active>.badge,.nav-pills>.active>a>.badge{color:#337ab7;background-color:#fff}.list-group-item>.badge{float:right}.list-group-item>.badge+.badge{margin-right:5px}.nav-pills>li>a>.badge{margin-left:3px}.jumbotron{padding-top:30px;padding-bottom:30px;margin-bottom:30px;color:inherit;background-color:#eee}.jumbotron .h1,.jumbotron h1{color:inherit}.jumbotron p{margin-bottom:15px;font-size:21px;font-weight:200}.jumbotron>hr{border-top-color:#d5d5d5}.container .jumbotron,.container-fluid .jumbotron{padding-right:15px;padding-left:15px;border-radius:6px}.jumbotron .container{max-width:100%}@media screen and (min-width:768px){.jumbotron{padding-top:48px;padding-bottom:48px}.container .jumbotron,.container-fluid .jumbotron{padding-right:60px;padding-left:60px}.jumbotron .h1,.jumbotron h1{font-size:63px}}.thumbnail{display:block;padding:4px;margin-bottom:20px;line-height:1.42857143;background-color:#fff;border:1px solid #ddd;border-radius:4px;-webkit-transition:border .2s ease-in-out;-o-transition:border .2s ease-in-out;transition:border .2s ease-in-out}.thumbnail a>img,.thumbnail>img{margin-right:auto;margin-left:auto}a.thumbnail.active,a.thumbnail:focus,a.thumbnail:hover{border-color:#337ab7}.thumbnail .caption{padding:9px;color:#333}.alert{padding:15px;margin-bottom:20px;border:1px solid transparent;border-radius:4px}.alert h4{margin-top:0;color:inherit}.alert .alert-link{font-weight:700}.alert>p,.alert>ul{margin-bottom:0}.alert>p+p{margin-top:5px}.alert-dismissable,.alert-dismissible{padding-right:35px}.alert-dismissable .close,.alert-dismissible .close{position:relative;top:-2px;right:-21px;color:inherit}.alert-success{color:#3c763d;background-color:#dff0d8;border-color:#d6e9c6}.alert-success hr{border-top-color:#c9e2b3}.alert-success .alert-link{color:#2b542c}.alert-info{color:#31708f;background-color:#d9edf7;border-color:#bce8f1}.alert-info hr{border-top-color:#a6e1ec}.alert-info .alert-link{color:#245269}.alert-warning{color:#8a6d3b;background-color:#fcf8e3;border-color:#faebcc}.alert-warning hr{border-top-color:#f7e1b5}.alert-warning .alert-link{color:#66512c}.alert-danger{color:#a94442;background-color:#f2dede;border-color:#ebccd1}.alert-danger hr{border-top-color:#e4b9c0}.alert-danger .alert-link{color:#843534}@-webkit-keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}@-o-keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}@keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}.progress{height:20px;margin-bottom:20px;overflow:hidden;background-color:#f5f5f5;border-radius:4px;-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,.1);box-shadow:inset 0 1px 2px rgba(0,0,0,.1)}.progress-bar{float:left;width:0;height:100%;font-size:12px;line-height:20px;color:#fff;text-align:center;background-color:#337ab7;-webkit-box-shadow:inset 0 -1px 0 rgba(0,0,0,.15);box-shadow:inset 0 -1px 0 rgba(0,0,0,.15);-webkit-transition:width .6s ease;-o-transition:width .6s ease;transition:width .6s ease}.progress-bar-striped,.progress-striped .progress-bar{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);-webkit-background-size:40px 40px;background-size:40px 40px}.progress-bar.active,.progress.active .progress-bar{-webkit-animation:progress-bar-stripes 2s linear infinite;-o-animation:progress-bar-stripes 2s linear infinite;animation:progress-bar-stripes 2s linear infinite}.progress-bar-success{background-color:#5cb85c}.progress-striped .progress-bar-success{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.progress-bar-info{background-color:#5bc0de}.progress-striped .progress-bar-info{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.progress-bar-warning{background-color:#f0ad4e}.progress-striped .progress-bar-warning{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.progress-bar-danger{background-color:#d9534f}.progress-striped .progress-bar-danger{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.media{margin-top:15px}.media:first-child{margin-top:0}.media,.media-body{overflow:hidden;zoom:1}.media-body{width:10000px}.media-object{display:block}.media-object.img-thumbnail{max-width:none}.media-right,.media>.pull-right{padding-left:10px}.media-left,.media>.pull-left{padding-right:10px}.media-body,.media-left,.media-right{display:table-cell;vertical-align:top}.media-middle{vertical-align:middle}.media-bottom{vertical-align:bottom}.media-heading{margin-top:0;margin-bottom:5px}.media-list{padding-left:0;list-style:none}.list-group{padding-left:0;margin-bottom:20px}.list-group-item{position:relative;display:block;padding:10px 15px;margin-bottom:-1px;background-color:#fff;border:1px solid #ddd}.list-group-item:first-child{border-top-left-radius:4px;border-top-right-radius:4px}.list-group-item:last-child{margin-bottom:0;border-bottom-right-radius:4px;border-bottom-left-radius:4px}a.list-group-item,button.list-group-item{color:#555}a.list-group-item .list-group-item-heading,button.list-group-item .list-group-item-heading{color:#333}a.list-group-item:focus,a.list-group-item:hover,button.list-group-item:focus,button.list-group-item:hover{color:#555;text-decoration:none;background-color:#f5f5f5}button.list-group-item{width:100%;text-align:left}.list-group-item.disabled,.list-group-item.disabled:focus,.list-group-item.disabled:hover{color:#777;cursor:not-allowed;background-color:#eee}.list-group-item.disabled .list-group-item-heading,.list-group-item.disabled:focus .list-group-item-heading,.list-group-item.disabled:hover .list-group-item-heading{color:inherit}.list-group-item.disabled .list-group-item-text,.list-group-item.disabled:focus .list-group-item-text,.list-group-item.disabled:hover .list-group-item-text{color:#777}.list-group-item.active,.list-group-item.active:focus,.list-group-item.active:hover{z-index:2;color:#fff;background-color:#337ab7;border-color:#337ab7}.list-group-item.active .list-group-item-heading,.list-group-item.active .list-group-item-heading>.small,.list-group-item.active .list-group-item-heading>small,.list-group-item.active:focus .list-group-item-heading,.list-group-item.active:focus .list-group-item-heading>.small,.list-group-item.active:focus .list-group-item-heading>small,.list-group-item.active:hover .list-group-item-heading,.list-group-item.active:hover .list-group-item-heading>.small,.list-group-item.active:hover .list-group-item-heading>small{color:inherit}.list-group-item.active .list-group-item-text,.list-group-item.active:focus .list-group-item-text,.list-group-item.active:hover .list-group-item-text{color:#c7ddef}.list-group-item-success{color:#3c763d;background-color:#dff0d8}a.list-group-item-success,button.list-group-item-success{color:#3c763d}a.list-group-item-success .list-group-item-heading,button.list-group-item-success .list-group-item-heading{color:inherit}a.list-group-item-success:focus,a.list-group-item-success:hover,button.list-group-item-success:focus,button.list-group-item-success:hover{color:#3c763d;background-color:#d0e9c6}a.list-group-item-success.active,a.list-group-item-success.active:focus,a.list-group-item-success.active:hover,button.list-group-item-success.active,button.list-group-item-success.active:focus,button.list-group-item-success.active:hover{color:#fff;background-color:#3c763d;border-color:#3c763d}.list-group-item-info{color:#31708f;background-color:#d9edf7}a.list-group-item-info,button.list-group-item-info{color:#31708f}a.list-group-item-info .list-group-item-heading,button.list-group-item-info .list-group-item-heading{color:inherit}a.list-group-item-info:focus,a.list-group-item-info:hover,button.list-group-item-info:focus,button.list-group-item-info:hover{color:#31708f;background-color:#c4e3f3}a.list-group-item-info.active,a.list-group-item-info.active:focus,a.list-group-item-info.active:hover,button.list-group-item-info.active,button.list-group-item-info.active:focus,button.list-group-item-info.active:hover{color:#fff;background-color:#31708f;border-color:#31708f}.list-group-item-warning{color:#8a6d3b;background-color:#fcf8e3}a.list-group-item-warning,button.list-group-item-warning{color:#8a6d3b}a.list-group-item-warning .list-group-item-heading,button.list-group-item-warning .list-group-item-heading{color:inherit}a.list-group-item-warning:focus,a.list-group-item-warning:hover,button.list-group-item-warning:focus,button.list-group-item-warning:hover{color:#8a6d3b;background-color:#faf2cc}a.list-group-item-warning.active,a.list-group-item-warning.active:focus,a.list-group-item-warning.active:hover,button.list-group-item-warning.active,button.list-group-item-warning.active:focus,button.list-group-item-warning.active:hover{color:#fff;background-color:#8a6d3b;border-color:#8a6d3b}.list-group-item-danger{color:#a94442;background-color:#f2dede}a.list-group-item-danger,button.list-group-item-danger{color:#a94442}a.list-group-item-danger .list-group-item-heading,button.list-group-item-danger .list-group-item-heading{color:inherit}a.list-group-item-danger:focus,a.list-group-item-danger:hover,button.list-group-item-danger:focus,button.list-group-item-danger:hover{color:#a94442;background-color:#ebcccc}a.list-group-item-danger.active,a.list-group-item-danger.active:focus,a.list-group-item-danger.active:hover,button.list-group-item-danger.active,button.list-group-item-danger.active:focus,button.list-group-item-danger.active:hover{color:#fff;background-color:#a94442;border-color:#a94442}.list-group-item-heading{margin-top:0;margin-bottom:5px}.list-group-item-text{margin-bottom:0;line-height:1.3}.panel{margin-bottom:20px;background-color:#fff;border:1px solid transparent;border-radius:4px;-webkit-box-shadow:0 1px 1px rgba(0,0,0,.05);box-shadow:0 1px 1px rgba(0,0,0,.05)}.panel-body{padding:15px}.panel-heading{padding:10px 15px;border-bottom:1px solid transparent;border-top-left-radius:3px;border-top-right-radius:3px}.panel-heading>.dropdown .dropdown-toggle{color:inherit}.panel-title{margin-top:0;margin-bottom:0;font-size:16px;color:inherit}.panel-title>.small,.panel-title>.small>a,.panel-title>a,.panel-title>small,.panel-title>small>a{color:inherit}.panel-footer{padding:10px 15px;background-color:#f5f5f5;border-top:1px solid #ddd;border-bottom-right-radius:3px;border-bottom-left-radius:3px}.panel>.list-group,.panel>.panel-collapse>.list-group{margin-bottom:0}.panel>.list-group .list-group-item,.panel>.panel-collapse>.list-group .list-group-item{border-width:1px 0;border-radius:0}.panel>.list-group:first-child .list-group-item:first-child,.panel>.panel-collapse>.list-group:first-child .list-group-item:first-child{border-top:0;border-top-left-radius:3px;border-top-right-radius:3px}.panel>.list-group:last-child .list-group-item:last-child,.panel>.panel-collapse>.list-group:last-child .list-group-item:last-child{border-bottom:0;border-bottom-right-radius:3px;border-bottom-left-radius:3px}.panel>.panel-heading+.panel-collapse>.list-group .list-group-item:first-child{border-top-left-radius:0;border-top-right-radius:0}.panel-heading+.list-group .list-group-item:first-child{border-top-width:0}.list-group+.panel-footer{border-top-width:0}.panel>.panel-collapse>.table,.panel>.table,.panel>.table-responsive>.table{margin-bottom:0}.panel>.panel-collapse>.table caption,.panel>.table caption,.panel>.table-responsive>.table caption{padding-right:15px;padding-left:15px}.panel>.table-responsive:first-child>.table:first-child,.panel>.table:first-child{border-top-left-radius:3px;border-top-right-radius:3px}.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child,.panel>.table:first-child>tbody:first-child>tr:first-child,.panel>.table:first-child>thead:first-child>tr:first-child{border-top-left-radius:3px;border-top-right-radius:3px}.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child td:first-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child th:first-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child td:first-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child th:first-child,.panel>.table:first-child>tbody:first-child>tr:first-child td:first-child,.panel>.table:first-child>tbody:first-child>tr:first-child th:first-child,.panel>.table:first-child>thead:first-child>tr:first-child td:first-child,.panel>.table:first-child>thead:first-child>tr:first-child th:first-child{border-top-left-radius:3px}.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child td:last-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child th:last-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child td:last-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child th:last-child,.panel>.table:first-child>tbody:first-child>tr:first-child td:last-child,.panel>.table:first-child>tbody:first-child>tr:first-child th:last-child,.panel>.table:first-child>thead:first-child>tr:first-child td:last-child,.panel>.table:first-child>thead:first-child>tr:first-child th:last-child{border-top-right-radius:3px}.panel>.table-responsive:last-child>.table:last-child,.panel>.table:last-child{border-bottom-right-radius:3px;border-bottom-left-radius:3px}.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child,.panel>.table:last-child>tbody:last-child>tr:last-child,.panel>.table:last-child>tfoot:last-child>tr:last-child{border-bottom-right-radius:3px;border-bottom-left-radius:3px}.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child td:first-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child th:first-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child td:first-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child th:first-child,.panel>.table:last-child>tbody:last-child>tr:last-child td:first-child,.panel>.table:last-child>tbody:last-child>tr:last-child th:first-child,.panel>.table:last-child>tfoot:last-child>tr:last-child td:first-child,.panel>.table:last-child>tfoot:last-child>tr:last-child th:first-child{border-bottom-left-radius:3px}.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child td:last-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child th:last-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child td:last-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child th:last-child,.panel>.table:last-child>tbody:last-child>tr:last-child td:last-child,.panel>.table:last-child>tbody:last-child>tr:last-child th:last-child,.panel>.table:last-child>tfoot:last-child>tr:last-child td:last-child,.panel>.table:last-child>tfoot:last-child>tr:last-child th:last-child{border-bottom-right-radius:3px}.panel>.panel-body+.table,.panel>.panel-body+.table-responsive,.panel>.table+.panel-body,.panel>.table-responsive+.panel-body{border-top:1px solid #ddd}.panel>.table>tbody:first-child>tr:first-child td,.panel>.table>tbody:first-child>tr:first-child th{border-top:0}.panel>.table-bordered,.panel>.table-responsive>.table-bordered{border:0}.panel>.table-bordered>tbody>tr>td:first-child,.panel>.table-bordered>tbody>tr>th:first-child,.panel>.table-bordered>tfoot>tr>td:first-child,.panel>.table-bordered>tfoot>tr>th:first-child,.panel>.table-bordered>thead>tr>td:first-child,.panel>.table-bordered>thead>tr>th:first-child,.panel>.table-responsive>.table-bordered>tbody>tr>td:first-child,.panel>.table-responsive>.table-bordered>tbody>tr>th:first-child,.panel>.table-responsive>.table-bordered>tfoot>tr>td:first-child,.panel>.table-responsive>.table-bordered>tfoot>tr>th:first-child,.panel>.table-responsive>.table-bordered>thead>tr>td:first-child,.panel>.table-responsive>.table-bordered>thead>tr>th:first-child{border-left:0}.panel>.table-bordered>tbody>tr>td:last-child,.panel>.table-bordered>tbody>tr>th:last-child,.panel>.table-bordered>tfoot>tr>td:last-child,.panel>.table-bordered>tfoot>tr>th:last-child,.panel>.table-bordered>thead>tr>td:last-child,.panel>.table-bordered>thead>tr>th:last-child,.panel>.table-responsive>.table-bordered>tbody>tr>td:last-child,.panel>.table-responsive>.table-bordered>tbody>tr>th:last-child,.panel>.table-responsive>.table-bordered>tfoot>tr>td:last-child,.panel>.table-responsive>.table-bordered>tfoot>tr>th:last-child,.panel>.table-responsive>.table-bordered>thead>tr>td:last-child,.panel>.table-responsive>.table-bordered>thead>tr>th:last-child{border-right:0}.panel>.table-bordered>tbody>tr:first-child>td,.panel>.table-bordered>tbody>tr:first-child>th,.panel>.table-bordered>thead>tr:first-child>td,.panel>.table-bordered>thead>tr:first-child>th,.panel>.table-responsive>.table-bordered>tbody>tr:first-child>td,.panel>.table-responsive>.table-bordered>tbody>tr:first-child>th,.panel>.table-responsive>.table-bordered>thead>tr:first-child>td,.panel>.table-responsive>.table-bordered>thead>tr:first-child>th{border-bottom:0}.panel>.table-bordered>tbody>tr:last-child>td,.panel>.table-bordered>tbody>tr:last-child>th,.panel>.table-bordered>tfoot>tr:last-child>td,.panel>.table-bordered>tfoot>tr:last-child>th,.panel>.table-responsive>.table-bordered>tbody>tr:last-child>td,.panel>.table-responsive>.table-bordered>tbody>tr:last-child>th,.panel>.table-responsive>.table-bordered>tfoot>tr:last-child>td,.panel>.table-responsive>.table-bordered>tfoot>tr:last-child>th{border-bottom:0}.panel>.table-responsive{margin-bottom:0;border:0}.panel-group{margin-bottom:20px}.panel-group .panel{margin-bottom:0;border-radius:4px}.panel-group .panel+.panel{margin-top:5px}.panel-group .panel-heading{border-bottom:0}.panel-group .panel-heading+.panel-collapse>.list-group,.panel-group .panel-heading+.panel-collapse>.panel-body{border-top:1px solid #ddd}.panel-group .panel-footer{border-top:0}.panel-group .panel-footer+.panel-collapse .panel-body{border-bottom:1px solid #ddd}.panel-default{border-color:#ddd}.panel-default>.panel-heading{color:#333;background-color:#f5f5f5;border-color:#ddd}.panel-default>.panel-heading+.panel-collapse>.panel-body{border-top-color:#ddd}.panel-default>.panel-heading .badge{color:#f5f5f5;background-color:#333}.panel-default>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#ddd}.panel-primary{border-color:#337ab7}.panel-primary>.panel-heading{color:#fff;background-color:#337ab7;border-color:#337ab7}.panel-primary>.panel-heading+.panel-collapse>.panel-body{border-top-color:#337ab7}.panel-primary>.panel-heading .badge{color:#337ab7;background-color:#fff}.panel-primary>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#337ab7}.panel-success{border-color:#d6e9c6}.panel-success>.panel-heading{color:#3c763d;background-color:#dff0d8;border-color:#d6e9c6}.panel-success>.panel-heading+.panel-collapse>.panel-body{border-top-color:#d6e9c6}.panel-success>.panel-heading .badge{color:#dff0d8;background-color:#3c763d}.panel-success>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#d6e9c6}.panel-info{border-color:#bce8f1}.panel-info>.panel-heading{color:#31708f;background-color:#d9edf7;border-color:#bce8f1}.panel-info>.panel-heading+.panel-collapse>.panel-body{border-top-color:#bce8f1}.panel-info>.panel-heading .badge{color:#d9edf7;background-color:#31708f}.panel-info>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#bce8f1}.panel-warning{border-color:#faebcc}.panel-warning>.panel-heading{color:#8a6d3b;background-color:#fcf8e3;border-color:#faebcc}.panel-warning>.panel-heading+.panel-collapse>.panel-body{border-top-color:#faebcc}.panel-warning>.panel-heading .badge{color:#fcf8e3;background-color:#8a6d3b}.panel-warning>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#faebcc}.panel-danger{border-color:#ebccd1}.panel-danger>.panel-heading{color:#a94442;background-color:#f2dede;border-color:#ebccd1}.panel-danger>.panel-heading+.panel-collapse>.panel-body{border-top-color:#ebccd1}.panel-danger>.panel-heading .badge{color:#f2dede;background-color:#a94442}.panel-danger>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#ebccd1}.embed-responsive{position:relative;display:block;height:0;padding:0;overflow:hidden}.embed-responsive .embed-responsive-item,.embed-responsive embed,.embed-responsive iframe,.embed-responsive object,.embed-responsive video{position:absolute;top:0;bottom:0;left:0;width:100%;height:100%;border:0}.embed-responsive-16by9{padding-bottom:56.25%}.embed-responsive-4by3{padding-bottom:75%}.well{min-height:20px;padding:19px;margin-bottom:20px;background-color:#f5f5f5;border:1px solid #e3e3e3;border-radius:4px;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.05);box-shadow:inset 0 1px 1px rgba(0,0,0,.05)}.well blockquote{border-color:#ddd;border-color:rgba(0,0,0,.15)}.well-lg{padding:24px;border-radius:6px}.well-sm{padding:9px;border-radius:3px}.close{float:right;font-size:21px;font-weight:700;line-height:1;color:#000;text-shadow:0 1px 0 #fff;filter:alpha(opacity=20);opacity:.2}.close:focus,.close:hover{color:#000;text-decoration:none;cursor:pointer;filter:alpha(opacity=50);opacity:.5}button.close{-webkit-appearance:none;padding:0;cursor:pointer;background:0 0;border:0}.modal-open{overflow:hidden}.modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1050;display:none;overflow:hidden;-webkit-overflow-scrolling:touch;outline:0}.modal.fade .modal-dialog{-webkit-transition:-webkit-transform .3s ease-out;-o-transition:-o-transform .3s ease-out;transition:transform .3s ease-out;-webkit-transform:translate(0,-25%);-ms-transform:translate(0,-25%);-o-transform:translate(0,-25%);transform:translate(0,-25%)}.modal.in .modal-dialog{-webkit-transform:translate(0,0);-ms-transform:translate(0,0);-o-transform:translate(0,0);transform:translate(0,0)}.modal-open .modal{overflow-x:hidden;overflow-y:auto}.modal-dialog{position:relative;width:auto;margin:10px}.modal-content{position:relative;background-color:#fff;-webkit-background-clip:padding-box;background-clip:padding-box;border:1px solid #999;border:1px solid rgba(0,0,0,.2);border-radius:6px;outline:0;-webkit-box-shadow:0 3px 9px rgba(0,0,0,.5);box-shadow:0 3px 9px rgba(0,0,0,.5)}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1040;background-color:#000}.modal-backdrop.fade{filter:alpha(opacity=0);opacity:0}.modal-backdrop.in{filter:alpha(opacity=50);opacity:.5}.modal-header{padding:15px;border-bottom:1px solid #e5e5e5}.modal-header .close{margin-top:-2px}.modal-title{margin:0;line-height:1.42857143}.modal-body{position:relative;padding:15px}.modal-footer{padding:15px;text-align:right;border-top:1px solid #e5e5e5}.modal-footer .btn+.btn{margin-bottom:0;margin-left:5px}.modal-footer .btn-group .btn+.btn{margin-left:-1px}.modal-footer .btn-block+.btn-block{margin-left:0}.modal-scrollbar-measure{position:absolute;top:-9999px;width:50px;height:50px;overflow:scroll}@media (min-width:768px){.modal-dialog{width:600px;margin:30px auto}.modal-content{-webkit-box-shadow:0 5px 15px rgba(0,0,0,.5);box-shadow:0 5px 15px rgba(0,0,0,.5)}.modal-sm{width:300px}}@media (min-width:992px){.modal-lg{width:900px}}.tooltip{position:absolute;z-index:1070;display:block;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:12px;font-style:normal;font-weight:400;line-height:1.42857143;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;word-wrap:normal;white-space:normal;filter:alpha(opacity=0);opacity:0;line-break:auto}.tooltip.in{filter:alpha(opacity=90);opacity:.9}.tooltip.top{padding:5px 0;margin-top:-3px}.tooltip.right{padding:0 5px;margin-left:3px}.tooltip.bottom{padding:5px 0;margin-top:3px}.tooltip.left{padding:0 5px;margin-left:-3px}.tooltip-inner{max-width:200px;padding:3px 8px;color:#fff;text-align:center;background-color:#000;border-radius:4px}.tooltip-arrow{position:absolute;width:0;height:0;border-color:transparent;border-style:solid}.tooltip.top .tooltip-arrow{bottom:0;left:50%;margin-left:-5px;border-width:5px 5px 0;border-top-color:#000}.tooltip.top-left .tooltip-arrow{right:5px;bottom:0;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000}.tooltip.top-right .tooltip-arrow{bottom:0;left:5px;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000}.tooltip.right .tooltip-arrow{top:50%;left:0;margin-top:-5px;border-width:5px 5px 5px 0;border-right-color:#000}.tooltip.left .tooltip-arrow{top:50%;right:0;margin-top:-5px;border-width:5px 0 5px 5px;border-left-color:#000}.tooltip.bottom .tooltip-arrow{top:0;left:50%;margin-left:-5px;border-width:0 5px 5px;border-bottom-color:#000}.tooltip.bottom-left .tooltip-arrow{top:0;right:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000}.tooltip.bottom-right .tooltip-arrow{top:0;left:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000}.popover{position:absolute;top:0;left:0;z-index:1060;display:none;max-width:276px;padding:1px;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:14px;font-style:normal;font-weight:400;line-height:1.42857143;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;word-wrap:normal;white-space:normal;background-color:#fff;-webkit-background-clip:padding-box;background-clip:padding-box;border:1px solid #ccc;border:1px solid rgba(0,0,0,.2);border-radius:6px;-webkit-box-shadow:0 5px 10px rgba(0,0,0,.2);box-shadow:0 5px 10px rgba(0,0,0,.2);line-break:auto}.popover.top{margin-top:-10px}.popover.right{margin-left:10px}.popover.bottom{margin-top:10px}.popover.left{margin-left:-10px}.popover-title{padding:8px 14px;margin:0;font-size:14px;background-color:#f7f7f7;border-bottom:1px solid #ebebeb;border-radius:5px 5px 0 0}.popover-content{padding:9px 14px}.popover>.arrow,.popover>.arrow:after{position:absolute;display:block;width:0;height:0;border-color:transparent;border-style:solid}.popover>.arrow{border-width:11px}.popover>.arrow:after{content:"";border-width:10px}.popover.top>.arrow{bottom:-11px;left:50%;margin-left:-11px;border-top-color:#999;border-top-color:rgba(0,0,0,.25);border-bottom-width:0}.popover.top>.arrow:after{bottom:1px;margin-left:-10px;content:" ";border-top-color:#fff;border-bottom-width:0}.popover.right>.arrow{top:50%;left:-11px;margin-top:-11px;border-right-color:#999;border-right-color:rgba(0,0,0,.25);border-left-width:0}.popover.right>.arrow:after{bottom:-10px;left:1px;content:" ";border-right-color:#fff;border-left-width:0}.popover.bottom>.arrow{top:-11px;left:50%;margin-left:-11px;border-top-width:0;border-bottom-color:#999;border-bottom-color:rgba(0,0,0,.25)}.popover.bottom>.arrow:after{top:1px;margin-left:-10px;content:" ";border-top-width:0;border-bottom-color:#fff}.popover.left>.arrow{top:50%;right:-11px;margin-top:-11px;border-right-width:0;border-left-color:#999;border-left-color:rgba(0,0,0,.25)}.popover.left>.arrow:after{right:1px;bottom:-10px;content:" ";border-right-width:0;border-left-color:#fff}.carousel{position:relative}.carousel-inner{position:relative;width:100%;overflow:hidden}.carousel-inner>.item{position:relative;display:none;-webkit-transition:.6s ease-in-out left;-o-transition:.6s ease-in-out left;transition:.6s ease-in-out left}.carousel-inner>.item>a>img,.carousel-inner>.item>img{line-height:1}@media all and (transform-3d),(-webkit-transform-3d){.carousel-inner>.item{-webkit-transition:-webkit-transform .6s ease-in-out;-o-transition:-o-transform .6s ease-in-out;transition:transform .6s ease-in-out;-webkit-backface-visibility:hidden;backface-visibility:hidden;-webkit-perspective:1000px;perspective:1000px}.carousel-inner>.item.active.right,.carousel-inner>.item.next{left:0;-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0)}.carousel-inner>.item.active.left,.carousel-inner>.item.prev{left:0;-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0)}.carousel-inner>.item.active,.carousel-inner>.item.next.left,.carousel-inner>.item.prev.right{left:0;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}}.carousel-inner>.active,.carousel-inner>.next,.carousel-inner>.prev{display:block}.carousel-inner>.active{left:0}.carousel-inner>.next,.carousel-inner>.prev{position:absolute;top:0;width:100%}.carousel-inner>.next{left:100%}.carousel-inner>.prev{left:-100%}.carousel-inner>.next.left,.carousel-inner>.prev.right{left:0}.carousel-inner>.active.left{left:-100%}.carousel-inner>.active.right{left:100%}.carousel-control{position:absolute;top:0;bottom:0;left:0;width:15%;font-size:20px;color:#fff;text-align:center;text-shadow:0 1px 2px rgba(0,0,0,.6);background-color:rgba(0,0,0,0);filter:alpha(opacity=50);opacity:.5}.carousel-control.left{background-image:-webkit-linear-gradient(left,rgba(0,0,0,.5) 0,rgba(0,0,0,.0001) 100%);background-image:-o-linear-gradient(left,rgba(0,0,0,.5) 0,rgba(0,0,0,.0001) 100%);background-image:-webkit-gradient(linear,left top,right top,from(rgba(0,0,0,.5)),to(rgba(0,0,0,.0001)));background-image:linear-gradient(to right,rgba(0,0,0,.5) 0,rgba(0,0,0,.0001) 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#80000000', endColorstr='#00000000', GradientType=1);background-repeat:repeat-x}.carousel-control.right{right:0;left:auto;background-image:-webkit-linear-gradient(left,rgba(0,0,0,.0001) 0,rgba(0,0,0,.5) 100%);background-image:-o-linear-gradient(left,rgba(0,0,0,.0001) 0,rgba(0,0,0,.5) 100%);background-image:-webkit-gradient(linear,left top,right top,from(rgba(0,0,0,.0001)),to(rgba(0,0,0,.5)));background-image:linear-gradient(to right,rgba(0,0,0,.0001) 0,rgba(0,0,0,.5) 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#00000000', endColorstr='#80000000', GradientType=1);background-repeat:repeat-x}.carousel-control:focus,.carousel-control:hover{color:#fff;text-decoration:none;filter:alpha(opacity=90);outline:0;opacity:.9}.carousel-control .glyphicon-chevron-left,.carousel-control .glyphicon-chevron-right,.carousel-control .icon-next,.carousel-control .icon-prev{position:absolute;top:50%;z-index:5;display:inline-block;margin-top:-10px}.carousel-control .glyphicon-chevron-left,.carousel-control .icon-prev{left:50%;margin-left:-10px}.carousel-control .glyphicon-chevron-right,.carousel-control .icon-next{right:50%;margin-right:-10px}.carousel-control .icon-next,.carousel-control .icon-prev{width:20px;height:20px;font-family:serif;line-height:1}.carousel-control .icon-prev:before{content:'\2039'}.carousel-control .icon-next:before{content:'\203a'}.carousel-indicators{position:absolute;bottom:10px;left:50%;z-index:15;width:60%;padding-left:0;margin-left:-30%;text-align:center;list-style:none}.carousel-indicators li{display:inline-block;width:10px;height:10px;margin:1px;text-indent:-999px;cursor:pointer;background-color:#000\9;background-color:rgba(0,0,0,0);border:1px solid #fff;border-radius:10px}.carousel-indicators .active{width:12px;height:12px;margin:0;background-color:#fff}.carousel-caption{position:absolute;right:15%;bottom:20px;left:15%;z-index:10;padding-top:20px;padding-bottom:20px;color:#fff;text-align:center;text-shadow:0 1px 2px rgba(0,0,0,.6)}.carousel-caption .btn{text-shadow:none}@media screen and (min-width:768px){.carousel-control .glyphicon-chevron-left,.carousel-control .glyphicon-chevron-right,.carousel-control .icon-next,.carousel-control .icon-prev{width:30px;height:30px;margin-top:-10px;font-size:30px}.carousel-control .glyphicon-chevron-left,.carousel-control .icon-prev{margin-left:-10px}.carousel-control .glyphicon-chevron-right,.carousel-control .icon-next{margin-right:-10px}.carousel-caption{right:20%;left:20%;padding-bottom:30px}.carousel-indicators{bottom:20px}}.btn-group-vertical>.btn-group:after,.btn-group-vertical>.btn-group:before,.btn-toolbar:after,.btn-toolbar:before,.clearfix:after,.clearfix:before,.container-fluid:after,.container-fluid:before,.container:after,.container:before,.dl-horizontal dd:after,.dl-horizontal dd:before,.form-horizontal .form-group:after,.form-horizontal .form-group:before,.modal-footer:after,.modal-footer:before,.modal-header:after,.modal-header:before,.nav:after,.nav:before,.navbar-collapse:after,.navbar-collapse:before,.navbar-header:after,.navbar-header:before,.navbar:after,.navbar:before,.pager:after,.pager:before,.panel-body:after,.panel-body:before,.row:after,.row:before{display:table;content:" "}.btn-group-vertical>.btn-group:after,.btn-toolbar:after,.clearfix:after,.container-fluid:after,.container:after,.dl-horizontal dd:after,.form-horizontal .form-group:after,.modal-footer:after,.modal-header:after,.nav:after,.navbar-collapse:after,.navbar-header:after,.navbar:after,.pager:after,.panel-body:after,.row:after{clear:both}.center-block{display:block;margin-right:auto;margin-left:auto}.pull-right{float:right!important}.pull-left{float:left!important}.hide{display:none!important}.show{display:block!important}.invisible{visibility:hidden}.text-hide{font:0/0 a;color:transparent;text-shadow:none;background-color:transparent;border:0}.hidden{display:none!important}.affix{position:fixed}@-ms-viewport{width:device-width}.visible-lg,.visible-md,.visible-sm,.visible-xs{display:none!important}.visible-lg-block,.visible-lg-inline,.visible-lg-inline-block,.visible-md-block,.visible-md-inline,.visible-md-inline-block,.visible-sm-block,.visible-sm-inline,.visible-sm-inline-block,.visible-xs-block,.visible-xs-inline,.visible-xs-inline-block{display:none!important}@media (max-width:767px){.visible-xs{display:block!important}table.visible-xs{display:table!important}tr.visible-xs{display:table-row!important}td.visible-xs,th.visible-xs{display:table-cell!important}}@media (max-width:767px){.visible-xs-block{display:block!important}}@media (max-width:767px){.visible-xs-inline{display:inline!important}}@media (max-width:767px){.visible-xs-inline-block{display:inline-block!important}}@media (min-width:768px) and (max-width:991px){.visible-sm{display:block!important}table.visible-sm{display:table!important}tr.visible-sm{display:table-row!important}td.visible-sm,th.visible-sm{display:table-cell!important}}@media (min-width:768px) and (max-width:991px){.visible-sm-block{display:block!important}}@media (min-width:768px) and (max-width:991px){.visible-sm-inline{display:inline!important}}@media (min-width:768px) and (max-width:991px){.visible-sm-inline-block{display:inline-block!important}}@media (min-width:992px) and (max-width:1199px){.visible-md{display:block!important}table.visible-md{display:table!important}tr.visible-md{display:table-row!important}td.visible-md,th.visible-md{display:table-cell!important}}@media (min-width:992px) and (max-width:1199px){.visible-md-block{display:block!important}}@media (min-width:992px) and (max-width:1199px){.visible-md-inline{display:inline!important}}@media (min-width:992px) and (max-width:1199px){.visible-md-inline-block{display:inline-block!important}}@media (min-width:1200px){.visible-lg{display:block!important}table.visible-lg{display:table!important}tr.visible-lg{display:table-row!important}td.visible-lg,th.visible-lg{display:table-cell!important}}@media (min-width:1200px){.visible-lg-block{display:block!important}}@media (min-width:1200px){.visible-lg-inline{display:inline!important}}@media (min-width:1200px){.visible-lg-inline-block{display:inline-block!important}}@media (max-width:767px){.hidden-xs{display:none!important}}@media (min-width:768px) and (max-width:991px){.hidden-sm{display:none!important}}@media (min-width:992px) and (max-width:1199px){.hidden-md{display:none!important}}@media (min-width:1200px){.hidden-lg{display:none!important}}.visible-print{display:none!important}@media print{.visible-print{display:block!important}table.visible-print{display:table!important}tr.visible-print{display:table-row!important}td.visible-print,th.visible-print{display:table-cell!important}}.visible-print-block{display:none!important}@media print{.visible-print-block{display:block!important}}.visible-print-inline{display:none!important}@media print{.visible-print-inline{display:inline!important}}.visible-print-inline-block{display:none!important}@media print{.visible-print-inline-block{display:inline-block!important}}@media print{.hidden-print{display:none!important}} +/*# sourceMappingURL=bootstrap.min.css.map */ \ No newline at end of file diff --git a/src/demo/manager/src/main/webapp/assets/css/dataTables.bootstrap.css b/src/demo/manager/src/main/webapp/assets/css/dataTables.bootstrap.css new file mode 100644 index 00000000..f65e264b --- /dev/null +++ b/src/demo/manager/src/main/webapp/assets/css/dataTables.bootstrap.css @@ -0,0 +1,314 @@ +div.dataTables_length label { + font-weight: normal; + text-align: left; + white-space: nowrap; +} + +div.dataTables_length select { + width: 75px; + display: inline-block; +} + +div.dataTables_filter { + text-align: right; +} + +div.dataTables_filter label { + font-weight: normal; + white-space: nowrap; + text-align: left; +} + +div.dataTables_filter input { + margin-left: 0.5em; + display: inline-block; +} + +div.dataTables_info { + padding-top: 8px; + white-space: nowrap; +} + +div.dataTables_paginate { + margin: 0; + white-space: nowrap; + text-align: right; +} + +div.dataTables_paginate ul.pagination { + margin: 2px 0; + white-space: nowrap; +} + +@media screen and (max-width: 767px) { + div.dataTables_length, + div.dataTables_filter, + div.dataTables_info, + div.dataTables_paginate { + text-align: center; + } +} + + +table.dataTable td, +table.dataTable th { + -webkit-box-sizing: content-box; + -moz-box-sizing: content-box; + box-sizing: content-box; +} + + +table.dataTable { + clear: both; + margin-top: 6px !important; + margin-bottom: 6px !important; + max-width: none !important; +} + +table.dataTable thead .sorting, +table.dataTable thead .sorting_asc, +table.dataTable thead .sorting_desc, +table.dataTable thead .sorting_asc_disabled, +table.dataTable thead .sorting_desc_disabled { + cursor: pointer; +} + +table.dataTable thead .sorting { background: url('../images/sort_both.png') no-repeat center right; } +table.dataTable thead .sorting_asc { background: url('../images/sort_asc.png') no-repeat center right; } +table.dataTable thead .sorting_desc { background: url('../images/sort_desc.png') no-repeat center right; } + +table.dataTable thead .sorting_asc_disabled { background: url('../images/sort_asc_disabled.png') no-repeat center right; } +table.dataTable thead .sorting_desc_disabled { background: url('../images/sort_desc_disabled.png') no-repeat center right; } + +table.dataTable thead > tr > th { + padding-left: 18px; + padding-right: 18px; +} + +table.dataTable th:active { + outline: none; +} + +/* Scrolling */ +div.dataTables_scrollHead table { + margin-bottom: 0 !important; + border-bottom-left-radius: 0; + border-bottom-right-radius: 0; +} + +div.dataTables_scrollHead table thead tr:last-child th:first-child, +div.dataTables_scrollHead table thead tr:last-child td:first-child { + border-bottom-left-radius: 0 !important; + border-bottom-right-radius: 0 !important; +} + +div.dataTables_scrollBody table { + border-top: none; + margin-top: 0 !important; + margin-bottom: 0 !important; +} + +div.dataTables_scrollBody tbody tr:first-child th, +div.dataTables_scrollBody tbody tr:first-child td { + border-top: none; +} + +div.dataTables_scrollFoot table { + margin-top: 0 !important; + border-top: none; +} + +/* Frustratingly the border-collapse:collapse used by Bootstrap makes the column + width calculations when using scrolling impossible to align columns. We have + to use separate + */ +table.table-bordered.dataTable { + border-collapse: separate !important; +} +table.table-bordered thead th, +table.table-bordered thead td { + border-left-width: 0; + border-top-width: 0; +} +table.table-bordered tbody th, +table.table-bordered tbody td { + border-left-width: 0; + border-bottom-width: 0; +} +table.table-bordered th:last-child, +table.table-bordered td:last-child { + border-right-width: 0; +} +div.dataTables_scrollHead table.table-bordered { + border-bottom-width: 0; +} + + + + +/* + * TableTools styles + */ +.table.dataTable tbody tr.active td, +.table.dataTable tbody tr.active th { + background-color: #08C; + color: white; +} + +.table.dataTable tbody tr.active:hover td, +.table.dataTable tbody tr.active:hover th { + background-color: #0075b0 !important; +} + +.table.dataTable tbody tr.active th > a, +.table.dataTable tbody tr.active td > a { + color: white; +} + +.table-striped.dataTable tbody tr.active:nth-child(odd) td, +.table-striped.dataTable tbody tr.active:nth-child(odd) th { + background-color: #017ebc; +} + +table.DTTT_selectable tbody tr { + cursor: pointer; +} + +div.DTTT .btn:hover { + text-decoration: none !important; +} + +ul.DTTT_dropdown.dropdown-menu { + z-index: 2003; +} + +ul.DTTT_dropdown.dropdown-menu a { + color: #333 !important; /* needed only when demo_page.css is included */ +} + +ul.DTTT_dropdown.dropdown-menu li { + position: relative; +} + +ul.DTTT_dropdown.dropdown-menu li:hover a { + background-color: #0088cc; + color: white !important; +} + +div.DTTT_collection_background { + z-index: 2002; +} + +/* TableTools information display */ +div.DTTT_print_info { + position: fixed; + top: 50%; + left: 50%; + width: 400px; + height: 150px; + margin-left: -200px; + margin-top: -75px; + text-align: center; + color: #333; + padding: 10px 30px; + opacity: 0.95; + + background-color: white; + border: 1px solid rgba(0, 0, 0, 0.2); + border-radius: 6px; + + -webkit-box-shadow: 0 3px 7px rgba(0, 0, 0, 0.5); + box-shadow: 0 3px 7px rgba(0, 0, 0, 0.5); +} + +div.DTTT_print_info h6 { + font-weight: normal; + font-size: 28px; + line-height: 28px; + margin: 1em; +} + +div.DTTT_print_info p { + font-size: 14px; + line-height: 20px; +} + +div.dataTables_processing { + position: absolute; + top: 50%; + left: 50%; + width: 100%; + height: 60px; + margin-left: -50%; + margin-top: -25px; + padding-top: 20px; + padding-bottom: 20px; + text-align: center; + font-size: 1.2em; + background-color: white; + background: -webkit-gradient(linear, left top, right top, color-stop(0%, rgba(255,255,255,0)), color-stop(25%, rgba(255,255,255,0.9)), color-stop(75%, rgba(255,255,255,0.9)), color-stop(100%, rgba(255,255,255,0))); + background: -webkit-linear-gradient(left, rgba(255,255,255,0) 0%, rgba(255,255,255,0.9) 25%, rgba(255,255,255,0.9) 75%, rgba(255,255,255,0) 100%); + background: -moz-linear-gradient(left, rgba(255,255,255,0) 0%, rgba(255,255,255,0.9) 25%, rgba(255,255,255,0.9) 75%, rgba(255,255,255,0) 100%); + background: -ms-linear-gradient(left, rgba(255,255,255,0) 0%, rgba(255,255,255,0.9) 25%, rgba(255,255,255,0.9) 75%, rgba(255,255,255,0) 100%); + background: -o-linear-gradient(left, rgba(255,255,255,0) 0%, rgba(255,255,255,0.9) 25%, rgba(255,255,255,0.9) 75%, rgba(255,255,255,0) 100%); + background: linear-gradient(to right, rgba(255,255,255,0) 0%, rgba(255,255,255,0.9) 25%, rgba(255,255,255,0.9) 75%, rgba(255,255,255,0) 100%); +} + + + +/* + * FixedColumns styles + */ +div.DTFC_LeftHeadWrapper table, +div.DTFC_LeftFootWrapper table, +div.DTFC_RightHeadWrapper table, +div.DTFC_RightFootWrapper table, +table.DTFC_Cloned tr.even { + background-color: white; + margin-bottom: 0; +} + +div.DTFC_RightHeadWrapper table , +div.DTFC_LeftHeadWrapper table { + border-bottom: none !important; + margin-bottom: 0 !important; + border-top-right-radius: 0 !important; + border-bottom-left-radius: 0 !important; + border-bottom-right-radius: 0 !important; +} + +div.DTFC_RightHeadWrapper table thead tr:last-child th:first-child, +div.DTFC_RightHeadWrapper table thead tr:last-child td:first-child, +div.DTFC_LeftHeadWrapper table thead tr:last-child th:first-child, +div.DTFC_LeftHeadWrapper table thead tr:last-child td:first-child { + border-bottom-left-radius: 0 !important; + border-bottom-right-radius: 0 !important; +} + +div.DTFC_RightBodyWrapper table, +div.DTFC_LeftBodyWrapper table { + border-top: none; + margin: 0 !important; +} + +div.DTFC_RightBodyWrapper tbody tr:first-child th, +div.DTFC_RightBodyWrapper tbody tr:first-child td, +div.DTFC_LeftBodyWrapper tbody tr:first-child th, +div.DTFC_LeftBodyWrapper tbody tr:first-child td { + border-top: none; +} + +div.DTFC_RightFootWrapper table, +div.DTFC_LeftFootWrapper table { + border-top: none; + margin-top: 0 !important; +} + + +/* + * FixedHeader styles + */ +div.FixedHeader_Cloned table { + margin: 0 !important +} + diff --git a/src/demo/manager/src/main/webapp/assets/css/default.css b/src/demo/manager/src/main/webapp/assets/css/default.css new file mode 100644 index 00000000..f1bfade3 --- /dev/null +++ b/src/demo/manager/src/main/webapp/assets/css/default.css @@ -0,0 +1,99 @@ +/* + +Original highlight.js style (c) Ivan Sagalaev + +*/ + +.hljs { + display: block; + overflow-x: auto; + padding: 0.5em; + background: #F0F0F0; +} + + +/* Base color: saturation 0; */ + +.hljs, +.hljs-subst { + color: #444; +} + +.hljs-comment { + color: #888888; +} + +.hljs-keyword, +.hljs-attribute, +.hljs-selector-tag, +.hljs-meta-keyword, +.hljs-doctag, +.hljs-name { + font-weight: bold; +} + + +/* User color: hue: 0 */ + +.hljs-type, +.hljs-string, +.hljs-number, +.hljs-selector-id, +.hljs-selector-class, +.hljs-quote, +.hljs-template-tag, +.hljs-deletion { + color: #880000; +} + +.hljs-title, +.hljs-section { + color: #880000; + font-weight: bold; +} + +.hljs-regexp, +.hljs-symbol, +.hljs-variable, +.hljs-template-variable, +.hljs-link, +.hljs-selector-attr, +.hljs-selector-pseudo { + color: #BC6060; +} + + +/* Language color: hue: 90; */ + +.hljs-literal { + color: #78A960; +} + +.hljs-built_in, +.hljs-bullet, +.hljs-code, +.hljs-addition { + color: #397300; +} + + +/* Meta color: hue: 200 */ + +.hljs-meta { + color: #1f7199; +} + +.hljs-meta-string { + color: #4d99bf; +} + + +/* Misc effects */ + +.hljs-emphasis { + font-style: italic; +} + +.hljs-strong { + font-weight: bold; +} diff --git a/src/demo/manager/src/main/webapp/assets/css/fileinput.min.css b/src/demo/manager/src/main/webapp/assets/css/fileinput.min.css new file mode 100644 index 00000000..4678f147 --- /dev/null +++ b/src/demo/manager/src/main/webapp/assets/css/fileinput.min.css @@ -0,0 +1,10 @@ +/*! + * bootstrap-fileinput v4.3.5 + * http://plugins.krajee.com/file-input + * + * Author: Kartik Visweswaran + * Copyright: 2014 - 2016, Kartik Visweswaran, Krajee.com + * + * Licensed under the BSD 3-Clause + * https://github.com/kartik-v/bootstrap-fileinput/blob/master/LICENSE.md + */.file-loading{top:0;right:0;width:25px;height:25px;font-size:999px;text-align:right;color:#fff;background:url(../img/loading.gif) top left no-repeat;border:none}.file-object{margin:0 0 -5px;padding:0}.btn-file{position:relative;overflow:hidden}.btn-file input[type=file]{position:absolute;top:0;right:0;min-width:100%;min-height:100%;text-align:right;opacity:0;background:none;cursor:inherit;display:block}.file-caption-name{display:inline-block;overflow:hidden;height:20px;word-break:break-all}.input-group-lg .file-caption-name{height:25px}.file-zoom-dialog{text-align:left}.file-error-message{color:#a94442;background-color:#f2dede;margin:5px;border:1px solid #ebccd1;border-radius:4px;padding:15px}.file-error-message pre,.file-error-message ul{margin:0;text-align:left}.file-preview-frame,.file-preview-other{text-align:center;vertical-align:middle}.file-error-message pre{margin:5px 0}.file-caption-disabled{background-color:#EEE;cursor:not-allowed;opacity:1}.file-preview{border-radius:5px;border:1px solid #ddd;padding:5px;width:100%;margin-bottom:5px}.file-preview-frame{position:relative;display:table;margin:8px;height:160px;border:1px solid #ddd;box-shadow:1px 1px 5px 0 #a2958a;padding:6px;float:left}.file-preview-frame:not(.file-preview-error):hover{box-shadow:3px 3px 5px 0 #333}.file-preview-image{vertical-align:middle}.file-preview-text{display:block;color:#428bca;border:1px solid #ddd;font-family:Menlo,Monaco,Consolas,"Courier New",monospace;outline:0;padding:8px;resize:none}.file-input-ajax-new .fileinput-remove-button,.file-input-ajax-new .fileinput-upload-button,.file-input-ajax-new .no-browse .input-group-btn,.file-input-new .close,.file-input-new .file-preview,.file-input-new .fileinput-remove-button,.file-input-new .fileinput-upload-button,.file-input-new .glyphicon-file,.file-input-new .no-browse .input-group-btn{display:none}.file-preview-html{border:1px solid #ddd;padding:8px;overflow:auto}.file-zoom-dialog .file-preview-text{font-size:1.2em}.file-preview-other{left:0;top:0;right:0;bottom:0;margin:auto;padding:10px}.file-preview-other:hover{opacity:.8}.file-actions,.file-other-error{text-align:left}.file-other-icon{font-size:4.8em}.file-zoom-dialog .file-other-icon{font-size:8em;font-size:55vmin}.file-caption-main{width:100%}.file-input-ajax-new .no-browse .form-control,.file-input-new .no-browse .form-control{border-top-right-radius:4px;border-bottom-right-radius:4px}.file-thumb-loading{background:url(../img/loading.gif) center center no-repeat content-box!important}.file-actions{margin-top:15px}.file-footer-buttons{float:right}.file-upload-indicator{display:inline;cursor:default;opacity:.8;width:60%}.file-upload-indicator:hover{font-weight:700;opacity:1}.file-footer-caption{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;width:160px;text-align:center;padding-top:4px;font-size:11px;color:#777;margin:5px auto}.file-preview-error{opacity:.65;box-shadow:none}.file-preview-frame:not(.file-preview-error) .file-footer-caption:hover{color:#000}.file-drop-zone{border:1px dashed #aaa;border-radius:4px;height:100%;text-align:center;vertical-align:middle;margin:12px 15px 12px 12px;padding:5px}.file-drop-zone-title{color:#aaa;font-size:1.6em;padding:85px 10px;cursor:default}.clickable .file-drop-zone-title,.file-preview .clickable{cursor:pointer}.file-drop-zone.clickable:hover{border:2px dashed #999}.file-drop-zone.clickable:focus{border:2px solid #5acde2}.file-drop-zone .file-preview-thumbnails{cursor:default}.file-highlighted{border:2px dashed #999!important;background-color:#f0f0f0}.file-uploading{background:url(../img/loading-sm.gif) center bottom 10px no-repeat;opacity:.65}.file-thumb-progress .progress,.file-thumb-progress .progress-bar{height:10px;font-size:9px;line-height:10px}.file-thumbnail-footer{position:relative}.file-thumb-progress{height:10px;position:absolute;top:35px;left:0;right:0}.file-zoom-fullscreen.modal{position:fixed;top:0;right:0;bottom:0;left:0}.file-zoom-fullscreen .modal-dialog{position:fixed;margin:0;width:100%;height:100%;padding:0}.file-zoom-fullscreen .modal-content{border-radius:0;box-shadow:none}.file-zoom-fullscreen .modal-body{overflow-y:auto}.file-zoom-dialog .modal-body{position:relative!important}.file-zoom-dialog .btn-navigate{position:absolute;padding:0;margin:0;background:0 0;text-decoration:none;outline:0;opacity:.7;top:45%;font-size:4em;color:#1c94c4}.file-zoom-dialog .floating-buttons{position:absolute;top:5px;right:10px}.floating-buttons,.floating-buttons .btn{z-index:3000}.file-zoom-dialog .kv-zoom-actions .btn,.floating-buttons .btn{margin-left:3px}.file-zoom-dialog .btn-navigate:not([disabled]):focus,.file-zoom-dialog .btn-navigate:not([disabled]):hover{outline:0;box-shadow:none;opacity:.5}.file-zoom-dialog .btn-navigate[disabled]{opacity:.3}.file-zoom-dialog .btn-prev{left:1px}.file-zoom-dialog .btn-next{right:1px}.file-drag-handle{display:inline;margin-right:2px;font-size:16px;cursor:move;cursor:-webkit-grabbing}.file-drag-handle:hover{opacity:.7}.file-zoom-content{height:480px;text-align:center}.file-preview-initial.sortable-chosen{background-color:#d9edf7}.file-preview-frame.sortable-ghost{background-color:#eee}.btn-file ::-ms-browse{width:100%;height:100%} \ No newline at end of file diff --git a/src/demo/manager/src/main/webapp/assets/css/font-awesome.min.css b/src/demo/manager/src/main/webapp/assets/css/font-awesome.min.css new file mode 100644 index 00000000..ec53d4d6 --- /dev/null +++ b/src/demo/manager/src/main/webapp/assets/css/font-awesome.min.css @@ -0,0 +1,4 @@ +/*! + * Font Awesome 4.2.0 by @davegandy - http://fontawesome.io - @fontawesome + * License - http://fontawesome.io/license (Font: SIL OFL 1.1, CSS: MIT License) + */@font-face{font-family:'FontAwesome';src:url('../fonts/fontawesome-webfont.eot?v=4.2.0');src:url('../fonts/fontawesome-webfont.eot?#iefix&v=4.2.0') format('embedded-opentype'),url('../fonts/fontawesome-webfont.woff?v=4.2.0') format('woff'),url('../fonts/fontawesome-webfont.ttf?v=4.2.0') format('truetype'),url('../fonts/fontawesome-webfont.svg?v=4.2.0#fontawesomeregular') format('svg');font-weight:normal;font-style:normal}.fa{display:inline-block;font:normal normal normal 14px/1 FontAwesome;font-size:inherit;text-rendering:auto;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.fa-lg{font-size:1.33333333em;line-height:.75em;vertical-align:-15%}.fa-2x{font-size:2em}.fa-3x{font-size:3em}.fa-4x{font-size:4em}.fa-5x{font-size:5em}.fa-fw{width:1.28571429em;text-align:center}.fa-ul{padding-left:0;margin-left:2.14285714em;list-style-type:none}.fa-ul>li{position:relative}.fa-li{position:absolute;left:-2.14285714em;width:2.14285714em;top:.14285714em;text-align:center}.fa-li.fa-lg{left:-1.85714286em}.fa-border{padding:.2em .25em .15em;border:solid .08em #eee;border-radius:.1em}.pull-right{float:right}.pull-left{float:left}.fa.pull-left{margin-right:.3em}.fa.pull-right{margin-left:.3em}.fa-spin{-webkit-animation:fa-spin 2s infinite linear;animation:fa-spin 2s infinite linear}@-webkit-keyframes fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}100%{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}@keyframes fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}100%{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}.fa-rotate-90{filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=1);-webkit-transform:rotate(90deg);-ms-transform:rotate(90deg);transform:rotate(90deg)}.fa-rotate-180{filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=2);-webkit-transform:rotate(180deg);-ms-transform:rotate(180deg);transform:rotate(180deg)}.fa-rotate-270{filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=3);-webkit-transform:rotate(270deg);-ms-transform:rotate(270deg);transform:rotate(270deg)}.fa-flip-horizontal{filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1);-webkit-transform:scale(-1, 1);-ms-transform:scale(-1, 1);transform:scale(-1, 1)}.fa-flip-vertical{filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1);-webkit-transform:scale(1, -1);-ms-transform:scale(1, -1);transform:scale(1, -1)}:root .fa-rotate-90,:root .fa-rotate-180,:root .fa-rotate-270,:root .fa-flip-horizontal,:root .fa-flip-vertical{filter:none}.fa-stack{position:relative;display:inline-block;width:2em;height:2em;line-height:2em;vertical-align:middle}.fa-stack-1x,.fa-stack-2x{position:absolute;left:0;width:100%;text-align:center}.fa-stack-1x{line-height:inherit}.fa-stack-2x{font-size:2em}.fa-inverse{color:#fff}.fa-glass:before{content:"\f000"}.fa-music:before{content:"\f001"}.fa-search:before{content:"\f002"}.fa-envelope-o:before{content:"\f003"}.fa-heart:before{content:"\f004"}.fa-star:before{content:"\f005"}.fa-star-o:before{content:"\f006"}.fa-user:before{content:"\f007"}.fa-film:before{content:"\f008"}.fa-th-large:before{content:"\f009"}.fa-th:before{content:"\f00a"}.fa-th-list:before{content:"\f00b"}.fa-check:before{content:"\f00c"}.fa-remove:before,.fa-close:before,.fa-times:before{content:"\f00d"}.fa-search-plus:before{content:"\f00e"}.fa-search-minus:before{content:"\f010"}.fa-power-off:before{content:"\f011"}.fa-signal:before{content:"\f012"}.fa-gear:before,.fa-cog:before{content:"\f013"}.fa-trash-o:before{content:"\f014"}.fa-home:before{content:"\f015"}.fa-file-o:before{content:"\f016"}.fa-clock-o:before{content:"\f017"}.fa-road:before{content:"\f018"}.fa-download:before{content:"\f019"}.fa-arrow-circle-o-down:before{content:"\f01a"}.fa-arrow-circle-o-up:before{content:"\f01b"}.fa-inbox:before{content:"\f01c"}.fa-play-circle-o:before{content:"\f01d"}.fa-rotate-right:before,.fa-repeat:before{content:"\f01e"}.fa-refresh:before{content:"\f021"}.fa-list-alt:before{content:"\f022"}.fa-lock:before{content:"\f023"}.fa-flag:before{content:"\f024"}.fa-headphones:before{content:"\f025"}.fa-volume-off:before{content:"\f026"}.fa-volume-down:before{content:"\f027"}.fa-volume-up:before{content:"\f028"}.fa-qrcode:before{content:"\f029"}.fa-barcode:before{content:"\f02a"}.fa-tag:before{content:"\f02b"}.fa-tags:before{content:"\f02c"}.fa-book:before{content:"\f02d"}.fa-bookmark:before{content:"\f02e"}.fa-print:before{content:"\f02f"}.fa-camera:before{content:"\f030"}.fa-font:before{content:"\f031"}.fa-bold:before{content:"\f032"}.fa-italic:before{content:"\f033"}.fa-text-height:before{content:"\f034"}.fa-text-width:before{content:"\f035"}.fa-align-left:before{content:"\f036"}.fa-align-center:before{content:"\f037"}.fa-align-right:before{content:"\f038"}.fa-align-justify:before{content:"\f039"}.fa-list:before{content:"\f03a"}.fa-dedent:before,.fa-outdent:before{content:"\f03b"}.fa-indent:before{content:"\f03c"}.fa-video-camera:before{content:"\f03d"}.fa-photo:before,.fa-image:before,.fa-picture-o:before{content:"\f03e"}.fa-pencil:before{content:"\f040"}.fa-map-marker:before{content:"\f041"}.fa-adjust:before{content:"\f042"}.fa-tint:before{content:"\f043"}.fa-edit:before,.fa-pencil-square-o:before{content:"\f044"}.fa-share-square-o:before{content:"\f045"}.fa-check-square-o:before{content:"\f046"}.fa-arrows:before{content:"\f047"}.fa-step-backward:before{content:"\f048"}.fa-fast-backward:before{content:"\f049"}.fa-backward:before{content:"\f04a"}.fa-play:before{content:"\f04b"}.fa-pause:before{content:"\f04c"}.fa-stop:before{content:"\f04d"}.fa-forward:before{content:"\f04e"}.fa-fast-forward:before{content:"\f050"}.fa-step-forward:before{content:"\f051"}.fa-eject:before{content:"\f052"}.fa-chevron-left:before{content:"\f053"}.fa-chevron-right:before{content:"\f054"}.fa-plus-circle:before{content:"\f055"}.fa-minus-circle:before{content:"\f056"}.fa-times-circle:before{content:"\f057"}.fa-check-circle:before{content:"\f058"}.fa-question-circle:before{content:"\f059"}.fa-info-circle:before{content:"\f05a"}.fa-crosshairs:before{content:"\f05b"}.fa-times-circle-o:before{content:"\f05c"}.fa-check-circle-o:before{content:"\f05d"}.fa-ban:before{content:"\f05e"}.fa-arrow-left:before{content:"\f060"}.fa-arrow-right:before{content:"\f061"}.fa-arrow-up:before{content:"\f062"}.fa-arrow-down:before{content:"\f063"}.fa-mail-forward:before,.fa-share:before{content:"\f064"}.fa-expand:before{content:"\f065"}.fa-compress:before{content:"\f066"}.fa-plus:before{content:"\f067"}.fa-minus:before{content:"\f068"}.fa-asterisk:before{content:"\f069"}.fa-exclamation-circle:before{content:"\f06a"}.fa-gift:before{content:"\f06b"}.fa-leaf:before{content:"\f06c"}.fa-fire:before{content:"\f06d"}.fa-eye:before{content:"\f06e"}.fa-eye-slash:before{content:"\f070"}.fa-warning:before,.fa-exclamation-triangle:before{content:"\f071"}.fa-plane:before{content:"\f072"}.fa-calendar:before{content:"\f073"}.fa-random:before{content:"\f074"}.fa-comment:before{content:"\f075"}.fa-magnet:before{content:"\f076"}.fa-chevron-up:before{content:"\f077"}.fa-chevron-down:before{content:"\f078"}.fa-retweet:before{content:"\f079"}.fa-shopping-cart:before{content:"\f07a"}.fa-folder:before{content:"\f07b"}.fa-folder-open:before{content:"\f07c"}.fa-arrows-v:before{content:"\f07d"}.fa-arrows-h:before{content:"\f07e"}.fa-bar-chart-o:before,.fa-bar-chart:before{content:"\f080"}.fa-twitter-square:before{content:"\f081"}.fa-facebook-square:before{content:"\f082"}.fa-camera-retro:before{content:"\f083"}.fa-key:before{content:"\f084"}.fa-gears:before,.fa-cogs:before{content:"\f085"}.fa-comments:before{content:"\f086"}.fa-thumbs-o-up:before{content:"\f087"}.fa-thumbs-o-down:before{content:"\f088"}.fa-star-half:before{content:"\f089"}.fa-heart-o:before{content:"\f08a"}.fa-sign-out:before{content:"\f08b"}.fa-linkedin-square:before{content:"\f08c"}.fa-thumb-tack:before{content:"\f08d"}.fa-external-link:before{content:"\f08e"}.fa-sign-in:before{content:"\f090"}.fa-trophy:before{content:"\f091"}.fa-github-square:before{content:"\f092"}.fa-upload:before{content:"\f093"}.fa-lemon-o:before{content:"\f094"}.fa-phone:before{content:"\f095"}.fa-square-o:before{content:"\f096"}.fa-bookmark-o:before{content:"\f097"}.fa-phone-square:before{content:"\f098"}.fa-twitter:before{content:"\f099"}.fa-facebook:before{content:"\f09a"}.fa-github:before{content:"\f09b"}.fa-unlock:before{content:"\f09c"}.fa-credit-card:before{content:"\f09d"}.fa-rss:before{content:"\f09e"}.fa-hdd-o:before{content:"\f0a0"}.fa-bullhorn:before{content:"\f0a1"}.fa-bell:before{content:"\f0f3"}.fa-certificate:before{content:"\f0a3"}.fa-hand-o-right:before{content:"\f0a4"}.fa-hand-o-left:before{content:"\f0a5"}.fa-hand-o-up:before{content:"\f0a6"}.fa-hand-o-down:before{content:"\f0a7"}.fa-arrow-circle-left:before{content:"\f0a8"}.fa-arrow-circle-right:before{content:"\f0a9"}.fa-arrow-circle-up:before{content:"\f0aa"}.fa-arrow-circle-down:before{content:"\f0ab"}.fa-globe:before{content:"\f0ac"}.fa-wrench:before{content:"\f0ad"}.fa-tasks:before{content:"\f0ae"}.fa-filter:before{content:"\f0b0"}.fa-briefcase:before{content:"\f0b1"}.fa-arrows-alt:before{content:"\f0b2"}.fa-group:before,.fa-users:before{content:"\f0c0"}.fa-chain:before,.fa-link:before{content:"\f0c1"}.fa-cloud:before{content:"\f0c2"}.fa-flask:before{content:"\f0c3"}.fa-cut:before,.fa-scissors:before{content:"\f0c4"}.fa-copy:before,.fa-files-o:before{content:"\f0c5"}.fa-paperclip:before{content:"\f0c6"}.fa-save:before,.fa-floppy-o:before{content:"\f0c7"}.fa-square:before{content:"\f0c8"}.fa-navicon:before,.fa-reorder:before,.fa-bars:before{content:"\f0c9"}.fa-list-ul:before{content:"\f0ca"}.fa-list-ol:before{content:"\f0cb"}.fa-strikethrough:before{content:"\f0cc"}.fa-underline:before{content:"\f0cd"}.fa-table:before{content:"\f0ce"}.fa-magic:before{content:"\f0d0"}.fa-truck:before{content:"\f0d1"}.fa-pinterest:before{content:"\f0d2"}.fa-pinterest-square:before{content:"\f0d3"}.fa-google-plus-square:before{content:"\f0d4"}.fa-google-plus:before{content:"\f0d5"}.fa-money:before{content:"\f0d6"}.fa-caret-down:before{content:"\f0d7"}.fa-caret-up:before{content:"\f0d8"}.fa-caret-left:before{content:"\f0d9"}.fa-caret-right:before{content:"\f0da"}.fa-columns:before{content:"\f0db"}.fa-unsorted:before,.fa-sort:before{content:"\f0dc"}.fa-sort-down:before,.fa-sort-desc:before{content:"\f0dd"}.fa-sort-up:before,.fa-sort-asc:before{content:"\f0de"}.fa-envelope:before{content:"\f0e0"}.fa-linkedin:before{content:"\f0e1"}.fa-rotate-left:before,.fa-undo:before{content:"\f0e2"}.fa-legal:before,.fa-gavel:before{content:"\f0e3"}.fa-dashboard:before,.fa-tachometer:before{content:"\f0e4"}.fa-comment-o:before{content:"\f0e5"}.fa-comments-o:before{content:"\f0e6"}.fa-flash:before,.fa-bolt:before{content:"\f0e7"}.fa-sitemap:before{content:"\f0e8"}.fa-umbrella:before{content:"\f0e9"}.fa-paste:before,.fa-clipboard:before{content:"\f0ea"}.fa-lightbulb-o:before{content:"\f0eb"}.fa-exchange:before{content:"\f0ec"}.fa-cloud-download:before{content:"\f0ed"}.fa-cloud-upload:before{content:"\f0ee"}.fa-user-md:before{content:"\f0f0"}.fa-stethoscope:before{content:"\f0f1"}.fa-suitcase:before{content:"\f0f2"}.fa-bell-o:before{content:"\f0a2"}.fa-coffee:before{content:"\f0f4"}.fa-cutlery:before{content:"\f0f5"}.fa-file-text-o:before{content:"\f0f6"}.fa-building-o:before{content:"\f0f7"}.fa-hospital-o:before{content:"\f0f8"}.fa-ambulance:before{content:"\f0f9"}.fa-medkit:before{content:"\f0fa"}.fa-fighter-jet:before{content:"\f0fb"}.fa-beer:before{content:"\f0fc"}.fa-h-square:before{content:"\f0fd"}.fa-plus-square:before{content:"\f0fe"}.fa-angle-double-left:before{content:"\f100"}.fa-angle-double-right:before{content:"\f101"}.fa-angle-double-up:before{content:"\f102"}.fa-angle-double-down:before{content:"\f103"}.fa-angle-left:before{content:"\f104"}.fa-angle-right:before{content:"\f105"}.fa-angle-up:before{content:"\f106"}.fa-angle-down:before{content:"\f107"}.fa-desktop:before{content:"\f108"}.fa-laptop:before{content:"\f109"}.fa-tablet:before{content:"\f10a"}.fa-mobile-phone:before,.fa-mobile:before{content:"\f10b"}.fa-circle-o:before{content:"\f10c"}.fa-quote-left:before{content:"\f10d"}.fa-quote-right:before{content:"\f10e"}.fa-spinner:before{content:"\f110"}.fa-circle:before{content:"\f111"}.fa-mail-reply:before,.fa-reply:before{content:"\f112"}.fa-github-alt:before{content:"\f113"}.fa-folder-o:before{content:"\f114"}.fa-folder-open-o:before{content:"\f115"}.fa-smile-o:before{content:"\f118"}.fa-frown-o:before{content:"\f119"}.fa-meh-o:before{content:"\f11a"}.fa-gamepad:before{content:"\f11b"}.fa-keyboard-o:before{content:"\f11c"}.fa-flag-o:before{content:"\f11d"}.fa-flag-checkered:before{content:"\f11e"}.fa-terminal:before{content:"\f120"}.fa-code:before{content:"\f121"}.fa-mail-reply-all:before,.fa-reply-all:before{content:"\f122"}.fa-star-half-empty:before,.fa-star-half-full:before,.fa-star-half-o:before{content:"\f123"}.fa-location-arrow:before{content:"\f124"}.fa-crop:before{content:"\f125"}.fa-code-fork:before{content:"\f126"}.fa-unlink:before,.fa-chain-broken:before{content:"\f127"}.fa-question:before{content:"\f128"}.fa-info:before{content:"\f129"}.fa-exclamation:before{content:"\f12a"}.fa-superscript:before{content:"\f12b"}.fa-subscript:before{content:"\f12c"}.fa-eraser:before{content:"\f12d"}.fa-puzzle-piece:before{content:"\f12e"}.fa-microphone:before{content:"\f130"}.fa-microphone-slash:before{content:"\f131"}.fa-shield:before{content:"\f132"}.fa-calendar-o:before{content:"\f133"}.fa-fire-extinguisher:before{content:"\f134"}.fa-rocket:before{content:"\f135"}.fa-maxcdn:before{content:"\f136"}.fa-chevron-circle-left:before{content:"\f137"}.fa-chevron-circle-right:before{content:"\f138"}.fa-chevron-circle-up:before{content:"\f139"}.fa-chevron-circle-down:before{content:"\f13a"}.fa-html5:before{content:"\f13b"}.fa-css3:before{content:"\f13c"}.fa-anchor:before{content:"\f13d"}.fa-unlock-alt:before{content:"\f13e"}.fa-bullseye:before{content:"\f140"}.fa-ellipsis-h:before{content:"\f141"}.fa-ellipsis-v:before{content:"\f142"}.fa-rss-square:before{content:"\f143"}.fa-play-circle:before{content:"\f144"}.fa-ticket:before{content:"\f145"}.fa-minus-square:before{content:"\f146"}.fa-minus-square-o:before{content:"\f147"}.fa-level-up:before{content:"\f148"}.fa-level-down:before{content:"\f149"}.fa-check-square:before{content:"\f14a"}.fa-pencil-square:before{content:"\f14b"}.fa-external-link-square:before{content:"\f14c"}.fa-share-square:before{content:"\f14d"}.fa-compass:before{content:"\f14e"}.fa-toggle-down:before,.fa-caret-square-o-down:before{content:"\f150"}.fa-toggle-up:before,.fa-caret-square-o-up:before{content:"\f151"}.fa-toggle-right:before,.fa-caret-square-o-right:before{content:"\f152"}.fa-euro:before,.fa-eur:before{content:"\f153"}.fa-gbp:before{content:"\f154"}.fa-dollar:before,.fa-usd:before{content:"\f155"}.fa-rupee:before,.fa-inr:before{content:"\f156"}.fa-cny:before,.fa-rmb:before,.fa-yen:before,.fa-jpy:before{content:"\f157"}.fa-ruble:before,.fa-rouble:before,.fa-rub:before{content:"\f158"}.fa-won:before,.fa-krw:before{content:"\f159"}.fa-bitcoin:before,.fa-btc:before{content:"\f15a"}.fa-file:before{content:"\f15b"}.fa-file-text:before{content:"\f15c"}.fa-sort-alpha-asc:before{content:"\f15d"}.fa-sort-alpha-desc:before{content:"\f15e"}.fa-sort-amount-asc:before{content:"\f160"}.fa-sort-amount-desc:before{content:"\f161"}.fa-sort-numeric-asc:before{content:"\f162"}.fa-sort-numeric-desc:before{content:"\f163"}.fa-thumbs-up:before{content:"\f164"}.fa-thumbs-down:before{content:"\f165"}.fa-youtube-square:before{content:"\f166"}.fa-youtube:before{content:"\f167"}.fa-xing:before{content:"\f168"}.fa-xing-square:before{content:"\f169"}.fa-youtube-play:before{content:"\f16a"}.fa-dropbox:before{content:"\f16b"}.fa-stack-overflow:before{content:"\f16c"}.fa-instagram:before{content:"\f16d"}.fa-flickr:before{content:"\f16e"}.fa-adn:before{content:"\f170"}.fa-bitbucket:before{content:"\f171"}.fa-bitbucket-square:before{content:"\f172"}.fa-tumblr:before{content:"\f173"}.fa-tumblr-square:before{content:"\f174"}.fa-long-arrow-down:before{content:"\f175"}.fa-long-arrow-up:before{content:"\f176"}.fa-long-arrow-left:before{content:"\f177"}.fa-long-arrow-right:before{content:"\f178"}.fa-apple:before{content:"\f179"}.fa-windows:before{content:"\f17a"}.fa-android:before{content:"\f17b"}.fa-linux:before{content:"\f17c"}.fa-dribbble:before{content:"\f17d"}.fa-skype:before{content:"\f17e"}.fa-foursquare:before{content:"\f180"}.fa-trello:before{content:"\f181"}.fa-female:before{content:"\f182"}.fa-male:before{content:"\f183"}.fa-gittip:before{content:"\f184"}.fa-sun-o:before{content:"\f185"}.fa-moon-o:before{content:"\f186"}.fa-archive:before{content:"\f187"}.fa-bug:before{content:"\f188"}.fa-vk:before{content:"\f189"}.fa-weibo:before{content:"\f18a"}.fa-renren:before{content:"\f18b"}.fa-pagelines:before{content:"\f18c"}.fa-stack-exchange:before{content:"\f18d"}.fa-arrow-circle-o-right:before{content:"\f18e"}.fa-arrow-circle-o-left:before{content:"\f190"}.fa-toggle-left:before,.fa-caret-square-o-left:before{content:"\f191"}.fa-dot-circle-o:before{content:"\f192"}.fa-wheelchair:before{content:"\f193"}.fa-vimeo-square:before{content:"\f194"}.fa-turkish-lira:before,.fa-try:before{content:"\f195"}.fa-plus-square-o:before{content:"\f196"}.fa-space-shuttle:before{content:"\f197"}.fa-slack:before{content:"\f198"}.fa-envelope-square:before{content:"\f199"}.fa-wordpress:before{content:"\f19a"}.fa-openid:before{content:"\f19b"}.fa-institution:before,.fa-bank:before,.fa-university:before{content:"\f19c"}.fa-mortar-board:before,.fa-graduation-cap:before{content:"\f19d"}.fa-yahoo:before{content:"\f19e"}.fa-google:before{content:"\f1a0"}.fa-reddit:before{content:"\f1a1"}.fa-reddit-square:before{content:"\f1a2"}.fa-stumbleupon-circle:before{content:"\f1a3"}.fa-stumbleupon:before{content:"\f1a4"}.fa-delicious:before{content:"\f1a5"}.fa-digg:before{content:"\f1a6"}.fa-pied-piper:before{content:"\f1a7"}.fa-pied-piper-alt:before{content:"\f1a8"}.fa-drupal:before{content:"\f1a9"}.fa-joomla:before{content:"\f1aa"}.fa-language:before{content:"\f1ab"}.fa-fax:before{content:"\f1ac"}.fa-building:before{content:"\f1ad"}.fa-child:before{content:"\f1ae"}.fa-paw:before{content:"\f1b0"}.fa-spoon:before{content:"\f1b1"}.fa-cube:before{content:"\f1b2"}.fa-cubes:before{content:"\f1b3"}.fa-behance:before{content:"\f1b4"}.fa-behance-square:before{content:"\f1b5"}.fa-steam:before{content:"\f1b6"}.fa-steam-square:before{content:"\f1b7"}.fa-recycle:before{content:"\f1b8"}.fa-automobile:before,.fa-car:before{content:"\f1b9"}.fa-cab:before,.fa-taxi:before{content:"\f1ba"}.fa-tree:before{content:"\f1bb"}.fa-spotify:before{content:"\f1bc"}.fa-deviantart:before{content:"\f1bd"}.fa-soundcloud:before{content:"\f1be"}.fa-database:before{content:"\f1c0"}.fa-file-pdf-o:before{content:"\f1c1"}.fa-file-word-o:before{content:"\f1c2"}.fa-file-excel-o:before{content:"\f1c3"}.fa-file-powerpoint-o:before{content:"\f1c4"}.fa-file-photo-o:before,.fa-file-picture-o:before,.fa-file-image-o:before{content:"\f1c5"}.fa-file-zip-o:before,.fa-file-archive-o:before{content:"\f1c6"}.fa-file-sound-o:before,.fa-file-audio-o:before{content:"\f1c7"}.fa-file-movie-o:before,.fa-file-video-o:before{content:"\f1c8"}.fa-file-code-o:before{content:"\f1c9"}.fa-vine:before{content:"\f1ca"}.fa-codepen:before{content:"\f1cb"}.fa-jsfiddle:before{content:"\f1cc"}.fa-life-bouy:before,.fa-life-buoy:before,.fa-life-saver:before,.fa-support:before,.fa-life-ring:before{content:"\f1cd"}.fa-circle-o-notch:before{content:"\f1ce"}.fa-ra:before,.fa-rebel:before{content:"\f1d0"}.fa-ge:before,.fa-empire:before{content:"\f1d1"}.fa-git-square:before{content:"\f1d2"}.fa-git:before{content:"\f1d3"}.fa-hacker-news:before{content:"\f1d4"}.fa-tencent-weibo:before{content:"\f1d5"}.fa-qq:before{content:"\f1d6"}.fa-wechat:before,.fa-weixin:before{content:"\f1d7"}.fa-send:before,.fa-paper-plane:before{content:"\f1d8"}.fa-send-o:before,.fa-paper-plane-o:before{content:"\f1d9"}.fa-history:before{content:"\f1da"}.fa-circle-thin:before{content:"\f1db"}.fa-header:before{content:"\f1dc"}.fa-paragraph:before{content:"\f1dd"}.fa-sliders:before{content:"\f1de"}.fa-share-alt:before{content:"\f1e0"}.fa-share-alt-square:before{content:"\f1e1"}.fa-bomb:before{content:"\f1e2"}.fa-soccer-ball-o:before,.fa-futbol-o:before{content:"\f1e3"}.fa-tty:before{content:"\f1e4"}.fa-binoculars:before{content:"\f1e5"}.fa-plug:before{content:"\f1e6"}.fa-slideshare:before{content:"\f1e7"}.fa-twitch:before{content:"\f1e8"}.fa-yelp:before{content:"\f1e9"}.fa-newspaper-o:before{content:"\f1ea"}.fa-wifi:before{content:"\f1eb"}.fa-calculator:before{content:"\f1ec"}.fa-paypal:before{content:"\f1ed"}.fa-google-wallet:before{content:"\f1ee"}.fa-cc-visa:before{content:"\f1f0"}.fa-cc-mastercard:before{content:"\f1f1"}.fa-cc-discover:before{content:"\f1f2"}.fa-cc-amex:before{content:"\f1f3"}.fa-cc-paypal:before{content:"\f1f4"}.fa-cc-stripe:before{content:"\f1f5"}.fa-bell-slash:before{content:"\f1f6"}.fa-bell-slash-o:before{content:"\f1f7"}.fa-trash:before{content:"\f1f8"}.fa-copyright:before{content:"\f1f9"}.fa-at:before{content:"\f1fa"}.fa-eyedropper:before{content:"\f1fb"}.fa-paint-brush:before{content:"\f1fc"}.fa-birthday-cake:before{content:"\f1fd"}.fa-area-chart:before{content:"\f1fe"}.fa-pie-chart:before{content:"\f200"}.fa-line-chart:before{content:"\f201"}.fa-lastfm:before{content:"\f202"}.fa-lastfm-square:before{content:"\f203"}.fa-toggle-off:before{content:"\f204"}.fa-toggle-on:before{content:"\f205"}.fa-bicycle:before{content:"\f206"}.fa-bus:before{content:"\f207"}.fa-ioxhost:before{content:"\f208"}.fa-angellist:before{content:"\f209"}.fa-cc:before{content:"\f20a"}.fa-shekel:before,.fa-sheqel:before,.fa-ils:before{content:"\f20b"}.fa-meanpath:before{content:"\f20c"} \ No newline at end of file diff --git a/src/demo/manager/src/main/webapp/assets/css/jquery-confirm.min.css b/src/demo/manager/src/main/webapp/assets/css/jquery-confirm.min.css new file mode 100644 index 00000000..cb8c3245 --- /dev/null +++ b/src/demo/manager/src/main/webapp/assets/css/jquery-confirm.min.css @@ -0,0 +1,9 @@ +/*! + * jquery-confirm v2.5.1 (http://craftpip.github.io/jquery-confirm/) + * Author: boniface pereira + * Website: www.craftpip.com + * Contact: hey@craftpip.com + * + * Copyright 2013-2016 jquery-confirm + * Licensed under MIT (https://github.com/craftpip/jquery-confirm/blob/master/LICENSE) + */@-webkit-keyframes jconfirm-rotate{from{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@keyframes jconfirm-rotate{from{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}.jconfirm{position:fixed;top:0;left:0;right:0;bottom:0;z-index:99999999;font-family:inherit;overflow:hidden}.jconfirm .jconfirm-bg{position:fixed;top:0;left:0;right:0;bottom:0;opacity:0;-webkit-transition:all .4s;transition:all .4s}.jconfirm .jconfirm-bg.seen{opacity:1}.jconfirm .jconfirm-scrollpane{position:fixed;top:0;left:0;right:0;bottom:0;overflow-y:auto;-webkit-perspective:500px;perspective:500px;-webkit-perspective-origin:center;perspective-origin:center}.jconfirm .jconfirm-box{background:#fff;border-radius:4px;position:relative;outline:none;padding:15px 15px 0}.jconfirm .jconfirm-box div.closeIcon{height:20px;width:20px;position:absolute;top:5px;right:5px;cursor:pointer;opacity:.6;text-align:center;-webkit-transition:opacity .1s ease-in;transition:opacity .1s ease-in;display:none;font-size:27px;line-height:14px}.jconfirm .jconfirm-box div.closeIcon .fa{font-size:16px}.jconfirm .jconfirm-box div.closeIcon .glyphicon{font-size:16px}.jconfirm .jconfirm-box div.closeIcon .zmdi{font-size:16px}.jconfirm .jconfirm-box div.closeIcon:hover{opacity:1}.jconfirm .jconfirm-box div.title-c{display:block;font-size:22px;line-height:20px}.jconfirm .jconfirm-box div.title-c .icon-c{font-size:inherit;padding-bottom:15px;display:inline-block;margin-right:8px;vertical-align:middle}.jconfirm .jconfirm-box div.title-c .icon-c i{vertical-align:middle}.jconfirm .jconfirm-box div.title-c .icon-c:empty{display:none}.jconfirm .jconfirm-box div.title-c .title{font-size:inherit;font-family:inherit;display:inline-block;vertical-align:middle;padding-bottom:15px}.jconfirm .jconfirm-box div.title-c .title:empty{display:none}.jconfirm .jconfirm-box div.content-pane{margin-bottom:15px;height:auto;-webkit-transition:height .4s ease-in;transition:height .4s ease-in;display:inline-block;width:100%;position:relative}.jconfirm .jconfirm-box div.content-pane .content{position:absolute;top:0;left:0;-webkit-transition:all .2s ease-in;transition:all .2s ease-in;right:0}.jconfirm .jconfirm-box div.content-pane .content img{width:100%;height:auto}.jconfirm .jconfirm-box div.content-pane .content:empty{display:none}.jconfirm .jconfirm-box div.content-pane .content:empty.loading{height:40px;position:relative;opacity:.6;display:block}.jconfirm .jconfirm-box div.content-pane .content:empty.loading:before{content:'';height:20px;width:20px;border:solid 2px transparent;position:absolute;left:50%;margin-left:-10px;border-radius:50%;-webkit-animation:jconfirm-rotate 1s infinite linear;animation:jconfirm-rotate 1s infinite linear;border-bottom-color:#aaa;top:50%;margin-top:-10px}.jconfirm .jconfirm-box div.content-pane .content:empty.loading:after{content:'';position:absolute;left:50%;margin-left:-15px}.jconfirm .jconfirm-box .buttons{padding-bottom:15px}.jconfirm .jconfirm-box .buttons button+button{margin-left:5px}.jconfirm .jquery-clear{clear:both}.jconfirm.rtl{direction:rtl}.jconfirm.rtl div.closeIcon{left:12px;right:auto}.jconfirm.jconfirm-white .jconfirm-bg{background-color:rgba(0,0,0,0.2)}.jconfirm.jconfirm-white .jconfirm-box{box-shadow:0 2px 6px rgba(0,0,0,0.2);border-radius:5px}.jconfirm.jconfirm-white .jconfirm-box .buttons{float:right}.jconfirm.jconfirm-white .jconfirm-box .buttons button{border:none;background-image:none;text-transform:uppercase;font-size:14px;font-weight:bold;text-shadow:none;-webkit-transition:background .1s;transition:background .1s;color:#fff}.jconfirm.jconfirm-white .jconfirm-box .buttons button.btn-default{box-shadow:none;color:#333}.jconfirm.jconfirm-white .jconfirm-box .buttons button.btn-default:hover{background:#ddd}.jconfirm.jconfirm-black .jconfirm-bg{background-color:rgba(0,0,0,0.5)}.jconfirm.jconfirm-black .jconfirm-box{box-shadow:0 2px 6px rgba(0,0,0,0.2);background:#444;border-radius:5px;color:#fff}.jconfirm.jconfirm-black .jconfirm-box .buttons{float:right}.jconfirm.jconfirm-black .jconfirm-box .buttons button{border:none;background-image:none;text-transform:uppercase;font-size:14px;font-weight:bold;text-shadow:none;-webkit-transition:background .1s;transition:background .1s;color:#fff}.jconfirm.jconfirm-black .jconfirm-box .buttons button.btn-default{box-shadow:none;color:#fff;background:none}.jconfirm.jconfirm-black .jconfirm-box .buttons button.btn-default:hover{background:#666}.jconfirm .jconfirm-box.hilight{-webkit-animation:hilight .82s cubic-bezier(.36, .07, .19, .97) both;animation:hilight .82s cubic-bezier(.36, .07, .19, .97) both;-webkit-transform:translate3d(0, 0, 0);transform:translate3d(0, 0, 0)}@-webkit-keyframes hilight{10%,90%{-webkit-transform:translate3d(-2px, 0, 0);transform:translate3d(-2px, 0, 0)}20%,80%{-webkit-transform:translate3d(4px, 0, 0);transform:translate3d(4px, 0, 0)}30%,50%,70%{-webkit-transform:translate3d(-8px, 0, 0);transform:translate3d(-8px, 0, 0)}40%,60%{-webkit-transform:translate3d(8px, 0, 0);transform:translate3d(8px, 0, 0)}}@keyframes hilight{10%,90%{-webkit-transform:translate3d(-2px, 0, 0);transform:translate3d(-2px, 0, 0)}20%,80%{-webkit-transform:translate3d(4px, 0, 0);transform:translate3d(4px, 0, 0)}30%,50%,70%{-webkit-transform:translate3d(-8px, 0, 0);transform:translate3d(-8px, 0, 0)}40%,60%{-webkit-transform:translate3d(8px, 0, 0);transform:translate3d(8px, 0, 0)}}.jconfirm{-webkit-perspective:400px;perspective:400px}.jconfirm .jconfirm-box{opacity:1;-webkit-transition-property:-webkit-transform,opacity,box-shadow;transition-property:transform,opacity,box-shadow}.jconfirm .jconfirm-box.anim-top,.jconfirm .jconfirm-box.anim-left,.jconfirm .jconfirm-box.anim-right,.jconfirm .jconfirm-box.anim-bottom,.jconfirm .jconfirm-box.anim-opacity,.jconfirm .jconfirm-box.anim-zoom,.jconfirm .jconfirm-box.anim-scale,.jconfirm .jconfirm-box.anim-none,.jconfirm .jconfirm-box.anim-rotate,.jconfirm .jconfirm-box.anim-rotatex,.jconfirm .jconfirm-box.anim-rotatey,.jconfirm .jconfirm-box.anim-scaley,.jconfirm .jconfirm-box.anim-scalex{opacity:0}.jconfirm .jconfirm-box.anim-rotate{-webkit-transform:rotate(90deg);-ms-transform:rotate(90deg);transform:rotate(90deg)}.jconfirm .jconfirm-box.anim-rotatex{-webkit-transform:rotateX(90deg);transform:rotateX(90deg);-webkit-transform-origin:center;-ms-transform-origin:center;transform-origin:center}.jconfirm .jconfirm-box.anim-rotatexr{-webkit-transform:rotateX(-90deg);transform:rotateX(-90deg);-webkit-transform-origin:center;-ms-transform-origin:center;transform-origin:center}.jconfirm .jconfirm-box.anim-rotatey{-webkit-transform:rotatey(90deg);-ms-transform:rotatey(90deg);transform:rotatey(90deg);-webkit-transform-origin:center;-ms-transform-origin:center;transform-origin:center}.jconfirm .jconfirm-box.anim-rotateyr{-webkit-transform:rotatey(-90deg);-ms-transform:rotatey(-90deg);transform:rotatey(-90deg);-webkit-transform-origin:center;-ms-transform-origin:center;transform-origin:center}.jconfirm .jconfirm-box.anim-scaley{-webkit-transform:scaley(1.5);-ms-transform:scaley(1.5);transform:scaley(1.5);-webkit-transform-origin:center;-ms-transform-origin:center;transform-origin:center}.jconfirm .jconfirm-box.anim-scalex{-webkit-transform:scalex(1.5);-ms-transform:scalex(1.5);transform:scalex(1.5);-webkit-transform-origin:center;-ms-transform-origin:center;transform-origin:center}.jconfirm .jconfirm-box.anim-top{-webkit-transform:translate(0, -100px);-ms-transform:translate(0, -100px);transform:translate(0, -100px)}.jconfirm .jconfirm-box.anim-left{-webkit-transform:translate(-100px, 0);-ms-transform:translate(-100px, 0);transform:translate(-100px, 0)}.jconfirm .jconfirm-box.anim-right{-webkit-transform:translate(100px, 0);-ms-transform:translate(100px, 0);transform:translate(100px, 0)}.jconfirm .jconfirm-box.anim-bottom{-webkit-transform:translate(0, 100px);-ms-transform:translate(0, 100px);transform:translate(0, 100px)}.jconfirm .jconfirm-box.anim-zoom{-webkit-transform:scale(1.2);-ms-transform:scale(1.2);transform:scale(1.2)}.jconfirm .jconfirm-box.anim-scale{-webkit-transform:scale(.5);-ms-transform:scale(.5);transform:scale(.5)}.jconfirm .jconfirm-box.anim-none{display:none}.jconfirm.jconfirm-supervan .jconfirm-bg{background-color:rgba(54,70,93,0.95)}.jconfirm.jconfirm-supervan .jconfirm-box{background-color:transparent}.jconfirm.jconfirm-supervan .jconfirm-box div.closeIcon{color:#fff}.jconfirm.jconfirm-supervan .jconfirm-box div.title-c{text-align:center;color:#fff;font-size:28px;font-weight:normal}.jconfirm.jconfirm-supervan .jconfirm-box div.title-c>*{padding-bottom:25px}.jconfirm.jconfirm-supervan .jconfirm-box div.content-pane{margin-bottom:25px}.jconfirm.jconfirm-supervan .jconfirm-box div.content{text-align:center;color:#fff}.jconfirm.jconfirm-supervan .jconfirm-box .buttons{text-align:center}.jconfirm.jconfirm-supervan .jconfirm-box .buttons button{font-size:16px;border-radius:2px;background:#303f53;text-shadow:none;border:none;color:#fff;padding:10px;min-width:100px}.jconfirm.jconfirm-material .jconfirm-bg{background-color:rgba(0,0,0,0.67)}.jconfirm.jconfirm-material .jconfirm-box{background-color:#fff;box-shadow:0 7px 8px -4px rgba(0,0,0,0.2),0 13px 19px 2px rgba(0,0,0,0.14),0 5px 24px 4px rgba(0,0,0,0.12);padding:30px 25px 10px 25px}.jconfirm.jconfirm-material .jconfirm-box div.closeIcon{color:rgba(0,0,0,0.87)}.jconfirm.jconfirm-material .jconfirm-box div.title-c{color:rgba(0,0,0,0.87);font-size:22px;font-weight:bold}.jconfirm.jconfirm-material .jconfirm-box div.content{text-align:left;color:rgba(0,0,0,0.87)}.jconfirm.jconfirm-material .jconfirm-box .buttons{text-align:right}.jconfirm.jconfirm-material .jconfirm-box .buttons button{text-transform:uppercase;font-weight:500}.jconfirm.jconfirm-bootstrap .jconfirm-bg{background-color:rgba(0,0,0,0.21)}.jconfirm.jconfirm-bootstrap .jconfirm-box{background-color:#fff;box-shadow:0 3px 8px 0 rgba(0,0,0,0.2);border:solid 1px rgba(0,0,0,0.4);padding:15px 0 0}.jconfirm.jconfirm-bootstrap .jconfirm-box div.closeIcon{color:rgba(0,0,0,0.87)}.jconfirm.jconfirm-bootstrap .jconfirm-box div.title-c{color:rgba(0,0,0,0.87);font-size:22px;font-weight:bold;padding-left:15px;padding-right:15px}.jconfirm.jconfirm-bootstrap .jconfirm-box div.content{text-align:left;color:rgba(0,0,0,0.87);padding:0 15px}.jconfirm.jconfirm-bootstrap .jconfirm-box .buttons{text-align:right;padding:0 0 0;margin:-5px 0 0;border-top:solid 1px #ddd;overflow:hidden;border-radius:0 0 4px 4px}.jconfirm.jconfirm-bootstrap .jconfirm-box .buttons button{font-weight:500;border-radius:0;margin:0;border-left:solid 1px #ddd} \ No newline at end of file diff --git a/src/demo/manager/src/main/webapp/assets/css/jquery.alerts.css b/src/demo/manager/src/main/webapp/assets/css/jquery.alerts.css new file mode 100644 index 00000000..ab982c93 --- /dev/null +++ b/src/demo/manager/src/main/webapp/assets/css/jquery.alerts.css @@ -0,0 +1,44 @@ +#popup_container { + font-family: Arial, sans-serif; + font-size: 12px; + min-width: 300px; /* Dialog will be no smaller than this */ + max-width: 600px; /* Dialog will wrap after this width */ + background: #FFF; + border:3px solid #E6E6E6; + color: #000; + -moz-border-radius: 5px; + -webkit-border-radius: 5px; + border-radius: 5px; +} +*html #popup_container{width:304px;} + +#popup_content { + padding: 1em 1.75em; + margin: 0em; +} + +#popup_content.alert { +} + +#popup_content.confirm { +} + +#popup_content.prompt { +} + +#popup_message { + color: #6B6B6B; + margin: 0; + padding: 0; + text-align:center +} + +#popup_panel { + text-align: center; + margin: 1em 0em 0em 0em; +} + +#popup_prompt { + margin: .5em 0em; +} + diff --git a/src/demo/manager/src/main/webapp/assets/css/login2.css b/src/demo/manager/src/main/webapp/assets/css/login2.css new file mode 100644 index 00000000..6f93672e --- /dev/null +++ b/src/demo/manager/src/main/webapp/assets/css/login2.css @@ -0,0 +1,189 @@ +/* + * + * Template Name: Fullscreen Login + * Description: Login Template with Fullscreen Background Slideshow + * Author: Anli Zaimi + * Author URI: http://azmind.com + * + */ + + +body{ + background:#fff url(/assets/img/loginimg/1.jpg) no-repeat left top; + transition:all 1.0s ease; + -webkit-transition:all 1.0s ease; + -o-transition:all 1.0s ease; + -moz-transition:all 1.0s ease; + background-size:100%; + font-family: 'PT Sans', Helvetica, Arial, sans-serif; + text-align: center; +} + +.page-container { + margin: 120px auto 0 auto; +} + +h1 { + font-size: 30px; + font-weight: 700; + text-shadow: 0 1px 4px rgba(0,0,0,.2); +} + +form { + position: relative; + width: 305px; + margin: 15px auto 0 auto; + text-align: center; +} + +input { + width: 270px; + height: 42px; + margin-top: 25px; + padding: 0 15px; + background: #2d2d2d; /* browsers that don't support rgba */ + background: rgba(45,45,45,.15); + -moz-border-radius: 6px; + -webkit-border-radius: 6px; + border-radius: 6px; + border: 1px solid #3d3d3d; /* browsers that don't support rgba */ + border: 1px solid rgba(255,255,255,.15); + -moz-box-shadow: 0 2px 3px 0 rgba(0,0,0,.1) inset; + -webkit-box-shadow: 0 2px 3px 0 rgba(0,0,0,.1) inset; + box-shadow: 0 2px 3px 0 rgba(0,0,0,.1) inset; + font-family: 'PT Sans', Helvetica, Arial, sans-serif; + font-size: 14px; + color: #fff; + text-shadow: 0 1px 2px rgba(0,0,0,.1); + -o-transition: all .2s; + -moz-transition: all .2s; + -webkit-transition: all .2s; + -ms-transition: all .2s; +} + +input:-moz-placeholder { color: #fff; } +input:-ms-input-placeholder { color: #fff; } +input::-webkit-input-placeholder { color: #fff; } + +input:focus { + outline: none; + -moz-box-shadow: + 0 2px 3px 0 rgba(0,0,0,.1) inset, + 0 2px 7px 0 rgba(0,0,0,.2); + -webkit-box-shadow: + 0 2px 3px 0 rgba(0,0,0,.1) inset, + 0 2px 7px 0 rgba(0,0,0,.2); + box-shadow: + 0 2px 3px 0 rgba(0,0,0,.1) inset, + 0 2px 7px 0 rgba(0,0,0,.2); +} + +button { + cursor: pointer; + width: 300px; + height: 44px; + margin-top: 25px; + padding: 0; + background: #ef4300; + -moz-border-radius: 6px; + -webkit-border-radius: 6px; + border-radius: 6px; + border: 1px solid #ff730e; + -moz-box-shadow: + 0 15px 30px 0 rgba(255,255,255,.25) inset, + 0 2px 7px 0 rgba(0,0,0,.2); + -webkit-box-shadow: + 0 15px 30px 0 rgba(255,255,255,.25) inset, + 0 2px 7px 0 rgba(0,0,0,.2); + box-shadow: + 0 15px 30px 0 rgba(255,255,255,.25) inset, + 0 2px 7px 0 rgba(0,0,0,.2); + font-family: 'PT Sans', Helvetica, Arial, sans-serif; + font-size: 14px; + font-weight: 700; + color: #fff; + text-shadow: 0 1px 2px rgba(0,0,0,.1); + -o-transition: all .2s; + -moz-transition: all .2s; + -webkit-transition: all .2s; + -ms-transition: all .2s; +} + +button:hover { + -moz-box-shadow: + 0 15px 30px 0 rgba(255,255,255,.15) inset, + 0 2px 7px 0 rgba(0,0,0,.2); + -webkit-box-shadow: + 0 15px 30px 0 rgba(255,255,255,.15) inset, + 0 2px 7px 0 rgba(0,0,0,.2); + box-shadow: + 0 15px 30px 0 rgba(255,255,255,.15) inset, + 0 2px 7px 0 rgba(0,0,0,.2); +} + +button:active { + -moz-box-shadow: + 0 15px 30px 0 rgba(255,255,255,.15) inset, + 0 2px 7px 0 rgba(0,0,0,.2); + -webkit-box-shadow: + 0 15px 30px 0 rgba(255,255,255,.15) inset, + 0 2px 7px 0 rgba(0,0,0,.2); + box-shadow: + 0 5px 8px 0 rgba(0,0,0,.1) inset, + 0 1px 4px 0 rgba(0,0,0,.1); + + border: 0px solid #ef4300; +} + +.error { + display: none; + position: absolute; + top: 27px; + right: -55px; + width: 40px; + height: 40px; + background: #2d2d2d; /* browsers that don't support rgba */ + background: rgba(45,45,45,.25); + -moz-border-radius: 8px; + -webkit-border-radius: 8px; + border-radius: 8px; +} + +.error span { + display: inline-block; + margin-left: 2px; + font-size: 40px; + font-weight: 700; + line-height: 40px; + text-shadow: 0 1px 2px rgba(0,0,0,.1); + -o-transform: rotate(45deg); + -moz-transform: rotate(45deg); + -webkit-transform: rotate(45deg); + -ms-transform: rotate(45deg); + +} + +.connect { + width: 305px; + margin: 35px auto 0 auto; + font-size: 18px; + font-weight: 700; + text-shadow: 0 1px 3px rgba(0,0,0,.2); +} + +.connect a { + display: inline-block; + width: 32px; + height: 35px; + margin-top: 15px; + -o-transition: all .2s; + -moz-transition: all .2s; + -webkit-transition: all .2s; + -ms-transition: all .2s; +} + + +.connect a:hover { background-position: center bottom; } + + + diff --git a/src/demo/manager/src/main/webapp/assets/css/metisMenu.min.css b/src/demo/manager/src/main/webapp/assets/css/metisMenu.min.css new file mode 100644 index 00000000..a1d0ef39 --- /dev/null +++ b/src/demo/manager/src/main/webapp/assets/css/metisMenu.min.css @@ -0,0 +1,10 @@ +/* + * metismenu - v1.1.3 + * Easy menu jQuery plugin for Twitter Bootstrap 3 + * https://github.com/onokumus/metisMenu + * + * Made by Osman Nuri Okumus + * Under MIT License + */ + +.arrow{float:right;line-height:1.42857}.glyphicon.arrow:before{content:"\e079"}.active>a>.glyphicon.arrow:before{content:"\e114"}.fa.arrow:before{content:"\f104"}.active>a>.fa.arrow:before{content:"\f107"}.plus-times{float:right}.fa.plus-times:before{content:"\f067"}.active>a>.fa.plus-times{filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=1);-webkit-transform:rotate(45deg);-moz-transform:rotate(45deg);-ms-transform:rotate(45deg);-o-transform:rotate(45deg);transform:rotate(45deg)}.plus-minus{float:right}.fa.plus-minus:before{content:"\f067"}.active>a>.fa.plus-minus:before{content:"\f068"} \ No newline at end of file diff --git a/src/demo/manager/src/main/webapp/assets/css/multiple-select.css b/src/demo/manager/src/main/webapp/assets/css/multiple-select.css new file mode 100644 index 00000000..5c6a017c --- /dev/null +++ b/src/demo/manager/src/main/webapp/assets/css/multiple-select.css @@ -0,0 +1,191 @@ +/** + * @author zhixin wen + */ + +.ms-parent { + display: inline-block; + position: relative; + vertical-align: middle; +} + +.ms-choice { + display: block; + width: 100%; + height: 26px; + padding: 0; + overflow: hidden; + cursor: pointer; + border: 1px solid #aaa; + text-align: left; + white-space: nowrap; + line-height: 26px; + color: #444; + text-decoration: none; + -webkit-border-radius: 4px; + -moz-border-radius: 4px; + border-radius: 4px; + background-color: #fff; +} + +.ms-choice.disabled { + background-color: #f4f4f4; + background-image: none; + border: 1px solid #ddd; + cursor: default; +} + +.ms-choice > span { + position: absolute; + top: 0; + left: 0; + right: 20px; + white-space: nowrap; + overflow: hidden; + text-overflow: ellipsis; + display: block; + padding-left: 8px; +} + +.ms-choice > span.placeholder { + color: #999; +} + +.ms-choice > div { + position: absolute; + top: 0; + right: 0; + width: 20px; + height: 25px; + background: url('multiple-select.png') left top no-repeat; +} + +.ms-choice > div.open { + background: url('multiple-select.png') right top no-repeat; +} + +.ms-drop { + width: 100%; + overflow: hidden; + display: none; + margin-top: -1px; + padding: 0; + position: absolute; + z-index: 1000; + background: #fff; + color: #000; + border: 1px solid #aaa; + -webkit-border-radius: 4px; + -moz-border-radius: 4px; + border-radius: 4px; +} + +.ms-drop.bottom { + top: 100%; + -webkit-box-shadow: 0 4px 5px rgba(0, 0, 0, .15); + -moz-box-shadow: 0 4px 5px rgba(0, 0, 0, .15); + box-shadow: 0 4px 5px rgba(0, 0, 0, .15); +} + +.ms-drop.top { + bottom: 100%; + -webkit-box-shadow: 0 -4px 5px rgba(0, 0, 0, .15); + -moz-box-shadow: 0 -4px 5px rgba(0, 0, 0, .15); + box-shadow: 0 -4px 5px rgba(0, 0, 0, .15); +} + +.ms-search { + display: inline-block; + margin: 0; + min-height: 26px; + padding: 4px; + position: relative; + white-space: nowrap; + width: 100%; + z-index: 10000; +} + +.ms-search input { + width: 100%; + height: auto !important; + min-height: 24px; + padding: 0 20px 0 5px; + margin: 0; + outline: 0; + font-family: sans-serif; + font-size: 1em; + border: 1px solid #aaa; + -webkit-border-radius: 0; + -moz-border-radius: 0; + border-radius: 0; + -webkit-box-shadow: none; + -moz-box-shadow: none; + box-shadow: none; + background: #fff url('multiple-select.png') no-repeat 100% -22px; + background: url('multiple-select.png') no-repeat 100% -22px, -webkit-gradient(linear, left bottom, left top, color-stop(0.85, white), color-stop(0.99, #eeeeee)); + background: url('multiple-select.png') no-repeat 100% -22px, -webkit-linear-gradient(center bottom, white 85%, #eeeeee 99%); + background: url('multiple-select.png') no-repeat 100% -22px, -moz-linear-gradient(center bottom, white 85%, #eeeeee 99%); + background: url('multiple-select.png') no-repeat 100% -22px, -o-linear-gradient(bottom, white 85%, #eeeeee 99%); + background: url('multiple-select.png') no-repeat 100% -22px, -ms-linear-gradient(top, #ffffff 85%, #eeeeee 99%); + background: url('multiple-select.png') no-repeat 100% -22px, linear-gradient(top, #ffffff 85%, #eeeeee 99%); +} + +.ms-search, .ms-search input { + -webkit-box-sizing: border-box; + -khtml-box-sizing: border-box; + -moz-box-sizing: border-box; + -ms-box-sizing: border-box; + box-sizing: border-box; +} + +.ms-drop ul { + overflow: auto; + margin: 0; + padding: 5px 8px; +} + +.ms-drop ul > li { + list-style: none; + display: list-item; + background-image: none; + position: static; +} + +.ms-drop ul > li .disabled { + opacity: .35; + filter: Alpha(Opacity=35); +} + +.ms-drop ul > li.multiple { + display: block; + float: left; +} + +.ms-drop ul > li.group { + clear: both; +} + +.ms-drop ul > li.multiple label { + width: 100%; + display: block; + white-space: nowrap; + overflow: hidden; + text-overflow: ellipsis; +} + +.ms-drop ul > li label { + font-weight: normal; + display: block; + white-space: nowrap; +} + +.ms-drop ul > li label.optgroup { + font-weight: bold; +} + +.ms-drop input[type="checkbox"] { + vertical-align: middle; +} + +.ms-drop .ms-no-results { + display: none; +} diff --git a/src/demo/manager/src/main/webapp/assets/css/sb-admin-2.css b/src/demo/manager/src/main/webapp/assets/css/sb-admin-2.css new file mode 100644 index 00000000..e8be3969 --- /dev/null +++ b/src/demo/manager/src/main/webapp/assets/css/sb-admin-2.css @@ -0,0 +1,354 @@ +/*! + * Start Bootstrap - SB Admin 2 Bootstrap Admin Theme (http://startbootstrap.com) + * Code licensed under the Apache License v2.0. + * For details, see http://www.apache.org/licenses/LICENSE-2.0. + */ + +body { + background-color: #f8f8f8; +} + +#wrapper { + width: 100%; +} + +#page-wrapper { + padding: 0 15px; + min-height: 568px; + background-color: #fff; +} + +@media(min-width:768px) { + #page-wrapper { + position: inherit; + margin: 0 0 0 250px; + padding: 0 30px; + border-left: 1px solid #e7e7e7; + } +} + +.navbar-top-links { + margin-right: 0; +} + +.navbar-top-links li { + display: inline-block; +} + +.navbar-top-links li:last-child { + margin-right: 15px; +} + +.navbar-top-links li a { + padding: 15px; + min-height: 50px; +} + +.navbar-top-links .dropdown-menu li { + display: block; +} + +.navbar-top-links .dropdown-menu li:last-child { + margin-right: 0; +} + +.navbar-top-links .dropdown-menu li a { + padding: 3px 20px; + min-height: 0; +} + +.navbar-top-links .dropdown-menu li a div { + white-space: normal; +} + +.navbar-top-links .dropdown-messages, +.navbar-top-links .dropdown-tasks, +.navbar-top-links .dropdown-alerts { + width: 310px; + min-width: 0; +} + +.navbar-top-links .dropdown-messages { + margin-left: 5px; +} + +.navbar-top-links .dropdown-tasks { + margin-left: -59px; +} + +.navbar-top-links .dropdown-alerts { + margin-left: -123px; +} + +.navbar-top-links .dropdown-user { + right: 0; + left: auto; +} + +.sidebar .sidebar-nav.navbar-collapse { + padding-right: 0; + padding-left: 0; +} + +.sidebar .sidebar-search { + padding: 15px; +} + +.sidebar ul li { + border-bottom: 1px solid #e7e7e7; +} + +.sidebar ul li a.active { + background-color: #eee; +} + +.sidebar .arrow { + float: right; +} + +.sidebar .fa.arrow:before { + content: "\f104"; +} + +.sidebar .active>a>.fa.arrow:before { + content: "\f107"; +} + +.sidebar .nav-second-level li, +.sidebar .nav-third-level li { + border-bottom: 0!important; +} + +.sidebar .nav-second-level li a { + padding-left: 37px; +} + +.sidebar .nav-third-level li a { + padding-left: 52px; +} + +@media(min-width:768px) { + .sidebar { + z-index: 1; + position: absolute; + width: 250px; + margin-top: 51px; + } + + .navbar-top-links .dropdown-messages, + .navbar-top-links .dropdown-tasks, + .navbar-top-links .dropdown-alerts { + margin-left: auto; + } +} + +.btn-outline { + color: inherit; + background-color: transparent; + transition: all .5s; +} + +.btn-primary.btn-outline { + color: #428bca; +} + +.btn-success.btn-outline { + color: #5cb85c; +} + +.btn-info.btn-outline { + color: #5bc0de; +} + +.btn-warning.btn-outline { + color: #f0ad4e; +} + +.btn-danger.btn-outline { + color: #d9534f; +} + +.btn-primary.btn-outline:hover, +.btn-success.btn-outline:hover, +.btn-info.btn-outline:hover, +.btn-warning.btn-outline:hover, +.btn-danger.btn-outline:hover { + color: #fff; +} + +.chat { + margin: 0; + padding: 0; + list-style: none; +} + +.chat li { + margin-bottom: 10px; + padding-bottom: 5px; + border-bottom: 1px dotted #999; +} + +.chat li.left .chat-body { + margin-left: 60px; +} + +.chat li.right .chat-body { + margin-right: 60px; +} + +.chat li .chat-body p { + margin: 0; +} + +.panel .slidedown .glyphicon, +.chat .glyphicon { + margin-right: 5px; +} + +.chat-panel .panel-body { + height: 350px; + overflow-y: scroll; +} + +.login-panel { + margin-top: 25%; +} + +.flot-chart { + display: block; + height: 400px; +} + +.flot-chart-content { + width: 100%; + height: 100%; +} + +.dataTables_wrapper { + position: relative; + clear: both; +} + +table.dataTable thead .sorting, +table.dataTable thead .sorting_asc, +table.dataTable thead .sorting_desc, +table.dataTable thead .sorting_asc_disabled, +table.dataTable thead .sorting_desc_disabled { + background: 0 0; +} + +table.dataTable thead .sorting_asc:after { + content: "\f0de"; + float: right; + font-family: fontawesome; +} + +table.dataTable thead .sorting_desc:after { + content: "\f0dd"; + float: right; + font-family: fontawesome; +} + +table.dataTable thead .sorting:after { + content: "\f0dc"; + float: right; + font-family: fontawesome; + color: rgba(50,50,50,.5); +} + +.btn-circle { + width: 30px; + height: 30px; + padding: 6px 0; + border-radius: 15px; + text-align: center; + font-size: 12px; + line-height: 1.428571429; +} + +.btn-circle.btn-lg { + width: 50px; + height: 50px; + padding: 10px 16px; + border-radius: 25px; + font-size: 18px; + line-height: 1.33; +} + +.btn-circle.btn-xl { + width: 70px; + height: 70px; + padding: 10px 16px; + border-radius: 35px; + font-size: 24px; + line-height: 1.33; +} + +.show-grid [class^=col-] { + padding-top: 10px; + padding-bottom: 10px; + border: 1px solid #ddd; + background-color: #eee!important; +} + +.show-grid { + margin: 15px 0; +} + +.huge { + font-size: 40px; +} + +.panel-green { + border-color: #5cb85c; +} + +.panel-green .panel-heading { + border-color: #5cb85c; + color: #fff; + background-color: #5cb85c; +} + +.panel-green a { + color: #5cb85c; +} + +.panel-green a:hover { + color: #3d8b3d; +} + +.panel-red { + border-color: #d9534f; +} + +.panel-red .panel-heading { + border-color: #d9534f; + color: #fff; + background-color: #d9534f; +} + +.panel-red a { + color: #d9534f; +} + +.panel-red a:hover { + color: #b52b27; +} + +.panel-yellow { + border-color: #f0ad4e; +} + +.panel-yellow .panel-heading { + border-color: #f0ad4e; + color: #fff; + background-color: #f0ad4e; +} + +.panel-yellow a { + color: #f0ad4e; +} + +.panel-yellow a:hover { + color: #df8a13; +} \ No newline at end of file diff --git a/src/demo/manager/src/main/webapp/assets/css/star-rating.css b/src/demo/manager/src/main/webapp/assets/css/star-rating.css new file mode 100644 index 00000000..d02fdb92 --- /dev/null +++ b/src/demo/manager/src/main/webapp/assets/css/star-rating.css @@ -0,0 +1,170 @@ +/*! + * @copyright © Kartik Visweswaran, Krajee.com, 2014 + * @version 2.5.0 + * + * A simple yet powerful JQuery star rating plugin that allows rendering + * fractional star ratings and supports Right to Left (RTL) input. + * + * For more JQuery/Bootstrap plugins and demos visit http://plugins.krajee.com + * For more Yii related demos visit http://demos.krajee.com + */ + +/* + * Stars + */ +.rating-gly { + font-family: 'Glyphicons Halflings'; +} +.rating-gly-star { + font-family: 'Glyphicons Halflings'; + padding-left: 2px; +} + +.rating-gly-star .rating-stars:before { + padding-left: 2px; +} + +.rating-lg .rating-gly-star, .rating-lg .rating-gly-star .rating-stars:before { + padding-left: 4px; +} + +.rating-xl .rating-gly-star, .rating-xl .rating-gly-star .rating-stars:before { + padding-left: 2px; +} + +.rating-active { + cursor: default; +} + +.rating-disabled { + cursor: not-allowed; +} + +.rating-uni { + font-size: 1.2em; + margin-top: -5px; +} + +.rating-container { + position: relative; + vertical-align: middle; + display: inline-block; + color: #e3e3e3; + overflow: hidden; +} + +.rating-container:before { + content: attr(data-content); +} + +.rating-container .rating-stars { + position: absolute; + left: 0; + top: 0; + white-space: nowrap; + overflow: hidden; + color: #fde16d; + transition: all 0.25s ease-out; + -o-transition: all 0.25s ease-out; + -moz-transition: all 0.25s ease-out; + -webkit-transition: all 0.25s ease-out; +} + +.rating-container .rating-stars:before { + content: attr(data-content); + text-shadow: 0 0 1px rgba(0, 0, 0, 0.7); +} + +.rating-container-rtl { + position: relative; + vertical-align: middle; + display: inline-block; + overflow: hidden; + color: #fde16d; +} + +.rating-container-rtl:before { + content: attr(data-content); + text-shadow: 0 0 1px rgba(0, 0, 0, 0.7); +} + +.rating-container-rtl .rating-stars { + position: absolute; + left: 0; + top: 0; + white-space: nowrap; + overflow: hidden; + color: #e3e3e3; + transition: all 0.25s ease-out; + -o-transition: all 0.25s ease-out; + -moz-transition: all 0.25s ease-out; + -webkit-transition: all 0.25s ease-out; +} + +.rating-container-rtl .rating-stars:before { + content: attr(data-content); +} + +/** + * Rating sizes + */ +.rating-xl { + font-size: 4.89em; +} + +.rating-lg { + font-size: 3.91em; +} + +.rating-md { + font-size: 3.13em; +} + +.rating-sm { + font-size: 2.5em; +} + +.rating-xs { + font-size: 2em; +} + +/** + * Clear rating button + */ +.star-rating .clear-rating, .star-rating-rtl .clear-rating { + color: #aaa; + cursor: not-allowed; + display: inline-block; + vertical-align: middle; + font-size: 60%; +} + +.clear-rating-active { + cursor: pointer !important; +} + +.clear-rating-active:hover { + color: #843534; +} + +.star-rating .clear-rating { + padding-right: 5px; +} + +/** + * Caption + */ +.star-rating .caption, .star-rating-rtl .caption { + color: #999; + display: inline-block; + vertical-align: middle; + font-size: 55%; +} + +.star-rating .caption { + padding-left: 5px; +} + +.star-rating-rtl .caption { + padding-right: 5px; +} diff --git a/src/demo/manager/src/main/webapp/assets/css/star-rating.min.css b/src/demo/manager/src/main/webapp/assets/css/star-rating.min.css new file mode 100644 index 00000000..8676e08c --- /dev/null +++ b/src/demo/manager/src/main/webapp/assets/css/star-rating.min.css @@ -0,0 +1,10 @@ +/*! + * @copyright © Kartik Visweswaran, Krajee.com, 2014 + * @version 2.5.0 + * + * A simple yet powerful JQuery star rating plugin that allows rendering + * fractional star ratings and supports Right to Left (RTL) input. + * + * For more JQuery/Bootstrap plugins and demos visit http://plugins.krajee.com + * For more Yii related demos visit http://demos.krajee.com + */.rating-gly{font-family:'Glyphicons Halflings'}.rating-gly-star{font-family:'Glyphicons Halflings';padding-left:2px}.rating-gly-star .rating-stars:before{padding-left:2px}.rating-lg .rating-gly-star,.rating-lg .rating-gly-star .rating-stars:before{padding-left:4px}.rating-xl .rating-gly-star,.rating-xl .rating-gly-star .rating-stars:before{padding-left:2px}.rating-active{cursor:default}.rating-disabled{cursor:not-allowed}.rating-uni{font-size:1.2em;margin-top:-5px}.rating-container{position:relative;vertical-align:middle;display:inline-block;color:#e3e3e3;overflow:hidden}.rating-container:before{content:attr(data-content)}.rating-container .rating-stars{position:absolute;left:0;top:0;white-space:nowrap;overflow:hidden;color:#fde16d;transition:all .25s ease-out;-o-transition:all .25s ease-out;-moz-transition:all .25s ease-out;-webkit-transition:all .25s ease-out}.rating-container .rating-stars:before{content:attr(data-content);text-shadow:0 0 1px rgba(0,0,0,.7)}.rating-container-rtl{position:relative;vertical-align:middle;display:inline-block;overflow:hidden;color:#fde16d}.rating-container-rtl:before{content:attr(data-content);text-shadow:0 0 1px rgba(0,0,0,.7)}.rating-container-rtl .rating-stars{position:absolute;left:0;top:0;white-space:nowrap;overflow:hidden;color:#e3e3e3;transition:all .25s ease-out;-o-transition:all .25s ease-out;-moz-transition:all .25s ease-out;-webkit-transition:all .25s ease-out}.rating-container-rtl .rating-stars:before{content:attr(data-content)}.rating-xl{font-size:4.89em}.rating-lg{font-size:3.91em}.rating-md{font-size:3.13em}.rating-sm{font-size:2.5em}.rating-xs{font-size:2em}.star-rating .clear-rating,.star-rating-rtl .clear-rating{color:#aaa;cursor:not-allowed;display:inline-block;vertical-align:middle;font-size:60%}.clear-rating-active{cursor:pointer!important}.clear-rating-active:hover{color:#843534}.star-rating .clear-rating{padding-right:5px}.star-rating .caption,.star-rating-rtl .caption{color:#999;display:inline-block;vertical-align:middle;font-size:55%}.star-rating .caption{padding-left:5px}.star-rating-rtl .caption{padding-right:5px} diff --git a/src/demo/manager/src/main/webapp/assets/css/style-login.css b/src/demo/manager/src/main/webapp/assets/css/style-login.css new file mode 100644 index 00000000..a9e35f49 --- /dev/null +++ b/src/demo/manager/src/main/webapp/assets/css/style-login.css @@ -0,0 +1,127 @@ +.form-bg{ + background: #00b4ef; +} +.form-horizontal{ + background: #fff; + padding-bottom: 40px; + border-radius: 15px; + text-align: center; +} +.form-horizontal .heading{ + display: block; + font-size: 35px; + font-weight: 700; + padding: 35px 0; + border-bottom: 1px solid #f0f0f0; + margin-bottom: 30px; +} +.form-horizontal .form-group{ + padding: 0 40px; + margin: 0 0 25px 0; + position: relative; +} +.form-horizontal .form-control{ + background: #f0f0f0; + border: none; + border-radius: 20px; + box-shadow: none; + padding: 0 20px 0 45px; + height: 40px; + transition: all 0.3s ease 0s; +} +.form-horizontal .form-control:focus{ + background: #e0e0e0; + box-shadow: none; + outline: 0 none; +} +.form-horizontal .form-group i{ + position: absolute; + top: 12px; + left: 60px; + font-size: 17px; + color: #c8c8c8; + transition : all 0.5s ease 0s; +} +.form-horizontal .form-control:focus + i{ + color: #00b4ef; +} +.form-horizontal .fa-question-circle{ + display: inline-block; + position: absolute; + top: 12px; + right: 60px; + font-size: 20px; + color: #808080; + transition: all 0.5s ease 0s; +} +.form-horizontal .fa-question-circle:hover{ + color: #000; +} +.form-horizontal .main-checkbox{ + float: left; + width: 20px; + height: 20px; + background: #11a3fc; + border-radius: 50%; + position: relative; + margin: 5px 0 0 5px; + border: 1px solid #11a3fc; +} +.form-horizontal .main-checkbox label{ + width: 20px; + height: 20px; + position: absolute; + top: 0; + left: 0; + cursor: pointer; +} +.form-horizontal .main-checkbox label:after{ + content: ""; + width: 10px; + height: 5px; + position: absolute; + top: 5px; + left: 4px; + border: 3px solid #fff; + border-top: none; + border-right: none; + background: transparent; + opacity: 0; + -webkit-transform: rotate(-45deg); + transform: rotate(-45deg); +} +.form-horizontal .main-checkbox input[type=checkbox]{ + visibility: hidden; +} +.form-horizontal .main-checkbox input[type=checkbox]:checked + label:after{ + opacity: 1; +} +.form-horizontal .text{ + float: left; + margin-left: 7px; + line-height: 20px; + padding-top: 5px; + text-transform: capitalize; +} +.form-horizontal .btn{ + float: right; + font-size: 14px; + color: #fff; + background: #00b4ef; + border-radius: 30px; + padding: 10px 25px; + border: none; + text-transform: capitalize; + transition: all 0.5s ease 0s; +} +@media only screen and (max-width: 479px){ + .form-horizontal .form-group{ + padding: 0 25px; + } + .form-horizontal .form-group i{ + left: 45px; + } + .form-horizontal .btn{ + padding: 10px 20px; + } +} \ No newline at end of file diff --git a/src/demo/manager/src/main/webapp/assets/css/style-responsive.css b/src/demo/manager/src/main/webapp/assets/css/style-responsive.css new file mode 100644 index 00000000..f5993453 --- /dev/null +++ b/src/demo/manager/src/main/webapp/assets/css/style-responsive.css @@ -0,0 +1,295 @@ +@media (min-width: 980px) { + /*-----*/ + .custom-bar-chart { + margin-bottom: 40px; + } + +} + +@media (min-width: 768px) and (max-width: 979px) { + + /*-----*/ + .custom-bar-chart { + margin-bottom: 40px; + } + + /*chat room*/ + + +} + +@media (max-width: 768px) { + + .header { + position: absolute; + } + + /*sidebar*/ + + #sidebar { + height: auto; + overflow: hidden; + position: absolute; + width: 100%; + z-index: 1001; + } + + + /* body container */ + #main-content { + margin: 0px!important; + position: none !important; + } + + #sidebar > ul > li > a > span { + line-height: 35px; + } + + #sidebar > ul > li { + margin: 0 10px 5px 10px; + } + #sidebar > ul > li > a { + height:35px; + line-height:35px; + padding: 0 10px; + text-align: left; + } + #sidebar > ul > li > a i{ + /*display: none !important;*/ + } + + #sidebar ul > li > a .arrow, #sidebar > ul > li > a .arrow.open { + margin-right: 10px; + margin-top: 15px; + } + + #sidebar ul > li.active > a .arrow, #sidebar ul > li > a:hover .arrow, #sidebar ul > li > a:focus .arrow, + #sidebar > ul > li.active > a .arrow.open, #sidebar > ul > li > a:hover .arrow.open, #sidebar > ul > li > a:focus .arrow.open{ + margin-top: 15px; + } + + #sidebar > ul > li > a, #sidebar > ul > li > ul.sub > li { + width: 100%; + } + #sidebar > ul > li > ul.sub > li > a { + background: transparent !important ; + } + #sidebar > ul > li > ul.sub > li > a:hover { + + } + + + /* sidebar */ + #sidebar { + margin: 0px !important; + } + + /* sidebar collabler */ + #sidebar .btn-navbar.collapsed .arrow { + display: none; + } + + #sidebar .btn-navbar .arrow { + position: absolute; + right: 35px; + width: 0; + height: 0; + top:48px; + border-bottom: 15px solid #282e36; + border-left: 15px solid transparent; + border-right: 15px solid transparent; + } + + + /*---------*/ + + .modal-footer .btn { + margin-bottom: 0px !important; + } + + .btn { + margin-bottom: 5px; + } + + + /* full calendar fix */ + .fc-header-right { + left:25px; + position: absolute; + } + + .fc-header-left .fc-button { + margin: 0px !important; + top: -10px !important; + } + + .fc-header-right .fc-button { + margin: 0px !important; + top: -50px !important; + } + + .fc-state-active, .fc-state-active .fc-button-inner, .fc-state-hover, .fc-state-hover .fc-button-inner { + background: none !important; + color: #FFFFFF !important; + } + + .fc-state-default, .fc-state-default .fc-button-inner { + background: none !important; + } + + .fc-button { + border: none !important; + margin-right: 2px; + } + + .fc-view { + top: 0px !important; + } + + .fc-button .fc-button-inner { + margin: 0px !important; + padding: 2px !important; + border: none !important; + margin-right: 2px !important; + background-color: #fafafa !important; + background-image: -moz-linear-gradient(top, #fafafa, #efefef) !important; + background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#fafafa), to(#efefef)) !important; + background-image: -webkit-linear-gradient(top, #fafafa, #efefef) !important; + background-image: -o-linear-gradient(top, #fafafa, #efefef) !important; + background-image: linear-gradient(to bottom, #fafafa, #efefef) !important; + filter: progid:dximagetransform.microsoft.gradient(startColorstr='#fafafa', endColorstr='#efefef', GradientType=0) !important; + -webkit-box-shadow: 0 1px 0px rgba(255, 255, 255, .8) !important; + -moz-box-shadow: 0 1px 0px rgba(255, 255, 255, .8) !important; + box-shadow: 0 1px 0px rgba(255, 255, 255, .8) !important; + -webkit-border-radius: 3px !important; + -moz-border-radius: 3px !important; + border-radius: 3px !important; + color: #646464 !important; + border: 1px solid #ddd !important; + text-shadow: 0 1px 0px rgba(255, 255, 255, .6) !important; + text-align: center; + } + + .fc-button.fc-state-disabled .fc-button-inner { + color: #bcbbbb !important; + } + + .fc-button.fc-state-active .fc-button-inner { + background-color: #e5e4e4 !important; + background-image: -moz-linear-gradient(top, #e5e4e4, #dddcdc) !important; + background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#e5e4e4), to(#dddcdc)) !important; + background-image: -webkit-linear-gradient(top, #e5e4e4, #dddcdc) !important; + background-image: -o-linear-gradient(top, #e5e4e4, #dddcdc) !important; + background-image: linear-gradient(to bottom, #e5e4e4, #dddcdc) !important; + filter: progid:dximagetransform.microsoft.gradient(startColorstr='#e5e4e4', endColorstr='#dddcdc', GradientType=0) !important; + } + + .fc-content { + margin-top: 50px; + } + + .fc-header-title h2 { + line-height: 40px !important; + font-size: 12px !important; + } + + .fc-header { + margin-bottom:0px !important; + } + + /*--*/ + + /*.chart-position {*/ + /*margin-top: 0px;*/ + /*}*/ + + .stepy-titles li { + margin: 10px 3px; + } + + /*-----*/ + .custom-bar-chart { + margin-bottom: 40px; + } + + /*menu icon plus minus*/ + .dcjq-icon { + top: 10px; + } + ul.sidebar-menu li ul.sub li a { + padding: 0; + } + + /*---*/ + + .img-responsive { + width: 100%; + } + +} + + + +@media (max-width: 480px) { + + .notify-row, .search, .dont-show , .inbox-head .sr-input, .inbox-head .sr-btn{ + display: none; + } + + #top_menu .nav > li, ul.top-menu > li { + float: right; + } + .hidden-phone { + display: none !important; + } + + .chart-position { + margin-top: 0px; + } + + .navbar-inverse .navbar-toggle:hover, .navbar-inverse .navbar-toggle:focus { + background-color: #ccc; + border-color:#ccc ; + } + +} + +@media (max-width:320px) { + .login-social-link a { + padding: 15px 17px !important; + } + + .notify-row, .search, .dont-show, .inbox-head .sr-input, .inbox-head .sr-btn { + display: none; + } + + #top_menu .nav > li, ul.top-menu > li { + float: right; + } + + .hidden-phone { + display: none !important; + } + + .chart-position { + margin-top: 0px; + } + + .lock-wrapper { + margin: 10% auto; + max-width: 310px; + } + .lock-input { + width: 82%; + } + + .cmt-form { + display: inline-block; + width: 75%; + } + +} + + + + diff --git a/src/demo/manager/src/main/webapp/assets/css/style.css b/src/demo/manager/src/main/webapp/assets/css/style.css new file mode 100644 index 00000000..339c6657 --- /dev/null +++ b/src/demo/manager/src/main/webapp/assets/css/style.css @@ -0,0 +1,2414 @@ +/* +Template Name: DASHGUM FREE - Bootstrap 3.2 Admin Theme +Template Version: 1.0 +Author: Carlos Alvarez +Website: http://blacktie.co +Premium: http://www.gridgum.com +*/ +/* Import fonts */ +/* latin-ext */ +@font-face { + font-family: 'Ruda'; + font-style: normal; + font-weight: 400; + src: local('Ruda'), url(http://fonts.gstatic.com/s/ruda/v7/1sL847GoOH8xYu1qOqsKrw.woff2) format('woff2'); + unicode-range: U+0100-024F, U+1E00-1EFF, U+20A0-20AB, U+20AD-20CF, U+2C60-2C7F, U+A720-A7FF; +} + +/* latin */ +@font-face { + font-family: 'Ruda'; + font-style: normal; + font-weight: 400; + src: local('Ruda'), url(http://fonts.gstatic.com/s/ruda/v7/T9zdIB5JGDJjRO8KNoV_pA.woff2) format('woff2'); + unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2212, U+2215, U+E0FF, U+EFFD, U+F000; +} + +/* latin-ext */ +@font-face { + font-family: 'Ruda'; + font-style: normal; + font-weight: 700; + src: local('Ruda Bold'), local('Ruda-Bold'), url(http://fonts.gstatic.com/s/ruda/v7/Cq8KyqhCX-f1J9BsOyq_FvY6323mHUZFJMgTvxaG2iE.woff2) format('woff2'); + unicode-range: U+0100-024F, U+1E00-1EFF, U+20A0-20AB, U+20AD-20CF, U+2C60-2C7F, U+A720-A7FF; +} + +/* latin */ +@font-face { + font-family: 'Ruda'; + font-style: normal; + font-weight: 700; + src: local('Ruda Bold'), local('Ruda-Bold'), url(http://fonts.gstatic.com/s/ruda/v7/ioyuq9I92dSCu7pGUbx7zA.woff2) format('woff2'); + unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2212, U+2215, U+E0FF, U+EFFD, U+F000; +} + +/* latin-ext */ +@font-face { + font-family: 'Ruda'; + font-style: normal; + font-weight: 900; + src: local('Ruda Black'), local('Ruda-Black'), url(http://fonts.gstatic.com/s/ruda/v7/AV-eDyU_-j5hBe_Ff6xI1_Y6323mHUZFJMgTvxaG2iE.woff2) format('woff2'); + unicode-range: U+0100-024F, U+1E00-1EFF, U+20A0-20AB, U+20AD-20CF, U+2C60-2C7F, U+A720-A7FF; +} + +/* latin */ +@font-face { + font-family: 'Ruda'; + font-style: normal; + font-weight: 900; + src: local('Ruda Black'), local('Ruda-Black'), url(http://fonts.gstatic.com/s/ruda/v7/9WoKvbp3ZUwn9qM5AIuMOg.woff2) format('woff2'); + unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2212, U+2215, U+E0FF, U+EFFD, U+F000; +} + +/* BASIC THEME CONFIGURATION */ +body { + color: #797979; + background: #f2f2f2; + padding: 0px !important; + margin: 0px !important; + font-size: 13px; +} + +ul li { + list-style: none; +} + +a, a:hover, a:focus { + text-decoration: none; + outline: none; +} + +::selection { + + background: #68dff0; + color: #fff; +} + +::-moz-selection { + background: #68dff0; + color: #fff; +} + +#container { + width: 100%; + height: 100%; +} + +/* Bootstrap Modifications */ +.modal-header { + background: #68dff0; +} + +.modal-title { + color: white; +} + +.btn-round { + border-radius: 20px; + -webkit-border-radius: 20px; +} + +.accordion-heading .accordion-toggle { + display: block; + cursor: pointer; + border-top: 1px solid #F5F5F5; + padding: 5px 0px; + line-height: 28.75px; + text-transform: uppercase; + color: #1a1a1a; + background-color: #ffffff; + outline: none !important; + text-decoration: none; +} + +/*Theme Backgrounds*/ + +.bg-theme { + background-color: #68dff0; +} + +.bg-theme02 { + background-color: #ac92ec; +} + +.bg-theme03 { + background-color: #48cfad; +} + +.bg-theme04 { + background-color: #ed5565; +} + +/*Theme Buttons*/ + +.btn-theme { + color: #fff; + background-color: #68dff0; + border-color: #48bcb4; +} + +.btn-theme:hover, +.btn-theme:focus, +.btn-theme:active, +.btn-theme.active, +.open .dropdown-toggle.btn-theme { + color: #fff; + background-color: #48bcb4; + border-color: #48bcb4; +} + +.btn-theme02 { + color: #fff; + background-color: #ac92ec; + border-color: #967adc; +} + +.btn-theme02:hover, +.btn-theme02:focus, +.btn-theme02:active, +.btn-theme02.active, +.open .dropdown-toggle.btn-theme02 { + color: #fff; + background-color: #967adc; + border-color: #967adc; +} + +.btn-theme03 { + color: #fff; + background-color: #48cfad; + border-color: #37bc9b; +} + +.btn-theme03:hover, +.btn-theme03:focus, +.btn-theme03:active, +.btn-theme03.active, +.open .dropdown-toggle.btn-theme03 { + color: #fff; + background-color: #37bc9b; + border-color: #37bc9b; +} + +.btn-theme04 { + color: #fff; + background-color: #ed5565; + border-color: #da4453; +} + +.btn-theme04:hover, +.btn-theme04:focus, +.btn-theme04:active, +.btn-theme04.active, +.open .dropdown-toggle.btn-theme04 { + color: #fff; + background-color: #da4453; + border-color: #da4453; +} + +.btn-clear-g { + color: #48bcb4; + background: transparent; + border-color: #48bcb4; +} + +.btn-clear-g:hover { + color: white; +} + +hr { + margin-top: 20px; + margin-bottom: 20px; + border: 0; + border-top: 1px solid #797979; +} + +/*Helpers*/ + +.centered { + text-align: center; +} + +.goleft { + text-align: left; +} + +.goright { + text-align: right; +} + +.mt { + margin-top: 25px; +} + +.mb { + margin-bottom: 25px; +} + +.ml { + margin-left: 5px; +} + +.no-padding { + padding: 0 !important; +} + +.no-margin { + margin: 0 !important; +} + +/*Exclusive Theme Colors Configuration*/ + +.label-theme { + background-color: #68dff0; +} + +.bg-theme { + background-color: #68dff0; +} + +ul.top-menu > li > .logout { + color: #f2f2f2; + font-size: 12px; + border-radius: 4px; + -webkit-border-radius: 4px; + border: 1px solid #64c3c2 !important; + padding: 5px 15px; + margin-right: 15px; + background: #68dff0; + margin-top: 15px; +} + +/*sidebar navigation*/ + +#sidebar { + width: 210px; + height: 100%; + position: fixed; + background: #424a5d; +} + +#sidebar h5 { + color: #f2f2f2; + font-weight: 700; +} + +#sidebar ul li { + position: relative; +} + +#sidebar .sub-menu > .sub li { + padding-left: 32px; +} + +#sidebar .sub-menu > .sub li:last-child { + padding-bottom: 10px; +} + +/*LEFT NAVIGATION ICON*/ +.dcjq-icon { + height: 17px; + width: 17px; + display: inline-block; + border-radius: 3px; + -moz-border-radius: 3px; + -webkit-border-radius: 3px; + position: absolute; + right: 10px; + top: 15px; +} + +.active .dcjq-icon { + border-radius: 3px; + -moz-border-radius: 3px; + -webkit-border-radius: 3px; +} + +/*---*/ + +.nav-collapse.collapse { + display: inline; +} + +ul.sidebar-menu, ul.sidebar-menu li ul.sub { + margin: -2px 0 0; + padding: 0; +} + +ul.sidebar-menu { + margin-top: 75px; +} + +#sidebar > ul > li > ul.sub { + display: none; +} + +#sidebar > ul > li.active > ul.sub, #sidebar > ul > li > ul.sub > li > a { + display: block; +} + +ul.sidebar-menu li ul.sub li { + background: #424a5d; + margin-bottom: 0; + margin-left: 0; + margin-right: 0; +} + +ul.sidebar-menu li ul.sub li:last-child { + border-radius: 0 0 4px 4px; + -webkit-border-radius: 0 0 4px 4px; +} + +ul.sidebar-menu li ul.sub li a { + font-size: 12px; + padding: 6px 0; + line-height: 35px; + height: 35px; + -webkit-transition: all 0.3s ease; + -moz-transition: all 0.3s ease; + -o-transition: all 0.3s ease; + -ms-transition: all 0.3s ease; + transition: all 0.3s ease; + color: #aeb2b7; +} + +ul.sidebar-menu li ul.sub li a:hover { + color: white; + background: transparent; +} + +ul.sidebar-menu li ul.sub li.active a { + color: #68dff0; + -webkit-transition: all 0.3s ease; + -moz-transition: all 0.3s ease; + -o-transition: all 0.3s ease; + -ms-transition: all 0.3s ease; + transition: all 0.3s ease; + display: block; +} + +ul.sidebar-menu li { + /*line-height: 20px !important;*/ + margin-bottom: 5px; + margin-left: 10px; + margin-right: 10px; +} + +ul.sidebar-menu li.sub-menu { + line-height: 15px; +} + +ul.sidebar-menu li a span { + display: inline-block; +} + +ul.sidebar-menu li a { + color: #aeb2b7; + text-decoration: none; + display: block; + padding: 15px 0 15px 10px; + font-size: 12px; + outline: none; + -webkit-transition: all 0.3s ease; + -moz-transition: all 0.3s ease; + -o-transition: all 0.3s ease; + -ms-transition: all 0.3s ease; + transition: all 0.3s ease; +} + +ul.sidebar-menu li a.active, ul.sidebar-menu li a:hover, ul.sidebar-menu li a:focus { + background: #68dff0; + color: #fff; + display: block; + + -webkit-transition: all 0.3s ease; + -moz-transition: all 0.3s ease; + -o-transition: all 0.3s ease; + -ms-transition: all 0.3s ease; + transition: all 0.3s ease; +} + +ul.sidebar-menu li a i { + font-size: 15px; + padding-right: 6px; +} + +ul.sidebar-menu li a:hover i, ul.sidebar-menu li a:focus i { + color: #fff; +} + +ul.sidebar-menu li a.active i { + color: #fff; +} + +.mail-info, .mail-info:hover { + margin: -3px 6px 0 0; + font-size: 11px; +} + +/* MAIN CONTENT CONFIGURATION */ +#main-content { + margin-left: 210px; +} + +.header, .footer { + min-height: 60px; + padding: 0 15px; +} + +.header { + position: fixed; + left: 0; + right: 0; + z-index: 1002; +} + +.black-bg { + background: #FFFFFF; + border-bottom: 1px solid #FFFFFF; +} + +.wrapper { + display: inline-block; + margin-top: 60px; + padding-left: 15px; + padding-right: 15px; + padding-bottom: 15px; + padding-top: 0px; + width: 100%; +} + +a.logo { + font-size: 20px; + color: #2e2e2e; + float: left; + margin-top: 15px; + text-transform: uppercase; +} + +a.logo b { + font-weight: 900; +} + +a.logo:hover, a.logo:focus { + text-decoration: none; + outline: none; +} + +a.logo span { + color: #68dff0; +} + +/*notification*/ +#top_menu .nav > li, ul.top-menu > li { + float: left; +} + +.notify-row { + float: right; + margin-top: 15px; + margin-left: 92px; +} + +.notify-row .notification span.label { + display: inline-block; + height: 18px; + width: 20px; + padding: 5px; +} + +ul.top-menu > li > a { + color: #666666; + font-size: 16px; + border-radius: 4px; + -webkit-border-radius: 4px; + border: 1px solid #666666 !important; + padding: 2px 6px; + margin-right: 15px; +} + +ul.top-menu > li > a:hover, ul.top-menu > li > a:focus { + border: 1px solid #b6b6b6 !important; + background-color: transparent !important; + border-color: #b6b6b6 !important; + text-decoration: none; + border-radius: 4px; + -webkit-border-radius: 4px; + color: #b6b6b6 !important; +} + +.notify-row .badge { + position: absolute; + right: -10px; + top: -10px; + z-index: 100; +} + +.dropdown-menu.extended { + max-width: 300px !important; + min-width: 20px !important; + top: 42px; + position: absolute !important; + left: auto; +!important; + right: 0px !important; + width: 235px !important; + padding: 0; + box-shadow: 0 2px 5px rgba(0, 0, 0, 0.176) !important; + border: none !important; + border-radius: 4px; + -webkit-border-radius: 4px; +} + +@media screen and (-webkit-min-device-pixel-ratio: 0) { + /* Safari and Chrome */ + .dropdown-menu.extended { + box-shadow: 0 2px 8px rgba(0, 0, 0, 0.176) !important; + } +} + +.dropdown-menu.extended li p { + background-color: #F1F2F7; + color: #666666; + margin: 0; + padding: 10px; + border-radius: 4px 4px 0px 0px; + -webkit-border-radius: 4px 4px 0px 0px; +} + +.dropdown-menu.extended li p.green { + background-color: #68dff0; + color: #fff; +} + +.dropdown-menu.extended li p.yellow { + background-color: #fcb322; + color: #fff; +} + +.dropdown-menu.extended li a { + border-bottom: 1px solid #EBEBEB !important; + font-size: 12px; + list-style: none; +} + +.dropdown-menu.extended li a { + padding: 15px 10px !important; + width: 100%; + display: inline-block; +} + +.dropdown-menu.extended li a:hover { + background-color: #F7F8F9 !important; + color: #2E2E2E; +} + +.dropdown-menu.tasks-bar .task-info .desc { + font-size: 13px; + font-weight: normal; +} + +.dropdown-menu.tasks-bar .task-info .percent { + display: inline-block; + float: right; + font-size: 13px; + font-weight: 600; + padding-left: 10px; + margin-top: -4px; +} + +.dropdown-menu.extended .progress { + margin-bottom: 0 !important; + height: 10px; +} + +.dropdown-menu.inbox li a .photo img { + border-radius: 2px 2px 2px 2px; + float: left; + height: 40px; + margin-right: 4px; + width: 40px; +} + +.dropdown-menu.inbox li a .subject { + display: block; +} + +.dropdown-menu.inbox li a .subject .from { + font-size: 12px; + font-weight: 600; +} + +.dropdown-menu.inbox li a .subject .time { + font-size: 11px; + font-style: italic; + font-weight: bold; + position: absolute; + right: 5px; +} + +.dropdown-menu.inbox li a .message { + display: block !important; + font-size: 11px; +} + +.top-nav { + margin-top: 7px; +} + +.top-nav ul.top-menu > li .dropdown-menu.logout { + width: 268px !important; + +} + +.top-nav li.dropdown .dropdown-menu { + float: right; + right: 0; + left: auto; +} + +.dropdown-menu.extended.logout > li { + float: left; + text-align: center; + width: 33.3%; +} + +.dropdown-menu.extended.logout > li:last-child { + float: left; + text-align: center; + width: 100%; + background: #a9d96c; + border-radius: 0 0 3px 3px; +} + +.dropdown-menu.extended.logout > li:last-child > a, .dropdown-menu.extended.logout > li:last-child > a:hover { + color: #fff; + border-bottom: none !important; + text-transform: uppercase; +} + +.dropdown-menu.extended.logout > li:last-child > a:hover > i { + color: #fff; +} + +.dropdown-menu.extended.logout > li > a { + color: #a4abbb; + border-bottom: none !important; +} + +.full-width .dropdown-menu.extended.logout > li > a:hover { + background: none !important; + color: #50c8ea !important; +} + +.dropdown-menu.extended.logout > li > a:hover { + background: none !important; +} + +.dropdown-menu.extended.logout > li > a:hover i { + color: #50c8ea; +} + +.dropdown-menu.extended.logout > li > a i { + font-size: 17px; +} + +.dropdown-menu.extended.logout > li > a > i { + display: block; +} + +.top-nav ul.top-menu > li > a { + border: 1px solid #eeeeee; + border-radius: 4px; + -webkit-border-radius: 4px; + padding: 6px; + background: none; + margin-right: 0; +} + +.top-nav ul.top-menu > li { + margin-left: 10px; +} + +.top-nav ul.top-menu > li > a:hover, .top-nav ul.top-menu > li > a:focus { + border: 1px solid #F1F2F7; + background: #F1F2F7; + +} + +.top-nav .dropdown-menu.extended.logout { + top: 50px; +} + +.top-nav .nav .caret { + border-bottom-color: #A4AABA; + border-top-color: #A4AABA; +} + +.top-nav ul.top-menu > li > a:hover .caret { + border-bottom-color: #000; + border-top-color: #000; +} + +.log-arrow-up { + width: 20px; + height: 11px; + position: absolute; + right: 20px; + top: -10px; +} + +/*----*/ + +.notify-arrow { + border-style: solid; + border-width: 0 9px 9px; + height: 0; + margin-top: 0; + opacity: 0; + position: absolute; + right: 20px; + top: -18px; + transition: all 0.25s ease 0s; + width: 0; + z-index: 10; + margin-top: 10px; + opacity: 1; +} + +.notify-arrow-yellow { + border-color: transparent transparent #FCB322; + border-bottom-color: #FCB322 !important; + border-top-color: #FCB322 !important; +} + +.notify-arrow-green { + border-color: transparent transparent #68dff0; + border-bottom-color: #68dff0 !important; + border-top-color: #68dff0 !important; +} + +/*--sidebar toggle---*/ + +.sidebar-toggle-box { + float: left; + padding-right: 15px; + margin-top: 20px; +} + +.sidebar-toggle-box .fa-bars { + cursor: pointer; + display: inline-block; + font-size: 20px; +} + +.sidebar-closed > #sidebar > ul { + display: none; +} + +.sidebar-closed #main-content { + margin-left: 0px; +} + +.sidebar-closed #sidebar { + margin-left: -180px; +} + +/* Dash Side */ + +.ds { + background: #ffffff; + padding-top: 20px; +} + +.ds h4 { + font-size: 14px; + font-weight: 700; +} + +.ds h3 { + color: #ffffff; + font-size: 16px; + padding: 0 10px; + line-height: 60px; + height: 60px; + margin: 0; + background: #ff865c; + text-align: center; +} + +.ds i { + font-size: 12px; + line-height: 16px; +} + +.ds .desc { + border-bottom: 1px solid #eaeaea; + display: inline-block; + padding: 15px 0; + width: 100%; +} + +.ds .desc:hover { + background: #f2f2f2; +} + +.ds .thumb { + width: 30px; + margin: 0 10px 0 20px; + display: block; + float: left; +} + +.ds .details { + width: 170px; + float: left; +} + +.ds > .desc p { + font-size: 11px; +} + +.ds a { + color: #68dff0; +} + +/* LINE ICONS CONFIGURATION */ + +.mtbox { + margin-top: 80px; + margin-bottom: 40px; +} + +.box1 { + padding: 15px; + text-align: center; + color: #989898; + border-bottom: 1px solid #989898; +} + +.box1 span { + font-size: 50px; + +} + +.box1 h3 { + text-align: center; +} + +.box0:hover .box1 { + border-bottom: 1px solid #ffffff; +} + +.box0 p { + text-align: center; + font-size: 12px; + color: #f2f2f2; +} + +.box0:hover p { + color: #ff865c; +} + +.box0:hover { + background: #ffffff; + box-shadow: 0 2px 1px rgba(0, 0, 0, 0.2); +} + +/* MAIN CHART CONFIGURATION */ +.main-chart { + padding-top: 20px; +} + +.mleft { +} + +.border-head h3 { + margin-top: 20px; + margin-bottom: 20px; + margin-left: 15px; + padding-bottom: 5px; + font-weight: normal; + font-size: 18px; + display: inline-block; + width: 100%; + font-weight: 700; + color: #989898; +} + +.custom-bar-chart { + height: 290px; + margin-top: 20px; + margin-left: 20px; + position: relative; + border-bottom: 1px solid #c9cdd7; +} + +.custom-bar-chart .bar { + height: 100%; + position: relative; + width: 6%; + margin: 0px 4%; + float: left; + text-align: center; + z-index: 10; +} + +.custom-bar-chart .bar .title { + position: absolute; + bottom: -30px; + width: 100%; + text-align: center; + font-size: 11px; +} + +.custom-bar-chart .bar .value { + position: absolute; + bottom: 0; + background: #ff865c; + color: #68dff0; + width: 100%; + -webkit-border-radius: 5px 5px 0 0; + -moz-border-radius: 5px 5px 0 0; + border-radius: 5px 5px 0 0; + -webkit-transition: all .3s ease; + -moz-transition: all .3s ease; + -ms-transition: all .3s ease; + -o-transition: all .3s ease; + transition: all .3s ease; +} + +.custom-bar-chart .bar .value:hover { + background: #2f2f2f; + color: #fff; +} + +.y-axis { + color: #555555; + position: absolute; + text-align: left; + width: 100%; + font-size: 11px; +} + +.y-axis li { + border-top: 1px dashed #dbdce0; + display: block; + height: 58px; + width: 100%; +} + +.y-axis li:last-child { + border-top: none; +} + +.y-axis li span { + display: block; + margin: -10px 0 0 -60px; + padding: 0 10px; + width: 40px; +} + +/*Donut Chart Main Page Conf*/ +.donut-main { + display: block; + text-align: center; +} + +.donut-main h4 { + font-weight: 700; + font-size: 16px; +} + +/* ************************************************************************************* +PANELS CONFIGURATIONS +*************************************************************************************** */ + +/*Panel Size*/ + +.pn { + height: 250px; + box-shadow: 0 2px 1px rgba(0, 0, 0, 0.2); +} + +.pn:hover { + box-shadow: 2px 3px 2px rgba(0, 0, 0, 0.3); + +} + +/*Grey Panel*/ + +.grey-panel { + text-align: center; + background: #dfdfe1; +} + +.grey-panel .grey-header { + background: #ccd1d9; + padding: 3px; + margin-bottom: 15px; +} + +.grey-panel h5 { + font-weight: 200; + margin-top: 10px; +} + +.grey-panel p { + margin-left: 5px; +} + +/* Specific Conf for Donut Charts*/ +.donut-chart p { + margin-top: 5px; + font-weight: 700; + margin-left: 15px; +} + +.donut-chart h2 { + font-weight: 900; + color: #FF6B6B; + font-size: 38px; +} + +/* Dark Blue*/ + +.darkblue-panel { + text-align: center; + background: #444c57; +} + +.darkblue-panel .darkblue-header { + background: transparent; + padding: 3px; + margin-bottom: 15px; +} + +.darkblue-panel h1 { + color: #f2f2f2; +} + +.darkblue-panel h5 { + font-weight: 200; + margin-top: 10px; + color: white; +} + +.darkblue-panel footer { + color: white; +} + +.darkblue-panel footer h5 { + margin-left: 10px; + margin-right: 10px; + font-weight: 700; +} + +/*Green Panel*/ +.green-panel { + text-align: center; + background: #68dff0; +} + +.green-panel .green-header { + background: #43b1a9; + padding: 3px; + margin-bottom: 15px; +} + +.green-panel h5 { + color: white; + font-weight: 200; + margin-top: 10px; +} + +.green-panel h3 { + color: white; + font-weight: 100; +} + +.green-panel p { + color: white; +} + +/*White Panel */ +.white-panel { + text-align: center; + background: #ffffff; + color: #ccd1d9; +} + +.white-panel p { + margin-top: 5px; + font-weight: 700; + margin-left: 15px; +} + +.white-panel .white-header { + background: #f4f4f4; + padding: 3px; + margin-bottom: 15px; + color: #c6c6c6; +} + +.white-panel .small { + font-size: 10px; + color: #ccd1d9; +} + +.white-panel i { + color: #68dff0; + padding-right: 4px; + font-size: 14px; +} + +/*STOCK CARD Panel*/ +.card { + background: white; + box-shadow: 0 2px 1px rgba(0, 0, 0, 0.2); + margin-bottom: 1em; + height: 250px; +} + +.stock .stock-chart { + background: #00c5de; +} + +.stock .stock-chart #chart { + height: 10.7em; + background: url(http://i.imgbox.com/abmuNQx2) center bottom no-repeat; +} + +.stock .current-price { + background: #1d2122; + padding: 10px; +} + +.stock .current-price .info abbr { + display: block; + color: #f8f8f8; + font-size: 1.5em; + font-weight: 600; + margin-top: 0.18em; +} + +.stock .current-price .changes { + text-align: right; +} + +.stock .changes .up { + color: #4fd98b +} + +.stock .current-price .changes .value { + font-size: 1.8em; + font-weight: 700; +} + +.stock .summary { + color: #2f2f2f; + display: block; + background: #f2f2f2; + padding: 10px; + text-align: center; +} + +.stock .summary strong { + font-weight: 900; + font-size: 14px; +} + +/*Content Panel*/ +.content-panel { + background: #ffffff; + box-shadow: 0px 3px 2px #aab2bd; + padding-top: 15px; + padding-bottom: 5px; +} + +.content-panel h4 { + margin-left: 10px; +} + +/*WEATHER PANELS*/ + +/* Weather 1 */ +.weather { + background: url(../img/weather.jpg) no-repeat center top; + text-align: center; + background-position: center center; +} + +.weather i { + color: white; + margin-top: 45px; +} + +.weather h2 { + color: white; + font-weight: 900; +} + +.weather h4 { + color: white; + font-weight: 900; + letter-spacing: 1px; +} + +/* Weather 2 */ +.weather-2 { + background: #e9f0f4; +} + +.weather-2 .weather-2-header { + background: #54bae6; + padding-top: 5px; + margin-bottom: 5px; +} + +.weather-2 .weather-2-header p { + color: white; + margin-left: 5px; + margin-right: 5px; +} + +.weather-2 .weather-2-header p small { + font-size: 10px; +} + +.weather-2 .data { + margin-right: 10px; + margin-left: 10px; + color: #272b34; +} + +.weather-2 .data h5 { + margin-top: 0px; + font-weight: lighter; +} + +.weather-2 .data h1 { + margin-top: 2px; +} + +/* Weather 3 */ +.weather-3 { + background: #ffcf00; +} + +.weather-3 i { + color: white; + margin-top: 30px; + font-size: 70px; +} + +.weather-3 h1 { + margin-top: 10px; + color: white; + font-weight: 900; +} + +.weather-3 .info { + background: #f2f2f2; +} + +.weather-3 .info i { + font-size: 15px; + color: #c2c2c2; + margin-bottom: 0px; + margin-top: 10px; +} + +.weather-3 .info h3 { + font-weight: 900; + margin-bottom: 0px; +} + +.weather-3 .info p { + margin-left: 10px; + margin-right: 10px; + margin-bottom: 16px; + color: #c2c2c2; + font-size: 15px; + font-weight: 700; +} + +/*Twitter Panel*/ +.twitter-panel { + background: #4fc1e9; + text-align: center; +} + +.twitter-panel i { + color: white; + margin-top: 40px; +} + +.twitter-panel p { + color: #f5f5f5; + margin: 10px; +} + +.twitter-panel .user { + color: white; + font-weight: 900; +} + +/* Instagram Panel*/ +.instagram-panel { + background: url(../img/instagram.jpg) no-repeat center top; + text-align: center; + background-position: center center; +} + +.instagram-panel i { + color: white; + margin-top: 35px; +} + +.instagram-panel p { + margin: 5px; + color: white; +} + +/* Product Panel */ +.product-panel { + background: #dadad2; + text-align: center; + padding-top: 50px; + height: 100%; +} + +/* Product Panel 2*/ +.product-panel-2 { + background: #dadad2; + text-align: center; +} + +.product-panel-2 .badge { + position: absolute; + top: 20px; + left: 35px; +} + +.badge-hot { + background: #ed5565; + width: 70px; + height: 70px; + line-height: 70px; + font-size: 18px; + color: #fff; + text-align: center; + border-radius: 100%; +} + +/* Soptify Panel */ +#spotify { + background: url(../img/lorde.jpg) no-repeat center top; + margin-top: -15px; + background-position: center center; + min-height: 220px; + width: 100%; + -webkit-background-size: 100%; + -moz-background-size: 100%; + -o-background-size: 100%; + background-size: 100%; + -webkit-background-size: cover; + -moz-background-size: cover; + -o-background-size: cover; + background-size: cover; +} + +#spotify .btn-clear-g { + top: 15%; + right: 10px; + position: absolute; + margin-top: 5px; +} + +#spotify .sp-title { + bottom: 15%; + left: 25px; + position: absolute; + color: #efefef; +} + +#spotify .sp-title h3 { + font-weight: 900; +} + +#spotify .play { + bottom: 18%; + right: 25px; + position: absolute; + color: #efefef; + font-size: 20px +} + +.followers { + margin-left: 5px; + margin-top: 5px; +} + +/* BLOG PANEL */ +#blog-bg { + background: url(../img/blog-bg.jpg) no-repeat center top; + margin-top: -15px; + background-position: center center; + min-height: 150px; + width: 100%; + -webkit-background-size: 100%; + -moz-background-size: 100%; + -o-background-size: 100%; + background-size: 100%; + -webkit-background-size: cover; + -moz-background-size: cover; + -o-background-size: cover; + background-size: cover; +} + +#blog-bg .badge { + position: absolute; + top: 20px; + left: 35px; +} + +.badge-popular { + background: #3498db; + width: 70px; + height: 70px; + line-height: 70px; + font-size: 13px; + color: #fff; + text-align: center; + border-radius: 100%; +} + +.blog-title { + background: rgba(0, 0, 0, 0.5); + bottom: 100px; + padding: 6px; + color: white; + font-weight: 700; + position: absolute; + display: block; + width: 120px; +} + +.blog-text { + margin-left: 8px; + margin-right: 8px; + margin-top: 15px; + font-size: 12px; +} + +/* Calendar Configuration */ +#calendar { + color: white; + padding: 0px !important; +} + +.calendar-month-header { + background: #43b1a9; +} + +/* TODO PANEL */ +.steps { + display: block; +} + +.steps input[type=checkbox] { + display: none; +} + +.steps input[type=submit] { + background: #f1783c; + border: none; + padding: 0px; + margin: 0 auto; + width: 100%; + height: 55px; + color: white; + text-transform: uppercase; + font-weight: 900; + font-size: 11px; + letter-spacing: 1px; + cursor: pointer; + transition: background 0.5s ease +} + +.steps input[type=submit]:hover { + background: #8fde9c; +} + +.steps label { + background: #393D40; + height: 65px; + line-height: 65px; + width: 100%; + display: block; + border-bottom: 1px solid #44494e; + color: #889199; + text-transform: uppercase; + font-weight: 900; + font-size: 11px; + letter-spacing: 1px; + text-indent: 52px; + cursor: pointer; + transition: all 0.7s ease; + margin: 0px; +} + +.steps label:before { + content: ""; + width: 12px; + height: 12px; + display: block; + position: absolute; + margin: 26px 0px 0px 18px; + border-radius: 100%; + transition: border 0.7s ease +} + +.steps label:hover { + background: #2B2E30; + color: #46b7e5 +} + +.steps label:hover:before { + border: 1px solid #46b7e5; +} + +#op1:checked ~ label[for=op1]:before, +#op2:checked ~ label[for=op2]:before, +#op3:checked ~ label[for=op3]:before { + border: 2px solid #96c93c; + background: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAHCAYAAAA1WQxeAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAGFJREFUeNpinHLMhgEHKADia0xQThIQs6JJ9gPxZhYQAcS6QHwDiI8hSYJAC0gBPxDLAvFcIJ6JJJkDxFNBVtgBcQ8Qa6BLghgwN4A4a9ElQYAFSj8C4mwg3o8sCQIAAQYA78QTYqnPZuEAAAAASUVORK5CYII=') no-repeat center center; +} + +/* PROFILE PANELS */ +/* Profile 01*/ +#profile-01 { + background: url(../img/profile-01.jpg) no-repeat center top; + margin-top: -15px; + background-position: center center; + min-height: 150px; + width: 100%; + -webkit-background-size: 100%; + -moz-background-size: 100%; + -o-background-size: 100%; + background-size: 100%; + -webkit-background-size: cover; + -moz-background-size: cover; + -o-background-size: cover; + background-size: cover; +} + +#profile-01 h3 { + color: white; + padding-top: 50px; + margin: 0px; + text-align: center; +} + +#profile-01 h6 { + color: white; + text-align: center; + margin-bottom: 0px; + font-weight: 900; +} + +.profile-01 { + background: #68dff0; + height: 50px; +} + +.profile-01:hover { + background: #2f2f2f; + -webkit-transition: background-color 0.6s; + -moz-transition: background-color 0.6s; + -o-transition: background-color 0.6s; + transition: background-color 0.6s; + cursor: pointer; +} + +.profile-01 p { + color: white; + padding-top: 15px; + font-weight: 400; + font-size: 15px; +} + +/* Profile 02*/ +#profile-02 { + background: url(../img/profile-02.jpg) no-repeat center top; + margin-top: -15px; + background-position: center center; + min-height: 200px; + width: 100%; + -webkit-background-size: 100%; + -moz-background-size: 100%; + -o-background-size: 100%; + background-size: 100%; + -webkit-background-size: cover; + -moz-background-size: cover; + -o-background-size: cover; + background-size: cover; +} + +#profile-02 .user { + padding-top: 40px; + text-align: center; +} + +#profile-02 h4 { + color: white; + margin: 0px; + padding-top: 8px; +} + +.pr2-social a { + color: #cdcdcd; +} + +.pr2-social a:hover { + color: #68dff0; +} + +.pr2-social i { + margin-top: 15px; + margin-right: 12px; + font-size: 20px; +} + +/*spark line*/ +.chart { + display: inline-block; + text-align: center; + width: 100%; +} + +.chart .heading { + text-align: left; +} + +.chart .heading span { + display: block; +} + +.panel.green-chart .chart-tittle { + font-size: 16px; + padding: 15px; + display: inline-block; + font-weight: normal; + background: #99c262; + width: 100%; + -webkit-border-radius: 0px 0px 4px 4px; + border-radius: 0px 0px 4px 4px; +} + +#barchart { + margin-bottom: -15px; + display: inline-block; +} + +.panel.green-chart .chart-tittle .value { + float: right; + color: #c0f080; +} + +.panel.green-chart { + background: #a9d96c; + color: #fff; +} + +.panel.terques-chart { + background: transparent; + color: #797979; +} + +.panel.terques-chart .chart-tittle .value { + float: right; + color: #fff; +} + +.panel.terques-chart .chart-tittle .value a { + color: #2f2f2f; + font-size: 12px; +} + +.panel.terques-chart .chart-tittle .value a:hover, .panel.terques-chart .chart-tittle .value a.active { + color: #68dff0; + font-size: 12px; +} + +.panel.terques-chart .chart-tittle { + font-size: 16px; + padding: 15px; + display: inline-block; + font-weight: normal; + background: #39b7ac; + width: 100%; + -webkit-border-radius: 0px 0px 4px 4px; + border-radius: 0px 0px 4px 4px; +} + +.inline-block { + display: inline-block; +} + +/* showcase background */ +.showback { + background: #ffffff; + padding: 15px; + margin-bottom: 15px; + box-shadow: 0px 3px 2px #aab2bd; +} + +/* Calendar Events - Calendar.html*/ +.external-event { + cursor: move; + display: inline-block !important; + margin-bottom: 7px !important; + margin-right: 7px !important; + padding: 10px; +} + +.drop-after { + padding-top: 15px; + margin-top: 15px; + border-top: 1px solid #ccc; +} + +.fc-state-default, .fc-state-default .fc-button-inner { + background: #f2f2f2; +} + +.fc-state-active .fc-button-inner { + background: #FFFFFF; +} + +/* Gallery Configuration */ +.photo-wrapper { + display: block; + position: relative; + overflow: hidden; + background-color: #68dff0; + -webkit-transition: background-color 0.4s; + -moz-transition: background-color 0.4s; + -o-transition: background-color 0.4s; + transition: background-color 0.4s; +} + +.project .overlay { + position: absolute; + text-align: center; + color: #fff; + opacity: 0; + filter: alpha(opacity=0); + -webkit-transition: opacity 0.4s; + -moz-transition: opacity 0.4s; + -o-transition: opacity 0.4s; + transition: opacity 0.4s; + +} + +.project:hover .photo-wrapper { + background-color: #68dff0; + background-image: url(../img/zoom.png); + background-repeat: no-repeat; + background-position: center; + top: 0; + bottom: 0; + left: 0; + right: 0; + position: relative; +} + +.project:hover .photo { + opacity: 10; + filter: alpha(opacity=4000); + opacity: 0.1; + filter: alpha(opacity=40); +} + +.project:hover .overlay { + opacity: 100; + filter: alpha(opacity=10000); + opacity: 1; + filter: alpha(opacity=100); +} + +/* EZ Checklist */ +.ez-checkbox { + margin-right: 5px; +} + +.ez-checkbox, .ez-radio { + height: 20px; + width: 20px; +} + +.brand-highlight { + background: #fffbcc !important; +} + +/* FORMS CONFIGURATION */ +.form-panel { + background: #ffffff; + margin: 10px; + padding: 10px; + box-shadow: 0px 3px 2px #aab2bd; + text-align: left; +} + +label { + font-weight: 400; +} + +.form-horizontal.style-form .form-group { + border-bottom: 1px solid #eff2f7; + padding-bottom: 15px; + margin-bottom: 15px; +} + +.round-form { + border-radius: 500px; + -webkit-border-radius: 500px; +} + +@media (min-width: 768px) { + .form-horizontal .control-label { + text-align: left; + } +} + +#focusedInput { + border: 1px solid #ed5565; + box-shadow: none; +} + +.add-on { + float: right; + margin-top: -37px; + padding: 3px; + text-align: center; +} + +.add-on .btn { + height: 34px; +} + +/* TOGGLE CONFIGURATION */ +.has-switch { + border-radius: 30px; + -webkit-border-radius: 30px; + display: inline-block; + cursor: pointer; + line-height: 1.231; + overflow: hidden; + position: relative; + text-align: left; + width: 80px; + -webkit-mask: url('../img/mask.png') 0 0 no-repeat; + mask: url('../img/mask.png') 0 0 no-repeat; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + -o-user-select: none; + user-select: none; +} + +.has-switch.deactivate { + opacity: 0.5; + filter: alpha(opacity=50); + cursor: default !important; +} + +.has-switch.deactivate label, +.has-switch.deactivate span { + cursor: default !important; +} + +.has-switch > div { + width: 162%; + position: relative; + top: 0; +} + +.has-switch > div.switch-animate { + -webkit-transition: left 0.25s ease-out; + -moz-transition: left 0.25s ease-out; + -o-transition: left 0.25s ease-out; + transition: left 0.25s ease-out; + -webkit-backface-visibility: hidden; +} + +.has-switch > div.switch-off { + left: -63%; +} + +.has-switch > div.switch-off label { + background-color: #7f8c9a; + border-color: #bdc3c7; + -webkit-box-shadow: -1px 0 0 rgba(255, 255, 255, 0.5); + -moz-box-shadow: -1px 0 0 rgba(255, 255, 255, 0.5); + box-shadow: -1px 0 0 rgba(255, 255, 255, 0.5); +} + +.has-switch > div.switch-on { + left: 0%; +} + +.has-switch > div.switch-on label { + background-color: #41cac0; +} + +.has-switch input[type=checkbox] { + display: none; +} + +.has-switch span { + cursor: pointer; + font-size: 14.994px; + font-weight: 700; + float: left; + height: 29px; + line-height: 19px; + margin: 0; + padding-bottom: 6px; + padding-top: 5px; + position: relative; + text-align: center; + width: 50%; + z-index: 1; + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; + -webkit-transition: 0.25s ease-out; + -moz-transition: 0.25s ease-out; + -o-transition: 0.25s ease-out; + transition: 0.25s ease-out; + -webkit-backface-visibility: hidden; +} + +.has-switch span.switch-left { + border-radius: 30px 0 0 30px; + background-color: #2A3542; + color: #41cac0; + border-left: 1px solid transparent; +} + +.has-switch span.switch-right { + border-radius: 0 30px 30px 0; + background-color: #bdc3c7; + color: #ffffff; + text-indent: 7px; +} + +.has-switch span.switch-right [class*="fui-"] { + text-indent: 0; +} + +.has-switch label { + border: 4px solid #2A3542; + border-radius: 50%; + -webkit-border-radius: 50%; + float: left; + height: 29px; + margin: 0 -21px 0 -14px; + padding: 0; + position: relative; + vertical-align: middle; + width: 29px; + z-index: 100; + -webkit-transition: 0.25s ease-out; + -moz-transition: 0.25s ease-out; + -o-transition: 0.25s ease-out; + transition: 0.25s ease-out; + -webkit-backface-visibility: hidden; +} + +.switch-square { + border-radius: 6px; + -webkit-border-radius: 6px; + -webkit-mask: url('../img/mask.png') 0 0 no-repeat; + mask: url('../img/mask.png') 0 0 no-repeat; +} + +.switch-square > div.switch-off label { + border-color: #7f8c9a; + border-radius: 6px 0 0 6px; +} + +.switch-square span.switch-left { + border-radius: 6px 0 0 6px; +} + +.switch-square span.switch-left [class*="fui-"] { + text-indent: -10px; +} + +.switch-square span.switch-right { + border-radius: 0 6px 6px 0; +} + +.switch-square span.switch-right [class*="fui-"] { + text-indent: 5px; +} + +.switch-square label { + border-radius: 0 6px 6px 0; + border-color: #41cac0; +} + +/*LOGIN CONFIGURATION PAGE*/ +.form-login { + max-width: 330px; + margin: 100px auto 0; + background: #fff; + border-radius: 5px; + -webkit-border-radius: 5px; +} + +.form-login h2.form-login-heading { + margin: 0; + padding: 25px 20px; + text-align: center; + background: #68dff0; + border-radius: 5px 5px 0 0; + -webkit-border-radius: 5px 5px 0 0; + color: #fff; + font-size: 20px; + text-transform: uppercase; + font-weight: 300; +} + +.login-wrap { + padding: 20px; +} + +.login-wrap .registration { + text-align: center; +} + +.login-social-link { + display: block; + margin-top: 20px; + margin-bottom: 15px; +} + +/*LOCK SCREEN CONF*/ +#showtime { + width: 100%; + color: #fff; + font-size: 90px; + margin-bottom: 30px; + margin-top: 250px; + display: inline-block; + text-align: center; + font-weight: 400; +} + +.lock-screen { + text-align: center; +} + +.lock-screen a { + color: white; +} + +.lock-screen a:hover { + color: #48cfad +} + +.lock-screen i { + font-size: 60px; +} + +.lock-screen .modal-content { + position: relative; + background-color: #f2f2f2; + background-clip: padding-box; + border: 1px solid #999; + border: 1px solid rgba(0, 0, 0, .2); + border-radius: 5px; +} + +.btn-facebook { + color: #fff; + background-color: #5193ea; + border-color: #2775e2; +} + +.btn-facebook:hover, +.btn-facebook:focus, +.btn-facebook:active, +.btn-facebook.active, +.open .dropdown-toggle.btn-facebook { + color: #fff; + background-color: #2775e2; + border-color: #2775e2; +} + +.btn-twitter { + color: #fff; + background-color: #44ccfe; + border-color: #2bb4e8; +} + +.btn-twitter:hover, +.btn-twitter:focus, +.btn-twitter:active, +.btn-twitter.active, +.open .dropdown-toggle.btn-twitter { + color: #fff; + background-color: #2bb4e8; + border-color: #2bb4e8; +} + +/*badge*/ +.badge.bg-primary { + background: #8075c4; +} + +.badge.bg-success { + background: #a9d86e; +} + +.badge.bg-warning { + background: #FCB322; +} + +.badge.bg-important { + background: #ff6c60; +} + +.badge.bg-info { + background: #41cac0; +} + +.badge.bg-inverse { + background: #2A3542; +} + +/*easy pie chart*/ +.easy-pie-chart { + display: inline-block; + padding: 30px 0; +} + +.chart-info, .chart-info .increase, .chart-info .decrease { + display: inline-block; +} + +.chart-info { + width: 100%; + margin-bottom: 5px; +} + +.chart-position { + margin-top: 70px; +} + +.chart-info span { + margin: 0 3px; +} + +.chart-info .increase { + background: #ff6c60; + width: 10px; + height: 10px; +} + +.chart-info .decrease { + background: #f2f2f2; + width: 10px; + height: 10px; +} + +.panel-footer.revenue-foot { + background-color: #e6e7ec; + -webkit-border-radius: 0px 0px 4px 4px; + border-radius: 0px 0px 4px 4px; + border: none; + padding: 0; + width: 100%; + display: inline-block; +} + +@media screen and (-webkit-min-device-pixel-ratio: 0) { + /* Safari and Chrome */ + .panel-footer.revenue-foot { + margin-bottom: -4px; + } +} + +.panel-footer.revenue-foot ul { + margin: 0; + padding: 0; + width: 100%; + display: inline-flex; +} + +.panel-footer.revenue-foot ul li { + float: left; + width: 33.33%; +} + +.panel-footer.revenue-foot ul li.first a:hover, .panel-footer.revenue-foot ul li.first a { + -webkit-border-radius: 0px 0px 0px 4px; + border-radius: 0px 0px 0px 4px; +} + +.panel-footer.revenue-foot ul li.last a:hover, .panel-footer.revenue-foot ul li.last a { + -webkit-border-radius: 0px 0px 4px 0px; + border-radius: 0px 0px 4px 0px; + border-right: none; + +} + +.panel-footer.revenue-foot ul li a { + display: inline-block; + width: 100%; + padding: 14px 15px; + text-align: center; + border-right: 1px solid #d5d8df; + color: #797979; +} + +.panel-footer.revenue-foot ul li a:hover, .panel-footer.revenue-foot ul li.active a { + background: #fff; + position: relative; +} + +.panel-footer.revenue-foot ul li a i { + color: #c6cad5; + display: block; + font-size: 16px; +} + +.panel-footer.revenue-foot ul li a:hover i, .panel-footer.revenue-foot ul li.active a i { + color: #ff6c60; + display: block; + font-size: 16px; +} + +/*flot chart*/ +.flot-chart .chart, .flot-chart .pie, .flot-chart .bars { + height: 300px; +} + +/*todolist*/ +#sortable { + list-style-type: none; + margin: 0 0 20px 0; + padding: 0; + width: 100%; +} + +#sortable li { + padding-left: 3em; + font-size: 12px; +} + +#sortable li i { + position: absolute; + left: 6px; + padding: 4px 10px 0 10px; + cursor: pointer; +} + +#sortable li input[type=checkbox] { + margin-top: 0; +} + +.ui-sortable > li { + padding: 15px 0 15px 35px !important; + position: relative; + background: #f5f6f8; + margin-bottom: 2px; + border-bottom: none !important; +} + +.ui-sortable li.list-primary { + border-left: 3px solid #41CAC0; +} + +.ui-sortable li.list-success { + border-left: 3px solid #78CD51; +} + +.ui-sortable li.list-danger { + border-left: 3px solid #FF6C60; +} + +.ui-sortable li.list-warning { + border-left: 3px solid #F1C500; +} + +.ui-sortable li.list-info { + border-left: 3px solid #58C9F3; +} + +.ui-sortable li.list-inverse { + border-left: 3px solid #BEC3C7; +} + +/*footer*/ +.site-footer { + background: #68dff0; + color: #fff; + padding: 10px 0; +} + +.go-top { + margin-right: 1%; + float: right; + background: rgba(255, 255, 255, .5); + width: 20px; + height: 20px; + border-radius: 50%; + -webkit-border-radius: 50%; +} + +.go-top i { + color: #2A3542; +} + +/*.site-min-height {*/ + /*min-height: 900px;*/ +/*}*/ + +#menu-right { + float: right; + margin-top: 15px; + margin-left: 92px; +} + +/*.dropdown-menu {*/ +/*float: right;*/ +/*!important;*/ + +/*}*/ + +.jumbotron { + background: #ffffff; + padding: 0; +} + +#index-video{ + position: absolute; + top:0; + left: 0; + width: 100%; + height: 100%; +} + +#video-container { + position: relative; + padding-bottom: 56.25%; + padding-top: 30px; + height: 0; + width: auto; + overflow: hidden; +} \ No newline at end of file diff --git a/src/demo/manager/src/main/webapp/assets/css/table-responsive.css b/src/demo/manager/src/main/webapp/assets/css/table-responsive.css new file mode 100644 index 00000000..5e15990d --- /dev/null +++ b/src/demo/manager/src/main/webapp/assets/css/table-responsive.css @@ -0,0 +1,94 @@ +/*Unseen Column*/ +@media only screen and (max-width: 800px) { + #unseen table td:nth-child(2), + #unseen table th:nth-child(2) {display: none;} +} + +@media only screen and (max-width: 640px) { + #unseen table td:nth-child(4), + #unseen table th:nth-child(4), + #unseen table td:nth-child(7), + #unseen table th:nth-child(7), + #unseen table td:nth-child(8), + #unseen table th:nth-child(8){display: none;} +} + +/*flip-scroll*/ + +@media only screen and (max-width: 800px) { + #flip-scroll .cf:after { visibility: hidden; display: block; font-size: 0; content: " "; clear: both; height: 0; } + #flip-scroll * html .cf { zoom: 1; } + #flip-scroll *:first-child+html .cf { zoom: 1; } + #flip-scroll table { width: 100%; border-collapse: collapse; border-spacing: 0; } + + #flip-scroll th, + #flip-scroll td { margin: 0; vertical-align: top; } + #flip-scroll th { text-align: left; } + #flip-scroll table { display: block; position: relative; width: 100%; } + #flip-scroll thead { display: block; float: left; } + #flip-scroll tbody { display: block; width: auto; position: relative; overflow-x: auto; white-space: nowrap; } + #flip-scroll thead tr { display: block; } + #flip-scroll th { display: block; text-align: right; } + #flip-scroll tbody tr { display: inline-block; vertical-align: top; } + #flip-scroll td { display: block; min-height: 1.25em; text-align: left; } + + + /* sort out borders */ + + #flip-scroll th { border-bottom: 0; border-left: 0; } + #flip-scroll td { border-left: 0; border-right: 0; border-bottom: 0; } + #flip-scroll tbody tr { border-left: 1px solid #babcbf; } + #flip-scroll th:last-child, + #flip-scroll td:last-child { border-bottom: 1px solid #babcbf; } +} + +/*no more table*/ + +@media only screen and (max-width: 800px) { + /* Force table to not be like tables anymore */ + #no-more-tables table, + #no-more-tables thead, + #no-more-tables tbody, + #no-more-tables th, + #no-more-tables td, + #no-more-tables tr { + display: block; + } + + /* Hide table headers (but not display: none;, for accessibility) */ + #no-more-tables thead tr { + position: absolute; + top: -9999px; + left: -9999px; + } + + #no-more-tables tr { border: 1px solid #ccc; } + + #no-more-tables td { + /* Behave like a "row" */ + border: none; + border-bottom: 1px solid #eee; + position: relative; + padding-left: 50%; + white-space: normal; + text-align:left; + } + + #no-more-tables td:before { + /* Now like a table header */ + position: absolute; + /* Top/left values mimic padding */ + top: 6px; + left: 6px; + width: 45%; + padding-right: 10px; + white-space: nowrap; + text-align:left; + font-weight: bold; + } + + /* + Label the data + */ + #no-more-tables td:before { content: attr(data-title); } +} \ No newline at end of file diff --git a/src/demo/manager/src/main/webapp/assets/css/taotao.css b/src/demo/manager/src/main/webapp/assets/css/taotao.css new file mode 100644 index 00000000..6e8f0561 --- /dev/null +++ b/src/demo/manager/src/main/webapp/assets/css/taotao.css @@ -0,0 +1,32 @@ +ul{ + list-style: none; +} + +.hide{ + display: none; +} + +.itemParam ul{ + padding-left: 0px; +} +.itemParam li{ + line-height: 25px; +} + +.itemForm .pics ul{ + list-style: none; + padding-left: 0px; +} +.itemForm .pics ul li{ + float: left; + padding-right: 5px; +} +.itemForm .group{ + font-weight: bold; + text-align: center; + background-color: #EAEAEA; +} +.itemForm .param{ + width: 80px; + text-align: right; +} \ No newline at end of file diff --git a/src/demo/manager/src/main/webapp/assets/css/to-do.css b/src/demo/manager/src/main/webapp/assets/css/to-do.css new file mode 100644 index 00000000..52b6d2c6 --- /dev/null +++ b/src/demo/manager/src/main/webapp/assets/css/to-do.css @@ -0,0 +1,110 @@ +/*--------------Tasks Widget--------------*/ + +.task-content { + margin-bottom: 30px; +} + +.task-panel { + background: #fff; + text-align: left; + box-shadow: 0px 3px 2px #aab2bd; + margin: 5px; +} + +.tasks-widget .task-content:after { + clear: both; +} + +.tasks-widget .task-footer { + margin-top: 5px; +} + +.tasks-widget .task-footer:after, +.tasks-widget .task-footer:before { + content: ""; + display: table; + line-height: 0; +} + +.tasks-widget .task-footer:after { + clear: both; +} + +.tasks-widget .task-list { + padding:0; + margin:0; +} + +.tasks-widget .task-list > li { + position:relative; + padding:10px 5px; + border-bottom:1px dashed #eaeaea; +} + +.tasks-widget .task-list li.last-line { + border-bottom:none; +} + +.tasks-widget .task-list li > .task-bell { + margin-left:10px; +} + +.tasks-widget .task-list li > .task-checkbox { + float:left; + width:30px; +} + +.tasks-widget .task-list li > .task-title { + overflow:hidden; + margin-right:10px; +} + +.tasks-widget .task-list li > .task-config { + position:absolute; + top:10px; + right:10px; +} + +.tasks-widget .task-list li .task-title .task-title-sp { + margin-right:5px; +} + +.tasks-widget .task-list li.task-done .task-title-sp { + text-decoration:line-through; + color: #bbbbbb; +} + +.tasks-widget .task-list li.task-done { + background:#f6f6f6; +} + +.tasks-widget .task-list li.task-done:hover { + background:#f4f4f4; +} + +.tasks-widget .task-list li:hover { + background:#f9f9f9; +} + +.tasks-widget .task-list li .task-config { + display:none; +} + +.tasks-widget .task-list li:hover > .task-config { + display:block; + margin-bottom:0 !important; +} + + +@media only screen and (max-width: 320px) { + + .tasks-widget .task-config-btn { + float:inherit; + display:block; + } + + .tasks-widget .task-list-projects li > .label { + margin-bottom:5px; + } + +} \ No newline at end of file diff --git a/src/demo/manager/src/main/webapp/assets/css/zabuto_calendar.css b/src/demo/manager/src/main/webapp/assets/css/zabuto_calendar.css new file mode 100644 index 00000000..8289d25e --- /dev/null +++ b/src/demo/manager/src/main/webapp/assets/css/zabuto_calendar.css @@ -0,0 +1,180 @@ +/** + * Zabuto Calendar + */ + +div.zabuto_calendar { + margin: 0; + padding: 10px; +} + +.calendar-month-header {font-size:116%!important;} +.calendar-month-header th {font-weight:600!important;} + +div.zabuto_calendar .table { + width: 100%; + margin: 0; + padding: 0px; +} + +div.zabuto_calendar .table th, +div.zabuto_calendar .table td { + padding: 11.9px 0px; + text-align: center; +} + +div.zabuto_calendar .table tr th, +div.zabuto_calendar .table tr td { + background-color:; +} + +div.zabuto_calendar .table tr.calendar-month-header th { + background-color:; +} + +div.zabuto_calendar .table tr.calendar-month-header th span { + cursor: pointer; + display: inline-block; + padding-bottom:0px; + +} + +div.zabuto_calendar .table tr.calendar-dow-header th { + background-color:; +} + +div.zabuto_calendar .table tr:last-child { + border-bottom: 0px solid #dddddd; +} + +div.zabuto_calendar .table tr.calendar-month-header th { + padding:10px; + + } + +div.zabuto_calendar .table-bordered tr.calendar-month-header th { + border-left: 0; + border-right: 0; +} + +div.zabuto_calendar .table-bordered tr.calendar-month-header th:first-child { + border-left: 0px solid #dddddd; +} + +div.zabuto_calendar div.calendar-month-navigation { + cursor: pointer; + margin: 0; + padding: 0; + padding-top:0px; +} + +div.zabuto_calendar tr.calendar-dow-header th, +div.zabuto_calendar tr.calendar-dow td { + width: 14%; +} + +div.zabuto_calendar .table tr td div.day { + margin: 0px; + padding-top: 0px; + padding-bottom: 0px; +} + +/* actions and events */ +div.zabuto_calendar .table tr td.event div.day, +div.zabuto_calendar ul.legend li.event { + background-color:; +} + +div.zabuto_calendar .table tr td.dow-clickable, +div.zabuto_calendar .table tr td.event-clickable { + cursor: pointer; +} + +/* badge */ +div.zabuto_calendar .badge-today, +div.zabuto_calendar div.legend span.badge-today { + background-color:; + color: #ffffff; + text-shadow: none; +} + +div.zabuto_calendar .badge-event, +div.zabuto_calendar div.legend span.badge-event { + background-color:; + color: #ffffff; + text-shadow: none; +} + +div.zabuto_calendar .badge-event { + font-size: 0.95em; + padding-left: 8px; + padding-right: 8px; + padding-bottom: 4px; +} + +/* legend */ +div.zabuto_calendar div.legend { + margin-top: 15px; + text-align: right; + padding-right:10px; + padding-bottom:10px; +} + +div.zabuto_calendar div.legend span { + font-size: 10px; + font-weight: normal; +} + +div.zabuto_calendar div.legend span.legend-text:after, +div.zabuto_calendar div.legend span.legend-block:after, +div.zabuto_calendar div.legend span.legend-list:after, +div.zabuto_calendar div.legend span.legend-spacer:after { + content: ' '; +} + +div.zabuto_calendar div.legend span.legend-spacer { + padding-left: 25px; +} + +div.zabuto_calendar ul.legend > span { + padding-left: 2px; +} + +div.zabuto_calendar ul.legend { + display: inline-block; + list-style: none outside none; + margin: 0; + padding: 0; +} + +div.zabuto_calendar ul.legend li { + display: inline-block; + height: 8px; + width: 8px; + margin-left: 5px; +} + +div.zabuto_calendar ul.legend +div.zabuto_calendar ul.legend li:first-child { + margin-left: 7px; +} + +div.zabuto_calendar ul.legend li:last-child { + margin-right: 5px; +} + +div.zabuto_calendar div.legend span.badge { + font-size: 0.9em; + border-radius: 5px 5px 5px 5px; + padding-left: 5px; + padding-right: 5px; + padding-top: 2px; + padding-bottom: 3px; +} + +/* responsive */ +@media (max-width: 979px) { + div.zabuto_calendar .table th, + div.zabuto_calendar .table td { + padding: 2px 1px; + } +} diff --git a/src/demo/manager/src/main/webapp/assets/font-awesome/css/font-awesome.css b/src/demo/manager/src/main/webapp/assets/font-awesome/css/font-awesome.css new file mode 100644 index 00000000..eb4127b7 --- /dev/null +++ b/src/demo/manager/src/main/webapp/assets/font-awesome/css/font-awesome.css @@ -0,0 +1,1566 @@ +/*! + * Font Awesome 4.1.0 by @davegandy - http://fontawesome.io - @fontawesome + * License - http://fontawesome.io/license (Font: SIL OFL 1.1, CSS: MIT License) + */ +/* FONT PATH + * -------------------------- */ +@font-face { + font-family: 'FontAwesome'; + src: url('../fonts/fontawesome-webfont.eot?v=4.1.0'); + src: url('../fonts/fontawesome-webfont.eot?#iefix&v=4.1.0') format('embedded-opentype'), url('../fonts/fontawesome-webfont.woff?v=4.1.0') format('woff'), url('../fonts/fontawesome-webfont.ttf?v=4.1.0') format('truetype'), url('../fonts/fontawesome-webfont.svg?v=4.1.0#fontawesomeregular') format('svg'); + font-weight: normal; + font-style: normal; +} +.fa { + display: inline-block; + font-family: FontAwesome; + font-style: normal; + font-weight: normal; + line-height: 1; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; +} +/* makes the font 33% larger relative to the icon container */ +.fa-lg { + font-size: 1.33333333em; + line-height: 0.75em; + vertical-align: -15%; +} +.fa-2x { + font-size: 2em; +} +.fa-3x { + font-size: 3em; +} +.fa-4x { + font-size: 4em; +} +.fa-5x { + font-size: 5em; +} +.fa-fw { + width: 1.28571429em; + text-align: center; +} +.fa-ul { + padding-left: 0; + margin-left: 2.14285714em; + list-style-type: none; +} +.fa-ul > li { + position: relative; +} +.fa-li { + position: absolute; + left: -2.14285714em; + width: 2.14285714em; + top: 0.14285714em; + text-align: center; +} +.fa-li.fa-lg { + left: -1.85714286em; +} +.fa-border { + padding: .2em .25em .15em; + border: solid 0.08em #eeeeee; + border-radius: .1em; +} +.pull-right { + float: right; +} +.pull-left { + float: left; +} +.fa.pull-left { + margin-right: .3em; +} +.fa.pull-right { + margin-left: .3em; +} +.fa-spin { + -webkit-animation: spin 2s infinite linear; + -moz-animation: spin 2s infinite linear; + -o-animation: spin 2s infinite linear; + animation: spin 2s infinite linear; +} +@-moz-keyframes spin { + 0% { + -moz-transform: rotate(0deg); + } + 100% { + -moz-transform: rotate(359deg); + } +} +@-webkit-keyframes spin { + 0% { + -webkit-transform: rotate(0deg); + } + 100% { + -webkit-transform: rotate(359deg); + } +} +@-o-keyframes spin { + 0% { + -o-transform: rotate(0deg); + } + 100% { + -o-transform: rotate(359deg); + } +} +@keyframes spin { + 0% { + -webkit-transform: rotate(0deg); + transform: rotate(0deg); + } + 100% { + -webkit-transform: rotate(359deg); + transform: rotate(359deg); + } +} +.fa-rotate-90 { + filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=1); + -webkit-transform: rotate(90deg); + -moz-transform: rotate(90deg); + -ms-transform: rotate(90deg); + -o-transform: rotate(90deg); + transform: rotate(90deg); +} +.fa-rotate-180 { + filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=2); + -webkit-transform: rotate(180deg); + -moz-transform: rotate(180deg); + -ms-transform: rotate(180deg); + -o-transform: rotate(180deg); + transform: rotate(180deg); +} +.fa-rotate-270 { + filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=3); + -webkit-transform: rotate(270deg); + -moz-transform: rotate(270deg); + -ms-transform: rotate(270deg); + -o-transform: rotate(270deg); + transform: rotate(270deg); +} +.fa-flip-horizontal { + filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1); + -webkit-transform: scale(-1, 1); + -moz-transform: scale(-1, 1); + -ms-transform: scale(-1, 1); + -o-transform: scale(-1, 1); + transform: scale(-1, 1); +} +.fa-flip-vertical { + filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1); + -webkit-transform: scale(1, -1); + -moz-transform: scale(1, -1); + -ms-transform: scale(1, -1); + -o-transform: scale(1, -1); + transform: scale(1, -1); +} +.fa-stack { + position: relative; + display: inline-block; + width: 2em; + height: 2em; + line-height: 2em; + vertical-align: middle; +} +.fa-stack-1x, +.fa-stack-2x { + position: absolute; + left: 0; + width: 100%; + text-align: center; +} +.fa-stack-1x { + line-height: inherit; +} +.fa-stack-2x { + font-size: 2em; +} +.fa-inverse { + color: #ffffff; +} +/* Font Awesome uses the Unicode Private Use Area (PUA) to ensure screen + readers do not read off random characters that represent icons */ +.fa-glass:before { + content: "\f000"; +} +.fa-music:before { + content: "\f001"; +} +.fa-search:before { + content: "\f002"; +} +.fa-envelope-o:before { + content: "\f003"; +} +.fa-heart:before { + content: "\f004"; +} +.fa-star:before { + content: "\f005"; +} +.fa-star-o:before { + content: "\f006"; +} +.fa-user:before { + content: "\f007"; +} +.fa-film:before { + content: "\f008"; +} +.fa-th-large:before { + content: "\f009"; +} +.fa-th:before { + content: "\f00a"; +} +.fa-th-list:before { + content: "\f00b"; +} +.fa-check:before { + content: "\f00c"; +} +.fa-times:before { + content: "\f00d"; +} +.fa-search-plus:before { + content: "\f00e"; +} +.fa-search-minus:before { + content: "\f010"; +} +.fa-power-off:before { + content: "\f011"; +} +.fa-signal:before { + content: "\f012"; +} +.fa-gear:before, +.fa-cog:before { + content: "\f013"; +} +.fa-trash-o:before { + content: "\f014"; +} +.fa-home:before { + content: "\f015"; +} +.fa-file-o:before { + content: "\f016"; +} +.fa-clock-o:before { + content: "\f017"; +} +.fa-road:before { + content: "\f018"; +} +.fa-download:before { + content: "\f019"; +} +.fa-arrow-circle-o-down:before { + content: "\f01a"; +} +.fa-arrow-circle-o-up:before { + content: "\f01b"; +} +.fa-inbox:before { + content: "\f01c"; +} +.fa-play-circle-o:before { + content: "\f01d"; +} +.fa-rotate-right:before, +.fa-repeat:before { + content: "\f01e"; +} +.fa-refresh:before { + content: "\f021"; +} +.fa-list-alt:before { + content: "\f022"; +} +.fa-lock:before { + content: "\f023"; +} +.fa-flag:before { + content: "\f024"; +} +.fa-headphones:before { + content: "\f025"; +} +.fa-volume-off:before { + content: "\f026"; +} +.fa-volume-down:before { + content: "\f027"; +} +.fa-volume-up:before { + content: "\f028"; +} +.fa-qrcode:before { + content: "\f029"; +} +.fa-barcode:before { + content: "\f02a"; +} +.fa-tag:before { + content: "\f02b"; +} +.fa-tags:before { + content: "\f02c"; +} +.fa-book:before { + content: "\f02d"; +} +.fa-bookmark:before { + content: "\f02e"; +} +.fa-print:before { + content: "\f02f"; +} +.fa-camera:before { + content: "\f030"; +} +.fa-font:before { + content: "\f031"; +} +.fa-bold:before { + content: "\f032"; +} +.fa-italic:before { + content: "\f033"; +} +.fa-text-height:before { + content: "\f034"; +} +.fa-text-width:before { + content: "\f035"; +} +.fa-align-left:before { + content: "\f036"; +} +.fa-align-center:before { + content: "\f037"; +} +.fa-align-right:before { + content: "\f038"; +} +.fa-align-justify:before { + content: "\f039"; +} +.fa-list:before { + content: "\f03a"; +} +.fa-dedent:before, +.fa-outdent:before { + content: "\f03b"; +} +.fa-indent:before { + content: "\f03c"; +} +.fa-video-camera:before { + content: "\f03d"; +} +.fa-photo:before, +.fa-image:before, +.fa-picture-o:before { + content: "\f03e"; +} +.fa-pencil:before { + content: "\f040"; +} +.fa-map-marker:before { + content: "\f041"; +} +.fa-adjust:before { + content: "\f042"; +} +.fa-tint:before { + content: "\f043"; +} +.fa-edit:before, +.fa-pencil-square-o:before { + content: "\f044"; +} +.fa-share-square-o:before { + content: "\f045"; +} +.fa-check-square-o:before { + content: "\f046"; +} +.fa-arrows:before { + content: "\f047"; +} +.fa-step-backward:before { + content: "\f048"; +} +.fa-fast-backward:before { + content: "\f049"; +} +.fa-backward:before { + content: "\f04a"; +} +.fa-play:before { + content: "\f04b"; +} +.fa-pause:before { + content: "\f04c"; +} +.fa-stop:before { + content: "\f04d"; +} +.fa-forward:before { + content: "\f04e"; +} +.fa-fast-forward:before { + content: "\f050"; +} +.fa-step-forward:before { + content: "\f051"; +} +.fa-eject:before { + content: "\f052"; +} +.fa-chevron-left:before { + content: "\f053"; +} +.fa-chevron-right:before { + content: "\f054"; +} +.fa-plus-circle:before { + content: "\f055"; +} +.fa-minus-circle:before { + content: "\f056"; +} +.fa-times-circle:before { + content: "\f057"; +} +.fa-check-circle:before { + content: "\f058"; +} +.fa-question-circle:before { + content: "\f059"; +} +.fa-info-circle:before { + content: "\f05a"; +} +.fa-crosshairs:before { + content: "\f05b"; +} +.fa-times-circle-o:before { + content: "\f05c"; +} +.fa-check-circle-o:before { + content: "\f05d"; +} +.fa-ban:before { + content: "\f05e"; +} +.fa-arrow-left:before { + content: "\f060"; +} +.fa-arrow-right:before { + content: "\f061"; +} +.fa-arrow-up:before { + content: "\f062"; +} +.fa-arrow-down:before { + content: "\f063"; +} +.fa-mail-forward:before, +.fa-share:before { + content: "\f064"; +} +.fa-expand:before { + content: "\f065"; +} +.fa-compress:before { + content: "\f066"; +} +.fa-plus:before { + content: "\f067"; +} +.fa-minus:before { + content: "\f068"; +} +.fa-asterisk:before { + content: "\f069"; +} +.fa-exclamation-circle:before { + content: "\f06a"; +} +.fa-gift:before { + content: "\f06b"; +} +.fa-leaf:before { + content: "\f06c"; +} +.fa-fire:before { + content: "\f06d"; +} +.fa-eye:before { + content: "\f06e"; +} +.fa-eye-slash:before { + content: "\f070"; +} +.fa-warning:before, +.fa-exclamation-triangle:before { + content: "\f071"; +} +.fa-plane:before { + content: "\f072"; +} +.fa-calendar:before { + content: "\f073"; +} +.fa-random:before { + content: "\f074"; +} +.fa-comment:before { + content: "\f075"; +} +.fa-magnet:before { + content: "\f076"; +} +.fa-chevron-up:before { + content: "\f077"; +} +.fa-chevron-down:before { + content: "\f078"; +} +.fa-retweet:before { + content: "\f079"; +} +.fa-shopping-cart:before { + content: "\f07a"; +} +.fa-folder:before { + content: "\f07b"; +} +.fa-folder-open:before { + content: "\f07c"; +} +.fa-arrows-v:before { + content: "\f07d"; +} +.fa-arrows-h:before { + content: "\f07e"; +} +.fa-bar-chart-o:before { + content: "\f080"; +} +.fa-twitter-square:before { + content: "\f081"; +} +.fa-facebook-square:before { + content: "\f082"; +} +.fa-camera-retro:before { + content: "\f083"; +} +.fa-key:before { + content: "\f084"; +} +.fa-gears:before, +.fa-cogs:before { + content: "\f085"; +} +.fa-comments:before { + content: "\f086"; +} +.fa-thumbs-o-up:before { + content: "\f087"; +} +.fa-thumbs-o-down:before { + content: "\f088"; +} +.fa-star-half:before { + content: "\f089"; +} +.fa-heart-o:before { + content: "\f08a"; +} +.fa-sign-out:before { + content: "\f08b"; +} +.fa-linkedin-square:before { + content: "\f08c"; +} +.fa-thumb-tack:before { + content: "\f08d"; +} +.fa-external-link:before { + content: "\f08e"; +} +.fa-sign-in:before { + content: "\f090"; +} +.fa-trophy:before { + content: "\f091"; +} +.fa-github-square:before { + content: "\f092"; +} +.fa-upload:before { + content: "\f093"; +} +.fa-lemon-o:before { + content: "\f094"; +} +.fa-phone:before { + content: "\f095"; +} +.fa-square-o:before { + content: "\f096"; +} +.fa-bookmark-o:before { + content: "\f097"; +} +.fa-phone-square:before { + content: "\f098"; +} +.fa-twitter:before { + content: "\f099"; +} +.fa-facebook:before { + content: "\f09a"; +} +.fa-github:before { + content: "\f09b"; +} +.fa-unlock:before { + content: "\f09c"; +} +.fa-credit-card:before { + content: "\f09d"; +} +.fa-rss:before { + content: "\f09e"; +} +.fa-hdd-o:before { + content: "\f0a0"; +} +.fa-bullhorn:before { + content: "\f0a1"; +} +.fa-bell:before { + content: "\f0f3"; +} +.fa-certificate:before { + content: "\f0a3"; +} +.fa-hand-o-right:before { + content: "\f0a4"; +} +.fa-hand-o-left:before { + content: "\f0a5"; +} +.fa-hand-o-up:before { + content: "\f0a6"; +} +.fa-hand-o-down:before { + content: "\f0a7"; +} +.fa-arrow-circle-left:before { + content: "\f0a8"; +} +.fa-arrow-circle-right:before { + content: "\f0a9"; +} +.fa-arrow-circle-up:before { + content: "\f0aa"; +} +.fa-arrow-circle-down:before { + content: "\f0ab"; +} +.fa-globe:before { + content: "\f0ac"; +} +.fa-wrench:before { + content: "\f0ad"; +} +.fa-tasks:before { + content: "\f0ae"; +} +.fa-filter:before { + content: "\f0b0"; +} +.fa-briefcase:before { + content: "\f0b1"; +} +.fa-arrows-alt:before { + content: "\f0b2"; +} +.fa-group:before, +.fa-users:before { + content: "\f0c0"; +} +.fa-chain:before, +.fa-link:before { + content: "\f0c1"; +} +.fa-cloud:before { + content: "\f0c2"; +} +.fa-flask:before { + content: "\f0c3"; +} +.fa-cut:before, +.fa-scissors:before { + content: "\f0c4"; +} +.fa-copy:before, +.fa-files-o:before { + content: "\f0c5"; +} +.fa-paperclip:before { + content: "\f0c6"; +} +.fa-save:before, +.fa-floppy-o:before { + content: "\f0c7"; +} +.fa-square:before { + content: "\f0c8"; +} +.fa-navicon:before, +.fa-reorder:before, +.fa-bars:before { + content: "\f0c9"; +} +.fa-list-ul:before { + content: "\f0ca"; +} +.fa-list-ol:before { + content: "\f0cb"; +} +.fa-strikethrough:before { + content: "\f0cc"; +} +.fa-underline:before { + content: "\f0cd"; +} +.fa-table:before { + content: "\f0ce"; +} +.fa-magic:before { + content: "\f0d0"; +} +.fa-truck:before { + content: "\f0d1"; +} +.fa-pinterest:before { + content: "\f0d2"; +} +.fa-pinterest-square:before { + content: "\f0d3"; +} +.fa-google-plus-square:before { + content: "\f0d4"; +} +.fa-google-plus:before { + content: "\f0d5"; +} +.fa-money:before { + content: "\f0d6"; +} +.fa-caret-down:before { + content: "\f0d7"; +} +.fa-caret-up:before { + content: "\f0d8"; +} +.fa-caret-left:before { + content: "\f0d9"; +} +.fa-caret-right:before { + content: "\f0da"; +} +.fa-columns:before { + content: "\f0db"; +} +.fa-unsorted:before, +.fa-sort:before { + content: "\f0dc"; +} +.fa-sort-down:before, +.fa-sort-desc:before { + content: "\f0dd"; +} +.fa-sort-up:before, +.fa-sort-asc:before { + content: "\f0de"; +} +.fa-envelope:before { + content: "\f0e0"; +} +.fa-linkedin:before { + content: "\f0e1"; +} +.fa-rotate-left:before, +.fa-undo:before { + content: "\f0e2"; +} +.fa-legal:before, +.fa-gavel:before { + content: "\f0e3"; +} +.fa-dashboard:before, +.fa-tachometer:before { + content: "\f0e4"; +} +.fa-comment-o:before { + content: "\f0e5"; +} +.fa-comments-o:before { + content: "\f0e6"; +} +.fa-flash:before, +.fa-bolt:before { + content: "\f0e7"; +} +.fa-sitemap:before { + content: "\f0e8"; +} +.fa-umbrella:before { + content: "\f0e9"; +} +.fa-paste:before, +.fa-clipboard:before { + content: "\f0ea"; +} +.fa-lightbulb-o:before { + content: "\f0eb"; +} +.fa-exchange:before { + content: "\f0ec"; +} +.fa-cloud-download:before { + content: "\f0ed"; +} +.fa-cloud-upload:before { + content: "\f0ee"; +} +.fa-user-md:before { + content: "\f0f0"; +} +.fa-stethoscope:before { + content: "\f0f1"; +} +.fa-suitcase:before { + content: "\f0f2"; +} +.fa-bell-o:before { + content: "\f0a2"; +} +.fa-coffee:before { + content: "\f0f4"; +} +.fa-cutlery:before { + content: "\f0f5"; +} +.fa-file-text-o:before { + content: "\f0f6"; +} +.fa-building-o:before { + content: "\f0f7"; +} +.fa-hospital-o:before { + content: "\f0f8"; +} +.fa-ambulance:before { + content: "\f0f9"; +} +.fa-medkit:before { + content: "\f0fa"; +} +.fa-fighter-jet:before { + content: "\f0fb"; +} +.fa-beer:before { + content: "\f0fc"; +} +.fa-h-square:before { + content: "\f0fd"; +} +.fa-plus-square:before { + content: "\f0fe"; +} +.fa-angle-double-left:before { + content: "\f100"; +} +.fa-angle-double-right:before { + content: "\f101"; +} +.fa-angle-double-up:before { + content: "\f102"; +} +.fa-angle-double-down:before { + content: "\f103"; +} +.fa-angle-left:before { + content: "\f104"; +} +.fa-angle-right:before { + content: "\f105"; +} +.fa-angle-up:before { + content: "\f106"; +} +.fa-angle-down:before { + content: "\f107"; +} +.fa-desktop:before { + content: "\f108"; +} +.fa-laptop:before { + content: "\f109"; +} +.fa-tablet:before { + content: "\f10a"; +} +.fa-mobile-phone:before, +.fa-mobile:before { + content: "\f10b"; +} +.fa-circle-o:before { + content: "\f10c"; +} +.fa-quote-left:before { + content: "\f10d"; +} +.fa-quote-right:before { + content: "\f10e"; +} +.fa-spinner:before { + content: "\f110"; +} +.fa-circle:before { + content: "\f111"; +} +.fa-mail-reply:before, +.fa-reply:before { + content: "\f112"; +} +.fa-github-alt:before { + content: "\f113"; +} +.fa-folder-o:before { + content: "\f114"; +} +.fa-folder-open-o:before { + content: "\f115"; +} +.fa-smile-o:before { + content: "\f118"; +} +.fa-frown-o:before { + content: "\f119"; +} +.fa-meh-o:before { + content: "\f11a"; +} +.fa-gamepad:before { + content: "\f11b"; +} +.fa-keyboard-o:before { + content: "\f11c"; +} +.fa-flag-o:before { + content: "\f11d"; +} +.fa-flag-checkered:before { + content: "\f11e"; +} +.fa-terminal:before { + content: "\f120"; +} +.fa-code:before { + content: "\f121"; +} +.fa-mail-reply-all:before, +.fa-reply-all:before { + content: "\f122"; +} +.fa-star-half-empty:before, +.fa-star-half-full:before, +.fa-star-half-o:before { + content: "\f123"; +} +.fa-location-arrow:before { + content: "\f124"; +} +.fa-crop:before { + content: "\f125"; +} +.fa-code-fork:before { + content: "\f126"; +} +.fa-unlink:before, +.fa-chain-broken:before { + content: "\f127"; +} +.fa-question:before { + content: "\f128"; +} +.fa-info:before { + content: "\f129"; +} +.fa-exclamation:before { + content: "\f12a"; +} +.fa-superscript:before { + content: "\f12b"; +} +.fa-subscript:before { + content: "\f12c"; +} +.fa-eraser:before { + content: "\f12d"; +} +.fa-puzzle-piece:before { + content: "\f12e"; +} +.fa-microphone:before { + content: "\f130"; +} +.fa-microphone-slash:before { + content: "\f131"; +} +.fa-shield:before { + content: "\f132"; +} +.fa-calendar-o:before { + content: "\f133"; +} +.fa-fire-extinguisher:before { + content: "\f134"; +} +.fa-rocket:before { + content: "\f135"; +} +.fa-maxcdn:before { + content: "\f136"; +} +.fa-chevron-circle-left:before { + content: "\f137"; +} +.fa-chevron-circle-right:before { + content: "\f138"; +} +.fa-chevron-circle-up:before { + content: "\f139"; +} +.fa-chevron-circle-down:before { + content: "\f13a"; +} +.fa-html5:before { + content: "\f13b"; +} +.fa-css3:before { + content: "\f13c"; +} +.fa-anchor:before { + content: "\f13d"; +} +.fa-unlock-alt:before { + content: "\f13e"; +} +.fa-bullseye:before { + content: "\f140"; +} +.fa-ellipsis-h:before { + content: "\f141"; +} +.fa-ellipsis-v:before { + content: "\f142"; +} +.fa-rss-square:before { + content: "\f143"; +} +.fa-play-circle:before { + content: "\f144"; +} +.fa-ticket:before { + content: "\f145"; +} +.fa-minus-square:before { + content: "\f146"; +} +.fa-minus-square-o:before { + content: "\f147"; +} +.fa-level-up:before { + content: "\f148"; +} +.fa-level-down:before { + content: "\f149"; +} +.fa-check-square:before { + content: "\f14a"; +} +.fa-pencil-square:before { + content: "\f14b"; +} +.fa-external-link-square:before { + content: "\f14c"; +} +.fa-share-square:before { + content: "\f14d"; +} +.fa-compass:before { + content: "\f14e"; +} +.fa-toggle-down:before, +.fa-caret-square-o-down:before { + content: "\f150"; +} +.fa-toggle-up:before, +.fa-caret-square-o-up:before { + content: "\f151"; +} +.fa-toggle-right:before, +.fa-caret-square-o-right:before { + content: "\f152"; +} +.fa-euro:before, +.fa-eur:before { + content: "\f153"; +} +.fa-gbp:before { + content: "\f154"; +} +.fa-dollar:before, +.fa-usd:before { + content: "\f155"; +} +.fa-rupee:before, +.fa-inr:before { + content: "\f156"; +} +.fa-cny:before, +.fa-rmb:before, +.fa-yen:before, +.fa-jpy:before { + content: "\f157"; +} +.fa-ruble:before, +.fa-rouble:before, +.fa-rub:before { + content: "\f158"; +} +.fa-won:before, +.fa-krw:before { + content: "\f159"; +} +.fa-bitcoin:before, +.fa-btc:before { + content: "\f15a"; +} +.fa-file:before { + content: "\f15b"; +} +.fa-file-text:before { + content: "\f15c"; +} +.fa-sort-alpha-asc:before { + content: "\f15d"; +} +.fa-sort-alpha-desc:before { + content: "\f15e"; +} +.fa-sort-amount-asc:before { + content: "\f160"; +} +.fa-sort-amount-desc:before { + content: "\f161"; +} +.fa-sort-numeric-asc:before { + content: "\f162"; +} +.fa-sort-numeric-desc:before { + content: "\f163"; +} +.fa-thumbs-up:before { + content: "\f164"; +} +.fa-thumbs-down:before { + content: "\f165"; +} +.fa-youtube-square:before { + content: "\f166"; +} +.fa-youtube:before { + content: "\f167"; +} +.fa-xing:before { + content: "\f168"; +} +.fa-xing-square:before { + content: "\f169"; +} +.fa-youtube-play:before { + content: "\f16a"; +} +.fa-dropbox:before { + content: "\f16b"; +} +.fa-stack-overflow:before { + content: "\f16c"; +} +.fa-instagram:before { + content: "\f16d"; +} +.fa-flickr:before { + content: "\f16e"; +} +.fa-adn:before { + content: "\f170"; +} +.fa-bitbucket:before { + content: "\f171"; +} +.fa-bitbucket-square:before { + content: "\f172"; +} +.fa-tumblr:before { + content: "\f173"; +} +.fa-tumblr-square:before { + content: "\f174"; +} +.fa-long-arrow-down:before { + content: "\f175"; +} +.fa-long-arrow-up:before { + content: "\f176"; +} +.fa-long-arrow-left:before { + content: "\f177"; +} +.fa-long-arrow-right:before { + content: "\f178"; +} +.fa-apple:before { + content: "\f179"; +} +.fa-windows:before { + content: "\f17a"; +} +.fa-android:before { + content: "\f17b"; +} +.fa-linux:before { + content: "\f17c"; +} +.fa-dribbble:before { + content: "\f17d"; +} +.fa-skype:before { + content: "\f17e"; +} +.fa-foursquare:before { + content: "\f180"; +} +.fa-trello:before { + content: "\f181"; +} +.fa-female:before { + content: "\f182"; +} +.fa-male:before { + content: "\f183"; +} +.fa-gittip:before { + content: "\f184"; +} +.fa-sun-o:before { + content: "\f185"; +} +.fa-moon-o:before { + content: "\f186"; +} +.fa-archive:before { + content: "\f187"; +} +.fa-bug:before { + content: "\f188"; +} +.fa-vk:before { + content: "\f189"; +} +.fa-weibo:before { + content: "\f18a"; +} +.fa-renren:before { + content: "\f18b"; +} +.fa-pagelines:before { + content: "\f18c"; +} +.fa-stack-exchange:before { + content: "\f18d"; +} +.fa-arrow-circle-o-right:before { + content: "\f18e"; +} +.fa-arrow-circle-o-left:before { + content: "\f190"; +} +.fa-toggle-left:before, +.fa-caret-square-o-left:before { + content: "\f191"; +} +.fa-dot-circle-o:before { + content: "\f192"; +} +.fa-wheelchair:before { + content: "\f193"; +} +.fa-vimeo-square:before { + content: "\f194"; +} +.fa-turkish-lira:before, +.fa-try:before { + content: "\f195"; +} +.fa-plus-square-o:before { + content: "\f196"; +} +.fa-space-shuttle:before { + content: "\f197"; +} +.fa-slack:before { + content: "\f198"; +} +.fa-envelope-square:before { + content: "\f199"; +} +.fa-wordpress:before { + content: "\f19a"; +} +.fa-openid:before { + content: "\f19b"; +} +.fa-institution:before, +.fa-bank:before, +.fa-university:before { + content: "\f19c"; +} +.fa-mortar-board:before, +.fa-graduation-cap:before { + content: "\f19d"; +} +.fa-yahoo:before { + content: "\f19e"; +} +.fa-google:before { + content: "\f1a0"; +} +.fa-reddit:before { + content: "\f1a1"; +} +.fa-reddit-square:before { + content: "\f1a2"; +} +.fa-stumbleupon-circle:before { + content: "\f1a3"; +} +.fa-stumbleupon:before { + content: "\f1a4"; +} +.fa-delicious:before { + content: "\f1a5"; +} +.fa-digg:before { + content: "\f1a6"; +} +.fa-pied-piper-square:before, +.fa-pied-piper:before { + content: "\f1a7"; +} +.fa-pied-piper-alt:before { + content: "\f1a8"; +} +.fa-drupal:before { + content: "\f1a9"; +} +.fa-joomla:before { + content: "\f1aa"; +} +.fa-language:before { + content: "\f1ab"; +} +.fa-fax:before { + content: "\f1ac"; +} +.fa-building:before { + content: "\f1ad"; +} +.fa-child:before { + content: "\f1ae"; +} +.fa-paw:before { + content: "\f1b0"; +} +.fa-spoon:before { + content: "\f1b1"; +} +.fa-cube:before { + content: "\f1b2"; +} +.fa-cubes:before { + content: "\f1b3"; +} +.fa-behance:before { + content: "\f1b4"; +} +.fa-behance-square:before { + content: "\f1b5"; +} +.fa-steam:before { + content: "\f1b6"; +} +.fa-steam-square:before { + content: "\f1b7"; +} +.fa-recycle:before { + content: "\f1b8"; +} +.fa-automobile:before, +.fa-car:before { + content: "\f1b9"; +} +.fa-cab:before, +.fa-taxi:before { + content: "\f1ba"; +} +.fa-tree:before { + content: "\f1bb"; +} +.fa-spotify:before { + content: "\f1bc"; +} +.fa-deviantart:before { + content: "\f1bd"; +} +.fa-soundcloud:before { + content: "\f1be"; +} +.fa-database:before { + content: "\f1c0"; +} +.fa-file-pdf-o:before { + content: "\f1c1"; +} +.fa-file-word-o:before { + content: "\f1c2"; +} +.fa-file-excel-o:before { + content: "\f1c3"; +} +.fa-file-powerpoint-o:before { + content: "\f1c4"; +} +.fa-file-photo-o:before, +.fa-file-picture-o:before, +.fa-file-image-o:before { + content: "\f1c5"; +} +.fa-file-zip-o:before, +.fa-file-archive-o:before { + content: "\f1c6"; +} +.fa-file-sound-o:before, +.fa-file-audio-o:before { + content: "\f1c7"; +} +.fa-file-movie-o:before, +.fa-file-video-o:before { + content: "\f1c8"; +} +.fa-file-code-o:before { + content: "\f1c9"; +} +.fa-vine:before { + content: "\f1ca"; +} +.fa-codepen:before { + content: "\f1cb"; +} +.fa-jsfiddle:before { + content: "\f1cc"; +} +.fa-life-bouy:before, +.fa-life-saver:before, +.fa-support:before, +.fa-life-ring:before { + content: "\f1cd"; +} +.fa-circle-o-notch:before { + content: "\f1ce"; +} +.fa-ra:before, +.fa-rebel:before { + content: "\f1d0"; +} +.fa-ge:before, +.fa-empire:before { + content: "\f1d1"; +} +.fa-git-square:before { + content: "\f1d2"; +} +.fa-git:before { + content: "\f1d3"; +} +.fa-hacker-news:before { + content: "\f1d4"; +} +.fa-tencent-weibo:before { + content: "\f1d5"; +} +.fa-qq:before { + content: "\f1d6"; +} +.fa-wechat:before, +.fa-weixin:before { + content: "\f1d7"; +} +.fa-send:before, +.fa-paper-plane:before { + content: "\f1d8"; +} +.fa-send-o:before, +.fa-paper-plane-o:before { + content: "\f1d9"; +} +.fa-history:before { + content: "\f1da"; +} +.fa-circle-thin:before { + content: "\f1db"; +} +.fa-header:before { + content: "\f1dc"; +} +.fa-paragraph:before { + content: "\f1dd"; +} +.fa-sliders:before { + content: "\f1de"; +} +.fa-share-alt:before { + content: "\f1e0"; +} +.fa-share-alt-square:before { + content: "\f1e1"; +} +.fa-bomb:before { + content: "\f1e2"; +} diff --git a/src/demo/manager/src/main/webapp/assets/font-awesome/fonts/FontAwesome.otf b/src/demo/manager/src/main/webapp/assets/font-awesome/fonts/FontAwesome.otf new file mode 100644 index 0000000000000000000000000000000000000000..3461e3fce6a37f2321ecbe64707f04c0a4f05424 GIT binary patch literal 75188 zcmd42cYG5^*C@QQyeoNEmI+v3OJ1!hp?BN#Bql&0F(rUQ=*C61jEjsU_uhM#yN!)a zZ=nSOfy5~U0x2Yzbn+xmdPp$|WF(Ia_sq&BJV=l2St!J@u6Ld}hLIigG(oNmSNVYp2bu*`8&mCT(g%JrKs|W6VjPjD7@?@<57`EsF_Gij(~7S;$jX z2uy5njLz_R|~-giuu0_{g+f+ve88OQ{Hz6>Y}qGm4HH8LdoEP_Ir~wHA13xKq37E z1Q7#%ImkKEQfdVC%s|@tAvjG9rGf|G%tLS)wVE;wz~z*JdUGJ{Lb24ffiy>{sLuw{ zN=i%p4&x(nc7ggcB(4K#2{l|&I*@jvl#*QoX(=^T^1?vc`5_#d8Y8(m0B0V8%cxE# z$pBnVc{p_qq+KX?r%B0{5Tf&5n`|=c zVocso$A%h=aRy_sSr<0ddtr36w}@);HtI||V*&u5GQ^q}ChAOv7#*33dEO5J<`I%J z*XfL=NJFf*@6;JnrxS?Jv(dU>lMZNv>x|xJgST0)^ZvUTCS9nR;D;OFCALM<4|cS0 zYNX*m0;fd-nOKu<8nuWrP;pc;Wuzjh2ue?xfq7<9)2SJhFQgVyVemeL(m{GHV42{( zj*5ZUn|hjxr9$DY5z3R_VDViTHB~GZO+`ceH&s%?2xUzWj8p>r63nNdWGs|hNF|Ez z3_x2)t$`3h#RG+4z;(3FM9l*V{~4dWakP0RwGPS}p_WLIvN!Z%D)eP4^k@*r2UcJ- zU?=@*H?{x2(58Ba^p5QH?|rs+TW>_~_TISOtlp~Lj^1Ov-M!a( zzv}J1P2C=H+Z$+4xIO*0|LtdQZ@V3LJL`7U?T*{WZg=0lcKa(r`~KGyb$|2y)%O?P zpZ?_!U)FuOW{B$$#SnIg%Mkex*jk1-50MUW8X_4&x!rfW>vqTOPq#nZZoBom{jU7N z?Kihy-F|Vq<@U4NPi{ZD{owY!+jnl?x_#sJZ|;=H59|LA1MdHSc=vyM#lTJ^gTau`vLeC!n{ysFfXP_Uc`a;;df9b8Q`%5CI-q;j?f_Z z08@+f2t13LIfyd|dpIWbJ7SE2M+X6Y`2Iv zkp55o6=8%9;E*zdF@cM1gm+?lAU^<05&JWMOK=9?GfrY#nxQ=#37!98@E7s2C_kX( zC)VL8>pEDTzy|wG(u4WIx(CZZyip8U549cAFn<07M;srB30*Ni03+$ax};f-cVgcG z?mU=>^dM|7CT$V}dFOaPnef&?TC8tyti(D1AN0WcgLMzq`5)sfN=5Jn`%Q2L%ZV|e zl|>C1nDg+#cYyEwFueh|8;M1@qnrlv{tx2;EpI}L@Bj%;S(HBnvCo4r5Z3J3VAh|L z<;C|91Fq}f+8ik7{a@>YGGgBWt|0H6vm9+D_>zG%!GU*vgSez_v3`gN?0**q@gSZe z&4DsfsLMf%#B&~$%c2BmvjBC70pNldvK)OGz|)9*7$^_8{)72JI)izrZzX|2bz&g6 z5X63xu^GT)2Fno{M$)8hgZ%>hi3CQMO{9n`r5)Xz4^*h=``X=^^&>Ji>7z6GQLVJL| z_aKddx*yOSg#T~iaf59p@jw_#VuBCxViH3?=0bWXsoR0$7|#Km$Kk!l!}JNx|I;6t zQ24u_Le9kh{ZB$TOd^pe9yTF>YR?YaZFd!x{0fp_1!PlmxoWQIAlbaCRI;O$No?ms&tQPAvhI zcLfzlZKi@i0oH?3y#tirbSj%Fr|PH{s)IU29j9KRy5UrMnfj3Wg8G5#rT(J&;SlaD zkxPb1R1%Fukc^g0koZa-mn@S6N`fTOk~m4Kq)<{PX_a(J4ogl*PD{>7UX{Elxh%OM z`M2a}$#0TBB}j75iFF$8q;VSOd9(^983P8*!UoeWONP6bYtPEAf-PDhGoA5e9%B|W&ob+o%}g+} zor!0%nS7>*zlX3A#CmdZBB z^s;1GuB<{3O7?^7SJ@vjyIdjH$RCx@kk69Omp?9FB3~hY zP97?ck{jen@yA4hRgPR6M?4L6qa z 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�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 DgjuED literal 0 HcmV?d00001 diff --git a/src/demo/manager/src/main/webapp/assets/font-awesome/fonts/fontawesome-webfont.eot b/src/demo/manager/src/main/webapp/assets/font-awesome/fonts/fontawesome-webfont.eot new file mode 100644 index 0000000000000000000000000000000000000000..6cfd56609567bc9db55186415c694d1d32808fc2 GIT binary patch literal 72449 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
U~M!&>g0b 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 literal 0 HcmV?d00001 diff --git a/src/demo/manager/src/main/webapp/assets/font-awesome/fonts/fontawesome-webfont.svg b/src/demo/manager/src/main/webapp/assets/font-awesome/fonts/fontawesome-webfont.svg new file mode 100644 index 00000000..a9f84695 --- /dev/null +++ b/src/demo/manager/src/main/webapp/assets/font-awesome/fonts/fontawesome-webfont.svg @@ -0,0 +1,504 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/src/demo/manager/src/main/webapp/assets/font-awesome/fonts/fontawesome-webfont.ttf b/src/demo/manager/src/main/webapp/assets/font-awesome/fonts/fontawesome-webfont.ttf new file mode 100644 index 0000000000000000000000000000000000000000..5cd6cff6d6f6cf438a882e366420dbcc5dddd3f1 GIT binary patch literal 141564 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ƓCICn66&u!PHl6pn& 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%0D%8GQ!Ai?6y^fVUY%4hi>cI9O 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
KT23~?3Dw&p)A=062yj$!;@;Sv13 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 uQr82 literal 0 HcmV?d00001 diff --git a/src/demo/manager/src/main/webapp/assets/fonts/fontawesome-webfont.eot b/src/demo/manager/src/main/webapp/assets/fonts/fontawesome-webfont.eot new file mode 100644 index 0000000000000000000000000000000000000000..84677bc0c5f37f1fac9d87548c4554b5c91717cf GIT binary patch literal 56006 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�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 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/src/demo/manager/src/main/webapp/assets/fonts/fontawesome-webfont.ttf b/src/demo/manager/src/main/webapp/assets/fonts/fontawesome-webfont.ttf new file mode 100644 index 0000000000000000000000000000000000000000..96a3639cdde5e8ab459c6380e3b9524ee81641dc GIT binary patch literal 112160 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 zÄ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 V*eEM;|ho{trTA6=?tf literal 0 HcmV?d00001 diff --git a/src/demo/manager/src/main/webapp/assets/fonts/fontawesome-webfont.woff b/src/demo/manager/src/main/webapp/assets/fonts/fontawesome-webfont.woff new file mode 100644 index 0000000000000000000000000000000000000000..628b6a52a87e62c6f22426e17c01f6a303aa194e GIT binary patch literal 65452 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 q%u^)w#YX9ZIvhtu?9Cy6YRi6f6G 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 literal 0 HcmV?d00001 diff --git a/src/demo/manager/src/main/webapp/assets/fonts/glyphicons-halflings-regular.eot b/src/demo/manager/src/main/webapp/assets/fonts/glyphicons-halflings-regular.eot new file mode 100644 index 0000000000000000000000000000000000000000..4a4ca865d67e86f961bc6e2ef00bffa4e34bb9ed GIT binary patch literal 20335 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

!oRptb@n+ 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 literal 0 HcmV?d00001 diff --git a/src/demo/manager/src/main/webapp/assets/fonts/glyphicons-halflings-regular.svg b/src/demo/manager/src/main/webapp/assets/fonts/glyphicons-halflings-regular.svg new file mode 100644 index 00000000..e3e2dc73 --- /dev/null +++ b/src/demo/manager/src/main/webapp/assets/fonts/glyphicons-halflings-regular.svg @@ -0,0 +1,229 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/src/demo/manager/src/main/webapp/assets/fonts/glyphicons-halflings-regular.ttf b/src/demo/manager/src/main/webapp/assets/fonts/glyphicons-halflings-regular.ttf new file mode 100644 index 0000000000000000000000000000000000000000..67fa00bf83801d2fa568546b982c80d27f6ef74e GIT binary patch literal 41280 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

?kgHT zW8nLI6bq)T&^c}vFIsaRr1UMVxVL!B8nW$Ms$gjgG<%pX#RTXo2oSa>I`B8Sk)|Va zv?EL@@^A63b?PH#g74K`I&Rj_J8NZBh(WO`#d3B#@0>`JDM=v?M;~|NSOaJz^`RX? saqB_8z!E=}`**Q`+qc1k@2?*8u886w6|Vk$uLvn9LP0F|GM{ofDo=l8si<36tAKF{ksujBr3ANT3R=`6sG)i=-w=;-JG%-I4? zX@D*OqW^dcu78nZz!p6Y{gR`@9utQlnxj5Om z&T95QCUk!~K@7}ijqEHCmb26U5vT6~4rU-62nW%L0Q4MmAP&0IPCyU<=omm})BYDA z21X`2Ff%>mjMilb&VuPdU=Wy|0scorM-O5E7&*YgOq}w}T-qjgBe;E%5F!dX1vNbF zyrMYMi;60`j!wRQ{>imr0Xsg zaJf2m;N~H?e5wCZeY5OB8D?q(RYDX8jwM5sa+k`8`|MO(XSJr^?O!pwJJ-^jt*<7$ z=}s(miX}J&PM;1_RkL6`@UP>alEt6a?7fuH{}P^>EX=B$Fa=i?SOv%o zF?Nz$QjsqL*Wu&Dh0Sj#vmfJz&(ZRwOg>R7@lscmN5(N>R%}S#y`L6_;^J1fWDdGM zT~kKtYW5MmO4i(qel}h#SfmI`**rS;US($K4u`My1$-64ngk7aSpFGdq!N@~+h<_1 zBhH2=gr;nuf5xtC0#{b17#jGjDCN>Tp~OA zG2R|tV2`lfZKW%A2K7Qr#%7D{M3EE`@;@c8D(~bH66dpewnO6a*uv1RCJ{~jA&AhP z_L0#zSwTJDe)_`XYHI=~-ELN%2;Fu|92DGY7UFx}txH~*tUM3nj*e#!)l=8$h|$v| zw|C5G6XJ%mRIG>+g?MukV(|uIC9B6TiD3v=Z&$p%=zBc+HKiIf*l>I$-SZXV6 z)3z;=8;4}P<3cU0XUs%}e8`ZLfI7mU+RG*I+a(S}8wBg*c}Gm%X0^bh+-t~{*$Knc zNY@xKo9Wr${O=hD$f<46#>Cr(5s!xSOiu|NeR`Z6a9~+3QEH9)Sm6OMMxM=by|fT7 zp>tNSlaDQlq7Dlgud%kdlTR!BN>IP0c8|;JUM^I&G*Q_Js#H8rS^z@;;*q&$=L@SS zf5*)}?>MKVsi&SA@TTK(+d8W(ns|GUuWBH&%gQ&ZuI8qZ4@SVHfi^x5v)p3Znl0k= zl^#RIFDZa`=S%M5jCiD(h;mI=n6Ggk?UwfE1{sQ`_XPKK%~js3D;5axa)YbPi7xeN zekT=^tIm^Hs3!Dg5S?snD;%x)(W2j6`JzE(YF_E@zl~?v+~vx>r%?jS9C{B2yzv{d zy*!IBcL&Zx?XGTr-vzaB#5Tod+)Gv0)F#zbxnEMq^J6N4a9ASJoWmN=E36t@zig&~ z*l6+huyHsl&b~C_XJ;wS3_nuS&Gbs|(Gpb6sj!c;w!d14x4CR!YR{@0zq&5{SIm&v z?dk#uzw}>ug!@*cj=5595z<<*x^cd}_d(JDPW{OfDS+OH$rSr7{VR?h_5x9{C8BzV zy515@323CFRB7gTYA7o)k$jFM{dxw^eOi&OfCs&-5{H)t7k~5;Ru(X(_&BvfD`i%{ zX_d?u$;7VXQv{`GUN8FnSkO$w8&g_~R}UV%@7*K_+j#xXUFnMXz}TBYluj#78a>GQ z39$95LA%!3c%@Zc^DakJ@`^`JKEACXOS@0Qw(YtczE?aj)7)mW`7PBQ04Bsf#QF9( z1n(c#uZOj2tiTN)d5)_huaZoC+h|iF@>ky9mB!U%pD2c7R!0U&Cu~-2{Ip9)+j7kh z*58O9*5`a`J}z(QoWIu;;eY=J`tZb(@W|Cn`xymc8hB@_GDIaz0}+4rXvr~Q2e`lV zC$tjNr}NIS7_?(^FrqZ2wx33EUf{OE}E9Sl)E~XV`e+nEv zNO8R7CRBbkCI>Q+K8|=rl(tGlUiQbbC5-1ioU?cpsgoVEMuziFUkn8^dTf#!4&6h? z+PFA|zmDA1B%=xcrXUq`2tA&JlyHmc#M`Z+PEM+YJ+k8Fkbt4zVFzeSfjT%gzyN}= z?Sp6`AwaxoR#@uDBO;TKwd2*A;m`>w z=bz(Qm=X8v(^UEW@Q0b%I@gMf`J@>|#k=&1Xt$ ziWfZHJ&SkA`NO4qBI`0ja1Lh!ntY$sE&t-WwTv9`$4Mo747?&n_$o^Qhh^<$TyUgh z2jU|gQpu%z_S@7I`LXN22$vt%@IOmU+s+>w`vRSY8Lr~)*n3Es>GRzsUg*hy;%iod zfN~=%F@|7s+QhbpMO91TWTRH%j!CW#{F@H8si$t)#2hH$zNPAC2Y&(BD&1Y@IFbnC4rWy7FmboHAum z@|i5LlEu9;`*FaIP|l`K1SO(}sC47JziiSxTTx7-<)T3AR6}autsUiF@44!^!5i}5 z!+jR;y@@+dWs0sxA5M#yN7*zq43XR~#8@{qBYLLZhyLrI7^;Axkvx@(e2U@>=1}k@ zcj1S>mNIR97OKtr(p2XxD-p8#%e7Bhx@bQKM!&FR4GiTj2_Ywe62e1R0(>6*5(q{g#kni1mSZ zc{&dY{!Nm%HOd;r=$MMR2XpoakO0OK@u8j22hsSdd(d|wcc(;O+c*w#vqm0n*Cf@_ z<8mlvng!)xp$?|L;>X&WP}=_Qase-!_V}C4CyiUv5X+>G$&%7M1#Qb&N1iuJ!~(fQ zQX=(n^?9AqaPFj0(_}@AdWQvUbp9t(q+lT)H+n5|9y9R#BjSnM`b5or4e;lX;VX^G zW-&!&6Sdm+5T)W-(DNUveBKSVXvK3%e;ezN$}|olrAKlnt20ko4uwKWC&pTo2TB(z zC5&QdFDOy3J1Dgg2t=1_reVu+SA?ZS_re}uQ?hD_{QwXj-v2VsS;Gd!`Ah!8iHwN& zR$3V)H!897`36r8_O{s$tZeX?(%WG}AU!KuMd&>K+3+OF$W@vlRG#Qr8vXD^a!k9F z*!4v$?&XS!hCvl(A>+Ww?bWX=)N#8#(av_#<(7~5?@%Y}<$(*2nnLrCEL&gY=_p?| z-t+>Aa^6}!q}^{Ds5P5K9@p9*qT_{R{fruSHSSiWGMOI(jfOWw2d+>$+4X0mBAKT+ z%pL+wX_FT$R#BeWH>oh)+UGA-%48?U*c+Bb6X~Dw1oF)cwjjyqVnydHJEUwql7ABw zt1g}-<@Kum?Nsyg_30$BJ@uu)#2`8iu$CIzYFHt@GkL)`6;NQV3LMj@n)@P~ag*^M zJ&jAAZMMUp{?~~e2i!Q`>Tff^!d}IQ>5P+G0@`m>k%x1vMLHQ~q<~A-+E+pD?R2XO z=1G31q8{BW5Bl)3+~nd(aZYu)vN`WL#`ngg8cIorfPkdEi|W^}Fl$?LwXy(>tmD4%R+C(ShG#}U9233 zV+Rm#7EMMbmJBBUHtLlQ zteghjB%+?TYX3k*8paCEz`sygjF9K+OI$mVJrW_2*@hmdX^%ejanLU~>PKp=aJ0 zHj>RI=_6?;ulWwm&ai;xR)eZJSZUv60NI15>;`QVGFFal?qqXFQ@a7K*%0U~K zv@%ka7n-JBt(X|C&M`Ql(S<@C9@~xTO)O-q%|lafDBoq=E3XMB2VdY6_yjqnkr>KCr?Uw$h`MsvhwrIp^R4})h zW_w;YQFQ^!*`<|NRq^xLtFPDH*nd-XXyqeF(0lbk&9wbCMk38uQZu63m*z5>_cj#R zsS0hZ>q#P`d=0zz{ZfM78rWsl37UR-+g4${@^la9kuN4>M#ZP%I{B`xexm8ctMOL) zFA3)hhP$nYP>YE7@zP}dVLfi+=txD(wfEkFWnF*859v|KE9FVJZtR}q*Om7 zs8jnaqG8WCnv_Dl7s%PK*-&ot9!wX-05O!x^Ygz>0jrs~z1!5XMt*Gf{Og`Zu{#Kg z=?y_leFR1>A-|%-q19*=CTjfT#+LnJu}W;AQi^1V;Y!F8s{T#4$6}*LLzNPt(vI!h zN;{tYCOU`R+i5VoK|4YkZthNVcg_l{YomDNI;JnRfS;TK2!-B=tlbOW5D|ubqAZ>! zuu#fw=;xs$t|9)2(KkE#ZeZ>c!sz%fI#KnP>S`ahwfbIFSHaUNl#bi0=EKNsZT|)} zTWU}hmwuH?@{m>L0_KU8>t=Pyq06s8sPFH3#L5;qyIB`ZwfU4p#%WcCy+)mHI(?>;j9Gn9AE`P;4qK^ zJY-6MpMj;NIrxwEWdcBz0C*vPQ0qUY{rdp>1=j!y05BFPtU>Xk1wyP3u|-Ir-vOsW z%un$kUx2t2;uAFJfDn%y_+5VS+XHt0#orE?WKf4f4A}!yC$g?4b7tD**rWG{Eh*gL=@FIS2qC z7a5Gt#{poz1;AcBgYl!7!PqMS06qo4{mg&#zL`)vHz9xOKR!%80Nk+vw08gFbD;y! z2K88Q-j7Tp|Gf_!nwi|(0Qgi60H*^0d{D319RI)ZU;Tz^AJhjWlK|L+17JP`z|C9$ zjzRlzJ27T}5kSHb2m~AnO-Lm25Hkl0Gi2QC?5rFpZeCs#HwwjfSmX#FzmNb5C5RRj z5)~B}7w0=7iIEh;h=_@c9Tb5xRRa)3oOwK0?x?Fu(-=-*ta!kx)ni1(=v%$b)D6-v(ns!4bS@ zWdlCR%ZzEj0VyF53h03~Em=CQ0yJ}dqd$@r%LJ5&7jc3!s_(f8ED0=h1TWB((fHaQ zM%T#iW9Pbgr~Ui6?A4_81~DT%QALEfp&_$m_Xv~R?OXqreVIqCcB%2vLmTI}O+zmS z%m$;shu)z1=>-4WvO8gMdhF)51IW(A^m?Gn>Xt0tRUorY-LI?v;8Af=Ax@ zTz8?ia2E6C5G5(}d!^E+8akeRzObxW8G-lK&AHs|>2G<1&7bL2uQNCAr=A((2c^>0 zndAoYPv6Twt2Q%M+x)x&691|SG^i3zBt&7cU>e((!4FHo-nZoSyl)c?9w}fw4GlC@ z0oQ$@l#j=^1K-8meZ{+$>!e|!5l7d=+9{w5f!B& zvV?ScQs^!zxUADa%;EEAODDHEpRHM$Gk>ZWRblSQ50_LO-5X?pzWJ=UfmZ#YaIO3= zqF>9d?8=Dkv`85&WG*?rt2#3^*QNN46^z zhuNiPcFbhSXbT|!NRhfE@Up~D&X$t&G^kyeEFaIUYv`ZB0E06yhs@dW#-x_c%gV;u z{FwsDlBq9-(1N9hl%}j3)?^=PN{v~=fK1CNS(58ECsX zeRixt%u{6+{`%HA5=>j{(yEjTb}hg}Ff^ixUfQ>e`6)Sj=EVs;N^I@>j}At>g;6IK zMOmqh>pqoe1J+$qalyGi3Nx!QA$1jRA}r#$-?z>uqVLQe{*al3s3_Of*}7{pYetiP z^;*g_X|9?pi*Q{eCIfrCX970044++`sGVckbwk+TLaGYV4ek6`rb24;>@_NyEXvtp z=EiS^dG+pP*lCBPua(}E-?k}k;W`~hZBu3&4o^#~7Zf17RG+a9=<2AcJ=ux&oR~*) zeQs>LD#EO@P9lz)KH13Iva<=SRh}`c!uw&6{9m5sxkuQ3%fRPt7`{2F&6H%Fj27_B zal>M_b980lqEg;3q6Z!UUe6WyXrVrO)=GKun9zop>9<=+*in z-hzk2%W4r`wesv%EkZhvlLvZQ*^X|l{%-Xz_`?e-kE32HFVCO}A&X8#Dj_u{3!+_mH@rZD_qCA-ca;wZ#0~EbCVIaJJ`5_Hg1r z@T4L_K()AxwLeIOi0yCXzUxUox078Msl1hKQr6!Wb$qNYiWDAK-zczaphvz-td(!h z8IZ3o%s~q9rPutJI9$>oxp)jyI-G`jyrjSVp={1D-Bd0?8>{(1G(pNm#pAj&&gX}T zNMxu>8?ja0&+KFIECUR<(4Jp)ymSlpC+i&Ye2Xci{jr+fdz@6*;<=N(lhd@fi|_I6 z#8xMsG9Q${QAI;fBW96Op3Dt5wrc{TdEA|KJ3Z?nlNe3(c`hEi*E$b{X}nRz zh2`4I@L^9PTTILIu!k*wz=|qW%K|^=(@lv$;r&S zaXQc6OIsR?NRPU2ORO%}tUTiDHGn3>2e3q13u~;_mwpa96fWkp_&qW5_~Y>}<%(f; z8?Iia59=b-DfCxw`<;qO|bmG#-t>DXt{+`huLIg{$E zb{5x+^Q)QvUOLv?nBgFMqR+Zsp zPYa#*?v}S}5#<`XC0GmH{qd}T?&gOh=hrdl$uQ@iU;kRnpg6ds)pwpYcpCSY9NxP> zH7+G<;@V*7UB63>$%fm6nKxhRj4xXp-Z)~o@Ru~d}e|zPNQK7SJBKyJ# zX#IlKQ(r2M2-Mok)#a@jP!-Ci)07oeYP#qrZ{Nfc^I8c_g_VMzbF;NB-DK)~-H~pX z&Y#XAC6RbG;lm}%YU>Z5=7Rigv^tYt{g`pU>*c|BD}&t9%bwGb{8l)!F+T}Dn8}e# zz(&7cylbt4C*S%xiNda$8#+d3=Q!X4`fLma#ENTYZW5@p?3ODSl}4KgZ?B{~X6Y0K zL*97Q7>*nBvx0f>^PQ-@YKsD$ml@W_(j}j*oUtuCre3KLA=)SNw~h+VhY@`Y zu!K2TdndO2O9hcv)wF*tev+Dyy-7>OJZt;QfXM@Y|K?FsGP-LsKjy)Mt?r7pJEgX) zo5{j+7entfxixl#wMwduI2Si=p$BbVb6qGOKaP8>`KjolLnYn3J*U+yJgL~cU+a0+ z7}D7McG_%oXgc51j5*Dt+Z9*oW0Pif`O%8k8Q`SaM!8IX&}>E5G!aK{3{8zI-C_Co zBt>`tF59l)N*w((9Zk+v>53dGq+5yz<-MIJ4_~ zij9Vfkhg^cD2Ue^>kF-|Up0NwM9CihWxFGvLYtn(-ofoWKu}-jmIl7f_q<^45i;Wx zYB^=;(eBGmn%TX|O2~)zw^|UkYJZ*RNQx? z+JOE@J-?#7y|wWgha)S~`EmSKmV#CW#nC#(@)Gn)*yV~5r}`mpE+4l9sj<-gas7+= z4j%P$j;=p)DFfK0Rh5|al2i552E&m8EzZ-^YdMD(MFN;Hm{R_)@YeYqg428R)0tzp zPGwzv*G1H+#9LQCi~agltsJTFv|}_fDYl|{zoa$i_G+?uugBWj&j4jD7VngKwoJ{a zo;FF>sx6OJ!bKb969xs-)Hd@QB{VLQOLu<5@F5-dP2{nH;IC|!$$p)V=k3*%s1>DJ zd@DFRt3y(c3Ou&_~s++3$ zyDaT1_Ezr=wOM|a%WGCz;8qDmUBSSYFI*;VvYZpjlvxSgx>_=KpT^g}U*MunHF|-8 z*_PU035i|tUhab97l+Sw?T`8nU%3HJ31*OWHvXCG@X>Ac#M zd#3M|t#&G_@;d2s%Z)3~3)c6l^)9KEFHpG6UJq@~*JRB&rznb#{K>{|+Il26vxG2g zr#S3fvm!4_Z8d3sSm>Mhl#Fi6v+|}?ly}$_M-Jfh{H?tz|79QHW6x2eUVe_+tPZ1V zwej=vIEqvaXj8Ci7wgx=$!*h?);<_{j7SX2x2r4Luu(-SD?C;;bbIzT2=FPqD&Aih$r|$qTw6U2n00;yEOwShJbQxd> zpacEIU#2?)m;wA3ObiV43=k$L6v707Kv~#Xpv-K{5C|)rm5m(+gTtUK9Go05&a)Wy z*97=iNe5;+6T+Aw%x9RiJf|Yg*~Ye>E&*8R&g|fHaDX0QtB46EYJ%`O%%hKUL)3AGw_NFm) z-6udQAND9r611{vR0+vIHn1x^m1? zN6)5s{N!rAfhDbrYWp=%uRz5Xw;eu)+>U;o&g2Ki^%vETauvTV zOs&z5MqAy7CS)si`wp&>FRy=OX`R0F1f$~e;No~ncAsn&3XwBgZiNCe3~cl{HP$g@ z)+G8Nmg>Y)Z`;MTn4w}6HRHEoqxja)2OK6;iDtaGm;a%ojh6U&VHl$kT{Gb;sQ5y& zBsS(Xm&l#R`~0Q0w)Gj=9d#2rJJ=>KSEA;|7uotD4$$p=qL#RC0l94z#j!MRq5<&9 zjLFwE`GKTT7(OhsiRsJANJ*F{4-67F#!B$srJSEm&gK;5{vX5gc$==P*Jqh~D=E*b z0Jz>Z9?(p&f}2gMB$d8oAh-q&RHVRZNt&at;ve);GlvNjeI=w>Hj86pp?b z3CK6U@?BD)HlUl@QyQ9Szy5{ceW3&vVak|aE~K4)BBqe+T~cGEqv)_c`A}NMti2VpRL?nNoz1iob)8+UYrE)KV)Rg0uDq-Hh{*(%ImzL;rR#8t(5>;_zeEMb2SF6U=f*Clpje!YLBJEh&!!6lSR}Y zmLEk0-b?sLTG?Dz0)H)L2UA)n@uVVn%`)>hn)3YTE1wqxYesmXS+ecHJNkES1L_d+yAC5pw3Q|}tCwa&H9p=<<*aczV60kQKpnDP(B{ua?Oi`sM1rjKK-v~Q=lWD;#RYUTE7`tl4+A@FASD$uQ znlOHFvIkM&CAcG8Hmd%ao=W-nLB_Xnp5NSH@lu;TQIVnw#WVm&MEQnx-B&9nIbYDJ z$alwH!u4ZXLRv@>#keG=V9N&n1Rg`|8!`8Z+bLfW#e;Ld$~|fm#UtD7?kh-{p$pw6 zpp4dceh;y(Lb^;po%;#!=J5cBl&eki)$b>T2w zo&%!7;AGHcl02oY*ccnI;eI@T>-sT%@ObG;qFcTANk~Silt|@|v=y9b!QvpDZmiU| z?|zo^ulQTKl#^ZYnZh2!tPmqSV};thFK>IfQJLzdbi5=**=Vs>AY|_XB@~f5P<6AB zAnDmjEWGS+U9U$v2av)E%*DDR0uG@u$jgNJ=2T$CvRMnaw<%Xvm97xdSH2-PO<}64b)QPQ9&YM8KlJbJZ6ow3%Hi zz9XBSbc3~VmYd=yl6?vgSSI>b&-L1-_1*aSer(lT`9*C)p@_dGTO7S%BED{(RAir4 zFnmsX`cJLbqZthf9yG z{vC)W|p!yTBAD6Ymzs9=)=cCAo|{KW3C$m}3BHn7q#qU=N|K0PS9 zg@gG1Qc`jlcU2zvPl7xP>-~G{JhqvG0@@bYyI;0<_r21WFva;*RRiP4hB^0*$i&~n z%cylehN_iqp7-8W)lxp_s+Y^)1ko=hLH=Yf7OqE2)E&iYORHMhIq7p61vl4|kA*Ci zvrWdOTYr#m_+C)Sf#==eM8B{ye=%iVn`G#V&c9d5lh(h_Xu~>x{+4%~Uh+g)FFoJH zuRop)w-MA%ar-XMwH&S<6h)P5xq@R&w@gQMQmNy7YO32MKf7DYPSH*4MMn0um9HbE zag7|==qJ+22BxC?lxDKQ!XU-$kS3jNFBE9@K@MCdNS{i%#5z6xV5S8*e*7deJ$3B) z@hz71^<0O6Teejn6o>|lQ^qWL*ND4D9q7iRk)I=9Rix0l!Pja#zcgPl=B=A_2_D3H zw3)1NhlVdTwHF*+QtR;lzOK?entlqvpS*N&?qxcu3C{PU5GmqNa|7A3!@;<@f)N(0 zWpFK;XV8zkr}*Y(5cW?_A55fHuR={Mc1Gem{M@rUqrN{(rKfAvps?pIO+sS&-NHbr zH1QR`v6eZqs=dtPshS6*fL%-h9(oTs1(9ye3sgdX@Z_3FUfQkgDfHuxYleAkNj)Xy zevP=5RmkQt@pPl0-Shx?ov(@j*UyYu7cw!#o^v1S&~bYFATQI5>j<9&zw1U3z}?<& zL8{sjL|u*d_|`QoKC%Zhvvzho{l+N>Ym6&!yu1Z@aMUPcUsARge>52CSlI;@A=3iS zZz?P0MMugLIa02geh1UlIgaTIuf6Jua7^=wn2A%@j44Q>u}bBL+eaBGsFb)o|K4+5 zX>TXK6uRiA^u@Wu!$AUuy8UsC;Jq(EwmH^Z?^LHI3?>gQ$c$@}znb=~?m1Jh1A5u^Neuv~?ud=Cv0DJn5w-FUVNkdUI z`9j1K3wz?$vNV8{&)oTr@9Sr_uscmcHQ7>Adw~I|t4S`>hz38MFL{+L<61 zmMNjL;M_>E|3xzqUnT_|n8l@DQ_1+q#%b|ZuLfrR$Vub{_a(8&1cEC1v1iuN0Jv)( z*yR*%9`29c0VHVXmdy_FT*^(KYq8%X3aOz-$~j+H=3dp+x&be6^=|{t%(8|zJ&>hX zkIrIJSu64mc!M%mBK_sedXsHHgH3Tqkpo3K z*3UVaIPINHB5|{cE7lWyA|Zu^|7vYBcX;&5_+94yCym&#d?ht8LJu<2oPrkEeI|f$ zvL5TC)vDf%cE0VRb_(eFr+5>`_-G_i6Sp^r&I)A4tmXQ$65qeiK--p%R1o(4?%p%x z-6*~G_G0Heswq*`+EGI=b_n2Q8J=+zq+I=+J*`^ zPzH7{eEm6Feh)|Y*klas=&nas49v#H$X(v?*j{%7roxTBd*{lcxVg_|6)vB<#?PTO;InXi&-)_J*YO=YWj#Qm09y&EA_?U8vQu zFZOeA6&vNVMsXCQQ{EUC5bP>``5Kvj_cdJTdI{}G1X4t1NDoV?KLOkprXQ>t677^t ztZ?Q8>@Y{D(YF=q`K2BaZ+L>M=x2iNC~pd8JA#82$%@L3ws@XBD#O0`mVZ zWTlGeP58w4mETUXy6Bargu!QaR1x7CyzUWo#Q1UOEhUQHgw`Mit3h*+fEPFvW}9&b z+}26B{OfMqIhUHKl>t&n+P}PRS28bOO0VLu`2?+bp(dMktsI1>-#!I&cS;e*6ZyRv ls9v)vi#*W0m|)qrc7IIzikQPHeshvl3mp3H9_OD@{tGV4mnZ-L literal 0 HcmV?d00001 diff --git a/src/demo/manager/src/main/webapp/assets/img/friends/fr-08.jpg b/src/demo/manager/src/main/webapp/assets/img/friends/fr-08.jpg new file mode 100644 index 0000000000000000000000000000000000000000..51757c26b738018e727a0159176b96cb87bf7c66 GIT binary patch literal 4492 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 literal 0 HcmV?d00001 diff --git a/src/demo/manager/src/main/webapp/assets/img/friends/fr-09.jpg b/src/demo/manager/src/main/webapp/assets/img/friends/fr-09.jpg new file mode 100644 index 0000000000000000000000000000000000000000..b94645756cf2737a0e879bc78ea213ff24704628 GIT binary patch literal 2064 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 S5lmKzGFtn8Ev|z97XA-byTi2r literal 0 HcmV?d00001 diff --git a/src/demo/manager/src/main/webapp/assets/img/login-bg.jpg b/src/demo/manager/src/main/webapp/assets/img/login-bg.jpg new file mode 100644 index 0000000000000000000000000000000000000000..135e3ded41ac461d4b3adbc0ba15b57f4c9ff7c4 GIT binary patch literal 572160 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�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

`?_^+eu_%G9oU&!mV4i}lji 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%0AuQM*+3dZ!}J(!b&E;)!LHRIRKWT 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 XJ`EJHPJj5cqdxwW$nJ%}|9t)*9wD!U literal 0 HcmV?d00001 diff --git a/src/demo/manager/src/main/webapp/assets/img/loginimg/1.jpg b/src/demo/manager/src/main/webapp/assets/img/loginimg/1.jpg new file mode 100644 index 0000000000000000000000000000000000000000..e43067cce342404d1dcbd8bcc70c1f363ba84824 GIT binary patch literal 72128 zcmeFYcT|%>v@aT3=q2=CLhro`3IqtfmnbFlj(`+Jksd-Pw9tE%UPVM9gx;iyh@f-< z0Rce~5pF!^-h0k^Wv%<~TkB2M_f6Te_w1Rh`DM?Zo!jNxbpVaNj-Czx4<7(<#eD#` zhX4>H#Kq?c01rS2_}2)yJqA!|xIT1t1Go<0TJUZ^0pb97|K|z+zY@X!PXCh~9}f>l z#XbL<@PAsk9RPqx@TCd33GhGwd=MT12=8_X(1O#Ckl>$ioTmSo2#J8i_yi<)q~v6H z0Q`Tn|3$&&1bF!W=rp(z5djGa0TD3)Ax;@Q+=7632ndO!HGn5(PJ!jLVB%;LWj+&R;Np6|3mR*Qj=Bqqx;s8Wu}1rp0V|HyR{rwcybKN&bFxY2M!;NcU1cxVZw zHO%Oo=ut$04AJFn81S6T$%gsu3V;GP7Cwjo1h@;hz6A{YH`V_C;{QiifV1@nmnq;^ zAgmib1z<~>?u^3gX-pwRY_>}Q{6%>I!2c?A_;J(x>+u#2She=6{(+-)_(|pg6d4M= zo(Rxe_%E^l&rHNApv+IUQY@5>%oK~;41NXv2VS&t2%y2A_fPxu5;8fDe zEQt5IikY%(050`-0G=WRmtyvKT@i{P2xg1S3}CCRtz+ip5`3M2%PAyrdESr{T^wir zu3Ah0v&Md&ln&EaxCiPDX16`ZnLzs#5SQe}9vtH_N8;^!syD9#xiI@0bGZXRg1I@gEdkzsL%5now{7YoD6;3-M3(IJ>|OQjHthhQ^dhGYJ7DOhMJFj0fDhPH7~QIf zSLRDO;Q9a3ur_x}SLW;Vs&Z41(3f%=KY)!oOy+Ts)G}NC9cHIiMZzP>=vQTIT5x|) z;OsJ6OekVt701%5znYgSouu9jK)v9)t@F~@%9G#n5vn9QBW#AorW4=OAFDZa&euQUvB3{zWgtRJ4YS`D zbdhK0of2WY6Rmk?kaXD}LZC`sWqb!QBAy^nZ8zr�+vM>tNSZdm(j*5m6&y4`-7) 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%0DCD*;oub^JXuDdis#gP;_gZeZ0UN`b8 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 literal 0 HcmV?d00001 diff --git a/src/demo/manager/src/main/webapp/assets/img/loginimg/3.jpg b/src/demo/manager/src/main/webapp/assets/img/loginimg/3.jpg new file mode 100644 index 0000000000000000000000000000000000000000..b3443592c6aee34f0e7341f064a334e5cb56b785 GIT binary patch literal 52931 zcma%ibyQo?*JW@o?i82e#fn35hho89i@QsqxLdFy#i6*gI23meRvZGf6hcWMI86Hc zzWHX>nt$eHW##1FpL3tro_7HRs){O#03>7pz!vcUJf8vx<$Z0O0|7_? zRKUMMz%vx^LdMqJ+74j*9WjFRya9*;ApQRz$p7a+`JdyzzmANAgqTG<|7YU=*LeO8 zAjCvkLheC9A_O24BB2l>Jr4s~5EqD!f;c(i^}i2f6jU^HBn(U}9Bd>2654+j{@-(m z`~EkJn8YSP*vP2Zn5bwds7NUPK883e3WE$P+8;h`D^DUuS#*qu^pfU*Jz}N>eiCLK z>kK)}3on6ET|v@F?~i1IHu8G5ZVz4~P%^{KiVT)*U28O}`D$Egap+nmB{pnaQO7PJH{zi)M_;+p4giG{_#`SwSf1HdHc7ZY*5HrU!`w> z3M;T)m}Zo?$&t0fize$1#5U#_`^m4j{IsaTUYOMYq=9Q;>+K&5o*ceQ7vbwJPuCvm zlvK8nRfuAz*H=mRdWA|*RFZTu#P$N)7+dcTt2kDgqTt#0 z!FR87SM>nOuLuBdkukyQ^z?v;w;wQ%R>U$hq4fD4|1d~^E~9B&2dEAZ`6(GcE+c>W z4DjHuNFY$QmtUoVA%Y8ohS&?rTj?f;NrNlyQm*PF%M=!MAEi9aQ1f3#vcBWtuuCnO8U% z+B`j?VZQG;WHv z@=on1^k+0O#ogNbbtbUI4!c4!_x19#&O zDoXu+<)m#)4bna#t)WY8>6=CzB z;T!_9?GQ=iCV>WW7YRcoA>I=GGX0BA;^&z!HW;UJyjzKWitMEMz(m6=O2_UsB*VP? zY<$OC@~_3dm|;-wR6QN!9R>kgOR9Mr^fa<9;IoasJ~ZzBViR=ftrH2Q?nJGP2-FeL`rKg)YZ7jv2Oodo=45+lHi?YM+aR zPILh{)-1-@Se-ve1OeH6FCo6NN29F=+bv zbrL=D>kn9OF;TGU{Q#^92#6u6$xMUZd|-G_xmfuTNjC}^fVqZSRh5QIBkSkg5gD=H zC7!wRR)qaT7Cix^F2|>iN?9RH9)YMR;5Wx( z9*E9|ZhMqGXWh9m9ZEf}^(bzq(8y3_7Q`< zPAb&kYCY~|<$O-`Q|lwP@Zc%5i_f4D>uY4oq_QJ^dsSqU~ zTgziGeu&O$PxLv5+n=^1g8%22B?!bnE-_)I>mgE>hm$EJqY6Npw1b>M{^!YqXUdXFREG!KZ$*IR^u$NP~=5L>Ud|Q|p;C zGMr=8L`2ZdV95mX@bN>!4Yx_avU!UkpUOS9_odY&U`JaY^}iJskM?@cn-vp} zNHe8mNGu%be*(JPaeBcmv>X;wajre@@}_~E7G93q7iNWC)BGMQymdbc@aV-taua?u zJ!a)6iqYxQOwdMom7clGRj!ZK>Ur^UUgrp9u1TW3-@UZR=@FY~DR)t1`08k`aTb_@ z0N&6^z@)a4mgy!bk4t4RW16s{OKmbFn3CPi_p67^t5d_RsXT9!C#1U&klk5+aJt!V z#+8w2-t=TFsYooUwLr5AWafrs-EN@)44} zpCH(M2DD9eLfSj})5Gr&kgPEN`CgL&;vzq82!jUls^FF3HgMNkKQ4Z5&=g$Nf;RWY=^AsoEB8NjopR}r-ODY;?wKa1Z;lr}x zvAbP7!aa$jl^9IRUkmY+LcB&pTF%=&qWnX$&*?Ts>ZgNygU#^l0{`IN8gCEPZkdqW zzv`>B>v_{f!WoV^o2}KRz~)mg*4Z4Ys(T^lbwaBKs4pm^)m1b; zQbnsd;zrIYzdOF3E!^(kimi9iOxS^E#xPj6U7m^zNvH%|tFhoK7 z3{GmoG)k)q1n6Ln5<%n;zy&Y^m@okd7{5bSr^hsWVV$Y>Di760lVA{l31HEIqU$c5 zGNkSEv9Y70p}?vtSxY~RNNNG7I2@r|uEQqI^3aVY3C~f)tJ8uL#Z)eq8@n?ZfneE)VQWs!BL4~MI{j7+XU&H2 z37k5kR+;+u`lp`Y`0qxoarG9B>ksK&FfKOaHYa#7vrhFp^>H95Y!wm@e#KhwWizzE zLc8B~B9CgZFT{8u^$M&OKX;Dft8@hv|fo{_Gqb z$M0`@Z8v6aS+p_DtF=Bg9DrqiS6c``EC`%g`+#!8>|Tv_x1!-i;D?G}}ySv1{Lf(mg51HyFTpr6)Jjav%{HxvJ@U*-#^rAk2x`FBNrs7Fyf~F`s z=(4M~-39FQz1GLeSJ9pA!Du!l*mqFq&s;q-Wb1(<8K`=j7nockNTrHDJ0=BmVkRuSLXt^1cRO zrMIapZePWpv0S!>gP#HUl1z}R0+Dsc)QR1mk1(u*ak%?f@l8>QS0B{*&;Q5xm1%|`98LA~$i?HJDhI+hZxPUo74 z@m+;Wq2-H7EM2)iu=NA2nsf5GZSgGyO|c32Jed5NdF>AZ%ow!C8NWn|)4rxwAKyxS z;T5Bjiwh)Kbsikc@z%6kx{zji23&dC1ttn`!`@_O2jasXF&5TEL3ZtL?khNi4s8pjwuica;@Qq2#HWd1ftvEf_Be< zi5l3{(=u4ed%`EgB9J__dZd3kmW7 zC;(M}rZ$uzE8sJ>F`k(olO7TdKW$qeHc2F3RHyoXAW#2~4k+f4aM1MVk;&3^02~N% zVE+XHfFv+&DXg`0a53DWWT}s@V(~1G8u>OqVy|ckq|L*x~}5F zYXl4YV8tELqW;5_AV4Y+h+;~Jfczn@2QE#$!L)Pr7{R~^M0D*$X!vzdC%#Qe7p`yR zE7tTvGmgot?O91OKp_a=xkTFeMAi?+tf1d%w%YAx=2OKjB>VM4X&bjZ(gAFR11IoGr zRL_!XOoZN49QFLZatI%3{iXP;+pWoXs{q8sDN2=7A&KLfef%E9rddCS;hKGeSyQ#c za96S!T=ryQrasjqD#6En@L*FrAtkZWm1m$pxKe}zdQE3b_uvRMaDwCc3UD`Yec8AT zUfJZRP*WJpGU<% z?zZ1-!_}yAO^a|XiCnXrP09`iJV3^O89ljfb${|7*f%3~c2k>2B-2N(7^F z{znnL(`Jd)`@xqNR}`y3&w!6I7x*k}lf3sz1|4BI75n$&Qw=ftJ!Ib$Gx`Iyq_o2~ z2r;2_kv~PAwj`Y1wZ?zc*?#CMX6{~Nq|2FbSvoDf%c?sNbgmux=rG9x*PzS#FPGm^ zQCj#v9MFs40RDQ=?X~)-BA2ADOA9UuunYaOFvN_|gBfnRSTM{TLTv$f( z({fQ&AX`#ZAbpUb#C=`SnGsXXZuwL_Z+eYW`>94$kTq$T2qK}*LJUy-L@+K`#g4pb z)R5qnjpmHBU!F9&`&zI@|3h}^jE_%Mt+XX#umXrTkXu7qYDuUCjKTfQPP%V7+mi0( z3DzP|Q0~;~SVhINE;k+RiraNCQ|)Z**db;(as2z^ge}gBPm9j_KKTzW!m&?>WNrFl{>Hd@g`O^)pm4OB!nVE=i+z9$^azU2`V#t0QEXeV?yrM!s`P zUsx`A=ojp^UJb6(4hP%AT<4E9EzQD)AM*=!PJ5M@ek)O*x!xHaIfymc%{0cezr>)Yl;e{YL?~%e;KY7FPm&`&*Y~{#!Y2Q+{6hQ3lekcR5e+=*bB` z#Qpx!X9+Z(O61NyBXNPhvI{J6V`2Z=eiFgJ${+swI(s$KR zDa;g4zND*iLC(N3O)ND>6Yf6Y)1x(RJO;M*5|K=w+thjpa_&_&^m^JZnEJB!qR=4*g-w)?+*cF;T z+I|J0Sr04cvQKv3IH~ca(F!S&D&yG3ADEL+nqY?|J}nH<9-F`J(&X(*JaI4@8Ypw$ z*7?Cg{#Y9$IrPV*E!eTIg8jl+h~<1L52n@|i%B>5jUBF?qf>Wt<|8z-H;{Sgtf*aD zZ~9xc&ncL{=Zj;NiAa!3OK7X2OTwurR$2#tw_`W$w5z1qmuc78VK)&*`}Kk!UCVKE zOs@reTBOia%l}6Nqt9Us_$)(7JWQY{_y0Vps>iJ^ajIYcRZ9>1ToJ1(h!19Wb7UF( zNukc}BqVFoB)c7D%fGVcs{_$M`r^gJ_%j+1Nz&S}T9b8o(UJRt7#v&i;Y{$7Eij%t znmB9pfK|6|H=s#D9Lm>$s`L2$J7W$s28kqeg#uOk`XgXPX~*$3o^5~VH7@0f){`1B zx^Gru*6OM?rVy@k5m&olcA$GAB_}mHLl2q8S>KkV0507FNdeHbb7*&M`Sp2 zJNQWHHpu}A`j)wPq!Mn{meYEZd#^DoyQ9AgO~yihr(Gy5vbO`d^L==SF#_*}uQ9x! z{Zs4le4Dh6X&^sDpgtIl+lcX=ll63@i<`?%linK%a9+h~73R95y@nFML;3J_D*}AZBHv8@c2b z&C>Q&dIAk&V2dlJG`Qa**I(+wRToNUv9D6~oSV`V-8^iW_rH$WQcaJVPiDVrBYgaV zMe=&?@I|W6Q>BONJtuJO82}Y>Fs~WOd2m1rzMHxR2tdo90p7ub6Y$2L;U#6iE3S&l zVf=b#wx!KEFeKuCG8ZF@sO=lWBnZa%7B2zVrhnUqV!Yq(nrFd254IgnVj~O zH@qBh@<(;(P5a}k?RLBMmaY6~wW9X)n(*`NdzOtvJ0R#Vn3v1XxtnZOHH&9II)}K0 z=hQ^9NTolZLOfo@-~Uj{fRxSa<(o6QSbQ`IcTQCZ&qm$LWovTKu{F(`;1nGF^^aiQ=X<8h)X2rEV&-ds zvjjWYi^Dbq*xhh#@IcKE{-n=_04*K`IYubS? zr0KQjv_HAyynOL~zu~QB&dK1gyih-aW;QK?itm%|MPkJ~d6^w11f&oYuy@0gm<-kH z%HrBTDEZtG3lccJdj`1dVL}5POg6*cQ`+bh7KBi#KJLC>2@RO=h;m#uDF}1Q(J4O} z_|m8r0mF%~qBxO8tJOF$Q(cU~wyPXIBEtM-uqTl&s3;~^7O$R9jQ?4V8KRc%i)lv_ zO^FX?u;ynid}sJxEo~5$Fg@fQeGZT<0hMSkhJZfJf&`O!{2vwIlUQSUvBl@IsC8Hp zXbuwN4q%R1A(P=@@vrO>H2qT4-9%2$VtN@hKTPCA@itN~*NRdTg`OyB*Oc!aLqYjp zYfFB8hPOFWkhe_JiY;X9A)}UrYDWO2G-P&(4}?m&$glna6lg6m%b@58=#NrhsuTAe zP=1IWuJ~({q0FTt+AKpd#;4AD_<=a2?=6a;U5Sx_%PrT1 zTbmf!e%xn3TG-&@-Vjgf)Or-L1-;Y_+-&JKSc1e0g6E&1<5p)PnSf=kc+O&L7Vs^Y z^!>IR=Y)|kBHz|O4#aI_VKK}7rXOf7$0NhSaXQkvhJZ7cxwPxL($rdsKj=8{rF+)_ z_lA%yOcxUz-DRwrGa9x0FfE%f=GmR(@dawwY1jVfDVW1_s~}kok*&_R8#VMG zevhi(SEtg%4VSs9^!Y?pbSRW;6RxAhDFsZb{@_CtK8Fb@CfjxJJ~i`ji7 zn~j#>rUwnJ1M#QUJSq&6D*`u_C%Z2cdJ~3S*=HB-dA|Dxljd&f73Ps42+wMC09-G7 zq}yWc-oerhzb8HE#P8H`iEs00tNM8MqM|~Jy`jSB1n9a+$mqzI@j`NkrC#Zc8Wo6* zWD@W9lo7F9-zLSA%(^VXt5dRds!q-rgu)`_5z^gPbiPeGwBAv8iy^qol|5fKu9K3{ zBM}1)H%#g$YLG0Q{D;`e@QFLp|aP4ZHU}2VAr5 ziBX<(uSG@f84BU$awgsrej)fy70K#T)njr=0aFncwjn#VaZ3K0c58ob`&69lO@Neh ztNr+0Cfkzy>_S$uJC%>v84mqDl0z~DppZd!4 z3}8lJ@*hogcQX@1GQD^@8CJ~4t0I{k1>M1b|Ow!|G7nN}mM8FdwgNt3N@=^*P7MLTOEj@gCZ zT!twPT$5mC8BVn5C@N4FWD?fend$$rd#%xcpHf|ARqbV$80h5GmOpLMb#QFV(wCd6 z!7);UpK)O@qf+U|OEuLZIfeJTbsHT->bo{9m3&*I^{RnhCj8}#ugKfEm^EMA`xQT6 zgpiHU+$z-oJ=DPl&j2>AzxfD>&NUd3uZwI?s?})vmKBNgr|Xzc^xJbHV(JA?$+p%` z%}MQ%kST~nC*VSt^v z7SeS7Pb{{}TCLn1?S6OW;Xb3;U>P#6@C#`);^PXi|Bqlo__omxiX}L7*k2;^;FS1; zsl0SM1jRAS?6l*baMx}j##=-4<(1zPap9}t_k)BrW{n_naDx7B&5s85jEOZ-K2FbG zeqo{)2<&E(6*YXWO75guptXK%2@N$PK z@30}bz6=KUBT4;-)(mKp$;-m{#x%uS3#MBGO$1(X8yRw#vod`US>8KU7?zg`yTLyg zn;U=*CvOox!y>0yfiuo-;+FQ!@3O;FZSjP^kcTAhYm0AZ`N^uPu6GFrUV@^3Q=$FV zVKbVw2wn_I3@i8U*?{F8woAFKseW@w(v>ji4r6y;CjJ0lu@e}23N!Sz-+1Gkx8GOv zpt(89mK$tj*E-GfI=$BQlOkKu)!BBR#RXGh|3kbRiu<-o?7_>E_OIa={qvs^Ss`{OL9ZX}FYh7#N%}9^Zx0GiL3vZZyZD)1 zpzQ+z{jHfW2O}jmjoFMYx89h4-m|wQkoy_HsWBB=bV5MQfzK)@rOnIw8xb&+Yw5Jz zGADI^qwWY`X9VUTe#nh>SS_JEKO`gpryZ6g7%f4}6q1@Q<8OxzCKwwhw~Or6x5g=< zX{4QMT1fa@FT>x{01o9D$z4(|F^MuVH^8T~o~ba2Qf6^%YCd8xZQzRk@ro;#5Yiya zmApn_B=92bKUOqa9F6OV0cRqUw`}A&21S`{uf<)Os=b*H-_YTyf%Am9?&GL#1D1R0 zH?gLAiw5;b9eK3&s6+J^NuO=<9QAGF`QPWS#)-U8A617dGIa^myGb(|(PzId#?esZm_343wKoF`u;IPD?|T)L1ACGN?S9l4DALNxAl#rf0a0^@#0&FcV!$`e>=kaCOX}{eQ2|lN}v)$IQ0VlKKtNOi4Z{+G?J6g zfHm)feDC-`EGfefE_s{Oc1TV`+hIWOw1{mV4v{O*u zrp$ZqkE!IXL6JQoHKA5x?vr17wJQo!D`OZW+~U+}a0*q0)s$Im+!*_mhE{3kna8s5 zvl~R#I(6Esv2xKn0?WK?-Iz&!qvXBJ1lK9rcqmS%9Uaio3323Dy%y$X!biOv#{Tc( z8Wz>~XZ0Zf%MgH#IgL`4-g2`V?3`msmK4uFzp}lDqx18c@O6B>r3VpGBnXQMOA!e` z@w#9fK$c#>bP1>i(BrZSMaXY*s^)Ix%J04XK;rCG3H`&0kZC?s674a(l_xen#d#OS z+DtWCtz{sl9wSp*NQoP>JhPI?P!qXO!i4%`lbJnIW`}K+yWQY$sE7AB@w~X=JQF5n zhw!V?rCNQ8w@ly6EOPKkLSe!av}#@byw=V=38v`}wbfy?Bh;N~QyI#WT^9%$r{Xi(Ui%GdwA$Bz-k+NPzA1mIE|6|*6_wzAl36R^Usv#! zFaTS`tNn^UmYOwgoh%a0taU9^yzid8)-vANP@)^p0dsz@zh4(}jk~H0)_QVhyr_t` zy~?@yvo_uQK4&jIKnMJpbZU0!dmsl#&TgOGLnWPF$}?bfrxbiuobv|H zS+d{++TOuS3`dl)mvqOMFf_NwUF=%zKX(Q*!i=6YKV{#NyP`NWD}Ek7oM2(uTKg8> zn2|38su-u^Kc^Ju1X}5GPG!PGU3c<~lI68B*JGanjdan5$u2gKkUa8$2L^=cj*upR zTNhgd^L3+jxFJb?H2g!FJR?q|{FD}z2bG4c)&>l^44~f~hu`=z(99Yt<Q>=KdPxPnrQx55k{}%iDsYA=;kDrA zIvQ9Rq1GeL@Z#M1EA~1`9dVxj*YBsb9udS%b=&P~X51T0ga%HD>M6RSpK@2J@roAC zQbAYtoTa-6A<>9wk~Z9w>+@r=;DJ{<+b0xm>-Gq~`zShi3bR0suO(*!$aMe89Cv3d~-PlhIzfg)#Mci`o ztTGz>Kq1)KSjh9D>9^hAu8j6|xOxMgI~eXm_1sKb95q z{|x9mdw)gBHYysPaEm9URf|JO@eDvD=kuPug8|@LDbd*;m5FZo847Lfc}`~> z`ewof8ER=Lg*+YuAm6#gNNFB19$o#C;NKJB9wL4aCiRy){6Cz~QlZS$$ zJ<4Q}9ETV2`2hK=R<9#abFF`(en3Sr!ok+D!W)tra6!mbPhNc&cdu^gm@3VRbDB9i z;$av`-O{|)7G3hUOzZxL3|VQDF^4&n2ay)9UubwU6}PW&i>?7qU5ehPLU-DWTVLkrf08|wRJ|*; z^=g=h^%r0JFmL!do_*bVy` z8Lz*!Izte0$~OdnGJNLrigdL!<*DW{QzKBEjzJE6z!d4b`TD^uIUYHhZzEJSz!Di8 z$m?f-+$|#Yomad?ijKl{J=Gmc5rUy9#CMX$d9G7KuyI}}!Z|_nh_MZuho+wfoCoQB za^#5CQi|HI7vqJe?+nNGBvr3`aQ&MGN2T$t+p#Ie0@H2iqK%`GL$5YPno|d5Td5Sg z=WAWc*lbCwbrhkpXDvsksgA%sZR+l(j#hi<1+WbG@nzkMR_%DBXfyQCxy_F~E@ex; zq@+$=S5&8>OSwRq%fCOje2o$|_vB9KTO2?%kInd+>k3*I<`E}MUle^8B~*`H<3crR zZA0b|9jYh&Bb356q9RcJAFJjB%XE;5LZ90(G^r{FFX!09*-!Rs=-JDPLbLbmZFydW zb4HyS-xpnpxE3;&2xjJcuGhAg?CaIEJ~lxc^o@?!H{fS{j+@EGjGc*ru4-PVHYKE? zFx5FRlfH$@kDZWD7EKu^qAMw32ubZBFZmM=0blCbEw`9tnVE8hj;Kvie~QjF>)_zO zgrRfv8c%ZEPS%0Nv+<&i&M*;;+TvRn&gcF69$(I>6fa(?X8;Y&j=?GBzs$dEKe+cR z$6WFngy+qZ^mGOrT`AMiW8aq?t>J6-D-NSkQJmyJ;Wtyi=_(khHvV<<#GjEg*C=jF ziP2PznD*t_`;3n>5^lw?EP8f+F;ms8UTAN}mD2r}$O{g*7)(rV*1RJ5bxrbJbKnFB z8c!Wg$wQ>?v9;KG2@tkanW&BWvm`@r?RZHOm=IzPQL~d|jAqOyMiCzO_(CNio31QF zG$^o_F8&I+f&deMf_i#s_2I`J6=BaMUmbsCPjiQ5++-&1>*>#L>2crMV&dlgheHU^ zu~D5FEHlTNmQd|fzTif2$M|&80E@{4*g{RSF)&t?lY)4(??RgLC^Dg3 zBb4Om@&#j6cg*DIp>&fUaG47tgx`IaL`m~y{+`QsdCV5{nnG#}w`sqO*6v}Gy*OAr z*6WnAm7OH6!sE{DBkX9tTnCYFuKVFneIoL*)x0?1Vq)}S@W-dLqKlO^C7j$_;xeqB ziRXGkuI)1T;yzPbsh1I-tAUd^#OM_aFT8*l=9Q>m9pB7VVK7F+) zSy|=I*{~x;n_5>ahr$jRC*GDYeoirfq}k=Xc{w@#iUD*`Y1GQ;@j22U#l(K*;HZ8u zlG2=OyDPB>^7v!lo1sP`QvxVn)APTsi3r9w`yJ*I#d++(LT8- zl)3@RX%ma5O;QdFKVnl&KzktViy`IvoY91b&A?(en(xOmC%rQ;=>0YQ-=)FV9 z1N#uHa{ch$Iy)hUdcvLMhW|qRqwP%26IpKRASs58dZAU8^KlM88%8i5U&_xLcBXMh zQ!1OdKsAQ~Rzw3IhDQkLpaCccUPFKzHj71Q0syc3wLY#K}z0GcyIeAB*F{rMDHt?@*y6oGw&;o|W&MN*h z$?$KpLITh-jjs~hM-J>Wg@5<#qj0Vzay-AoMb&gUerO8qo167!+9T1=Yo440JRBxZ z64&aQY8^sWMFwS3;l+_%ofF*SeG4zev;XcX6g(9(U!9VBN=+E{h=xiTdS1Si_YVQZ zd6(WL`I4xOeLPlONh%e?!#)dXyGs|FwEMRE=~WjOBPFQAJdZdAd$|-E%tQwF<>Z)7 za!kl`@OHYntjLkU4>EnPrFP0vO;)vN0k>6N>Ame7j4J z`yHav)M4+dDQ}04dqR?ji}LR1?1pIq9oLCw940G>uYPo!b-eL~p4F-9j;0c^%7WK~yo@?9lzp88>Nyr0*Slc+`-0%M01QS+oGD%+@|5+@I zO-&nsi`Zpp%RV_TN$r3>uKQ`Hs}WHeBDP$Vu~KG@N3TiRW!Vl5sFBE@zHFKL^x}{s zp1L`O+K%$|LK3^4@>W^4QL9yj(6dugjz>w!Zq~I;{_#r zRdD7Kl%_S3+V-Vx7+dT**EiNtv|yaU=N5eiSi`y7^!e*Ke@IiLun^}T&3S+ChZJVu zw`)HgC)}A_Xq0+B{G#Rm%a5Ry1w{UFVt#hge_NK{@0C7?0^H$x^4uof_L^}?Xm6;h zwHRX?42|VN#2vH`MU+X&eOz<%;TKJ#`Z1y`*JyvMAj_dTVwyr71EMnz zVDjW(v9L;)Ww%&MQ!k|oo`lFFt}31IE;ANo0uoz|WI3}gd}=oSW~w+l$GsMBtIc}Z zQc6P+mx48a&Ue)@z!%hPxM8ZB9E^TAZ#dP`zO? za_Ev&j14%9!*HI?XRa*wiY_5rF#cK&OSJomBLMvGb4QX&`<43f*T`KO6nz}}hMbrt zgUXj%pRd_Vkiz!ndcLPqOPmOsZGP=YTgLOAhs_mdyW9VZGbX#kfnOEW*fNLB1J=K{ z{rC^PfPPDlkZ`4s)Vb9kJOeuSyG-p-u}=Kym>90eB)Lva&s$QGzUrmA1`>U@UAt8K zWA1*&P%Ffq_bU~3eV}#Xb4WeZ)Ph4SXLn|Vad7puLK#6V|5Sm>0T$)WLwjKz` zdrGrZjT1{P4u#U#048yl~L08`goK-o|<>+Y37MuOHA_1&_5v?;>DEm zvO;oq-1&h{W~!}?=-=8mQ?vhNF?o)wUXGFPI5Qho+X^$mRlxMN*P-!e)zOSiZs@74 z9X2oZC~m51Dut2JjVOaMAR4lFj^oL;$l9|(M7LNGR_vo+2#%t($y^IZ%VMH-guwnE z$z4HU?ez$yO}QS5Ru?Vice-ZPUUf#_Ffw6TV@^;}y*r%nRq;QFu8_US$~y|-;Fxnu zrR`hdv%UeT=$+Ws3Er(+{I*w9y<v-hn`jMu2@6C znjLf1w>iW=*CbV>V9cgKQP;tTpx7@_p@$JWBY|s%ro7^X#S0u?F)l2uv^_=Ke4`HS z>miVHcP78lN&bzUD1-Is%PFu{j}6Ex}|zgzfF-@`C9O)K21OVcSW6m~J`k zKGt6v2#Bi@^x zpE4LRL4^nJkbQsJlCp*R#PP$8lnt%Roe6r~)R`}EU| zS6}Rm4c?zzD+G>T;1so3IeuN}dHTEGOTFTfpzH8LG_9xqn(wlqNP1VMP;(t(6c zFIw1SC^gDH(lX-$|D9IJ?-KrF4(&K>ma0{@leXA{)5al#p=*1$qfd`a15-`Tf1O1k zxl|AhB;sVG?sE$OfA(O}q0neSp-5ua?#N)3H|BwNiA%<(Fn>|d`P*61o3cictU{(s zoAC2c68DUh$;PwdC>`es&hN~eyiys6hI zaZcLF#VLk<3^DDN&wkA1L-C%lG&?IWKkRsyn|$@)?|dkch&gO^cFSr2{c}xwGbV5` zcX6QIn!2Ee=$&%Ckle1->A9&Q@Fq@AX}vrC#enBJBbs9{aE*1K6WwFqMI$ptQyW_N zw{LS^6AD`Oc+ANb5^()|x{O7q;mnPK}&tAqPlxq1yA7}N^Mr)34&^N z@HQbFRqQm%gY++H)H%f7qQuC1Jk~$uqhmjqN>pf_LKW2_S7n7BM2?Ct3Ia(M4%xuT z7ZhzNw4O{h&76=@Wl#Po?!*|HpTVIClwJm2R|wsW`;9rFC(4frooHB&*Qp5JCClNT zk0nn$!-*N6Sk3zz(8e&c5jr?qEsSaR>pVtu_jFnPlP}W6Lq^WxZ zxyPlnd+UTzRKn81uG{Yf>cTV_(0US9h2pR|zx6Y+h$YYN;! zxqr?f_h-P(YD4Lu0gYwhq(SnBow0G7YY2I`ZQ(zn5MtLtr0CSO;LZyQbFOCq_~mbl ztjwA;CGVy4gSMZ>E`sNXxIzDx#vmzKQ}mALNnj3sO0vv5#BqBKQ~u2qo)YXiN%>*D zuK&lhG4e&@d%BwZ^iEAh1&QMzY&y} zBr*oRw$f=P|6D7n&aV5`PEwEo#O#5tx9~k8tHy_bDT-a|J7hf3+wWy=NCVd#_(o$(bDftyQJSgkjQ&$4u zB4obS2|7@(pn_*X_3w;J%04b@E_Wrb@d96Nh14lj5=~K-MCv}n+PhbqSmfUqZA;SS z_m#_KO>B`@wRIfg8SQfqs9*8h&-0O57Y?+}g?X;!+ZlgTWV>m|`EaEWObO{1c7x}^ z3)7RgIlHf53j$JGni{^d6WNPGXuK1}Gw$MH1*Pq#FJDfDk$|LZiyf&pphC!EA1Zz^|P%?>;2H%pV0#C6AKCa`_*Oc~V#V*5r$a5hM# z?Cr%d3v-@s>LRY@=2D)MXK1a46Tc5@;IEk?wW;h4b*{2-#2%5gyK|>YaEUKQ-oxzS zE88h~uK9|8V$k2!dr9I6kT0bJl_wjATIDqIjL{~{%z$ov&+T0?ovw-TtsLJ%bna?= zk?KR}7c=Gl4+uq)WTqWE`{OkLeN{iHgC!X^)<{{lapU-W0PI|RkU?=*mD>kMi)b8k%no=uVQ#uX) zIl59IxIR?Mdxj#xzAL1uhqlHy#;0ZteZ(uv@NNrpNKVf=P_=&5%u(}nmu3nOYm?$k(-I8s&z|MWIqrHXD^jyqn7Wo)b2aUf^g7;RrrcSo#@i-F zCEC!xrp$=C2tyt82_MZ`C|%X2Qe|jgZ=o)Js^eEntJQv0vaMTa^aiJ}#efFYc)`dg zPT>zaqbGF)(%^q0fyqRh)Av^K(eJDjo};WTj&-!U$(|Y1{aTP{T$-32#~#*?6ZVM2{{DP3$U@ zudfjyUg0C=vHRwHJMBns6?upF$}yYqcxyYy8$ulPL!@c$Q2Ume!u`-h8P z14R(&25A{3F*+0kqy?l#cZ?pLD&5izA|)}p86eW#qr00int|v2opW91Pu^YQkLP-K zf8vfuDJsqTzfG>i$^`CegV*o6H%ramiM|@hAqDqVmKxyUc=knCEPf$Z=V5=BBK6{< zZh0U4??*fjGPAr4oTNs@$6^5{lLjep!xA%Q+Rl(>aug?J8GWK0p1V|SNkbEH-lA>= z2^{B$!I^l5LbFeYr#qPMEBcz9CpGoC{bNuzFVQ3ae1EQKh94#&q~ESvzKok1>(+dO zt5Ur9rp7BgRU&2lbUN`L7W3Gbuu`*nnoM7RwgE^)T)xoiW2@`{_Ligvu{tTSL$B!3 z5Lx9K>Dyw10C@86@791_EQcfLPX8Giq4ugzk$TnpFWSm*7S>)&i@ z;j&3tkGAUZC1E~ex#R5ekX6R%rHh{mPE?h+Y55bc$SKj+b-&o{w%n3@RtH*m;uSbd z`zU#@<~}ZZp|tG+(-2&oX8&n3av|9+OZ>DZkkA9RYryQgLw>C3y3do)UpPu|tMd&v|_^c;{DjPb+VAd_JAfIU_hWt1Zcrd2dwL-?Uld zaFzNG%Q;uO^jg4ervJay$@4Tpv1E(3yBhwIi-4yS{rx!D^X7|Zn#?CgFxhrZRIW+Q znF^L)5#Za$U&5puTqss?vnNpIJ+J~#92Xm=T8&B#LRk|ZMgPN!dhPwKD0COtZ{8UL_0IH&(%k?)^rvDYfToiqhB!^V$~I&*C_EEPy6;`HlI zuL&;iNVC-Y6I^k+t2h4>rHNE1v@jsngnI}P%pP8Ig5pwaWo&2Mq(p^nCu-Sc?SI4P zk7wnqYH%YiocRuQX3OUtuH`HsQ3?XDYs!RnJAvj743dxXkA#v^5@GlmMv9PA3d5`I z8Na9eBo4{UGsUJ*zs<7cH~=gp;kPB<`8H@_*(sF`2D-oG0gawt6iQBWx`;0WxormB zL1jy}I#b{w&1$q{XFDq%gr=_a|Vc%SA;Z9;-ApNE%4;^yjxe9F{TbI**J;tfmh`F`Z; zTIyCGwi!IXYps2dV6Lu92CXLXZ;BJTBEF!H!MT7jI!me6zE^h|tC-=5VKTq#E{mCQ z2==cQ2osh0hsC9Dib9r4afW{vLVf&Uvj3`E1RnBwTaIAB>zDC?##??oA|!M!fgbzu zWH8&o2Wt5yfy!03P6cmIqAqWi@9b>8!9CCK^e$=g)-&@#;RTH|7@`m>5}#O37jUoi z(1XwO{(9@Q^%goEpn;SNqrP=)hd%6NU+mGs@81@g%4J`oU-qxuX0umTUY?C{dR7n%QN;lN0$v@z3OvbSMaiF z&n``+E{rvzgIgW?G19o4q|of=brl&7!>@RzNQNW(NL7XK+}){6{S`}l67phpNT3xK zEX1hJb`0ak{&V#>;!+%+^`?H*f4ty>iPT zEMvlLL7^&B*%}vgi37$-#pn-bFIv?(i$EHqjnc@dXe2y2ux+MohFW5tRy@x&*Ot!d z#Zkzz2`yxES2}>5v{T2uEgVj9Iy+OkY?yua#v%4~jTdz<;gKd+cl^pgG4~JENrB{t z*VPt>5TA4~YEn)ZHOjWduY6|`zL2e(ljpvbdcG`9J`xMf!bfGg5NEV;mcZo}o% zX~N7?|C24d24y;Xqt%hThK07R{l=G~RH30>ikyG-?f$~MV*?t!7N?57=1993=;tPt ztkjb@cya9Ad1MVMG`_5IjvLT@j}JVXp2`KJ(0nFPo!4}WC?+Zd$aAjgN! z-XvUu8IODF9S3oIwKh4%N}qG2=p~=naLo1PWzK`I$7GQ$T=mI3}G zwSbl#UvZv1ZlRDJV(D?WGUcbtUc8k1|I+!xwn5C62O1z*;fQcQko830QYwD2RFb+3 zyC@!0;C!eezhd&?=yWSI{isC#5{s9@)hF&4FUOXmRmdE#$YdI3wmwBu0b{||pT zjiFP+CH10{AqEt@fOOY`i!qL_ICe*Hs#w?Y6 zL^IB)-o=(UNcNEI-d;tAvZyXmPbUZu)2Z_SwVQv=X?~Y0YKdCBm-h(rBNNvIQK}lV zF=l`_=xW4S%M+?k{tW_uYfQ-H!ue?U8IPJcHuI0bBm&758m50|a{*5@;}g>^@NPK&l@x|gFvf1=nAB(;hZA-Bq+n@gN;VQU|)oud%>xQ_nXss(Q?xYs( z_qz*?clN@e-v^R6`_jnc8Dy#wqj8v4)0h)KrBT>A^zR+2@eA{5prC$fb)S#db0AY% zr%tRwx*W)W_Uir99U{ z%_bICp@4LkM;5;#vSI-n6?O@IB|0xvKr0RXOE4=Epidjs$BB!Yejk!P6PbAS`=%PV z6rz4BD+kMM6xm9?9Gt}_`CyFZfU-nWW;i(FDY#`|%(nj5lUCRq+f5P=zv$Ixe_QWZ zyC|DKf5YjX22rbm6kSKKM)W&veU`SqF$Wzg_+H^wOOf}b;= zrzR$cq#gGCgS;)pA*NBbmN#x1_%Xw;7An=GI2AMV zb7Io`2_@+$O`2ems9%)5T9W>~ zQDYGc=C@`{>`w0pSEdw=6Mk8j#Afz^C`HY^x`5xB!DXKd*-4nqj|(%+jqn822+>?{|(9h@SD_^r!KRe^a&VwKn@C`tur?)5_h!MIW#FJH1;;=bYS}h6 zgDY=qIYEv2>TzWDX}>3&PT@AwUDpgQU~Uq_^l zyCg=`%`nX+e_>WeWt6^CQBYLH`)QY|d}V*oVal2YD&XAt=YpDus7O|~uz+$g?&B1~ z^tvxAcV2TqkWkGkQy*0*Q|7OIMKa^vTLPM+_Ad&g5tUm4{w*PAh&Fd_K<;ujGG9|KQ zMB&FTBeytpy|Lw&YUB#%ZOJWkc^A_dylVb4-lWrK)DnKeQj5H$-y^t8!PA&X?d~Y? ztWM)|rCrZ4+(;K<%*1=9StNazeDcy&+7v*%0|4Rn)C8sQU+YkNaSc zrWxNnCnCE}QC~9gL#?O=t)1e`V$XBCTZ(BZ^oj+IZmH@mO(cx2!Rj)?n~b?HrZDKa z1G6D%aeJo;V%t$pRN-zBHX zg>{P3@t(;;o#N-XfJTznlOGiR(oJ{nKp>)9p>ASq@)yhXnh!fY*EdZ?+C4t4->XYA z7IE1b)+8P!*-FiELI-?cXI$N+h_g>&rAi_1$4G-s3$^UybsqiHs1FEdM|ccMN8S8DhKvGEKmff&^0K$(O|t#bgx2Q$=g}u5 zi>C~yas4jaaYNck>qu4iDYj0AJrKOs;(jxY)5Qo6-(j|gT_sCteB+D&;pu-4?Gy;s zEICd|FfEs|o)=(OG(=8@Sb&{6n2wZR?T{vKKoFj7A#RiGq^Gl@MX!SEJ}UWas-3(R zsEnA)CBN$XW%#;COso5CZ?j%vq%YfqHxmAKpeeD%nRuAkK^5*(Wt)XN!59&l5UNxQAD~}z<0qo z_hAaTSkpM?zGaz=cb1(WzeE5JJ1ueFeNW~mK*UhJGYKL|{rs_e9tEkQe4bkAG&uHU zAog4Aql*xSI))7l9;K=%D_s0Dec5&4vya2iD4aQ8fra9Tk)b(=qa-TviaSfsa`Z$e zp{x}>Enxslz8Wy2j*=Yx!;0QphhYkuRs+PD{?0)2ye_Q7BNzW~m)2_Q%oc`l@yTW{ zi#Kw-B_Z9hJ>zxdbXV|5TPDLlp-=4_+c=K(ZI4Qh;JOW1I2}W9pNUj&x>B1hzxp)# z|L`ruZM|(hr#RzFHX!xA4~I}T#>j|N?+YYl-7&uEmYH~aQT~S&^ey*21|LwZM>!J{ z$!dzRGdh#mji(tJI@xCbN6;y15g8oSjCp?wNf>t+9>*=3tU zQYA86djIX~0X-R$o~|5%mP|#%(!@d!mrCkiN_h zkM8ERZ4MeK{&pC;h(UJ*g)HZa=D*ev{C9sZJOk^vu<5qePD;-d_l6BP)eHHV-2B5@ z94&B^o93noDODaFlyFnYviX4r@3qOpq#=#?kWAS@r}w7=muxJrK>ovu2Q57ATK1=NpM?#ft}7HT z#Bp1a`NdY->0WkEjhFk(ILciUGdGPPvTGkfYcvoer^RUPiGFsuTHo*W-?)0o{Bg{3 zog_v?YNQgq>jqo;qig!+m+ZaCNCqMYxjz{1-ql~F{9dYx3wib^Ya$9`W$nR~Q$TY{Nli7p69}5j zJ#Y+erq9&Ee=CeQ@gAqHIAN~?relG;gswlFv%RD14KvqCRmDi^{Mtt%qssOtBb9zp zE@`#}#rxVIIOBMYhK5f_(#}JVNR4`;yUd_9oyvfR6Wk@GS3`=5U{Owpf{1NNSOSEz zR!rZmKb{WeB(D+`&}{u1^80(|$cV8LE#lNBTCE31z}D8M*_t$0uM{3%oZ86qRjkD?>}>%cQOQlP@s1K2z5Ttv_V4!+S&{T<>bR~+2rHte zx~zx$S@1`^8S!5*CAlGDfsWP5{N+p@sPXw;Uo{+_o>b#zP`~}cexAJgrevTfD-!e( zG5A-NVOQ6|9yQ9FX!as*J$nzj22FUI^^Hlx*Q0R*v158n0AWoZQCQj$S|SL z28DHtx3~2|$8L>w8$J)W=R55VRI-SJ(v9)d%=^qJ@h&cZrXXajdKIMcx=D|4a;S50 zC6l|0emQ$t;Q^g@=MGrD>5=MeX;i5N73Il>DJoj@Pi{g z@2e#{J6xREU&&FWCo+_%db|>swKO{o4PNdhV$q&if#N|!0!S^=e91-z!3htahq%2T zZ0^$FtVd2NOq8(L*W5?I%cmwOrP}osNR=w)IsZ%7YFTaQ$Cn(NuZvAUDr-sNo}V=ddLu*TMewaM9~che8pH)ky^5eb%QXNX(prP1y%| z$^aKuJzC!Rw?)d5B&Nha2I@sE%KW*uY>8hFJWieuCN3rT8Qx`3{|&$y&_nxE# zW%W2+;uT9IMs!^{=QoOe2k$?}X~E%eM(WwAXw;;S-Q~5d#g6;LRy3~I)`{=;3De(vK%#pBd&tjjJnq| zNVx+bl>Qhxq#F=(A-)Uri0!Ky4>LeF*jM~NC5vG%0ufW&Gip}kmi@BFubt+G&m}AN zs|I! zzcvM(iJnGZoOm!znb-a0uu)q9&XfqL@O;%v=YrYYY`~8h@G`wF9*!DEK5qR3;WE-(=woD z!&No>&QhXTn`bPqvJ}%=GdcVN2t2E&)$J~8uGhNxSg3F%dK(EOFTtp8OYO zSa)*nu5w|Kl@?oIpHQ|Bx_k^b(m=EVWuRIfIKZ|*gHLjE#ZQsk%8fFN+y8YMl`+0O z3^)bJ0{8Aa^C*vnQ2x*CkcFpP;6~mV%lTz1?~0+&iQbu}Lu^LJo`Dqeh5tgdbDbUr ziYj2Tc@q!MHz-`}&iuv%^bmYj`T?vl3l_V49AB6gkor5UmGh9%w={GG+C!{Fwr3N+3O=;_!g_6y&1B0Qm=HP#qbF&fo#`! zAB_81{k(hVXrhGyPQ@OmbtHRB^R#EA<_I}|&SB`MtCS8ORlU*hA3QI+Gb4iP(^ckf z0sKscvr&|QyU*9d2sD@0gXl<4)DxlaS0+F1bI;PzZ`n5x@wG90+kU%$2W7{)_K_zz zp^4h*Vkg^AH&+bZXK%6$-DXdVJ!PnP64YiLS?)j2FArwf4piiu^CaXovRoJw)^{sn zXDCihZ%}P(9`*h=;yg#ED}t(Tah@f0vc4?KVPnDJj8L7%YCVgFC1Tv-s#SqY z+LKR^01Ac2n7j*4Np;S%)* zAptxd>;fbFiK{2BZZ~k8d*~tS*$hk%g-^_LwsMRs+YT<4ds-gsBWwd7QQ8J$dKI(X zdRVm!ToGJU%GM?@VYWiAnPI9`C`6#t&08D#XG8pzXpa95K1%uG1zO-Ln#aI{EVi(h zJAf4zzLau9l+mD5Au_42{|o2F(Mdjp-#bLQ5h3JnA zKDF-6DBMD&9JopNn!VMsUBlq!@NGucuh@TEID#aioUE1xZ`cH*FPGqmI=D#V5rv0K z#M3Q*fvmP^?`9{Ml8P zeyL~Wn-6x0@RwG8XB!#9eQ1Qr={5XUc*<~>o}&?BqzT>QF$&E2doA(z&aBYLC__fP zSTg*SXDYP%q)gACwYVZ;=0i+D+V!W_gTmRgYfb9r%cQ>7 zmM|33`G2_06v_1}zYu?Alvi}X!j(90*M)=sK>ZxDR?gq!?{OboL%)T2d3+w&@N9{=sg3D}S zI<@+QX5Xg@W7+WNoXY43&{AJ5+TGA#lWbrk7NZdq=a=Geq;{?se%+cNYi^U`*f}(a z^N5$(-l3t9OE9j(Uyp44TwpqVeo5;HSE^1{pLI5g=LFe+axV;cdP(-?w&#I7wv#;pW5r^wJR)ai5cd$~3RRjUmT1SWs|5-c%h@g{1miE-Z)o)lof2jdDPFor z$9^!Rt@dZb1dfx;@9BX_UMD48SmQ0O+cN;f0D1N}q&0uC{f$H}GtB8)c@gLv9V=>?+=x4jZO zs(_=JT(6miB4Gi~!z;76l*x~gw6on@tuKdLQ|PpFYZS#p%azb~y$4X&(8u_@0S_|0qBvu=V@PkPJGD@JDW zcAwI^z@axv|E8XQs9r;VYE#2eYX{zyp`i5(z zQGE`~Fm$5>Mdd=Ftc9508v?oox~*exC|dLCT*QtU?bAs<9WKPCS07GT-1oh5b_HM?&4s2)1f{MI=mrkgA(qdghp4El0IkolCe2Ns+$ye5zx zRHvvh{-A{>)zG!N>R~y-otvQ=xj5R9R!^fT>dfqn-y^(7okgF3hgJ@9l6$gTn7GSD z6YoS@*UqxG3~8HoOnrA<1bG`rG}0uO$+HYI53Iufc+FOr$>m^ty5ooTmRE10y$1Fh zeOZ!w{Nll!u@M&cpReSG*dehY7YhW#qk{YD;?RyOt|;j z2U}8xT`<{?M|zHkz>*Xw*BUOXX1r&upnOk!QOb8U*euRQB$djkeri!C?9<+tx1@~D z3PDUBtr6J58+l8b3%Kdsnj7!qFI3ClhMY<6>+LFIx{|lrjQGfV0{XgdLc4WJ zCj~Cw)MTfq^DYdt@Y6NYl{VRq?-`j!XLoZIFrc3?B1>eonP;Myw7fl8`+LDqHB64Ot)PwH|2|cpX~i3C54BIS1+`jhi1#6T{9-o z>QF;3^RAcLdaioMr?ImEf$XK4F*&qw@tRZB2x>~`vQOW8Sd|33mgj_aqIyF4hPTYu zA6VPKMMDc^$Yw(@xg4M0ZIUA1v7V6qI00lj_{FbZ?HcZW#Z-F_r}p5D z2;tiLXC&WZKg8EF{G5vms_1gT9r3K_#uj66ll0q}%p_sQH?DrU|jvHNf4j%)H$dHMDX z*%e!vzkXpB(f#s*cL9q>XdF+c9MiH>h5q&h;Ik&97ndN_Crjz~HX*YIT5BDC5$^It zNT0nBDl@o_KG|%M@Gr%Ox!@`!dG+?LI@ilX?Zg3qknwug|36THlzvB7J=u146y%I@ zOP{Wl(4I*x&zNzhj33MOjU@?)Cz4Kc$Tv-kE%1)b%fllVOQXd>AJeJXJ?vap7+k#W zQX4s=ZL-R4DDAXAF7mx9|4ZQi4CbBna)901qI!rie5gW5$A2K_ZS@MxS~kFbQB@Sa zn{`KdyX_hp9DCaDNc%+dEpf@AnCj;avsZJ=%1Ln7yke^_hWmHzC&lq)8YLr`Ul6u- zgsGJ^>D}v%bngx=Bpb3Nm57f=g7WV*4iySNy?UD{cOwTeyKt=B;*mx1=iLQfu(WI4 z(l471ugl9_Ve6>ImiUD<#TKA&s{{Ig!s1;tjhom{p^YgK@0d|ydhy&cdhqo z@6>XP{z1b9g2PNII6*F4Y=7Nyo|E*qQk4EJI`g1u6*d1U*Zek9-X1Z3XCuA+P;t$2f6>Y8#+o27NPB8+jyJMabm- ztggXv-1|^>+1dxRcZRbo6$&SQRz&1HH+Z!6&dTQ<_Ni{YBhZl+E=h{tY3_>Z9^bDE zs#ymm@&$suCRVx!2>Il!PK|h}EE3pPg0NQ5I{Go#3Erd|mUu;cSw^a$|7LI`X;qQ{ zsZqjg#tBI{2E&noUsi$InaFIF^~Srq%^(Z%x~LHOe7k7wzwHNl=_i{(_!nI->@iX} zOvng*Cem_C%FQ^1A=__|%$=iV9}b5xD@Ny=Qr*;+>9uN%bl+~qnAp?!PIDv7XQ8? z&&pA#=)1Vld-)P98k&sRHLrT(_c>2HU>JsI*Ua3t)^IPfc4`o1PUG#Jj!ksDDWhuT z8|lf?CcW#-j9;N&ahK3&rz6qz_6z8$xzc)NvyCla(VEb3(Bj{LHT4_c_GsAEZM3@p+a^;3IF=N~6JtKwNFH;QUi=SB zE%X;xx%#oo4l$Y}CXN4ggJK!2&2}OA2s7jcHa|9drX+D65IJl;v(GoC3S>LES#5{p zOKjZRE{bz`bv-JR^^2?>kh`Z6WczkV;(is`%Au0nn~b0^$kD< zooCGqpWkc(+%TzFmF$@uW6~x}=FayvL0|en{6H&RT~>U?ykd^~lTu8B?Rc<-wn;75 z%PS2HhjezWJP3(Fpo;;uYDo{i2D9xHNC~#tw$+-cS@ocL!LC+7AHTUPyCC%YPmYF! zILJaBh$!Ms@^Y4+zv4xP5{G5A$vi`^!|H&dz|@CXczZd*>UHe&fuq zbQBwr%=alm$%EyNg&@GTRWsOYE55oStkbc9vh^j-nRLY+gb_Ypc-L%f+0=2t=62Z8 zzVOW`&gf#a>XQ5H^}NM3@+1bq5O+KJ^+Ae4GHe#e8ocoOU9i7m{P6zUdLjN2jgy+B z<|+8>v0#+W$}-(=dhe91Fbi)QzUZxntM;j)&|<%c$yWR==fzxnPm7zR`FrU@_3Cpa z-NxH5a&408E%=}Bh&fwH_2_8(^H%6e>vRlrFWE-UI@n_@NdIA_nquTvF1V{6H-2qv zoKVbfUm}k=)zIEg-~D(bOqK4d%XaA_*SwN+u?>bVgI<8;a26A zL8@8#x;~Myd3!Hp0BDne6w@P;)A3%TA2ju0Ct+>W$U&`HjKi!%6= zxjR6W@s42T_kMrw{cQ#J0x&UmIh8HKMeJl#u`}C%hP&V})NAuc!Y~C3os*B)PY% zol3L4){Yg}R5Xj7s&7RlD6|?CUxVftRZw!G`TgdjE&pLXY>H_mNffOXnE%5v`{5Nn zdZUyg=4ah?vN)LqMcu1*NDaR8>KH!uuZG&c*OLXNNSl#{>oz!twOV!O0GA8;s~%pN z-xsrr_9BseAzyrIYxU}(Y%?@fba1)rKP-11u4Mx{y6Erug|M=PE66yF=aI!oMYAi# zR-mgBHt|cb8`i1+p4RO|jBJi4s=mlhaPdg9tES>^e{Sn&zNgdOTY46 z)hDV4sEB{jYU@iE%j@mU;%cL-H)9?>%52aJPandYE$XzPV+&r_47tU}(hVU(HY4@d z*$sHsTJ;cGeROQJuF!mJ39j40WR@F-mMn&!=Ok_?h16L?ro@CuaM)``O^!-As)f0j z$i=xaPPpy-jqF*vuRc6%>eL~lC|x3`F!pzsBw2c{)l=~}-i8nC3z=MI)K5$DfCDr4 zbMbq$k_Z*m7H08YIg1^>M(=4<=vP&aBJ2$Db~rjDw3l*H)haTr)N~It^oXQ3T7<1e zs>c}w+B@5~tG#HeBtoJEvU)ofk7yHfFWhipqRwSLt?GVw5PLz**epEPsw+2tNwBPc zDZZI3(EtN?wiEV1z|t3waXPJECt^T~PaSKOVLz=GOfgj= zx0cQbyHyF&3oxoM2gz8yD37Jop7dKr`wq?h>_@3q@Bcxw>y0VZYNMpc?zz= zUg{K){B|>PBm4RG7kz2_cFplc_&KMh|EtNr}Wrv)_12_;vSgbo+hY5}zX7177y`XsKr*BFF98`^ViK0G9*(P;W7Xry=*?!C} zdUFm}@N>}_%e7)uhnsBMTztEY_=iR6t1~@)fE1wDk5=yQL`+RVCDtPZG1H2Ewtg?q z&noTWhWq4!;MA6D3{rWy*vd@3+>ms;WnIPYpl)N|W`1QdCQ0uh*UHp!8;t zHQ}NLCD=RxjdKlgETQg2vK^^RhgWf7^Zm>48RMStCbF!@&<5THs!tXKSNCyKH!ZMY z|I<+#)gtp{!K8=Ndrj`)=>rM;Vu>4kn~h>qiPL)>b9HX*Q`R$_rHa^sdWq|MpiBtw zvYsg%<)xO{`Jo=&ASP3at_jXQg(HT|0x+=`Ud4=iWTtE`&-jFY1I*zKHT{;ePX-K%Cn}So|cEt04i^avv$ai$SN`iW)b$&xdR}a<*oX? ztm$d};E23M-f`#wTJE0v&k8~S(bU3umUYEQu!2^kQw^;=X@pt5yZPB)&3gZbUo=1< zDYy4RC%H>NReI=^hx4F4Zrxv3Q#wR*IrigjIBvQ080s!FC~VV)EO`sO%)G?Q0lxgqUnRQCUM*oO<($+K;FDZY-q0 zsjq3o=;fdYCC1CYw+K#8Wz)pb|QAB61b169<^sE;{>%T zIGS#n+bK$l3dk*OuAtT0KerIF;V+D=06A%7JJ%#s=LeM+^qs=Mqz1f96~nUkB8TF< z3UZ=B0b9V|MIgs}sY6kwrJStw*p`1-M(M78>W6GR+}WI1eyhMKTHkihIy|u#yM#jg zPfao2e5LO$id`Av!N9jMU!g$eS8Fi#75|R5?Zse~%5)G+l?wPZ)#(cPxvAWbf{Rq) z22rKiV4={|mA)b|)&CYf+F>eg6>{Z@xk+xJkI_`wllClQ5|yb3jyG^`&lj$5RXRf& z57LS3W3sNEbhUW1;%LFezBH2*@FjajM&#I}y}J$S+CoF#6+Pihq`Ql^?1eOLX!x~0 z88yA>L?|7I_0W9|BY?mygy|?~6#pRl{o*G4SEJRJPQXb41d6$)M52x``(yOYuwC3m5m5ka*lg*5_maQ3cAu7JXU(_CxxVL{TyciNNDY#! zr$CGMKrpMvF5${KQb_S6TrE>tNE92>h=Nyo6>rh z+oycSW9l!H+I!Z2Z%BhKo#{xNz4*2P5Qi+31SQW?2n?!+vqldU=WK;ODD=+ifSUGI zYSLbry}$kb7Gr3W(<8-BVc04h$8+RF8h9ID4l;P+PArTGcn2^&!oAmtrBPLtD~*Oi zW~m9x!^wUwxUy$4zUH??QX`=Tr}zR!tmAhHE$#6*NeKR1$}f7wvk3YTs}O~|yzrI> zsK5x$p`Ds#;dzVK(2gRVTNF@oRP;%*qHT+QZZ8ZsNa)_ho6#Kl73cg_%ykyW1KdNJHAEv#tEinSI>8> zLf^h!sv6Qlmh0@2F+A6nD3QOO=Qu2bd3(uvH!EAePHU@_N_X{SV;QY37ZS$Nln%Mr zrrK8WXtR-w9EOCFFhr-|mic<4-qGo7U=-YXJ}Mk3$GO5N4)Lyr^_IO7Ve7w!JyvU5 z(kckoF0jcq(3-5Bv8Ib&N`*$$eQEE6ytk{+Z|QJ^N3h%UdJ0Qhh4#%BPdsN@=}0() zpjA(r0+>xO##cgjMHlQ&>*d{EE*ZEZ>|Xbi$g>XK00A zIF7e3|6!eZbYeowI=CbLYoT+95VrD+w}g(u^`V%8Qb?cx|V!nUm>6IV^E~p z>jGtpDC^_|JARGO4rMCxUQ)5!$hQiA9S_x#=@^9!rfmd zmqY8Zfq8C6y^2n!g+SCv(;hKRd_Mwg?8R)m{2+(2#~^_bsM%fSKP*X2ThH5qS!iR~ zd{f19;2!}ER_`=dmrK)XnVxXtw%oDH$xW%#h1#KZ_4XG|#5U~3T}eRuuwlhCSNBVY zH?g9bGXaAYsGHJCz>Ab4nkMLh?(Xh922v`wivWfo_REK>$fLllawo_C0jRP++?^#l zD7q+f3n&R6$FDI{+|y-;D*3~LJz{gNa~l5JJg?{^)6*;T6K3W4f}8S&@PFIqEk{W= z)WZD*@mQ;}`ouQ2jR?}vtaowYZr-r+z*rSr#Sw)zM}`CGn0gc(Dn%~q+R(w-nbMIY zoZ*zO74Nng-%vb*Xx+fp9m;VHvpuoaMWW7Z$3~V`W6aw$m}2$Ao}GA=-JpoTCCQ;O z`isa^Brj<~m}x+I;I;FiVdSv^6U@OJdx>slJKa}9!xhNokPdBDJ zi#7o2^NjGj$g=T*`sqrCQGAIq$&5Po4PQaIo7VDzNrbV z+Z9rY5rlF1jxnqm;-gnDqM)Ef=%?^j1(I^K>tA{2B9SDy$1bvddU@pMy;xZrKZ9Ch z(5?-S%Tm|kGz6ZGb`voPSEhcXH%hM%Nnld%XugJ~YHU*Y-v!YlisyP&U4~&I8bMyA z5=QwF`BM^p0!VQvII=2a7z!v6CC=P%@jy!warc&@(=wgD5BU-aP zswOC!ycMVSHH^}HPW7rkOmrSrTvEWoJFGT{vG3u|+Rym{lrK&N+fV(Q5}_O@Zi1#s z7CLqQbYzy3tjrKnD~8#J+Hc@&daUd>Lt?@2X^h^x=iaTw{_~7y^qjsLJg6&th*3Rw zkcp}>cxy%YKyj5;CVqF_YQRVJw>3lU%#(h4Mz7Nb8l`xPyDllJ0mK3KBwxO#Q5v5P zbL?-hBPdxjx2m^tIYpAUP&hjJ=Q>sIdWlM&ZQ4WkZ#0hC+=GiXMgd!$pAq~$E&x?p z$g_cr#`cmRiPPnL<+SmN*>zNVF-p2r>j3V`>qU4B!zNmJ<=UTN84uMq!6k3#o7T!$ z`fKhMBUbYFJ6{2(JbQbX(c1>QC_tJWWc3}e%%Xz&O)Ar^LjdrGlbS%8S9;KjpDtqe z)$a3^ulPYJDdbB24b3*umbJUcFjgD+S`^jd#xZpx%DwmtPEA^d;A@1CPbge|H4HJR z85?2A|6EDjhWdq>8PiJlBv`fC8#AR+FqWi0aNiQaA|bJNZ~*5!0-&@M!oAa&RfEhd z`N)M7usB}-FvGv5o(^7(o}HryT{zS6#>vo^+vzOFFr<(J5y8DIeJ#q{yEJ(-1zZGF z77jC>jlI^$Z%uEk^oCTB1PY91s^yYld7sa)XGGbK6u+Jk_%(G&3Ds;Jy$@td4i#y{ z-F;M?MwBAK^y^VY5z9xcvoGtf_|Lmo>@MT!72^5+EE1j_g<#1j6#Yyk_ABe8q(1*+ z990XEf0p#5Ag=#)!gd0s6IxAxjdn*%gKyU8*rcK`f^fh6{k@#}HnkX0V$h#k{lhP7 ztJ#Gt*oIZpA>;`UtH$@C%G;$w{yX=cE!v|_t6aU!qR%tr_?JK21>QEhloG6#cM(=r zK$@~Q=o%$Uhjn6KxYN6nv}p4#n_XdFu$grlgfsyuAG}7YZ2{Wp*XAY&lY+HQ*E{0+_v|2Dx&KlYSJi2G9`;sK?)S9!o!u#?|n6Zp9 ziOpEd2r*kgL<_FE0Q21Ni+sUjJiUEkXEob;T~*%grqE+NMigBHoQs!B&NQ-%x+9HO zueaO=+egJUF857xFE6TrOu{pRBEMJ9OTRoZ>L5m9Lvd>|OAtx{hKra4QlfKCL{0b% zlx+`9Ek~X83YT?xT0ZA{6gZFRI5=h#wdb%;2ChZ4;*_o0jNQ?2cZ%uqL?u6&40Ch^ zReu*?^QKBZ+>pO;9Nh^g%b z?IF2}aD994`} z@H`OEB3%*iue#XhlfH^WFS={Que1^VpbJe#);RGI=k;>oEWW9$EW@+$l3HUIt5V^U zFrh-%9mz#7vO?+w1?ixMrXd-kKgNBoH%V8Gt$(vjwXSJ%axw(WAWhye`9hL-Gw4P6 z;qO1#<`a_%Qt#MUt?Gq?)Kk|%oGBJ3ym}efnWlBrzm%WZm(#8bm$|k(O&bQQ_c2PP zQQd_!mRl3{me|5S*FT@z7&LQU0x)Ngb}!#zs91<2z0%v5bE|8Tj^i$oYQMU=WA9$dBkS8IpOVl{=IHJJ zJcE1)LG96E{q|29m7iH2+C4VnU8l%SF|#>>dgd`)r#v4STJ-(K)hO1)a_)7oEgQqM zOQ#@SM>n@+QL}A@6kKR?>emoe;pY0xe$5hCt7L?wn~dR}F(P{#-)Xbwr!#-9Ly-Me zmxB*Yz4Ei#s<4C_Wo7X$k0#Hwy5wffl68v}v2>P)1~TEPEx6uy9)~!%y?b7nO$8pv zHR|S*J!l!??=W?Ur_Q{&JYpTvba0?-ozC~C!^Ow1>?A`ON-DQ@%n(2UDdaU!8G&+$}SYF*i z2$N^nW*-{Lv?1R9q>afzD*niv+NS@-=BI&rO194Kw`tT=CZWR%v|Z0+`QU2NZ(j%1 zLS96(Jz=m^Vp@|+H#&SXJ2c^~o{Q_9*5Vug?K?Ub>vg>I&;MNyq8s#wa(qfkN+WEy zK>QIyf3PTn|F4)-lW4rJJ+4EZCL~nE(W$$sZhK0m(bT3s@#6fCUpyr>%gblJ*?n`Y zhxz-N8hW^q%N5`x`LSZd>&HJVp4cm|3f3=qvk$91j+9C~SF!tObx=I{PCTz8xiSxs z{~hq1A|B*H3VfsrF(PL9B&toK^z91It(f5la!v)&SYkQTY*qj%XG!b5_`-bQHZ89Z1d$RTG;mr)S~-oFaZ__zVrsenoBW*&9b zH;4^|57e^rILiJ+uw=nvX(>q>(_k-5vZZ^(Jk1sUQe|j|9+lge)5K|2PX1ih#@k+{ zsFwwugJ71!&&FC#Jiac~Aah;#-$YWEZf*EpiEDst_PRC=!~0;HCr!p@-0m^j-s~D7xv=1w!v7A+*q|fYN*K2r6AbL_x&vxpANK zeRqs|zk7d#jQ0;2<6U#jHP@U^xjmTH9Z+5Jw2hm^Mm6-B-^WkSA1n%g)MvZEL+jT+q5idkE-)%%^G}m+-pa=>f3}B#5boEhAgMX3^o*2T46e(P#v-s&GPAu zm*mG9ohuL>Vh<@bxTr0=4J+>NW_3PM_>C~MsF?-1(m9ra3S9i-2`xa?G$PX{49adc z5F9iV&w$45|2}B#s&`Z7uw{EtG(8%)QTWQR!qSz4N5&$cp3^W0nptw|c(+{itVi;Z+4X%2aw; zl?VOyxgC|_w0X^^$ZErpf#y3N80PS-Dqd!=L$pl;*5>ZeV%OC!w6 zlW*|ux4`7VUYM3$%p>F~8JoOkV>g&YS@>ek^9*OGElo4#VI(uk3{^vpI?3J)8Sv4$ z_L=SZj?K3p=&gVYmi3r$9Z;#ppy)u4yf8&TRmJrO0RL}8t52fTg$|y>2TFti!v}Sp zA7^qJ`l7u4y#Igvx+&b9!4|2dw{vW;tl?8Gnpn0IwaH-VmvZ4fABx)!I@Rp;DgApL?#1DU9xVfK;{M49BE`Zs<8YVwFWg<0p-^sNLJVBR0}wdACCD!2^RP8 zp60gFXr_gEx*FV`kPb)k4cZr&5%JpeHEYa*f-$SY$ME2i?{s931alj-FUR#(J>q z^O6Y-HaSVvtsQ(A*rMC9v){vPArq%O4_hJk*cjh##!c?c`x<6A`R&Hbd6{EAx+Knl zgm9&_V{C03R|jd@_+f_rck}P-PlM{;zmaR4AR%T;oN4_paj)?L5B~+wcxGA&V2MP+m+S^Yl&D=1U*C|Z*Bjy2bqME4T{aUmpke*H=xGpD?wK^xR^ILqk)$Q}a|5esXvj?iDMo-LYde z4>PPpW$WPb>R9VN_0%KUtr-Wav&^~*VX9N2Pk7s& zMaAS?<)JI-O=!23Z)Wp;oxh&FN`ds-XLeeOE{O!q*UqP2^P`G1+517BYqgM>5@nBI zBVIp6uGcq(qFMS&xm(M5_lt&0u4@^cDXdsQee;D3I6HWYnI*a7%I+uks`UI`4-xQe` zta%-q9-3d!s;lL=UgbE)ai^=gf^IADTO%k-RV3XlMn1Ii3O^rePeEcrbHNX;wDfGt zSQa~}B12@^XSx)PNfOCBqhfkNqqAZg^F+?eYpw=m<@#-o@J4DqM3zGV9VY&!3I8>r zWber4Lf`cd@u{Mr9sN72!yxrxTARXfS8HMPcM_c%(>QS{Di?kL3+*4 zCfN)hrs|j7a?WB`0Rhv!I}0d}S~6@ks?p8&<*Opw{2z)(dkzkJ*m|7$nOZmcW-!`_ zDcy(F53LipU(-k#2v#QIwuNU}z2Pi%DUJ+MXyzYm1YBI`^g8 zZLOIpVK+fmDba6j#{K1sgeuQcTS+=xN>8d zWyxg~9hCqOZBQ2I#7E5<7^&u^0(dn*{T9_u_0KW<=NORl3RGtyBtN2{qvvwDj>fXy zg^SV^M*&%G<7E)xi%$_iZLZs;1#_nIWY37?p**R+z$u%*%TrFpc6j*M&UAl7TUrWJzvo^Ga~U*={QwoOulCeJv%z@*dwu8xicHm^JKbP zP2+sD%sfYe8wlf#TRf%QG9r3-YfrCYmCxknVu}L2OK?rLPj0HAf_EK*ow}kOXh~s^ zlG_diDJfw0+0N6uMTTU@@EKjH`bq+*05u%c+UUE~baK#h>a(iZH*(qea@~KeYB^T? z;uDXHUzy{as#9p3qW_Fd7p$TnXO*>$nY zcPA18bVSgrQSbF7*T0BlvQNlLPQH!yc}nf~u6TsbkBif=UG8q;3fqHp*Jv6J*o$EF z_qb>Y-xP~{n2LEmF@rR(K)77H@|k3FU5h89$^jz*FKX0Q>P^y*jrqm zHluQH`^ph71Rtg(>NZC5I*O4X))WFxsKBU`yFxf__#7HF^OY?wh9S?bX=d06F@M;y z?vW3)mb4Z<*6!Sm^^!s2wO7r@cODV!S zg=R5e)1ew8f5zjy@WRe-#mto)SphogGC>@K*+33jh&aGJB}JU(_f8qULd@w^5&thEB_zB%mvX-gP_a?wsrkqFqC1bA5L0PQB(~7wIs66^lpH zkYCDf=f_RAz5Kvijo&P*_SSY6ajy0qJjE*~=IOydQ=N^2o$IAdZ^}KnD|D1fFbqEb zB3uI0ti8WEV9`FL!kKeDXMbtx#nU+T=BaTr8diemua)`YT{60*bE-XChXcl&Ap04t z*!%jMjuqb7s=do~rN*>x<%?`G(RnDiS`2&66OzpmwCiVR-5B>J@%Y!nFx{Io8G}ln zQVQ3mK?~7BRORw*gCaBOet#M*(<||yHe7bHdE$MOZiEuZH{+AQi-d(J(;9DhwwpCiuWK` z92MqTlu#cWBa1K0;JhkwaN5#yJWrnEv`b#|F~;t@HFsl7*IMeDWKV#b!HQbZK^hwS z8R3VR25S%VS1|916*Xp!zb9@zlCVv6#c~lobcMVi68ub@&Y7L=H|MBZq892ViuWz< zN2-_;nryVLxro1Wsv9r`M98uemZLTw34s?>F<9Y9|7XA5k1+4GkMDg`Tpr-z47o2^ zyLjjyR4n7~lX=tp8Rf_`$yeq2G_Nfx307I=T&~>*jam*y6!k|I)k(hz`jshWk9+(s zNQscC+lXdw##aNo3 zs2iz5Po(3jykbZXcql$6Grswlh7y;pml+eC?$JCo9LMiP4}@BMZ4wOE!}h)8XNbu`O!G$eV4VeJ-W*J4IrLH~0K)bON*Fzpzr^4|LFg?TD}n z3kth2H2b?HY6pl=IzX7bPq^mNBaR(}2z=`I2a_OJo@d`c(z8oBCd(-Yx7sL^Uwes) zMtO#(q=}I;5+ehEL2XU2ZwTjT%Y_nut%!cB#iu_jnXl_%mAbh{z3b+gE>Q=0O*I+&o3x{nyl)jmaK;<&r?X@h;PsV>o8`eBRyf{Q9iQBK{1WAe8^eCS zvd?w+4b$%hNht7~x{};%2gBAD8gfc~CgZKX8Ew!;JJ4_h*<|+zh`R)92Bn;?w)-#Z z^h#821-OmB*6*LaXR|PLuWfWtySD zrAJTcDjYJl>_6IHy@qLax0mEdmzINDw3!W|9$ULLA2q$}YVy}czmrJ{8NIRf@}A+E z9Z!o%wacr=%r>=)=yx8^wrHoVWhSa7em3v<%!$^&v*ww-x= z);jsP%~NA$$W#{MddYaGt-gmy*$w$=(aaEo9jGLL)O9BYWqn@8S@!Aqp5#6L99Se3xm@`<3}c0nvk4^tpe?}Ist#Z~7wfi7L*pJf^ndq-f%DJi zFjoyK-%{>wNmq}VrVTL7uN4+Ye9UGgyJhP?V~IK(D-Tc*w(s+S^U)>EM=XG`n5AKzg7CUasYKVKzg5N5Hx#VQ4bkLf$=jo7G6^1@(tt2bWWTzaz`*p$ND z9UQnJLd)KdfZ4r~C=h>Z_VDSb=?$ze8m~V@P0P)RsLNc(SAffF|923cO=~SVA`-T%KdX?6qvM|!t`8MR8;j$YPBl28w`ts-@qzGtC!a-q<=T)0g;AlU#yis8?)4;P znW5Yx(O41>`)O~e`pZhnHc;nycG-Bpv)iYZPv+XNDj34Rk-7f_$kbPN3a$30itkVi7waJ`w7SqlI7T|h3}f~+I=goH8RKISSa0k zT^wJ&84f%*J)K&7@&1Lz3ra_J#~g^Gb*q;AEp{oBt9#F`Ff7JGPZpi1SqySrzq2aC zxfaVAd^Go>TBnjtgk0rU5v3`~)4~MxFEW|x{ZBLlGC((p#A<$xi2g>MA93JrTLvHG z+6y}D2;SH3@xXT8gQ%3r#w|{U43Arh!kQY~ryR29 zh|#MK4MNmeA4_M3QplH*YeHLQ5qM8TEsY9$FDpa2fSb})E9qO+^}&#NbN#oemLhe< ztGZlwmtLzXW8trh$7%?Z!C_DB4PW2n@+#|W5{as5mA1^9#08k$O;xq1oNlx~ zcT;F(Xnbe2Vy`S`)TyI_``Z*Uv+2kBJCOrZY5c{7lJYB=oz^?7xo=jpTt*W>|?PL_kO*L-fci&Nuk45Yg6GV_n>u!np?DQyyIpd zhfhW`$FH676fP+Iz+4~DJJJ7Hm?g3DJ^1Bz0~yulUko!K`F&F`|KxY$29eidm}8r( zeLW-EtLPezKdTJ9&B3#j*6l~p;D@QY5oanzo}P#@zn03WHk7x-X}AtwUsMB^#VNoHbt7V*Auv@zrWLoa8_E&dM^VzSy$S!L6~u_rM}cRdJ96_`i)y8dX{B&5FZXHCv$Nb9E^91mnCEjMu>4G}1-_;pxaQGE78sOZ6lj!e3;LHFWWLnHR#u=F_ zk1)!4$^;=G4B2M=yxuT5X53+`L`NK0<30GVgG%-E!Ubc+wXe7PhcJl9`q5@4({;@z zqp4gUChH+DS@lhX&#yg>n#wdZ`G9;Agt6sQoH2CpDt777X3mXFVi_uS+Jd^Vz16%U z$QuY4Ql`Dd*vv*Rmvs))?3XuxUP(_99W}k@f(;_e(X%zNJL8e=BUGh@P%WPd^|}5a zF(yJIf{vOZ%`Cf?lHo}Tz05E$DB)DU`5VQxLhBy16sNkO00qERloZ2BE1q8}^H$3k zYo7DGPq>(t!DW+rQr202k0O5!9fS`M;9^q;lV7Sr+SP`%&@#z@Mw%6PvX}8hAAg^n zMV`|XUMD%}px91$QSCSn@!IZIK*lSS`fwR`a{_L^bXus*nKyyDw?H)JQ z9e*Pc@$PFjrrlJALAL7MmR_%kac;(DwL_2l$Q6p4pnEm8yaAYvwb|}9k)`EpA9zhZ zin_giXMY2@9%PXjBIs)|{g>%L zuGmS$*RkjJH}i7HTn3Vdy>7aHcer)4^t*4_?n+BsY!=-7RQRUwGjVko zsb_z#Gt;X-{__1yYYjn?cH-R24l+r5$~eSzaj4}w|cBP zb1=-$nh&g7w)bDB~S*dUt$h(%wCp6K_>`h^P)_@ z#=#3}BhqSm)C}axOYiFsTy~$>TAwyF^ee?shgLYM2vr zvI54M9M`HpLO@_42eO4nd%nI_EUqVxUJ+9SZgLwSMG&Bp?IlD2C|@m4N6Ay%>>2E$ zOs;e}G<+z-<6Za*`JgN?mY|nl+U1B%)qALhvjM?A71LL6j(gn&C)?+0sK1ArKY0{K z#VH9dvyq78x;_Qc3zOyIse&VslaI>Jn;d@>oJZ};J-awx*?>$avn=KvZ1c8xe{ zKl1!!pI@>Hvk( zpK^7;H;qExM1YAX6+;T#3}8B6aREFHR>83bB$7$(29p{LEPq1el#@yY{NSFojA3LM}#WVNVs&ld`klQR5A zy`>;oOtr$vjW%_6zW@}wF-CY~ov6rbmM2r*BuOvLu06|l^p&C{W3Z!3j)smcozl{C z0X%B`!%ampwoutJ1GyfBoefu^3TU&;63eq2x4zf%s^`Iv#oG&7MWj^b-c#^IxN|yB z(`T@al(E19=FG=g6l(5w`2 ziTJ0bO#$GGD-wStD{yXGHkTt9rD->qrO+g!;yaY8nHzkbxp_%(O{s`(+FHh{@|!QAUT7(ne=X`MpKjPah#%8PaoWmQUdGur^+o*J`oei?8h+HN z&R}vTy>y8p4K7ZKXrU2arV|F412}ddF)3TLGrndI%PdrKeVdI$c(SkHpRwQdf(x+_ zsQ05hhnm+VO9x_&?sAq<4#LI+#LVs1-DNa`PqwHut;Y1!NgE=O9RBSV`AE_%s~T(% zl>t_su#Yd9*;e>;iC>air@o<24oo^b6jsxt5wjN~TP#ok52@4-(!v7-sO_ACF-6UQ zYT3RCY#1xO`T)82{HMPuiI6S+V}0x-Yg|epP^wM=yH6#)^Cx_lId2O-L~bZp^qkLd zKVoTD9o_7D^%H$L_)59@q_pncqX&-|vp$tzH{8i!jHe-=56$n?Tdy^C&GIBo?GSs| zj*HmPS`oN4*Ka9lpFXTkrLNbvRakQ9mZ4{~9wEE3zZi_{uGEj<6Em7#%%!v%tk6Q0 zely%3rDo4YrR>noFOUYCY({^8c>3P+XFYDmq}x3_B6G1DqnsAYlsp>?*q%0UYapPv zWAoKEV1^L<8u?sGV0X= zag)x~{*P~$DBQ)P8*5)0iW0Z#`+YIRd%?5bIef_MI^?jJ>IF4}sZ2lhUUx#309Is9 zW-!j}82QGD2B=L5=pPCJ39#x*4N+>S7xC|K8Bx(c4N^}dCsFfGE@QIOt^kwRundZ} z-BAfda>V?ILyECAQrsHT5<6G-OW+)(6j$>p$r9_ScYU9K_Ry)d)+pvXaOBb$*;@>F zsdgVz8t!WKR3Odoc(+$O1aB8|R;vrLLCWUvFn*4%$jN!x>X*= zRunOdAJ2@{bqwHY9wg+mczIB_-kJU);5P0l{)-6Zpd0v^Dr-fWBxjgwzcS*k9@Ki% zJHp76DTz_28B`+x+u(_{x?45`G<>>eJqC$oS`MZO+eu+^^&%OvWADJ9~Xx_!zhh*~P$*N)-8q<)-dM%rBG%p6cyE znH16teX)0%MBV)$;J>YEKDmC>j+%lyWtkO74zoK8cK!U#ASL$^rSoz;a*h}YTDNEi z8mTgL+uS+C6x^3s{P@md$2@H+z8WaBEb}ZOgjvg*36dNKR&YYg3XQP}{4=(3T1({I zf|PW|vEPr(+@b`~H?J{46R830qk$~*z&zz1KxNe!j!71JFpyb&;mD>?UrrO42xL1v z=ODpT5u`(&6R~`ye^4HZk}XMOkq9#TyYsi*fC`Wo$WMqo>DJ?@RQW7y!LsfHc_y=f zd(SR$C415HLe*=)lw4!`uwMTZQ6?UoAL?CAWNv8@ablMB*_Qgikx zaYzVYU1ykD4@v|j(Am~uwIV9Ul?AcZk}GPSCU{e(t=ycui10S*4{WMr^@(=^LbYr8 zJ1S~Jzn_}yFmRRMXK`zl6TlGJhaO*Xp5xwpR8v=0t%#g-tMevvn0s|5kmawl)3mC; zO30)#EV@7Mfev-kNx%_IwZcIBhyRSq+@Nc^{%|ca7Lb9jbbj4Ot8d766_3>UFf4N(My%)9_ zmRfOy7GjY3sDF?El2!SR){#^(6LIFR1uCLpd|Km{MKOsjlIc`QEU^~B!pXWR8I%p; zdwB>W-$n`p^c8k!Af=Ks8mcq*s&k~|FzbZ6Ej@n-)~-*VEuq~!>?%!}I$YwGE4}KV zS9Z6vV;|P>##-`MP84k8p6V47pIVhB^P{Y~>deVUS<_G<*kaAlgrenIopGjy{NLJS zk^_yhV0w;`f;fLE6GtXRkp`}{vZs{pU?4pK76wQ&V#7~qZ~=$8m=hJ4gelhqWQzOI zDZpSK`tdK!{{omKXfe?-$%wF$+lWpwe+opANE+)T!VOa`0&71TEAmG~6kx!|3Pk^3 zFLj;C8-Jb7oGSTyjOCLDs#vJTJ143${q4x`+zLNo%hyk-VQJg#0}_L6@V*CmPc{tT zm)q2D+HaJc>KeD@m=cRvy1y=azm>|Z%dn_!y&h#KPtTvW#(fQ$wiCAV)*i zq5hlS-I{DMok_pqsRbJPHLmoqcK65xg>qyw?aD|ytY_YtDWXJGRtAPIw?YfKZeDze*prope_NaGV~Fj*%KxrWn!(4g9&4~ zt6SL7{AU^8XjK@m=p>r;#GIXoQTmhwoyC8j70aM>X`!BvbZuUDreWZ6Fy=1aYw@*J z%0%}Rp%shVma7r($3C>n1Zx?9u-S++q(N_a8_!r5*G#^E7m8f#g?*w9BBRB{;tc#p zhX+xX>9yGTyD~~0WhTAb*Q%}E=etfQ9o^XECHW0I$D2kQL{7CQ`1_m8L6X(jz%TN< zqZ5z@iB#sh!`7e+Y@1+5%10l@gOjC|^-1)rU97Cjx!8zduz!p9HPZyYMR(IIUzst{ zb{e~+30PY_rG}Ujpp;)F#sCb#Qwbml_Co=57;0CE;%`~(mX zIcAy(hBK8ZL%B-{)!3Dtx3?0~smm3j>3kp*5G#NvpcWqTla*qQ!p@O_oF@O=UIG#U zLPLP3Ab?(+7&}Fa6AjXyEjj_lMsA2VSF=9t(4dk@c2lNLdtM*>1Z5{Pd&sk*{4hga z8u3a#f5D}(i~G4dR|p;{_akLolv_hfj$6+c#y9EhGl#XmLXk_ulXh}DD!`3?J}p=1 zpyT=-bjA%05*rSo@?&ZIP~JVLNJNi6ipBML8eYrVxydj_94$rL{Pv!Wx)iaUp8<1I z1MSS@_ z_sFF8v+%iq=mxWV<*wk~nAc^w3(AfOEAU<}sRD(KUm5dSz7X)=3*O)pAh7x$j70xp z_oWnOb(;$ z>XMWj>U3!|;6-qyUh3$nT8?CKAz9Gwtm-q@pnU4lp@#z@l9Cu~l?bDdVIv}U5 zDqXzE%z~$d%?TDkdz}M)H+$RW*pS|k+5A;qV_6x{$46a6Mb0ve7lsh4n6W|!#t9~E$0E_0d_>aW&fUJ-J8-aM;J7Of+#p zik~V3S}0FGPRKctxD~+?0Sv38pQn(YBjaxV11_WT&Q5>IX`Zd>dqzjB6ar5vg%T^t zb|*rjw@7M^#yO3K!A~xXzH3P|Don^TQ)ZwH;t)kCd{+dj%M&L-mA#|*zp^*2Gtptf z$ongF=n9uc=%p!v?LquJk8qFr7e@}ASK?wN5ps0Q5%LB zk)3vJ?TZIpoPDQ{T6gYIa5A(u%Z%xFOMj3?yI>3tl#u-_^R4NvL9nnsHDCS5mDCkq zuVO^(gL!Y^d^7EFpkff5pe#sA|Kwndvh#)_zjeRjr#q2%fj2>w5{*yA=1<;LRr~;~ zPaTT=?t|Ex>hu9kJalms>h#0E*a3n4*2n5Jl0r&I3UmZ(2gRhJAl(&%k(^QnJRsHA zOV@yrXvXX&o~o5`qJ|T-ie|4L7c9&89;A zUh=hVLlv%xKaUQeS?)5w5*O0O7b_gNQR%u(KpgvLhC6I>=MpeixZ@$TUc+E?8-;=JX3$V$*}gp$ugKn{&an-4m- zt^d&vo-3>7Bzk+USiUDTT#cM)?@aR?-J6y(emzSwyI`q5GQ&2Dy(e~w(_5rza7Z$f z9#EU9HpmWj`+L<%iRfrh!KOofPK~0HWK$Qv$HJd!2lcQM>C4qo_#|=$RQD;2ltIVIOo}ajQAKclFJqZH$qdVIVSHJm6awZR&4frs-WMN z?q$$dVedgxzia2Nc_}SE)|DDP|IHxU1>vX69VOiahE<>pyoJbA5MyKSY%v$Xx2yOs z)w@kRn<-)V!o>UOjVU2!3w^J!D#Tb&{%7KT5!F*eTiZdF+Z$26ZkL^>UCn4#YB-abc zRmu&g7Agjru@=9ke9Vfqo3(9?7{<+=aJbS`mHAD|Qz?#yob+6`;*~!zL1`J5uoKx% z@W}S#!uu_;us9^|P^ANi55I3R>IL*_AL7Q$)kWR)v?R&x7{WFo=9$gf26^BGA~N>H zroRK;l>4KLT?L&%BK(&ZiJ`sTYT23Ix^j|MYDB)JWw2cM{T5&b1O8eZ6>Byt#rKn8MIqdAb4_0Cq$A3C@G{8SV~DN&h3)HD>G0iP_X+W zF}L#(2sFxu75+C4^#l#YzO{orJiFN7!{&jeV*B(5Xh zqp0z?B#jd>CU)$r1bEZh@7=U>b~l!OoXp!JaezS&!HRpphpB?3=B@BEN*TE5>Eq7& zS|_11RKzCLrtF%+_4@wy-FxlNTN&hXH^ZvA*#YA_w94p^Uo_;S)kM$A z*pfi@u(feD7knNzWWn%$4@oS`us0Clc1&Z7=+it&7-ua1_0RA9@7(pLPyO#FU>~`m z0!Z(PVE=caOA+Q5U}}Vv2>5L5{kO1x+HhDKpf#A=zTVBIjiK2p~u#65StD3b|a& z-9iHB_aILl@>{g3QmFY zAJe$oD*D3A%`-gQlr44}Flz@o@fexHiG`^|?0j5~&r(C1!fKj@V-Q(pNq72X-lguN z9hJp^WUoW?KppGMPOn!RdBESnaP~d3u0a(B6|w;CLlM{<+lM5497I|W5#?4T!i>YrpqQh;=khHKjH8{eaVp!?E3*rEKk|9 zlaI#@^>Rbf(=D?QiCXjv2xbO)3uRL9%^5K@$u6+M!elZ{1SmTZ!XPi1yYV0yp#z48 zKr3dtNI@Zrq25>g^u09vlhi39LJ#)Ld6OQvgEN!`kE!lW3_^?rG2pap7gWmFgH-%< zLV<>5TlVo&^taHqZn*Wm@%#(zYe~|jo`=@B0O+unqgvSsvv|{t?kqj%$B2&?QT7GO z-Tpmj19J#OEs$X`7L#c4%M3XGvXhpGC0x{I3ckHobUD&Zi<6>WG25k?OEnuCaUBS{ zpn;{bQQ=&icg!-tuNC1SM`I{msqB;pD}q?&))iBsPTt33GH|_4Mi(+t9)Q4Klbrge z-VxoL&^R!GSQ+JJxBIp{F## zc|@+5DF}9+0C814XQ+0DCUD5pef|tn1P+IAsYK_Q<3vWN3yA-8>7{_V53;XJFEnvo(C;B?s%8=#oCVLHPvSQN^F#LJ?X6}}>j-2&VmdsTOO#J%v zNbZiZtnx0{ps$zq5ELx=lPCoa!Bgt!H#sGZQ)Xa`l1P*pOmMy`wj_lnGV}T?3m11( z;AnAKuh{Yuq&RJaZJ}|bXorjEww>Jl%C^Yyw?W+nR)%ZXiMc;GvCLbv`e+Zxb_mau zvq4gniVytrXW=nN_k*Fzc18&eFGHfH%Y&=QSpD@q90Q2Gm=WF}jPq>*XBsUG5Fv8D zcucw#OPyde!MjlJ_%SkNkgE1po1M%^MUw~G=3=vL%}*o0^|J1VAi0!amps40%B|RK zu8cYN)cHkCx|tUFQlBA|=eAC)#fBft3X!SiSLoJE`({=F;=Qwh`Jpb|Y~iOSUOlJ? zN_|ZWR7<6DEP#pk#qqr0GX5993!FjM_h;QGL|u$+smSQRf0l7f*crK^e!Ful@YwK- zisqn~?q?hb6_s91pMu=)AcjJ`% zUKrnWXEE1r5yPf!d&T0+{J#n28R5yV{{=Y8k_=QxJ}?+H&S;@UjEuN*ndh>-NSh8+ z!JI8#fJZZ4f!&6P@gu6P0(kvP?lndVE?^I0R-kaha0UP_^Ym*7h*po@Xm}}^R<}-G1Zi-5%d`5n+SuOk z%drCnL^{uyWlIC>F~#j&ank4t$nUCsoDnNbF#$3KsNm1miUV5OTydg*Zs8x3s?}pP z;9D5tbY_UXHk^K%g(9=^FjhMT&omR!1ETdR*^IpD+6+aw8_U*z!Da*#Fu~FzBx)&k zz?G{}As*>1B#w9b3eF@=Z3&^2_%~*lU6`Gs<$2$^VQX_6Z_T){RKLK+SmY)d_`%u?c#IM<$O%UL0&cya8z>$rU%$-wsmvkf9a(HUdpiX5rcV}e`f z6Q8gG?>?RLz8u!))Dns8qMtRMBYS_tX#bRkxU&mUT}Ot(f49T`(@vuXIHo-aSaaird!^WICqXJQtHYsDt zBhkFSwr>IQuBmk{p|utTJ(3@(WyV@~W(Yq#tKuJumxJ?(mw)D;sMS=V)6@Sda`h*> zY|Y|F{m8#Q-gd^sJY-q(yh2hFY%m?X!-T13on4YBvGYQ$iENTpeNp1@GwUVKpWe`M zmurO=Od})31W+E#p7ni31>I+8*P%Z5xuowIIUx*qE{z2HR^|hFM}L(|yGAjYzD=0{SzrWTNNvd>=oTvUOnsG}wv8~-*Rfga| zwgwz)Fw8T)H*A|IHe(Z?FvE`#{hI!3L`>?6G#|Yx)u{~E-sfNYrPDiwDww7Rta{AFuL-cQxr8zZyD$7tI4DGj zP~6<*29^sTw*HT8PUYCQl8?;ow!aR_8`=5!WF+^s9=ja%X6l&+5|z8kc7=`u5(Zv1 zi4kRMTN*GW&xilHb^O1+Y@QQu^Xb{G^D{j%3Rl7Lu5~hr;_hG*&3Mx)+(#K6V1Vfm z&}Uh)7~6P;6lKodI|E+Dhu<@s$g*Hdo^LIeh>0gULwYG9MkN}GfDll1vLAe^E7w9b zvqsD2*OT*u9fC0zljr^MifOClIE78QN;;Q>Q*@Z;O+LD#56KTfSeFGsV(#VT9EWu? zGX29ysmt!>q=dn>s_*7Dz&ZAeI7zsu@Xf#0(lgAYCpko{TH%YZR{L#wl83X^Sm5d&>?XVU?Ja3~cHaH;Yv7@3 z&S?GtS2DePE-4RJt=yD*Dy%81(6A;>k9^sOJ3jho93Kgc`9ER;Kp{}Qr6eQH1-a%^ zLC~3p%$duid-rKll!?YCZ>z~FHVSB_r8KNT(29-!zNG%ss{ij4^IuOqc~J^{J9I)! zs(Lrfluh>B!H%D@6dHeN+x%_=74UT&D*1e8_T~ydQD(eSmHYXlV=v_DlE!JZJ~QIc z$OrjBNU@5yjP^{GctzaJd&QAL)EE7`RTX!xCO&WpS_>KP#1N9>b{pU0T0Z~8Ot=J! z9j$+y10_D7-;phl6(W}vaI_Hg8QcVA%^w#tRJC@&mxTvb3ko}xDbp9xdqGH4Byv+9 zIZ1Xdzu;LimkyaTiJdcThgs9tVf?k042H6pD)qs4L9Wd~Ria+160^sDWeMb(&ecvV zM=ghBTs~BUNhH?Z3XvYj@HdDM)Fj`EY_rcpQ<)sN8d~-8*AtJh~FdAnbD7+?fIYdnJkQv=~M2;Vd)A>t|Azj`JAS;b*8jIkBrRw=gVbEwd~tVoa;b%#u{3 zVgSkFq%>QfXl!?Z{Pyyk1nJvLB{btR@)1(?O9EaN5|QW)R9o{Llb5AWw484fN7pB3 zR2Rs!uvxe3Kxrvgk7G00r;xx6SBc>X5XLc@n@L`fHtCsU;me>l=#AB2HRo1yjHFe~1{N@R{1|+XFU}Ymj zLSoA%DYQHUlNdlkVjhGPkt&3z8wE)zg4UW~5<-j!5+EQ%!$Yt{4@E$*)&dsRAlg`1 zmaVoc%5lY7HLc=qYwcd3-CcM8oOAA-b7toE`+a{i^O+e;`5MMyr$1pPoF%$SfPHm8 zuyF5WXJ;{~EibKa;AE*NZ->iS>Z=fQT{juJZ~kE#DS(ssJy=)**3SHh$CD(mmN zCDjvZ<3Qb(Y@&l|MpUpmgV$v!NtM32*KT)Rzm_O*RMqB=^134W)AU*9L2fs6_+%Ct zxl_ffIOUu+tjSZUF!GeMCBCBmk&96lQx840dR64tl}#~>lqp5?=Wn#!Bv0PF<>0k6 zJ#u1VZk!?I`_QkK2AsM?!v-g{DJ+J{B7ws2cj)Eq3$3o|vn>TbnxNfXj_4VUABo%o z@hb=f@wldQPek{4<0LVZ$7TCmOcw0$f!M5KpFyNl`@tvWDtpu3pk65QA-4Mw{2-u! z^Zk0^&Xpo^NF^J3Ue{GDk$V*cQBJHeg#8&a*ryN3-1{^Cwk^z|7rdFil>U#X4rnkf z+F$jULemVjQN`WqlDgKZL$Ohai&p#*u&|x{9OOxlyw9{OpJx59AT25YGH5kK%m+F) zn0AVB!xTEy=FfNy6dHu1zA#i;#Rd;lnEj@mf4EQ!-4>AaX!W*8;fmHb9q$FgXHhhI z9D=W;yHkzd6!Ee?KP_2z2(u{@#|dh%bQKCaj7Z>}7aib8`~{eYGIFJw?0KI2rNu)% zPqS0-$5xYbUm6R5x`fl%(2NHDz0D^R1+|>VBYjxMeP<@@2Wrl@{|L^7RCYQd%PcQJ zZJkLmdw5yUv4rE<#!;|r+SR(dCr@AWWW8JDE>I^^4d>p_C~RGR-wm&U2C_C(MQNTm z+?*dFcRS9kH#+-!RNp1V^;~p7n`J?L3{z}rN@&rDyaE@oclD=JG<(B?04<<_p2?O> zZ{#8<(p6;3({8O*@M`W{)^Uin`RQxcJwLSbr{m|s_o%&_md6T>dR_83{eO{}c;NEGS%@?0X_uaVe*7Pe|)Rq|KT2-cK9LzeH`Pa?2DkQ7gb2g;@pRezJ^q z2Cu!w?@#Qs6*@1a8I6r+6cw!kwp<6+(%ECtL$xtw9)iu;(Ho4&lcX7wYM;jBKcv*% zh{wl;^qw(Qhvnpi=!xx9jjY$-+9}n8z4uadm_c@4a&}I_-4u7v>^lPeRjON~+?1r= zi1CamA+<}dlwxyI?Wxrq@j(2w{>+Z^ylTZ;it5ST)_K`jk8f(cu#b@17*-V(C$@=7 za%910b@=XG^ST#;eHE)~_E)UJ+o~oOKy8aRE858!0Wiu7#_SD1LijibF8QC#B<=~C zfP!{hE^?Q)6YxTP#Z^Z_Gb4Lqg zM^kl6l_4-kK%@q80vi;7Zrc!4e=^nI#*x{nBt(k*4s*$|{w;7pz34?;ZL!?=Hx9EA zZVEPg-$1Z2plNtTOKF_RkTeFpRS9 zxmGMAczq^|e7^~xgGkM_=(=8&qxd{(cu?Uc-1YI zzU$dE_Q)!3gqC7{s=y11(WS-ExgH8O3MV=Ma3M~aZR_R1g8!oszpnlshv~+?Ujjmb z96Cx2D?7+_E4Wo8vjAZI6b%7=lv0ADfGCy-fU-bP@`7DEuBb%rw> zJolsT=5SB1Ax!}+$+)y)vHaOmk20-)kwCy7^cTdQLf1=lPG3ftGXkmm!5}k)oG0SG z$i&S3raxpC<5pyen?I}x|7c#I#dNI16|0J61=_Q~`e(T482XhhT7qGzdtmPxA>!PQOwz-F@hZ-%rU8|h4V2~P zK&`{-UTV%`^#f0aBPuIu$#+qn3A>0LxKGQ1yx>KAb`!8HtG{_OCUcQvgdt!T@&dyL<`>464nVzAEE&u`3=nPD}2!2o|0PrOc z11 z|0jsq%|DO`vS|)d%emu%+(7s&2;)PE{$%_b2qRs6$S{;VHpoDbK@jF3!=Aga_zul3 ztU-p|eF^R$4Vh$umC>T*9(L2H^vsz|ndB0lWSI6LDc6p8%lk=N}&E<#~*V5^)m+g+WCb zWq=FCXOZkx%u02XrJqQFj8lu=Psl#rDKyZ=}CkBPsi z{xd)x+g*zH7CU1GVITO7`D zAMIf$%gZq$(O*?cDl{}y(hKJ%N$${J;lC36qWt&3AN5I+>-*JrC>@*!HW*JtkvrAR z5APQohzjz@y5Ud~|0u-&#~J@%>kmG}EpZ;WKpX+A$_A7&FM=mH+yr+oqL&{5011Yi zgq(p~fFwaOAvus@NEM_Jav#zQ8H7wi<{(RucaYCe7?ci*gz`Xzpi)p}s3z1HY7KRU zdO`!B$DwDTm!Rp;o6s_79rQl5A36%1g}#PvfD1D%j2*@clYlA1v|(m22bc#e5EcO= z!O~ziVHL0@ST}4KHVa#UZBbBCuu`BXBq-D<3@9)ZZWI9&5fm3GGAW8E>L@xWhAHMK z)+oNi>EYaPF}Nz+5N-$egonao;c4&!crCmWJ_=uif25?OWTzCSRH8JXw5Rl@JVAMp z@*3qW%2vuj$_2^|Dk`eIRAN->RAy9IDk4=ZRR&cVRSVS+)gsjLKcv)L&?rXas3gY0PNcX~JnP)8x@K(LADAr1^qiMhGL+5!MKAL=++& zQGw`0JVCstrKRPgRiU+@^`ecWO{cA-?V+8c-J)ZmL(^%~Inf2vU7{jJFvd zF|IJtFbOefGhvw`n6j7}nZ}tmm|2-+n9Z1dnJ+SzF!wUQVxeLYV$o%BXF1D~%hJxW zzzSpKXVqqPV?D!~$J)udh@?acBMp(>$P37FslH(cG5YC%ALD2e>zQ_VMWR`154&wDYX& zW8bH-&wF3WzI*$Y_OtFkxZi7k%Kn!9%P2OKCJK*AM|Ggqc)58Ec!PO!cpvh9;S=V= z@I~|8;(N-E;8*7N;7{Ri<6jflFJLNgQlL~|N{~iSS@4+P6~S)7PeQ^%wnFEG>V;kj za|jy>9~Ukaej-9Ia!4dVfsE_D1(Z^^gS^<3worQiR1{G5j^AfuzHYg4k zR}m+O-xMF0pp(#)2$3k2n3H6eG?9#!te1QvB_QP>l_=FM^<7#)8ZVtEJuSl`V^QD zrK?Kg%1C8%<%`NaDsUAomD4JBRJK$VRf($As&CaK)O^%R)LtDBK7c!rcVI!CPaUhC zqdt2Ob| zv6XSA@w^GzB+#VE6l!W@nr!;yu;5|B;d(Q`%+M^^?5Vl1d4PGd1*L_#MV7@2OBu_P zmfcpYR!6N$tUg+6SzorE#)x2oF>N-CHcmFhHlJ*DY?Ewf?WF8Z+4b9V+I!hII8Zs* zI21T+IO;m4IxadXIK?`RISV_7IrkpnJc2)R_bB60?9tmUa2H#b5|^)7Gwe<5hO43L zRo68)ZMQ3KuiZ7=Q{0zu>bNA_OAmFAB#&2~>YmA-OUDi!OFOpWrR|mJweD@;eZ%{c zkC{)Q&o)?kP3Y|~<}gCoKsY))F8t+jz2o^OC{DPYXgkS!GV0{qDa}(k z5s(Pih_=)Gr_Y{VjMR@Tib6#BL_LU>j!ugHaK`pb(^;Ogk!KfT^kYh68Daxt$Iq#q zyK$c4yw~}MadL4Pao3>NL)SH~SKQ#aapA`2Y_IHz9Q~ZSn?g6!aw&5|a$n@xE?p{fDtlb6Q{GS^QIT_t{nmv_pfb2}xyq$#tlGG` z?Y8pmiWn4vHIBt`-Z_rqsF!-wWiu;$>zd4ymzwhvfaIW4{`78 zz3rCcEgP-=ttN@W9}`p+iIWhjoU#Mhr*#M-Pt&i}+!kIx4|@J} z@$3uw7ill|zbt+w`|8e;-qPb`$K}P>{;$8R#I7>0UVS6-rsl22+krK^wZ-+o_3d{T z-|u~2_(A?d+lKkZ%tzmkUp|pG_ih$#DQ|Uuw*CC_OXydsuj$`Jzcqa~{{Cd!cYAw# z6` zP&gGOH5^7K2PQJZD0o?9;F=a#R=$8JSxRJLPL&qF0Gs7~S2_8>=s|5N!6d7-xplW7 z1@@cOXM}W;t=)Coa*2w2hA{KEcel^B4+k&2*Aq_3i>XQN7jXz0-4C&@bv=QX>E*CRrx8`Nv~S!$u#Uphzh@8Q^yJ%>-qI@NNCZhueTc zN%+BQnD3X2HQ!1+Uuuls_en*aP~=f}K@<8Q-WN}K_#4-w;h?*v6^E?W_8Oj={uX+Q zZ(LjRP}8%U>4!^O!-9Oc)hnV@p`lb>j|TT8ojKz~Te_MXJ^I?2eJ*fX-#@Azm5ob9<|IWG8SWgQ;R=)S^jz-Ts=MtA!riAl9XmBkYt%;D3G!Z zY(IX##(FlnEs*_iih!kM@362TU3AqYE(w>D2iqPK2XC)`U33yl$21OoGxk9xP^_1* zOcFz__$q48_|$gqrTfqz?6Z$+S@n?0PgcoU68jbjfyJ`(Bvb$aKw2qGP-$ zid^dyf@>6~vXD6Pk_<(`ZZSH&Jva*`_6{e22mw)4lBS^S>e@=hg2L$Mc;74t^F11_ ztBNw^Q0EUfR;Ez|r(_i@pKi?j?eLVd1WZA^{{!;|5bh9|@*KJ_2)^pMLHKYH>8tv>JDFH72?{aR) zwd1i8j^F%WGU(|gA-zB0iDnlK#*Ls8dXJn?Y3blX-5vJiO2Jt&LN0`tAl#F5A$%JF`ydFItI& zGto>DqB=Ms$tXBE z27HF_d_Yvie4~G6yfqf^b$rP4!>w;@+klhPX9F|b+Ot=0U!2xyx%~2J_eRO*qn{pa z@?6;81U0OhlzV#T*{e4T-^{*Q%H2Ep^wFWM@wa6)i6RV_JSD$B>b~?!ej89e2)8yA zDRFEP)G4767ANepv>q~)=tz}Mvf7^9Ugb3St(}sSlm?Ww3{5Enca}7!o#!8qoix=Q zL^Aj!r|&L*wElshO3N&m=pRg0XOPutfHpqR3P%X`{Rxxb;K3SHiGXS$0ulE!jSTPL ze0PtErv6%ZS3f^Ixn#zja;?0=$mCjHL^7UCyIUVF@G#aFXRT{TR@;!tclc8y6F{oL z$8Y{v{@~BdpM0tYH8ubXnNr)INcdSS$g^wUuZX2*km;|8b|69fcZ5Lv9Wimm2mMMp z>`4sy718y@>->s<&HP=omYa{KnX5Oby83x^{?RiqGE0{3D3rTju&ajOEIGOp^aBb1 zgww+RGo4nTyETSD)Z@3r?pOCCMg>JH2V zp5Mt`1O55l8Cjv7G=^Pj^7BySk1?m;!I9MpVLOz2f5rFhl=^-rPP6j_ACMhM0kyQ` zfcQBC0Ca~I)LntW0Fd(V08{Yb6V$DO0rCTrlacugBfEnKwTr(n3Og8y- zcQjFCA;tRs1Y{|GO#u^`MK~=|3v?VnC6&Y;Big7m*>x(V%%-K!A~^E2bKG-LKg&SLU4h^ ze?e~Z6a80mT31hPPyrnHN9Qu{manD%D*?;`9QGrS`XfkK>ZV*c1QpJ59pnlB|@$UoI#*CA6naicjqf|2PTU!Y=@3avHMXYPmXNx2d+<$ zSpaZu1pv^-!vUVG{2I6P-!`4UZ94y-vFYsSf_Opg4*+1m-;RZv5zqwOL4~U;fCEsV z1K%+aCW6199mpRfWBo4_C_o!j;qI!pcWT(x@>1<+d%-%k=jca&cy1DcB(Y?_XGu3d zU#T#xzm$xmv=ngQP#EY->4PJpTyda&Q=RW^a|<8J%Uzw%R>4%-)L$ES%*)_-AkOOe zVQaVJK5i=Re1{IA4uq+O`TG0fh*(sZFP;#j8m7*-Q@AP!lhIOqs2vibk2>Fu4*|-~ z)ExAl48)-nB&8+Xq!pz>4^K%MIe8@|C2D=|> z$IgTzmk8QWf{E&UAg8-c@b&*y?7!@*KL|}t|1+ttFS!GDiVY&_hJdyFr$GoJ>ocV+ zaY3MKs~b)?1VO@ zQB;p^*B=QQArSV@di+4z6=#@Ye!+@aIDK_xtZ2_`3)G?t#C1;O`#z zy9fS%)C0edXgC76wFm_dVB7OhjeooX3YFH>(bD~=E1-|Squ`GJ+U^xlO>=V-@)?w{ z>mfk~{|LXYfRfAlBjJAm5xZAFfv+I3?Cv!>h%^ZM{I~*o6@-6W0fkhO;oYm4kPZ-L z*u9Dg86m^FS1}>a$?)zqQOE}}{f}#+WcMeeD`+PLJukS)@IPPIB%cLQyL)A;@E{`2 zHwa}&aPtfF_xtIf^T#zm=6~E&gJu3d8h)8{f&YA6^Y>Le&}&@|0RCJ2cez)=YqVzh zpySln-#Gbr(Az{D^wv!MjS~XBtC*w!;NI0goclGv#_l@zLw^Mr2*D`8C+Lh$K@M=YB@;iU1gXyy$jgf6ezR zw(H#g8HR#EKyUcp&i(G7bN@|{O{zbA`vD3#3`z+BemM7oy#ARAx+(tQ+z$m=1D*RR zsbJs(8U%sDm?;1_=-sbrLCJ~*z59`}i8)kkyUz7__X>~8C~oYXT-rjb8aa3$CuNp2^-V2*-n|R}gM-~kNkI*R`R+L8 zlkX#F!Yx3KDFdPsWpk?5koO1Y__f$9T?5zU1mv}&*^{gUZ@N{tQ3VYt%`ufez01AbE+RU-@cwK{Ud>-w*8AgP!k_mN{=)NrVEM222ex2oIVE$N z61GUkrnjUD7~XsW*=Y-ThOB6uFgV{R<)+QJYiVRBeE>%_eL!19 z!ANUNjl8-dTc-o|$hni4%9t3hkD6Z|nZQMA>unpf2RWz`uJ-|po3kF!S>DV!$dvR5 zG|P%tV8c3dFAl986QfCU_rymIh#^;XIamK+`uF++W^}xUtm@%as~y1#AMcAg%CLps znjI>B#miC~CdH&NmFo7suT|8TaA!$jirP=UHZ=k6n7$>|re04appCLz4D*!Y(-#m< zHNiGAc|G>MjG#-Xeo|hvVI$mN^)bB)b%Kp&T{;hXZ~SOnx_;Y3y&z5Q#8khQ&+f`r z9T|62gWt(lReOCZiBP`rCBvr{bU%0h`ms$w%S6+NP;Mp^J9n_cG6o4i_#0qu^^JRF z5{ud!C6WeG(KqfC^ig)8KK4_zvr<&8=4mNW?8|!l$-UtWD^e}TN=x+p^imrsNUzr@ znj=z+C!RsXp?zL`tyISa(@sbP;)Drf>jXujv`YKLd_^Zc^Bf5jleYAdH|ZdE zEjH*m5?My@bm%flrn(kHGn>z=PWENj^7txKDJN>NDs5uh6`plR2R*ni8deJz?T*+6 z#BI{56+7!F3tGf2TR!e(ju2(Nc4CA{_uxf1uYB6%kYIF50^&)1Oeo^ixsy@iqY`{^ z=$RXQ7ZHs!+0k%~PdzD-8TX-%T~}-q*(LRJ;QB15odYTAY^@hxwlwhaD`aZ$2h%wY z8Tl>6Jez*TCz=E&X0JCp$rtrnAmLo|<@z1^8dUcj(3uaWpw6mXilItSOXPVAyCUx5 zQ8S~>VJ=!-{FB`Jm&oc=fnW%mS#*M!lafJR-KeDGo4cs;y_wlbZK+$#_cR_PkdA$( ztCnC17Y_LN+&qPAh$KR@bus=;U-9{6_Rx_0g>x3y912HkGNmofX~C7Y=8$KODc4>| zXQJ+#alFO45wh8EW<)BIr%DDPIH*`VS}wG&T%At|I|6&(x15v_P}d}nyQDS3n_?cd zkj#=lN8>x15+J=fQn@;+xq9SFnEQfav991Tcdvs|@#!N~>RxG2YlpZqlaAXK7}7Hz z+06GscG8|}=yWWQFP|^vV)KEcGj5%Pi&0NtG3Sut{LnJKbjwPTYfJ-KmOxRdL=TAA zO_W-9rYc0{wByk$=KoHBeu~%j;1*o-ib6A+9~=In|d=Bv=m(9AZ`6jq9Oc$W< z&{;M^>rKoX=+G;O70gImxr@ybsVN=PXH`+ z8+|LmaD{S`#U8k9Z0H~t>hGY?z_?V*=J8xp!sv1fFMcvDYEk!Y)zxXEf~CbM=KTF{ z+cf4&Esf%PzVCI)o8%~*Irf+sullZUXtp?Ms@jQ3AC*fm?Z!HlOb#7YcuBqUB0(o*n~ux6|3k_+IV1i3}>37R?qgkLz+d-+0+bSGv{Y1 zgE(Hw#ZSg%Q|F%g)Dwj3MO_#eIx;X*+dLgV;M*GotK4Lm5z0_?>&WacvGY#QsTc1$ zmR@oMLBsEj=ZMc*>Pge&YZw|Ip>urf+ndIFSSJ*AYAvoR#k?OG(7-}zL}D+L41S|g zuxY44bGJ$1R{L^b+~p}Me>KY+2S`IXEKWVVI0>c6vzZa^u9Z$)pU_0Org20}P}|37 zovEVWWYWLnBs4CPUlHSQ?a-qFJM#7Rq#A`7C(3Q$0D0-bl#|Lk9r*4B3ZgwvA`0}7 z63T4YC6aYd8z^&jyGs+=<8GC<^(`li*EHU83?9N3BJ%GSu3fnUuagaJQC*P^K{pUv z%fXe2yj*d0I-Ak2V_J!wjvS>#<&xQhUum2uMUHC5fNK`{`&FlJg6VKAw*uG28D7Ui z6U@lx0AuS;hPH|)t~Euq)6k)OS)&z1105*!C2rn#02#+4l<4Nube7AuNO?W<Kt`Oe>LRPvuvoEzeN*6+bub`2t4@BqtiY=qXb^e1)l0-hX|8HbJQvNTTwf zfH++|<6>6sn(2rQAeL5_L=lk3nk@7UjGR;-{L zu-IrZtL8h77Mj)@P#ZXYH~&pRy`Y0vL`92pql?Z_s&Mhj+uv?D z?{pz}P7Zzc_~kbvA?m#qAKF;#D)Ny{waHEnx^2t7uYG(pNN&EQ+_4&-V-Xiq(-fLH zN95a96u7d}BHO$I8YRRvGT7z6sFyl_m7yGo70;~AWqLf-8{|9_inu;I>=t{00e#r= zt@a47fuD=252YBqU)oxHx>D$_*^%^PG0jHL->q1fR69C}GxId6WhlPZx@fA&^EzpM z@-lUu`R5x~D!6XA z@@;%q%H}zv>l0x{QvpGucdSC5)8sky^oTAq9UOc5^`w8tU>;LS?;dGH7g)f(>{hlzDq2U^l3qd zAXj9?BcDnS+Phs3_aH_Kal4yCTx;aTj|0*MD}8EdM?S^DXHsd;&xkk^Dy~L5}?3Lc;B5NaBo!Sdbu~P*5$k2nwYPFyn>=tm&Y!N^}bi>txNlR3?Hzm7lU{k++i5!Se4>2$A~D)_9BtU!>n%4WVn59aekUC5a;$KEeR7 z!8v;PgWB8rla)OR79vV%28+jH3P(pDb&TxaHyyI{!L5U}4Kts%%4e5%QQkW{TX^2$ zYj)Tv73f~L8=WP_x<<=IrF5Tw-*go)uV~d|mv(#UeOaRNzKkbQofhwf>55|c+B`mW z1W=U3-D|6RHN*ch_583W3u1OM#dAZ;a5PaP82PNI7nLGwa2wjAQ>r0g;lOl)`Ky0Y zXI6OF-rRuO*_ZsRkRq+-Wy!2&U(;XZaAfE zDn@Rc%^?t7vq~zSv#G-5g@Qun(3*C+pUp9bmeC3Gv{IHHtLcMO`wzQF@?v~?dt{56 z(&@hcG!)!$viTvUvcc83o>Xt*D^@8+oJOjqm%6bz$JjEClj@CD+)MmU2EQa^S^lokTI2nouoc$^r_Pct~OuS4D#VbDVpDw zTPJ!X`|Bl<{I=#ZW9jAcC-uZkF`9z+dbrLEHP~D^&oe#}Xs+0IZTh*aU;@p@8_cmv zX+n12VaxYABUjW*pYaXwcBb|>8S}B79nDK&jJ*yFpT@_j$wJsTHMw1CdXa|f@~CK9 zhSXa&ThHk-ASOwDAGvyRE-91tA(9&oTot)R|E=jctqYH3|I>qpZ_8J7z^kZ^-c-%g z*t{5ujqk5n1#5#?YRRgqeF|lT?J`{_S*PA<2jhZsg;yfZIq36E11To@dyKdreO?bdY(-^vi$*@A$L;kS1T6M zm5^+8KFZ6?@&adSHNQ$nnHXwh6xMr?yg6ph4f{5Qa^VA=CfMT8W&QkRuBwT=y18tJ z`oy#%!Zh-0PZ(s&8Vcr0QyZl1t57VGf5RB7XEJZECB>yMvU2XT?rla(*-+bk?YHUj z-rn}p>9V)ny4hs4)|1^_G$R{|)(;pv$9$Wmm|x<4$cJyTSx{ZET9H%ldipXiT6)$e zl|}kBVh+yiQ%T%QS2GR zuAD{J%wlAv^UFkhpk<(-UvVupbKYH6 z&^Z8HrHNfb790Si^O;`y1@XOfLiR}6q zhQitacdmIE8*ndjfKsG(r1c81({|i@p5#ZC?*r2L5pX{|rpdN&kTjKjpol9%IX^7w zx|B8LrXk%SW)t?zz@9!D4cM8rTFUmNb|1sD{;?N(#SX;tQ)sCs8?7H{iJ*0d$=3|8 z;#bpayaZoMDb@y;I2J!OIm>Ld>QvTS&5IiKBM3%jUHCMcohPl8EgD>Wh??qrp;c;z z++21CN>rgkOJIY>1sd>deyZ@w$vE`B%RU9BxpqQ@MK&^OpB?Zhi=!UD08&sV$X5_&P^NS*1GS zkeJJhvm=%U68MIP4@)HNSRQDFOF>0f$EihU>2CJF<9uViv9CP}V0kou5_tPz?rEwH z-^;J*jWvk3^!#cnYzm*%xX;G9^X&_GVb*W`LBR3Yz!mN|m)XR+>HV>1Ph53FzlhV? zI`HCA-&E(-5*EG|o1pFt`P@@E-7Uk(X&PZZf{_+0(Va|)KavONz9%w2EceUGfBB=xgq^IYbgUfPSRNiR!2T;J@a(!XBU zx-qY-IzBOuPY|be8@9jOm?ZpkVd|PD+w|$tWOy7kx|h&@fJgIy-NwY5@=sPY)bOjX z%-|1}r%R=wtTB&668UX3T0_v0%m*;%F=VD+WI0lPP6iBpYuQ-vPE zIfjk-dmW1x+22mMmhbOIl&i~Nc6a3GD$sf0x<89KhsStvxu+7~4j~2TdbSXXa{l5r z@RaBXP6zUO`=2-Ar?76GQ090sw*vGs))um(J0RE6G;3?iRv6sr$hO+hX-n26(VnXl^@~X9 zbj<0rr9UrRw+&2^M7h&86hiF=$BG7M4t}Bk*fj(V&%aw9zvA8}Snm&i5Z{WWTel5Z zjttumGrgpfFhKFrVz4ItEt~uoMa9sfA%_g^egWcglKCL%4GqunMQ#3r(3m(r7Oh8n z=?PuRuDZq8@p`ihdrecYGq0yhmpaxRbgF7D+j#8>QP>8AXKE^JOzSW*qBonw&{;9z z*dVn3go>I1eQ3TVD8GO1Zk8>?F~vrPSB@+51iT`OaspVwo28Lm3*kloNErlP@o-P1vUx0#dkYDKWg zEdAX*eKVNY7uM$akuJER3Fa?i3rAkcbiFx>`h2MW`r+F(qB4<0K-lG={YjSvGkzr> zYKy(>(xoE^-?UK$8kR1GC|ZjZH6@ZUCW#P zgx?j7hT#jHwZ`^zmPku?0anufXvwgFgT`z9mG)dKd=qb8j9q5Fp?4|9apF=2N=aXbX8_ABy`R>mbhdq!ae+Kr zkAD*uYMVMJj4WS$ODgBThaShi1*bw8|4EDq$qHKDTIv;LbN$-Ei;Ah~IXA^f#q$;5 zXQaflfUUN+6IFA3K6>nbIk=8*(O;2vQk{>PC=DxFb}R$s4Oz=isL(V1z2224Tmi1+i(HqR1;T7t+O{;bdGOM_n%a-0EnEHZ% z3Yn$X`>u>`SI=y0iC?(%unl>%)M&BDjD^F`>d6@agvzlVgvn^d2`NBMWE4Ql6ybsmq;Q{Lh7e~>KWGr!z>xR$=PX2iwpL*t+& z)<`tvwDK#xQ7V2z*%P-Cg5!dz%WFzuul0s(?7J49d}~wl|q^RWR`aiZ2D6MZl)qkRYUqN_=k;WN(e;nor-FY zbU5Rp_H9zx@a+8BH%DVnV$<36cpR$w1ERG&g7ijCmSysOKhKP3xToZeKx>o7)rjMR z*2M?|i8+hez%Kz|#|kpjlIk;w4jV0BdgVCY0!IWTElHub^p+2Pg=JD#Cvqw2rYMLg zCvirm;))7Sy|ZoRG&;z^wY);3TPl2B(wOrUh5I>qq;FmBhW}&ZJ<2#&!HXxpPkp&~ zc2Xzhsk86G#)4m2H#hNO(Hn>6OWk|}w^-Z#dCU`h8Y;ebi^I!e>@KV!pS)KPu&O(( zmL@xae&^M3UgLS6$3^C+$1mr(Pd#>udPaJlXygt(ZZ(0`tC!hem0_vh0AfQd69qQbb+E!W=kf&rK4;F^Cb=moaedjQzEsc^G zXY&D19HA#MO)k2-rixNGq!LNP*+lGcr|qmwmuS8bAToN(Rn?Vr#7BqX!xPuDZ9UP# zHW9q88yvP<909<|hdOmoQe6J$c1OegMSLluVm;N#bKPBc8FVr|;3@Mn%Tt{K(z(X+ z8#+nmfR@>mc`hLxau44qtaz^`zz+OZYHtgZe9o7Ce;pI<_a-EJtuIdrPvxV#v|Q28 z^O!YRAX)iHzE)t)N6HKq(GTloS`4UR=C$-AwS} z!|P?q0(x4?H5YwMi#v4<^H1Q$MkpWX7O9uFjLdGh8<*(3m&rY;7lUN14t+hA?sZ9o?_em6QUrR=qrNOZNWrlhbXoOzkjQy+Oh*e|{zqE-FWyXfbw z=HcIqy=lA&MsGwnpHt)G!XsJ=GTeg8PijKXP|yo$&VGKFFy<$wt!&rJXTZVIyn#CL zLWlm!9s$)mEtd5p8W@KSu0cVzhi3Cittwt@TsHQNz`Wf?Y?DOZi2OAR`x<(WgL@

=Qr5G%hH9`zo5Y!5Q`A`RnO9d>9BEK3!%|c?`C?ZkMZeSt$DvAPlkV0RUZP0g zI9pdI(|50SsWD^EaGIL)V9#1eeneDK^|&V8r$N0owNnR0(#~A0X64Te8_(&`8tIje z{z@{al49S_*`;a~kuFFP$G4B;YWdS<^ylnDg0J)gsk}pZs@1AXO|k`7g^LAKN3*6P zp%E)r8CHaliBm%HO&sTiX9`dD^5%*5+;NKfXjt;K3SnIwbD_$nlGj(p@fc~o*MrTW z{T|#31tFCwmkdW1+3ATon#Lj}2or1`=oK3K7+SMSqU5dCe?NH)Zn47yU(mL$MuA## zrCqgo9XLl2!^jHMMa0BMuIJHv=6=t$=1b`1Fco-Rdy<>9~9$@qpGtx=hg>Im;+(Q*yLauAQ>$7&T^vSCXOG~$}e|{l4YlU>|mDYgXRyxD1;dPh6 zn#({ZvhH5(XvdRNf?^b+Pbc2kUtSI1iRHZ_bm#7}^O1f-tJHx&aozY(wZzro3L04w z?SQm?(c}ZS12ffjhr>)#O5URs=#}=fG1l3r+)n#)VBETHxXdldQ!4m?MBB_r6lZ*~ zjlzM_VR7!MO9N)6mwYl(^DL}TsXdg@I)`W>)0Gu=rV1T|Z&KU9Rg(+D!?mI_cV09w zcOPk?-mKqxvG-u%0Y>9DDhgbqj6MZkL(Wd;@3Z#m)LRXQ2o+ohJPZO#LobH63~U3L z*N-IhO*w_8os5qtffXZH^p+#s=<-dgBBeyDz`~O?`Z9lhMJ2@;N;agyLG?-cczQ!jHm6KSed4uPNq7xq7+$udxFSulx zrzCRiEXn5yDWdEO6Fjb4mc#UU!0q%!-DvG~tsd&bM{9s`-N5O3?vCiu^2fEAD$z6u za|1Y9Kd9$YcG!XuBIvXiHXKhVFV^SYg6G)m<1bQ{NOk054lI(Rq-_wVKYhf&Fp8Gn z^^y^DuM%v6wa#dTKj~nb%RB0Qq@?PR(_+bM(w{?AEa(%H1%|dVgrapfsc}c&*;&h8 zjePM?t1Y!dh#hOG`9;FCCFr}D}DW#}Qz>n;X1dkYFQ2bf_1u^(Cuc2Z%e^G!O`p7v@r7_~nD4dk#a|kPY1o&Cpw_{KBb$dq=c^&^e%1WZx`lCRG*OuoMKOvh^VOUq1Tt` zeRS{p*0JixIg5$;y( zvu@!zEBgl>`#ei}#Xlhuy6hJds2esUyCNB$n#w+2FuC=))-6*#ZT?BmmBbBn&#{ig zTC}QrKf;^Rvnt$0z~J04qP!*U^=c%A!wqCAItjXhc13G`QuYcjHuMspp_mc6s2cy; zbPbxMXt~%HpuN^K8v4Y18!!=&p?k0Q;f;_|&88n;Ea9N6Z1vrPDO94u#{;Q`?#6|l|NyLJ46=uPk&fG~)#7en31au@oJma?Tsd5ZGX*1nPKVQ+7R<+}sP^3DG zSwJd~>bvf>KDM4uDCyVxf_&4jkoRfW`9!|Yb(RXTMqk|%4y07k> zS8wgl`u>TF;OX-V1;$516xOeV7-#)wVVy7+m+l6rS$Qt$=cJh8igEL2DgY8zR8gWm?vSv*_2O2 zA9KE~f12iKPaUsp8qCyCpJKvKVOo%+Ei_+^Qdrb{TL=k5Z?v^td?%M`ZgPg*%u3T}= z9M?*GRO}bX0gM)XF#MJo_JX3DIb@>nKBv^%8b|(A2w8CFyJ)!^uaJ;KWf>WD_4LhkYvXEjE~D*bg?r0aGUW1Ju{gpC;w~q z;#V2WJF9Y=&RE@5!>uI*1h)3z+q$ppdu=_!clUPm!)r<=tHXXWD@F17bDmzJsTiY@^FLWt7kZu9G?{rbOVA(6QjZUs87teXI zmMRXYU^PUj0hfWvXsk-|X6>DLW4!OnoQn#-{Fj7+7ed@gb7J!DertZ1PtWQ^yyx8G zNP9N+c=4r&-dY*&?!b!Djrm}M^3()Q-!WJSFk_oJ8&Y9)qRwW3Z;oq3_vj>Yf42m@ z>^6_&(iNlXOHAwrQ+6>Sh0GQ$-s7VDBh#$a5?cn^>o+SAPd^ErwVjsbM-57!Ikwp> zED?n+?8>^_E>7>QfoF6ZN6_k=CZBx34QGiv7NgiH#(*wpoi7DHPH-QjINtImS+xgk zhJt6dtDt`nsMz~)`1*H8GqO2{Kdn~DL==y>it$Ibro9pY-7^sPBC)*mplb)&e}k;C zbFl%>W0=;k`Lv}?@bvYJ&8LFR(F6gy{#;7W@mF)LscVTqPrN39DX(Tk2?;bLC!8sF$u}9M^3V3?MzR0h2XmY#fV6VAnaIU5)KNrfD zY-JtGz*(`19e9W0u!yt`lZv<7=7RH`wGaH&gSMjZ6AoWD)62Y(waETOfOepbgiukc2r%L-M= zTz|vc)!10EHZ!T?OmuVYQNOb(>Sn{qaWzKbs-5|!T4T!2Id*&7rTEYyp=(bbKmV+t zpY?(EdqD0{EY24z_x+ugW5ts*`}E)LJ(K1kTj)bNU>*_az)^T+D3}g3RLlm6c`|5J znI7%^m_&oCO7by|Gn9O+CM>IOr3Lv??W7}nISV-5Z~VGHQSf^{aqaR%xP1v#9i~xY zJ^lRTGAF|sFPEz6=`Lsvch)VTPhZ|yTv}D}Fdp>vWtXdjUf(a?R3BhCId>zY?uDHv zeN*INR}ZdcdMV+algiEw>MDsx3uT@ZQ<%QE;&=S2v$xk;!?IWmGoAPAp5v!lH*;;5 zHTkX`|Ika55U0Vur(}!o;RCx)JWZjw>?4*b!MOLf*NF?b5;nf5LHpAaH!jG^^gZEz ze6vHmo&TNl=E^J8#m;W}f#|&*Rixqr#qXz~7FE)>_VMW^uv}qOfXqn1UpG$ zX>+KMA$F6Eaxv1pZ}tn%`9620x>wiI^GEAxHGGe%x#0;4rM6!P37&GR$f^8 zmg=#g9HJKBqW;P!RueTOG_(Ao&1+2eb7zABwb>+nWx$G00++y>ET;~Bm;O74Z|W$l zgd7TS*RtVsSJKRU{P9_Rtle1s=KMKUlFfX%BCj=91u~|gWJv8(r}g<~Y>rX1heaKZ zV=+RjQDC}DUNZ!fZeDPFzTEYnJneq#J9ehrQP7SgXwq0-Nki6cgBH>gtDCOnkCV@$ zR|M(j*~m^hMV*QZbrYBzaJ$J9pnYon zNc?bDNQvRU()fm@yVh_UE;C+V7anvpraGBH4^$c(6(CC;n-q=sHS!&+n$!rk0Eb| z8u@#9j$A2lRt=&`(bKVScnp{2WHrkVViik{6S(2zvugC>dr;qkS!`MYlgMo&pJl+O zX_!Jq_J*Rx;^fT}juYp7>Kao+Q!))@6PJ}59EP8aHPTdH=svkX;dMH~CVJF8p{*-r zmTS67;Q9JHw`9*7UW@M6HrpSZO%z5yhA($DZ{m`kk23g`oknel+-qUcd!l=-=lpQz zJ*kEC@UD+5AF8X&hT;|1(jSlAN!gz(esRKx?vkjnd7{II{_q;+!>P2Q9uprdjxuti ztT=1cjL+v@gJ8#TJ#mB#one)FEMIh?tL$c0fcyHbfm#0A)OY|zdLbEl$Y8U@Vu9zi z`N|{9puG>S$j_je0EKmaXa_p8r2d?%|Fo)GQBkb;sY zj*Hto)8X!e_~$GgTo-T9-KXqe(%WJYmyLTW7hYZ~?^;8e=jdb6)r1x8L$0O*+A2(` zd?-tun7tYYN}Z|)4X;%#wi@W<*~W2=npw_rRK!4f;p8&G|G5B#PkL#RRv1$pE9_&+8Z=jv}j_QxzUV05^kW>eBg! zO=P#!N-?{XvQC6&1$ykiZU{jmk?=UavD_coHPp;yv$+irM4XM>G@WBp?|`CS2?~4Y zG#lsvBkD||bwgU_i;}$VO-wbjIhf7G*nm6HiUy_$d5%)&09z|iy{#Qq>V~+*BQ5w$ z4?VcH6ywB*M-(w^=7h$gpYfBuU9@hNKV==2sG1KuQIFl651mYy+~dBcB+y6!& zq|2&4T5Nb0S={5Qm=TNR_R4XXdKzb+D?KD&0~Zy2eyn}frXY{t&x)U4f28i6|9>_1 z)? z$;eybgiyxqAjY!`OIEyTwy}=uEokY6(B!tw9 z%NR5ok0mbG31NdP=&3$nsHaK0UM!^aT^x^PX3$#)Z+&8N_!Shym)x!F`_X*&lI?<> zr;^oSLt43OHS?3*$fq>|yf2kfT5~=4P=Ec7%INUV4PFqs261vsn?3uuvD3vZ%dCJ; zs^rzxq(+m5bt3|~Po8R1|GLK14^)4@9KG&LU#ZC%+`V^Y579C!Pm`dsQ#xNN>%O&n zWKWViw8i!VmR7@*1pfMauMjDQz!vb@?$J)|;`ewyh~k-Qt+ z5)@*b^2CfZA@zKn#vtNDUQn#s;#7M|pHXTy3iA<%oI^Zvs#lt$#P(=H~=(Cx8|*rN_jm)s3yRHZ*Kz_u+87 zTn4Vf$J5lz?t)MPR_Ob1PthtQARyxkTgGVp^l!0x?u5aW&5`oEHdPf7Tp`l;o+YFV ztb*k*_P$%DbX99Hdk)$A*%$xTAKSaSpA0CU^vaX1ikxmub+E z5YpI%JfB@tIZFr&6h!ntrFi1rMUY=mJFTR^*xJ0FM}W9x-O|+bIR9)SWenz^@8z>? zXvz#^&B76SQfuXXY-Y?PBx@q0iOW0~-~--^OTkppetK;M{ZPJ21Zyjny+FIN&Qe}EY zrGr}0IhH-2$0Yk+EGBX4Wn(gwOyQ?X4%)JFt=CRuTWFN&TbRo6%E7sv`@D}Kff^~7 ztU;<3N7`^R_B?AEb!q;q<6esA9jLKOGwURu3YtJYo;Ryi(B`0|e*(Kqb&TY&l>9{| zo_W2~%QY|xr#|+4#LtvUbeo&g~rPP-82&+^^1>WM53OMVq#AuH6jMaY732X8sgpls6$Lp#kAN$>uWDe zp}xCnCMIKue6xzgKjyH};eEJ{!%x&h;IO_mXh>V+X?=PlShFJUMVl*U@ku9l)n}xH zXQvsRZ8m5r*WoN7rA!Xr%y{9u`3lnuqaI8*=0jZF&fm)fQtU~qVN#QBE*eogA@u_c zT0aJd3UM}v?#$6-?1*lUQb@7**xuuwMP<)rzXQi%*}&2BZMx%!zZZu;8eUJU`^FK? zTtEEn4OD%&Gd_CM#I~~^+84X0r*czdzfkGiTgpnuO2wR)n@Nn`$F09Um+xxbS*Z z^sOBIId56TPJm;{MG^QJ%2BS0;X(|Pagl&L_XqV=XXqJsyT(n`Zo@8~;FYswVwH~X zm_M3&!(fybjiksJ^+d*D(<3Odje}GMFB4twdxYL^dk2aA#dYenYy&nzH9k8TySF;t zY)ii)ugBj2xTLk&Sl@)iGf@NbV>lQJ4X2APNR4HIvL1Qc#mQ@t5K)5Wm2{Y0E zHtOs3Vk~1If@VL6CZ>KLaObDcJt;&O`TjCJqC2f0ktkwnB{5eZFDDh_b(*2hn>C9U zU==nm$>Drtr>sOXAFqIZ`7@4K=+Y*cuSASw?VXPIuk;EmQU*Kla`WKW` zz1!<2Bx)`BE6@Mj4E_vxO#~1}pjMm8_iJF@9#Ava8Z`ZwlXK(Fqj zMas{sRo7{JM=?!_0O7r<6073+@=HNPfP=7>y9Um1e_CovOf}Yfs48c?+`zAIZ)fZ* ztx^A^YD~IE*C+WWs2d&BdwV5Av;96)?*r{8c2w z&uze#257ZM8A?~*QVub93KoA(N+gH`tc#f4=IgJ$=Bt_Qr|Hza);Rx=%dJ z;;n5sWsKxXwLgD?_1Qm}p{$`oL}k(iudm-j&b7Hlcz!f(fF|z*RHpftzEpIo8SRWl zInqTb2`1{kqndCj%7VGt5)_ zWEncog?}M#CVP`bY1c%g5j6YJZAXcQ)C{dSs+hLhW^77G!JC2X*07h_RBcR?w8CmA zfUk!{cdkKsTuKgB8Yuyh2&HAk8)al{<2z*|J+7kP4H*xKPcSg<&1TUJ+q5!3$ZD-M zJgDCAVI^nppx#$`QZg7zkG|TKpk>u#OYKkvH#x}l&Xo0QFV+~7%`=91EZ*ld(|P}x z_D3)#6asZtW*uu#S5OA1ed2WL;$STx15&wW&N78qgeb(R-(b=jo>`d-j8)Y!YGHe^ z)c-}*O+53cmtSkE~mm=|I|AEyVR{5a$#C_B#a;A9|Z1 z=4PP3RFcyZh+f&td5Ci>WcDvFHMxNZi>1@Ls`9JygSCQw82kbX85k|&;C?mimhqhX z$>vuZ<>hDw@fVWB<<6Yabp4*HsTN&7D-g?aU0q4fTha|qmEHeY$7kL8BzB-Vqn~n= znI+7tFP%}~?>+bJ+nkG7tK_L7?ff*uVjPYWMJH6mY+%A&3nY<|>zvN_CAVzbH~#wy z7DZCF!3$eO9j7|nm-_WlhhA>MR;PD)c7bLpP>9>hFT;^7E7$C*X(&Ft?LetLtGG0xe_livu(_S%-uJJOt_S#O0(jdI+bx143dg&nZq~8#2S+WvaXNe zSsCR@PrOfB2&Q_*Z01D4U-`XJZGU`*%-a*Y5>__a8F)rKcS!vWx18ZS-!G{KUeYql zkE|Wrq!%B8+WNI$o&Rj&Izdw&Gib#Zjj~A}_VSQ~!uvuh>(&x!ysv8&5}Wl0DJj1a z!dYX*bJO-ilF~67jA;r8oH^h9s8ze{<519&dPF*3g3Bn$-^3&oYr%$FVxS#fcH9l4 zNj})j>5H>dwyDpf_7z2g>8XnvaGLjhEpoUjLU78|V2}}}E`FSi50k)=q;xw(AMRcf z0Lh=P_>Qi)G{-;>T>yDQv7m3i{x^t;OPGO8T3IPX4}dLtqL89kigmRfj@XJM4R|$Z zPLY#mW?g>ezhRJ`YBYr(bHuhJG-N!`V@;MC#b2l1ODFud(Oda)v85(=I(cH6&q%n_aA5s$&<5 z8-c`l{vL&denAv%_wBZ<-23DltUl{%2BrVY45o3 ziZdomB7~*2PPgAWguTd6kG=R+Q3buULNe^@;qW`4p2_D)Sw>oWV97q5b|N?|xU}?l z+Ne@D=62?a@PFNCh)@(JJM$xBIPtk(xSIu_+!74GX_h$_f47*1tk$@@>?q=|m^CDX zKgqW&sh^&~+2_14X#M;-=Vp}2Tawd9hn3Z8e?L9vXp{_518 z7b3*hX_|R8TH5rvd6iXRfv%V6$CW+#`;_q44d=C|DQBD7vyr)3wQ0yNsnuQ@n#@Vj zJ45#=`!5-iUJ|We(B<@h>EYrEkI*LtY|NuJZiTu`u-)$yPS6d%^DT4+spCXaBCfLN z>-L*(E*1Km^-p^WoaXzs*H3z$zuU2M_FikZ@<(i z=J%vdf0J(rLc34al={2@!xx?AwGoeudtskhA9bY`?s-Ici(V|n#{a%Up1Bs3 zI-UI5kp@g=uaEmpf5tYtSgyy`0zC=kSC~N{{~5IGSF%uLi}Bc|ig*>!u!5HBfcI9c zftQsbE%cdHrW-)_=m5Y`2M3@#B?q?6IN16)nFV#qLGa2?@Y!DHPGQdVLHJ703EVNe zdV0*IH-Nt8pZtd>Bvc?%8f2>QDfMjRBPnMeN~}WvQ=^z5*TkR8c)=h?^qGqEXHQ(&) zpn7Yr!-?R{l%DesQcj8eFAB^}(dN7ylZHO1!B^ghT;d*&*aT~$X!u+tl05QB&;@qM z1|3SjFvr&P?jQt~oSQNI$p^*C%PLT7YuwnCa*VkZ9BAlD!xZS98y|n*o7VHNM%zox z%yWHwCH5usc}|+FL=pOs-!}Bq-HR8qG8t<*;(yT6-PTba*Dlm{fwIOGlClSV{EMkR zxXc22FVLQPcudee)@ibWrau~5g~ITz=?0#STJ!ax`$tv$b0DA|!%P1&NZw z2A>wAWX4!t=3Gay-?qR}J&)=r@@o;B?$i%@$1{h5>Z4rPr`Ww8>628ww3=#6=4#3vW%uSWNb6dP$0~7|^Ey28TsiDa1RBhjvq@~+ zT@KnFvdk8{53~0gMffY6#e1sz{E$zstYRm!m4=NW-4H97RbaTVn1muvI5PpVZmaBo zsBx`pq8Yom^bHluE{jcsABneyT54_yn6&+9$j`d*iEu1-Q^#n-z3uxvu=PM*h>}KO z&hqk&K@Z(8C&Dn9U46;Td_U4bUBzXq;E<0qx}P zu*H86sXx)B0aV34C_muGzaGo~nOgyP6`>3q!gU1z0wEr%0b}r54VK8cP2-vwhkMRD zOImDm6iGOsvIc;Q^XHAo*&1xeD{Fwov;jyPQIeLmPR|B`dUTy=gdSX+jrUllaW$bRVEk>w}nI+!q| zWM=9~rVgT!u%)CR1>u(YK;2a&s6SQ9&ib}c;eE7p@dcCId$Qbnl_PUvEF@G}43Ri* zzqg4gINMUuG@II6bF@Tl3z4b&&6K_D53_MvdIQ>~(A9F_S@`GUtH8|P_!TA5jR9q1 zpxVBY-s3IeXoNtAL$mAX_ny)g;~Jj)J*dVJw5*nS1^AD#vHXp#wUjBLa#m?Al;Hbx z{6Or=4v?misl==t-3Lzzg5rBSU_QblmgrKz$@w|siKgyUn$~@*Wts2?EyRSdF-gPy zm!c$p_^fvQch1c(!KY@K=Ez{B)lJEf8D9^EGb%nKlCU`a_)cYflA*?*oSSQislq#lZvjLLEe7-JBQM(e)h&siB%*+J*}#?P*g=*< z8~#BrzvnguOa%RkM#m;8iVVTt)0*i5Xwik)q85&B)2ej#Kk^OYR1d}75>#~>``j-O z9Ef!{;U#-H_i`0mWP$VK{9x35gJrV8KL2yH)ay~>>DSPtSGQgP$EuK=PhPp)YW0mN zIw2F4Gtz=1)^>|8QUZvfljp5n1I-masfX;ZvB|EicIrD zJ56*BdpgFwC8)G_9~MZ_{IE~JlszIoBd}HUO36QHIxVWH9FTOr0MC>I^iyYA68gfJ zdu}B$EH}ZY?MSfYW)>NdpxU)G=WZN1hk(@O6a123|JkVxLT zg$5-U8c`rcWIZI77=Zm@|0*nXNQ_B(YX!G|evL^phV_KGX>T)y07_|4*i^yXx#&vm z(0gQ;&zVOk$Ninkil$NBhd8uL^Q*+XfDNtc)2Sb1D>u%OaY-rxuYPc)aAP2Tw|6tW z$uQ3HXUA{;$IE0>Re~*@;m}~QaX9+spn|7F^;WCQH!S8vqPBCP+_YFM+?SV9jE7PR z)FjPxxdr`3JDJ^tJ!3UV23Fng=M1Gy_2(bzT#}t@K6Qn5r0X+YY+i)iVR35>&oX&hRO>bn`=rAYMClfjFif_}GFNymBuKXpr%HZmV{adJIfK^o6jcOjRf!agjI z#iX|x81NS=r}@=-_$pDc;N?!N$Y+smnxFro3M^m`=Jd-;u|gOOBubS2?$^DmVbb%>h1U9sc8ilB^;Uznu`-WTYwzYbEo7|CkKt*ZJ&VrL@`F zmqvh6W!)E|qm#XvT~ZEo)4lb4C3iUT@-chGBVRF65ppnn?jJP6bec%tSXnbZAwn(^ zc&gsO7lC0F3LHUM2XWq1lJQ{4&?BgAYNXG0@496UI@=e4xRj+&nerp=GQa=kF3hFi zta(qMC(;W@b)~v%zF&v4eon>4Y8cM;M|JdMM-~3S=+c{JdI@h$wy$u$;waJNFmK;h z#v^rkGLx~J%$i={mpE5NaI&nj=7`Y*%{|9Sl_J7pP-Feg_kqLlh0e@0ewvH{vRUNW zQ}ZI-mT66?)4hC?!bjY1$J4#!JbumzWCX)#=Ghg=gp5hJt=#6m1m4;kjVFH#bUiiR zFc}>|w$~YG6_o^R>ubIP$8u3Pm*Z~OLky$`OP@!{7J49h@pxGnK7R^&vQvr%vu#2& z;)umrFp57Eg{yz~I4h|54|N`CW|ml6-PX7BV`p5i$)DIGkE))*B7B!I1+%Y5PQN46 z-iQq2u*R$n_`P)4GSdM~5+6|6;cH}$kAJ}=f?#$<(`lJd+X-9y{)%j-AwLHBjAe=@ z>rC^Sp!DjqVo0l3?Djz|y>gph9$ni_uwiEVB1|)DY_rOj>yc7JE5X+!dTcU|6Fdu? z{l=AY=Fu!(UCwr~%%f$Bo$>Bq&)I5yp)pR8B=jnAzif9ULpIxw>p)1kf>wR@8=JBXj@=W4Alz;|DW$M_*>D5X9CafZ<} zx^o%-SrZg9L}S>sA;6RxuEuqYseD464K z?oXruA4}y5ypZ3b@<}NeFhk35!xh^<{a3X#3Di>4-;!I9l0q7MT?4hO0ImeLqu6HR z)n!n7(HcgpHEegIf1#vuqlOM?VjkPNfuPly!v+*!gBTSXfbF^}md*?yf6T;f0Gee0 z42W3Za$&%TWeD+DBdMC-xab|`+@rOqmL1XvwzJ|;dtHi=n2_L9Ff;8(cW-1wNmFp8 zv=*fReO{!o;cRe@PkC?zRX-75#y0qEwK@JaWWH3K$l^(N* zO2wFt!XkeCcV~igA$Hl?=SiN7C?>^?Xyg!E2uQdL!l3ofQ^|_Lqt}}DAxK}IIz>RJ zF_K)n#0+;rU$&tXrJorJYkF#GLm?nl-O!6}kODu?Pc7{)ir!C?ijmRu_7(==^w*BN zlvwgP1;9HBGM?9~`*PIZ9NrZRUZaR|MSKRuiW)Fy%+;Rv1;N5+cP2e9e@<@C3f5!) z19f!L3f6wJ>kV71VO|U#0|{0c$zByXSf9F`=GMs4u(I(zY4rTu(&POi1#jP?C|_P9 z$O*+)>iZJ;-r=}U=j}k}CVLAj<%SZPkCgBlg=|6g3i%1)pf;@>j3>dl{Ux_W2iGv< zS}o^dw|7gR+hok>TM@%4-If|c;_1uu{(+&hdpTK$6wmwVn(2N(Y{5GV@+q!k~;{)R~r0R?FOrt zxo-AlT%2vy@L!tK7?o!E@V}8#zFe&6#H277l0;IJg$ANOQ@EjD%~pR4{z{kOmdX#= zl4fun7^00+%Cdhqmtr~lnBv@36{Cx?-Eq;Lu_F#ph(hMCx$5xR2!fy#j@z3NbAGtlE4%Q*x!B(V|>z z)^V*UF>g))(bZOl({W=9sj@so_BTzfMK8f9C62C__&B4=FNk6Enk%A_DVy1yo8^~@ z!c791&vT_CAZqK^o3Obz^MF!&d|<3VO~`MCuw2FhrjQtK^p+t4-evcydss z$mp&FF4xBGR$!!0AN>Ah=-L`P%s+mgApVv7tlT3^Ka4ClN&G84jXt#&qmPufc<&h9!>)*4W6TGG4k`dhun9t^@nc3JV z`n@?7y*)1Z)w6+T2u6?x7f7-EiFrd1C)TW;tXVkDTK(9SMfvx~H--=;Eg7=9V~^gN zM~BfY2Q{x&<@tZ9P2tci4n4B>_-S}3NhBZr!m6lofvKU@zc}7qM=ydbIDFF!#-Xd* zi2)<~60&im(@MVDCenb+HptgC(X#@6-6+wke8fm4ietfFL)FL*brL4wRAu_6Ve0Ja=tO_)ZO>D5pKpd zirf5+ATwEp_$*Wbp$Z+q133>eEI%2T)zR@8m~83V9Z2((QskSiVc^_IbL>Y?{16eE zx1Nkw@)(%{f2$iqFKXMO=+6s%g8Gn@|BvRbQyooiCR<>Ztb4{_s1w-RbTK7(NA`3= zu&!NbIND1kyiWR)vr!_^?=^%=ta4x|#5({d>?I`koo63UEqgLnx=@wMA^X-Xwhr3J zi*FxKyzLEG|Dg49JsSiknM{0}9_wQ6mSMDeFnMd@z^1oHr1h*}^fh@PG{aldAkFq! z`v5v=LljKkqpqAPMfNf6qWT>Y$QzsA-<(hD$#NU@Wb)zQets~HS6+T0L04>R9i2uI zSh?FA5EYlQObp{uTi{Np`dWZK?5Q6+^)de-b2{OC>uvJ{V}b~oDy14ST{O{G@&g2S zhvnI$)>heoX65T}$J*CejbUHxQAO&GX}EA5s*1xg5os#C-0D)1X+A^ z+q^VzR%rxtiq9YQ`ap!fgqiHBl7hmYzt=@xT>oI@SF>+*`8a3nLre;X@4$pDd(pPC zz$0VT6rLHhGg&~cBnMSN!6geL(S9{dvy?kgoQxA*2v^G{lf`z~aA`K?)%4mv58R_H z^t0lYZlSJRWfa8Llyy!h@xkRNebA7;*@qrrZ#k$tX88O%d0WSLc}<(DD5O%b-r}PA zU1SwoZ3JhG(sdAB7>1$y%0xIv^yGy^i;blI6>S}1Cb_Ert#U}4gw6cRgZRp0r({sx zj-e%K*oU6mvWZ?O^%nVb0Bsuo-^d-HKC7kb*o^`J`2q$Qhy?Xg>szdqQA_{-UUvOK{X2nzfY4FEf&hd_w&tAtYeiT^>yARI8^QfVNzBc3wSEG! z>5ZBi_SZrD>S3Y<1FZmvRH+tG4_N~tol^>~^l&vA3pbfE&7(ejhhyr$vQa zDYGfQI_kUfSlEhd=ZN>#&1P?$Fc_I^Sb1x%4RaEO=Z-v`Gl-A-d6a zrA?e{bsJgt3Ret zVSo{v)2Y|XGS`$=R&Z1@mZS=wB3nrSV|16o#^@%h5t@D3V}ouAW!mz&AItxP7GNNB zhs`&)@1(7*6;RAaez95@nn>7n$17k|`dIj>Gg9rh&h)S<&WfL}7>RLa=~;2o>QX~W z&w+lyE+(wBbHS+OadSN362ENq&sLptL7{Fk1)<5imM59}9&Y;!s{T|ref;{EjQGlO zGjriZOgtZ1Xb52cXthrrZQhK4W4}LdkG#s3DOJEOxUZQR_S*03dC$?BEfEjnn)hV+ z90G$C<1MNOZw9^R8*Ivi3vrcyIKnc6IsZnFn!Q|MD8u7s9alR|a)PyRjy|T03{4xy zWU$g=G}f!LnQW;gX$)R~S7+wTzNsY(O+7jtb*kKFa^}))@?EO|i~3#tfG_fuN7EK@ z5oT%1UEB0EP_C#_tH`XrG5jYT2mgfKIE;%3V&uuBk`l@J0)qnZ8>yjy>9cO*P02j| z6PwDX7YW$Le}B(o;34?TW_(WKS3LGtHa;D;^Fr9Eju9 zU&Z;~JRu$_&nj7)%3MkaU~2C-z4xmM#sPGJ|G7x}Td)WUxLB)4B-b$)5H}b57?uTX zeV~lsnn$&8a}8g}aMuy0rXn)m6<9_ZtD5L1vin|V+d&gaMD*HM1#<=XYlre?!!NY; zOYa|}e*1TLgI|#$WLFMGB3z|T$uP2%KcZe~vPusAc4$fa!ja0lf2dC3poXC;xS^6? zrga^bF2AyGl{g$!yCuUPDWW71EIvKM+4TE-fKu1RfKy(iyeAJ-zH&*WzYSf+J1$Gy z`EEJI%L?cu_NYI34MPJyl`}>a(=!X(j;7zs?wFsZFdKV@4R3epq?>!y9R4(BN|!NN zca|ey$I~)>%@{0}1R`T9U#XmYu$bAPj%xb(IecnId~1SmD-L2JhOJ>`(5NG~RxTwx zsv;>Y*3@^?s?FwMU2MLS3v26oEf?q(Ec}uDjo4$3@hqQmN!&?+m^>rQD%W8Cr)=$S zdVdalP8-#%G;hgQ`GfXq@Hm^n2Wwjv!s(P*zKm~Yz`=abN2IXE>nM+UpW)3ea(!!U z6XlPOwC#i#pZ2@G#$5%13Y^!0B(yeBh(M#FLDKBoSjyRUV%?b}xqW_hCgGJ=J1i1O z1g|e0V=9Ku?9#@H;y-kQNmgVJT}E1$&f!z5*0YVbUnyS){+f&9lH>T{EOB2HQBAa8 zWZ6P0ueaeht^P)5J{oVuX{~(Zo$%s54d2H(RQ95JY&DF-UC~$>%9azoliox)Dc+vT z580#v6?#iKDl<#JD1H9Y&W1yHvWaVz46g=Z)+_L)M`egNs!@mzPjG0+l$}~rh$m!T zukEI@#5LMI#>0f^xy@SRWAC!Ik)hI2Ta<~W3%A#EmB4aT-wQ7U#%IF=Wrq_AZ%fus; zKvy%EvScB@SsDm#sqFDmkHq=AjID~U;auf6_2E1!f&f|!06uP_fPgS_UEmt-js2!I z?7n;byp#o=Jyl;1!gvnM;J&U*_+d5R8jND}ndwaVitl2Cebnq=7PeS5`&821A(_v= zx+jrz=+|~?^4J<5I85}Bydn_X3Kr(X%;hEX34(a{ZH~TU#TPudm-9S3`BKjQq?WE# zykA==>u-oAz6F$}O7_|oXEt8Jcu6J%OrEp)pn0?AcEDAhShtM_oh-D7lcP=JPK0>P z3ehR6q|?D%20qTRmxOaWIuBu#W8~|A;!pVoM!an;OzTthXAp<SkxycGz3&OEM%=QscCnMrKZ1bj?&KUk_`mRI_6)dfjQsJtoZ1lNni1g?3b~E z{1NeSEg5IdKF!-(yCTW&X&3DRN}ZP*Go$hZcj%NdtAs(HPK^yVe47% zeRleOUJVO0e=6NLEz@C1%1lzDpzp~K5li%M?M*i2JXG|d2|J3UBU#W{3Ip6Q-Bp+Q zbahqME_ym>dq=UQbDo)V92_HtG8nhs1<;^62tnbZ(aJDEeB+K$(a{)(EyKG-tSwU# z@tpc<{tlL8d9^N^(p1YdFZM?Sxz&%{IID0Kl?#?{i^f&TK4>Iug&|+izxd)(4oxN_ z6Lv^s&b$1jps?90rn9~Lto~gp^#1mYz($3#4hx%!P(EehREWxYs|OTfLoDgE1L}Rm z8=zmN8Fi~a&qxJ+lF=(3ttsR0ORF0{{KGI!>Gqt3s*s5e(I|XV_;u$I8H0A3u$9~{ zM-okx-C=Hw0Zk^%9%pgWI9=97mXM}azS!P-v7VKEwlI)ut2ubXbC~}`K)(v}0L6;g zKoA!<(%E;c+p0$e6tP(YaDB|CX+j$ka{Mtq0L`Sj43R&VAh?w~|GvAE;NVCYh<8 ztra9GpokxZ?EwYVTD0oq?(m$n8y-B>PFLYi_P4lZ{_3>z7jja30)Z12V9l8%b->xz z1~D{~F=-+Pr_z z2Gx~rWlpB1L*_3nkDSl{pm70ySo^Kj_aAxALLW3VEpOM37;gWd9m#xVSPe~CKQimh znBF2rEalz#3O>D>@VEd(RUQA7T}w+}YtY8j=P~|48&TZ)aG7_17}E8k>ec1f@*B{r zKWH%GGmk%LY(j$zf6x-l@{U9nZlB!$b9n+J?Qx;*S)<(F2fYKF0uxW~KOD(yqHfm? z*KWH`gQRxS?H z8KFQtQecxz%SBg5#{M6)lnjMEuaf%(|AVf@&pY?sx1le}_wJ-l&&G?P@Am1tw9VLm zMfT{l1#ZAS_reSl%0QKaQx6l1M`!(dSJEpCF2$kMKRC%lFI{Ck?teAjGJFpW=(4@5 zT{nAgBFTIEAW}M2Y?z_4HN6*?W%Iw;`{ykybJmTZRl&|iH8&4Tdw)qkSx42 z*9@pZ%zghq7CD_0p=V+&!*LYGK)S%%ev4(pMVEz=2tjt}%=R1M)7*)pw7x0Xjw zLt8Ek?*{m`V)A)qzMy~`^hNvPVg6EK|JD!i@M|Cu@146&X1n(8&t5-JiF&(a2)48h z7wC0jdw`n1D5>h@aNX}{b=lWNk=fC`8-*JE4U>HL@7e#L7s=(xWDDs3PSlmb5X4^( ek`jlBmx@Bml4xpLE6Lv;^6&2Q|1k~zS^Pg9R=JD- literal 0 HcmV?d00001 diff --git a/src/demo/manager/src/main/webapp/assets/img/mask.png b/src/demo/manager/src/main/webapp/assets/img/mask.png new file mode 100644 index 0000000000000000000000000000000000000000..f893a6749602a4d45f06ce154fde4d4eeeb8784a GIT binary patch literal 1353 zcmeAS@N?(olHy`uVBq!ia0vp^0YEIv!2~2XZLRSDQj#UE5hcO-X(i=}MX3yqDfvmM z3ZA)%>8U}fi7AzZCsS=07?@QuLn2Bde0{8v^Kf6`()~Xj@TAnpKdC8`Lf!&sHg;q@=(~U%$M( zT(8_%FTW^V-_X+15@d#vkuFe$ZgFK^Nn(X=Ua>OF1ees}+T7#d8#0MoBXEYLU9GXQxBrqI_HztY@Xxa#7Ppj3o=u^L<)Qdy9y zACy|0Us{w5jJPyqkW~d%&PAz-CHX}m`T04pPz=b(FUc>?$S+WE4mMNJ@J&q4%mWE% zf_3=%T6yLbmn7yTr+T{BDgn*V%gju%vUIj|H8F59c64?!GBk8Ga&&ccaWZr?b2YKB zv~V_dhUs<5PcF?(%`1WFO+n~2!KoLN7;+1MHoK%2WtOF;xE1B+Du6w0m5JLehB(cG z>P^Az79*T`^?{Dj2SqJXRKtXT=?BDwCtM&0p7c}mfa$#mn6OWo@RcwyFz)traSW-r z^OyEa>MS$3C_p7hJR_C=JD997MD#h0>XmI68i`bL;s~esc zNisRJJMpZzn|Hrqp;7RKmVXjY-j;Q*zPf7NYaIsXiiJs!ebhGJ%n^|GT7LOQ)n2Q< z!yF%;79D*4`DclhA=4SYm(8Dk+E{P6nKMn8rBU`l(#8{4vrNkx5?4G+iA-bv!Nwh~ zzD#ZH?LQY^mP9b*ZH>B^+xbg@8K|z~-QmR-JMtbJO!#n^;Y02Gq~py3pWajiyvYpJ znkwP{`dyUM@v#3u zTN&MSWxkKv<(DOU<8E)`t$&@YSiCc4Wk?fCp4sfZas21ruAUmt#KZ7??&Tw9%0(@p O!p+mw&t;ucLK6V;VDNJQ literal 0 HcmV?d00001 diff --git a/src/demo/manager/src/main/webapp/assets/img/ny.jpg b/src/demo/manager/src/main/webapp/assets/img/ny.jpg new file mode 100644 index 0000000000000000000000000000000000000000..e3db6577d5a331188ad12ab18f265837aad55a67 GIT binary patch literal 97336 zcmeFZ2UJu`voN{`hBT6c0uqK{kR(VLBe|)aRUNCkIe2?8OShozk97b5 zJv~4G0044;3_=eOgAfG#10bvb$sr5?mmw#A!OjrAKWT_S8c_fY0S@rz1ra-h89_KH z1`9y{{I(E$_W{Tp@Wo5}^Q~;}aTx6#)R^T*y(r2L}LuvpHH1(dJ4QuKMN3Uh%ScU4%}5BS z8IL}p`%f4gv;lPFKrWC=3_$=ybP!@X$iXC7N!Y;?h$2`@63F2L7MSo50}vu82`L#l z1?(88{C_4w03za_iL?L&3Lz$f5|NORl9Lcqii3%C#857JQ4(b%TLy$@m>4Nza^5`^ zZX}a&`(<&IS9rfF8BYp&b#~1TFL6A-HsX|8s)@aNM}ha*69cAmn6Gt_or6B}-!ypB z3Zv@NpA5bGUexgP&HHsT2jA!$#rK~Lf7p=JG`|OA9?L6B#Lq z#9Zne6bWH6Btz0mx2CbPRxnC^%uS zZhF=mGxw_q|9uH~|0=@47(hvUm?s^e2rRW3P(T;5s*CcZCy4OTm@Zo}o~|AQ?;bllTW3geYc_ zpDoL@foz8QbD`fTEX)3|V(Xi2&uQyOAwBl=R{BG#yr-+ubKNI*=?08H4wtb4JC3{$(N`+QKris%#T`4$=HbE zJya}hK`h%C&2JzemZIYTs~lQn@_yCL##7lkuv95aQk~r#OxSfaYBm{g6hzoK|*U!&}Y z?cKyA>%?-UecRj|t~S|*13>D`x$U}OKW|Dzr$W}%)F1teJk_k#;zJ%}b^Zr{^c9++ zx_u=_kHN_wDt;pJ@U7y&;EV6R=JCHbwZrfa@yHbxYY$=gwM||i2hs}5Lk@<%wCk9L z)YmF8RC~{J6?CEV3)F9P+Ia<-zE*`qz_(PcXS`hpzHrvFLnF#`5-}ETF9S^3Z#*;k z(r_A()wip4a2($Cs9)mBrMJ|tRY*0S6{wj^g7Aiw@wY2pdD^|8|L8h~%)@isq&Q4Xp*^yN~ELdITn2UyUtvz6h2SAFjH6@lvH<^IiPy zrQH?357lS-(1q7ee%z_3xO=7*z&7FkR0nFw>^wfb`g99RPYbrNp2u&YkV0s|90%pMRtR!MXHSm*vBRZLTQf zdGDK7kjUMg&vtwEJP=}gS3dW3?aA+%Dr9=EnqSuq*Ef-dOJ>YxwT_zlQ!$Lj#LCiV zo4Lr`x+;J3Ug4FHOgrPN;k|x_uL3jmUUSSA==YbgI>kOS2$zcJ*9kB=y}-Qw_JhI< z+kmorVYqCd3Qqt>1xb2KAbV%bjaXdT8tFtyy2XXdmntJ3Fy0P1cyrbd{k#M&RuWE( z89++qB#gM3XShtgoXnjXPVGX{?5tT(jVF!k(qTAm|M7zL-gLouqsGo@pAdCU>Qr}A z|CVcG7cXe-&0ZW91uHHmnrQf3O=Dx0qd3IuJ3c3!A#}?!k$iPLC>SWLe3_Sa!m4Zo99%N0__&oPT5PGa^y#&vT!%aCFl>a>e1n zR_SHg@j?>Yl~eY3qwACs8Tx(xA5pRGgFC9{ zue-S^zIKJ<+c%vn?ti2Th~R!-UMSWX2b_aL-i4&a3ef~U`Wle%F?#hT1^JBINxd5< zWK)q_&Y1Jn{EJU(llJaWSE0l%u56y}y;yrpmpBi*=pemcn=|I(N~N``m}1D?Zgu9I zhSvS!(K&dpn0&cLhxdeLFn8@oGBY1N%Ht9x-;@*Qzo)Uk5tpPFlKD(awg;Vdt%z(r z7=GDR1M`}YG$`!TNG2U?bdhb9Fk|^4wc@UNCeTZ;77IViyj0YCue}q$IR0I6RZX#8 zKApX&GO*p&=44Ss%HG$>@%@;Oxn%4XTH@5-`rHlx3F?zA$B%gnVXvwuKJL0{q5JT9 zCBvTO*vZk0pZ$gWU)Gadx#jbR%gC5Qj?nH(ewn%5(+E$ZRV)RQ!%dHhi`$s)a8Q+bT#3gRKsSg+rELUOjQh$H(^?mb( zvu;e69WGu!H|b`2qTzL zc^~mH)S|+E8-9Gv*J|(IyHS(WXMm79zYLB)yXN0=icD)4>aD&oD{6WxRH{9&9C2sb zQ#b$&93N3s;YhW|*`R$WD3gp{Yrm}DcBLK1Ge{oMv*uRK?cRxdh1(8+sF0xwp~qb; zQ_35Emry$Y#*WZm)HN22@E`Q~?8O9f{50Ke`1?MJc0Z_m;O z2=nA-RYF>_SKc-7o11#Ox5%*i(QnGegcE<41?Mr|(M895;uDhvgS>X@n^N?$Eq?d! zZzwmiPsIkR-lC3L#-1!}83^_Y>2Lg|sCfX8XXdUL6Sv#hX!grof0I>3vjKJ+>nrZ* zwv1Un01JziynU(xxMbVaubwU!WkRRk#WL*P)Ts=d)|hMmoFr-Xtt=@-w6Aw+bH~*D z) zN2Yyly$Wg`&$j#mMCahg)h|>)ZcjXG9sRLG=hW~t?=~_zmfN6UdE)CQhv5)@YF1O2 z87BYB^WA54ct~Gd+@wHfU8$QyQ^Wh$t|{;@)2%-eOgwN`l_!>R>&e)ubF#k6m)#vF zy1(#p?CdKo-p@O!v3*G305}+Vzvy$Rp?zg+78CI)^+%U$#@@TL#9w^-3!T)y4t8*; zhP`Y86tn9L^&fABV3;y5`DCG3LwI+z-x+R8a#yg1EJ?0k{K1;8M%p*0MAe9o6D_cs zL!+NbwofOcIO}4EmP2Cx0LKTK_XmKs>PEt}$tcMe`h6otV$qX+X6-&r|Hi)W(23v^*zx`C zxZq){)h`@hTp_v5Pf}kkZF0S!_fIaFc(>Z%kW;kZ`nbyOO7`tL&&b?1Pta?;ed~w1 z_i9t%c3iSpAjSRzZnft!R0+r*q0_tZ^oDwuih7Dl@Q{I;dG;The7A`wM(R6zc|SE2 zB)U((+ezbZzUztC*dw1eH0V+8!85ZVY-rWO6;t;df{_)bG8T@k54#ll&D>=zKRj*@ zJXeUlw_(y%HyG0TiEq>-<-?8P53Ru@cU{E|gU8(OO%3mC3Z!3jshqa^qdW8CiPVSL zQ;Ofwb)^j-BxMZ^z9DhPS_g`mPu?4a$B$GLE>4v^e+lV&R-C-=xRGS_GRh5OdOs$H z=!?r4Y6RE%;yU{U!G@`i2f(eeg!~b$iDim?`vlUJ?^D{6r7;H0V?-+-wC1h9mr~lh z3O+Y(%3nI4+?U0>fe!NvX&5a$0PMb*xuwbCt{= z7h5KlAb#JFo(I51y&WZ);MW^*Ape<=qRn7rL4vBwcE-8=lq$vNtp|N`e%h%ohSD9X zKc4*1KReUABv9b!r@R`mOVn_F+(q+iz+jEXMp}wn`*jUc$&FTo^^C?H`F)Nvd*91t z?0%fMs(A{zExOyd<=?v5_htP6cx*WS`2e``+2{C)xmnq)bT?9M9MXI_ddKRS+a9+< zW^OmfFniwYyXzXWxe7v-Eax-)x0*CLKE8R->WO7-yGy;aE!$dCk!k6P>f3S5RrBLmCVau9&FVJ)^BBl?3Q-7F7B~0%;^r8tJ zLgKz10LwxX`|}Tn)D1|VS$4D7a6E%`7Yz)Yx4p4#U9h<_ei<4ughcv;Jpt6+#z^Oo z5XG!|_wl_nuJjuDN;~#Pxn$D0k8%V3+&O!e_s4kLkTDN(HjZMN{Ud+X?%?QI z@!}Wz=XMM{NML_Rl7HWlv%9g6)tAj#y3mKTt@Sw@d;*^~auo|U5U>rV>OEd^-4_1H zUt$3c4tw5bkLzdW^!qWtJ0t)zSl;*e)UrRAJiZqkXC5=lW1TpE-0kd6L*1uad)OFo z(AfufE!3%w{e$bp*-Hn2!B*?qrtwB#U2Ciy*NS(<$uj2lF4{>$1TE-V5_sc7p#c@8)Kw1?r}g2ObKLqsYV64D9Q4*)oZ^8!sY20q?6 zA8#;9Fb@H$u3l)2yN}yXnD92%R8b|owcWijKhp^CA5p_3LwOpOPUM*#KjEINaXD=dzN=3?X{>XnMK-7o3Xgf2C9LvNthx_txMx zb|q-y*Q4TU5C3;~W4x>PA>Pp6RmuGqIm{Ph=k4L8X6tQBsKH?&4IK^fKb1y+3B=(0 zP@%dQha)!sk}WuU|J!WQcCJTwLoYj}^GDedv`4&j2-5r$a4#f0{{*H4*u;!{E3kKZ<7xGpQIhi zg1{O8C3)042v*s@Vj_nz$dNptgi;e~LeTc1ETH6v7=oNY9Ffw|?@vwy+b(cu9X;aA zN{ABcfx(e12vGpyd-MY+0W^RG+yOY?4J?5_AHWsx0E7Th0?{GqKZC#Fe)0GR#oq{i z;r}csA@1(uN*E~!)g`^`;p1+P|Cjz|=S|3(&}0BYBX#v~cO<}shtQb+9#`@9a65_< ziURgeN2fp2596eGSF9ZdZ|15?=n{~B_G%z5`gWnt zG#oqM3e!_m@!X93Z zXGEo?r3pO5#DqW!A$)+lx2?aBJD&R|2Q>`d&I^0!H-Qs4f<6HsZ+Qe*(xWQ4;eN6G zx3c;hp`PCVOzP%F5Wpc@ytle9n9Kj91U$h$cg7fl_wezu!>IdW+`YMfer|8~>suUX zp**aqz1)*Lj@y`Ae>_s5)l^?6*u{Lj#*Gd6ja?2sUFx2>_N}Ve@5(Kk97$6Pe}Fj zWVGG!-nQ;`7;QCq1Xu}SEY@B|OjP}>l)8k9hP0UISt(IbWoZ;jMO+*up(-hM_N=(- zVVS^h)jaHc2$K8xtv%sek^k)5BlESb>;F9-_I5H39$s#?U}M0#**ap*IO8ym2>36p z$Q)W^^*roB(Te{audS+T=;h&nbp;cS`V#1Xg!6&zU5cO3wm}hq71P4vK}81q*;~*U z&p#noEc~zu%GlZwJcjZJJA%qF_J}{x*ncO?|5YGIEd87?AjAKm9UPJ2JsiCKY`rkb zj-cRw*5SWvW@rApa^r1%|Cdt#uT9|pT&e#Qrk#_myCVi1JkKBq^*BQqW{y;G=3ljR znD)0J=_ffj&Jn<01FXW&f$;bHw*-Dm;I{;ROW?NzeoNs0M-upJi-vIrmll5D2JB#t zNC{jPS{oW0XlU!IAMPfJM3mK3)QP~;BW~a!Ey5Df;=CoCtQS1Ua(EsK0Br5>IAuda zU2tCsxF31^3EUVlsYPe7O*&WmtbYZv^9*@K%caF;6r!Y+Q^I1mrH z1Hz1#T@K+I0_9$0K-%0AD_W-w|Lhuo586cLKfRAxuO#&ck^52xcR| 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 literal 0 HcmV?d00001 diff --git a/src/demo/manager/src/main/webapp/assets/img/portfolio/port01.jpg b/src/demo/manager/src/main/webapp/assets/img/portfolio/port01.jpg new file mode 100644 index 0000000000000000000000000000000000000000..6fd0938a6d46fe0afa0afd3c4b5864e1f57da8b8 GIT binary patch literal 100653 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 literal 0 HcmV?d00001 diff --git a/src/demo/manager/src/main/webapp/assets/img/portfolio/port02.jpg b/src/demo/manager/src/main/webapp/assets/img/portfolio/port02.jpg new file mode 100644 index 0000000000000000000000000000000000000000..7ab9795e9c9c1ffa2d41ad362519392c619ed6ef GIT binary patch literal 136947 zcmeFaXFwE7(=a;Z41%C!kRVFVNpeOcM+qVMijt8WBudUG zxPUCMe6w)$ob$ZT8}57W_v_j^J=N9K)z#JA6SiuKvx&2L>QzM_J8J+?R|nVu0Kf$Z z(EtDggwW89zzppIMoUH^&S6wt8XEQm9zX~2WPie7Lo|v%VUP-q8o)yF0goIsnqP1U z+Ks=p4Cq_^%)Ia=_2LQl!>E~J2%Ec1OsAcN{ zbMdfsab=X(6=GDkfY>>s$^btvpP)Fe0QjGgmrtBeR9uJ`WCviz0ss!`%*)Tum+|NL z&dvZJ1N~>8Xt5a>zhF{SBQRm3Vf-mK_TR^b=KR;#(7gUWHgvRKJOa^w@usr4U z5(>)8mnkk^rX(diPk){+3jdm;5fKm&5ffb^CcZ>YOiWCU%81D?nvnia7@WNYNO1ut zAOi!92|y=B!yrXFn*j%jfA#@Q8k7cu*dP zHD34I{4T^p=t@>q$aRGTJuAic*)ZX&L;4HQz3NA8!=8)ZmDrx;gw`Z}7+Hen)_xpa z-Z!xJ3VWVc*FLs#Afjw&;~oAYzrJI9^^g=mM+c?FJeLUv8%yY1gll|cn4ko1Oqa3v zAI6cRBzUJY_)UPta^5{SUS5|1;vu-pij5Kg=ep4QAyA0yt5%Bo!Z7H-yER57Pp_WGjB$@tA4zKPu|4_-yC4Xtam1mSr&1{y@Q-gRwpQ zX~PQ+md7QOY&wwx*td+nGJQqlrcKms@1)*Ig*_-0TWKd<%zJQ%P^BCtDKv5@iz?UC zSNbusN$)(WSJfl3^Tmhbin*#Sndf|kHBN_p$yXHzXzlnc{Wp@MboCn~*vz7b1mhMw zFo*YPUoCc7fvK?JGI{SiZSws~h1XYf?=ywGVT`x(kW8hYv-f>cocm_U#cS9RLMcMY z()mn%+XE)hkDnVRPcJm2JRALftUuZ5y4h!8;kcFjyRH`W*vjwpySnq~E1_lZNojH7 z{O?{!_x}1#JV=P0T{xao{#pm5GCe17JV2Bg%(i}syZ%N#Y`mgE#D z*Zf#$^u%%)=yk^KyiC*kyyHB_E%Baw=jG64LvczkzeMU+(CsfrHzwa(DP_m{+#tVd zaPXRx>-&-q7YBwZ^)6gxnRiX^dy?qNQ|!5w^kS0muL8&HoE#n;SDKBC7cdx(=9=c= z=4U{HQFK{%iKhWkxkWgZ<>dwXYteE~&jwaEAnH-q&FYQRlb*X31!Oj-P>WQuAl$zn z7jaclGqx`qa#~x7MSiT{r&Uae#37Pw@^5yU98IB|4&7eZSV@Ekd4EZ4^cCi9>PgY( zzVE?ZSW0{a|I~lY!JU50?7-`m=T_;QEiwj~g!#}DKJ2AfKk9_}ru*J%ZNJ?u$94yr zR*&TV6`s82%`*VccsM`D(bu0&(J_Fy`@@G@Sb0sU8|HB)L8{Q!UK7ME2HjKYoijio zuUCTb&YhCx^!vp`wUd*w#2yQ6CL9IR2Ye+R0m!mB|E+!UWcc$` z@)6Rf;e%aa6Az=el2geTe|*~RLr9P5Rk`n(kDQj;mL*fZGa}t+OS!k=M88#k*L%pl zx2q>0DeR!t!zf68zWUHB9Uh5v6Sd?ot-Wfu;3r+X=*KPE{<@fhY%=7n+v#=_-Q37z z_4dZ8%;ebgT=mFeF^1{5leB7I?fe)r#_J3i6w>Qy?{F6I*rlUfda%;aRXU9Hu0NFi z`ZTNd$ormaSx?5|n>zETC-GwwQ^{YQ%oN9;H#X4Mf1jN>18lMphHC)|*|@{^N!| zq^Y^p@B^`b6<7OHcL!G@;?hMggk%)bJ=rlRAECM8sK$2baU*W`8PFbc81(hZ6B6O) zB6_WPS9Ol5DLd3(e#MOa5~R{z6C?yd22Zy4b@`_{y)>AI@Z$xPVb+Kqb5%u^)Rh

I{8rbu~pkJrHDu3bg`a}x)tLX#i{rx`- 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�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 literal 0 HcmV?d00001 diff --git a/src/demo/manager/src/main/webapp/assets/img/portfolio/port04.jpg b/src/demo/manager/src/main/webapp/assets/img/portfolio/port04.jpg new file mode 100644 index 0000000000000000000000000000000000000000..7a0c62bf80990ec6d1bfa51276b3cb13438af12c GIT binary patch literal 63429 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%0DdBXepMUd09z>+YR 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 literal 0 HcmV?d00001 diff --git a/src/demo/manager/src/main/webapp/assets/img/portfolio/port05.jpg b/src/demo/manager/src/main/webapp/assets/img/portfolio/port05.jpg new file mode 100644 index 0000000000000000000000000000000000000000..5aedbc941680e941c357d2c7135abb812458ab95 GIT binary patch literal 93649 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

E+y zfDQ-YYUir4`61U`xZfwMJ0oUnOm^tU9ifQFvClrkuc1>WCFyjo+1{Iv7_&zds0?yQ zfi;;-WR>*GJdeEW)*Av^UhXl&Ii5qLk}4`Fa0xZ?>M!T5lX={?$GEYvmErIs6;-N& zH4-cN`E(Uib!T})0FIZYDI}w6yya@gJs(htBU7B)vF+@IJJCVf2|+z9)Zx5km8GDP zNhYN+$miI&^FJf>#-Zu7%R(vex9#|8U!NbJPUo*aNXJ!> znR=q8DRQ(m)KyWgJEx?ki7Tlw6sER^@ z2nXeybt-#nu-wH5G28AC%LH=>fNBmPxiqMuprt_=^si8d^3crIrZp=LFKwVq{Kd%M9>!rO#6j4QK4v;7-UmyS#rf@#qkI%InwB96! z{^wC@pNEObKhLNXAInD}ki_NdCC<>rJ|iVTM>RUl)t+2y>@M zW&Z$Q-rLYa)`SjkRt$VO2giiLQs0Cf4WLTaR?NnPHYMr-@yoU<&aS z1Xm-=qYF=K`E;~X3)_YY>s4i5?>v+G%7&B$Sc6t z*1mr}iY9m9&cMrd4Sggud3~9Vt)dI}k zhTAxdRenO3YE2e{^i*H7H?Hi#VDS6bvG)yC9@lEv_U0g( z3VLiLIVOf&iqOMHkB#D5sVSpr6xMzYdV z)ICY@YLn2S!uR$N=Uv7mvoOJMBzcVq)HMJAsi&oJPKKPHwmg?HJ;kYxI9F8ykh-cU zwesRm<<<7QNsy+dsnt@GNVQ4jBqV82Y8=OKn`z z4uX97GvFQx=*A+g8D>%sN%(Qf z)fw2?^-WKZri_B+U&c;CKtZtzV|a$CIpF^QPJN}gAwpDubmG2z5BNHE1_DY@)PdCO zG;J)>0BKreiWp}#EET4Xd83M}A!$QFB#^9!UC0Er&-M0L^;H3eJgN3@{#`62f+#W2 zd%3agjD}UEqczgh;WO0GFqTOk-){2WokNv>Et*{lLDK&KLI|?B36Ykqr%QuM4E?=P zk8FSr`hMJF{2d@T$AS!2||@w=M%pP%+;)23tx z#zXxR{{S8z=j*-ll?h3=;v{QHP5H zs@#TTg%+4U^bS9lK_+GiDr)40IKXpyIGQyYZ&izesFqa=XA@+du7A~kkF#jpBx>Z~ z3jKs1^DRFvk@#%vG_Q4ZkM`UL^Xvc6r>YqgQ|cuiMS^l&#noR$Gqk#vVPzLmh8YyR|jetG*kT*k3n=B&us{FkYz<4yI7fsq0( z3Z2-Lsv!bkWI zLWU7!n{mN7mM`)ue2pAb@@evrxW}nkE~F)!%*tDn$sW^b(+eo!#2>Sd=l*`JDOU!y z4}eGP{{UCdp-&${G&R*xiJ2Ovxm~H?xh*tljhV|E>R9BKHZl>&40-mBO+cYlz#qz{ zgZv#@Bl=kxsp*dxk*J)lk(t7~>3Qsb~XSC>BG(76AKK@hX+{ zKji-aKTW2g<1Hv^Gx-jll9AZsB&ib9O!*W?MzpT9RTXO$NmGB^)M_3zRvLn-2l4H- zYU@>CKvDe1`yDA5Bzg5MC~4{C!Qknml321>I*MabCU5e5h90Rh5GBxp={#^V@<*vZ zq2ZZWvQINNaA0ZjBTt{LbMos$<5+@GNXhw*AIpbB{{X{W5yyw9)J(#m(=+gH;-8N0@HsGz+h#QZEgv~K1ZTV&0Q?? z`3jhtJu3=N3~`nhT~gS90rq$If94B&SvilDM@m+@KT*JJzyzGOB}G$R%O42!0JpuEQKzh z0zYj30FSw<^`?kX!Jt}kKZw*bvfBHHC6ap zsyJk5CYFYhqi<7rDQ73aNi-=@Areih1bs~E%01@K+}7hokGWEbl>}c%^&+4hHw091 zAdsMiA&x25E&b#}BXZ$cG!qrY4OCR>K}xnes6akd>c{?D)qE=3lwDV}K2>eGt9D)! zrFNblbNpS!bpeaGz>L1qn_i@ zQuqS3 zZ*=GW`oA8v6q9A5q@=~l?+kLRq7{+VCDLPP&v=UdUAI=;%qI+_=`<|7G>^2A!;eQ? zzb@Gjw{6u|>7Lq}n;{sgko2Lc05YyPkI{wwy*-of?Q{@{Ywx*L~X6MJ|C^7Z>dm~LgHj)TxY9yj%cSzTem0lZmg5K`xPu@Bf zfN3aAJB2_sp{-3o=}TM7ByDqN3}bO>@AK4 zl`2Cf?Zc2seJ9ex`dE8CjA~V3zHetyrML?!28{YrfRxHo2_#ov?&!# z(isA7Cozcr(m;6Oz#pG}m)y;=-^ABtaaF;lnt6H9{{V-oFSOg?3PshZ1XnNq$IGJ+ z(*FPhw@%6JO{2W>8}Tw!n`b3HOwq%$@)&umYM`U3iaLM1uguRBF(i_Pk%BoP2w!2I zWcLSe-nLE0ZMCtTZf8&dYH1W;NjR^U4uo8>$QSz_`D43X-rJja9JLgZ#Fb?LeYNxG z{{TVOl(2QTU_nzhL+#JW9gUvG%=MLDX9=5Z)TMlMG>;>}1vO4WSj@^$YN?DLs0ZAA zXr3jkl>mh~a0egf(*FQ>ZH=3`b9oQGp^CCfIvu?Y zEVU|oX+S+b-l1bU z*I~SJLs5XDYE+U*WTa6W#$oeQQ%azi*sR`FT>xEyA7AR21uv?Z=-yk$E1*9S^XYv{ z)%{yM^iM9_$4V#2%t5H4j!D@T3W%04jseoJ>WM|z>TtyJ54~wLE2MDzx=!1K${eel z4>EZ4+pu=F6Kdhj9u|_0j*@)NM_5tXuoXN(soQRFZK`ul7F zOd9o|e@uhGfUYpp#CEH*b8(>c5X$^DEc=XNs=RW$<)0Yq%uD;b6%k>d%``D%OFC;4%*i*Py&UrF~iN=zu?+R zp!kuUN(Zi!#8cv<1_FkZ>3`V$eM7gT+dJE6)kRyecMLPjMNte=x=`gR@!{#CPcZYE z3g{zXzFiFzs^~`mdj-oGh{~@S5&~3%#1MENu#Sh<5l1|6-P*pZSJG614OEKM9uz*A z=pN1P-L18D?(*Cl!#|3^ZR{lu(3-m?m6TKCXz6M9KQ6(PnI35rAPA2nhROx__Uc(p zdo{hitPJxxU;@&ow>)VhF7xkv<4)(@o_itYA zydLqQpx+ygD$0yJrbfrES20tPr-r(oWu&R2N|+gCi^~`8Be7e6eeUOEzuImVJL`9f zMnyC}bQHlA2A?jHT5tAylrC(ij#$+3&MF5LY9F&1>BnsJw!+1lti4VuhDjhuW}uQv zN-#X?^UWk|WQ)jR3ii}nPzpZ0`&(-ir;D&kaH;H@#+iVA*td({{T1pJwES` zk$n}_{{UsP_m^hvowJ{;J9@S}JzUk2O9eA#=w^#0kdq%pQ%8%Z5Jf3gs(6&e31SH3 zsJ7X6ZN+Au*1|`LE1Xc%G+LUm{J8n_j`MojcG;3UyOl{8U;s%O^Pn^b?XN}$6I+a{ z3g2}_HZ+`uLWz~3lA5xBMO!U2^v;g(ym<&p1#spvg-GPz*%ZNss_Ie>eSUw>2cZ?a zER=L0qk%)mjSWZ2od?rm;x*LkIWy^YsggHU8q$1SMCLS{k6EWe!9h0%>-hKPVo;HQ zY5o!Zug|3jLGeJubpB%p_VMXA4HCy!oTP>T($*tZ!8Gj|nLgfJ?3EPq$1TaEf-p3j z@I|=e+G)5pd5)EbE-EQc&!j$HO386mbd>VY-xZ9`$uHerAGxZihLFzG z3L{im>8UiJATkvs0dws_X;(&L@i5`#_VuYa6>gP=Inj!_op$pTsf(Sd5XR6DRLL6)D1G z9#BI?eQ}v1Ta$f8#QVA}6cE%p#{*j9=hYucn~6QAkJ`OU-?6Xziiymuk^cY^a(Iep z)@*Lwlgp@BojSt;Z*R}N*fyUK(-j!??tk!s(>Dr?8oGzi@)_tYr;aIVV>N1Ekk>^O zM2&W}MICZs&pLvD{{UjTkJso2vl(?HQV8flQhwU5uke%mI%PC?(Ut@-kwO0eYT5_w z0=<9#(Wi_Y1?VazlE{rcJNUxgS_4ZQMRl<(5tcBdi&(Y&glE#Mpm9 zviw;;vY)dZ2(;9WaXG0(OA1EDXC7n$6Ydp!Nukzn7ON|MqN>`6Hn=Jz38GbMjv4vm zqc_*#$SI8e-aRQXxcQoT3aUb}d1|p$(@%AKAx*;+uzCh9D7hBr+A!c1 z)O%J${{WAl^Yp33Bas0BlyC44@bvFU8eQ=%DkHPyA=~grq${clygpVMrY=KhQ4|t3 zv;7aZ2_Hnhiex{KW&Z$Usy3ljlo9$-5A^p}FW@ax@l^h7NBJq$G2&bkQVl8j4u+k%JuN<0DN`ge&G$74 z9StE(LRlomMI$<)^rX|Z!31AQTweC}#En*sK*n%k?WKru@ zu2|%OCaJMiia6t@=0!noENUvGAE=vn{+Da}ZD|vQ&85>9_?!t+N1qKOe!>qjH#58;)2p05fe`+6u7IYW!5uX!;bNc9G;N!nPD1(NJfj}olY zb+X>W+9%UU%i^cIIT?RH^fRHtY^HOj~Z|bE zM=9~YdcHQNF8i0Ow@pUZUcTS)Mn4U=QQLT!O1dWgKV@n)y)b6&wgfq}DFc7pyvzDPcklPh)v%&MC&2 z=wa>7x7_`ax9E4)(aP*J2JtE>q=Gp06?>=ct*^L8WQywf zWBNlO8l%=2xn3C>X-}UYDs-#s&ClNWKDNi;J3|5S%eeY`4MDZ&_V-us{js0PZSB8L zQ=6>DA;CpbnK?1FbnfcT_toK6P(|2*zWeWf)4SeJduhs-R(tG@?Zu=T*fN{hN#HqlLwfn2A-OZhbNJ~Evi;&A`X$%7@JWVivCXf!)@H4 zw^tEzW8H4|BTTmv-7$94sg-Hr_WVE)ri6`MB;P*nmt5I%3+`O%?P~%3I93HjP~cQo zSuAl-NWdj=(EkAO%BQ-pRoxl2J7;?BjoX9Rd)|T`y`|gu8L^eP942S6a5dR%RdsD; zM6zWdrKzUVLS(d%#VL%r3ZO+k;d_O)`-{z+ZvAD;V{W)_Pg6Q zkpvV{7!QOwVg(7~=6I2hPLDQy`RsPv&8gD1@<`6KVoH}?EvTAT$bmpAD^96H1^)mE z)cI9Sxwf`$ufKW($A{cob1zX(4m+~sl6dhsiX4?hQ5M^=ubz16im7fj5q>?N4gScA zEE4G->2XibqQtn0JZmi6Ni^vAccwyR+&##S77)4J_9TIrOyy$SdE3e3E2U)#Yp2ue z`S*{Th}FH%sN~&$D)o~*zE}FYv@kp@;~@OX1Jh>h-Wa{RxGCzw#%kxq?Y5SlJrh*4 ziHDdvX688vFyboeg@vjTKU`}xbE^_WR!?J#J8Lv;b4D4d z#AcKftw*0wKJmC&r=J)nbb7sqNED=3?M--{yl>^tz)An^F zY`de}^3|Tdqwd%yyMpI5AX5E#gNz;oL(ZnZn~_f zq}>$wt;ZrhJ?in4^zzP;xhpzEMzF`&pK;_1-M?+UzWR{QZy0A#SAz=F3hKuKNYC=< z5wm-PYr5{Xn{l*w;ka_KwMjJ?8nH?@9@C6{y(SwdnI50qlE#{aFJxkJ?q?4oxu(hD z=^#qVV>~<#FCj zUm$lhm>L=PmIEh=8*6q+K@61`sw#Yz*`kJtYGqYY&bdj7lVU{VkO&tSYSWBFP~BkoXNpn5PVMNxp7(_B`RV*}-!nTRdu6L86+5t$%0j=+;dJ&yVER-r8{N zEL1ybzBgubH9LMBTyRp&xuD;8yj&ZQ#TrNZi3_p`KeUHc$phG-d24KGQnt4GiW6NT zlqGw7vrGfWjd}!*WZur(G5zB?ac~y8vrP<6X~MZbVCt#1*KhBsqu;U3Sw$3kceDCh ziyK<+IjP6uGf?D?e+L~Ost9r0gUjTqB$*x62LVN*o9hT8nq36ciKqY+8d%bYj{!=0 zbt-*q?Y!8;T=)$XI+ni?BP9IK`T9b41~;%ao+5FqQ&UVT8WklO-pgT@#kB1g=Xf`JR9d3i*eD;ywE{y@d$E!| zFggrgb0+Z(w$$+7KkD-jgmeCaNA`I9IlwjO^VDVVu;M;EzFx8&x;s|4b7MCacBP^* z(^EHT(%`XqI`LCHP%y*L%i};wj~|WRBPWPg#(>`CiUY_Z)a8{Qyf;OflmP(s(^jbc zwCf@{w`-GX+;+LH(*r<6ifrb?P&Ae9Z0L?9l0q_EuXtnOx- z-O9)=m-Z6h$m6H?jjr2r+r_NN8Z!%w`4Oi}e2>qogOX3R__My{$TGY*y7b6UNc92g zXxAe?6C)fXshUAi4P|?|Q>#NcMzO!MPHqt<`*_i)1%fdij8s?o^{;Lo;%-p1N#rIp zc@;iNt%3PueEQduyth3kZg0)YvMaJu$%5GUIvwX#wxgcyxH9zBHSl91p`ux1dg_`e zYG!4M?Ri;SNw5T4?UvaImVMsgHOf092BS?#)Xjn^f#t)f``$g~>e?;8V6u=Pm%dl^ zr*g(TfgqD#HtqXCOcwRe^?hAzy+yb`(aUC_qFvhCT2{+YWhiN#M_4LMJeJLb0oEjpv83^<9&-^LHHd+U#rm2cb92Ffhg94}@wEjSerP$AF z+bk_17M9kbVn)EutndTR`PA2>TfXnR?o9iX+t6E>@73b(^iz>sOxnS2K9 zOt$^mIqtIE8Jd00-ET>@+i7kZZ#bx@+ZoDQxGDB-KuZ-RRYUDs+;ow~Sy`G1giORn zwuU{z*)2A^%RR={FAh7P+S4MAq;~*#2ChK!74zzN_WuBQxw?YqZn(M=eL5p63{W+D zPpMKk`X9@qr!5UdqNiaipS!81k3eA2B$Txf&QSsJ0wf>~evA#zxZ$+1WTjez{2-6; zbtWw+qzVI{&ZDLcPT4Gs)5ofL@mV-$o}0)bq*kua=$c8DSQKbvQpiCB0zIOcRFwcw z{{V;K=|Zgtr^Gl9vb|wyY0UJqKJT)V=A{1sG5%A~Vc}S?VbnCPpTOHp&Kfg6+taaK15@anIk0sADX{*f zQISlVM-JiqkNJ9eH3U#dEl(~TC+b~k^9iIdFxT2iCGx-_aTQC1b+|vbDK_-5eMaCC zeYDKwaw*$^#QgL8x_x6T0Ul?d@~jh8l?GNZnhB(1;wu`t&Enpu((#ot@ zyQL3}0U+tW*4$prk~vF|d_72M{@AbiYx#7|%_LbOMgWrI{xkbc2p_kg`mPp^sMI=v z_mwf$G%NQDg)f}~sZEH8@pKDZxP=t^`BkdYk1N?_c2%+&076AU;2mHN% z|I(;@WKB^(&`4T89JC|t*cjP-(LAz8C+(IGAAy4dYg~dogda#siZ^k{;(pGuIvTXW z8CWiXgXKUmPoMcZ6zD19pAnp73LuQeso{*M3nY+|p^eMjxl^R-u{Yz{Be7ZS$oRbL z_7l<4*TI&c=_CAyr+vIc)R@4mRuhV*t1d>XM;&yKNDY@rQq{gYkDzbQwkHHNz@=#+ z82i94N$xm0GYKNA|7{wJ8aj3E3iJ&0K9u{V8tWUXf-G2=0DHZoyw|&87=&( zKhMyYwlY!H$5E9=m1<rn(@j9sYa2{T`XPz_qUgm*q~4@2LHQ{Jxzj(;DilQE89aT6C_W$kPl(J#{=Wy+uqrV=4eJiC#fLimR$Ds=DS$ zA;=dp8yjDn@$ISNqZs`Q50*6#@^z(sE*XvsP<*rg&q-PwTy^_f8wEO~b58^;%412{ z+F5E1MNtKoWT!~NxFW<5RNNkIC01u=ULJMwr~5rw6c}R!=Nx)v$8N6J=*+yie!j1k zd^LQtRb}>Vc0#n^swAt5dRb-BMI=>tI{K4N?2^-!0ofd>AP^PiPDbUfcZfdXh8@)a z32=%$PSaHq1KTPJ(v6y8wCaN5>cF1~R!df?WPStvAsHU#VW!BTmvIJP2&6&N1`Aga8xl^0J zuA8Scz4Xx9PZ~tAcmbWGDm+atL5&cKEe~>o<<)NYOS|>9vbVMnuZ`#^bS=>}`A$IQcPA3JK|}arOD! zgFvxiYH4xRkVBBHqn9a@o@sn>5UPN`rPPx&+b-4GNl*z{a4I!Xi8&Si5C`YcXYXqR zq@~3MtdI!$qZ=7xVth7MQmEMbNC)`?(A5@ZTF1xu>Sc~vJipu1ns->G zjpM9_y=oR@(=1G^(XtRjBPn2hzQgLx28mXx)C@gA&VJl00Hen?z@YJ zCi-fBravx3G8r)@@ZEra7|YY4soc5Rm}7`#XJz!7 z@}+_R5tQjg7W#Wu_t&~2V|OVe55#!sA3l?&)3sy`uG>{<{gQhB0Hx_kjn3}D95Ob4 zb=1>}YH9_PZXC7Jt~rY|^(Cu~q^MQ|5P7zeFYP?ncccI>BnQvAzt7XFx9vj*Znq8p z05sDB_H+yO&UU_^2bzr`s;jNYV&|fTQ|>3K$W~Xh?yxkG8E2BNcYBi8c5Y4mr-DBk z>JIYH;%dqCBZ)m37KYl=TG1jzJSYGFU;*V$0-aiqPxZdh!{F!3WAOOR$)BmlQAN44 z6)}nOUv&mLl9}x8d zr>4Xu9esbEt_k6zubAZOFqAm;nE@+`p~i<&$k&EhqI0YMZQU>S*0GyFRs&HOEI*`v zd}+g=cGJn*9@)8#&fXaf!m$b+>Zz+WK|#aHryXHTaf6{Zgm&$hVe^ECphlG7+ z)vBvd;SL=^;gV30eKF8)nu-4aTn(BvZ_)aGA38A=r=YLPqi0v0-7oU5?iW7mT_;Us zahR%zvQW4C^MBJ$-<9zcl1!;+R|N#h)XX)kZs<7z(hOFcdhQlB=FYa`ZZ6=d{@ken zh!y_;MACH+I#dDFXkJ&@rkh#uKD+_xN)kZ)jXuHET49$Gn@hK{lG0MgTQ|sVm&Sec zku*}88ZEPv%GFSx-DNoT6u^KNQn9_o_{U45A->V8uq3Pp%)6;QP2hpPZGx0)L!b7Q z{{Syfel)kg&neMVtJ?xV z;gA6&n&j8)6sJa;e1>)R(TO;M>K|h!rD!JpwJtH8SIk`5c%&04}S&HmN2e$gv zVUnveQ@AP98I`ZDC8=dtY3M02c$%t{M@vf(D@_F=D*o7v`^HQ7tZljH*coB8f;sMn z?Wji>iB;Ara1|w_Rq+~AK_QUosjo+##@|T1y+4UAq#He*4QeV;2?}@>6#+n?08nG4 z_eu79^bcv{a{GMugp*}Ehjbgfmt+WL8ddd}`$vxnRsM7-p*o;2obDcbLEE@&nsX}GoHO30vTuLGpg zfS!&1=jdA6J;{aM{Z~92zhmVpDsszDLtRfh!$(_=`(`+rlI=~D$H^v%6&1vbse!(m zdyy9IJG*lF*SSFr!APjhcyQ|&H(p)6+ivb{zM0g<#57Da%M%LKSq%*Vtvu=S=n~tX z8~ZSITh0~XP}{qf|^P2Mb?}fy3kj8k6Tr4vQ|VZ||+Xn$9B|I+bT`(HfdnfG53xtpMP1dKCUk zZj3hH>U@V;Z2GpUq@#x?k=;2c_5f@#ETQ343U*+>cZE7@-D z9(m-g%#BiiJ|E`j=EBa?X0)@~Y_SX~0QIMvAL%ivr%ThFX-P2}HEAqg`gFp0*;ze-{iaMg7lQp=b0PR5GzD!2u)Ixgh$3{tmIXpCyZW z-RHH^8Cq%s<^tlQ<|$sH;yW&{Aq+H=;o*S=aGEMgS!*fivqM3G&Be8^r!6T8$T@w)!N>7W^qE)1=fcFK;j7Ec=W2yW;edo zju@+U=0b-8(?eHKlC^*N6MavW0mF zzvETO_Z9n#b1m#!Tg=*tECf{evNOXy{42_IM~qAzn*$nfUBUUN1skk zs|{8%L03773TlKCP8nn?QzHGWF(N4PN@NSJ`~~NaWzwA?(wQW1`495+`mGp}FiGhF zoJi!Yt#yGKTC5d%C|NYcO0^YGMj9yP@fZ}hkmw`O6qEYBxek%xflmj^U)0)KZDjP&6(nA)5=N$Ye+j-8_;lDs(o09)FHC&e;05~m0AAJ30g zQo3WO@PquiM^`QLFOXMSi2TngEU_ultK_C?c!kw{W?e|!FuynF-N>peEGepk^EA)- zI=DJRKCaQ9vYjKRmS#DbV=3fFs{?u2XpK#XAO;ueY)8FjpYKOlUr>DkXGA$5mc=Ul8VfEEu zeVNODW7O0DSN&g~Su+6)?)1q&=jcer)z9`hho?a#k--;@JU*!P z0J3Uz)~_=GV!#qXBadZFp{0m621g&COG&H~5HbP(00HUG9|@(#;?keVP_&zVp*=?)hw4o+Y%!RBI;s7gERjS|#1^KA2j^8k>i+;gOL`}j^IKrZ z%~Kpk4<$1QV4f}%|WO5YCp--I@IE* zWZ79A#K`#ie0D;VBdI6u@d9PVX)&u>Q&UglLP65x9yvbD5oTxH65O8@l|N`|2K|78 z(ibQNo6Ou+gZ(nsPv#Cf5O!=;@mB8H>RMAL_ezx{i`A^v@6o69`x@t_i|MCJ(m(>aqsW{d6= zXj`?x`ui@HLG=m5pYV050;EL=IL}F04DseOSgGTVo=VzWbQKL8epH5fcrq*Z5BtPK zYN_l^&BTtoto+O`cMvmZu!azQw-u3>YY6D9WbL!M%{vYMiavTVld{n3MAMEt^v5L*N zaOGlXwBe_bq^gxbm8LZliD7oTOX3nMssakcNVn4M-hy652B%#=Dgo1w$b2O~gaJ>p zsoSo)mWr*av_xi}h^q%k-ZZH*RYyy5bs~8@j4q%LRrox6V%|MzBD41DJU=h^s)_3;{LzV5T2xWIM&W`ycRx>V%?zqp zWCQ?`H4m86kIRASqdXEv;-iAPlmlEE6I}d=q5Ct@>e+nTBIT}Zn zL)-BA6YENG@)bB7Ix`jD8nL-5NoSjMjFw6oSm%bOrmm^#t0zPO6iHsfus4ZxgUCPt z;Bpp25=j0lUh0#8&m7|?JrlO_B2gOJ1%#RqC@J|bnLd7f5buzkV_z2CtJ-qm+Y?`h zuB+S|Yj8xB{TXhhC6S zSqI?g)%mxu#r3~|68V6{53-<+q=BMk@et8jLHx+b{J3;=Hk3lABLv@Wrb)6UGb|uF zg9;;kxhnqvw%R0XeNFCpKFcU+s5cMroK*D8heZV|+x`#sIw*Osnjaf>9J`khmh9XW zUVj5ypA+ElapbbqlUCDZ>n4vMkIPd~)Zt{UoH#(Dr^X8qz`g z(7ghV&?_;vEjy@6aJ_EX&bL0xwl0o?(3{Y zcG;}1X4#au%;Xz;J4;UvsNu!d$(xn2d6E@X{H9uI71-HXN`(_{Uf)~z5gQxFNfmUy zwJfe{Qot{A@jbL6l+PZ5+jlenJQ-WR?^kbe< z{;JMsK&1&fs7-zr0O}lZkDo#f!*<&Fn$33mn`_vEFkn>CY6dkrlTr4A<iB5667=?!)w!V;@Np;PbhR8^ZZA?Cv3y8CVIt+`1>CL1u7G}-E!%$)V}#U#+53dhO^c>##+id`!qo+`wC!%n1_LP)T(1Es}B<^dn< z{g~)Niw?2;Pu{gcr6?Ubt1Gx&`BgP5?fKfWqpm8lQ9<_E0W8=t-Ly6FZV6SX zeCV%DNY!EVhzy}Xa$8Ti3+imwceWz^JQdlBk{Lg=(p1M<(~TCN7zMFG)M%+G<=H@7 zoyZZ!w9$k1(>3a}s4)48UbpN`$}ssx!bkF7W+P=^8&KF;+8(mYhYMb5{>DX$vPF%( zR#}{>v9R}z^SJu?d&Z*^53rdVA8j*ErsZmL2HK?7P$M+1Nbp8}%8GQH`Aswxy^rzT zX33zr~*1+>q^u+7s>`?(6xtB>32}SWI5;#8%_#v-3wD3K>@p zwDM&#GFEv~3V7<~kV@>*Dq0Wr&hp~_0Gs#amv>vpV%U;JjFpkC*{_Uxd{Vw80;0wd zos42VBAMw2w-2M1`5I#miDb0548ck%t(vwLl%-D)C`qnQOHIeu7@ftjVyReS5>rc2 zK>UOsB>fZ7|Q^XaCn2qtd-k$tE&kE!#gXeR#FKB5n2#M z2sjxO=&fS1UDeY$`l@cT?M&X;!^f+KBZ=?JadR1tiNddZZ!>$GQ4jmi+rG@ft>FW7-ewJrhGP zS<&?p2_J9bAK=eg<5T<Z7)pBoE^L9DTh*v+{Q3`_gyqXkUYa@Tnx4*SNNL zXYK0dI@{y7U2Fhfw^wR`%>hiqT2o)nEL>_+gdHSJUS@-j^Ku zT3KF^XD}=gl8Gd2s~L?VnSf=|4wh?L$Jn1?-`3JuQs%xB{{V-`ig^K_<w7dMOqvIS5F00m7+ z^(KO!D)nG=nZsYWv3SVYkpBP?!Ui&0D+;QH@+l5MRgDY!eNFft!LmdQa}aRA@%uU) zFbk!QTmi%F=^;;3PMec(Pfp}Vl)+F+8ZA1JDd(=E*BUWU5n+8+9+035bIMjaVvo!# zxA{NA(xw`vRjBws&N_F@PVky2sfx^}AB&C(s2o+&z=E_=OEVdYn$$8!a_U4u9l_;D z2>8gs!NDe;com@Q(J;`Y5NrNge%^yzsPaiyl2mqI?#vLes8%FRD#Xt^fdgdP?herbeUr`cv)c$iOO$8lz7^?R;NtS(m4VW>`sCBazooc&Do>V?$sW zwV)yFm$mr6y*GD-seI|ufV5U4$bXmpj+4S5xa`niqDZLxfQbEna?_+OtyaiHtZYd( zxxeGugI19g9xeV)_CJ?Ru<*$T_znlCBai1^rRCD;x6&D8ingYcFEp~2B^s<__VA5W zR{9mzEers+KkR+C8wy-ie@rm{0C}tQ&XBJOCpxSD039FTJp{GHO8CmBiI4G&9xA2@ zWd-A7mD-Wx=ZvT&gTq&dEn~xK7yh2tAtT2C;UsU%OqzlF2!5F0EtrprG#{Rw2ESoZ zU$?LS)TpdfH1JJ6h1cegGY|P>dEV! zWfdaBw%aQbwFMUR-E<}yCGn%f7~FM8tj;d1j~cRpYYs2ZwU*LLs&5FN8LiO$hxEmN zKR%F4qLxBWgi84T0D2&OoeDc1mLn#98i`(6YNOhQqG#ccj$GbeqM41$e(g*OnpW1+ z{vO$#sv?n802#P_fDiNZ+>S{I&zkW+D%bL_4utG2WK@w$PU2k@Rkak+#|&|aQZ{&* zX1BgjN-3tWP2!1kTc>qb$NLVssZA;Aa8^qs7!l{Za$MH;P4R2UHSwn73-nPjM} zlrUKyKNhqfkj%ec54Xb77=sTs{{SaRNi6a;DN+ykY1D+MiV9K$bqt905bAv~%E?qJ zp{8mmmH4TaH&(eP)pB^S_pqR`AmsG>7crCo>h&01~Q5)k=n;qL4dHHDFhwUFPmvTPdy~QB*pVc>up5 z#(ps1^tcfx|!ukH7spu zJdnr*K@uU0OE0J-SBNzL^aIrFf98viGfSH3-tnFYYF@1uYj)N?wdq7s7B2*Ey|vWG z5{s&bK0p8;Ut$zaOP+AHJM_rZH51!TpipGgMhEiiA-Q+&Psj?gS@UnP+iOUvrJmNx zNNOpPQfOo!n3Qp<^bvfO-@iO6q1w=Gewz6mjM|$sWl&S^jF)Lp?YjNPy7y?S$yH@H zbp<{OzO?PUF~`pZEHq0sOS02>nf1uX6zmi7Ev%E!X%few4FFcuC`n*@ zm?j8PO)7E!0GWN#<(>DKH*4NqOKr1ic`F^NYkvhz0)~A6)S8kA3JIX$(^thT?n^PA z$Jb>ZNhYquWoqkIq_a$F$C9d`$e{wkQmrFf^zsk1+{*+}EW$I`CmA2YYy7o51>C09(d}aY3LY27A5qLK)Ccq7nB0lP%eMuUgiN9B7wMLsHyH$9Fb1A zOHLb7xB(Z3V5nHSFQ9?-BmHhK_4h)g5(igFV}0 zww_vfDzOe8=p_ z=<93VF1D%7%x|hX0Lp5>kFzu*$c`OtDc2jfVs{?Y#_ye(Fq0p+c6B~Vf>jYNLY|_V zXH(J5OICvG4OJCjk{M7BOp!49k9hNYX>nnG_P0tzvB{-{aA*H>{u%|i19ucmnZ&X-FvSz2CRGHO_&W}u+1kWDIRGfHvl&Grvf_kO^l z>ik9<0h5np^{&UxZ91)?m(Fb{b9>Hth9(SVTDrQDzPgJIl%@MRsiJ~9hoyaL<~LR@q)znmR8RKtODunLG!s?D=V)poE@5W@$tuU|?kL`oV7`?DR2Dg* z^EI#MUZ=f^ak=fAeeE;@5*8LZ$JX>l@5QBEBoXBLBYt6a_mX6WlQWf~ z>OQoq`y52_+6=XA6=p7bM+3^?>82LEPo(XpNLRuPJO_`BM->Y|Dn&`|$IGbt-rj4S z!V8s&+TuIKIzT3f^GQ}fS~hEUFRuv6*ML5CstTbQ=bb@oqhtz)+SuieEPxhYv_;#Xp_1{4*A ze3%N;shN2LWZw6UyK}vH#pX(Cj$;`Y(UXTjbYw{8H}CpT0V$cF9kj z-F-7l*ZDa!c$`*NnjNk%bx4@3bW%`8DG)v}CobCL@|L@3Z6h?M+VcECoui_*f1E3=j_%RK?uRCL|tMh5JV~1+(ZL__x^_fb@_WgD>F?7_p*rk?yg)Ido3DS%R0uV{M z-`qv8`!nsIDP6Ar0L$B3+isD_(s-$JEoF8L2)F^jm^PxtB@8@6tN?l}05pxfJHY}C^x1LcU!} z8@}^x%eF~*c$%4rREz^wBBbPGCzcO9B z*Zxd{WRd|_M^j4{*r#bRRQT#tT4XhZ!pI)x>IPz+&nK|nBc{{Ww%PpmsrW%fQl54+>SFvCNUIW2fdyG= z)Fb?(8R|*dH+VP8SZ^(3DhXgz)H1NAX{ZM^!KOjz{&a^>=KK3)W_NV^u6>EOs52EC zZxFx0*C&?CRV-NC)qv7H+U-o)_tN0amzk|qK9TvnDuC4(8(c@k;A3`0NDLF_VRN4c%n(D z8t}*2)f?QMz$+)vTYyC?sr>%{KTqY-ey8H+O5%J*Zt2~uuuVM08!fRZ(m^!QPb^X= z+Z|!$j1qrUxV^o+ytIzh@MW+1S`L^#=k6g&{UxsoaeV&(#<~FeOJQ{PRqf2){M#Gv zdTuPP-$^r6uuWUGtFcv8n3SHqC~DsuLmbhh_tU9l*BG+}BZ8~?n3oZ}B2uzY(!XYU za@*Zo)wzS}Y$7(=g0_;{fFx$5oQjVl>GSHewuf78f08>R9k@65U~j#hhR2hwa&&^7>twHlwIrIMj4?$*1p(V#dEqb&d1wy!8BAq95j}0|VK&3+dR82ETQS>7`9+Y(v-5N$?&Fl?`=KlN^ zx@nC5d=FMuVWO*ozsR<0^XWf}4l6S1`dun`FvDw8W&37MYqs9m*}GXGFUpx`GPXy*|NGF$$;WLDoy#gbSchu>Sxr znEwD)IulZs5kZul;wh?}v2>UT7xu{4q(;HDwXVNaxUnGL*->X{BJUNgGx`4jm!;BZ zjU**&RVVo#x$LUSs!D2#sqvYazWOREdOK6oNFJc#YM`lO5v$b~4H#Wk*YzKy`+o8O z%!;gls~Y6+s6L*x>Xz4KRe^?6u7qRyIrH-AMUKp^9dr{(ht0XBsftE~W9gZd=B=kn zr65*=v^}l${01wo%6gst6oBhHLWa zJKaX*43^K~37GK4MFHY``WL#|cFIuIW%Ly}O#9Rb!<|tkGJ|nfNU_FAbk-}@FfC%J zf3LLnN@8V)Rz!I}?<4#p^RHHXtZqOA*Zer>L!z0YlOs+kB`aA}W-l9qFObxUpjHj6 zcv)V|1-Sfu54LGh8L7hcbOM2iH3$4XVT4h(;M^IUm2NK?i7B@hYMh2aC@AEmf|n?c zvenl#O0m*O>hYFWkdbQv?fneVMHFgGo!A1WC!}&nkhIRy0T}Zn5AgJfsqNmJ#Zfdl zF2&kN$n^6^9X?*3x5+G3#2?$o3XM!4khZNsf-SFR!Ll)>(Ka+`W*o=j(k7^Q}! zs<3S*fNk{lrTKe!XkSgaEUX9>TF|HrDPLdb^64CW-^-0DRo$bmk&~*JKDvLO51&ds zz1%%VTY;mdi?ViDtE9$h`$;zjI~`pFhM~dLPnMFNX;N9okwj?33yujM)7|ZRsyeXS zrqfUf2uS-$6{+aL!+Y7~3P$Ay7x;kuv()^q_u3i9cEWC4PFL;W3p~_WIy#jEB#s14 zPgLG1d_$Gs`VZsU1h=@h3NBz}CpiRsj~`DyjZ*5~@W^d$kJb>IiYxFQ{gun z8WW{iuzzPv+zFI+5#m%}@CBNKhel36<`3OF5~2y_+uK&9p^~6XF_bc7WS&?m(;nYy zKI;`KeZ^FPR0#!%Hf|5K8-B;PNJ0zifm$4@4kEvnItcDhyQm}SU}dKPB&M}A;6M~S zeqAdY`LXsTKi$ol+DwNXBU4VaJ6UStd0#_`G}dp4QP!R}2IqhYHa^!T!MB$~4(T{% z7_AL`ID?-~iJA9>5)a+b(O3clk@LXleRWr+$t-i4d4NBtBTFNe1l^5+ZA|A<9vC+g1Urqe%hlSTvdN(Qgz)Jjpcb;rBi>EbmJ6m5&{N_acf)TF9sSYMM;5RN^V|^Ha|Y!#p(<)skIZ z3YBFB`hfQqMoN^QHCd})K)Q)PvY)r99mI1*J-eVVvJ@cjAc`9PT?7@Coy(5S?YcU? z`QP+-jIZ%{>!hvURY9hFbpy-(aIrH-7LelYa>tTy?D=`Ca(J!}i~4|yX;t&`z`^-^ zzFh_+T9XO6cRnjMEVIj3Q&pSJQCC-FYaOF# ztFl>1tG@DTx`7uhshJkRxEA(7aNC95!`wPbWj=aMf5Fk+oEv?GxV5+N*4Y3GH39$! zhEL3&K7zVlzUnHe=;`FkVN8?^^F*(>w8uGySY z+NQs9u5OZX91zpxd#$1fkrztCqVIp9`i?AVVrG3sT?nd(0?|f~bG6)P*0DuOf z)jieKRyaOiK7;)5@pGhBaqcm+YXg>D1OiEIMzseOKP-IuQV)Y2LqB+8JC?n3nH=kF z2gFT7K3-U`^%&^(?3+DhY6O86Nm~O{%1X$gne`Ob2=*UNWZh%hB-uo%^i3y;g&Knv z4N${B5UBL%q4sUMeaLSO3w=^2h5=)yno7{G*humnE833>kk4*<9FFG6WoxSvM9rkT zftIUr&{J-QOeHSyhMH(sa$|9Af}%9SsyB@%$3nmth!E8KuHgPG?Qp}z0bKbI6jgk{ zrA=v^^tQ`m+HK(5?c%bJO}qG!ie@%u%MAIE#Mh*z&*~1S>$(luSF|?9Hwc@jHCwp1 zC0t6nvzeONSfthUb2O|I#MX{A(+V?^6-zbH-R^g{t!lS74cI=k^R!$aK=%6KBxw*{kuD6lgK~Lb_ii)xN_cH7+iSPY@sH z5;^LsO9i*?N6#YO{P$M^7+{fD7IA_pik$rOPutaA0Are92`VY_$J@b=&p$4RPkZGn ztNW*5Qp=TkTxv{|Z4yo&A4lcS;-H+QQo6?xsEQD?0^XoM1JmqF%JCwu;?9a(u;MdK zC;S})y}_GJuG^wU9j{E&CDb3~{tmVgS{jNTxtkeI)fE`u?rStuu^2whqg-)x@WbFS zcRbzF#xYuiJZq(qEYvkR=qU zIHLampRI|1mUiifaeQFQn3_^?U89)A%jRThR(gG-vzdX=N{>s6kHNnd_G50LZLL5b z=u7@@@^k{`!%h2hpvQ?{+g^^%bwg<;{m0W?sXJFUm*MUWqg(1TW@T4e$~M2Y-YjDX0bhY z{{6|f1eNr?IbEJ~r=+df74=V+JC-9}jV*H$&a6(GC$Z>;+@x+`Y_}Sk8Xg#G5lkF( zmew12p^P+NsLTN*a3zSTAm+b5iYC+fq4G;VFUJ+E?j6NZQ@wXy@y6xoWX5erY~>6a zma`v@rLB$~vk1skQO8$J1U3Ph!peE~Qyf8NbV3MkQ;yN|>052^NA&~29vUj;aYA$- z%Dvy0NnN+{1LW3k2h}zE!@M^R(U&FN8H_b$7V)6ULlO0tg37e@IZ`qmF#Ibz(S<*vDZ% zmk!R}9kIV@_YB!i>F+&{KJcWc$>$p*l&GnS93C>JcrcjC(;Xc>DNl%w^e}|+p*}S(CM{5_uaHg0P0Z^P&)8(JbpyOor_SoHD0DeKX#ohH- zthZiu7SP-IEd034=007sxy^PSG<XL?WKbM0O{^w)u@-#QI#ym)C_^^_Vji!l}%aIolBai$fabp9ShJ>%Tqf$e-f1S z76z&7q%|Hopk%0v$V)29&Thlp8_l#%Vz?mHii-aLKl2{4Pus^=<%<=O2mz$yPxs>r zV;H464>J?Uv1aK@c>c>D3nfOfo=B3SS)v*M(;L-z()O|B5KXQFT1Sa);NgiMooW7F zhTxWsimgA&E61R}6G)Yq-Lz^n%93N~YMBD7nn#wAWO(I$YRjdWZGXT9*1xj{aF29~ zD8b0Du6lAN4;nbgBE2@}Ad))w^q1E~1c>FFH||J`KT;`-Tp#GCk_l1?(tzlVqzW+~ zupX>j1E=v2f64x1)NB+bcRoUw#ip9051Eme`r=rkI4RtQa9TBJ)No0${{S0%YE@AX zK4I3Mp0m|SV>Cn59R5T6!=%jEsB;ixG1Zg(u&$)d99={Ypi|{>nEEP;Zw{u__Y%j2 zE`aiMn}1JgJZ}k>R7$ewsQ!s;{{Y9Re{W6rW!2-9{BJ;g2^3%3<V3Q{{RneTQEytsAv*tkbIX?f&TN;MMRQE zB#a9fVLA0(f6kqM|JJCjxMY~h&oF6puB3Dg0GZt&Ti(G5GJSsl4`CahI$&3i$Y-pO zwWAs#?f(EjLZNAe23njv=2TA;AsjKM)S@SljT77TrLCn~>ux=jC{~gu&@|Sx^#1@= zdNhB5>T^neDs&+1*eG5K0Af^mtFUtkxwFAOI#y`m0Dj}MIUwm8Sg+##+qx`emYh4W z^9(=Yy3{7ILyS-#<*{LhkSuFfuPqyf26)zLfh?qjI#ka9xNBJb2R`Z)h{B(X zC;T7aukz~bbv;Mh(n0d|)R>z3%yfU{^mF26F`x{xO_|J0($kb=A(3EHb+xa5>FrpB zT69-Gra>PurGMBxQKWe7%S5$s>yIO-nuGaq=zQwB+PcaNOx0MZ@$XxZs#c->CNSG? zb0?fFgKMg&#)sBTt;plr3$#R@WD@FKJbrar56B+2+MXzxCt1LO$DP2G*%dwZw$ z^Ve6>zH4-5D(gSG8&ZODa#^aWgyI^Rdxu|6H=v7Ox9@SWFmm8d_iAA?S zHM?O{d5@bPA?MLH^S)c`mb#`ouGn@Zc+-h*MF)xex~Xo@-Q9=SnfWqX*1lP#oGhQh z>782JmrCnN20h zo(Az!Jkit?7CeJ?<-L@h#?~TUFYSj9;jj1)?CHS-3ZS9_!-pJxeKhZWjHIE4daPl5 znK8(em@Jh{D^!%up;~%ssiKkt6*(ZRZT9TXz+-Q2TW|E3Ez)UP(6W!^LBhW*e7a)h z>8*n5m;g_wK<3xNZVkJftg71?3cMa)8w^cTLy@4H?WhP(x=8#e3X&v4a97iRVB6h=?bb=HxCQl{0-P;Sy&$13=D{wfwzz=dXGObTLxoPKAILw+}PPc};xH07EI zM)unA+pW5+(ou^dlMAX6N8fzX0PS(y(4Pj}=sQ})xRJWfiB zbmpmXg(DO>x}1$AU=FGhY^E+M3K#k*k$k|A2>^J>u{QSW7Pg1RbKe*Z_USB5KP(=L z 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 literal 0 HcmV?d00001 diff --git a/src/demo/manager/src/main/webapp/assets/img/product.jpg b/src/demo/manager/src/main/webapp/assets/img/product.jpg new file mode 100644 index 0000000000000000000000000000000000000000..8a33159f36becf1c153ff85b8bf242a3266cbb67 GIT binary patch literal 47190 zcmeFZcUV-*@+i8tkO0RHJC0ARiH>nUyNWDcd*uyKMrx!E{5)5~fL(W{zSz#LI&fS;F7P>feVj8~AJ zPee>mP>fF)05HHIneg%zLc%L#goK1- zsECm4XA$E6h5_;|K#U9M0%;g%i~u?@8U`^MauRGLKC%@J0!oR6b`d~0)u61~RFT1L3WMN;=%HvslPIdd};(@TDzO`piLT*jR*wPPT0398a7V|xHLxYXY(C=}5G|`sZs8`l&4P^*0Oy9#`$15M z%&V62y0_ra+211k?a?_GQg0>tj7Q+_NgOK?P(c+*szpSb%~ zVMPPH97xfD&^i)$`?;Pld4DZuet2#;-}7!G&CMzPd*2YE@pHm%9_Mb{`Kg`zq=&P@ z^xnsJ=&E9}?lzi>WF9mz-ns7QcwC1BTssd(tk0#Tk-+`t(u(CT?x`c$)5iklwDS-j zh^=2}%i_X0yT{=D$yAeLBScbrXGL#3FJiiQo|CfXX<<63 z#pw_3+YBG~N;t2e!Duo#%_a}IB1)(vw6ErlMLl`$#-6`$q-vS)2JQH^AH_-P9btnt z+Udmvc75GKj>ep^m@?At)@(ab4uUEDZ-l;2wrHj6!)!NdNZ=dkJ@9Lx%d6w!) zzfF9!ds0AZz4|qbC{w;YSz+WdaiA}WeNdwc9@1Ez_0c&WaX3?FO5xfu=B+%G5fdu4|{jQFz4di=_7u+&RyPk4Y zC?+Oqq+H>a$X6vu(05VDz14`m#<_u<+ccLW`j~brPp2pDO|oLu)@~3VD+asl>RAv! zV{{#3I8xlKf(rEBeSf1&aS5^nDLfl~`BG?3gQLW+K9vOFO-51GFQh%ec>6HD_9R36NRYy9Q>)T`T%-?w@MPR|t4b$c!f>5X?AmFGOGX$d|r z(^6n6Icxd;GBo(B^hwA0Ja65J@udbNK-LR+uv+7PwpWRO)qUB$tJ;2~D6%4y`l#dwK(N8ib-h{^4=CM>@KpM~x}d}yWl8fsNo zoaaCxv^3&doZph+-kb?Z`Lc=xvW%&h&Kvga2~!7+Uc5A2wXWx|!yzbo;yx;|ZS1b! zTz!7><2+1&`EEK}Sm({HPDN&BIPhWzwj`F*+sIq5g!wq_*cu7ks7PLweQf~TUT!)D zyS!oYOaZan7UW?fe?<7nZG5d52vS%Cr>#uiN$F`k!gQtZbKS^%*}JDzBN2ncck7xF zTd@thwE31FINit8UphFZT;J|-Pj89+ezzw{xNbVj<(W|ZW5{d3xB4WhF11L)vhLHn z^tbH^buEgY;vJB{JKEy?sfvSp=N+NnM@^;&8|fB5)Y+*Y>-U{GR`m|a7Qf-kjN>L? zI_g@N)I%@Y-Bi88$|BX*V-w05VcHen{(bkLz^R5ckN4IX!9(_g zSuJZ~bKz>&3ajT{R4BM{WPOpreq!zLh#%!RDUkp#-z8uCpaSiX)vi zv-G$(d|?E|jY9Q6+8mSG@)IN2+_BP36SOpF`ROe&W!5>4iiyF8;!*1-an`x5Tv2wG zl&DdJn7{k|RKWDy$HXP7BYF?94Qhp92{Ds{Sjx7e_(*GQU8$BR7MF(vkb@WFDqa=q z(`9sJaUQd=7-%`3qU2o_zhI5US!r+IpjNoc+?lHQ}* z2!;3lxnG8zU}0g9JJ`7qnSPg#lxrSnVYmpfnEu~H-*%uRTHK|351nyR=t=FVMSI&ga!2`D!w`$4vJi|}~h zt!SC|ZcvMke^JrZaW@UUhG|feZa%0CPav_3>0)u*dj*VMB4V)`(7vaD1U}JY|6uKc ziyZ09JvP2e<;{0G(I#{>{ovf~I8?VnDN4F2fEc^Sr^v7J)eDn}hk9qX*9Yo7oW8dl zKPOz(7k60U6y)uckeNAFBswWnKZG2%vJP3vKVg!buA2D#d62OH3B>3^q{*VCoB`>B|F%BL+`4~nrhG-u0!j#w!q#{Is2Qc>{7IS$O_+kX29h0zgcCdbN zByf6b00}(i5w9@5nuZ9m?o(NHKi|}KJX!Nad=F{oE|#==@BzU^ZKkI))18F$e;+_} z7#%z9xpU`CJhV$%G?v#ZLjtO$7WZk+9(=3dJkH$L>Ucpj$mdBk39~^0{555%d)hMa zhu`Xw+ekR8=0oyJjO}__JPOY47$X6PlhJ3^(yIo35>1MEZ_I}62{M8di@C2g>FZ6d zw~zOw_1r&A)jp*V+j}T}oiOG4RO$=vyOYd#!`s;N zu(Icb+sZd$*Fy*G@Wo9|Brvdg--m+m!F};mRkebVRMpob&zeex$pw^=!{15m#;<-{ zxsiP=`u_VzH^o*`B;bEZxa3yL7b-+maT>f&eZN$z+^E{9V)_18KU4joJqfxYpXraK z7|P7Iu_FpjKJ~6|eK~j>q&#%|X_ZUPflhbs{#2GfB^(Lt$eU$FSw;kuY>Mbq9<9I1rfUUu0;bf=-#r+*Rq!p=`<`daONtW z7=Z+`uX0DL(9K9FISrdmueB_KZ>KAAGcB48kW$3Ye2!>3b3}(v^mN|j^cbSI0|^X< zs5%X&englY@kgAo)yYMkke}Zk-8fD@IYTUVL&BbiIt_1lv=n=9TCtuTw{JOB zE1nmgUmA-)Q=YQ=RM>FNLxcoWHjE)75l5-uAcxY(My*{>&1{xvXy>W$m`*=>(XFL$ z`#gL)qlTyFTpKZTWa{5>76i!%KG#D6C&&GzgO68Qy?I_~sXssfL0Dhf67Pl7x~nk;V>shH!z?YSwU%-wAmKd%52Uu$h0dma(w2RyVh`0PFv$z+aj{ zSu+4FOL}@sCwFrxr*Ej_MNo8g{2w?O`~OKN<7%m+>j+n1(y~YO#P1+uZ%O~J@LF#6 z@C&?#m%WtMZ*qJOs0G}~Rn818|faV=k!2i_+0Qv>({smSE;IXm-bL_zwG|GSh?GH?PV$yF6 z{{{XY82_RXy1;P#iMil;2&MtR832&~GGHvDvj1fk^8ZQRg)UI60hFohB84)4{h8vu zNTL1I2PR5tR7+63eW43X+zZSf^9WrEM1$WyIH8Paz=av=CueF@5kilhP5>9c2j=}T1yJO_!(VV0<$syV{uRM*+#iCX(vI%- zsFecMTx@eEcSlRNf0}O=a8%W(Ap@WWslAhtB>h{FA?o;_nQw z2%zTVh|)D4+{qdI`E!H*b>QIJg9GV*Umpa(Pn8xV$rU$+a$8KfZn4;1u(ENJ}sX&AfMr~b4L;eZ#o!0jm-fSkEJVgrXe zi}CO{x^bJKu3B+hI63fmnK|?Dar5#3;t(%qGYdN?oZcJ?T1F%ozc;in(!(qz81;oz zc~zZdp*AojA6KZhkD88!kDZ06B_l+VUffH}%fZm;g7n&lmz1+jq>#Lx~3;+7V_%Q}O$po^ATTJS*ap$;IK z8`z0_zpHZob%*YEk$-5%@9c}7M^)e~ChH0{18vbdpdI>GNBwzZ@eeog{z4B0P1jHf zM%2|jE?xmHUO}B-SMzT2@_}9VlT;NP29}_W`@bW0vV>WA|2L$ns$$BHZg4Y43#hW3 z1S8l8ZWzo`OhopUytDwnkdO$!z%3CzK2d%dUIjTJQ2_-(L4jK`LKiZDW#ybK+)`%E{Hi3>*wF2QzCZkF7J*nvwo@uZUgPzEqtoLDdTU z6|XEStKsTo1+xb;e$FNEsE3{n9Pc9RsId*I0Bo2N%nj^F?>}aXHq_-0$R0+2F$BfT zEKp}N5{wq8E{9q&{(*-5D`oyih5TgcX#)ir{+n^|lg!P@3hrs<3YE4775}RZ|GQzv z^S_hZ&CKIJNc|s&!2dm||4^odjhUl06kI%c7*XxuK`k>syMpJRd+8$YFH6!da&VnP zfxj16$zKcM-_O4_@V5s3*1+Ey_*(;iYvBJ!8u)XI26Y5qEj+;u7;+X}3Vbaz)zDH` zP`)dFv71Eam6nr{M+eX89l+}_s8>V-!+Z2Nec+XWi<>V1U}oXwEUlq&7u*^Gjz7;< zQQ%*~!RXHm14CRWUVq8>Z$NwtXIIp{m{ah}ZwYR;z#S+r2-|tWok2X>D-b3#x4VGf zpkP-WE%1U1S}O<>TK|NHQLy<>cpe42f{g%a_E7ZJ7ce?%YfEPS6GmNsAcKR)+TatA zb#nH;IOwHE?FH$7zAI~cyTPFjZuH8I7EZ3tPQQ-!f69j{1rY!9OZ5fz|HTN^4?o%M zYF_9UjiUEY+@BR$xVw7%kwQZk0D%9L{*%WmN&ryL2G6Tc|HKJ~f#=kmpphZ&Puvag zUd9z30BC;o7f&TAu+E>JN9tJ+>u?2c60oWK|{l7E8EDRiUTr@lY|I!rz9SsBY zRl-0?gpQ5pjs|)$5o3{HGvJUi0=Rr+()>*1c$zX4X3PRtwOk%knn$t7rk8Eq5Ol?- zdN&}%I-`9nU^_ZPPRC7NL0Hj(O;=B!y8Qj%?2hFVc+691X2pl0Id&1NU3U&qF(qXc zP~p}#Fk25#FK?f~XF<<{Lt^9N6J91JWo75&=H(YuR#n&3*44MRwRd!Obq|k>j(z?z zKEJTIw7jyqw}0^C@aPz9KFYTW69Wqq6B8R7%K;Rb81${e;==|QNu@P$_|3>%aAh7d zMUiWzn^Oqjl`+2?kagX!+K$Zcno-w>kGxg~GOitqL$MgfkJR~PE8C;T+< zLf~C?>e#GGl#^B5PcJJrMSUxg-;P#)dRZwM*mymEnOEESdHGOO*%0O(oS0wN^=0LV zLrmqKtxrf&L4Ei5>hV81LwyyR+;1sv(MEumg0;^jJMko&ZjaG8o#(gAgZDtme-xye zG>uiY9Ooc`=!jGO=>k8WA10$nU^V$%1+s1GpTEC0=?nU(6gVBRA%Ql(WR*&re%7p}s5bu)D)=!91SaW^mzEAp=`u;Fk zn>rh-|Iy;U+4O&ausD-ADRuwu4-T>E`X44gHk-zp{?8GXpd$+s80tG_ojPriY#Kuj z{70c1fHDAG`4(^~8u6CU@1&Fj$QPs`Ljo`9xR1ZijA=Ngj80d@?#kA%(H57ve4LxVG%2&;;yBNr-4!mFO!!qxqZLy6(Y@5t#dSobvCLn4(wdPx{!D##lfzc zZk!_RR>XTnljP0aZc>bICXO04-A3M0XL)#MO+0+2pL*Q26rvr!hmk4pneUi+R{8Ty z*vd1C6mC;3kBoKJ=tUZ7EOx}4n0jwsAM^{s23=4@aSp^03(En!n{$>o_a2V8hOMxa z*X)K%pA!bI)9se8;1}Pl6EmvbawSRs#8G3rNv-o#mUJKm4XMSXV^D+oi-`TRlet9rxh^-w?^UABwuW>n0^wk0b32M+fq`?+*!Y>OMB^c{G*m+&E}qWanfrg-ACTr zLHW115SC6Q2WuRcb0cmrXa`T$I`qYKjUFc1YdKF83GlQQ5w zTdF=2ud#4>G@jc!GZL%+h()<;=el~N#8t(fhSP*M4j-WPR|g-m4T$k!1b@dDjA(5Q zq_uP}MFO34hZ^DQ`K6sR&D?wbOqYW~6rR0!(@>vL$oi^C2S?X|?%qbxGsz&zaQv5T z9(vi27G~+xA4v2}+%ZVZ7~eQmp|-Op>O`bUrn&R4({@aJB=fxf0Wnk77j!kD>lHXM zZP}MQB6QE9&z+Efu(15y=uPgODM567vE^Gggss;f-q#mb#Ps#Vl8*`_Lv*Ml8l4rK zcMYZTygIK;QrwfGn=h3m+Rs=x@&D?}yELj`1?e3+f;WDFd}M0gCg0oNf4%foh@5R! zmev|>xwFTAMIk#rh+SJhEFO}^Fh?KJQE}VR`z}sg@X?;W_l9vYJDwRO-2fS+Co?7- z>_1Wm!osZZgnE~+PM#lC@e@CdpMkKc=oD1qod3xkMT1nHeU0UhU;kZuyMK9XEc`QF}jn`Wp)1Ci;rwMjB_5FjP39_x; zqCG==TkrRgt3`nZl>BY`+?@TEW}bnB>hmtzo1lf%u& zs$*X`YC&K39lt%{Oh`JiLYGV4s8Wos1wC1)Mg}HZ=-rw|V~B2=V2NL1eFm`)^g;LJ z*@YeoRgZKZSS?JbB~^A**AMyX;^Bj{OLWJpNM7jW8J;syc^#;WxY?5A6=um`vfNV+ zoZaPv>2X@$S0%;Ol%Nx}|9zRt6Dcc5PsU6=5=hBy=j5*X`dWM1sOcReE9K?7n*7B% z4MvrsO&Pcr?s1#T5p56M#K&Yw>}ij=#k|z*rP7_{10su~usp|_*UdbUFlNa1%eUu# z6n+ax0ROUz+)Mku5brCx1|M#1uj4(2Nad)A-x_@^O<=D$L9~wqB>V4dn%NuKTeS=& zDsJH8Ew4_0t_^bkA!IRl(*yFRfoM^Tt)cLojB01LS=k7-4^eSYBBLRmFZ1SXZHX3A zjapYSOzK7~&^S4z9YmeIoiYfKwt94o_bTF3h?ro+mnq#)8c(CxA{>%_1)>ERABuBk z#QP_npXSzk{ddrnQB_zI`=ItJF;)0CFEK#dg}15{!Q`_)QsPd z12G4&JzNhL3)j{w8&D=+R*Gm8LmNBaSL;VbN+{^I$-m|+li9ini$2Wz7A4h?n)(>X*V$Uo_>o{H)YQ>3& zH_uIptWP@7%D@YWOXJr>gr}N|YI#4|a3|gla+)6qsjH-uxCAR7a zL*IWHWz>xeDO7qFhP%n2b58wj|F$or^Y-YrvuMC2ho)kc&Zsjj!MFV7&!Wt=GPNQ# z@4O-7RDg}}e*av!dJb{qR5&cmn~F6I?_3M5UQ&6UnPWR4Ik~Z!Ga)4Cs=|>Qt!<<% zwcQ~8bg~8ge0y8;iCtaeou=sbckJ8kf?%Cw6tE47is?r%##sXhyfa4}a; zInCDA>xK1aF_LL21EKWMDvuNjDs)1%o)r2WDTC{d#EG_M4V%^r9M$j-%CcC@Sb7hQ zMHrK>p&6jRT*zj@tXFxz6{II{+b-%yLRpH<`7_@546=SQ3n>hhVS*8tw~us$srRW} z=k=>c`}PMD8u*(t)ZC+OhfAp!UkZwO5s+Ssb5DA?uoXn+=SYeu>zY!p#j`;z2?}Hzca(1e#8oWsU8N4n zNAZ{jb%u#jRePA#^T^3cQq)dB>lv6b(v3|g4a zAC~9^Z_3MxmM)zW#w7d7=r*$Sb;6UoHj73mENAJvtk-OlM5gZH-wjmJdK*L8c+*Jt zHc_<@pK3Aj!|*G%9^sJ51MiwI9OETRO%sB?h#3vEXjhTv`#KziL;?>Uve9&!Jn@a& za7?!O?7)-&Kee};F?#a0CnqpV+~ToK@9kGv7N*Kc#TAjoCCN;QDfZzi3f!|fdMVf8 z@|9U+&e3c5QrD*yqG-m)Fw10X-O!pCuX$-ry|c>@X^*25SnO4}RAt<_Ek$sUVi@6s z?VFggZ`zS8vxlrO$hXy_jh^EXC@S6C5J479PgHbt&fl|}e|1p=F zov)GO58)U^toqf+B<~avO5kYjh+r>#ZKWtZde-w2ezB?z7PfMJZo>7Ug3ZmAXjctY z!^h*<-x3i{n|jvanX-jf-o?e|gu!bE^;KoRo(;B?AQtExGpoaIpY6MUl9w})T|@$q zXorfpY56yTu>6TBo#!qX$JVT!gf}3Hr=Fb$PwA#jMiQ8~88roK z@8f#IGV>x8cDwWqDracKw_A@j1-ot{=nU zQUJ-lQg(G+ZHAZium(fT(t-o*>n)3y*PIhtTbjI?DKX11c7Vqbk$u`zU%MMys=mIw zHCe)DE=tc4?LR1Oag-ADv7xEq5+(;JMuTnjskYE+`n!x7*ba8e3en^ZZfcvXcuIq( zF!_#1qd{f1`AH{3fK&)FBz%T7*!uaPeCX)V$U0DOEZ_pP}+te0Uw$|#I4krsPoc&?Y?3{ z!-W||hn%UFm8++cuNhVwa9p4ZaplP$-1Jn*vTbKO7YlD1ypZSPQx@!%5!5y}E(1T7zJBQbEfr zMdN15%+c?=@1sj;V7%$b3XmE(FG2#5@Zky_;=jP!=0=xgLI**MRy zq&wLemaf*d%x`{Tb}4w0Vb{SiT!M34s1{&*x}nl(7H(!u9ke=H!mTu%_KZ{h91g_ND$|faa1^ymt50&@B97F@?i2a8PnnOcg*W`zPuSE=4Y+a%hEEi2 zw1+8#$WHFq4GmM_!7j^DUVo^aNVzjerLoEy?bqF8KJ-xaASLzer1-aC!4NVD+1ou2 z{?WqISL%)&`nNy!ZGv0cvO>B#`B*}N{KLba<~d~5)vu|Fm#986n3d@`#c2{?yeS@* zBZL{VjIDecq^~p|H%J*-S@KSYkmY4RQE${}(%M z%aC;a#&m9I$?HqBJd|O63cX6ROH*iWi^r#3wbPsFpI#()(fDi98<^95XTR^AQm@!4 zUfozxwQ(YYW@Mz4X|cwnXQ)1I+&7OSPg-4AI&>}beG>UCK~m3$rc!mOjSTh zm~h=KoELt0)zlr|Shu~Vw_BM`Y4C*whb<$wO^G18F{eS9ef8!1McV~k60j4mS<6?q zl`V7Ph3-_k%3fC*Oy+0oEO_?L$twEb#X)p?mr%SUK0aM^M0ZNcYlSh7kOY0TD{Le+ zM9Kbxes-*_9RFeJ_^v13Nd;)R*(LjzTn8Dd{{rw@AVh`k8D zqp+;BO|(Nkb6$GjEH`?VG+-3rFmigiRTn#Vm1YMmWSO9tKGD3(I8jl3L;!2Io^Ep zl(>H4BucLEyzC3JF3DYa`MXgAr02@5Hb(tx|B;fM4W=h-q)`|7yCwaL=edehQgtpa! z;o+(H6_%0es&|+N;y)_U3I}tDL)in=CF`i!pu`5Rb3S!DjJdhTD@_GE;%%Dq4iU#a zcOJ~WAEtAU%K*EEv~gK2E}k*0)T-k1dh}>JeL)rL3z81bw&c3W2)72^SKDbB;RzISLw-ZU@^jG& zPqYM8IWJS$q~jK!=;`UW^iW(+b|z`klF4|gzj5yGM-_eu{tE{@ewyl)$>;3+_%aJ6 zwr}2(tA=J_B+SYz(XiKA^Br95p4A5u(2JkDtz3!8v9^JxN=qagE>gX_@n318#wwaV3H!3O}IwG@O z*h)@D`3-Sj?uhwp@+Pget0J?}&RL`9kL@RQZ}PC8Dw=M!emvpVi}^IP(k}~R=1T_pGJ>L zZs|9sFrAq$t$tc8z`+>eGSOv@w~o`U&ER$#S`Lpk!!X@1>T*zXd zPSlA_9Svi-ZicHknni3Q>)!bCp!&SrQ!IpO%l5wO`cll_a z6}G;9uuw!iyWIG^TwGcK)=FR^U?ctAkzBP3wC zm39Ifw8@Cd!7t1^LTe56m$G0U$}?{HJn233@?N7^w`|=HcO9Xd%HbW#bmN*IwK=oe zwDn4Pqb&qs^L&wy6qlpr-dyrVKqqR}Vr@2hJ-qS8T9>lBY z?+1m4maA(j3cV2O`o!w{78!Ph0haV;g@bfX1M2lB>R8X74PGztd@w^8V5+}8_3o=z zw)8$`jOLkYU)i%Uk|JLpS}tcqteOv+6MuYyyU#&(?x8V`sj+t&S$UUABiBu8DBS=I z{4Ws26CkDiwZ)Rb*Mf}w7;I~;$V*iHoMQ?w2QxwIxby!)C9h%kP_xVEJZck z=tRFx-|sLkb;#O;J)wtWyb}Lfdm7)QNqf>g3oE~*su|rOO?!<_K3G6iU!6czNPGT2<3b_DI-XDOM3h$#T@=$M;iaA+WXEoZK6XAx1BPNA5-oXog+B zDcv!DvtRnFcc`kq9B2uh`GT)fYyK`Icqu*VCesVG?JvACUCczR`Mr;m+8heQRnL;w zPaGDi7D7Ga`>w~neDwB7Rv>xj%zdJYtmMG6?6#))>V!+o(viAKW_dVb&T6o`50Bp* zhc$oUU@KtB3mjF5Bg;ymPF!V-T7}u1I&1cc%0;0^)F^))G!EM6#x0EBFflG^H>8f0 zPQ7*Ho%$JX_ZyLv-_*AG1oxZ{b37{(Mt2>({~%7BG*ia+dKXQ(sLrCJHRXS>H|f^lYeZdh8XZgh88$0L1jH@A+lT;EJy2ZH%yf`)5C5*m4P?^}kRGPUsI1HCk``%H2 z1nw@*`OVCid)-pbcx~eOOB!BJWDoYjrVMFn>ey|ozgs?7aTUD7TvnpRhdw&Q=_*JI zWAUJKBhy(Z<+E8um+8=zm3%beF{sDBo^9iZ)~=R9iQmBl2@FpmlW=$*W=w-wJ@1Kc z>9cxIWBV{c+*XW7^V@3mlwQlVXP=bo`N+0qbumXGyN5PbRXVd0)tq?5#d7m(Fx#nZ z^JbH>hg#Rsu@1@&vuu*?ylmBC&m<00?8N#;IrMyHo3<4HaXNiu=XG7(iri0GuU2Sv zar)_`SxF<`f2&^LBAjn6@g%J?w{KRHM^L!FVAUpfXoX@uo54_G1S@B_P1<)AVF0dmP+Q8 zOx4?LURF)mM;kTV)EPqI%@IO1g_G&;9ABon$Vby!MW-Yc;LRH5@h4H1XFYFmu2*4$ zR8!TJhu?y6?Oq|z&Bf4EV_Ir;7M(SNB4$g2oY{qJ?4FpANd{dPp=HWCSnkx`sOJoH zuz#bSrDNr;@{BQ>SRr*`WMnXMdtg8_c1K+>&>}ZveO>URDm!L+l3Al9M=+mmb-zs{ z=JDv}ck{9eSgterSU8`I+qpkr`HePjXu-Ps`m>D*auJ&R$XJaJ?1{F5#|1rWHnzDT z=>@7n%r@`xVWq2VRoaZ*oly(IOgp+QJoh?kP2WR&cnk8=x4=KML(Bwitm7z&D}QKl z@q1gh*i+}>m*aX%$5tRDf--{P!`|b*Q{ErfH2{G$F@=V5VFKMF%A8bkRqchmXnAky za@XUR4I=yPM4Sf4!N(_>A14NrjVoj?4bB8gzB~7C>U)`T3gTvleg}<6T|# zh#&3Pu$MD9Hb@U)4M-dXs+Cr(bCQ^HKZvvQ@qH``W^SOLZSVfP>-KO=JMm@oh^Qo@ zb3eAa;h|o2&lL?ae0(^4M@|N`P$3NMdAJp92f`tEW>`-NY&q7oRzMfep z)KZ;=a^>4YBrtL!LXZ;A;ZacYWe93l)Hj#H0-4{pQkqqw(2twUFXSRmNkP+BDKGCZ zTQSRvvST$2@hk)l-8?%>+30{xphA*G7P=}~ba5~ z52u&}eZcCMSHu1!{?q&3{?j!%Dp=ZTf+sjf$NM@h)sOoEsj+a~J73(rqw=OYZGc~u zE@{DC=^#u(wfJ#PG#2*73${$I>|8@6{Kyx1U~WU!gMQiqhAcqWpI9+1XZCLsZP>N#YH>4Vi?9>uAT1^EWLilI<^Z zwZWwC5$(15cjKqt7*tdh3BXO+JTN2A+ZFfoRs6E(vWNjUY=A5%SokpQ|B(6imGoH% zpQ>rB+*y~LeXEY8Yf;7z7*#7QhwU`mB9y0Wbfl~L#Q9q8t@{{Uwq+4p90WuvDUz1^ zG>-RYyz4u^>a!cY7QM{(O%fVG?M-m{Xr`a^(OL+nuJlL8q(rx)Zy05XPotzYZsd^4 z-XVKD%+FbZ;d-YGA2@LHZtn3&RW_r1*4O_a>MjX_JKEv20_#<(VV#nrFh*N4{dF_x zV)1i7jvYf9Vz0nho3KW{ax6VI`+~;ecg@dOH8k$KzK#AoTk5he3Rx{(ID%WaFaa9G zD*m4yoxWPHx;wjiMX8{4MFZot)MZZl4?ClE%%88Nnj4Uj0bA#O*tu>+V?lS+U-T=+ z95IY+>10&u8h_j#eceeN(4jeHBql0y>@$2uMEBjKHU2QwLPO0u=DeszDtT3?R8W*W z`{iki4&9FXeoE)HvC-5ueJ#YAzzO9(5RQ?TayEMW>jpzn>SpROIOye0rW2OHdk-W3 z_FW<~V(HG-(n23%|6p>%G>A$?b?CF7)AQ2yh2uK{`sy;C{^+(Lp-;a^Jl53Ot0XrX zp|uLR>u0&mWse__*t*IXw>(z{p4^5Rwr+|Du$kjzD=`yECfqZf9KYFtH5}F6o_mKs zWGg?N*4S2kG?nF88|%%g*x16skIhdZ-~F-^K0Xjmd7n_4m6MZ`l+3Cz?5ts4P)(s$ zK_ebp&ZtvtzoIc%c#WLl6;3bvreDc-G1s_fpTCj<7UsG%YLQeXmHESX1Q0xop8O~A zIR_cvt*c^Q@zgLhhuvWebGqh9Lm1kK9e}3yDNWUFVDIx;;y}a6OoGRf7?X#S#CFiv zF#X^OZ<_BRg>4II-LqC}XC35NoTPKSYd6I1pu$E3E*WMX)u_Q@v*8*;Q&VbmYTVJY>F9W;$v2&f6z2e&_JWaIk~ zp&t_xACh|&OIJn8f0kscD~AfRhjC4tvN%6PsbCPIY!Ia-uOaTJTXK29?&VkeDlMDU z%6&?*U2%U|8d|3}ojkb%#w-Q?x+mC*Uq3AL+ch(`%P_oN6OVP3)g_n}xcZ90P<+bc znQgjHI#pmg+9ML%*FE{ zvo@eImFVMjvvAx?Dde@C+E@xgyC?D^jSU`Mx_Q0GwhBD!-DT9%Lmn?S%LJyv|B|*nNnWl6C>nNmBCCt+VuQ8nJ2d_KHb_SToBq{5AW0MOFgdj zagV=WQ!QWpMV6X{Hg={XljTOH)IJL>ES^WsN{IwYF4f&9!3!f`$t`fp?tWu=^%g!L z7d89TP5QKK*@wDdkV}aJG14)V)7O~9J|AWlZ^hYeabh=bTbWXsWWKVZv}y)dgq86yUB+wnnub zOu;0W!yK4$2mQUY70%va$b1dmm(+dQyeXZ&LubTn{e!%=%7P?)nP1@DNRzYGb1>wJ%%k%c?_LgB`2aw+Nch$IWvL zF`dMBB60&T_daTJK2Dc+=Zng#DEG+-hran?=!sjLsb|sZ(QkPggbq8wNoHR&RU0gm zqxrTJ2%JZKll;WmNln|Z{t3J+Q5qig>c+q`iIwJ63Liv0TqTj6C{~%q7>iVHN8b4Q zDuJ8oYUnes%om30cGV_&Q=(CgFoW?8so`iFqj~j6$tMe1Hbl~AyUDkjLMgADsjd2x zNox=li?6IA=tbai4FA=1+l{_#l%oWvpP?r@va~U>a zBVXF$&7L0TOI!iu(d%3USw24aK8v}1V`&e*{AjjHSQCx*29w$~o8#})8t z^gUTk)nhFHi;aC{<-8zf5Qm+fXVsefVRlF~1WwBEM$ePefX|MGUZ}+B-RoK=JwEV+ zhUh>{-W3i1vcJFK3hDi5!Mg|6{ZFsi)=3?INetrb^TxX|_Khe_@}t?!JnOzQ(|IJI zxg0*5Mz@bB>`QC8HTYQIWfwh(l;-jS)vqcql2?#`!4-+u_h6h=f~C?Y-LcFBM|*4! zWf{(;+{*@Y)b}R0Uq$4VcTAlab?YQw!gfLQRrIqXdg?Z|7tWni0`zIVItkA;EGO(_ zz4o)%q1%$IInP){tht>~)3O%%Q33m;f4!&}b2fwo)FI2MzB{MKKTMIM|MqPG^^Wme z_~Z0K!q(TLCuS7M^QO9*`rq#nz&~$PO&BRC9dy`lJkJUnq+F?y7bjIrZP&iNcGusW zAPkpjh=jE8>wr45f%eyxg^?%Z-&{r;ZZ93(vxLO`Xh#CE#y+nTzynIBuYwJwUhXNb z_XST7p0n&*z7W!&&Y7ALcILv?61CWlJIuOpq08zz^`G0+6eA`uzB@pto0=MF(p35B zzFu>WZSgEjzwxop!+Mq$V`yGaw?pv7*TY%P z)lo4^tg$W1XOHR}c~6`N!2^*zKM9{yPj9$M{pgE`KDxexJ&f;lZn)N&!5nNWBl+3+ zDf#zAK9}P%xf&0tXkikBme~Yn)XLvF@L-IRCR8##P(M0$y!yO9Piwm73^Wl+(VyV$ z4#Vp(b2@dr0v#cEG4e^#1xkw{cy7th;u(~6DTdp*w7T?X^$YXl`_mKlIjUts%SAE> zhDT#dZmOFy97c3EInF}+yQt2zls1_3d$}HVB%U%YsU_DmAAHcbYx6Kh7g`=OG_ttU zg(*`Z5vTvM{~cRaPOf6dY)XmB!-ppHX4$v}mkdr^4NY{|p2ps2w7u7;4DRB-@$#~d zu5XC*j6?#%X*>8hk)<0#C2sekm83&+K02QD85!MwkVSc4OV7g95JrJJm%weA(RMo+ zcB8W_p^e!*<5gwlab<59X_=n+qYqd^Ge)=ycCztr8B+`-6>8f|YHNcRE5lj1u}p&; z6tI={M?MIVee|)Ma8EYH9vR?*AC0einh%W>!M#Kpg>1JGwaY0ADOAe=cyi@kYGa&N zOs0C2JfbM3@EabGPK@kh%+S4wIyI)`GPI0dbl@wo;YcG|5wi7vh|^Orbo62;;q3ZA zPkG)=A; zrK_nw#$Wlrgiz5DZ(zr*GW@tUam_D)ulftVqa#NF`!R>t-MLRPH)q%nrAHqI=?oZF z?lz?SFVfyRsLe21_YF{_K#Nn{DGtR7#hu{pTHGmG2oj)3p|}-y4esu41%eeV4#A2$ z>B-qMci%I6?z#KSoWC=Z$-MLBd)Hde^Ltjc(=BmR3#E!vNkKhU-PjOY;v{sy+gAfa zta0f@ALTDC+K#h5*{X@rJ$Jz@kg}121)jgiD>mU5;J)vHryhq5oiLaq+IG3VEiz_8|wdV=U--|!VXDDE?!Uu^o zDm}MJQ}YkUG`F0}Rm)D@4P+?2c+#_Kt5n6a1E;Tc<|@B6$Al^s0RTJCkGRQ7Z$1P8 zKig!_(qF`_x{4HAc`8r_5p;}Cf8jqO-qlZa$4(&~sd;SJQ;oHt%=uO_c32RpygNX~ zL*|M5(>Ca3O{bPKK3o>UxQ)HPnTP~f^PBM{fl40^sFmgO zCralO0?7plAFX-BxI5`k+?sc$Evwh7McKm4(|gf7_dc0hNyN`0v6_T!z)%`)rn&VK zA1i<`qFm^mRM7Ak`_TTe(DKO)Y1RyJKC?KTaNOkWa}3*@z>@c>KaN-1FPb1sXdZXz zq`$bu{67Hj%VCuF&#|+qzokhw*ZYhgtA|Rm2A6>>IT57P)hYyct=s9~ zb1?=Jr~@Uro^q{3CQe14DEKM{}%z zBQM`K%aRrnFCsXOg~qQ&h zJrcYGWE%CD+h}RPA=gGicVq&OaSH5NV$7=}?&J9`PQ_^~(J5v#0Q4ZAgXe&n;Mh8? zRnw^I!aiD$8TpJ<{zTvkPk!Ib9aY({lGvj+edfMQaj@%K`ex1Xl1`S`kQV1s!<0k$ z`)HAXm!-r~mUkZhp6_n~NgEv>Lf;R@Ncyx~-})G~Jh$UeQ>pD?c@m|_pKZ9(N6g|J z&>SCABbwykn?EhNQBc}hAI$(M#h39~0#qRbVZq9oCE&aDQ@&Du% zAR%yfz9TUqwfOj8LUOLQa%1lLh6Se;Qgg&H$fYKuQmgvjVfanq`TF8(?1Aav^N1fH zc9STMxZlR6zs$XdqP-*n#ShLRi{;JDy>axl4q8-<1^sn6(ZU^89+Mf>!PsGz;mp_< z9LCVm+{P$D>&Hi~GosroyETCYl^%x%9uwX=rVu*qg{*U(Yo^HF@)50Ek-x&WTnw2x ze?fGO5&#O5-{;yIsSa)^L1TH-G6&q3ytc0E9ZH?I%b&7TZ8~?FuOFCy3E=3Ebx3l4 zrB5x)WR%NvB^Bn?(HUSb7I8<%9DhU;Ug9)6F^V>FIc5+Orm==@eZvft!IwpDB8@>_ zY(h0|ne6z=?dG-PH-#45|(`|X?NxPiKM6N_{lQK)~jPz!C&nrCa&QCne7 zcXu#;i*Sx1s1h+O^Wx*X;uIiB8~?1_c#=3mslpJ{9*Nf#UiyKosDS`b4PXer8Y|6* zK)(fzNZA?s{L%jSr_4T;&(N)xsD|vDVGakv;pU_3+=+_MNk9xs(La4}*cC3##YQ;N z5T#%fLo?F%EREm9E#j7*XJc&;6_2S#-K)uwBqfk0I&vzeb4~ap#2Z4~nxwN z?&5Z7gZs>amUAUnLSe;f^37-3vMH@EJ9EVzJoil} zh{Pdq({6mSoLg#gOhS^KVZl3;9P_c<8HJPFGZq<7QChwNj3CsX}^ub)wK@E*b$ALZIpzCjiv#k(PazT zpT*680O^x&X|7u#P?-ct1}bq|sWZ)$($=nU85_(}I9J8&k%;cZh7YDn$8s8f_Ff2c z;rQ&FPrb@ch+Mp45&dFyqs*&%ZIS3j_fCp0>t~EgrMb>++-k;Oy_cx`(W~By1z2+~ z*+Qm1_XMdRkq-NSd|xVZQ-sV8glYo4ta+_(!}RX%%u~ri)KGQ5QvIMOE-fy1BN-i1 zj?bK%tW)lzkMVhTt1KX_^zcf!(q`4|(hFTue9o*NAxcLjs(?PmLXY}HRO-#j5NiVh z>d5B7l0CQ-d`!Q6t3`EH({Ah_br8x;{3;o*#3Pcki z(qMI<80@R1Xt`XxE*jC>5=gHeO*9p?t5Ox$>0f-=$nRbQ^lvyjKWHC3=ZYokMAH@~ z0tXf*@FXhO-B8tMMtnEFjUU=T%HkOUzm@C6ocYN8c$_GMRfBUC8K_GFOE^Fr0}RA~D;Wc_|&Wk#NEadAo82UR27?suOe6oubuuK!G#8@-HR ztb9RoQGNO=#Vgs=5tU~1=)%{e5;W z0VUt4eS{*3WYUg5SHoPP>GXtWu4^*f@uyAlLsr&5Kt;q)sXlDoGTIi2Ivm;o>U~&u z+cokD>_{%1KDzd8Kci9okqkx|gxzV}1t_q!i(0-a^#yX4p!9 zj{_4+`+*+Ar$9J6;Y+PFIqUl>$i$LN5H+spf)k?z?3#A@0L{$?aeC8a?L_PyzylLM z2}J^cJ3c$#hsYX3$y-jt)x{FoUCJ#WB@?dYR7?FoE{LX7g*ei`3rUs;!cAx($7~E= zb#=sOt-a-u$Rxr)vKk~95|;a|5x+>S`SHgJ_TJa~_beQ%om2fVmA@LL=DGo0=Tv8x z{Lo}xY`$U3Rx@|;vX?9ia&}ySFARPsXKFctq0ZGA){wa!(yuMq6GhSxnR387Acqu` zipDq<0F~D5B|QBgRF<5OpC|4LhZ^^BB)Q$7J=w^A0OcNvu%Mo~u8*K|@UA%QWbO7$ zq+8U50db@pGY*<>7pDGP4ffo4dfmj0BDQ?|dHhlS4^TCI;$0cm20=QfN4uc$h& zw28KjKY6fEzh5I}p3&KJV-}JuCIoo#awBOIt&;rEDY*r;6w6m*zqFYc_d{`q&rn)=(HS@@6xqCb z$0>%->WO+P86=oUyf5bS=TmN)#lGnLFjQu%AT(q~1|q57PyL<`l`?a{Xz*HY&EG?>cK2jo}(@6>+a{U-Toqb!?kw?7lTbRSv~d)5=YM z?bq*dist1h+Jt&f6*4g~`Lge-Da5Hr*m0sNva*hJ8sB>_*fB{Gm?3&v)od?%Rk1wW(M%6!eqFD&n)4Bfm^iD@=H1duk@NyG|aYvkuu z!<1!oAI7&%n2yZGi-bD6+WWuO^$HGSwOe~DG9ACAH9{W@)0`r0b__kkd`;o=02cB! z--(kw*roP66$@VBv8|7jO{fVcs|*}l{nZGaXsstq$Z}uQ8^OxZ8|=RrUC`)MtQXE# z;=<qFY5X?Vhn#!7UoDh})Jr&bH@@Pn{P-vjZ zF@`0&P^9XFEU#(-OK-G;Q_=Ob4e}a#F(vM_%0!60jkg>A=ujd_AA>xZF_NP`j<00P z>8+ni7V$@oSIyDtIA)q^=}Zg{Idys-J)Ik_wmm(WCTlU8{@oI9G4noao4-v=d$wHC zkypb{G?mB;0(KDXecy?L-P7l~OuN%b(^CY`5jTf#TScNN91V91d;Q1@p2Baej?$X2 z8%WW2k`}5jS8xy)&#i$DlkcByj$0L#;u z2FK@cuW)5N55*N>=Z=`1d?9K}YoZ<^vAgpZ*VHZL1sk~E0i{xb0^YmLb47$Rqw|-v zS6ZWRLj_o;XS}Sm2E~jTVREjs(xCx;t_;n+jP-<{YUFkqL33*a(!SsxaCDlQeqYEN zxTN7ToZcm$`<6a9?`m7fX+1!v_DKqDP2aw!tz$8jD3QIJaU0fD-zJk zJ1S2{8XuUanuv?sVbrnST5njJI@ZlxL`3)`3NC6q>^}Rocv4|f9(Cx?Gi)dM`$1tqg62S$6v|<#mf% z5HNnUrS86)UZop}E;IlKZ$rx0!$^v(nq0P16+hcM#cRo#?4%s2qny6B#TbB{?~wbWvrNggBIYDcftl#ssi<|hnqCdCn<){G$QTH#=6wcKD2Jf#V{^d))Vwv$eFR8&s|>i9%>;BWetyu>GrjP=gS|@Up7qL?ufiNNvBlX#*f%P z&Gd#^CDiy)(q>P4t$j_$Zb_n~QWQkmlN^Av4y7i&vSQfXEnu32!RS*Uy{#9mauto4%Ua)#y-w22~Q?5(_ex!3;yoNT$u51vMXMCkmb zk3G2xhP~rOv5JvDuX4**+YyR0{>n}LcAWR~O+V80Bv&jg^7O#b5eu{CP1Igo zz?R&-UU38e(NuT;C(8d{n(F_arwnuw;}J}=6rq&bIXMzD}&)EwL|K98fsQC;oK6n+NXDr}dV zuPli!vOxF;A)OfXc?y2-0{s2flFnY*ZPtz6G1B}5omQddmApU~(wXfwJo|w(k$AG* z(MT`qe?R&;yLu5Qna^Xs)^sosCF)!jrQS9Zx;UnNpkGhN8gcHZV&Z#+&7M0a*=KbV zx8=g7N=erBa+zCJE2~3&CJr=(B7@s;oik))iYpck6)059bfLV;_#Dz z!Sg(5OD>U4-@@q#Pi5Qo)RlNGHul@PpP)ZAZ9m*H;LkDgn1x$0 zXj07ARDn(oBkzN_ON(tiC5o4S0|?`hT*t0q4BsAFnxNyzb(=z5QOLh4RCjiT_+CU8 zZQ8q2OCT(-Ku|r4up;iN;*`%EeU^kOj#yt@Pq2Fa3R(KhhWUWwy%;aM`>_+oSbe|U zBJ4mvD8R7T&@f9yIv zZQbGFCvrGI1R1;*lK>?J?}Iuf6F5sjT=#(zZcMv8AhMkmVe(>c6*+`oRr%Qu6xAp# z_ReW;L2IDx?hOa~EVtm1VOlXsrKmQcVg!o`ZdhnAtRO@7^Jzd=OY}v-@SKUZy)2WM z)x7##oR`#2%b+NMiHq{9V3W^HfQW?Nya!x2vqS58ejm#M)a8EwriMRsU$xT$A-}c# z{G7B#sMx6ELwZ<<#l8`#yo*IriJzR`J?7B~(k8X7%&@)ejGovbR_8P|Y*?NDx|(U1&BE z5%CRRB8I}WbLHc;q<_4_-8f{L+HgJm#z&juU{EB=G^g**LSMW$*Rv4@$m@5qjG)>1MWRd{K-E zF8c7PgawX3?&}t?v^mgx;2Y`C3k7x?nV3`uh_2QA*2+iP*C|8Gh4=}MxQ2|oN#;9I zdC+bNgwav&^x=BOL74lJ0bKE7YQnd8pTk0DhcFF0b2m4u;p4Z&m(g~r(ID}M?cY5< zxzk98*C4_3pW7>wt@)=Xia1=amG1XqfxGwsB%RO^rg%DrRJ?FIc*b)21V}rHxeTM` zCuTtFKY;CJsqCEf7x04GjaCt=vuTXyU*bf@4uJOItM40U?a8kak(X-4jb0>g?FnTv zzU{%M?{Q?41fj1f#J76}auVH-JeZZZS;VUOger!uz*-R^lpqQKdcX}u=SDRExVWWMu6M<0;wOXIcg$Lco5?DW#d5d z-18wWiHUL+>q$E>(GT##=;Py*9%4!R(SP>9X7gC{YX6r&I{ib-Ddlvl(6RZM$v5ec zwU?NMsvcn+yA$QrV#WP1V&ph-op!h1EbkTlt6i(yiTKhT-j^$svp@!Qc=8o(+n+vA zeWGWYq`nopEeIw0luzAKrEqS<)v)`X@MbL zS}mnMD$+~Q0sHiGm5wsVu|R8CluNd=!m&19z4w73|I?>CG#SBEaTJ_$pA_$&%adA62k2pJ#fAYta*M zncA@J`V7=^L_p%T0W2}f&MGJoTL>X)c`k>x%829m`1bKy#5D?{lA@4XJSEXcM2M%o zeR;lXpRko!L5+a>J%I6uuZyzr*{7)B?*$mGT9f#C!fT1_hIAaGOgHFKM#41Q3wXu+ zBKOD0-RTp0uJx=5cfqK~Oo$QDTf+~IBPWNz<2Tuy9$bJF6qEiix1!+3;99w@8tcs$ z=aXE-bY}yfaK_VbBGbskIOI48)WlhToK`nKf7!%}>XY~(ktLSjKHnOBxPmm}x<~3w zV@_bz8QHo3FMa)eM2zDtxMBXG(K!;Cc193f@!)CqL0=04H&jd^gg#t9E~_k7$QbmB zrX}uFK2zdAvn26Nuj!GpHXb4eXDIjTZCE^K(g5ESc;RyF5WGw&nmJ(!5fIy~EL>SN zqS&hNNN+F78`e~8eC*9BPb`MGQ++BpSJx`KVNYT&CkXN^bT11ldPT6e?|%pmDg0DH z-Cr7~>sT|dzlmB@EJ=-1y3+fFK?8l;+-*i@nVL^%r!-8i{~oc<8gim?Z|#G&U!EUj zhN{FT`F_a4=w6e?9dU!3L({?Yo6WzmT=;pwgxMsKCF3Vf@T>zl-v zWM`khh$mKQq0v-F&$2@4EqlOsEsvF3U`%zN0}8A>z5XP?F~h$T(FjC^kG1{PEFR%r zgJ;X75#ZHKjQ4CFIvA2U$%!S#Aw`!I<`^vr>xkNJ*Y zfStD;))|;474*7;d5c-f|tYK+{X%N{QdJKNO5U=pJZjLSbqR_K=UVS#@-^-FU zB%|^*+Y3j<>cudB#-`qj*%sx8OZ*B|@gul2|AS{@RVtG`Iww;U8kAnwm!Cb*enV7^ zQanKcN`X(rsWM8nI2>x9x2g7oQlz@oge=kudWOwdr{ORfDiZP4=Ry!Btc=$TYy^W| z@S+i?tX@)!Pm~nVs+XqNtKH}}!B|pcK|g;QQZp87 zft7H$B6BD|B4^N2g>rbiM@tAWq)Dm=;WRwxiHq|d3SO(Z%SU+_BL4A~dy+FAxiJwb z)~+nItamo^?LThcTRlUKC7h>t8#&x=e+*gMM>U)X`pqvTU6vd;w-?G;KeOU|OM1OXBL~=RkSJ}l8X8H$+8wNej{>L>q{rIEoKSsgYJm~7c zO`#uu*IoZJOKuDf`v)k^y;kdb2n_J6`EO`#nOkv7r|!bvtC{tF1j0(qw>GoGW68g) zA>UtGHBtpxSZLX+jFQK6fXUa%u;a3_1bS1W^%NysLaUn->>Nt_@;~Cdetx@5W4>^O zCTrD!yj9j!*PV@}GKZ90+pY47eFG~47CJ-a5~VLfoo&8mXXVGyNt&e(6jlUj7W(SU z2y*#)nIBfcFWnNTVtHp{RQl!qrF28T2r_;PR^2KAVH)qr@@mPaY*4DY<4xKWeO4Yb zij(D?EebPMQKT=E2QA5vduu^wBr{4!KfAX+PZ|K(2vFk7#^tPP3^qr!K6n2@D@%bj z;J4q?M?=uUG$cbqx{ufKyHA!Ie+v}#I<40cU!3_{BQJbsb+m()VyQ8mk<^huDx(ds zOO$ZTG`JEo7|L?I8ZYT3cXaM3ylRV<<_f?aPg>h+!_hr zr?m92XFfCAh2{=eLI%f_4IO5vDu11YO9auSZmcI$QK(4ogU8_0QrWqVZ#DP#{Cpt) z071DwCvL9^w4f8^Rz~3n`dq&aTfv#E>YA=MM6CIi%BD(^5_{o|r1Jmt?JX6OAv8VE}`KshpCgf*H%jGHzyox30PeG4M z+E$0QZ`lp{(XQiNme7Cmf?Iu2m`72b`Hm#_erQKU1XqD=f9ggo8VT@rmK2OQPdYuY zj+Yp+ekRnMw8>yzBuz~Ctl;2aRiId$Y7@qxhPOl;`{5To)(?BiT44uwAB4nflOrvv zIJ-W82{>IZX(X%?)P6uRyMOkrnlI7p(BA72@;l4`{Nv|iIdNQ- zUC6V$I_aFpH)WmF9I!hcQKb{rE);_7fxpNLoV)#acc~{Z55+q_v4G~P3e1{^Ez4+% z2k3UJ3`~XC#om#y)OC1=4x!^oM9CNZbi8z`bL#BgS3utQi?a9VmKzU1N!n#raWwsr z@HP8E*$u6BxpPV(Lvq(3l0n;lj7ob8nrn5l0X<#=shii%aws=HO%6$h3qAIaVOOc2 z9c$=Y8vLkWrQx8h{dnW|zI)B}?h|4@nDs@Y7leuVmh$z-^$OROf^#R1pc-Nkg&U?w zm=>Q?2@&rYyDK*Hd#~5Ke6cpExTO-ZSBkMtd@o|nJ&o2)Xs3DT&w?;tB#iPYw7}^b z+Y*OhG6lN~=J5|4W&Ekmoa2v@9z1-pK#SKj2*I+woR#%MfT;NN0zXpkuIFN9MhPUc zauO~Zb|N)QU~FGmXC%AhtV@IC&H?u3=7uH@3AqkYPLhjd^DgL3VFk0<`7(Y#{Oa`- zx5m0*g_p-IXDA%PhdXE%BHBTLiNv;d0E16cr6pSUT!I+JG zck>IF4loB#Uij0Xl`JncM`z!*>-#tjOnP<^1umzGUQDW2{uOZL3lTQcretTg53iEU zKKShC^oYlABUC|8&;36e_+sE1M?J?gd*sRAhpSWa@el_a+HX_*A_k($)l1ePT`8O> z#nttHJlg6sP@w^Ge+<8xm(^^2VtHN?>mpt|omm^(Syi~c+jTRJ;Cq%vfI+NOh7G z>s9FQ*H@MAqG&QoE}M(kkrONX*8u2jy8QGa;{Ae)-;7KIW@Z60ZaF4&c?I3imKWZgE!7+jgU{!ZX$Ua`s8N z;vdc4413kRX3&y@-vcg4Vfm)WTVPhU8>+wN{{S5{KAE4;uT;C6`TqgVh5jFxF_9PQ ze*j7UZ=~vf1(N=^a5Jof<-f@-*GCDuMdHWmWdmO60(0Jb| z$K0p(hH$b@Q{j8iq&=&>R}^r4HitoyoVDGNEcvE7{%V#oQ@NwUb?@k7wFlX(i=^(& z!aUT12S1L_7u&{w^@86sJ&NpiGNjn}%kfNr%UVdM2D%CY)=f0MVzqYHdT2@94Raf}+Y_C=)-3C24;Ygx|WC?RhW z>l~RVLJoQgoSQGyVrAl8Uwh0BI?#pNKobHTEuyBT1-2$r?NA5smWB$M+yIKac11!| zHL!|ojOUvIHQqZv;P+~-cv@hr8UfrT)X#g0t~T)y6D17&S$zNS&B%@mk|UAEmw?wE zmPOoYN6e>g58_L)qVZE43St3RdEv>_p`J9`b>J^Ehe}ALw|~^<{7fIoB`L_=iUI_0 z4cObgY(*&~F`W4jDJiQnU6DhxmUIs7ZI-2YfG#j*7RgJH%-hqUjVovHNzCPj~ zfV~=I?BvvQ`P1WFZR}+?9`i)C<-Poa$H6T$OYNt0Osssmmz-2T`mozWH1#=wakOpz zD*vUPugjxich?~W2l20!o9p@OPp1O}yn414p+`I}9D}u5OZ&rZYEdBxEN*;dD;7aP zYPFM@PQ=GIMw8Ly$}&9!;F3#?=xCh7hikSF`1Te&*E(8(1KbP_7JNpTJcv;OD~(z# z2krt0>*@Ys_V{z63Frmb!D%6pW0cyn~SB^KL<+7&b$ z)+cU%C7vxLy4uX9WT3Kl9e&_eZSowKlh7w$EJO-H0XCj9<8jeSnytis@ZxD@AdHon z*AD4~tOeiD$Fe$be8Q zBDz4mdr<6sO{?!pp76_j+?#Zb6~XOP6Dfgoitd)Q<`yF)7~ni$J{y1_M(sopRT$9| zXn~)5(P!s`(#_C?DR_f!_qD=H-Q6qN_XU#H4C$CA2w30*g}D0K8cI?5p{DHV@ir7`erc; zyk>ck{p@hytkP%DRRm;>4>S=w($=ev{e*u^l2cjfi#tsK3$fV#TgGSCJ#Vzk=N{?I zz`VJgM)Jg}H$hKHmjknk9{Q5QU}c4;C4KvB>a%lo`0AHa_E1xz@vqS;@(85zqMz7v z4b$?33;3#a10p|mOMS=duvlJSTPK%MOViwYhRbm}69mwH2x86&~y55%o9Q*09r2u?@KugO4o4knl!gIviB;YP`1YOVc)s^^oHpB6& z#)G3iEs6QJwRwPEhqfC98tkcF3Z$DopkcE+cma+CC1!XlhckT7q?a7%9e;E7@D75v2IX#tHmsN&znV+%5MZ6%{D6f+~O^l-a0n4+S)l?u}oE3V*dXCe3*Zd;xdoLdder9#X?8s4NLoo zs|J2wa^;XYrNV$E+C!Tn&rr)AZ~iY0<8#{VZgUxuPIPCMh^`e~CCL=>dr52I9{_E@ zlE>w9Mxt@QhL$`#?v4Xpjt^~FqR^HWsv}v9_?I*Oq8Ro>j&>7ENlKddnH1(*J4u;jlMh)w*^7oi@SX z`CFt7Gm}8XB?J#%zu$}1*m!8aIQ{qoRG?)Xqd@_RK`SXG7RQWAf=K|Y)e_02JML_b z9X2L@eJ+YhWOCA_eiL6-K41>pLB>O+eOaH% zz*37E(NeTA*!UU`>k8JmSLi~bz;85zb3>KlmICmJsXcvB9COgeWA)Hb;PYwuXH(fyGc3{tfTR> zKNBV+$AD@46tTa32>2$-8a2Q8>F;j&GqYfz^z^CVq5rCfZ~LIF1>m~NBdF@&X!WekATs2Nj+s6QLv`KH-=4C+~4srlc1RyA4V^t9_x zmFml(>^hlRxTWVDFE~9i1!*KDV9w4-A7WTrk^8=Ut=Jdj_32`N3zF~}B>#ej|j*ZfsX**hj^ z-pXTF2if;|vUtfW3bv8B2NC$MjD+;xQQ9A9;D2rcO%y}yLQ*m36f|$J86+w&f<%QP zS7;p3IlgF#&n9EJsdL&NMtXG4dSmd><}`#U69nb z(^W0M7W^53NS6WbW(ToJl-sS&M-?y1oZWXvgvI^mUPIy{bK#PZ2hVqU^JmWKA4=D? ztMuZmwZ91{eU04lWz^0oq93P?_30H#t`|i8T{SgjN&Iz3rO+<-7wlE#r2|Zd({_MIDcVHRJzjXli|fG(#2?Ouc4+xX{aha?1iJHvg<8_^7B2`@8AHj znp3|&VGLHohuXotkC<8y2p*%8DP|s+h^DnK=CySkcXfkYpbx<-oYxzTjwUhFSK@$I z>vPOEwNZdoIZ;^nx8H#Bt@)vTYQV<~IRg^B3JuoIs{&zTK3dT&|?5k_pwthz^dDhDMhe1@3%GGCv^6T$F=EY_P)!{DZdU85s90it=@^cndua zIw`(`=;xTsOqH#Hl|vSeghz&xs+^SqOX`rk(k#SBg9<0Ei^4Yo|GyL|A2nOIFPJ;v zAp2L`cOwB;PtkWqXHM0uCS7Zp0_5#20`{UDYT*PTzR31<*U(v12%*p38#PK93&X{v znWA?By2O~MefIAiyz?pm{xFTWU!|j-Uz?o#QZKgoiyUgpCfcAW*J$CTCnQ&;GA-1I zNO8djgE<9_x^BZ~j+JC`C|z>=Et82=OBgX``l1HKgVSGqTkK`l3^&R(4m9^y7H<6SI7};0YI&P>v$S38zV;Isyfz-+}9+E^l1gJf<*P5BegMYm%7n0s~ zxWUo5{%U%9*0k)i9^ABFGPp&Pa&%=dS>p^&brGG;tV*rmZ*SoMpYQP-P^8GJC@&)A zNTd72pP*>_7$#J#A@dI#RManc3!nhPnth1U;QE#K3{+jt6PP`+x@jYQVJ;+inGNXri3=DC;q`)5$E&=^LkXt;ntVZiHT=QU`WX;zqxFW;Ln;f z_k}?p7{iD@wU3l*BVU@zwNzvZ^Z@ID(m=OEocjQA&KeZicTUJfz6lTJ;AHr;SPpE9 zQyQ&}=3Po`IrZ_8tz#X-H?T8rP`kb4p^z2@<9CY%rs;eESJiW&cHB>M=6U3%2qt>z zV)|Na%%!Y9^qQ_-Pmw|^{{Sf+uac)RN(wnx2^1-$vLL@8&D?X3^SR?Y#6apGU#GIz zGts|CEWA=~I~=5?`b&Kbw+$8Gg`uB$ReTbbv4j#gUH_?Syw$;+O8n^Zk`lwbO;@VD zLG1?I0L`UtGoMF)O=E&RKHic@%nrY zTFx`8vWF~5V}hY)5|vpLn^$Ks;ZA6H=UR%gs)UE6!u#CrGfq;w5O)JE^TJmS_Kq%O ztxp!c^bT&iaG1BiX>^x0@>Og*0;ly{<*Xt?iHJY)m90`CYkaGnQU5Y$x(2zF=(PB@(hM zk$=oqB6(Ak2(VH?mb8Ay6nt}Q?@}T)e+dsDTCa`fkS9Yx3zsk)k%pdlVD%8j!WXZK zc#@LLBtLxpOrsZ=LCiY^DsX)^Ey1UGwgE(r^at(18!9aYT7wjm-B^BP^|HTZY$0VP zd+FNoUXbvnu*h~;G>cO#;6d+XCyt9XVS%hZb;eE(_+UF7?x<#{7hw`JbJ?G^a<4@z ztw+P7wIGi$kFe3J71uBd4`ZTQ?S=u&Hl{L~tW1{yeWd&daZh}81X8v0hFeRMdsI+e zWb9f*Fz{ExC+8FuO5VNZ6u+6#Dh~A#?FLNyv)M_{dK3~p`_x}iVNLFpvi)V%`)@hU zw(*C8%?7*mMZk236vy`MaSj|Wd#{Zkc>Te+# z0X-%OrFF=g>2?w#ZZ8432IIBAJ1gzV`IG~v@g(8$dCf2vn{|#YLJoFQLC}qH$(wrod8%cY9HiciU6C>2prNs7|%yi2kY&$w4~C zs0W-XLM;$h{lD|LF0Jg>;6zkb{kV$3Trf%*b*;6*Mxt2;waHq2&ZI!zc4PWZl^3MM7W=1p{e%fcusKO zr1HX9d*eLqcHHD+fDggYv=-5EoRgY;4R{v9%v+#`s8Ew|E?Z7m_r_e*!d~?5f>OWs z>9~s45S|#RJ7hR_wY$wX@K8e)jRQs3v1IrLPby$qYWpAurM6;*iTt#OWJCChUg=Bl zbAC@MlYx$`Ns}0k=j*EALOX{$)y48ZmxHt9g>-+{a&}8mjdHKRW-jUbbm3a6Nw}}8 z(B+>Totn5VkLZa%;u-*DFvr#c@_wbN~1 z%j%e*D%M97)sAp;$Rc4zqG*Qm2o__y?eN zytXSwmo@zWn$IZ=^Fd+V(8oe?r&7XgZo8oZbj2~?_?5lF#c*lFQlHWG%pYDcFG6yc z{K(BycVoIJfV{o)XtrWt{7sEB+PRRO6%C}X&Wpv-n5cvmd~*|kaj<|8J$FtCqp|b~ z9lh8j)x=VNFGKlWC1O#1YR<&vn(FNudbrgRD*+$Ou6Gecp2BS7YP=dq1B6t9YBymF zwM|3Gf#PB_qj|Zi(S;Uoaehj13cF*hh_BO`C{We}XvA2zz5lPy_MK`4rreFU^=Uge$S?w zYZR~IgLt<=xxls;%mwmv4^{{vW__PkcJH`dG+X~>rOc6H>l zZa9OUP4uf6`bXVx58y}lgQ$LGEeBlFJk<1>wH2|1N%yf68MpvPS!7+iz>H<(B(YP^ zFtId(gg_*CK-w(=ZM$x+-m!QIg|~>}yduKLcU8p;(^pIUBCw06c_%S@^7Fj(`@FHe zHoFyIY#u+6{^a?7E>&r=84zIDoAe^OP_@KQM1}5%ov1GqP)*0($3n4M~Wd;#rUuMjhDV*Wcw6yvZ{#7#6t$^NKOM}=wd2kSQHQcHb@D!) zLz^1a@&;Yi5`okWhhh}I2G!6 zG@CyQaj8w=ira%TS@7LwIWur<`GZ_$=q+i7=Q4aDF9IC5f*kygmAqAcB&mHwDm>xP z0Rw^?y3lap_e;#Ns-UQvaCIH|yI&wwmgAsz=4NOaEI$B(*w5ke)ty%|zkgmr_e1fy z_mZ^{5&nAfq;p(n+hW#OBBK2 zUP2^K;u;$8R4vVgqNk-Prv|rF*Ygh5IVX-AR5;)91msk?-Ek94+B*zOZ1e_sZXro+!i2c@Fdln$#gpFsB}meLDTijk%ob zr`P%}-oA3J9^J4?u1*wI7ip-EJ~oq(L*2R2AC;ida=B91D&PVOkQll@;UBwx;kkSo zQF$HFdn{^9l-l4-dEq*_s$ThEd4dX}?~rvS}=$7A|Vh#nsmeK3&koqz>fp{-?I!SWZ$R!_7Tb% z-;0rG;&VhiVkIvVPd3VlA#x5{eEbP%(7ymp+E!OsovuZkZ_ogf+a%|zc#2-LaJA=I z!M!823jFf+!J>nZ8gX2$HA^X^Ey)cG3AOV%mES)a+!q>kI=xc@i(4o#MGtCd{`mw( zWPt-UHKc@WOQ=CjdY*7|WsJ}eEEv1E(nqXaJqL2`2UeY_ztKWKZYMtT2)(MAwc20@ z#Xxd|G}}P$+DUL+L_bq&uaX56tX%Mqn2ZsdUxM=rm=7`Fp&D|M2Qa|B&L)-4pecDW z@z3S3bpNDs=Bm;@%!oLzp$`?r-gfrght<82mM=9g8Gi}Bd_RNXL6UXrp$&@eM$Yva zS8=n-xqjo30dNP3Gm5mhkk5r6Ks9^8 ztrQR0c@^S`T>O?XyOEg`-kTl?gHD%RO4*jY5OlI&BD~{*cfh)ufDE&XY}Ubm52zG}e#ns*4?@F>-p+vvLhzQ7Rx< zwNon<$uP7E@g0&2`53QR$u^We)oCxIPMq;gXtr(kRIt07aP1$HF7bq`fneb@B^A%d z)9_-LeG&|X{;FAg#;!?QP)#B0DPm`Xsn&-K@N#rW$Ghb2!>XMX6|A8sbPfT=n+qt2Y}e)&E(K%5wkJaqA1|lWy8`^|{I} z&u?}o_YB=%W?s}u$*FTu@hJNFSujYwiNN5S_$kRPPyKCqMm^F}e6jLv{@*KFTFbP4 zagluEa$_2Ipr-UnX=AP2&BN-I-hosnZ=_M$=IiFSwXmQ-_-1gPw`~(dM<>z1{+AiqulVgg9$y)%Y>};(lU)D(~sR` zm{#{j>DCe?bSkjh5=rIPZN9eTHdenFdgQ$P{O59E>6^M6v=cpgc2uW=-nq+zvQjXm zeBLdkUQe`7AGd;CucQ-`22;YBM+#ov^DXk;RxEw}L)zoMT7ukSyJc|_If#&XLgd02 zm6($FuK~)+)m{9yo)unok&AXKsE)buG&Q~pI?DNfc|Ui}#w#HPQK-Zn>LtSU!Nc<< zsUj9ix2u}em4$H0-lyB`{T=j!>4ukXL!<+i z*<+4_Wm@89Pk~BYq6qL*+d%!@ zb$(tPR%V_JL_*~Pa{k_=sie%PN_R^!%g1*2Qo`gSC&OnV&u8>sQ7EHy3J3bmQHfFd z!Zm*8E~lunx&Epig8s3GxHZ$U$x?(&bq#}L?I#B-y!k?_`K{k7z%-;dZHWdwg8bdR@>jp$xgCqK9=no?`-(D<+7adh9hXuHj%(MzW@ zem@4VlY8RHf4I8jXI_P06T3D-35AomfR|rcD*oNtwZh?f77z)MVy;Y58k_B)%*}yG zBu#SF2PAs)06XSRM#ko)>8p!*XI7R9!__75xt79f$}#wK#$}ebd`}j zR|tnS;T;k9GZU3g&@`-~?uTGVB=smoCKVns5qBuqZANSJ!+r(L-d9BY%U4swqS-RQmHb4$k zRq2~b#&~)`3Luq9n3A)*J4T!djYdre_pb){1!|}=>I-iBj5f(`1^VS~bYb7@!@i37 z?2c@Hy~i1-FUL6*^;#(Vk1t<~2BcMwwdIuTAhR@x3FFhwA0~VTqON`XZZtH)l}N`} z$K8Ro9@$GAtPxAeB3;DxXS)kVpt{Gf+r&k&3vtTK5b+lkE-Y?v@ZG$Xb+TmO9c&HI zPjW&*mM3a=8u^H$1nRrPr}kktaV?U7t10L9o(`nc2G>YybVlXIA`dt)tUI!I8u(#% zt7G%Wo@k`04QJ->!1(RrEy4M(_{AkBYKp|Fgr{5hFDh`P;q{cl$LK}SKILZrYt&}e zYY3Vs=oOr2?r~BWCDMG4!HVXcqP*Ag={@-1{n*Mk}s#2t3Pfr0Dsg-z}aP&=3S z2{i_~{JvF?B`EZ{6rzHNZFCZ4^^H(u?*Wmc1>Y&;8hZf7%`5k3(UW|M9O*D{2kwXE z6zs!fiELvw9SxECU2W2)uTYjypioOc=jSo#?iXZ2u0mM?3!q>b%jA97VbCrpdS%3% z8qYL1j^`|Zi;^r=8&2Ln>`#E%4rA|@_U;N!sL@Z3mUTXW=4=I#;5q|!z!<&rs~oVA zgKx6f=>u9ui<+DK)t-Vv9ROR7+YNT&z=xCE#Uif_zeex?ryhc08~Ok88<2c3fe6WW zvw=psKoe8>CkDQ~GTq!1SPu>G1z1PpPa)Pc(A&^@Z=AhrOmv5aVC&ki(N`i_r}km5 zDgZKS9nBTphshAx4MB4X1Xzo(7fRaxf845N{eoU;(jQPh$n zG{t>bU|2npX2Z$dhplOCm^XH!?Q>c5i`W9>tb9GOJH!Ef*4AdNp0c35(aCwf%ukuN znlhz}xb2WY`>Yt_c;0Ss)N)VF;zy7pc*5`*=MqFy>KTVz;KzaXkPW*JQyx+wRx2tO zyzs5%a5Q6akvE`Fh$#S$b`)-R8X#y;diaqA&tRkYw6jzRN(L}djd+D3(LK^yWns3zNHGLVk!FLm5mGR(0R4F|=U{bwVv z_$_J;q4pJ?M1kndNuR8kgIl1N12D!tNrpa*1WUHDMmdW#%%m>o1Qm^e_7Jc?{(s$X B>>&UE literal 0 HcmV?d00001 diff --git a/src/demo/manager/src/main/webapp/assets/img/product.png b/src/demo/manager/src/main/webapp/assets/img/product.png new file mode 100644 index 0000000000000000000000000000000000000000..c648b725d6e5b56e50df726fda98ba481cffecbf GIT binary patch literal 53208 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

DpY|5S) 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 literal 0 HcmV?d00001 diff --git a/src/demo/manager/src/main/webapp/assets/img/ui-sherman.jpg b/src/demo/manager/src/main/webapp/assets/img/ui-sherman.jpg new file mode 100644 index 0000000000000000000000000000000000000000..a5e7c6185f6ed7bba420235f768bc9bcc6d907b9 GIT binary patch literal 4110 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 A&;S4c literal 0 HcmV?d00001 diff --git a/src/demo/manager/src/main/webapp/assets/img/ui-zac.jpg b/src/demo/manager/src/main/webapp/assets/img/ui-zac.jpg new file mode 100644 index 0000000000000000000000000000000000000000..62d2eb7dffafc1d99880ff24f05c693e7e6b4577 GIT binary patch literal 3377 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 literal 0 HcmV?d00001 diff --git a/src/demo/manager/src/main/webapp/assets/img/weather.jpg b/src/demo/manager/src/main/webapp/assets/img/weather.jpg new file mode 100644 index 0000000000000000000000000000000000000000..82b2a8c37af6f88ddfd031087133dad2853c38ab GIT binary patch literal 245302 zcmeFZcU)7;)-b#w6afK2L=RFTpeWKi93T{FD!unEQbUVE5CS$7lq#SgMS72bRE403 zU^^g$B3(cs2?z+G1QNa-Ea%+&+~>LX_q^}>*LNnrz4w|mYu2n;Gqd-sH8a^A-u=W{ zq!Z?S0RRjQ0Z{+|_5u580006)G?44yjpjQHkU*Gr52mK&&@lYK(}H-;A267a=Fkrq zq@v*g=&5|btB~gCFSwHC$n3#fAlw)04bXv4YTkM90R`ov{+M^7 z0YK!y&!?sb+|3heauFU154i{rgle11Lk(Tsy#uImKt@VhPDM&qMM@4TEvq7}tRgE7 zvIFRn0DzJDl#-E=&ihfn-CY34qy1SX0v{=M+y@jdd-cN$g}7FIUa18i&uxY*d( zxTrTauJ2hm{u2hf?EuFiEHrq?ueJt!CyBg4Rz z{HR7tNcfQ1b2nMJ;Hw|B8IPx!FMnEb50U52uf2BSOsa*4&WnOjg~NT8)1Kezu6Oh! zW>$4Y?iJp6lJ*iiyH-@+Iq;cib>Y&@^x}qBgJ0Ga^{l-v$7Yl?b`8yKZ~(NlptN** zGBGmH%kPPBOq!Dplpsj(AiYdXG8a{X=Vl+4Wrf{71z%0kHb3MZBDZp!fhqvw3HcX& zpb!OzJ#;J;LOrK{iSXY`Ao8aOyCcAU$X=No01PNPH`;x9;t;9I<SOp?| zvqFZ=Ls+|fw0#N2LBVRKy(*Z6R(|nc(Yfe~RU*8&6Fqz|_41HNvyr%H7M}r>F+k?a zeO2XrC#=a}*u9eyoX2a$a@o7n*8ng&CHpe3<&FP@_jCS}&iRWlB1%FYapFR=@Z(n@FbH^yS-m< zucM|}X88djW4<^2!Q;Ymca=q=l`{M(&R@&(*DcK-N)&I{EPt?1EENh^a?cdNN3`aC z;v)QZCh3d(GOjYaT?+Cf-JcTm)P7BI7m(it7^*mbm(!K(Y2rsz+p>yJ#^;Apw#9(&-!lY>W#1*~hfFBJzc)ez-aD__Z) zx{evFA7yEb@+x!Qgsr9f8BVh#ND92X{vw^(xBHTX&0zd*3LJucUmA`OqV6tTSch#f zYZ0^+;Sm?;TH6x?gDN9M{2E>?BDI?S6TiOQrZ! zCz_wsXS=!n!T*pPprG349fjC+cUcz|(xhmiM(>ogoUAN%cck^Q)@ zo%`YH+BL2 z?SxDUOJv#OT4iLfl9EiNjRBGIXRyrK2QHqT%$?@`zNA(y_2 z!<*YmiYGt#6-@f03QPKls24)G6^)p$s@dFgDyyW5g~xIMO|1Jk8rS?Haxo!^n{qvG zBm8SydlW1_1|FN3oFHEI3pu)`wrKM_Tjzmz07Px}TtMNH?=|CRtxM_|d0llou+?(q zuCfuw421PfyTzF2)x&cPci$h4Oc=LEJ#XB45{hB(yj&lNxWtDQg{FJZs^*0CkJns7 zp;obcgUf2x@*lYmu%#bx9e=VR;k}-5aqft~8BQjFYgW0&_=V~>9VgKOzUR(WxI`=j zF`~)|kje_@S^Q)jI_vwk%hww<4+&DcrOK1PvX5PUcDRnYyBF&=W0FI z8$-%JZcS>ARwZ6~#X3LyIEVj8ikqAYV#|5=!)K(IId0jpR~MFxq&z` z`2d5nC3WVmoE=xQ=V|b}aKfit`5 zM!Uea?^^E1^QxBlpPnN}MUnBrK60`g587GNZBxTqy3Vy4_h+tP43+}EeAOa1=B8#{ zU~N!o^do9iTG)KNun8~It9t4Vjv@>7a#C_yqhF`Piprx|5~|++BR;a=gV*Zs?q0=; zDCM1dtRIJrVs`-@2PI$E85D_={CoKwv9hY-cfl<7$KD71uBJHZ+)P=rM7w|8Sx5EO zUmj$u3OVu$$*oW(KZE^aY23bH$UQq`ypGaL5VLFRd`xPqem`@e$9V8Q`NZPnlp>jR z7a(Gm-&~H&?O#VeMg6{Lue>v9+`l2x{UY`NF2DD<*Y&$ZhciH~O+`Um_+zF-w& zulAkx?PzG|l5X(#{U%OSGhTLTg%v*uS39RzF2DI?5&^Gi%kI4QWX5ilq&sjg65~Ze zWf3T;JA9(C18DR0&oJYtE@Xt)JSAY#e620Ftj?=o7ueUrmc6aFfIzn8j$EeX4kqda z5Y(KF*WvSRLzJu?$q`s_5w2!4>YJKVbqis;`nbhp?88C%G@{RQvD!FZJWRj+T=^T; z5R~qCTYVPlITF3omG8M`RM)@!5nlc_%hw*?T9n_?O+RZNWqyCe->Z~V7K!>}7bxBZ zXd6jU-96iSYrBBvXw=O~Z7*Eg+xZAo(bsMGrt^I66n6*ge!%=Fj&-{rV7vfThWUtF zBt?*K>CaC0@~oUcbJ`5%-r@dXh(2`E1y#JkZkR6rqAFjEg18%SqH7m;KDtC=w|5tM zWcI4{iMzYKr5j;6vjaaIl{kE3ZJ~M>cmiAVbD!MW1q!#V3(GJI6GfQEA`5NxAx|%V zj10fDRJR1uL|onlBo_rfU>0RWOt&S`&ZA`3r+#a#$}8(#Xwu}WQ*qBbqWTB$Q~B@` z(Z)`+hgCp?QMx&*YEXHgwZ65gIlp1BcP_QIoIv!c9eg@JOtRg1D^|~%H{g%(Sj+wx z;2Igq*wWCPo}r%Qe5UP-E#)>Qe;w&OdSz)CmqpC6p zaH875TGYc^>X;8?$qJm`nwsRM^Kwq6P<-c^xL(L-a0E6;%-gYOfj+5xujK~C~9aMqW+qEaOfcTwvfgz!nAiJi*}YqC>^^1BSD0a|K7J0 z_V!YS1x~E^`Fwg4Fn%w)GUVFrN!%i<`xut_W8W!ve9N=g3AV))nic;5U&n3C!|F)a zZLg}k1QO~ZSz+^TvKYm8RsD72R_-ze2Q$D|+L7T;?qYi0HufaW?E)XjSh0y{0r`P> zZhgw)E-;4K{kXfxRr#lxBP$^VC}|lO(osz$0AS~(u>&ASkL&S*rWDnh+DkjWmv-QN z4=J*=tBr|1@KQCJzQbrQO=T}F6}%q+FRBp&04#yQpxtDQ2n|Gpf>EmF259>Qn|lTz z{C~pKrnJ1#f@K$N3lei~~cx;Q=9FIwzG|J$!P|6Wp!4_fEt*8HVm*=HiWo`)dwUm zTmV!2z&mKjgMsD;=Fx-9Ul^G^yd8M|Nh8095&sjjSNsm`4}p{X6#4<6tJ#`glXWB)a-6$Z08tUl*A^?l@n^nN9PSpXw=09Dsaq3}TPQyAj;*N(&N2X>_Yg5B>14+T5af5EeWO?>g6 z$@j+7NoqmBe(<7&E$_kK#~Ib}`MnE&AEQ(XU_bR+NF5w`;3WovQ{cxX8pI0#M?kmW z-)_Ud-G+a=4gYo<{_QsW+im!_+wgC<;ook>&tKhpL9Dg!u>hdxp9~!~FdMLR7-k z1oxP$fG`y;DG1#o3H4PI+}k_>wJ|h-YQuv)q4E+^;_gxkQcwkH329k5MMXt1D7ZgF zN>WNjQd&k_T2Vz-Mny^r`XdN}r3HIjP%%5B`=cx{rY88KQkO4Zmbfe{0T1?)lvY+& zrt*-H5eF&6L&5_>UBko!LWF*DIO7@O9_+p6uY^)Lg1$IJsG1-s>Gvx52mWIFFLm`7 zLPNvX!f8`AXy#aeQ z^>CN;^z-xw$wI(Jl>SwedvM4v;(w@tJLuRAb`=kHy(|ve(V^Y}Uet_IzcL2?+_v+t zv;Ru|l_^j~JJ{0|bZJ_E?#!Pp{HIs^A2$C`Yx0BM6ZC+3stHne1Bpw?ic85^NXw|m zE2_xJo|cjZ+x$DJA=rOBKv(I1CH}E>=pTsT9^Mzi{}WO}LluL7kWkkEcTa;eYJ#9p z65ie(DoRQUI-0UF^72YDvInb(7w zSMEQ{``yRn>i56n;o+`w0Uqq{3icvze^)P0NuNMZFF`2S+A5lUU^94xYX%1Td3%Cm z)*=|;DG2@5UMhPI6+^fOsC3!C;tjO5O@iSUy#2t0@52*ZOMspPhmg`K>Tm&-16Enz zI|OXv@E-%v+%xD0(wf*?o{W$nxH$iGkAIk{y=;GD>eUHRefi9`JyMt@PFtb z-^oJY7eX()2779HflczW4*y*Tl>G1H4spHoZ={z0cMbgiPU;`Zbie2t;6-g)Nx}bv zdMN&H>+w%R?th{E|Eu-*w}bV+Ymfg|^^l}~Nxlya$$uU-duf09>VVyF4+Vb8sNk<} zsQS-u-QUl@HSo6v{?@?X8u(iSe{10XM;iFk3ik{Er+Sw`8+&(}Rs)=-JDZpp>l&Qb z*>f1sN@Y1Cg?}u(q>RDe<`gQK+&qFu*HW$Ng-7jtG9-iM+Hn8;$zx|-B`SnNK zmZ-{EJ0E0RW_in-5j^Q1&&G(~>)p5TUMbD*Yz9y0H+Fi|6D5Jci7#$CzlGvpp9qHs z;!=d=arkVZsq432b94LCTdYQm@rj}Y%pxBncr22xG$AZ2`nlBgcINs^S^`VUU-NLX z)moV$oJhA@NY)0ev1>v*k&g$ejg1m|S?N`~)twMqp}WBO=!^Rk3hDb)%iH7QNAQ!S z0$qbUxuNn?PjKyr%?57EaeXqbE8=z6us$t%gIPOo|2dy$SKA$;+ddAI^7KCJ4Xvox z_c6QI)AJ2CoocIS@vzBX_iZ;zcb}icD{zBwXKT$do?E3Qqzb2ddUF~BFnrfp(ePx6 zgfyvVE(Vt$yLXG2FdNkG0ww&zqFqe~bWZi%J6XS2$kwQS|!f#E&?qoT)b!kL+Kc9_^EVp+q-!J@W7c)2^0_<|(r4Ys)#B zaVg$73Z(zpZ%2+}9S_aYl1yZ>SZ=N*yXix6H!%KBbfZt3u-y}X!Rb>E*Gv$=&-7zu zw56X4MsiQRYJZ9{GdK)IRiVn(Ut2k9a3ZaEl;*;@{|D20-g1d9@) z98@kHh<(~G=OSQg_HrzReh44Vo4mQ&Yf$_)y{3YJ>66%`3MbP^f9uST!H(` zKhJ}jw%9b>7qZlwl^x`{V^9Kw3%W6+K$iJ#*T)KHC6+a|iq$JSsacGg8?b)cA;AX} za*y`# za~F8L-Vd?!SbKEd<*K(GDkITMPV?lzMyZf4_HB3ay;XlzdI8O^*ON!+k~tc><>JlBYh($8}X(%IuOjwTE2s12GBBCgo}LHe}SJ$22;W z#<`WH&fdOqWMAcVtlGXU;_HfUrX|(Y>V~)I6P^aO!?Y|SzFk!1N3R=6&Bv7tz&=7IXH)J|A>x)m9%cUl$WYq`~xwhkG3i7P8WFvDE8xP znt=4jHL8@z(HBJ!{wICd0ZlZiJjyXRp{Bd_RxdkVczBpiZ@*3xWBlaA11=s&7y5Lg z!0~UpfOUzvRgtHKrI!gqzT_6AghUq8Bt_)k6?++z!{>mB*Ks~Js5~K6zV9*AcB%9I z>t@0B#7^=@dnfOldMI=G>8r2-N&%ME=Bn!@mwf;yjhJB!FMH8f6#D5^t`D*2Q{yDr zmv@1R9yC|wNz9YQZs=W=YmrQiYjnFn!$zyAHT&nGCvUWp3KLg@2(|S(k*4Qc!l$JJ z=sRQgi&HQ{iAeJ!?Lkh@taQ0VC+jL*EA)6AQlhFcSyv5r0i)zK+KyG!rA0q${zzY< zl1z#|H=)q}Q{mRB_R9LSKPQ8YCs#@ndnjm6Uy3Eo2$h5OmR5pk+-G%xDG z&e3$XKURTXim za^!4RZ$V#Vz+{T?CJR|YLm)wIq3l)8Aza%SZ%%V1?gEeItYb{m^ak0Q7eZFsEHdT| zoli;=>Lw7};1Lab-idxJspkc(Fof7qCRWAr`+gzp9&KgRg&; z2lN^DlM)dh>=6Mal;*)5j>7C=pp`0>%7YDF7<56<2Wb8|-a)`iV-W z8Kb8Ly)@Me2X5{M>U)Tc*p{da%yw5R&zFbDWw%ofF@si_X%>8d)NDFbsz&IWf6q|j zy84=Y>KMxF^T6A@H+Ob66Y|4*W#&b)hS|%rMhPX?P(7;KZK*jUY*|=&ABK8D?pTdU zVV%=daD$n#aB1TJYE)pILeMnT%&F#$J5_~xK4f4qf-e4~&zm)z{CZ$bRC5<_{raw4 zcJ4fJYT%J)duLP>#>9gui4*SgJk)UpN`n;wE{{ z8g2pxrlbW;-rQxO_>d*nQzl`E+D)!QJ?!c=@>+FAD_F)jd2jG~(~b6*b-*tXv@QkKF35HKYS_tOl#2}StEi^YI$!=9{I_POoT`gXvgc+vSa@U4*d?TcEcj(+^c*)|eit?FB@dI`NyNR{X%o(z?1X_zW`Bm;pq-TORlVYTh!RM;( z+0p3Yv7ja0YgYr+!nnouDHX{eztlda&+a5TO+|@`VYHNY0q32_-i`f`vj`Vk-6|&( z9&MXaV4Soi-Xl1qsJcSoChY>xg1+9+R%9DNc*^Y;MZVq;d(LDwa(~jG>9OKW{4P-S zwdGVr)$QBNC-vW>ga);~$;9hU)g7f(GxSXj&{=Xpq4~*$)``~GPK)x)oLW&!jxx97 zx47x}X=tZ7A{;>e+hr`#>`s8|_CG8T3)YL_lbP>03&t2f^E?^(Y1J)b~9-S(xFz;I6(~rxSk7%}{8@{W(93J4` z4k6D>+`ZDO@-36c;(#7o@s=C7n5FvBxPOOn6VmuQ}w#^W-;ts8eaZ*m=8Ip9B|l_leI;qBMu=J=6i`mn&k=?%C}Of%!k>y6^Op?wdw5JAe%2gZ#vj5)q`nHJ?+ zL+x+wtiE;&hb=_bx>m92L?S~SljwDkQ=<<&n|#9FF9y>ve$&|!oFThJHh((AaMuA* z7gYXGc1Sku)mhrN`ZS7jCic$BWc`7y=Jj#m=@PQDdgDxoNs$gascwktidY8STeiGN zL5(oVqqb*JYMW1y{pQTSTDR1{S9>Z^I~B@Rj!zX_z(uKozx)uD!?+Dt_|r_cPbli99~<7NuMT-_0K- z55B|0QAN!)jZbm6Yo&~x+*J<9mVC~g!+MM%k|sBf(>d6ry1*Xo7kiet&cEhv<{<~#!iCD@KZbH6@1uOQ*-pU)A1~=?I&KYtie*h=CH(>pkV3`51VoV zYJq;mlQrTcSo#j3qggib!K|%I=XXvgG+c;{aqU<0)E$4oF9qxm;M2)Ao-u&ZxT)ui z@yjIHq#(UV#;`nQ4{$=ZIQZIjkXnMan9S~$O`-;M}K z+@HOfeB@$xB;#QFFj@WPdla#)Z48T*H}AW|QAX*HB~@Up(+-ULLbA#~wwr}L{$zg@ z9wpiH6bLitvo@nW`tr~gF($Y^5Z|xFJ4~aH70G%t>mX`{6!GEqzBhBl*S{8(PQ}fr zs$_64yw?d%V`EN%FgCkx61gGQ$l;AGVH~-)+^fi;11@ZOJ=LQTUbOXuu~SbS^xt>Q za*$%0cLLclkzyV>V?_6+H}vQ4bvf#_$#UdcdPklk4AR|RW9Tx=`i2@>AGLjDsH10p z^m@m&E$c)>#BZw>fAl>=-fFvd<}h?@ED$vj+h|2^D41;D;j5D&C({gOE66mqacgoZ6D{?nW8ia3ziO$WcAe9Lv=H~of zC1)!$#yWqKr&QD?9lyuj)Ox#_c4!x1_a0zQCF$l);mptTihI&Uww@5p>%^XIvpsFQ zIau=tZGBZRI)LdgY1;&?avb3L)@5)!;o~gLZFDvp44&ao*y%r=SNP!MljU=kRo5gx zEi~3}&)Sb_`DR{-{f4Ko-YBmxJ(0-8p{=qHW9G(p)ZXfdhLW3ciUWRa60N7ppLy?4CNR6br{&UO z%^G8|YLG##>#FgA5(boKsb9T4t6}V`gu{TCZwWae*L!xTu+}Etrl5u-lWTtTfIj%G zN0l@PuxcRJQ%#D~wvplShV3qm&1*LYa6Fo|V-8~!6uRLYt&EQvag^>v=Mgxomo?7WJ~D0vfZ!2ALG*7NXTMMc%>d>Hm*6ZcM{U&C)P=X00C z*UIb<4F>h)q?8R;eNMj5UVODHdY>qm6D)p!2yNn(W zS{xD{XulRyNXt;Pww(SLx(g(3_cXl8dv#5FuJ6X>K7-_tSrzjSpI^MZ8d{L9RTv&h zQ)-8|yc?Ir22LJJp8SzbF6{3wS}{6g_2^u9ib@unotg2LoRD=T=iB`EFQSxqBg#x? zkwIQQ_+@PP7Kia>b#Yf}_AT1Xef2iK(;meemjZtBc0-NZ>`{4#=w?F~f}2YBohE=b z3}|_KN|wCwF4x2D3$q{v5wUrZthW!ZcgUZP3ty|2F1wd*RaUY;6ra`$SW2%wPLeDY z|KkzSCEy)f9y`o9bon*-{~PGJ{#QD5*LdQ*D5onsq}7Yu?$urFhYK=17Wha!B}`@% zNQ{sw-SI%w1P*X9d(W+JMYjH~lXYF@adCc0$_6`EP<0vndlv+<2MMj> z%>IztXEG65%=otCV#o(wdFeB!J3E>&{TXz_fhfU=k=_Bp*dms|a+!-0dWj^Adb2`s zioHJF*#LuDTH(2?2$s}}`KXMIs{N-;2cBKTIcl}aw*{XZ??2;d8y~eGs&n_bvt>fQ z@nKbpT8p5Zxl`)Vq)Llk_WNDn6p*3d7}wjNnPYk^Z*VSA84R-yfoe_3QqP4$``=Z~ zYY@L}A&xE`YqpXoiN7^Fb%16EwEqc|mBmi0=S9eZvxPW@SaL!^U6Yx6nfKB3!%&6X zM|1~Y*VJQRgl)`0tyYto_dHb;{({0)pSs_$^UV5K+uI}nrSHbR?fP}(Fc)pBsmCSx z_or4VjvijQ`sxNfz0u(;0a2K%tkuRl*5g`Gd1gj?F>H~+p{`M^NT#QvSCafK_<-xH zJjUrMn^a0;qqMnGme|YQ6j=&d;#qwvv@vZL7_hl13Ipus2oc*Wz%22T5cA`Zl1hTj z0?Q#`X@zFr)+W^?VGCrEex`K(PgltJrwY2!kR#8%zz?)^m26xjG$Wh+VwGuX0 zQzZRF&`QI4zDIsObmn5w`Nb~vEQ$D|3I1y$`{|d{rz2_+$nsAJ<4C09*S^z$0Tadg=SwRj@6&M z&S(vZZa>uwn^KQHO4d~0X}L9X6}ehF#U+@1=3t-veZp+;qgw#2e~6osfc@&%wWNoE zlt>e>vBn=&%Pn$QF3X)InHKfIh%cL2&bnYN?ER$Q}@MsQ+`nP9o1rmyLwv znx$)$R&q&hRlTea)e^hZPJ6wt)#nL1nNT2}kcu;3o3b0i>QIUYcP1xrW=DI_R`rMS zQwMdDzcOa&3x1iNMQOmGs8{6q(rE_dxUu)Z776h@eTc1l(0z?zy>abu6KrS|g_X4j`DPysEWKG^TC{XrMP084X|`8`tK> zecMUID@jbBa86Bf#XG5#8t6Fdg5j1(V)up%dok?ofDgUTN3|dsPOEPrE|yy-Hh86H z<418zBYHdtd}^Wftjd?l&Z_)&#~XLs8;5ey+~5=)d&lA-5ucf)h8oDJt9W`!G~kGX z&;EB&*ZEXKdU{vCRzd_aNUcbOEl$&j{|fRAr-qpJvZPBT6Ko0)Slm*d|1Au1ZHE*H zxf+%TzDfF)-(R9@HtVp&a*Bm9OpQz~L~cq87Tkzb={2)S(lO}iCJsiw8w#MUuwi6l zoWs4Q6TmIK(4yBMoUbTN(c40HCv}z#h`%agaqq5gb%@3oNfI{-j;Ws!fEhjG(4RJD zMhGgEK7V?Cs*&NV+*oi2?vjGQr>{kyr)0f^7MyVx7wR_4W^ zxNe{h_rbdkH&L#mw6``)j39BT16Yfg-;@c-6{T9tugf&CayOe?)Enj!pMTleuHqUj zh_xRaF6;Ciy!b8c?8y08bMgB(py{nkJ$RwjF3cf2tKw`+&!7>TK&rpy^9j4~=5R?@ z7Y#9XY%r!|$9Q&oA{s#RH%_a`4B(GdJe566I~gzS6qPYOX@69p2>o?rACKnDz`3h0 zbL4tT%($yUE2QY6^RoDl(4hJQVbd66|IP3`^+=`TT$Ch8b=z!>@Bw(YKoa|5$W3tS zS<*5O>p_RzEHvlO{X&pw-hVyGHYwZcM8~&hiH~53k2V}U*!WbK7G}(ph&d_^Lg|jW z>sY0kczWJZa%&ZFBcI)#)r4N}ZJE05jaH51ivH60)UDRLiahh}i#541MLsHDr(ieJj1caOA6>pQL*i4Q6;30Ig*{9bjgttt{Hi7=i2|FFXiPt#S!7 znT&~8Hdf7AS#kmnb=fQap?RDze;TW-$YqQ+s}XjLw_#9SX6F_rhi$<3Qzl9Su;d(+ zdX~r^{Rhi5&E3@F^k7&TqDk0JVnC%>P`@tD(6_5N{hg4Mpj7}@pkar@@*Bpr#?5Wa zHN1*DzTVx@U`;*8(arBc{Z1h=u_U*&-__TdK>4ONuYI1!EZbs?6X7Gz7|T94#1vwd zzx<7}q3P+-tdUMk$2axHjiQ_N0|}J@Z&u{^TvC-S1J5MvgGOry9vOCsRufsKCy!|~ z^E)aGd6`sjcI-SmHF)@s!P?xhd&o)zgR?PjJilc#_`02Z#?_6_wG}Exm^Bj`-dNT& zX8J=JXkSg9+XYNPAN>kCYI*QxITQZXh3P-M2O*9o3lq((Rlb}z9-xEVI&xqyMQuzz67=8|08lB0W6K-pA}MLDPsOB{I%OZdM)ryp0?=%T}d(htVMl zPp=s0aDb@|WbOU91}MdlC_4w{xCq{YCm}0AU}tCXbTP6@nzXF+4NUDP}aT%6FZYoGo{*<=Z=3@A;-S9>G@gs$x_*`YZt_6N zOJE{ToYML=@*O7ALID7dloCm&O7uHgJ3x+G-`eupBaKLsvCG`z#x zb8R7(=o0ehv6!k=@>`^$y;hm+aNznOR|5IF)26Nd=!(95Pqyeg3#_c>o? z=J1{}x)*xS@~}jeAUCv>h^$s-mUkMYl#Cd7m|5@~P;undvCB*HrIe#O*OrV8?4bxj zPnI>ev&g&EonO`T5~7|(_-9Jd$O#hzQ<{*pT&N0)WJw$nS>kD(8FC`YqL!5x;KH|3 z@`r?CDC#4}!)|mLb@5*R5br}QF^<1e?(tMTsX^S+622~Q4h_>JqlUNPcGu4Gr`;Du zxZBZm4UwI_%w0PMZXgc&xLtn~Av0=n995m|HiHk_Kyxq=e0@)r?myR0x8)UUwET&1 zKTn3SiT70f^BP|UMNjcfm_}rS=N*e>^f{r%d%blQyFg8UrP9K69~SRBPH)~{&|Xs= z4)G20U0qC1k?}PWQExq|@1^M|$E)sWyp7zf4^GY%C^=i>-rgjA4c9ou8NOlHg*P@5 z;5#=3G0xpoSx~dHT4vbppKuDy?@RDp>)k$B5@=H==s=RC$Nn~+Ea)p`ts{CH#fNwrGT z1@ucjv*a&FY|k&Y;a)xj%e|%q)!{EU6ETxn&({TA;s2usmUpuYz$Ack+CRpv^LYM7p9X6^+CMCD=o zENpjPLYUxGj=nGj{v7iZ2`*@4lpmlss%7WdY3UZ`NU^&x-N`d!+dK z?i+t(n0tJRwDDO)*Vn?wA4~)F8BIA-*!vBa-oKCC+^$EWe^d$*mQ}0r}q$d>7A=%WwQWR zY7ckqHFDSvBm^F@3n*I2oP6}&7@P%*I2KOv3m(_G<=QRGF9ActjH_Db!>tpYY)@&J zkTL4DaznuQ6G{sAAO@W98UY)h<}`Ear_=3taOh3s!W-_F@;55g&c7NYMMqkJiZwFE zSmac`Ghk?f#J;WkfR$=^kf`9K*~gXph$pe1v>d*XpC21*ZLI|D-Px(Yrd2*r`gYp8 zPJDCro6T4}IVxvVIxc5yZTfv-4*sFZ71Gkum-LCplh{;T<1wo)JbhRHCK)eB-sHYn|{*;rv70i*14&PTB$VW?7SXOmnn?HC~LJQfo( znC^%P)~O<^w{4Vl%k%lx0pNxbE0tG$g1MuC42ig4b}>Ju#|k8HvHKA0P#96GonMZN z5*cKXWB>SM1bgRS;x{dZ-n4J58W}Vp`(>t3oh~}qt`1Ul}L$Qt?5NqdPyij@~MO1yo9|6 zPU@1M!4bi1zbo=egd&?=fWDdM>Ts}lVN!s6WE5sWZ9em+x}(pvZX#6Y zjFyv?hB(@U{(j0!TuqHCs%jVDoM=2^`MgS{?fy1GUJZE7GXY{20Qygcb1z$9>vq%V-Wvf+Bv`*j}SMQGKj z&nYT1px6E_{E23%k8q$LeM}Sd8%)3{azS^xb(qiM&Gjo#u;~%@4@rjd{jE-2zPx;TRa=3Hg2eqwh$6(1tYsu;`SCye+;F?LI{81a%G)8NYbaj?tXV~WW zFem6{20fEQH(wOI+Xb#woGt?zX(*M5d*_Vsw6Byz2$y&p2VVmF=E$y#EmBp+{FRRT z=&fgcDf~~Lop@KCK}+ZwiVte1&Vcu8k53G8V~91BoSgxPh&(=DL!MQ6bz9|K z-3!SoW5#G@!{}?MTCexI{GFYRIc3gSq&~aH>P4$%115p-ZeV^#-SabwdYF`ZA(BT@@7suyS9wA%~V~NougqC~cL=pKVG!Rh98B!gK z4p*Q&1NRf`@OdYB51co?dPHD!=*DRwWU*x(OOD?ggW8F?ZEMDfchOf**%4=$tRA_r zZ>h1D*v!TxGFT|mIlUaN2!wEujkgajb-#^c<;R$7QK?ejd6Sqk^|u| zEpf2_U%xJKx(h9)TgV9sQVVUGPoF*8mPSWw*ab_>Yh+vwr{oZ)>#wX1JcBApi5m~A zsl47%r#IO@Z*5hj3A`t3=9#!jq99?^hU|*2_9ogBP{i3rk(nIHB9PC z#@)3v;QmmU>`L-4WdUIP^&=t{N%IH9XG zE&bk(nw&?hCl<(;6%Oa_$pqwaHNynNUstNW9z%os0fBc*3!zoPEWNsWD-`Ee75$zBE#8 zf5(Ow`GFgtm0&ey&oE_KykW)~l~Vbxq?7Laf9w z$bhmp{wKMme0@CN*fFT30&jez-j|mw+aq0ljExrBRY43bab4i*@#fRC1TtaM9xy@y^^?QGQ|L(EvkN5kW*Ll63w_^dn3Q$K=&3?M(l>H*asr^gw2Djw}`)0g+$!dqDqJR?K<2(!8PSA&U`b?;xtN zn%GR&9Xs;-xuqwH>0hLWhrtI9!GwjXp3>n~K6LlV!7?QmA=Fn`MMRW-BmA9Kk4x&7 z`Ga_;;;Ydb)%NjfN=#f7WZ|@Q>8l2hQ>J^re16*ZH0(amy(PwY&d-0pJS(U~%_JCN zdV9s%Q~+fG{*jTV7!_IrdX_vr6jZ{!qa&x$5tco_Og_D{ zr2CI@;KuZ0N?N0jDFQ%UAQQ-cJ`tQXt~xt>@^})-nvA*~=^(iC>SzTVo|$9LzPedN zc%-skxN<`i=rH+o|^)zm9|1qvb~z4d8k6yEA`28ibqtp$$3pc zx(qq`b~c>5b%=^38RReTN=>&HC3Dm_U+N?BQ6%E;9>yJ(979cBnW@-`eab)2uyj@N za+~s^Z!UNSvxcHi!JEXtAhE@onP=z|-7k_46iC#wX>Ek|sq^jZ8-_G`B!c|sj(p=- zed1IZGn39xjg&KSHb&=ht=NmX{boxS&brGgn!YRil+3s9Z#-Yg+dpU~sp1qhPpV2i z{(^GXoIIXbcB+*^f8cw2KnpI6_o=WgFO1==ZCm8U#_4NWLb~w{i|#ld`D;T87D~p; zl(S8PMM;ZE_lIP!C_LFGu45iKrk&i~#QpiBre-mC&wL8R#X_8vp$U%l9HEiLXA6v` ztI&_K?uq5`Pqak7tSfZQSF28NRx_w(8X1OLQsI%mKX6ndZNyREo--y7bw@5iC04C( z4dxnWhz=a|_Qm*x^kut+jJYBDKbl%y-%F5EWy^?DU(&P`t17WU^?S-^-BC;mXFNTEeO`;3pdG)_7#t3Jk~MXqXSt=37aB=4|STKSbP6ft&PvO+af8I!hM zv+XiZ@-_}(6?c%MKUm-tS?L(am&rTl9m9EVr!aTTGWWRO-pU|ek`NAPf%J;<1Z+%IV@$a#FMWlC6^~?Ps-UFS#Q|OzV7in zZIZgQZS7oT@Lo>@1cE+1=7th4HMH++u}UGVp0$UycTWkanXmt+_$7gDTRx{*_)WGc zUstcY+7e;GGpd}Ft*G703PV&63<&Nz)|*qCXL*!0+PDVEbp^7s|Jb>O3rQ*`oVh|K^LboWDAF< zRR(=m5}!vSCNU5D-f0z994oXGd_KaAu@;0iJ(wP?J^s zcAbqf;XDtNR+x?CH*(wJvc+Q~!m$H_!;-puC5{u0di`)rLQr4~=r)CcEJ$K-{{?+q zUSjwpy_=Cp+!mG#o4ugj&JA#wwD~nahS)rtQ4(6VIh6pz1fI#R<3bPh%~kSGk)%n` zzaS~qKcD&o^{-nsN@9P8Y%t)ju}Z}0Al^D+Ovk|HdnXD-^ktw`3?Aj z(u*fSch=o`jUtxIL!~8MY55SsQBwi7wGA1;++PtD-|*C@VEgH$`=HDKNPhFE9vT<~H=j|BIS(FsiiynO-b!6h{Cg}~o%CtJ%W+P|IR})Ba zd?{rlmaNs$^`-Zy#?ST*_sc*xwC`(v$1ex=>aqTuKi3!i=mQv0gMixRWSwWfz!Pn> z$Ev}>qSA#hzdV%aUy!)?DTUXrfIOdZE$>kGNAR?}&-Y}oeZ7VJ5KOM{khUB9=V9zE ziqCB*i=+7j@bmRj7tEiLk;h#<=M?gWHtFQ$o}eA_?ID8I3iL~;zUjjh)3%5@X7eWe z3c%tUBj%C_U=>Pzpl4_;LIqLUhOZg+zW3w9r%y-h>nvY#22ct#{of@QNb@;H4Tu-O zhH2#SvPZg26-*MP=XOWsqErJZhu;hlRi(BUzJ~&CkBOswahA(${m6rICVDMpjUoH} zmgUwx-R0abMk&7f4?;1%y`DDGRA)~Djo*!h4%c6>kp4GhpZxhmWzuPrAn4e}_g+?4y4GqjL)&Gx0@JXid?xu}S;ksK*)ZQ_0u6TJ zV+j~#cFkBp=HnG638AZcof#aYS2TA4(-aQ++CsAOnSG(t)qm zWU~^yO3rsT{$6)3Fj#e%&yKiBVq)1bpZU%s<2c?`pEPq5go0g?{X)w`Vu;{sEGHc?=(RolhgrR;(g|? z(GJ)gewv?S|NK8juP!iWv#;M^GFp8smJ;|YmBhuKiTv=)-ca`;nZfVdXJzT`-Po(5 zV%UC8B4uP`VBtSnFW8XJYl;E$2;6Ic0dvRa2u>+^KO9IJTjy2UJ^fMYMz6sEXT5D= zLy>0)w7AZo_( zU+kU4d+s1a%(XNswb207&TLd>WGTuczyp zcVq+ukc@0?{E8LQ2@olT7amrs!7$Ii9OKI)P5{)CEgg($VS<-AKv0w0-ggo-YL>ZR&{8_H#J46!|rh z{$g2yRTL?W^{_0(j>6Y2FzEe6_*qw0;|yIrf-{Wi4^#>h(j~&y#EbYsU=hY&a>!H~ z3a6~?$C!>WUh>1w=$svd)`$!6^71=;hFT#F^S$RXdM?4s+Uy8bNNuTY4^8K(-14cP zHAd`Jz?SCsd9L&qr1a^>a-9%2U42Y60RBGv6ptE3@^!zmXXiEd$@2WfKA37Xzk+D_ zK+s+tm`nQi-q6}0G*0jiuN#%&_q)Y-MwzyL#1@qpGd|*GAB^KClp;V>C0!__3p=SKzRu}SdPaZa0 z_fF+v%|lbx5q?Qy(jeuTAe3i<8{IF`L9S5aVJOx~2pWAydeNJYGk`;8{j>*X)`V!@ zn6drTqRDK5wU>%X)*RD5aOcNGSfw+MpRXbYo*cpDGaD!ZELR!?&`dOhrKAe9Z;= zhy=*$b&iz{AT>xe>Ven+cn@IVJetPF2^321F4jZkIvE+!LJTuK(#F8xlBdNqz%3dg=vYLrhVOh{h; zH7Fti7%$8>{2-;bN<=i>@?Q{(c?#-h%SkGxZOjNibhqGH$vQ$)Z|ny{PGVu=c)Mj` zgX%^1x6d3kte++X8Z)`n=wG^q`wem&7xJ7fMjAkY=7?az)Y(rs= zxQ{T{mSJsgu)B5qsRTvLLjO;#l+z$>3+VuY886O(tF@{8BlP}f)l(-2pSxeWnLm3t zX<7Cjnfjkd1(OtOQ6DyYu=bezcjnST$=O_yyeaRD_2mMT z^y}92%+19`LlD@vRX_8riLqX8fVzsZfL8HMWT=MLMqN_ijZe7-Q!c9p)dQP>QvwHI|OJj=9LW}`=Y7^93TJ0wN``Iz`e7}eI2=BN)ts8w8S4yFr{oWlGZ z)4Ac$I-Rs1U0CSjSjZQmO2^XsM8FoD2wVw9g&>Ykb~m5_vO= z#kEU<18J+_`b5ltn{02~duh}tSWeuVkN<#{7k3ZE!5oIov~9^SR!&)m3^QtHUTVsG z+PeAZ`@>|RzWW@^+xAO`EDN6eVzY?h859Z1{ZEx204(UprDQTCJB}Rp?5WGKt>@1V zU>EK_9$d}qM2bFD+_Hp3PBb#R;_$2_Ur}S5WVW7bsgG+0A8Dv zi{7a34<#v%(EsX1>)Ym<7~=($UV>VC>{EN(RL#pv9mj!NCzhM64=P>*Jk zK&lf0;eX7kqjUf(gQ0YCSY_vnb@zjou{zD!NBt>*A9k3(XRiFG9^{X!jvStSUgqQj z(hEzm?R}YUENSc|>mK683=-87q0#RnWS1X>&>-Ed;+d{;QeS&v>v{Eg`TP_s9bBC^ zyS)e0k9e}V^wgjERfXTjK$9}3i8ixlCuMPL9dnzC>F9K~>p6+a1c1CZAUC9@Dac5z8>aJ7_wA@GszHrRMc< zjM^9`5W*3L&$@i2$oD0?_YGDdc17Phl`h}%i=aL0D@Nx*#Dh*=!};aa<0IE8^AOgj zFpN&CswumoBMhR}b0PRrxplj-*C_Yfg0Drl{Z0R13ExvcX+-;?d?;eh$zk5Wd}3_R zsY11)=BZf1*-{0>2G52e^7;x~PH=xgD9Y=>Ae*0)Egfin1BF#^Z>akyu^ydVRm@@@`WdmyC-^m&kAuFVFO4D z?fiUeUM&}`fjXX)7#J?a$o3__Oj&ANf*Yab@m|iYALrJxbp;F!+PJ(bArPZKAGxRN z;(orh*PPh^?D&*|Ajs}#=6O#4aZhXtRF)oy)jmQ`q7}Wh%FYrQ=pE>1SBo6~CKc{% zlH4K)>WODvS_X8|hVh%t$Mt+}(*D%k&cC3u&(V!IO-9pTj&CJXSd{rDKwjG=a@J6^+V!vBN+yVEuYHpnGNIBiDtt#fUch+)tTN` zA>@?ZPIX!C-+*?NUkvKG5{%pgUP7r83(P)Ut5cbotyg{}(NF^6H-aI%Rq)$N zT8;CZSrIJQ*NWfIhd)pappJ?h;KqWE<$~jnzSR0&!~nrahF|QB_C40IerYyF^UcYO!8FIQ7uPR ze*|_pawE3Dttsx<2W>* zK_w6X2Z(J96MWmlhP9oFqN_OzsLJX>KRF>z%i*EB6{9v#Tsc<@UHR z3q^4A0TGA6yBm1Q6{YjZZ?GHqIE{3sjUti_E)<+XZQ(kn0HiGRs zI2_PU?^U>iK)P{k%=KS%5*e^4`h=ha^$GQY3@F$1$?c|t${drUm}2dyNKIXcANT3T!bp(x6a_le=iW+vRS*((cIV&hdzQ z=iFQx-U&ZAs+UXE6my#((7uN>-kRAbt3-X=cwW;kod%V`ZdoaJ17Zhe1hTJiO@wT1 zrur12{tcI6Et#Ec_xDGI6Oq(ZHn7 zJ|0+!iiGp_SCX50^mO;y9W9)Qd6Z}}`f}g$IH%KXlwi~1ayB0a1>m#@OT^PFgs!6~ zO$j|B{@MdEk9CST`m!9iYSes21Nawadza0P<2^1k%DmSyi@Y{#x9ak7$^0nok-qvwh zVMd@N5bbNrZ`3$RmDdQW4z}%DHoXSc$#zH=EHkY?`0I?h#mMYg<2#CWBg4ncy8{&>)u@drD#o0A#J1m=Qr?Fyz9vQnMk z$ee2bz{(A&BfnBF_JPN)FYVm3J`K-Yy_U)&8pd~HCZI0@fz(S{iq7JO8VavSapX*q#1}G?@y!59a3g|73Hc7da#9&Eq8jU zX+vU}Dyo!o!0K2k(~VyBeczeynMpTq<1Y--wUE=k^qk)gl1Asp3^o&q$;9Hl?$ckgOifq;@#|7>84rv=G3ZI%(l6} z4Iq|gW-_);=wk{{sva8E4;x|!nmCv7P*cuQTc@#<=6su#`^TLq|_J}pt!^87ZiXw~L4 zNnt^!tfwsNaKA_&1Mc@~sI9sH-qhy0j33x(Rsgi@=m4D(aMcaS(`Z6Y&WGfiP)%eh z6S1l4B6s}JDCA1Lp)@9*e5=3Kd$%~%54Pg!u|z;$8yE zQ)}ia_`#)tN8rg;yu5UWKj*=DNU8UaY7Yx#M-?wiRY4$YgPKEek5csy|DB^&HSCL# zNc<%B;;Vs=txunh`YeAkJ0&bS~%si*Fx0?t=^ln-+O!sM5i_04g;-Ks+%Er<`Ayt_)?V4Xu0 zem>M*MX#|wqxlZg*H1g%y>$$Ws;1XAjHIun|I3n(sNM8?jWG*v?2+SrC~wKB`@B_U z{jw;IX*ZPvO!lMclaJE7?kRY}YMUir9{~G8q_FGjl^Ipn*>Tjx4$9*eTV$bvNff`F zdtNm_o$#Z(*|s@W^TD6v3J%HXp!0qTPb9UmuV2pwy*5?-%@Uep$UGkr88Bc+#wvU- zV+aeM(QW$m4|~19%jseU%rv6o^9iTM7@5uTVsX@Y_#4Mo1m)!15n@>o#1(CH2sn)EL5RIdtY zdIH3b_&YLU%C#3@14IV{c)^*a6TgT?b~-b6M%jl5 zNA4V)T01j;FXpe|ZZb^rnzralC9NYIP7Y@jr(^Ni_AL8*#69k6OX;^YN!_UYgJe7JrB8IvePaYPfJjUToE0%h0?4~jJ|j8yz|q$hbPfQyx1Xy z^PpI&TAU<2*EPzj)FHRD3=B!HFaNlQn59u2Uu!?e=LTeW2dknsEg56sa+mc|nO2B0 zBv)GOD8S{;RGU8gE+mLZE*)EIkk2CmZkNv$63ej?wO26I_!>XI&urt3QzLOsDQ~ z9RJr9h_+m7?nc8b8!swdIW>UYy)~|ARMUbjiV@%`Nb0VOS){`U@JpodxoBA$#wYSz zmlbeRwk8W{>)|mupGD47P6K;deyz)x@>Rp{Xa_r zt44mCg#PMW*0N1{Zaw#jgioB8p;jRMT{&H6BRue+=g2WxfQz_%p{zc{M$Z6t$FsZG zr)Aw;B#1FEm2ZWTKLXoPFk7kIxgcOJ&2;4pYBe)2rM~ZnS>|HcTcc~j77NpMRCqL~ z6~>Fnc71Px7%GV72_);dl2zU}M&vi#V{+rSw0NM_R2Y>epI0jwb2#bVT)3Y%SZMC% zkxvX~(WF=1bvh@@{b)tG;%3QgQWR(%)Gf^faN|xFYHCnKe8uJG(;o>m9QnnV{Hv!& zVT$jxr5Q|JU&g3Wkt2ZqRAA~Mm5|#q;+YP#-N`tf_AJxeG3WU>`{r`h;eb*WyC3<0 z8~Z~-m++X^SwnVmgE8rWZ{d}7TG+z+R;mUV8c}opVEaP!LS~0SpabF7SbVIPoy-o9 z{;)*yCVGkJ&G~-#xC{)Y9EX%xm0Oo}7%t@0*_%Tqi7pl(4M37B5FW)|4kjNQ{b+c9 z4PP>qEG`VJMfDTvkjgwH`r*T9XityUw2oMw{2_Jud$F6azC*dutb@Z(-7kD*(KT_4 zsUMD%yc~Muz70sEMnqCJzu)o?#{5rmh{??^O5vBj-L0J4b{DM`doDc>6LZgzyZZ=%A2#fw#>WJ!#3Ec~K{UM*X1li_(|Pe#R@6lfxzNV(-tz(;bmP5q+nT>gL=F z=!upw_m=w|IX4BQHtpoR%b9?(FteP6bF)9yZ7+NSa>c}48|V1-Oisw6n+c$bTZ`ZM z(N~iGW%&#Z_}uX1Ki$a~!P3G0{qxyujcNCV5{c68*`AKBUw=m2(jWGr{<%;s-;dZJ zYc%`27t^vkdcaL9%CSHz?UnYQ*vG9|rC8OW3S!$^mZ5-qD;8JS;?5FvV}jydCQUIvU&RmS$3HEDUcBp~KzJZg{y%}{ zDD^KRe<&>U$V3Al?|dcRP=kk%F}w>Z*d7XEk`p?VKV;e#_B^CjRUcW|Co9k5UAc8a z09@BY=#~4I^t^Lt+#!^M6iQ^Gf1Upf4deIm9@#r9F%55YMOs-r%7T?)lao<2D0ez# z%3-fV8cO*UN}zk|j;$M%zee5V9ZzG-xu*k25pXKGRwA3j^fdYO0JsA5X`7QO7ywP| zWxcGerG2hr?Yp~cF=;5d*-aSf@$4U!6i#YtH6~5oWAO}uj9868_HfPGIh1m9L z1}f`nQheMKbAE$Zy;t4G6@ad?d?k3cT+P^UZnIJd@ zm1H7Q4W2R?0&b+*N^_2-kHNjGvz{)^pcoF{3vTw+ERn4fLJ^BQs?cu8Dk4ds$WwxH zJNi}Xi|b_ckLgsfy>xkrLZJ?z`vsJ=2S)>(0)~K6d~EjS&ooV`in}+St=+np&ZL_n zCpZY1S}2IP(Q#xXV)Vn@HanG#d5TK;aI47jYyM}o^E_1!)N6|Es-s8M$zq~d&yX&s zH*Nq9_3>`Nc#}FSF#?lxl!|e;#jygG ziMDWWY_Vg6LB>#g7Z7PcNe2IsT5$fttB9WuL=k@&{smo1TnTIFIMe378z=2mj#|kd ze?=I0chA8}s_TcQ;wFKAAm%eL#}5s#R@%)}CeR8_jyeSP$sZofn%+Qq2=#^E?$SzU zv_?m%LA?v2>~K*qV!l292p(_7Dr8$_+uIcg#&OBzS8J;RtiZ?eu7MiBy-7ySOz7XA z@CVbrwwrK@#m2NHYX0V)Y=-;-wtnPzTxR$`9WQdkYD2Ics_Y^wr&L*OU` zcZ$z}M50~swxH{yNa{eT`@9=#)mcH5yJAOs&(9;^jG>4BK9Eq}n7LD~+RzKcCp@W- z(Yy?$@bE=&)1lhTgW&45<##3yd8NL(U!VPl!}0rY{gg|QcsA?L#&`>Mh>G|G7_8!t zUY+}ro;csRQbNAeG#692AKTK*$N2*fN*mk+#8NC$_Y&WhHW(qj@k$@;ep&i6DeT#_ zh*SOc0RYYuU!_awkmzDn1FdZmE}D35&aghUkojO}qj8)MNsz`PDKsH%kF zzE`sbSA^exNvh42d=RC{RsTFeHL1n0_uTr~z(ECi4t>kJQREoDggLM?T!eq^oLRa3 zaw{Lp1t7btSIXDdO zg9X!uZpYG1G2hfYCZ8KX$&TMXrLD2@39p^-SJ^+y66XJLZ;?3r(NXzX`^D>BLy;tS z<)4-c9X(iL(9Lv9N3PRrc#)c>JCPzRkAD0PU>_$OENakidT!=TVy-vw#~wlJGn`Oz z`p8KM$fR!v&LQZsA*!;t>&oqa1i1vfW4LS`@#|nDrmlUIyZLB_?wyFspX3x86S#+o zLfixTEPHk{5aQ+oRhVv8He96vuNyhp{ZLDflc=3rO{$*pl^WRfvGlHxe`TX97{i6v z6#B3l;Z#)(FhJ|!Tk^%Bh;k$w&h+u+uG84zHUm$^y4S-h!H2UF^)|nvoUbmB?uU;6 z@`j_Br|rOCgZ6B3bY`o!E2tq~pCc`>=j!Iay<~F!d$_+!OZFW=$9i%&Ri-rKj<(aU z8w?Zd3dyQci9(`n8)a2=|U-H#9WwdE(q24aCt-8n{!)^6aRWSNbaE7*n`3d)f)*G)@Z zUoodA)riUi02GRr)R?7_lmRzy=6N!7F;w&g8ojwO<4w`Lc0;~W(oJkML+%Vh!pnjQ zQ9njKjbmj|3)z@FZ&K10{?bDeb;t)*cmu^=9QdDB${FH%rxsZ7& zjs}li#Ve^gQS|qE)ZtC{ITG@zc&OHF1ix73iU?3yeB-G}yRJI;=;7AmG8dP^jOv{c z$Sk(8W42nt;bO1$x!F1a&NJ#r2gb`?M)%vSU9tU{54OwO8D)&geTsqZtX-?vvx9+u z+dyGVwf1@pz|yj|aMNuU$l+WedX6_Y6=dzM#K-N55(`WC^Ta_Ci_!%V5vG&PB*YS| zKIu|o+LhVqo+E`v%x_otb=?kWeQ5?1wD#p@W)_MEUm?HTVxbW*#RvYL=pHHX@wuk< zC&uzqKL5ty!M|Ett&LIBDOUpC7RP_@0lUl`xGK<-4|m?=uq!D}2Y;8(Z>VWP=0av| zd(8V@JO6&@n?~Vn`mxbpl; zpi}I<1ZZi?1q|McpWgFWXg+IVX9bwA>iyogt)uQX=ruB$=oq6a?PAvW2`hZ3$}2vb z-yqz8D-8^%CdDZGZO#C9@^OQVAi9Y1$p)pxXAk>3b5YLW-k%CWj3W5!&`R(DG5}*8 z9)#RyqTkN*EwWanL!WbcGbYs}6+$~t#=Y1-1v%wIVa=l|2+K1yY2MxlzsMHR$q&#| zWs~XPK1`;ih5`KMF3@`3D*E&JrEbYu=Onm?ND7t&_qeBXfYWt7% zpu31nmHNWQG`#yY$%rjgBUsBpTv>=IjJ+oeFeZUle{CJkWiT-U>;Am|j^Jd;<14tK zhDGI9=)RJR78{e#=ASgE*X@71Ha~YbJ2+&3x!CjlQtZ5~`39qQI_dN;$fs$^32FKs z?q}NH2k-lXI7W6O{u%aVsT+8&rl%CTM*(v1W@UxfMVPGiZ%4V83#nqM^;!~XLr2=3 zVqIo-?wyUz^NNRYM6Lji12&3~zGs_i!(i0le%S8s9({Ya&j|-70tUvB4`u>HzNGO* zSgcSjF}>|a#$kXg$hj1Kf|xxyI1;Z>u*Upm!f{D>u31u3|0}&)t}j^h?-Ql%H#1Kq zZ&5a!=6GwO&nsCuGO?rtDc2m4+>J$8f@8&;$Tm*J$ zxC<%NV7asPZHYs39(r;H$qC+y@En3&dYK;{duISpr@W~G8s6vlO5jXy&hvCypVQaZ1;K%vLtkZ9BxqY8U%;NWJ7L`E=piitw?S{j`O z?I|?ia(_mD-`fLklB}+Ys%UCROGOwdpJ-`wGf9Zk5mE==gi);z`{JTe=u&F`*Ul&6 zc`_-j6LaTu+xQi7utOt`$$)u-N&nz5MV$afvR2j&?w3q#iW-J97g9S ziW(vyWWR;07v+RLl@JFlc=v@#-e)f>1qL}9%3Twk(rE`AJ|;#wSc{Zn%v3 z9nkfM%AEqnJI+k>di5~~ITitz$*FUbjK5*OktsMxxV}f08Gny@bB{USBH&|{y^?c& zT<8ic9MFN=;$o`+=L(0Hus)Jy^As_=M=~#7m@6oe63tZ3smNmydJ0x9bcQ7!$m{flrpC+5<7R-842ViIJJi8&;20dE`f7Mne z#04P~F+S379JM5yUYSX*?M%QIkAX?Zq=u( z@eT~7D2#^)@_{G-#ZKg?RoY21>65Ibf?UF8n{n%#*Z-SC+#^ZzO2b6gi|FTefHQ5W z1SK6!{@|));!Gg4d}_94R}QQW4HK1HE{am&2XCwXuCe=ItJ{&!B{JGr4TzV?9o`nW z8V8R_95s8<^V6V!`El%t_R$~y8=|hO6)nKhb1XiwtXLWYWWucCB_J6q>kfSXAQc z^~erbhB_J{P?62lwn@6cdB-8Cq}SeMU_R&90T5t1bp8a2MmBz|nLmyYe$_?I!cBoaK&-0vOeC<@dW!M{uv#=Ib4V0mt z|MsRS?Y}`Z;b_g1`yqrx+s6-A2Z#O>(2EwN_5Esaq3t|YP2%y%B7xkAVlDUKX?ai) z`LriMUnkY#4N{5%0z?0dvrU$~*Unzvw#a=jncL1WtEM(nOPPYoTDNJ6;e*Orqw=6R13=&D>(pp!^~`-8CRx^GC2D z(uDV>h-1Sc0J?_F@mU;sLt(c-)zz)$VBek>YK+&1d>0I*-QBbE4aHplf~NRusD4Xy zLzxQaLeExjsn;hWaMZ^wgCbP^g`R`&7CcFe$VshkOu`BS=4US=+@?qUT4GJ~0!eN~T&}s{?@q7!L-0Hrt}V zAOI$(NV^R3PE}<9^!ye|hd6VE*Y$_)`qi6r&CQ~Y9vtWV6MCh64{2wCaA0B77ri`B zuR>myXz&{vbt|aMMvE)PL`N5+ir5~IDoPTE0ZyAW0f|^b&ahU6{G;8IyQ7qs1fEb> zC?{r=W%odu4u!D+1tRIF`Vp`4Ovar?wK`^f7-SYeH-EXjX&o;Y&weI*>MEV9%9ssg zbPwD^O$zDm6e}}%2mbnhKEr+fO(V`3(b(0}GQ4HUzQRu)6$ShWca*AGQf9(0viRz( zO;HBjI&hy2r;*vc>sK&2$1J&ar;$n1>>N_fYt9`y*H^13@TES_6MjPZUIxtzcY}S< zr!-kTMhD35=n^4+2o7MgHAk0vGY&!vj74QelKEpkZO*{YM}Gm*Pt?Ohq|dA&^@5BI zO&r#hi%$NF)|YANZj4K*6Q!VfdqjJ>rz-Em-yZ$qnSJPpb*-&C1E9~%htSeLKKGrK z*@HzXf_IpGD*&m@= z?G_FJ%R2TqTNj(XWiRu_eFEKPXf{}G7l^Y=%H?p`^)L}gYA(11pV`Fw_4zt}eYB9S z(oOy5S7q%iPb3yC5CKFr=(EnzXRPuQ!!<4WE6W#5-F`$Ix;0++y58 zl}$M)O)eI2INaB~rB&ymakJ*AHYhn^J+_W7GO67CzX1IvMMn$bkD=?0jz%<~Jr*J8 zY+N*?C@o$V1@7CCrANR-5j*1`rUGT5o4rzvo;=P&uPqU6r>|KNTGLQCDd7H%>aL+_ zd~a8ZMAe4{au~y)bge4f4Mz#rtZC3aDj5_77pm6*WMe=$1^kBwW? zvv~}9*DaCVMG->0G3219pB!yG+1s0vN^ zo`p|M&h2W+-HD0cMS94NS?KVQ?6mQpxv1pD=xg_i<+VMT;s*Me=M;=G#a$m5@Dm5?P2si{^@ z6_(hk)eU0y!dFD!n>E}sQmR&Nooh3f z0}61;`Og3Q-_?xBF^3`cML**2Vwi_C`Z;nBZ6})bD0w{IZ4=M`Lrs%;M#R`9LLx27 zNXyS+1%^Pri?_Byi4be9x%QP?TnA)=Q!VxHd~@Zs<;W>~uOg!W`6&aQad?F0Mb&uc zP0~%8xn9XtaY~%zLMG6fE@$$fHAucjMwA(McK0egr3+>$MUu_u|Hc0e|9R?KnX$6% z^-qWig0W$_QxvFmCgGhcCr=TX@A}9eVECqZct%i+wZB#*o(a$LKcs;rDHU+V;Sv?%2}>8 z<$@IAwAR~V(w+NN_U7(o67Lelp2#^+I z2g~|)H0bu3IhRXH6^>ZHzWi^Ljt_4On;fHxf;ssu!<04VgzwK-eJsxp`L<7fnH0_$ zt@657<6@BMv#s-9`-42#6`20pBkW@bqnWhOGm=3H4ifjm7!f`F-=f90&>?cux8N3M zLT!>e`#J^qkNMHZNmKo!bd`jugSGn`ILDtY>`IVfJllfi-Dl0I|4Y4I5pgaxqG19^ ze9D_ynm=Jn;!O;BknqLwh53oW*Sa?L_)bmOy7hHFbrqP2^v@@GhZe38lXy4>Ra8_bIp%}o=TeoYyK>{K9QZ$<@PET85`&(1 z7gnaFaz=6#6&h-@UY2H;7aTR2Tfl`YwA{MLK+`5L3>~KV1XjmI6;SbeM~26yCSK8KEh_`;z4WJ3%aYv+~B_ z+AZ9xTl_V|0ubv9RmG>flO9dG`JbCFsbpJOH4A~Jf6|&iSyEU|82t;@&qO?!ZqTR? zyfpLK)8CxMo~JRs7P+{8o>KkMQhgh}^_BE7y5Z<)!5}U6m+_*PeV7^euIZlp65~St z=Js{s+tAh#vxXabS3h#Hj@Z{}u%<=*+(5{IkI)Ys?#i1Qo#Zx6_85XxrgfpX_C<&Fve};^{x%^u8K@d zT_0aB5e^E1A$75E{dpbFD>gUtfQvyERb~TT>ML^?HwM_KjY^5H?SB{A-wX)gyvPixC2DWu zZudSh?^UK*nR=$*9_26o;+qVoB*kuBL#cwHjVBwKr$Vr=S3}Se|9^&OgEX&RwzIqb z)5b~-FbC(^Q^fNVv}Jb#v2WjZ&WhU@a>#AcePQ}e84fisO467R)7<4D9TG7dkn$=h zS|Xq#+}b`v!Hqg_*LIgzE)S*PfisY=&EsSs@ z*L_Q48p9j|V&oXRw@+5)u0uL$be(3a(DO0_fO6n#<{(?>s;4o zykFy~r(oxBH|8klTg$jEIg5j7OBW$RzUB0umBuq$aEgOHeh$fohu&FkgpEDqx;J*~LgH;U)JN4fDPLqdek4e@PDD6P$29Y|h*P{1 zD5!~#j5NzN+bW%yZ_hyJnUEd1JhsUZQadED4BrrOL0u9KV& z;}MUHQ0j;o5feR}4B>wh-jK5MmJHPSN?Cn4s0%opY>(AU${FW#RJi;Zf__mkZb2hs z$9(C{H0XzzD1EOWj$7HM_WtI+cTp$6xCuWO!TB!rziZEzq{N1vt_57*wL7d_cLcr= z#(g=97EA_@YOj?-hX%vQq|RbjF{w2Dk!w=>1cUK^MD#vB?|fO~GH@hG;FYGxl@lqb z;}IjnHRGm>fg#dAU!)@bdpa492$y`qeG|Ji%9Sb~nw9Fr&(7J>V1!S1vaKGOJsrmMYpPvGwk#W1+Dt5zu zEP8GKpxCaTciYmo^3U6!1U9+CA$|#RWXxO|=W#^!%dgpvJ%9K@UEds>Mmld0^f3A( zKjX7(S~~0Bq$`@+Nu}J{1b z%~l5GO3HNzQz&cG({OTf-gT=;9pj()=E^M7%Sw>xay5#H4gg6Ki))OHdBslTAS3As z@yW(f^Upn2>8HLGr6u7R7-fwjGQV^6Vpak$j&xjjzjGt!Bbk{-$Ue{I^=s0N<4Xo* zHEHlJhN+UxT6m<%%|#TAz*$5wuC$*Wk!!4;@C<4yIW+`^<;1Ao;r_&*q41LX-{*V2 z+p;FWMwJ&&7jRee37vO_4P6`eG@Lyg2QEFY|3qNY$Z`zVEgIgKC{IJ*JgOFkHJ4w| z{%Gm;!jAFUbh%fJ_^CF5y=Rw1ccz0mo$Omgb=>pOFH!mzA{RdRe(}7aEuP(9__?`Y zLREf%A8~LsIpoG<1JV0&qfm!N=qadII<)3zYV*x!txGn8&t)y>xtdI%r<22XLjxuz zUJHJTMg}<53(4$}Z#C!Ni-(FWruyYIV<|-9cFt8#$ILL2dxGgU9pf9mLX+GX-22@g zlO3ioY}slG4Mdq}c2cWmKShoxeN!p3flctMSoHr^82O`>P3#MlU2N0GsI*0fv_1tj z_+|9!X7l>|(FzvgnjLEQ+~@X3Zj%`*=AB*AeDM{BZ6m zLMIx2Eg;WSc(-)FD14`Tuw*Jl#=)>80_EpHy1;6im4uoiNQYW-G|1Xnz2UKcz_}XK zTd~1lx`qsv&ChsjV_KIrKX8W96(^tmY(*M{S`@QCD|!tb43FNxJ?kE<&DiDd`0GjA zcv7!`Q|VN$K@fMhb1kfSePQxdP4=$XPmL=dDaB{%VF6|XtA@hO%{RTD19RHmtbWHU zi3D`*QKw+WCu}l+XtXzVotG|_!Teb|c}h-al+WBae3-r||G--c6!k}~axl}Q)WMBb z1Vo2y_VCk{WB+3sqE!!tIcKW~g?y+v*kon){f@!@c$*TXC%`;XAs6BNn|`?K$;yi# z*^V;<(zicU?-L&L^8T5xWa)}6xx#|vU%gX&iUc7>O5__)Cfb+|wWb8)Jvwx3aoJ;G zV>+EnGAfcsP-qq{Qfj2DS%A#xIg5|eX5*B9gKRs1?~pL({sG zWl%Sbl+E?e=rCSZ`Mg&u!rB0CekPsfeqf}^yO$|d-h zU+c*Rbzu*~L237Dtl%L<06zbn*}?9yY@S@y2H7?e)lz*;QEBvUn}b!TsZGfcgGfag zhTv;}(ukR)76cspCp(eX3cWW@!$0XVK}v3wf~PuELB4Y46(^ikb1^=F0Mjy)%3iLxq>#ppdsN-|ztzVryEzO7Mg0nt_CRv|}V zO>RlBa8xusd8FwfLH4gch2`2g#rpAc-~ww!lXY}bP!6_CNTE)|%Jx^;1I2)eOjdsQ z@#V%M4(M8M1$#o*dAb5CmQ_#Y^_v`hiQ%h~u_N7!;N5?i8PNa2%G+D+b{WhVF}mRd zwpVCW%Fl1oxz}j!@n$%rcehb%7>-wV{d`f{IHNw+^|VV2hRze>@gex0E#U1W^U zvl%VEGjVR)Lj^%VAV#aqw*F{wosJW6Qy#%q)VE_cIh@N2&JoJZe2a=Xyu@$Kv(Rn8 z>e?zcx9~GlFqdE#Nj#WedfShZm`*?;YY%5S0_<6og0SVyw~h0Dzfmj}BE3~_)lz)^ z*2sBF9N9{{KGh=UHwwyy@T59nJS2E;>nG={J?Pmz)gj9KK(bX)+GO1aTSr!Ij!DPJ~ac!KYm5! zwb05CR$Yr1#FN5dao#5?S#6t*~j{4rS!Q+1M`HbU`5uXsxRTG zr7x?=E!Zk_H$JjR;k*63J}6WQ)YL=&UZf zrvUxe(#%bV1aSaw=&n%se~H7cpV;5Q9Z?#2;x%v-%0BMv3ra-9Zfj7CYB9DCNz;PX zXr)w&#g-b<`klURr#WWqH3gWQU>*ZcUBo-%igQ;kwo}51TeYjKz3ktF=cksZ_~EsP zKf0ag-T73L9d_i{q0ePDFjeiAEJmMRa$yMGqL9V}QJqeH4bt+E$!lyiQ>6}4(|NR_ z=Mx`f#zLPjp*gzb@6!>P<9^L2$hiRZ2igU$}~i#r>N82S}PqT_SgGImD2w3KkNP6wajz z1Y&7>o@S!x1Hb|LL;wzl-*P+?%v6sbG8d`8Ivvp*HP9)aDUfMhSnJdxoc+ypQVc`r zP0kn6NuZ$)00Jm8)MThKtE^Uy!ArGk=AW35vRH3cp8i%@6E=t%3bBkj?N+=e)+pjl zcpqa3QGFel)OD|ACAAAX2&@PWp!cFz3xytbhN-&;`;dNarnRNbk%FMx_xm4% zWd<)swCU-c^Yk&Ey;H*nSou6#f-*dzS)dh)cLABDV}QZ*C$|9HtR|nnv}Qju=q|a7 zEfrWpDq946gE;l>y8|_5=AOeI{-6G(G&)n8NG1&J_f&)Iffj2W{_m7n%`xsAlg8)oN^in- zAz78LV1Jc6Iz}43($|b@pR_S!*Fz8XjkW92m|7MI<7Iw-hDYj06RbC>meGtICpD6!vOR+}PZ90|GHMao`eamGCSk zw*>#?6S_iinVm0`wu3n1%I33DI3=j4#${YdvFJxzoZHL2Vy@HBgTD+H9WDdO!C#7@ zi`RksnV zDh_ihYD;8hOcAOfsw(Gh)QTa$UwC0!oTiv|A>I8f8X%1A@q7Q3cyZcr#j)W=PsjoB zIgB``qZG$L->N8EXQCTvWtS>Cb6ro`s^w`L%1x`IH+eKpHRnw&!GVvyUSTqR3fUyK zD5BMKmKsC_%^Jh=Va3L*{=<36syozs`U(s#micEj6rnM+DW_^Op{98X|JPuH4it2< z2m@7I8fxzLEWqbVC_RLifjvaVn>D)o3^X|AR5~f*C$xCSAOX=Eo8j*mR1n*Byf@2Z zU2O>xSG9lg@hbNQ{Rc-DPE4^r8+vy7zB2m^tts4oECQYOO ziRD(jmM)T)C8wz8vNWG&V{5Buw6~}pnb5L`uIcPh;QdBe5{}V*2b0f5#Oa^OtG&z? zVGllV_E~OV6GD+GNlB zyh096o_!JBB--!VY8R{e=!z$f$+7s3&T8P3o%g&G9D@qK?*_Hj2}(vZgM?_nJ2obT zU-&0759#70uFx4JpMuWZFq4SC;L^^=iICB zjKvC#OzDg@04XkX-@V0jU_M)d9RTmSp7>Q#Ka(k_1zWz#kP!R-(cOL80ZK}~%J5me ztvIz;5dZP>OR3QO8e^xyr}}pf`EN2VSaeAUZ2$A-f=^4%1{c2>QrgQ1dO}vH`Q@uD zlkVfEDgV|hJzgH|xwIaRXH5I1_)t&cy5ft$ih`I5?jOwe{WdupFLpx)Cg=kI9`bq~ zJ|tCzCni*AW53$YNpF(B#9Nn_<*#gAizcs`)c?}#9B0I>v~06HAz8cV@JcDC_ThXb zE+oKci`M^qc;&ic1L>F$??q501gE_%OM6s?m;U7HW5#~>s;qe+`}b^#QsHyRa&bxT zUB=e)0Hv{0!uODOfc@$5F2VH%pS0`iOD|t1+&dZ96fmD{UCCPb?InX5EthW9E@k{U z{xN(6@*0>gebH=wE=7lz&n_en!b~Ebz=cHTvtLU=;=Zj=P3qMjC=BfVPLT-+AW!xZ zsnWJweuv;r6*7U8>aFI}efRvW8cKCtYN(_xpJsbdHqLTxel-mwvm?<0M}N8B>}lMK z=;?Ya`nMihrLSqs7n>oO`b2ZBGDR!EYiWU=LQ9$-LVld zw1h?OqTXnrUo;&qyzYCze(%b=|eU$#mgK*Kh_(uW<|KyrsU1$>;yBSwmlL>y?pRC2D zr6vwax<+9nj@HmDyN0rOhANvVWQ}m-mjr*E5~N0w{%MKEsBv9c5Bf)#3MAnfe`f(C zUynpb9arD1=ZT%15YOW}p2{=pQ^rhOAf0JQA*=YqWA0Kh0m5f?%$Bb2&f1bvpP-stG{Rf^Bw@K7O- z>hom|ZF##G7JuMFCk^9@VFj%%Kok}Z`X;%9Mu0<2KncF5Cl-<`-=esCZOv>VxI{Fq z-5KjD-|0Ns$?}?K;{2Pa>AYgIOzB%RjDmkOC#@_42M9=ES_JfWqsoX;_=A3)>`MaT zmvieY#NuCaBU4ReQ0Nj-AMc<8@-DUWOK6>_+*DjUJmyX)o%2=sS~RDT)0dXE443)x zd+!}=XyRIHH|Ecr?}ljlIVZqj;Q76%=yc8eCLerG_vB{@Ri5GNvmn>VuLKD=3p$qK z++3{jL7Ut2E_RCIl&zPP_R*2w{R=CIQP-4K?57Y4 zxW?xhtk=sD9m9WAf0My0L%_^Lb9CjG=KFM~oSkL+8i)-ncV^OAPQ|qCqVhfHm_{)X zkFXLaaBlpLs0$IAf)Vx!s{;^T(HDp0Fw!$h{O{NPa{wGIjN&V#STCdqY^pS6rTe38u)p85h!t06#168+NJ1ffEFlsF`c!PB zaT>B?D8(T5{=X3Mqdz;9s)gdtaWvJO^;MdmBf=Q~lbe=cLfc1+6w>J|?&P^URT;&R zCIE)!8;O$#!XuBfq|P@20Zq+0*Nh^*v7)y=6((YOj9N+CJx++(P)bMlj&P7cpK!o2K5 zO*ac_m3nX>k{w>6=Ac*OH@H0X4PkM7q{;lPNCWlAxQsRjaW!|SO01>hTg#a4`tU;X zq4)%5CHV=Lry_!DX>xce!7MZkoHXmF?tI1fs&XCpXdk3f=fN`1!3>gw7a1B-5EE3c z2`8^;gJf{{(GJsAa8I-HcADMht-kao$2YPa&^dl}@qNPcR>Ss!-~XIW+bT&C3BH`D z=Ur=l%e?1@{&JURV`Aqt1@-5-8e+L^N5*t!5p{z)>U7#bUy|t4|4Mpt!?fdM-0!|0 ze!EaGCB&ohmFB06{T2Mw%}U>pM=kJs6}GmHcr{>uX{LUqEHTOkF2AV-Q;Er#kv2B6fxJW+vngPFr>dTK%`Zn|iLd$QK+FoEA);D8yWA zSAG1w_sc!i<%uqTEO+Ro5c{6hy{nPB*!gyT#ZN0`$2jO;smD<&*@pqBuBPS_<5VL62 zJ!;$UnlKd{ZrB!86}g#94hW$LB?J%Di#sXe{F&)_n^?VRA0%3eN}Rl5zUtrR8`*X&6A)?CO5Qo9|z zt=_5q!AG88htxsFDQp)c2O^ofi}=e|@l**$dfHa^O1qwq;icfIy4qKi+f}IzqTi47 z{_dOJ?1)`ZYs#O{TS*_dx{KH#CcLR%_ZB(_FE`GtUQqB+jZRSgDj5>?7Qg zQ_JzChgO04R|5vWmiveDgBghy3SVUE6*W~!xluzi$ZAhTzq7T^j7SI_Y}WYP1)uFp zV5RzzRu(dYS8~cGvHlF+pc_Uz+&%_%6*j(_CabqvjTc+^1JyW`KL_aZAr_ue@aJ@} z(UNhCQ6`TtE9*&BWR1rn;i8ffj@21Y0WdeAn=ECm8XXS!0?pEoG>73Nkx6eE+46#E z=`86~lIoolrj9LF=qanSlWYjQRJ4KcjV&hXTJf;y(^{NIe66p^`cyz(oH$Mor(4wJ zkQ}^wu|M>TnA6mR%}j!ytiTk;Ba1#2+D7x%efDA@w7n@=i;EUd?`~FxnRragHGV_@RXjIjF#8)naXmxx6GJI3wwrK-S>1xG&uKZvZ$i zl{cau!kLIJ?Ckj$vT}Tc;;|rG zQJp>Z37M7ZHUQjO{qGpOVXv%q1KBybK!`GzLw~;TYZuenTE~F)ux+1a3zSC4=PaiE zQFrY}Nscr0XPLPMr@M^;p{;tWC~xo7bAp|nJ?K<5{MB64Qco(TB!L{&3d@2O^B)eG za+hyRG&H5nNyP{6vK7#kJa4&oMJEo!Z;oyd)9o&(cG9tx_? zGXC{cIl+B=2?i%^+n3iNUH%hKk zUD@Z0HJSzGkOy4c5Q*pFI3=%@EKyGEe3@pYiPKLj7hXC%xY^_ussDN_=+l{6eaq`E ztHk@3mG8JIOmcBS=4UBwmUR2^+i=gB1F1`z@&fx?isL$h+OisAUQ1fum_fSUWaGX| z-Y>^*_1)b_%9Bchq%oLqsLP1D)~QTTntYrr{Waa(6LEtqATihitmB7-u{gM?MV!=R zuK5kwXGC0(X(&v*x5DaihGIx+qn!Fvi=S57mv8F3T2^ywiwT`CNE>`*E!bz9EiIwE z=)6z|%?6i9)q*O6VL-352N#JU+(8oI{BnBb%@CcN^QhblORjHx;=g&$7PD>df5^`< z2qU`QX#ex0OaCHnVEyQ@=+tIHPlVKT{W=Gfa|rg%7&)6_kW^G|ADbksyD^p|Eny>6 z^qN80+!2C;KcCnn=aw{+C&{OVvq+ji^aOA}Pjo+dcxh9n=QEc6X-D`E8TRiVT##o#?{1-op$em!l`K=}F&w%Dju*CDO?BRchjT_5o z9+IZtdvQI-S@qgBmxc+~EP6r`&M~W<&Ie+!Wif5>xO41JJN?%7h_V)`rP-;$)N(K1 zQ22abiTA&d#7>Q0A@rtnPE7@P)u@SFgfuB-@&;|e6$$0M9Oh02qk;TLU#3Q|f_5?# zN*h6QZEnb>N8+nx?KH?^jS`k5YDxZ z=$=AH1Vn6Jb^lt!EO7IQ00>BrVkv$R50wUV?d`OpJPp#q~66B$G>H@X$5z^OW_M- z2mD`4VYRlJjF?h28BonJY}s6~|HOT1#xL>~=*^to(>>*kczFImL`C?m zsrI>j1)gn)f&`R6^yp#u<0Bno(GH)Yv6fQI7K}h5zMCgl8K!*K$?Sip55;|2Uo+~Q zURa0;OHs^~Z>aYcLZ3rCDlQ>PE({PfRgwH1qa`u2j^tOZl#$-IDq5AzgD+%8ad4#q}TNMC{R&qv=KN7`1eO(EJFJKUlmE`iNSNNFPyYwJM2?phrATk;v<X<^mom#gwRjNv;a0i^Wk2yl&y>Kyy8KZk~NR1ta4QlT=$GAv}+GDZ(4 zSd`{FS<5di8#+Pym<%SNk! zgNgHD_|d|h_5~v9&H|3AE1;~#3M2lVMSD2yA|cHiQ-=0$o9VLBG#dx`*O%vlMou)& zbWBDoq0Uh>`^0*uJcuH@xOuAEsM;^GRP*wY=m9iCA6j{ggE4i1H`(K!@GFf%3s*U` zUhPumMphOTEuI|C#K`HeyI?9l{IqS;=GMdJPm2^;CUc!=wG>1(7Q6&6Iv<_yH#rWU zZ*q|`*r=MV+$wgU6}++vT;HOyvS8u_%5*eriFb6BwwIDx8Xc4mU;P9%f4vUG2wP4( z37))rvTS`vAI|N0BkvU6`+8}z^c#_sO$EO)U zJHAb>J^>Aak$KKJkjrz?6wuy^71Fil_#Ic8TQ3sCM?0V8uqivm5&TwS`WzD?$LK|; zDd(?=7c@N$OU|mKh2PUDdN9+;FI?VWTYdpE!Fxwc1Jv_BBCffA(6v*DjsUzwTC;`* za^oPu|CSR(JbF7vu+npF;>@}%HZ#l(tZ5^q1|a6Y9}- zy;87WAX}~s&U3M6-^kC^S>r_64HAdlNti4C5f0& zp$9u5yWVJv(N12a!hng}pI`EdW$aP1Lyo3Qr(lyy(Tfl*x`&KC3(JVU)59ozUW~); zOpP&Tw(cL|XUq9=Jw1K_Hd#I8Gv^&Y%oI>Zj^Vsp_{P-6hh;!rM3(`1{jLwm)FEc{ zenD&-o3Mt5_Ho^h*bngY!KLXKX%_!?x_c&LE)7u0@9wcY8&`P=X?y;e{9??O zbvhO(q(`4i>H}6LN@8Dvu9vg6ex-Y=`A;5AnAzXC)L>^7=DL<)tw3sp2aJmTDLK3D ztx3(tl+_QE38p|w4=^Wf9*)%O$f^uQ^MwP!GMD>-lQ*TLIA*KeNU)Wye<4M0xNn%e z2M5gpI{*41sD(v57tjjz&kHJ{^n_%Mj$P#a3KD)Lg^^D`-`^oo6rxC(HG zJGVMzA&h-9NN3~E{&J(F!-bfGtvn^XZX%t?ZA+Uo(FY;jd;V~?pTxGg-_gxCSF43g zPC3JO3cQXi&VG9tmRM=?_RFj#A0l#XJCl&TV@=E73p-(3%1|)r{OfG6vg=QXp{hz* zej^qSGr;ooU=!aEaqKP}h5ToZ5l7f`ixL1av8#T>`bb!YS{8D?Ugv|>GseTUtQ4KE zZ##h-fpYDe#7AIB^!|Of0m8FSj9t&xyt+t-<4wFBecU2*KDl2i!%MkYbFw zmI)FpO{7_P9$nxqd3K=Vn{5w0V&=0at$+3Z^qS#%z#8ycW=a0gzIf-d>vtr(@b=d{ zc{zgEQLUOS71i?gfUSX7<8#4Q#D%7cG^Rp!)!4I0B(qXbl%|6KPL9-hIC9+B4HnGm z?S;F=6gG>qj+@N|rXP|tm%|e-uckO0*}dv4Eu3`Zo?K-RVD&~jA5za`r;cx&s{WjN zsq=YifAm!3=1}WH;d(sHW2F01VzPk6lPkz((Lb`d$#^Eo6Owjo9j!6{httUUEHC9N zuFM~zF3&#y#94G$&*fLV8ZkRPCTA(ck%=04U#hQx#fscnd2rDx{_Uk#4iKHMUyC71 z7;J9w#;=}X$D${Zr#vPS#1W|1N{oYK$gpI z_wet}N)^#k()G>bWDX4!`rn_`(w>Ib)AXhD*o{V^I5m$`cyhJy=|{c$u^W@uvM=Yj zxCHOB73;NjRQXP^Xi8!Ob@|nRE9~)9(QJOSBA$@rDXSUy7&%ck$xksr8=|X8H-Y)- zab2}1ZSFf*bJ-NYa1BZ}y>(yihpHNvCu&pNsMF}0!(JKw$CgPs#|?v+m&HFi{;^OP zEA!0@2)Q5R7SRkj$GnI#X|jK|coIfxq{o*G9;|@747R}n#pK@gU(nR;O~@5UL^jN(8qRv0{6a_=e?0m3jG4KlsMVDY4A7wZ*xv%-4) z2X$Wj>@3UO0d=su+YNbQ#l=^GD>dLM!E3_n-+k~Gvyi5D3dFt}9Z(RH8na@r(H^Jj zcJ?2Nn7Zh&L&Z!U{+bgHAqvW?;Z>%bpD3Ja6gkq-9jm2v^n_EBVfjT#@Vx--{o0^| z1w=j!d*7YjF7)hXZt+;egToX~j%=+6!i3V&8g6q#nPooRm9H_VAnJT&H$5bbzjNc) z!%!~!;6-00x;5Ndc2r}BMiC2A+L!63a0voD1@Xh*Dlmj`&Mp%@jX{{``I8W-hc15Z ztqA9@`KY-0=r{o0fScZFLU0M@46RBXsy|%o{3HR>eDEGLESGyZ) z7nCA(l780aD7zc)mQPx4u;vVH5+c(@6MquY`1v@) zcQ))J;IPvF@AB@nRXNOVyK+Bq_5)k_a$Tb0X?(7)m5_b-Pj$6mtMo~;A6x%mYyL-* zUvov@6&WeGZDusl(Tb9YH*Y;j9?ko@6}~s8>t6fMBltU(;m>21u3tldIw5e=o%riC zU8p>EF7)mW#-dwS-CbNsGn>Buf<=$ldR|$1xYzew)*BMD4-h5XOd8|Luim9G8hngl z8s#x~o%HOc4QBw$c_qfK!EVT|XhxB)=@-MGsjbN7`7iG-X!5%@b2fwcY`>AYr*)%) zkzxb>Rw(W8&W|1?wzz_E8v4_~`Acs@m)+q!2ICDU*rFplLEDj~!Rru-$tYo-=*(~q zkUtXjsxu?~34NV3H|P`UZzo;h!@%hNRcLPb&A5H%i0#;?+~@Yu zd4NOZX=HK|uKYS_s$^o*%X{wxc4N|(V1rx#7m~UHPZu<2mbvstcVkBnI{$JHKN5U( z9k+ye9zd-iy)lxhOD><|w*SsD{U+F)X~NALrB04QW&7x>>YWimBqU&Tv|=HU*$Nvd zJdjEiEQ=AW9!n+hpMkZcr7*-T*}Mu$MG?AvV4bd=s}(>Y2^J2(I(Xb;$j@TLhc@^4ku%ejguix z-LP?&bqsw087%M|yCu*$;jlSLms@&ds*s+!p6f?0$G+}$0DKQmEkO7T6>WF-l}A0+ z+43Vvq^+i?YbPNpUmbbv5-L_XAl4sNPSM>UiC^n}&)M15RU0zMgH#@ez>+vSOn1~k zA4vFwjSf`XO~2bd zk|g*fvmkYh=BZB+SO=80VQls7$M;hbj6Hx5~G0uc@5#)v(-q zmD+M|b!xvrkP=+qY)G+zHk6GVla6yY3P^3uk9>KnPjBrJQ_2^cz9dXP^3}%{5r=HO zTAM*G`uKI!o$#i-I3pb?lVQ^A1fxm5hTX?}9_--&x~4D5pkQ1?`Oo z78{to{o;F-cIJXvbS0hwkmurtT!ZZXOt3$ZA0tZbKiU9PmFLBwG4nSE2gIIA&5N^B z4{7`8Mkt7Mf@;h9;=W&T$EGU8S$da{BTe{xQ~JtN%-X*C1A{L+qwc2dF_8tcN3_Gt zjQ<_TKV{_aA%>_jsy|=Q5p(T5s!?Oow!ifnCt6hBr-TBLpR>EQvjd+`3p(*k zzYo)RtthH|yCqqrRiYr{%^*JBmk`j)05uU$hy}`<^KS#s{9DlSSFD-lQKG^Kg!WXT z>EbJfirK_LSy`PIYH^o0cEE8rl25%*pD+q{;!fm65J=UIhPj!9b`jwN1H#79D?wlw-amDBi(K^I-PgITS#g;m@iX7l-KutCGZa>(F$`M z?uUWoi4T7iDa;^62Qzm4ceF%w0N%Tn8ui~ui78Iz)SFr@U%8TEF!`Ag z1hY=TkkQC~HnTq^j!Xeu0G(J7g!Tco{d7#z;Nu3x`JJ_=VC^@k$(geg-=zx6ToZ!j z{Yn$b4A^AX!X|WTp&@>35$s82vd^NPes$D=3Zb(qiaIRGMx+#9eOJB4?dafAiKMF| zos&mq=l2&u_g*nucgXeB(v|?=_PvK%o=IqyEeVd&hQdo_23>qX0T_TlPfMu=v&Bxe zKV&lG+IejQ@~y;LTaj06Y6iUE^kfN2$u18!-^Y*`dw;X=-9yB;5)Cgmk5{loIun3x z?XRyME>3Ia{rn$6GLj`YOL=(;_V>xp0+v|k{Q&jHcfE^E$7x1F0e)(SIAr~Nu&Gs; zyU*+L8O0JW0n1-JEqX4}dzKycz#78Bt*+09Sg&?8@``!=qYOg6*wS+ECOqN7f0MrE z=QuAZ!if3>c^M32=Ogff%75YOG`Drod^D<&rwcG8&>dZgNV)Ac<7=U$YGEZk@zo&U zJ!@0S*Z;zLLBuc+S{xOomOhFw{6#*UP6Aq?)!-xjfRSy~pkehA-es_$>9 zfdhCsiTZU1s3xkN6D&M;Idee~xd41EdMz^Q;!>}(>8c~G?oGI;M$VxbQhapkd$ux( zqrWuTSeQL>zWsz2!YXr)BdtKhExL3N>$;c|`4NSnn{N=d;o~EY1nBSvo$Z>aqF+?8 zJG(NW;IZV8+4Z^W(~PZZk#ff!qhFX_u|ZV89DFgR!u!ttDEJ0Es&e6F7{^)5nD0$4 zig?DpQt@$lA1W9M3$a{!+O~kZB5v7<0I+HA4-GT@348~MQlrYGSOPy>lt!SrGt{e5 z@;N99`oJ#q*@|gte-S;6akQ_EZh4dQ*m6!T?hQBO%Q;!lKn?cZ@p4V$Ciii}S6(P~ zPbx>7*NkPZZR0>HNlS=qP7aaJk@eL@n1r(wy;mwGCtGoUKcD6N(h^&|ct8_ zql!6q4n7aKYr+?i`#%B^?}qk?ogH#0jZgXx<&PG#=+K47t#rV_O8oRfg_r2Q6u%NJ z5wNs|sTy&7Cu>_a`~9jvO~=c|>Yxz}__HZ_rY!EQgdy1q`@~t5Fl?1r$4jUKcOLD0 z71P<=1uy!9h1}}n(}fqtv>%9uw+dWD7ZDx+IBNSZD4skz@`HYP4wjIztSQJ5F1qVK zK$zl8KHJMQD+wc+PZ;6!3P17mhhu4VU$~J_qixiQ&yb9eCCI%$tX^dk9MaOutCU&W z0QATocg!8$xfrB$Wkl@zV{BD5X%`l6b#{gtn&jG$KYStdt$K`7W%7FK{>NdE7JGqT z^=mj|NoMK8og0#w2;M9F79n+>K~&+n(;L5hK6|8m6Lf*BP>th{vP#orLi7#l6)I&+ zMh7|SAInnBE3cP3r028=c}hJK^`r~Um^9xQWM*(IfjcH}Kn{N&aEa>{!3ATTN$7W# zK2zz04^FPTQ7Sp2&IA!ADBS2BPWu{-o;O#B^5v!PX=w5NKdo-(RVEIDeMmy_srM95 zrKlJ^&;MmJ{two&i@RJfYLf8n_S3STm@C(Cx9P**zmp%-c?pe*%$cezcQEplc#|Je zcw;l@XXsbu)Ono?Hw*4Cwll$B2Q&T|-SfC&%X=%{dfYG$cV5uWHi)RU5alb2%JH>K zNx!?fso-+g^CGm_mU=s2bL6WYt!9h&Ld+ByW!d;j02ZaubSSt(>|NUQSQ#sIQ4dI- zMUUV-ud8aSDDy*h`o8!hTO^~vs_SMMLcXLJo(dJ@uIC#!p@e^Bm8 zP@(SRtSue-XdyXdr~kkHpxkoBkzPA-zJsMn{y`Dx?*n+et1mmnr@z7oa})L_?5LAf z(zF|2ucVbBp~CpJGlig*v9)<=bW!eWJ{spq&jUD6l&i-ruO9iUmZt77tKWYob_V;0 ztOr5)c-!8{#W9Qu@BTGBS7cNEp+HqHNV9is4mlm7(Jf#&23%yr*}7xuW`b z?sja<0rtn1ss1ez)vY8kHRDa>N(rRKe7GQ6=Vh&*b)j-&D|G(gic+yv7-O0~JmBPv z96v#RyMD(^Qp(?ru{*NBX)$XWR=h%vXi8xk2!CuCrET3Vv#Le}&q~tNA*xL)hS?&} zsHcV@S^}j9%Ampc9h2+84Y8$(k~uv1Eq~X3F@qn+tJeplMTxicawF4GAiCJGx#XBz zU-UZv>^k#LVBS_XN{jgV>bzOz@~{cr_(<70K@heJ|38Y(!mY`-4Z}kkK^kcgMvYK9 z9Gx58-Q7|O2-2M!jWipu(H(+xm$V=#jesDnAn^P4{Rumcz0dQ$_kCUG849@jrmX3@ z1XfT9cOk6D96_Sf8JVDx7fQx_H$a*OAY2an+JwxD^i%XW*X(4iVc)z~fKzMb>Z4WO zk&t)-{7<8^*dpJ06e_K`>}CUm?&hi-1C308bfD_x26x4&}(sP4?VrJp{KRa zmqr(^9$$_&Yp>U8pS%wZ`FnO)D^B${N0sOx4Jj@4-+W#0JDis!=v@icbVAPlIB^=b z<-7MEr-c=DmxWw_2Fp>CmGPX~kk;^~M#n~MSitjMR=6wx^9I!=hSu>p9(uNb(965N z?|NU6XM(k@qR#yyUR=jRxxaJiR@QoU;hO+Yq3Ka6$QO`|`KG_QzYB>pQG1@0Uir__ zgh_7Q-AG67K9qm_?!DGp^+@G|$zdPHD2b7)8(?0xw8_-zamia!LX9cjY<_*_zs_hfy;ok@;y# z9tX=awTjSTugnx`roN~AK#nOLOC{WyYu5MeV#rl8-=rW^bz#m%m1J*vx2}%-4LJzd zm(X{L*hfGU^kqrR?nT-6ZviBVgEE$;SaL2ZkjmA=#ic6XYQl5okE?k(;Z%SpU&-w& zk00B+VEGu=V;!Mr)x|@PdTM|ePExoCIYy^TArh%>B7W5=yLD2=O;~z3ywH~niyB3R z`A@s^T#@kUq$4AMad(GKV&Wax4`H5%UxfS4j_wkWR9}c#Za#!+L0Z#Aq!+8hpSl2^ zAQ}Y%(qFzOt#3;K3`@P+W+AK+WqEOVE&YxpWja^(Sw{xkoMHKM&~qicJZBdL8W2f>qfuukmU29c z?(c~d-WWaJ$7l6?rK<5u$X8OH{Y$%;RNH=jOnGoUpS~#HfI-|TP9&2%D+Fk>>CQ^c zw)+ZfwZ*>htk499+`@QeZ>a=skm}%MM2*)Xx|87vby2>l+rP)oILuJ77=h?9iTB4a(4{5U*q*)rR7u2ggh1tc!|)EEEd`G;AP%yDE) zmBKGvjTE_`H}V0~H}H3o!mNXNtu{f@F0TIpXo4FZ607TF-*w_sy@r*p|Qv`$hXFEtgQh0^ zYd4J=^Mpola4@}PhQsNlk{u<}IZVgr^i_m-+b_#P{DiyVz@{d_4gkK#ALpJf_;;5) zATK(4G4`r5OMWR$D;ht$uFc%&ljpEgcsec?qo#aqpfM9(;lK5NvV_JF#};iWQ0MiE zj5iK@iSV)}`stqdX?EXuKi><7!Gv8J!3mf9)M9|2C(c5z}-_(AaU5aP~f4*T9IJ zS3g4MugSK)Aq8ze3_gpH09dbT_7rZrIRTR4Skx@Dmq#BB>b=Dmej>Dl(_K`H=`j=N zy}59US|L|?eGNim-nzid^xhioXH%A>^Mi+{->HfRf~gV|!m&x7bidKQH=e9p5ml<1 zX!UOgxEY~R6;k@2({~U{=y|AN`l~(hm_oH|bDE)PpCvC_V#d&NbXdm8kp-RGTVt0a z+nm0VDe6%S61SfHE^(0esr6NH3D*W4fenvB@LNeSDwuchWOTC5XaB|dr#uf) zu?qP4lg&fH*mNE~+_dLA>C(rVYSFv6*|ke6lJ8(bTrOMjq*F_jtxjsNG2(> z1Ltnp$d%a=reX}zpWM}tG5=!s?P|$)z6~vOgT$kcamVrEQvGhOv-~<9sP-Y7rbs1y zEnRq7k%GM7L~7T4l&Uz*{SQo_l)?Bg9cyP-wO&gE#v{j}H$?o5^^W{_(X4PhxpE5u z>-Ie=OxCB0mnli%B{<=!>|$*&h0(87g>r_*x@sDxXp(6hlB65|0%N4*JL< zfkMY{wz9DgoCtBlY|~C@Sk?ni5Wbq2I)dkhngDkNX1W*LyBMqb1$4Zpz?-;JC-|G5 zp!-4-4@#~HK;UG;e228i*=(BhQ zzp*GCm$GcaA3M7qovqXEsd^%k&sBuQli=nWsj11n?qcYlSt!8B>}liWf%Rw0;~tMb zs}v*RF*Tiv}TBL{O>lO9w1TsVY%2d?W%FFdx`aob-O>~Xj!5NYIq<3X!HlJ;k%;4a! z!+@;uBHDG72(&nl(KWv)bKx|^f|D*qw`FDsq$sLRMsxbBfj1X$*T`yqXZ`KTa|evp zSZakR+TfL6L1fr=nkhqotr3L6?JrLr**Kda`#>X!Zuv{NvNCLL_qmR_nrxDVr%iS^ zE@!vYpJj!b&4w!c6dz0vuTJEBGl?~254Eqc$wv-8QK1|eX`@J?oPu*-@`T3C_Y3`O zWOOc=CRR1@ky{6mT{#<9e{ZZsv5(rqWaUcHHWi5L#aUfVX%QdZ2d2|n$Nly1Lw@e> zOBANio%VgCQUUg2(R{l<_4NXYcQBMY#iX}3`|Mh75ikp7Z_qHU6EQ#tN~yk~`Ma-u z;qY{y(5M%Ixg*j1i&~nT=wzKYTl?C@rqBJinH+dB%l%Ud)IqZhDk8aqEP~#IFf)e^ zVgh19#^7=;M?_{2i`2ocREB{1NR#wZHkUT5r;#FOEkAFPN~zE7Vlr5-%jO&8%&N!Iz6cIr_&1p1E3!PYHV6Xysq|;wK>%tKK>!B753(|+ ztm!P_kAn;R0Z$rgTB`c-V}h^DgnIg>LTTw7_*JtC?yzeUs4fHuTB*ODmC+)bTwR%M*lE&8U z;ejQl=wo|&W~%+>m`aez!R@}|8d869@l6xLcp4MWzOxLmiQzS5IIICQM&aHlL#D~pQP+LV~9-5 z@1@SFs7K}tDW$)bOerVNNpv93iBwAppXfJXus)JTz(=+>3Yj^Ln5}=^UNuP%5YAb0 z;^-gjjXtCY`)MrkHV~PnmfBF8;DAw2cb7^oKIG8c%q4WE27U-TI2xBy!+yhZ^k`{o zaV?UzlaT(&%^_a>Ic&HtL_W8Z2#f0o@OwS%aq(i39n90b<3<7;>qdqs_mr zk*2!ow>Qu&JHD9q8<$|-3~4OSQiH?F5I!Z_RARM4gT3*g@W`dJ@-EKEd<>1BD0me5 z!BTwX^xhDcrz*dTmtT`ZYG4MuSAA?-nzCiY+LXYB(;yCDChTpem@#E6iC>P+4{6q_ z`qNNGagi7cFxW@jh85Se{L7CmC2qMaWbx65TJ8ieLqRC+1Dpv7LNIa8j_z|tzuzjW z{qy5{W}#)ho5u<_Qb)vYTC$!b+BpZy&g&*$ruXvflf(Ph24)O1FWL-kp5NnRI5RYa zE<8Edw*k%Xy^R)K%BPIe>cCyzAAJ{;QX3?y-r1l^8d9?4ou&E~em=FwJfxqCzMDI{ zxlv(uevb9!%AjO5u3s!UtBX=8huY5y)o}z{&h%mnk&BnJY{S}5feK@nQ(MNm|97iD zeTrx2Lg;49TojgmRNqlj3dK4w+r7oUlz#JgJMyTY47L?vBbXfXf^c}%mAtZ%=e+5~ zT+FI1MkROGx*e!Gxk`X=5jgm;z31hNLySfDbu;Kl3L5JKGPsb#SbX$H#sBn{vX#85 zG-Sx9L}uQP534cRRR1tIQ{>Q?LyCe$E;LRIMnvJS16xMzXeILcaIpPs_`^P!)7Vj) z)o2RdTnDUEF)4Ecs_JByE-K}Rz9mVDT2yuNB@R6rk*n(KvdY!Je?@{ACD+BQjYjX@ zi_n~bcw9#6&7Q?uT^#P)G|9jrC0vsj=4hIN&~Hg2slc^#;cgzfNH#tU<(vzpP@6C;^7t{pAQ>fPZ-S}XjTSFiBxB|=E!k&sWs-y@8 z+Q(E<91?SyT$8t!6d_ey}usncO8R0Mo(sffg(H4aRSM@$9%P z4l>j>x-oj)I{7q@-7$`&b*D)R7l$VCX7~R~3BgE`r))uiY{hwCRW&a!ur*l6Pj_6zHl-AYI1T^OiJoXxNU=3#yT@RX+^2Eg(lzs6j2CVKbi1-~Dac0W zyQKpIQY*t2h8!R?qE!*9x5NQSqKY%~AOzN;Ssro`@J#Y9!uy>%zVzUxjQ_B7aOVbq z3JI(L02fzcLLzRjabGhGU8tHX@E~FkkSs0=P!~lkT|Is7o`RfM7X~{t`iZHlgen*{ zHY|8?>%VqdLt6vGW!;aP=_b7WFcXco5ICzvplTB{NQj-XgR9tTr}PI6ws2x($JK?Q z4)Y>xCJo{=y-h(cJ?voYo(@rp%6536u3u7rxUTQ3@*H3}SLm1Gw(c;2o>srbZ$7^6uxz1gioQ97096NXf5UR*N7!GcL~6_xl^I&pN*fToKnjj)IZ=x{ znVNC$`9opT{T;n5)=uKDpd*WAk?gFy=eHleCwU5ND+bgwo@3Ecu~nvkXEi0DD~QY~ zI8y1=;;_hPS|-aKRig__0I~I`{re2wJe<=H*^Ui@lRGJ;4(6d)#69mTg^6CVBlhkJY;8i=HPkE zc9xW%#hcr!rL12Dd8KL8K%biP=b1BvSr%g=b=e?vlj=AoeedJ#t=yI`m}?j@ETt}X zWEvg?K-C62)clf4SfSSF1ev&TycLDdm+_tPX}@^z6@i7%aq}Sw#T#xePP&wSZ)Ipv zZ-xfj|0zh@Orw3WRErNFrN8ER&GteE#bL;UP@B{k2AYkg$*b*q`o_12VBX_QAq_HX zuic}$biOcGCmTQ2sw4O= zpfgKH4qxDEbXK{EviHC$MUWOvNYl#SpMzK-m=;!aV9;cQbdpy z3j;Lsq9&Ez&Vc%YV5wY6yNV3(Sh->D22-onVP?)f_Bpj(A>YoDl$|_b3c&d3QbJlu zH0%(S8lNV>Kppga|$}bT=T;dSE_yGXd;pA)>!oFHfkQ9a^r7J zg*u0vQvBj#>u;WA;eW{HZosT~7Y#m#uYSBBL-<~j(#j5aCQIFP)L5sC-)DDWID<2kw9CNX( zR~LGF*lp^J>g4|k?#hG;JHE%uE=v?oEQ8W9werDDs)51Lu$oBCXMO3O?ordf`}Faa zk9qO1a_%2{L}j+>Ubz{IqUwKPas-!$^;})(##;|dOG{sf~7-s!ah=u4R%eqr6&)lYQ%}M{SC31k|Tu^(t;(JWo6p_ z2yw-mfwHcMn8T!ExAn(JI?0X;EtD8Tkop||hRfFf7qOOD3 zQ)h>tL$BqDp-YrY3tZ8Es-#n0sPG;1sM$ts%kMviL4pxw8 zce-U|7ZsUM3h$lr6PX`>W9&FLbq;W=hNrQ~r|Jl&7jTy@hF6J3A{0q>I~Ap-+NO|Gm@sP~+tf@BaEkR_5p1)lm$tHIjhi zjcnluOU=?>YHo;Zj#424pmK}%i}%yC0roDxOi)jL=*jgiY%qA)h~htV3ogBG5kQ`x zDsS&h?Ee(pCHQlH`8n5`Y-L`I!hDhS(bch?V_l(YDv5-BjgGPY z;@L0$|(Z!NT=02L+rqJGHSFZKU-R7~Z9tXlZa!9sxwBU1f z|GvfzPSz^I&KXqpi>kR66{4e#jigw?KlToAfP1KvwN%yry7k|WxAmP@8=_yqo|M2W zM{P%ccWKltk((;-v*`OW?u_;l&*ufRTyGuvU|iwmD;f$i(qPSuh4? z^Zn3#$cP(2^o*+DKmt4BU$D_QS-X@xM+(L_E112ldU0gPp+p_UfR8rzCdVC&8zgCyiz3eXJn71y3z-&CjxwUi^fxl1NmLXkn7)wXS?xBfIW^aDZeb2HW>i zp4mKX7g!(3B0RPT=T_BxC7$R?y~dy)ziY@RNvs*)(ayfQ``W{a##iFL8g?+pUFx{S>gianLJP(2$SyA)@=T5{sBswS4brTtK5cA&nx-$|BaklHnJFq1H+mbp z6`NRB&X9ztpBhfBu0--OBu-3p<)UR{7Y4?4wV%+8Yr8Ck>z!hC+^m1JY+*|gB};eF zdZmmxAK;p+doJ0=mKt)kLRb|(BSo1%MW}mus{DH1^)?ss>obQrz72Tm%lYx0r(3}X zt6o2kBM-8EBX#*g(Zy9!WEq=bD#e+kHHNizqZs7aJkfssbWIUVPcZK$(kMzz#V&FE z)5p7O%~Na{*$((gh}EP{A;#gmwM z+DKkK676)6i^G$ZcdegWle|-}5Vp_bC>2Qec?TnA<>H*Zyf%mLBfl?FlLa=g=s;P zNX!?==EzsOuy2SZ283?MZEA=_1lb) zqspA$dMoZQu^{p}Os{8JQ;wAaPhz=4n$9xm^X0c{j~(-uo#zrT^TYuIq(LsN`*K^8 zMhIJ-l*f!1H27<`UW^l#N`n^$A=UhCqig276MSuTeQ{F^z=ac~gJBE3pUeO*FIfCc zVT?gLg@3_p6j<6Tqk7(1=Z zkQ$5e_ESausajo@LZ?X!>*p>j8(>=|HgL|MV;AYUh$O;!^>;rE-rqSZMf5}LZRJ%Y zkb#MJiT*#-i@(i63}x(DK^OX(xCRL3sGo~Z$**tb zS4D(r?YzFUlu}dEjn`sTK5JVU*d_-z;)N7MNzBkP5N5=w{9E}qyK&WvxDNscw5y#omKT7ofLUZ-7h%Pxe{{t#lfJCiUNcHm8pMBp& zIL`@Q&ad9?Vv|}Vte&0rGOjXGZTpf)tOO>k4dyp-rXL((2bFDNSFVQmDUz{0w+mT} z)Sf9x1KF4J<~rp~YLUH!;e>`KZ|3j!XpCY9dS*50`T2=NELvPF>=gb?ySh#^qP9!SUmNluT^iil=M`uZteBCuX7Ym-K68TS~^IrH!k3=&Ps<34Nb)K;@OY;d)2X?;NPb2AQT)O_78LVUPy!Pl8M;yzONcA zsU`Z7u1tt?o46b&EAXi-jfe4-fo9&24!y}?i~#c|lC;TwNj10mu1XGNfTW8%=t#+t zS(>OTfV5XguG&3zX zd&NE7bnFg=5{zSN>mr+=V@-kxyxJNObbg^- zg`E)jQW*94r1euJ2ZhK&uv=a9ModpTg-L?qq;UCy8eZ$IUSzRnD5*AdrAd*^TqTt> zNQBws|3jDSLpp2tgmSx|d9kQI3D)qAV?KfQHx7?kUF&CpAMoar>QrhJE0%oXGk8yESNi;BV{5>|wg!nZ zuKOa}-?fw@dLvY2YGYY4A8$a{8wgI3YU}H)A{1BP7qw0#DfU2Y+~q$huNlXrev0f= zIXO`))&iIn)jz2m*xGegF2TjE<%*u|xRaYNRUr4#3WvxSQDqhM$3-Il9IoK-DXJ>L zY#+Zjp|}^wL3xrA;&?1Kz1S!gCn>M(A^xuQX@7Ti3MzUyDAY$kO)HPmw$?+9yZYEH z$bDy2cV0$Jk>BG&<&r~`7-k?6AgTttq=G2I+6WX!pL5J1>&@ zqf7#m*ea?W{ZafWOfagpvK7=w6+~}}>6eUb$HKeZhLV&SwjKQ|U8_N8S6|T|_NJ;@ zMB_LEbX0HxJ_(M`pHqX_(xL2p%Dm|+E`UqwX}`Ip>8k~Sl?d$6%a%Xe?PgRq`fk#D!KDZ0K zY?_aLSLh?zGNwngqC-t~ZRA`R`cp1(qtS~9nbXy*>A8(Lj; z852N%zl-YGntanl?GhD67qKVLZ8O`Gt96C zik!Oft@00s^ofShchJRx-CKRyV@{jhOUkY4hA-ph@&Zy!ZADOYkfxX_c0wv+@`WPf zMJt7-&b~6b${<=8Zo*LP-|kYolg;x@BVuxsv6?=dvtDA6m@x@rZF7Er_OK79E)%W#(vZ-E>>8-60zcMr%}b~Zft#DKb}_l zkAJfLn425TiL9wYR28|cNtw7@E%etu{u!Y%iG(=fz&2h>e~Aq&v=g03SF6GywYc*S z5RI1SXI6(8%(%u<;pIwh@?=z(cm%mHO zUi9&7!P#xXzEQHEjfMjqaB<4hcoo63Z^+6aBR*~9C=@9mr%r*zx!Wl_KZrIhH?qT{ zsEh^wlyala`wHZUpgk=ux#&AoSI(K7TipFAM2D!V7?s!8G?g}V(2PoAH-=6^2Z12F z8ft@WN>K(iVhS3Yxz!+5@SCQ-bA=EU8)bYSz~aur*aAB;U7bxG=$k26#R_*RjUSyU zkH0vkVSl&NxY#`LP7DuKT7{z2U)ck>l})N^zaDBFv{uGE-%B=`sE4lDR2|W5;wK_E z@QGis-{qbXkpWmk`Xz7gyUf~YmiH`+#ISq`fugD~Z0rTbV6SoS!ou`#i&XBAf&pjp z#(*Um;({OET&s#kuFUyuWv)j^p<%rYvY$0;fXy`T{`OOy4d{sw#6$i`i2*irk@y+a zsD`!IYmH@Hg={BYbfk+`hMcQnM*iYTnklN?UPrgDRZ_#_>SA2f1a2`bwfA8=I8L}( zF(vXd!68>s$?DhR1}WtT=JofXe!6yVuCTX8C$iYft^&x)Awn+veMMV0Uoc+4kG>Bm zQGO^f!?>>Fa1Ya4t1_uypB5LCtdhe^Qw#d`g2y>#vDZuLQzHlArv0{i7qI?%pi$x8>g~%vmjsz|sncn_; zWZ{20tDT=}yxcUg_jAH}8MdHjs5^QPJ;FCsX0;n0D6_y(n#K4eUzK>}63ATVBuKjv zu;{$SjvvGO=v7ecv)hgbIewchhB9Ws&zxU2wD-B3zs*-ux>V=acqyVcX1%O8;emLv ze6tco(#^)Zifb}oLP0tfOum4u_|&=LK!o`l4@CRmV7hgUD@?1})ZpvufJSMB9_S7W zR|4u^u%e+Mj!@!mwcui7J`IiFki4wo>?frgzNtnPqGY2ut}kgX4;I8}{sH)jN!@;clC5=?9NOj3SmtkTbQ3B^IBtLVV zK@y(h8a8ktjtvDRmzV$Po`2_m#pAPy;79)4i@=xuT6$G_dH6gtM5C2r_q=t9{END^ zzNS_l;dcIKC|Z);BO=hJ+M!%nEyQc^4_UN;m$(ctV;Br1pTTsK;{phe@lPT zh!;7mECR=|tS;zU#9MSB4T?c&Eulp{k|{rk6xi}y+yJNrhM13*Ql0$FaSIG;x{Imm z?G-CeRvc@-wuu5%pd-{ezVKjMwwAWezilp;nqQjw8=rQ9ef& zPL;h}KF*ZU==eh$&;mB`(cLjo8V6f(C|pxk_AJQ1Xy1=7{%Dk~$i{f#K=)vUH~^T{ zG0|Oa+zK`js5+K0GpVp;A13`ZV#wi3<2&tcfd_yCq%ubtt4SjXJrcQD8PAWtpaP5Z zc}c*y+80O4{@1i^g6c*g(bb4aE4Rr*Sk@Yk;j%QJgqLJPPa5-D3VS9TMr@b)B=?d@ zR;+_MOgD*)zy|WqwIDz!yPQEpCv?Q8D*1e3f%Kwth&VbcHt5BdR4d^sGHo$^ztiL< z)oKmE0>H-j*Rg_HA~p~yzcch`?Ygs!Uss-8>UwyYrUS0LN21a5+~wq-(NV;6LH0Zq zLm=tj{bKAJ$x7J3>?^ML64|Wa`uKbl<27|ZFws5*+;v*c=1a`wftpK;V$jenL%Agk zRHaRzbQvjFz6ap0rdznNKBYt?D~S*^Ey)shPUXt5_tJe7yx2Ne>xe5z? znTA!2E=xNy)Qm&4mH7kA%b`^ns0fGo0SG=aVrd*FT)ORqAj{5~p4O)pe|0{EqFV@p zs7`&7C)rPZdBh>3D9UM;Amn}zTZ>oC3c7yjf9AlIlFQr0w;*7 zc2H3>i8ht#SP1IP7@);_b?VF&Ar}ZQZK(+IgCXtZq4|a)u~N5#8mSjZCP3C%zNRq3 z`pBdN4l))1KPd}Hv2_yDgLM#CCh%eHZ{Pd;TK7CZFvacPksrO^pzgWqLIa+{q7nn( zR)ZBTwy~A?rH6xHYX4T@zUfzbY?Q&dEiTJ;PbsU@rGI*+(l%KbLdICb1ZupaK)mMR zllf7K)}YjkfKOe$TtM!*rD>rhdpDj^M1FVyycZb@+IMiuL)EZD~B(x^d%t z9CWxpFVg3igp$H*P?aCCKZLd|L$nucOYG@bJmsZ>b@|Mq$CTnk+2U?@ZUSh3`(bm} zj36!L1A)Qqwa#2}^qJihg51Z4AOsnp6Yo!BBOj=lNrVma87f<;QB!IdFlt=u7WVas z!|8ANJnJHKWhk;zp(pbv2wR6%6HYn&A8o zgw>w2tUA;N5n6PW->mTK`TC!Vs#E3%uiS6gdOo~}tY^@+)CWycYh>QyDaDj!n+MLT zFhh~CG+cV6c7#$MGM^aSjvYB=BR_E>~}hL_*aKkbcdpb#T(S_2UXL$W3cE} z{eBU5mKb`qEg=FJ_UDf#v5RtySYdAVku$$&7gH1#sL5{Hpg>)I+ zM4XgohZDW2;62z&lZo@N(kIW0QCj7UBq&cUbwQ@e)5rY>kVxQdo!1*WdzLPp1!4Sx zUBRT`qdWJZ&_nlQtDknU9(`RRA$raU4h?>FJ|Ac)B4{&(KBiTtGr17ZjA(3c8;~?O z!AjM>y+ZjCI2c z8Vj&Ub81WPvxOV#S*q0rey}8HGk@QDVuo4jNXO8NOs! zX_TGN@7Qo*^1y#$IM^iWdN3L*^F7YTY{Y+3SI0-bxIurV;`i^6uz}w2TjSpW=D%f5 zWaADm+A6v7`^L}&f3yAL&|*b{co`{xyN_6ifkH4 zmai5fW9+9*BXK!Eg=@rg8>2%L76=d_1D{9eQOBCZ44@k|xXm4E+`r$j;S}+D8 zXmCxavUI2cuaKcZw}6$;mLNZr)*tMVrQjw4pN(^iC7`^pB8f`R~%c;FEK2pZfE71XuZyod7jcu)iF{$QzHknGlG@a)LwB;$cf#P24vsH z=qQvF7T(AR!9%qW5Q%7gJ?!(EzeV!FuDA$LAQkVr&rRpprGGrh7b5c~P8 zA&_$D1(qD!8HzpuHvtb5TR1c6e4nEf_?~JZ9Ebku7uirmk;x!G_zYJjRLTSVxHjY1 z+_3EM(MxaVa2aZbdQo0ikvT5Z&(>wYzjt0v=FuN>>V^Bz+%X)4+taBwRcFphK}v+- zvqSklz_qFOZRzKuA|84aAGs9euIHp3*@v~QjppFzN~tNrxB)tA&nNo<6#VX#Cv(K` z__SDg5buSo@De**B-Kzv1cgm4c^o5inq&yAOqSPZscD8DADN;l2%k1O%Aqy;I+xrn z-Zz_)!Qj4-VQKuo+J?{bQ@FVa03m6`yHYw#)2R`n4^ws&zsi);2_{ttX}G8QYubAk zqpr8V&nH3hQpk>&4Q7G^E!paThycvpCq9dmnO<-4HWSYLy9O<8g0~eip(_&5=x!{Y z<0D$~0Hm`*JmAi6R_1F@TfW3&=7h4G1oo3w*3h2Up1_w}i&>TitOk#An4E)#sas9o zzeCRPL3ypk5!Yx_?o2}h@>~e_NA0ZD`a#Qhwq;qvSGj5_Mr^ZYM5)w=yw!ZZH5mYs zHxfaZAmdf+!0FwQiIG~z#aJ1o$1|?=e8tXd0-QKJh>>3Jx!i(AmgwmdOG z5W)Kxs?=_iyU0Q#za(rz)G7VL1g7i8Tm0t7{9!Bs=wW)BFK z3}FGtcr*5_ziD;Yx8FcRq^+bpKI!PuCTePB#M_5;wanAm#PciOnvk0CiDF;%eo}Ak z%ORg=aLd5?V6rn<5qlu42-MS5Vzn!7A(I`Px1+D9kE|M>+5kz6{tB+kVz6CMEnCERZ|kqm*drOUW#abogPa{Kvai5*8cFw#r*snCs`RAXsy>fReYeGea2ch_YqRss z@yO~7kKg?>+79J9+^ca|Bn#;sTp)UG$O$0xOFOu^K3ePpXA!FM8}b?Qr^eD*#b!m5 zyR!@(bGQPbxw~mcDB9)-JNdg4=AWSE@F4@36=yCsm9$F@wI?uIqyi5=PgXYlkl|xd z1|67eei_kZ+;1t0z0xg`rqi*HjO@H8*VJ+RXUc0UBdY|jJ|iIR|AFSEGm_(=s-k<+ zTJhmS4`&BLkdCI}mE2Z-{=zP=mbAFO7rkb2&Norh(9wG_NOSIlTX(V`QOD0?-+B%K zG0DOHm)}O3A@txOO7i#NfE#V!-+nu~Ad!6Igc3}23SYSmHW>uOxL6QfBPI?uSbD0f zhjST69H<%Rcb?Fd6-=qRVqIj3>Z)mKzHf=>a_pA7EI7e+SrG>m8Aw_uM2Pc%ZC>u$ z8r2dQL%K_vQ@MkwrTIR69TvLB?4T8xBxqc`;W7^Fm@#H3MyP zBl?~JGqk1b(-irgSV()`UWuBznZV{v%f=u#ItB*z;K{#$wC+R3#zOvbsof+zQf^<(TtL7RDRL_0PR2$zZhxd z1P}0~ID^%0d;*LbeTwt0n7oIrsQmg%?BQ4#DEWF$RMU~&q(pva(z`{}i zEkR0yT4T)lbWyg(QtC;fkxDKAB&z^?#YX|>(#t2h_Z)N8!v;F4qKPUNJbV<+UZSQ* z1dw@Y#U(XcRYOy#I$GcWIXAd1TPtr3BzZ!)9mL=Ob3;-9BhS~Pm?gQnxkzKlEr2|z z2=Wy*YlPJZg!6&i=L9An3*XWwmE40CYZcP0b+?ElTGcx zQ6}MO4&ODkqbYg-N|1E|Xh0y=zh@4UOSN7m>Ehms07(@G01AUbDNdYs9_6XsIOyL6 zm#EvzMOR%nmMncWB~C>mrj@F`)nba7rBJXlC{kPKEDMXLu(eA`++08;)CUq+DXuH& z$E|KRGG0U)DN3r;;Xot-np637h?YFT+xR@TV|(rw+j)$Pi$PZv3%x32D8g%5Ci2P* z(JPQshXfFQp3Rlu7Z(u2VxLfhAfLj02SrXU1aNrw5*v0Tf(1o>-(Q!OdTHFWcnl=8 z5@EMCOLo#!z~*TwTw$xRRYfDHNScmXYU+xJ>Yxl_m>`9X#;c15tme77SrThl;gAtZ z+lNE;J;ybICi&8ocp5 zkVQu&6%8W8RMRMp!!bl=RlUe1H;sI8UvDQcvFX0G41M+y|lBJ10-Zu zcSQ{(3TB&{P!N#&kex1Myj*N>3Jbh6@u{xAGJp!|?46I-+G* zq{!3P)ya{hsU;_hIN`32P?3;GdyYXT+QoZM@rlymTU*tIYf1_c^COQ*9cKmzn%ss| z0AhrLkbJoLQ>Bi?z~QjfG9BfE+m#PGQ%No}deGEVR?)0=Hxf|LMORM?&s8A?K`}a^ zQVI?UEZr_Ax(F;TWl#wK#6Sk4%#cnzsprwY%5AJ9l-}9fxhgwl1eE~S0;4C+zFkep z;JT+PR=F%ScZP>0H7t)wO*E94nitDOPYybkjU)0yk4P$m0HK+LAQlG14O-pq@I)b< z3o`H|RL~rfaaxZ*UblA!)jiA0ZUX8xAYnlx04`}yw;eR$_NLvbT8SujrtZke38AH@ zL%6Xx*LsTo03-pSNsBb?G`A>Jh>=s)W4J!l&3|@u2fK&^QhQ0I1%KlF`b7n$uj&}cm0p^z8rq7AN}4KzL)Q(U?mso|U?_WE^_qXwe5$*y?k%yH=1?JZ=s z@h#^Lv873HB$^tD^|g?Xi}bo z_<{l+YKTzF8fq>Tn0qm}w~`fDlJY{!K|lZi6TrDOr=U1E=(ZcAoXa8G7@bnrw)-hnlo8g`IoQS4_lJ+OG}Gt%AYM`M$6}#3JGXogh35NL8BAZ#O*P?+T!cr zaIpxqzLnx=4<9P$H1r%gES4bbvMVo$!nE`GkO-v*&(EPYq4td(EloyKbnW_iX=&Oj zJbo^=hJvo8q-(=8@=Wsipq6GAXuo+6C5R*fa@TCj9lg5{TBMO$e219)`Z`!`S|*Zt zML?heynfndzb+kOY-d|k;~zVb!`J2JdU;gkF*WPD?Ot;;mIU9s61)L zpO;p-mva;`?g}j(0063t0gO}A&-V0-uEB47aH6fE?7T3;Q^K_D)ZyKr@_D3KtLSOr zrpU`p_jT``6bhGtf)l7=P=lM>?-)? zcwVj(EqYQ!DcN-_?yPnC5Rw2}Bn~B!t;dHE3Ni@<)6met9RuTI#bG~-V{z?~rpDCM(K%^rv6!q)Jz!dhnlQz5lv1GG ziT1i3r7esvB)!_I)Htqui8S@-y5n-1?7GEorAVNt6$2bd0>7U~_-n9PDlA?Gr)K37 zdDm7&STY#&iyK2-fRdQ92V8tik^P2Fk}$i;t<1Ujc)xtf!-|$3b05 zK)DDOt{Qmdr)bzbY-9jxa7jMW!yFg!rNYXlGf*->BpMS=JaL?QboIjB?ea?j4jh0^ z7x4;#UI0_`_38%Z+}KRc$gGA4C66I2ln@FS>maC>NaQusRXtpk@lz!YY&CQtWQ4KM zTHss~HD_xyJA!MFXcf&qz&&axdaUv!mRc0|)L;=xW~Q_hAn_lwr%tfla6?(R>o;!G z!-@<}*{zz7A6q1nPm#&jOHTpD(9K&M&G)iXyF4OUV}%?j7LnA3cS|W1ZC1+l%#SFk z7^06d0T}W;Pe#@kw*LU*GhN%JgoK4sIFmtxLz-vEeERBPoYjWL9lJrD$JAqJ>FKFb zmnAQYBbBFlDB6N-Om$OZe$y!^1k{iZjFYHX`*c0A@#XP~N(reXWCNOmO4NFEUQ%~3 zMj-KHpwa@9O5|i#ls>+lEgLN^)WcKcvzSco8X;LhLsN&INaunI+Eo<;I|W?xE92?% zl@#S^1v!Vv(H~WSxo3s-lROb!E0CmvOpt#G9(41qdNdF8R>I}%8al920pLb;ROD(t zlpQ52J4YUs)$K`^#_e1da=vkwmOAw{d0~)^?NO1?B&KOrIS7?l8%E!#ivX|pSuiH3 z8f%Eu6~_;=%zU~-`@zKSW4sYTH^wSzYwJ!l;C|kf+kJY&BSTR#_bSj)9E>YH18yz1 zh{xAf(Nj~*d~aDwmCXn>{{XrWjT*oNTze$Dz1^+nj2>NgkS`FdNCeZ%&lu=Ow{5#s z#jJt3g%Nd7sbB+B%v5A?uSu-M2Fu4|nrM5EYHnPGBjV}k@l>_g7lZEQ$;TCCLt`3q zO;<}DJzL7E@z4fYF( zmVhFW=4eeRLqVUH6W3Lkyf)~b4ZDf1+<2_!POUMbwy`$zP{L-Vnx3|zqB<8dOF)z! zs0u!|5&%IW#bV7hj8ff7i6khspeCk-5Cwee$L#4CTW!K%y;Hpnd5W5*p{g1)Nd)nb?Pou>sttj^yT@~BE{PU- z6iBr-6d4=^IFZ17`eIv2A!%cHkoas=QzfWyPss7<)*OB#14{Ya^-PdfK>^1_h}(3V zeL5(3n%t?Xr4G*3QFx(dKD)+%S6#)$BDWQawJgPjeL6Cu_et34MR+tf_-aBP}i+m%VH*;Mvn?A6pD)a5ypcgn)TjOe{O876=Y@L{_AAx zg+*rKk7Di`s+EeJm32`>DnErle!`lfk|HNDFp@&#xGuVjZL)>eLU8tlRj^PT{WG6?CH^lKVLEwR@8pnxd|U z9$!sl^cDEZx}1AdQqaQ9F*M#XI8_7|3|y__T-l_m#S|S{DN6YQ4G9GFqR?&2ZFeMO zEX1f!5E_t4sReORDO!qobRTXhH#Kfa=f%r~kM1dMxqNh!QqfgK9;|?dscUHb!zBtk znG2=kj9AHGWio);BwynzA<}*l0V24lq2cN3e7Y{Uj_zsy0L5NBFBLQdamgTLe<9W^ zl_V43D{-|`)5}*AL0Pz=r=^x?%<`e9qHHTgN+X^_RaAmDUm#fAi-q+aTgx}rMB*YM zY#}tQ2O9bceVOS**0!&1BWF=_P+vGCU}-!KPxyKQx|=&+x-jBpkWdU8%9SzIRAaW* zV>H=sHElg@4nH-Rma8*SShQoxD5H9G;Atd+4sU4$(yK0_^dQiXpi-caC@EZ5Jrkzb zRpc^UfCCa1qO>>wdWw!8%b^PoNt3F{!Gx&$W0bF_t;@zv>!FSbF{lhNd8R`GEo^m8 z9pNmKv?27yMbEVJ%Nj-F#K*$~DeTBRPB_r{9u@0x!Ky}%a&ejtoLeZMxMGmAKyt%SAPi!IHR@bLZP!#&!MAq(B}{KoSzF}CWA|21?N5$3 zr2D$c+8LKh#8|eMiZiSb6@m|XrQB-oEaaL2lB4aQ2DSO|>t;JEg2@fHZBGDj2MYfH zm!!6HF}C*|R!*j;AGI+%f|7=UqIyULX4;as?CH!Rr7vBP#C_M)ip6ahh|w6EGLKo6CAlaAgP`iS8YHIAfP|>o*w`y9lWs18OM^!nT2-ye<0|fwHuVo^epk2|OKp|*C z=DL6x1n|!q^sd_VJPTxK11hnhaB>LYUo`~&T{6SEtMOI2Oq~TyBhjWhsVK@lHF8AN zf-1>cO6eY=s;-fpOn?_~JsSb#J*AXg@p z%?DiSJ36-}aky&Qd|XQSrjnAKS0cKqG7*@~O*E8$cP%T&BKgd5g@80~ta1;%Cf1OL zo;PCJ=uHOzco1pFg?@b`lIE`j1~H&1KWRQ-*9Xtjr`aoVJCkhS(+$6bdAw~*uec2@ z9$u2F8ccLcTc+)iti+=Z6c7pP zAefX?ja|>x_yibBDwlZ@H!*{N8EIce6s|aQTw?t)9#CaGahiOag-=TSJ`zW&sfjZ? zM!Oq}nXzKJuPsG~tjR|#lT;+-*Cksl-YC*AvPV$fnF0}#taz?1kC`hU8~-T{PlXj*}N0=B_oF5;3G1VPet}SSVYs7MC$4CUQX{hMWNNH1g=Zp4Es5 znq6vsMEVNw{LfGCPq}093eCBP#U)fz)S<7E2`8t=yjtR`t&0~eY`E}#+eW8Qs>hPL z$@Z9BTGfKwmSrFsVy3(WK(8Mzl?xe^tzgnvY6p*R8k$z0pWD_fZgvT&Ws4b-+Z3`@ zI*Fyt)KbAoLmeE;Pb<-bMOg&2=6^n`g<{OM{U-X7785HtkkcK$WaL*Ohllg&*hnkk z&?zU23IR_{P=nV|eA!^!_8v39}T}u(A zl-!>(#Lr0PaP_4D2g}dUeEM(crzxz!3`&(6_EV)cE_f?o$&EWontEd{GKr4X z$VD?$%}ldXc&a7Dh-!Slx24?1RorU01O&56Vt9jig-saujvrt+`#m~#-rL3!uyjxb z1ryBq*N55D6+YmKioQ%#IGUI%shG)?(Nh(Byfk#u&m&4G=}L%rM^bD|L99jYACfN; zB$eh}2LPO8oKmNcmrNiDFM|p*OQxjLjWfcZv!^L{RUGR(MU5E=t7&QEp@O0;fl1rS zuMI?XIH{*eRwqJZu^}yI0Ne(a9V7;n02tJQG3qFIAN3BFJTuC#GQe062nRXy$oc-x znk#d=t0zfSTSG%b3^>TB=`s}%K}SfEecY0WOTBDV)lS+_0V1I;Sb*c((Jhoru*oSd z^(qM_l;gsq`Sg|2>S*O~x)neK(v_|$o;mXzdSI4=b#6MQin^a6kZM$i$dTo7ROS!7 zgscsDrSO-36^U!H00V0S?LfM*vp~rruC5gX)`ugirrkB+C}gb3Lr=GcPp?`2%WGq+ zsxkQpV23479U1!y%&tmu)hw5(r)tb{($YiZQX0Xf0^>`NJ=tfvo;8{(n3|%X0YT(I zH9a!+&|1kPQm9z~7$&*@6(n?+WiMNZGbj>NXX~D( zmFS>>r4r#}u3rmaJ&~;@><+_eE8Eu)o z_gzO|SJ6E6U3;0t*LCJPi*Bw~uODAeOxJMfDsq%uZ@#lud7_30>Iq+kQU~4)ar^r^{SEnua`hirC!iqywl86I3MQe1=@R$ z3$(F*DnC3qTBM$;j8ztqs%h!fMEV4xDpv(n+gU4PWhzDNuWj+J9J`QW6b6*R=)&J= z5=s!QC`NzP{t?qw%xU))&)d0LT4$?zylp(yCMc@rG0c5aLpwzajY`Jno(~uLd(+)V z9J3^nPzE4W`FS2aC%CYbO)AHvsA4}Le8-yqN@^ zLYs1!NmKk*NJT?QIi8XxM1q2yjFOogAt7!F1KOx1ww^fv^%P@|%Rav@kM_H3MiWDN zp>PheK@_eB+G+OFs69=ato|REqpsY!3i6qVBbJ{i&TH|tkyBc>2PjKV8Io2|&FcY9 zq4_ONfX=KV0kj&AwBns7-J=mr7KjxUfF_&>tpOi8d2}&6)W=Lun5TkLRVmt9qVddG zoUAm<8Z?UGSCsrIspuoKdkRo_fh* z*HJp?GQuS>M72O^(xyUKF905Wsg0B_y3-z>UY#tpj1a7?qybV$!KVO6K}IKMX3cJ9 zuPsY1Hyw%0OOLFpG8kzZOl>p}q-MGq9BV-2$~8BruOJ(nz1&SAst{bLAaOK4bpHTW zIyt#wV~#svlp{ z(m5Z~+h)u>g^8F8%^eNLISAZJpF6X-)`Fs9vb*c7*il-zI8kgKou@c zeDVJHi_XpFk>W=&yo75k4z`g(3;j92)7W`0POdZr{JIf59gW*sd3~SYJq_BXvfPgXvIM{eGw0vQHd^BROzI4LT3*+`gB|;-dwa za3|B#qd%4T4~E_pYehZ-a-~tGXekmbVKcgzmP8XJD~iJzsIux*ac)lr-ql%Kv<<2z z8hD!de8q9m0__(OG-gSoD!3T~`S3L8hwrML$C}Gl)Xj^@(ZL(Z8G7Gy}7l$k$oNYJWA({DVlwqE%9UiA*R3T{{UAGzyH;xUB#28%)&9g3V9~1 zXenWdMwOBEBZ{9iZ4h9R3lKv6f7tuTTX>!zT(O|3C-&l>;p-mbSsBBCYf9JsUVSI3 zpxgN0wZ};f9SwX_3JjG^6jO?Yq?VapX=i78ih1Ui*FvJeu?LTPg|4OXWL9Gt6#&we z2Y|*0Ps=k*pV^S0=AM3^&yQI4?FK9D#Y$sgs{R@LN=mahTgcJ6%ZsQ8CXP)O9YD2-d*VzKbXPfloEL5D(&`_QyhwbRO^+H?~6|a%0q4|1rje@%y zJ8LzXAvH``m^UW5CoMFX2_HmxN~&#bJTNq<7DDK{8|!Wlvc{DzU~;!a zM$S_lHF^WX?CD}OkU#bSl>nO8f#FmB4we-C$5)HSWvL*;?3!Vh!{sp2SMC^SGLa$3 z!s>1Jv=!+Ueb5+XT@uFptEs=T$$51qn%+}$IWf3k5Rp&_<3sTJk3Ni|<{6SJh+(vX zl15O5P;p$44+CBYpc@U1%jEo-deKK0p0ZcUOC*gMN_ZZa)kz#QRCaAJN=OKdPM=65 zkVH>)6cP($1f3$Dc{Qd_&xt)33s|It$j)#HI38ai{!WBkZEYsrtDwu^GSrb}seg!5 z`K!z^MGO@*l2I}WZNW}ytKh4ks(9Q>0luyU>_TZ3?v?HCA|@k4MLb9~;-;X20ps@c zp4#e5D}K;chHp?SpCMicuM~zIE2)DYB5HqUuSr;GVBD#jd}e0aK{juFBSH#qrA`lU^hdifJ?kzFxf;Z5uA(ylxize~B72gjAXU z2NRlk4usnNq8hTOG#ZzAMtvXO4fNYe`#xRZnpqAp{k4@GH6W)+0cUblKz6~`6Rlxe+&WuY6cW194dW!N8}~Jc&als z`)?n&VyDK_0gHpYW12wB- z?Hw*MLlpTuoqiiBx3@J&r1I6(?dp7e9v+ftDQSfxLyuYvodtBiv!q84=@YAyov(;QO?X4UoFUYE&#t$YUj#BMmG^vQ6W4v?&y(;Xq|<08R%Jz*Fq$ zWskSw?n%};+{_ICB~(=Y+K->7LhRiOoOvi~YVZ>r#U5Ttx(RYsI23~)ld3SPMN40Z z$yHWX(MaX(_YkCG(nwNCA)(Dy1vJMa6w^aMML_uWUxasNcyT&05Sln$s`N_X;1L z1SM6;$;N3z=g>Qv1hMbW+#VomO8~?U6sgJKUZ$G*700GCFPy;On<-tCj-I9rRI}yN zA4Lb+Q{`5^os6{Ru__h(GDbBrh98m@DoL!%3{pOj2?eoIYDEtk5lW7eEPgsQy0`^{ z5=ANiz%}Dm^yob4p2)&c!@V+4*F`3CZDlCi6_u~ZXK}OC(aTpLmGRY-l1)iNm3ZjZ zSbUI>ECUiRV;%2qxSQysG13W8>QDiprYa2y8KI}!(;Fp7oj(0CXOI3))?!^f&MQl*%Jz#8OKS0{%-9GUtGOf@zx zqJoogM~=!)pz`zU6@KKz(a}>`N0UFtXb^1CX zmI&Efc4*z)kOI^U;~?klZnbl4qDL|9iz=#sNn#5g1fN6b1t>b3w|fqQX=E{ZEKgfe zRMtjw5aag!Chp5*v2#sOvqc=$J8ns(hNB}&BUh%HeR38E>1P8?XWQkzNgnoDAzAz;8r6ab5mJq*=;mQU zRtce95yFU3MZxFNzv%2@2G#99N|genRGgZTpInokk_M2@<`a6t1kN!&7byr8atcc_W$`rd&L8QM5T2 zm`1@tYicCvBiMU(gj`E;Ahm_T01A)_0x62-pzu8y?H3PhAVr#JsKk{OA*uFx5&880 z0FA<7@|j%g)bEYqxAwkMb5YBY+_~&jIBYa+lWd(#6stj*cq+3M+F_T(Ao5C~3(BCM zX(hb7g4zKd-xRlL837fEV@e8=Fr(JLmr7x=x45~uGG56QoRVeO00E&i3UWyKetji( z9eoBadTa+*?u^#-h)o@KUpJ7)&53Wak|>rsEDaS+BIV-y6Hw1olS%f@&96Z>_F-hR z+{SLVdnJNeP#`tWs~#EhBRJ^|+z?y;0E=z6jWiY1WMN8^LQ27$_u~B!Wt~7bLRK#_|zysh3}n#yCFIPaUlB7@F{~BY;7gWCKj& z`Ersd+Dhu0irj5372*=%X~3ceXz|pU z6C=2+f*GWfLKLT23aGk6I%ywSi+p)=-!qyGXSrIjgwNg|g(^1njnCgfn6G>YctV)`=(io;#Qb_)V z-G!75!h4nxN(5=Z(wQe9{g^c)HR&tZTST5DRn|>KYk)9E$k&B@y2)F+4l^3~`Sy!q z^OdSA(<}FMPem0h)KqebVv?U54FyJD8wq8piE7P7p2Y=&A4PBV6Bdr^R3jQqYg+l{ zpcBB-pFW*-`det)TXRx!z|;{=6atkVd96Be+1_fLMnbkqJVs_TfJt9Lxhr6vmp>HM z(5)RbA9pQ93P(iqB(kK>0gVBY}ZsCk(vUv1xOj;lU@RxPB`?k(A!TMNd*yr zI)fjGlYvu#PAAi)#^>8|!?fk!7)&Qt?M(eQhMrx=kLJ4mzHL2~R_vudJ%c<5wY&gK=Z_)gBimk&Wl5sH~c{iz5w0*(g>> zog#%&h#_LcvY@l+7V1}doTO?23Mg2R2%r=ql;cu!&@bwxf;g5rLr6(dNFhLPGEb?< z`E{BM{@kF$<3EUQyq$LEqj_p8acfUi2HVB0W?H)_lo&ZyIkK}+LlsYoS9z9Y@&-mL zWLh|PR16sRcgpt4!ay+_s>bBLlfV|GvOG<%2pw_siNCS^gwL7;Hzw)*8 z(9mtFeBDk%DY$0I)KyQ6$K^yA_#%fCDEA&k=n|d?X(U>3h?12dG?GP_OIfzKmC17e z0RR9JDr!wY_2ZM%uXzsTGlkG5W-eHo0s?>(R}>V+K3yeuUU6vX^Hh{ulWk?CqJtCT zqsL&G=rXkiRijwxvK2LQV${-zqbpG*D$GkWl|ib?>|pT>PVmUJEs}Bv8j;5*%CzYv z)Tp|mNh2*la4<&-1H;RWI^dhPWYEyC&F_4f$23Y@Q+I zX_Vb%h3u^N5vfv3ro!?`0fO9kK-R3(B#c&oe=fZh-I7FnW@9lFpcMdmWd8tzr`%6= zZJcICv+cLO_5K#{F@m~_8~xlZJaJV=MGby7lP8ptzD!HiN>W*;Ws^_@0nfDaY%@G) z4Xl1GYC$#oXh;B87#uo%H-(CJSm%^Nz*2)wK+6!aWFKAtwh?YS^= zQsnoh9~&JeYNkp`N~oiH>6WsVjAU!X&@D-lm8GMOBu2ApQox^gfyrQ*H5-tJii zNHhY3(P@eh4QtZvzS_=sDR*|T(TEB~NgPS7KbKD|n-&sGoAVi_$_b91Nv;C8OCZEL zsM5ppa!>esMdR+W3JtZtGycy@g^tp#R@?y}A;;2#)7PavB^^l z!%OywMD&%bQ;?P%XsKv%xeAP1Myo5dWEe|$LDB`;TOA)!d3kCfdLKH1xT&T9265IKLD0Nie8dQ%z<X+eWZ zjQJY;x)E`GZ4FieUCTD6X)@_mMfx zy|F`^oMG`>nkgE!p@N#Sq|wb5KB}6wrj1&9nhGdcjW9;h6r{C|s{@-!zLwh7=2!=e z@exXr1#$?k0Vb96Jq7P)WWBn#hK4kH1EdmsvV8~a>E~qiEE~%&Ek-JL#$l^5zj-Ys z0@l<0#Vr);j;Me!l1bwe>JFe5M>oF*l$ZO_vV~Srs$kTqAkdtH=t$wx{inye)f*~m zrC8F9K}-*~9SC&&S6#EP*xVlC-kB*dv*atFuG>_#^J3|;t(_Rmej=ii8zx$!2xY`% zgw=9QYe*CV11_&+6Yu7EB%031c)>vqMQ9eKfi%vcKnIsc_B%{6w6WdYXo9~0Y64tQ zNEN0IN%QMA8>==>&&E>WW~Yv)FOEuT+~(}7o#q)LGBZOJ1K?z=l9rYjsV4)@k?Oh= z!6bXEyWRctzf)R5_*4Rvz^T9V*2_y@4NU2%|A+bO)TpawmD*ely!*%{=bEal|#Xiy7 zby%sWFmbxgldQ{7!$nm`ji8=7iF}W^GI6x=i-8n#0>Bg@Mw>^AduwSjDt$w#s~!Lv z)Y5~1$IOm`H#VLQ@g<~Wi)5v0K?(pBB>4kEe>!v)^}atLxAuU}WcGeWinb|c$k$Wk zGSu6iII{ToCyI@0e~8k>RY8ZPr>ql{rXyUDl_Utm6&DjN&F|9-f#JOXG}3A3N@Apn zRP>5H#@(*2p);$puqr};C`JVj5D)l4=)h2KN)5xewyc%ddJr)AD%XOC8Apl6QBE=# z`s{seR!XU&YOI{lElN~F9KW>;*I*O?0Zf*Y+gx5p6u4yutVtk)PypZo;7^$8dv3Pr z1-X?gaEx%FK**sa(xmx-a6VmOR@%Fi)KM-ymaZ94V=8LIHkP$&=>kPL^UAKZ!V)}V zKy|obVl7a&_IhP$fl5`W8O^h#_LNpW?FXenOz+mptt~E-7NQ6nbs(o8RTNZv?PjD z)8r{yR8yzqv{I5gqX&sp8VXZ5sq-eZ;ZA~VEneE9$=AnKhk~jlq^O1%rkT=Kc+ugf zdWLxwAga+Uhs_?Z-bLcTSo-8%$qXhrh-!jOG4rRWtuTDLErFs-tx~99D?ophe1}8! zcO!?X*gJDt6H!=<0p;DO(kQ38gk^xb^w62 zx?QH_d3SFlh3Lx60HHJ{l&1hdr>B=fIj$o%Fhe?^LR5vRG*Cqdrit6F)JoYRjU znG)K__fO#if&i}&qlopd9)lLA!9QeU+LntR*z=Xe#wp>B69llyLq@VjVOWyyB#gnu zt{9u%{GB`99g=NQH;dtuQ^vL9U$cirA))>409e$*Tw}|C^80x7F>d_j4kI&N1qB8+ zlAgW_X=))yD-&zR{k*Zs9U>(x@FZ+iA^}lL8xe9nhW6`et}UT?rDk;`0)EGt8xQZLeRs=;>$)*Pi91IXWF`k0VH)U>obgcw+$y1J|f@*i5YDy7D1vF8g2w35! z(y=3y^pHb01Q1Qc6YVz66|@zQkaY$%C-(8^j^A>)iKqx@!61qXQ}%S@4)McKVCrSW zNi_+dEkYKOqJtS#6g2VDUT|7W9NZ8t z0}=gwn5;%73Y7#3SMu}e6xRzgmy;y^%Gbzn>8R2rRa7ZT_n^CQ9KJw z^fJz|$nool(m@={5Y!d?sDzLJRu?DoeaAO;+U7|#)}+(zspHg(x7`@w5tg6;6Y~_! zKHu5UUEH0CM}s?e8!apg4m)m5B-tq_Qy}R}EgW?cQc+DZOpB0~X10h(v)<~(O_ps| zGt8F~c&*&xi&8Q%QawI>F20%|V~rvNP@0ek0MLq7v_8B#PviSqgFCijtFFcjg<;9h z9y*9aPF9+cs3E47n8Qe(c7jTPNni|iKm!gvsC~9bu5={DQ%EG#vijY7Vq0K4z@cgtsL-D;u&gEx}F&xM}la@JU$6nBE3}CgvTe* zpdfO*T#$QZXCI1^Nk0`d;thCE@;EV7Fe{-8ha%L4SJui|MYn%5|j-duL(PQq*oJ-*QrQjwSJQ#|kSc>t(1F z*&LkFRI5UW@mgU|JW{u;1|!|}y|;Cm-uh`SrUb1J$ZBdwpaOsnCY1)AA6(kSeM4_= z5}2B-6-ccZ3RKpnoGI0R_WuBNXFEnU-5D&NDpNVmLxiHEIESdi;VG)ClN*k$`#Lz9 zUlLSF8E2HVu0iENBz3h~TiQV-wZ5t-6(pJ#(~>Gr5r%49h#_~Va0V+=dO@4l$`B#TP#_0JA+dKaNbxpi8Zxt;y zBf~{g1||UwEj>MW(;FInYg1I|3|@&CIY73*0DE@c1cKaI!3`o@G4ZC7L>eb+dwm*c)-}J;mH{ z%S}F&rhhN9rEu)9m{hcD;?!3dp!BcHq|6)lchr51f5o#;6&lUrR%*G{H<_NHN{H1< zG}01(aGSBc{je^YLPDiMCbby(bgA~+6%YDx)w7BW4kz;YbgkRnfmrz6$BoX_Waj=a zQ#Dj7wJ=k`Q#dh6R+U~_>U8rnD7!AX2><|XZ*D;DCe%|S6`-gT;r4Wn=EF?((pv=z zpaMAkloa7kgr217n!ev$jW!P_i^M`TPc3FsCtdd`6*D`sQ_{iW7>cWCZ;aCp7IYZvYmw6)XGQpXJ>)REM}@AmaI#Lj$$bcbQU=bkHZWeJKo zq+qP{^T(m%lk(_UweFMMTKz-7R1hgZNv&vVF~guuF_ET4qLvt48ko%pnymy%!oUM0 zGTEG3`cEVq5q^D={VZ#9LIGN0ryrUB00&2JIq*ZP930Sb=wjR3cNq;uDXO8sNiv8= zw4cpEJV8d8=ZdlFL{doXe73L#__C^Pct z<>2b~UfsY_RpK`W(A(5e+FII-Efpp?g&OcQ&yK}MB}GAq4^b)(l3AMe_O3f?S1qR8 zmOLx}02j~|pE0R%Hl?NMJ#AU;=- zKuDuW7{SVL6{GAK7B#C@4@ir@(vEUEO{JvckZ#8F=%l0)E zzlZMpTzN02U!M9tykAwV#l40+YmXC8glX{VpyOUO=wGHi8az>6G_TLo`St(SqZ$0WEev&ZrdjQ#Sl*?fkyIPmtSzWto_*vs<;%qlbd%airVR&?rFwxL z-PnkPq!4)4mHT>BjirOC+|>B|g?%KnpL115Q&$W>VI*@>>HU&dTfCuHN|JP*0N|1B z0^Uw6+DM}!O(20<;GRD(pHzYXjzioL5zTn{=ANB4ZY{sI@%gIgv9iHeix}Do=_HMn zr7I*$Czf(}O0p~@TZ3?T2L9f%xw?|tH&F1jyD}9 zUm*-t_4CgVWD~UuzDlAxR!8u|2$g~(5`bBl3w}R7)Jb$9g_EUm^<3e1euLYMcPlKrO$0T{FbgQZN#I)f~0~$!$US zDt|u8-K5-A1Ww3`XxYIBjXaM})9Hp3yKw}0ANa2>uvK(gsX?^?HiKKt;%neK%Y3dG_Gi;aHUw2Zk6BI0}v@=6-!qT*}QYy1z zOG%E9twi-{O)XTExc8aV%>^vdn2RKfWLEU8z_GQxs*=THjf7>IUI0`8O)v@n01rtW zZ4yl`TRxfjNck` zQA140jgl9niDN2SomWXJ!%!>~f_;+pog-X~00O)PX~0l< zbkm%p+S{8cB}N}TnSwW?hMKi=RD*CuM)e*kVUC|WJ!Kc4SEY)*IC^t*V!>`-wU+MI z6%tz^?ljVLlTI}hKjES2>8=pHUFWCR2LKN-P8}IaZg#=+@<=C=o`irhIG;|Dd#^u)&rsH6 zX&SaXl2bs~I&4)9GVPk`h+Y>~qk);k9x_@Z5h#oS;=p?~v$dAmNYQ{Xl64Y$fcc-F z8u949<=NnBEgw*&I2u#RlpkkLv{`+>yQ(VcvKS0a6o!T-q@u;(7LFQap_lGnX@1Hk zNUBlQgEx??-0(po+DnC=+e$6VFw}BQYg`If%c2RP-L9@~C5qL8fsHsAA1ZPA@vl;| zQf!fWNOO*E9T>AT2;0G9-{!1jtGdv~fiZ^a>C zK{+_!1}k47^YrNI6}a1wz4em~Yot`r5=CkL3iS6|v}>~%%6-+4%VKH9-rEpYRm-bx zZcN2a(u^F|4mxTPR|RcDQ&8fM+PO&)>6O$1K_>C;5XC!M#T10eAsiW0Jt#>ups6)s z>z{T6PABAefzf8H%h2Y#8S627`+lT(%tb9on;Ij=Ner}q zb4emm z*?Wn=BzbW){l1+D3aB>pnqUg&Cbi*A`EWfddfOR~rO59&Gyeb}`?m*muzBl36Os+2DMQ3U)@~qo`MENPg9& zq@~8B6!Xs%Ws}B`#Vh()f_MT)xLmkJ8-17pv?4LWx%1#ZK89w-(m(WTjO2}GwLLIV zY#pVyx7BW2CA$7W<*^cBO;e?I`rj_=S6x+s$HDg$ki!jrqhDGebS>hCR=Eg7E{e_l z-Ok)2TYEKeB`}IO0(|N?3i_TMC68{jiuOgM?4@c3rY9tEHLVH8cy;dF+xs^af!rC~ zR?XfOwHrTd=CVSoCAs%TN?JO}=~A8;EAe^U&)HMGOsdAgT?}j`&}*bXcAkP z(Ik)x1W{31)DSCAvYE$Mxwf-LcZSW3t4b2bw4MOenjgxY0lS-N=XW0e0L}v+o}k+;$x=USy=YOSsa8bOOl5Fp6-etLS}8uxm5o7ZV*~;HhWTf$r*{u$d_2Ff{TM^YteK(DY2=?%nAv zMHCZZ_F1Qa;iX0X>d?FjBA;1!D&`dnWh9hsFA>#prsNq-wjI4=mPDRyR4hii9u=Vi zpP!$XKtXeM&H~1uj?i?9Q-yebeqOyAU9-{|oJ~&Q!BS_orF?tRNtYo?-*o0myk#@W zmD1BvOGPa-l2hfHXo{|YSI{g00C(niu1%zk1A!4VH5>_{8Ly|?>(HP2t8)Ys+evti zp=-d8I*JqLpUKfFvA4&IcjOL5##A;Htj`iRM{a6(a6bA&WhxZAwUarePhex z83b{SKq1lz1Y)%!fMS>fqf1@6rG}7M85DpFl^_A;00TJm>C0>F?YoGf&(j{%&TcwM zw?68nrp4}krMSO|;~<+SU6C7oGL<-N21Z&@7fcbQ)_Rc#$rjgN>Jpc*@p&(|b)c*iJoT&5rcM(Onu(gyp<&O+c_hU7V zz;2h4yyRko?kZ~$EAsGTWTB|8^CU6E^{-BUa-0KyZat*4%WpT;xM#y5B7%n$BnpF0 zJS)KTjrSQuQpUD}#S{UQ6OSs=v^3AHI)R>#Z#F7wEIe4cjHGn*uK9MY+#7$*S31>C zBh%5JDzO%p~fh#*#@ zP&NAxAKAyC(J(vfaprQ9?c6Tr-1qJbtfR6f3R)7(B}E2m(PSeF;GWon7YLbGFdQXqsTaK>39aB2x;igKr#zl(3C0&%3i%*NWrCswjxV{KM#n(Eq0OuBy!o(SQhr^B3Z z!k~rVsE%2rS>1Y!pfGB9*0snZ80bZ9ylxF>Y)yPZxsU=0 zp~VOQWN{z2rDtAM?G48Hd|h@1YTSZmzLM@@W*CB#vQdP`Jgxm|X>M@YyYND!* z+M=KCVv0D+=rMv-ox&TD^zuV+0>e^4B8|YPDh)^!r40$`&8FCx?qj*O*7LBTAc6qn zLrMaDM_$T&cI>(=!_e(a-sj2DWAfQ=xyWR(RT#<)eh_$tJL9XV>88f#aP{?6Y-xdHB;4_kVa2~xU zJ4>mm>#4Due{IK6*A;l#q@Ou9cMH0!t9LC#qIxPk?Nv4(C6=g&3fegq@zJd^>eO3F zP&cz~O%#()dgkFD-~fOSR;588R}}NFR@}CT?h*@oTVJO!9D`i>0(kl!1Ej?V#@w{H zO1;5NyEk@9Y+S1Ej@li6pU%`s)X`IDtdAF7X=@oOCWYBS4y8dN_Fxw`FvH@k2GIh( zH8X)hUKIfJg*kIfPE|~jAsA3euh?nFG_RLIoo3&z#!=$;CQhHUDKS;E*5fw@WBaF5 z9Rzil<&uj#L_*R}LMx)486ujVX`wMS#ep0vj_X@X3Wzm;3JqSoGlTO7&!p#WKc{uz zxXIK_MJa=UkF;Z@)-SKA_dXhzaZ+#Tve? zm(C5M2#6h3tbLMPZ!%cU_GfR?E~Kq9T9c}n;6*9?x-f@mg8tcViw+D4CWI9ONdWnu zK9X7bDt)oLq@&wgo|>ws4?P}A3fh_os_S*dK}%c(98qMWf@Y5(jAbO0&HTdPJ|e1vIG$L=Z=I*0^Cc^4po?RxFdq74W`8r1$8Vt@~q&!VHa+=U7p z;Q7>(=f~IV=})mY)lFSacNsjQwhsk9W=cA_OqH?CTT@)M6|q&-($piQuR^|6@#q?c zl?6@9w`&DY0%bxNv09D>fKX6V@;@$@?eob008r9NQfW|eN@k;uPoGOF?dy)*6*(+c zf3>M_bQxLat)Sb>O;nL#YH4Aoj}=i_UW-dfQ9}&M#OgjrNaJEbTYD{v(&p6`YhA6~ z)Bs+;5Uoh2NIX7VdNO;ME}f&fzg3NiAwV=z00Tc|f0sZtR_M!Nw`0;_dnzooJZ+Mo zgDaB9L01h_E++Csl(`BljXNcD3_WDIVx;O&Q~^|Q#c^hmTNf;;-RWmG&qcIEvT_Z zl+!Cys>x3ujwc99=t2snvYtJ_UL>U>3PC^t1fMcVt!tCgsPC=*hHFWo4CaJLOH@mN%HP#~?J)x`{cjp95Y$Ds*9CVHWI;h#OJ>O-%&|#Xe$`BlGF^7t{;q z$W%p->Z-ZLQaAAQ&*yR!6!0oavr|>a6tT-3vph`5{#A5)fprQ(Ir)hSBAG7LX@jH! zeJS>RndsKnm#s#w$eF8=TF`o9&b>y1q&KyEzA8BShL}T=S*sGhj-qJJJ~JSf8BaA7 zCTY@S5t&uiDyV=%9OScF>&zAkg`_u!w-h6fsRa3c!|ByeFU(|RjbN=o;lz4We=*1B z)BacD&U&Vfx>_CGv??;08kps%qNv*W%1jLnC|8m^MkVpJl@;;Ptl}4Dl^$6do;`13 z>n5%F#uRwf?4%JWG$Fxb{UcFI)62@Z>en2mB_+h_C1x0*peKM7%|9-Y`0jwhZSe*d zeHb#kiz`u)$xD{o71`W=-+~C97Ndo+m9%s(OHh(aBx@K{jmZTF0>MSsG+oZ^KHN-p zr~uO8OA>gULcf{mEL^>1Za$vuYq(-aa7X|O3K9EhPCY1Jq&m)?qsKiZLzk7HUmaCi z!zYVgl}0uCbV;C)%s?stAYX)onRkZ(iAN7X=k^Y-`-5yr0yTJ_GlS(r>E~0_D(<4| zoK-sHp}@~Jg0ROmMAc%Qnrf;#UlFK_E@Cev6G{4r1QKt+Q?=i>Sy`bsBBWM=mErbv zS+|;)YDR` zmw{w-iWrxY3tN-T{mOQzvf5cqBNFV2NzO?Co`N?hBc5bhgbYBbK1YXH@mUmFY;#pi z+7_y$n=LG9aR^A;(M)BuZ3!pp4aLT*lFiI=7n8%r2d}Pw!aB54DuiMU0sW%ADNgOm zMZ&S5EU!IL6*D!2D$}4UlSby9WGkzcxv?hvd$_h*NP$48ps4xr`+D$@nGm_a z`+8qvw^ldp=}mNWuPs_jAx3)2pG7!O5fS7w5ZAaQ06;b$OOj1vF?JD>6dD78$N6++ z9pa(@>ZI2=CmvX@MmE2+F;i`vCfaq9C6jK!9yVwDgldP(WwQBrnV|c59uZFlCP?%x ziPVG@KTx!LMZ#ZPT+*+smKdO*1CQEzKe*juZN3L3v;Y_baK!jm5$P|Y5dRA4~h`x0&YNVkFFn@cesKrL(KKtI$v zNi@>5jVxfQ&{HJRo~MsZbv^UFspZNuWm0OKlr+?mO;Jv=prxc?BuNcD{4luy65w2r z4en33$1H97VNnrS(x!my;+D1 z2mn&1l&wkf9+4J-D1x*f3{ub#vGu4{MfJd^FpD*6FgojX?{M!4FCu7YZ0tTi}#8WoDE zA}I;fHAvb4)J4NLn1CJKKoaKW&4Nb4q@cj4KV=W6 zP8iRW8+vS>?VEOO?3U!G-YZ!}nibheUK5R|6~>mDgBFBEMAXw&q>zPs)5j5w2qd3u z%gOf%9f#4}tW5z73W^$vR;P&sR3BQ@^uF7DM7rE3y|*(hz#*zl0HL5!}oDr6+c$j4XPEHN|7EQA31nN$Yk+}sX48Bn09EB?o?LAFg*3TOz& z?Z;B{JJKrZowW@j%`|iv+PYeSSq&=3PgJ#OJuGzdigZIr!sUF7&0^O&ZSANnLU6aWKGpImLlC=Vq0E6aF?f(EjPn$^~eMrQR0jipc6G~M2 zX1;@^Jsw+T{f!+}F6+f(^Ho*MXQpL~UN$;9M9I-g`B~;V{W3ih8ddYlQi3Ebq(~A; zZz*O;7O;h<92%M&4^ASu9a#l5vqVIIlb$?qYfd!dPKC|02ggmvwqncnC&;=DtGu%` zl2&DQ=G~*Fs>R`rQ!{@Ir^)27bI+E@Qc(!fq0xjXR?HB{qfsw-w|jY(8$G1Gst^M) zp)~U#917%lk?7T+Uk~ z)b!YsSy3qyy=*kgk*<=O6+k4?R^SiNpvb0WH*{5!NMLuVs2a6ng*>W!xKG@}n6h^_GH0bfBTYWVVxKV2++MNmWlw4nl&CTDIm_ zs&^=E0U!cP4(rT6Qt0~`7Qp(Dz#as76HhLUe{*vG0MSNT{r;`gkwH;kAZP_X-hoZx zcDC5q)O(L@XSUa1O<2`9=;PbFqMo^E<;RAp%;oZQvC&awDHjz^phK#e;jBpqhD)LL zX=?X3H%}bM@PYh7m91z6NfalJap%$m+HI9tUC^l%1QKY&jYR?b4^8!b+wso|Wcy8t z*qfOliwRRrm(1mGyJ{MYq@Ij~aMIBI^<6eHn_GRUd1e(X13E{+4@0zX(gibJ#FeNZ z0%$yicoKZ+)9<$Jpeox&Oo2see8&@tkUwwFrC!hf|(oZ_X$ns-qV#z%-i7Etf8dX$c?xlkS7n@}9yiq;Eo037ON@*41PDMRD{@$$} zxsCiqkFX8_i6*4+tv_JsmUl;e1~lNs{4!^Z^#%w#R1+B&0iVTB?dmStjR4emSvI|Gg5yLp{PkGD>}pyIax`yh`#3AtXa}$ zi1>o0mEl}afk0_YdGw~=XIUUEBd{)NN0=3;p`j!4IpNbo{E_UfbZLna?W!57sN`yW zyGv6_a{mBrkrj(mEYe9-@>f#_Skpz5$DlHka$9RlVvpiQsi{C)%DAVCo*A8+T;tlz!G{9A6*X1cp>_O{=s#m`S$SGl);+T>~R_0dw&(pA>s=pNEt(}?KaY-bFq%_z}j8eTC(&!5ssR7eTB#=k9rr2#AluT(D;YKRl zF;X~_(%V}r%_%%8REpGKf;|8u&-rxWwL4Q`cC>qfr+jv1?85dnMNCh&u-kWQZHTt+ zZRV&bD6k1nJ_j3$ni=Ggq(%!Dg^3rlklgEWV(=xMj7?)hRxC+UJ!_UEaQXDywo&Vr zYt&#*0x3d$4F_-Kj)3mm+?AVud#w|8RX*d!twt*b`MOuB+tXrRf;uNODYvl^v>5S- zm`P71OjQykTQss3Yq=}n?Xy`8j)tKnPHGtXoSKY)Mld>9ws!JD#waxuN`O=v)MQkg zpG9&yr+~93zdtH3UsWnGv@~tbvqoID{ zVux;>rJyD=fj~|NZ>3KTj3!gFw-;FNUf{#g?pn>mSv>_--L1*fQQ`5GlUBYiN><2J z$do2Y+Jd6KSYr&WEOh19$fwj9`be&p%14L*pfFQYOxI5y7#$bGVvi=zbcv%t285G> zG5|b0zdninMjgSpe}%&h7Dp#hPec4VmO45~>OrQ(Q^_e2h!#@%DdUnuVnB@v90P61 ztf(4E1&OZ#QhE_W*0$>)4yp@O)`KMQ{j>w45wSW;vQEp~GSK29qsT4~A)L;wT@H1! z*j=?vK^{(?X=!1jT6iPKQoG1ZtcoFJa#;vI?P|*(_LS7ew>(Mtdir!jbGh10xkdnH zMKl0XgyyET@~86XTYrPQj)Mb5Te|yOV&iGxpic2 zFN#G}(;)KzSB4^x-I>XaB9PUn4JZg0CcaeRkG0K4%&3(xQhC~*s+?3u6-`YBh}zl+B#Rr^0%Z2d1d18zqzVJ` z{{T0q9*yO?j%!$^5s;itk>+Vp@-^eptLWU0+HBSyr+#4Y+ox#a^0=j%e8%a@R7H%e z%BS$zimn=>ibSnOSgIU5LiF^c>$($WE}?%0WVVrn+D&K$O$~hh+5ym8be87Xovkx5 zQc4s65Dk3)0AS-&(2w#EoTzz~kHGXPn zfdoBFl1n$z_cs>Xrz$*A5i9BOmwYs2!#TiN%gy1Ou5%)rus3{c|~#VP(ytHOqk zvvK96@L{Q`s%w?wgktI7r=q2(pfI_qS~P~LPb4U%&VWlds>hIa(T@{LB?#?5KewTL zvMsDC8gf-g2Bx}$c@vI=T<%H={7p4Y9COmurZ7=tD}RL4%^h84-ZW$QgVxO;3tX{X z9F$HKR1STsMJo}E1E>?9k@Ba@%c84TnkiZ-h+(MER91`)0Um(1&rT$UB|R1 z+^dMg=IYvd?32<_PXfbF3^KsYH1yHsBdjw@M2!@Yg2as^TiXu)2{Wu-Bhr9;$j{2O z=?3+CF4^>VViIHk04i{ET7YOk^1=IhQ|2jYdQUZ$+g)UL6-oPdmZNfHpslDi5t%I#;+&2H$D~IzFUQl{q4ueCS7&c#fJo?*)p*Rb%RfGA5V}1XT3(t5CF5 zw2-WHt20eW3sp?=f?a~DujpHkQLXwTSu4p>6wn`;&3yjOmvY4NNer&exRT5_77QAWen><`I_`GbYg@l&ri|hRu4>K zc1>E5zT$Y~DC5@;j60-?K7f@3oBc2B&`uS5LHThM`E-r#!>w>J=qX=bj%6QcK_^;Q z$B)8KldL$iO%%1&A9$3 ))|6YZfPc1GcQ9RWiL`r&TS|n4b1tpc|<5$qJTXKJ|y0XLCre)9uYDH`Q4w^ROKm?Xh zGxqek#O1dvwFt(GB9$@83pFgb>7F@+T-Y&=M0iR90I{;4r?is&BCR}B(L=zB=kw#% zjkdZC4E}si^B*pi^JeLx%S~66+3*PJVn1gMO@2)nG-!dNks<)OR3xY#HBra(vO0!^ zQr3FVv7vEC~_3>JaEw%!&(`^#S(_Arjr9eJl zc@HE0t{oRjb&|zsv;YccK7XHF>t)>)Z5gkr>+FPSDpN&APf?Iq#Zz9TqH0W3FkYq6 zZhVSvgjieYWj0ZQQKbfzC*{M5t~yKMk*Mf%Uzew+`Fe_(oc&fZkL)(xb5i}mOp{~i zP-3zaFiWcV=}szUH7_Qj%w5%uiA$Cq^kK4Dn7!cFrlO?k1p12b{{U5bcq2Q+&2D@n zN?`FGpDu@1#?;d7s_d>Rd1*0tou?&!R+^VJEe1+z397u3Qmoj>DblK)rHH#Nc<6s1H4^X|>Tpwqwfmz~sVl+HT>G}HS?dcqG zTs>H6p&vi+^wCj~%TX~H+U((`l17q9Ya*VXBN;AOO*B~Al#XSLE~4Q}TavsFY7j!y z4xk!fjvq0f@N~?!7fx#+s0S1^A7S+L=y;cMhNF=XDO7I#HOZDl-C zEg#+2S60?mVr9xbOa?(ub#h4}z=ie}hSe7O=^JslB*~|{O#wNepay_qygE9$o&J{H zlENhlqu~am@C4+F)MuooysmjY9n!FALqeh zsx4p-KFlMrjh01g=U)uqR8f!1KeM9txs~W7whT=UK{WY%>DOI_+u5DJfupR3r)$Gg zHdcjV+tFk5leI=Vfq_bzntYh1r-m96bcQnWFcLn36oKzscFS#XaLCa=!fN#Zf_#A) zHS<5WtId0J8HnltHgxg87$hDYC4ap8dnrwg$m81wBE>P(e}QEL*s6Dl9T7Fm4McIw zETocP1nJ=0+Rvt*2bu{(Wq*id@XzJ@deYln>6Yau8W@Tw;yo$(^t+$1H$Hl%pEq9g zSxUJ|VCn0tFf`Lsv1+=RqKqV-0`zX~(s{J`fN(S&IzklNEiDzGg$gIeR57h-pU=>6 z>c3sN>+vUAxf($r6G2{|>UR$R02t~jnu%~*Y2(PziYi6h^enT_3$5w0E@Wy%#?{F% z1WI8Js%$~}G}haBl0_aQgF!4ye}m>eRq3afbZKC2z@e}xD96g9htH^oWbc{lvhaU* zpcwqUJq>n8aZ}~en;lIpB))2CFc|u0$ye3KG>U}8ELZ|H0B`MsxNVCRPHs<#l>rLX zh&VclpcM5z7_1j($Be`k8G}?*0!NUc;7^xGKaeqQ&9Ap8vlKyakk;j4TB^EA%JVf+ z&xCq682jb1Zz4DF)RLl}Pz*K%f(R#DM3&bVDH&}<3<3uV*E9$04d>EL+7+H?Mbsn0 zV^9gG)F=%&`Facx;y zo>=cJ?p~#uib?z{AQ?WiI6j?S84Rq@;5`Qp1P~5Ap4Xjm?S4R^ux( zl6AtIo;I$h8(&Cjsj~Ie5u~*92Z|=DL@|{il#kRc$X}MBjPoqkjJ=B_qe;j#AP?ox zu1IvrW2jXEidT*+$IFjLKjDt%tKI!~h1}WHY?e=Sb%x2xWNT~0RaKRFTwE1c%FLZn zktB*r+N#PEIgkZ9&Y}Zckgq$z^w)n+3DSviAOKc?5C{Y1Lqa+~*vhT$;wh4-Yk``7 zs+|_!=Fz-&J}+){9^b?64BjG#a%VRVQlw$Bbr{sHlM9Ez#g3%NeXFC^8Y;|$lR}|{ zYGfp-HX&cNmR9p$ZZh0JtkI|dFsKzKqyxhkJv+=(NN#N7Qc46T1o0#R!-*f|=tAnB z<{#5rXB*cwoA#rz>T@(*XM(}*T%8uve5?{~WWnMn^3lOlQJ15w$clQ}A|;eU71_yB z{QGNjW9qO_utNZ>Jpf%53m-r&UX+`LahfK-uMfHEq0e}|xVa(t%i zY|abjH7y3?%SBz?8=i)zuITEpTZV>Z#6gI{P~>Vi6w*^iCI{_lvF)yyO<@WBtDZft zkCm^HxmvKHOI0Fb7z~q9PvWny?dYay=I}QNgl*!yz^@7rNcsG!(od&*qrK(B*VWPW zj@Dkb&PSZb*5!8Q#LMowI?CGYRemy9rr+6Yy(88`_VRfnNaircFGG#l*o-Z85=l{ARG8Ww!JCdj6tRfhM-oCK8ilyB-O%nAwz1n-?n!Pc zD!`Uv8vqlede@C>j*IO6iq2<}<~E#p1^@s_2E0!XPKQnH@~H0qw9nCCI^MGfHDw(w z1b<_=@uwkxrk)x(ak)Bw7A{!pXiRlch|m=+16-bX2yI-Q^n2B_&AFFVVsfWT9Mo~e zJkPH}YyM_U!*6>rW{asn2DKmqOp0(IQl4D_Jz zo6E(KiycE%M~@WLa$sf^R7n*?qGNcb^9V{Q7h!JwxW%(r#c^#K%)o+GPLWEQnwr+Q z9=?4Bw)+*_E}qxMjx;r)2ni%p6~~ooest*R+QvosmyKk$89VYcQp=1X8!JA z-nJZ0YNnDZ`h10ZPZ_VxEGX};G-E2-){|6YF5=tG(VWD>NeC3JNXXzo0+g>FhACpZ zErY=nz#y#%6cuXV44?9KR6ia5KXGpK?%*`s=RW{fak$i_ppu}|KcT(BVlV<`S&foiq#u1F`(px*Z<`=*@> zj>(h^8fLXL`Sf=BD-)b0p-Jo zPF;_;>bI>&@eReiX{ugiypv<&+E}qxq^Pv1i=mCDD)EvT^$^4Td!gI6lWsJ@x6qCN z>oonR{2d!lW>Q}f?~sB%U&@rvKx^dp2V7yZ*qxi$dAwdPERucZH~6Gy6+J@fSnACy z)3rP`F{%YFnqAZdB!Dac$z8+W3f=k^o}D8<`&UE@P-xI!LIgsTlP*2cyf&n|QvQTggICb!mZvO7R>|NczpeFs8`W z(NrYgYdXaP8L_nJz_PJQTEddj#|PW8k|hRhLe>Y_l3J-~qmgJ>8sMK^BaLz8j*>}v zAW0o&qbbIGzDLviC!?{j>7%IY&9;+e_iWS^R4bC78u{9hg{3DaEVjhOBxNb7mI(+| z1q%mw$N`A<1-`nuP0ryJ5FmXZ=@labKR@ts=;f^~8p$SCkjlxZ_Z=Yd$CnQ-v2MQ3 ztgouu6+4r3(#tjyY+W`2r!lu{=ARZPiyuBfVydUDrJ9V=)v>* z>ZYr#6_j-qwX|{M=~`y0pvf~VerjCy#O^%_fo}Qa6mP+G>Muvr| zq>uQKd9m~q&=Aram{EB807+N(waTM2$YEw8qzYD*0AmE61J|Jxl5JMzQn8?!LX$#j z0W_)22m|vS2WR95Rl{AlDGhc8wxX`JV3IArj@&i1nHni&sEZ>}of%lM^p#dX7G*}3 zM+W0rHV5C;&G4nHfXbi@mSI3eC>E7JWpQ7ZM5le(wOmyrV_FR=at&%)qyl(Xs@~3T zN>#^6LyTx3hL0taTzb;W$)~Q0HJw#F5G*iAuxVw`8L#TO=iH@fwmV3ZT#C6x)JXFK z`Sl-OT?QT$U8o7A50U=>0O&oa-L<7ECVaJ3spNWzrbUp{rkJCqjasrl@~IUdCOs#M z5y816%xu#-Ur^R0 z*AOoty?_G8>GUB{wp|or4M*kCgj;k(QcSV=;=eAPF`Mf(9$I?Yq@E_o)2$TiO(%g{ z#>+G;fdz%71d*pnxg+Wawp!8`K&?hV)fLST1J|XrREPAK>r-Dt=Yo9t5GQ=qOALio z9ej%HQfX?bjYMlUuO@>nLIl=BewzXZKjH1ASQHr1fIdKCzq6u;ELDp&EBk-XUYhDB zsjqf*h04Owyv&7JAq+_jC1Rl=k65r50R29`)JCzyxjwY{^-`20_I`gpoTxLo{8E~l zVBch>sTQfxB&Cv~6k3T08vDy_4GzZkQ=51qD`Od`yW^;fk?f)%P(~#PHR#M2$05mNF1Vo;U;9KJ&4~eJ!gp zYK;NFsIR9C#pX+(C&Hu>nlS=t~$vcxV=0Sm2xcN zT53mzN_vWPk)tGtr2s$a7bKD&-Fbd#El|Y^H+2A^Bnp1oeELBFO$86g zf(W7heK?NuU7wz-tHW1Fv}Q`UJZ+MeYHGi@SYyZ3x7)~tC5Db^N{eev1b%(`K3i+6 zbxGs>Lr=p>Q;7V}Oup{WTr=B~=6I3_@+0i8Q!~FWH#Iy+DdxkvFkKTXX2j9PB51@u zDJoZ0Sdzz5-3QRx*Y{{SF4?si3l2ENKHBjGBhQrS>Z1^kUx=)mPH_+c79!k1ePk(RX7jX;gg8V^y#1Hz}MRUM_cGj$?bx#x}1-RfY()zxBP%Hm9wAAe0VQC8$x z@)FN95~R#fBBP-{xp4AqkXy&4Kp^6zYAR?cN`a0e9(n1BH*XeTU1{e)NDas5UOh+5 z_D1)bj*gnTYIK5lsd6-l_OvMkkws9;6J~(}&O3qVt_fcgy8+b61Ha$yVgD7041PWr}Q^^1Veo zQXOeDkr_x59X34a3_Xl3nY;+1Sm>w#QhflyJrhXHBWo4ZNhZE^&N^tL%(y9-v-bikwaLI6rw4oYnQ}&a>oH|tr zw?zG0cV^XtS_)8kQ;mGbmrNB|YMJM#sJGjRCT&WuGpa;e$rL)LXOcuwz%EH(0s7n* zgen4zvD5PXzi(Bgb55bjmLy98sz&dnEM-5Z^&2oY*C1;-umwQl-Gn0qoPVqQ9d3jG z-bc@=v1VSDw;MFn@+pJLc&c$MizISsC7e!#Yhhug!~i%a+h!e6$f3qa^2JB`zTTci zRc%BuO3>4f&WEMe+1vZ`f3r;48eDD#WRiSN=gj46Bb-gOv6)I)=%{J2lGSA5SpMY! zsA!{#nU$POpb*5Dx4VAZB$4=axS$091XayJsl{vMULIW;LuT{A9+#wHiK)o|P=QMS z0I^X&2|8uf2^ppcL!FXSrr783`XV{%)cF0HjU7XELr`6gg4k$8xQv;YeAY z;07E5I5xLF_DP_nIhcjn^zqD0W}M6uNB}W!a-IJG zF-q3)52lD)swks4)ldNPG#}2L0d4lkTI%D(W-eUt1X8BIpZGc-G93r9w_OfXX4Q7r zc;>eLVXCta6YN?vuaj}4v=ysR{{VNhY2ZwB=M@QfRz!80H3-37$P7onrHs+vq!!C6 zntW%0#W?gM8+aB)#eWA^o0y~)(MewN*7wz9bi^9fashdV=-IC|V1 z&x)$7uA-%C{AFX+{iRu(9VVp{O&L6^^KWv7#lG2ZmWJXCQHtp#8j(+g`HYHG1JEyb z*sk{J*-UQmm92D3#|k=n8Vbr9sivx_%GFWP!q37& z7EdgavM2`Rdk^mq3~D6LrMYWPoVyN8Jzb=QscI9 z+*KRWrk6QWK11*EnZ2ot!D36X%aKcqsIJYWMQo9O7m*rru|XpypinGh*lsP~#ku-q zw$uOus!63OlR-hl=TDzT4`{K$tV+O=drbv?V>SCRPOHzdx7PK-ZYsPKRTwEe=B?uU z3K|NjW`FG4i%{3P8$s+tj-tOIB}!G*m7YobDl{as6O9*8$kK|J3vdmXg|Gm7UeKuw z0_K>dXgYFBIDnaBj)V+-wBmYK)b>?LudJ_u>i*sdD;h#*BM2($4OAa&=_G2Z>m2Mt zX}zv(&lUP~qMkRNsBKSO0tGcd;lgz?51&HI?Tgyk7p9qpPf(H>= z*0l5cPCi{S&@gz`H1GN3kT`kc?ddVQGgvI09Zhu=J{>T4N}4JP%E)V@Nj$ZXvaEk= zGc?sS;i(LbEH*HUCH;J;hw2kbw9I5+NEE=K9()1KDd*GH(K5b(gh;@UC~AIx@qBs< za@~e^rg>wTB9Ph462&NRT;BWB}WNrZ5Ykvo4@)E(g0Y zELDP%zt0Ex^u7}mi$!Yj6h6P7_5w^c5Ca>+=oU+~ZFW9T+=~y=e**sK z^<^fWdG-GQQRzx{;0jZXb6?M=Dr}xkf|7`>NL5Lr`xBLMhYEV|{k=5Nqr8+9!PHJgX^)Yo^66J!*%_=gBzTG)?YT18$pm%c zo%1<-RTVZ)th|{@T$Kydm~uCgc@LM6Se6&y``WA`k{fjo!n75~4Ej^{aOpBwc!bL= zK?%X2t!co6<-;SSJXBk!EFP+d6`HQ3f+-!Qq{rqmH1}o^I~s~gT7aH3!pCiVf>}RE*+bAkZYpAYAt|~sxpi8rNlVfP|&$lx12(^thNa7O?GTGOovYiB(dL_0Las_W86H(cMyQF>J1ex0bdJhhRM3KH zMa>B`6{r{$Bkbz2+(rI0ew{{$i3Bk!LYjb0K&U)N9)`F+BW^smS?-6Uu7@YM>bFiN zgBev>H5;(Q&4SBIL4~TWhZP1x3lhPKmY^YxAfH$hNOS-Z$9)Rjs>sY@F&t2U4L~Fh zI+IHA=(^8zNp9lsq6-MpC;=2KNF;)CN&T6pK(^EA-PhK2dk=8t^7YuA#k{r!e(A+y zD5y5&ZDk%eDLy6~E>9(oj-w><(pJq>NGOoiQ%L}jEPxbO0>yY4K?Wp{sjWq6TG08@ zg0;b~mrD0LsHe9f;#P<12o)rQpm79KHNjK%W1w4jVj!liUC6shM&EzpRT*4{My9_d zSjMuhY6$YVY|TQ)Pf?MZCWTp|f(Y21ItL^f$rz0MN_3pmQvi7Zzya!dGP9YdQwX{~ zI*~vq1_ek1jVbDSMqnV_c>26e79ys;gK!Lm1l0KXe9%%-(>g0bQUK;a8NX$6=0vTE zSro*IP@%JGRu@jd_-v~}hahnjt$I;$C6g@k%9^d{axzIAMLtK**Q=cPnUQ?YSZl){pVn;%5xR)&%^fFCsS>46-DjTkG~Pqw71w%bD~3eHJP=7iLf>tB{> z$Du~sGr<&4O&mr%0fsWs+Q)^vdt4Q8d5VsTGX1*pR>?$>e~(L-2HTZ5LnTJ5DBe8 zAdLAQARP1^VDtX~@7~1XaTqEreSJK6EKWwQCz3g{74cL+(bm*VV`^x;D#^@_12Yl^ zrX$<7{{W}rhGJMB^?#qGcQ*QNW}4!1%TU6;K#U4~zMfqhO`!8dv8(ZNVY5==>1d{^ znu{YERbiu##C%S$!(C4#u*EPc71)%J07(MpNr}<*sB%XP6YJ&a&@y!Y0Cq7FH^zA561rrk)t7)$|lbb#UM{ zj~q36$n(m+DOInPGHLVZ>zJq1v4}SXF_jvYqNIOa%N`K%~_*_S0 zqGPJzqx+AxpvqCbHGW1|2#~YQmcmi!C_%fRHWohL60d+=ShSIfA5sXQC+s+{Oj=&I z?&i7Is^;3DA5g%Auh>sZ9>3dEdt*7fqrvUmT1k%Gbd^}D$tWI4DWQ{Z;+|SpQ4Km( zQ2CjZrm~(;ZV3eYO(MqHD&z)?Y5?Gx@%wr$-0mc~TO&2WAlrg-<_W3!A77V99@5PA z3^=;{W&Rg?+_;)Cfv2dYl+!^8!hurx0>s|EjDX8L z)46FJHI>OA1t9xP956eUc5PmDC;eZu%crk)F(u!NCbJn8Cbh@N)5vfhodx}mP1+f} zWmbE3(3$ZOHmIaH%ykOK_tOY;!>%~$9stsSq!P<JuYnxZUJ6@OtnMN1i~ zRjEX&rg>DOPj-TJDr_tXP;FuF)`hM7NZ5*Git(Z7zjeB^w7Z7rpfeTJ0XXzD^5Qx$ zopIJXgRbGMnv%aR@>Yszs#>KYnwdV=%ur}m2m#m15&b#$=%IihTtdR)B#+njV@h*#7|OJNwJx&GV{Q51U@qK@r+n;8YgGYf; z;ZujszP&8*HqYGu07+Ewt6Ego_WFM=zyHvwG?FC6W~Gi=#h=HwYa^d4go2P#ikx*h zm9g;{4!5fDv8jlQ#WN5Ex%Vo8CyfBcinyR+YeH#U`FS5P)L3*XOQ+-UK2@O~>ZeQt zFFJ=+%E(M;U3^qfM$8r|&A~M4tjb`y7XXky)emb#0Mqp8<&t_zU8n%92_8fJUvEl0 z4og3hdW<$1GI@I3k~9$0(c-D=D$#_M(nM(=?by-C&rX9~&|63+OPjMbtbLNW0Z@}t zNC$wrLaIb1COpgbn8&wByr0sF)A=g72)a7eVggM^|S_cM8#z$GvXB7+{?4s;8!Jgx)537%3UD?4 zetj2CKnp7xhB(Decw_nW%S+e$&#iJ;ZOfa34_$=J(af0onmn+m5;bHDk;hX4Q%zSz zJH|DrmMb#w8-fF~-`QV5J+w~AG7wEgI2z#BBkVnSBX!gO1dwrx(DCU^nJjeMR-$?e z7_v0fduVOCq>m#yvq=qN@tg9&B7vRk~3mg;}3iH1gA=npFP) zo2S@DRasJ|ioTo({kx!9W0p&zXGyAX$kR= z`cdt20rr`ZRUwV;0B4PqDW*=Ufu1$v^6A1)c@Ywd>`ME#JDj}ew?X_iYCzpMfW&?}D4Ij)@R)cPr3Ge801=tVk7Jnkcn z2-3sI4?)AweZ2yd^%+e5a;6boH``U#<>r#rF)5Om(>Y{%Gf=T5IH-(j0EUbkjxFr@ z(%#bEHZcPtf#ty0*Ntd;)tHvx#TK(d2_SjXKWEROW|OYAsfP;b2H~E1>G3aBPII{U z+wE$pouz1nKkmd?tkL;3AOMzdNFK;rc)qR8S}=+Y4w7m?;hsM_enX?VV-bsWRjDR~ zR1?GH!~7jAf6&$uX-AK5>qyzab9LI29 zHwspuQ$;K5O7PDQE|;CUN(D%$?4pNIU_9~%<~q%f**J*u5K$a9L{repX=jFg)0Tw` zJsfp(g&sO~hAU3z)B~v}L9>E=?p@Yn8%yJ+wlxGGuNoX2oPVFD1-zxoq(CUBIW(#B zCYT>D^7YiUyZV}n7-Ft!F-IM2HASlH<@>O;i48NwBY1w$$xKnyD-@j&k^wd^B(`!n zW0J%Xf!m6lX1V;q=`GE?%ME-oqz)vLn$Z5=A<<6kimc6bWDsOBV=4BpP^dtZqBL&t zNXlf9!j@GYg#ZvPMg5L;p%6`J8CrmTe!Myiy#&F5H9mFzUp)TKl{;fU9xrKAtJABq zM?5ITRWJ!D433oZKxr6B=Mr6mFa!~(fnpI}TD14)w4}z8%o+uSuumx;vKDW5`Vz4VJR0@n&i6DBO zCmkj-$j@KtQ`VpHeMq6sIo>_aFBHE=)z_xHIi;6#vw zRTLt;2U_t9OF$|?B7==Re`iMDm`woaZIU}k?XeCu5K^)CmI$>eC`g#?*unewr$D$p#^s@3gX z$%LJ2iDg)p8l03sgKGvBKU3`{=^Dpy#CDAazd8_c_S2;{;dKSb1e%{yP(>L?EYo=>m_&j_~W zn~V7xkTW@{JOKcT{(TD?`DJ?*siM>pMF7F3f7PCydQW|AeW%cyPiyu*TQ9S6c#V;T zj=LR2kgdS(sH<=r(Gt=Ua;&pl83kn=|q^ErF)V;_=vAKGqo-HmXim zTI_t8K}jA@HItPb#Wa%8(8h^L8+hX+HP0lN>^#2?!nX|^gv}*2A1Vxh2cCS-M}Ml` z4b96|U@1T`+v=jmo3XMGV3J9K%o^FAIyKnbU18ov7yLMjmqV>*2SvC%dW7| z!B8YWLzDjy}IyXvq(pH`djbKTsSV$h;$?x|yvuP16*vzz`#XV0S%7>x} zuHNb9irtEbBfNq%(}@+~PfT@T+5P_ju`@MLRpu)zbGZGrgg9DCY8*XHbvn}1MNcI> z+iPiP$6+awmFF=>B8X!V{{Tg>F@?k%t;0D__aaxRB!CAT6O&Jn=*rdh_`qo@Vgi*Q zvoRid^FOkk7MOpyJI5orY4)5M>=kWb$VZFZTWfFbii~zpR8!65!0zp?G3ix|$y3w2 zB(G2Ai%IfDF&9E7f?dmQwzq4dtOYeA6{rB=m4*l>g=l<;=$`5eTiIMdr%h_7$e$rj zAo(9IpLWjN+*=|^>30s%%~VIZYjI7AFO8OF#^a-*rNd0%Rbs_Fbd6K*TX497S?`vrjIE-L;sc+bvaB zU0B%KOl3B9qOz(=dM7KcnVcCZrlW!N)tLNBZwuZ{I)?-j-`h!jrZhnA;Q%>b1$l~+( z;Y(kM@=aIaF;wbiie_iEz(RSf9G!h`7|S3{EC~c200V>P>BApBt#!=MT%=K?WXR=I z8i7Ji2^pu_5A5obei&xyu=Ty4wVFR0?_HUNqsP{)MrdB6ZSIO3-C_xnHu281s7993 zU-Q7Xv5w7es_|t2(lcH-AcDL;MD?y_EOwTTqq;?{aY}jDt3B&($ZeBJkj2(U!Yqt5 zwNSMIS=iRo+9g_wse>gln2m|J(92`>uvfioCvlP~p&jT*HO3Bb2OR$1g1dh09fUJP zTCu)GDTBj__44VnclO@m%}os^7co~uM;Mkl-U#EVtE+dBh(ORu1%Ouy6cc?n1e*_P zHr`#ewnviY0MZ<64O2l~93TRfziBU)jnw+YFJIo;79!iV;&zG^a>qiem#yBDqxn zpHJJ@rR&|t4La1%kI6|~Y9MMFQ-pc26XN8io>#1wKTlZ|Bo7*CWPumdEJG<(QtEDY zq?B0{AX8IXFd*=yEBW-)VVM?h3A?ydR1xzv@%EwV$ z@iYpvQkr^i4J$JZVrXWkXE(Bf{F~q2%xm=s!kUUuSJtMq^7H7x*t1(1!YPOveDW#} z+0d7=`-eHUu~m4FxUGCZuA{1=k+L<-7A9J0#ER7Pf!Q3-#<=dWkPj9&_LhB~-s)(l zF({UV8~{yyPaJyj=)UD-FqBD%Vg&_FG5PTPx?SYEn+K2C)8%rTeE-27!WlBjV7arBD`y! z9T(c#HNg=CB5idoTmk1*HP59#KC$gC)yi(Aqc!6ZMOBVk_oxPJiae6#nxaLS10_gR zq?%bwTBHhrz$BY{-NxB$k&vN^wJ||KPuW`aYx`@RvfwJ7)&zzlxYvznX;Jod3v}%Vr_mszh`12iC4f)I;sHx`FeW) z05Q@UPdRfVlH>u5eTUcb=qt$f9bAHQ9IC%_O^<>}qot(#nA;sH%MDC5jRBrIso7M` zAR*-go80>{OBjI_Qb;U7sit^}dJiv7m81tomZd4_{;&3WjYHYe$5hpcgrSnXU1o-A zYGjQQ#1x4Vf|fO;h$L!S%NPLMpU<~`kSswA%p>`qQ^Kb_a6e$`@3(7ql(5ecK~Jy` zPMK?aCn=Y%61<{`S_4fzJsJdtvL}?v>0Ym8tuxAQ`pGN+1lr#0En`qpq?*?zqB0B#$ck4kzc+g*AARDB4+Bq85!^fI2iY0PL;mvH}HxztH^$w%RJO zq3x|t`yF_wP|c?&`Sj@9wz3%3iKjEutICY7Ze zh3yhYFTjzCbsHbJV~%Btp{6j+Bk!+wYdC_L`WVw8k}_mP=}pnsjA2t!Athhtvry`MA6bnSOx%S=D>hhl0}YK z;woyun$S>EoKF$Qs~ci6wBSkpRq0c*_Ri?t8-`7zw(&FW4b_t85r)OEOqNPPNcDA5 z($iJJ4O5y*cw}aiNQyQ=cC#(f-)J)s**aSj74Jd2=s-qVlEH1PT{vD z%37P1GRO%~DnSG0G5K-p(bzhfCh)&V5y0@T3iKjSY>vjEq0V9QTV^<<#%y7@BAKf^ z@nbOAn%rdrW^m&lmZF0#o`SP81WipNOksI0P!%K z(27^5KXzP(n5;pQO-UpQ3{sWz`3@Z=aJU@)6Dd_eldar1hRM@OQ;NyMjn7Y)WT&Ud z$5DgFQ&QE(hn#1r>R0Zis@9ODI5DyTA!SouTgp;+w6ZQ42~fEph9u^qnDws?y&m4q zhPG-aG$E=gF_1sgbTxK|Vr=8rxNW_Rs@$0^{{Vu)U}MQ{49?Am5|#C^_=C?$Ei#H~ zN*cOMoblAyNY%A?_^K{mqHB|Fu-qH@ZYD%qH*-Y|S`Q#B==W9#6dkinFP3mgxXmXbplHE?6n zc>Ihnps^PuHj!bxuu|%0Q0Yp7cvpZwGtvocV~dP=sUIqiH2l1}Ym8>&#na}cqp29_ z>*U47TjNlZ)~zaJ7Llph(x{KNkxsE1##X~wZaumtw`oiwQQ`%yJq2l6@U4G7yljaY zfIc4&pHH;(dFe6Kxr)4Wu;Vh7(c@_+mS`ZZ$jdU#5PViTX%@F7OB}Rs43!b1!5qWH zSUC&rlX-38$!@ZPDgsR_KnJPd511TC&rLqxFNS7~PLYi8H1hudSLe~n>P?%oHoXRO zFIkMn)#e`F&D4;^6r@F} zy{3cZUr>CjgViESg;`p7`vQsz0xMrHnCO*n-OY~4XXZGndU`roB$hfgrwS42;F;BQ zmL=yC2GywBf(3=WjBMbNC>L86bH={39%HM+4I?d@e811o%bDLY>>rGH!%I>8J0;oG zJA-c~u?=N)ej+NEUpbSYuSw?n9DTJ?q+p{1J&bE&NHuJQ_ch!}C0ZMB8{`_86!ReD z{hbJGqG4?uai{@_)%J1EnCPZ$jDpKBlDcOx3TB;EVAX--z!Vz+e+sBJ zV{wsULeL7Ht#=6>v9EbF{{UCp(w<7eSw$snB|n;Kn4DA4`Fu0QNYX$o}6hlISW`8K{dwPmwkKyn07e*F!-?S5q_(By0CL{A~}M z)){NuJhfG_N~ugGl9ESQZjh#_NH$PN_kBl!JOxRmKQHq1u@E$%14_`7^6~@xJu+9d zJrz9-E2UrD(j7K*tb#!T$g+OAfN$Ii0R2sHa58;f6tt zMmNamTLi5fUO6a*nipD_=VdYK05V+K{FdEVo5DaeU^v$q=`QIUPblD*T0yUo95P3k z_3G9-SLM#n*gIDpgRjHx^HTfIDUi)n)8UcEI|o;{{{Y-|RR`K++~snUXK1Nuo|(d| za7`qdi9iftzw##Ux!)U`c_Z+|Y6V+~4Vu(o0aITy(U!%`7F%B2*4GkNUl5vsQ9=M2 z$C%)Jx>bB)+jySS?Eb>bbv;&7VrK9uO_igk$=7FhRx5X6vo%?XCw=#{_bkv|iOHR*W(_Q)_!~y4~tPJXHpa z6az~6f@nbfy&Jucv;I!(e74}j?%WO+u<~1na_6hIp5n)E1jXYvrZ+o-uA2#htHb0r z%~f=Ccsl$<(iCQyd=e+9f@~MQvf1xrx1QX*P@|XE0?0vPi_YU#fnVRj(wf2Tr4*5y96-;zn zVxJYZcLrXkDOWCj~hc=H+4>W zi!X@I(_}_o2BM%8GEGl1N=#N_);wt^{KvQ6ZZ?TyZd5|YQ6!L5p#^C}QVl42D}0#|eBR!kf`+!Thd!Te zLytL1D(K`8&m17bBKkG*UD)FKt7|zoILFpRbqZF2fgll@(27)f^}Fk9Yp7WadNqPD z1_9$*aTWC)3SEJ|_Ll9yoySqw`_8JiqaTTegJ|yreDsh+kw^Emb(@0+Q%MXTW|K(N z_M%(DL}%7Ys=F6>972{*qW2w00I57E4NiRX$A>}m+ayVUvu4wPYw5rMe7!m-jg+9G ztrAjI*H%K6D!*|HHZr1AKo!hjih~!KWnh5Vt*@wqV7=~Gi~vn@T=Z%5rQ;#g2B!`n zAM*69!Bp)DXUM%|d5Vh3QfJ4`vC%XXE=@h<$O@XV9a_{g%8F3MEK)3N2@F7~nrf{G z(hm&eXVcU3uSw=fp;Z)6Kf~!vSN)EZMjSHk8jmYh$$^m3BGAJ$IQ)akY3c;B&rK7E zW|kDB6G{s>Xdd?@TsU0mKv)N*N&NT&$L!(KCNc%|$IsBT-9E1S>RRLXk${qa=m{VS}hzYN6Pf7nKZe7;>y*EG>Qj(;W>{ zAQTm;raERqMK!1sHAp@{3Q(MmI5hLu!*F?CgK zM@DCt8IPcLfS)uUhyDa6*Ca5x@|?l);3*6QNj3I&l=9y+U<=L3hP zMmY6iy9eVpR%|>xxPR`x#h~6hmP9XR&J z)!s67&iT#lzO=yY?XR1}E z6Vh)QWJv3`9Yt2qd1@xBeC9_5m4gkqRTl016N)2d+V-eMb(5-hlZPH&W~_+1Qzis@hGtyC`7A zZH>c{#ng?rkEW`|*1kp3cs8yBOoPHPr69WI)*jABcm(g9e|ULdMJ7Sv}v=yGZrLPDdx0*&Fk1QC8Mg z41mVvHe?%zDV(9B%GTp*1lWuQ7bi;veL$RthEz!d+sS=MAQyLjD-RA-BvOQiGzNpr zu*N>liPSZu`^Bx>1lJW+M;el~0=TI)C)dlOroH3Xn@@CZs>-~OrNTp5xT#FbL5!%H zlBS_6@wD~0YN1a}9aTUy@>0cHB0DlMEpTjC+`$=mS3n3TPs|L^{&XaI^dMcL)xMHz zb^ibw1se=>no#6^b*Dhod%JfX!3c{ro!XUhVsJ2HYAfp+mne~K`cJgPnJTLqnp!v> z8p2^%|_Woz1CbP5pWi0~Aip@|3M{%hj3f6>Y75Vhj zn*KeIYHAI`R4O5nC9JQnrK|obF|kQi63bDSFg%))8RreDSm|eAIRu-(i=?R-V0e7L z*y+d(ydrt+Vdd-N zAGbDUQogS@jLL1i?3jFRN*JIx=+h;OtV*g(tyMcIifO6;0F2U>RQ~`s6jDQ_R2u^O z-xB0TsLJuwiu}g`^2br#`@G*zF_64j7{v(kp~%HLYwnGuxA*l8Ot{VESB8OJuP3-6 zTta>BT_~}#tV>-{Nm8#>Sq!`uk}{+*3`q(?`zdCLRw*C_hyhJ_0&`0FACc)+(R#MG zDBb~iSb(Ln6ceAz_H<8o&I4@Yww@Y>pMT3g+C2qjPB$ZtsG64+YH5XZ!KxN}-1#n% z#)zy^;dK%1e0q#>hlD65wXYffni>td$y!h#jh9`%vJSx8!rub!6>rAXc0{TzV~?%Y~YU z0b4WYV5zOHifURaMyisIZ3V-J4y`Ip3}et008?>ubL`3|EF7$40633R{tkru6tTU^ zFouw!sWhnJ{JnZC6GcU_E2!qrR~mUHqczV@Sf;93*(QYOfKt4+mPBima=L!MsB(fv zhTRrf-hr!1`H|41c)Oe~Es~AQDrEzy;cxP@=g@&#P=E1AzFD=Ab)eveee2=F> z3u}uj$Zm`*3S>Pv9C05aICOh@=cV#FtV~&~wDgkYaxt{EF;nE4BnawSDoHOGgvK>; zq#~1Z$JB@-xGIR#ib+9S6Z<-jZ+EI(HNChZ6f^{kC!_SW5i{sh!&lfP)m?l4lnd2`6jktS@A#z0(vOBzmDmYO;bPstw{sUo`a>9 zVwbdIr&w_j)2&@XL|Pi!xI6`72^C3=L{6y3$}e?oTpczfd#q;60$U(@57}SKq_Ghb;7zAvXu`M2ZUyjyJ)@cgSv z=a2Y0w~K903&TGTA3imuc+#DJ|IwrE$J2eIvvVPGn}Q08Gcx_gQkNr9Tw-Di!!*=R zQlaB!^p;D3dk_b?)*Z`ixPa)jq<~-*0=~39zI{Wn-9SlFG`Rl&C!zWDnW^0JMDG{f z)x%nXpuBZRixQQ3l60#oNYJ;Q>3^tH`rF!wto0~u3R4_7=lloPrreShqXxC78u9W! zK84?p8G)JHJDx1OsM1G_q5DZ?sg8y*dbx&$n6;JVX}}9&Y@_-QWgN{DTUuH)1d6$+ zrE8B*mrL!Thf6KNsjWq8>BFN*i><(AqO3GBQN{MPGQm$G<0iMB=`@pjlfIgs-)0Y zAqufVw4o0%Fkox|fJv<9ha7#sv#SpPE}@_+5He~-2p*r$)2#7!4$s;- zT4^hj5iF+*kg0@YWvr~Lmi4;1d`E?frEZzQ1>0-bDHfiZ};V0OOjF zcn?0FismJ0;_$&@qzYu`hY{(~Jj&y@HWzB{DW=3!#f+}ZQ^|aUl(^TEADE`B5L9{c z6(4K%sI>N!w2_$If`lZ1N6|@bB=(=GrP4ZJ)B?1q$DjCk^ctN^Z56bnE7Y8W`CwG% zrv9h-LAQ2&e_`$Q$KtZo88L~)ROjW~?MXpjOHG2v(7_r~)6BnpMOxL;EQ(1GxKX9Z z7DKshLwAnO;7rlHGBE%sCZvKhZJi1ZR~>f^KjYh zX1*!}sUQF_rl7|rzb`O8-jj0FM}3j)?h&E5ScxQnYDWUU<*s^S#(a9i&~^?Ml6rmJ zHr>zT!yUZ&TD2*LD)Ci*ytf(Hut;r+bq~{6c+3qAh2)v2MVL5ap zW|gf)e7X@w%jVklKMF=R;Yrm@lcbZHQkBIz1-7LI{{Y;S_&w{3#%5{pF-KWXE_S!Z z)KY&0uWU_wy+I-sf;z}7Eo)hbQylG?rrZS zeg`p;#=|7pDfXV_8B8p(V(=L3>@;;XaJZt1u8yK0(t21a7uH43wA<-6`_{)`x{}$N zid<0Ck_jGUQ-}CEcWsV;+*_^FMtpW8k;1g09C!-n9RNQbx85sycJb@I(LT)F^f{`^ z?3FZ9Zh3N1e%3mAnDDq!`#9GUG`8e1ewcFdz367vRJbo6vB}zI< z44kxzB%`IOnx;9#5<;}nnYl%BfFG~mA98K+xY#VGySxuOp{XPTf;>ZoX>u+E^-TWtYJQ7P>mx)}n?O z{`Oz7BdxEfB{jS z9%nr;^;Qln_r^Z!hO+>*JEoTorzcHJ@Wdq!5yK*qSP~8W zy}oWH9(33xx4J(sH%gZdJQe5-rJ)5KSveie%@7M@bKhI}dzf zdoyKb>$Xnnd|iDeVveIDO@leiEbzZj zOlynG)7HaBO;h&M)<(3`=$bXVXmD&nKEvFQ0NrNrX)uBC3=Zu(4Z?EEpEu#TE2vERrx#3kC+X z11Ig_(Y2Q@+T7d3$#%h<1{I;8IT-c(da+K_+FOUEHpL{HpS`z3X6Z1{VX!!Dt+qC9 zA(l5%RY-aqoo-I0%8?zWhgzqSQm6@Fb)>s~;LR*MY8YfB)tHihDvA$YG~g@NbQ>g^g;B<&U{}a~&WMPutgqY^TiY!%X7>WEMQu%1Mu}#suaRCTY3gaIV~#jw ziUw%XXiR!FuxL~OK|e@iw}l~zl~d3WfP9Df52r&Id<$rr-60?p0|)W>u{87a^2br@ z@)`P=8oIX+H{PvMiE44wH4#uy#PWcWQN*;7(@v4Pp$Z}{HD26s@-S7576pl=Dh)vO zJ!~uyIz{6j2T9dZIF1zicnb9gZDMjghrTh}Lmh>#izk?#N@*%9>FPZ6bg+gs`Fi?F zg3S~(RE`{n7gAABT!ZgdSJw7ccNcPi6#=IT7T^H;Px<;{Q0WNpry39889zFoP%?an zN9Uxr>7~HusIa@5y)aaLm0g6y3NPXG^tD*5U1YR%ive0WR<@31Ky-BsA|Kp00O}X%)5WNaO$jeUb9?@kxIicPmh_zIX%2;`;?a zKD`?55QyT6gaBj}1Lg$>+0=fN!J2&TO1mRdB)JsI)X-ML6s8P$sFsX7RYi}8ia07{ zmshP6HMj%t7jIK)wMB_(9)LkPG_S7`20B5upz)+GG8u=EryTxx;n3?R@UFV8+k2{5 za@n7?plnjm&${yTuvg1jwoDWuWv!~Irb*3lNeFdEl%WB{-ZBby+5W0o?POK(pCp9@ zjVujuoD5_3biZ+>wYijhU{Pvl2_x71o_sn+Z+`ddorm#OtF?EBSS+|7;h8)&MP+p@ z216s5?0v_H%i%G7f3x=rWHH;4j|a7LX)F`ZlZPV}ZXZ*u%uT?WC<*%cQL; z29QAx!h}_ap#&ZyqJ;u`7-RZvW=sNUQb?&Mg9RBJ4M6K&Y5Q-qyD}N@)%ki2mA59! z($vpEv#`mAdik8YL*%cTqN6U@x=3ebiUz3^#1W|&i-8O7S2rxCYk~;Cp*gRa@-^zo zv~9Lz$sM?PNF;-h2o%6P56h2N)%>Ag=-uJAx35X|jV9FWo&Nxes-J%BynkSI&sx>I z`$B1^pxhH}jmI9{P1%ymU~@9tElXQlR7O-mvOO*<^wIl}u~R(B*hB8tZZpCH5o z#9$h6U+2Hn}GIae)K*~!t= z??X9Scxz~eOR{m;+8y1Gs;81jXep(qjMy0=c;sJZ67v@71FWe)@=#ENqMk;INmE)9 zYtc*_KG5byNaWUvDO?f{o?D3Y$3yP>-I>mm+PIp%qp~61`)6}vsCIW$w9j|m3{{&Ur|-Kpm_e*GYpW&2nH=~%&RFUvauVC@}hP-CS`WgT8C zF_y<;>TB}z))6f~s183RDWv z@u#mIgZ8_avxr0Ct35DS0s$GQ08kU>^2b0|Wc9vNEmgR4mDM7qW2+m#r-m4bKS>Hu0s)|0)sLB{5>MIDbkf5; z%Cbh^Qtn9tlqHV}P*XhsyZ-><{{Up{dhM}|uc_L#d7amW$Yy9U^jX*;tfQ#KL9VM8 zRTe?$>FO$-nG!P;tsbT!jmIx-e9>XM3)i<4^uwcu8Nv^ zx;2p{uA_NUmQgTU+jiW12exR}u!2byBygq$4G5?QfHbd0*0*t(ztR`e;M2Ru7uVaTyEmqSqN$|c^c^BSDJ)D<~6i4!x7e=a0ILR2_nH( z+q=WKr^3l76(I2gg=^=Z+0iZ3BHh}iu;dR~f0vCtI#%NLM_ukcskip_OEcX04b*bA z6XLLVjk!fbvLUR^PeBCv805%N*Hk>rks?a*uxV8RB|rn)cUy$8OL1@-5dz0TOI5o; z#yU-JEU7giw?gd7GIBuS`Td<4>Ao-Q$f>Jv+gm5UWb6uksYLi(MNZDzc-5v#ob`1@ zZcldB)z@R>-8AgeB{elna6vsh3W*~&lmr(aHk!vg%^9;YQHqu|pcDX5g(Ha^4?-K; zDK6FEk`mJZ7y6RaDdmf`*45PaM?btj{dr7J1{0 z$8?F=kQ>+wpK@)yQADCxiycZhl1&ar+4l4lbX6n-I*vG32h;rhDX?8>p5Aoz8QQAq ztTx}Cl3bN8=dIfNuD*vgS|(I{PBZuh6C)Ja2~opFK^*|h4N2fb!|m{^x9cWS6uBwxpz~+j+bv`<-}D%Qyw+4yOAg+ zhO&}8p>VJ`dZN^&T@gSd+jhLy%lEsDEhi0sC{zU00thD_SmJOq(S+M&^eD2)Yx;B~ zl1FU~Df6$FNcpn+2XuF4OL^ckJ11gdHzpRfK{>x{;0WbLfHxSUou`W13D^hh-(-izQt|?xTn4-Cn5U7br z?bBX9hmH@gndwuszB6t*jqRH2&B>3ihj^yoj~$A^!&^s1K~W`k+0WfP!-&SYG+YAkH( z?D52Al2tZ@xD?B{#Iajk3xXnSfEK#JQovJ>0a5l)@#sFb5wl38jt7{a6f`{;F17gM zSyR}FwYv*rXDHT(XJ+@~!w&x1&xOxow)R=ERX=N(q;;Z}np&D#hWl9RlDeW8#+xa- z65ewxYh-RM?rJrJ!Vti)u16ovgbuYf-s=!+Z7lR88jJuAerM2e=pOc%^|L zk(}chBh-0tuSE&A-a4?`gJ30aBaIheheVJ!zz}NoNMGg6dtG2cE7|Ql6{3sjhcrO4*Y6K@%vkG?)|Mz zhRSY=X<~*d`U)(hvD8x5gp90k!&OkVj8WDUP%QL{%bPiB+({cVS&|E)u_1GVPcK@5 zPhOwCgKXWyEUIIYl~XNpSnSVWGy;SM0fJDgOYyIlP8b_+M#ks+#kS zq^ijb4&KH~QMzes@K{PJcZLd@NQF4Bj7nt%+<_xJ6R^}Kp(rQ{8UjEhoKTW#LGtqI zHfAbnAq=3N2al)xS5c}))7<#B$ZkqX&lEX)zDIK7>$kSlO#X8fQ7rOcu{(1Cj?6T* zxJ-2-)4=pp$g4RM68egfrj|%1h8TkCAO#@_P)8D2j1qIG@at-_vQ41?Vdbb)*C5cG z(0cWPwr;(x!Qv_^-+WU(Lv~fkn4^Y{imx$?!s6*FYH_rie+dVgeY>_Qs-%EPBro?> zGWkH5X-zs0D%?z=W5NQb$g#nx^I`U5t%Z=Hd|K9`l>?8RJjdD7gm|hd>|F-!+S`ME zioDkLJ68jZi!&b5J93!IS4i>W+apZk2_ePRece%F^&w@IQO$t&c^D?RrGg@XH4~<~ zh{&xEnG_#j$4NxbYbpUNE}cLVU)$;Dfz&sO?o$5 z`&ifeeNF%#gw#~hgN1XRpyhVmen$+{b^U3y4i1}h)YMSmDYs@qlQV_M(PF8|rP~|6 zjp-@>0E6c~!eT0#8l;Z0NTHQ1?#WRoOOqP_zo;qp>BlWj{?A1O84ZKkyLIsyx{}E@T*dw3!eMGL^uKS2 zjjC2?<5OOSi#QBfq)_&RSZL8Fj5M{9$ zs%i=?$vWiHlO>1BW-@iO*(#cuvb8vQ4l${tpD|NaEL}$w?hb`)O}P_coB40doh1D>q;#$ZE9y9t>B5JPL~F3N-8SvcV=*|*!H1h|ZG5!* zD`Mbs+qZ7w=aPn!q3Uwg+3?vsT)1`0%(0hulAM5#5S3*>K%&T`P|EVuT}m~%P)8(;%Na; z@yG75Un?04nv%eQKs1k;u5v#v9Xyxu2pE{k$VeZV@;<&pp!*-zP)nk-bz^sXO*KVj zS*F3(ZO^xp8$3}_W2osM%(OM1$0; zgl10$Fe_iPhaX-ihaQ}<-EoB85H>>xOT8)fp55E|OuppEW?OF7WazOwOYcrvOgu4X z;D)wX>B$O`G)ozUiYXRWF1+3#u>mEancM}SG^=O3)1w;|mFJZel(?xPpkUL5K=P-| z^q<}{Z7#K_slZ_|yOy6TO^157bD?B49wED^d+X0O~*$zZo^*Pb%@@(^q!l=6)Ph3RbuoHN`mp04|WQ zcIJADddia&QvnlAO0^KIAu4=L6h}y&RU%eocR=h;pGo?XwWLiX2>id*_VmMS&^S@7 z)S5LjkM=x|Lg!t4rK{^)wI5^QAg9OnX4*bTMtns zEo~;U(s>IlilZq`<7W=x0k@sMMS-ZsF@h_=gXh)l>@IBQh}t;_2{pxj!(KJ>`E-9P z{!vBpCva?y;koJYJ2@ej0kG4pPHT@kngDUqn>(v(gmVR&7E)+UD?yB4)6>em5qi2T zWUE(SK4UGJqYqG!X6xc?Y&G&nH9So|E;_HedZMc9<$#ruP@^6VfvU)?*{-T*P&oCW5EKU{pPx}6%T6Syjwxq}B|fw)V+1Ga0B~PZ z4OTb$U+^uYm4mRUrxEh&azdt+QC}}Unk({EnF{d6dZ!2@i0hS##8gQetVA}ILaxAo zFX|)meX%@}$t@I-kNCcwNF$CqDvELc04;xSPFT#8*w9jrvUpjfS%V{#5lo86l@Ty& z!%$;=A=1yJk$WG0j!y|lQgu^5KAV!=UrR|CEGj=PH2XeXa+XTEw<;u-q2zNbmL=~a z-JPXoHe;xANxwJx`+Ugqf(sH)^6P)5x{jK9e7?_4qv)uk`+0n#k*X19fW*5WSU1)kV=CY4}oKut1fj2s$JQ$1S`$M1zZ2WVH+_CD<2_}t#% zgE_t_Xm+N>tVpTr@wkoamBH24QPoLbMVQIWlF4DxswE;8rj4{~Hr4DixbHU;zth{= z=t>H+4g{zsqaz$XeHY(GvQpZ6z+*xUDk|DVDUv8Y&OCZG*`49mds88|lP`|PZQ4}} zPqs5VhdmxcCH!S)%3`+`GO~>-YvZbpgBLA5T1fSCHAGWAg7{g9Vp?6x6s9&TOI3v^ zDT1UN5mFD9DbZsaMOfY_Nkus{u9H$TN`eSA&!<)I^0(xU{-exo-|pNP%+Ay6z2}mz z+dHQpQT^1+*5oGInJvHP$>0*2N%1k79JI0suN+g;ps=|vqMg5Kw~o?cz?+Ftb*ab{ zHNo@yc#QO8Zn0g*bzs*gK_HIM1_&UEaPlv&5Is#v`#xP%hs!+v$E?}iTe0@$K9?h$+Le^_nN0dmP9&zvO0@D-;|5zTh_(+DMSCs5ppojU=qo^L_EMC^IyL3NBujfE5+Zf22+b&ILI;*T zdM8rgvdL3Zi;5a7oenaBOr*yhkcxVUaSmgrngW$cD@Eaw@8W?8jI%i;3x}9IatP@~ zZXUS*00n=aM~gHX5@N+9bEH&LyYk~-pGIe?_lEH6DrJumkipT>Zm;20InAnxPg6yg zrbr~F@=jJc;m6k1Qn3vok}8iI3j#p*=Cp?4L(3UgN`S)@BO~q4L4C?NFC=*Ze-Q%! z=gNk(Amo63I$m~1Oi~@Yne6I{+;%pv3kFMY(d}sQ^c7glZYAPOv>42+wW3<*YMS*5 zlDf=dEC@?p^@`wKN|yc^ttqISk}3)Gr3XxH+pEtq?cy>LKmj0-YeFhKg?&9b0VJu| zIj!}8lA?||;>+$RXWe;Pvr#5PB^Fs|V@e3IPYiNWQqj~$#PLR#=2B4@AiUtL1+lCO z0puy^>Q6?p{_%@!xhVQw6R-*Zw5?4+p(JLUe7f(pv#{-*_ga(eq@mjIQ_qi&9~>!L zftISFWtA%E>Lhw*N%Id%k|=2{3oMNiYB%>|Ac`wyELljYI2?SB_&R%Qw-=TX6uJ#? z2qc3>r74k|07&x9E7DsFwkYzGP-ORoe0aRRed=nYmRwX!nHXv&$HhyMmLxPW!%qa$ z0LlRdoB&eS_u#se$)dUS^5RF@2TojHGAzkvo+J^P3LX>&tLIvb{kT=^smbStA(& z=_E%%Ksb+)^XN}^GDBzKTgM=nfB*)J2=X9ihMCWwS$2-h%0sz^a}l=lnS4G^J636$ zj~Po-O_!x-`#NDx!Wbc@YKDS)GU-w;VPFe2BEqsx=;|1dO+1LDaq=gvZWn7csJE8k z5_Lreq=FBaKDQqwG_zglsXq{|YAfaE($}cBfW_BkD68>N)>GxGMSR{# zCliX9D5q>2Cl6K`gvWQMV;f(Wh!1wU_@==@mA zZWF+{T@o6aQ~)>con|*z*-8U&NFCth$ zFp3%u74;oIZ)Y4ftrCD8mW)O}Z_lG_o6-l`80@YWcEcQLPO(VeJe}5`YP)^XMsb z_8vI;NL^w+MAVNgpP#2*{vFvr#6HLE+xP{)&;7+8-2LC&f12?4e&6jhel=VCb$WfP z)n})~uj=}FQ~g=#MvET<#MFMLRVhqToO=J#rTyug+?m!&dY$D#Lk(?xU)*GBDCudI ziiRqWBs4hjK}QlAiYVA>kcToa)Qj;o+Q)2IH-vi>Py>=_N}AUPs8-omQD(O?Q9vgq ztOpbFKA7k}r|bQxlibf1U$U{)6cSU2Y4RJ2y0V2HrR@nd^>9}X&6HmJ`QcCqy zl`PGSub|tsG1Lm|g+V?>K8c@d%}G87fKKKx;dV+o2-VUQXMtw8e>BEKy4?JMCVkzyi6D@vOF%=+~Y zE7};!3i#@tEw`CD8HH6$kwu!Sr;@nIGfyo^tE!GEq?SoZcT0^!kWaVbv0@4!E2jXO z15Y3+o*une_aTf_0p~&19l_YUUTS=1ZF2MnDML{ip#B9-m!RDE#(@gK20pH;NwK1W zB0@Sfm?tVti1*~MxCNp_Iv5hwp;oUQLmBz?dv_7L#uchZ6G~^!yhqBNCbQj}zv}kw zW_KgFqRG_Flo+`7&T@h*`mH@>DR`^t+9;#1rLU+9U{!#Q=D=zs?ilRhy-OJEg078T zASH4RLGmDfKAU~EDdSs)ki43R;z0m#HT3AY!MLTQ-gC{6#KlWi)HuX?0fWm?MN zZB-H^5T87W0!gM@fY%_Bc=oDrv&SqJ(h%CRN3AiQ9BI*oy|RmB@ehcCLfym~V}}rZ zG10N>zT(Pkt=F};6YQ0z{tFi7Sn;?zT8cUH^toDEsHkcyg=JGy(ozR_P3j0McVI4b z`y;&Nxo+%lY~{Kv(&!+$u7ac!N_n4`9-g+`t?jN-;s}unsZ&8ksq(K9N6Vu{+TSY^ zXmxH5yAe~5m#{0cn|E{Lc7)SZj)X0`8RNE!8WXFy@BmZJzGV3hiB1#b^#(tt_m@)cEw7oT ztKAqK`A0#O!d25$QPE^KPG&6bHYUeQ_Vw{o(p4)X$gb`IRtSAw#W#Btr*qryVw47k zNQnluAs0!=#c51*p+s`4=pdm0e6T^``E)cKDXRhP5Tr%OyveAYgTN^Dy$ZE zs(L-kMFkBmO|k7BHcA>Q$g#@Nv6jg30s%Z9Y38)JgLbgHvuZ|N#Dr7eH6p%bSERAq zU9?xBVgZYG8jb|yjQNg-J+ayyCr8z_xE`{=ZY&n(%V0(`a!t4T+i;v!c2_NpmmOPM zo1|LZy-SzLRAQuWx0##)BF0Hz0+NaLo#O9#TbtJpw4R0@wymP+x% zX&hr0S^|(x2=nu$etkD>dOe30;M(~urMCM!Zf||4X>+@KDmMPkppH>b44A6c$YZxA z>W-5qOFT6$jU31s0W7D|J)YlvMb)M37c$0drKoXIXbwdP9B?!8&qWAkwYW>gnMPxMvTJMpqRp0oJ=M=4R&xC)wVuGg#^PbEhNFBw-~OG`;h zB{XCdav2y)$T#*H+&OXPi*16|>0yNc-($hu{JcA&9M?gNl{)flz45ZweDl^$01j! zsxm|f1B->0TSRsiq6E5(Je1VH8nLMZRY~b3*MWN|KVG3Lih^hf;0*xjrf-$|!?3ZG z`x29*sS=uezAAZRUeMf_zcbg<{{R)BioPrs+M}Mg3sj^DU{-WyO)e}i?{*xhEG{1X z@AYW}cPKQc5-NC)BhvlCduy9`;WAJza5(9~6#jpgLcd;jXK3T`X-^i)>&!&~qs7hQ zr<;7qCaRaOik!zX%#?GibJIylE`UrjsuH1J-uFIU+xH8FntPdbii~N`0&sFLLHUk~ zEw9eqYUu}gV_Kdg9)rl!_Vf{UpU6(%+nGAJ7X{RGmrt3k9u#7y9Q4gSx1-2VR1cuh^L!XzH+&nc|K7bH?i%FWbr_ zQa}t9Pq;~L5Wiao{8nP}4 zQV8O-BNPW8Blh&N-{`E>g|&bMg+3xpYmO%!4Vy<}?%j=_+&E4Blgsa!cLh8fziaPY z?2_g4byfJ-=&<|8Z&l8?+Efu@DrKXq$EiahqN`;td?(r`k{gRS9^C|f6Bx>j4JM^X z0Gihz`BV;*yvr5DjTq9-HDk`0Ccb}XSUVH4c8%WNBGE>2fju(hCBfhp!SyY5;YSPYW^_6uRN135Ml=VKHC7$|YA@F07n5ib52kpt> z_Viyi-t?~AcwNm|x;Jjxq}&HTxz5|iMVhC~Neu*5D<%#^+qgQM_ENSg8W7bf0ffsq zvVuu+rt&?loOb3VB>B#&7)Rc%er217YbUqknKMaE|;c7;YBqBB_`l31cBz@1vyDIpA3 zzq~F-?@Lu%6t0Ns3Wf%NoaEEbJsR9uO*B!ckgOok(9;z7Mr%s(JWtutf!cXW+)mlV zQ{-@2netThyM7rd*Aa=sRZEnmqm-uHLOG1%7H3^=Rdt~Y<(s?PGGU$Y%0XWsG*?pedCA5-Btw<=!X(Z-| zvv?@eiUJ6zsWccEt~zb&>^^h&l~!{Vi>R!luH2Os8R~q6T~pOy^3?LJEnXru+go!s zB>QA_naru=SnTHI{VV6QS#6_=SwJE>0tXSsrlftHC63*#8(xaVXlmr8$SIaz4ne^y~Z(oXgUuEGiHCrEhK1vF@oMlFHD?JSjU)bYn z1x+P=OGAm>JD!%SDU8WdlF%8UKoqHxKR{!YZridsp8vAc!}0IM=ByQSA^(4!$4HK?HT@&pn2bZG=&+*@8iL4ruZ zpgF0gJt_@B^W)XyZeQnh)qRtL%7knqRZWge zKHbgKMO!>Ij*BEfQf(o@o0P@H*uL1Mu)@hzZc%BsjvBaEw$O4^n z>bR?Rj!?(_k_?o}(SGYcUmD{{R7qrV!T1 zwHWa|TFyXKbO1t^);BiuM4OOTk%2ma)Q$!~B#bv40tZAFcCQrDOkfSz4h2D{9stwx z&qYhT=p&y!xi_6A*}&o{_a5QfG$yABCL4EBY>(mE>ge&b^>~%4sM!13va%$HElZTg z&^1cM<3l3doNKcoM7M>eVo_M;pt)`}sG}$u6eNx&odxEaL91G+4^|2Q2A-AUjwc}e zx(l*>qq%9uE_$8c*+!2s;Lg=agu`u$WsbTU#;n6MLbD4UG?P-)Q3-r8%CV|PZY^(X zmd+B=4+1SqP%25{Gr;;|=hp2l5>F8LajOHsnpe*sA@+0{WU{#3FxOD_M`O|CR<<)s z4r-NFsMk9OGtmkxsPPq*fDNa1 zJzB=#_~8KRWB>zqz4G5+u{(vP&lqDEpi!q9=t0xR86Q8FM_VPUZkKSwbs!Zi0pmkL zM;vh!HR#E94@ghYeOvv_!|!dOS6#m<=Ay@Aw^lb91g(~bZ_`v|GnAF}R9OtoOnAzw zc@V(|+tdB5khH9lsWJohUSVEo-hQs;!O&ZvHBxB6wiJqhN%hICe7Zj0wuRd*7B#zC zO7$QLQiF&iBRKS@Nm^~8m+j89*?V6zOtssCXkq0wd0oXvHC`VNov5v;ppL$WE8&GR zv<1L-`8g!8!#H5$fDU3t5?wf_}ol*&yU>uMDBoUe&MAo$7&`R=YC9}7RX-hg2 z#Ai)^%}RZpEgPv}!AXgl4cS>B!BW7&Noi?fYOI|tF^-!g@>9v?h^D5e(-Bhc(Y zH>8ZSrN9wpLP4!)0XZI@D*1VIRwiYUS$-8Y9z@fDKBwe*;k-An+qq~n89cV&T=ss4 zZ0yLZadP9a*>4M^Zf z4e9~mPcDup-R5-FrMzJn)WC|+Qnbb@IQ27c{Ce3bn~OEmJ#V&mHZu)V4SbUKcH6>l zoXFhuvefxh9Dd`%$2}Zz#3X?xrg~*_s1YbW*PZ_62t<3m$<{>&gh~K_V-z{{&3a32 zvtLak?GRQqAQ1XXR+%G(6!{b9(Xpc5Un8m3N3Pl(5mIR=<&n~=gLUoW4nG$ankb;4 z+;z0{kUKWA!2dW5wk=K z_|LK(-Q`J`TE!z-5KxB02d4r@r9mE}k4H9kv95=?WJ{IOKm!_mMmU}s;COVN`8B9Dz#wx>tKVm&q-XTa<->8p#5NwZic~%c8;7KOXZm z-Fvn08{@CK`vJL=14*^3C)vA45tqzRZS#f6Mj`i@w*R z={>)K+dGpjUr)HUbh9K-(Qi%3O+M?a?`iQ6*KYi-J8Av0(Rc( z_U_-rZS}~1pnk%mqs&Q%s>tQ*aUFet#MbTvq*^K(`SKYJ(y>KTG&GtanbJ8ObbvK5 z1T!Yo?IA|p5W15-nqjIUU1WR}7zLMU}75ZA_e1wGkkb^)DNC4Cd0h8&`UDoD9xD@b%a5)5zI?!|j;W|$?xRF(~^OWYkuOhS=Ivm~u zET&3oTw_r+PC_Z>tU)CtT>Ze40>j{=|nd- z4w1>IW`dkW266NGetml}@y9=f!&GKBR^{4TUV<57pBY1g!)5ceM!GPx)G10cd5T*4 zhl-vLGA%iZqBn9LLXn~Oxc8W*ks^ZLMkfqefE4p4f}bN?9;F*WMxNXC;a+SM|UBgRJxE6;gPrhUkNXbJ)tyAD^eF={lOIs@-6(*{hGj#wvl31sc zerRr$AylMgfsEFKoK~kKdQkLOEyV0+Vgj%PQ^@(&p1z(`$4=RQkNM4^k*3YyD)FW` z<;TmJqJ}A?#U|gYOiU*|F5#i6$>Wl)Noz$#OmZ|a#_~EvrD7m$H~U$GTHPrQK_fY+ z1kfp=BNP;`&yQ4XzE}#)8Lb#s%n^)|IAo3|9T}V#$F9fE;Ht7oPq*o)MO{MUUZXb? zPnDpGMv9j)M3mHZbn#MGAuRxr)@F>W5TuV~kGR{bjV#)VgGy3_`5&0``Sh)9<&rm% z^nwqsm&&6(1=XE>zWV-6!(R? zqm0;EJwZ&j7S}0n8p|h)4MvKL`Vu_8-jga8b}~c`2qC=3s2pqPdTFWO_{uzNb5wRl z+@p1RDDd>_x3?W7ZACprG=_n)b&_FgFckROho)L6ipxsw>SEH*cK7J5%g$q4c?ckr z+z145psj1>Ys0O}x5D$&aeZ;;SIa*3?%MEjdT0SEs(9Uck6z`g?y3?46UzkcTWya6qL17$Z68 zp3iC$vk`u)DemtDK&J{G2BSZhLx*7eWZ2!k+I4&GpLbyJ6*6G(@n-YgJ-IP?Nu{3{ zhJz)L%w+3v)if0Ooy!QQr)Q>$A@-3YpCpdXOYAqR&97_y-6Sm{>Lo;@hNDmb^iz>q z=b=69DRp@htHxsq-Js&2Ql!%)o*rI(4ZDYJZn|xzw0(J7vhjHOC~0u`>33#bpvFqbpdDvNT?ov zY5xE}REOBx!?JNZ%L%x%nareF>>X>#w)41?8jKY-IyfMLTu9e8s4Jj%EmI_5GXy2B zbcq_q4Z3T2?Vt)^U;_ep*Nsoe`E-iVOtK{EqyPpDb5AgQi0T&X#CJ51oDS{E?ratx z3y)pbNhbNH+)0C`Y;HVeqFOj;3scf$=A)_Ajtuen{x9dzicE|Ss5F;3q5due*N8s8y%S2T?OkqsA_&FHmYS%F%Bc;csx zGHXoK&)nV~#Ktv+20 z+k%%TvU1rx9d7>s+z@UZsh6t7<`R=VxG>Yx(@<7dQ40C-@0E7P(@2phKv?T?LizwD zyL+a)v`e+OP>z6sKxt9KhH2+si>_iY-Q8N1)e0I0rW%yW{{V-qvf+2VRG4YEcJj;3 zOPa&g=CDr|cRyVrriXCkHu^_aa&>Nnnefia@v&VN0N7YH9_bCr+(!fh^rg_%01D6& zMLdOicJ{~jbUS?B8k2Jvkb2Uj3i@z81#~^ZCf(eXRJ3`G-yYbg!&l?-boBL&21YD` z3d21pF-*`kC0$K4QOT&4F*`FIL)+Ijo;)e8IQ&ImcvMone$Y5{>=x_?i9jVds60WY zM?mdX>&xYGSs7-?wakh#Xw<6qjhx6(|q@0H>#* z_2|p#(lv~g8iom}6zP_>wrYtaNh+!)SiahxHkv479wkj^vMMMF(8v!4hgBsc)p1elYN;cET)-u$iYQud2rd?SiGoLP zH94~1kThq`vK3y6ts;S<}|Bv|8+vm~-0 zMbyB1Z$oR;s7bGosp1Fh_5OV^Ez}XRt1oj@3{)SLX;2UI=`)h2@WSgPwT0-UyuM0v zBd~cCD^|#rQd83yE}|lV#G%^9({FcVWHe^04mjyVQq+ooHF{tVkjL%x>Hh#~XS(Ar zl*UkY)?a<%cBVQQ#GmNrZtVxmPgM;R^y%dOB=JKeuF+FQYbA<#ghkk)U;#rhon!w1 z7i9#TmZ>>DgN{GR)yy))T1a9IA@w9HqRCaoRr?ZC)nlsC zMOuhuhEKSLdURQp%(ECufTLQ17y-rKfm2i0BmBSYbX|PUG(HkihM;wRFt(;bTHy$tfR@-1Geh2^_g6?r^naFM^7wa>FFSO%&tu7raRt8_KJH$ zaVP1uQCN~F0W_fF#=J-r=m~#iJ*C+b!dq5HnIHjDDN#{Q29zBT{{WQz%enhEv8riu zwM|JuwJD>;)8et2DvFE)=1d{;`-XxRsFo<7JyOa|ncKx0Az~B&<-kis7SNvGh@Ub% zfj=&XJ2j**?a(sD0FYGFaj7(|e8=+WYUmC5w{v}Ky6`#Ok%yad;IPMVVs~s0Y_>-+ zvZ}^=5-Z}!ismd`pRwA9@tDabl(pDucM5QDbaON2!YZ85|l}qSQt4h!hvb4tvaOh7Z)X_wcS&9LL z9(1A4*;;guti|{@g)KJNf0qB-hlx1?WO^F;Q#Al_An-oD8O^!3(c2Y89ukTQ%1D`-2b=>W zlUBRORTz#qV4(6COtI5Ok?M`Z20(0R^Jz!#C4b3IAMErIx|EL*%*3l6BNfL3{(g=| z8(}6}ZCAcRs*^1hd=o=0HdZ|lSiq)3R|GKDHAG2bP=_~AKc}*9tYx^2B9)~$XZiV8 z{Jj*Su#seiihzAcH6Dl4qH&Ju4D4IpO1w3CVydz@YW$5fPfG?euNg%SSH~SBQT?>k zv{F<@QxukGnPURRq75kf7GSoP9IX zmtysv>C9kpbQyZa$X1=hwHAh=DJkHjp0bX5%7m<_$HP1k$z39>id#rPtRI2LwgmR9 zl16ZvP7Q12L0>_RncDA`*{@7vOkN8DE1D7j0P!>?wByq1Y$NBg`$`PoU#3B+qs^^4 zOO2jNR;h#dOzl@!4J^VNDnjcW&X8T024Dbem5K=#JG>SidGo-p^XU|FJQlO8GOz{3 zX~u*R_S4s)VyA6kWy4o1Y=|*c8WwXSS1LhBv_!Am)ly_8rlBy!ACp0M5Sc)@V{z>? zQ%S8q#w+DYaVN^7KX1#VX(JO>Cs8y6`h4-#c=k5vpvhsg`&Fp3`5y*ew_*l>oeLm6WPJu4rrKH<9EJ9P}XtFt6ic_{y8Ytce zps1#nqIgAgCP{qWScwYkQbuIE0u&!@?spy)oX%E+;8)C7kFP>4g_`b3S>R+vr~u}m z`XBXEq)jII+&Ic&)KyTW9Elt%bMnnpq8A>BE?9RbybFB`*@Sb1w1lI?OIC)Pw>aBzb3v>AR~PvREG6My6HG0HFuW{gvv;db_-+w@%wgH%xeX zw84fe{`flB%A1sL<3_!#MDw zz#~ZPQHvAp`^&Sp?dfu4X$>iy4E%<1{Le#9S+HBd6z?;U7z6`A3E}`0;5`0y$3%l6 zHUsRubktjgSR&0wSv=&?*3<%qwysJFp(Jpt3xJWxdN(wm9ICPuYm}+n_}#IQ zij^s{KYs92vzqEUnku=YcqWXsfsQf&u>gyE8ZC;Kii=t(1g{GHo?QZ$n-EAK z7VPV)p~1ie;1EU#{{T_wHO6%)%H?rbXg8+X6&cy;pn+$evXVMuM=^)|tI1Auq56#^ z*joPppMI9W!m^UhO45V;p1mATzOB4cPS%o92n5g?*UWsnJpD28A1$-QyMrZPkI7fb z3Q0=1tb;W$ri_on7(=w}^k)n$_y^i(rGghIH2`su=k|Yxpg#A%KJQ2&j*tr0qa^4nyI0rrHNx{>0X?XD%v?_ieowTp+K4(3k#2GT6oOJ6+s|o zybXALod;Nfr9@!RfOEw0ui4N^{){u<#Pt6FfBOr^{73lb-u?Rh&YvHP_J%Ah8%w)e7bIH&k{nblRzkZ$ThD=Pvh54>}}`NyK8>#45reP zX5}*(szV(u7E3F;D`_b!sxj@2T#YnR2qdVJ9jZ6gbW_8rC)iV&cUi1=39TWDPpT2A z;sR8yYeVT={Q7_B3mEP$?i5DCr2?Aj@*nYi6`zvZvu)Gw+TOLn(ND8*RJGJlON!ih zg~ZjqF(Q#`v-CM1Jw+~N3W?&4sWiW&7gj*wlr80(DW2EsZX8K=5RgG9B;jd_V~skTx810_!iFc}89KQ4f{K0NOnwi1JJ)>CCR=FQKgeA`Dkk;F?iKId3kX#vJ8 z6DN>`jalO;rIm>vOZyd#-r6~y)5KT5N^3x9Qnamc^W)a1X)Tdtng-7U>+|YX)A;98 znvx27UE`3cH3p$-vDDiyCrMa~9AZH24oY}tff*3EcSQgWNaXuhKIRisn{WUXuAoQq z=`7dj7NaC|pr|$T{J8WL?@SdQ%-=g(YGkuDFm1_m_91=x9K9#Q?mu<4W#k{k$XT%D?0B8s!1cAfU z9*zb#Wo>=axbhVJd${O#UNXCG;j1fhb-R+Y2bagpGP|NBq{pQO9a;y9BBRAnU?EuC zlY1vGEv>z0he26S!T|(OWafwM=rH#;0y!Gx8a9qn6ai3hIMmSj^c!y-wYlr6@|2Y8 z1qLux#Q;+A&`DJUVkoO=an%tmM2L+pw-r+ZERA$n#|{+7JY^Bd)cMCBu%GjE^_|Ql zB$I;7YDgLT2_NJg2S;n|-Cx2fY3i}{rDT}VtZy}YLMopglKSSUymeAUSsCPM3a}s# zchq$2Y6bK10=dcm09V`4f(w~tqr)Py;CcW^uK`X2_Hru+BxecM$q+79m>QBD7H2R-otx_@PwG5AOJ;M<_`h#`TF#69mLU{A?qb- zX~2AkLNy0bY@O+cq^aJxsIhN|$i^w9k2O_?dFg3sB7&Y@yGpuRdY7%Bj57^#T~shS zLH1R1bkNSN6qN;Q>q2rxIN_IeS++cx~|LQF!jwrk6iSy*QcKw6!YU{$wNgc!(?Vh zD+?5vQhNr8{{Tn5qBJ)_W>R9*DnSGg4;p!a<~=$~a}DdqEJ<$Qjw69SMuhqLb&nnL zN8^^o>W#IFuE=a{tDKh~QBOX+okmM}OOdPQzayHY!EAgrHc1(zC7evlDU7UWWL+N7 z-7J%DGP7J031L78(LgX15=j35XVb4mYkp!7L15}a;FDSk5u=o6l5Gq!p3jI-{`M*Zf+C^KomT0Aa)6{4U z4FyT22bV^%ZTGE)P!ujnG$4;YKeyASdcNSNdYWo|lh!-ls;E=T6j_bm7R1{S<7T9q zilP}Kf}?k2s%l-9s!t44)1yNuNSGVgE{R#0l4|I#KqolJHKjbOPCaStuL6Pf5vT(v zB=I$+IQ1I?7i3gHEI8e?@KMuOB~&#Tt;@JFk_w!KY?bxW2B)}!MtBMi0;jleKSQEeu?A53wfsZ=VfZ;+;PC7^JOm6L> z&P|lY?On&5r>!qfS6Q_&eJhuiqLQth@(nv>u@crzT~$&bWtKXqi+JAVH)IO7dnRC1 z-RX+80O}MYg$VK$ILy-Ph~xAV|XK58h~P-UU5b*roFEaO*F&r0-pMa$9dihRuk@>A7omV%`W$>X@= zSyibjlq$7W1RelZwG<;G(EPgaX9%oNR2)Z@a+v3e6>4>+WXICyA;sl4H634)g$kOsg!)*Z zvjPPek*S@4C(DgZaz$usUL*7J>s})oH3|Ix0LlJu@SdV%F|xB&Uk=n0$$B`$QQ;@9 zhaM^zMR*$xx5=c4yZBa8-e}of*-2abP@wL`Gsczk_2d4}RUNrvSe%jO5BM?Z)cj7< zsSpQ@&qFL#TH&FBX)=>d3)MYDaWmt$g;1OKBX&R|5g_E)o_uE*(~;(Qd468F^Zd_F zX*E*KR;QkE$NgXC>1QS`k*Otm+IOvL*i^JL!IyX-sY%stDze*mEfK7aN^3I$R7ez| z8u(6GwIYVVHLfd9%kBKW-n>GBKpZ~Y{Dpk}&Xv@Z_{i$wt#pMNq9zi?Q*JXiiJmB- zsceN75~fF!#zbak1zl`UrAM|Hk{vKXp_VcgqB{PZk7l)~)I|pherCN@^n@X52j`Eo z?DXi4{DSJ;qq^F=0~IWI%;jYY%Z;qAf>~&VTvYPNG(Ok>e)GWH>N2udN#q+M3(;^)Jah}OUYI4~m$ zX^auk*2=3bwARt75-lVil_MkbIiTo5__2e^p5@u}n`(NR?Ct_8?ca{TQA0Fyff)As3EZN1$3j@YckB|&0UI)(=@+YQdX(YFqql~nR zkTc|e!{;eII-G6_T562G z>e#s0YBOKL>S`}Rb0jGgQ5cFBgKml!Ya&gaG6qE}S`%CoivC`GHR9b1DU30*NL&oo zpi?9aaL?@db!8o0)ZKI0pB(AB`>`|or#;xaqN8)joq|#^aQr0s&h`IW?j3;n5(i?T?T6C^tqw1-xqK!%4UDx!i45=j&85((h*6b(rnB zw&3s#?Dz`&-rk`PT?Rk~`{LRJXGtd$++RD{)-+cR6{zN#DN=l^r0}L`(otb5_`t~} zMgaIrROE5^X-taH^kB9RY3weu!{qlv)Al~$k0mV(xtwV0Og~)E);{2?rjA6!Z!PE7 zlsKvC>1pATF+&veDOMgy5>Vtbl3u)*YSG>pR@qePAeS^1rUCObp&*gzPK|ck8I9e% z7V*E0AyuIu0LO(%^&CzIMvG^69>(rnx17sR^d{`um>ddEhc!F$r)-KX()CFj{gA?K zX{a;VIul01T591`kv^ak%8YED9jEtrj6=8qu7|Wxk363uI1ooy-S6Hho+)Ve2ucxJ zu0GBu(uX}IH!eGNB?claQ&sHj4lgZDkc%C)F_i8yc&bEU4i>rUDW{H)8CKGO@xi90 zV~i@uIX=u`lH4%`!%4uFK7M3;{Ojk@1Y%Z`Q^Tm5(*}Uk27`$nL(8DcJ-cdf`^OJO zpQ)jt+xwE1rVJf59xrm_vumHHN6MP2`6y`W@c3=N1~i2)S)jETAS#bQO07=cd`1>Kx4-3vR9PxG3w}WYFO1 zu-WhKja2m*>KZ4?<8k#h^|=l6o|_<&(^IWGq%^U~3cr-OHn4NJU9@a`J-!kHlToka z38fSd%$grguX$@Fv{u&2DLkU4po6BF1J<5-=)v`dN91Q%tQ*I7^q+6;=<|5Ya!Ix} zw^~#H&pI_;>U4@p4sz~%jQ2>2x#3L&k7H=_amtfl4kcC*$i6mo% zJw-aE&26~tw~2O)jE14ov?YAFic}nqj*mIr|CvN4I4a-ZB z!(p`fdtS11wjXfDbakS`S~{LT+J@f_?z2#Y?dCYCq&d$9fj3ctdbmT0$FOI#!Zo{ z%2dSRnN-syL~N>b$iy2MzRv^#Gd1-CdH8HWug`${39seTOETQ7jTG?erfB07JZVaw z%N;mmK4SO6Qp-_@_#?l3OEqmMIWFGXF-#`MOC>dAMhaXL%dVE97K%Ut0zqJX-aWH! zECXLTKPC11eR%bzkW#I82qvc_`C$21A1;9{!Sbtkb|hQVW%f5#)O6i`+S<7t+lbpZ zef5styNk7Q)LJMg`oQBL+ac)a^0MU8N{X0Bm19stppHjV=r*Bc92Zukx|aZ!8g$mA zxZ#inE9=9c?ZArcswKd6QffdtYf5oEXni^cFx?K_gO8=n$FuO*3ELAk?cOw7f|{pj zL0VN$9?lBM8!5XYST9C6AR+Zx|U}tf=Ev#XgorOYzGAd39IM1#zOm$mU zk~@Wp2{lSV1*zl*0rJi~x38)7P=1-P7F^6rHoTb85PDu0B$3H4@ zB>kOOe#iL3yKvh}ZezF3?Za;!-9WPBFm(9cpSK~~_{a*=%~iIto2LnZ#&0dvMN?HA zGd)zZgh}F75KMrFkFI&c#k-lUt%};<6H~1D0s$lgO5&fNPhWEUQ^c`GLb<6PYfv~7 z#E+dx=%;oYZaf!c)8h92FLuRIg@PK~{tswHxU1=3KLvI{;Zu^^4K*f4RHN{fH%XNg z2_r(J0e;_kVJ(naEo9!)|#{$7WmD{cF%PGX8TB@Yw?t$gT5pZbqM2lwK9 zrde~@Y}FLfK~*b6mH9La43dE%{ffGVX&Uy_&B+4HO|9(R;fgpkM6?8P0<|A#_2~lJ zUAqAG@|LJ1kbhvW^XPG_?R-wz*?8>s4>`8?9^#)LMFmFKJED@gAeE;Q<+7PP1}bID zy3^7JX;L-~aDXV~fJzO%;{O0~mfBTl?Lj29C`iQsCl&jAtI*Cx7FKc2@Gx=}cpf;d zMKSsG5@mixb|%xH#pm|E)7tpT4234#mw)YCJn6u*rJv>hhTzfqAe>)N|byCz%`*9Gf)LjRfc;l7bx;NkV&G_gemg} z2P4ZTqbs|`0UfQ$SJY*6^N?n3`TOy#)6I|y6apO)MYFVwOv++g3(tyxbylG5% z)Y6?h<$h*#{uZ*Y3`Xvt%H}eHf_}iB82dOsn!{! z^2n`66aH?150SZEzuCKItLEPIS>EN{Ti0t==Be@ZIf1n3-ye_4Zafx0F`eDGn6f*P zzPkmGqk$=?DdeYyL?zq;t9@*j?-t{_MLc2~c-#R&Q&IsTRL}rN6O+-kw=CUm_7-DULsvMfUu?xh4JG zpNKWa+86;v;ZZ^}kxq*a&+kr?*qM#3k;8RH_1&w6YMT75Zv5<8S*vncy1ZPtqL@fA zc)^Om?f9daF8;y+LkIELQqf;nc%(FCohh2|)aD@CN$uC=QyK^3V`MrclGNX-ucQ~bJ1b<4~2>v3WFg$WcC z1b}$(^Bf24>4Ua5X4H!-k*V2BQJ(ACZ0>%G1D#!~w4Xh_H(q{{mph1~!AFhBR?}he z(BT3%ig=@+4@ni~)n6p>LS=1o^2R(>K*2>tO%ww|_L}+m{hbtw++-M>l#MlJ_nNsYaS0_UjyH``Vjtbnec>$ZR*;dpC1UL0!4A`&X}e_NO~r2IPjSEEXxnVWgR46H79@C06!D zV{E%pU41m~;W?^Stw5rzbeat|)hY+MwPr8VYsHK^0t>Y3o{^MW9g|eZxp%L#X>x zvhFbNHjqeSSmlwJk_HV49o|(SR;NB)Yj&}^5<{$hj(`El0A$j<0I9AzuH3#wt1`J+ zo}xLbC9bZhlz|*_>#M4oR+Zs~LmW*Ya!5}~lVEM^{y{;Z37{0?=}+}%qZ@PqQ@6E1 zr~16dPSjNRS)!(vt1nfHY3df9Pxl*BRZmYwA_iQ8y*#o_QzVmWQ4DA-2BQ4w8UaYj zqJTJY`Pa++p0w{irbLV|0=z&c<(?Gv>J?e1MUiRhe&t?C0#p^19&Hm8ff_av$yKUSo?qeV*9{?#hOMQH3Q;vc5{cd>sjF&9)|w{L z+TG}7oK670s0~&E{_Kj>#s~VadSYrcpa5$@#Bd&ew}(p&mAJR&E_#fX&#BH+=V~e8 zqNJ$7scO2Wc;6mrW~Zf3xSB~8Vg;^C*x1;S>AWEe$#9^?v^6528j5t9=GNZgXkd|Q zH5voN9wLYQJvBzTidbdb6d0pZNl%VttEy-O;)$yvr6OruYA{Pw_247OzOcf=_akOZ zt1}H`5(Q{ZF;6l&*a5v87Zqo3Lz0jl)zES@T`g&h|3}U<0Q^C0bmP}-57OiQ&IsY zv;wEsr>C^k;of6IfB^lbqy3JVcNXLRAZi*42=S(|-|k&1jZ+xrC?1ud5JLc`hD2is z3ceeVqw1lAN)KMJ zOB*STTS!+`(#4xe0o0bdi;XwrTk-z4wjFelQY+Pg1Q14l!P3`n)NT2yqKk0-%vjng zClg7IrJ3q$XN_f)M^T~7wCe3Efh0r*Wsh2v4R;~|Trp#To;md&XP-zeQgA;&gCj8F zZ~;DEr{s8anet;(Yu$3$bdi5CG2%f_-bkolD$PU{YqMz{x#CV4!-(S&|6=jB6Fd=kR^v*w!T^0SP;2K;mq~asHMEh`!xc>M$2p76sWizP ztrHf6$cVvR;$}KYy{><+ve@R56DM^I26MxuuL?V>v|y1?2?G`M>#w;LPvnucN~(&? z7`2s9APr)4i&z8xwf)+yA_j6b_kBc!i95OvV!O&lIg=Uc!c)>3+fNMYo zNFQwh^yt-e=Vb02OFmAE1Guu$WN50|wyp|E+8Wp(T6rsChLWnTdWVZ6lV+BpRe~s< zNWw-`FAvKVy~2pY)B`|#tM>VjIC^vw-8SIvLeCn>!j-9}Yg!6$!1L(SPuyFVHIt(> zTMu)kQ_=Zx6uFERHEFVX{>vjCHd>UaOYK#902xSnsOON$P6@g?MY4t{jcyjT$pqAK z6&{EAQ=-MTNRl%=%1|CEYFEe#dU>Dl^jx*ifOTuRO2$#aZ5&xQ17a^6-P-qQyGv>k0jNGiYhbQN%J|O2RQQRNVf8c z6~GQD8LFDl8j69$R|dZ<^*e2EE~H$()2CS=ufgJH!DsVvU}+|X9EN&rzmBP0rH`hj zX(^gYFW{0xDV1VPHKaQ_0!uF)%#qF&=_>*~vqU4%bqZFxf{X#end47RJq>d0 z8cn?x-GaArW$Eg2l2_7WYK)6liLPooI4W`(2q~tjf^$O?OfMu#P1@{83ck^;!%8M( ziFAroa3ZA8dRHAF`hU@4%Gv{gtIDT^Jn4_it{b1Iy8i$pn%Y&;?i`jwEs%le6$Mya zQI14f%9;M^8U&(hm}aB|#~jGgUd2hV_vml01QUY@5vi#4^rb83UOiqyi)|cX!)kF; z=y)8TFXzxPo!z?|Y}RM+6x)uA6}T`4vIwYZSL~Z6tCXmxLqS|;)m1GJKv)AJNRk3V zH>4S*y~B7?%@Jsv16tG!aA8bWt-XxGMJlXN3RD6?KQcIa=lq>V+@0}@!ffo8DCV*B z`834GM>N&ZK@780*GV-!Le;}0b@ec0UWKBnr@WE0Q!oxeI!~?k%~LF_gvU~74*)n* zhCGkUtJ+&!JD?Gh#MBNy=LgHA4#n>J+Red>!{zGX+*sU%D~_tEiYglV8B|8n#FAud z>O8LUR51ibs4vMO{XX5fvWa1qXey2kc#uFma6LM1=FQ-Vt_^!wVAiy*MLfU5PP^~3 zkHAvZ_6u6;62_HnU67k2_Z9P0Jv`EQ z(yRd@gCSKMSlqiE)NNeRPFRuWPcE(dzi?CGMJlq$JBc|204MA~IFq=FpYl-u0EeN+Z*>-3-iT6FO0c{$0U4-Liazo|POKT-CD9XV3di)D zT#;{L6iA_}t1v-a9*AzYxVyC=t$jXO{(TEM3=ZSi_$l6wj#Ww0C@KXlH6lS%6mhY5 zYRok8$ty&xSqLiD0>q2^dM^d?2&m0G{?XAa4R3!qG8&OuRGN>nxB&E3w^q;H`K+cv z=AOGHri!Abh8(PwAv|u>+M=O+l!XKktg2M2*s2>7U_F=LTfM`uR|QxaE-7E~bT+iV zvbTx_R0)s{k>&@TJkR)g32JLGNrFs#yMG@wWj#bNwssk6#E2H5)$+1J{YJ(>nyai`CN51eQhk23$Y~+2s*WV_;ln*NV!F$# zXUxj7W~eJFVH9r)Wgw-6(rT8R$s@**MIe?*6cqzW4lV`nXJ)#*Sk$~k16~>7{!X8g z=I2I&?6Ht*O3={L?4amatJ!q;Y+ZT5Wut7AkcXfYO)PQCBr3jwC6$q5nOfYHBY+7% zMA1$qm3&pAdDqLPVF(5(#8lwny-!b4Wo} z9-+&UeuBr^$zI&Z$4D!IQC=TDnwp*?3gcHC)2A!$zqr+{e^-xBfL~Xe>*Uep(Wjf~ z{a*b`Z8X$>Y3aI(Q&-~S*Zt2l5>O z+v~pep5@yuj;W-=H8oUiM_Yry+PZ^u)2)Bn*U+x$7}^RdTtKG}tiT$ewUC&>xigN^ z3oDqKW@2gxuNA1lBDpp4IQx1pj@JI}>L7rK)PhS?6(m#=wXYr=Iu)?}(@~be?LMLE zeD*i1=rWX0zT2pa83isjB*z&m@|fC+%7mwZT+J|Qlv<cvKV$eQTB@&a|hOLTgV7($?ZZwY6QzE&(p)q*VU^#ZV4`{O4@RS=RekucY5} z8^39Fu17Clu{ND`C3QCBsfw-U(TdJy_T_yv83uwWq*SSmVbf0Rq;Lv|VYbtMae81M zT`~bAfQn**pf?T~`#Mi5-d#Pk(m==p(}psBDjzZF(ubyZ_iAmaaJVdP;m_@jxkPJs zb^@C(jE8yPH+0J#b~dh#pDzXmqa&2UCPyPmggt0UOpJ697NVx2^7c_H%ddUEFgS*ZV3ey4W@> zv}Te>{??Be_-tGoXYA?W$arRwRfvHlEhrqhB$Hdc#iB(Ww1HNnt!RC4O=^Bb`H*^B zZ55@iuLdFu6R7GnC+Cb0mq|^x)47eCo1)8MJ2tZqS1c6R+=fD*WKq^-sj;)iU6qEX z2UVNe(WX22ZZ?T(WnhUQN}nF95`C}z;e9M}r-@ZHBg&*u3e$)n@bj-p=Z?{oMAr3; zl1QoI21)rJ^YkD=Nxw5P%S*gFJ8))k`Fc!@xd~}gV(rre^TAJ&sK$kK$5qob^kNz~ zCk(zC+Oh*JfGNYswJPixO460culXtsGg0<*)K)uc9?KZ%N`gu9&zb)KR}Po7U4F>4 zqJn(QQ<&OAM=s{gQ?kvDrGp)nl1hv{Mo`ZcZCvX?c$z>`Cz(MkSTi-m&Rk0&B8Tju zH5fb&L9dkv>013XNOVG?hcpAsD$I$YK_&CqpPT*ntEBK z$In-_Dqg0RYUu?$0w~KzNf}lG#FivrLs7Vc#+9MS2R~(hK9r=D$zT_b0R6l_;`&g~ z^uEr)!YZitehW9_r=(hn8L)J%9Yrau6i~-W=GeEIr!i8FDZ>)!3^q~&dv2PTD^v`M z*W@WtUK}g=^z+>53qo>52>$?A+h4P#t|zay&MeCn4hIuJlSc&f%K~9>`6EvY($+|g z1eF_k>8t6Isc51BNM&eSg7#$@Smcm*HCD_{877P}yKPqz zpp}n=03?Dzp*#nXCxHBq0nt6(#*{8eA$Wn4_I%0m1bXxX$+x%u!&jgGQ>_DoaIQAJMjz_pvE zT8I!dOD0DvJJfSC$P3|17tjvwRE(*#!C7P!PFV4sqxaaeFi_WygNG$fz4FKBgB}j z!egom5Fu)ZjlHoO2Rbz{mruZO)x`+O1boJRU0cG|rbwmKo}Qm9jML@*9)&!0MRhG* zG<4=C`}sTXlh#odjGiIj~v!|NXjrE$kReK>!F z^+8ZsLC6^tBOZgP)k7g!jmXCMns2qE`*2e_vt#I{tzu$^o?48~&Z?Q>jRP=YR>>Ud zJcI{dbpaKlB%JzYgU^Bg08sh$Z;3%F2;q=_m-@K%mlsMaWI;igN=h=4Qo?bSz6XMt zziEELO}o43%tnT2(D_!9Bjk*z)~DX2V6_ajY#N_461Fb3q`f}Z zsd#1ZG9(eobcY}kMTVA76?{!5m8EKY_>Vude%`FYnm|!O#BrzR=U?_Zok1N;QlA91 zb$@>^o@z+yGj$IgG*tSj%^{)OIn*@GRU}}eSsKLHj(yP5gi@Mt38xzW0ITfk_3{-p zudY7coD@AAG%{8?G^>3OWaFb!k_9>{r=K;nV5_lcNF}6F1*}OR`_@S`7(8iS9)pKo z1R+{_dH(=2pI)KlD=JcpC6~bCXfqYm82Y?{$57Sa@zfdGnn=FkaiY2$kDi*crZw=z zQ1Hqll0|nyp@5|nX<2n?uc0J*kO`;Golv-=IKqlnl%+h#r~F@0_H2DS@`tH^zkNx& zX0H3St;SPSWfLV!xVrm$QH@gVE&l+3q{-4{a9Mmke11B*63ZP#dZnjlMiLhlrnHth zJ}6HD1{hZ~sN?cE2M4R%TWeBP`-rNaEaY`w{{SF*Pi1H8R{`9+dnGjvI5^DWaWKV8 zmc}AuqOPpU?Ci{xxC$zjo*I~Hqo_*PN_w;r%^cyL5_t$)*cv#fLmGqT2sj3uDN1n2 z^ys=dUe4+}lyb5yYw7ulU|2zgh>8@j2B!2DNsG}Mjii%^6 zeq*JA`6iC!mkV)PQFszXK^}md3gB?*({=V|#@sK;Y*%~q{yPyK$j?PXO_`4YvU@uX zOVxN-t1?OOF?UlO$jyZ{;e0=#SHagus8Umtq|HU5{fJAdOP7AqA;xGy?QzX~L5UtTpcSDc z3ZGDDNdEv2NjBZHz+ohp3@+&8(-Z^}Ks+iJ6d12usCsMXx5%{0S4;9qyC#!p*Vf^x zEB6l3-J4fqD5aJ}DSZivj;S}YfTS+X1^to+m7TG00jU#GQ zDDEIpfg^w!#!pw0_R8Yg2_>|eLPi*|tvG&FrFec_F=u``e6{L~g>_YC)9GH}+xb{_ z+?o0;&U0mKynQxT0g|Gs!__oZS&gAIriG#i^-)f~U}Z8Utt{rU-^9W=fPV}UK@|)u zgX#(M`D3JTTiM)}Zw_dkP7Mo!4owNjttdyQPhC~>^R%{3{{Yp0-HYge8rF4|JS)Duc@2DSP8>(ZyJzC?UF-@TQE!1f1l)luyH z{Y7N4RqkK(i?wmsir6Tlix~u)r2VA^3JEI}m`7V7r(og1T|^3BTi;vljXkV!{b(R! zhN8JNBPO1BKQ6Cj2H=~sEV0vWC{GNArB;MymHvG*bT@l+R@tfEdyhBS-E*|?J&jGf zx~qJ_pWRg0%%&e`ROK@`$urdIlTTZimK+3hlhV`}Dj=%X047V_&BoqYY}yz`r-&qx zkxCYzBpUD)Ccd3F9M{P{*4H-Vmog)e4iuaa25Ueu=g=d(`@XYbZn(3*5NRnT;D7RC|lCcMd1`p{9YOff|CM zHFmP2IYl+P+#hohTCJjn@c{y)f<u{1RUg)5w7e}}6n z!1S+B?0juT8*Oa7W+N3daDtU1f^5(YvWeqkSv2z&7sdIF3njEaqeY`ahQ_M&%j=?Q3drM?DJALZsa(@!x z9aT#j&=5%(^`{;qpvM0IG*DjIK@uv)P@Occq75rgm3p+_hO?2-+c}|{REnmnCsi?7 zTqu^lSSxBg&PejGdXgEK7JF(WmL!3>xYL+t6rdV>@F|RZx?9V2{niZt{YU=*3F@3W zx29`*10zzMv9vK;0~wr;C%D&i?#gU_(vvlcr`_4S6;2;uZS1_&t5=hZVWF13yCYKt zRRc>Kr3sA0^G|kLlFM%ZwVT9}G*D40a#RpW<4od!kDovt(e7=0PYOv0b~G)305l+c z>-mn14*b|37dGW4*s9xkZjS3+%eFFj_1Zg%o_(8JkxJS&mZSJ>X{XB5<#UUag(i-p z?1tZLNbvUnI3T9A;t(Ws<6FlVhnV=au3zxh2%v z8+(g8(bCaCSD|s9mjusmRq(MTo^UK1AYPmvPbMT2!m09x7Y9B!Zz-NY?tv zCP!U#?x4~|P7O&psHf-lSEr+2rAChD^^4F21dtSQBQ+<9^c@?XjKOUE<+Ji~_g-rk zP1sb`^%G0EAeJ4!wlj1U6UZXNV$z2hB|bknvS-(dub_CLooRP0{}%?sBkO5aRGByjq%QHb+22WJ1x@Ts(x;7j z34qXo0{Wf+8lNiuT@u|xakkq#+Ro8AkN{PVR++_VTK>+1o~@_vt&6p2_Kha_z;&+I z+dGqWZYn%Z!K0$j<~JkmQD0F8-rReGbJEq&LyM%Qtuet%K?F=y(rG1Pk*H67vu#(` zt#d80bSe}BfB-cF0h-tR-99<4;@cLQ+TubBNd9G3oIb(lPKrkC_}PsZ*{i5?8HsQ- z(a5sYIKoBdty<=a2oi@aS>%d^SH{9uB+N@RX{ANZ;Ig+#0YX+{YfODy{-4EFH9YdTLeCIt7#~7f)-tzcCq>aF(EX_boX2d;o@XE;{v$zy#pJ4} z=%CJ4Mp8aK6~ZyorBu`dKt}^wSBF5q$nC$o_ZIf0t*xf5-CO1G zn@1yx@oRYw^8yaoukw!cPF-7Az zTmS$DwWV@0PI&aUZND;Y5L?DOS`tkFBOq6ear5Yc+A}ntSs&@@Ca6iFs1?&%aKZaJtP}TfO4M~!^U~DPw9!dV zSglP_6G9bUDJg0eIU|S z9xH8aUDdd&GIhAhNMgj{tLh<=qPDfEadE8c2&Gr3t!Wh`m6kBToj?LZa^2g+7#RUz zYeAFqr%X*Z04@H&#!zE(o1cB`jDAKl9d&-xuEAw<(8*G0 zLX3Ph(9I=2N)tP=a%dhIyk$+$s}k1Tb(V%Gizx!8wA1U6N*~XULFfoNrbD$Wm#pXQxDxp%L{>| zAOqX82_PSxFcYPrNz^y(`YEk{O}x_ISzBq$Zj9XDVur`c*pHLUJU)N$0DnFS6`2(5qB z^62sJtfz_#d2LLJss%!tgG`WqM~_I%&cxiidYLx`R@dHi7!SFMB*^Es&QA|d6wNdv zL^YMv(9_pHr~s-}ix3U(?8+KiU9V$NhizpLb#% zlShy^>&s9o%R+i_np1a>gwz%o%f}RP0+GZajeKz;#t)4^Bmm5ANhFe7J&}^5AZMzm zp`bsPSfec)34Dc5l~^eCUA6KU1_4k3&BxdJdupUMym0$})$;3Pf^^f%uBKLJW9eH( zR272h)v4os4{MdWz0{APu)o*cBwEmuPBh2z>YxxRc+`I`u!-IwQxSOPG}`(QeN zZ*V~4-K0^a4+1#-oorNjW9QRrJ0Xyk1$=il91v_xt!t8P&j;EfO4PGsrvMFr4Qq~@ z)}ghqk}^>J2`$C$57NifK;r(=2~MM{;QhTiR29L`OSa!zj;e;2509>%j~Pu$^tAZO znu<#JLdq3t5;-fW!H4f=D|n;O2?E1VzqPT;Apk|&^1-i=udmtBc(J#QjM6P+CZvjw z&Xw}@>y&wHrao$_Op+xiN+XVvk5tqL!qqTMBr_&9s+ciqh_$$oNgK$z$}s?k!%UJV zjH&RR>H6Tz_@B~(Zyes>9X??>>MYx`9A7}P9*`$XRUyXc*duP_em8CGN>&FUB zjh~%c8C0>XYcORIqn3EA0QY%jxHSxwaN?qv{{T(H(zx^K@oR2k2=-92lTk)m5=RV= zUZr9?7b8Ww=`vW(->ck{{{RoqNfmD78GI6B@_C)VQ-QChsHn|0K($qE0;M{-Ia$?} z3#F_qCyB}l2q~;oQk*y+ECZjHO-W=#3g1ECuw^}@HA07%O?c-In$wN} z731nXI;GOs{VIpHc9B}6wA9w50(^#Ye5+opKWp{}TT@Mdpxk(As%v2jgRI=Ry}6s% zwQoYnP_XKp>;!2(6WT^C!lLS^tShF6OR}(f(QnL8j*lVsIQ^u4=uF% z%f}e-!L11lXiYvYI42e2IvqCmeRU)|Qj}n~2JNTHVIq>gn-Q9*5ZBg3zj;rSsN3~B zmJFmh8Y$$VS*D7LcSTgRiZrnZ&5hx^F-;tFb4r1Vk0VM7f%){?S=~mgud78ss3MiG z3JTEVaRZ{kzkW{U>MLn8n2cF7;<3$FL6XhYB=k86^}!6%RnTGTY4BCAA*N8GT6Ynu zg2Y@9dYfbs#POLbq~s4TkS8PZ(Eyp&%#?XgYe!ZPn`ASd0eWI$YMqUz59k}xUc50^oUSt4udK@p1E#HB&WC&-N8`ePjy zO#b@I?fIxFzQ#;eMuLeJML9N-rh=|kN`q4bF-1->>SVKs8(2w6Vo5xvn(*7k1d)PI z&&$i9HNMwxbdJv2<7Pfo1aP6_T6vz19?kA;i`bn*FZx7-`0h_=;m~E9FOxd@jUKuZS9V!iI8zoN{Wy3b$cb&exczJf+{?) zO;;X7*FQdj{Dwa(Kx1r{FDH&O3q$-%9algm00KN;cMLvZrpMEJ0y*{yl2YeTA0T|X zHc}~u1bm1;;OJoK9Mp6fe1^=cnjK#lV^AnKeUuZ$5CDJ1_YeGVT z#*`HXxcQO^r>98H!p(2p#Mvx2@$6k~I#azxE<3g_f?Gw#1uJN3h^h(wEqAnMmt=4b*F(Tfz+0x5-G;Gt_Sk3MJsSrZn`Ma9L+{% z2ZlLlWs0ThfQ~ghLl|aN&>MqtKo++a_7T2&=ujCMhDbEw`G23GwX}9^{fZ%7RTv(A zeIcAw(!)sDh%DG>9~?V98;~B-`E1)w={)5P?zM zQC>Vq={3YNy}itFIPn=s6|DgxoJ9^gu?&ZI2xP}*X=|2N)BgYn$W_DU zr>qp~6DCp>1gKY41JJ`+;C%u>ZDM6LjeyDGNFT@^qbN2eba;$plm}5bI>7R;kv@N) zK~H9PEi8s{fXhu&l3MmN)=NPiHfbqir-no%(>qTT?^tAJk6010H@*1W_mEpcbrIsz zhY|A``E+}=>o=_HW{auWps#LIUCpZc#)Pq+3SjA!?|3-*33RX=;?@qM@3$K~_?0G#uAKIg~e zw>mZZDf(F}z;NSVFS4By>3Vp1;a(rlum9E6W3G08VRn@rbp-u~LxRG{vCmZwR=Cts zRJA)5Q&&k#Du~1$Qp(bT2h`XCeanzrUp2Z&Zb4GmQ9^#-O8mMC-%Vp?$n9hvKrlez zUqXMG=*-~0JIhm&q@>+lkGOaCHisMb6w5S{Jf1V~- z(Sb%J79PmSa?v3%gl$BMPyjMMW73(;GttGR<=R_aPj!1pH4{PsAPf*VVEI!%oiDmu zq;}@w$;7RZub_(yDz0yE)I~v)!e^bPsetW#Je51oYmFXi3F+&rpp(aN%AgB7Jv{yr z5o(&Fr44IVpshv@GAWGpV|d~}sJNzv6-f9usAKY`R341R=X_4o%WOJDuEA2%(QcH$ zV=*||oP1cg2JWM&+LXB}JXL>aZ=ppMHcGOFwM0}vE0WiYFD3OZ3ujvJo83Leuy?$K_6nLzCMiz=W@o;&o;z66EG)q-TVX2^Ks_JPf zC^iLj`09#m1u{xRAO)((Y5)!k1lC$tv<}l;gNjz9RB+?z)9ePkWk?kJX&&P=VvrW5@}v6q)kgxk)x-Xdh-&kPd#N-4ID+y%wlN6X#@t#>MYu{ihRh^ z_EhA5lcpF3txirq*!h2})2WqMh^LaGnv~L0M^?2M%9@z6mALt&$w^gOu_aw2Z=45$ znzuhuQ7AqoA}S@Y14$Lu;D+N)7zc;se5=(_71zUN!5{)S8gc&sH&QW~9dgf#t0H5K z$I>4p)ijwg7Cu^6SnHstt=)Tyca?FmOU3rY+! zvd3LgNd%h>Jb+TJH1NUB52-ox;ylMnJ7ZPVk*0@%p+30Bui4O(iN{hjG*$U;E;1?x z4_%Hl6xjHw6${Hd#}!5cZZuTXxcSna3XMwQd5BV3Z|$ioS}sciLz7eK#OAd$`#SM; zOQK%wp?@6C*QUof5J^XQPvp} zNdnB;l!PG-n33KD4&_2P^gc(*qlon3kDppae+)3K8wB}d%lZERK7_n~PwongB$b&u zTC96RN`_i`oSVy2j!4=O61=I7&;I}sT4a7C23HLyCg2}w8ulfUifdDf3?EETQ~cwn zglq^5DgopE$Itw|Dlxk|Yhd15XtA_WRRwyP7OsOG{!c1Kj}=5R*JJQi6w}kq%jKoeqf6qyUXWM%E-XZ6=4%gTsfP54Wb+DJ@Fqr9c(0 z@*^MYbi=tSR*M|~y+A_0Q(KS{y(J|Sbyc;Q3VfXP5Ug%h@*;~NwdzG}MMP*CYH0m( zxm1tT*D7FA&J}A?a0dc?2^667t#RkWq?as0iVrH&i4^nmt!d@xdMH2d;Lm4r^?4e6 zeg`KleK4ZixE~cp;=^ERrCG6fD(XGImBa5{y_Bq)Ba_KXK}njSs%J^`54>vOHu$O6XxP zS0y}{sPf8Ts&OZpd}RG0yJc5m19|Ccnjvys$pNgbEQaXYG@FJU zz16s>VaY#_F;`7nk(!c_86+urL=9A6=FXMXUG~=&Hx|~DtceG+pXINlAZ_^ zCYi=K;sC)n#otR zk6&0?QTHw5SNb1hPVK3*ogqa4uL0x%^x#1IPe<Vy1qCUJ3UT{>f1gWiJ5~jw zhMJG=YNMM<2Nm;p3qdH7o}Q|buQMO{Br)0IaFN3exib>&NeE!Zv{UIp`H}Yd^*~4< z=^#-50IM87)$7#H;BQlptVwaJEj@ZoO)uZ$=_bZYhp38Ytj5$soZC^-NRbpH$2^V$ zwd8*?mG;w=U=~ABK~d&Uk>Wp>TLcObK~u-e*YfBam#eBU!XwlBhHbT0(*5ikJ8?%- zy?SD%zF8kFJuF*v=69aq>(s8Gs4YWPfRcuuo)P4hl4N9$+l=!9PN2vI2smnR6k$q` ze2sqIlnFx?Ng^z?<55xP$JEyxdc%(FF1^~4R1V(5&C;35S)-x*yy_)iUuG%bqiX7* zfZn+LW)7B@3qch?l6K6|Vk?~$6swCrzcFcaEN%!Qq#O`@_?(}x(x$ZQXr+`Gn*fjj z!4)(I?9M*Uj1ON`Y@Pd8BJBP7v$w1@=~V>L?Owpf?#ftXXxg1BMkg6xyJ@JSG`t8Z zDb*370_sUV(mObgp$%8ie=5`Rt$KAWrBnKV(B`~+xZs)(Iv$EI$)4lv{{VzNioCZmcxb0$A(_D%p&WYp4BF8s7d%Esp%t!w)t-({AMAG%!Cf6Z@?$Ef z@%anW$&1QM7Fu{GgC`VGWO2knK}d8)lgB$o{!l;$nW?GK zA8+l?pPmPo^66DYw()ebJOHzXoV4#rPdyZ&ki!$om3UZa;sz5K)f2*6O++amf>A(PWr6@llG4iME>2X1e#|j3=Oeafu!*aXlX<6nsCQO+orx?e6#OP#l&EH>bAFX zQc*)La~AjwqeZmvl++mdT93M#f8kqZf~zeBrOxa+y#D6c z8O^N?b#6;;)qzu2CMOqDw&6$)6L@XxgvcOdru*7iGuZA;Xe6X=7|;;Lhl!;@p%mfApldbXJ0<=$4zsDH+|cDSdkT|o zO$|mOY<(3Ej=GXzG^tw4SSg}Rb4El^v)J5_0kAbTr(NO;=}L<+DzQFv)0|T^{{T?v zc=NMBZQ~!P6j0PsynTP4NDqt~g0BtQc#5ruJ}^l&BhWx;=UJwshCG!7*;<-N-oB0~ zXlm)B{{Sq8VuGd?aE}|`P`7;+vu)Bz4663Tf<^H5ksr3$G85iS%@Ek(n? zl<~+O;Ky(m-6D$h$fB2aI6A4s`2urZn3s0EdKleNDUc9w`#|#l0E_6`{A&35(;ZI^ zF3-iJ&~34huFcd|WRoeKT8XlCkeLC6>sA5*gnK@e zy|f8r8@UZw`nlqM!CfQluRv?N={FgSv&cvU(zNaJA1a?eO7txD{(q@sZuXKG|&(86_e#%eiVOBZw5CHS!*3r){n` z*_PfIE*RcBWoxQ{oK%|70fI;!D84HH04v>>fzLzQo$0pSRVrz6n)htHgO*uE1?B8ySX?cLWK-5>I8m(Ls z4roarkV)vfbFh##%!NB#k_h>X1L^Ye=<57J?R}TFen0R2#q7MjP9tSucUHs9WHR`C zHsRbihd)7&hYHkKy{C=KW^xhbG6@pL;iqs>^*xkd+1BDy_lz23RYHyn5&#rDDtH=x z-iY>y6)asOR;ZCpDVo!V^60{Uv+eQrr6rqgZ10o%^lE2k+Funrs-~Q>rm2Y(u%n?+%gFb(+;)peS!La$ z6RDvASf4^LD0*sJX|5sD^rWHSNujSA`qUZ_M@2ugznM<_{`KNI?fa$976N>>D{j+n3``X`+_aI@y)WLiIjW5%k(E(b+3w$Qx0olshG{$? zq!Xru4>|%t;pgemJ=Ahe(Amu@f(}J$2^ke581n-J@#ur^Z<2p3y94Cj_M_T4$+{DB z;A%2CIdS_XHm3QD4U5V{Lp??dExNOq*#7{H)@G-wStpvF5laZV!#Cyji%87aO}eDB-Yy|0RX_u3~L zm#)TO>nr;wrgpyLs;bXqYapb9_&hsfY3!tYbupMc!fM8rG$O^#{h*zdqmk{cgK0)% z#1H@^0Y;@s^QZWFb_?q{bfYN+om2ovnW17xI37TCX8lD?wK1L9+kJhVlX~_CdhP9< zwz3=ZyLWvB4J9Uf3A<_OvN3H=wxz~Q)H?@dVGVR>_=*I8d2IDE)l3Y=7vH4bHyaCG z?&?6ck117%0t9phgxBJ&GEY(#+_pBi5?EU(G6kt}K_`YW!;cP)Tv)m!si~-Z>GqOaJ)5VmEohL99g03k^_a}REx=&&I z#Vu~pZWx2%wLee*YCt$7e2sox2KW0&t{&XYZLL%htAQ2r1ZO|9qXY34lw-P21Bs6- zN1HTRjLs4a)hl^1`G~RYO^&9^QM7V8eU4f zu%5lk$RpcI>a8SxBZf~>Y4(Rxe5vTlyk7CzvTj|0yR+NUqMD0v(Ka7FimRjDdCCa$ zSgFz8w{7R>s;Ql+=Y~Nlt*>=vLTvNy8y4jo!EjRP5e-zD8mKfrpo7y^@!H>6uqql7 z@8yw`Q}*>wIgjN}MYT8XM{MVNLl2JFyNa?pZnoe1zi)1gjV*ljmJn?X<1X9YTT2Cl z-L%yV7L?S+C^I6$7g_aE`;epOyUUw6-7VR!0@2hpKidIAP<+5O9TGm%98;7s1&I77 zNF(efxFhGsr1xNVmtb^;8?QDlQw#m**c2Fgj1~>?^Wx}hvQS_KI~h?!y7tavZcC5P zL5{1f5z&3EbpHs1A{w0zAm5B=P9Pw{~uveFbk_ZHx!^Q*CGI z@>#9H+gqazxHcf#sLMr3S&GHvHw6|C4?b%lMMWG`GE&ygY0^VArqHNKWZ3QJxm)Sl zv&KL%;DQE4M-x(WigfM0-Sv&6kmw~@yL6n?@!`M#56t>>FZCYa%g@yqJXcZWveR~6 zS2yJa@o1^82rT!<=^t)Bd3uu^mRxol_ROhykWx3k>I#} z#^L658*-W=&{T?W6r}}glf!`NUB=-Q7Ex=Bp5?1dQ-R{u2A`K6Jt-yIbw?XDE@LT? z+&ElCMO|iFKfB)<9bRK0T+;3h!I7BbG5C5~IIFXjv%IlDsT|tU2w_M~!Q@O7BB%C+ ze7wBBkm2dapgqje-P}oeB7s~}01uEK>L;T2*xR_T2D($Q;x3AR>NCQNid*@M+m8v4VW#L+W5>-#0QLZQ&BXn2M#p@?L91l&&4t! znM0_pR0g4^1L;9Z=Z`@zV(!hEx-&TZ9^Gx}MZ9v@%FKmM*4$fCUA;>-*~G?`8C>ml zRkJm}#Fm6b6cEzXfdxaaq{$#F?tb@QJ}$0)P!c zpkrKo&3!s(+WBpZi^kT})@+lyT1=f*FB`g`+%%O{S>&j%re7Y}p@;m6i7B4G26&+m z+&CZ-4U@|RjQzJIKmd_UEZ5Y16EF~*HL#?0&uigx>{ zFI>I7%*+&mNh1~EOq!pUM-uGN{+xk8BDtv?IM;xu<<&aPytA3T*O$)Zx@=QY=Q45B zV=!~qX7UY+nwAe10}J=l2W*~5vGF9e5hT^~HRKNL&F)Exav}l2pjwhhsr4jRA7H@g z1orUwO0e!aXla4K6OrUV{(UiS4EdU*H<6f^g$**Hi%=9 z$;mu%Up^kV9(`Q%ED5S9EStkogR3WiIQi3v#X3PZ#Ei!5%GKrj2Ypv&@)?(kZ01sq zrEvL5gHFo0g)n66GvQvHR60U*1Px%Qflspo^tu3!Cj@*T3V=9}4KO;p^M2yBXsuE- z3rfjCY57x+m3lJ$Dbtt^n61oicBag3Y~@le>hsZNXPijgqIqQQ|Ss($mSA znja-Z(Z}jV5rR`*v{E3Iw5-SHOp-i>cywET%y+wzpty|$Ac_HnC&-cOP99xk?Humt-yu(Y>h-t>l*G!-Z9 zBOfYp=szKnSp$~=sgih8(MKQ7omb^|%6-Y!`^R(Qy9aG$`&S(^(F!cKKDrzYCOSDq zTU27PwC#_|(bUp3dK60Yq}2i<><|!!SI3LQV?59sj^J}Ma3t0x>>n-<-TDma>W64FebCD!sHW8Ma_|*iAff!rT zE%dhpdm(+g?h-#=fv*B7{Hf8B?2^!UQz87tIQ_Ni(E97=SHv8?$;8lY{nBxH8ZEO) z9J^YxuQx6iCUcY#NB-bNZ9WR80sKmNsq`hQB#1KyFQgJ8*X2H7y1bN#NsXi=xL`n1 zc+$0?2E9lFbFj3uj7u=_5i$TCLx885BNgZd`8AI1-5P#fwwV@6;4i$8MgK= zvI+@grlGB?rt@T{X04KGB*&2?UvHrm!$#cO+U4i?VQC86yQl*M(By&kS3NGh+pd{y z(kSDON@jwf)K@3ueL4pFpZRlAbyi~oxA7aZd2bo=+j6@8VH`dy`G|49`@}U*S&!B?4V{Z&owH0>O%+l0B zkp3SvJk)L;Jc|%kjzBd7QZ*?c5>PUdMxpJsi?{nTL7&^h_VjL-_H9=eC{~rNe2<^} zUrF4CGdqiM6@D)zOFYjdD2k?nsu>MLVQ&H~k^cOx3n>bqn-E6_+YZbFD+5}3P>=KU zra57ib)<^OJnAX?dT5L^lQleJ$sm0#8r;aTDm;%HqTWPx)5suO^I#9U3hFAOEl)iC zpKngHDy2yQJ$%2-*E*_7*x;Sy$JPj7bxEoXJjR|k))As=m5acysDWa@+>h}0=@La! z9yZhVW2z*PJ1U8gu?H0u;l`YLVwv963o<-y9+g!$4yRdN46R}}UmH;~a3tRJMUc{#_T` z_*2NSyVp)Y97*Aykn}k9>ULS-ijgB#f~Y+*OAc0ASs|8VUeOc)s@sBGk_a{UM*&QJ)AH#<*KI+yvQTd6|yLll$L zf)Vu=EDeOsb16X>6g5%_r7KL+%vbCk2Di&krdvx}L}!*mjF1$9D#o06;rs>ese_YJJjQA(>A>{QgWMFeZ&Hrg{0fbhpf%z z>oSz-By^J)@fG{8HCYr*Jzy*ZRLLVrU=E-T;dvqsd}1hSYl1&~ zC`SWOeE3lLeqA37kIA09%=D&bY)_4^i*r`(ntB>~I;kFxx*YU`MsqmZqS4gTqF7A| zfhnhHE#$c#*4W0PWV?C4M<$fwDS_)>L(nF}WZW$`QLHJn48*WKw5~krrkoG2Rk@qV zZXN5mGBZm}1!h*ErKp-JI%w#U6oe`|Q&7d>6wpF}MvwqO_#FErzMg63Xh0YQEpdUv zj(S~jQ5?zQtfr2tpUALD zB8eUuS5mMJq}YIX_ED;M0a}$L99IYY{VI&bE}0Ml4+Bi`r%klgwG>X$LfROH7a$U+ zpHklCSxMlIN4Da)mL?9kWBj_gMQ~MxM^AWKn8r)*Yh@%XQaF}b@({3}`z$Ik#MQ?s z90D#cd;b7mYa*JnhPcYpHLX8r&OEwLa~qgMao|*70CDylbSrM|>dfw~w-(x{+dEPk zY9)GVI_j7*IozE!6-6|3^&+0TbXVqPr?07*8dj@^#VVH}1Zn^e8DkMi62nnijYgnT z&w#HSbe7w05KZEXhcyEj0;A4=581;N=_j< zJOw{s#ZS+wuYn{bE$$b>Bzz=~w}yW&+t(bf@}s3#e}u`E#$+0rYAn?iH7+9yj)7!T z3(?}v9yX|+j(DzR^UHR2KA*|2?>Ox0ToW)j2grJ#pZGeodwG0H5W)y5O-Vm9UI*+0 zpu)bq$^tZ!&V<}YG?Imnn_YcmYAL`!QGaAN+k;Nka!pSHO$XVYjS@9l(Lg^SKW9vi z`q-aPTa7BrTm`+@YG%E^*Y-;9TCSo8km5RhSBIxvDBv;VYXg!%HvY-_9Vd=Qy&%O{ zRAW6kVu0MUS@P+s(9+GSq-@ zK=k=~bh=xJF2cvD8Zx92Uopmq<b6_R)0}^SZ#lOld-CLO7fr2g|S z0CL*>FV_7dYtzENDpJ0kfB)9j$1RZA`HjsZW zD8nAUe?E>~2LAvOB@Heos5?oauSJv?@ie&FIir|FNrb~kSd1f*L=J+^9n=LZzBoj&2Gp?p3`;D#z) z(_1Yh@z7O4MUbLQjZFnLK3`nL5Rmc1DhozzL8?lzxG6?pN01n;NUaVj{{R=#d1iZf z{Cd!(2`7bXk@gyNB=nvmtb2>7wnt!9;j$9TUyrE6?n*j%=AI0G@50uaebs_t5>?3w zlO>LMk+t~+Ab=scLGM@IHLc{U49np#41}I4Mh$pkv^^-?HQUahGZ>vif;bS_ALaaq zQ1{IhCJV4J+X9aonEG7y3Z|!RWZstzUtL(cZl;Q=w;5W$-2C=^sxi$~SCeM*K$6Kx zGJjxuVh`1ZONM&Nj0qV7HKF1LcyK&NTClk@n}vVvA)z37sU!v?zbqQp z9X=UDkfhXtK=P>IKHjiNNnMo7!MQ53@K+@kIR%}G-RM=Otd`D^K9+}ox? zPErbb2t-a0Q^6}DxN&Nugo)t^hhRZGK?BNwc~F{}Jwyu)0h1K;!c4PFwK3MMXZkqEpo=2ZjX6^@0Ss0IYO&KU2Ynb2YhN!y zDmWkTb$v{A;i`Qp#=f-kXFuv4Jgcl7Ns0mT2iNTX06#&8WPFapd`|D) zv)q|njIGmsiHnP@J2mL);;vi=inVJtrtF>*xi>XL$7)p8OC4P-j~t(CT`^G48V_$< zM7OqA7Pl-GLi(d)z&Qq>nhFP{E5e{2o7(OS+m+_pX0D_Ro`8>tdDIb~mq$Z#{FL~) zwkdL0-Q(ZgGcE@&OItx%K|f|}>e;Gs)zLgPkUVtN&pCwC$`l2(tQZ>?dxC)s%-zYR zP(c--$T;)qcYx}$L{XVr7~@~r)J=)lTUUGImZPfoBzwDQ!5tCD?wD%o9-5*9L?)+U zEmn60K73LkGt@~PIZ1@jFlR4+Zq02pS{ms9cc}nUgdEoZfnVFltyPx3AR&jZA5Im| z{8viDG_243MJ4hqrgxHY8%HBCD=aZCM;Tv?SEimoY_*(EU_by5dW}1KMF$T)A8rrw z^F1Mwc-3CKczwR4VEO#`)1vpgv%7aKQ-R9lcU3Ob+SqF7YiZ-$>rb|}-cKtr;)S$qE{LrAE4l-IXb&_IC<>404x@848??=~6NVK_rY44Mz`N zixHakXNEac5V@%U3W@+Y0#B#x=(q2mmA?`;1~#&>w@&H#ACkdMk$G_)SGD1!>NS}q zk~UiH^VzSM+qlV5+@n4Ysr9|uGz5h9f=%8)d^>2uk^lsnxIZGat$eFrPL6E$2OtIo zhn0Iksm~gcKQ0}2*4_8t{por&=JxxirscQEJV`jFMJaSEt&DHPx z-a9KpvS_L4<6{$?RV=lWIz}%CYe2M{8++% zhSV(ARiO)oTGIsaCp6+S(7o4mRT=U-Hopy)#MWf7RJgvp+i6h^C0@(w$ChlJ9R^OK zpLJs)n{##xOFnx$D1oLml|iJEZwv_DFY>;~32dK12{r2qP4y+0`!0 z*7l}Y*Hnqz2dExL9(f%SzMB4NTPGTG{bTbgntq_|{2btYeTYjpeVDI7gaYGhz zJWd*#rn6{d^D)kqQpe+yA1Ex*%NYg$rR=TeiLN1aKn)#BP${PsK4AF+ky=#Jy(-e1 zjh(&anI<_G;l)Ao2Zl!v%coAT`BTu{m%eMZuTAd^{{UoSqpHYN)MMLi$4!sfaptmf z0=+ToI4}?((QKIj&85 zVmNPOjD18DjX(h49B>DXe%cCCqnS^Djiso7WLWL&);>Stc!{8Ty|YyevWZ$c$SA65 zvDqqV2op~n^z921dDRd{9EHv`MMgkMoF6_Ov?PAo`gGuWI5q7Q#c^8xSo?Y>`?L9d z{B>>jN!nXyXKbt{;(|)L`i-lf!B%g6y2{l~Y9`A~U4X}A_NMX2WEJb9YF4GnJv}3! zf3lHCgtH!`VAL-{22Br}4Yxm)4@+(cn{;hX+LI@>W|?K6 z%5C$tGPU@ik}X6laCMlnh=tBI% zb}iN;VQQv;F$q#fsX5Qgb#2{ovFWxR-oxM^uFGeB%9zrem2{D{bkd2M1Cgj&U$>=- zYR7WUu|$!A;G}UakXGh-E*YHQkMnu@^iARuBS^xPt_K01FF-uH66ot)>zc`?JDIlt+Enk_f#Ly)?!gP9CiJfQ1#ZMDdMx+S{M><0S#CvoL zih&lPQREFN=abV~6G&!Hm1+<9x~C837ru91&%syjK7#o-v+>z|v5}^%$!xv5*w{(4 zjfTp=jWSW%*CU?v225-W^(=7e$kE75(e zgAL8zVp`5Yrj!Li@~@}b4M(0juHBuH`5)Q)D?PY2rb{(VLxP5*Gr8L%zNwcmDf4er zS&~|G!0lbI^%S}4%86!zC8-YtW5c0T3x+N^j^f{QwA-&IB+DRGAwd8V0Iwburbk0W z*y4LRZf)aH96;A5rh>R1@qH(H$8}Zpe*BlRC)+i-JgU*o*=TbWwGq#kHPn(~@&&VA zY{gu!6m@rv8Au@o?Z^_x?nql~p2b~;w^CeyTL!*V6!acd=m{?4wJRhP2<_})NG!#+5LI9_dO;D1%cQY9*F5$tC)!hZX}X`5fLf?6rci? z6{Sf$2S)p8>`j*2@3VUoxUfB$mDw8)v#Oh6(QYk?gg80(1!Y|{ltXRot(euB&c)rh zioAnU3eievl1R!@uar0`wumD(HZn!weQ}E?AOHa*f_MyZInPD=rR2g@wvKYK$m9y1 z?>Yho06+13da_N)hu@iPvq?|Y`=1%t_4UG*dYrE1*cEx~=06iPGd$E(J9?`vf~Cdh zzTuENR*7S$^#+C5Txnh;n474ChzY0-Ku?xwkbYmcqzM^KYAP4V04wv!@~<9%4aM2} z_KR|_OLXj5?&$deNk>Ba!y%M4c%HTD>UzkuzUu80Z&Y-|lxLp&}4yWIPwtFRA?L>(Ker{{SB` zy?dRj?2YZXt2=YPGn8`B=euKY(nUydcmW`ZUb$U9FIh z1B;()Zk>&|D)#PwW=l17O&eEjlLVC*Na`bo1c`-39ZU~S#uif?j-++XH+MGHwkjH_ ztcF$<4T^wAA6jG@^cUEmNuK1fZFB@41Z42}bSZboetf0)(}8T3=jkjD%N>P7O;aXs ze|6?{wufL+;iC#AtKYpxE)#V{O0iPOrmH1{nenFO-Wni60tlr`W9=;r2I=#{FmykrngL8lCX{QSBh9Y_4xx{`})?7ptT{D1BG`utukHs%E5 z^4)WougXP6wGvU&29jI=l4vO6@h2gfVo(8M0TS+9j}Uq9qTJ}LYD1Yy~I?8Z6?U$Qmz%_~&^ig_A}pZKnk zJF{}*I`icRV(z@gM4V>s+n5SEb45p0l&hz#moY_&q@49nDk;!!y zB=UE*#P=I45z>YtYg0}&IIs9RCAw32`Vf!Q@d*dYlqZh?jOV4c8+7g({ny%ZRd1Z$ z2NPWQf9`ezbHiPT4>5vdRKOEZULDy4&0LZS>ZgXbIeP z7vO1AfJpMEuS%@!P)9Tlh|;Yx4p@^~)NufRK9?A-&)wZOxZAK7CA@bOeO*BN-z|=V zJDiFw-;9eLOP8wKSwJc!qmG*=8%%((nHlsKvVmar`Y!EjCf*9DoD^Eng*Bif=leQ8 zvV_@O{YZ@Jj)eTd83+AbdcHoq-n(P7wm#PEU5$}U?#td7It{^q%fK}x*zAI8RIAV! zQ&&+;uTN78S)r+lL^di%xEAi#Ya6NTu2ih?xePrBH2sH&=zScEG%F$yROEW~!+&D2 zS?!&PTo@F*F%10OAfJW^dqq&8n zVjEDQ7$ZJMs@yGNkdumV{JIIgFu{-79W_Xll+n@PwslTjsi>8_YfFaPv^3KtEFgwD zDd_1$ao*<2E=j+!ZuYNpyF!($k^~=_AOrmK(H7GBHpY>~04z>;(xji2dL-Wuen;%y zx9TeD3S1Wd0Nr>D#_8M};85am`(yaV%gFB>y-jXYZr8<-+*qm_igYF#gz!|(Db=Oa z-lah!@B1=bUZ`pGPKbz22@Rz{z~TVNp&9b%J+|&MTidvnFk&pms(4hAJu6>dE{A+K z&2ER>{gJu4Ykt?`b~ZzC;;@2;Z}yH;WK*U}n<-EBap3BxDYq8sqpg=dM!4a4;oy%V zfav6&U7l!Qid!cyA`@B)A6kKfkCl2cx4in7lf;0mZUqUU7{xfAKW9|i@{?rj4ZZSb zf9!6(k0*@5VcOJ7r*%MLjq*2AnxjBOygedz7TO zeUjE&nJX~nCK~FgoV4sJp+)S5?4+Bpr3A% z315VYQ2fXT{JkoU@TB(9tfVMWUn&p}sN-IhI7}wt+MA0jh}av?d~AwLKG4eUy*op6 z=P?xXcnYLY*5gvJ;p%9_=q!>$AU;+Ww?5fu(8V6GH8X)jpXJk^ye3%Vc2#K_K)DFX&r4t`qc ztLgx~MDvHxHIla;(@kS<4003{MPdl@z^?;P2d*ogmL=3ONvdin52m2`0qA``(a?B1 zyZN8v@;Gc(PyH)yC)^pDI(#fS4!ql2u7fR?si&4Y80jj1yEREsJk*r3czEKQOa@02yIAFEwsg;gn>Vp4vTu{iPM$=XNX3MD2y4Y5eU|Vq@8`CL zXbci700AI{sNzj)P&31)X64%(D`t}3DPw*NNvI(4A1YS|ph8Z~%XQZ9sLt)$toCOy zUmjYMaPD2-h@T&t%vIN8A*aFi215-Lo0^7;8HMxA^!QqNrZnOapdn##CBoZ%5Qj<@ zLJ0uSxfLM+sO>lvK3yh)!R9ZkP>)aw0Kfp`aLXSue{W9RX}u|P$(Y+&oK9OYk?Zcv zs_lKfliQUTY7x37qr>2#q{Cyj{#uR+F-u>A#X~ad@Kila%M6gD1{LJYisN^2s{la zc-Q6S(1|w7YgnE|tIViKCx{>(AL`Fmi}D8-)g5cr3*6ZX9M<{oE#sN%?YEH1ZvDvB zn0H*}PcevGF3-Ts)zq7CU?|t_zS@?ZQB%z1mU2N}-E}>l={2{62H31X3xX&G31TuU zTvsQc+)MlCZG%ubipx4N`MSmb0v1$8N? zI;tuSc+;jK+OKZ*=q_v=JcS0jkx+PmK2)VTL2dp0vUeVHDY;jC)+S`;=pv)9-2H=# zpbNLFXNsns>FGC4x~Q_WwNC9UG$}nLI8~>T>Pb_WuI+?t8afEV&;Y(;)|3?VuSK_; zPVfN|z+GqwA#+oVY4RSvTzW9roUSnEBHlO*{TE^VhDJ*4Bhtl|$V(}VGQ~(^H8m4^M({^FN8*wKik&9BNuh63Pa%Lfj*G+>R`45i zw=uI0;zmv?6dxcw{ZAgFWIknKC?}@d+j|v3*jY)TTwO!#{K8b|MTO*{#K^Ma&2UKKJqhFXaOec2 z-!bma)~un)?JO=AJ5iCw88UTYvGtpCH53q?(&H(LucoTWNmD&p6p=|ana~$uay_JH zAh3>BF@R_*N`sIHKW0E3KXnt^+eX^SHOL~PiKY(#2OgihBXW1<%GsFC#p_<(uH7NqB((7y-R~F;n)Qgc`r)S>GF@A0`7k*qv*#=%thHD7Plm!shp$R~E3; zn)zsP)Z2p{vhkBr&a+63GfK~(1&%Pn{>tuo$VsR{ZK0ciC-TUl{ey=_)|(8r^0Uiv zt~L}RhlMzUTzdTa%T@fZcMj~ue|EbIw>uwo!Hklb>2ocQ$m90aJ4;DX6*XNR+pWu0 z;-Q)-YU7S${#HZ66(mt4gV{RoH;Jl6xs4u5)GB~}%F{o$qlm5c=)6A%ZY32!?q(zN zH3WZyse8-$dwjF&-n5Tzbbrci&Nj~8#KB#Q>V508lCGwoF-5o~$Wu|^cU~VMj;4nQ zDk-9=NpdvaN?4*GNXw!kf+^yAvn-LrBe6ARQCbiM1rPGiraE#+p;aLwctIrSLUfW% zYr~22Jr*7d&SgDse^ z&gAPMiKBv_CH8d{MJ0yoRU1X^sW$XjWw?$Ah}1;_f@@le)O@~uIMc?a5Zc*DtxFmK z!^`dHdfb1?XXFJpVdMAyH|6g2-lByG$L|{49#$^J+omEa3Q^My$NV25L0efAVtR2G zifDzNIS2#Zt?y=4SbSj^T2KH0C+9(r&!sX)x5*5M+i;Z}P}J6*q*u?=9UyyqDSM zX4St(0RrMREm{{9Bm+Ui$dG)i_Vf_F*%r<=lb6bihOJUck_B=WqJ;Was`}jdoPGyy z92|LiY=U5#JVrMkh@z>Mc%FGGE1sTwg+#|BkkQaoJkl!!j%uPA-bob-Nmi0u$b#Y) z42{HwuMQL*N6XZ78IIQL>RKu7%yKqPpaISYl`2mPR~#wRW+$>X=J(&-Ws$F_q}vAt zws%xjS&WpF*bTjDB!J?unCUAgI_k0W8N72diCHQcK(O{rcXa`i!-%s2)vpjJJkP25 zW2G}}_trZ##34(Qa0m;Q1B(++T2`K2cf7a8+{Sjc)@&sMZ#LSyKYBx$%WOEYvR2o& z?X0QEQ^h`O3r`@(!M8BwQl_oX?ZZ;h7hfAMv@zVrZ+y=!bjc!+DOyla&>j^z{(Tw4 zwO!xrP}+xBrY~Ol{2<^F>x%rk3palH!0!FKHU?bwRy=iBqMk~MyiIe~)7HZ@l~Y6a zk^S{GR1?kVb9=CaI8aF*&!2U%xP_x;WCRgfe$UUQZ1y|*E2DCdM$&*q0}2pnnsEeE zA8$^zeJ`~)-(O1~R8v#syH=k!x3VvZZR1B3eow9{cK(0wa}SHoWgw)Ird<6UDTQDn zv654Gf?mO?r}1y%NZhdRjo~8MNt`O)vlVrBpZNhZ?>Gs z^w0%ONfaKr9bI>ed!ymnmMnNwP#>L5Fno_oUBM12eWEZl%T+=A7M>iu&^&u0>Q1?iCr?iXy6(<&A&@pQo^Aie6S4iAs=j<>mgbK7~wH zH8N9xB-4*WZV#w8hUTiR+gmRKn%=p5CKdM%dY1=9OBE&}j*4h$^0o71=d6x|(m_1X z!m=3*l@q$6uCt(=+$>f$@k2a?i;+MEYsVC+IOFNjZN1-*`k(|1O)7Fnkv^ZF4xOj! zF2csVOPcH6)yFKUPY9=_*_kPgeRqaA#y*haX)6_{sDwuk3Yw+Eqv}D+ltfUY~Bi`B+X%a|h4y+9*MSgY7c;dY%isVTVFBwKtLJ0n2)E{1;VfOam z&PzQ`BMVWJq>MEzwQ@vOii&E2-Z!YNnreDlIU^A>qdVAXCdStG)5gWaP?a_F<4>3Q zcy;M+A&4r;B^w5VkN7HUUX`?45`!M`jmMUWCTf`JDj~*9i;Z1s33`nELjZ{9g3!QY z79>f{{kpM!DH@ARfN}})^c^RX@@A=q91aBW^uQnGJqUXndE@c8J<$DgQw|4z#g)Wk z@%fFnl7^DE0k@)AD)SZedARZ~nwvkDtd5?NIYJ2Fg(f0has^G>Tw2}FHM~+r>l%uR z>Lim){D+s%q<1#r86tb|%=O*31D4jjA#dVgbmZpa9d;?Dgp*y`c`J5toMw zU}w{ZN+kIs@`{n+QQbX-UkxPY)Va7ZIqGHt+M%gAd{t`JMCd(fF0^hgFVD1NYm2&w zMMXUEPfYajj>YM!(jY12jz1yP-ILs%r@A+FVBVQ6zn_mXA1>{X>y3wXsl~@bO$-7_ zFgC~2M~Hs9k{4A-6aHUm6YOamffn!(V22dPxmqb8~7(jU#ltL z+5`0xB#zpqbRUrw0N2W+k4cwi+yr5+F9@^Kg{^3FLrxq$ICKM)KwDA zxE`2fDDv5iq!Gs!D-({!G_>(xu`$Y&;#yG=wM+QH4$eVkR}RqZi5$NW!KEoeNyT$o z9z7b{UwBX?C4kTX;4}RFJgLwdS=M`A41(iYY=t&NQqq!+nMsnI~sGX$} zp&9^to7|gR`&8Q%i729G5>o&X!`7WXxA%S+n8pkxfLw7W=U%2_x;r1AqKhGi+_mXX zCCV*sKAk365yWL=rb)GF)Cm?Ok#EWONVYg*OST5I#RE#DtIT3~k~Doc7xf>g2k12WI>uN0aZN@6{{SUA z_w|n06F;OsKIE=c#ks~oHAmjb9!S;6jEn8cS{v0k6I00Sqzz$8x1{oI z?&8Jl^*pW&bw?kG__VWBmfO5Up(;X1=~0b#>}Y3?c9d*qTE?J8WyIi z!@_D>ziq6bRnySc*H+O|M_MGNs#yahvuX`u)&K^sF3fNRj#3noKqt6^<`1XH^li2* zb0f~SMm1wle2>fl!=Myh%LaGWeMLzY2c1_Z>H)vg*k)UZ%CToAL*?`PeL6fyos9+n zJbIRK=~YJ3K*1`YZ4*Y!){^$KDSt@R2rK=5p33}U9fJ&d^sniakg^&$;yr%PUX$#P zW>!mS;DdEwZ}lMZIrigf82}t~kdmWLLF<~zQ5q-x4naJ%g9Cj)1`107V|)JqhrOhQ z6_xlC`F*`SR9WOM3tQC7bp=q~;1X^9eeL`+LmJRi%-2161C*x| z>(YyF)#o7B9x_Q?XOR>5WHQLIYYgnpkA zI9KeiNp7OIY|H>7%+t1+$@2Bj4wQA9*LLIb5<_22S&YbIsoNhuKOsj`O;blAu7cGR zb*huo)T*_JWgqK%GkyB+wS-h!AF$WYrW0CiLx4zi5*Vt|^`w8;KkdhWmGpJ-C%;M@3qzuI$dipT_XG;}+H9F1*l zO?TfcanM7B+LR7zlObHws4f67L#U9fOAz0i$1uTU#ki18K=UTG#X70jt+YF}(OB09 z00B(#Kj7(S*S$&IA0w+OcP{5Ocsw3P8p*$mVW=}1Ex$`qO<(pE`y&;T%F{;$W_}td zp``pE2UJQt_bR8#}R5l}~+E0c_pY0@ce?JPucC@!@W4M1DW zF&;`OS{%38(aXg2R!a{B9Uc>H(c(6x9c@qBVks~?c1kN9QDsvPDSBqAlp>b#-5q! z=s80+(?x8bKE&uc}bgE=eY&RQ~|bU*YLH$_P`y5&%BG z%cdRAvTJE^71Bo*Iya7$>FQcMO$;qtGU|A*;Od$hnAVlcN~2hC8KeYUg8VZ^SStcS zKeOkTKj!Hr(`t#kFoZa&%|Q$J9B&F6LQkyw*ap2;PbHg zsB$%!CC14^P?A9^Q>@--)g_*g7FGb=Ch55SGo%v3ty8)(aA?d>ZD3LbM4C#n+2?|a3MBh;Qt;Be*whqNZyce;EORQAyeC=@ zR1ly50WY+z9tb3sub-_wY17^_8n_>@`u>0MT>&2CMSD?Z+k z%a5rsmZQv5(@KK2I=Tra5|EE^Q6iM##Q@Y0syp9*dsQh0GVwv0JFxxbvaN z;gukec=76yhw^Og__C~$ZcUXoJ{esGQa8^+(nkwOBB_%b7B)c>$gzfCDj5yPRwBi{ z;9I?3OOhIc6s1uu9}He>NNpLB#cYEo-*)+Kea@LL%FYnkwa{X2wE*^l01zwll~HY zdJgWl$#pTFIEo=3nfVSB{{S!L(8;s3d!s`5!jD_O+s1vGi8>U|bORTe(X z%SM*+LWBZE2`f{OazOt82?N)pn|-u57ouI$U(>IUG}J+;sq+K%R)QW1!W*<7zfDSZ08vJbqKW}b|jAdPQ7Eh?Q z)=r*}Ht?lZO*?abVJC^IcGMO1GG%J={cEwSAuU%N(p6Jr^3gmAB=oT~v8T9@=4VvkR#{m(UJS7qOOSzR8Esq%@eH* z;YQW+P70m@KiA<($UnbDt&+YR0^=Ty6P}RuC`n`IppO{|?(&>zclef19f#%_vU)WPGbX{w@wDMPp0D?FQv2U5|@v@Ke4vI;7g z>nN6JBuHdro+Q!a1=Unpyf%7@g4G7OJZbav{$jQ0?tRu714g#QDX5_}HTC}hRXVxd ztxH{nf+{+?hpbNxJ4G!-A*vy%GC!3goCz7|>l#2%P2`knHg|IK1}1fs)GZBvm+ay` zTzV-4HE=#(FZjRPUX;|ST@k6Hyv~a(b1KTIOwC6*jp*qF^SP2u200dI#$xT>ZISnOHs}$Pg$U!VK zFOca#lRxc<$PLIQR-q`$4M7|@SI>d1KF~U~My2g42Opo$&+O?fmFj)DpRb!S9xhBq za;U>fH`dU|ot3&{s9H>fbkfx4_HAYhE1su-WTl!UuQjx?T=^hj$Z>ujB1$Vy|MvHIFo$-GsWN=Rt&l{Nc& zJ+}7UMmGzHsHihD$4ysTD#9U*8@Ii=jfSU$YNaqwA2UpmTyU*3){;fw_0lU^0aL`D z6{nyFs^;Ilzx>tc1ob$fv!vVD=5tfIwl2)s29BNumU!i*s(ic|*&?sRLr!GMBu2F2 z!-T1uP~j!b!&<7A+teC)RPo?xUI)t^7+bB4#*!{hlYvt~kC+@s1M|m4`mePA0GLMW zicGFw3PI9!8 zSI;xW$a$+}hNnX?962vxV{vb2+nHn}vn!Ea6*;fUy*xG`5HMf}JSpk(=q1hc))NDg z&(mZwJHm#C7qzj~^{D`<$xB2d8AwGH6RV{qQOgQY(YZk!0iMJ??rCkgNpPysfkM>D zrZL2N@#w1R*T5GVszPT285{|q$EoN?>3-hXTUX=#4%L_Y?Nb@snLLhGbk58+o-(I9 zpR1*5bND(;ZEb7PQ<}J%qCzKurT~>ya1EPenoZgZ&!|uXf(DRIC`Aw2DPFGoh!#Ig zBBOY8CZ>kIbpHS*dI|Qv`o-s`YCMkp+c-!m>Y6A{Z_7r4rKXZ?{Lu_Kfu=ITAU+HBMogd(iJi>b&vkSavoG=oqC3i)Ug($mqm9YI5B3>HwtFH$iY0Oi3IDk^dT z0D21NrP15lUEB{1i(N4^T4a;x8kwgWbZB=Dd%3&IBQDMB{8sw-=hl>ytrqj`ee;CJ z;X8|QyF(kzwR&S?)J>L6w`H8iQ@XN+mIHA^Pb`4QvCi?%R$F{bn`*EgBmt@dy945%ZVmD4#2b5ID?#%W} zDZXI_T;5A|?i9r2vU{6$SLu0bvNe*-^(-648+zeZl-Lo*bP|D82gdP+G z;Cc>(TYl@bO?N)gw@9Yy1*t^`0<@^cKsY3M^a}US^A_s3aClSDedn-FY{|PubnY#w zx~haU&9L_;_dcr_nG7v0Gf5v~LyTILZDpvQTY#XqwYxtjF_KfgAP|5w>2OVIHB=1n z;nK^gZ^%(;1DPsoRXFtH<;Oh%d*k_!Z5q1$lQ!7ze621XpK0~T-!$}_Gb2q=SG%Zp z+gJ7~QqNnpe(k6;yB*q+o5wU!iK0M;CO%d;x8;4dA$YS#8y0u)=t-iLqSx#+sQmhE zq28WY%yAHa4OJji=Aa**2=xP^nexNrpG9|nW9~iEw)+yfaGA}sx^OhOeD2ZQ?K)Lw zwwF?4>AaLiz41`}u4k{SWGI@Me(fDdEhz?^ySJ{@YYbP98%nH6pd^qmu>;*2~$74T;MF5z|RYEAI zs5*?rij(bb+hsMCp|Uc~J+mmFa53ly6GP?=daT=Jw1!7}*wZ8(HKqk>Yd}9Puy!8l z`3*r)h1?tGrFQ<+sN6KLczbJRmf>S3(g`Az=-p3Tz2|^a=vzUsf5&0G&vDVON@$D7}`aRbVAK6;zH#kIAI*hKS3R7iqIT+ z=C%7z%ZEYFsAksC$T9_TaZgInaj%^?^v9j*ZGoOhXU%m#SJouYG@5F*juUJxWqcJ) z6(pFGv6}^y${M-?tjje-PYf(%kSIn_%Gg|NVZnwg9K5KLCEwO^xowvSdHqHjWFDaiVPm=4- z!X1sbcQS6;sc#(;r2a>i$Rl=g3U>}y+OLJtyHi;{H#DgLaVHIrn8%iSIkevIRh1Kn zp;3&~&`^1N^PJbApP_za?_J*W?Ee0v#N#qM)tGhW;=LC15n1mH_34%jM~whPKgZ~7SfpKs;xTY>U>z|hB!tlFv96tgDp z#nvoMJe0G`6Rkv$s3{ncScq@AT7RnA?^19sgCS&LKmw3z7~qD%`7zP>h3HuxSb@tc}kN}lR`izf&HKAuSM`$ET5poRRI8s`hF06{{Sy8 ztIne%kk93ESGgNpPw3Ra=m%s-nsO_Tmawx>!=V z!5`-PIuOK(8mdOLRTKlK8ce1~A6rc>EwdPzX+%aUoIXZM$k5Zr<3mo2# zfdb58GQt20BB?4-HO<+Uc_WzCM-7rl1PW1VMFlfXuLi@l#<9gUxserUGAeUWNu@~# z&!i^9?s&Go+ojtz(Bv`HP;F1(^H#x%j!Mkjv%iNSMLkkGc79_eK}#D|QdEjPv*VhQnn9@}Onog~RCN)fShTT@58>UK=Xbf>_mHFYw}PNY_1@HFv8tt`>AraH24qxC6!{Ykion4pO^jmg4{L_nvd3D2(q z$EX{Y?xt=2z%XiuvQqtfP&*IT6?oi-DmZvw`bJ+}`eX zqL!z~s~oh#q{N(A+8-vX*cNsVpbyW`eSOHW##NBBlC=lS)B{t}tIN^hy7r7500j*w z4n2AswifNiMZa^onh5FWYAbQuUb=)Ns?rMjUAML>Yo%xggob%?G_kzbTbU37eKs-$ zg2gGlK|+l}2g#O)A1c$RV{o^eTiD^Mj7cWELz*Ai{J3-z_5~$Q19NU1<~I`|+f`kG zp2qFhhNhIkBf*-jt)roIjz_4+QnorhaXm~3vcRF?4hOK*cL)+V7?U7S2m>{*u0Z+u z^g1jhM+i+_PxBworRQ$>Y#o6?o28bDhdCu>EnQw;J(`l9 zg{oz&m06xxDOu8*7^#t0RI)bYfXQ%WWl*Dlttx#<^`?3#v)UhQ+l8g8sg>#^axwv~ z0`T+or=Lt6x!e1XyLZf+vvW!IkAj$J4ogo&Y5JDK^^;*^} znnHp<1q*sf{1L(YdtXG$Edz>vW}PksmeN1eI?WWQ3!Nk*YKz8Xk%LBK<~c|tu+%kJ zn{)m*_h2MJQ6b~y{;%@&Q=zB|1LZ^0g)MbnDz-YzFs`fz0b8#f{Kbw2vALU@U0J>dIVf5ndD6%sA4}V z;PfnYUuJGCom$v@Mo$xq#ANEBmb~sL>ZQj})RsdoP6;TYY2mDz7zAVx(YRr#01FQm z1Xo6;1J^u#eL5_@vW``GKyMrh4LnUaSM2@09B+%?B({&o{>$DG(o$E?@i%pDYB)Fi z@KViBP1L)`C-&x}vUY%_)svg7GL^7}&(SLX0Jw=Hk0DM3ZqcxBbFm1oacn>U62g@L z`Jb@)`Vn7Vk2cGh87=KEBnJ4#Jm^_R07vnT1NeqG^?G?ugWK8a>^EZUJ=0mVb5)e^ zW$E|c!QBsx$z?Fv2cgMDPxn$slfZ6GtCETc$%7$DSx+Q-iX>&sp2Onc(UM5VpvRx7 zr=QQEAV(^!k^-ijNv%F!gZ)(L*mh?3>spyV(zZVryl{d`F7w#(;;46Z9UIlwc-Jk~ z(q!+Qq@{{T161wl<&?LP%>sj9;j@n9e~S{XJdJ5nL58Le`fuCSQstp(Ja8CSh^2pJ zXh+#Y^5}EfTk~Z0E+Mm93v*(3Mlur=Rga0SgYNNla?{69v{~F-qCCa}BqNzi)7HUH zG7>JfJeJRIEGI;fk;gt?kr?TGZjy?j1aYVP9DMpBosHO?^}2VzXYB2f*m#YPkJ|Nn zoA`A`KMjMRuBM{FOu~vGxUx`Y*FRA_luRqB1w1-oor9G+2eXOAhTmsrC(^S`AyHCE z0FhE@iVV~mo){ek*Kph}w`;pdBECUncQ

    @W7^!Xb3zh=TVQht2?CJSZaNbjoy=G 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
    _T)QnZMwVvN3oG|S}!NCXRgJ(o&!5DJ#4 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 literal 0 HcmV?d00001 diff --git a/src/demo/manager/src/main/webapp/assets/img/zoom.png b/src/demo/manager/src/main/webapp/assets/img/zoom.png new file mode 100644 index 0000000000000000000000000000000000000000..6d5ac0d7fa1b3bace28618c58773aab01f7c0ddc GIT binary patch literal 4151 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 0) { + $("#"+id).attr("value",timeout+"秒后重新获取").removeClass("gvCode").addClass("gvCodeNo").attr("disabled", true); + setTimeout("ctDown('"+id+"');", 1000); + } else{ + $("#"+id).attr("value","点击获取验证码").attr("disabled", false).removeClass("gvCodeNo").addClass("gvCode").next().html(''); + timeout = 120; + } +} +var timeoutajax = 120; +var ctAjaxDown = function (id) { + --timeoutajax; + if(timeoutajax > 0) { + $("#"+id).attr("value",timeoutajax+"秒后重新获取").removeClass("reg_gvCode").addClass("reg_gvCodeNo").attr("disabled", true); + setTimeout("ctAjaxDown('"+id+"');", 1000); + } else{ + $("#"+id).attr("value","点击获取验证码").attr("disabled", false).removeClass("reg_gvCodeNo").addClass("reg_gvCode").next().html(''); + timeoutajax = 120; + } +} +//check telphone +var tel_preg =function(tel){ + var preg=/^0[1-9][0-9]{1,2}-[0-9]{7,8}$/ ; + var string = $.trim(tel); + if(preg.test(string)){ + return 1; + } + return false; +} +//check mobile +var mobile_preg = function(mobile){ + var mob_preg = /^1[3|4|5|7|8][0-9]{9}$/; + var string = $.trim(mobile); + if(mob_preg.test(string)){ + return 1; + } + return false; +} +//check mail +var mail_preg = function(mail){ + if(mail.length>80){ + return false; + } + + var ma_preg = /^\w+([-+.\']\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$/; + var string = $.trim(mail); + if(ma_preg.test(string)){ + return 1; + } + return false; +} +//去掉中间的空格 +function clsTrim(str){ + return str.replace(/\s/g,""); +} +var url_preg =function(url){ + if( url.length>70){ + return false; + } + var u_preg = /^[a-zA-z]+:\/\/[^\s]*$/; + var string =$.trim(url); + if(u_preg.test(string)){ + return 1; + } + return false; +} +var GetLen = function(str) { + var realLength = 0, len = str.length, charCode = -1; + for (var i = 0; i < len; i++) { + charCode = str.charCodeAt(i); + if (charCode >= 0 && charCode <= 128) realLength += 1; + else realLength += 2; + } + return realLength; +}; +var lenpoints = function(pwd) { + if (pwd.length <6||pwd.length >20) { + return 0; + }; + if (pwd.length >= 6 && pwd.length <= 7) { + return 10; + }; + if (pwd.length >= 8) { + return 25; + }; + return 0; +}; +var pwdTotal = function(pwd) { + if (!pwd || pwd == 'undefined') { + return - 1; + }; + if(lenpoints(pwd)==0){ + return 0; + } + var digit01 = /^[0-9]+$/; + var digit10 = /[0-9]+/; + var digit02 = /^[a-z]+$/; + var digit20 = /[a-z]+/; + var digit03 = /^[A-Z]+$/; + var digit30 = /[A-Z]+/; + var digitStr = /[a-zA-Z]/; + var digitOther = /[_]+/; + var safeStr =/^[0-9a-zA-z_]+$/; + var totalPoints =0; + if(!safeStr.test(pwd)){ + return -1; + } + + if (digit20.test(pwd) && digit30.test(pwd)) { + totalPoints += 20; + }; + var pwd_num = 0; + var t_num = 0; + var pwd_mi=0; + var pwd_max=0; + for (var i = 0; i <= pwd.length; i++) { + if (digit01.test(pwd.substr(i, 1))) { + pwd_num++; + } + if (digitOther.test(pwd.substr(i, 1))) { + t_num++; + } + if (digit02.test(pwd.substr(i, 1))) { + pwd_mi ++; + } + if (digit03.test(pwd.substr(i, 1))) { + pwd_max ++; + } + }; + if(pwd_mi&&!pwd_max){ + totalPoints += 10; + } + if(!pwd_mi&&pwd_max){ + totalPoints += 10; + } + if (pwd_num >= 1 && pwd_num < 3) { + totalPoints += 10; + }; + if (pwd_num >= 3) { + totalPoints += 20; + }; + if (t_num == 1) { + totalPoints += 10; + }; + if (t_num > 1) { + totalPoints += 25; + }; + if (digit20.test(pwd) && digit30.test(pwd) && digit10.test(pwd) && digitOther.test(pwd)) { + totalPoints+=lenpoints(pwd); + return totalPoints += 20; + } + if (digitStr.test(pwd) && digit10.test(pwd) && digitOther.test(pwd)) { + totalPoints+=lenpoints(pwd); + return totalPoints += 3; + }; + if (digitStr.test(pwd) && digit10.test(pwd)) { + totalPoints+=lenpoints(pwd); + return totalPoints += 2; + }; + if(totalPoints==0){ + return -1; + } + totalPoints+=lenpoints(pwd); + return totalPoints; +} +/*-----------------个人注册数据------------------*/ +var MailMId = "userMam"; +var MailMErrId= "userMamErr"; +var PwdId = "password"; +var PwdErrId = "passwordErr"; +var pwdStrong = "pwdStrong"; +var PwdId2 = "password2"; +var PwdErrId2 = "password2Err"; +var pageCodeId ="auth_code"; +var pageCodeErrId ="auth_codeErr"; +var codeimgid = "code_img1"; +var MobileCodeId ="sms_code"; +var MobileCodeErrId="sms_codeErr"; +var sfCodeId ="dm_number"; +var sfCodeErrId ="dm_numberErr"; +var AgreementId ="AgreeId"; +var AgreementErrId="AgreeIdErr"; +var defaultArr =[],OkArr=[],memArr =[],pwdArr=[],pwd2Arr=[],mcodeArr = [],codeArr=[],dmArr=[],agreeArr=[]; +OkArr[0]= '通过信息验证!'; +memArr[0] = '请输入您的手机号码'; +memArr[1] = '请输入正确的手机号码'; +memArr[2] = '请输入正确的邮箱地址'; +pwdArr[0] = '请输入登录密码'; +pwdArr[1] ='密码只能为6-20位字母数字下划线组合'; +pwdArr[2] ='密码太简单,建议使用数字、字母、下划线组合'; +pwdArr[3] ='密码只能为6-20位字母数字下划线组合'; +pwd2Arr[0] = '请再次输入密码'; +pwd2Arr[1] ='两次输入不一致,请重新输入'; +mcodeArr[0]='请输入短信验证码'; +mcodeArr[1]='短信验证码不正确'; +codeArr[0] = '请输入验证码'; +codeArr[1] ='网站验证码不正确'; +dmArr[0] ='邀请码错误'; +agreeArr[0] ='请阅读并同意注册协议'; +defaultArr[1] ='请输入您的手机号码'; +defaultArr[2] ='6-20位字符,可使用字母、数字、下划线。不建议使用纯数字或字母组合。'; +defaultArr[3] ='请再次输入密码'; +defaultArr[4] ='请输入短信验证码'; +defaultArr[5] ='请输入验证码'; +defaultArr[6] ='请输入您的优选单邀请码'; +defaultArr[7] =''; +defaultArr[8] ='请输入您的用户名。可使用字母、数字、下划线。'; +defaultArr[9] ='此手机号已经被注册!'; +defaultArr[10] ='此手用户名已经被注册!请重新输入。'; +/*--------------------------------------------------企业注册数据---------------------------------------------------------*/ +var cpyUserNameId = "cpyusername"; +var cpyUserNameErrId= "cpyusernameErr"; +var cpyPwdId = "cpypwd"; +var cpyPwdIdErrId = "cpypwdErr"; +var cpyPwd2Id = "cpypwd2"; +var cpyPwd2ErrId = "cpypwd2Err"; +var cpyCodeId = "cpyauth_code"; +var cpyCodeErrId = "cpyauth_codeErr"; +var cpyCodeImgId = "cpycode_img"; +var cpyRealNameId = "cpyrealname"; +var cpyRealNameErrId= "cpyrealnameErr"; +var cpyTelphoneId = "cpytelphone"; +var cpyTelphoneErrId = "cpytelphoneErr"; +var cpyMobileId = "cpymobile"; +var cpyMobileErrId = "cpymobileErr"; +var cpyEmailId = "cpyemail"; +var cpyEmailErrId = "cpyemailErr"; +var cpySectionId = "cpysection"; +var cpySectionErrId = "cpysectionErr"; +var cpyNameId = "cpyname"; +var cpyNameErrId = "cpynameErr"; +var cpyProvinceId = "cpyprovince"; +var cpyCitiesId = "cpycities"; +var cpyAddressId = "cpyaddress"; +var cpyAddressErrId = "cpyaddressErr"; +var cpyBuyuseId = "cpybuyuse"; +var cpyBuyuseErrId = "cpybuyuseErr"; +var cpyWebsiteId = "cpywebsite"; +var cpyWebsiteErrId = "cpywebsiteErr"; +var cpyScaleId = "cpyscale"; +var cpyScaleErrId = "cpyscaleErr"; +var cpyTradeId = "cpytrade"; +var cpyTradeErrId = "cpytradeErr"; +var cpyNatureId = "cpynature"; +var cpyNatureErrId = "cpynatureErr"; +var cpyAgreeId = "cpyagree"; +var cpyAgreeErrId = "cpyagreeErr"; + +var comArr=[],cpyDefaultArr=[], cpyUserNameArr =[],cpyPwdArr=[],cpyPwd2Arr=[],cpyCodeArr= [],cpyRealNameArr=[],cpyTelArr=[],cpyMobArr=[],cpyMaArr=[],cpyNameArr=[],cpyAddressArr=[],cpyBuyuseArr=[],cpyWebsiteArr=[],cpyAgreeArr=[]; + +cpyUserNameArr[0] ='请输入用户名'; +cpyUserNameArr[1] ='用户名不能以SF开头'; +cpyUserNameArr[2] ='用户名不能全部为数字'; +cpyUserNameArr[3] ='用户名长度不得小于4大于20个字符'; +cpyUserNameArr[4] ='用户名不能以tmall开头'; +cpyUserNameArr[5] ='用户名不能以jd开头'; +cpyPwdArr[0] ='请输入登录密码'; +cpyPwdArr[1] ='密码长度需在6-20位之间'; +cpyPwdArr[2] ='密码只能为6-20位字母数字下划线组合'; +cpyPwd2Arr[0] ='请再次输入密码'; +cpyPwd2Arr[1] ='两次输入密码不一致'; +cpyCodeArr[0] ='请输入验证码'; +cpyCodeArr[1] ='验证码不正确'; +cpyRealNameArr[0] ='请输入联系人姓名'; +cpyRealNameArr[1] ='联系人姓名长度应在4-20位之间'; +cpyRealNameArr[2] ='联系人姓名只能由英文和中文组成'; +cpyTelArr[0] ='公司电话不能为空'; +cpyTelArr[1] ='公司电话错误'; +cpyMobArr[0] ='公司手机号码错误'; +cpyMaArr[0] ='公司邮箱地址错误'; +cpyNameArr[0] ='请输入公司名称'; +cpyNameArr[1] ='公司名称长度应在4-40位之间'; +cpyAddressArr[0] ='请选择公司所在地'; +cpyAddressArr[1] ='请选择公司所在地'; +cpyAddressArr[2] ='请输入公司地址'; +cpyAddressArr[3] ='公司地址长度应在4-50位之间'; +cpyBuyuseArr[0] ='请选择购买用途'; +cpyWebsiteArr[0] ='公司网址格式不正确,应如: http://www.e3mall.cn/'; +cpyAgreeArr[0] ='请勾选注册协议'; +cpyDefaultArr[0] ='请输入4-20位中、英文、数字、中划线和下划线'; +cpyDefaultArr[1] ='6-20位字符,可使用字母、数字、下划线。不建议使用纯数字或字母组合。'; +cpyDefaultArr[2] ='请再次输入密码'; +cpyDefaultArr[3] ='请输入网站验证码'; +cpyDefaultArr[4] ='4-20位字符,可由中文和英文组成'; +cpyDefaultArr[5] ='请填写联系人常用固话,如010-87654312'; +cpyDefaultArr[6] ='请输入联系人手机号码'; +cpyDefaultArr[7] ='请输入联系人常用邮箱'; +cpyDefaultArr[8] ='请填写工商局注册全称,4-40位字符'; +cpyDefaultArr[9] ='请详细填写公司经营地址'; +cpyDefaultArr[10] ='如http://www.e3mall.cn/'; +comArr[0] ='系统繁忙,请稍候重试'; \ No newline at end of file diff --git a/src/demo/manager/src/main/webapp/assets/js/bootstrap-datetimepicker.min.js b/src/demo/manager/src/main/webapp/assets/js/bootstrap-datetimepicker.min.js new file mode 100644 index 00000000..db3d085d --- /dev/null +++ b/src/demo/manager/src/main/webapp/assets/js/bootstrap-datetimepicker.min.js @@ -0,0 +1,9 @@ +/*! version : 4.17.37 + ========================================================= + bootstrap-datetimejs + https://github.com/Eonasdan/bootstrap-datetimepicker + Copyright (c) 2015 Jonathan Peterson + ========================================================= + */ +!function(a){"use strict";if("function"==typeof define&&define.amd)define(["jquery","moment"],a);else if("object"==typeof exports)a(require("jquery"),require("moment"));else{if("undefined"==typeof jQuery)throw"bootstrap-datetimepicker requires jQuery to be loaded first";if("undefined"==typeof moment)throw"bootstrap-datetimepicker requires Moment.js to be loaded first";a(jQuery,moment)}}(function(a,b){"use strict";if(!b)throw new Error("bootstrap-datetimepicker requires Moment.js to be loaded first");var c=function(c,d){var e,f,g,h,i,j,k,l={},m=!0,n=!1,o=!1,p=0,q=[{clsName:"days",navFnc:"M",navStep:1},{clsName:"months",navFnc:"y",navStep:1},{clsName:"years",navFnc:"y",navStep:10},{clsName:"decades",navFnc:"y",navStep:100}],r=["days","months","years","decades"],s=["top","bottom","auto"],t=["left","right","auto"],u=["default","top","bottom"],v={up:38,38:"up",down:40,40:"down",left:37,37:"left",right:39,39:"right",tab:9,9:"tab",escape:27,27:"escape",enter:13,13:"enter",pageUp:33,33:"pageUp",pageDown:34,34:"pageDown",shift:16,16:"shift",control:17,17:"control",space:32,32:"space",t:84,84:"t","delete":46,46:"delete"},w={},x=function(a){var c,e,f,g,h,i=!1;return void 0!==b.tz&&void 0!==d.timeZone&&null!==d.timeZone&&""!==d.timeZone&&(i=!0),void 0===a||null===a?c=i?b().tz(d.timeZone).startOf("d"):b().startOf("d"):i?(e=b().tz(d.timeZone).utcOffset(),f=b(a,j,d.useStrict).utcOffset(),f!==e?(g=b().tz(d.timeZone).format("Z"),h=b(a,j,d.useStrict).format("YYYY-MM-DD[T]HH:mm:ss")+g,c=b(h,j,d.useStrict).tz(d.timeZone)):c=b(a,j,d.useStrict).tz(d.timeZone)):c=b(a,j,d.useStrict),c},y=function(a){if("string"!=typeof a||a.length>1)throw new TypeError("isEnabled expects a single character string parameter");switch(a){case"y":return-1!==i.indexOf("Y");case"M":return-1!==i.indexOf("M");case"d":return-1!==i.toLowerCase().indexOf("d");case"h":case"H":return-1!==i.toLowerCase().indexOf("h");case"m":return-1!==i.indexOf("m");case"s":return-1!==i.indexOf("s");default:return!1}},z=function(){return y("h")||y("m")||y("s")},A=function(){return y("y")||y("M")||y("d")},B=function(){var b=a("").append(a("").append(a("").addClass("prev").attr("data-action","previous").append(a("").addClass(d.icons.previous))).append(a("").addClass("picker-switch").attr("data-action","pickerSwitch").attr("colspan",d.calendarWeeks?"6":"5")).append(a("").addClass("next").attr("data-action","next").append(a("").addClass(d.icons.next)))),c=a("").append(a("").append(a("").attr("colspan",d.calendarWeeks?"8":"7")));return[a("
    ").addClass("datepicker-days").append(a("").addClass("table-condensed").append(b).append(a(""))),a("
    ").addClass("datepicker-months").append(a("
    ").addClass("table-condensed").append(b.clone()).append(c.clone())),a("
    ").addClass("datepicker-years").append(a("
    ").addClass("table-condensed").append(b.clone()).append(c.clone())),a("
    ").addClass("datepicker-decades").append(a("
    ").addClass("table-condensed").append(b.clone()).append(c.clone()))]},C=function(){var b=a(""),c=a(""),e=a("");return y("h")&&(b.append(a("'; + if(this.o.calendarWeeks){ + var cell = ''; + html += cell; + this.picker.find('.datepicker-days thead tr:first-child').prepend(cell); + } + while (dowCnt < this.o.weekStart + 7) { + html += ''; + } + html += ''; + this.picker.find('.datepicker-days thead').append(html); + }, + + fillMonths: function(){ + var html = '', + i = 0; + while (i < 12) { + html += ''+dates[this.o.language].monthsShort[i++]+''; + } + this.picker.find('.datepicker-months td').html(html); + }, + + setRange: function(range){ + if (!range || !range.length) + delete this.range; + else + this.range = $.map(range, function(d){ return d.valueOf(); }); + this.fill(); + }, + + getClassNames: function(date){ + var cls = [], + year = this.viewDate.getUTCFullYear(), + month = this.viewDate.getUTCMonth(), + currentDate = this.date.valueOf(), + today = new Date(); + if (date.getUTCFullYear() < year || (date.getUTCFullYear() == year && date.getUTCMonth() < month)) { + cls.push('old'); + } else if (date.getUTCFullYear() > year || (date.getUTCFullYear() == year && date.getUTCMonth() > month)) { + cls.push('new'); + } + // Compare internal UTC date with local today, not UTC today + if (this.o.todayHighlight && + date.getUTCFullYear() == today.getFullYear() && + date.getUTCMonth() == today.getMonth() && + date.getUTCDate() == today.getDate()) { + cls.push('today'); + } + if (currentDate && date.valueOf() == currentDate) { + cls.push('active'); + } + if (date.valueOf() < this.o.startDate || date.valueOf() > this.o.endDate || + $.inArray(date.getUTCDay(), this.o.daysOfWeekDisabled) !== -1) { + cls.push('disabled'); + } + if (this.range){ + if (date > this.range[0] && date < this.range[this.range.length-1]){ + cls.push('range'); + } + if ($.inArray(date.valueOf(), this.range) != -1){ + cls.push('selected'); + } + } + return cls; + }, + + fill: function() { + var d = new Date(this.viewDate), + year = d.getUTCFullYear(), + month = d.getUTCMonth(), + startYear = this.o.startDate !== -Infinity ? this.o.startDate.getUTCFullYear() : -Infinity, + startMonth = this.o.startDate !== -Infinity ? this.o.startDate.getUTCMonth() : -Infinity, + endYear = this.o.endDate !== Infinity ? this.o.endDate.getUTCFullYear() : Infinity, + endMonth = this.o.endDate !== Infinity ? this.o.endDate.getUTCMonth() : Infinity, + currentDate = this.date && this.date.valueOf(), + tooltip; + this.picker.find('.datepicker-days thead th.datepicker-switch') + .text(dates[this.o.language].months[month]+' '+year); + this.picker.find('tfoot th.today') + .text(dates[this.o.language].today) + .toggle(this.o.todayBtn !== false); + this.picker.find('tfoot th.clear') + .text(dates[this.o.language].clear) + .toggle(this.o.clearBtn !== false); + this.updateNavArrows(); + this.fillMonths(); + var prevMonth = UTCDate(year, month-1, 28,0,0,0,0), + day = DPGlobal.getDaysInMonth(prevMonth.getUTCFullYear(), prevMonth.getUTCMonth()); + prevMonth.setUTCDate(day); + prevMonth.setUTCDate(day - (prevMonth.getUTCDay() - this.o.weekStart + 7)%7); + var nextMonth = new Date(prevMonth); + nextMonth.setUTCDate(nextMonth.getUTCDate() + 42); + nextMonth = nextMonth.valueOf(); + var html = []; + var clsName; + while(prevMonth.valueOf() < nextMonth) { + if (prevMonth.getUTCDay() == this.o.weekStart) { + html.push(''); + if(this.o.calendarWeeks){ + // ISO 8601: First week contains first thursday. + // ISO also states week starts on Monday, but we can be more abstract here. + var + // Start of current week: based on weekstart/current date + ws = new Date(+prevMonth + (this.o.weekStart - prevMonth.getUTCDay() - 7) % 7 * 864e5), + // Thursday of this week + th = new Date(+ws + (7 + 4 - ws.getUTCDay()) % 7 * 864e5), + // First Thursday of year, year from thursday + yth = new Date(+(yth = UTCDate(th.getUTCFullYear(), 0, 1)) + (7 + 4 - yth.getUTCDay())%7*864e5), + // Calendar week: ms between thursdays, div ms per day, div 7 days + calWeek = (th - yth) / 864e5 / 7 + 1; + html.push(''); + + } + } + clsName = this.getClassNames(prevMonth); + clsName.push('day'); + + var before = this.o.beforeShowDay(prevMonth); + if (before === undefined) + before = {}; + else if (typeof(before) === 'boolean') + before = {enabled: before}; + else if (typeof(before) === 'string') + before = {classes: before}; + if (before.enabled === false) + clsName.push('disabled'); + if (before.classes) + clsName = clsName.concat(before.classes.split(/\s+/)); + if (before.tooltip) + tooltip = before.tooltip; + + clsName = $.unique(clsName); + html.push(''); + if (prevMonth.getUTCDay() == this.o.weekEnd) { + html.push(''); + } + prevMonth.setUTCDate(prevMonth.getUTCDate()+1); + } + this.picker.find('.datepicker-days tbody').empty().append(html.join('')); + var currentYear = this.date && this.date.getUTCFullYear(); + + var months = this.picker.find('.datepicker-months') + .find('th:eq(1)') + .text(year) + .end() + .find('span').removeClass('active'); + if (currentYear && currentYear == year) { + months.eq(this.date.getUTCMonth()).addClass('active'); + } + if (year < startYear || year > endYear) { + months.addClass('disabled'); + } + if (year == startYear) { + months.slice(0, startMonth).addClass('disabled'); + } + if (year == endYear) { + months.slice(endMonth+1).addClass('disabled'); + } + + html = ''; + year = parseInt(year/10, 10) * 10; + var yearCont = this.picker.find('.datepicker-years') + .find('th:eq(1)') + .text(year + '-' + (year + 9)) + .end() + .find('td'); + year -= 1; + for (var i = -1; i < 11; i++) { + html += ''+year+''; + year += 1; + } + yearCont.html(html); + }, + + updateNavArrows: function() { + if (!this._allow_update) return; + + var d = new Date(this.viewDate), + year = d.getUTCFullYear(), + month = d.getUTCMonth(); + switch (this.viewMode) { + case 0: + if (this.o.startDate !== -Infinity && year <= this.o.startDate.getUTCFullYear() && month <= this.o.startDate.getUTCMonth()) { + this.picker.find('.prev').css({visibility: 'hidden'}); + } else { + this.picker.find('.prev').css({visibility: 'visible'}); + } + if (this.o.endDate !== Infinity && year >= this.o.endDate.getUTCFullYear() && month >= this.o.endDate.getUTCMonth()) { + this.picker.find('.next').css({visibility: 'hidden'}); + } else { + this.picker.find('.next').css({visibility: 'visible'}); + } + break; + case 1: + case 2: + if (this.o.startDate !== -Infinity && year <= this.o.startDate.getUTCFullYear()) { + this.picker.find('.prev').css({visibility: 'hidden'}); + } else { + this.picker.find('.prev').css({visibility: 'visible'}); + } + if (this.o.endDate !== Infinity && year >= this.o.endDate.getUTCFullYear()) { + this.picker.find('.next').css({visibility: 'hidden'}); + } else { + this.picker.find('.next').css({visibility: 'visible'}); + } + break; + } + }, + + click: function(e) { + e.preventDefault(); + var target = $(e.target).closest('span, td, th'); + if (target.length == 1) { + switch(target[0].nodeName.toLowerCase()) { + case 'th': + switch(target[0].className) { + case 'datepicker-switch': + this.showMode(1); + break; + case 'prev': + case 'next': + var dir = DPGlobal.modes[this.viewMode].navStep * (target[0].className == 'prev' ? -1 : 1); + switch(this.viewMode){ + case 0: + this.viewDate = this.moveMonth(this.viewDate, dir); + break; + case 1: + case 2: + this.viewDate = this.moveYear(this.viewDate, dir); + break; + } + this.fill(); + break; + case 'today': + var date = new Date(); + date = UTCDate(date.getFullYear(), date.getMonth(), date.getDate(), 0, 0, 0); + + this.showMode(-2); + var which = this.o.todayBtn == 'linked' ? null : 'view'; + this._setDate(date, which); + break; + case 'clear': + var element; + if (this.isInput) + element = this.element; + else if (this.component) + element = this.element.find('input'); + if (element) + element.val("").change(); + this._trigger('changeDate'); + this.update(); + if (this.o.autoclose) + this.hide(); + break; + } + break; + case 'span': + if (!target.is('.disabled')) { + this.viewDate.setUTCDate(1); + if (target.is('.month')) { + var day = 1; + var month = target.parent().find('span').index(target); + var year = this.viewDate.getUTCFullYear(); + this.viewDate.setUTCMonth(month); + this._trigger('changeMonth', this.viewDate); + if (this.o.minViewMode === 1) { + this._setDate(UTCDate(year, month, day,0,0,0,0)); + } + } else { + var year = parseInt(target.text(), 10)||0; + var day = 1; + var month = 0; + this.viewDate.setUTCFullYear(year); + this._trigger('changeYear', this.viewDate); + if (this.o.minViewMode === 2) { + this._setDate(UTCDate(year, month, day,0,0,0,0)); + } + } + this.showMode(-1); + this.fill(); + } + break; + case 'td': + if (target.is('.day') && !target.is('.disabled')){ + var day = parseInt(target.text(), 10)||1; + var year = this.viewDate.getUTCFullYear(), + month = this.viewDate.getUTCMonth(); + if (target.is('.old')) { + if (month === 0) { + month = 11; + year -= 1; + } else { + month -= 1; + } + } else if (target.is('.new')) { + if (month == 11) { + month = 0; + year += 1; + } else { + month += 1; + } + } + this._setDate(UTCDate(year, month, day,0,0,0,0)); + } + break; + } + } + }, + + _setDate: function(date, which){ + if (!which || which == 'date') + this.date = new Date(date); + if (!which || which == 'view') + this.viewDate = new Date(date); + this.fill(); + this.setValue(); + this._trigger('changeDate'); + var element; + if (this.isInput) { + element = this.element; + } else if (this.component){ + element = this.element.find('input'); + } + if (element) { + element.change(); + if (this.o.autoclose && (!which || which == 'date')) { + this.hide(); + } + } + }, + + moveMonth: function(date, dir){ + if (!dir) return date; + var new_date = new Date(date.valueOf()), + day = new_date.getUTCDate(), + month = new_date.getUTCMonth(), + mag = Math.abs(dir), + new_month, test; + dir = dir > 0 ? 1 : -1; + if (mag == 1){ + test = dir == -1 + // If going back one month, make sure month is not current month + // (eg, Mar 31 -> Feb 31 == Feb 28, not Mar 02) + ? function(){ return new_date.getUTCMonth() == month; } + // If going forward one month, make sure month is as expected + // (eg, Jan 31 -> Feb 31 == Feb 28, not Mar 02) + : function(){ return new_date.getUTCMonth() != new_month; }; + new_month = month + dir; + new_date.setUTCMonth(new_month); + // Dec -> Jan (12) or Jan -> Dec (-1) -- limit expected date to 0-11 + if (new_month < 0 || new_month > 11) + new_month = (new_month + 12) % 12; + } else { + // For magnitudes >1, move one month at a time... + for (var i=0; i= this.o.startDate && date <= this.o.endDate; + }, + + keydown: function(e){ + if (this.picker.is(':not(:visible)')){ + if (e.keyCode == 27) // allow escape to hide and re-show picker + this.show(); + return; + } + var dateChanged = false, + dir, day, month, + newDate, newViewDate; + switch(e.keyCode){ + case 27: // escape + this.hide(); + e.preventDefault(); + break; + case 37: // left + case 39: // right + if (!this.o.keyboardNavigation) break; + dir = e.keyCode == 37 ? -1 : 1; + if (e.ctrlKey){ + newDate = this.moveYear(this.date, dir); + newViewDate = this.moveYear(this.viewDate, dir); + } else if (e.shiftKey){ + newDate = this.moveMonth(this.date, dir); + newViewDate = this.moveMonth(this.viewDate, dir); + } else { + newDate = new Date(this.date); + newDate.setUTCDate(this.date.getUTCDate() + dir); + newViewDate = new Date(this.viewDate); + newViewDate.setUTCDate(this.viewDate.getUTCDate() + dir); + } + if (this.dateWithinRange(newDate)){ + this.date = newDate; + this.viewDate = newViewDate; + this.setValue(); + this.update(); + e.preventDefault(); + dateChanged = true; + } + break; + case 38: // up + case 40: // down + if (!this.o.keyboardNavigation) break; + dir = e.keyCode == 38 ? -1 : 1; + if (e.ctrlKey){ + newDate = this.moveYear(this.date, dir); + newViewDate = this.moveYear(this.viewDate, dir); + } else if (e.shiftKey){ + newDate = this.moveMonth(this.date, dir); + newViewDate = this.moveMonth(this.viewDate, dir); + } else { + newDate = new Date(this.date); + newDate.setUTCDate(this.date.getUTCDate() + dir * 7); + newViewDate = new Date(this.viewDate); + newViewDate.setUTCDate(this.viewDate.getUTCDate() + dir * 7); + } + if (this.dateWithinRange(newDate)){ + this.date = newDate; + this.viewDate = newViewDate; + this.setValue(); + this.update(); + e.preventDefault(); + dateChanged = true; + } + break; + case 13: // enter + this.hide(); + e.preventDefault(); + break; + case 9: // tab + this.hide(); + break; + } + if (dateChanged){ + this._trigger('changeDate'); + var element; + if (this.isInput) { + element = this.element; + } else if (this.component){ + element = this.element.find('input'); + } + if (element) { + element.change(); + } + } + }, + + showMode: function(dir) { + if (dir) { + this.viewMode = Math.max(this.o.minViewMode, Math.min(2, this.viewMode + dir)); + } + /* + vitalets: fixing bug of very special conditions: + jquery 1.7.1 + webkit + show inline datepicker in bootstrap popover. + Method show() does not set display css correctly and datepicker is not shown. + Changed to .css('display', 'block') solve the problem. + See https://github.com/vitalets/x-editable/issues/37 + + In jquery 1.7.2+ everything works fine. + */ + //this.picker.find('>div').hide().filter('.datepicker-'+DPGlobal.modes[this.viewMode].clsName).show(); + this.picker.find('>div').hide().filter('.datepicker-'+DPGlobal.modes[this.viewMode].clsName).css('display', 'block'); + this.updateNavArrows(); + } + }; + + var DateRangePicker = function(element, options){ + this.element = $(element); + this.inputs = $.map(options.inputs, function(i){ return i.jquery ? i[0] : i; }); + delete options.inputs; + + $(this.inputs) + .datepicker(options) + .bind('changeDate', $.proxy(this.dateUpdated, this)); + + this.pickers = $.map(this.inputs, function(i){ return $(i).data('datepicker'); }); + this.updateDates(); + }; + DateRangePicker.prototype = { + updateDates: function(){ + this.dates = $.map(this.pickers, function(i){ return i.date; }); + this.updateRanges(); + }, + updateRanges: function(){ + var range = $.map(this.dates, function(d){ return d.valueOf(); }); + $.each(this.pickers, function(i, p){ + p.setRange(range); + }); + }, + dateUpdated: function(e){ + var dp = $(e.target).data('datepicker'), + new_date = dp.getUTCDate(), + i = $.inArray(e.target, this.inputs), + l = this.inputs.length; + if (i == -1) return; + + if (new_date < this.dates[i]){ + // Date being moved earlier/left + while (i>=0 && new_date < this.dates[i]){ + this.pickers[i--].setUTCDate(new_date); + } + } + else if (new_date > this.dates[i]){ + // Date being moved later/right + while (i this.dates[i]){ + this.pickers[i++].setUTCDate(new_date); + } + } + this.updateDates(); + }, + remove: function(){ + $.map(this.pickers, function(p){ p.remove(); }); + delete this.element.data().datepicker; + } + }; + + function opts_from_el(el, prefix){ + // Derive options from element data-attrs + var data = $(el).data(), + out = {}, inkey, + replace = new RegExp('^' + prefix.toLowerCase() + '([A-Z])'), + prefix = new RegExp('^' + prefix.toLowerCase()); + for (var key in data) + if (prefix.test(key)){ + inkey = key.replace(replace, function(_,a){ return a.toLowerCase(); }); + out[inkey] = data[key]; + } + return out; + } + + function opts_from_locale(lang){ + // Derive options from locale plugins + var out = {}; + // Check if "de-DE" style date is available, if not language should + // fallback to 2 letter code eg "de" + if (!dates[lang]) { + lang = lang.split('-')[0] + if (!dates[lang]) + return; + } + var d = dates[lang]; + $.each(locale_opts, function(i,k){ + if (k in d) + out[k] = d[k]; + }); + return out; + } + + var old = $.fn.datepicker; + var datepicker = $.fn.datepicker = function ( option ) { + var args = Array.apply(null, arguments); + args.shift(); + var internal_return, + this_return; + this.each(function () { + var $this = $(this), + data = $this.data('datepicker'), + options = typeof option == 'object' && option; + if (!data) { + var elopts = opts_from_el(this, 'date'), + // Preliminary otions + xopts = $.extend({}, defaults, elopts, options), + locopts = opts_from_locale(xopts.language), + // Options priority: js args, data-attrs, locales, defaults + opts = $.extend({}, defaults, locopts, elopts, options); + if ($this.is('.input-daterange') || opts.inputs){ + var ropts = { + inputs: opts.inputs || $this.find('input').toArray() + }; + $this.data('datepicker', (data = new DateRangePicker(this, $.extend(opts, ropts)))); + } + else{ + $this.data('datepicker', (data = new Datepicker(this, opts))); + } + } + if (typeof option == 'string' && typeof data[option] == 'function') { + internal_return = data[option].apply(data, args); + if (internal_return !== undefined) + return false; + } + }); + if (internal_return !== undefined) + return internal_return; + else + return this; + }; + + var defaults = $.fn.datepicker.defaults = { + autoclose: false, + beforeShowDay: $.noop, + calendarWeeks: false, + clearBtn: false, + daysOfWeekDisabled: [], + endDate: Infinity, + forceParse: true, + format: 'mm/dd/yyyy', + keyboardNavigation: true, + language: 'en', + minViewMode: 0, + rtl: false, + startDate: -Infinity, + startView: 0, + todayBtn: false, + todayHighlight: false, + weekStart: 0 + }; + var locale_opts = $.fn.datepicker.locale_opts = [ + 'format', + 'rtl', + 'weekStart' + ]; + $.fn.datepicker.Constructor = Datepicker; + var dates = $.fn.datepicker.dates = { + en: { + days: ["Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday", "Sunday"], + daysShort: ["Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat", "Sun"], + daysMin: ["Su", "Mo", "Tu", "We", "Th", "Fr", "Sa", "Su"], + months: ["January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"], + monthsShort: ["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"], + today: "Today", + clear: "Clear" + } + }; + + var DPGlobal = { + modes: [ + { + clsName: 'days', + navFnc: 'Month', + navStep: 1 + }, + { + clsName: 'months', + navFnc: 'FullYear', + navStep: 1 + }, + { + clsName: 'years', + navFnc: 'FullYear', + navStep: 10 + }], + isLeapYear: function (year) { + return (((year % 4 === 0) && (year % 100 !== 0)) || (year % 400 === 0)); + }, + getDaysInMonth: function (year, month) { + return [31, (DPGlobal.isLeapYear(year) ? 29 : 28), 31, 30, 31, 30, 31, 31, 30, 31, 30, 31][month]; + }, + validParts: /dd?|DD?|mm?|MM?|yy(?:yy)?/g, + nonpunctuation: /[^ -\/:-@\[\u3400-\u9fff-`{-~\t\n\r]+/g, + parseFormat: function(format){ + // IE treats \0 as a string end in inputs (truncating the value), + // so it's a bad format delimiter, anyway + var separators = format.replace(this.validParts, '\0').split('\0'), + parts = format.match(this.validParts); + if (!separators || !separators.length || !parts || parts.length === 0){ + throw new Error("Invalid date format."); + } + return {separators: separators, parts: parts}; + }, + parseDate: function(date, format, language) { + if (date instanceof Date) return date; + if (typeof format === 'string') + format = DPGlobal.parseFormat(format); + if (/^[\-+]\d+[dmwy]([\s,]+[\-+]\d+[dmwy])*$/.test(date)) { + var part_re = /([\-+]\d+)([dmwy])/, + parts = date.match(/([\-+]\d+)([dmwy])/g), + part, dir; + date = new Date(); + for (var i=0; i'+ + ''+ + ''+ + ''+ + ''+ + ''+ + '', + contTemplate: '', + footTemplate: '' + }; + DPGlobal.template = '
    '+ + '
    '+ + '
    ").append(a("").attr({href:"#",tabindex:"-1",title:d.tooltips.incrementHour}).addClass("btn").attr("data-action","incrementHours").append(a("").addClass(d.icons.up)))),c.append(a("").append(a("").addClass("timepicker-hour").attr({"data-time-component":"hours",title:d.tooltips.pickHour}).attr("data-action","showHours"))),e.append(a("").append(a("").attr({href:"#",tabindex:"-1",title:d.tooltips.decrementHour}).addClass("btn").attr("data-action","decrementHours").append(a("").addClass(d.icons.down))))),y("m")&&(y("h")&&(b.append(a("").addClass("separator")),c.append(a("").addClass("separator").html(":")),e.append(a("").addClass("separator"))),b.append(a("").append(a("").attr({href:"#",tabindex:"-1",title:d.tooltips.incrementMinute}).addClass("btn").attr("data-action","incrementMinutes").append(a("").addClass(d.icons.up)))),c.append(a("").append(a("").addClass("timepicker-minute").attr({"data-time-component":"minutes",title:d.tooltips.pickMinute}).attr("data-action","showMinutes"))),e.append(a("").append(a("").attr({href:"#",tabindex:"-1",title:d.tooltips.decrementMinute}).addClass("btn").attr("data-action","decrementMinutes").append(a("").addClass(d.icons.down))))),y("s")&&(y("m")&&(b.append(a("").addClass("separator")),c.append(a("").addClass("separator").html(":")),e.append(a("").addClass("separator"))),b.append(a("").append(a("").attr({href:"#",tabindex:"-1",title:d.tooltips.incrementSecond}).addClass("btn").attr("data-action","incrementSeconds").append(a("").addClass(d.icons.up)))),c.append(a("").append(a("").addClass("timepicker-second").attr({"data-time-component":"seconds",title:d.tooltips.pickSecond}).attr("data-action","showSeconds"))),e.append(a("").append(a("").attr({href:"#",tabindex:"-1",title:d.tooltips.decrementSecond}).addClass("btn").attr("data-action","decrementSeconds").append(a("").addClass(d.icons.down))))),h||(b.append(a("").addClass("separator")),c.append(a("").append(a("").addClass("separator"))),a("
    ").addClass("timepicker-picker").append(a("").addClass("table-condensed").append([b,c,e]))},D=function(){var b=a("
    ").addClass("timepicker-hours").append(a("
    ").addClass("table-condensed")),c=a("
    ").addClass("timepicker-minutes").append(a("
    ").addClass("table-condensed")),d=a("
    ").addClass("timepicker-seconds").append(a("
    ").addClass("table-condensed")),e=[C()];return y("h")&&e.push(b),y("m")&&e.push(c),y("s")&&e.push(d),e},E=function(){var b=[];return d.showTodayButton&&b.push(a("").appendTo(this.$el)),this.$header.find("tr").each(function(){var b=[];a(this).find("th").each(function(){"undefined"!=typeof a(this).data("field")&&a(this).data("field",a(this).data("field")+""),b.push(a.extend({},{title:a(this).html(),"class":a(this).attr("class"),titleTooltip:a(this).attr("title"),rowspan:a(this).attr("rowspan")?+a(this).attr("rowspan"):void 0,colspan:a(this).attr("colspan")?+a(this).attr("colspan"):void 0},a(this).data()))}),c.push(b)}),a.isArray(this.options.columns[0])||(this.options.columns=[this.options.columns]),this.options.columns=a.extend(!0,[],c,this.options.columns),this.columns=[],f(this.options.columns),a.each(this.options.columns,function(c,d){a.each(d,function(d,e){e=a.extend({},p.COLUMN_DEFAULTS,e),"undefined"!=typeof e.fieldIndex&&(b.columns[e.fieldIndex]=e),b.options.columns[c][d]=e})}),!this.options.data.length){var e=[];this.$el.find(">tbody>tr").each(function(c){var f={};f._id=a(this).attr("id"),f._class=a(this).attr("class"),f._data=l(a(this).data()),a(this).find(">td").each(function(d){for(var g,h,i=a(this),j=+i.attr("colspan")||1,k=+i.attr("rowspan")||1;e[c]&&e[c][d];d++);for(g=d;d+j>g;g++)for(h=c;c+k>h;h++)e[h]||(e[h]=[]),e[h][g]=!0;var m=b.columns[d].field;f[m]=a(this).html(),f["_"+m+"_id"]=a(this).attr("id"),f["_"+m+"_class"]=a(this).attr("class"),f["_"+m+"_rowspan"]=a(this).attr("rowspan"),f["_"+m+"_colspan"]=a(this).attr("colspan"),f["_"+m+"_title"]=a(this).attr("title"),f["_"+m+"_data"]=l(a(this).data())}),d.push(f)}),this.options.data=d,d.length&&(this.fromHtml=!0)}},p.prototype.initHeader=function(){var b=this,d={},e=[];this.header={fields:[],styles:[],classes:[],formatters:[],events:[],sorters:[],sortNames:[],cellStyles:[],searchables:[]},a.each(this.options.columns,function(f,g){e.push(""),0===f&&!b.options.cardView&&b.options.detailView&&e.push(c('',b.options.columns.length)),a.each(g,function(a,f){var g="",h="",i="",j="",k=c(' class="%s"',f["class"]),l=(b.options.sortOrder||f.order,"px"),m=f.width;if(void 0===f.width||b.options.cardView||"string"==typeof f.width&&-1!==f.width.indexOf("%")&&(l="%"),f.width&&"string"==typeof f.width&&(m=f.width.replace("%","").replace("px","")),h=c("text-align: %s; ",f.halign?f.halign:f.align),i=c("text-align: %s; ",f.align),j=c("vertical-align: %s; ",f.valign),j+=c("width: %s; ",!f.checkbox&&!f.radio||m?m?m+l:void 0:"36px"),"undefined"!=typeof f.fieldIndex){if(b.header.fields[f.fieldIndex]=f.field,b.header.styles[f.fieldIndex]=i+j,b.header.classes[f.fieldIndex]=k,b.header.formatters[f.fieldIndex]=f.formatter,b.header.events[f.fieldIndex]=f.events,b.header.sorters[f.fieldIndex]=f.sorter,b.header.sortNames[f.fieldIndex]=f.sortName,b.header.cellStyles[f.fieldIndex]=f.cellStyle,b.header.searchables[f.fieldIndex]=f.searchable,!f.visible)return;if(b.options.cardView&&!f.cardVisible)return;d[f.field]=f}e.push(""),e.push(c('
    ',b.options.sortable&&f.sortable?"sortable both":"")),g=f.title,f.checkbox&&(!b.options.singleSelect&&b.options.checkboxHeader&&(g=''),b.header.stateField=f.field),f.radio&&(g="",b.header.stateField=f.field,b.options.singleSelect=!0),e.push(g),e.push("
    "),e.push('
    '),e.push(""),e.push("")}),e.push("
    ")}),this.$header.html(e.join("")),this.$header.find("th[data-field]").each(function(){a(this).data(d[a(this).data("field")])}),this.$container.off("click",".th-inner").on("click",".th-inner",function(c){var d=a(this);return b.options.detailView&&d.closest(".bootstrap-table")[0]!==b.$container[0]?!1:void(b.options.sortable&&d.parent().data().sortable&&b.onSort(c))}),this.$header.children().children().off("keypress").on("keypress",function(c){if(b.options.sortable&&a(this).data().sortable){var d=c.keyCode||c.which;13==d&&b.onSort(c)}}),a(window).off("resize.bootstrap-table"),!this.options.showHeader||this.options.cardView?(this.$header.hide(),this.$tableHeader.hide(),this.$tableLoading.css("top",0)):(this.$header.show(),this.$tableHeader.show(),this.$tableLoading.css("top",this.$header.outerHeight()+1),this.getCaret(),a(window).on("resize.bootstrap-table",a.proxy(this.resetWidth,this))),this.$selectAll=this.$header.find('[name="btSelectAll"]'),this.$selectAll.off("click").on("click",function(){var c=a(this).prop("checked");b[c?"checkAll":"uncheckAll"](),b.updateSelected()})},p.prototype.initFooter=function(){!this.options.showFooter||this.options.cardView?this.$tableFooter.hide():this.$tableFooter.show()},p.prototype.initData=function(a,b){this.data="append"===b?this.data.concat(a):"prepend"===b?[].concat(a).concat(this.data):a||this.options.data,this.options.data="append"===b?this.options.data.concat(a):"prepend"===b?[].concat(a).concat(this.options.data):this.data,"server"!==this.options.sidePagination&&this.initSort()},p.prototype.initSort=function(){var b=this,c=this.options.sortName,d="desc"===this.options.sortOrder?-1:1,e=a.inArray(this.options.sortName,this.header.fields);return this.options.customSort!==a.noop?void this.options.customSort.apply(this,[this.options.sortName,this.options.sortOrder]):void(-1!==e&&(this.options.sortStable&&a.each(this.data,function(a,b){b.hasOwnProperty("_position")||(b._position=a)}),this.data.sort(function(f,g){b.header.sortNames[e]&&(c=b.header.sortNames[e]);var i=m(f,c,b.options.escape),j=m(g,c,b.options.escape),k=h(b.header,b.header.sorters[e],[i,j]);return void 0!==k?d*k:((void 0===i||null===i)&&(i=""),(void 0===j||null===j)&&(j=""),b.options.sortStable&&i===j&&(i=f._position,j=g._position),a.isNumeric(i)&&a.isNumeric(j)?(i=parseFloat(i),j=parseFloat(j),j>i?-1*d:d):i===j?0:("string"!=typeof i&&(i=i.toString()),-1===i.localeCompare(j)?-1*d:d))})))},p.prototype.onSort=function(b){var c="keypress"===b.type?a(b.currentTarget):a(b.currentTarget).parent(),d=this.$header.find("th").eq(c.index());return this.$header.add(this.$header_).find("span.order").remove(),this.options.sortName===c.data("field")?this.options.sortOrder="asc"===this.options.sortOrder?"desc":"asc":(this.options.sortName=c.data("field"),this.options.sortOrder="asc"===c.data("order")?"desc":"asc"),this.trigger("sort",this.options.sortName,this.options.sortOrder),c.add(d).data("order",this.options.sortOrder),this.getCaret(),"server"===this.options.sidePagination?void this.initServer(this.options.silentSort):(this.initSort(),void this.initBody())},p.prototype.initToolbar=function(){var b,d,e=this,f=[],g=0,i=0;this.$toolbar.find(".bs-bars").children().length&&a("body").append(a(this.options.toolbar)),this.$toolbar.html(""),("string"==typeof this.options.toolbar||"object"==typeof this.options.toolbar)&&a(c('
    ',this.options.toolbarAlign)).appendTo(this.$toolbar).append(a(this.options.toolbar)),f=[c('
    ',this.options.buttonsAlign,this.options.buttonsAlign)],"string"==typeof this.options.icons&&(this.options.icons=h(null,this.options.icons)),this.options.showPaginationSwitch&&f.push(c('"),this.options.showRefresh&&f.push(c('"),this.options.showToggle&&f.push(c('"),this.options.showColumns&&(f.push(c('
    ',this.options.formatColumns()),'",'","
    ")),f.push("
    "),(this.showToolbar||f.length>2)&&this.$toolbar.append(f.join("")),this.options.showPaginationSwitch&&this.$toolbar.find('button[name="paginationSwitch"]').off("click").on("click",a.proxy(this.togglePagination,this)),this.options.showRefresh&&this.$toolbar.find('button[name="refresh"]').off("click").on("click",a.proxy(this.refresh,this)),this.options.showToggle&&this.$toolbar.find('button[name="toggle"]').off("click").on("click",function(){e.toggleView()}),this.options.showColumns&&(b=this.$toolbar.find(".keep-open"),i<=this.options.minimumCountColumns&&b.find("input").prop("disabled",!0),b.find("li").off("click").on("click",function(a){a.stopImmediatePropagation()}),b.find("input").off("click").on("click",function(){var b=a(this);e.toggleColumn(a(this).val(),b.prop("checked"),!1),e.trigger("column-switch",a(this).data("field"),b.prop("checked"))})),this.options.search&&(f=[],f.push('"),this.$toolbar.append(f.join("")),d=this.$toolbar.find(".search input"),d.off("keyup drop").on("keyup drop",function(b){e.options.searchOnEnterKey&&13!==b.keyCode||a.inArray(b.keyCode,[37,38,39,40])>-1||(clearTimeout(g),g=setTimeout(function(){e.onSearch(b)},e.options.searchTimeOut))}),n()&&d.off("mouseup").on("mouseup",function(a){clearTimeout(g),g=setTimeout(function(){e.onSearch(a)},e.options.searchTimeOut)}))},p.prototype.onSearch=function(b){var c=a.trim(a(b.currentTarget).val());this.options.trimOnSearch&&a(b.currentTarget).val()!==c&&a(b.currentTarget).val(c),c!==this.searchText&&(this.searchText=c,this.options.searchText=c,this.options.pageNumber=1,this.initSearch(),this.updatePagination(),this.trigger("search",c))},p.prototype.initSearch=function(){var b=this;if("server"!==this.options.sidePagination){if(this.options.customSearch!==a.noop)return void this.options.customSearch.apply(this,[this.searchText]);var c=this.searchText&&(this.options.escape?j(this.searchText):this.searchText).toLowerCase(),d=a.isEmptyObject(this.filterColumns)?null:this.filterColumns;this.data=d?a.grep(this.options.data,function(b){for(var c in d)if(a.isArray(d[c])&&-1===a.inArray(b[c],d[c])||b[c]!==d[c])return!1;return!0}):this.options.data,this.data=c?a.grep(this.data,function(d,f){for(var g=0;g-1&&(n=!0)}this.totalPages=~~((this.options.totalRows-1)/this.options.pageSize)+1,this.options.totalPages=this.totalPages}if(this.totalPages>0&&this.options.pageNumber>this.totalPages&&(this.options.pageNumber=this.totalPages),this.pageFrom=(this.options.pageNumber-1)*this.options.pageSize+1,this.pageTo=this.options.pageNumber*this.options.pageSize,this.pageTo>this.options.totalRows&&(this.pageTo=this.options.totalRows),m.push('
    ','',this.options.onlyInfoPagination?this.options.formatDetailPagination(this.options.totalRows):this.options.formatShowingRows(this.pageFrom,this.pageTo,this.options.totalRows),""),!this.options.onlyInfoPagination){m.push('');var r=[c('',"top"===this.options.paginationVAlign||"both"===this.options.paginationVAlign?"dropdown":"dropup"),'",'"),m.push(this.options.formatRecordsPerPage(r.join(""))),m.push(""),m.push("
    ",'")}this.$pagination.html(m.join("")),this.options.onlyInfoPagination||(f=this.$pagination.find(".page-list a"),g=this.$pagination.find(".page-first"),h=this.$pagination.find(".page-pre"),i=this.$pagination.find(".page-next"),j=this.$pagination.find(".page-last"),k=this.$pagination.find(".page-number"),this.options.smartDisplay&&(this.totalPages<=1&&this.$pagination.find("div.pagination").hide(),(p.length<2||this.options.totalRows<=p[0])&&this.$pagination.find("span.page-list").hide(),this.$pagination[this.getData().length?"show":"hide"]()),n&&(this.options.pageSize=this.options.formatAllRows()),f.off("click").on("click",a.proxy(this.onPageListChange,this)),g.off("click").on("click",a.proxy(this.onPageFirst,this)),h.off("click").on("click",a.proxy(this.onPagePre,this)),i.off("click").on("click",a.proxy(this.onPageNext,this)),j.off("click").on("click",a.proxy(this.onPageLast,this)),k.off("click").on("click",a.proxy(this.onPageNumber,this)))},p.prototype.updatePagination=function(b){b&&a(b.currentTarget).hasClass("disabled")||(this.options.maintainSelected||this.resetRows(),this.initPagination(),"server"===this.options.sidePagination?this.initServer():this.initBody(),this.trigger("page-change",this.options.pageNumber,this.options.pageSize))},p.prototype.onPageListChange=function(b){var c=a(b.currentTarget);c.parent().addClass("active").siblings().removeClass("active"),this.options.pageSize=c.text().toUpperCase()===this.options.formatAllRows().toUpperCase()?this.options.formatAllRows():+c.text(),this.$toolbar.find(".page-size").text(this.options.pageSize),this.updatePagination(b)},p.prototype.onPageFirst=function(a){this.options.pageNumber=1,this.updatePagination(a)},p.prototype.onPagePre=function(a){this.options.pageNumber-1===0?this.options.pageNumber=this.options.totalPages:this.options.pageNumber--,this.updatePagination(a)},p.prototype.onPageNext=function(a){this.options.pageNumber+1>this.options.totalPages?this.options.pageNumber=1:this.options.pageNumber++,this.updatePagination(a)},p.prototype.onPageLast=function(a){this.options.pageNumber=this.totalPages,this.updatePagination(a)},p.prototype.onPageNumber=function(b){this.options.pageNumber!==+a(b.currentTarget).text()&&(this.options.pageNumber=+a(b.currentTarget).text(),this.updatePagination(b))},p.prototype.initBody=function(b){var f=this,g=[],i=this.getData();this.trigger("pre-body",i),this.$body=this.$el.find(">tbody"),this.$body.length||(this.$body=a("
    ").appendTo(this.$el)),this.options.pagination&&"server"!==this.options.sidePagination||(this.pageFrom=1,this.pageTo=i.length);for(var k=this.pageFrom-1;k"),this.options.cardView&&g.push(c('"),a.each(this.header.fields,function(b,e){var i="",j=m(n,e,f.options.escape),l="",q={},r="",s=f.header.classes[b],t="",u="",v="",w="",x=f.columns[b];if(!(f.fromHtml&&"undefined"==typeof j||!x.visible||f.options.cardView&&!x.cardVisible)){if(o=c('style="%s"',p.concat(f.header.styles[b]).join("; ")),n["_"+e+"_id"]&&(r=c(' id="%s"',n["_"+e+"_id"])),n["_"+e+"_class"]&&(s=c(' class="%s"',n["_"+e+"_class"])),n["_"+e+"_rowspan"]&&(u=c(' rowspan="%s"',n["_"+e+"_rowspan"])),n["_"+e+"_colspan"]&&(v=c(' colspan="%s"',n["_"+e+"_colspan"])),n["_"+e+"_title"]&&(w=c(' title="%s"',n["_"+e+"_title"])),q=h(f.header,f.header.cellStyles[b],[j,n,k,e],q),q.classes&&(s=c(' class="%s"',q.classes)),q.css){var y=[];for(var z in q.css)y.push(z+": "+q.css[z]);o=c('style="%s"',y.concat(f.header.styles[b]).join("; "))}j=h(x,f.header.formatters[b],[j,n,k],j),n["_"+e+"_data"]&&!a.isEmptyObject(n["_"+e+"_data"])&&a.each(n["_"+e+"_data"],function(a,b){"index"!==a&&(t+=c(' data-%s="%s"',a,b))}),x.checkbox||x.radio?(l=x.checkbox?"checkbox":l,l=x.radio?"radio":l,i=[c(f.options.cardView?'
    ':'
    "].join(""),n[f.header.stateField]=j===!0||j&&j.checked):(j="undefined"==typeof j||null===j?f.options.undefinedText:j,i=f.options.cardView?['
    ',f.options.showHeader?c('%s',o,d(f.columns,"field","title",e)):"",c('%s',j),"
    "].join(""):[c("",r,s,o,t,u,v,w),j,""].join(""),f.options.cardView&&f.options.smartDisplay&&""===j&&(i='
    ')),g.push(i)}}),this.options.cardView&&g.push(""),g.push("
    ")}g.length||g.push('',c('',this.$header.find("th").length,this.options.formatNoMatches()),""),this.$body.html(g.join("")),b||this.scrollTo(0),this.$body.find("> tr[data-index] > td").off("click dblclick").on("click dblclick",function(b){var d=a(this),g=d.parent(),h=f.data[g.data("index")],i=d[0].cellIndex,j=f.getVisibleFields(),k=j[f.options.detailView&&!f.options.cardView?i-1:i],l=f.columns[e(f.columns,k)],n=m(h,k,f.options.escape);if(!d.find(".detail-icon").length&&(f.trigger("click"===b.type?"click-cell":"dbl-click-cell",k,n,h,d),f.trigger("click"===b.type?"click-row":"dbl-click-row",h,g,k), +"click"===b.type&&f.options.clickToSelect&&l.clickToSelect)){var o=g.find(c('[name="%s"]',f.options.selectItemName));o.length&&o[0].click()}}),this.$body.find("> tr[data-index] > td > .detail-icon").off("click").on("click",function(){var b=a(this),d=b.parent().parent(),e=d.data("index"),g=i[e];if(d.next().is("tr.detail-view"))b.find("i").attr("class",c("%s %s",f.options.iconsPrefix,f.options.icons.detailOpen)),d.next().remove(),f.trigger("collapse-row",e,g);else{b.find("i").attr("class",c("%s %s",f.options.iconsPrefix,f.options.icons.detailClose)),d.after(c('',d.find("td").length));var j=d.next().find("td"),k=h(f.options,f.options.detailFormatter,[e,g,j],"");1===j.length&&j.append(k),f.trigger("expand-row",e,g,j)}f.resetView()}),this.$selectItem=this.$body.find(c('[name="%s"]',this.options.selectItemName)),this.$selectItem.off("click").on("click",function(b){b.stopImmediatePropagation();var c=a(this),d=c.prop("checked"),e=f.data[c.data("index")];f.options.maintainSelected&&a(this).is(":radio")&&a.each(f.options.data,function(a,b){b[f.header.stateField]=!1}),e[f.header.stateField]=d,f.options.singleSelect&&(f.$selectItem.not(this).each(function(){f.data[a(this).data("index")][f.header.stateField]=!1}),f.$selectItem.filter(":checked").not(this).prop("checked",!1)),f.updateSelected(),f.trigger(d?"check":"uncheck",e,c)}),a.each(this.header.events,function(b,c){if(c){"string"==typeof c&&(c=h(null,c));var d=f.header.fields[b],e=a.inArray(d,f.getVisibleFields());f.options.detailView&&!f.options.cardView&&(e+=1);for(var g in c)f.$body.find(">tr:not(.no-records-found)").each(function(){var b=a(this),h=b.find(f.options.cardView?".card-view":"td").eq(e),i=g.indexOf(" "),j=g.substring(0,i),k=g.substring(i+1),l=c[g];h.find(k).off(j).on(j,function(a){var c=b.data("index"),e=f.data[c],g=e[d];l.apply(this,[a,g,e,c])})})}}),this.updateSelected(),this.resetView(),this.trigger("post-body",i)},p.prototype.initServer=function(b,c,d){var e,f=this,g={},i={searchText:this.searchText,sortName:this.options.sortName,sortOrder:this.options.sortOrder};this.options.pagination&&(i.pageSize=this.options.pageSize===this.options.formatAllRows()?this.options.totalRows:this.options.pageSize,i.pageNumber=this.options.pageNumber),(d||this.options.url||this.options.ajax)&&("limit"===this.options.queryParamsType&&(i={search:i.searchText,sort:i.sortName,order:i.sortOrder},this.options.pagination&&(i.offset=this.options.pageSize===this.options.formatAllRows()?0:this.options.pageSize*(this.options.pageNumber-1),i.limit=this.options.pageSize===this.options.formatAllRows()?this.options.totalRows:this.options.pageSize)),a.isEmptyObject(this.filterColumnsPartial)||(i.filter=JSON.stringify(this.filterColumnsPartial,null)),g=h(this.options,this.options.queryParams,[i],g),a.extend(g,c||{}),g!==!1&&(b||this.$tableLoading.show(),e=a.extend({},h(null,this.options.ajaxOptions),{type:this.options.method,url:d||this.options.url,data:"application/json"===this.options.contentType&&"post"===this.options.method?JSON.stringify(g):g,cache:this.options.cache,contentType:this.options.contentType,dataType:this.options.dataType,success:function(a){a=h(f.options,f.options.responseHandler,[a],a),f.load(a),f.trigger("load-success",a),b||f.$tableLoading.hide()},error:function(a){f.trigger("load-error",a.status,a),b||f.$tableLoading.hide()}}),this.options.ajax?h(this,this.options.ajax,[e],null):(this._xhr&&4!==this._xhr.readyState&&this._xhr.abort(),this._xhr=a.ajax(e))))},p.prototype.initSearchText=function(){if(this.options.search&&""!==this.options.searchText){var a=this.$toolbar.find(".search input");a.val(this.options.searchText),this.onSearch({currentTarget:a})}},p.prototype.getCaret=function(){var b=this;a.each(this.$header.find("th"),function(c,d){a(d).find(".sortable").removeClass("desc asc").addClass(a(d).data("field")===b.options.sortName?b.options.sortOrder:"both")})},p.prototype.updateSelected=function(){var b=this.$selectItem.filter(":enabled").length&&this.$selectItem.filter(":enabled").length===this.$selectItem.filter(":enabled").filter(":checked").length;this.$selectAll.add(this.$selectAll_).prop("checked",b),this.$selectItem.each(function(){a(this).closest("tr")[a(this).prop("checked")?"addClass":"removeClass"]("selected")})},p.prototype.updateRows=function(){var b=this;this.$selectItem.each(function(){b.data[a(this).data("index")][b.header.stateField]=a(this).prop("checked")})},p.prototype.resetRows=function(){var b=this;a.each(this.data,function(a,c){b.$selectAll.prop("checked",!1),b.$selectItem.prop("checked",!1),b.header.stateField&&(c[b.header.stateField]=!1)})},p.prototype.trigger=function(b){var c=Array.prototype.slice.call(arguments,1);b+=".bs.table",this.options[p.EVENTS[b]].apply(this.options,c),this.$el.trigger(a.Event(b),c),this.options.onAll(b,c),this.$el.trigger(a.Event("all.bs.table"),[b,c])},p.prototype.resetHeader=function(){clearTimeout(this.timeoutId_),this.timeoutId_=setTimeout(a.proxy(this.fitHeader,this),this.$el.is(":hidden")?100:0)},p.prototype.fitHeader=function(){var b,d,e,f,h=this;if(h.$el.is(":hidden"))return void(h.timeoutId_=setTimeout(a.proxy(h.fitHeader,h),100));if(b=this.$tableBody.get(0),d=b.scrollWidth>b.clientWidth&&b.scrollHeight>b.clientHeight+this.$header.outerHeight()?g():0,this.$el.css("margin-top",-this.$header.outerHeight()),e=a(":focus"),e.length>0){var i=e.parents("th");if(i.length>0){var j=i.attr("data-field");if(void 0!==j){var k=this.$header.find("[data-field='"+j+"']");k.length>0&&k.find(":input").addClass("focus-temp")}}}this.$header_=this.$header.clone(!0,!0),this.$selectAll_=this.$header_.find('[name="btSelectAll"]'),this.$tableHeader.css({"margin-right":d}).find("table").css("width",this.$el.outerWidth()).html("").attr("class",this.$el.attr("class")).append(this.$header_),f=a(".focus-temp:visible:eq(0)"),f.length>0&&(f.focus(),this.$header.find(".focus-temp").removeClass("focus-temp")),this.$header.find("th[data-field]").each(function(){h.$header_.find(c('th[data-field="%s"]',a(this).data("field"))).data(a(this).data())});var l=this.getVisibleFields(),m=this.$header_.find("th");this.$body.find(">tr:first-child:not(.no-records-found) > *").each(function(b){var d=a(this),e=b;h.options.detailView&&!h.options.cardView&&(0===b&&h.$header_.find("th.detail").find(".fht-cell").width(d.innerWidth()),e=b-1);var f=h.$header_.find(c('th[data-field="%s"]',l[e]));f.length>1&&(f=a(m[d[0].cellIndex])),f.find(".fht-cell").width(d.innerWidth())}),this.$tableBody.off("scroll").on("scroll",function(){h.$tableHeader.scrollLeft(a(this).scrollLeft()),h.options.showFooter&&!h.options.cardView&&h.$tableFooter.scrollLeft(a(this).scrollLeft())}),h.trigger("post-header")},p.prototype.resetFooter=function(){var b=this,d=b.getData(),e=[];this.options.showFooter&&!this.options.cardView&&(!this.options.cardView&&this.options.detailView&&e.push(''),a.each(this.columns,function(a,f){var g,i="",j="",k=[],l={},m=c(' class="%s"',f["class"]);if(f.visible&&(!b.options.cardView||f.cardVisible)){if(i=c("text-align: %s; ",f.falign?f.falign:f.align),j=c("vertical-align: %s; ",f.valign),l=h(null,b.options.footerStyle),l&&l.css)for(g in l.css)k.push(g+": "+l.css[g]);e.push(""),e.push('
    '),e.push(h(f,f.footerFormatter,[d]," ")||" "),e.push("
    "),e.push('
    '),e.push(""),e.push("")}}),this.$tableFooter.find("tr").html(e.join("")),this.$tableFooter.show(),clearTimeout(this.timeoutFooter_),this.timeoutFooter_=setTimeout(a.proxy(this.fitFooter,this),this.$el.is(":hidden")?100:0))},p.prototype.fitFooter=function(){var b,c,d;return clearTimeout(this.timeoutFooter_),this.$el.is(":hidden")?void(this.timeoutFooter_=setTimeout(a.proxy(this.fitFooter,this),100)):(c=this.$el.css("width"),d=c>this.$tableBody.width()?g():0,this.$tableFooter.css({"margin-right":d}).find("table").css("width",c).attr("class",this.$el.attr("class")),b=this.$tableFooter.find("td"),void this.$body.find(">tr:first-child:not(.no-records-found) > *").each(function(c){var d=a(this);b.eq(c).find(".fht-cell").width(d.innerWidth())}))},p.prototype.toggleColumn=function(a,b,d){if(-1!==a&&(this.columns[a].visible=b,this.initHeader(),this.initSearch(),this.initPagination(),this.initBody(),this.options.showColumns)){var e=this.$toolbar.find(".keep-open input").prop("disabled",!1);d&&e.filter(c('[value="%s"]',a)).prop("checked",b),e.filter(":checked").length<=this.options.minimumCountColumns&&e.filter(":checked").prop("disabled",!0)}},p.prototype.toggleRow=function(a,b,d){-1!==a&&this.$body.find("undefined"!=typeof a?c('tr[data-index="%s"]',a):c('tr[data-uniqueid="%s"]',b))[d?"show":"hide"]()},p.prototype.getVisibleFields=function(){var b=this,c=[];return a.each(this.header.fields,function(a,d){var f=b.columns[e(b.columns,d)];f.visible&&c.push(d)}),c},p.prototype.resetView=function(a){var b=0;if(a&&a.height&&(this.options.height=a.height),this.$selectAll.prop("checked",this.$selectItem.length>0&&this.$selectItem.length===this.$selectItem.filter(":checked").length),this.options.height){var c=k(this.$toolbar),d=k(this.$pagination),e=this.options.height-c-d;this.$tableContainer.css("height",e+"px")}return this.options.cardView?(this.$el.css("margin-top","0"),this.$tableContainer.css("padding-bottom","0"),void this.$tableFooter.hide()):(this.options.showHeader&&this.options.height?(this.$tableHeader.show(),this.resetHeader(),b+=this.$header.outerHeight()):(this.$tableHeader.hide(),this.trigger("post-header")),this.options.showFooter&&(this.resetFooter(),this.options.height&&(b+=this.$tableFooter.outerHeight()+1)),this.getCaret(),this.$tableContainer.css("padding-bottom",b+"px"),void this.trigger("reset-view"))},p.prototype.getData=function(b){return!this.searchText&&a.isEmptyObject(this.filterColumns)&&a.isEmptyObject(this.filterColumnsPartial)?b?this.options.data.slice(this.pageFrom-1,this.pageTo):this.options.data:b?this.data.slice(this.pageFrom-1,this.pageTo):this.data},p.prototype.load=function(b){var c=!1;"server"===this.options.sidePagination?(this.options.totalRows=b.total,c=b.fixedScroll,b=b[this.options.dataField]):a.isArray(b)||(c=b.fixedScroll,b=b.data),this.initData(b),this.initSearch(),this.initPagination(),this.initBody(c)},p.prototype.append=function(a){this.initData(a,"append"),this.initSearch(),this.initPagination(),this.initSort(),this.initBody(!0)},p.prototype.prepend=function(a){this.initData(a,"prepend"),this.initSearch(),this.initPagination(),this.initSort(),this.initBody(!0)},p.prototype.remove=function(b){var c,d,e=this.options.data.length;if(b.hasOwnProperty("field")&&b.hasOwnProperty("values")){for(c=e-1;c>=0;c--)d=this.options.data[c],d.hasOwnProperty(b.field)&&-1!==a.inArray(d[b.field],b.values)&&this.options.data.splice(c,1);e!==this.options.data.length&&(this.initSearch(),this.initPagination(),this.initSort(),this.initBody(!0))}},p.prototype.removeAll=function(){this.options.data.length>0&&(this.options.data.splice(0,this.options.data.length),this.initSearch(),this.initPagination(),this.initBody(!0))},p.prototype.getRowByUniqueId=function(a){var b,c,d,e=this.options.uniqueId,f=this.options.data.length,g=null;for(b=f-1;b>=0;b--){if(c=this.options.data[b],c.hasOwnProperty(e))d=c[e];else{if(!c._data.hasOwnProperty(e))continue;d=c._data[e]}if("string"==typeof d?a=a.toString():"number"==typeof d&&(Number(d)===d&&d%1===0?a=parseInt(a):d===Number(d)&&0!==d&&(a=parseFloat(a))),d===a){g=c;break}}return g},p.prototype.removeByUniqueId=function(a){var b=this.options.data.length,c=this.getRowByUniqueId(a);c&&this.options.data.splice(this.options.data.indexOf(c),1),b!==this.options.data.length&&(this.initSearch(),this.initPagination(),this.initBody(!0))},p.prototype.updateByUniqueId=function(b){var c=this,d=a.isArray(b)?b:[b];a.each(d,function(b,d){var e;d.hasOwnProperty("id")&&d.hasOwnProperty("row")&&(e=a.inArray(c.getRowByUniqueId(d.id),c.options.data),-1!==e&&a.extend(c.options.data[e],d.row))}),this.initSearch(),this.initSort(),this.initBody(!0)},p.prototype.insertRow=function(a){a.hasOwnProperty("index")&&a.hasOwnProperty("row")&&(this.data.splice(a.index,0,a.row),this.initSearch(),this.initPagination(),this.initSort(),this.initBody(!0))},p.prototype.updateRow=function(b){var c=this,d=a.isArray(b)?b:[b];a.each(d,function(b,d){d.hasOwnProperty("index")&&d.hasOwnProperty("row")&&a.extend(c.options.data[d.index],d.row)}),this.initSearch(),this.initSort(),this.initBody(!0)},p.prototype.showRow=function(a){(a.hasOwnProperty("index")||a.hasOwnProperty("uniqueId"))&&this.toggleRow(a.index,a.uniqueId,!0)},p.prototype.hideRow=function(a){(a.hasOwnProperty("index")||a.hasOwnProperty("uniqueId"))&&this.toggleRow(a.index,a.uniqueId,!1)},p.prototype.getRowsHidden=function(b){var c=a(this.$body[0]).children().filter(":hidden"),d=0;if(b)for(;dtr");if(this.options.detailView&&!this.options.cardView&&(g+=1),e=j.eq(f).find(">td").eq(g),!(0>f||0>g||f>=this.data.length)){for(c=f;f+h>c;c++)for(d=g;g+i>d;d++)j.eq(c).find(">td").eq(d).hide();e.attr("rowspan",h).attr("colspan",i).show()}},p.prototype.updateCell=function(a){a.hasOwnProperty("index")&&a.hasOwnProperty("field")&&a.hasOwnProperty("value")&&(this.data[a.index][a.field]=a.value,a.reinit!==!1&&(this.initSort(),this.initBody(!0)))},p.prototype.getOptions=function(){return this.options},p.prototype.getSelections=function(){var b=this;return a.grep(this.options.data,function(a){return a[b.header.stateField]})},p.prototype.getAllSelections=function(){var b=this;return a.grep(this.options.data,function(a){return a[b.header.stateField]})},p.prototype.checkAll=function(){this.checkAll_(!0)},p.prototype.uncheckAll=function(){this.checkAll_(!1)},p.prototype.checkInvert=function(){var b=this,c=b.$selectItem.filter(":enabled"),d=c.filter(":checked");c.each(function(){a(this).prop("checked",!a(this).prop("checked"))}),b.updateRows(),b.updateSelected(),b.trigger("uncheck-some",d),d=b.getSelections(),b.trigger("check-some",d)},p.prototype.checkAll_=function(a){var b;a||(b=this.getSelections()),this.$selectAll.add(this.$selectAll_).prop("checked",a),this.$selectItem.filter(":enabled").prop("checked",a),this.updateRows(),a&&(b=this.getSelections()),this.trigger(a?"check-all":"uncheck-all",b)},p.prototype.check=function(a){this.check_(!0,a)},p.prototype.uncheck=function(a){this.check_(!1,a)},p.prototype.check_=function(a,b){var d=this.$selectItem.filter(c('[data-index="%s"]',b)).prop("checked",a);this.data[b][this.header.stateField]=a,this.updateSelected(),this.trigger(a?"check":"uncheck",this.data[b],d)},p.prototype.checkBy=function(a){this.checkBy_(!0,a)},p.prototype.uncheckBy=function(a){this.checkBy_(!1,a)},p.prototype.checkBy_=function(b,d){if(d.hasOwnProperty("field")&&d.hasOwnProperty("values")){var e=this,f=[];a.each(this.options.data,function(g,h){if(!h.hasOwnProperty(d.field))return!1;if(-1!==a.inArray(h[d.field],d.values)){var i=e.$selectItem.filter(":enabled").filter(c('[data-index="%s"]',g)).prop("checked",b);h[e.header.stateField]=b,f.push(h),e.trigger(b?"check":"uncheck",h,i)}}),this.updateSelected(),this.trigger(b?"check-some":"uncheck-some",f)}},p.prototype.destroy=function(){this.$el.insertBefore(this.$container),a(this.options.toolbar).insertBefore(this.$el),this.$container.next().remove(),this.$container.remove(),this.$el.html(this.$el_.html()).css("margin-top","0").attr("class",this.$el_.attr("class")||"")},p.prototype.showLoading=function(){this.$tableLoading.show()},p.prototype.hideLoading=function(){this.$tableLoading.hide()},p.prototype.togglePagination=function(){this.options.pagination=!this.options.pagination;var a=this.$toolbar.find('button[name="paginationSwitch"] i');this.options.pagination?a.attr("class",this.options.iconsPrefix+" "+this.options.icons.paginationSwitchDown):a.attr("class",this.options.iconsPrefix+" "+this.options.icons.paginationSwitchUp),this.updatePagination()},p.prototype.refresh=function(a){a&&a.url&&(this.options.pageNumber=1),this.initServer(a&&a.silent,a&&a.query,a&&a.url),this.trigger("refresh",a)},p.prototype.resetWidth=function(){this.options.showHeader&&this.options.height&&this.fitHeader(),this.options.showFooter&&this.fitFooter()},p.prototype.showColumn=function(a){this.toggleColumn(e(this.columns,a),!0,!0)},p.prototype.hideColumn=function(a){this.toggleColumn(e(this.columns,a),!1,!0)},p.prototype.getHiddenColumns=function(){return a.grep(this.columns,function(a){return!a.visible})},p.prototype.getVisibleColumns=function(){return a.grep(this.columns,function(a){return a.visible})},p.prototype.toggleAllColumns=function(b){if(a.each(this.columns,function(a){this.columns[a].visible=b}),this.initHeader(),this.initSearch(),this.initPagination(),this.initBody(),this.options.showColumns){var c=this.$toolbar.find(".keep-open input").prop("disabled",!1);c.filter(":checked").length<=this.options.minimumCountColumns&&c.filter(":checked").prop("disabled",!0)}},p.prototype.showAllColumns=function(){this.toggleAllColumns(!0)},p.prototype.hideAllColumns=function(){this.toggleAllColumns(!1)},p.prototype.filterBy=function(b){this.filterColumns=a.isEmptyObject(b)?{}:b,this.options.pageNumber=1,this.initSearch(),this.updatePagination()},p.prototype.scrollTo=function(a){return"string"==typeof a&&(a="bottom"===a?this.$tableBody[0].scrollHeight:0),"number"==typeof a&&this.$tableBody.scrollTop(a),"undefined"==typeof a?this.$tableBody.scrollTop():void 0},p.prototype.getScrollPosition=function(){return this.scrollTo()},p.prototype.selectPage=function(a){a>0&&a<=this.options.totalPages&&(this.options.pageNumber=a,this.updatePagination())},p.prototype.prevPage=function(){this.options.pageNumber>1&&(this.options.pageNumber--,this.updatePagination())},p.prototype.nextPage=function(){this.options.pageNumber tr[data-index="%s"]',b));d.next().is("tr.detail-view")===(a?!1:!0)&&d.find("> td > .detail-icon").click()},p.prototype.expandRow=function(a){this.expandRow_(!0,a)},p.prototype.collapseRow=function(a){this.expandRow_(!1,a)},p.prototype.expandAllRows=function(b){if(b){var d=this.$body.find(c('> tr[data-index="%s"]',0)),e=this,f=null,g=!1,h=-1;if(d.next().is("tr.detail-view")?d.next().next().is("tr.detail-view")||(d.next().find(".detail-icon").click(),g=!0):(d.find("> td > .detail-icon").click(),g=!0),g)try{h=setInterval(function(){f=e.$body.find("tr.detail-view").last().find(".detail-icon"),f.length>0?f.click():clearInterval(h)},1)}catch(i){clearInterval(h)}}else for(var j=this.$body.children(),k=0;k'),this.$input=a('').appendTo(this.$container),this.$element.before(this.$container),this.build(c),this.isInit=!1}function c(a,b){if("function"!=typeof a[b]){var c=a[b];a[b]=function(a){return a[c]}}}function d(a,b){if("function"!=typeof a[b]){var c=a[b];a[b]=function(){return c}}}function e(a){return a?i.text(a).html():""}function f(a){var b=0;if(document.selection){a.focus();var c=document.selection.createRange();c.moveStart("character",-a.value.length),b=c.text.length}else(a.selectionStart||"0"==a.selectionStart)&&(b=a.selectionStart);return b}function g(b,c){var d=!1;return a.each(c,function(a,c){if("number"==typeof c&&b.which===c)return d=!0,!1;if(b.which===c.which){var e=!c.hasOwnProperty("altKey")||b.altKey===c.altKey,f=!c.hasOwnProperty("shiftKey")||b.shiftKey===c.shiftKey,g=!c.hasOwnProperty("ctrlKey")||b.ctrlKey===c.ctrlKey;if(e&&f&&g)return d=!0,!1}}),d}var h={tagClass:function(a){return"label label-info"},focusClass:"focus",itemValue:function(a){return a?a.toString():a},itemText:function(a){return this.itemValue(a)},itemTitle:function(a){return null},freeInput:!0,addOnBlur:!0,maxTags:void 0,maxChars:void 0,confirmKeys:[13,44],delimiter:",",delimiterRegex:null,cancelConfirmKeysOnEmpty:!1,onTagExists:function(a,b){b.hide().fadeIn()},trimValue:!1,allowDuplicates:!1,triggerChange:!0};b.prototype={constructor:b,add:function(b,c,d){var f=this;if(!(f.options.maxTags&&f.itemsArray.length>=f.options.maxTags)&&(b===!1||b)){if("string"==typeof b&&f.options.trimValue&&(b=a.trim(b)),"object"==typeof b&&!f.objectItems)throw"Can't add objects when itemValue option is not set";if(!b.toString().match(/^\s*$/)){if(f.isSelect&&!f.multiple&&f.itemsArray.length>0&&f.remove(f.itemsArray[0]),"string"==typeof b&&"INPUT"===this.$element[0].tagName){var g=f.options.delimiterRegex?f.options.delimiterRegex:f.options.delimiter,h=b.split(g);if(h.length>1){for(var i=0;if.options.maxInputLength)){var o=a.Event("beforeItemAdd",{item:b,cancel:!1,options:d});if(f.$element.trigger(o),!o.cancel){f.itemsArray.push(b);var p=a(''+e(k)+'');p.data("item",b),f.findInputWrapper().before(p),p.after(" ");var q=a('option[value="'+encodeURIComponent(j)+'"]',f.$element).length||a('option[value="'+e(j)+'"]',f.$element).length;if(f.isSelect&&!q){var r=a("");r.data("item",b),r.attr("value",j),f.$element.append(r)}c||f.pushVal(f.options.triggerChange),(f.options.maxTags===f.itemsArray.length||f.items().toString().length===f.options.maxInputLength)&&f.$container.addClass("bootstrap-tagsinput-max"),a(".typeahead, .twitter-typeahead",f.$container).length&&f.$input.typeahead("val",""),this.isInit?f.$element.trigger(a.Event("itemAddedOnInit",{item:b,options:d})):f.$element.trigger(a.Event("itemAdded",{item:b,options:d}))}}}else if(f.options.onTagExists){var s=a(".tag",f.$container).filter(function(){return a(this).data("item")===n});f.options.onTagExists(b,s)}}}},remove:function(b,c,d){var e=this;if(e.objectItems&&(b="object"==typeof b?a.grep(e.itemsArray,function(a){return e.options.itemValue(a)==e.options.itemValue(b)}):a.grep(e.itemsArray,function(a){return e.options.itemValue(a)==b}),b=b[b.length-1]),b){var f=a.Event("beforeItemRemove",{item:b,cancel:!1,options:d});if(e.$element.trigger(f),f.cancel)return;a(".tag",e.$container).filter(function(){return a(this).data("item")===b}).remove(),a("option",e.$element).filter(function(){return a(this).data("item")===b}).remove(),-1!==a.inArray(b,e.itemsArray)&&e.itemsArray.splice(a.inArray(b,e.itemsArray),1)}c||e.pushVal(e.options.triggerChange),e.options.maxTags>e.itemsArray.length&&e.$container.removeClass("bootstrap-tagsinput-max"),e.$element.trigger(a.Event("itemRemoved",{item:b,options:d}))},removeAll:function(){var b=this;for(a(".tag",b.$container).remove(),a("option",b.$element).remove();b.itemsArray.length>0;)b.itemsArray.pop();b.pushVal(b.options.triggerChange)},refresh:function(){var b=this;a(".tag",b.$container).each(function(){var c=a(this),d=c.data("item"),f=b.options.itemValue(d),g=b.options.itemText(d),h=b.options.tagClass(d);if(c.attr("class",null),c.addClass("tag "+e(h)),c.contents().filter(function(){return 3==this.nodeType})[0].nodeValue=e(g),b.isSelect){var i=a("option",b.$element).filter(function(){return a(this).data("item")===d});i.attr("value",f)}})},items:function(){return this.itemsArray},pushVal:function(){var b=this,c=a.map(b.items(),function(a){return b.options.itemValue(a).toString()});b.$element.val(c,!0),b.options.triggerChange&&b.$element.trigger("change")},build:function(b){var e=this;if(e.options=a.extend({},h,b),e.objectItems&&(e.options.freeInput=!1),c(e.options,"itemValue"),c(e.options,"itemText"),d(e.options,"tagClass"),e.options.typeahead){var i=e.options.typeahead||{};d(i,"source"),e.$input.typeahead(a.extend({},i,{source:function(b,c){function d(a){for(var b=[],d=0;d$1")}}))}if(e.options.typeaheadjs){var j=null,k={},l=e.options.typeaheadjs;a.isArray(l)?(j=l[0],k=l[1]):k=l,e.$input.typeahead(j,k).on("typeahead:selected",a.proxy(function(a,b){k.valueKey?e.add(b[k.valueKey]):e.add(b),e.$input.typeahead("val","")},e))}e.$container.on("click",a.proxy(function(a){e.$element.attr("disabled")||e.$input.removeAttr("disabled"),e.$input.focus()},e)),e.options.addOnBlur&&e.options.freeInput&&e.$input.on("focusout",a.proxy(function(b){0===a(".typeahead, .twitter-typeahead",e.$container).length&&(e.add(e.$input.val()),e.$input.val(""))},e)),e.$container.on({focusin:function(){e.$container.addClass(e.options.focusClass)},focusout:function(){e.$container.removeClass(e.options.focusClass)}}),e.$container.on("keydown","input",a.proxy(function(b){var c=a(b.target),d=e.findInputWrapper();if(e.$element.attr("disabled"))return void e.$input.attr("disabled","disabled");switch(b.which){case 8:if(0===f(c[0])){var g=d.prev();g.length&&e.remove(g.data("item"))}break;case 46:if(0===f(c[0])){var h=d.next();h.length&&e.remove(h.data("item"))}break;case 37:var i=d.prev();0===c.val().length&&i[0]&&(i.before(d),c.focus());break;case 39:var j=d.next();0===c.val().length&&j[0]&&(j.after(d),c.focus())}var k=c.val().length;Math.ceil(k/5);c.attr("size",Math.max(this.inputSize,c.val().length))},e)),e.$container.on("keypress","input",a.proxy(function(b){var c=a(b.target);if(e.$element.attr("disabled"))return void e.$input.attr("disabled","disabled");var d=c.val(),f=e.options.maxChars&&d.length>=e.options.maxChars;e.options.freeInput&&(g(b,e.options.confirmKeys)||f)&&(0!==d.length&&(e.add(f?d.substr(0,e.options.maxChars):d),c.val("")),e.options.cancelConfirmKeysOnEmpty===!1&&b.preventDefault());var h=c.val().length;Math.ceil(h/5);c.attr("size",Math.max(this.inputSize,c.val().length))},e)),e.$container.on("click","[data-role=remove]",a.proxy(function(b){e.$element.attr("disabled")||e.remove(a(b.target).closest(".tag").data("item"))},e)),e.options.itemValue===h.itemValue&&("INPUT"===e.$element[0].tagName?e.add(e.$element.val()):a("option",e.$element).each(function(){e.add(a(this).attr("value"),!0)}))},destroy:function(){var a=this;a.$container.off("keypress","input"),a.$container.off("click","[role=remove]"),a.$container.remove(),a.$element.removeData("tagsinput"),a.$element.show()},focus:function(){this.$input.focus()},input:function(){return this.$input},findInputWrapper:function(){for(var b=this.$input[0],c=this.$container[0];b&&b.parentNode!==c;)b=b.parentNode;return a(b)}},a.fn.tagsinput=function(c,d,e){var f=[];return this.each(function(){var g=a(this).data("tagsinput");if(g)if(c||d){if(void 0!==g[c]){if(3===g[c].length&&void 0!==e)var h=g[c](d,null,e);else var h=g[c](d);void 0!==h&&f.push(h)}}else f.push(g);else g=new b(this,c),a(this).data("tagsinput",g),f.push(g),"SELECT"===this.tagName&&a("option",a(this)).attr("selected","selected"),a(this).val(a(this).val())}),"string"==typeof c?f.length>1?f:f[0]:f},a.fn.tagsinput.Constructor=b;var i=a("
    ");a(function(){a("input[data-role=tagsinput], select[multiple][data-role=tagsinput]").tagsinput()})}(window.jQuery); +//# sourceMappingURL=bootstrap-tagsinput.min.js.map \ No newline at end of file diff --git a/src/demo/manager/src/main/webapp/assets/js/bootstrap.min.js b/src/demo/manager/src/main/webapp/assets/js/bootstrap.min.js new file mode 100644 index 00000000..7c1561a8 --- /dev/null +++ b/src/demo/manager/src/main/webapp/assets/js/bootstrap.min.js @@ -0,0 +1,6 @@ +/*! + * Bootstrap v3.2.0 (http://getbootstrap.com) + * Copyright 2011-2014 Twitter, Inc. + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) + */ +if("undefined"==typeof jQuery)throw new Error("Bootstrap's JavaScript requires jQuery");+function(a){"use strict";function b(){var a=document.createElement("bootstrap"),b={WebkitTransition:"webkitTransitionEnd",MozTransition:"transitionend",OTransition:"oTransitionEnd otransitionend",transition:"transitionend"};for(var c in b)if(void 0!==a.style[c])return{end:b[c]};return!1}a.fn.emulateTransitionEnd=function(b){var c=!1,d=this;a(this).one("bsTransitionEnd",function(){c=!0});var e=function(){c||a(d).trigger(a.support.transition.end)};return setTimeout(e,b),this},a(function(){a.support.transition=b(),a.support.transition&&(a.event.special.bsTransitionEnd={bindType:a.support.transition.end,delegateType:a.support.transition.end,handle:function(b){return a(b.target).is(this)?b.handleObj.handler.apply(this,arguments):void 0}})})}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var c=a(this),e=c.data("bs.alert");e||c.data("bs.alert",e=new d(this)),"string"==typeof b&&e[b].call(c)})}var c='[data-dismiss="alert"]',d=function(b){a(b).on("click",c,this.close)};d.VERSION="3.2.0",d.prototype.close=function(b){function c(){f.detach().trigger("closed.bs.alert").remove()}var d=a(this),e=d.attr("data-target");e||(e=d.attr("href"),e=e&&e.replace(/.*(?=#[^\s]*$)/,""));var f=a(e);b&&b.preventDefault(),f.length||(f=d.hasClass("alert")?d:d.parent()),f.trigger(b=a.Event("close.bs.alert")),b.isDefaultPrevented()||(f.removeClass("in"),a.support.transition&&f.hasClass("fade")?f.one("bsTransitionEnd",c).emulateTransitionEnd(150):c())};var e=a.fn.alert;a.fn.alert=b,a.fn.alert.Constructor=d,a.fn.alert.noConflict=function(){return a.fn.alert=e,this},a(document).on("click.bs.alert.data-api",c,d.prototype.close)}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var d=a(this),e=d.data("bs.button"),f="object"==typeof b&&b;e||d.data("bs.button",e=new c(this,f)),"toggle"==b?e.toggle():b&&e.setState(b)})}var c=function(b,d){this.$element=a(b),this.options=a.extend({},c.DEFAULTS,d),this.isLoading=!1};c.VERSION="3.2.0",c.DEFAULTS={loadingText:"loading..."},c.prototype.setState=function(b){var c="disabled",d=this.$element,e=d.is("input")?"val":"html",f=d.data();b+="Text",null==f.resetText&&d.data("resetText",d[e]()),d[e](null==f[b]?this.options[b]:f[b]),setTimeout(a.proxy(function(){"loadingText"==b?(this.isLoading=!0,d.addClass(c).attr(c,c)):this.isLoading&&(this.isLoading=!1,d.removeClass(c).removeAttr(c))},this),0)},c.prototype.toggle=function(){var a=!0,b=this.$element.closest('[data-toggle="buttons"]');if(b.length){var c=this.$element.find("input");"radio"==c.prop("type")&&(c.prop("checked")&&this.$element.hasClass("active")?a=!1:b.find(".active").removeClass("active")),a&&c.prop("checked",!this.$element.hasClass("active")).trigger("change")}a&&this.$element.toggleClass("active")};var d=a.fn.button;a.fn.button=b,a.fn.button.Constructor=c,a.fn.button.noConflict=function(){return a.fn.button=d,this},a(document).on("click.bs.button.data-api",'[data-toggle^="button"]',function(c){var d=a(c.target);d.hasClass("btn")||(d=d.closest(".btn")),b.call(d,"toggle"),c.preventDefault()})}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var d=a(this),e=d.data("bs.carousel"),f=a.extend({},c.DEFAULTS,d.data(),"object"==typeof b&&b),g="string"==typeof b?b:f.slide;e||d.data("bs.carousel",e=new c(this,f)),"number"==typeof b?e.to(b):g?e[g]():f.interval&&e.pause().cycle()})}var c=function(b,c){this.$element=a(b).on("keydown.bs.carousel",a.proxy(this.keydown,this)),this.$indicators=this.$element.find(".carousel-indicators"),this.options=c,this.paused=this.sliding=this.interval=this.$active=this.$items=null,"hover"==this.options.pause&&this.$element.on("mouseenter.bs.carousel",a.proxy(this.pause,this)).on("mouseleave.bs.carousel",a.proxy(this.cycle,this))};c.VERSION="3.2.0",c.DEFAULTS={interval:5e3,pause:"hover",wrap:!0},c.prototype.keydown=function(a){switch(a.which){case 37:this.prev();break;case 39:this.next();break;default:return}a.preventDefault()},c.prototype.cycle=function(b){return b||(this.paused=!1),this.interval&&clearInterval(this.interval),this.options.interval&&!this.paused&&(this.interval=setInterval(a.proxy(this.next,this),this.options.interval)),this},c.prototype.getItemIndex=function(a){return this.$items=a.parent().children(".item"),this.$items.index(a||this.$active)},c.prototype.to=function(b){var c=this,d=this.getItemIndex(this.$active=this.$element.find(".item.active"));return b>this.$items.length-1||0>b?void 0:this.sliding?this.$element.one("slid.bs.carousel",function(){c.to(b)}):d==b?this.pause().cycle():this.slide(b>d?"next":"prev",a(this.$items[b]))},c.prototype.pause=function(b){return b||(this.paused=!0),this.$element.find(".next, .prev").length&&a.support.transition&&(this.$element.trigger(a.support.transition.end),this.cycle(!0)),this.interval=clearInterval(this.interval),this},c.prototype.next=function(){return this.sliding?void 0:this.slide("next")},c.prototype.prev=function(){return this.sliding?void 0:this.slide("prev")},c.prototype.slide=function(b,c){var d=this.$element.find(".item.active"),e=c||d[b](),f=this.interval,g="next"==b?"left":"right",h="next"==b?"first":"last",i=this;if(!e.length){if(!this.options.wrap)return;e=this.$element.find(".item")[h]()}if(e.hasClass("active"))return this.sliding=!1;var j=e[0],k=a.Event("slide.bs.carousel",{relatedTarget:j,direction:g});if(this.$element.trigger(k),!k.isDefaultPrevented()){if(this.sliding=!0,f&&this.pause(),this.$indicators.length){this.$indicators.find(".active").removeClass("active");var l=a(this.$indicators.children()[this.getItemIndex(e)]);l&&l.addClass("active")}var m=a.Event("slid.bs.carousel",{relatedTarget:j,direction:g});return a.support.transition&&this.$element.hasClass("slide")?(e.addClass(b),e[0].offsetWidth,d.addClass(g),e.addClass(g),d.one("bsTransitionEnd",function(){e.removeClass([b,g].join(" ")).addClass("active"),d.removeClass(["active",g].join(" ")),i.sliding=!1,setTimeout(function(){i.$element.trigger(m)},0)}).emulateTransitionEnd(1e3*d.css("transition-duration").slice(0,-1))):(d.removeClass("active"),e.addClass("active"),this.sliding=!1,this.$element.trigger(m)),f&&this.cycle(),this}};var d=a.fn.carousel;a.fn.carousel=b,a.fn.carousel.Constructor=c,a.fn.carousel.noConflict=function(){return a.fn.carousel=d,this},a(document).on("click.bs.carousel.data-api","[data-slide], [data-slide-to]",function(c){var d,e=a(this),f=a(e.attr("data-target")||(d=e.attr("href"))&&d.replace(/.*(?=#[^\s]+$)/,""));if(f.hasClass("carousel")){var g=a.extend({},f.data(),e.data()),h=e.attr("data-slide-to");h&&(g.interval=!1),b.call(f,g),h&&f.data("bs.carousel").to(h),c.preventDefault()}}),a(window).on("load",function(){a('[data-ride="carousel"]').each(function(){var c=a(this);b.call(c,c.data())})})}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var d=a(this),e=d.data("bs.collapse"),f=a.extend({},c.DEFAULTS,d.data(),"object"==typeof b&&b);!e&&f.toggle&&"show"==b&&(b=!b),e||d.data("bs.collapse",e=new c(this,f)),"string"==typeof b&&e[b]()})}var c=function(b,d){this.$element=a(b),this.options=a.extend({},c.DEFAULTS,d),this.transitioning=null,this.options.parent&&(this.$parent=a(this.options.parent)),this.options.toggle&&this.toggle()};c.VERSION="3.2.0",c.DEFAULTS={toggle:!0},c.prototype.dimension=function(){var a=this.$element.hasClass("width");return a?"width":"height"},c.prototype.show=function(){if(!this.transitioning&&!this.$element.hasClass("in")){var c=a.Event("show.bs.collapse");if(this.$element.trigger(c),!c.isDefaultPrevented()){var d=this.$parent&&this.$parent.find("> .panel > .in");if(d&&d.length){var e=d.data("bs.collapse");if(e&&e.transitioning)return;b.call(d,"hide"),e||d.data("bs.collapse",null)}var f=this.dimension();this.$element.removeClass("collapse").addClass("collapsing")[f](0),this.transitioning=1;var g=function(){this.$element.removeClass("collapsing").addClass("collapse in")[f](""),this.transitioning=0,this.$element.trigger("shown.bs.collapse")};if(!a.support.transition)return g.call(this);var h=a.camelCase(["scroll",f].join("-"));this.$element.one("bsTransitionEnd",a.proxy(g,this)).emulateTransitionEnd(350)[f](this.$element[0][h])}}},c.prototype.hide=function(){if(!this.transitioning&&this.$element.hasClass("in")){var b=a.Event("hide.bs.collapse");if(this.$element.trigger(b),!b.isDefaultPrevented()){var c=this.dimension();this.$element[c](this.$element[c]())[0].offsetHeight,this.$element.addClass("collapsing").removeClass("collapse").removeClass("in"),this.transitioning=1;var d=function(){this.transitioning=0,this.$element.trigger("hidden.bs.collapse").removeClass("collapsing").addClass("collapse")};return a.support.transition?void this.$element[c](0).one("bsTransitionEnd",a.proxy(d,this)).emulateTransitionEnd(350):d.call(this)}}},c.prototype.toggle=function(){this[this.$element.hasClass("in")?"hide":"show"]()};var d=a.fn.collapse;a.fn.collapse=b,a.fn.collapse.Constructor=c,a.fn.collapse.noConflict=function(){return a.fn.collapse=d,this},a(document).on("click.bs.collapse.data-api",'[data-toggle="collapse"]',function(c){var d,e=a(this),f=e.attr("data-target")||c.preventDefault()||(d=e.attr("href"))&&d.replace(/.*(?=#[^\s]+$)/,""),g=a(f),h=g.data("bs.collapse"),i=h?"toggle":e.data(),j=e.attr("data-parent"),k=j&&a(j);h&&h.transitioning||(k&&k.find('[data-toggle="collapse"][data-parent="'+j+'"]').not(e).addClass("collapsed"),e[g.hasClass("in")?"addClass":"removeClass"]("collapsed")),b.call(g,i)})}(jQuery),+function(a){"use strict";function b(b){b&&3===b.which||(a(e).remove(),a(f).each(function(){var d=c(a(this)),e={relatedTarget:this};d.hasClass("open")&&(d.trigger(b=a.Event("hide.bs.dropdown",e)),b.isDefaultPrevented()||d.removeClass("open").trigger("hidden.bs.dropdown",e))}))}function c(b){var c=b.attr("data-target");c||(c=b.attr("href"),c=c&&/#[A-Za-z]/.test(c)&&c.replace(/.*(?=#[^\s]*$)/,""));var d=c&&a(c);return d&&d.length?d:b.parent()}function d(b){return this.each(function(){var c=a(this),d=c.data("bs.dropdown");d||c.data("bs.dropdown",d=new g(this)),"string"==typeof b&&d[b].call(c)})}var e=".dropdown-backdrop",f='[data-toggle="dropdown"]',g=function(b){a(b).on("click.bs.dropdown",this.toggle)};g.VERSION="3.2.0",g.prototype.toggle=function(d){var e=a(this);if(!e.is(".disabled, :disabled")){var f=c(e),g=f.hasClass("open");if(b(),!g){"ontouchstart"in document.documentElement&&!f.closest(".navbar-nav").length&&a('
    ").append(a("").attr({"data-action":"today",title:d.tooltips.today}).append(a("").addClass(d.icons.today)))),!d.sideBySide&&A()&&z()&&b.push(a("").append(a("").attr({"data-action":"togglePicker",title:d.tooltips.selectTime}).append(a("").addClass(d.icons.time)))),d.showClear&&b.push(a("").append(a("").attr({"data-action":"clear",title:d.tooltips.clear}).append(a("").addClass(d.icons.clear)))),d.showClose&&b.push(a("").append(a("").attr({"data-action":"close",title:d.tooltips.close}).append(a("").addClass(d.icons.close)))),a("").addClass("table-condensed").append(a("").append(a("").append(b)))},F=function(){var b=a("
    ").addClass("bootstrap-datetimepicker-widget dropdown-menu"),c=a("
    ").addClass("datepicker").append(B()),e=a("
    ").addClass("timepicker").append(D()),f=a("
      ").addClass("list-unstyled"),g=a("
    • ").addClass("picker-switch"+(d.collapse?" accordion-toggle":"")).append(E());return d.inline&&b.removeClass("dropdown-menu"),h&&b.addClass("usetwentyfour"),y("s")&&!h&&b.addClass("wider"),d.sideBySide&&A()&&z()?(b.addClass("timepicker-sbs"),"top"===d.toolbarPlacement&&b.append(g),b.append(a("
      ").addClass("row").append(c.addClass("col-md-6")).append(e.addClass("col-md-6"))),"bottom"===d.toolbarPlacement&&b.append(g),b):("top"===d.toolbarPlacement&&f.append(g),A()&&f.append(a("
    • ").addClass(d.collapse&&z()?"collapse in":"").append(c)),"default"===d.toolbarPlacement&&f.append(g),z()&&f.append(a("
    • ").addClass(d.collapse&&A()?"collapse":"").append(e)),"bottom"===d.toolbarPlacement&&f.append(g),b.append(f))},G=function(){var b,e={};return b=c.is("input")||d.inline?c.data():c.find("input").data(),b.dateOptions&&b.dateOptions instanceof Object&&(e=a.extend(!0,e,b.dateOptions)),a.each(d,function(a){var c="date"+a.charAt(0).toUpperCase()+a.slice(1);void 0!==b[c]&&(e[a]=b[c])}),e},H=function(){var b,e=(n||c).position(),f=(n||c).offset(),g=d.widgetPositioning.vertical,h=d.widgetPositioning.horizontal;if(d.widgetParent)b=d.widgetParent.append(o);else if(c.is("input"))b=c.after(o).parent();else{if(d.inline)return void(b=c.append(o));b=c,c.children().first().after(o)}if("auto"===g&&(g=f.top+1.5*o.height()>=a(window).height()+a(window).scrollTop()&&o.height()+c.outerHeight()a(window).width()?"right":"left"),"top"===g?o.addClass("top").removeClass("bottom"):o.addClass("bottom").removeClass("top"),"right"===h?o.addClass("pull-right"):o.removeClass("pull-right"),"relative"!==b.css("position")&&(b=b.parents().filter(function(){return"relative"===a(this).css("position")}).first()),0===b.length)throw new Error("datetimepicker component should be placed within a relative positioned container");o.css({top:"top"===g?"auto":e.top+c.outerHeight(),bottom:"top"===g?e.top+c.outerHeight():"auto",left:"left"===h?b===c?0:e.left:"auto",right:"left"===h?"auto":b.outerWidth()-c.outerWidth()-(b===c?0:e.left)})},I=function(a){"dp.change"===a.type&&(a.date&&a.date.isSame(a.oldDate)||!a.date&&!a.oldDate)||c.trigger(a)},J=function(a){"y"===a&&(a="YYYY"),I({type:"dp.update",change:a,viewDate:f.clone()})},K=function(a){o&&(a&&(k=Math.max(p,Math.min(3,k+a))),o.find(".datepicker > div").hide().filter(".datepicker-"+q[k].clsName).show())},L=function(){var b=a("
    "),c=f.clone().startOf("w").startOf("d");for(d.calendarWeeks===!0&&b.append(a(""),d.calendarWeeks&&c.append('"),k.push(c)),g="",b.isBefore(f,"M")&&(g+=" old"),b.isAfter(f,"M")&&(g+=" new"),b.isSame(e,"d")&&!m&&(g+=" active"),Q(b,"d")||(g+=" disabled"),b.isSame(x(),"d")&&(g+=" today"),(0===b.day()||6===b.day())&&(g+=" weekend"),c.append('"),b.add(1,"d");i.find("tbody").empty().append(k),S(),T(),U()}},W=function(){var b=o.find(".timepicker-hours table"),c=f.clone().startOf("d"),d=[],e=a("");for(f.hour()>11&&!h&&c.hour(12);c.isSame(f,"d")&&(h||f.hour()<12&&c.hour()<12||f.hour()>11);)c.hour()%4===0&&(e=a(""),d.push(e)),e.append('"),c.add(1,"h");b.empty().append(d)},X=function(){for(var b=o.find(".timepicker-minutes table"),c=f.clone().startOf("h"),e=[],g=a(""),h=1===d.stepping?5:d.stepping;f.isSame(c,"h");)c.minute()%(4*h)===0&&(g=a(""),e.push(g)),g.append('"),c.add(h,"m");b.empty().append(e)},Y=function(){for(var b=o.find(".timepicker-seconds table"),c=f.clone().startOf("m"),d=[],e=a("");f.isSame(c,"m");)c.second()%20===0&&(e=a(""),d.push(e)),e.append('"),c.add(5,"s");b.empty().append(d)},Z=function(){var a,b,c=o.find(".timepicker span[data-time-component]");h||(a=o.find(".timepicker [data-action=togglePeriod]"),b=e.clone().add(e.hours()>=12?-12:12,"h"),a.text(e.format("A")),Q(b,"h")?a.removeClass("disabled"):a.addClass("disabled")),c.filter("[data-time-component=hours]").text(e.format(h?"HH":"hh")),c.filter("[data-time-component=minutes]").text(e.format("mm")),c.filter("[data-time-component=seconds]").text(e.format("ss")),W(),X(),Y()},$=function(){o&&(V(),Z())},_=function(a){var b=m?null:e;return a?(a=a.clone().locale(d.locale),1!==d.stepping&&a.minutes(Math.round(a.minutes()/d.stepping)*d.stepping%60).seconds(0),void(Q(a)?(e=a,f=e.clone(),g.val(e.format(i)),c.data("date",e.format(i)),m=!1,$(),I({type:"dp.change",date:e.clone(),oldDate:b})):(d.keepInvalid||g.val(m?"":e.format(i)),I({type:"dp.error",date:a})))):(m=!0,g.val(""),c.data("date",""),I({type:"dp.change",date:!1,oldDate:b}),void $())},aa=function(){var b=!1;return o?(o.find(".collapse").each(function(){var c=a(this).data("collapse");return c&&c.transitioning?(b=!0,!1):!0}),b?l:(n&&n.hasClass("btn")&&n.toggleClass("active"),o.hide(),a(window).off("resize",H),o.off("click","[data-action]"),o.off("mousedown",!1),o.remove(),o=!1,I({type:"dp.hide",date:e.clone()}),g.blur(),l)):l},ba=function(){_(null)},ca={next:function(){var a=q[k].navFnc;f.add(q[k].navStep,a),V(),J(a)},previous:function(){var a=q[k].navFnc;f.subtract(q[k].navStep,a),V(),J(a)},pickerSwitch:function(){K(1)},selectMonth:function(b){var c=a(b.target).closest("tbody").find("span").index(a(b.target));f.month(c),k===p?(_(e.clone().year(f.year()).month(f.month())),d.inline||aa()):(K(-1),V()),J("M")},selectYear:function(b){var c=parseInt(a(b.target).text(),10)||0;f.year(c),k===p?(_(e.clone().year(f.year())),d.inline||aa()):(K(-1),V()),J("YYYY")},selectDecade:function(b){var c=parseInt(a(b.target).data("selection"),10)||0;f.year(c),k===p?(_(e.clone().year(f.year())),d.inline||aa()):(K(-1),V()),J("YYYY")},selectDay:function(b){var c=f.clone();a(b.target).is(".old")&&c.subtract(1,"M"),a(b.target).is(".new")&&c.add(1,"M"),_(c.date(parseInt(a(b.target).text(),10))),z()||d.keepOpen||d.inline||aa()},incrementHours:function(){var a=e.clone().add(1,"h");Q(a,"h")&&_(a)},incrementMinutes:function(){var a=e.clone().add(d.stepping,"m");Q(a,"m")&&_(a)},incrementSeconds:function(){var a=e.clone().add(1,"s");Q(a,"s")&&_(a)},decrementHours:function(){var a=e.clone().subtract(1,"h");Q(a,"h")&&_(a)},decrementMinutes:function(){var a=e.clone().subtract(d.stepping,"m");Q(a,"m")&&_(a)},decrementSeconds:function(){var a=e.clone().subtract(1,"s");Q(a,"s")&&_(a)},togglePeriod:function(){_(e.clone().add(e.hours()>=12?-12:12,"h"))},togglePicker:function(b){var c,e=a(b.target),f=e.closest("ul"),g=f.find(".in"),h=f.find(".collapse:not(.in)");if(g&&g.length){if(c=g.data("collapse"),c&&c.transitioning)return;g.collapse?(g.collapse("hide"),h.collapse("show")):(g.removeClass("in"),h.addClass("in")),e.is("span")?e.toggleClass(d.icons.time+" "+d.icons.date):e.find("span").toggleClass(d.icons.time+" "+d.icons.date)}},showPicker:function(){o.find(".timepicker > div:not(.timepicker-picker)").hide(),o.find(".timepicker .timepicker-picker").show()},showHours:function(){o.find(".timepicker .timepicker-picker").hide(),o.find(".timepicker .timepicker-hours").show()},showMinutes:function(){o.find(".timepicker .timepicker-picker").hide(),o.find(".timepicker .timepicker-minutes").show()},showSeconds:function(){o.find(".timepicker .timepicker-picker").hide(),o.find(".timepicker .timepicker-seconds").show()},selectHour:function(b){var c=parseInt(a(b.target).text(),10);h||(e.hours()>=12?12!==c&&(c+=12):12===c&&(c=0)),_(e.clone().hours(c)),ca.showPicker.call(l)},selectMinute:function(b){_(e.clone().minutes(parseInt(a(b.target).text(),10))),ca.showPicker.call(l)},selectSecond:function(b){_(e.clone().seconds(parseInt(a(b.target).text(),10))),ca.showPicker.call(l)},clear:ba,today:function(){var a=x();Q(a,"d")&&_(a)},close:aa},da=function(b){return a(b.currentTarget).is(".disabled")?!1:(ca[a(b.currentTarget).data("action")].apply(l,arguments),!1)},ea=function(){var b,c={year:function(a){return a.month(0).date(1).hours(0).seconds(0).minutes(0)},month:function(a){return a.date(1).hours(0).seconds(0).minutes(0)},day:function(a){return a.hours(0).seconds(0).minutes(0)},hour:function(a){return a.seconds(0).minutes(0)},minute:function(a){return a.seconds(0)}};return g.prop("disabled")||!d.ignoreReadonly&&g.prop("readonly")||o?l:(void 0!==g.val()&&0!==g.val().trim().length?_(ga(g.val().trim())):d.useCurrent&&m&&(g.is("input")&&0===g.val().trim().length||d.inline)&&(b=x(),"string"==typeof d.useCurrent&&(b=c[d.useCurrent](b)),_(b)),o=F(),L(),R(),o.find(".timepicker-hours").hide(),o.find(".timepicker-minutes").hide(),o.find(".timepicker-seconds").hide(),$(),K(),a(window).on("resize",H),o.on("click","[data-action]",da),o.on("mousedown",!1),n&&n.hasClass("btn")&&n.toggleClass("active"),o.show(),H(),d.focusOnShow&&!g.is(":focus")&&g.focus(),I({type:"dp.show"}),l)},fa=function(){return o?aa():ea()},ga=function(a){return a=void 0===d.parseInputDate?b.isMoment(a)||a instanceof Date?b(a):x(a):d.parseInputDate(a),a.locale(d.locale),a},ha=function(a){var b,c,e,f,g=null,h=[],i={},j=a.which,k="p";w[j]=k;for(b in w)w.hasOwnProperty(b)&&w[b]===k&&(h.push(b),parseInt(b,10)!==j&&(i[b]=!0));for(b in d.keyBinds)if(d.keyBinds.hasOwnProperty(b)&&"function"==typeof d.keyBinds[b]&&(e=b.split(" "),e.length===h.length&&v[j]===e[e.length-1])){for(f=!0,c=e.length-2;c>=0;c--)if(!(v[e[c]]in i)){f=!1;break}if(f){g=d.keyBinds[b];break}}g&&(g.call(l,o),a.stopPropagation(),a.preventDefault())},ia=function(a){w[a.which]="r",a.stopPropagation(),a.preventDefault()},ja=function(b){var c=a(b.target).val().trim(),d=c?ga(c):null;return _(d),b.stopImmediatePropagation(),!1},ka=function(){g.on({change:ja,blur:d.debug?"":aa,keydown:ha,keyup:ia,focus:d.allowInputToggle?ea:""}),c.is("input")?g.on({focus:ea}):n&&(n.on("click",fa),n.on("mousedown",!1))},la=function(){g.off({change:ja,blur:blur,keydown:ha,keyup:ia,focus:d.allowInputToggle?aa:""}),c.is("input")?g.off({focus:ea}):n&&(n.off("click",fa),n.off("mousedown",!1))},ma=function(b){var c={};return a.each(b,function(){var a=ga(this);a.isValid()&&(c[a.format("YYYY-MM-DD")]=!0)}),Object.keys(c).length?c:!1},na=function(b){var c={};return a.each(b,function(){c[this]=!0}),Object.keys(c).length?c:!1},oa=function(){var a=d.format||"L LT";i=a.replace(/(\[[^\[]*\])|(\\)?(LTS|LT|LL?L?L?|l{1,4})/g,function(a){var b=e.localeData().longDateFormat(a)||a;return b.replace(/(\[[^\[]*\])|(\\)?(LTS|LT|LL?L?L?|l{1,4})/g,function(a){return e.localeData().longDateFormat(a)||a})}),j=d.extraFormats?d.extraFormats.slice():[],j.indexOf(a)<0&&j.indexOf(i)<0&&j.push(i),h=i.toLowerCase().indexOf("a")<1&&i.replace(/\[.*?\]/g,"").indexOf("h")<1,y("y")&&(p=2),y("M")&&(p=1),y("d")&&(p=0),k=Math.max(p,k),m||_(e)};if(l.destroy=function(){aa(),la(),c.removeData("DateTimePicker"),c.removeData("date")},l.toggle=fa,l.show=ea,l.hide=aa,l.disable=function(){return aa(),n&&n.hasClass("btn")&&n.addClass("disabled"),g.prop("disabled",!0),l},l.enable=function(){return n&&n.hasClass("btn")&&n.removeClass("disabled"),g.prop("disabled",!1),l},l.ignoreReadonly=function(a){if(0===arguments.length)return d.ignoreReadonly;if("boolean"!=typeof a)throw new TypeError("ignoreReadonly () expects a boolean parameter");return d.ignoreReadonly=a,l},l.options=function(b){if(0===arguments.length)return a.extend(!0,{},d);if(!(b instanceof Object))throw new TypeError("options() options parameter should be an object");return a.extend(!0,d,b),a.each(d,function(a,b){if(void 0===l[a])throw new TypeError("option "+a+" is not recognized!");l[a](b)}),l},l.date=function(a){if(0===arguments.length)return m?null:e.clone();if(!(null===a||"string"==typeof a||b.isMoment(a)||a instanceof Date))throw new TypeError("date() parameter must be one of [null, string, moment or Date]");return _(null===a?null:ga(a)),l},l.format=function(a){if(0===arguments.length)return d.format;if("string"!=typeof a&&("boolean"!=typeof a||a!==!1))throw new TypeError("format() expects a sting or boolean:false parameter "+a);return d.format=a,i&&oa(),l},l.timeZone=function(a){return 0===arguments.length?d.timeZone:(d.timeZone=a,l)},l.dayViewHeaderFormat=function(a){if(0===arguments.length)return d.dayViewHeaderFormat;if("string"!=typeof a)throw new TypeError("dayViewHeaderFormat() expects a string parameter");return d.dayViewHeaderFormat=a,l},l.extraFormats=function(a){if(0===arguments.length)return d.extraFormats;if(a!==!1&&!(a instanceof Array))throw new TypeError("extraFormats() expects an array or false parameter");return d.extraFormats=a,j&&oa(),l},l.disabledDates=function(b){if(0===arguments.length)return d.disabledDates?a.extend({},d.disabledDates):d.disabledDates;if(!b)return d.disabledDates=!1,$(),l;if(!(b instanceof Array))throw new TypeError("disabledDates() expects an array parameter");return d.disabledDates=ma(b),d.enabledDates=!1,$(),l},l.enabledDates=function(b){if(0===arguments.length)return d.enabledDates?a.extend({},d.enabledDates):d.enabledDates;if(!b)return d.enabledDates=!1,$(),l;if(!(b instanceof Array))throw new TypeError("enabledDates() expects an array parameter");return d.enabledDates=ma(b),d.disabledDates=!1,$(),l},l.daysOfWeekDisabled=function(a){if(0===arguments.length)return d.daysOfWeekDisabled.splice(0);if("boolean"==typeof a&&!a)return d.daysOfWeekDisabled=!1,$(),l;if(!(a instanceof Array))throw new TypeError("daysOfWeekDisabled() expects an array parameter");if(d.daysOfWeekDisabled=a.reduce(function(a,b){return b=parseInt(b,10),b>6||0>b||isNaN(b)?a:(-1===a.indexOf(b)&&a.push(b),a)},[]).sort(),d.useCurrent&&!d.keepInvalid){for(var b=0;!Q(e,"d");){if(e.add(1,"d"),7===b)throw"Tried 7 times to find a valid date";b++}_(e)}return $(),l},l.maxDate=function(a){if(0===arguments.length)return d.maxDate?d.maxDate.clone():d.maxDate;if("boolean"==typeof a&&a===!1)return d.maxDate=!1,$(),l;"string"==typeof a&&("now"===a||"moment"===a)&&(a=x());var b=ga(a);if(!b.isValid())throw new TypeError("maxDate() Could not parse date parameter: "+a);if(d.minDate&&b.isBefore(d.minDate))throw new TypeError("maxDate() date parameter is before options.minDate: "+b.format(i));return d.maxDate=b,d.useCurrent&&!d.keepInvalid&&e.isAfter(a)&&_(d.maxDate),f.isAfter(b)&&(f=b.clone().subtract(d.stepping,"m")),$(),l},l.minDate=function(a){if(0===arguments.length)return d.minDate?d.minDate.clone():d.minDate;if("boolean"==typeof a&&a===!1)return d.minDate=!1,$(),l;"string"==typeof a&&("now"===a||"moment"===a)&&(a=x());var b=ga(a);if(!b.isValid())throw new TypeError("minDate() Could not parse date parameter: "+a);if(d.maxDate&&b.isAfter(d.maxDate))throw new TypeError("minDate() date parameter is after options.maxDate: "+b.format(i));return d.minDate=b,d.useCurrent&&!d.keepInvalid&&e.isBefore(a)&&_(d.minDate),f.isBefore(b)&&(f=b.clone().add(d.stepping,"m")),$(),l},l.defaultDate=function(a){if(0===arguments.length)return d.defaultDate?d.defaultDate.clone():d.defaultDate;if(!a)return d.defaultDate=!1,l;"string"==typeof a&&("now"===a||"moment"===a)&&(a=x());var b=ga(a);if(!b.isValid())throw new TypeError("defaultDate() Could not parse date parameter: "+a);if(!Q(b))throw new TypeError("defaultDate() date passed is invalid according to component setup validations");return d.defaultDate=b,(d.defaultDate&&d.inline||""===g.val().trim())&&_(d.defaultDate),l},l.locale=function(a){if(0===arguments.length)return d.locale;if(!b.localeData(a))throw new TypeError("locale() locale "+a+" is not loaded from moment locales!");return d.locale=a,e.locale(d.locale),f.locale(d.locale),i&&oa(),o&&(aa(),ea()),l},l.stepping=function(a){return 0===arguments.length?d.stepping:(a=parseInt(a,10),(isNaN(a)||1>a)&&(a=1),d.stepping=a,l)},l.useCurrent=function(a){var b=["year","month","day","hour","minute"];if(0===arguments.length)return d.useCurrent;if("boolean"!=typeof a&&"string"!=typeof a)throw new TypeError("useCurrent() expects a boolean or string parameter");if("string"==typeof a&&-1===b.indexOf(a.toLowerCase()))throw new TypeError("useCurrent() expects a string parameter of "+b.join(", "));return d.useCurrent=a,l},l.collapse=function(a){if(0===arguments.length)return d.collapse;if("boolean"!=typeof a)throw new TypeError("collapse() expects a boolean parameter");return d.collapse===a?l:(d.collapse=a,o&&(aa(),ea()),l)},l.icons=function(b){if(0===arguments.length)return a.extend({},d.icons);if(!(b instanceof Object))throw new TypeError("icons() expects parameter to be an Object");return a.extend(d.icons,b),o&&(aa(),ea()),l},l.tooltips=function(b){if(0===arguments.length)return a.extend({},d.tooltips);if(!(b instanceof Object))throw new TypeError("tooltips() expects parameter to be an Object");return a.extend(d.tooltips,b),o&&(aa(),ea()),l},l.useStrict=function(a){if(0===arguments.length)return d.useStrict;if("boolean"!=typeof a)throw new TypeError("useStrict() expects a boolean parameter");return d.useStrict=a,l},l.sideBySide=function(a){if(0===arguments.length)return d.sideBySide;if("boolean"!=typeof a)throw new TypeError("sideBySide() expects a boolean parameter");return d.sideBySide=a,o&&(aa(),ea()),l},l.viewMode=function(a){if(0===arguments.length)return d.viewMode;if("string"!=typeof a)throw new TypeError("viewMode() expects a string parameter");if(-1===r.indexOf(a))throw new TypeError("viewMode() parameter must be one of ("+r.join(", ")+") value");return d.viewMode=a,k=Math.max(r.indexOf(a),p),K(),l},l.toolbarPlacement=function(a){if(0===arguments.length)return d.toolbarPlacement;if("string"!=typeof a)throw new TypeError("toolbarPlacement() expects a string parameter");if(-1===u.indexOf(a))throw new TypeError("toolbarPlacement() parameter must be one of ("+u.join(", ")+") value");return d.toolbarPlacement=a,o&&(aa(),ea()),l},l.widgetPositioning=function(b){if(0===arguments.length)return a.extend({},d.widgetPositioning);if("[object Object]"!=={}.toString.call(b))throw new TypeError("widgetPositioning() expects an object variable");if(b.horizontal){if("string"!=typeof b.horizontal)throw new TypeError("widgetPositioning() horizontal variable must be a string");if(b.horizontal=b.horizontal.toLowerCase(),-1===t.indexOf(b.horizontal))throw new TypeError("widgetPositioning() expects horizontal parameter to be one of ("+t.join(", ")+")");d.widgetPositioning.horizontal=b.horizontal}if(b.vertical){if("string"!=typeof b.vertical)throw new TypeError("widgetPositioning() vertical variable must be a string");if(b.vertical=b.vertical.toLowerCase(),-1===s.indexOf(b.vertical))throw new TypeError("widgetPositioning() expects vertical parameter to be one of ("+s.join(", ")+")");d.widgetPositioning.vertical=b.vertical}return $(),l},l.calendarWeeks=function(a){if(0===arguments.length)return d.calendarWeeks;if("boolean"!=typeof a)throw new TypeError("calendarWeeks() expects parameter to be a boolean value");return d.calendarWeeks=a,$(),l},l.showTodayButton=function(a){if(0===arguments.length)return d.showTodayButton;if("boolean"!=typeof a)throw new TypeError("showTodayButton() expects a boolean parameter");return d.showTodayButton=a,o&&(aa(),ea()),l},l.showClear=function(a){if(0===arguments.length)return d.showClear;if("boolean"!=typeof a)throw new TypeError("showClear() expects a boolean parameter");return d.showClear=a,o&&(aa(),ea()),l},l.widgetParent=function(b){if(0===arguments.length)return d.widgetParent;if("string"==typeof b&&(b=a(b)),null!==b&&"string"!=typeof b&&!(b instanceof a))throw new TypeError("widgetParent() expects a string or a jQuery object parameter");return d.widgetParent=b,o&&(aa(),ea()),l},l.keepOpen=function(a){if(0===arguments.length)return d.keepOpen;if("boolean"!=typeof a)throw new TypeError("keepOpen() expects a boolean parameter");return d.keepOpen=a,l},l.focusOnShow=function(a){if(0===arguments.length)return d.focusOnShow;if("boolean"!=typeof a)throw new TypeError("focusOnShow() expects a boolean parameter");return d.focusOnShow=a,l},l.inline=function(a){if(0===arguments.length)return d.inline;if("boolean"!=typeof a)throw new TypeError("inline() expects a boolean parameter");return d.inline=a,l},l.clear=function(){return ba(),l},l.keyBinds=function(a){return d.keyBinds=a,l},l.getMoment=function(a){return x(a)},l.debug=function(a){if("boolean"!=typeof a)throw new TypeError("debug() expects a boolean parameter");return d.debug=a,l},l.allowInputToggle=function(a){if(0===arguments.length)return d.allowInputToggle;if("boolean"!=typeof a)throw new TypeError("allowInputToggle() expects a boolean parameter");return d.allowInputToggle=a,l},l.showClose=function(a){if(0===arguments.length)return d.showClose;if("boolean"!=typeof a)throw new TypeError("showClose() expects a boolean parameter");return d.showClose=a,l},l.keepInvalid=function(a){if(0===arguments.length)return d.keepInvalid;if("boolean"!=typeof a)throw new TypeError("keepInvalid() expects a boolean parameter");return d.keepInvalid=a,l},l.datepickerInput=function(a){if(0===arguments.length)return d.datepickerInput;if("string"!=typeof a)throw new TypeError("datepickerInput() expects a string parameter");return d.datepickerInput=a,l},l.parseInputDate=function(a){if(0===arguments.length)return d.parseInputDate; +if("function"!=typeof a)throw new TypeError("parseInputDate() sholud be as function");return d.parseInputDate=a,l},l.disabledTimeIntervals=function(b){if(0===arguments.length)return d.disabledTimeIntervals?a.extend({},d.disabledTimeIntervals):d.disabledTimeIntervals;if(!b)return d.disabledTimeIntervals=!1,$(),l;if(!(b instanceof Array))throw new TypeError("disabledTimeIntervals() expects an array parameter");return d.disabledTimeIntervals=b,$(),l},l.disabledHours=function(b){if(0===arguments.length)return d.disabledHours?a.extend({},d.disabledHours):d.disabledHours;if(!b)return d.disabledHours=!1,$(),l;if(!(b instanceof Array))throw new TypeError("disabledHours() expects an array parameter");if(d.disabledHours=na(b),d.enabledHours=!1,d.useCurrent&&!d.keepInvalid){for(var c=0;!Q(e,"h");){if(e.add(1,"h"),24===c)throw"Tried 24 times to find a valid date";c++}_(e)}return $(),l},l.enabledHours=function(b){if(0===arguments.length)return d.enabledHours?a.extend({},d.enabledHours):d.enabledHours;if(!b)return d.enabledHours=!1,$(),l;if(!(b instanceof Array))throw new TypeError("enabledHours() expects an array parameter");if(d.enabledHours=na(b),d.disabledHours=!1,d.useCurrent&&!d.keepInvalid){for(var c=0;!Q(e,"h");){if(e.add(1,"h"),24===c)throw"Tried 24 times to find a valid date";c++}_(e)}return $(),l},l.viewDate=function(a){if(0===arguments.length)return f.clone();if(!a)return f=e.clone(),l;if(!("string"==typeof a||b.isMoment(a)||a instanceof Date))throw new TypeError("viewDate() parameter must be one of [string, moment or Date]");return f=ga(a),J(),l},c.is("input"))g=c;else if(g=c.find(d.datepickerInput),0===g.size())g=c.find("input");else if(!g.is("input"))throw new Error('CSS class "'+d.datepickerInput+'" cannot be applied to non input element');if(c.hasClass("input-group")&&(n=0===c.find(".datepickerbutton").size()?c.find(".input-group-addon"):c.find(".datepickerbutton")),!d.inline&&!g.is("input"))throw new Error("Could not initialize DateTimePicker without an input element");return e=x(),f=e.clone(),a.extend(!0,d,G()),l.options(d),oa(),ka(),g.prop("disabled")&&l.disable(),g.is("input")&&0!==g.val().trim().length?_(ga(g.val().trim())):d.defaultDate&&void 0===g.attr("placeholder")&&_(d.defaultDate),d.inline&&ea(),l};a.fn.datetimepicker=function(b){return this.each(function(){var d=a(this);d.data("DateTimePicker")||(b=a.extend(!0,{},a.fn.datetimepicker.defaults,b),d.data("DateTimePicker",c(d,b)))})},a.fn.datetimepicker.defaults={timeZone:"Etc/UTC",format:!1,dayViewHeaderFormat:"MMMM YYYY",extraFormats:!1,stepping:1,minDate:!1,maxDate:!1,useCurrent:!0,collapse:!0,locale:b.locale(),defaultDate:!1,disabledDates:!1,enabledDates:!1,icons:{time:"glyphicon glyphicon-time",date:"glyphicon glyphicon-calendar",up:"glyphicon glyphicon-chevron-up",down:"glyphicon glyphicon-chevron-down",previous:"glyphicon glyphicon-chevron-left",next:"glyphicon glyphicon-chevron-right",today:"glyphicon glyphicon-screenshot",clear:"glyphicon glyphicon-trash",close:"glyphicon glyphicon-remove"},tooltips:{today:"Go to today",clear:"Clear selection",close:"Close the picker",selectMonth:"Select Month",prevMonth:"Previous Month",nextMonth:"Next Month",selectYear:"Select Year",prevYear:"Previous Year",nextYear:"Next Year",selectDecade:"Select Decade",prevDecade:"Previous Decade",nextDecade:"Next Decade",prevCentury:"Previous Century",nextCentury:"Next Century",pickHour:"Pick Hour",incrementHour:"Increment Hour",decrementHour:"Decrement Hour",pickMinute:"Pick Minute",incrementMinute:"Increment Minute",decrementMinute:"Decrement Minute",pickSecond:"Pick Second",incrementSecond:"Increment Second",decrementSecond:"Decrement Second",togglePeriod:"Toggle Period",selectTime:"Select Time"},useStrict:!1,sideBySide:!1,daysOfWeekDisabled:!1,calendarWeeks:!1,viewMode:"days",toolbarPlacement:"default",showTodayButton:!1,showClear:!1,showClose:!1,widgetPositioning:{horizontal:"auto",vertical:"auto"},widgetParent:null,ignoreReadonly:!1,keepOpen:!1,focusOnShow:!0,inline:!1,keepInvalid:!1,datepickerInput:".datepickerinput",keyBinds:{up:function(a){if(a){var b=this.date()||this.getMoment();a.find(".datepicker").is(":visible")?this.date(b.clone().subtract(7,"d")):this.date(b.clone().add(this.stepping(),"m"))}},down:function(a){if(!a)return void this.show();var b=this.date()||this.getMoment();a.find(".datepicker").is(":visible")?this.date(b.clone().add(7,"d")):this.date(b.clone().subtract(this.stepping(),"m"))},"control up":function(a){if(a){var b=this.date()||this.getMoment();a.find(".datepicker").is(":visible")?this.date(b.clone().subtract(1,"y")):this.date(b.clone().add(1,"h"))}},"control down":function(a){if(a){var b=this.date()||this.getMoment();a.find(".datepicker").is(":visible")?this.date(b.clone().add(1,"y")):this.date(b.clone().subtract(1,"h"))}},left:function(a){if(a){var b=this.date()||this.getMoment();a.find(".datepicker").is(":visible")&&this.date(b.clone().subtract(1,"d"))}},right:function(a){if(a){var b=this.date()||this.getMoment();a.find(".datepicker").is(":visible")&&this.date(b.clone().add(1,"d"))}},pageUp:function(a){if(a){var b=this.date()||this.getMoment();a.find(".datepicker").is(":visible")&&this.date(b.clone().subtract(1,"M"))}},pageDown:function(a){if(a){var b=this.date()||this.getMoment();a.find(".datepicker").is(":visible")&&this.date(b.clone().add(1,"M"))}},enter:function(){this.hide()},escape:function(){this.hide()},"control space":function(a){a.find(".timepicker").is(":visible")&&a.find('.btn[data-action="togglePeriod"]').click()},t:function(){this.date(this.getMoment())},"delete":function(){this.clear()}},debug:!1,allowInputToggle:!1,disabledTimeIntervals:!1,disabledHours:!1,enabledHours:!1,viewDate:!1}}); \ No newline at end of file diff --git a/src/demo/manager/src/main/webapp/assets/js/bootstrap-inputmask/bootstrap-inputmask.min.js b/src/demo/manager/src/main/webapp/assets/js/bootstrap-inputmask/bootstrap-inputmask.min.js new file mode 100644 index 00000000..58820463 --- /dev/null +++ b/src/demo/manager/src/main/webapp/assets/js/bootstrap-inputmask/bootstrap-inputmask.min.js @@ -0,0 +1,7 @@ +/** +* Bootstrap.js by @mdo and @fat, extended by @ArnoldDaniels. +* plugins: bootstrap-inputmask.js +* Copyright 2012 Twitter, Inc. +* http://www.apache.org/licenses/LICENSE-2.0.txt +*/ +!function(e){var t=window.orientation!==undefined,n=navigator.userAgent.toLowerCase().indexOf("android")>-1,r=function(t,r){if(n)return;this.$element=e(t),this.options=e.extend({},e.fn.inputmask.defaults,r),this.mask=String(r.mask),this.init(),this.listen(),this.checkVal()};r.prototype={init:function(){var t=this.options.definitions,n=this.mask.length;this.tests=[],this.partialPosition=this.mask.length,this.firstNonMaskPos=null,e.each(this.mask.split(""),e.proxy(function(e,r){r=="?"?(n--,this.partialPosition=e):t[r]?(this.tests.push(new RegExp(t[r])),this.firstNonMaskPos===null&&(this.firstNonMaskPos=this.tests.length-1)):this.tests.push(null)},this)),this.buffer=e.map(this.mask.split(""),e.proxy(function(e,n){if(e!="?")return t[e]?this.options.placeholder:e},this)),this.focusText=this.$element.val(),this.$element.data("rawMaskFn",e.proxy(function(){return e.map(this.buffer,function(e,t){return this.tests[t]&&e!=this.options.placeholder?e:null}).join("")},this))},listen:function(){if(this.$element.attr("readonly"))return;var t=(navigator.userAgent.match(/msie/i)?"paste":"input")+".mask";this.$element.on("unmask",e.proxy(this.unmask,this)).on("focus.mask",e.proxy(this.focusEvent,this)).on("blur.mask",e.proxy(this.blurEvent,this)).on("keydown.mask",e.proxy(this.keydownEvent,this)).on("keypress.mask",e.proxy(this.keypressEvent,this)).on(t,e.proxy(this.pasteEvent,this))},caret:function(e,t){if(this.$element.length===0)return;if(typeof e=="number")return t=typeof t=="number"?t:e,this.$element.each(function(){if(this.setSelectionRange)this.setSelectionRange(e,t);else if(this.createTextRange){var n=this.createTextRange();n.collapse(!0),n.moveEnd("character",t),n.moveStart("character",e),n.select()}});if(this.$element[0].setSelectionRange)e=this.$element[0].selectionStart,t=this.$element[0].selectionEnd;else if(document.selection&&document.selection.createRange){var n=document.selection.createRange();e=0-n.duplicate().moveStart("character",-1e5),t=e+n.text.length}return{begin:e,end:t}},seekNext:function(e){var t=this.mask.length;while(++e<=t&&!this.tests[e]);return e},seekPrev:function(e){while(--e>=0&&!this.tests[e]);return e},shiftL:function(e,t){var n=this.mask.length;if(e<0)return;for(var r=e,i=this.seekNext(t);rn.length)break}else this.buffer[i]==n.charAt(s)&&i!=this.partialPosition&&(s++,r=i);if(!e&&r+1=this.partialPosition)this.writeBuffer(),e||this.$element.val(this.$element.val().substring(0,r+1));return this.partialPosition?i:this.firstNonMaskPos}},e.fn.inputmask=function(t){return this.each(function(){var n=e(this),i=n.data("inputmask");i||n.data("inputmask",i=new r(this,t))})},e.fn.inputmask.defaults={mask:"",placeholder:"_",definitions:{9:"[0-9]",a:"[A-Za-z]","?":"[A-Za-z0-9]","*":"."}},e.fn.inputmask.Constructor=r,e(document).on("focus.inputmask.data-api","[data-mask]",function(t){var n=e(this);if(n.data("inputmask"))return;t.preventDefault(),n.inputmask(n.data())})}(window.jQuery) \ No newline at end of file diff --git a/src/demo/manager/src/main/webapp/assets/js/bootstrap-table-export.min.js b/src/demo/manager/src/main/webapp/assets/js/bootstrap-table-export.min.js new file mode 100644 index 00000000..45307642 --- /dev/null +++ b/src/demo/manager/src/main/webapp/assets/js/bootstrap-table-export.min.js @@ -0,0 +1,7 @@ +/* +* bootstrap-table - v1.11.0 - 2016-07-02 +* https://github.com/wenzhixin/bootstrap-table +* Copyright (c) 2016 zhixin wen +* Licensed MIT License +*/ +!function(a){"use strict";var b=a.fn.bootstrapTable.utils.sprintf,c={json:"JSON",xml:"XML",png:"PNG",csv:"CSV",txt:"TXT",sql:"SQL",doc:"MS-Word",excel:"MS-Excel",powerpoint:"MS-Powerpoint",pdf:"PDF"};a.extend(a.fn.bootstrapTable.defaults,{showExport:!1,exportDataType:"basic",exportTypes:["json","xml","csv","txt","sql","excel"],exportOptions:{}}),a.extend(a.fn.bootstrapTable.defaults.icons,{"export":"glyphicon-export icon-share"}),a.extend(a.fn.bootstrapTable.locales,{formatExport:function(){return"Export data"}}),a.extend(a.fn.bootstrapTable.defaults,a.fn.bootstrapTable.locales);var d=a.fn.bootstrapTable.Constructor,e=d.prototype.initToolbar;d.prototype.initToolbar=function(){if(this.showToolbar=this.options.showExport,e.apply(this,Array.prototype.slice.apply(arguments)),this.options.showExport){var d=this,f=this.$toolbar.find(">.btn-group"),g=f.find("div.export");if(!g.length){g=a(['
    ','",'","
    "].join("")).appendTo(f);var h=g.find(".dropdown-menu"),i=this.options.exportTypes;if("string"==typeof this.options.exportTypes){var j=this.options.exportTypes.slice(1,-1).replace(/ /g,"").split(",");i=[],a.each(j,function(a,b){i.push(b.slice(1,-1))})}a.each(i,function(a,b){c.hasOwnProperty(b)&&h.append(['
  1. ','',c[b],"","
  2. "].join(""))}),h.find("li").click(function(){var b=a(this).data("type"),c=function(){d.$el.tableExport(a.extend({},d.options.exportOptions,{type:b,escape:!1}))};if("all"===d.options.exportDataType&&d.options.pagination)d.$el.one("server"===d.options.sidePagination?"post-body.bs.table":"page-change.bs.table",function(){c(),d.togglePagination()}),d.togglePagination();else if("selected"===d.options.exportDataType){var e=d.getData(),f=d.getAllSelections();d.load(f),c(),d.load(e)}else c()})}}}}(jQuery); \ No newline at end of file diff --git a/src/demo/manager/src/main/webapp/assets/js/bootstrap-table-reorder-rows.min.js b/src/demo/manager/src/main/webapp/assets/js/bootstrap-table-reorder-rows.min.js new file mode 100644 index 00000000..3382074b --- /dev/null +++ b/src/demo/manager/src/main/webapp/assets/js/bootstrap-table-reorder-rows.min.js @@ -0,0 +1,7 @@ +/* +* bootstrap-table - v1.11.0 - 2016-07-02 +* https://github.com/wenzhixin/bootstrap-table +* Copyright (c) 2016 zhixin wen +* Licensed MIT License +*/ +!function(a){"use strict";var b=function(a,b){return{id:"customId_"+b}};a.extend(a.fn.bootstrapTable.defaults,{reorderableRows:!1,onDragStyle:null,onDropStyle:null,onDragClass:"reorder_rows_onDragClass",dragHandle:null,useRowAttrFunc:!1,onReorderRowsDrag:function(){return!1},onReorderRowsDrop:function(){return!1},onReorderRow:function(){return!1}}),a.extend(a.fn.bootstrapTable.Constructor.EVENTS,{"reorder-row.bs.table":"onReorderRow"});var c=a.fn.bootstrapTable.Constructor,d=c.prototype.init,e=c.prototype.initSearch;c.prototype.init=function(){if(!this.options.reorderableRows)return void d.apply(this,Array.prototype.slice.apply(arguments));var a=this;this.options.useRowAttrFunc&&(this.options.rowAttributes=b);var c=this.options.onPostBody;this.options.onPostBody=function(){setTimeout(function(){a.makeRowsReorderable(),c.apply()},1)},d.apply(this,Array.prototype.slice.apply(arguments))},c.prototype.initSearch=function(){e.apply(this,Array.prototype.slice.apply(arguments)),!this.options.reorderableRows},c.prototype.makeRowsReorderable=function(){if(!this.options.cardView){var a=this;this.$el.tableDnD({onDragStyle:a.options.onDragStyle,onDropStyle:a.options.onDropStyle,onDragClass:a.options.onDragClass,onDrop:a.onDrop,onDragStart:a.options.onReorderRowsDrag,dragHandle:a.options.dragHandle})}},c.prototype.onDrop=function(b,c){for(var d=a(b),e=d.data("bootstrap.table"),f=d.data("bootstrap.table").options,g=null,h=[],i=0;id;d++)g[c][d]=!1;for(c=0;ce;e++)g[c+e][k]=!0;for(e=0;j>e;e++)g[c][k+e]=!0}},g=function(){if(null===b){var c,d,e=a("

    ").addClass("fixed-table-scroll-inner"),f=a("

    ").addClass("fixed-table-scroll-outer");f.append(e),a("body").append(f),c=e[0].offsetWidth,f.css("overflow","scroll"),d=e[0].offsetWidth,c===d&&(d=f[0].clientWidth),f.remove(),b=c-d}return b},h=function(b,d,e,f){var g=d;if("string"==typeof d){var h=d.split(".");h.length>1?(g=window,a.each(h,function(a,b){g=g[b]})):g=window[d]}return"object"==typeof g?g:"function"==typeof g?g.apply(b,e):!g&&"string"==typeof d&&c.apply(this,[d].concat(e))?c.apply(this,[d].concat(e)):f},i=function(b,c,d){var e=Object.getOwnPropertyNames(b),f=Object.getOwnPropertyNames(c),g="";if(d&&e.length!==f.length)return!1;for(var h=0;h-1&&b[g]!==c[g])return!1;return!0},j=function(a){return"string"==typeof a?a.replace(/&/g,"&").replace(//g,">").replace(/"/g,""").replace(/'/g,"'").replace(/`/g,"`"):a},k=function(b){var c=0;return b.children().each(function(){c0||navigator.userAgent.match(/Trident.*rv\:11\./))},o=function(){Object.keys||(Object.keys=function(){var a=Object.prototype.hasOwnProperty,b=!{toString:null}.propertyIsEnumerable("toString"),c=["toString","toLocaleString","valueOf","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","constructor"],d=c.length;return function(e){if("object"!=typeof e&&("function"!=typeof e||null===e))throw new TypeError("Object.keys called on non-object");var f,g,h=[];for(f in e)a.call(e,f)&&h.push(f);if(b)for(g=0;d>g;g++)a.call(e,c[g])&&h.push(c[g]);return h}}())},p=function(b,c){this.options=c,this.$el=a(b),this.$el_=this.$el.clone(),this.timeoutId_=0,this.timeoutFooter_=0,this.init()};p.DEFAULTS={classes:"table table-hover",locale:void 0,height:void 0,undefinedText:"-",sortName:void 0,sortOrder:"asc",sortStable:!1,striped:!1,columns:[[]],data:[],dataField:"rows",method:"get",url:void 0,ajax:void 0,cache:!0,contentType:"application/json",dataType:"json",ajaxOptions:{},queryParams:function(a){return a},queryParamsType:"limit",responseHandler:function(a){return a},pagination:!1,onlyInfoPagination:!1,sidePagination:"client",totalRows:0,pageNumber:1,pageSize:10,pageList:[10,25,50,100],paginationHAlign:"right",paginationVAlign:"bottom",paginationDetailHAlign:"left",paginationPreText:"‹",paginationNextText:"›",search:!1,searchOnEnterKey:!1,strictSearch:!1,searchAlign:"right",selectItemName:"btSelectItem",showHeader:!0,showFooter:!1,showColumns:!1,showPaginationSwitch:!1,showRefresh:!1,showToggle:!1,buttonsAlign:"right",smartDisplay:!0,escape:!1,minimumCountColumns:1,idField:void 0,uniqueId:void 0,cardView:!1,detailView:!1,detailFormatter:function(){return""},trimOnSearch:!0,clickToSelect:!1,singleSelect:!1,toolbar:void 0,toolbarAlign:"left",checkboxHeader:!0,sortable:!0,silentSort:!0,maintainSelected:!1,searchTimeOut:500,searchText:"",iconSize:void 0,buttonsClass:"default",iconsPrefix:"glyphicon",icons:{paginationSwitchDown:"glyphicon-collapse-down icon-chevron-down",paginationSwitchUp:"glyphicon-collapse-up icon-chevron-up",refresh:"glyphicon-refresh icon-refresh",toggle:"glyphicon-list-alt icon-list-alt",columns:"glyphicon-th icon-th",detailOpen:"glyphicon-plus icon-plus",detailClose:"glyphicon-minus icon-minus"},customSearch:a.noop,customSort:a.noop,rowStyle:function(){return{}},rowAttributes:function(){return{}},footerStyle:function(){return{}},onAll:function(){return!1},onClickCell:function(){return!1},onDblClickCell:function(){return!1},onClickRow:function(){return!1},onDblClickRow:function(){return!1},onSort:function(){return!1},onCheck:function(){return!1},onUncheck:function(){return!1},onCheckAll:function(){return!1},onUncheckAll:function(){return!1},onCheckSome:function(){return!1},onUncheckSome:function(){return!1},onLoadSuccess:function(){return!1},onLoadError:function(){return!1},onColumnSwitch:function(){return!1},onPageChange:function(){return!1},onSearch:function(){return!1},onToggle:function(){return!1},onPreBody:function(){return!1},onPostBody:function(){return!1},onPostHeader:function(){return!1},onExpandRow:function(){return!1},onCollapseRow:function(){return!1},onRefreshOptions:function(){return!1},onRefresh:function(){return!1},onResetView:function(){return!1}},p.LOCALES={},p.LOCALES["en-US"]=p.LOCALES.en={formatLoadingMessage:function(){return"Loading, please wait..."},formatRecordsPerPage:function(a){return c("%s rows per page",a)},formatShowingRows:function(a,b,d){return c("Showing %s to %s of %s rows",a,b,d)},formatDetailPagination:function(a){return c("Showing %s rows",a)},formatSearch:function(){return"Search"},formatNoMatches:function(){return"No matching records found"},formatPaginationSwitch:function(){return"Hide/Show pagination"},formatRefresh:function(){return"Refresh"},formatToggle:function(){return"Toggle"},formatColumns:function(){return"Columns"},formatAllRows:function(){return"All"}},a.extend(p.DEFAULTS,p.LOCALES["en-US"]),p.COLUMN_DEFAULTS={radio:!1,checkbox:!1,checkboxEnabled:!0,field:void 0,title:void 0,titleTooltip:void 0,"class":void 0,align:void 0,halign:void 0,falign:void 0,valign:void 0,width:void 0,sortable:!1,order:"asc",visible:!0,switchable:!0,clickToSelect:!0,formatter:void 0,footerFormatter:void 0,events:void 0,sorter:void 0,sortName:void 0,cellStyle:void 0,searchable:!0,searchFormatter:!0,cardVisible:!0},p.EVENTS={"all.bs.table":"onAll","click-cell.bs.table":"onClickCell","dbl-click-cell.bs.table":"onDblClickCell","click-row.bs.table":"onClickRow","dbl-click-row.bs.table":"onDblClickRow","sort.bs.table":"onSort","check.bs.table":"onCheck","uncheck.bs.table":"onUncheck","check-all.bs.table":"onCheckAll","uncheck-all.bs.table":"onUncheckAll","check-some.bs.table":"onCheckSome","uncheck-some.bs.table":"onUncheckSome","load-success.bs.table":"onLoadSuccess","load-error.bs.table":"onLoadError","column-switch.bs.table":"onColumnSwitch","page-change.bs.table":"onPageChange","search.bs.table":"onSearch","toggle.bs.table":"onToggle","pre-body.bs.table":"onPreBody","post-body.bs.table":"onPostBody","post-header.bs.table":"onPostHeader","expand-row.bs.table":"onExpandRow","collapse-row.bs.table":"onCollapseRow","refresh-options.bs.table":"onRefreshOptions","reset-view.bs.table":"onResetView","refresh.bs.table":"onRefresh"},p.prototype.init=function(){this.initLocale(),this.initContainer(),this.initTable(),this.initHeader(),this.initData(),this.initFooter(),this.initToolbar(),this.initPagination(),this.initBody(),this.initSearchText(),this.initServer()},p.prototype.initLocale=function(){if(this.options.locale){var b=this.options.locale.split(/-|_/);b[0].toLowerCase(),b[1]&&b[1].toUpperCase(),a.fn.bootstrapTable.locales[this.options.locale]?a.extend(this.options,a.fn.bootstrapTable.locales[this.options.locale]):a.fn.bootstrapTable.locales[b.join("-")]?a.extend(this.options,a.fn.bootstrapTable.locales[b.join("-")]):a.fn.bootstrapTable.locales[b[0]]&&a.extend(this.options,a.fn.bootstrapTable.locales[b[0]])}},p.prototype.initContainer=function(){this.$container=a(['
    ','
    ',"top"===this.options.paginationVAlign||"both"===this.options.paginationVAlign?'
    ':"",'
    ','
    ").addClass("cw").text("#"));c.isBefore(f.clone().endOf("w"));)b.append(a("").addClass("dow").text(c.format("dd"))),c.add(1,"d");o.find(".datepicker-days thead").append(b)},M=function(a){return d.disabledDates[a.format("YYYY-MM-DD")]===!0},N=function(a){return d.enabledDates[a.format("YYYY-MM-DD")]===!0},O=function(a){return d.disabledHours[a.format("H")]===!0},P=function(a){return d.enabledHours[a.format("H")]===!0},Q=function(b,c){if(!b.isValid())return!1;if(d.disabledDates&&"d"===c&&M(b))return!1;if(d.enabledDates&&"d"===c&&!N(b))return!1;if(d.minDate&&b.isBefore(d.minDate,c))return!1;if(d.maxDate&&b.isAfter(d.maxDate,c))return!1;if(d.daysOfWeekDisabled&&"d"===c&&-1!==d.daysOfWeekDisabled.indexOf(b.day()))return!1;if(d.disabledHours&&("h"===c||"m"===c||"s"===c)&&O(b))return!1;if(d.enabledHours&&("h"===c||"m"===c||"s"===c)&&!P(b))return!1;if(d.disabledTimeIntervals&&("h"===c||"m"===c||"s"===c)){var e=!1;if(a.each(d.disabledTimeIntervals,function(){return b.isBetween(this[0],this[1])?(e=!0,!1):void 0}),e)return!1}return!0},R=function(){for(var b=[],c=f.clone().startOf("y").startOf("d");c.isSame(f,"y");)b.push(a("").attr("data-action","selectMonth").addClass("month").text(c.format("MMM"))),c.add(1,"M");o.find(".datepicker-months td").empty().append(b)},S=function(){var b=o.find(".datepicker-months"),c=b.find("th"),g=b.find("tbody").find("span");c.eq(0).find("span").attr("title",d.tooltips.prevYear),c.eq(1).attr("title",d.tooltips.selectYear),c.eq(2).find("span").attr("title",d.tooltips.nextYear),b.find(".disabled").removeClass("disabled"),Q(f.clone().subtract(1,"y"),"y")||c.eq(0).addClass("disabled"),c.eq(1).text(f.year()),Q(f.clone().add(1,"y"),"y")||c.eq(2).addClass("disabled"),g.removeClass("active"),e.isSame(f,"y")&&!m&&g.eq(e.month()).addClass("active"),g.each(function(b){Q(f.clone().month(b),"M")||a(this).addClass("disabled")})},T=function(){var a=o.find(".datepicker-years"),b=a.find("th"),c=f.clone().subtract(5,"y"),g=f.clone().add(6,"y"),h="";for(b.eq(0).find("span").attr("title",d.tooltips.prevDecade),b.eq(1).attr("title",d.tooltips.selectDecade),b.eq(2).find("span").attr("title",d.tooltips.nextDecade),a.find(".disabled").removeClass("disabled"),d.minDate&&d.minDate.isAfter(c,"y")&&b.eq(0).addClass("disabled"),b.eq(1).text(c.year()+"-"+g.year()),d.maxDate&&d.maxDate.isBefore(g,"y")&&b.eq(2).addClass("disabled");!c.isAfter(g,"y");)h+=''+c.year()+"",c.add(1,"y");a.find("td").html(h)},U=function(){var a=o.find(".datepicker-decades"),c=a.find("th"),g=b({y:f.year()-f.year()%100-1}),h=g.clone().add(100,"y"),i=g.clone(),j="";for(c.eq(0).find("span").attr("title",d.tooltips.prevCentury),c.eq(2).find("span").attr("title",d.tooltips.nextCentury),a.find(".disabled").removeClass("disabled"),(g.isSame(b({y:1900}))||d.minDate&&d.minDate.isAfter(g,"y"))&&c.eq(0).addClass("disabled"),c.eq(1).text(g.year()+"-"+h.year()),(g.isSame(b({y:2e3}))||d.maxDate&&d.maxDate.isBefore(h,"y"))&&c.eq(2).addClass("disabled");!g.isAfter(h,"y");)j+=''+(g.year()+1)+" - "+(g.year()+12)+"",g.add(12,"y");j+="",a.find("td").html(j),c.eq(1).text(i.year()+1+"-"+g.year())},V=function(){var b,c,g,h,i=o.find(".datepicker-days"),j=i.find("th"),k=[];if(A()){for(j.eq(0).find("span").attr("title",d.tooltips.prevMonth),j.eq(1).attr("title",d.tooltips.selectMonth),j.eq(2).find("span").attr("title",d.tooltips.nextMonth),i.find(".disabled").removeClass("disabled"),j.eq(1).text(f.format(d.dayViewHeaderFormat)),Q(f.clone().subtract(1,"M"),"M")||j.eq(0).addClass("disabled"),Q(f.clone().add(1,"M"),"M")||j.eq(2).addClass("disabled"),b=f.clone().startOf("M").startOf("w").startOf("d"),h=0;42>h;h++)0===b.weekday()&&(c=a("
    '+b.week()+"'+b.date()+"
    '+c.format(h?"HH":"hh")+"
    '+c.format("mm")+"
    '+c.format("ss")+"
    ','
    ','
    ',this.options.formatLoadingMessage(),"
    ","
    ",'',"bottom"===this.options.paginationVAlign||"both"===this.options.paginationVAlign?'
    ':"","",""].join("")),this.$container.insertAfter(this.$el),this.$tableContainer=this.$container.find(".fixed-table-container"),this.$tableHeader=this.$container.find(".fixed-table-header"),this.$tableBody=this.$container.find(".fixed-table-body"),this.$tableLoading=this.$container.find(".fixed-table-loading"),this.$tableFooter=this.$container.find(".fixed-table-footer"),this.$toolbar=this.$container.find(".fixed-table-toolbar"),this.$pagination=this.$container.find(".fixed-table-pagination"),this.$tableBody.append(this.$el),this.$container.after('
    '),this.$el.addClass(this.options.classes),this.options.striped&&this.$el.addClass("table-striped"),-1!==a.inArray("table-no-bordered",this.options.classes.split(" "))&&this.$tableContainer.addClass("table-no-bordered")},p.prototype.initTable=function(){var b=this,c=[],d=[];if(this.$header=this.$el.find(">thead"),this.$header.length||(this.$header=a("
    ',this.header.fields.length)),!this.options.cardView&&this.options.detailView&&g.push("
    ",'',c('',this.options.iconsPrefix,this.options.icons.detailOpen),"","',x["class"]||""),"",f.header.formatters[b]&&"string"==typeof j?j:"",f.options.cardView?"":"
    %s
     
    "; + html+=""; + + for(var j in pd.params){ + var ps = pd.params[j]; + html+=""; + } + + html+="
    "+pd.group+"
    "+ps+":
    "; + } + html+= ""; + $("#"+formId+" .params td").eq(1).html(html); + }else{ + $("#"+formId+" .params").hide(); + $("#"+formId+" .params td").eq(1).empty(); + } + }); + }, + getSelectionsIds : function (select){ + var list = $(select); + var sels = list.datagrid("getSelections"); + var ids = []; + for(var i in sels){ + ids.push(sels[i].id); + } + ids = ids.join(","); + return ids; + }, + + /** + * 初始化单图片上传组件
    + * 选择器为:.onePicUpload
    + * 上传完成后会设置input内容以及在input后面追加 + */ + initOnePicUpload : function(){ + $(".onePicUpload").click(function(){ + var _self = $(this); + KindEditor.editor(TT.kingEditorParams).loadPlugin('image', function() { + this.plugin.imageDialog({ + showRemote : false, + clickFn : function(url, title, width, height, border, align) { + var input = _self.siblings("input"); + input.parent().find("img").remove(); + input.val(url); + input.after(""); + this.hideDialog(); + } + }); + }); + }); + } +}; diff --git a/src/demo/manager/src/main/webapp/assets/js/dataTables.bootstrap.min.js b/src/demo/manager/src/main/webapp/assets/js/dataTables.bootstrap.min.js new file mode 100644 index 00000000..f0d09b9d --- /dev/null +++ b/src/demo/manager/src/main/webapp/assets/js/dataTables.bootstrap.min.js @@ -0,0 +1,8 @@ +/*! + DataTables Bootstrap 3 integration + ©2011-2014 SpryMedia Ltd - datatables.net/license +*/ +(function(){var f=function(c,b){c.extend(!0,b.defaults,{dom:"<'row'<'col-sm-6'l><'col-sm-6'f>><'row'<'col-sm-12'tr>><'row'<'col-sm-6'i><'col-sm-6'p>>",renderer:"bootstrap"});c.extend(b.ext.classes,{sWrapper:"dataTables_wrapper form-inline dt-bootstrap",sFilterInput:"form-control input-sm",sLengthSelect:"form-control input-sm"});b.ext.renderer.pageButton.bootstrap=function(g,f,p,k,h,l){var q=new b.Api(g),r=g.oClasses,i=g.oLanguage.oPaginate,d,e,o=function(b,f){var j,m,n,a,k=function(a){a.preventDefault(); +c(a.currentTarget).hasClass("disabled")||q.page(a.data.action).draw(!1)};j=0;for(m=f.length;j",{"class":r.sPageButton+" "+ +e,"aria-controls":g.sTableId,tabindex:g.iTabIndex,id:0===p&&"string"===typeof a?g.sTableId+"_"+a:null}).append(c("",{href:"#"}).html(d)).appendTo(b),g.oApi._fnBindAction(n,{action:a},k))}};o(c(f).empty().html('
     '+dates[this.o.language].daysMin[(dowCnt++)%7]+'
    '+ calWeek +''+prevMonth.getUTCDate() + '
    '+ + DPGlobal.headTemplate+ + ''+ + DPGlobal.footTemplate+ + '
    '+ + '
    '+ + '
    '+ + ''+ + DPGlobal.headTemplate+ + DPGlobal.contTemplate+ + DPGlobal.footTemplate+ + '
    '+ + '
    '+ + '
    '+ + ''+ + DPGlobal.headTemplate+ + DPGlobal.contTemplate+ + DPGlobal.footTemplate+ + '
    '+ + '
    '+ + ''; + + $.fn.datepicker.DPGlobal = DPGlobal; + + + /* DATEPICKER NO CONFLICT + * =================== */ + + $.fn.datepicker.noConflict = function(){ + $.fn.datepicker = old; + return this; + }; + + + /* DATEPICKER DATA-API + * ================== */ + + $(document).on( + 'focus.datepicker.data-api click.datepicker.data-api', + '[data-provide="datepicker"]', + function(e){ + var $this = $(this); + if ($this.data('datepicker')) return; + e.preventDefault(); + // component click requires us to explicitly show it + datepicker.call($this, 'show'); + } + ); + $(function(){ + //$('[data-provide="datepicker-inline"]').datepicker(); + //vit: changed to support noConflict() + datepicker.call($('[data-provide="datepicker-inline"]')); + }); + +}( window.jQuery )); + +/** +Bootstrap-datepicker. +Description and examples: https://github.com/eternicode/bootstrap-datepicker. +For **i18n** you should include js file from here: https://github.com/eternicode/bootstrap-datepicker/tree/master/js/locales +and set `language` option. +Since 1.4.0 date has different appearance in **popup** and **inline** modes. + +@class date +@extends abstractinput +@final +@example +
    15/05/1984 + +**/ +(function ($) { + "use strict"; + + //store bootstrap-datepicker as bdateicker to exclude conflict with jQuery UI one + $.fn.bdatepicker = $.fn.datepicker.noConflict(); + if(!$.fn.datepicker) { //if there were no other datepickers, keep also original name + $.fn.datepicker = $.fn.bdatepicker; + } + + var Date = function (options) { + this.init('date', options, Date.defaults); + this.initPicker(options, Date.defaults); + }; + + $.fn.editableutils.inherit(Date, $.fn.editabletypes.abstractinput); + + $.extend(Date.prototype, { + initPicker: function(options, defaults) { + //'format' is set directly from settings or data-* attributes + + //by default viewformat equals to format + if(!this.options.viewformat) { + this.options.viewformat = this.options.format; + } + + //try parse datepicker config defined as json string in data-datepicker + options.datepicker = $.fn.editableutils.tryParseJson(options.datepicker, true); + + //overriding datepicker config (as by default jQuery extend() is not recursive) + //since 1.4 datepicker internally uses viewformat instead of format. Format is for submit only + this.options.datepicker = $.extend({}, defaults.datepicker, options.datepicker, { + format: this.options.viewformat + }); + + //language + this.options.datepicker.language = this.options.datepicker.language || 'en'; + + //store DPglobal + this.dpg = $.fn.bdatepicker.DPGlobal; + + //store parsed formats + this.parsedFormat = this.dpg.parseFormat(this.options.format); + this.parsedViewFormat = this.dpg.parseFormat(this.options.viewformat); + }, + + render: function () { + this.$input.bdatepicker(this.options.datepicker); + + //"clear" link + if(this.options.clear) { + this.$clear = $('').html(this.options.clear).click($.proxy(function(e){ + e.preventDefault(); + e.stopPropagation(); + this.clear(); + }, this)); + + this.$tpl.parent().append($('

    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

    ').append(this.$clear)); + } + }, + + value2html: function(value, element) { + var text = value ? this.dpg.formatDate(value, this.parsedViewFormat, this.options.datepicker.language) : ''; + Date.superclass.value2html.call(this, text, element); + }, + + html2value: function(html) { + return this.parseDate(html, this.parsedViewFormat); + }, + + value2str: function(value) { + return value ? this.dpg.formatDate(value, this.parsedFormat, this.options.datepicker.language) : ''; + }, + + str2value: function(str) { + return this.parseDate(str, this.parsedFormat); + }, + + value2submit: function(value) { + return this.value2str(value); + }, + + value2input: function(value) { + this.$input.bdatepicker('update', value); + }, + + input2value: function() { + return this.$input.data('datepicker').date; + }, + + activate: function() { + }, + + clear: function() { + this.$input.data('datepicker').date = null; + this.$input.find('.active').removeClass('active'); + if(!this.options.showbuttons) { + this.$input.closest('form').submit(); + } + }, + + autosubmit: function() { + this.$input.on('mouseup', '.day', function(e){ + if($(e.currentTarget).is('.old') || $(e.currentTarget).is('.new')) { + return; + } + var $form = $(this).closest('form'); + setTimeout(function() { + $form.submit(); + }, 200); + }); + //changedate is not suitable as it triggered when showing datepicker. see #149 + /* + this.$input.on('changeDate', function(e){ + var $form = $(this).closest('form'); + setTimeout(function() { + $form.submit(); + }, 200); + }); + */ + }, + + /* + For incorrect date bootstrap-datepicker returns current date that is not suitable + for datefield. + This function returns null for incorrect date. + */ + parseDate: function(str, format) { + var date = null, formattedBack; + if(str) { + date = this.dpg.parseDate(str, format, this.options.datepicker.language); + if(typeof str === 'string') { + formattedBack = this.dpg.formatDate(date, format, this.options.datepicker.language); + if(str !== formattedBack) { + date = null; + } + } + } + return date; + } + + }); + + Date.defaults = $.extend({}, $.fn.editabletypes.abstractinput.defaults, { + /** + @property tpl + @default
    + **/ + tpl:'
    ', + /** + @property inputclass + @default null + **/ + inputclass: null, + /** + Format used for sending value to server. Also applied when converting date from data-value attribute.
    + Possible tokens are: d, dd, m, mm, yy, yyyy + + @property format + @type string + @default yyyy-mm-dd + **/ + format:'yyyy-mm-dd', + /** + Format used for displaying date. Also applied when converting date from element's text on init. + If not specified equals to format + + @property viewformat + @type string + @default null + **/ + viewformat: null, + /** + Configuration of datepicker. + Full list of options: http://bootstrap-datepicker.readthedocs.org/en/latest/options.html + + @property datepicker + @type object + @default { + weekStart: 0, + startView: 0, + minViewMode: 0, + autoclose: false + } + **/ + datepicker:{ + weekStart: 0, + startView: 0, + minViewMode: 0, + autoclose: false + }, + /** + Text shown as clear date button. + If false clear button will not be rendered. + + @property clear + @type boolean|string + @default 'x clear' + **/ + clear: '× clear' + }); + + $.fn.editabletypes.date = Date; + +}(window.jQuery)); + +/** +Bootstrap datefield input - modification for inline mode. +Shows normal and binds popup datepicker. +Automatically shown in inline mode. + +@class datefield +@extends date + +@since 1.4.0 +**/ +(function ($) { + "use strict"; + + var DateField = function (options) { + this.init('datefield', options, DateField.defaults); + this.initPicker(options, DateField.defaults); + }; + + $.fn.editableutils.inherit(DateField, $.fn.editabletypes.date); + + $.extend(DateField.prototype, { + render: function () { + this.$input = this.$tpl.find('input'); + this.setClass(); + this.setAttr('placeholder'); + + //bootstrap-datepicker is set `bdateicker` to exclude conflict with jQuery UI one. (in date.js) + this.$tpl.bdatepicker(this.options.datepicker); + + //need to disable original event handlers + this.$input.off('focus keydown'); + + //update value of datepicker + this.$input.keyup($.proxy(function(){ + this.$tpl.removeData('date'); + this.$tpl.bdatepicker('update'); + }, this)); + + }, + + value2input: function(value) { + this.$input.val(value ? this.dpg.formatDate(value, this.parsedViewFormat, this.options.datepicker.language) : ''); + this.$tpl.bdatepicker('update'); + }, + + input2value: function() { + return this.html2value(this.$input.val()); + }, + + activate: function() { + $.fn.editabletypes.text.prototype.activate.call(this); + }, + + autosubmit: function() { + //reset autosubmit to empty + } + }); + + DateField.defaults = $.extend({}, $.fn.editabletypes.date.defaults, { + /** + @property tpl + **/ + tpl:'
    ', + /** + @property inputclass + @default 'input-small' + **/ + inputclass: 'input-small', + + /* datepicker config */ + datepicker: { + weekStart: 0, + startView: 0, + minViewMode: 0, + autoclose: true + } + }); + + $.fn.editabletypes.datefield = DateField; + +}(window.jQuery)); +/** +Bootstrap-datetimepicker. +Based on [smalot bootstrap-datetimepicker plugin](https://github.com/smalot/bootstrap-datetimepicker). +Before usage you should manually include dependent js and css: + + + + +For **i18n** you should include js file from here: https://github.com/smalot/bootstrap-datetimepicker/tree/master/js/locales +and set `language` option. + +@class datetime +@extends abstractinput +@final +@since 1.4.4 +@example +15/03/2013 12:45 + +**/ +(function ($) { + "use strict"; + + var DateTime = function (options) { + this.init('datetime', options, DateTime.defaults); + this.initPicker(options, DateTime.defaults); + }; + + $.fn.editableutils.inherit(DateTime, $.fn.editabletypes.abstractinput); + + $.extend(DateTime.prototype, { + initPicker: function(options, defaults) { + //'format' is set directly from settings or data-* attributes + + //by default viewformat equals to format + if(!this.options.viewformat) { + this.options.viewformat = this.options.format; + } + + //try parse datetimepicker config defined as json string in data-datetimepicker + options.datetimepicker = $.fn.editableutils.tryParseJson(options.datetimepicker, true); + + //overriding datetimepicker config (as by default jQuery extend() is not recursive) + //since 1.4 datetimepicker internally uses viewformat instead of format. Format is for submit only + this.options.datetimepicker = $.extend({}, defaults.datetimepicker, options.datetimepicker, { + format: this.options.viewformat + }); + + //language + this.options.datetimepicker.language = this.options.datetimepicker.language || 'en'; + + //store DPglobal + this.dpg = $.fn.datetimepicker.DPGlobal; + + //store parsed formats + this.parsedFormat = this.dpg.parseFormat(this.options.format, this.options.formatType); + this.parsedViewFormat = this.dpg.parseFormat(this.options.viewformat, this.options.formatType); + }, + + render: function () { + this.$input.datetimepicker(this.options.datetimepicker); + + //adjust container position when viewMode changes + //see https://github.com/smalot/bootstrap-datetimepicker/pull/80 + this.$input.on('changeMode', function(e) { + var f = $(this).closest('form').parent(); + //timeout here, otherwise container changes position before form has new size + setTimeout(function(){ + f.triggerHandler('resize'); + }, 0); + }); + + //"clear" link + if(this.options.clear) { + this.$clear = $('').html(this.options.clear).click($.proxy(function(e){ + e.preventDefault(); + e.stopPropagation(); + this.clear(); + }, this)); + + this.$tpl.parent().append($('
    ').append(this.$clear)); + } + }, + + value2html: function(value, element) { + //formatDate works with UTCDate! + var text = value ? this.dpg.formatDate(this.toUTC(value), this.parsedViewFormat, this.options.datetimepicker.language, this.options.formatType) : ''; + if(element) { + DateTime.superclass.value2html.call(this, text, element); + } else { + return text; + } + }, + + html2value: function(html) { + //parseDate return utc date! + var value = this.parseDate(html, this.parsedViewFormat); + return value ? this.fromUTC(value) : null; + }, + + value2str: function(value) { + //formatDate works with UTCDate! + return value ? this.dpg.formatDate(this.toUTC(value), this.parsedFormat, this.options.datetimepicker.language, this.options.formatType) : ''; + }, + + str2value: function(str) { + //parseDate return utc date! + var value = this.parseDate(str, this.parsedFormat); + return value ? this.fromUTC(value) : null; + }, + + value2submit: function(value) { + return this.value2str(value); + }, + + value2input: function(value) { + if(value) { + this.$input.data('datetimepicker').setDate(value); + } + }, + + input2value: function() { + //date may be cleared, in that case getDate() triggers error + var dt = this.$input.data('datetimepicker'); + return dt.date ? dt.getDate() : null; + }, + + activate: function() { + }, + + clear: function() { + this.$input.data('datetimepicker').date = null; + this.$input.find('.active').removeClass('active'); + if(!this.options.showbuttons) { + this.$input.closest('form').submit(); + } + }, + + autosubmit: function() { + this.$input.on('mouseup', '.minute', function(e){ + var $form = $(this).closest('form'); + setTimeout(function() { + $form.submit(); + }, 200); + }); + }, + + //convert date from local to utc + toUTC: function(value) { + return value ? new Date(value.valueOf() - value.getTimezoneOffset() * 60000) : value; + }, + + //convert date from utc to local + fromUTC: function(value) { + return value ? new Date(value.valueOf() + value.getTimezoneOffset() * 60000) : value; + }, + + /* + For incorrect date bootstrap-datetimepicker returns current date that is not suitable + for datetimefield. + This function returns null for incorrect date. + */ + parseDate: function(str, format) { + var date = null, formattedBack; + if(str) { + date = this.dpg.parseDate(str, format, this.options.datetimepicker.language, this.options.formatType); + if(typeof str === 'string') { + formattedBack = this.dpg.formatDate(date, format, this.options.datetimepicker.language, this.options.formatType); + if(str !== formattedBack) { + date = null; + } + } + } + return date; + } + + }); + + DateTime.defaults = $.extend({}, $.fn.editabletypes.abstractinput.defaults, { + /** + @property tpl + @default
    + **/ + tpl:'
    ', + /** + @property inputclass + @default null + **/ + inputclass: null, + /** + Format used for sending value to server. Also applied when converting date from data-value attribute.
    + Possible tokens are: d, dd, m, mm, yy, yyyy, h, i + + @property format + @type string + @default yyyy-mm-dd hh:ii + **/ + format:'yyyy-mm-dd hh:ii', + formatType:'standard', + /** + Format used for displaying date. Also applied when converting date from element's text on init. + If not specified equals to format + + @property viewformat + @type string + @default null + **/ + viewformat: null, + /** + Configuration of datetimepicker. + Full list of options: https://github.com/smalot/bootstrap-datetimepicker + + @property datetimepicker + @type object + @default { } + **/ + datetimepicker:{ + todayHighlight: false, + autoclose: false + }, + /** + Text shown as clear date button. + If false clear button will not be rendered. + + @property clear + @type boolean|string + @default 'x clear' + **/ + clear: '× clear' + }); + + $.fn.editabletypes.datetime = DateTime; + +}(window.jQuery)); +/** +Bootstrap datetimefield input - datetime input for inline mode. +Shows normal and binds popup datetimepicker. +Automatically shown in inline mode. + +@class datetimefield +@extends datetime + +**/ +(function ($) { + "use strict"; + + var DateTimeField = function (options) { + this.init('datetimefield', options, DateTimeField.defaults); + this.initPicker(options, DateTimeField.defaults); + }; + + $.fn.editableutils.inherit(DateTimeField, $.fn.editabletypes.datetime); + + $.extend(DateTimeField.prototype, { + render: function () { + this.$input = this.$tpl.find('input'); + this.setClass(); + this.setAttr('placeholder'); + + this.$tpl.datetimepicker(this.options.datetimepicker); + + //need to disable original event handlers + this.$input.off('focus keydown'); + + //update value of datepicker + this.$input.keyup($.proxy(function(){ + this.$tpl.removeData('date'); + this.$tpl.datetimepicker('update'); + }, this)); + + }, + + value2input: function(value) { + this.$input.val(this.value2html(value)); + this.$tpl.datetimepicker('update'); + }, + + input2value: function() { + return this.html2value(this.$input.val()); + }, + + activate: function() { + $.fn.editabletypes.text.prototype.activate.call(this); + }, + + autosubmit: function() { + //reset autosubmit to empty + } + }); + + DateTimeField.defaults = $.extend({}, $.fn.editabletypes.datetime.defaults, { + /** + @property tpl + **/ + tpl:'
    ', + /** + @property inputclass + @default 'input-medium' + **/ + inputclass: 'input-medium', + + /* datetimepicker config */ + datetimepicker:{ + todayHighlight: false, + autoclose: true + } + }); + + $.fn.editabletypes.datetimefield = DateTimeField; + +}(window.jQuery)); diff --git a/src/demo/manager/src/main/webapp/assets/js/editable/bootstrap-table-editable.min.js b/src/demo/manager/src/main/webapp/assets/js/editable/bootstrap-table-editable.min.js new file mode 100644 index 00000000..c25643e3 --- /dev/null +++ b/src/demo/manager/src/main/webapp/assets/js/editable/bootstrap-table-editable.min.js @@ -0,0 +1,7 @@ +/* +* bootstrap-table - v1.11.0 - 2016-07-02 +* https://github.com/wenzhixin/bootstrap-table +* Copyright (c) 2016 zhixin wen +* Licensed MIT License +*/ +!function(a){"use strict";a.extend(a.fn.bootstrapTable.defaults,{editable:!0,onEditableInit:function(){return!1},onEditableSave:function(){return!1},onEditableShown:function(){return!1},onEditableHidden:function(){return!1}}),a.extend(a.fn.bootstrapTable.Constructor.EVENTS,{"editable-init.bs.table":"onEditableInit","editable-save.bs.table":"onEditableSave","editable-shown.bs.table":"onEditableShown","editable-hidden.bs.table":"onEditableHidden"});var b=a.fn.bootstrapTable.Constructor,c=b.prototype.initTable,d=b.prototype.initBody;b.prototype.initTable=function(){var b=this;c.apply(this,Array.prototype.slice.apply(arguments)),this.options.editable&&a.each(this.columns,function(c,d){if(d.editable){var e={},f=[],g="editable-",h=function(a,b){var c=a.replace(/([A-Z])/g,function(a){return"-"+a.toLowerCase()});if(c.slice(0,g.length)==g){var d=c.replace(g,"data-");e[d]=b}};a.each(b.options,h),d.formatter=d.formatter||function(a){return a},d._formatter=d._formatter?d._formatter:d.formatter,d.formatter=function(c,g,i){var j=d._formatter?d._formatter(c,g,i):c;a.each(d,h),a.each(e,function(a,b){f.push(" "+a+'="'+b+'"')});var k=!1;return d.editable.hasOwnProperty("noeditFormatter")&&(k=d.editable.noeditFormatter(c,g,i)),k===!1?['"].join(""):k}}})},b.prototype.initBody=function(){var b=this;d.apply(this,Array.prototype.slice.apply(arguments)),this.options.editable&&(a.each(this.columns,function(c,d){d.editable&&(b.$body.find('a[data-name="'+d.field+'"]').editable(d.editable).off("save").on("save",function(c,e){var f=b.getData(),g=a(this).parents("tr[data-index]").data("index"),h=f[g],i=h[d.field];a(this).data("value",e.submitValue),h[d.field]=e.submitValue,b.trigger("editable-save",d.field,h,i,a(this)),b.resetFooter()}),b.$body.find('a[data-name="'+d.field+'"]').editable(d.editable).off("shown").on("shown",function(c,e){var f=b.getData(),g=a(this).parents("tr[data-index]").data("index"),h=f[g];b.trigger("editable-shown",d.field,h,a(this),e)}),b.$body.find('a[data-name="'+d.field+'"]').editable(d.editable).off("hidden").on("hidden",function(c,e){var f=b.getData(),g=a(this).parents("tr[data-index]").data("index"),h=f[g];b.trigger("editable-hidden",d.field,h,a(this),e)}))}),this.trigger("editable-init"))}}(jQuery); \ No newline at end of file diff --git a/src/demo/manager/src/main/webapp/assets/js/fancybox/jquery.fancybox.css b/src/demo/manager/src/main/webapp/assets/js/fancybox/jquery.fancybox.css new file mode 100644 index 00000000..dbc606d6 --- /dev/null +++ b/src/demo/manager/src/main/webapp/assets/js/fancybox/jquery.fancybox.css @@ -0,0 +1,249 @@ +/*! fancyBox v2.1.3 fancyapps.com | fancyapps.com/fancybox/#license */ +.fancybox-wrap, +.fancybox-skin, +.fancybox-outer, +.fancybox-inner, +.fancybox-image, +.fancybox-wrap iframe, +.fancybox-wrap object, +.fancybox-nav, +.fancybox-nav span, +.fancybox-tmp +{ + padding: 0; + margin: 0; + border: 0; + outline: none; + vertical-align: top; +} + +.fancybox-wrap { + position: absolute; + top: 0; + left: 0; + z-index: 8020; +} + +.fancybox-skin { + position: relative; + background: #f9f9f9; + color: #444; + text-shadow: none; + -webkit-border-radius: 4px; + -moz-border-radius: 4px; + border-radius: 4px; +} + +.fancybox-opened { + z-index: 8030; +} + +.fancybox-opened .fancybox-skin { + -webkit-box-shadow: 0 10px 25px rgba(0, 0, 0, 0.5); + -moz-box-shadow: 0 10px 25px rgba(0, 0, 0, 0.5); + box-shadow: 0 10px 25px rgba(0, 0, 0, 0.5); +} + +.fancybox-outer, .fancybox-inner { + position: relative; +} + +.fancybox-inner { + overflow: hidden; +} + +.fancybox-type-iframe .fancybox-inner { + -webkit-overflow-scrolling: touch; +} + +.fancybox-error { + color: #444; + font: 14px/20px "Helvetica Neue",Helvetica,Arial,sans-serif; + margin: 0; + padding: 15px; + white-space: nowrap; +} + +.fancybox-image, .fancybox-iframe { + display: block; + width: 100%; + height: 100%; +} + +.fancybox-image { + max-width: 100%; + max-height: 100%; +} + +#fancybox-loading, .fancybox-close, .fancybox-prev span, .fancybox-next span { + background-image: url('http://thevectorlab.net/flatlab/assets/fancybox/source/fancybox_sprite.png'); +} + +#fancybox-loading { + position: fixed; + top: 50%; + left: 50%; + margin-top: -22px; + margin-left: -22px; + background-position: 0 -108px; + opacity: 0.8; + cursor: pointer; + z-index: 8060; +} + +#fancybox-loading div { + width: 44px; + height: 44px; + background: url('http://thevectorlab.net/flatlab/assets/fancybox/source/fancybox_loading.gif') center center no-repeat; +} + +.fancybox-close { + position: absolute; + top: -18px; + right: -18px; + width: 36px; + height: 36px; + cursor: pointer; + z-index: 8040; +} + +.fancybox-nav { + position: absolute; + top: 0; + width: 40%; + height: 100%; + cursor: pointer; + text-decoration: none; + background: transparent url('http://thevectorlab.net/flatlab/assets/fancybox/source/blank.gif'); /* helps IE */ + -webkit-tap-highlight-color: rgba(0,0,0,0); + z-index: 8040; +} + +.fancybox-prev { + left: 0; +} + +.fancybox-next { + right: 0; +} + +.fancybox-nav span { + position: absolute; + top: 50%; + width: 36px; + height: 34px; + margin-top: -18px; + cursor: pointer; + z-index: 8040; + visibility: hidden; +} + +.fancybox-prev span { + left: 10px; + background-position: 0 -36px; +} + +.fancybox-next span { + right: 10px; + background-position: 0 -72px; +} + +.fancybox-nav:hover span { + visibility: visible; +} + +.fancybox-tmp { + position: absolute; + top: -99999px; + left: -99999px; + visibility: hidden; + max-width: 99999px; + max-height: 99999px; + overflow: visible !important; +} + +/* Overlay helper */ + +.fancybox-lock { + overflow: hidden; +} + +.fancybox-overlay { + position: absolute; + top: 0; + left: 0; + overflow: hidden; + display: none; + z-index: 8010; + background: url('http://thevectorlab.net/flatlab/assets/fancybox/source/fancybox_overlay.png'); +} + +.fancybox-overlay-fixed { + position: fixed; + bottom: 0; + right: 0; +} + +.fancybox-lock .fancybox-overlay { + overflow: auto; + overflow-y: scroll; +} + +/* Title helper */ + +.fancybox-title { + visibility: hidden; + font: normal 13px/20px "Helvetica Neue",Helvetica,Arial,sans-serif; + position: relative; + text-shadow: none; + z-index: 8050; +} + +.fancybox-opened .fancybox-title { + visibility: visible; +} + +.fancybox-title-float-wrap { + position: absolute; + bottom: 0; + right: 50%; + margin-bottom: -35px; + z-index: 8050; + text-align: center; +} + +.fancybox-title-float-wrap .child { + display: inline-block; + margin-right: -100%; + padding: 2px 20px; + background: transparent; /* Fallback for web browsers that doesn't support RGBa */ + background: rgba(0, 0, 0, 0.8); + -webkit-border-radius: 15px; + -moz-border-radius: 15px; + border-radius: 15px; + text-shadow: 0 1px 2px #222; + color: #FFF; + font-weight: bold; + line-height: 24px; + white-space: nowrap; +} + +.fancybox-title-outside-wrap { + position: relative; + margin-top: 10px; + color: #fff; +} + +.fancybox-title-inside-wrap { + padding-top: 10px; +} + +.fancybox-title-over-wrap { + position: absolute; + bottom: 0; + left: 0; + color: #fff; + padding: 10px; + background: #000; + background: rgba(0, 0, 0, .8); +} \ No newline at end of file diff --git a/src/demo/manager/src/main/webapp/assets/js/fancybox/jquery.fancybox.js b/src/demo/manager/src/main/webapp/assets/js/fancybox/jquery.fancybox.js new file mode 100644 index 00000000..e8e1987c --- /dev/null +++ b/src/demo/manager/src/main/webapp/assets/js/fancybox/jquery.fancybox.js @@ -0,0 +1,2020 @@ +/*! + * fancyBox - jQuery Plugin + * version: 2.1.5 (Fri, 14 Jun 2013) + * @requires jQuery v1.6 or later + * + * Examples at http://fancyapps.com/fancybox/ + * License: www.fancyapps.com/fancybox/#license + * + * Copyright 2012 Janis Skarnelis - janis@fancyapps.com + * + */ + +(function (window, document, $, undefined) { + "use strict"; + + var H = $("html"), + W = $(window), + D = $(document), + F = $.fancybox = function () { + F.open.apply( this, arguments ); + }, + IE = navigator.userAgent.match(/msie/i), + didUpdate = null, + isTouch = document.createTouch !== undefined, + + isQuery = function(obj) { + return obj && obj.hasOwnProperty && obj instanceof $; + }, + isString = function(str) { + return str && $.type(str) === "string"; + }, + isPercentage = function(str) { + return isString(str) && str.indexOf('%') > 0; + }, + isScrollable = function(el) { + return (el && !(el.style.overflow && el.style.overflow === 'hidden') && ((el.clientWidth && el.scrollWidth > el.clientWidth) || (el.clientHeight && el.scrollHeight > el.clientHeight))); + }, + getScalar = function(orig, dim) { + var value = parseInt(orig, 10) || 0; + + if (dim && isPercentage(orig)) { + value = F.getViewport()[ dim ] / 100 * value; + } + + return Math.ceil(value); + }, + getValue = function(value, dim) { + return getScalar(value, dim) + 'px'; + }; + + $.extend(F, { + // The current version of fancyBox + version: '2.1.5', + + defaults: { + padding : 15, + margin : 20, + + width : 800, + height : 600, + minWidth : 100, + minHeight : 100, + maxWidth : 9999, + maxHeight : 9999, + pixelRatio: 1, // Set to 2 for retina display support + + autoSize : true, + autoHeight : false, + autoWidth : false, + + autoResize : true, + autoCenter : !isTouch, + fitToView : true, + aspectRatio : false, + topRatio : 0.5, + leftRatio : 0.5, + + scrolling : 'auto', // 'auto', 'yes' or 'no' + wrapCSS : '', + + arrows : true, + closeBtn : true, + closeClick : false, + nextClick : false, + mouseWheel : true, + autoPlay : false, + playSpeed : 3000, + preload : 3, + modal : false, + loop : true, + + ajax : { + dataType : 'html', + headers : { 'X-fancyBox': true } + }, + iframe : { + scrolling : 'auto', + preload : true + }, + swf : { + wmode: 'transparent', + allowfullscreen : 'true', + allowscriptaccess : 'always' + }, + + keys : { + next : { + 13 : 'left', // enter + 34 : 'up', // page down + 39 : 'left', // right arrow + 40 : 'up' // down arrow + }, + prev : { + 8 : 'right', // backspace + 33 : 'down', // page up + 37 : 'right', // left arrow + 38 : 'down' // up arrow + }, + close : [27], // escape key + play : [32], // space - start/stop slideshow + toggle : [70] // letter "f" - toggle fullscreen + }, + + direction : { + next : 'left', + prev : 'right' + }, + + scrollOutside : true, + + // Override some properties + index : 0, + type : null, + href : null, + content : null, + title : null, + + // HTML templates + tpl: { + wrap : '
    ', + image : '', + iframe : '', + error : '

    The requested content cannot be loaded.
    Please try again later.

    ', + closeBtn : '', + next : '', + prev : '' + }, + + // Properties for each animation type + // Opening fancyBox + openEffect : 'fade', // 'elastic', 'fade' or 'none' + openSpeed : 250, + openEasing : 'swing', + openOpacity : true, + openMethod : 'zoomIn', + + // Closing fancyBox + closeEffect : 'fade', // 'elastic', 'fade' or 'none' + closeSpeed : 250, + closeEasing : 'swing', + closeOpacity : true, + closeMethod : 'zoomOut', + + // Changing next gallery item + nextEffect : 'elastic', // 'elastic', 'fade' or 'none' + nextSpeed : 250, + nextEasing : 'swing', + nextMethod : 'changeIn', + + // Changing previous gallery item + prevEffect : 'elastic', // 'elastic', 'fade' or 'none' + prevSpeed : 250, + prevEasing : 'swing', + prevMethod : 'changeOut', + + // Enable default helpers + helpers : { + overlay : true, + title : true + }, + + // Callbacks + onCancel : $.noop, // If canceling + beforeLoad : $.noop, // Before loading + afterLoad : $.noop, // After loading + beforeShow : $.noop, // Before changing in current item + afterShow : $.noop, // After opening + beforeChange : $.noop, // Before changing gallery item + beforeClose : $.noop, // Before closing + afterClose : $.noop // After closing + }, + + //Current state + group : {}, // Selected group + opts : {}, // Group options + previous : null, // Previous element + coming : null, // Element being loaded + current : null, // Currently loaded element + isActive : false, // Is activated + isOpen : false, // Is currently open + isOpened : false, // Have been fully opened at least once + + wrap : null, + skin : null, + outer : null, + inner : null, + + player : { + timer : null, + isActive : false + }, + + // Loaders + ajaxLoad : null, + imgPreload : null, + + // Some collections + transitions : {}, + helpers : {}, + + /* + * Static methods + */ + + open: function (group, opts) { + if (!group) { + return; + } + + if (!$.isPlainObject(opts)) { + opts = {}; + } + + // Close if already active + if (false === F.close(true)) { + return; + } + + // Normalize group + if (!$.isArray(group)) { + group = isQuery(group) ? $(group).get() : [group]; + } + + // Recheck if the type of each element is `object` and set content type (image, ajax, etc) + $.each(group, function(i, element) { + var obj = {}, + href, + title, + content, + type, + rez, + hrefParts, + selector; + + if ($.type(element) === "object") { + // Check if is DOM element + if (element.nodeType) { + element = $(element); + } + + if (isQuery(element)) { + obj = { + href : element.data('fancybox-href') || element.attr('href'), + title : element.data('fancybox-title') || element.attr('title'), + isDom : true, + element : element + }; + + if ($.metadata) { + $.extend(true, obj, element.metadata()); + } + + } else { + obj = element; + } + } + + href = opts.href || obj.href || (isString(element) ? element : null); + title = opts.title !== undefined ? opts.title : obj.title || ''; + + content = opts.content || obj.content; + type = content ? 'html' : (opts.type || obj.type); + + if (!type && obj.isDom) { + type = element.data('fancybox-type'); + + if (!type) { + rez = element.prop('class').match(/fancybox\.(\w+)/); + type = rez ? rez[1] : null; + } + } + + if (isString(href)) { + // Try to guess the content type + if (!type) { + if (F.isImage(href)) { + type = 'image'; + + } else if (F.isSWF(href)) { + type = 'swf'; + + } else if (href.charAt(0) === '#') { + type = 'inline'; + + } else if (isString(element)) { + type = 'html'; + content = element; + } + } + + // Split url into two pieces with source url and content selector, e.g, + // "/mypage.html #my_id" will load "/mypage.html" and display element having id "my_id" + if (type === 'ajax') { + hrefParts = href.split(/\s+/, 2); + href = hrefParts.shift(); + selector = hrefParts.shift(); + } + } + + if (!content) { + if (type === 'inline') { + if (href) { + content = $( isString(href) ? href.replace(/.*(?=#[^\s]+$)/, '') : href ); //strip for ie7 + + } else if (obj.isDom) { + content = element; + } + + } else if (type === 'html') { + content = href; + + } else if (!type && !href && obj.isDom) { + type = 'inline'; + content = element; + } + } + + $.extend(obj, { + href : href, + type : type, + content : content, + title : title, + selector : selector + }); + + group[ i ] = obj; + }); + + // Extend the defaults + F.opts = $.extend(true, {}, F.defaults, opts); + + // All options are merged recursive except keys + if (opts.keys !== undefined) { + F.opts.keys = opts.keys ? $.extend({}, F.defaults.keys, opts.keys) : false; + } + + F.group = group; + + return F._start(F.opts.index); + }, + + // Cancel image loading or abort ajax request + cancel: function () { + var coming = F.coming; + + if (!coming || false === F.trigger('onCancel')) { + return; + } + + F.hideLoading(); + + if (F.ajaxLoad) { + F.ajaxLoad.abort(); + } + + F.ajaxLoad = null; + + if (F.imgPreload) { + F.imgPreload.onload = F.imgPreload.onerror = null; + } + + if (coming.wrap) { + coming.wrap.stop(true, true).trigger('onReset').remove(); + } + + F.coming = null; + + // If the first item has been canceled, then clear everything + if (!F.current) { + F._afterZoomOut( coming ); + } + }, + + // Start closing animation if is open; remove immediately if opening/closing + close: function (event) { + F.cancel(); + + if (false === F.trigger('beforeClose')) { + return; + } + + F.unbindEvents(); + + if (!F.isActive) { + return; + } + + if (!F.isOpen || event === true) { + $('.fancybox-wrap').stop(true).trigger('onReset').remove(); + + F._afterZoomOut(); + + } else { + F.isOpen = F.isOpened = false; + F.isClosing = true; + + $('.fancybox-item, .fancybox-nav').remove(); + + F.wrap.stop(true, true).removeClass('fancybox-opened'); + + F.transitions[ F.current.closeMethod ](); + } + }, + + // Manage slideshow: + // $.fancybox.play(); - toggle slideshow + // $.fancybox.play( true ); - start + // $.fancybox.play( false ); - stop + play: function ( action ) { + var clear = function () { + clearTimeout(F.player.timer); + }, + set = function () { + clear(); + + if (F.current && F.player.isActive) { + F.player.timer = setTimeout(F.next, F.current.playSpeed); + } + }, + stop = function () { + clear(); + + D.unbind('.player'); + + F.player.isActive = false; + + F.trigger('onPlayEnd'); + }, + start = function () { + if (F.current && (F.current.loop || F.current.index < F.group.length - 1)) { + F.player.isActive = true; + + D.bind({ + 'onCancel.player beforeClose.player' : stop, + 'onUpdate.player' : set, + 'beforeLoad.player' : clear + }); + + set(); + + F.trigger('onPlayStart'); + } + }; + + if (action === true || (!F.player.isActive && action !== false)) { + start(); + } else { + stop(); + } + }, + + // Navigate to next gallery item + next: function ( direction ) { + var current = F.current; + + if (current) { + if (!isString(direction)) { + direction = current.direction.next; + } + + F.jumpto(current.index + 1, direction, 'next'); + } + }, + + // Navigate to previous gallery item + prev: function ( direction ) { + var current = F.current; + + if (current) { + if (!isString(direction)) { + direction = current.direction.prev; + } + + F.jumpto(current.index - 1, direction, 'prev'); + } + }, + + // Navigate to gallery item by index + jumpto: function ( index, direction, router ) { + var current = F.current; + + if (!current) { + return; + } + + index = getScalar(index); + + F.direction = direction || current.direction[ (index >= current.index ? 'next' : 'prev') ]; + F.router = router || 'jumpto'; + + if (current.loop) { + if (index < 0) { + index = current.group.length + (index % current.group.length); + } + + index = index % current.group.length; + } + + if (current.group[ index ] !== undefined) { + F.cancel(); + + F._start(index); + } + }, + + // Center inside viewport and toggle position type to fixed or absolute if needed + reposition: function (e, onlyAbsolute) { + var current = F.current, + wrap = current ? current.wrap : null, + pos; + + if (wrap) { + pos = F._getPosition(onlyAbsolute); + + if (e && e.type === 'scroll') { + delete pos.position; + + wrap.stop(true, true).animate(pos, 200); + + } else { + wrap.css(pos); + + current.pos = $.extend({}, current.dim, pos); + } + } + }, + + update: function (e) { + var type = (e && e.type), + anyway = !type || type === 'orientationchange'; + + if (anyway) { + clearTimeout(didUpdate); + + didUpdate = null; + } + + if (!F.isOpen || didUpdate) { + return; + } + + didUpdate = setTimeout(function() { + var current = F.current; + + if (!current || F.isClosing) { + return; + } + + F.wrap.removeClass('fancybox-tmp'); + + if (anyway || type === 'load' || (type === 'resize' && current.autoResize)) { + F._setDimension(); + } + + if (!(type === 'scroll' && current.canShrink)) { + F.reposition(e); + } + + F.trigger('onUpdate'); + + didUpdate = null; + + }, (anyway && !isTouch ? 0 : 300)); + }, + + // Shrink content to fit inside viewport or restore if resized + toggle: function ( action ) { + if (F.isOpen) { + F.current.fitToView = $.type(action) === "boolean" ? action : !F.current.fitToView; + + // Help browser to restore document dimensions + if (isTouch) { + F.wrap.removeAttr('style').addClass('fancybox-tmp'); + + F.trigger('onUpdate'); + } + + F.update(); + } + }, + + hideLoading: function () { + D.unbind('.loading'); + + $('#fancybox-loading').remove(); + }, + + showLoading: function () { + var el, viewport; + + F.hideLoading(); + + el = $('
    ').click(F.cancel).appendTo('body'); + + // If user will press the escape-button, the request will be canceled + D.bind('keydown.loading', function(e) { + if ((e.which || e.keyCode) === 27) { + e.preventDefault(); + + F.cancel(); + } + }); + + if (!F.defaults.fixed) { + viewport = F.getViewport(); + + el.css({ + position : 'absolute', + top : (viewport.h * 0.5) + viewport.y, + left : (viewport.w * 0.5) + viewport.x + }); + } + }, + + getViewport: function () { + var locked = (F.current && F.current.locked) || false, + rez = { + x: W.scrollLeft(), + y: W.scrollTop() + }; + + if (locked) { + rez.w = locked[0].clientWidth; + rez.h = locked[0].clientHeight; + + } else { + // See http://bugs.jquery.com/ticket/6724 + rez.w = isTouch && window.innerWidth ? window.innerWidth : W.width(); + rez.h = isTouch && window.innerHeight ? window.innerHeight : W.height(); + } + + return rez; + }, + + // Unbind the keyboard / clicking actions + unbindEvents: function () { + if (F.wrap && isQuery(F.wrap)) { + F.wrap.unbind('.fb'); + } + + D.unbind('.fb'); + W.unbind('.fb'); + }, + + bindEvents: function () { + var current = F.current, + keys; + + if (!current) { + return; + } + + // Changing document height on iOS devices triggers a 'resize' event, + // that can change document height... repeating infinitely + W.bind('orientationchange.fb' + (isTouch ? '' : ' resize.fb') + (current.autoCenter && !current.locked ? ' scroll.fb' : ''), F.update); + + keys = current.keys; + + if (keys) { + D.bind('keydown.fb', function (e) { + var code = e.which || e.keyCode, + target = e.target || e.srcElement; + + // Skip esc key if loading, because showLoading will cancel preloading + if (code === 27 && F.coming) { + return false; + } + + // Ignore key combinations and key events within form elements + if (!e.ctrlKey && !e.altKey && !e.shiftKey && !e.metaKey && !(target && (target.type || $(target).is('[contenteditable]')))) { + $.each(keys, function(i, val) { + if (current.group.length > 1 && val[ code ] !== undefined) { + F[ i ]( val[ code ] ); + + e.preventDefault(); + return false; + } + + if ($.inArray(code, val) > -1) { + F[ i ] (); + + e.preventDefault(); + return false; + } + }); + } + }); + } + + if ($.fn.mousewheel && current.mouseWheel) { + F.wrap.bind('mousewheel.fb', function (e, delta, deltaX, deltaY) { + var target = e.target || null, + parent = $(target), + canScroll = false; + + while (parent.length) { + if (canScroll || parent.is('.fancybox-skin') || parent.is('.fancybox-wrap')) { + break; + } + + canScroll = isScrollable( parent[0] ); + parent = $(parent).parent(); + } + + if (delta !== 0 && !canScroll) { + if (F.group.length > 1 && !current.canShrink) { + if (deltaY > 0 || deltaX > 0) { + F.prev( deltaY > 0 ? 'down' : 'left' ); + + } else if (deltaY < 0 || deltaX < 0) { + F.next( deltaY < 0 ? 'up' : 'right' ); + } + + e.preventDefault(); + } + } + }); + } + }, + + trigger: function (event, o) { + var ret, obj = o || F.coming || F.current; + + if (!obj) { + return; + } + + if ($.isFunction( obj[event] )) { + ret = obj[event].apply(obj, Array.prototype.slice.call(arguments, 1)); + } + + if (ret === false) { + return false; + } + + if (obj.helpers) { + $.each(obj.helpers, function (helper, opts) { + if (opts && F.helpers[helper] && $.isFunction(F.helpers[helper][event])) { + F.helpers[helper][event]($.extend(true, {}, F.helpers[helper].defaults, opts), obj); + } + }); + } + + D.trigger(event); + }, + + isImage: function (str) { + return isString(str) && str.match(/(^data:image\/.*,)|(\.(jp(e|g|eg)|gif|png|bmp|webp|svg)((\?|#).*)?$)/i); + }, + + isSWF: function (str) { + return isString(str) && str.match(/\.(swf)((\?|#).*)?$/i); + }, + + _start: function (index) { + var coming = {}, + obj, + href, + type, + margin, + padding; + + index = getScalar( index ); + obj = F.group[ index ] || null; + + if (!obj) { + return false; + } + + coming = $.extend(true, {}, F.opts, obj); + + // Convert margin and padding properties to array - top, right, bottom, left + margin = coming.margin; + padding = coming.padding; + + if ($.type(margin) === 'number') { + coming.margin = [margin, margin, margin, margin]; + } + + if ($.type(padding) === 'number') { + coming.padding = [padding, padding, padding, padding]; + } + + // 'modal' propery is just a shortcut + if (coming.modal) { + $.extend(true, coming, { + closeBtn : false, + closeClick : false, + nextClick : false, + arrows : false, + mouseWheel : false, + keys : null, + helpers: { + overlay : { + closeClick : false + } + } + }); + } + + // 'autoSize' property is a shortcut, too + if (coming.autoSize) { + coming.autoWidth = coming.autoHeight = true; + } + + if (coming.width === 'auto') { + coming.autoWidth = true; + } + + if (coming.height === 'auto') { + coming.autoHeight = true; + } + + /* + * Add reference to the group, so it`s possible to access from callbacks, example: + * afterLoad : function() { + * this.title = 'Image ' + (this.index + 1) + ' of ' + this.group.length + (this.title ? ' - ' + this.title : ''); + * } + */ + + coming.group = F.group; + coming.index = index; + + // Give a chance for callback or helpers to update coming item (type, title, etc) + F.coming = coming; + + if (false === F.trigger('beforeLoad')) { + F.coming = null; + + return; + } + + type = coming.type; + href = coming.href; + + if (!type) { + F.coming = null; + + //If we can not determine content type then drop silently or display next/prev item if looping through gallery + if (F.current && F.router && F.router !== 'jumpto') { + F.current.index = index; + + return F[ F.router ]( F.direction ); + } + + return false; + } + + F.isActive = true; + + if (type === 'image' || type === 'swf') { + coming.autoHeight = coming.autoWidth = false; + coming.scrolling = 'visible'; + } + + if (type === 'image') { + coming.aspectRatio = true; + } + + if (type === 'iframe' && isTouch) { + coming.scrolling = 'scroll'; + } + + // Build the neccessary markup + coming.wrap = $(coming.tpl.wrap).addClass('fancybox-' + (isTouch ? 'mobile' : 'desktop') + ' fancybox-type-' + type + ' fancybox-tmp ' + coming.wrapCSS).appendTo( coming.parent || 'body' ); + + $.extend(coming, { + skin : $('.fancybox-skin', coming.wrap), + outer : $('.fancybox-outer', coming.wrap), + inner : $('.fancybox-inner', coming.wrap) + }); + + $.each(["Top", "Right", "Bottom", "Left"], function(i, v) { + coming.skin.css('padding' + v, getValue(coming.padding[ i ])); + }); + + F.trigger('onReady'); + + // Check before try to load; 'inline' and 'html' types need content, others - href + if (type === 'inline' || type === 'html') { + if (!coming.content || !coming.content.length) { + return F._error( 'content' ); + } + + } else if (!href) { + return F._error( 'href' ); + } + + if (type === 'image') { + F._loadImage(); + + } else if (type === 'ajax') { + F._loadAjax(); + + } else if (type === 'iframe') { + F._loadIframe(); + + } else { + F._afterLoad(); + } + }, + + _error: function ( type ) { + $.extend(F.coming, { + type : 'html', + autoWidth : true, + autoHeight : true, + minWidth : 0, + minHeight : 0, + scrolling : 'no', + hasError : type, + content : F.coming.tpl.error + }); + + F._afterLoad(); + }, + + _loadImage: function () { + // Reset preload image so it is later possible to check "complete" property + var img = F.imgPreload = new Image(); + + img.onload = function () { + this.onload = this.onerror = null; + + F.coming.width = this.width / F.opts.pixelRatio; + F.coming.height = this.height / F.opts.pixelRatio; + + F._afterLoad(); + }; + + img.onerror = function () { + this.onload = this.onerror = null; + + F._error( 'image' ); + }; + + img.src = F.coming.href; + + if (img.complete !== true) { + F.showLoading(); + } + }, + + _loadAjax: function () { + var coming = F.coming; + + F.showLoading(); + + F.ajaxLoad = $.ajax($.extend({}, coming.ajax, { + url: coming.href, + error: function (jqXHR, textStatus) { + if (F.coming && textStatus !== 'abort') { + F._error( 'ajax', jqXHR ); + + } else { + F.hideLoading(); + } + }, + success: function (data, textStatus) { + if (textStatus === 'success') { + coming.content = data; + + F._afterLoad(); + } + } + })); + }, + + _loadIframe: function() { + var coming = F.coming, + iframe = $(coming.tpl.iframe.replace(/\{rnd\}/g, new Date().getTime())) + .attr('scrolling', isTouch ? 'auto' : coming.iframe.scrolling) + .attr('src', coming.href); + + // This helps IE + $(coming.wrap).bind('onReset', function () { + try { + $(this).find('iframe').hide().attr('src', '//about:blank').end().empty(); + } catch (e) {} + }); + + if (coming.iframe.preload) { + F.showLoading(); + + iframe.one('load', function() { + $(this).data('ready', 1); + + // iOS will lose scrolling if we resize + if (!isTouch) { + $(this).bind('load.fb', F.update); + } + + // Without this trick: + // - iframe won't scroll on iOS devices + // - IE7 sometimes displays empty iframe + $(this).parents('.fancybox-wrap').width('100%').removeClass('fancybox-tmp').show(); + + F._afterLoad(); + }); + } + + coming.content = iframe.appendTo( coming.inner ); + + if (!coming.iframe.preload) { + F._afterLoad(); + } + }, + + _preloadImages: function() { + var group = F.group, + current = F.current, + len = group.length, + cnt = current.preload ? Math.min(current.preload, len - 1) : 0, + item, + i; + + for (i = 1; i <= cnt; i += 1) { + item = group[ (current.index + i ) % len ]; + + if (item.type === 'image' && item.href) { + new Image().src = item.href; + } + } + }, + + _afterLoad: function () { + var coming = F.coming, + previous = F.current, + placeholder = 'fancybox-placeholder', + current, + content, + type, + scrolling, + href, + embed; + + F.hideLoading(); + + if (!coming || F.isActive === false) { + return; + } + + if (false === F.trigger('afterLoad', coming, previous)) { + coming.wrap.stop(true).trigger('onReset').remove(); + + F.coming = null; + + return; + } + + if (previous) { + F.trigger('beforeChange', previous); + + previous.wrap.stop(true).removeClass('fancybox-opened') + .find('.fancybox-item, .fancybox-nav') + .remove(); + } + + F.unbindEvents(); + + current = coming; + content = coming.content; + type = coming.type; + scrolling = coming.scrolling; + + $.extend(F, { + wrap : current.wrap, + skin : current.skin, + outer : current.outer, + inner : current.inner, + current : current, + previous : previous + }); + + href = current.href; + + switch (type) { + case 'inline': + case 'ajax': + case 'html': + if (current.selector) { + content = $('
    ').html(content).find(current.selector); + + } else if (isQuery(content)) { + if (!content.data(placeholder)) { + content.data(placeholder, $('
    ').insertAfter( content ).hide() ); + } + + content = content.show().detach(); + + current.wrap.bind('onReset', function () { + if ($(this).find(content).length) { + content.hide().replaceAll( content.data(placeholder) ).data(placeholder, false); + } + }); + } + break; + + case 'image': + content = current.tpl.image.replace('{href}', href); + break; + + case 'swf': + content = ''; + embed = ''; + + $.each(current.swf, function(name, val) { + content += ''; + embed += ' ' + name + '="' + val + '"'; + }); + + content += ''; + break; + } + + if (!(isQuery(content) && content.parent().is(current.inner))) { + current.inner.append( content ); + } + + // Give a chance for helpers or callbacks to update elements + F.trigger('beforeShow'); + + // Set scrolling before calculating dimensions + current.inner.css('overflow', scrolling === 'yes' ? 'scroll' : (scrolling === 'no' ? 'hidden' : scrolling)); + + // Set initial dimensions and start position + F._setDimension(); + + F.reposition(); + + F.isOpen = false; + F.coming = null; + + F.bindEvents(); + + if (!F.isOpened) { + $('.fancybox-wrap').not( current.wrap ).stop(true).trigger('onReset').remove(); + + } else if (previous.prevMethod) { + F.transitions[ previous.prevMethod ](); + } + + F.transitions[ F.isOpened ? current.nextMethod : current.openMethod ](); + + F._preloadImages(); + }, + + _setDimension: function () { + var viewport = F.getViewport(), + steps = 0, + canShrink = false, + canExpand = false, + wrap = F.wrap, + skin = F.skin, + inner = F.inner, + current = F.current, + width = current.width, + height = current.height, + minWidth = current.minWidth, + minHeight = current.minHeight, + maxWidth = current.maxWidth, + maxHeight = current.maxHeight, + scrolling = current.scrolling, + scrollOut = current.scrollOutside ? current.scrollbarWidth : 0, + margin = current.margin, + wMargin = getScalar(margin[1] + margin[3]), + hMargin = getScalar(margin[0] + margin[2]), + wPadding, + hPadding, + wSpace, + hSpace, + origWidth, + origHeight, + origMaxWidth, + origMaxHeight, + ratio, + width_, + height_, + maxWidth_, + maxHeight_, + iframe, + body; + + // Reset dimensions so we could re-check actual size + wrap.add(skin).add(inner).width('auto').height('auto').removeClass('fancybox-tmp'); + + wPadding = getScalar(skin.outerWidth(true) - skin.width()); + hPadding = getScalar(skin.outerHeight(true) - skin.height()); + + // Any space between content and viewport (margin, padding, border, title) + wSpace = wMargin + wPadding; + hSpace = hMargin + hPadding; + + origWidth = isPercentage(width) ? (viewport.w - wSpace) * getScalar(width) / 100 : width; + origHeight = isPercentage(height) ? (viewport.h - hSpace) * getScalar(height) / 100 : height; + + if (current.type === 'iframe') { + iframe = current.content; + + if (current.autoHeight && iframe.data('ready') === 1) { + try { + if (iframe[0].contentWindow.document.location) { + inner.width( origWidth ).height(9999); + + body = iframe.contents().find('body'); + + if (scrollOut) { + body.css('overflow-x', 'hidden'); + } + + origHeight = body.outerHeight(true); + } + + } catch (e) {} + } + + } else if (current.autoWidth || current.autoHeight) { + inner.addClass( 'fancybox-tmp' ); + + // Set width or height in case we need to calculate only one dimension + if (!current.autoWidth) { + inner.width( origWidth ); + } + + if (!current.autoHeight) { + inner.height( origHeight ); + } + + if (current.autoWidth) { + origWidth = inner.width(); + } + + if (current.autoHeight) { + origHeight = inner.height(); + } + + inner.removeClass( 'fancybox-tmp' ); + } + + width = getScalar( origWidth ); + height = getScalar( origHeight ); + + ratio = origWidth / origHeight; + + // Calculations for the content + minWidth = getScalar(isPercentage(minWidth) ? getScalar(minWidth, 'w') - wSpace : minWidth); + maxWidth = getScalar(isPercentage(maxWidth) ? getScalar(maxWidth, 'w') - wSpace : maxWidth); + + minHeight = getScalar(isPercentage(minHeight) ? getScalar(minHeight, 'h') - hSpace : minHeight); + maxHeight = getScalar(isPercentage(maxHeight) ? getScalar(maxHeight, 'h') - hSpace : maxHeight); + + // These will be used to determine if wrap can fit in the viewport + origMaxWidth = maxWidth; + origMaxHeight = maxHeight; + + if (current.fitToView) { + maxWidth = Math.min(viewport.w - wSpace, maxWidth); + maxHeight = Math.min(viewport.h - hSpace, maxHeight); + } + + maxWidth_ = viewport.w - wMargin; + maxHeight_ = viewport.h - hMargin; + + if (current.aspectRatio) { + if (width > maxWidth) { + width = maxWidth; + height = getScalar(width / ratio); + } + + if (height > maxHeight) { + height = maxHeight; + width = getScalar(height * ratio); + } + + if (width < minWidth) { + width = minWidth; + height = getScalar(width / ratio); + } + + if (height < minHeight) { + height = minHeight; + width = getScalar(height * ratio); + } + + } else { + width = Math.max(minWidth, Math.min(width, maxWidth)); + + if (current.autoHeight && current.type !== 'iframe') { + inner.width( width ); + + height = inner.height(); + } + + height = Math.max(minHeight, Math.min(height, maxHeight)); + } + + // Try to fit inside viewport (including the title) + if (current.fitToView) { + inner.width( width ).height( height ); + + wrap.width( width + wPadding ); + + // Real wrap dimensions + width_ = wrap.width(); + height_ = wrap.height(); + + if (current.aspectRatio) { + while ((width_ > maxWidth_ || height_ > maxHeight_) && width > minWidth && height > minHeight) { + if (steps++ > 19) { + break; + } + + height = Math.max(minHeight, Math.min(maxHeight, height - 10)); + width = getScalar(height * ratio); + + if (width < minWidth) { + width = minWidth; + height = getScalar(width / ratio); + } + + if (width > maxWidth) { + width = maxWidth; + height = getScalar(width / ratio); + } + + inner.width( width ).height( height ); + + wrap.width( width + wPadding ); + + width_ = wrap.width(); + height_ = wrap.height(); + } + + } else { + width = Math.max(minWidth, Math.min(width, width - (width_ - maxWidth_))); + height = Math.max(minHeight, Math.min(height, height - (height_ - maxHeight_))); + } + } + + if (scrollOut && scrolling === 'auto' && height < origHeight && (width + wPadding + scrollOut) < maxWidth_) { + width += scrollOut; + } + + inner.width( width ).height( height ); + + wrap.width( width + wPadding ); + + width_ = wrap.width(); + height_ = wrap.height(); + + canShrink = (width_ > maxWidth_ || height_ > maxHeight_) && width > minWidth && height > minHeight; + canExpand = current.aspectRatio ? (width < origMaxWidth && height < origMaxHeight && width < origWidth && height < origHeight) : ((width < origMaxWidth || height < origMaxHeight) && (width < origWidth || height < origHeight)); + + $.extend(current, { + dim : { + width : getValue( width_ ), + height : getValue( height_ ) + }, + origWidth : origWidth, + origHeight : origHeight, + canShrink : canShrink, + canExpand : canExpand, + wPadding : wPadding, + hPadding : hPadding, + wrapSpace : height_ - skin.outerHeight(true), + skinSpace : skin.height() - height + }); + + if (!iframe && current.autoHeight && height > minHeight && height < maxHeight && !canExpand) { + inner.height('auto'); + } + }, + + _getPosition: function (onlyAbsolute) { + var current = F.current, + viewport = F.getViewport(), + margin = current.margin, + width = F.wrap.width() + margin[1] + margin[3], + height = F.wrap.height() + margin[0] + margin[2], + rez = { + position: 'absolute', + top : margin[0], + left : margin[3] + }; + + if (current.autoCenter && current.fixed && !onlyAbsolute && height <= viewport.h && width <= viewport.w) { + rez.position = 'fixed'; + + } else if (!current.locked) { + rez.top += viewport.y; + rez.left += viewport.x; + } + + rez.top = getValue(Math.max(rez.top, rez.top + ((viewport.h - height) * current.topRatio))); + rez.left = getValue(Math.max(rez.left, rez.left + ((viewport.w - width) * current.leftRatio))); + + return rez; + }, + + _afterZoomIn: function () { + var current = F.current; + + if (!current) { + return; + } + + F.isOpen = F.isOpened = true; + + F.wrap.css('overflow', 'visible').addClass('fancybox-opened'); + + F.update(); + + // Assign a click event + if ( current.closeClick || (current.nextClick && F.group.length > 1) ) { + F.inner.css('cursor', 'pointer').bind('click.fb', function(e) { + if (!$(e.target).is('a') && !$(e.target).parent().is('a')) { + e.preventDefault(); + + F[ current.closeClick ? 'close' : 'next' ](); + } + }); + } + + // Create a close button + if (current.closeBtn) { + $(current.tpl.closeBtn).appendTo(F.skin).bind('click.fb', function(e) { + e.preventDefault(); + + F.close(); + }); + } + + // Create navigation arrows + if (current.arrows && F.group.length > 1) { + if (current.loop || current.index > 0) { + $(current.tpl.prev).appendTo(F.outer).bind('click.fb', F.prev); + } + + if (current.loop || current.index < F.group.length - 1) { + $(current.tpl.next).appendTo(F.outer).bind('click.fb', F.next); + } + } + + F.trigger('afterShow'); + + // Stop the slideshow if this is the last item + if (!current.loop && current.index === current.group.length - 1) { + F.play( false ); + + } else if (F.opts.autoPlay && !F.player.isActive) { + F.opts.autoPlay = false; + + F.play(); + } + }, + + _afterZoomOut: function ( obj ) { + obj = obj || F.current; + + $('.fancybox-wrap').trigger('onReset').remove(); + + $.extend(F, { + group : {}, + opts : {}, + router : false, + current : null, + isActive : false, + isOpened : false, + isOpen : false, + isClosing : false, + wrap : null, + skin : null, + outer : null, + inner : null + }); + + F.trigger('afterClose', obj); + } + }); + + /* + * Default transitions + */ + + F.transitions = { + getOrigPosition: function () { + var current = F.current, + element = current.element, + orig = current.orig, + pos = {}, + width = 50, + height = 50, + hPadding = current.hPadding, + wPadding = current.wPadding, + viewport = F.getViewport(); + + if (!orig && current.isDom && element.is(':visible')) { + orig = element.find('img:first'); + + if (!orig.length) { + orig = element; + } + } + + if (isQuery(orig)) { + pos = orig.offset(); + + if (orig.is('img')) { + width = orig.outerWidth(); + height = orig.outerHeight(); + } + + } else { + pos.top = viewport.y + (viewport.h - height) * current.topRatio; + pos.left = viewport.x + (viewport.w - width) * current.leftRatio; + } + + if (F.wrap.css('position') === 'fixed' || current.locked) { + pos.top -= viewport.y; + pos.left -= viewport.x; + } + + pos = { + top : getValue(pos.top - hPadding * current.topRatio), + left : getValue(pos.left - wPadding * current.leftRatio), + width : getValue(width + wPadding), + height : getValue(height + hPadding) + }; + + return pos; + }, + + step: function (now, fx) { + var ratio, + padding, + value, + prop = fx.prop, + current = F.current, + wrapSpace = current.wrapSpace, + skinSpace = current.skinSpace; + + if (prop === 'width' || prop === 'height') { + ratio = fx.end === fx.start ? 1 : (now - fx.start) / (fx.end - fx.start); + + if (F.isClosing) { + ratio = 1 - ratio; + } + + padding = prop === 'width' ? current.wPadding : current.hPadding; + value = now - padding; + + F.skin[ prop ]( getScalar( prop === 'width' ? value : value - (wrapSpace * ratio) ) ); + F.inner[ prop ]( getScalar( prop === 'width' ? value : value - (wrapSpace * ratio) - (skinSpace * ratio) ) ); + } + }, + + zoomIn: function () { + var current = F.current, + startPos = current.pos, + effect = current.openEffect, + elastic = effect === 'elastic', + endPos = $.extend({opacity : 1}, startPos); + + // Remove "position" property that breaks older IE + delete endPos.position; + + if (elastic) { + startPos = this.getOrigPosition(); + + if (current.openOpacity) { + startPos.opacity = 0.1; + } + + } else if (effect === 'fade') { + startPos.opacity = 0.1; + } + + F.wrap.css(startPos).animate(endPos, { + duration : effect === 'none' ? 0 : current.openSpeed, + easing : current.openEasing, + step : elastic ? this.step : null, + complete : F._afterZoomIn + }); + }, + + zoomOut: function () { + var current = F.current, + effect = current.closeEffect, + elastic = effect === 'elastic', + endPos = {opacity : 0.1}; + + if (elastic) { + endPos = this.getOrigPosition(); + + if (current.closeOpacity) { + endPos.opacity = 0.1; + } + } + + F.wrap.animate(endPos, { + duration : effect === 'none' ? 0 : current.closeSpeed, + easing : current.closeEasing, + step : elastic ? this.step : null, + complete : F._afterZoomOut + }); + }, + + changeIn: function () { + var current = F.current, + effect = current.nextEffect, + startPos = current.pos, + endPos = { opacity : 1 }, + direction = F.direction, + distance = 200, + field; + + startPos.opacity = 0.1; + + if (effect === 'elastic') { + field = direction === 'down' || direction === 'up' ? 'top' : 'left'; + + if (direction === 'down' || direction === 'right') { + startPos[ field ] = getValue(getScalar(startPos[ field ]) - distance); + endPos[ field ] = '+=' + distance + 'px'; + + } else { + startPos[ field ] = getValue(getScalar(startPos[ field ]) + distance); + endPos[ field ] = '-=' + distance + 'px'; + } + } + + // Workaround for http://bugs.jquery.com/ticket/12273 + if (effect === 'none') { + F._afterZoomIn(); + + } else { + F.wrap.css(startPos).animate(endPos, { + duration : current.nextSpeed, + easing : current.nextEasing, + complete : F._afterZoomIn + }); + } + }, + + changeOut: function () { + var previous = F.previous, + effect = previous.prevEffect, + endPos = { opacity : 0.1 }, + direction = F.direction, + distance = 200; + + if (effect === 'elastic') { + endPos[ direction === 'down' || direction === 'up' ? 'top' : 'left' ] = ( direction === 'up' || direction === 'left' ? '-' : '+' ) + '=' + distance + 'px'; + } + + previous.wrap.animate(endPos, { + duration : effect === 'none' ? 0 : previous.prevSpeed, + easing : previous.prevEasing, + complete : function () { + $(this).trigger('onReset').remove(); + } + }); + } + }; + + /* + * Overlay helper + */ + + F.helpers.overlay = { + defaults : { + closeClick : true, // if true, fancyBox will be closed when user clicks on the overlay + speedOut : 200, // duration of fadeOut animation + showEarly : true, // indicates if should be opened immediately or wait until the content is ready + css : {}, // custom CSS properties + locked : !isTouch, // if true, the content will be locked into overlay + fixed : true // if false, the overlay CSS position property will not be set to "fixed" + }, + + overlay : null, // current handle + fixed : false, // indicates if the overlay has position "fixed" + el : $('html'), // element that contains "the lock" + + // Public methods + create : function(opts) { + opts = $.extend({}, this.defaults, opts); + + if (this.overlay) { + this.close(); + } + + this.overlay = $('
    ').appendTo( F.coming ? F.coming.parent : opts.parent ); + this.fixed = false; + + if (opts.fixed && F.defaults.fixed) { + this.overlay.addClass('fancybox-overlay-fixed'); + + this.fixed = true; + } + }, + + open : function(opts) { + var that = this; + + opts = $.extend({}, this.defaults, opts); + + if (this.overlay) { + this.overlay.unbind('.overlay').width('auto').height('auto'); + + } else { + this.create(opts); + } + + if (!this.fixed) { + W.bind('resize.overlay', $.proxy( this.update, this) ); + + this.update(); + } + + if (opts.closeClick) { + this.overlay.bind('click.overlay', function(e) { + if ($(e.target).hasClass('fancybox-overlay')) { + if (F.isActive) { + F.close(); + } else { + that.close(); + } + + return false; + } + }); + } + + this.overlay.css( opts.css ).show(); + }, + + close : function() { + var scrollV, scrollH; + + W.unbind('resize.overlay'); + + if (this.el.hasClass('fancybox-lock')) { + $('.fancybox-margin').removeClass('fancybox-margin'); + + scrollV = W.scrollTop(); + scrollH = W.scrollLeft(); + + this.el.removeClass('fancybox-lock'); + + W.scrollTop( scrollV ).scrollLeft( scrollH ); + } + + $('.fancybox-overlay').remove().hide(); + + $.extend(this, { + overlay : null, + fixed : false + }); + }, + + // Private, callbacks + + update : function () { + var width = '100%', offsetWidth; + + // Reset width/height so it will not mess + this.overlay.width(width).height('100%'); + + // jQuery does not return reliable result for IE + if (IE) { + offsetWidth = Math.max(document.documentElement.offsetWidth, document.body.offsetWidth); + + if (D.width() > offsetWidth) { + width = D.width(); + } + + } else if (D.width() > W.width()) { + width = D.width(); + } + + this.overlay.width(width).height(D.height()); + }, + + // This is where we can manipulate DOM, because later it would cause iframes to reload + onReady : function (opts, obj) { + var overlay = this.overlay; + + $('.fancybox-overlay').stop(true, true); + + if (!overlay) { + this.create(opts); + } + + if (opts.locked && this.fixed && obj.fixed) { + if (!overlay) { + this.margin = D.height() > W.height() ? $('html').css('margin-right').replace("px", "") : false; + } + + obj.locked = this.overlay.append( obj.wrap ); + obj.fixed = false; + } + + if (opts.showEarly === true) { + this.beforeShow.apply(this, arguments); + } + }, + + beforeShow : function(opts, obj) { + var scrollV, scrollH; + + if (obj.locked) { + if (this.margin !== false) { + $('*').filter(function(){ + return ($(this).css('position') === 'fixed' && !$(this).hasClass("fancybox-overlay") && !$(this).hasClass("fancybox-wrap") ); + }).addClass('fancybox-margin'); + + this.el.addClass('fancybox-margin'); + } + + scrollV = W.scrollTop(); + scrollH = W.scrollLeft(); + + this.el.addClass('fancybox-lock'); + + W.scrollTop( scrollV ).scrollLeft( scrollH ); + } + + this.open(opts); + }, + + onUpdate : function() { + if (!this.fixed) { + this.update(); + } + }, + + afterClose: function (opts) { + // Remove overlay if exists and fancyBox is not opening + // (e.g., it is not being open using afterClose callback) + //if (this.overlay && !F.isActive) { + if (this.overlay && !F.coming) { + this.overlay.fadeOut(opts.speedOut, $.proxy( this.close, this )); + } + } + }; + + /* + * Title helper + */ + + F.helpers.title = { + defaults : { + type : 'float', // 'float', 'inside', 'outside' or 'over', + position : 'bottom' // 'top' or 'bottom' + }, + + beforeShow: function (opts) { + var current = F.current, + text = current.title, + type = opts.type, + title, + target; + + if ($.isFunction(text)) { + text = text.call(current.element, current); + } + + if (!isString(text) || $.trim(text) === '') { + return; + } + + title = $('
    ' + text + '
    '); + + switch (type) { + case 'inside': + target = F.skin; + break; + + case 'outside': + target = F.wrap; + break; + + case 'over': + target = F.inner; + break; + + default: // 'float' + target = F.skin; + + title.appendTo('body'); + + if (IE) { + title.width( title.width() ); + } + + title.wrapInner(''); + + //Increase bottom margin so this title will also fit into viewport + F.current.margin[2] += Math.abs( getScalar(title.css('margin-bottom')) ); + break; + } + + title[ (opts.position === 'top' ? 'prependTo' : 'appendTo') ](target); + } + }; + + // jQuery plugin initialization + $.fn.fancybox = function (options) { + var index, + that = $(this), + selector = this.selector || '', + run = function(e) { + var what = $(this).blur(), idx = index, relType, relVal; + + if (!(e.ctrlKey || e.altKey || e.shiftKey || e.metaKey) && !what.is('.fancybox-wrap')) { + relType = options.groupAttr || 'data-fancybox-group'; + relVal = what.attr(relType); + + if (!relVal) { + relType = 'rel'; + relVal = what.get(0)[ relType ]; + } + + if (relVal && relVal !== '' && relVal !== 'nofollow') { + what = selector.length ? $(selector) : that; + what = what.filter('[' + relType + '="' + relVal + '"]'); + idx = what.index(this); + } + + options.index = idx; + + // Stop an event from bubbling if everything is fine + if (F.open(what, options) !== false) { + e.preventDefault(); + } + } + }; + + options = options || {}; + index = options.index || 0; + + if (!selector || options.live === false) { + that.unbind('click.fb-start').bind('click.fb-start', run); + + } else { + D.undelegate(selector, 'click.fb-start').delegate(selector + ":not('.fancybox-item, .fancybox-nav')", 'click.fb-start', run); + } + + this.filter('[data-fancybox-start=1]').trigger('click'); + + return this; + }; + + // Tests that need a body at doc ready + D.ready(function() { + var w1, w2; + + if ( $.scrollbarWidth === undefined ) { + // http://benalman.com/projects/jquery-misc-plugins/#scrollbarwidth + $.scrollbarWidth = function() { + var parent = $('
    ').appendTo('body'), + child = parent.children(), + width = child.innerWidth() - child.height( 99 ).innerWidth(); + + parent.remove(); + + return width; + }; + } + + if ( $.support.fixedPosition === undefined ) { + $.support.fixedPosition = (function() { + var elem = $('
    ').appendTo('body'), + fixed = ( elem[0].offsetTop === 20 || elem[0].offsetTop === 15 ); + + elem.remove(); + + return fixed; + }()); + } + + $.extend(F.defaults, { + scrollbarWidth : $.scrollbarWidth(), + fixed : $.support.fixedPosition, + parent : $('body') + }); + + //Get real width of page scroll-bar + w1 = $(window).width(); + + H.addClass('fancybox-lock-test'); + + w2 = $(window).width(); + + H.removeClass('fancybox-lock-test'); + + $("").appendTo("head"); + }); + +}(window, document, jQuery)); \ No newline at end of file diff --git a/src/demo/manager/src/main/webapp/assets/js/file_input/fileinput.min.js b/src/demo/manager/src/main/webapp/assets/js/file_input/fileinput.min.js new file mode 100644 index 00000000..670254bc --- /dev/null +++ b/src/demo/manager/src/main/webapp/assets/js/file_input/fileinput.min.js @@ -0,0 +1,12 @@ +/*! + * bootstrap-fileinput v4.3.5 + * http://plugins.krajee.com/file-input + * + * Author: Kartik Visweswaran + * Copyright: 2014 - 2016, Kartik Visweswaran, Krajee.com + * + * Licensed under the BSD 3-Clause + * https://github.com/kartik-v/bootstrap-fileinput/blob/master/LICENSE.md + */!function(a){"use strict";"function"==typeof define&&define.amd?define(["jquery"],a):"object"==typeof module&&module.exports?module.exports=a(require("jquery")):a(window.jQuery)}(function(a){"use strict";a.fn.fileinputLocales={},a.fn.fileinputThemes={};var b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z,$,_,aa,ba,ca,da,ea,fa,ga,ha,ia,ja,ka,la,ma,na,oa;b=".fileinput",c="kvFileinputModal",d='style="width:{width};height:{height};"',e='\n\n\n\n\n\n',f='
    \n{previewFileIcon}\n
    ',g=window.URL||window.webkitURL,h=function(a,b,c){return void 0!==a&&(c?a===b:a.match(b))},i=function(a){if("Microsoft Internet Explorer"!==navigator.appName)return!1;if(10===a)return new RegExp("msie\\s"+a,"i").test(navigator.userAgent);var c,b=document.createElement("div");return b.innerHTML="",c=b.getElementsByTagName("i").length,document.body.appendChild(b),b.parentNode.removeChild(b),c},j=function(a,c,d,e){var f=e?c:c.split(" ").join(b+" ")+b;a.off(f).on(f,d)},k={data:{},init:function(a){var b=a.initialPreview,c=a.id;b.length>0&&!ea(b)&&(b=b.split(a.initialPreviewDelimiter)),k.data[c]={content:b,config:a.initialPreviewConfig,tags:a.initialPreviewThumbTags,delimiter:a.initialPreviewDelimiter,previewFileType:a.initialPreviewFileType,previewAsData:a.initialPreviewAsData,template:a.previewGenericTemplate,showZoom:a.fileActionSettings.showZoom,showDrag:a.fileActionSettings.showDrag,getSize:function(b){return a._getSize(b)},parseTemplate:function(b,c,d,e,f,g,h){var i=" file-preview-initial";return a._generatePreviewTemplate(b,c,d,e,f,!1,null,i,g,h)},msg:function(b){return a._getMsgSelected(b)},initId:a.previewInitId,footer:a._getLayoutTemplate("footer").replace(/\{progress}/g,a._renderThumbProgress()),isDelete:a.initialPreviewShowDelete,caption:a.initialCaption,actions:function(b,c,d,e,f,g,h){return a._renderFileActions(b,c,d,e,f,g,h,!0)}}},fetch:function(a){return k.data[a].content.filter(function(a){return null!==a})},count:function(a,b){return k.data[a]&&k.data[a].content?b?k.data[a].content.length:k.fetch(a).length:0},get:function(b,c,d){var j,l,n,o,p,q,e="init_"+c,f=k.data[b],g=f.config[c],h=f.content[c],i=f.initId+"-"+e,m=" file-preview-initial",r=fa("previewAsData",g,f.previewAsData);return d=void 0===d||d,h?(g&&g.frameClass&&(m+=" "+g.frameClass),r?(n=f.previewAsData?fa("type",g,f.previewFileType||"generic"):"generic",o=fa("caption",g),p=k.footer(b,c,d,g&&g.size||null),q=fa("filetype",g,n),j=f.parseTemplate(n,h,o,q,i,p,e,null)):j=f.template.replace(/\{previewId}/g,i).replace(/\{frameClass}/g,m).replace(/\{fileindex}/g,e).replace(/\{content}/g,f.content[c]).replace(/\{template}/g,fa("type",g,f.previewFileType)).replace(/\{footer}/g,k.footer(b,c,d,g&&g.size||null)),f.tags.length&&f.tags[c]&&(j=ia(j,f.tags[c])),da(g)||da(g.frameAttr)||(l=a(document.createElement("div")).html(j),l.find(".file-preview-initial").attr(g.frameAttr),j=l.html(),l.remove()),j):""},add:function(b,c,d,e,f){var h,g=a.extend(!0,{},k.data[b]);return ea(c)||(c=c.split(g.delimiter)),f?(h=g.content.push(c)-1,g.config[h]=d,g.tags[h]=e):(h=c.length-1,g.content=c,g.config=d,g.tags=e),k.data[b]=g,h},set:function(b,c,d,e,f){var h,i,g=a.extend(!0,{},k.data[b]);if(c&&c.length&&(ea(c)||(c=c.split(g.delimiter)),i=c.filter(function(a){return null!==a}),i.length)){if(void 0===g.content&&(g.content=[]),void 0===g.config&&(g.config=[]),void 0===g.tags&&(g.tags=[]),f){for(h=0;h'+b+"
    ",caption:d}},footer:function(a,b,c,d){var e=k.data[a];if(c=void 0===c||c,0===e.config.length||da(e.config[b]))return"";var f=e.config[b],g=fa("caption",f),h=fa("width",f,"auto"),i=fa("url",f,!1),j=fa("key",f,null),l=fa("showDelete",f,!0),m=fa("showZoom",f,e.showZoom),n=fa("showDrag",f,e.showDrag),o=i===!1&&c,p=e.isDelete?e.actions(!1,l,m,n,o,i,j):"",q=e.footer.replace(/\{actions}/g,p);return q.replace(/\{caption}/g,g).replace(/\{size}/g,e.getSize(d)).replace(/\{width}/g,h).replace(/\{indicator}/g,"").replace(/\{indicatorTitle}/g,"")}},l=function(a,b){return b=b||0,"number"==typeof a?a:("string"==typeof a&&(a=parseFloat(a)),isNaN(a)?b:a)},m=function(){return!(!window.File||!window.FileReader)},n=function(){var a=document.createElement("div");return!i(9)&&(void 0!==a.draggable||void 0!==a.ondragstart&&void 0!==a.ondrop)},o=function(){return m()&&window.FormData},p=function(a,b){a.removeClass(b).addClass(b)},X={showRemove:!0,showUpload:!0,showZoom:!0,showDrag:!0,removeIcon:'',removeClass:"btn btn-xs btn-default",removeTitle:"Remove file",uploadIcon:'',uploadClass:"btn btn-xs btn-default",uploadTitle:"Upload file",zoomIcon:'',zoomClass:"btn btn-xs btn-default",zoomTitle:"View Details",dragIcon:'',dragClass:"text-info",dragTitle:"Move / Rearrange",dragSettings:{},indicatorNew:'',indicatorSuccess:'',indicatorError:'',indicatorLoading:'',indicatorNewTitle:"Not uploaded yet",indicatorSuccessTitle:"Uploaded",indicatorErrorTitle:"Upload Error",indicatorLoadingTitle:"Uploading ..."},q='{preview}\n
    \n
    \n {caption}\n
    \n {remove}\n {cancel}\n {upload}\n {browse}\n
    \n
    ',r='{preview}\n
    \n{remove}\n{cancel}\n{upload}\n{browse}\n',s='
    \n {close}
    \n
    \n
    \n
    \n
    \n
    \n
    ',u='
    ×
    \n',t='',v='
    \n
    \n
    \n',w='',x='{icon} {label}',y='
    {icon} {label}
    ',z='',A='\n',B='
    \n
    \n {percent}%\n
    \n
    ',C="
    ({sizeText})",D='',E='
    \n \n {drag}\n
    {indicator}
    \n
    \n
    ',F='\n',G='',H='',I='{dragIcon}',J='
    \n',L=J+' title="{caption}" '+d+'>
    \n',M="
    {footer}\n
    \n",N="{content}\n",O='
    {data}
    \n",P='{caption}\n",Q='\n",R='\n",S='\n",T='\n'+e+" "+f+"\n\n",U='\n\n'+e+" "+f+"\n\n",V='\n',W='
    \n'+f+"\n
    \n",Y={main1:q,main2:r,preview:s,close:u,fileIcon:t,caption:v,modalMain:z,modal:A,progress:B,size:C,footer:D,actions:E,actionDelete:F,actionUpload:G,actionZoom:H,actionDrag:I,btnDefault:w,btnLink:x,btnBrowse:y},Z={generic:K+N+M,html:K+O+M,image:K+P+M,text:K+Q+M,video:L+R+M,audio:L+S+M,flash:L+T+M,object:L+U+M,pdf:L+V+M,other:L+W+M},_=["image","html","text","video","audio","flash","pdf","object"],ba={image:{width:"auto",height:"160px"},html:{width:"213px",height:"160px"},text:{width:"213px",height:"160px"},video:{width:"213px",height:"160px"},audio:{width:"213px",height:"80px"},flash:{width:"213px",height:"160px"},object:{width:"160px",height:"160px"},pdf:{width:"160px",height:"160px"},other:{width:"160px",height:"160px"}},$={image:{width:"100%",height:"100%"},html:{width:"100%",height:"100%","min-height":"480px"},text:{width:"100%",height:"100%","min-height":"480px"},video:{width:"auto",height:"100%","max-width":"100%"},audio:{width:"100%",height:"30px"},flash:{width:"auto",height:"480px"},object:{width:"auto",height:"100%","min-height":"480px"},pdf:{width:"100%",height:"100%","min-height":"480px"},other:{width:"auto",height:"100%","min-height":"480px"}},ca={image:function(a,b){return h(a,"image.*")||h(b,/\.(gif|png|jpe?g)$/i)},html:function(a,b){return h(a,"text/html")||h(b,/\.(htm|html)$/i)},text:function(a,b){return h(a,"text.*")||h(b,/\.(xml|javascript)$/i)||h(b,/\.(txt|md|csv|nfo|ini|json|php|js|css)$/i)},video:function(a,b){return h(a,"video.*")&&(h(a,/(ogg|mp4|mp?g|webm|3gp)$/i)||h(b,/\.(og?|mp4|webm|mp?g|3gp)$/i))},audio:function(a,b){return h(a,"audio.*")&&(h(b,/(ogg|mp3|mp?g|wav)$/i)||h(b,/\.(og?|mp3|mp?g|wav)$/i))},flash:function(a,b){return h(a,"application/x-shockwave-flash",!0)||h(b,/\.(swf)$/i)},pdf:function(a,b){return h(a,"application/pdf",!0)||h(b,/\.(pdf)$/i)},object:function(){return!0},other:function(){return!0}},da=function(b,c){return void 0===b||null===b||0===b.length||c&&""===a.trim(b)},ea=function(a){return Array.isArray(a)||"[object Array]"===Object.prototype.toString.call(a)},fa=function(a,b,c){return c=c||"",b&&"object"==typeof b&&a in b?b[a]:c},aa=function(b,c,d){return da(b)||da(b[c])?d:a(b[c])},ga=function(){return Math.round((new Date).getTime()+100*Math.random())},ha=function(a){return a.replace(/&/g,"&").replace(//g,">").replace(/"/g,""").replace(/'/g,"'")},ia=function(b,c){var d=b;return c?(a.each(c,function(a,b){"function"==typeof b&&(b=b()),d=d.split(a).join(b)}),d):d},ja=function(a){var b=a.is("img")?a.attr("src"):a.find("source").attr("src");g.revokeObjectURL(b)},ka=function(a){var b=a.lastIndexOf("/");return b===-1&&(b=a.lastIndexOf("\\")),a.split(a.substring(b,b+1)).pop()},la=function(){return document.fullscreenElement||document.mozFullScreenElement||document.webkitFullscreenElement||document.msFullscreenElement},ma=function(a){a&&!la()?document.documentElement.requestFullscreen?document.documentElement.requestFullscreen():document.documentElement.msRequestFullscreen?document.documentElement.msRequestFullscreen():document.documentElement.mozRequestFullScreen?document.documentElement.mozRequestFullScreen():document.documentElement.webkitRequestFullscreen&&document.documentElement.webkitRequestFullscreen(Element.ALLOW_KEYBOARD_INPUT):document.exitFullscreen?document.exitFullscreen():document.msExitFullscreen?document.msExitFullscreen():document.mozCancelFullScreen?document.mozCancelFullScreen():document.webkitExitFullscreen&&document.webkitExitFullscreen()},na=function(a,b,c){if(c>=a.length)for(var d=c-a.length;d--+1;)a.push(void 0);return a.splice(c,0,a.splice(b,1)[0]),a},oa=function(b,c){var d=this;d.$element=a(b),d._validate()&&(d.isPreviewable=m(),d.isIE9=i(9),d.isIE10=i(10),d.isPreviewable||d.isIE9?(d._init(c),d._listen()):d.$element.removeClass("file-loading"))},oa.prototype={constructor:oa,_init:function(b){var e,c=this,d=c.$element;a.each(b,function(a,b){switch(a){case"minFileCount":case"maxFileCount":case"maxFileSize":c[a]=l(b);break;default:c[a]=b}}),c.fileInputCleared=!1,c.fileBatchCompleted=!0,c.isPreviewable||(c.showPreview=!1),c.uploadFileAttr=da(d.attr("name"))?"file_data":d.attr("name"),c.reader=null,c.formdata={},c.clearStack(),c.uploadCount=0,c.uploadStatus={},c.uploadLog=[],c.uploadAsyncCount=0,c.loadedImages=[],c.totalImagesCount=0,c.ajaxRequests=[],c.isError=!1,c.ajaxAborted=!1,c.cancelling=!1,e=c._getLayoutTemplate("progress"),c.progressTemplate=e.replace("{class}",c.progressClass),c.progressCompleteTemplate=e.replace("{class}",c.progressCompleteClass),c.progressErrorTemplate=e.replace("{class}",c.progressErrorClass),c.dropZoneEnabled=n()&&c.dropZoneEnabled,c.isDisabled=c.$element.attr("disabled")||c.$element.attr("readonly"),c.isUploadable=o()&&!da(c.uploadUrl),c.isClickable=c.browseOnZoneClick&&c.showPreview&&(c.isUploadable&&c.dropZoneEnabled||!da(c.defaultPreviewContent)),c.slug="function"==typeof b.slugCallback?b.slugCallback:c._slugDefault,c.mainTemplate=c.showCaption?c._getLayoutTemplate("main1"):c._getLayoutTemplate("main2"),c.captionTemplate=c._getLayoutTemplate("caption"),c.previewGenericTemplate=c._getPreviewTemplate("generic"),c.resizeImage&&(c.maxImageWidth||c.maxImageHeight)&&(c.imageCanvas=document.createElement("canvas"),c.imageCanvasContext=c.imageCanvas.getContext("2d")),da(c.$element.attr("id"))&&c.$element.attr("id",ga()),void 0===c.$container?c.$container=c._createContainer():c._refreshContainer(),c.$dropZone=c.$container.find(".file-drop-zone"),c.$progress=c.$container.find(".kv-upload-progress"),c.$btnUpload=c.$container.find(".fileinput-upload"),c.$captionContainer=aa(b,"elCaptionContainer",c.$container.find(".file-caption")),c.$caption=aa(b,"elCaptionText",c.$container.find(".file-caption-name")),c.$previewContainer=aa(b,"elPreviewContainer",c.$container.find(".file-preview")),c.$preview=aa(b,"elPreviewImage",c.$container.find(".file-preview-thumbnails")),c.$previewStatus=aa(b,"elPreviewStatus",c.$container.find(".file-preview-status")),c.$errorContainer=aa(b,"elErrorContainer",c.$previewContainer.find(".kv-fileinput-error")),da(c.msgErrorClass)||p(c.$errorContainer,c.msgErrorClass),c.$errorContainer.hide(),c.fileActionSettings=a.extend(!0,X,b.fileActionSettings),c.previewInitId="preview-"+ga(),c.id=c.$element.attr("id"),k.init(c),c._initPreview(!0),c._initPreviewActions(),c.options=b,c._setFileDropZoneTitle(),c.$element.removeClass("file-loading"),c.$element.attr("disabled")&&c.disable(),c._initZoom()},_validate:function(){var b,a=this;return"file"===a.$element.attr("type")||(b='

    Invalid Input Type

    You must set an input type = file for bootstrap-fileinput plugin to initialize.
    ',a.$element.after(b),!1)},_errorsExist:function(){var c,b=this;return!!b.$errorContainer.find("li").length||(c=a(document.createElement("div")).html(b.$errorContainer.html()),c.find("span.kv-error-close").remove(),c.find("ul").remove(),!!a.trim(c.text()).length)},_errorHandler:function(a,b){var c=this,d=a.target.error;d.code===d.NOT_FOUND_ERR?c._showError(c.msgFileNotFound.replace("{name}",b)):d.code===d.SECURITY_ERR?c._showError(c.msgFileSecured.replace("{name}",b)):d.code===d.NOT_READABLE_ERR?c._showError(c.msgFileNotReadable.replace("{name}",b)):d.code===d.ABORT_ERR?c._showError(c.msgFilePreviewAborted.replace("{name}",b)):c._showError(c.msgFilePreviewError.replace("{name}",b))},_addError:function(a){var b=this,c=b.$errorContainer;a&&c.length&&(c.html(b.errorCloseButton+a),j(c.find(".kv-error-close"),"click",function(){c.fadeOut("slow")}))},_resetErrors:function(a){var b=this,c=b.$errorContainer;b.isError=!1,b.$container.removeClass("has-error"),c.html(""),a?c.fadeOut("slow"):c.hide()},_showFolderError:function(a){var d,b=this,c=b.$errorContainer;a&&(d=b.msgFoldersNotAllowed.replace(/\{n}/g,a),b._addError(d),p(b.$container,"has-error"),c.fadeIn(800),b._raise("filefoldererror",[a,d]))},_showUploadError:function(a,b,c){var d=this,e=d.$errorContainer,f=c||"fileuploaderror",g=b&&b.id?'
  3. '+a+"
  4. ":"
  5. "+a+"
  6. ";return 0===e.find("ul").length?d._addError("
      "+g+"
    "):e.find("ul").append(g),e.fadeIn(800),d._raise(f,[b,a]),d.$container.removeClass("file-input-new"),p(d.$container,"has-error"),!0},_showError:function(a,b,c){var d=this,e=d.$errorContainer,f=c||"fileerror";return b=b||{},b.reader=d.reader,d._addError(a),e.fadeIn(800),d._raise(f,[b,a]),d.isUploadable||d._clearFileInput(),d.$container.removeClass("file-input-new"),p(d.$container,"has-error"),d.$btnUpload.attr("disabled",!0),!0},_noFilesError:function(a){var b=this,c=b.minFileCount>1?b.filePlural:b.fileSingle,d=b.msgFilesTooLess.replace("{n}",b.minFileCount).replace("{files}",c),e=b.$errorContainer;b._addError(d),b.isError=!0,b._updateFileDetails(0),e.fadeIn(800),b._raise("fileerror",[a,d]),b._clearFileInput(),p(b.$container,"has-error")},_parseError:function(b,c,d){var e=this,f=a.trim(c+""),g="."===f.slice(-1)?"":".",h=void 0!==b.responseJSON&&void 0!==b.responseJSON.error?b.responseJSON.error:b.responseText;return e.cancelling&&e.msgUploadAborted&&(f=e.msgUploadAborted),e.showAjaxErrorDetails&&h?(h=a.trim(h.replace(/\n\s*\n/g,"\n")),h=h.length>0?"
    "+h+"
    ":"",f+=g+h):f+=g,e.cancelling=!1,d?""+d+": "+f:f},_parseFileType:function(a){var c,d,e,f,b=this;for(f=0;f<_.length;f+=1)if(e=_[f],c=fa(e,b.fileTypeSettings,ca[e]),d=c(a.type,a.name)?e:"",!da(d))return d;return"other"},_parseFilePreviewIcon:function(b,c){var e,f,d=this,g=d.previewFileIcon;return c&&c.indexOf(".")>-1&&(f=c.split(".").pop(),d.previewFileIconSettings&&d.previewFileIconSettings[f]&&(g=d.previewFileIconSettings[f]),d.previewFileExtSettings&&a.each(d.previewFileExtSettings,function(a,b){return d.previewFileIconSettings[a]&&b(f)?void(g=d.previewFileIconSettings[a]):void(e=!0)})),b.indexOf("{previewFileIcon}")>-1?b.replace(/\{previewFileIconClass}/g,d.previewFileIconClass).replace(/\{previewFileIcon}/g,g):b},_raise:function(b,c){var d=this,e=a.Event(b);if(void 0!==c?d.$element.trigger(e,c):d.$element.trigger(e),e.isDefaultPrevented())return!1;if(!e.result)return e.result;switch(b){case"filebatchuploadcomplete":case"filebatchuploadsuccess":case"fileuploaded":case"fileclear":case"filecleared":case"filereset":case"fileerror":case"filefoldererror":case"fileuploaderror":case"filebatchuploaderror":case"filedeleteerror":case"filecustomerror":case"filesuccessremove":break;default:d.ajaxAborted=e.result}return!0},_listenFullScreen:function(a){var d,e,b=this,c=b.$modal;c&&c.length&&(d=c&&c.find(".btn-fullscreen"),e=c&&c.find(".btn-borderless"),d.length&&e.length&&(d.removeClass("active").attr("aria-pressed","false"),e.removeClass("active").attr("aria-pressed","false"),a?d.addClass("active").attr("aria-pressed","true"):e.addClass("active").attr("aria-pressed","true"),c.hasClass("file-zoom-fullscreen")?b._maximizeZoomDialog():a?b._maximizeZoomDialog():e.removeClass("active").attr("aria-pressed","false")))},_listen:function(){var b=this,c=b.$element,d=c.closest("form"),e=b.$container;j(c,"change",a.proxy(b._change,b)),b.showBrowse&&j(b.$btnFile,"click",a.proxy(b._browse,b)),j(d,"reset",a.proxy(b.reset,b)),j(e.find(".fileinput-remove:not([disabled])"),"click",a.proxy(b.clear,b)),j(e.find(".fileinput-cancel"),"click",a.proxy(b.cancel,b)),b._initDragDrop(),b.isUploadable||j(d,"submit",a.proxy(b._submitForm,b)),j(b.$container.find(".fileinput-upload"),"click",a.proxy(b._uploadClick,b)),j(a(window),"resize",function(){b._listenFullScreen(screen.width===window.innerWidth&&screen.height===window.innerHeight)}),j(a(document),"webkitfullscreenchange mozfullscreenchange fullscreenchange MSFullscreenChange",function(){b._listenFullScreen(la())}),b._initClickable()},_initClickable:function(){var c,b=this;b.isClickable&&(c=b.isUploadable?b.$dropZone:b.$preview.find(".file-default-preview"),p(c,"clickable"),c.attr("tabindex",-1),j(c,"click",function(d){var e=a(d.target);e.parents(".file-preview-thumbnails").length&&!e.parents(".file-default-preview").length||(b.$element.trigger("click"),c.blur())}))},_initDragDrop:function(){var b=this,c=b.$dropZone;b.isUploadable&&b.dropZoneEnabled&&b.showPreview&&(j(c,"dragenter dragover",a.proxy(b._zoneDragEnter,b)),j(c,"dragleave",a.proxy(b._zoneDragLeave,b)),j(c,"drop",a.proxy(b._zoneDrop,b)),j(a(document),"dragenter dragover drop",b._zoneDragDropInit))},_zoneDragDropInit:function(a){a.stopPropagation(),a.preventDefault()},_zoneDragEnter:function(b){var c=this,d=a.inArray("Files",b.originalEvent.dataTransfer.types)>-1;return c._zoneDragDropInit(b),c.isDisabled||!d?(b.originalEvent.dataTransfer.effectAllowed="none",void(b.originalEvent.dataTransfer.dropEffect="none")):void p(c.$dropZone,"file-highlighted")},_zoneDragLeave:function(a){var b=this;b._zoneDragDropInit(a),b.isDisabled||b.$dropZone.removeClass("file-highlighted")},_zoneDrop:function(a){var b=this;a.preventDefault(),b.isDisabled||da(a.originalEvent.dataTransfer.files)||(b._change(a,"dragdrop"),b.$dropZone.removeClass("file-highlighted"))},_uploadClick:function(a){var d,b=this,c=b.$container.find(".fileinput-upload"),e=!c.hasClass("disabled")&&da(c.attr("disabled"));if(!a||!a.isDefaultPrevented()){if(!b.isUploadable)return void(e&&"submit"!==c.attr("type")&&(d=c.closest("form"),d.length&&d.trigger("submit"),a.preventDefault()));a.preventDefault(),e&&b.upload()}},_submitForm:function(){var a=this,b=a.$element,c=b.get(0).files;return c&&a.minFileCount>0&&a._getFileCount(c.length)
    ',next:'',toggleheader:'',fullscreen:'',borderless:'',close:''},previewZoomButtonClasses:{prev:"btn btn-navigate",next:"btn btn-navigate",toggleheader:"btn btn-default btn-header-toggle",fullscreen:"btn btn-default",borderless:"btn btn-default",close:"btn btn-default"},allowedPreviewTypes:_,allowedPreviewMimeTypes:null,allowedFileTypes:null,allowedFileExtensions:null,defaultPreviewContent:null,customLayoutTags:{},customPreviewTags:{},previewSettings:ba,fileTypeSettings:ca,previewFileIcon:'',previewFileIconClass:"file-other-icon",previewFileIconSettings:{},previewFileExtSettings:{},buttonLabelClass:"hidden-xs",browseIcon:' ',browseClass:"btn btn-primary",removeIcon:'',removeClass:"btn btn-default",cancelIcon:'',cancelClass:"btn btn-default",uploadIcon:'',uploadClass:"btn btn-default",uploadUrl:null,uploadAsync:!0,uploadExtraData:{},zoomModalHeight:480,minImageWidth:null,minImageHeight:null,maxImageWidth:null,maxImageHeight:null,resizeImage:!1,resizePreference:"width",resizeQuality:.92,resizeDefaultImageType:"image/jpeg",maxFileSize:0,maxFilePreviewSize:25600,minFileCount:0,maxFileCount:0,validateInitialCount:!1,msgValidationErrorClass:"text-danger",msgValidationErrorIcon:' ',msgErrorClass:"file-error-message",progressThumbClass:"progress-bar progress-bar-success progress-bar-striped active",progressClass:"progress-bar progress-bar-success progress-bar-striped active",progressCompleteClass:"progress-bar progress-bar-success",progressErrorClass:"progress-bar progress-bar-danger",progressUploadThreshold:99,previewFileType:"image",elCaptionContainer:null,elCaptionText:null,elPreviewContainer:null,elPreviewImage:null,elPreviewStatus:null,elErrorContainer:null,errorCloseButton:'×',slugCallback:null,dropZoneEnabled:!0,dropZoneTitleClass:"file-drop-zone-title",fileActionSettings:{},otherActionButtons:"",textEncoding:"UTF-8",ajaxSettings:{},ajaxDeleteSettings:{},showAjaxErrorDetails:!0},a.fn.fileinputLocales.en={fileSingle:"file",filePlural:"files",browseLabel:"Browse …",removeLabel:"Remove",removeTitle:"Clear selected files",cancelLabel:"Cancel",cancelTitle:"Abort ongoing upload",uploadLabel:"Upload",uploadTitle:"Upload selected files",msgNo:"No",msgNoFilesSelected:"No files selected",msgCancelled:"Cancelled",msgZoomModalHeading:"Detailed Preview",msgSizeTooLarge:'File "{name}" ({size} KB) exceeds maximum allowed upload size of {maxSize} KB.',msgFilesTooLess:"You must select at least {n} {files} to upload.",msgFilesTooMany:"Number of files selected for upload ({n}) exceeds maximum allowed limit of {m}.",msgFileNotFound:'File "{name}" not found!',msgFileSecured:'Security restrictions prevent reading the file "{name}".',msgFileNotReadable:'File "{name}" is not readable.',msgFilePreviewAborted:'File preview aborted for "{name}".',msgFilePreviewError:'An error occurred while reading the file "{name}".',msgInvalidFileType:'Invalid type for file "{name}". Only "{types}" files are supported.',msgInvalidFileExtension:'Invalid extension for file "{name}". Only "{extensions}" files are supported.',msgUploadAborted:"The file upload was aborted",msgUploadThreshold:"Processing...",msgValidationError:"Validation Error",msgLoading:"Loading file {index} of {files} …",msgProgress:"Loading file {index} of {files} - {name} - {percent}% completed.",msgSelected:"{n} {files} selected",msgFoldersNotAllowed:"Drag & drop files only! {n} folder(s) dropped were skipped.",msgImageWidthSmall:'Width of image file "{name}" must be at least {size} px.',msgImageHeightSmall:'Height of image file "{name}" must be at least {size} px.',msgImageWidthLarge:'Width of image file "{name}" cannot exceed {size} px.',msgImageHeightLarge:'Height of image file "{name}" cannot exceed {size} px.',msgImageResizeError:"Could not get the image dimensions to resize.",msgImageResizeException:"Error while resizing the image.
    {errors}
    ",dropZoneTitle:"Drag & drop files here …",dropZoneClickTitle:"
    (or click to select {files})",previewZoomButtonTitles:{prev:"View previous file",next:"View next file",toggleheader:"Toggle header",fullscreen:"Toggle full screen",borderless:"Toggle borderless mode",close:"Close detailed preview"}},a.fn.fileinput.Constructor=oa,a(document).ready(function(){var b=a("input.file[type=file]");b.length&&b.fileinput()})}); \ No newline at end of file diff --git a/src/demo/manager/src/main/webapp/assets/js/file_input/zh.js b/src/demo/manager/src/main/webapp/assets/js/file_input/zh.js new file mode 100644 index 00000000..4882d6af --- /dev/null +++ b/src/demo/manager/src/main/webapp/assets/js/file_input/zh.js @@ -0,0 +1,73 @@ +/*! + * FileInput Chinese Translations + * + * This file must be loaded after 'fileinput.js'. Patterns in braces '{}', or + * any HTML markup tags in the messages must not be converted or translated. + * + * @see http://github.com/kartik-v/bootstrap-fileinput + * @author kangqf + * + * NOTE: this file must be saved in UTF-8 encoding. + */ +(function ($) { + "use strict"; + + $.fn.fileinputLocales['zh'] = { + fileSingle: '文件', + filePlural: '多个文件', + browseLabel: '选择 …', + removeLabel: '移除', + removeTitle: '清除选中文件', + cancelLabel: '取消', + cancelTitle: '取消进行中的上传', + uploadLabel: '上传', + uploadTitle: '上传选中文件', + msgNo: '没有', + msgNoFilesSelected: '', + msgCancelled: '取消', + msgZoomModalHeading: '详细预览', + msgSizeTooLarge: '文件 "{name}" ({size} KB) 超过了允许大小 {maxSize} KB.', + msgFilesTooLess: '你必须选择最少 {n} {files} 来上传. ', + msgFilesTooMany: '选择的上传文件个数 ({n}) 超出最大文件的限制个数 {m}.', + msgFileNotFound: '文件 "{name}" 未找到!', + msgFileSecured: '安全限制,为了防止读取文件 "{name}".', + msgFileNotReadable: '文件 "{name}" 不可读.', + msgFilePreviewAborted: '取消 "{name}" 的预览.', + msgFilePreviewError: '读取 "{name}" 时出现了一个错误.', + msgInvalidFileType: '不正确的类型 "{name}". 只支持 "{types}" 类型的文件.', + msgInvalidFileExtension: '不正确的文件扩展名 "{name}". 只支持 "{extensions}" 的文件扩展名.', + msgUploadAborted: '该文件上传被中止', + msgUploadThreshold: 'Processing...', + msgValidationError: '验证错误', + msgLoading: '加载第 {index} 文件 共 {files} …', + msgProgress: '加载第 {index} 文件 共 {files} - {name} - {percent}% 完成.', + msgSelected: '{n} {files} 选中', + msgFoldersNotAllowed: '只支持拖拽文件! 跳过 {n} 拖拽的文件夹.', + msgImageWidthSmall: '宽度的图像文件的"{name}"的必须是至少{size}像素.', + msgImageHeightSmall: '图像文件的"{name}"的高度必须至少为{size}像素.', + msgImageWidthLarge: '宽度的图像文件"{name}"不能超过{size}像素.', + msgImageHeightLarge: '图像文件"{name}"的高度不能超过{size}像素.', + msgImageResizeError: '无法获取的图像尺寸调整。', + msgImageResizeException: '错误而调整图像大小。
    {errors}
    ', + dropZoneTitle: '拖拽文件到这里 …', + dropZoneClickTitle: '
    (or click to select {files})', + fileActionSettings: { + removeTitle: '删除文件', + uploadTitle: '上传文件', + zoomTitle: '查看详情', + dragTitle: 'Move / Rearrange', + indicatorNewTitle: '没有上传', + indicatorSuccessTitle: '上传', + indicatorErrorTitle: '上传错误', + indicatorLoadingTitle: '上传 ...' + }, + previewZoomButtonTitles: { + prev: 'View previous file', + next: 'View next file', + toggleheader: 'Toggle header', + fullscreen: 'Toggle full screen', + borderless: 'Toggle borderless mode', + close: 'Close detailed preview' + } + }; +})(window.jQuery); \ No newline at end of file diff --git a/src/demo/manager/src/main/webapp/assets/js/fullcalendar/bootstrap-fullcalendar.css b/src/demo/manager/src/main/webapp/assets/js/fullcalendar/bootstrap-fullcalendar.css new file mode 100644 index 00000000..dab7311a --- /dev/null +++ b/src/demo/manager/src/main/webapp/assets/js/fullcalendar/bootstrap-fullcalendar.css @@ -0,0 +1,632 @@ +/* + * FullCalendar v1.5.3 Stylesheet + * + * Copyright (c) 2011 Adam Shaw + * Dual licensed under the MIT and GPL licenses, located in + * MIT-LICENSE.txt and GPL-LICENSE.txt respectively. + * + * Date: Mon Feb 6 22:40:40 2012 -0800 + * + */ + + +.fc { + direction: ltr; + text-align: left; + } + +.fc table { + border-collapse: collapse; + border-spacing: 0; + } + +html .fc, +.fc table { + font-size: 1em; + } + +.fc td, +.fc th { + padding: 0; + vertical-align: top; + } + + + +/* Header +------------------------------------------------------------------------*/ + +.fc-header td { + white-space: nowrap; + } + +.fc-header-left { + width: 25%; + text-align: left; + } + +.fc-header-center { + text-align: center; + } + +.fc-header-right { + width: 25%; + text-align: right; + } + +.fc-header-title { + display: inline-block; + vertical-align: top; + } + +.fc-header-title h2 { + margin-top: 0; + font-size: 16px; + white-space: nowrap; + } + +.fc .fc-header-space { + padding-left: 10px; + } + +.fc-header .fc-button { + margin-bottom: 1em; + vertical-align: top; +} + +/* buttons edges butting together */ + +.fc-header .fc-button { + margin-right: -1px; + } + +.fc-header .fc-corner-right { + margin-right: 1px; /* back to normal */ + } + +.fc-header .ui-corner-right { + margin-right: 0; /* back to normal */ + } + +/* button layering (for border precedence) */ + +.fc-header .fc-state-hover, +.fc-header .ui-state-hover { + z-index: 2; + } + +.fc-header .fc-state-down { + z-index: 3; + } + +.fc-header .fc-state-active, +.fc-header .ui-state-active { + z-index: 4; + } + + + +/* Content +------------------------------------------------------------------------*/ + +.fc-content { + clear: both; + } + +.fc-view { + width: 100%; /* needed for view switching (when view is absolute) */ + overflow: hidden; + } + + + +/* Cell Styles +------------------------------------------------------------------------*/ + +.fc-widget-header { + background-image: -moz-linear-gradient(top, #fafafa, #efefef); + background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#fafafa), to(#efefef)); + background-image: -webkit-linear-gradient(top, #fafafa, #efefef); + background-image: -o-linear-gradient(top, #fafafa, #efefef); + background-image: linear-gradient(to bottom, #fafafa, #efefef); + color: #646464; +} + +.fc-widget-header, /* , usually */ +.fc-widget-content { /* , usually */ + border: 1px solid #ddd; + color: #646464; +} + +.fc-state-highlight { /* today cell */ /* TODO: add .fc-today to */ + background: #fff; + } + +.fc-cell-overlay { /* semi-transparent rectangle while dragging */ + background: #9cf; + opacity: .2; + filter: alpha(opacity=20); /* for IE */ + } + + + +/* Buttons +------------------------------------------------------------------------*/ + +.fc-button { + position: relative; + overflow: hidden; + display: inline-block; + cursor: pointer; + top: -52px; +} + +.fc-header { + margin-bottom:-20px; +} + +.fc-state-default { /* non-theme */ + border-style: solid; + border-width: 1px 0; + } + +.fc-button-inner { + position: relative; + float: left; + overflow: hidden; + padding: 5px; + + } + +.fc-state-default .fc-button-inner { /* non-theme */ + border-style: solid; + border-width: 0 1px; + } + +.fc-button-content { + position: relative; + float: left; + height: 1.9em; + line-height: 1.9em; + padding: 0 .6em; + white-space: nowrap; + } + +/* icon (for jquery ui) */ + +.fc-button-content .fc-icon-wrap { + position: relative; + float: left; + top: 50%; + } + +.fc-button-content .ui-icon { + position: relative; + float: left; + margin-top: -50%; + *margin-top: 0; + *top: -50%; + } + +/* gloss effect */ + +.fc-state-default .fc-button-effect { + position: absolute; + top: 50%; + left: 0; + } + +.fc-state-default .fc-button-effect span { + + } + +/* button states (determines colors) */ + +.fc-state-default, +.fc-state-default .fc-button-inner { + border-top-style: none; + border-bottom-style: none; + border-left-style: solid; + border-right-style: solid; + border-color: #ddd; + background: transparent; + color: #646464; + } + +.fc-state-hover, +.fc-state-hover .fc-button-inner { + border-color: #ddd; + background: #fafafa; + } + +.fc-state-down, +.fc-state-down .fc-button-inner { + border-color: #ddd; + background: transparent; + } + +.fc-state-active, +.fc-state-active .fc-button-inner { + background:#FFFFFF; + border-bottom: 1px solid #FFFFFF; + border-color: #DDDDDD #DDDDDD #FFFFFF; + color: #646464; +} + } + +.fc-state-disabled, +.fc-state-disabled .fc-button-inner { + color: #999; + border-color: #ddd; + } + +.fc-state-disabled { + cursor: default; + } + +.fc-state-disabled .fc-button-effect { + display: none; + } + + + +/* Global Event Styles +------------------------------------------------------------------------*/ + +.fc-event { + border-style: solid; + border-width: 0; + font-size: .85em; + cursor: default; + } + +a.fc-event, +.fc-event-draggable { + cursor: pointer; + } + +a.fc-event { + text-decoration: none; + } + +.fc-rtl .fc-event { + text-align: right; + } + +.fc-event-skin { + border-color: #81c4e6; /* default BORDER color */ + background-color: #8cccec; /* default BACKGROUND color */ + color: #fff; /* default TEXT color */ + } + +.fc-event-inner { + position: relative; + width: 100%; + height: 100%; + border-style: solid; + border-width: 0; + overflow: hidden; + } + +.fc-event-time, +.fc-event-title { + padding: 0 1px; + } + +.fc .ui-resizable-handle { /*** TODO: don't use ui-resizable anymore, change class ***/ + display: block; + position: absolute; + z-index: 99999; + overflow: hidden; /* hacky spaces (IE6/7) */ + font-size: 300%; /* */ + line-height: 50%; /* */ + } + + + +/* Horizontal Events +------------------------------------------------------------------------*/ + +.fc-event-hori { + border-width: 1px 0; + margin-bottom: 1px; + } + +/* resizable */ + +.fc-event-hori .ui-resizable-e { + top: 0 !important; /* importants override pre jquery ui 1.7 styles */ + right: -3px !important; + width: 7px !important; + height: 100% !important; + cursor: e-resize; + } + +.fc-event-hori .ui-resizable-w { + top: 0 !important; + left: -3px !important; + width: 7px !important; + height: 100% !important; + cursor: w-resize; + } + +.fc-event-hori .ui-resizable-handle { + _padding-bottom: 14px; /* IE6 had 0 height */ + } + + + +/* Fake Rounded Corners (for buttons and events) +------------------------------------------------------------*/ + +.fc-corner-left { + margin-left: 1px; + } + +.fc-corner-left .fc-button-inner, +.fc-corner-left .fc-event-inner { + margin-left: -1px; + } + +.fc-corner-right { + margin-right: 1px; + } + +.fc-corner-right .fc-button-inner, +.fc-corner-right .fc-event-inner { + margin-right: -1px; + } + +.fc-corner-top { + margin-top: 1px; + } + +.fc-corner-top .fc-event-inner { + margin-top: -1px; + } + +.fc-corner-bottom { + margin-bottom: 1px; + } + +.fc-corner-bottom .fc-event-inner { + margin-bottom: -1px; + } + + + +/* Fake Rounded Corners SPECIFICALLY FOR EVENTS +-----------------------------------------------------------------*/ + +.fc-corner-left .fc-event-inner { + border-left-width: 1px; + } + +.fc-corner-right .fc-event-inner { + border-right-width: 1px; + } + +.fc-corner-top .fc-event-inner { + border-top-width: 1px; + } + +.fc-corner-bottom .fc-event-inner { + border-bottom-width: 1px; + } + + + +/* Reusable Separate-border Table +------------------------------------------------------------*/ + +table.fc-border-separate { + border-collapse: separate; + + } + +.fc-border-separate th, +.fc-border-separate td { + border-width: 1px 0 0 1px; + } + +.fc-border-separate th.fc-last, +.fc-border-separate td.fc-last { + border-right-width: 1px; + } + +.fc-border-separate tr.fc-last th, +.fc-border-separate tr.fc-last td { + border-bottom-width: 1px; + } + +.fc-border-separate tbody tr.fc-first td, +.fc-border-separate tbody tr.fc-first th { + border-top-width: 0; + } + + + +/* Month View, Basic Week View, Basic Day View +------------------------------------------------------------------------*/ + +.fc-grid th { + text-align: center; + } + +.fc-grid .fc-day-number { + float: right; + padding: 0 2px; + } + +.fc-grid .fc-other-month .fc-day-number { + opacity: 0.3; + filter: alpha(opacity=30); /* for IE */ + /* opacity with small font can sometimes look too faded + might want to set the 'color' property instead + making day-numbers bold also fixes the problem */ + } + +.fc-grid .fc-day-content { + clear: both; + padding: 2px 2px 1px; /* distance between events and day edges */ + } + +/* event styles */ + +.fc-grid .fc-event-time { + font-weight: bold; + } + +/* right-to-left */ + +.fc-rtl .fc-grid .fc-day-number { + float: left; + } + +.fc-rtl .fc-grid .fc-event-time { + float: right; + } + + + +/* Agenda Week View, Agenda Day View +------------------------------------------------------------------------*/ + +.fc-agenda table { + border-collapse: separate; + } + +.fc-agenda-days th { + text-align: center; + } + +.fc-agenda .fc-agenda-axis { + width: 50px; + padding: 0 4px; + vertical-align: middle; + text-align: right; + white-space: nowrap; + font-weight: normal; + } + +.fc-agenda .fc-day-content { + padding: 2px 2px 1px; + } + +/* make axis border take precedence */ + +.fc-agenda-days .fc-agenda-axis { + border-right-width: 1px; + } + +.fc-agenda-days .fc-col0 { + border-left-width: 0; + } + +/* all-day area */ + +.fc-agenda-allday th { + border-width: 0 1px; + } + +.fc-agenda-allday .fc-day-content { + min-height: 34px; /* TODO: doesnt work well in quirksmode */ + _height: 34px; + } + +/* divider (between all-day and slots) */ + +.fc-agenda-divider-inner { + height: 2px; + overflow: hidden; + } + +.fc-widget-header .fc-agenda-divider-inner { + background: #eee; + } + +/* slot rows */ + +.fc-agenda-slots th { + border-width: 1px 1px; + } + +.fc-agenda-slots td { + border-width: 1px 0 0; + background: none; + } + +.fc-agenda-slots td div { + height: 20px; + } + +.fc-agenda-slots tr.fc-slot0 th, +.fc-agenda-slots tr.fc-slot0 td { + border-top-width: 0; + } + +.fc-agenda-slots tr.fc-minor th, +.fc-agenda-slots tr.fc-minor td { + border-top-style: dotted; + } + +.fc-agenda-slots tr.fc-minor th.ui-widget-header { + *border-top-style: solid; /* doesn't work with background in IE6/7 */ + } + + + +/* Vertical Events +------------------------------------------------------------------------*/ + +.fc-event-vert { + border-width: 0 1px; + } + +.fc-event-vert .fc-event-head, +.fc-event-vert .fc-event-content { + position: relative; + z-index: 2; + width: 100%; + overflow: hidden; + } + +.fc-event-vert .fc-event-time { + white-space: nowrap; + font-size: 10px; + } + +.fc-event-vert .fc-event-bg { /* makes the event lighter w/ a semi-transparent overlay */ + position: absolute; + z-index: 1; + top: 0; + left: 0; + width: 100%; + height: 100%; + background: #fff; + opacity: .3; + filter: alpha(opacity=30); + } + +.fc .ui-draggable-dragging .fc-event-bg, /* TODO: something nicer like .fc-opacity */ +.fc-select-helper .fc-event-bg { + display: none\9; /* for IE6/7/8. nested opacity filters while dragging don't work */ + } + +/* resizable */ + +.fc-event-vert .ui-resizable-s { + bottom: 0 !important; /* importants override pre jquery ui 1.7 styles */ + width: 100% !important; + height: 8px !important; + overflow: hidden !important; + line-height: 8px !important; + font-size: 11px !important; + font-family: monospace; + text-align: center; + cursor: s-resize; + } + +.fc-agenda .ui-resizable-resizing { /* TODO: better selector */ + _overflow: hidden; + } \ No newline at end of file diff --git a/src/demo/manager/src/main/webapp/assets/js/fullcalendar/fullcalendar.min.js b/src/demo/manager/src/main/webapp/assets/js/fullcalendar/fullcalendar.min.js new file mode 100644 index 00000000..da6c7c09 --- /dev/null +++ b/src/demo/manager/src/main/webapp/assets/js/fullcalendar/fullcalendar.min.js @@ -0,0 +1,114 @@ +/* + + FullCalendar v1.5.4 + http://arshaw.com/fullcalendar/ + + Use fullcalendar.css for basic styling. + For event drag & drop, requires jQuery UI draggable. + For event resizing, requires jQuery UI resizable. + + Copyright (c) 2011 Adam Shaw + Dual licensed under the MIT and GPL licenses, located in + MIT-LICENSE.txt and GPL-LICENSE.txt respectively. + + Date: Tue Sep 4 23:38:33 2012 -0700 + +*/ +(function(m,ma){function wb(a){m.extend(true,Ya,a)}function Yb(a,b,e){function d(k){if(E){u();q();na();S(k)}else f()}function f(){B=b.theme?"ui":"fc";a.addClass("fc");b.isRTL&&a.addClass("fc-rtl");b.theme&&a.addClass("ui-widget");E=m("
    ").prependTo(a);C=new Zb(X,b);(P=C.render())&&a.prepend(P);y(b.defaultView);m(window).resize(oa);t()||g()}function g(){setTimeout(function(){!n.start&&t()&&S()},0)}function l(){m(window).unbind("resize",oa);C.destroy(); +E.remove();a.removeClass("fc fc-rtl ui-widget")}function j(){return i.offsetWidth!==0}function t(){return m("body")[0].offsetWidth!==0}function y(k){if(!n||k!=n.name){F++;pa();var D=n,Z;if(D){(D.beforeHide||xb)();Za(E,E.height());D.element.hide()}else Za(E,1);E.css("overflow","hidden");if(n=Y[k])n.element.show();else n=Y[k]=new Ja[k](Z=s=m("
    ").appendTo(E),X);D&&C.deactivateButton(D.name);C.activateButton(k);S();E.css("overflow","");D&& +Za(E,1);Z||(n.afterShow||xb)();F--}}function S(k){if(j()){F++;pa();o===ma&&u();var D=false;if(!n.start||k||r=n.end){n.render(r,k||0);fa(true);D=true}else if(n.sizeDirty){n.clearEvents();fa();D=true}else if(n.eventsDirty){n.clearEvents();D=true}n.sizeDirty=false;n.eventsDirty=false;ga(D);W=a.outerWidth();C.updateTitle(n.title);k=new Date;k>=n.start&&k").append(m("").append(f("left")).append(f("center")).append(f("right")))}function d(){Q.remove()}function f(u){var fa=m("");(u=b.header[u])&&m.each(u.split(" "),function(oa){oa>0&&fa.append("");var ga; +m.each(this.split(","),function(ra,sa){if(sa=="title"){fa.append("

     

    ");ga&&ga.addClass(q+"-corner-right");ga=null}else{var ha;if(a[sa])ha=a[sa];else if(Ja[sa])ha=function(){na.removeClass(q+"-state-hover");a.changeView(sa)};if(ha){ra=b.theme?jb(b.buttonIcons,sa):null;var da=jb(b.buttonText,sa),na=m(""+(ra?"":da)+"");if(na){na.click(function(){na.hasClass(q+"-state-disabled")||ha()}).mousedown(function(){na.not("."+q+"-state-active").not("."+q+"-state-disabled").addClass(q+"-state-down")}).mouseup(function(){na.removeClass(q+"-state-down")}).hover(function(){na.not("."+q+"-state-active").not("."+q+"-state-disabled").addClass(q+"-state-hover")},function(){na.removeClass(q+"-state-hover").removeClass(q+"-state-down")}).appendTo(fa); +ga||na.addClass(q+"-corner-left");ga=na}}}});ga&&ga.addClass(q+"-corner-right")});return fa}function g(u){Q.find("h2").html(u)}function l(u){Q.find("span.fc-button-"+u).addClass(q+"-state-active")}function j(u){Q.find("span.fc-button-"+u).removeClass(q+"-state-active")}function t(u){Q.find("span.fc-button-"+u).addClass(q+"-state-disabled")}function y(u){Q.find("span.fc-button-"+u).removeClass(q+"-state-disabled")}var S=this;S.render=e;S.destroy=d;S.updateTitle=g;S.activateButton=l;S.deactivateButton= +j;S.disableButton=t;S.enableButton=y;var Q=m([]),q}function $b(a,b){function e(c,z){return!ca||cka}function d(c,z){ca=c;ka=z;L=[];c=++qa;G=z=U.length;for(var H=0;Hl;y--)if(S=dc[e.substring(l,y)]){if(f)Q+=S(f,d);l=y-1;break}if(y==l)if(f)Q+=t}}return Q}function Ua(a){return a.end?ec(a.end,a.allDay):ba(N(a.start),1)}function ec(a,b){a=N(a);return b||a.getHours()||a.getMinutes()?ba(a,1):Ka(a)}function fc(a,b){return(b.msLength-a.msLength)*100+(a.event.start-b.event.start)}function Cb(a,b){return a.end>b.start&&a.starte&&td){y=N(d);Q=false}else{y=y;Q=true}f.push({event:j,start:t,end:y,isStart:S,isEnd:Q,msLength:y-t})}}return f.sort(fc)}function ob(a){var b=[],e,d=a.length,f,g,l,j;for(e=0;e=0;e--){d=a[b[e].toLowerCase()];if(d!==ma)return d}return a[""]}function Qa(a){return a.replace(/&/g, +"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""").replace(/\n/g,"
    ")}function Ib(a){return a.id+"/"+a.className+"/"+a.style.cssText.replace(/(^|;)\s*(top|left|width|height)\s*:[^;]*/ig,"")}function qb(a){a.attr("unselectable","on").css("MozUserSelect","none").bind("selectstart.ui",function(){return false})}function ab(a){a.children().removeClass("fc-first fc-last").filter(":first-child").addClass("fc-first").end().filter(":last-child").addClass("fc-last")} +function rb(a,b){a.each(function(e,d){d.className=d.className.replace(/^fc-\w*/,"fc-"+lc[b.getDay()])})}function Jb(a,b){var e=a.source||{},d=a.color,f=e.color,g=b("eventColor"),l=a.backgroundColor||d||e.backgroundColor||f||b("eventBackgroundColor")||g;d=a.borderColor||d||e.borderColor||f||b("eventBorderColor")||g;a=a.textColor||e.textColor||b("eventTextColor");b=[];l&&b.push("background-color:"+l);d&&b.push("border-color:"+d);a&&b.push("color:"+a);return b.join(";")}function $a(a,b,e){if(m.isFunction(a))a= +[a];if(a){var d,f;for(d=0;d";for(aa=0;aa";R+="";for(aa=0;aa";for(V=0;V
    "+(I?"
    ":"")+"
     
    ";R+=""}R+="";w= +m(R).appendTo(a);K=w.find("thead");i=K.find("th");C=w.find("tbody");P=C.find("tr");E=C.find("td");B=E.filter(":first-child");n=P.eq(0).find("div.fc-day-content div");ab(K.add(K.find("tr")));ab(P);P.eq(0).addClass("fc-first");y(E);Y=m("
    ").appendTo(a)}function l(w){var I=w||v==1,R=p.start.getMonth(),V=Ka(new Date),ea,aa,va;I&&i.each(function(wa,Ga){ea=m(Ga);aa=ca(wa);ea.html(ya(aa,$));rb(ea,aa)});E.each(function(wa,Ga){ea=m(Ga);aa=ca(wa);aa.getMonth()== +R?ea.removeClass("fc-other-month"):ea.addClass("fc-other-month");+aa==+V?ea.addClass(la+"-state-highlight fc-today"):ea.removeClass(la+"-state-highlight fc-today");ea.find("div.fc-day-number").text(aa.getDate());I&&rb(ea,aa)});P.each(function(wa,Ga){va=m(Ga);if(wa div"),(ea==v-1?R:I)-Sa(V))}})}function t(w){W=w;M.clear();s=Math.floor(W/F);Va(i.slice(0,-1),s)}function y(w){w.click(S).mousedown(X)}function S(w){if(!L("selectable")){var I=parseInt(this.className.match(/fc\-day(\d+)/)[1]);I=ca(I);c("dayClick",this,I,true,w)}}function Q(w,I,R){R&&r.build();R=N(p.visStart);for(var V=ba(N(R),F),ea=0;ea ";for(A=0;A";x+="  ";for(A=0;A
     
    ";x+=" ";v=m(x).appendTo(a);F=v.find("thead");r=F.find("th").slice(1,-1);J=v.find("tbody");M=J.find("td").slice(0,-1);k=M.find("div.fc-day-content div");D=M.eq(0);Z=D.find("> div");ab(F.add(F.find("tr")));ab(J.add(J.find("tr")));aa=F.find("th:first");va=v.find(".fc-agenda-gutter");ja=m("
    ").appendTo(a); +if(i("allDaySlot")){ia=m("
    ").appendTo(ja);x="
    "+i("allDayText")+"
     
    ";la=m(x).appendTo(ja);$=la.find("tr");q($.find("td"));aa=aa.add(la.find("th:first"));va=va.add(la.find("th.fc-agenda-gutter"));ja.append("
    ")}else ia=m([]);w=m("
    ").appendTo(ja);I=m("
    ").appendTo(w);R=m("
    ").appendTo(I);x="";ta=zb();za=xa(N(ta),bb);xa(ta,La);for(A=tb=0;ta";xa(ta,i("slotMinutes"));tb++}x+="
    "+(!Ea||!Da?s(ta,i("axisFormat")):" ")+"
     
    ";V=m(x).appendTo(I);ea=V.find("div:first");u(V.find("td"));aa=aa.add(V.find("th:first"))}function l(){var h,O,x,A,ta=Ka(new Date);for(h=0;h=0&&xa(O,La+h*i("slotMinutes"));return O}function ua(h){return ba(N(K.visStart),h*Ha+Ia)}function pa(h){return i("allDaySlot")&&!h.row}function U(h){return(h-Math.max(Tb,Sb)+Ba)%Ba*Ha+Ia}function ca(h,O){h=N(h,true);if(O=xa(N(h),bb))return V.height(); +h=i("slotMinutes");O=O.getHours()*60+O.getMinutes()-La;var x=Math.floor(O/h),A=ub[x];if(A===ma)A=ub[x]=V.find("tr:eq("+x+") td div")[0].offsetTop;return Math.max(0,Math.round(A-1+Xa*(O%h/h)))}function ka(){return{left:Ma,right:Ga-vb}}function qa(){return $}function G(h){var O=N(h.start);if(h.allDay)return O;return xa(O,i("defaultEventMinutes"))}function p(h,O){if(O)return N(h);return xa(N(h),i("slotMinutes"))}function L(h,O,x){if(x)i("allDaySlot")&&oa(h,ba(N(O),1),true);else c(h,O)}function c(h,O){var x= +i("selectHelper");Na.build();if(x){var A=Ca(h,K.visStart)*Ha+Ia;if(A>=0&&Ata){A.top=ta;A.height=za-ta;A.left+=2;A.width-=5;if(m.isFunction(x)){if(h=x(h,O)){A.position="absolute";A.zIndex=8;wa=m(h).css(A).appendTo(I)}}else{A.isStart=true;A.isEnd=true;wa=m(o({title:"",start:h,end:O,className:["fc-select-helper"],editable:false},A));wa.css("opacity",i("dragOpacity"))}if(wa){u(wa);I.append(wa);Va(wa,A.width,true);Eb(wa,A.height,true)}}}}else ra(h, +O)}function z(){B();if(wa){wa.remove();wa=null}}function H(h){if(h.which==1&&i("selectable")){Y(h);var O;Ra.start(function(x,A){z();if(x&&x.col==A.col&&!pa(x)){A=na(A);x=na(x);O=[A,xa(N(A),i("slotMinutes")),x,xa(N(x),i("slotMinutes"))].sort(Gb);c(O[0],O[3])}else O=null},h);m(document).one("mouseup",function(x){Ra.stop();if(O){+O[0]==+O[1]&&T(O[0],false,x);n(O[0],O[3],false,x)}})}}function T(h,O,x){C("dayClick",M[U(h.getDay())],h,O,x)}function X(h,O){Ra.start(function(x){B();if(x)if(pa(x))ga(x.row, +x.col,x.row,x.col);else{x=na(x);var A=xa(N(x),i("defaultEventMinutes"));ra(x,A)}},O)}function ya(h,O,x){var A=Ra.stop();B();A&&C("drop",h,na(A),pa(A),O,x)}var K=this;K.renderAgenda=d;K.setWidth=t;K.setHeight=j;K.beforeHide=S;K.afterShow=Q;K.defaultEventEnd=G;K.timePosition=ca;K.dayOfWeekCol=U;K.dateCell=da;K.cellDate=na;K.cellIsAllDay=pa;K.allDayRow=qa;K.allDayBounds=ka;K.getHoverListener=function(){return Ra};K.colContentLeft=sa;K.colContentRight=ha;K.getDaySegmentContainer=function(){return ia}; +K.getSlotSegmentContainer=function(){return R};K.getMinMinute=function(){return La};K.getMaxMinute=function(){return bb};K.getBodyContent=function(){return I};K.getRowCnt=function(){return 1};K.getColCnt=function(){return Ba};K.getColWidth=function(){return db};K.getSlotHeight=function(){return Xa};K.defaultSelectionEnd=p;K.renderDayOverlay=oa;K.renderSelection=L;K.clearSelection=z;K.reportDayClick=T;K.dragStart=X;K.dragStop=ya;Kb.call(K,a,b,e);Lb.call(K);Mb.call(K);sc.call(K);var i=K.opt,C=K.trigger, +P=K.clearEvents,E=K.renderOverlay,B=K.clearOverlays,n=K.reportSelection,Y=K.unselect,W=K.daySelectionMousedown,o=K.slotSegHtml,s=b.formatDate,v,F,r,J,M,k,D,Z,ja,ia,la,$,w,I,R,V,ea,aa,va,wa,Ga,Wb,Ma,db,vb,Xa,Xb,Ba,tb,Na,Ra,cb,ub={},Wa,Tb,Sb,Ub,Ha,Ia,La,bb,Vb;qb(a.addClass("fc-agenda"));Na=new Nb(function(h,O){function x(eb){return Math.max(Ea,Math.min(tc,eb))}var A,ta,za;r.each(function(eb,uc){A=m(uc);ta=A.offset().left;if(eb)za[1]=ta;za=[ta];O[eb]=za});za[1]=ta+A.outerWidth();if(i("allDaySlot")){A= +$;ta=A.offset().top;h[0]=[ta,ta+A.outerHeight()]}for(var Da=I.offset().top,Ea=w.offset().top,tc=Ea+w.outerHeight(),fb=0;fb
    "+Qa(W(o.start,o.end,u("timeFormat")))+"
    "+Qa(o.title)+"
    ";if(s.isEnd&&ga(o))v+="
    =
    "; +v+="";return v}function j(o,s,v){oa(o)&&y(o,s,v.isStart);v.isEnd&&ga(o)&&c(o,s,v);da(o,s)}function t(o,s,v){var F=s.find("div.fc-event-time");oa(o)&&S(o,s,F);v.isEnd&&ga(o)&&Q(o,s,F);da(o,s)}function y(o,s,v){function F(){if(!M){s.width(r).height("").draggable("option","grid",null);M=true}}var r,J,M=true,k,D=u("isRTL")?-1:1,Z=U(),ja=H(),ia=T(),la=ka();s.draggable({zIndex:9,opacity:u("dragOpacity","month"),revertDuration:u("dragRevertDuration"),start:function($,w){fa("eventDragStart", +s,o,$,w);i(o,s);r=s.width();Z.start(function(I,R,V,ea){B();if(I){J=false;k=ea*D;if(I.row)if(v){if(M){s.width(ja-10);Eb(s,ia*Math.round((o.end?(o.end-o.start)/wc:u("defaultEventMinutes"))/u("slotMinutes")));s.draggable("option","grid",[ja,1]);M=false}}else J=true;else{E(ba(N(o.start),k),ba(Ua(o),k));F()}J=J||M&&!k}else{F();J=true}s.draggable("option","revert",J)},$,"drag")},stop:function($,w){Z.stop();B();fa("eventDragStop",s,o,$,w);if(J){F();s.css("filter","");K(o,s)}else{var I=0;M||(I=Math.round((s.offset().top- +X().offset().top)/ia)*u("slotMinutes")+la-(o.start.getHours()*60+o.start.getMinutes()));C(this,o,k,I,M,$,w)}}})}function S(o,s,v){function F(I){var R=xa(N(o.start),I),V;if(o.end)V=xa(N(o.end),I);v.text(W(R,V,u("timeFormat")))}function r(){if(M){v.css("display","");s.draggable("option","grid",[$,w]);M=false}}var J,M=false,k,D,Z,ja=u("isRTL")?-1:1,ia=U(),la=z(),$=H(),w=T();s.draggable({zIndex:9,scroll:false,grid:[$,w],axis:la==1?"y":false,opacity:u("dragOpacity"),revertDuration:u("dragRevertDuration"), +start:function(I,R){fa("eventDragStart",s,o,I,R);i(o,s);J=s.position();D=Z=0;ia.start(function(V,ea,aa,va){s.draggable("option","revert",!V);B();if(V){k=va*ja;if(u("allDaySlot")&&!V.row){if(!M){M=true;v.hide();s.draggable("option","grid",null)}E(ba(N(o.start),k),ba(Ua(o),k))}else r()}},I,"drag")},drag:function(I,R){D=Math.round((R.position.top-J.top)/w)*u("slotMinutes");if(D!=Z){M||F(D);Z=D}},stop:function(I,R){var V=ia.stop();B();fa("eventDragStop",s,o,I,R);if(V&&(k||D||M))C(this,o,k,M?0:D,M,I,R); +else{r();s.css("filter","");s.css(J);F(0);K(o,s)}}})}function Q(o,s,v){var F,r,J=T();s.resizable({handles:{s:"div.ui-resizable-s"},grid:J,start:function(M,k){F=r=0;i(o,s);s.css("z-index",9);fa("eventResizeStart",this,o,M,k)},resize:function(M,k){F=Math.round((Math.max(J,s.height())-k.originalSize.height)/J);if(F!=r){v.text(W(o.start,!F&&!o.end?null:xa(ra(o),u("slotMinutes")*F),u("timeFormat")));r=F}},stop:function(M,k){fa("eventResizeStop",this,o,M,k);if(F)P(this,o,0,u("slotMinutes")*F,M,k);else{s.css("z-index", +8);K(o,s)}}})}var q=this;q.renderEvents=a;q.compileDaySegs=e;q.clearEvents=b;q.slotSegHtml=l;q.bindDaySeg=j;Qb.call(q);var u=q.opt,fa=q.trigger,oa=q.isEventDraggable,ga=q.isEventResizable,ra=q.eventEnd,sa=q.reportEvents,ha=q.reportEventClear,da=q.eventElementHandlers,na=q.setHeight,ua=q.getDaySegmentContainer,pa=q.getSlotSegmentContainer,U=q.getHoverListener,ca=q.getMaxMinute,ka=q.getMinMinute,qa=q.timePosition,G=q.colContentLeft,p=q.colContentRight,L=q.renderDaySegs,c=q.resizableDayEvent,z=q.getColCnt, +H=q.getColWidth,T=q.getSlotHeight,X=q.getBodyContent,ya=q.reportEventElement,K=q.showEvents,i=q.hideEvents,C=q.eventDrop,P=q.eventResize,E=q.renderDayOverlay,B=q.clearOverlays,n=q.calendar,Y=n.formatDate,W=n.formatDates}function vc(a){var b,e,d,f,g,l;for(b=a.length-1;b>0;b--){f=a[b];for(e=0;e"),B=z(),n=i.length,Y;E[0].innerHTML=e(i);E=E.children();B.append(E);d(i,E);l(i);j(i);t(i);Q(i,S(y()));E=[];for(B=0;B
    ";if(!n.allDay&&B.isStart)k+=""+Qa(T(n.start,n.end,fa("timeFormat")))+"";k+=""+Qa(n.title)+"
    ";if(B.isEnd&&ra(n))k+="
       
    ";k+="";B.left=r;B.outerWidth=J-r;B.startCol=v;B.endCol=F+1}return k}function d(i,C){var P,E=i.length,B,n,Y;for(P=0;P div");return P}function S(i){var C,P=i.length,E=[];for(C=0;C"));j[0].parentNode!=l[0]&&j.appendTo(l);d.push(j.css(g).show());return j}function b(){for(var g;g=d.shift();)f.push(g.hide().unbind())}var e=this;e.renderOverlay=a;e.clearOverlays=b;var d=[],f=[]}function Nb(a){var b=this,e,d;b.build=function(){e=[];d=[];a(e,d)};b.cell=function(f,g){var l=e.length,j=d.length, +t,y=-1,S=-1;for(t=0;t=e[t][0]&&g=d[t][0]&&f=0&&S>=0?{row:y,col:S}:null};b.rect=function(f,g,l,j,t){t=t.offset();return{top:e[f][0]-t.top,left:d[g][0]-t.left,width:d[j][1]-d[g][0],height:e[l][1]-e[f][0]}}}function Ob(a){function b(j){xc(j);j=a.cell(j.pageX,j.pageY);if(!j!=!l||j&&(j.row!=l.row||j.col!=l.col)){if(j){g||(g=j);f(j,g,j.row-g.row,j.col-g.col)}else f(j,g);l=j}}var e=this,d,f,g,l;e.start=function(j,t,y){f=j; +g=l=null;a.build();b(t);d=y||"mousemove";m(document).bind(d,b)};e.stop=function(){m(document).unbind(d,b);return l}}function xc(a){if(a.pageX===ma){a.pageX=a.originalEvent.pageX;a.pageY=a.originalEvent.pageY}}function Pb(a){function b(l){return d[l]=d[l]||a(l)}var e=this,d={},f={},g={};e.left=function(l){return f[l]=f[l]===ma?b(l).position().left:f[l]};e.right=function(l){return g[l]=g[l]===ma?e.left(l)+b(l).width():g[l]};e.clear=function(){d={};f={};g={}}}var Ya={defaultView:"month",aspectRatio:1.35, +header:{left:"title",center:"",right:"today prev,next"},weekends:true,allDayDefault:true,ignoreTimezone:true,lazyFetching:true,startParam:"start",endParam:"end",titleFormat:{month:"MMMM yyyy",week:"MMM d[ yyyy]{ '—'[ MMM] d yyyy}",day:"dddd, MMM d, yyyy"},columnFormat:{month:"ddd",week:"ddd M/d",day:"dddd M/d"},timeFormat:{"":"h(:mm)t"},isRTL:false,firstDay:0,monthNames:["January","February","March","April","May","June","July","August","September","October","November","December"],monthNamesShort:["Jan", +"Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],dayNames:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],dayNamesShort:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],buttonText:{prev:" ◄ ",next:" ► ",prevYear:" << ",nextYear:" >> ",today:"today",month:"month",week:"week",day:"day"},theme:false,buttonIcons:{prev:"circle-triangle-w",next:"circle-triangle-e"},unselectAuto:true,dropAccept:"*"},yc= +{header:{left:"next,prev today",center:"",right:"title"},buttonText:{prev:" ► ",next:" ◄ ",prevYear:" >> ",nextYear:" << "},buttonIcons:{prev:"circle-triangle-e",next:"circle-triangle-w"}},Aa=m.fullCalendar={version:"1.5.4"},Ja=Aa.views={};m.fn.fullCalendar=function(a){if(typeof a=="string"){var b=Array.prototype.slice.call(arguments,1),e;this.each(function(){var f=m.data(this,"fullCalendar");if(f&&m.isFunction(f[a])){f=f[a].apply(f, +b);if(e===ma)e=f;a=="destroy"&&m.removeData(this,"fullCalendar")}});if(e!==ma)return e;return this}var d=a.eventSources||[];delete a.eventSources;if(a.events){d.push(a.events);delete a.events}a=m.extend(true,{},Ya,a.isRTL||a.isRTL===ma&&Ya.isRTL?yc:{},a);this.each(function(f,g){f=m(g);g=new Yb(f,a,d);f.data("fullCalendar",g);g.render()});return this};Aa.sourceNormalizers=[];Aa.sourceFetchers=[];var ac={dataType:"json",cache:false},bc=1;Aa.addDays=ba;Aa.cloneDate=N;Aa.parseDate=kb;Aa.parseISO8601= +Bb;Aa.parseTime=mb;Aa.formatDate=Oa;Aa.formatDates=ib;var lc=["sun","mon","tue","wed","thu","fri","sat"],Ab=864E5,cc=36E5,wc=6E4,dc={s:function(a){return a.getSeconds()},ss:function(a){return Pa(a.getSeconds())},m:function(a){return a.getMinutes()},mm:function(a){return Pa(a.getMinutes())},h:function(a){return a.getHours()%12||12},hh:function(a){return Pa(a.getHours()%12||12)},H:function(a){return a.getHours()},HH:function(a){return Pa(a.getHours())},d:function(a){return a.getDate()},dd:function(a){return Pa(a.getDate())}, +ddd:function(a,b){return b.dayNamesShort[a.getDay()]},dddd:function(a,b){return b.dayNames[a.getDay()]},M:function(a){return a.getMonth()+1},MM:function(a){return Pa(a.getMonth()+1)},MMM:function(a,b){return b.monthNamesShort[a.getMonth()]},MMMM:function(a,b){return b.monthNames[a.getMonth()]},yy:function(a){return(a.getFullYear()+"").substring(2)},yyyy:function(a){return a.getFullYear()},t:function(a){return a.getHours()<12?"a":"p"},tt:function(a){return a.getHours()<12?"am":"pm"},T:function(a){return a.getHours()< +12?"A":"P"},TT:function(a){return a.getHours()<12?"AM":"PM"},u:function(a){return Oa(a,"yyyy-MM-dd'T'HH:mm:ss'Z'")},S:function(a){a=a.getDate();if(a>10&&a<20)return"th";return["st","nd","rd"][a%10-1]||"th"}};Aa.applyAll=$a;Ja.month=mc;Ja.basicWeek=nc;Ja.basicDay=oc;wb({weekMode:"fixed"});Ja.agendaWeek=qc;Ja.agendaDay=rc;wb({allDaySlot:true,allDayText:"all-day",firstHour:6,slotMinutes:30,defaultEventMinutes:120,axisFormat:"h(:mm)tt",timeFormat:{agenda:"h:mm{ - h:mm}"},dragOpacity:{agenda:0.5},minTime:0, +maxTime:24})})(jQuery); diff --git a/src/demo/manager/src/main/webapp/assets/js/gritter/css/jquery.gritter.css b/src/demo/manager/src/main/webapp/assets/js/gritter/css/jquery.gritter.css new file mode 100644 index 00000000..26fd5b0b --- /dev/null +++ b/src/demo/manager/src/main/webapp/assets/js/gritter/css/jquery.gritter.css @@ -0,0 +1,102 @@ +/* the norm */ +#gritter-notice-wrapper { + position:fixed; + top:20px; + right:20px; + width:301px; + z-index:9999; +} +#gritter-notice-wrapper.top-left { + left: 20px; + right: auto; +} +#gritter-notice-wrapper.bottom-right { + top: auto; + left: auto; + bottom: 20px; + right: 20px; +} +#gritter-notice-wrapper.bottom-left { + top: auto; + right: auto; + bottom: 20px; + left: 20px; +} +.gritter-item-wrapper { + position:relative; + margin:0 0 10px 0; + background:url('../images/ie-spacer.gif'); /* ie7/8 fix */ +} +.gritter-top { + background:url(../images/gritter.png) no-repeat left -30px; + height:10px; +} +.hover .gritter-top { + background-position:right -30px; +} +.gritter-bottom { + background:url(../images/gritter.png) no-repeat left bottom; + height:8px; + margin:0; +} +.hover .gritter-bottom { + background-position: bottom right; +} +.gritter-item { + display:block; + background:url(../images/gritter.png) no-repeat left -40px; + color:#eee; + padding:2px 11px 8px 11px; + font-size: 11px; + font-family:verdana; +} +.hover .gritter-item { + background-position:right -40px; +} +.gritter-item p { + padding:0; + margin:0; + word-wrap:break-word; +} +.gritter-close { + display:none; + position:absolute; + top:5px; + left:3px; + background:url(../images/gritter.png) no-repeat left top; + cursor:pointer; + width:30px; + height:30px; + text-indent:-9999em; +} +.gritter-title { + font-size:14px; + font-weight:bold; + padding:0 0 7px 0; + display:block; + text-shadow:1px 1px 0 #000; /* Not supported by IE :( */ +} +.gritter-image { + width:48px; + height:48px; + float:left; +} +.gritter-with-image, +.gritter-without-image { + padding:0; +} +.gritter-with-image { + width:220px; + float:right; +} +/* for the light (white) version of the gritter notice */ +.gritter-light .gritter-item, +.gritter-light .gritter-bottom, +.gritter-light .gritter-top, +.gritter-light .gritter-close { + background-image: url(../images/gritter-light.png); + color: #222; +} +.gritter-light .gritter-title { + text-shadow: none; +} diff --git a/src/demo/manager/src/main/webapp/assets/js/gritter/css/jquery.gritter0.css b/src/demo/manager/src/main/webapp/assets/js/gritter/css/jquery.gritter0.css new file mode 100644 index 00000000..5a5ed654 --- /dev/null +++ b/src/demo/manager/src/main/webapp/assets/js/gritter/css/jquery.gritter0.css @@ -0,0 +1,101 @@ +/* the norm */ +#gritter-notice-wrapper { + position:fixed; + top:20px; + right:20px; + width:301px; + z-index:9999; +} +#gritter-notice-wrapper.top-left { + left: 20px; + right: auto; +} +#gritter-notice-wrapper.bottom-right { + top: auto; + left: auto; + bottom: 20px; + right: 20px; +} +#gritter-notice-wrapper.bottom-left { + top: auto; + right: auto; + bottom: 20px; + left: 20px; +} +.gritter-item-wrapper { + position:relative; + margin:0 0 10px 0; + background:url('../images/ie-spacer.gif'); /* ie7/8 fix */ +} +.gritter-top { + background:url("..images/gritter.png") no-repeat left -30px; + height:10px; +} +.hover .gritter-top { + background-position:right -30px; +} +.gritter-bottom { + background:url("../images/gritter.png") no-repeat left bottom; + height:8px; + margin:0; +} +.hover .gritter-bottom { + background-position: bottom right; +} +.gritter-item { + display:block; + background:url("../images/gritter.png") no-repeat left -40px; + color:#eee; + padding:2px 11px 8px 11px; + font-size: 11px; + font-family:verdana; +} +.hover .gritter-item { + background-position:right -40px; +} +.gritter-item p { + padding:0; + margin:0; + word-wrap:break-word; +} +.gritter-close { + display:none; + position:absolute; + top:5px; + left:3px; + background:url("../images/gritter.png") no-repeat left top; + cursor:pointer; + width:30px; + height:30px; +} +.gritter-title { + font-size:14px; + font-weight:bold; + padding:0 0 7px 0; + display:block; + text-shadow:1px 1px 0 #000; /* Not supported by IE :( */ +} +.gritter-image { + width:48px; + height:48px; + float:left; +} +.gritter-with-image, +.gritter-without-image { + padding:0; +} +.gritter-with-image { + width:220px; + float:right; +} +/* for the light (white) version of the gritter notice */ +.gritter-light .gritter-item, +.gritter-light .gritter-bottom, +.gritter-light .gritter-top, +.gritter-light .gritter-close { + background-image: url("../images/gritter-light.png"); + color: #222; +} +.gritter-light .gritter-title { + text-shadow: none; +} diff --git a/src/demo/manager/src/main/webapp/assets/js/gritter/images/gritter-light.png b/src/demo/manager/src/main/webapp/assets/js/gritter/images/gritter-light.png new file mode 100644 index 0000000000000000000000000000000000000000..1b5238efc5d524014046ad5cd90ab1024c9ba250 GIT binary patch literal 4978 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 Bt!)4R literal 0 HcmV?d00001 diff --git a/src/demo/manager/src/main/webapp/assets/js/gritter/images/gritter-long.png b/src/demo/manager/src/main/webapp/assets/js/gritter/images/gritter-long.png new file mode 100644 index 0000000000000000000000000000000000000000..578b89104feb2460a821b8543be29c50008666b6 GIT binary patch literal 6299 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 Zf3P5-;PGuo@D~?gbJgKWjfL<1{{eTAuA%?{ literal 0 HcmV?d00001 diff --git a/src/demo/manager/src/main/webapp/assets/js/gritter/images/ie-spacer.gif b/src/demo/manager/src/main/webapp/assets/js/gritter/images/ie-spacer.gif new file mode 100644 index 0000000000000000000000000000000000000000..5bfd67a2d6f72ac3a55cbfcea5866e841d22f5d9 GIT binary patch literal 43 mcmZ?wbhEHbWMp7uXkdT>#h)yUAf^t80Ld^gF}W}@SOWlZ0R#L1 literal 0 HcmV?d00001 diff --git a/src/demo/manager/src/main/webapp/assets/js/gritter/js/jquery.gritter.js b/src/demo/manager/src/main/webapp/assets/js/gritter/js/jquery.gritter.js new file mode 100644 index 00000000..35076f17 --- /dev/null +++ b/src/demo/manager/src/main/webapp/assets/js/gritter/js/jquery.gritter.js @@ -0,0 +1,418 @@ +/* + * Gritter for jQuery + * http://www.boedesign.com/ + * + * Copyright (c) 2012 Jordan Boesch + * Dual licensed under the MIT and GPL licenses. + * + * Date: February 24, 2012 + * Version: 1.7.4 + */ + +(function($){ + + /** + * Set it up as an object under the jQuery namespace + */ + $.gritter = {}; + + /** + * Set up global options that the user can over-ride + */ + $.gritter.options = { + position: '', + class_name: '', // could be set to 'gritter-light' to use white notifications + fade_in_speed: 'medium', // how fast notifications fade in + fade_out_speed: 1000, // how fast the notices fade out + time: 6000 // hang on the screen for... + } + + /** + * Add a gritter notification to the screen + * @see Gritter#add(); + */ + $.gritter.add = function(params){ + + try { + return Gritter.add(params || {}); + } catch(e) { + + var err = 'Gritter Error: ' + e; + (typeof(console) != 'undefined' && console.error) ? + console.error(err, params) : + alert(err); + + } + + } + + /** + * Remove a gritter notification from the screen + * @see Gritter#removeSpecific(); + */ + $.gritter.remove = function(id, params){ + Gritter.removeSpecific(id, params || {}); + } + + /** + * Remove all notifications + * @see Gritter#stop(); + */ + $.gritter.removeAll = function(params){ + Gritter.stop(params || {}); + } + + /** + * Big fat Gritter object + * @constructor (not really since its object literal) + */ + var Gritter = { + + // Public - options to over-ride with $.gritter.options in "add" + position: '', + fade_in_speed: '', + fade_out_speed: '', + time: '', + + // Private - no touchy the private parts + _custom_timer: 0, + _item_count: 0, + _is_setup: 0, + _tpl_close: '
    ', + _tpl_title: '[[title]]', + _tpl_item: '', + _tpl_wrap: '
    ', + + /** + * Add a gritter notification to the screen + * @param {Object} params The object that contains all the options for drawing the notification + * @return {Integer} The specific numeric id to that gritter notification + */ + add: function(params){ + // Handle straight text + if(typeof(params) == 'string'){ + params = {text:params}; + } + + // We might have some issues if we don't have a title or text! + if(!params.text){ + throw 'You must supply "text" parameter.'; + } + + // Check the options and set them once + if(!this._is_setup){ + this._runSetup(); + } + + // Basics + var title = params.title, + text = params.text, + image = params.image || '', + sticky = params.sticky || false, + item_class = params.class_name || $.gritter.options.class_name, + position = $.gritter.options.position, + time_alive = params.time || ''; + + this._verifyWrapper(); + + this._item_count++; + var number = this._item_count, + tmp = this._tpl_item; + + // Assign callbacks + $(['before_open', 'after_open', 'before_close', 'after_close']).each(function(i, val){ + Gritter['_' + val + '_' + number] = ($.isFunction(params[val])) ? params[val] : function(){} + }); + + // Reset + this._custom_timer = 0; + + // A custom fade time set + if(time_alive){ + this._custom_timer = time_alive; + } + + var image_str = (image != '') ? '' : '', + class_name = (image != '') ? 'gritter-with-image' : 'gritter-without-image'; + + // String replacements on the template + if(title){ + title = this._str_replace('[[title]]',title,this._tpl_title); + }else{ + title = ''; + } + + tmp = this._str_replace( + ['[[title]]', '[[text]]', '[[close]]', '[[image]]', '[[number]]', '[[class_name]]', '[[item_class]]'], + [title, text, this._tpl_close, image_str, this._item_count, class_name, item_class], tmp + ); + + // If it's false, don't show another gritter message + if(this['_before_open_' + number]() === false){ + return false; + } + + $('#gritter-notice-wrapper').addClass(position).append(tmp); + + var item = $('#gritter-item-' + this._item_count); + + item.fadeIn(this.fade_in_speed, function(){ + Gritter['_after_open_' + number]($(this)); + }); + + if(!sticky){ + this._setFadeTimer(item, number); + } + + // Bind the hover/unhover states + $(item).bind('mouseenter mouseleave', function(event){ + if(event.type == 'mouseenter'){ + if(!sticky){ + Gritter._restoreItemIfFading($(this), number); + } + } + else { + if(!sticky){ + Gritter._setFadeTimer($(this), number); + } + } + Gritter._hoverState($(this), event.type); + }); + + // Clicking (X) makes the perdy thing close + $(item).find('.gritter-close').click(function(){ + Gritter.removeSpecific(number, {}, null, true); + }); + + return number; + + }, + + /** + * If we don't have any more gritter notifications, get rid of the wrapper using this check + * @private + * @param {Integer} unique_id The ID of the element that was just deleted, use it for a callback + * @param {Object} e The jQuery element that we're going to perform the remove() action on + * @param {Boolean} manual_close Did we close the gritter dialog with the (X) button + */ + _countRemoveWrapper: function(unique_id, e, manual_close){ + + // Remove it then run the callback function + e.remove(); + this['_after_close_' + unique_id](e, manual_close); + + // Check if the wrapper is empty, if it is.. remove the wrapper + if($('.gritter-item-wrapper').length == 0){ + $('#gritter-notice-wrapper').remove(); + } + + }, + + /** + * Fade out an element after it's been on the screen for x amount of time + * @private + * @param {Object} e The jQuery element to get rid of + * @param {Integer} unique_id The id of the element to remove + * @param {Object} params An optional list of params to set fade speeds etc. + * @param {Boolean} unbind_events Unbind the mouseenter/mouseleave events if they click (X) + */ + _fade: function(e, unique_id, params, unbind_events){ + + var params = params || {}, + fade = (typeof(params.fade) != 'undefined') ? params.fade : true, + fade_out_speed = params.speed || this.fade_out_speed, + manual_close = unbind_events; + + this['_before_close_' + unique_id](e, manual_close); + + // If this is true, then we are coming from clicking the (X) + if(unbind_events){ + e.unbind('mouseenter mouseleave'); + } + + // Fade it out or remove it + if(fade){ + + e.animate({ + opacity: 0 + }, fade_out_speed, function(){ + e.animate({ height: 0 }, 300, function(){ + Gritter._countRemoveWrapper(unique_id, e, manual_close); + }) + }) + + } + else { + + this._countRemoveWrapper(unique_id, e); + + } + + }, + + /** + * Perform actions based on the type of bind (mouseenter, mouseleave) + * @private + * @param {Object} e The jQuery element + * @param {String} type The type of action we're performing: mouseenter or mouseleave + */ + _hoverState: function(e, type){ + + // Change the border styles and add the (X) close button when you hover + if(type == 'mouseenter'){ + + e.addClass('hover'); + + // Show close button + e.find('.gritter-close').show(); + + } + // Remove the border styles and hide (X) close button when you mouse out + else { + + e.removeClass('hover'); + + // Hide close button + e.find('.gritter-close').hide(); + + } + + }, + + /** + * Remove a specific notification based on an ID + * @param {Integer} unique_id The ID used to delete a specific notification + * @param {Object} params A set of options passed in to determine how to get rid of it + * @param {Object} e The jQuery element that we're "fading" then removing + * @param {Boolean} unbind_events If we clicked on the (X) we set this to true to unbind mouseenter/mouseleave + */ + removeSpecific: function(unique_id, params, e, unbind_events){ + + if(!e){ + var e = $('#gritter-item-' + unique_id); + } + + // We set the fourth param to let the _fade function know to + // unbind the "mouseleave" event. Once you click (X) there's no going back! + this._fade(e, unique_id, params || {}, unbind_events); + + }, + + /** + * If the item is fading out and we hover over it, restore it! + * @private + * @param {Object} e The HTML element to remove + * @param {Integer} unique_id The ID of the element + */ + _restoreItemIfFading: function(e, unique_id){ + + clearTimeout(this['_int_id_' + unique_id]); + e.stop().css({ opacity: '', height: '' }); + + }, + + /** + * Setup the global options - only once + * @private + */ + _runSetup: function(){ + + for(opt in $.gritter.options){ + this[opt] = $.gritter.options[opt]; + } + this._is_setup = 1; + + }, + + /** + * Set the notification to fade out after a certain amount of time + * @private + * @param {Object} item The HTML element we're dealing with + * @param {Integer} unique_id The ID of the element + */ + _setFadeTimer: function(e, unique_id){ + + var timer_str = (this._custom_timer) ? this._custom_timer : this.time; + this['_int_id_' + unique_id] = setTimeout(function(){ + Gritter._fade(e, unique_id); + }, timer_str); + + }, + + /** + * Bring everything to a halt + * @param {Object} params A list of callback functions to pass when all notifications are removed + */ + stop: function(params){ + + // callbacks (if passed) + var before_close = ($.isFunction(params.before_close)) ? params.before_close : function(){}; + var after_close = ($.isFunction(params.after_close)) ? params.after_close : function(){}; + + var wrap = $('#gritter-notice-wrapper'); + before_close(wrap); + wrap.fadeOut(function(){ + $(this).remove(); + after_close(); + }); + + }, + + /** + * An extremely handy PHP function ported to JS, works well for templating + * @private + * @param {String/Array} search A list of things to search for + * @param {String/Array} replace A list of things to replace the searches with + * @return {String} sa The output + */ + _str_replace: function(search, replace, subject, count){ + + var i = 0, j = 0, temp = '', repl = '', sl = 0, fl = 0, + f = [].concat(search), + r = [].concat(replace), + s = subject, + ra = r instanceof Array, sa = s instanceof Array; + s = [].concat(s); + + if(count){ + this.window[count] = 0; + } + + for(i = 0, sl = s.length; i < sl; i++){ + + if(s[i] === ''){ + continue; + } + + for (j = 0, fl = f.length; j < fl; j++){ + + temp = s[i] + ''; + repl = ra ? (r[j] !== undefined ? r[j] : '') : r[0]; + s[i] = (temp).split(f[j]).join(repl); + + if(count && s[i] !== temp){ + this.window[count] += (temp.length-s[i].length) / f[j].length; + } + + } + } + + return sa ? s : s[0]; + + }, + + /** + * A check to make sure we have something to wrap our notices with + * @private + */ + _verifyWrapper: function(){ + + if($('#gritter-notice-wrapper').length == 0){ + $('body').append(this._tpl_wrap); + } + + } + + } + +})(jQuery); diff --git a/src/demo/manager/src/main/webapp/assets/js/highlight.pack.js b/src/demo/manager/src/main/webapp/assets/js/highlight.pack.js new file mode 100644 index 00000000..44308ccf --- /dev/null +++ b/src/demo/manager/src/main/webapp/assets/js/highlight.pack.js @@ -0,0 +1,2 @@ +/*! highlight.js v9.7.0 | BSD3 License | git.io/hljslicense */ +!function(e){var n="object"==typeof window&&window||"object"==typeof self&&self;"undefined"!=typeof exports?e(exports):n&&(n.hljs=e({}),"function"==typeof define&&define.amd&&define([],function(){return n.hljs}))}(function(e){function n(e){return e.replace(/[&<>]/gm,function(e){return I[e]})}function t(e){return e.nodeName.toLowerCase()}function r(e,n){var t=e&&e.exec(n);return t&&0===t.index}function a(e){return k.test(e)}function i(e){var n,t,r,i,o=e.className+" ";if(o+=e.parentNode?e.parentNode.className:"",t=B.exec(o))return R(t[1])?t[1]:"no-highlight";for(o=o.split(/\s+/),n=0,r=o.length;r>n;n++)if(i=o[n],a(i)||R(i))return i}function o(e,n){var t,r={};for(t in e)r[t]=e[t];if(n)for(t in n)r[t]=n[t];return r}function u(e){var n=[];return function r(e,a){for(var i=e.firstChild;i;i=i.nextSibling)3===i.nodeType?a+=i.nodeValue.length:1===i.nodeType&&(n.push({event:"start",offset:a,node:i}),a=r(i,a),t(i).match(/br|hr|img|input/)||n.push({event:"stop",offset:a,node:i}));return a}(e,0),n}function c(e,r,a){function i(){return e.length&&r.length?e[0].offset!==r[0].offset?e[0].offset"}function u(e){l+=""}function c(e){("start"===e.event?o:u)(e.node)}for(var s=0,l="",f=[];e.length||r.length;){var g=i();if(l+=n(a.substr(s,g[0].offset-s)),s=g[0].offset,g===e){f.reverse().forEach(u);do c(g.splice(0,1)[0]),g=i();while(g===e&&g.length&&g[0].offset===s);f.reverse().forEach(o)}else"start"===g[0].event?f.push(g[0].node):f.pop(),c(g.splice(0,1)[0])}return l+n(a.substr(s))}function s(e){function n(e){return e&&e.source||e}function t(t,r){return new RegExp(n(t),"m"+(e.cI?"i":"")+(r?"g":""))}function r(a,i){if(!a.compiled){if(a.compiled=!0,a.k=a.k||a.bK,a.k){var u={},c=function(n,t){e.cI&&(t=t.toLowerCase()),t.split(" ").forEach(function(e){var t=e.split("|");u[t[0]]=[n,t[1]?Number(t[1]):1]})};"string"==typeof a.k?c("keyword",a.k):E(a.k).forEach(function(e){c(e,a.k[e])}),a.k=u}a.lR=t(a.l||/\w+/,!0),i&&(a.bK&&(a.b="\\b("+a.bK.split(" ").join("|")+")\\b"),a.b||(a.b=/\B|\b/),a.bR=t(a.b),a.e||a.eW||(a.e=/\B|\b/),a.e&&(a.eR=t(a.e)),a.tE=n(a.e)||"",a.eW&&i.tE&&(a.tE+=(a.e?"|":"")+i.tE)),a.i&&(a.iR=t(a.i)),null==a.r&&(a.r=1),a.c||(a.c=[]);var s=[];a.c.forEach(function(e){e.v?e.v.forEach(function(n){s.push(o(e,n))}):s.push("self"===e?a:e)}),a.c=s,a.c.forEach(function(e){r(e,a)}),a.starts&&r(a.starts,i);var l=a.c.map(function(e){return e.bK?"\\.?("+e.b+")\\.?":e.b}).concat([a.tE,a.i]).map(n).filter(Boolean);a.t=l.length?t(l.join("|"),!0):{exec:function(){return null}}}}r(e)}function l(e,t,a,i){function o(e,n){var t,a;for(t=0,a=n.c.length;a>t;t++)if(r(n.c[t].bR,e))return n.c[t]}function u(e,n){if(r(e.eR,n)){for(;e.endsParent&&e.parent;)e=e.parent;return e}return e.eW?u(e.parent,n):void 0}function c(e,n){return!a&&r(n.iR,e)}function g(e,n){var t=N.cI?n[0].toLowerCase():n[0];return e.k.hasOwnProperty(t)&&e.k[t]}function h(e,n,t,r){var a=r?"":y.classPrefix,i='',i+n+o}function p(){var e,t,r,a;if(!E.k)return n(B);for(a="",t=0,E.lR.lastIndex=0,r=E.lR.exec(B);r;)a+=n(B.substr(t,r.index-t)),e=g(E,r),e?(M+=e[1],a+=h(e[0],n(r[0]))):a+=n(r[0]),t=E.lR.lastIndex,r=E.lR.exec(B);return a+n(B.substr(t))}function d(){var e="string"==typeof E.sL;if(e&&!x[E.sL])return n(B);var t=e?l(E.sL,B,!0,L[E.sL]):f(B,E.sL.length?E.sL:void 0);return E.r>0&&(M+=t.r),e&&(L[E.sL]=t.top),h(t.language,t.value,!1,!0)}function b(){k+=null!=E.sL?d():p(),B=""}function v(e){k+=e.cN?h(e.cN,"",!0):"",E=Object.create(e,{parent:{value:E}})}function m(e,n){if(B+=e,null==n)return b(),0;var t=o(n,E);if(t)return t.skip?B+=n:(t.eB&&(B+=n),b(),t.rB||t.eB||(B=n)),v(t,n),t.rB?0:n.length;var r=u(E,n);if(r){var a=E;a.skip?B+=n:(a.rE||a.eE||(B+=n),b(),a.eE&&(B=n));do E.cN&&(k+=C),E.skip||(M+=E.r),E=E.parent;while(E!==r.parent);return r.starts&&v(r.starts,""),a.rE?0:n.length}if(c(n,E))throw new Error('Illegal lexeme "'+n+'" for mode "'+(E.cN||"")+'"');return B+=n,n.length||1}var N=R(e);if(!N)throw new Error('Unknown language: "'+e+'"');s(N);var w,E=i||N,L={},k="";for(w=E;w!==N;w=w.parent)w.cN&&(k=h(w.cN,"",!0)+k);var B="",M=0;try{for(var I,j,O=0;;){if(E.t.lastIndex=O,I=E.t.exec(t),!I)break;j=m(t.substr(O,I.index-O),I[0]),O=I.index+j}for(m(t.substr(O)),w=E;w.parent;w=w.parent)w.cN&&(k+=C);return{r:M,value:k,language:e,top:E}}catch(T){if(T.message&&-1!==T.message.indexOf("Illegal"))return{r:0,value:n(t)};throw T}}function f(e,t){t=t||y.languages||E(x);var r={r:0,value:n(e)},a=r;return t.filter(R).forEach(function(n){var t=l(n,e,!1);t.language=n,t.r>a.r&&(a=t),t.r>r.r&&(a=r,r=t)}),a.language&&(r.second_best=a),r}function g(e){return y.tabReplace||y.useBR?e.replace(M,function(e,n){return y.useBR&&"\n"===e?"
    ":y.tabReplace?n.replace(/\t/g,y.tabReplace):void 0}):e}function h(e,n,t){var r=n?L[n]:t,a=[e.trim()];return e.match(/\bhljs\b/)||a.push("hljs"),-1===e.indexOf(r)&&a.push(r),a.join(" ").trim()}function p(e){var n,t,r,o,s,p=i(e);a(p)||(y.useBR?(n=document.createElementNS("http://www.w3.org/1999/xhtml","div"),n.innerHTML=e.innerHTML.replace(/\n/g,"").replace(//g,"\n")):n=e,s=n.textContent,r=p?l(p,s,!0):f(s),t=u(n),t.length&&(o=document.createElementNS("http://www.w3.org/1999/xhtml","div"),o.innerHTML=r.value,r.value=c(t,u(o),s)),r.value=g(r.value),e.innerHTML=r.value,e.className=h(e.className,p,r.language),e.result={language:r.language,re:r.r},r.second_best&&(e.second_best={language:r.second_best.language,re:r.second_best.r}))}function d(e){y=o(y,e)}function b(){if(!b.called){b.called=!0;var e=document.querySelectorAll("pre code");w.forEach.call(e,p)}}function v(){addEventListener("DOMContentLoaded",b,!1),addEventListener("load",b,!1)}function m(n,t){var r=x[n]=t(e);r.aliases&&r.aliases.forEach(function(e){L[e]=n})}function N(){return E(x)}function R(e){return e=(e||"").toLowerCase(),x[e]||x[L[e]]}var w=[],E=Object.keys,x={},L={},k=/^(no-?highlight|plain|text)$/i,B=/\blang(?:uage)?-([\w-]+)\b/i,M=/((^(<[^>]+>|\t|)+|(?:\n)))/gm,C="
    ",y={classPrefix:"hljs-",tabReplace:null,useBR:!1,languages:void 0},I={"&":"&","<":"<",">":">"};return e.highlight=l,e.highlightAuto=f,e.fixMarkup=g,e.highlightBlock=p,e.configure=d,e.initHighlighting=b,e.initHighlightingOnLoad=v,e.registerLanguage=m,e.listLanguages=N,e.getLanguage=R,e.inherit=o,e.IR="[a-zA-Z]\\w*",e.UIR="[a-zA-Z_]\\w*",e.NR="\\b\\d+(\\.\\d+)?",e.CNR="(-?)(\\b0[xX][a-fA-F0-9]+|(\\b\\d+(\\.\\d*)?|\\.\\d+)([eE][-+]?\\d+)?)",e.BNR="\\b(0b[01]+)",e.RSR="!|!=|!==|%|%=|&|&&|&=|\\*|\\*=|\\+|\\+=|,|-|-=|/=|/|:|;|<<|<<=|<=|<|===|==|=|>>>=|>>=|>=|>>>|>>|>|\\?|\\[|\\{|\\(|\\^|\\^=|\\||\\|=|\\|\\||~",e.BE={b:"\\\\[\\s\\S]",r:0},e.ASM={cN:"string",b:"'",e:"'",i:"\\n",c:[e.BE]},e.QSM={cN:"string",b:'"',e:'"',i:"\\n",c:[e.BE]},e.PWM={b:/\b(a|an|the|are|I'm|isn't|don't|doesn't|won't|but|just|should|pretty|simply|enough|gonna|going|wtf|so|such|will|you|your|like)\b/},e.C=function(n,t,r){var a=e.inherit({cN:"comment",b:n,e:t,c:[]},r||{});return a.c.push(e.PWM),a.c.push({cN:"doctag",b:"(?:TODO|FIXME|NOTE|BUG|XXX):",r:0}),a},e.CLCM=e.C("//","$"),e.CBCM=e.C("/\\*","\\*/"),e.HCM=e.C("#","$"),e.NM={cN:"number",b:e.NR,r:0},e.CNM={cN:"number",b:e.CNR,r:0},e.BNM={cN:"number",b:e.BNR,r:0},e.CSSNM={cN:"number",b:e.NR+"(%|em|ex|ch|rem|vw|vh|vmin|vmax|cm|mm|in|pt|pc|px|deg|grad|rad|turn|s|ms|Hz|kHz|dpi|dpcm|dppx)?",r:0},e.RM={cN:"regexp",b:/\//,e:/\/[gimuy]*/,i:/\n/,c:[e.BE,{b:/\[/,e:/\]/,r:0,c:[e.BE]}]},e.TM={cN:"title",b:e.IR,r:0},e.UTM={cN:"title",b:e.UIR,r:0},e.METHOD_GUARD={b:"\\.\\s*"+e.UIR,r:0},e});hljs.registerLanguage("javascript",function(e){var r="[A-Za-z$_][0-9A-Za-z$_]*",t={keyword:"in of if for while finally var new function do return void else break catch instanceof with throw case default try this switch continue typeof delete let yield const export super debugger as async await static import from as",literal:"true false null undefined NaN Infinity",built_in:"eval isFinite isNaN parseFloat parseInt decodeURI decodeURIComponent encodeURI encodeURIComponent escape unescape Object Function Boolean Error EvalError InternalError RangeError ReferenceError StopIteration SyntaxError TypeError URIError Number Math Date String RegExp Array Float32Array Float64Array Int16Array Int32Array Int8Array Uint16Array Uint32Array Uint8Array Uint8ClampedArray ArrayBuffer DataView JSON Intl arguments require module console window document Symbol Set Map WeakSet WeakMap Proxy Reflect Promise"},a={cN:"number",v:[{b:"\\b(0[bB][01]+)"},{b:"\\b(0[oO][0-7]+)"},{b:e.CNR}],r:0},n={cN:"subst",b:"\\$\\{",e:"\\}",k:t,c:[]},c={cN:"string",b:"`",e:"`",c:[e.BE,n]};n.c=[e.ASM,e.QSM,c,a,e.RM];var s=n.c.concat([e.CBCM,e.CLCM]);return{aliases:["js","jsx"],k:t,c:[{cN:"meta",r:10,b:/^\s*['"]use (strict|asm)['"]/},{cN:"meta",b:/^#!/,e:/$/},e.ASM,e.QSM,c,e.CLCM,e.CBCM,a,{b:/[{,]\s*/,r:0,c:[{b:r+"\\s*:",rB:!0,r:0,c:[{cN:"attr",b:r,r:0}]}]},{b:"("+e.RSR+"|\\b(case|return|throw)\\b)\\s*",k:"return throw case",c:[e.CLCM,e.CBCM,e.RM,{cN:"function",b:"(\\(.*?\\)|"+r+")\\s*=>",rB:!0,e:"\\s*=>",c:[{cN:"params",v:[{b:r},{b:/\(\s*\)/},{b:/\(/,e:/\)/,eB:!0,eE:!0,k:t,c:s}]}]},{b://,sL:"xml",c:[{b:/<\w+\s*\/>/,skip:!0},{b:/<\w+/,e:/(\/\w+|\w+\/)>/,skip:!0,c:[{b:/<\w+\s*\/>/,skip:!0},"self"]}]}],r:0},{cN:"function",bK:"function",e:/\{/,eE:!0,c:[e.inherit(e.TM,{b:r}),{cN:"params",b:/\(/,e:/\)/,eB:!0,eE:!0,c:s}],i:/\[|%/},{b:/\$[(.]/},e.METHOD_GUARD,{cN:"class",bK:"class",e:/[{;=]/,eE:!0,i:/[:"\[\]]/,c:[{bK:"extends"},e.UTM]},{bK:"constructor",e:/\{/,eE:!0}],i:/#(?!!)/}});hljs.registerLanguage("coffeescript",function(e){var c={keyword:"in if for while finally new do return else break catch instanceof throw try this switch continue typeof delete debugger super then unless until loop of by when and or is isnt not",literal:"true false null undefined yes no on off",built_in:"npm require console print module global window document"},n="[A-Za-z$_][0-9A-Za-z$_]*",r={cN:"subst",b:/#\{/,e:/}/,k:c},s=[e.BNM,e.inherit(e.CNM,{starts:{e:"(\\s*/)?",r:0}}),{cN:"string",v:[{b:/'''/,e:/'''/,c:[e.BE]},{b:/'/,e:/'/,c:[e.BE]},{b:/"""/,e:/"""/,c:[e.BE,r]},{b:/"/,e:/"/,c:[e.BE,r]}]},{cN:"regexp",v:[{b:"///",e:"///",c:[r,e.HCM]},{b:"//[gim]*",r:0},{b:/\/(?![ *])(\\\/|.)*?\/[gim]*(?=\W|$)/}]},{b:"@"+n},{b:"`",e:"`",eB:!0,eE:!0,sL:"javascript"}];r.c=s;var i=e.inherit(e.TM,{b:n}),t="(\\(.*\\))?\\s*\\B[-=]>",o={cN:"params",b:"\\([^\\(]",rB:!0,c:[{b:/\(/,e:/\)/,k:c,c:["self"].concat(s)}]};return{aliases:["coffee","cson","iced"],k:c,i:/\/\*/,c:s.concat([e.C("###","###"),e.HCM,{cN:"function",b:"^\\s*"+n+"\\s*=\\s*"+t,e:"[-=]>",rB:!0,c:[i,o]},{b:/[:\(,=]\s*/,r:0,c:[{cN:"function",b:t,e:"[-=]>",rB:!0,c:[o]}]},{cN:"class",bK:"class",e:"$",i:/[:="\[\]]/,c:[{bK:"extends",eW:!0,i:/[:="\[\]]/,c:[i]},i]},{b:n+":",e:":",rB:!0,rE:!0,r:0}])}});hljs.registerLanguage("perl",function(e){var t="getpwent getservent quotemeta msgrcv scalar kill dbmclose undef lc ma syswrite tr send umask sysopen shmwrite vec qx utime local oct semctl localtime readpipe do return format read sprintf dbmopen pop getpgrp not getpwnam rewinddir qqfileno qw endprotoent wait sethostent bless s|0 opendir continue each sleep endgrent shutdown dump chomp connect getsockname die socketpair close flock exists index shmgetsub for endpwent redo lstat msgctl setpgrp abs exit select print ref gethostbyaddr unshift fcntl syscall goto getnetbyaddr join gmtime symlink semget splice x|0 getpeername recv log setsockopt cos last reverse gethostbyname getgrnam study formline endhostent times chop length gethostent getnetent pack getprotoent getservbyname rand mkdir pos chmod y|0 substr endnetent printf next open msgsnd readdir use unlink getsockopt getpriority rindex wantarray hex system getservbyport endservent int chr untie rmdir prototype tell listen fork shmread ucfirst setprotoent else sysseek link getgrgid shmctl waitpid unpack getnetbyname reset chdir grep split require caller lcfirst until warn while values shift telldir getpwuid my getprotobynumber delete and sort uc defined srand accept package seekdir getprotobyname semop our rename seek if q|0 chroot sysread setpwent no crypt getc chown sqrt write setnetent setpriority foreach tie sin msgget map stat getlogin unless elsif truncate exec keys glob tied closedirioctl socket readlink eval xor readline binmode setservent eof ord bind alarm pipe atan2 getgrent exp time push setgrent gt lt or ne m|0 break given say state when",r={cN:"subst",b:"[$@]\\{",e:"\\}",k:t},s={b:"->{",e:"}"},n={v:[{b:/\$\d/},{b:/[\$%@](\^\w\b|#\w+(::\w+)*|{\w+}|\w+(::\w*)*)/},{b:/[\$%@][^\s\w{]/,r:0}]},i=[e.BE,r,n],o=[n,e.HCM,e.C("^\\=\\w","\\=cut",{eW:!0}),s,{cN:"string",c:i,v:[{b:"q[qwxr]?\\s*\\(",e:"\\)",r:5},{b:"q[qwxr]?\\s*\\[",e:"\\]",r:5},{b:"q[qwxr]?\\s*\\{",e:"\\}",r:5},{b:"q[qwxr]?\\s*\\|",e:"\\|",r:5},{b:"q[qwxr]?\\s*\\<",e:"\\>",r:5},{b:"qw\\s+q",e:"q",r:5},{b:"'",e:"'",c:[e.BE]},{b:'"',e:'"'},{b:"`",e:"`",c:[e.BE]},{b:"{\\w+}",c:[],r:0},{b:"-?\\w+\\s*\\=\\>",c:[],r:0}]},{cN:"number",b:"(\\b0[0-7_]+)|(\\b0x[0-9a-fA-F_]+)|(\\b[1-9][0-9_]*(\\.[0-9_]+)?)|[0_]\\b",r:0},{b:"(\\/\\/|"+e.RSR+"|\\b(split|return|print|reverse|grep)\\b)\\s*",k:"split return print reverse grep",r:0,c:[e.HCM,{cN:"regexp",b:"(s|tr|y)/(\\\\.|[^/])*/(\\\\.|[^/])*/[a-z]*",r:10},{cN:"regexp",b:"(m|qr)?/",e:"/[a-z]*",c:[e.BE],r:0}]},{cN:"function",bK:"sub",e:"(\\s*\\(.*?\\))?[;{]",eE:!0,r:5,c:[e.TM]},{b:"-\\w\\b",r:0},{b:"^__DATA__$",e:"^__END__$",sL:"mojolicious",c:[{b:"^@@.*",e:"$",cN:"comment"}]}];return r.c=o,s.c=o,{aliases:["pl","pm"],l:/[\w\.]+/,k:t,c:o}});hljs.registerLanguage("xml",function(s){var e="[A-Za-z0-9\\._:-]+",t={eW:!0,i:/`]+/}]}]}]};return{aliases:["html","xhtml","rss","atom","xjb","xsd","xsl","plist"],cI:!0,c:[{cN:"meta",b:"",r:10,c:[{b:"\\[",e:"\\]"}]},s.C("",{r:10}),{b:"<\\!\\[CDATA\\[",e:"\\]\\]>",r:10},{b:/<\?(php)?/,e:/\?>/,sL:"php",c:[{b:"/\\*",e:"\\*/",skip:!0}]},{cN:"tag",b:"|$)",e:">",k:{name:"style"},c:[t],starts:{e:"",rE:!0,sL:["css","xml"]}},{cN:"tag",b:"|$)",e:">",k:{name:"script"},c:[t],starts:{e:"",rE:!0,sL:["actionscript","javascript","handlebars","xml"]}},{cN:"meta",v:[{b:/<\?xml/,e:/\?>/,r:10},{b:/<\?\w+/,e:/\?>/}]},{cN:"tag",b:"",c:[{cN:"name",b:/[^\/><\s]+/,r:0},t]}]}});hljs.registerLanguage("markdown",function(e){return{aliases:["md","mkdown","mkd"],c:[{cN:"section",v:[{b:"^#{1,6}",e:"$"},{b:"^.+?\\n[=-]{2,}$"}]},{b:"<",e:">",sL:"xml",r:0},{cN:"bullet",b:"^([*+-]|(\\d+\\.))\\s+"},{cN:"strong",b:"[*_]{2}.+?[*_]{2}"},{cN:"emphasis",v:[{b:"\\*.+?\\*"},{b:"_.+?_",r:0}]},{cN:"quote",b:"^>\\s+",e:"$"},{cN:"code",v:[{b:"^```w*s*$",e:"^```s*$"},{b:"`.+?`"},{b:"^( {4}| )",e:"$",r:0}]},{b:"^[-\\*]{3,}",e:"$"},{b:"\\[.+?\\][\\(\\[].*?[\\)\\]]",rB:!0,c:[{cN:"string",b:"\\[",e:"\\]",eB:!0,rE:!0,r:0},{cN:"link",b:"\\]\\(",e:"\\)",eB:!0,eE:!0},{cN:"symbol",b:"\\]\\[",e:"\\]",eB:!0,eE:!0}],r:10},{b:/^\[[^\n]+\]:/,rB:!0,c:[{cN:"symbol",b:/\[/,e:/\]/,eB:!0,eE:!0},{cN:"link",b:/:\s*/,e:/$/,eB:!0}]}]}});hljs.registerLanguage("json",function(e){var i={literal:"true false null"},n=[e.QSM,e.CNM],r={e:",",eW:!0,eE:!0,c:n,k:i},t={b:"{",e:"}",c:[{cN:"attr",b:/"/,e:/"/,c:[e.BE],i:"\\n"},e.inherit(r,{b:/:/})],i:"\\S"},c={b:"\\[",e:"\\]",c:[e.inherit(r)],i:"\\S"};return n.splice(n.length,0,t,c),{c:n,k:i,i:"\\S"}});hljs.registerLanguage("cs",function(e){var i={keyword:"abstract as base bool break byte case catch char checked const continue decimal default delegate do double else enum event explicit extern finally fixed float for foreach goto if implicit in int interface internal is lock long object operator out override params private protected public readonly ref sbyte sealed short sizeof stackalloc static string struct switch this try typeof uint ulong unchecked unsafe ushort using virtual void volatile while nameof add alias ascending async await by descending dynamic equals from get global group into join let on orderby partial remove select set value var where yield",literal:"null false true"},r={cN:"string",b:'@"',e:'"',c:[{b:'""'}]},t=e.inherit(r,{i:/\n/}),a={cN:"subst",b:"{",e:"}",k:i},n=e.inherit(a,{i:/\n/}),c={cN:"string",b:/\$"/,e:'"',i:/\n/,c:[{b:"{{"},{b:"}}"},e.BE,n]},s={cN:"string",b:/\$@"/,e:'"',c:[{b:"{{"},{b:"}}"},{b:'""'},a]},o=e.inherit(s,{i:/\n/,c:[{b:"{{"},{b:"}}"},{b:'""'},n]});a.c=[s,c,r,e.ASM,e.QSM,e.CNM,e.CBCM],n.c=[o,c,t,e.ASM,e.QSM,e.CNM,e.inherit(e.CBCM,{i:/\n/})];var l={v:[s,c,r,e.ASM,e.QSM]},b=e.IR+"(<"+e.IR+"(\\s*,\\s*"+e.IR+")*>)?(\\[\\])?";return{aliases:["csharp"],k:i,i:/::/,c:[e.C("///","$",{rB:!0,c:[{cN:"doctag",v:[{b:"///",r:0},{b:""},{b:""}]}]}),e.CLCM,e.CBCM,{cN:"meta",b:"#",e:"$",k:{"meta-keyword":"if else elif endif define undef warning error line region endregion pragma checksum"}},l,e.CNM,{bK:"class interface",e:/[{;=]/,i:/[^\s:]/,c:[e.TM,e.CLCM,e.CBCM]},{bK:"namespace",e:/[{;=]/,i:/[^\s:]/,c:[e.inherit(e.TM,{b:"[a-zA-Z](\\.?\\w)*"}),e.CLCM,e.CBCM]},{bK:"new return throw await",r:0},{cN:"function",b:"("+b+"\\s+)+"+e.IR+"\\s*\\(",rB:!0,e:/[{;=]/,eE:!0,k:i,c:[{b:e.IR+"\\s*\\(",rB:!0,c:[e.TM],r:0},{cN:"params",b:/\(/,e:/\)/,eB:!0,eE:!0,k:i,r:0,c:[l,e.CNM,e.CBCM]},e.CLCM,e.CBCM]}]}});hljs.registerLanguage("objectivec",function(e){var t={cN:"built_in",b:"\\b(AV|CA|CF|CG|CI|CL|CM|CN|CT|MK|MP|MTK|MTL|NS|SCN|SK|UI|WK|XC)\\w+"},_={keyword:"int float while char export sizeof typedef const struct for union unsigned long volatile static bool mutable if do return goto void enum else break extern asm case short default double register explicit signed typename this switch continue wchar_t inline readonly assign readwrite self @synchronized id typeof nonatomic super unichar IBOutlet IBAction strong weak copy in out inout bycopy byref oneway __strong __weak __block __autoreleasing @private @protected @public @try @property @end @throw @catch @finally @autoreleasepool @synthesize @dynamic @selector @optional @required @encode @package @import @defs @compatibility_alias __bridge __bridge_transfer __bridge_retained __bridge_retain __covariant __contravariant __kindof _Nonnull _Nullable _Null_unspecified __FUNCTION__ __PRETTY_FUNCTION__ __attribute__ getter setter retain unsafe_unretained nonnull nullable null_unspecified null_resettable class instancetype NS_DESIGNATED_INITIALIZER NS_UNAVAILABLE NS_REQUIRES_SUPER NS_RETURNS_INNER_POINTER NS_INLINE NS_AVAILABLE NS_DEPRECATED NS_ENUM NS_OPTIONS NS_SWIFT_UNAVAILABLE NS_ASSUME_NONNULL_BEGIN NS_ASSUME_NONNULL_END NS_REFINED_FOR_SWIFT NS_SWIFT_NAME NS_SWIFT_NOTHROW NS_DURING NS_HANDLER NS_ENDHANDLER NS_VALUERETURN NS_VOIDRETURN",literal:"false true FALSE TRUE nil YES NO NULL",built_in:"BOOL dispatch_once_t dispatch_queue_t dispatch_sync dispatch_async dispatch_once"},i=/[a-zA-Z@][a-zA-Z0-9_]*/,n="@interface @class @protocol @implementation";return{aliases:["mm","objc","obj-c"],k:_,l:i,i:""}]}]},{cN:"class",b:"("+n.split(" ").join("|")+")\\b",e:"({|$)",eE:!0,k:n,l:i,c:[e.UTM]},{b:"\\."+e.UIR,r:0}]}});hljs.registerLanguage("apache",function(e){var r={cN:"number",b:"[\\$%]\\d+"};return{aliases:["apacheconf"],cI:!0,c:[e.HCM,{cN:"section",b:""},{cN:"attribute",b:/\w+/,r:0,k:{nomarkup:"order deny allow setenv rewriterule rewriteengine rewritecond documentroot sethandler errordocument loadmodule options header listen serverroot servername"},starts:{e:/$/,r:0,k:{literal:"on off all"},c:[{cN:"meta",b:"\\s\\[",e:"\\]$"},{cN:"variable",b:"[\\$%]\\{",e:"\\}",c:["self",r]},r,e.QSM]}}],i:/\S/}});hljs.registerLanguage("diff",function(e){return{aliases:["patch"],c:[{cN:"meta",r:10,v:[{b:/^@@ +\-\d+,\d+ +\+\d+,\d+ +@@$/},{b:/^\*\*\* +\d+,\d+ +\*\*\*\*$/},{b:/^\-\-\- +\d+,\d+ +\-\-\-\-$/}]},{cN:"comment",v:[{b:/Index: /,e:/$/},{b:/={3,}/,e:/$/},{b:/^\-{3}/,e:/$/},{b:/^\*{3} /,e:/$/},{b:/^\+{3}/,e:/$/},{b:/\*{5}/,e:/\*{5}$/}]},{cN:"addition",b:"^\\+",e:"$"},{cN:"deletion",b:"^\\-",e:"$"},{cN:"addition",b:"^\\!",e:"$"}]}});hljs.registerLanguage("css",function(e){var c="[a-zA-Z-][a-zA-Z0-9_-]*",t={b:/[A-Z\_\.\-]+\s*:/,rB:!0,e:";",eW:!0,c:[{cN:"attribute",b:/\S/,e:":",eE:!0,starts:{eW:!0,eE:!0,c:[{b:/[\w-]+\(/,rB:!0,c:[{cN:"built_in",b:/[\w-]+/},{b:/\(/,e:/\)/,c:[e.ASM,e.QSM]}]},e.CSSNM,e.QSM,e.ASM,e.CBCM,{cN:"number",b:"#[0-9A-Fa-f]+"},{cN:"meta",b:"!important"}]}}]};return{cI:!0,i:/[=\/|'\$]/,c:[e.CBCM,{cN:"selector-id",b:/#[A-Za-z0-9_-]+/},{cN:"selector-class",b:/\.[A-Za-z0-9_-]+/},{cN:"selector-attr",b:/\[/,e:/\]/,i:"$"},{cN:"selector-pseudo",b:/:(:)?[a-zA-Z0-9\_\-\+\(\)"'.]+/},{b:"@(font-face|page)",l:"[a-z-]+",k:"font-face page"},{b:"@",e:"[{;]",i:/:/,c:[{cN:"keyword",b:/\w+/},{b:/\s/,eW:!0,eE:!0,r:0,c:[e.ASM,e.QSM,e.CSSNM]}]},{cN:"selector-tag",b:c,r:0},{b:"{",e:"}",i:/\S/,c:[e.CBCM,t]}]}});hljs.registerLanguage("ruby",function(e){var b="[a-zA-Z_]\\w*[!?=]?|[-+~]\\@|<<|>>|=~|===?|<=>|[<>]=?|\\*\\*|[-/+%^&*~`|]|\\[\\]=?",r={keyword:"and then defined module in return redo if BEGIN retry end for self when next until do begin unless END rescue else break undef not super class case require yield alias while ensure elsif or include attr_reader attr_writer attr_accessor",literal:"true false nil"},c={cN:"doctag",b:"@[A-Za-z]+"},a={b:"#<",e:">"},s=[e.C("#","$",{c:[c]}),e.C("^\\=begin","^\\=end",{c:[c],r:10}),e.C("^__END__","\\n$")],n={cN:"subst",b:"#\\{",e:"}",k:r},t={cN:"string",c:[e.BE,n],v:[{b:/'/,e:/'/},{b:/"/,e:/"/},{b:/`/,e:/`/},{b:"%[qQwWx]?\\(",e:"\\)"},{b:"%[qQwWx]?\\[",e:"\\]"},{b:"%[qQwWx]?{",e:"}"},{b:"%[qQwWx]?<",e:">"},{b:"%[qQwWx]?/",e:"/"},{b:"%[qQwWx]?%",e:"%"},{b:"%[qQwWx]?-",e:"-"},{b:"%[qQwWx]?\\|",e:"\\|"},{b:/\B\?(\\\d{1,3}|\\x[A-Fa-f0-9]{1,2}|\\u[A-Fa-f0-9]{4}|\\?\S)\b/},{b:/<<(-?)\w+$/,e:/^\s*\w+$/}]},i={cN:"params",b:"\\(",e:"\\)",endsParent:!0,k:r},d=[t,a,{cN:"class",bK:"class module",e:"$|;",i:/=/,c:[e.inherit(e.TM,{b:"[A-Za-z_]\\w*(::\\w+)*(\\?|\\!)?"}),{b:"<\\s*",c:[{b:"("+e.IR+"::)?"+e.IR}]}].concat(s)},{cN:"function",bK:"def",e:"$|;",c:[e.inherit(e.TM,{b:b}),i].concat(s)},{b:e.IR+"::"},{cN:"symbol",b:e.UIR+"(\\!|\\?)?:",r:0},{cN:"symbol",b:":(?!\\s)",c:[t,{b:b}],r:0},{cN:"number",b:"(\\b0[0-7_]+)|(\\b0x[0-9a-fA-F_]+)|(\\b[1-9][0-9_]*(\\.[0-9_]+)?)|[0_]\\b",r:0},{b:"(\\$\\W)|((\\$|\\@\\@?)(\\w+))"},{cN:"params",b:/\|/,e:/\|/,k:r},{b:"("+e.RSR+")\\s*",c:[a,{cN:"regexp",c:[e.BE,n],i:/\n/,v:[{b:"/",e:"/[a-z]*"},{b:"%r{",e:"}[a-z]*"},{b:"%r\\(",e:"\\)[a-z]*"},{b:"%r!",e:"![a-z]*"},{b:"%r\\[",e:"\\][a-z]*"}]}].concat(s),r:0}].concat(s);n.c=d,i.c=d;var l="[>?]>",o="[\\w#]+\\(\\w+\\):\\d+:\\d+>",w="(\\w+-)?\\d+\\.\\d+\\.\\d(p\\d+)?[^>]+>",u=[{b:/^\s*=>/,starts:{e:"$",c:d}},{cN:"meta",b:"^("+l+"|"+o+"|"+w+")",starts:{e:"$",c:d}}];return{aliases:["rb","gemspec","podspec","thor","irb"],k:r,i:/\/\*/,c:s.concat(u).concat(d)}});hljs.registerLanguage("java",function(e){var t=e.UIR+"(<"+e.UIR+"(\\s*,\\s*"+e.UIR+")*>)?",a="false synchronized int abstract float private char boolean static null if const for true while long strictfp finally protected import native final void enum else break transient catch instanceof byte super volatile case assert short package default double public try this switch continue throws protected public private module requires exports",r="\\b(0[bB]([01]+[01_]+[01]+|[01]+)|0[xX]([a-fA-F0-9]+[a-fA-F0-9_]+[a-fA-F0-9]+|[a-fA-F0-9]+)|(([\\d]+[\\d_]+[\\d]+|[\\d]+)(\\.([\\d]+[\\d_]+[\\d]+|[\\d]+))?|\\.([\\d]+[\\d_]+[\\d]+|[\\d]+))([eE][-+]?\\d+)?)[lLfF]?",s={cN:"number",b:r,r:0};return{aliases:["jsp"],k:a,i:/<\/|#/,c:[e.C("/\\*\\*","\\*/",{r:0,c:[{b:/\w+@/,r:0},{cN:"doctag",b:"@[A-Za-z]+"}]}),e.CLCM,e.CBCM,e.ASM,e.QSM,{cN:"class",bK:"class interface",e:/[{;=]/,eE:!0,k:"class interface",i:/[:"\[\]]/,c:[{bK:"extends implements"},e.UTM]},{bK:"new throw return else",r:0},{cN:"function",b:"("+t+"\\s+)+"+e.UIR+"\\s*\\(",rB:!0,e:/[{;=]/,eE:!0,k:a,c:[{b:e.UIR+"\\s*\\(",rB:!0,r:0,c:[e.UTM]},{cN:"params",b:/\(/,e:/\)/,k:a,r:0,c:[e.ASM,e.QSM,e.CNM,e.CBCM]},e.CLCM,e.CBCM]},s,{cN:"meta",b:"@[A-Za-z]+"}]}});hljs.registerLanguage("cpp",function(t){var e={cN:"keyword",b:"\\b[a-z\\d_]*_t\\b"},r={cN:"string",v:[{b:'(u8?|U)?L?"',e:'"',i:"\\n",c:[t.BE]},{b:'(u8?|U)?R"',e:'"',c:[t.BE]},{b:"'\\\\?.",e:"'",i:"."}]},s={cN:"number",v:[{b:"\\b(0b[01']+)"},{b:"\\b([\\d']+(\\.[\\d']*)?|\\.[\\d']+)(u|U|l|L|ul|UL|f|F|b|B)"},{b:"(-?)(\\b0[xX][a-fA-F0-9']+|(\\b[\\d']+(\\.[\\d']*)?|\\.[\\d']+)([eE][-+]?[\\d']+)?)"}],r:0},i={cN:"meta",b:/#\s*[a-z]+\b/,e:/$/,k:{"meta-keyword":"if else elif endif define undef warning error line pragma ifdef ifndef include"},c:[{b:/\\\n/,r:0},t.inherit(r,{cN:"meta-string"}),{cN:"meta-string",b:"<",e:">",i:"\\n"},t.CLCM,t.CBCM]},a=t.IR+"\\s*\\(",c={keyword:"int float while private char catch import module export virtual operator sizeof dynamic_cast|10 typedef const_cast|10 const struct for static_cast|10 union namespace unsigned long volatile static protected bool template mutable if public friend do goto auto void enum else break extern using class asm case typeid short reinterpret_cast|10 default double register explicit signed typename try this switch continue inline delete alignof constexpr decltype noexcept static_assert thread_local restrict _Bool complex _Complex _Imaginary atomic_bool atomic_char atomic_schar atomic_uchar atomic_short atomic_ushort atomic_int atomic_uint atomic_long atomic_ulong atomic_llong atomic_ullong new throw return",built_in:"std string cin cout cerr clog stdin stdout stderr stringstream istringstream ostringstream auto_ptr deque list queue stack vector map set bitset multiset multimap unordered_set unordered_map unordered_multiset unordered_multimap array shared_ptr abort abs acos asin atan2 atan calloc ceil cosh cos exit exp fabs floor fmod fprintf fputs free frexp fscanf isalnum isalpha iscntrl isdigit isgraph islower isprint ispunct isspace isupper isxdigit tolower toupper labs ldexp log10 log malloc realloc memchr memcmp memcpy memset modf pow printf putchar puts scanf sinh sin snprintf sprintf sqrt sscanf strcat strchr strcmp strcpy strcspn strlen strncat strncmp strncpy strpbrk strrchr strspn strstr tanh tan vfprintf vprintf vsprintf endl initializer_list unique_ptr",literal:"true false nullptr NULL"},n=[e,t.CLCM,t.CBCM,s,r];return{aliases:["c","cc","h","c++","h++","hpp"],k:c,i:"",k:c,c:["self",e]},{b:t.IR+"::",k:c},{v:[{b:/=/,e:/;/},{b:/\(/,e:/\)/},{bK:"new throw return else",e:/;/}],k:c,c:n.concat([{b:/\(/,e:/\)/,k:c,c:n.concat(["self"]),r:0}]),r:0},{cN:"function",b:"("+t.IR+"[\\*&\\s]+)+"+a,rB:!0,e:/[{;=]/,eE:!0,k:c,i:/[^\w\s\*&]/,c:[{b:a,rB:!0,c:[t.TM],r:0},{cN:"params",b:/\(/,e:/\)/,k:c,r:0,c:[t.CLCM,t.CBCM,r,s,e]},t.CLCM,t.CBCM,i]}]),exports:{preprocessor:i,strings:r,k:c}}});hljs.registerLanguage("php",function(e){var c={b:"\\$+[a-zA-Z_-ÿ][a-zA-Z0-9_-ÿ]*"},i={cN:"meta",b:/<\?(php)?|\?>/},t={cN:"string",c:[e.BE,i],v:[{b:'b"',e:'"'},{b:"b'",e:"'"},e.inherit(e.ASM,{i:null}),e.inherit(e.QSM,{i:null})]},a={v:[e.BNM,e.CNM]};return{aliases:["php3","php4","php5","php6"],cI:!0,k:"and include_once list abstract global private echo interface as static endswitch array null if endwhile or const for endforeach self var while isset public protected exit foreach throw elseif include __FILE__ empty require_once do xor return parent clone use __CLASS__ __LINE__ else break print eval new catch __METHOD__ case exception default die require __FUNCTION__ enddeclare final try switch continue endfor endif declare unset true false trait goto instanceof insteadof __DIR__ __NAMESPACE__ yield finally",c:[e.HCM,e.C("//","$",{c:[i]}),e.C("/\\*","\\*/",{c:[{cN:"doctag",b:"@[A-Za-z]+"}]}),e.C("__halt_compiler.+?;",!1,{eW:!0,k:"__halt_compiler",l:e.UIR}),{cN:"string",b:/<<<['"]?\w+['"]?$/,e:/^\w+;?$/,c:[e.BE,{cN:"subst",v:[{b:/\$\w+/},{b:/\{\$/,e:/\}/}]}]},i,{cN:"keyword",b:/\$this\b/},c,{b:/(::|->)+[a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*/},{cN:"function",bK:"function",e:/[;{]/,eE:!0,i:"\\$|\\[|%",c:[e.UTM,{cN:"params",b:"\\(",e:"\\)",c:["self",c,e.CBCM,t,a]}]},{cN:"class",bK:"class interface",e:"{",eE:!0,i:/[:\(\$"]/,c:[{bK:"extends implements"},e.UTM]},{bK:"namespace",e:";",i:/[\.']/,c:[e.UTM]},{bK:"use",e:";",c:[e.UTM]},{b:"=>"},t,a]}});hljs.registerLanguage("makefile",function(e){var a={cN:"variable",b:/\$\(/,e:/\)/,c:[e.BE]};return{aliases:["mk","mak"],c:[e.HCM,{b:/^\w+\s*\W*=/,rB:!0,r:0,starts:{e:/\s*\W*=/,eE:!0,starts:{e:/$/,r:0,c:[a]}}},{cN:"section",b:/^[\w]+:\s*$/},{cN:"meta",b:/^\.PHONY:/,e:/$/,k:{"meta-keyword":".PHONY"},l:/[\.\w]+/},{b:/^\t+/,e:/$/,r:0,c:[e.QSM,a]}]}});hljs.registerLanguage("python",function(e){var r={cN:"meta",b:/^(>>>|\.\.\.) /},b={cN:"string",c:[e.BE],v:[{b:/(u|b)?r?'''/,e:/'''/,c:[r],r:10},{b:/(u|b)?r?"""/,e:/"""/,c:[r],r:10},{b:/(u|r|ur)'/,e:/'/,r:10},{b:/(u|r|ur)"/,e:/"/,r:10},{b:/(b|br)'/,e:/'/},{b:/(b|br)"/,e:/"/},e.ASM,e.QSM]},a={cN:"number",r:0,v:[{b:e.BNR+"[lLjJ]?"},{b:"\\b(0o[0-7]+)[lLjJ]?"},{b:e.CNR+"[lLjJ]?"}]},l={cN:"params",b:/\(/,e:/\)/,c:["self",r,a,b]};return{aliases:["py","gyp"],k:{keyword:"and elif is global as in if from raise for except finally print import pass return exec else break not with class assert yield try while continue del or def lambda async await nonlocal|10 None True False",built_in:"Ellipsis NotImplemented"},i:/(<\/|->|\?)/,c:[r,a,b,e.HCM,{v:[{cN:"function",bK:"def",r:10},{cN:"class",bK:"class"}],e:/:/,i:/[${=;\n,]/,c:[e.UTM,l,{b:/->/,eW:!0,k:"None"}]},{cN:"meta",b:/^[\t ]*@/,e:/$/},{b:/\b(print|exec)\(/}]}});hljs.registerLanguage("sql",function(e){var t=e.C("--","$");return{cI:!0,i:/[<>{}*#]/,c:[{bK:"begin end start commit rollback savepoint lock alter create drop rename call delete do handler insert load replace select truncate update set show pragma grant merge describe use explain help declare prepare execute deallocate release unlock purge reset change stop analyze cache flush optimize repair kill install uninstall checksum restore check backup revoke comment",e:/;/,eW:!0,l:/[\w\.]+/,k:{keyword:"abort abs absolute acc acce accep accept access accessed accessible account acos action activate add addtime admin administer advanced advise aes_decrypt aes_encrypt after agent aggregate ali alia alias allocate allow alter always analyze ancillary and any anydata anydataset anyschema anytype apply archive archived archivelog are as asc ascii asin assembly assertion associate asynchronous at atan atn2 attr attri attrib attribu attribut attribute attributes audit authenticated authentication authid authors auto autoallocate autodblink autoextend automatic availability avg backup badfile basicfile before begin beginning benchmark between bfile bfile_base big bigfile bin binary_double binary_float binlog bit_and bit_count bit_length bit_or bit_xor bitmap blob_base block blocksize body both bound buffer_cache buffer_pool build bulk by byte byteordermark bytes cache caching call calling cancel capacity cascade cascaded case cast catalog category ceil ceiling chain change changed char_base char_length character_length characters characterset charindex charset charsetform charsetid check checksum checksum_agg child choose chr chunk class cleanup clear client clob clob_base clone close cluster_id cluster_probability cluster_set clustering coalesce coercibility col collate collation collect colu colum column column_value columns columns_updated comment commit compact compatibility compiled complete composite_limit compound compress compute concat concat_ws concurrent confirm conn connec connect connect_by_iscycle connect_by_isleaf connect_by_root connect_time connection consider consistent constant constraint constraints constructor container content contents context contributors controlfile conv convert convert_tz corr corr_k corr_s corresponding corruption cos cost count count_big counted covar_pop covar_samp cpu_per_call cpu_per_session crc32 create creation critical cross cube cume_dist curdate current current_date current_time current_timestamp current_user cursor curtime customdatum cycle data database databases datafile datafiles datalength date_add date_cache date_format date_sub dateadd datediff datefromparts datename datepart datetime2fromparts day day_to_second dayname dayofmonth dayofweek dayofyear days db_role_change dbtimezone ddl deallocate declare decode decompose decrement decrypt deduplicate def defa defau defaul default defaults deferred defi defin define degrees delayed delegate delete delete_all delimited demand dense_rank depth dequeue des_decrypt des_encrypt des_key_file desc descr descri describ describe descriptor deterministic diagnostics difference dimension direct_load directory disable disable_all disallow disassociate discardfile disconnect diskgroup distinct distinctrow distribute distributed div do document domain dotnet double downgrade drop dumpfile duplicate duration each edition editionable editions element ellipsis else elsif elt empty enable enable_all enclosed encode encoding encrypt end end-exec endian enforced engine engines enqueue enterprise entityescaping eomonth error errors escaped evalname evaluate event eventdata events except exception exceptions exchange exclude excluding execu execut execute exempt exists exit exp expire explain export export_set extended extent external external_1 external_2 externally extract failed failed_login_attempts failover failure far fast feature_set feature_value fetch field fields file file_name_convert filesystem_like_logging final finish first first_value fixed flash_cache flashback floor flush following follows for forall force form forma format found found_rows freelist freelists freepools fresh from from_base64 from_days ftp full function general generated get get_format get_lock getdate getutcdate global global_name globally go goto grant grants greatest group group_concat group_id grouping grouping_id groups gtid_subtract guarantee guard handler hash hashkeys having hea head headi headin heading heap help hex hierarchy high high_priority hosts hour http id ident_current ident_incr ident_seed identified identity idle_time if ifnull ignore iif ilike ilm immediate import in include including increment index indexes indexing indextype indicator indices inet6_aton inet6_ntoa inet_aton inet_ntoa infile initial initialized initially initrans inmemory inner innodb input insert install instance instantiable instr interface interleaved intersect into invalidate invisible is is_free_lock is_ipv4 is_ipv4_compat is_not is_not_null is_used_lock isdate isnull isolation iterate java join json json_exists keep keep_duplicates key keys kill language large last last_day last_insert_id last_value lax lcase lead leading least leaves left len lenght length less level levels library like like2 like4 likec limit lines link list listagg little ln load load_file lob lobs local localtime localtimestamp locate locator lock locked log log10 log2 logfile logfiles logging logical logical_reads_per_call logoff logon logs long loop low low_priority lower lpad lrtrim ltrim main make_set makedate maketime managed management manual map mapping mask master master_pos_wait match matched materialized max maxextents maximize maxinstances maxlen maxlogfiles maxloghistory maxlogmembers maxsize maxtrans md5 measures median medium member memcompress memory merge microsecond mid migration min minextents minimum mining minus minute minvalue missing mod mode model modification modify module monitoring month months mount move movement multiset mutex name name_const names nan national native natural nav nchar nclob nested never new newline next nextval no no_write_to_binlog noarchivelog noaudit nobadfile nocheck nocompress nocopy nocycle nodelay nodiscardfile noentityescaping noguarantee nokeep nologfile nomapping nomaxvalue nominimize nominvalue nomonitoring none noneditionable nonschema noorder nopr nopro noprom nopromp noprompt norely noresetlogs noreverse normal norowdependencies noschemacheck noswitch not nothing notice notrim novalidate now nowait nth_value nullif nulls num numb numbe nvarchar nvarchar2 object ocicoll ocidate ocidatetime ociduration ociinterval ociloblocator ocinumber ociref ocirefcursor ocirowid ocistring ocitype oct octet_length of off offline offset oid oidindex old on online only opaque open operations operator optimal optimize option optionally or oracle oracle_date oradata ord ordaudio orddicom orddoc order ordimage ordinality ordvideo organization orlany orlvary out outer outfile outline output over overflow overriding package pad parallel parallel_enable parameters parent parse partial partition partitions pascal passing password password_grace_time password_lock_time password_reuse_max password_reuse_time password_verify_function patch path patindex pctincrease pctthreshold pctused pctversion percent percent_rank percentile_cont percentile_disc performance period period_add period_diff permanent physical pi pipe pipelined pivot pluggable plugin policy position post_transaction pow power pragma prebuilt precedes preceding precision prediction prediction_cost prediction_details prediction_probability prediction_set prepare present preserve prior priority private private_sga privileges procedural procedure procedure_analyze processlist profiles project prompt protection public publishingservername purge quarter query quick quiesce quota quotename radians raise rand range rank raw read reads readsize rebuild record records recover recovery recursive recycle redo reduced ref reference referenced references referencing refresh regexp_like register regr_avgx regr_avgy regr_count regr_intercept regr_r2 regr_slope regr_sxx regr_sxy reject rekey relational relative relaylog release release_lock relies_on relocate rely rem remainder rename repair repeat replace replicate replication required reset resetlogs resize resource respect restore restricted result result_cache resumable resume retention return returning returns reuse reverse revoke right rlike role roles rollback rolling rollup round row row_count rowdependencies rowid rownum rows rtrim rules safe salt sample save savepoint sb1 sb2 sb4 scan schema schemacheck scn scope scroll sdo_georaster sdo_topo_geometry search sec_to_time second section securefile security seed segment select self sequence sequential serializable server servererror session session_user sessions_per_user set sets settings sha sha1 sha2 share shared shared_pool short show shrink shutdown si_averagecolor si_colorhistogram si_featurelist si_positionalcolor si_stillimage si_texture siblings sid sign sin size size_t sizes skip slave sleep smalldatetimefromparts smallfile snapshot some soname sort soundex source space sparse spfile split sql sql_big_result sql_buffer_result sql_cache sql_calc_found_rows sql_small_result sql_variant_property sqlcode sqldata sqlerror sqlname sqlstate sqrt square standalone standby start starting startup statement static statistics stats_binomial_test stats_crosstab stats_ks_test stats_mode stats_mw_test stats_one_way_anova stats_t_test_ stats_t_test_indep stats_t_test_one stats_t_test_paired stats_wsr_test status std stddev stddev_pop stddev_samp stdev stop storage store stored str str_to_date straight_join strcmp strict string struct stuff style subdate subpartition subpartitions substitutable substr substring subtime subtring_index subtype success sum suspend switch switchoffset switchover sync synchronous synonym sys sys_xmlagg sysasm sysaux sysdate sysdatetimeoffset sysdba sysoper system system_user sysutcdatetime table tables tablespace tan tdo template temporary terminated tertiary_weights test than then thread through tier ties time time_format time_zone timediff timefromparts timeout timestamp timestampadd timestampdiff timezone_abbr timezone_minute timezone_region to to_base64 to_date to_days to_seconds todatetimeoffset trace tracking transaction transactional translate translation treat trigger trigger_nestlevel triggers trim truncate try_cast try_convert try_parse type ub1 ub2 ub4 ucase unarchived unbounded uncompress under undo unhex unicode uniform uninstall union unique unix_timestamp unknown unlimited unlock unpivot unrecoverable unsafe unsigned until untrusted unusable unused update updated upgrade upped upper upsert url urowid usable usage use use_stored_outlines user user_data user_resources users using utc_date utc_timestamp uuid uuid_short validate validate_password_strength validation valist value values var var_samp varcharc vari varia variab variabl variable variables variance varp varraw varrawc varray verify version versions view virtual visible void wait wallet warning warnings week weekday weekofyear wellformed when whene whenev wheneve whenever where while whitespace with within without work wrapped xdb xml xmlagg xmlattributes xmlcast xmlcolattval xmlelement xmlexists xmlforest xmlindex xmlnamespaces xmlpi xmlquery xmlroot xmlschema xmlserialize xmltable xmltype xor year year_to_month years yearweek",literal:"true false null",built_in:"array bigint binary bit blob boolean char character date dec decimal float int int8 integer interval number numeric real record serial serial8 smallint text varchar varying void"},c:[{cN:"string",b:"'",e:"'",c:[e.BE,{b:"''"}]},{cN:"string",b:'"',e:'"',c:[e.BE,{b:'""'}]},{cN:"string",b:"`",e:"`",c:[e.BE]},e.CNM,e.CBCM,t]},e.CBCM,t]}});hljs.registerLanguage("ini",function(e){var b={cN:"string",c:[e.BE],v:[{b:"'''",e:"'''",r:10},{b:'"""',e:'"""',r:10},{b:'"',e:'"'},{b:"'",e:"'"}]};return{aliases:["toml"],cI:!0,i:/\S/,c:[e.C(";","$"),e.HCM,{cN:"section",b:/^\s*\[+/,e:/\]+/},{b:/^[a-z0-9\[\]_-]+\s*=\s*/,e:"$",rB:!0,c:[{cN:"attr",b:/[a-z0-9\[\]_-]+/},{b:/=/,eW:!0,r:0,c:[{cN:"literal",b:/\bon|off|true|false|yes|no\b/},{cN:"variable",v:[{b:/\$[\w\d"][\w\d_]*/},{b:/\$\{(.*?)}/}]},b,{cN:"number",b:/([\+\-]+)?[\d]+_[\d_]+/},e.NM]}]}]}});hljs.registerLanguage("http",function(e){var t="HTTP/[0-9\\.]+";return{aliases:["https"],i:"\\S",c:[{b:"^"+t,e:"$",c:[{cN:"number",b:"\\b\\d{3}\\b"}]},{b:"^[A-Z]+ (.*?) "+t+"$",rB:!0,e:"$",c:[{cN:"string",b:" ",e:" ",eB:!0,eE:!0},{b:t},{cN:"keyword",b:"[A-Z]+"}]},{cN:"attribute",b:"^\\w",e:": ",eE:!0,i:"\\n|\\s|=",starts:{e:"$",r:0}},{b:"\\n\\n",starts:{sL:[],eW:!0}}]}});hljs.registerLanguage("nginx",function(e){var r={cN:"variable",v:[{b:/\$\d+/},{b:/\$\{/,e:/}/},{b:"[\\$\\@]"+e.UIR}]},b={eW:!0,l:"[a-z/_]+",k:{literal:"on off yes no true false none blocked debug info notice warn error crit select break last permanent redirect kqueue rtsig epoll poll /dev/poll"},r:0,i:"=>",c:[e.HCM,{cN:"string",c:[e.BE,r],v:[{b:/"/,e:/"/},{b:/'/,e:/'/}]},{b:"([a-z]+):/",e:"\\s",eW:!0,eE:!0,c:[r]},{cN:"regexp",c:[e.BE,r],v:[{b:"\\s\\^",e:"\\s|{|;",rE:!0},{b:"~\\*?\\s+",e:"\\s|{|;",rE:!0},{b:"\\*(\\.[a-z\\-]+)+"},{b:"([a-z\\-]+\\.)+\\*"}]},{cN:"number",b:"\\b\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}(:\\d{1,5})?\\b"},{cN:"number",b:"\\b\\d+[kKmMgGdshdwy]*\\b",r:0},r]};return{aliases:["nginxconf"],c:[e.HCM,{b:e.UIR+"\\s+{",rB:!0,e:"{",c:[{cN:"section",b:e.UIR}],r:0},{b:e.UIR+"\\s",e:";|{",rB:!0,c:[{cN:"attribute",b:e.UIR,starts:b}],r:0}],i:"[^\\s\\}]"}});hljs.registerLanguage("bash",function(e){var t={cN:"variable",v:[{b:/\$[\w\d#@][\w\d_]*/},{b:/\$\{(.*?)}/}]},s={cN:"string",b:/"/,e:/"/,c:[e.BE,t,{cN:"variable",b:/\$\(/,e:/\)/,c:[e.BE]}]},a={cN:"string",b:/'/,e:/'/};return{aliases:["sh","zsh"],l:/-?[a-z\._]+/,k:{keyword:"if then else elif fi for while in do done case esac function",literal:"true false",built_in:"break cd continue eval exec exit export getopts hash pwd readonly return shift test times trap umask unset alias bind builtin caller command declare echo enable help let local logout mapfile printf read readarray source type typeset ulimit unalias set shopt autoload bg bindkey bye cap chdir clone comparguments compcall compctl compdescribe compfiles compgroups compquote comptags comptry compvalues dirs disable disown echotc echoti emulate fc fg float functions getcap getln history integer jobs kill limit log noglob popd print pushd pushln rehash sched setcap setopt stat suspend ttyctl unfunction unhash unlimit unsetopt vared wait whence where which zcompile zformat zftp zle zmodload zparseopts zprof zpty zregexparse zsocket zstyle ztcp",_:"-ne -eq -lt -gt -f -d -e -s -l -a"},c:[{cN:"meta",b:/^#![^\n]+sh\s*$/,r:10},{cN:"function",b:/\w[\w\d_]*\s*\(\s*\)\s*\{/,rB:!0,c:[e.inherit(e.TM,{b:/\w[\w\d_]*/})],r:0},e.HCM,s,a,t]}}); \ No newline at end of file diff --git a/src/demo/manager/src/main/webapp/assets/js/jquery-1.5.1.min.js b/src/demo/manager/src/main/webapp/assets/js/jquery-1.5.1.min.js new file mode 100644 index 00000000..6437874c --- /dev/null +++ b/src/demo/manager/src/main/webapp/assets/js/jquery-1.5.1.min.js @@ -0,0 +1,16 @@ +/*! + * jQuery JavaScript Library v1.5.1 + * http://jquery.com/ + * + * Copyright 2011, John Resig + * Dual licensed under the MIT or GPL Version 2 licenses. + * http://jquery.org/license + * + * Includes Sizzle.js + * http://sizzlejs.com/ + * Copyright 2011, The Dojo Foundation + * Released under the MIT, BSD, and GPL Licenses. + * + * Date: Wed Feb 23 13:55:29 2011 -0500 + */ +(function(a,b){function cg(a){return d.isWindow(a)?a:a.nodeType===9?a.defaultView||a.parentWindow:!1}function cd(a){if(!bZ[a]){var b=d("<"+a+">").appendTo("body"),c=b.css("display");b.remove();if(c==="none"||c==="")c="block";bZ[a]=c}return bZ[a]}function cc(a,b){var c={};d.each(cb.concat.apply([],cb.slice(0,b)),function(){c[this]=a});return c}function bY(){try{return new a.ActiveXObject("Microsoft.XMLHTTP")}catch(b){}}function bX(){try{return new a.XMLHttpRequest}catch(b){}}function bW(){d(a).unload(function(){for(var a in bU)bU[a](0,1)})}function bQ(a,c){a.dataFilter&&(c=a.dataFilter(c,a.dataType));var e=a.dataTypes,f={},g,h,i=e.length,j,k=e[0],l,m,n,o,p;for(g=1;g=0===c})}function N(a){return!a||!a.parentNode||a.parentNode.nodeType===11}function F(a,b){return(a&&a!=="*"?a+".":"")+b.replace(r,"`").replace(s,"&")}function E(a){var b,c,e,f,g,h,i,j,k,l,m,n,o,q=[],r=[],s=d._data(this,"events");if(a.liveFired!==this&&s&&s.live&&!a.target.disabled&&(!a.button||a.type!=="click")){a.namespace&&(n=new RegExp("(^|\\.)"+a.namespace.split(".").join("\\.(?:.*\\.)?")+"(\\.|$)")),a.liveFired=this;var t=s.live.slice(0);for(i=0;ic)break;a.currentTarget=f.elem,a.data=f.handleObj.data,a.handleObj=f.handleObj,o=f.handleObj.origHandler.apply(f.elem,arguments);if(o===!1||a.isPropagationStopped()){c=f.level,o===!1&&(b=!1);if(a.isImmediatePropagationStopped())break}}return b}}function C(a,c,e){var f=d.extend({},e[0]);f.type=a,f.originalEvent={},f.liveFired=b,d.event.handle.call(c,f),f.isDefaultPrevented()&&e[0].preventDefault()}function w(){return!0}function v(){return!1}function g(a){for(var b in a)if(b!=="toJSON")return!1;return!0}function f(a,c,f){if(f===b&&a.nodeType===1){f=a.getAttribute("data-"+c);if(typeof f==="string"){try{f=f==="true"?!0:f==="false"?!1:f==="null"?null:d.isNaN(f)?e.test(f)?d.parseJSON(f):f:parseFloat(f)}catch(g){}d.data(a,c,f)}else f=b}return f}var c=a.document,d=function(){function I(){if(!d.isReady){try{c.documentElement.doScroll("left")}catch(a){setTimeout(I,1);return}d.ready()}}var d=function(a,b){return new d.fn.init(a,b,g)},e=a.jQuery,f=a.$,g,h=/^(?:[^<]*(<[\w\W]+>)[^>]*$|#([\w\-]+)$)/,i=/\S/,j=/^\s+/,k=/\s+$/,l=/\d/,m=/^<(\w+)\s*\/?>(?:<\/\1>)?$/,n=/^[\],:{}\s]*$/,o=/\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g,p=/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g,q=/(?:^|:|,)(?:\s*\[)+/g,r=/(webkit)[ \/]([\w.]+)/,s=/(opera)(?:.*version)?[ \/]([\w.]+)/,t=/(msie) ([\w.]+)/,u=/(mozilla)(?:.*? rv:([\w.]+))?/,v=navigator.userAgent,w,x=!1,y,z="then done fail isResolved isRejected promise".split(" "),A,B=Object.prototype.toString,C=Object.prototype.hasOwnProperty,D=Array.prototype.push,E=Array.prototype.slice,F=String.prototype.trim,G=Array.prototype.indexOf,H={};d.fn=d.prototype={constructor:d,init:function(a,e,f){var g,i,j,k;if(!a)return this;if(a.nodeType){this.context=this[0]=a,this.length=1;return this}if(a==="body"&&!e&&c.body){this.context=c,this[0]=c.body,this.selector="body",this.length=1;return this}if(typeof a==="string"){g=h.exec(a);if(!g||!g[1]&&e)return!e||e.jquery?(e||f).find(a):this.constructor(e).find(a);if(g[1]){e=e instanceof d?e[0]:e,k=e?e.ownerDocument||e:c,j=m.exec(a),j?d.isPlainObject(e)?(a=[c.createElement(j[1])],d.fn.attr.call(a,e,!0)):a=[k.createElement(j[1])]:(j=d.buildFragment([g[1]],[k]),a=(j.cacheable?d.clone(j.fragment):j.fragment).childNodes);return d.merge(this,a)}i=c.getElementById(g[2]);if(i&&i.parentNode){if(i.id!==g[2])return f.find(a);this.length=1,this[0]=i}this.context=c,this.selector=a;return this}if(d.isFunction(a))return f.ready(a);a.selector!==b&&(this.selector=a.selector,this.context=a.context);return d.makeArray(a,this)},selector:"",jquery:"1.5.1",length:0,size:function(){return this.length},toArray:function(){return E.call(this,0)},get:function(a){return a==null?this.toArray():a<0?this[this.length+a]:this[a]},pushStack:function(a,b,c){var e=this.constructor();d.isArray(a)?D.apply(e,a):d.merge(e,a),e.prevObject=this,e.context=this.context,b==="find"?e.selector=this.selector+(this.selector?" ":"")+c:b&&(e.selector=this.selector+"."+b+"("+c+")");return e},each:function(a,b){return d.each(this,a,b)},ready:function(a){d.bindReady(),y.done(a);return this},eq:function(a){return a===-1?this.slice(a):this.slice(a,+a+1)},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},slice:function(){return this.pushStack(E.apply(this,arguments),"slice",E.call(arguments).join(","))},map:function(a){return this.pushStack(d.map(this,function(b,c){return a.call(b,c,b)}))},end:function(){return this.prevObject||this.constructor(null)},push:D,sort:[].sort,splice:[].splice},d.fn.init.prototype=d.fn,d.extend=d.fn.extend=function(){var a,c,e,f,g,h,i=arguments[0]||{},j=1,k=arguments.length,l=!1;typeof i==="boolean"&&(l=i,i=arguments[1]||{},j=2),typeof i!=="object"&&!d.isFunction(i)&&(i={}),k===j&&(i=this,--j);for(;j0)return;y.resolveWith(c,[d]),d.fn.trigger&&d(c).trigger("ready").unbind("ready")}},bindReady:function(){if(!x){x=!0;if(c.readyState==="complete")return setTimeout(d.ready,1);if(c.addEventListener)c.addEventListener("DOMContentLoaded",A,!1),a.addEventListener("load",d.ready,!1);else if(c.attachEvent){c.attachEvent("onreadystatechange",A),a.attachEvent("onload",d.ready);var b=!1;try{b=a.frameElement==null}catch(e){}c.documentElement.doScroll&&b&&I()}}},isFunction:function(a){return d.type(a)==="function"},isArray:Array.isArray||function(a){return d.type(a)==="array"},isWindow:function(a){return a&&typeof a==="object"&&"setInterval"in a},isNaN:function(a){return a==null||!l.test(a)||isNaN(a)},type:function(a){return a==null?String(a):H[B.call(a)]||"object"},isPlainObject:function(a){if(!a||d.type(a)!=="object"||a.nodeType||d.isWindow(a))return!1;if(a.constructor&&!C.call(a,"constructor")&&!C.call(a.constructor.prototype,"isPrototypeOf"))return!1;var c;for(c in a){}return c===b||C.call(a,c)},isEmptyObject:function(a){for(var b in a)return!1;return!0},error:function(a){throw a},parseJSON:function(b){if(typeof b!=="string"||!b)return null;b=d.trim(b);if(n.test(b.replace(o,"@").replace(p,"]").replace(q,"")))return a.JSON&&a.JSON.parse?a.JSON.parse(b):(new Function("return "+b))();d.error("Invalid JSON: "+b)},parseXML:function(b,c,e){a.DOMParser?(e=new DOMParser,c=e.parseFromString(b,"text/xml")):(c=new ActiveXObject("Microsoft.XMLDOM"),c.async="false",c.loadXML(b)),e=c.documentElement,(!e||!e.nodeName||e.nodeName==="parsererror")&&d.error("Invalid XML: "+b);return c},noop:function(){},globalEval:function(a){if(a&&i.test(a)){var b=c.head||c.getElementsByTagName("head")[0]||c.documentElement,e=c.createElement("script");d.support.scriptEval()?e.appendChild(c.createTextNode(a)):e.text=a,b.insertBefore(e,b.firstChild),b.removeChild(e)}},nodeName:function(a,b){return a.nodeName&&a.nodeName.toUpperCase()===b.toUpperCase()},each:function(a,c,e){var f,g=0,h=a.length,i=h===b||d.isFunction(a);if(e){if(i){for(f in a)if(c.apply(a[f],e)===!1)break}else for(;g1){var f=E.call(arguments,0),g=b,h=function(a){return function(b){f[a]=arguments.length>1?E.call(arguments,0):b,--g||c.resolveWith(e,f)}};while(b--)a=f[b],a&&d.isFunction(a.promise)?a.promise().then(h(b),c.reject):--g;g||c.resolveWith(e,f)}else c!==a&&c.resolve(a);return e},uaMatch:function(a){a=a.toLowerCase();var b=r.exec(a)||s.exec(a)||t.exec(a)||a.indexOf("compatible")<0&&u.exec(a)||[];return{browser:b[1]||"",version:b[2]||"0"}},sub:function(){function a(b,c){return new a.fn.init(b,c)}d.extend(!0,a,this),a.superclass=this,a.fn=a.prototype=this(),a.fn.constructor=a,a.subclass=this.subclass,a.fn.init=function b(b,c){c&&c instanceof d&&!(c instanceof a)&&(c=a(c));return d.fn.init.call(this,b,c,e)},a.fn.init.prototype=a.fn;var e=a(c);return a},browser:{}}),y=d._Deferred(),d.each("Boolean Number String Function Array Date RegExp Object".split(" "),function(a,b){H["[object "+b+"]"]=b.toLowerCase()}),w=d.uaMatch(v),w.browser&&(d.browser[w.browser]=!0,d.browser.version=w.version),d.browser.webkit&&(d.browser.safari=!0),G&&(d.inArray=function(a,b){return G.call(b,a)}),i.test(" ")&&(j=/^[\s\xA0]+/,k=/[\s\xA0]+$/),g=d(c),c.addEventListener?A=function(){c.removeEventListener("DOMContentLoaded",A,!1),d.ready()}:c.attachEvent&&(A=function(){c.readyState==="complete"&&(c.detachEvent("onreadystatechange",A),d.ready())});return d}();(function(){d.support={};var b=c.createElement("div");b.style.display="none",b.innerHTML="
    a";var e=b.getElementsByTagName("*"),f=b.getElementsByTagName("a")[0],g=c.createElement("select"),h=g.appendChild(c.createElement("option")),i=b.getElementsByTagName("input")[0];if(e&&e.length&&f){d.support={leadingWhitespace:b.firstChild.nodeType===3,tbody:!b.getElementsByTagName("tbody").length,htmlSerialize:!!b.getElementsByTagName("link").length,style:/red/.test(f.getAttribute("style")),hrefNormalized:f.getAttribute("href")==="/a",opacity:/^0.55$/.test(f.style.opacity),cssFloat:!!f.style.cssFloat,checkOn:i.value==="on",optSelected:h.selected,deleteExpando:!0,optDisabled:!1,checkClone:!1,noCloneEvent:!0,noCloneChecked:!0,boxModel:null,inlineBlockNeedsLayout:!1,shrinkWrapBlocks:!1,reliableHiddenOffsets:!0},i.checked=!0,d.support.noCloneChecked=i.cloneNode(!0).checked,g.disabled=!0,d.support.optDisabled=!h.disabled;var j=null;d.support.scriptEval=function(){if(j===null){var b=c.documentElement,e=c.createElement("script"),f="script"+d.now();try{e.appendChild(c.createTextNode("window."+f+"=1;"))}catch(g){}b.insertBefore(e,b.firstChild),a[f]?(j=!0,delete a[f]):j=!1,b.removeChild(e),b=e=f=null}return j};try{delete b.test}catch(k){d.support.deleteExpando=!1}!b.addEventListener&&b.attachEvent&&b.fireEvent&&(b.attachEvent("onclick",function l(){d.support.noCloneEvent=!1,b.detachEvent("onclick",l)}),b.cloneNode(!0).fireEvent("onclick")),b=c.createElement("div"),b.innerHTML="";var m=c.createDocumentFragment();m.appendChild(b.firstChild),d.support.checkClone=m.cloneNode(!0).cloneNode(!0).lastChild.checked,d(function(){var a=c.createElement("div"),b=c.getElementsByTagName("body")[0];if(b){a.style.width=a.style.paddingLeft="1px",b.appendChild(a),d.boxModel=d.support.boxModel=a.offsetWidth===2,"zoom"in a.style&&(a.style.display="inline",a.style.zoom=1,d.support.inlineBlockNeedsLayout=a.offsetWidth===2,a.style.display="",a.innerHTML="
    ",d.support.shrinkWrapBlocks=a.offsetWidth!==2),a.innerHTML="
    t
    ";var e=a.getElementsByTagName("td");d.support.reliableHiddenOffsets=e[0].offsetHeight===0,e[0].style.display="",e[1].style.display="none",d.support.reliableHiddenOffsets=d.support.reliableHiddenOffsets&&e[0].offsetHeight===0,a.innerHTML="",b.removeChild(a).style.display="none",a=e=null}});var n=function(a){var b=c.createElement("div");a="on"+a;if(!b.attachEvent)return!0;var d=a in b;d||(b.setAttribute(a,"return;"),d=typeof b[a]==="function"),b=null;return d};d.support.submitBubbles=n("submit"),d.support.changeBubbles=n("change"),b=e=f=null}})();var e=/^(?:\{.*\}|\[.*\])$/;d.extend({cache:{},uuid:0,expando:"jQuery"+(d.fn.jquery+Math.random()).replace(/\D/g,""),noData:{embed:!0,object:"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000",applet:!0},hasData:function(a){a=a.nodeType?d.cache[a[d.expando]]:a[d.expando];return!!a&&!g(a)},data:function(a,c,e,f){if(d.acceptData(a)){var g=d.expando,h=typeof c==="string",i,j=a.nodeType,k=j?d.cache:a,l=j?a[d.expando]:a[d.expando]&&d.expando;if((!l||f&&l&&!k[l][g])&&h&&e===b)return;l||(j?a[d.expando]=l=++d.uuid:l=d.expando),k[l]||(k[l]={},j||(k[l].toJSON=d.noop));if(typeof c==="object"||typeof c==="function")f?k[l][g]=d.extend(k[l][g],c):k[l]=d.extend(k[l],c);i=k[l],f&&(i[g]||(i[g]={}),i=i[g]),e!==b&&(i[c]=e);if(c==="events"&&!i[c])return i[g]&&i[g].events;return h?i[c]:i}},removeData:function(b,c,e){if(d.acceptData(b)){var f=d.expando,h=b.nodeType,i=h?d.cache:b,j=h?b[d.expando]:d.expando;if(!i[j])return;if(c){var k=e?i[j][f]:i[j];if(k){delete k[c];if(!g(k))return}}if(e){delete i[j][f];if(!g(i[j]))return}var l=i[j][f];d.support.deleteExpando||i!=a?delete i[j]:i[j]=null,l?(i[j]={},h||(i[j].toJSON=d.noop),i[j][f]=l):h&&(d.support.deleteExpando?delete b[d.expando]:b.removeAttribute?b.removeAttribute(d.expando):b[d.expando]=null)}},_data:function(a,b,c){return d.data(a,b,c,!0)},acceptData:function(a){if(a.nodeName){var b=d.noData[a.nodeName.toLowerCase()];if(b)return b!==!0&&a.getAttribute("classid")===b}return!0}}),d.fn.extend({data:function(a,c){var e=null;if(typeof a==="undefined"){if(this.length){e=d.data(this[0]);if(this[0].nodeType===1){var g=this[0].attributes,h;for(var i=0,j=g.length;i-1)return!0;return!1},val:function(a){if(!arguments.length){var c=this[0];if(c){if(d.nodeName(c,"option")){var e=c.attributes.value;return!e||e.specified?c.value:c.text}if(d.nodeName(c,"select")){var f=c.selectedIndex,g=[],h=c.options,i=c.type==="select-one";if(f<0)return null;for(var k=i?f:0,l=i?f+1:h.length;k=0;else if(d.nodeName(this,"select")){var f=d.makeArray(e);d("option",this).each(function(){this.selected=d.inArray(d(this).val(),f)>=0}),f.length||(this.selectedIndex=-1)}else this.value=e}})}}),d.extend({attrFn:{val:!0,css:!0,html:!0,text:!0,data:!0,width:!0,height:!0,offset:!0},attr:function(a,c,e,f){if(!a||a.nodeType===3||a.nodeType===8||a.nodeType===2)return b;if(f&&c in d.attrFn)return d(a)[c](e);var g=a.nodeType!==1||!d.isXMLDoc(a),h=e!==b;c=g&&d.props[c]||c;if(a.nodeType===1){var i=k.test(c);if(c==="selected"&&!d.support.optSelected){var j=a.parentNode;j&&(j.selectedIndex,j.parentNode&&j.parentNode.selectedIndex)}if((c in a||a[c]!==b)&&g&&!i){h&&(c==="type"&&l.test(a.nodeName)&&a.parentNode&&d.error("type property can't be changed"),e===null?a.nodeType===1&&a.removeAttribute(c):a[c]=e);if(d.nodeName(a,"form")&&a.getAttributeNode(c))return a.getAttributeNode(c).nodeValue;if(c==="tabIndex"){var o=a.getAttributeNode("tabIndex");return o&&o.specified?o.value:m.test(a.nodeName)||n.test(a.nodeName)&&a.href?0:b}return a[c]}if(!d.support.style&&g&&c==="style"){h&&(a.style.cssText=""+e);return a.style.cssText}h&&a.setAttribute(c,""+e);if(!a.attributes[c]&&(a.hasAttribute&&!a.hasAttribute(c)))return b;var p=!d.support.hrefNormalized&&g&&i?a.getAttribute(c,2):a.getAttribute(c);return p===null?b:p}h&&(a[c]=e);return a[c]}});var p=/\.(.*)$/,q=/^(?:textarea|input|select)$/i,r=/\./g,s=/ /g,t=/[^\w\s.|`]/g,u=function(a){return a.replace(t,"\\$&")};d.event={add:function(c,e,f,g){if(c.nodeType!==3&&c.nodeType!==8){try{d.isWindow(c)&&(c!==a&&!c.frameElement)&&(c=a)}catch(h){}if(f===!1)f=v;else if(!f)return;var i,j;f.handler&&(i=f,f=i.handler),f.guid||(f.guid=d.guid++);var k=d._data(c);if(!k)return;var l=k.events,m=k.handle;l||(k.events=l={}),m||(k.handle=m=function(){return typeof d!=="undefined"&&!d.event.triggered?d.event.handle.apply(m.elem,arguments):b}),m.elem=c,e=e.split(" ");var n,o=0,p;while(n=e[o++]){j=i?d.extend({},i):{handler:f,data:g},n.indexOf(".")>-1?(p=n.split("."),n=p.shift(),j.namespace=p.slice(0).sort().join(".")):(p=[],j.namespace=""),j.type=n,j.guid||(j.guid=f.guid);var q=l[n],r=d.event.special[n]||{};if(!q){q=l[n]=[];if(!r.setup||r.setup.call(c,g,p,m)===!1)c.addEventListener?c.addEventListener(n,m,!1):c.attachEvent&&c.attachEvent("on"+n,m)}r.add&&(r.add.call(c,j),j.handler.guid||(j.handler.guid=f.guid)),q.push(j),d.event.global[n]=!0}c=null}},global:{},remove:function(a,c,e,f){if(a.nodeType!==3&&a.nodeType!==8){e===!1&&(e=v);var g,h,i,j,k=0,l,m,n,o,p,q,r,s=d.hasData(a)&&d._data(a),t=s&&s.events;if(!s||!t)return;c&&c.type&&(e=c.handler,c=c.type);if(!c||typeof c==="string"&&c.charAt(0)==="."){c=c||"";for(h in t)d.event.remove(a,h+c);return}c=c.split(" ");while(h=c[k++]){r=h,q=null,l=h.indexOf(".")<0,m=[],l||(m=h.split("."),h=m.shift(),n=new RegExp("(^|\\.)"+d.map(m.slice(0).sort(),u).join("\\.(?:.*\\.)?")+"(\\.|$)")),p=t[h];if(!p)continue;if(!e){for(j=0;j=0&&(a.type=f=f.slice(0,-1),a.exclusive=!0),e||(a.stopPropagation(),d.event.global[f]&&d.each(d.cache,function(){var b=d.expando,e=this[b];e&&e.events&&e.events[f]&&d.event.trigger(a,c,e.handle.elem)}));if(!e||e.nodeType===3||e.nodeType===8)return b;a.result=b,a.target=e,c=d.makeArray(c),c.unshift(a)}a.currentTarget=e;var h=d._data(e,"handle");h&&h.apply(e,c);var i=e.parentNode||e.ownerDocument;try{e&&e.nodeName&&d.noData[e.nodeName.toLowerCase()]||e["on"+f]&&e["on"+f].apply(e,c)===!1&&(a.result=!1,a.preventDefault())}catch(j){}if(!a.isPropagationStopped()&&i)d.event.trigger(a,c,i,!0);else if(!a.isDefaultPrevented()){var k,l=a.target,m=f.replace(p,""),n=d.nodeName(l,"a")&&m==="click",o=d.event.special[m]||{};if((!o._default||o._default.call(e,a)===!1)&&!n&&!(l&&l.nodeName&&d.noData[l.nodeName.toLowerCase()])){try{l[m]&&(k=l["on"+m],k&&(l["on"+m]=null),d.event.triggered=!0,l[m]())}catch(q){}k&&(l["on"+m]=k),d.event.triggered=!1}}},handle:function(c){var e,f,g,h,i,j=[],k=d.makeArray(arguments);c=k[0]=d.event.fix(c||a.event),c.currentTarget=this,e=c.type.indexOf(".")<0&&!c.exclusive,e||(g=c.type.split("."),c.type=g.shift(),j=g.slice(0).sort(),h=new RegExp("(^|\\.)"+j.join("\\.(?:.*\\.)?")+"(\\.|$)")),c.namespace=c.namespace||j.join("."),i=d._data(this,"events"),f=(i||{})[c.type];if(i&&f){f=f.slice(0);for(var l=0,m=f.length;l-1?d.map(a.options,function(a){return a.selected}).join("-"):"":a.nodeName.toLowerCase()==="select"&&(c=a.selectedIndex);return c},B=function B(a){var c=a.target,e,f;if(q.test(c.nodeName)&&!c.readOnly){e=d._data(c,"_change_data"),f=A(c),(a.type!=="focusout"||c.type!=="radio")&&d._data(c,"_change_data",f);if(e===b||f===e)return;if(e!=null||f)a.type="change",a.liveFired=b,d.event.trigger(a,arguments[1],c)}};d.event.special.change={filters:{focusout:B,beforedeactivate:B,click:function(a){var b=a.target,c=b.type;(c==="radio"||c==="checkbox"||b.nodeName.toLowerCase()==="select")&&B.call(this,a)},keydown:function(a){var b=a.target,c=b.type;(a.keyCode===13&&b.nodeName.toLowerCase()!=="textarea"||a.keyCode===32&&(c==="checkbox"||c==="radio")||c==="select-multiple")&&B.call(this,a)},beforeactivate:function(a){var b=a.target;d._data(b,"_change_data",A(b))}},setup:function(a,b){if(this.type==="file")return!1;for(var c in z)d.event.add(this,c+".specialChange",z[c]);return q.test(this.nodeName)},teardown:function(a){d.event.remove(this,".specialChange");return q.test(this.nodeName)}},z=d.event.special.change.filters,z.focus=z.beforeactivate}c.addEventListener&&d.each({focus:"focusin",blur:"focusout"},function(a,b){function c(a){a=d.event.fix(a),a.type=b;return d.event.handle.call(this,a)}d.event.special[b]={setup:function(){this.addEventListener(a,c,!0)},teardown:function(){this.removeEventListener(a,c,!0)}}}),d.each(["bind","one"],function(a,c){d.fn[c]=function(a,e,f){if(typeof a==="object"){for(var g in a)this[c](g,e,a[g],f);return this}if(d.isFunction(e)||e===!1)f=e,e=b;var h=c==="one"?d.proxy(f,function(a){d(this).unbind(a,h);return f.apply(this,arguments)}):f;if(a==="unload"&&c!=="one")this.one(a,e,f);else for(var i=0,j=this.length;i0?this.bind(b,a,c):this.trigger(b)},d.attrFn&&(d.attrFn[b]=!0)}),function(){function u(a,b,c,d,e,f){for(var g=0,h=d.length;g0){j=i;break}}i=i[a]}d[g]=j}}}function t(a,b,c,d,e,f){for(var g=0,h=d.length;g+~,(\[\\]+)+|[>+~])(\s*,\s*)?((?:.|\r|\n)*)/g,e=0,f=Object.prototype.toString,g=!1,h=!0,i=/\\/g,j=/\W/;[0,0].sort(function(){h=!1;return 0});var k=function(b,d,e,g){e=e||[],d=d||c;var h=d;if(d.nodeType!==1&&d.nodeType!==9)return[];if(!b||typeof b!=="string")return e;var i,j,n,o,q,r,s,t,u=!0,w=k.isXML(d),x=[],y=b;do{a.exec(""),i=a.exec(y);if(i){y=i[3],x.push(i[1]);if(i[2]){o=i[3];break}}}while(i);if(x.length>1&&m.exec(b))if(x.length===2&&l.relative[x[0]])j=v(x[0]+x[1],d);else{j=l.relative[x[0]]?[d]:k(x.shift(),d);while(x.length)b=x.shift(),l.relative[b]&&(b+=x.shift()),j=v(b,j)}else{!g&&x.length>1&&d.nodeType===9&&!w&&l.match.ID.test(x[0])&&!l.match.ID.test(x[x.length-1])&&(q=k.find(x.shift(),d,w),d=q.expr?k.filter(q.expr,q.set)[0]:q.set[0]);if(d){q=g?{expr:x.pop(),set:p(g)}:k.find(x.pop(),x.length===1&&(x[0]==="~"||x[0]==="+")&&d.parentNode?d.parentNode:d,w),j=q.expr?k.filter(q.expr,q.set):q.set,x.length>0?n=p(j):u=!1;while(x.length)r=x.pop(),s=r,l.relative[r]?s=x.pop():r="",s==null&&(s=d),l.relative[r](n,s,w)}else n=x=[]}n||(n=j),n||k.error(r||b);if(f.call(n)==="[object Array]")if(u)if(d&&d.nodeType===1)for(t=0;n[t]!=null;t++)n[t]&&(n[t]===!0||n[t].nodeType===1&&k.contains(d,n[t]))&&e.push(j[t]);else for(t=0;n[t]!=null;t++)n[t]&&n[t].nodeType===1&&e.push(j[t]);else e.push.apply(e,n);else p(n,e);o&&(k(o,h,e,g),k.uniqueSort(e));return e};k.uniqueSort=function(a){if(r){g=h,a.sort(r);if(g)for(var b=1;b0},k.find=function(a,b,c){var d;if(!a)return[];for(var e=0,f=l.order.length;e":function(a,b){var c,d=typeof b==="string",e=0,f=a.length;if(d&&!j.test(b)){b=b.toLowerCase();for(;e=0)?c||d.push(h):c&&(b[g]=!1));return!1},ID:function(a){return a[1].replace(i,"")},TAG:function(a,b){return a[1].replace(i,"").toLowerCase()},CHILD:function(a){if(a[1]==="nth"){a[2]||k.error(a[0]),a[2]=a[2].replace(/^\+|\s*/g,"");var b=/(-?)(\d*)(?:n([+\-]?\d*))?/.exec(a[2]==="even"&&"2n"||a[2]==="odd"&&"2n+1"||!/\D/.test(a[2])&&"0n+"+a[2]||a[2]);a[2]=b[1]+(b[2]||1)-0,a[3]=b[3]-0}else a[2]&&k.error(a[0]);a[0]=e++;return a},ATTR:function(a,b,c,d,e,f){var g=a[1]=a[1].replace(i,"");!f&&l.attrMap[g]&&(a[1]=l.attrMap[g]),a[4]=(a[4]||a[5]||"").replace(i,""),a[2]==="~="&&(a[4]=" "+a[4]+" ");return a},PSEUDO:function(b,c,d,e,f){if(b[1]==="not")if((a.exec(b[3])||"").length>1||/^\w/.test(b[3]))b[3]=k(b[3],null,null,c);else{var g=k.filter(b[3],c,d,!0^f);d||e.push.apply(e,g);return!1}else if(l.match.POS.test(b[0])||l.match.CHILD.test(b[0]))return!0;return b},POS:function(a){a.unshift(!0);return a}},filters:{enabled:function(a){return a.disabled===!1&&a.type!=="hidden"},disabled:function(a){return a.disabled===!0},checked:function(a){return a.checked===!0},selected:function(a){a.parentNode&&a.parentNode.selectedIndex;return a.selected===!0},parent:function(a){return!!a.firstChild},empty:function(a){return!a.firstChild},has:function(a,b,c){return!!k(c[3],a).length},header:function(a){return/h\d/i.test(a.nodeName)},text:function(a){return"text"===a.getAttribute("type")},radio:function(a){return"radio"===a.type},checkbox:function(a){return"checkbox"===a.type},file:function(a){return"file"===a.type},password:function(a){return"password"===a.type},submit:function(a){return"submit"===a.type},image:function(a){return"image"===a.type},reset:function(a){return"reset"===a.type},button:function(a){return"button"===a.type||a.nodeName.toLowerCase()==="button"},input:function(a){return/input|select|textarea|button/i.test(a.nodeName)}},setFilters:{first:function(a,b){return b===0},last:function(a,b,c,d){return b===d.length-1},even:function(a,b){return b%2===0},odd:function(a,b){return b%2===1},lt:function(a,b,c){return bc[3]-0},nth:function(a,b,c){return c[3]-0===b},eq:function(a,b,c){return c[3]-0===b}},filter:{PSEUDO:function(a,b,c,d){var e=b[1],f=l.filters[e];if(f)return f(a,c,b,d);if(e==="contains")return(a.textContent||a.innerText||k.getText([a])||"").indexOf(b[3])>=0;if(e==="not"){var g=b[3];for(var h=0,i=g.length;h=0}},ID:function(a,b){return a.nodeType===1&&a.getAttribute("id")===b},TAG:function(a,b){return b==="*"&&a.nodeType===1||a.nodeName.toLowerCase()===b},CLASS:function(a,b){return(" "+(a.className||a.getAttribute("class"))+" ").indexOf(b)>-1},ATTR:function(a,b){var c=b[1],d=l.attrHandle[c]?l.attrHandle[c](a):a[c]!=null?a[c]:a.getAttribute(c),e=d+"",f=b[2],g=b[4];return d==null?f==="!=":f==="="?e===g:f==="*="?e.indexOf(g)>=0:f==="~="?(" "+e+" ").indexOf(g)>=0:g?f==="!="?e!==g:f==="^="?e.indexOf(g)===0:f==="$="?e.substr(e.length-g.length)===g:f==="|="?e===g||e.substr(0,g.length+1)===g+"-":!1:e&&d!==!1},POS:function(a,b,c,d){var e=b[2],f=l.setFilters[e];if(f)return f(a,c,b,d)}}},m=l.match.POS,n=function(a,b){return"\\"+(b-0+1)};for(var o in l.match)l.match[o]=new RegExp(l.match[o].source+/(?![^\[]*\])(?![^\(]*\))/.source),l.leftMatch[o]=new RegExp(/(^(?:.|\r|\n)*?)/.source+l.match[o].source.replace(/\\(\d+)/g,n));var p=function(a,b){a=Array.prototype.slice.call(a,0);if(b){b.push.apply(b,a);return b}return a};try{Array.prototype.slice.call(c.documentElement.childNodes,0)[0].nodeType}catch(q){p=function(a,b){var c=0,d=b||[];if(f.call(a)==="[object Array]")Array.prototype.push.apply(d,a);else if(typeof a.length==="number")for(var e=a.length;c",e.insertBefore(a,e.firstChild),c.getElementById(d)&&(l.find.ID=function(a,c,d){if(typeof c.getElementById!=="undefined"&&!d){var e=c.getElementById(a[1]);return e?e.id===a[1]||typeof e.getAttributeNode!=="undefined"&&e.getAttributeNode("id").nodeValue===a[1]?[e]:b:[]}},l.filter.ID=function(a,b){var c=typeof a.getAttributeNode!=="undefined"&&a.getAttributeNode("id");return a.nodeType===1&&c&&c.nodeValue===b}),e.removeChild(a),e=a=null}(),function(){var a=c.createElement("div");a.appendChild(c.createComment("")),a.getElementsByTagName("*").length>0&&(l.find.TAG=function(a,b){var c=b.getElementsByTagName(a[1]);if(a[1]==="*"){var d=[];for(var e=0;c[e];e++)c[e].nodeType===1&&d.push(c[e]);c=d}return c}),a.innerHTML="",a.firstChild&&typeof a.firstChild.getAttribute!=="undefined"&&a.firstChild.getAttribute("href")!=="#"&&(l.attrHandle.href=function(a){return a.getAttribute("href",2)}),a=null}(),c.querySelectorAll&&function(){var a=k,b=c.createElement("div"),d="__sizzle__";b.innerHTML="

    ";if(!b.querySelectorAll||b.querySelectorAll(".TEST").length!==0){k=function(b,e,f,g){e=e||c;if(!g&&!k.isXML(e)){var h=/^(\w+$)|^\.([\w\-]+$)|^#([\w\-]+$)/.exec(b);if(h&&(e.nodeType===1||e.nodeType===9)){if(h[1])return p(e.getElementsByTagName(b),f);if(h[2]&&l.find.CLASS&&e.getElementsByClassName)return p(e.getElementsByClassName(h[2]),f)}if(e.nodeType===9){if(b==="body"&&e.body)return p([e.body],f);if(h&&h[3]){var i=e.getElementById(h[3]);if(!i||!i.parentNode)return p([],f);if(i.id===h[3])return p([i],f)}try{return p(e.querySelectorAll(b),f)}catch(j){}}else if(e.nodeType===1&&e.nodeName.toLowerCase()!=="object"){var m=e,n=e.getAttribute("id"),o=n||d,q=e.parentNode,r=/^\s*[+~]/.test(b);n?o=o.replace(/'/g,"\\$&"):e.setAttribute("id",o),r&&q&&(e=e.parentNode);try{if(!r||q)return p(e.querySelectorAll("[id='"+o+"'] "+b),f)}catch(s){}finally{n||m.removeAttribute("id")}}}return a(b,e,f,g)};for(var e in a)k[e]=a[e];b=null}}(),function(){var a=c.documentElement,b=a.matchesSelector||a.mozMatchesSelector||a.webkitMatchesSelector||a.msMatchesSelector,d=!1;try{b.call(c.documentElement,"[test!='']:sizzle")}catch(e){d=!0}b&&(k.matchesSelector=function(a,c){c=c.replace(/\=\s*([^'"\]]*)\s*\]/g,"='$1']");if(!k.isXML(a))try{if(d||!l.match.PSEUDO.test(c)&&!/!=/.test(c))return b.call(a,c)}catch(e){}return k(c,null,null,[a]).length>0})}(),function(){var a=c.createElement("div");a.innerHTML="
    ";if(a.getElementsByClassName&&a.getElementsByClassName("e").length!==0){a.lastChild.className="e";if(a.getElementsByClassName("e").length===1)return;l.order.splice(1,0,"CLASS"),l.find.CLASS=function(a,b,c){if(typeof b.getElementsByClassName!=="undefined"&&!c)return b.getElementsByClassName(a[1])},a=null}}(),c.documentElement.contains?k.contains=function(a,b){return a!==b&&(a.contains?a.contains(b):!0)}:c.documentElement.compareDocumentPosition?k.contains=function(a,b){return!!(a.compareDocumentPosition(b)&16)}:k.contains=function(){return!1},k.isXML=function(a){var b=(a?a.ownerDocument||a:0).documentElement;return b?b.nodeName!=="HTML":!1};var v=function(a,b){var c,d=[],e="",f=b.nodeType?[b]:b;while(c=l.match.PSEUDO.exec(a))e+=c[0],a=a.replace(l.match.PSEUDO,"");a=l.relative[a]?a+"*":a;for(var g=0,h=f.length;g0)for(var g=c;g0},closest:function(a,b){var c=[],e,f,g=this[0];if(d.isArray(a)){var h,i,j={},k=1;if(g&&a.length){for(e=0,f=a.length;e-1:d(g).is(h))&&c.push({selector:i,elem:g,level:k});g=g.parentNode,k++}}return c}var l=L.test(a)?d(a,b||this.context):null;for(e=0,f=this.length;e-1:d.find.matchesSelector(g,a)){c.push(g);break}g=g.parentNode;if(!g||!g.ownerDocument||g===b)break}}c=c.length>1?d.unique(c):c;return this.pushStack(c,"closest",a)},index:function(a){if(!a||typeof a==="string")return d.inArray(this[0],a?d(a):this.parent().children());return d.inArray(a.jquery?a[0]:a,this)},add:function(a,b){var c=typeof a==="string"?d(a,b):d.makeArray(a),e=d.merge(this.get(),c);return this.pushStack(N(c[0])||N(e[0])?e:d.unique(e))},andSelf:function(){return this.add(this.prevObject)}}),d.each({parent:function(a){var b=a.parentNode;return b&&b.nodeType!==11?b:null},parents:function(a){return d.dir(a,"parentNode")},parentsUntil:function(a,b,c){return d.dir(a,"parentNode",c)},next:function(a){return d.nth(a,2,"nextSibling")},prev:function(a){return d.nth(a,2,"previousSibling")},nextAll:function(a){return d.dir(a,"nextSibling")},prevAll:function(a){return d.dir(a,"previousSibling")},nextUntil:function(a,b,c){return d.dir(a,"nextSibling",c)},prevUntil:function(a,b,c){return d.dir(a,"previousSibling",c)},siblings:function(a){return d.sibling(a.parentNode.firstChild,a)},children:function(a){return d.sibling(a.firstChild)},contents:function(a){return d.nodeName(a,"iframe")?a.contentDocument||a.contentWindow.document:d.makeArray(a.childNodes)}},function(a,b){d.fn[a]=function(c,e){var f=d.map(this,b,c),g=K.call(arguments);G.test(a)||(e=c),e&&typeof e==="string"&&(f=d.filter(e,f)),f=this.length>1&&!M[a]?d.unique(f):f,(this.length>1||I.test(e))&&H.test(a)&&(f=f.reverse());return this.pushStack(f,a,g.join(","))}}),d.extend({filter:function(a,b,c){c&&(a=":not("+a+")");return b.length===1?d.find.matchesSelector(b[0],a)?[b[0]]:[]:d.find.matches(a,b)},dir:function(a,c,e){var f=[],g=a[c];while(g&&g.nodeType!==9&&(e===b||g.nodeType!==1||!d(g).is(e)))g.nodeType===1&&f.push(g),g=g[c];return f},nth:function(a,b,c,d){b=b||1;var e=0;for(;a;a=a[c])if(a.nodeType===1&&++e===b)break;return a},sibling:function(a,b){var c=[];for(;a;a=a.nextSibling)a.nodeType===1&&a!==b&&c.push(a);return c}});var P=/ jQuery\d+="(?:\d+|null)"/g,Q=/^\s+/,R=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/ig,S=/<([\w:]+)/,T=/",""],legend:[1,"
    ","
    "],thead:[1,"","
    "],tr:[2,"","
    "],td:[3,"","
    "],col:[2,"","
    "],area:[1,"",""],_default:[0,"",""]};X.optgroup=X.option,X.tbody=X.tfoot=X.colgroup=X.caption=X.thead,X.th=X.td,d.support.htmlSerialize||(X._default=[1,"div
    ","
    "]),d.fn.extend({text:function(a){if(d.isFunction(a))return this.each(function(b){var c=d(this);c.text(a.call(this,b,c.text()))});if(typeof a!=="object"&&a!==b)return this.empty().append((this[0]&&this[0].ownerDocument||c).createTextNode(a));return d.text(this)},wrapAll:function(a){if(d.isFunction(a))return this.each(function(b){d(this).wrapAll(a.call(this,b))});if(this[0]){var b=d(a,this[0].ownerDocument).eq(0).clone(!0);this[0].parentNode&&b.insertBefore(this[0]),b.map(function(){var a=this;while(a.firstChild&&a.firstChild.nodeType===1)a=a.firstChild;return a}).append(this)}return this},wrapInner:function(a){if(d.isFunction(a))return this.each(function(b){d(this).wrapInner(a.call(this,b))});return this.each(function(){var b=d(this),c=b.contents();c.length?c.wrapAll(a):b.append(a)})},wrap:function(a){return this.each(function(){d(this).wrapAll(a)})},unwrap:function(){return this.parent().each(function(){d.nodeName(this,"body")||d(this).replaceWith(this.childNodes)}).end()},append:function(){return this.domManip(arguments,!0,function(a){this.nodeType===1&&this.appendChild(a)})},prepend:function(){return this.domManip(arguments,!0,function(a){this.nodeType===1&&this.insertBefore(a,this.firstChild)})},before:function(){if(this[0]&&this[0].parentNode)return this.domManip(arguments,!1,function(a){this.parentNode.insertBefore(a,this)});if(arguments.length){var a=d(arguments[0]);a.push.apply(a,this.toArray());return this.pushStack(a,"before",arguments)}},after:function(){if(this[0]&&this[0].parentNode)return this.domManip(arguments,!1,function(a){this.parentNode.insertBefore(a,this.nextSibling)});if(arguments.length){var a=this.pushStack(this,"after",arguments);a.push.apply(a,d(arguments[0]).toArray());return a}},remove:function(a,b){for(var c=0,e;(e=this[c])!=null;c++)if(!a||d.filter(a,[e]).length)!b&&e.nodeType===1&&(d.cleanData(e.getElementsByTagName("*")),d.cleanData([e])),e.parentNode&&e.parentNode.removeChild(e);return this},empty:function(){for(var a=0,b;(b=this[a])!=null;a++){b.nodeType===1&&d.cleanData(b.getElementsByTagName("*"));while(b.firstChild)b.removeChild(b.firstChild)}return this},clone:function(a,b){a=a==null?!1:a,b=b==null?a:b;return this.map(function(){return d.clone(this,a,b)})},html:function(a){if(a===b)return this[0]&&this[0].nodeType===1?this[0].innerHTML.replace(P,""):null;if(typeof a!=="string"||V.test(a)||!d.support.leadingWhitespace&&Q.test(a)||X[(S.exec(a)||["",""])[1].toLowerCase()])d.isFunction(a)?this.each(function(b){var c=d(this);c.html(a.call(this,b,c.html()))}):this.empty().append(a);else{a=a.replace(R,"<$1>");try{for(var c=0,e=this.length;c1&&l0?this.clone(!0):this).get();d(f[h])[b](j),e=e.concat(j)}return this.pushStack(e,a,f.selector)}}),d.extend({clone:function(a,b,c){var e=a.cloneNode(!0),f,g,h;if((!d.support.noCloneEvent||!d.support.noCloneChecked)&&(a.nodeType===1||a.nodeType===11)&&!d.isXMLDoc(a)){$(a,e),f=_(a),g=_(e);for(h=0;f[h];++h)$(f[h],g[h])}if(b){Z(a,e);if(c){f=_(a),g=_(e);for(h=0;f[h];++h)Z(f[h],g[h])}}return e},clean:function(a,b,e,f){b=b||c,typeof b.createElement==="undefined"&&(b=b.ownerDocument||b[0]&&b[0].ownerDocument||c);var g=[];for(var h=0,i;(i=a[h])!=null;h++){typeof i==="number"&&(i+="");if(!i)continue;if(typeof i!=="string"||U.test(i)){if(typeof i==="string"){i=i.replace(R,"<$1>");var j=(S.exec(i)||["",""])[1].toLowerCase(),k=X[j]||X._default,l=k[0],m=b.createElement("div");m.innerHTML=k[1]+i+k[2];while(l--)m=m.lastChild;if(!d.support.tbody){var n=T.test(i),o=j==="table"&&!n?m.firstChild&&m.firstChild.childNodes:k[1]===""&&!n?m.childNodes:[];for(var p=o.length-1;p>=0;--p)d.nodeName(o[p],"tbody")&&!o[p].childNodes.length&&o[p].parentNode.removeChild(o[p])}!d.support.leadingWhitespace&&Q.test(i)&&m.insertBefore(b.createTextNode(Q.exec(i)[0]),m.firstChild),i=m.childNodes}}else i=b.createTextNode(i);i.nodeType?g.push(i):g=d.merge(g,i)}if(e)for(h=0;g[h];h++)!f||!d.nodeName(g[h],"script")||g[h].type&&g[h].type.toLowerCase()!=="text/javascript"?(g[h].nodeType===1&&g.splice.apply(g,[h+1,0].concat(d.makeArray(g[h].getElementsByTagName("script")))),e.appendChild(g[h])):f.push(g[h].parentNode?g[h].parentNode.removeChild(g[h]):g[h]);return g},cleanData:function(a){var b,c,e=d.cache,f=d.expando,g=d.event.special,h=d.support.deleteExpando;for(var i=0,j;(j=a[i])!=null;i++){if(j.nodeName&&d.noData[j.nodeName.toLowerCase()])continue;c=j[d.expando];if(c){b=e[c]&&e[c][f];if(b&&b.events){for(var k in b.events)g[k]?d.event.remove(j,k):d.removeEvent(j,k,b.handle);b.handle&&(b.handle.elem=null)}h?delete j[d.expando]:j.removeAttribute&&j.removeAttribute(d.expando),delete e[c]}}}});var bb=/alpha\([^)]*\)/i,bc=/opacity=([^)]*)/,bd=/-([a-z])/ig,be=/([A-Z])/g,bf=/^-?\d+(?:px)?$/i,bg=/^-?\d/,bh={position:"absolute",visibility:"hidden",display:"block"},bi=["Left","Right"],bj=["Top","Bottom"],bk,bl,bm,bn=function(a,b){return b.toUpperCase()};d.fn.css=function(a,c){if(arguments.length===2&&c===b)return this;return d.access(this,a,c,!0,function(a,c,e){return e!==b?d.style(a,c,e):d.css(a,c)})},d.extend({cssHooks:{opacity:{get:function(a,b){if(b){var c=bk(a,"opacity","opacity");return c===""?"1":c}return a.style.opacity}}},cssNumber:{zIndex:!0,fontWeight:!0,opacity:!0,zoom:!0,lineHeight:!0},cssProps:{"float":d.support.cssFloat?"cssFloat":"styleFloat"},style:function(a,c,e,f){if(a&&a.nodeType!==3&&a.nodeType!==8&&a.style){var g,h=d.camelCase(c),i=a.style,j=d.cssHooks[h];c=d.cssProps[h]||h;if(e===b){if(j&&"get"in j&&(g=j.get(a,!1,f))!==b)return g;return i[c]}if(typeof e==="number"&&isNaN(e)||e==null)return;typeof e==="number"&&!d.cssNumber[h]&&(e+="px");if(!j||!("set"in j)||(e=j.set(a,e))!==b)try{i[c]=e}catch(k){}}},css:function(a,c,e){var f,g=d.camelCase(c),h=d.cssHooks[g];c=d.cssProps[g]||g;if(h&&"get"in h&&(f=h.get(a,!0,e))!==b)return f;if(bk)return bk(a,c,g)},swap:function(a,b,c){var d={};for(var e in b)d[e]=a.style[e],a.style[e]=b[e];c.call(a);for(e in b)a.style[e]=d[e]},camelCase:function(a){return a.replace(bd,bn)}}),d.curCSS=d.css,d.each(["height","width"],function(a,b){d.cssHooks[b]={get:function(a,c,e){var f;if(c){a.offsetWidth!==0?f=bo(a,b,e):d.swap(a,bh,function(){f=bo(a,b,e)});if(f<=0){f=bk(a,b,b),f==="0px"&&bm&&(f=bm(a,b,b));if(f!=null)return f===""||f==="auto"?"0px":f}if(f<0||f==null){f=a.style[b];return f===""||f==="auto"?"0px":f}return typeof f==="string"?f:f+"px"}},set:function(a,b){if(!bf.test(b))return b;b=parseFloat(b);if(b>=0)return b+"px"}}}),d.support.opacity||(d.cssHooks.opacity={get:function(a,b){return bc.test((b&&a.currentStyle?a.currentStyle.filter:a.style.filter)||"")?parseFloat(RegExp.$1)/100+"":b?"1":""},set:function(a,b){var c=a.style;c.zoom=1;var e=d.isNaN(b)?"":"alpha(opacity="+b*100+")",f=c.filter||"";c.filter=bb.test(f)?f.replace(bb,e):c.filter+" "+e}}),c.defaultView&&c.defaultView.getComputedStyle&&(bl=function(a,c,e){var f,g,h;e=e.replace(be,"-$1").toLowerCase();if(!(g=a.ownerDocument.defaultView))return b;if(h=g.getComputedStyle(a,null))f=h.getPropertyValue(e),f===""&&!d.contains(a.ownerDocument.documentElement,a)&&(f=d.style(a,e));return f}),c.documentElement.currentStyle&&(bm=function(a,b){var c,d=a.currentStyle&&a.currentStyle[b],e=a.runtimeStyle&&a.runtimeStyle[b],f=a.style;!bf.test(d)&&bg.test(d)&&(c=f.left,e&&(a.runtimeStyle.left=a.currentStyle.left),f.left=b==="fontSize"?"1em":d||0,d=f.pixelLeft+"px",f.left=c,e&&(a.runtimeStyle.left=e));return d===""?"auto":d}),bk=bl||bm,d.expr&&d.expr.filters&&(d.expr.filters.hidden=function(a){var b=a.offsetWidth,c=a.offsetHeight;return b===0&&c===0||!d.support.reliableHiddenOffsets&&(a.style.display||d.css(a,"display"))==="none"},d.expr.filters.visible=function(a){return!d.expr.filters.hidden(a)});var bp=/%20/g,bq=/\[\]$/,br=/\r?\n/g,bs=/#.*$/,bt=/^(.*?):[ \t]*([^\r\n]*)\r?$/mg,bu=/^(?:color|date|datetime|email|hidden|month|number|password|range|search|tel|text|time|url|week)$/i,bv=/(?:^file|^widget|\-extension):$/,bw=/^(?:GET|HEAD)$/,bx=/^\/\//,by=/\?/,bz=/)<[^<]*)*<\/script>/gi,bA=/^(?:select|textarea)/i,bB=/\s+/,bC=/([?&])_=[^&]*/,bD=/(^|\-)([a-z])/g,bE=function(a,b,c){return b+c.toUpperCase()},bF=/^([\w\+\.\-]+:)\/\/([^\/?#:]*)(?::(\d+))?/,bG=d.fn.load,bH={},bI={},bJ,bK;try{bJ=c.location.href}catch(bL){bJ=c.createElement("a"),bJ.href="",bJ=bJ.href}bK=bF.exec(bJ.toLowerCase()),d.fn.extend({load:function(a,c,e){if(typeof a!=="string"&&bG)return bG.apply(this,arguments);if(!this.length)return this;var f=a.indexOf(" ");if(f>=0){var g=a.slice(f,a.length);a=a.slice(0,f)}var h="GET";c&&(d.isFunction(c)?(e=c,c=b):typeof c==="object"&&(c=d.param(c,d.ajaxSettings.traditional),h="POST"));var i=this;d.ajax({url:a,type:h,dataType:"html",data:c,complete:function(a,b,c){c=a.responseText,a.isResolved()&&(a.done(function(a){c=a}),i.html(g?d("
    ").append(c.replace(bz,"")).find(g):c)),e&&i.each(e,[c,b,a])}});return this},serialize:function(){return d.param(this.serializeArray())},serializeArray:function(){return this.map(function(){return this.elements?d.makeArray(this.elements):this}).filter(function(){return this.name&&!this.disabled&&(this.checked||bA.test(this.nodeName)||bu.test(this.type))}).map(function(a,b){var c=d(this).val();return c==null?null:d.isArray(c)?d.map(c,function(a,c){return{name:b.name,value:a.replace(br,"\r\n")}}):{name:b.name,value:c.replace(br,"\r\n")}}).get()}}),d.each("ajaxStart ajaxStop ajaxComplete ajaxError ajaxSuccess ajaxSend".split(" "),function(a,b){d.fn[b]=function(a){return this.bind(b,a)}}),d.each(["get","post"],function(a,c){d[c]=function(a,e,f,g){d.isFunction(e)&&(g=g||f,f=e,e=b);return d.ajax({type:c,url:a,data:e,success:f,dataType:g})}}),d.extend({getScript:function(a,c){return d.get(a,b,c,"script")},getJSON:function(a,b,c){return d.get(a,b,c,"json")},ajaxSetup:function(a,b){b?d.extend(!0,a,d.ajaxSettings,b):(b=a,a=d.extend(!0,d.ajaxSettings,b));for(var c in {context:1,url:1})c in b?a[c]=b[c]:c in d.ajaxSettings&&(a[c]=d.ajaxSettings[c]);return a},ajaxSettings:{url:bJ,isLocal:bv.test(bK[1]),global:!0,type:"GET",contentType:"application/x-www-form-urlencoded",processData:!0,async:!0,accepts:{xml:"application/xml, text/xml",html:"text/html",text:"text/plain",json:"application/json, text/javascript","*":"*/*"},contents:{xml:/xml/,html:/html/,json:/json/},responseFields:{xml:"responseXML",text:"responseText"},converters:{"* text":a.String,"text html":!0,"text json":d.parseJSON,"text xml":d.parseXML}},ajaxPrefilter:bM(bH),ajaxTransport:bM(bI),ajax:function(a,c){function v(a,c,l,n){if(r!==2){r=2,p&&clearTimeout(p),o=b,m=n||"",u.readyState=a?4:0;var q,t,v,w=l?bP(e,u,l):b,x,y;if(a>=200&&a<300||a===304){if(e.ifModified){if(x=u.getResponseHeader("Last-Modified"))d.lastModified[k]=x;if(y=u.getResponseHeader("Etag"))d.etag[k]=y}if(a===304)c="notmodified",q=!0;else try{t=bQ(e,w),c="success",q=!0}catch(z){c="parsererror",v=z}}else{v=c;if(!c||a)c="error",a<0&&(a=0)}u.status=a,u.statusText=c,q?h.resolveWith(f,[t,c,u]):h.rejectWith(f,[u,c,v]),u.statusCode(j),j=b,s&&g.trigger("ajax"+(q?"Success":"Error"),[u,e,q?t:v]),i.resolveWith(f,[u,c]),s&&(g.trigger("ajaxComplete",[u,e]),--d.active||d.event.trigger("ajaxStop"))}}typeof a==="object"&&(c=a,a=b),c=c||{};var e=d.ajaxSetup({},c),f=e.context||e,g=f!==e&&(f.nodeType||f instanceof d)?d(f):d.event,h=d.Deferred(),i=d._Deferred(),j=e.statusCode||{},k,l={},m,n,o,p,q,r=0,s,t,u={readyState:0,setRequestHeader:function(a,b){r||(l[a.toLowerCase().replace(bD,bE)]=b);return this},getAllResponseHeaders:function(){return r===2?m:null},getResponseHeader:function(a){var c;if(r===2){if(!n){n={};while(c=bt.exec(m))n[c[1].toLowerCase()]=c[2]}c=n[a.toLowerCase()]}return c===b?null:c},overrideMimeType:function(a){r||(e.mimeType=a);return this},abort:function(a){a=a||"abort",o&&o.abort(a),v(0,a);return this}};h.promise(u),u.success=u.done,u.error=u.fail,u.complete=i.done,u.statusCode=function(a){if(a){var b;if(r<2)for(b in a)j[b]=[j[b],a[b]];else b=a[u.status],u.then(b,b)}return this},e.url=((a||e.url)+"").replace(bs,"").replace(bx,bK[1]+"//"),e.dataTypes=d.trim(e.dataType||"*").toLowerCase().split(bB),e.crossDomain||(q=bF.exec(e.url.toLowerCase()),e.crossDomain=q&&(q[1]!=bK[1]||q[2]!=bK[2]||(q[3]||(q[1]==="http:"?80:443))!=(bK[3]||(bK[1]==="http:"?80:443)))),e.data&&e.processData&&typeof e.data!=="string"&&(e.data=d.param(e.data,e.traditional)),bN(bH,e,c,u);if(r===2)return!1;s=e.global,e.type=e.type.toUpperCase(),e.hasContent=!bw.test(e.type),s&&d.active++===0&&d.event.trigger("ajaxStart");if(!e.hasContent){e.data&&(e.url+=(by.test(e.url)?"&":"?")+e.data),k=e.url;if(e.cache===!1){var w=d.now(),x=e.url.replace(bC,"$1_="+w);e.url=x+(x===e.url?(by.test(e.url)?"&":"?")+"_="+w:"")}}if(e.data&&e.hasContent&&e.contentType!==!1||c.contentType)l["Content-Type"]=e.contentType;e.ifModified&&(k=k||e.url,d.lastModified[k]&&(l["If-Modified-Since"]=d.lastModified[k]),d.etag[k]&&(l["If-None-Match"]=d.etag[k])),l.Accept=e.dataTypes[0]&&e.accepts[e.dataTypes[0]]?e.accepts[e.dataTypes[0]]+(e.dataTypes[0]!=="*"?", */*; q=0.01":""):e.accepts["*"];for(t in e.headers)u.setRequestHeader(t,e.headers[t]);if(e.beforeSend&&(e.beforeSend.call(f,u,e)===!1||r===2)){u.abort();return!1}for(t in {success:1,error:1,complete:1})u[t](e[t]);o=bN(bI,e,c,u);if(o){u.readyState=1,s&&g.trigger("ajaxSend",[u,e]),e.async&&e.timeout>0&&(p=setTimeout(function(){u.abort("timeout")},e.timeout));try{r=1,o.send(l,v)}catch(y){status<2?v(-1,y):d.error(y)}}else v(-1,"No Transport");return u},param:function(a,c){var e=[],f=function(a,b){b=d.isFunction(b)?b():b,e[e.length]=encodeURIComponent(a)+"="+encodeURIComponent(b)};c===b&&(c=d.ajaxSettings.traditional);if(d.isArray(a)||a.jquery&&!d.isPlainObject(a))d.each(a,function(){f(this.name,this.value)});else for(var g in a)bO(g,a[g],c,f);return e.join("&").replace(bp,"+")}}),d.extend({active:0,lastModified:{},etag:{}});var bR=d.now(),bS=/(\=)\?(&|$)|()\?\?()/i;d.ajaxSetup({jsonp:"callback",jsonpCallback:function(){return d.expando+"_"+bR++}}),d.ajaxPrefilter("json jsonp",function(b,c,e){var f=typeof b.data==="string";if(b.dataTypes[0]==="jsonp"||c.jsonpCallback||c.jsonp!=null||b.jsonp!==!1&&(bS.test(b.url)||f&&bS.test(b.data))){var g,h=b.jsonpCallback=d.isFunction(b.jsonpCallback)?b.jsonpCallback():b.jsonpCallback,i=a[h],j=b.url,k=b.data,l="$1"+h+"$2",m=function(){a[h]=i,g&&d.isFunction(i)&&a[h](g[0])};b.jsonp!==!1&&(j=j.replace(bS,l),b.url===j&&(f&&(k=k.replace(bS,l)),b.data===k&&(j+=(/\?/.test(j)?"&":"?")+b.jsonp+"="+h))),b.url=j,b.data=k,a[h]=function(a){g=[a]},e.then(m,m),b.converters["script json"]=function(){g||d.error(h+" was not called");return g[0]},b.dataTypes[0]="json";return"script"}}),d.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/javascript|ecmascript/},converters:{"text script":function(a){d.globalEval(a);return a}}}),d.ajaxPrefilter("script",function(a){a.cache===b&&(a.cache=!1),a.crossDomain&&(a.type="GET",a.global=!1)}),d.ajaxTransport("script",function(a){if(a.crossDomain){var d,e=c.head||c.getElementsByTagName("head")[0]||c.documentElement;return{send:function(f,g){d=c.createElement("script"),d.async="async",a.scriptCharset&&(d.charset=a.scriptCharset),d.src=a.url,d.onload=d.onreadystatechange=function(a,c){if(!d.readyState||/loaded|complete/.test(d.readyState))d.onload=d.onreadystatechange=null,e&&d.parentNode&&e.removeChild(d),d=b,c||g(200,"success")},e.insertBefore(d,e.firstChild)},abort:function(){d&&d.onload(0,1)}}}});var bT=d.now(),bU,bV;d.ajaxSettings.xhr=a.ActiveXObject?function(){return!this.isLocal&&bX()||bY()}:bX,bV=d.ajaxSettings.xhr(),d.support.ajax=!!bV,d.support.cors=bV&&"withCredentials"in bV,bV=b,d.support.ajax&&d.ajaxTransport(function(a){if(!a.crossDomain||d.support.cors){var c;return{send:function(e,f){var g=a.xhr(),h,i;a.username?g.open(a.type,a.url,a.async,a.username,a.password):g.open(a.type,a.url,a.async);if(a.xhrFields)for(i in a.xhrFields)g[i]=a.xhrFields[i];a.mimeType&&g.overrideMimeType&&g.overrideMimeType(a.mimeType),(!a.crossDomain||a.hasContent)&&!e["X-Requested-With"]&&(e["X-Requested-With"]="XMLHttpRequest");try{for(i in e)g.setRequestHeader(i,e[i])}catch(j){}g.send(a.hasContent&&a.data||null),c=function(e,i){var j,k,l,m,n;try{if(c&&(i||g.readyState===4)){c=b,h&&(g.onreadystatechange=d.noop,delete bU[h]);if(i)g.readyState!==4&&g.abort();else{j=g.status,l=g.getAllResponseHeaders(),m={},n=g.responseXML,n&&n.documentElement&&(m.xml=n),m.text=g.responseText;try{k=g.statusText}catch(o){k=""}j||!a.isLocal||a.crossDomain?j===1223&&(j=204):j=m.text?200:404}}}catch(p){i||f(-1,p)}m&&f(j,k,m,l)},a.async&&g.readyState!==4?(bU||(bU={},bW()),h=bT++,g.onreadystatechange=bU[h]=c):c()},abort:function(){c&&c(0,1)}}}});var bZ={},b$=/^(?:toggle|show|hide)$/,b_=/^([+\-]=)?([\d+.\-]+)([a-z%]*)$/i,ca,cb=[["height","marginTop","marginBottom","paddingTop","paddingBottom"],["width","marginLeft","marginRight","paddingLeft","paddingRight"],["opacity"]];d.fn.extend({show:function(a,b,c){var e,f;if(a||a===0)return this.animate(cc("show",3),a,b,c);for(var g=0,h=this.length;g=0;a--)c[a].elem===this&&(b&&c[a](!0),c.splice(a,1))}),b||this.dequeue();return this}}),d.each({slideDown:cc("show",1),slideUp:cc("hide",1),slideToggle:cc("toggle",1),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"},fadeToggle:{opacity:"toggle"}},function(a,b){d.fn[a]=function(a,c,d){return this.animate(b,a,c,d)}}),d.extend({speed:function(a,b,c){var e=a&&typeof a==="object"?d.extend({},a):{complete:c||!c&&b||d.isFunction(a)&&a,duration:a,easing:c&&b||b&&!d.isFunction(b)&&b};e.duration=d.fx.off?0:typeof e.duration==="number"?e.duration:e.duration in d.fx.speeds?d.fx.speeds[e.duration]:d.fx.speeds._default,e.old=e.complete,e.complete=function(){e.queue!==!1&&d(this).dequeue(),d.isFunction(e.old)&&e.old.call(this)};return e},easing:{linear:function(a,b,c,d){return c+d*a},swing:function(a,b,c,d){return(-Math.cos(a*Math.PI)/2+.5)*d+c}},timers:[],fx:function(a,b,c){this.options=b,this.elem=a,this.prop=c,b.orig||(b.orig={})}}),d.fx.prototype={update:function(){this.options.step&&this.options.step.call(this.elem,this.now,this),(d.fx.step[this.prop]||d.fx.step._default)(this)},cur:function(){if(this.elem[this.prop]!=null&&(!this.elem.style||this.elem.style[this.prop]==null))return this.elem[this.prop];var a,b=d.css(this.elem,this.prop);return isNaN(a=parseFloat(b))?!b||b==="auto"?0:b:a},custom:function(a,b,c){function g(a){return e.step(a)}var e=this,f=d.fx;this.startTime=d.now(),this.start=a,this.end=b,this.unit=c||this.unit||(d.cssNumber[this.prop]?"":"px"),this.now=this.start,this.pos=this.state=0,g.elem=this.elem,g()&&d.timers.push(g)&&!ca&&(ca=setInterval(f.tick,f.interval))},show:function(){this.options.orig[this.prop]=d.style(this.elem,this.prop),this.options.show=!0,this.custom(this.prop==="width"||this.prop==="height"?1:0,this.cur()),d(this.elem).show()},hide:function(){this.options.orig[this.prop]=d.style(this.elem,this.prop),this.options.hide=!0,this.custom(this.cur(),0)},step:function(a){var b=d.now(),c=!0;if(a||b>=this.options.duration+this.startTime){this.now=this.end,this.pos=this.state=1,this.update(),this.options.curAnim[this.prop]=!0;for(var e in this.options.curAnim)this.options.curAnim[e]!==!0&&(c=!1);if(c){if(this.options.overflow!=null&&!d.support.shrinkWrapBlocks){var f=this.elem,g=this.options;d.each(["","X","Y"],function(a,b){f.style["overflow"+b]=g.overflow[a]})}this.options.hide&&d(this.elem).hide();if(this.options.hide||this.options.show)for(var h in this.options.curAnim)d.style(this.elem,h,this.options.orig[h]);this.options.complete.call(this.elem)}return!1}var i=b-this.startTime;this.state=i/this.options.duration;var j=this.options.specialEasing&&this.options.specialEasing[this.prop],k=this.options.easing||(d.easing.swing?"swing":"linear");this.pos=d.easing[j||k](this.state,i,0,1,this.options.duration),this.now=this.start+(this.end-this.start)*this.pos,this.update();return!0}},d.extend(d.fx,{tick:function(){var a=d.timers;for(var b=0;b
    ";d.extend(b.style,{position:"absolute",top:0,left:0,margin:0,border:0,width:"1px",height:"1px",visibility:"hidden"}),b.innerHTML=j,a.insertBefore(b,a.firstChild),e=b.firstChild,f=e.firstChild,h=e.nextSibling.firstChild.firstChild,this.doesNotAddBorder=f.offsetTop!==5,this.doesAddBorderForTableAndCells=h.offsetTop===5,f.style.position="fixed",f.style.top="20px",this.supportsFixedPosition=f.offsetTop===20||f.offsetTop===15,f.style.position=f.style.top="",e.style.overflow="hidden",e.style.position="relative",this.subtractsBorderForOverflowNotVisible=f.offsetTop===-5,this.doesNotIncludeMarginInBodyOffset=a.offsetTop!==i,a.removeChild(b),a=b=e=f=g=h=null,d.offset.initialize=d.noop},bodyOffset:function(a){var b=a.offsetTop,c=a.offsetLeft;d.offset.initialize(),d.offset.doesNotIncludeMarginInBodyOffset&&(b+=parseFloat(d.css(a,"marginTop"))||0,c+=parseFloat(d.css(a,"marginLeft"))||0);return{top:b,left:c}},setOffset:function(a,b,c){var e=d.css(a,"position");e==="static"&&(a.style.position="relative");var f=d(a),g=f.offset(),h=d.css(a,"top"),i=d.css(a,"left"),j=e==="absolute"&&d.inArray("auto",[h,i])>-1,k={},l={},m,n;j&&(l=f.position()),m=j?l.top:parseInt(h,10)||0,n=j?l.left:parseInt(i,10)||0,d.isFunction(b)&&(b=b.call(a,c,g)),b.top!=null&&(k.top=b.top-g.top+m),b.left!=null&&(k.left=b.left-g.left+n),"using"in b?b.using.call(a,k):f.css(k)}},d.fn.extend({position:function(){if(!this[0])return null;var a=this[0],b=this.offsetParent(),c=this.offset(),e=cf.test(b[0].nodeName)?{top:0,left:0}:b.offset();c.top-=parseFloat(d.css(a,"marginTop"))||0,c.left-=parseFloat(d.css(a,"marginLeft"))||0,e.top+=parseFloat(d.css(b[0],"borderTopWidth"))||0,e.left+=parseFloat(d.css(b[0],"borderLeftWidth"))||0;return{top:c.top-e.top,left:c.left-e.left}},offsetParent:function(){return this.map(function(){var a=this.offsetParent||c.body;while(a&&(!cf.test(a.nodeName)&&d.css(a,"position")==="static"))a=a.offsetParent;return a})}}),d.each(["Left","Top"],function(a,c){var e="scroll"+c;d.fn[e]=function(c){var f=this[0],g;if(!f)return null;if(c!==b)return this.each(function(){g=cg(this),g?g.scrollTo(a?d(g).scrollLeft():c,a?c:d(g).scrollTop()):this[e]=c});g=cg(f);return g?"pageXOffset"in g?g[a?"pageYOffset":"pageXOffset"]:d.support.boxModel&&g.document.documentElement[e]||g.document.body[e]:f[e]}}),d.each(["Height","Width"],function(a,c){var e=c.toLowerCase();d.fn["inner"+c]=function(){return this[0]?parseFloat(d.css(this[0],e,"padding")):null},d.fn["outer"+c]=function(a){return this[0]?parseFloat(d.css(this[0],e,a?"margin":"border")):null},d.fn[e]=function(a){var f=this[0];if(!f)return a==null?null:this;if(d.isFunction(a))return this.each(function(b){var c=d(this);c[e](a.call(this,b,c[e]()))});if(d.isWindow(f)){var g=f.document.documentElement["client"+c];return f.document.compatMode==="CSS1Compat"&&g||f.document.body["client"+c]||g}if(f.nodeType===9)return Math.max(f.documentElement["client"+c],f.body["scroll"+c],f.documentElement["scroll"+c],f.body["offset"+c],f.documentElement["offset"+c]);if(a===b){var h=d.css(f,e),i=parseFloat(h);return d.isNaN(i)?h:i}return this.css(e,typeof a==="string"?a:a+"px")}}),a.jQuery=a.$=d})(window); \ No newline at end of file diff --git a/src/demo/manager/src/main/webapp/assets/js/jquery-confirm.min.js b/src/demo/manager/src/main/webapp/assets/js/jquery-confirm.min.js new file mode 100644 index 00000000..19d15e24 --- /dev/null +++ b/src/demo/manager/src/main/webapp/assets/js/jquery-confirm.min.js @@ -0,0 +1,10 @@ +/*! + * jquery-confirm v2.5.1 (http://craftpip.github.io/jquery-confirm/) + * Author: Boniface Pereira + * Website: www.craftpip.com + * Contact: hey@craftpip.com + * + * Copyright 2013-2015 jquery-confirm + * Licensed under MIT (https://github.com/craftpip/jquery-confirm/blob/master/LICENSE) + */ +if(typeof jQuery==="undefined"){throw new Error("jquery-confirm requires jQuery");}var jconfirm,Jconfirm;(function($){$.fn.confirm=function(options,option2){if(typeof options==="undefined"){options={};}if(typeof options==="string"){options={content:options,title:(option2)?option2:false};}$(this).each(function(){var $this=$(this);$this.on("click",function(e){e.preventDefault();var jcOption=$.extend({},options);if($this.attr("data-title")){jcOption.title=$this.attr("data-title");}if($this.attr("data-content")){jcOption.content=$this.attr("data-content");}jcOption["$target"]=$this;if($this.attr("href")&&!options.confirm){jcOption.confirm=function(){location.href=$this.attr("href");};}$.confirm(jcOption);});});return $(this);};$.confirm=function(options,option2){if(typeof options==="undefined"){options={};}if(typeof options==="string"){options={content:options,title:(option2)?option2:false};}return jconfirm(options);};$.alert=function(options,option2){if(typeof options==="undefined"){options={};}if(typeof options==="string"){options={content:options,title:(option2)?option2:false};}options.cancelButton=false;return jconfirm(options);};$.dialog=function(options,option2){if(typeof options==="undefined"){options={};}if(typeof options==="string"){options={content:options,title:(option2)?option2:false};}options.cancelButton=false;options.confirmButton=false;options.confirmKeys=[13];return jconfirm(options);};jconfirm=function(options){if(typeof options==="undefined"){options={};}if(jconfirm.defaults){$.extend(jconfirm.pluginDefaults,jconfirm.defaults);}var options=$.extend({},jconfirm.pluginDefaults,options);return new Jconfirm(options);};Jconfirm=function(options){$.extend(this,options);this._init();};Jconfirm.prototype={_init:function(){var that=this;this._rand=Math.round(Math.random()*99999);this._buildHTML();this._bindEvents();setTimeout(function(){that.open();that._watchContent();},0);},_buildHTML:function(){var that=this;this.animation="anim-"+this.animation.toLowerCase();this.closeAnimation="anim-"+this.closeAnimation.toLowerCase();this.theme="jconfirm-"+this.theme.toLowerCase();if(this.animation=="anim-none"){this.animationSpeed=0;}this._lastFocused=$("body").find(":focus");this.$el=$(this.template).appendTo(this.container).addClass(this.theme);this.$el.find(".jconfirm-box-container").addClass(this.columnClass);this.$el.find(".jconfirm-bg").css(this._getCSS(this.animationSpeed,1));this.$el.find(".jconfirm-bg").css("opacity",this.opacity);this.$b=this.$el.find(".jconfirm-box").css(this._getCSS(this.animationSpeed,this.animationBounce)).addClass(this.animation);this.$body=this.$b;if(this.rtl){this.$el.addClass("rtl");}this._contentReady=$.Deferred();this._modalReady=$.Deferred();this.$title=this.$el.find(".title");this.contentDiv=this.$el.find("div.content");this.$content=this.contentDiv;this.$contentPane=this.$el.find(".content-pane");this.$icon=this.$el.find(".icon-c");this.$closeIcon=this.$el.find(".closeIcon");this.$contentPane.css(this._getCSS(this.animationSpeed,1));this.setTitle();this.setIcon();this._setButtons();if(this.closeIconClass){this.$closeIcon.html('');}that._contentHash=this._hash(that.$content.html());$.when(this._contentReady,this._modalReady).then(function(){that.setContent();that.setTitle();that.setIcon();});this._getContent();this._imagesLoaded();if(this.autoClose){this._startCountDown();}},_unwatchContent:function(){clearInterval(this._timer);},_hash:function(){return btoa((encodeURIComponent(this.$content.html())));},_watchContent:function(){var that=this;this._timer=setInterval(function(){var now=that._hash(that.$content.html());if(that._contentHash!=now){that._contentHash=now;that.setDialogCenter();that._imagesLoaded();}},this.watchInterval);},_bindEvents:function(){var that=this;var boxClicked=false;this.$el.find(".jconfirm-scrollpane").click(function(e){if(!boxClicked){if(that.backgroundDismiss){that.cancel();that.close();}else{that.$b.addClass("hilight");setTimeout(function(){that.$b.removeClass("hilight");},800);}}boxClicked=false;});this.$el.find(".jconfirm-box").click(function(e){boxClicked=true;});if(this.$confirmButton){this.$confirmButton.click(function(e){e.preventDefault();var r=that.confirm(that.$b);that._stopCountDown();that.onAction("confirm");if(typeof r==="undefined"||r){that.close();}});}if(this.$cancelButton){this.$cancelButton.click(function(e){e.preventDefault();var r=that.cancel(that.$b);that._stopCountDown();that.onAction("cancel");if(typeof r==="undefined"||r){that.close();}});}if(this.$closeButton){this.$closeButton.click(function(e){e.preventDefault();that._stopCountDown();that.cancel();that.onAction("close");that.close();});}if(this.keyboardEnabled){setTimeout(function(){$(window).on("keyup."+this._rand,function(e){that.reactOnKey(e);});},500);}$(window).on("resize."+this._rand,function(){that.setDialogCenter(true);});},_getCSS:function(speed,bounce){return{"-webkit-transition-duration":speed/1000+"s","transition-duration":speed/1000+"s","-webkit-transition-timing-function":"cubic-bezier(.36,1.1,.2, "+bounce+")","transition-timing-function":"cubic-bezier(.36,1.1,.2, "+bounce+")"};},_imagesLoaded:function(){var that=this;$.each(this.$content.find("img:not(.loaded)"),function(i,a){var interval=setInterval(function(){var h=$(a).css("height");if(h!=="0px"){$(a).addClass("loaded");that.setDialogCenter();clearInterval(interval);}},40);});},_setButtons:function(){this.$btnc=this.$el.find(".buttons");if(this.confirmButton&&$.trim(this.confirmButton)!==""){this.$confirmButton=$('").appendTo(this.$btnc).addClass(this.confirmButtonClass);}if(this.cancelButton&&$.trim(this.cancelButton)!==""){this.$cancelButton=$('").appendTo(this.$btnc).addClass(this.cancelButtonClass);}if(!this.confirmButton&&!this.cancelButton){this.$btnc.hide();}if(!this.confirmButton&&!this.cancelButton&&this.closeIcon===null){this.$closeButton=this.$b.find(".closeIcon").show();}if(this.closeIcon===true){this.$closeButton=this.$b.find(".closeIcon").show();}},setTitle:function(string){this.title=(typeof string!=="undefined")?string:this.title;this.$title.html(this.title||"");},setIcon:function(iconClass){this.title=(typeof string!=="undefined")?iconClass:this.title;this.$icon.html(this.icon?'':"");},setContent:function(string){var that=this;this.content=(typeof string=="undefined")?this.content:string;if(this.content==""){this.$content.html(this.content);this.$contentPane.hide();}else{this.$content.html(this.content);this.$contentPane.show();}if(this.$content.hasClass("loading")){this.$content.removeClass("loading");this.$btnc.find("button").prop("disabled",false);}},_getContent:function(string){var that=this;string=(string)?string:this.content;this._isAjax=false;if(!this.content){this.content="";this.setContent(this.content);this._contentReady.reject();}else{if(typeof this.content==="string"){if(this.content.substr(0,4).toLowerCase()==="url:"){this._isAjax=true;this.$content.addClass("loading");this.$btnc.find("button").prop("disabled",true);var url=this.content.substring(4,this.content.length);$.get(url).done(function(html){that.content=html;that._contentReady.resolve();}).always(function(data,status,xhr){if(typeof that.contentLoaded==="function"){that.contentLoaded(data,status,xhr);}});}else{this.setContent(this.content);this._contentReady.reject();}}else{if(typeof this.content==="function"){this.$content.addClass("loading");this.$btnc.find("button").attr("disabled","disabled");var promise=this.content(this);if(typeof promise!=="object"){console.error("The content function must return jquery promise.");}else{if(typeof promise.always!=="function"){console.error("The object returned is not a jquery promise.");}else{this._isAjax=true;promise.always(function(data,status){that._contentReady.resolve();});}}}else{console.error("Invalid option for property content, passed: "+typeof this.content);}}}this.setDialogCenter();},_stopCountDown:function(){clearInterval(this.timerInterval);if(this.$cd){this.$cd.remove();}},_startCountDown:function(){var opt=this.autoClose.split("|");if(/cancel/.test(opt[0])&&this.type==="alert"){return false;}else{if(/confirm|cancel/.test(opt[0])){this.$cd=$('').appendTo(this["$"+opt[0]+"Button"]);var that=this;that.$cd.parent().click();var time=opt[1]/1000;this.timerInterval=setInterval(function(){that.$cd.html(" ("+(time-=1)+")");if(time===0){that.$cd.html("");that.$cd.parent().trigger("click");clearInterval(that.timerInterval);}},1000);}else{console.error("Invalid option "+opt[0]+", must be confirm/cancel");}}},reactOnKey:function key(e){var a=$(".jconfirm");if(a.eq(a.length-1)[0]!==this.$el[0]){return false;}var key=e.which;if(this.contentDiv.find(":input").is(":focus")&&/13|32/.test(key)){return false;}if($.inArray(key,this.cancelKeys)!==-1){if(this.$cancelButton){this.$cancelButton.click();}else{this.close();}}if($.inArray(key,this.confirmKeys)!==-1){if(this.$confirmButton){this.$confirmButton.click();}}},setDialogCenter:function(){if(this.$contentPane.css("display")=="none"){var contentHeight=0;var paneHeight=0;}else{var contentHeight=this.$content.outerHeight();var paneHeight=this.$contentPane.height();if(paneHeight==0){paneHeight=contentHeight;}}var off=100;var w=this.$content.outerWidth();this.$content.css({clip:"rect(0px "+(off+w)+"px "+contentHeight+"px -"+off+"px)"});this.$contentPane.css({height:contentHeight});var windowHeight=$(window).height();var boxHeight=this.$b.outerHeight()-paneHeight+contentHeight;var topMargin=(windowHeight-boxHeight)/2;var minMargin=100;if(boxHeight>(windowHeight-minMargin)){var style={"margin-top":minMargin/2,"margin-bottom":minMargin/2};$("body").addClass("jconfirm-noscroll");}else{var style={"margin-top":topMargin};$("body").removeClass("jconfirm-noscroll");}this.$b.css(style);},close:function(){var that=this;if(this.isClosed()){return false;}if(typeof this.onClose==="function"){this.onClose();}this._unwatchContent();that._lastFocused.focus();$(window).unbind("resize."+this._rand);if(this.keyboardEnabled){$(window).unbind("keyup."+this._rand);}that.$el.find(".jconfirm-bg").removeClass("seen");$("body").removeClass("jconfirm-noscroll");this.$b.addClass(this.closeAnimation);var closeTimer=(this.closeAnimation=="anim-none")?0:this.animationSpeed;setTimeout(function(){that.$el.remove();},closeTimer*25/100);jconfirm.record.closed+=1;jconfirm.record.currentlyOpen-=1;return true;},open:function(){var that=this;if(this.isClosed()){return false;}that.$el.find(".jconfirm-bg").addClass("seen");this.$b.removeClass(this.animation);this.$b.find("input[autofocus]:visible:first").focus();jconfirm.record.opened+=1;jconfirm.record.currentlyOpen+=1;if(typeof this.onOpen==="function"){this.onOpen();}var jcr="jconfirm-box"+this._rand;this.$b.attr("aria-labelledby",jcr).attr("tabindex",-1).focus();if(this.$title){this.$title.attr("id",jcr);}else{if(this.$content){this.$content.attr("id",jcr);}}setTimeout(function(){that.$b.css({"transition-property":that.$b.css("transition-property")+", margin"});that._modalReady.resolve();},this.animationSpeed);return true;},isClosed:function(){return this.$el.css("display")==="";}};jconfirm.pluginDefaults={template:'
    ',title:"Hello",content:"Are you sure to continue?",contentLoaded:function(){},icon:"",opacity:0.2,confirmButton:"Okay",cancelButton:"Close",confirmButtonClass:"btn-default",cancelButtonClass:"btn-default",theme:"white",animation:"zoom",closeAnimation:"scale",animationSpeed:500,animationBounce:1.2,keyboardEnabled:false,rtl:false,confirmKeys:[13],cancelKeys:[27],container:"body",confirm:function(){},cancel:function(){},backgroundDismiss:false,autoClose:false,closeIcon:null,closeIconClass:false,watchInterval:100,columnClass:"col-md-4 col-md-offset-4 col-sm-6 col-sm-offset-3 col-xs-10 col-xs-offset-1",onOpen:function(){},onClose:function(){},onAction:function(){}};jconfirm.record={opened:0,closed:0,currentlyOpen:0};})(jQuery); \ No newline at end of file diff --git a/src/demo/manager/src/main/webapp/assets/js/jquery-easy-pie-chart/jquery.easy-pie-chart.css b/src/demo/manager/src/main/webapp/assets/js/jquery-easy-pie-chart/jquery.easy-pie-chart.css new file mode 100644 index 00000000..0b7be9e6 --- /dev/null +++ b/src/demo/manager/src/main/webapp/assets/js/jquery-easy-pie-chart/jquery.easy-pie-chart.css @@ -0,0 +1,10 @@ +.easyPieChart { + position: relative; + text-align: center; +} + +.easyPieChart canvas { + position: absolute; + top: 0; + left: 0; +} diff --git a/src/demo/manager/src/main/webapp/assets/js/jquery-easy-pie-chart/jquery.easy-pie-chart.js b/src/demo/manager/src/main/webapp/assets/js/jquery-easy-pie-chart/jquery.easy-pie-chart.js new file mode 100644 index 00000000..59e5a81f --- /dev/null +++ b/src/demo/manager/src/main/webapp/assets/js/jquery-easy-pie-chart/jquery.easy-pie-chart.js @@ -0,0 +1,185 @@ +// Generated by CoffeeScript 1.4.0 + +/* +Easy pie chart is a jquery plugin to display simple animated pie charts for only one value + +Dual licensed under the MIT (http://www.opensource.org/licenses/mit-license.php) +and GPL (http://www.opensource.org/licenses/gpl-license.php) licenses. + +Built on top of the jQuery library (http://jquery.com) + +@source: http://github.com/rendro/easy-pie-chart/ +@autor: Robert Fleischmann +@version: 1.0.1 + +Inspired by: http://dribbble.com/shots/631074-Simple-Pie-Charts-II?list=popular&offset=210 +Thanks to Philip Thrasher for the jquery plugin boilerplate for coffee script +*/ + + +(function() { + + (function($) { + $.easyPieChart = function(el, options) { + var addScaleLine, animateLine, drawLine, easeInOutQuad, renderBackground, renderScale, renderTrack, + _this = this; + this.el = el; + this.$el = $(el); + this.$el.data("easyPieChart", this); + this.init = function() { + var percent; + _this.options = $.extend({}, $.easyPieChart.defaultOptions, options); + percent = parseInt(_this.$el.data('percent'), 10); + _this.percentage = 0; + _this.canvas = $("").get(0); + _this.$el.append(_this.canvas); + if (typeof G_vmlCanvasManager !== "undefined" && G_vmlCanvasManager !== null) { + G_vmlCanvasManager.initElement(_this.canvas); + } + _this.ctx = _this.canvas.getContext('2d'); + if (window.devicePixelRatio > 1.5) { + $(_this.canvas).css({ + width: _this.options.size, + height: _this.options.size + }); + _this.canvas.width *= 2; + _this.canvas.height *= 2; + _this.ctx.scale(2, 2); + } + _this.ctx.translate(_this.options.size / 2, _this.options.size / 2); + _this.$el.addClass('easyPieChart'); + _this.$el.css({ + width: _this.options.size, + height: _this.options.size, + lineHeight: "" + _this.options.size + "px" + }); + _this.update(percent); + return _this; + }; + this.update = function(percent) { + if (_this.options.animate === false) { + return drawLine(percent); + } else { + return animateLine(_this.percentage, percent); + } + }; + renderScale = function() { + var i, _i, _results; + _this.ctx.fillStyle = _this.options.scaleColor; + _this.ctx.lineWidth = 1; + _results = []; + for (i = _i = 0; _i <= 24; i = ++_i) { + _results.push(addScaleLine(i)); + } + return _results; + }; + addScaleLine = function(i) { + var offset; + offset = i % 6 === 0 ? 0 : _this.options.size * 0.017; + _this.ctx.save(); + _this.ctx.rotate(i * Math.PI / 12); + _this.ctx.fillRect(_this.options.size / 2 - offset, 0, -_this.options.size * 0.05 + offset, 1); + return _this.ctx.restore(); + }; + renderTrack = function() { + var offset; + offset = _this.options.size / 2 - _this.options.lineWidth / 2; + if (_this.options.scaleColor !== false) { + offset -= _this.options.size * 0.08; + } + _this.ctx.beginPath(); + _this.ctx.arc(0, 0, offset, 0, Math.PI * 2, true); + _this.ctx.closePath(); + _this.ctx.strokeStyle = _this.options.trackColor; + _this.ctx.lineWidth = _this.options.lineWidth; + return _this.ctx.stroke(); + }; + renderBackground = function() { + if (_this.options.scaleColor !== false) { + renderScale(); + } + if (_this.options.trackColor !== false) { + return renderTrack(); + } + }; + drawLine = function(percent) { + var offset; + renderBackground(); + _this.ctx.strokeStyle = $.isFunction(_this.options.barColor) ? _this.options.barColor(percent) : _this.options.barColor; + _this.ctx.lineCap = _this.options.lineCap; + _this.ctx.lineWidth = _this.options.lineWidth; + offset = _this.options.size / 2 - _this.options.lineWidth / 2; + if (_this.options.scaleColor !== false) { + offset -= _this.options.size * 0.08; + } + _this.ctx.save(); + _this.ctx.rotate(-Math.PI / 2); + _this.ctx.beginPath(); + _this.ctx.arc(0, 0, offset, 0, Math.PI * 2 * percent / 100, false); + _this.ctx.stroke(); + return _this.ctx.restore(); + }; + animateLine = function(from, to) { + var currentStep, fps, steps; + fps = 30; + steps = fps * _this.options.animate / 1000; + currentStep = 0; + _this.options.onStart.call(_this); + _this.percentage = to; + if (_this.animation) { + clearInterval(_this.animation); + _this.animation = false; + } + return _this.animation = setInterval(function() { + _this.ctx.clearRect(-_this.options.size / 2, -_this.options.size / 2, _this.options.size, _this.options.size); + renderBackground.call(_this); + drawLine.call(_this, [easeInOutQuad(currentStep, from, to - from, steps)]); + currentStep++; + if ((currentStep / steps) > 1) { + clearInterval(_this.animation); + _this.animation = false; + return _this.options.onStop.call(_this); + } + }, 1000 / fps); + }; + easeInOutQuad = function(t, b, c, d) { + var easeIn, easing; + easeIn = function(t) { + return Math.pow(t, 2); + }; + easing = function(t) { + if (t < 1) { + return easeIn(t); + } else { + return 2 - easeIn((t / 2) * -2 + 2); + } + }; + t /= d / 2; + return c / 2 * easing(t) + b; + }; + return this.init(); + }; + $.easyPieChart.defaultOptions = { + barColor: '#ef1e25', + trackColor: '#f2f2f2', + scaleColor: '#dfe0e0', + lineCap: 'round', + size: 110, + lineWidth: 3, + animate: false, + onStart: $.noop, + onStop: $.noop + }; + $.fn.easyPieChart = function(options) { + return $.each(this, function(i, el) { + var $el; + $el = $(el); + if (!$el.data('easyPieChart')) { + return $el.data('easyPieChart', new $.easyPieChart(el, options)); + } + }); + }; + return void 0; + })(jQuery); + +}).call(this); diff --git a/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/changelog.txt b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/changelog.txt new file mode 100644 index 00000000..132b8cdd --- /dev/null +++ b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/changelog.txt @@ -0,0 +1,433 @@ +Version 1.4.1 +------------- +* Bug + * combogrid: The combogrid has different height than other combo components. fixed. + * datagrid: The row element loses some class style value after calling 'updateRow' method. fixed. + * menubutton: Calling 'enable' method on a disabled button can not work well. fixed. + * form: The filebox components in the form do not work correctly after calling 'clear' method. fixed. +* Improvement + * tabs: The 'update' method accepts 'type' option that allows the user to update the header,body,or both. + * panel: Add 'openAnimation','openDuration','closeAnimation' and 'closeDuration' properties to set the animation for opening or closing a panel. + * panel: Add 'footer' property that allows the user to add a footer bar to the bottom of panel. + * datagrid: Calling 'endEdit' method will accept the editing value correctly. + * datagrid: Add 'onBeforeSelect','onBeforeCheck','onBeforeUnselect','onBeforeUncheck' events. + * propertygrid: The user can edit a row by calling 'beginEdit' method. + * datebox: Add 'cloneFrom' method to create the datebox component quickly. + * datetimebox: Add 'cloneFrom' method to create the datetimebox component quickly. + +Version 1.4 +------------- +* Bug + * menu: The menu should not has a correct height when removed a menu item. fixed. + * datagrid: The 'fitColumns' method does not work normally when the datarid width is too small. fixed. +* Improvement + * The fluid/percentange size is supported now for all easyui components. + * menu: Add 'showItem', 'hideItem' and 'resize' methods. + * menu: Auto resize the height upon the window size. + * menu: Add 'duration' property that allows the user to define duration time in milliseconds to hide menu. + * validatebox: Add 'onBeforeValidate' and 'onValidate' events. + * combo: Extended from textbox now. + * combo: Add 'panelMinWidth','panelMaxWidth','panelMinHeight' and 'panelMaxHeight' properties. + * searchbox: Extended from textbox now. + * tree: The 'getRoot' method will return the top parent node of a specified node if pass a 'nodeEl' parameter. + * tree: Add 'queryParams' property. + * datetimebox: Add 'spinnerWidth' property. + * panel: Add 'doLayout' method to cause the panel to lay out its components. + * panel: Add 'clear' method to clear the panel's content. + * datagrid: The user is allowed to assign percent width to columns. + * form: Add 'ajax','novalidate' and 'queryParams' properties. + * linkbutton: Add 'resize' method. +* New Plugins + * textbox: A enhanced input field that allows users build their form easily. + * datetimespinner: A date and time spinner that allows to pick a specific day. + * filebox: The filebox component represents a file field of the forms. + +Version 1.3.6 +------------- +* Bug + * treegrid: The 'getChecked' method can not return correct checked rows. fixed. + * tree: The checkbox does not display properly on async tree when 'onlyLeafCheck' property is true. fixed. +* Improvement + * treegrid: All the selecting and checking methods are extended from datagrid component. + * linkbutton: The icon alignment is fully supported, possible values are: 'top','bottom','left','right'. + * linkbutton: Add 'size' property, possible values are: 'small','large'. + * linkbutton: Add 'onClick' event. + * menubutton: Add 'menuAlign' property that allows the user set top level menu alignment. + * combo: Add 'panelAlign' property, possible values are: 'left','right'. + * calendar: The 'formatter','styler' and 'validator' options are available to custom the calendar dates. + * calendar: Add 'onChange' event. + * panel: Add 'method','queryParams' and 'loader' options. + * panel: Add 'onLoadError' event. + * datagrid: Add 'onBeginEdit' event that fires when a row goes into edit mode. + * datagrid: Add 'onEndEdit' event that fires when finishing editing but before destroying editors. + * datagrid: Add 'sort' method and 'onBeforeSortColumn' event. + * datagrid: The 'combogrid' editor has been integrated into datagrid. + * datagrid: Add 'ctrlSelect' property that only allows multi-selection when ctrl+click is used. + * slider: Add 'converter' option that allows users determine how to convert a value to the slider position or the slider position to the value. + * searchbox: Add 'disabled' property. + * searchbox: Add 'disable','enable','clear','reset' methods. + * spinner: Add 'readonly' property, 'readonly' method and 'onChange' event. + +Version 1.3.5 +------------- +* Bug + * searchbox: The 'searcher' function can not offer 'name' parameter value correctly. fixed. + * combo: The 'isValid' method can not return boolean value. fixed. + * combo: Clicking combo will trigger the 'onHidePanel' event of other combo components that have hidden drop-down panels. fixed. + * combogrid: Some methods can not inherit from combo. fixed. +* Improvement + * datagrid: Improve performance on checking rows. + * menu: Allows to append a menu separator. + * menu: Add 'hideOnUnhover' property to indicate if the menu should be hidden when mouse exits it. + * slider: Add 'clear' and 'reset' methods. + * tabs: Add 'unselect' method that will trigger 'onUnselect' event. + * tabs: Add 'selected' property to specify what tab panel will be opened. + * tabs: The 'collapsible' property of tab panel is supported to determine if the tab panel can be collapsed. + * tabs: Add 'showHeader' property, 'showHeader' and 'hideHeader' methods. + * combobox: The 'disabled' property can be used to disable some items. + * tree: Improve loading performance. + * pagination: The 'layout' property can be used to customize the pagination layout. + * accordion: Add 'unselect' method that will trigger 'onUnselect' event. + * accordion: Add 'selected' and 'multiple' properties. + * accordion: Add 'getSelections' method. + * datebox: Add 'sharedCalendar' property that allows multiple datebox components share one calendar component. + +Version 1.3.4 +------------- +* Bug + * combobox: The onLoadSuccess event fires when parsing empty local data. fixed. + * form: Calling 'reset' method can not reset datebox field. fixed. +* Improvement + * mobile: The context menu and double click features are supported on mobile devices. + * combobox: The 'groupField' and 'groupFormatter' options are available to display items in groups. + * tree: When append or insert nodes, the 'data' parameter accepts one or more nodes data. + * tree: The 'getChecked' method accepts a single 'state' or an array of 'state'. + * tree: Add 'scrollTo' method. + * datagrid: The 'multiSort' property is added to support multiple column sorting. + * datagrid: The 'rowStyler' and column 'styler' can return CSS class name or inline styles. + * treegrid: Add 'load' method to load data and navigate to the first page. + * tabs: Add 'tabWidth' and 'tabHeight' properties. + * validatebox: The 'novalidate' property is available to indicate whether to perform the validation. + * validatebox: Add 'enableValidation' and 'disableValidation' methods. + * form: Add 'enableValidation' and 'disableValidation' methods. + * slider: Add 'onComplete' event. + * pagination: The 'buttons' property accepts the existing element. + +Version 1.3.3 +------------- +* Bug + * datagrid: Some style features are not supported by column styler function. fixed. + * datagrid: IE 31 stylesheet limit. fixed. + * treegrid: Some style features are not supported by column styler function. fixed. + * menu: The auto width of menu item displays incorrect in ie6. fixed. + * combo: The 'onHidePanel' event can not fire when clicked outside the combo area. fixed. +* Improvement + * datagrid: Add 'scrollTo' and 'highlightRow' methods. + * treegrid: Enable treegrid to parse data from element. + * combo: Add 'selectOnNavigation' and 'readonly' options. + * combobox: Add 'loadFilter' option to allow users to change data format before loading into combobox. + * tree: Add 'onBeforeDrop' callback event. + * validatebox: Dependent on tooltip plugin now, add 'deltaX' property. + * numberbox: The 'filter' options can be used to determine if the key pressed was accepted. + * linkbutton: The group button is available. + * layout: The 'minWidth','maxWidth','minHeight','maxHeight' and 'collapsible' properties are available for region panel. +* New Plugins + * tooltip: Display a popup message when moving mouse over an element. + +Version 1.3.2 +------------- +* Bug + * datagrid: The loading message window can not be centered when changing the width of datagrid. fixed. + * treegrid: The 'mergeCells' method can not work normally. fixed. + * propertygrid: Calling 'endEdit' method to stop editing a row will cause errors. fixed. + * tree: Can not load empty data when 'lines' property set to true. fixed. +* Improvement + * RTL feature is supported now. + * tabs: Add 'scrollBy' method to scroll the tab header by the specified amount of pixels + * tabs: Add 'toolPosition' property to set tab tools to left or right. + * tabs: Add 'tabPosition' property to define the tab position, possible values are: 'top','bottom','left','right'. + * datagrid: Add a column level property 'order' that allows users to define different default sort order per column. + * datagrid: Add a column level property 'halign' that allows users to define how to align the column header. + * datagrid: Add 'resizeHandle' property to define the resizing column position, by grabbing the left or right edge of the column. + * datagrid: Add 'freezeRow' method to freeze some rows that will always be displayed at the top when the datagrid is scrolled down. + * datagrid: Add 'clearChecked' method to clear all checked records. + * datagrid: Add 'data' property to initialize the datagrid data. + * linkbutton: Add 'iconAlgin' property to define the icon position, supported values are: 'left','right'. + * menu: Add 'minWidth' property. + * menu: The menu width can be automatically calculated. + * tree: New events are available including 'onBeforeDrag','onStartDrag','onDragEnter','onDragOver','onDragLeave',etc. + * combo: Add 'height' property to allow users to define the height of combo. + * combo: Add 'reset' method. + * numberbox: Add 'reset' method. + * spinner: Add 'reset' method. + * spinner: Add 'height' property to allow users to define the height of spinner. + * searchbox: Add 'height' property to allow users to define the height of searchbox. + * form: Add 'reset' method. + * validatebox: Add 'delay' property to delay validating from the last inputting value. + * validatebox: Add 'tipPosition' property to define the tip position, supported values are: 'left','right'. + * validatebox: Multiple validate rules on a field is supported now. + * slider: Add 'reversed' property to determine if the min value and max value will switch their positions. + * progressbar: Add 'height' property to allow users to define the height of progressbar. + +Version 1.3.1 +------------- +* Bug + * datagrid: Setting the 'pageNumber' property is not valid. fixed. + * datagrid: The id attribute of rows isn't adjusted properly while calling 'insertRow' or 'deleteRow' method. + * dialog: When load content from 'href', the script will run twice. fixed. + * propertygrid: The editors that extended from combo can not accept its changed value. fixed. +* Improvement + * droppable: Add 'disabled' property. + * droppable: Add 'options','enable' and 'disable' methods. + * tabs: The tab panel tools can be changed by calling 'update' method. + * messager: When show a message window, the user can define the window position by applying 'style' property. + * window: Prevent script on window body from running twice. + * window: Add 'hcenter','vcenter' and 'center' methods. + * tree: Add 'onBeforeCheck' callback event. + * tree: Extend the 'getChecked' method to allow users to get 'checked','unchecked' or 'indeterminate' nodes. + * treegrid: Add 'update' method to update a specified node. + * treegrid: Add 'insert' method to insert a new node. + * treegrid: Add 'pop' method to remove a node and get the removed node data. + +Version 1.3 +----------- +* Bug + * combogrid: When set to 'remote' query mode, the 'queryParams' parameters can't be sent to server. fixed. + * combotree: The tree nodes on drop-down panel can not be unchecked while calling 'clear' method. fixed. + * datetimebox: Setting 'showSeconds' property to false cannot hide seconds info. fixed. + * datagrid: Calling 'mergeCells' method can't auto resize the merged cell while header is hidden. fixed. + * dialog: Set cache to false and load data via ajax, the content cannot be refreshed. fixed. +* Improvement + * The HTML5 'data-options' attribute is available for components to declare all custom options, including properties and events. + * More detailed documentation is available. + * panel: Prevent script on panel body from running twice. + * accordion: Add 'getPanelIndex' method. + * accordion: The tools can be added on panel header. + * datetimebox: Add 'timeSeparator' option that allows users to define the time separator. + * pagination: Add 'refresh' and 'select' methods. + * datagrid: Auto resize the column width to fit the contents when the column width is not defined. + * datagrid: Double click on the right border of columns to auto resize the columns to the contents in the columns. + * datagrid: Add 'autoSizeColumn' method that allows users to adjust the column width to fit the contents. + * datagrid: Add 'getChecked' method to get all rows where the checkbox has been checked. + * datagrid: Add 'selectOnCheck' and 'checkOnSelect' properties and some checking methods to enhance the row selections. + * datagrid: Add 'pagePosition' property to allow users to display pager bar at either top,bottom or both places of the grid. + * datagrid: The buffer view and virtual scroll view are supported to display large amounts of records without pagination. + * tabs: Add 'disableTab' and 'enableTab' methods to allow users to disable or enable a tab panel. + +Version 1.2.6 +------------- +* Bug + * tabs: Call 'add' method with 'selected:false' option, the added tab panel is always selected. fixed. + * treegrid: The 'onSelect' and 'onUnselect' events can't be triggered. fixed. + * treegrid: Cannot display zero value field. fixed. +* Improvement + * propertygrid: Add 'expandGroup' and 'collapseGroup' methods. + * layout: Allow users to create collapsed layout panels by assigning 'collapsed' property to true. + * layout: Add 'add' and 'remove' methods that allow users to dynamically add or remove region panel. + * layout: Additional tool icons can be added on region panel header. + * calendar: Add 'firstDay' option that allow users to set first day of week. Sunday is 0, Monday is 1, ... + * tree: Add 'lines' option, true to display tree lines. + * tree: Add 'loadFilter' option that allow users to change data format before loading into the tree. + * tree: Add 'loader' option that allow users to define how to load data from remote server. + * treegrid: Add 'onClickCell' and 'onDblClickCell' callback function options. + * datagrid: Add 'autoRowHeight' property that allow users to determine if set the row height based on the contents of that row. + * datagrid: Improve performance to load large data set. + * datagrid: Add 'loader' option that allow users to define how to load data from remote server. + * treegrid: Add 'loader' option that allow users to define how to load data from remote server. + * combobox: Add 'onBeforeLoad' callback event function. + * combobox: Add 'loader' option that allow users to define how to load data from remote server. + * Add support for other loading mode such as dwr,xml,etc. +* New Plugins + * slider: Allows the user to choose a numeric value from a finite range. + +Version 1.2.5 +------------- +* Bug + * tabs: When add a new tab panel with href property, the content page is loaded twice. fixed. + * form: Failed to call 'load' method to load form input with complex name. fixed. + * draggable: End drag in ie9, the cursor cannot be restored. fixed. +* Improvement + * panel: The tools can be defined via html markup. + * tabs: Call 'close' method to close specified tab panel, users can pass tab title or index of tab panel. Other methods such 'select','getTab' and 'exists' are similar to 'close' method. + * tabs: Add 'getTabIndex' method. + * tabs: Users can define mini tools on tabs. + * tree: The mouse must move a specified distance to begin drag and drop operation. + * resizable: Add 'options','enable' and 'disable' methods. + * numberbox: Allow users to change number format. + * datagrid: The subgrid is supported now. + * searchbox: Add 'selectName' method to select searching type name. + +Version 1.2.4 +------------- +* Bug + * menu: The menu position is wrong when scroll bar appears. fixed. + * accordion: Cannot display the default selected panel in jQuery 1.6.2. fixed. + * tabs: Cannot display the default selected tab panel in jQuery 1.6.2. fixed. +* Improvement + * menu: Allow users to disable or enable menu item. + * combo: Add 'delay' property to set the delay time to do searching from the last key input event. + * treegrid: The 'getEditors' and 'getEditor' methods are supported now. + * treegrid: The 'loadFilter' option is supported now. + * messager: Add 'progress' method to display a message box with a progress bar. + * panel: Add 'extractor' option to allow users to extract panel content from ajax response. +* New Plugins + * searchbox: Allow users to type words into box and do searching operation. + * progressbar: To display the progress of a task. + +Version 1.2.3 +------------- +* Bug + * window: Cannot resize the window with iframe content. fixed. + * tree: The node will be removed when dragging to its child. fixed. + * combogrid: The onChange event fires multiple times. fixed. + * accordion: Cannot add batch new panels when animate property is set to true. fixed. +* Improvement + * treegrid: The footer row and row styler features are supported now. + * treegrid: Add 'getLevel','reloadFooter','getFooterRows' methods. + * treegrid: Support root nodes pagination and editable features. + * datagrid: Add 'getFooterRows','reloadFooter','insertRow' methods and improve editing performance. + * datagrid: Add 'loadFilter' option that allow users to change original source data to standard data format. + * draggable: Add 'onBeforeDrag' callback event function. + * validatebox: Add 'remote' validation type. + * combobox: Add 'method' option. +* New Plugins + * propertygrid: Allow users to edit property value in datagrid. + +Version 1.2.2 +------------- +* Bug + * datagrid: Apply fitColumns cannot work fine while set checkbox column. fixed. + * datagrid: The validateRow method cannot return boolean type value. fixed. + * numberbox: Cannot fix value in chrome when min or max property isn't defined. fixed. +* Improvement + * menu: Add some crud methods. + * combo: Add hasDownArrow property to determine whether to display the down arrow button. + * tree: Supports inline editing. + * calendar: Add some useful methods such as 'resize', 'moveTo' etc. + * timespinner: Add some useful methods. + * datebox: Refactoring based on combo and calendar plugin now. + * datagrid: Allow users to change row style in some conditions. + * datagrid: Users can use the footer row to display summary information. +* New Plugins + * datetimebox: Combines datebox with timespinner component. + +Version 1.2.1 +------------- +* Bug + * easyloader: Some dependencies cannot be loaded by their order. fixed. + * tree: The checkbox is setted incorrectly when removing a node. fixed. + * dialog: The dialog layout incorrectly when 'closed' property is setted to true. fixed. +* Improvement + * parser: Add onComplete callback function that can indicate whether the parse action is complete. + * menu: Add onClick callback function and some other methods. + * tree: Add some useful methods. + * tree: Drag and Drop feature is supported now. + * tree: Add onContextMenu callback function. + * tabs: Add onContextMenu callback function. + * tabs: Add 'tools' property that can create buttons on right bar. + * datagrid: Add onHeaderContextMenu and onRowContextMenu callback functions. + * datagrid: Custom view is supported. + * treegrid: Add onContextMenu callback function and append,remove methods. + +Version 1.2 +------------- +* Improvement + * tree: Add cascadeCheck,onlyLeafCheck properties and select event. + * combobox: Enable multiple selection. + * combotree: Enable multiple selection. + * tabs: Remember the trace of selection, when current tab panel is closed, the previous selected tab will be selected. + * datagrid: Extend from panel, so many properties defined in panel can be used for datagrid. +* New Plugins + * treegrid: Represent tabular data in hierarchical view, combines tree view and datagrid. + * combo: The basic component that allow user to extend their combo component such as combobox,combotree,etc. + * combogrid: Combines combobox with drop-down datagrid component. + * spinner: The basic plugin to create numberspinner,timespinner,etc. + * numberspinner: The numberbox that allow user to change value by clicking up and down spin buttons. + * timespinner: The time selector that allow user to quickly inc/dec a time. + +Version 1.1.2 +------------- +* Bug + * messager: When call show method in layout, the message window will be blocked. fixed. +* Improvement + * datagrid: Add validateRow method, remember the current editing row status when do editing action. + * datagrid: Add the ability to create merged cells. + * form: Add callback functions when loading data. + * panel,window,dialog: Add maximize,minimize,restore,collapse,expand methods. + * panel,tabs,accordion: The lazy loading feature is supported. + * tabs: Add getSelected,update,getTab methods. + * accordion: Add crud methods. + * linkbutton: Accept an id option to set the id attribute. + * tree: Enhance tree node operation. + +Version 1.1.1 +------------- +* Bug + * form: Cannot clear the value of combobox and combotree component. fixed. +* Improvement + * tree: Add some useful methods such as 'getRoot','getChildren','update',etc. + * datagrid: Add editable feature, improve performance while loading data. + * datebox: Add destroy method. + * combobox: Add destroy and clear method. + * combotree: Add destroy and clear method. + +Version 1.1 +------------- +* Bug + * messager: When call show method with timeout property setted, an error occurs while clicking the close button. fixed. + * combobox: The editable property of combobox plugin is invalid. fixed. + * window: The proxy box will not be removed when dragging or resizing exceed browser border in ie. fixed. +* Improvement + * menu: The menu item can use markup to display a different page. + * tree: The tree node can use markup to act as a tree menu. + * pagination: Add some event on refresh button and page list. + * datagrid: Add a 'param' parameter for reload method, with which users can pass query parameter when reload data. + * numberbox: Add required validation support, the usage is same as validatebox plugin. + * combobox: Add required validation support. + * combotree: Add required validation support. + * layout: Add some method that can get a region panel and attach event handlers. +* New Plugins + * droppable: A droppable plugin that supports drag drop operation. + * calendar: A calendar plugin that can either be embedded within a page or popup. + * datebox: Combines a textbox with a calendar that let users to select date. + * easyloader: A JavaScript loader that allows you to load plugin and their dependencies into your page. + +Version 1.0.5 +* Bug + * panel: The fit property of panel performs incorrectly. fixed. +* Improvement + * menu: Add a href attribute for menu item, with which user can display a different page in the current browser window. + * form: Add a validate method to do validation for validatebox component. + * dialog: The dialog can read collapsible,minimizable,maximizable and resizable attribute from markup. +* New Plugins + * validatebox: A validation plugin that checks to make sure the user's input value is valid. + +Version 1.0.4 +------------- +* Bug + * panel: When panel is invisible, it is abnormal when resized. fixed. + * panel: Memory leak in method 'destroy'. fixed. + * messager: Memory leak when messager box is closed. fixed. + * dialog: No onLoad event occurs when loading remote data. fixed. +* Improvement + * panel: Add method 'setTitle'. + * window: Add method 'setTitle'. + * dialog: Add method 'setTitle'. + * combotree: Add method 'getValue'. + * combobox: Add method 'getValue'. + * form: The 'load' method can load data and fill combobox and combotree field correctly. + +Version 1.0.3 +------------- +* Bug + * menu: When menu is show in a DIV container, it will be cropped. fixed. + * layout: If you collpase a region panel and then expand it immediately, the region panel will not show normally. fixed. + * accordion: If no panel selected then the first one will become selected and the first panel's body height will not set correctly. fixed. +* Improvement + * tree: Add some methods to support CRUD operation. + * datagrid: Toolbar can accept a new property named 'disabled' to disable the specified tool button. +* New Plugins + * combobox: Combines a textbox with a list of options that users are able to choose from. + * combotree: Combines combobox with drop-down tree component. + * numberbox: Make input element can only enter number char. + * dialog: rewrite the dialog plugin, dialog can contains toolbar and buttons. diff --git a/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/accordion/_content.html b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/accordion/_content.html new file mode 100644 index 00000000..f7b8e2ee --- /dev/null +++ b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/accordion/_content.html @@ -0,0 +1,18 @@ + + + + + AJAX Content + + +

    Here is the content loaded via AJAX.

    +
      +
    • easyui is a collection of user-interface plugin based on jQuery.
    • +
    • easyui provides essential functionality for building modern, interactive, javascript applications.
    • +
    • using easyui you don't need to write many javascript code, you usually defines user-interface by writing some HTML markup.
    • +
    • complete framework for HTML5 web page.
    • +
    • easyui save your time and scales while developing your products.
    • +
    • easyui is very easy but powerful.
    • +
    + + \ No newline at end of file diff --git a/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/accordion/actions.html b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/accordion/actions.html new file mode 100644 index 00000000..28935d7f --- /dev/null +++ b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/accordion/actions.html @@ -0,0 +1,51 @@ + + + + + Accordion Actions - jQuery EasyUI Demo + + + + + + + +

    Accordion Actions

    +

    Click the buttons below to add or remove accordion items.

    +
    +
    +
    +

    Accordion for jQuery

    +

    Accordion is a part of easyui framework for jQuery. It lets you define your accordion component on web page more easily.

    +
    +
    + + + \ No newline at end of file diff --git a/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/accordion/ajax.html b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/accordion/ajax.html new file mode 100644 index 00000000..87c1a01c --- /dev/null +++ b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/accordion/ajax.html @@ -0,0 +1,28 @@ + + + + + Loading Accordion Content with AJAX - jQuery EasyUI Demo + + + + + + + +

    Loading Accordion Content with AJAX

    +

    Click AJAX panel header to load content via AJAX.

    +
    +
    +
    +

    Accordion for jQuery

    +

    Accordion is a part of easyui framework for jQuery. It lets you define your accordion component on web page more easily.

    +
    +
    +

    The accordion allows you to provide multiple panels and display one or more at a time. Each panel has built-in support for expanding and collapsing. Clicking on a panel header to expand or collapse that panel body. The panel content can be loaded via ajax by specifying a 'href' property. Users can define a panel to be selected. If it is not specified, then the first panel is taken by default.

    +
    +
    +
    +
    + + \ No newline at end of file diff --git a/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/accordion/basic.html b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/accordion/basic.html new file mode 100644 index 00000000..1f6c8f53 --- /dev/null +++ b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/accordion/basic.html @@ -0,0 +1,52 @@ + + + + + Basic Accordion - jQuery EasyUI Demo + + + + + + + +

    Basic Accordion

    +

    Click on panel header to show its content.

    +
    +
    +
    +

    Accordion for jQuery

    +

    Accordion is a part of easyui framework for jQuery. It lets you define your accordion component on web page more easily.

    +
    +
    +

    The accordion allows you to provide multiple panels and display one or more at a time. Each panel has built-in support for expanding and collapsing. Clicking on a panel header to expand or collapse that panel body. The panel content can be loaded via ajax by specifying a 'href' property. Users can define a panel to be selected. If it is not specified, then the first panel is taken by default.

    +
    +
    +
      +
    • + Foods +
        +
      • + Fruits +
          +
        • apple
        • +
        • orange
        • +
        +
      • +
      • + Vegetables +
          +
        • tomato
        • +
        • carrot
        • +
        • cabbage
        • +
        • potato
        • +
        • lettuce
        • +
        +
      • +
      +
    • +
    +
    +
    + + \ No newline at end of file diff --git a/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/accordion/datagrid_data1.json b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/accordion/datagrid_data1.json new file mode 100644 index 00000000..e9a5be2f --- /dev/null +++ b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/accordion/datagrid_data1.json @@ -0,0 +1,12 @@ +{"total":28,"rows":[ + {"productid":"FI-SW-01","productname":"Koi","unitcost":10.00,"status":"P","listprice":36.50,"attr1":"Large","itemid":"EST-1"}, + {"productid":"K9-DL-01","productname":"Dalmation","unitcost":12.00,"status":"P","listprice":18.50,"attr1":"Spotted Adult Female","itemid":"EST-10"}, + {"productid":"RP-SN-01","productname":"Rattlesnake","unitcost":12.00,"status":"P","listprice":38.50,"attr1":"Venomless","itemid":"EST-11"}, + {"productid":"RP-SN-01","productname":"Rattlesnake","unitcost":12.00,"status":"P","listprice":26.50,"attr1":"Rattleless","itemid":"EST-12"}, + {"productid":"RP-LI-02","productname":"Iguana","unitcost":12.00,"status":"P","listprice":35.50,"attr1":"Green Adult","itemid":"EST-13"}, + {"productid":"FL-DSH-01","productname":"Manx","unitcost":12.00,"status":"P","listprice":158.50,"attr1":"Tailless","itemid":"EST-14"}, + {"productid":"FL-DSH-01","productname":"Manx","unitcost":12.00,"status":"P","listprice":83.50,"attr1":"With tail","itemid":"EST-15"}, + {"productid":"FL-DLH-02","productname":"Persian","unitcost":12.00,"status":"P","listprice":23.50,"attr1":"Adult Female","itemid":"EST-16"}, + {"productid":"FL-DLH-02","productname":"Persian","unitcost":12.00,"status":"P","listprice":89.50,"attr1":"Adult Male","itemid":"EST-17"}, + {"productid":"AV-CB-01","productname":"Amazon Parrot","unitcost":92.00,"status":"P","listprice":63.50,"attr1":"Adult Male","itemid":"EST-18"} +]} diff --git a/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/accordion/expandable.html b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/accordion/expandable.html new file mode 100644 index 00000000..8f20f16b --- /dev/null +++ b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/accordion/expandable.html @@ -0,0 +1,33 @@ + + + + + Keep Expandable Panel in Accordion - jQuery EasyUI Demo + + + + + + + +

    Keep Expandable Panel in Accordion

    +

    Keep a expandable panel and prevent it from collapsing.

    +
    +
    +
    + +
    +
    +

    Accordion for jQuery

    +

    Accordion is a part of easyui framework for jQuery. It lets you define your accordion component on web page more easily.

    +
    +
    +

    Content1

    +
    +
    +

    Content2

    +
    +
    + + + \ No newline at end of file diff --git a/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/accordion/fluid.html b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/accordion/fluid.html new file mode 100644 index 00000000..aaeb994a --- /dev/null +++ b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/accordion/fluid.html @@ -0,0 +1,33 @@ + + + + + Fluid Accordion - jQuery EasyUI Demo + + + + + + + +

    Fluid Accordion

    +

    This example shows how to set the width of accordion to a percentage of its parent container.

    +
    +
    +
    +

    width: 100%

    +
    +
    +
    +
    +
    + +
    +
    +

    width: 50%

    +
    +
    +
    +
    + + \ No newline at end of file diff --git a/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/accordion/multiple.html b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/accordion/multiple.html new file mode 100644 index 00000000..d75bfbc4 --- /dev/null +++ b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/accordion/multiple.html @@ -0,0 +1,34 @@ + + + + + Multiple Accordion Panels - jQuery EasyUI Demo + + + + + + + +

    Multiple Accordion Panels

    +

    Enable 'multiple' mode to expand multiple panels at one time.

    +
    +
    +
    +

    A programming language is a formal language designed to communicate instructions to a machine, particularly a computer. Programming languages can be used to create programs that control the behavior of a machine and/or to express algorithms precisely.

    +
    +
    +

    Java (Indonesian: Jawa) is an island of Indonesia. With a population of 135 million (excluding the 3.6 million on the island of Madura which is administered as part of the provinces of Java), Java is the world's most populous island, and one of the most densely populated places in the world.

    +
    +
    +

    C# is a multi-paradigm programming language encompassing strong typing, imperative, declarative, functional, generic, object-oriented (class-based), and component-oriented programming disciplines.

    +
    +
    +

    A dynamic, reflective, general-purpose object-oriented programming language.

    +
    +
    +

    Fortran (previously FORTRAN) is a general-purpose, imperative programming language that is especially suited to numeric computation and scientific computing.

    +
    +
    + + \ No newline at end of file diff --git a/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/accordion/tools.html b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/accordion/tools.html new file mode 100644 index 00000000..6351a91e --- /dev/null +++ b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/accordion/tools.html @@ -0,0 +1,48 @@ + + + + + Accordion Tools - jQuery EasyUI Demo + + + + + + + +

    Accordion Tools

    +

    Click the tools on top right of panel to perform actions.

    +
    +
    +
    +

    Accordion for jQuery

    +

    Accordion is a part of easyui framework for jQuery. It lets you define your accordion component on web page more easily.

    +
    +
    +

    The accordion allows you to provide multiple panels and display one ore more at a time. Each panel has built-in support for expanding and collapsing. Clicking on a panel header to expand or collapse that panel body. The panel content can be loaded via ajax by specifying a 'href' property. Users can define a panel to be selected. If it is not specified, then the first panel is taken by default.

    +
    +
    + + + + + + + + + + + +
    Item IDProduct IDList PriceUnit CostAttributeStatus
    +
    +
    + + \ No newline at end of file diff --git a/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/calendar/basic.html b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/calendar/basic.html new file mode 100644 index 00000000..9d0d6727 --- /dev/null +++ b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/calendar/basic.html @@ -0,0 +1,19 @@ + + + + + Basic Calendar - jQuery EasyUI Demo + + + + + + + +

    Basic Calendar

    +

    Click to select date.

    +
    +
    + + + \ No newline at end of file diff --git a/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/calendar/custom.html b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/calendar/custom.html new file mode 100644 index 00000000..7c570e6c --- /dev/null +++ b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/calendar/custom.html @@ -0,0 +1,46 @@ + + + + + Custom Calendar - jQuery EasyUI Demo + + + + + + + +

    Custom Calendar

    +

    This example shows how to custom the calendar date by using 'formatter' function.

    +
    + +
    + + + + + \ No newline at end of file diff --git a/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/calendar/disabledate.html b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/calendar/disabledate.html new file mode 100644 index 00000000..0b1edeb5 --- /dev/null +++ b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/calendar/disabledate.html @@ -0,0 +1,28 @@ + + + + + Disable Calendar Date - jQuery EasyUI Demo + + + + + + + +

    Disable Calendar Date

    +

    This example shows how to disable specified dates, only allows the user to select Mondays.

    +
    + +
    + + + \ No newline at end of file diff --git a/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/calendar/firstday.html b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/calendar/firstday.html new file mode 100644 index 00000000..dd414c5e --- /dev/null +++ b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/calendar/firstday.html @@ -0,0 +1,30 @@ + + + + + First Day of Week - jQuery EasyUI Demo + + + + + + + +

    First Day of Week

    +

    Choose the first day of the week.

    + +
    + +
    + +
    + + \ No newline at end of file diff --git a/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/calendar/fluid.html b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/calendar/fluid.html new file mode 100644 index 00000000..3ca0fae3 --- /dev/null +++ b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/calendar/fluid.html @@ -0,0 +1,23 @@ + + + + + Fluid Calendar - jQuery EasyUI Demo + + + + + + + +

    Fluid Calendar

    +

    This example shows how to set the width of calendar to a percentage of its parent container.

    +
    +
    +

    width: 50%, height: 250px

    +
    +

    width: 30%, height: 40%

    +
    +
    + + \ No newline at end of file diff --git a/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/combo/animation.html b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/combo/animation.html new file mode 100644 index 00000000..7a93117c --- /dev/null +++ b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/combo/animation.html @@ -0,0 +1,36 @@ + + + + + Combo Animation - jQuery EasyUI Demo + + + + + + + +

    Combo Animation

    +

    Change the animation type when open & close the drop-down panel.

    +
    + Animation Type: + +
    + + + + \ No newline at end of file diff --git a/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/combo/basic.html b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/combo/basic.html new file mode 100644 index 00000000..cba9b8df --- /dev/null +++ b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/combo/basic.html @@ -0,0 +1,42 @@ + + + + + Basic Combo - jQuery EasyUI Demo + + + + + + + +

    Basic Combo

    +

    Click the right arrow button to show drop down panel that can be filled with any content.

    +
    + +
    +
    Select a language
    +
    + Java
    + C#
    + Ruby
    + Basic
    + Fortran +
    +
    + + + \ No newline at end of file diff --git a/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/combobox/actions.html b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/combobox/actions.html new file mode 100644 index 00000000..d2605fc3 --- /dev/null +++ b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/combobox/actions.html @@ -0,0 +1,86 @@ + + + + + ComboBox Actions - jQuery EasyUI Demo + + + + + + + +

    ComboBox

    +

    Click the buttons below to perform actions.

    + + + + + + + + \ No newline at end of file diff --git a/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/combobox/basic.html b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/combobox/basic.html new file mode 100644 index 00000000..bfa2b34e --- /dev/null +++ b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/combobox/basic.html @@ -0,0 +1,71 @@ + + + + + Basic ComboBox - jQuery EasyUI Demo + + + + + + + +

    Basic ComboBox

    +

    Type in ComboBox to try auto complete.

    +
    + + + + + \ No newline at end of file diff --git a/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/combobox/combobox_data1.json b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/combobox/combobox_data1.json new file mode 100644 index 00000000..8bfba76c --- /dev/null +++ b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/combobox/combobox_data1.json @@ -0,0 +1,22 @@ +[{ + "id":1, + "text":"Java", + "desc":"Write once, run anywhere" +},{ + "id":2, + "text":"C#", + "desc":"One of the programming languages designed for the Common Language Infrastructure" +},{ + "id":3, + "text":"Ruby", + "selected":true, + "desc":"A dynamic, reflective, general-purpose object-oriented programming language" +},{ + "id":4, + "text":"Perl", + "desc":"A high-level, general-purpose, interpreted, dynamic programming language" +},{ + "id":5, + "text":"Basic", + "desc":"A family of general-purpose, high-level programming languages" +}] \ No newline at end of file diff --git a/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/combobox/combobox_data2.json b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/combobox/combobox_data2.json new file mode 100644 index 00000000..fcaca4f0 --- /dev/null +++ b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/combobox/combobox_data2.json @@ -0,0 +1,47 @@ +[{ + "value":"f20", + "text":"Firefox 2.0 or higher", + "group":"Firefox" +},{ + "value":"f15", + "text":"Firefox 1.5.x", + "group":"Firefox" +},{ + "value":"f10", + "text":"Firefox 1.0.x", + "group":"Firefox" +},{ + "value":"ie7", + "text":"Microsoft Internet Explorer 7.0 or higher", + "group":"Microsoft Internet Explorer" +},{ + "value":"ie6", + "text":"Microsoft Internet Explorer 6.x", + "group":"Microsoft Internet Explorer" +},{ + "value":"ie5", + "text":"Microsoft Internet Explorer 5.x", + "group":"Microsoft Internet Explorer" +},{ + "value":"ie4", + "text":"Microsoft Internet Explorer 4.x", + "group":"Microsoft Internet Explorer" +},{ + "value":"op9", + "text":"Opera 9.0 or higher", + "group":"Opera" +},{ + "value":"op8", + "text":"Opera 8.x", + "group":"Opera" +},{ + "value":"op7", + "text":"Opera 7.x", + "group":"Opera" +},{ + "value":"Safari", + "text":"Safari" +},{ + "value":"Other", + "text":"Other" +}] \ No newline at end of file diff --git a/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/combobox/customformat.html b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/combobox/customformat.html new file mode 100644 index 00000000..82664eae --- /dev/null +++ b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/combobox/customformat.html @@ -0,0 +1,33 @@ + + + + + Custom Format in ComboBox - jQuery EasyUI Demo + + + + + + + +

    Custom Format in ComboBox

    +

    This sample shows how to custom the format of list item.

    +
    + + + + \ No newline at end of file diff --git a/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/combobox/dynamicdata.html b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/combobox/dynamicdata.html new file mode 100644 index 00000000..1857e482 --- /dev/null +++ b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/combobox/dynamicdata.html @@ -0,0 +1,23 @@ + + + + + Load Dynamic ComboBox Data - jQuery EasyUI Demo + + + + + + + +

    Load Dynamic ComboBox Data

    +

    Click the button below to load data.

    + +
    + LoadData +
    + + + + \ No newline at end of file diff --git a/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/combobox/fluid.html b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/combobox/fluid.html new file mode 100644 index 00000000..e621fae8 --- /dev/null +++ b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/combobox/fluid.html @@ -0,0 +1,36 @@ + + + + + Fluid ComboBox - jQuery EasyUI Demo + + + + + + + +

    Fluid ComboBox

    +

    This example shows how to set the width of combobox to a percentage of its parent container.

    +
    +

    width: 50%

    + +

    width: 30%

    + + + + \ No newline at end of file diff --git a/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/combobox/group.html b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/combobox/group.html new file mode 100644 index 00000000..d1431b7f --- /dev/null +++ b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/combobox/group.html @@ -0,0 +1,26 @@ + + + + + Group ComboBox - jQuery EasyUI Demo + + + + + + + +

    Group ComboBox

    +

    This example shows how to display combobox items in groups.

    +
    + + + + + \ No newline at end of file diff --git a/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/combobox/icons.html b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/combobox/icons.html new file mode 100644 index 00000000..4defb0a4 --- /dev/null +++ b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/combobox/icons.html @@ -0,0 +1,32 @@ + + + + + ComboBox with Extra Icons- jQuery EasyUI Demo + + + + + + + +

    ComboBox with Extra Icons

    +

    The user can attach extra icons to the ComboBox.

    +
    + + + + \ No newline at end of file diff --git a/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/combobox/multiline.html b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/combobox/multiline.html new file mode 100644 index 00000000..2b8d1569 --- /dev/null +++ b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/combobox/multiline.html @@ -0,0 +1,71 @@ + + + + + Multiline ComboBox - jQuery EasyUI Demo + + + + + + + +

    Multiline ComboBox

    +

    This example shows how to create a multiline ComboBox.

    +
    + + + + + \ No newline at end of file diff --git a/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/combobox/multiple.html b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/combobox/multiple.html new file mode 100644 index 00000000..3eb2526f --- /dev/null +++ b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/combobox/multiple.html @@ -0,0 +1,29 @@ + + + + + Multiple Select - jQuery EasyUI Demo + + + + + + + +

    Load Dynamic ComboBox Data

    +

    Drop down the panel and select multiple items.

    +
    + + + + + \ No newline at end of file diff --git a/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/combobox/navigation.html b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/combobox/navigation.html new file mode 100644 index 00000000..4299d422 --- /dev/null +++ b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/combobox/navigation.html @@ -0,0 +1,73 @@ + + + + + Navigate ComboBox - jQuery EasyUI Demo + + + + + + + +

    Navigate ComboBox

    +

    Navigate through combobox items width keyboard to select an item.

    +
    + + SelectOnNavigation +
    + + + + + \ No newline at end of file diff --git a/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/combobox/remotedata.html b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/combobox/remotedata.html new file mode 100644 index 00000000..42dda5d8 --- /dev/null +++ b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/combobox/remotedata.html @@ -0,0 +1,27 @@ + + + + + Binding to Remote Data - jQuery EasyUI Demo + + + + + + + +

    Binding to Remote Data

    +

    The ComboBox is bound to a remote data.

    +
    + + + + \ No newline at end of file diff --git a/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/combobox/remotejsonp.html b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/combobox/remotejsonp.html new file mode 100644 index 00000000..9cfbebdf --- /dev/null +++ b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/combobox/remotejsonp.html @@ -0,0 +1,51 @@ + + + + + Remote JSONP - jQuery EasyUI Demo + + + + + + + +

    Remote JSONP

    +

    This sample shows how to use JSONP to retrieve data from a remote site.

    +
    + + + + \ No newline at end of file diff --git a/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/combogrid/actions.html b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/combogrid/actions.html new file mode 100644 index 00000000..e09588af --- /dev/null +++ b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/combogrid/actions.html @@ -0,0 +1,53 @@ + + + + + ComboGrid Actions - jQuery EasyUI Demo + + + + + + + +

    ComboGrid Actions

    +

    Click the buttons below to perform actions.

    + + + + + \ No newline at end of file diff --git a/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/combogrid/basic.html b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/combogrid/basic.html new file mode 100644 index 00000000..9c71e522 --- /dev/null +++ b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/combogrid/basic.html @@ -0,0 +1,34 @@ + + + + + Basic ComboGrid - jQuery EasyUI Demo + + + + + + + +

    Basic ComboGrid

    +

    Click the right arrow button to show the DataGrid.

    +
    + + + \ No newline at end of file diff --git a/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/combogrid/datagrid_data1.json b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/combogrid/datagrid_data1.json new file mode 100644 index 00000000..3a62a71f --- /dev/null +++ b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/combogrid/datagrid_data1.json @@ -0,0 +1,12 @@ +{"total":28,"rows":[ + {"productid":"FI-SW-01","productname":"Koi","unitcost":10.00,"status":"P","listprice":36.50,"attr1":"Large","itemid":"EST-1"}, + {"productid":"K9-DL-01","productname":"Dalmation","unitcost":12.00,"status":"P","listprice":18.50,"attr1":"Spotted Adult Female","itemid":"EST-10"}, + {"productid":"RP-SN-01","productname":"Rattlesnake","unitcost":12.00,"status":"P","listprice":38.50,"attr1":"Venomless","itemid":"EST-11"}, + {"productid":"RP-SN-01","productname":"Rattlesnake","unitcost":12.00,"status":"P","listprice":26.50,"attr1":"Rattleless","itemid":"EST-12"}, + {"selected":true,"productid":"RP-LI-02","productname":"Iguana","unitcost":12.00,"status":"P","listprice":35.50,"attr1":"Green Adult","itemid":"EST-13"}, + {"productid":"FL-DSH-01","productname":"Manx","unitcost":12.00,"status":"P","listprice":158.50,"attr1":"Tailless","itemid":"EST-14"}, + {"productid":"FL-DSH-01","productname":"Manx","unitcost":12.00,"status":"P","listprice":83.50,"attr1":"With tail","itemid":"EST-15"}, + {"productid":"FL-DLH-02","productname":"Persian","unitcost":12.00,"status":"P","listprice":23.50,"attr1":"Adult Female","itemid":"EST-16"}, + {"productid":"FL-DLH-02","productname":"Persian","unitcost":12.00,"status":"P","listprice":89.50,"attr1":"Adult Male","itemid":"EST-17"}, + {"productid":"AV-CB-01","productname":"Amazon Parrot","unitcost":92.00,"status":"P","listprice":63.50,"attr1":"Adult Male","itemid":"EST-18"} +]} diff --git a/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/combogrid/fluid.html b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/combogrid/fluid.html new file mode 100644 index 00000000..edf7fdb8 --- /dev/null +++ b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/combogrid/fluid.html @@ -0,0 +1,54 @@ + + + + + Fluid ComboGrid - jQuery EasyUI Demo + + + + + + + +

    Fluid ComboGrid

    +

    This example shows how to set the width of ComboGrid to a percentage of its parent container.

    +
    +

    width: 50%

    + +

    width: 30%

    + + + \ No newline at end of file diff --git a/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/combogrid/initvalue.html b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/combogrid/initvalue.html new file mode 100644 index 00000000..b88f2456 --- /dev/null +++ b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/combogrid/initvalue.html @@ -0,0 +1,33 @@ + + + + + Initialize Value for ComboGrid - jQuery EasyUI Demo + + + + + + + +

    Initialize Value for ComboGrid

    +

    Initialize value when ComboGrid is created.

    +
    + + + \ No newline at end of file diff --git a/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/combogrid/multiple.html b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/combogrid/multiple.html new file mode 100644 index 00000000..8f9cc80c --- /dev/null +++ b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/combogrid/multiple.html @@ -0,0 +1,37 @@ + + + + + Multiple ComboGrid - jQuery EasyUI Demo + + + + + + + +

    Multiple ComboGrid

    +

    Click the right arrow button to show the DataGrid and select items.

    +
    + + + + \ No newline at end of file diff --git a/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/combogrid/navigation.html b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/combogrid/navigation.html new file mode 100644 index 00000000..646ba82b --- /dev/null +++ b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/combogrid/navigation.html @@ -0,0 +1,38 @@ + + + + + Navigate ComboGrid - jQuery EasyUI Demo + + + + + + + +

    Navigate ComboGrid

    +

    Navigate through grid items with keyboard to select an item.

    +
    + + SelectOnNavigation +
    + + + + \ No newline at end of file diff --git a/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/combotree/actions.html b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/combotree/actions.html new file mode 100644 index 00000000..d5d86a3a --- /dev/null +++ b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/combotree/actions.html @@ -0,0 +1,39 @@ + + + + + ComboTree Actions - jQuery EasyUI Demo + + + + + + + +

    ComboTree Actions

    +

    Click the buttons below to perform actions

    + + + + + + \ No newline at end of file diff --git a/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/combotree/basic.html b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/combotree/basic.html new file mode 100644 index 00000000..c168d7af --- /dev/null +++ b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/combotree/basic.html @@ -0,0 +1,19 @@ + + + + + Basic ComboTree - jQuery EasyUI Demo + + + + + + + +

    Basic ComboTree

    +

    Click the right arrow button to show the tree panel.

    +
    + + + + \ No newline at end of file diff --git a/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/combotree/fluid.html b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/combotree/fluid.html new file mode 100644 index 00000000..be131de4 --- /dev/null +++ b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/combotree/fluid.html @@ -0,0 +1,22 @@ + + + + + Fluid ComboTree - jQuery EasyUI Demo + + + + + + + +

    Fluid ComboTree

    +

    This example shows how to set the width of ComboTree to a percentage of its parent container.

    +
    +

    width: 50%

    + +

    width: 30%, height: 26px

    + + + + \ No newline at end of file diff --git a/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/combotree/initvalue.html b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/combotree/initvalue.html new file mode 100644 index 00000000..a5ac8a8a --- /dev/null +++ b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/combotree/initvalue.html @@ -0,0 +1,19 @@ + + + + + Initialize Value for ComboTree - jQuery EasyUI Demo + + + + + + + +

    Initialize Value for ComboTree

    +

    Initialize Value when ComboTree is created.

    +
    + + + + \ No newline at end of file diff --git a/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/combotree/multiple.html b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/combotree/multiple.html new file mode 100644 index 00000000..704e86e4 --- /dev/null +++ b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/combotree/multiple.html @@ -0,0 +1,22 @@ + + + + + Multiple ComboTree - jQuery EasyUI Demo + + + + + + + +

    Multiple ComboTree

    +

    Click the right arrow button to show the tree panel and select multiple nodes.

    +
    + Cascade Check: + +
    + + + + \ No newline at end of file diff --git a/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/combotree/tree_data1.json b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/combotree/tree_data1.json new file mode 100644 index 00000000..83fb0d61 --- /dev/null +++ b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/combotree/tree_data1.json @@ -0,0 +1,49 @@ +[{ + "id":1, + "text":"My Documents", + "children":[{ + "id":11, + "text":"Photos", + "state":"closed", + "children":[{ + "id":111, + "text":"Friend" + },{ + "id":112, + "text":"Wife" + },{ + "id":113, + "text":"Company" + }] + },{ + "id":12, + "text":"Program Files", + "children":[{ + "id":121, + "text":"Intel" + },{ + "id":122, + "text":"Java", + "attributes":{ + "p1":"Custom Attribute1", + "p2":"Custom Attribute2" + } + },{ + "id":123, + "text":"Microsoft Office" + },{ + "id":124, + "text":"Games", + "checked":true + }] + },{ + "id":13, + "text":"index.html" + },{ + "id":14, + "text":"about.html" + },{ + "id":15, + "text":"welcome.html" + }] +}] diff --git a/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/datagrid/aligncolumns.html b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/datagrid/aligncolumns.html new file mode 100644 index 00000000..cc86de67 --- /dev/null +++ b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/datagrid/aligncolumns.html @@ -0,0 +1,32 @@ + + + + + Aligning Columns in DataGrid - jQuery EasyUI Demo + + + + + + + +

    Aligning Columns in DataGrid

    +

    Use align and halign properties to set the alignment of the columns and their header.

    +
    + + + + + + + + + + + + +
    Item IDProductList PriceUnit CostAttributeStatus
    + + + \ No newline at end of file diff --git a/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/datagrid/basic.html b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/datagrid/basic.html new file mode 100644 index 00000000..8dcc2f34 --- /dev/null +++ b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/datagrid/basic.html @@ -0,0 +1,32 @@ + + + + + Basic DataGrid - jQuery EasyUI Demo + + + + + + + +

    Basic DataGrid

    +

    The DataGrid is created from markup, no JavaScript code needed.

    +
    + + + + + + + + + + + + +
    Item IDProductList PriceUnit CostAttributeStatus
    + + + \ No newline at end of file diff --git a/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/datagrid/cacheeditor.html b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/datagrid/cacheeditor.html new file mode 100644 index 00000000..c793c427 --- /dev/null +++ b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/datagrid/cacheeditor.html @@ -0,0 +1,149 @@ + + + + + Cache Editor for DataGrid - jQuery EasyUI Demo + + + + + + + +

    Cache Editor for DataGrid

    +

    This example shows how to cache the editors for datagrid to improve the editing speed.

    +
    + + + + + + + + + + + + +
    Item IDProductList PriceUnit CostAttributeStatus
    + + + + + + + \ No newline at end of file diff --git a/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/datagrid/cellediting.html b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/datagrid/cellediting.html new file mode 100644 index 00000000..e67b1bff --- /dev/null +++ b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/datagrid/cellediting.html @@ -0,0 +1,79 @@ + + + + + Cell Editing in DataGrid - jQuery EasyUI Demo + + + + + + + +

    Cell Editing in DataGrid

    +

    Click a cell to start editing.

    +
    + + + + + + + + + + + + +
    Item IDProductList PriceUnit CostAttributeStatus
    + + + + \ No newline at end of file diff --git a/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/datagrid/cellstyle.html b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/datagrid/cellstyle.html new file mode 100644 index 00000000..3140fa36 --- /dev/null +++ b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/datagrid/cellstyle.html @@ -0,0 +1,42 @@ + + + + + DataGrid Cell Style - jQuery EasyUI Demo + + + + + + + +

    DataGrid Cell Style

    +

    The cells which listprice value is less than 30 are highlighted.

    +
    + + + + + + + + + + + +
    Item IDProductList PriceUnit CostAttributeStatus
    + + + \ No newline at end of file diff --git a/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/datagrid/checkbox.html b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/datagrid/checkbox.html new file mode 100644 index 00000000..3ea251d5 --- /dev/null +++ b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/datagrid/checkbox.html @@ -0,0 +1,42 @@ + + + + + CheckBox Selection on DataGrid - jQuery EasyUI Demo + + + + + + + +

    CheckBox Selection on DataGrid

    +

    Click the checkbox on header to select or unselect all selections.

    +
    + + + + + + + + + + + + + +
    Item IDProductList PriceUnit CostAttributeStatus
    +
    + Selection Mode: +
    + SelectOnCheck:
    + CheckOnSelect: +
    + + + \ No newline at end of file diff --git a/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/datagrid/clientpagination.html b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/datagrid/clientpagination.html new file mode 100644 index 00000000..960a1a3c --- /dev/null +++ b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/datagrid/clientpagination.html @@ -0,0 +1,89 @@ + + + + + Client Side Pagination in DataGrid - jQuery EasyUI Demo + + + + + + + +

    Client Side Pagination in DataGrid

    +

    This sample shows how to implement client side pagination in DataGrid.

    +
    + + + + + + + + + + + + + +
    Inv NoDateNameAmountPriceCostNote
    + + + \ No newline at end of file diff --git a/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/datagrid/columngroup.html b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/datagrid/columngroup.html new file mode 100644 index 00000000..af8f0f96 --- /dev/null +++ b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/datagrid/columngroup.html @@ -0,0 +1,34 @@ + + + + + Column Group - jQuery EasyUI Demo + + + + + + + +

    Column Group

    +

    The header cells can be merged. Useful to group columns under a category.

    +
    + + + + + + + + + + + + + + +
    Item IDProductItem Details
    List PriceUnit CostAttributeStatus
    + + + \ No newline at end of file diff --git a/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/datagrid/complextoolbar.html b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/datagrid/complextoolbar.html new file mode 100644 index 00000000..2ee44a58 --- /dev/null +++ b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/datagrid/complextoolbar.html @@ -0,0 +1,50 @@ + + + + + DataGrid Complex Toolbar - jQuery EasyUI Demo + + + + + + + +

    DataGrid Complex Toolbar

    +

    The DataGrid toolbar can be defined from a <div> markup, so you can define the layout of toolbar easily.

    +
    + + + + + + + + + + + +
    Item IDProductList PriceUnit CostAttributeStatus
    +
    + Date From: + To: + Language: + + Search +
    +
    + + + + + +
    + + \ No newline at end of file diff --git a/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/datagrid/contextmenu.html b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/datagrid/contextmenu.html new file mode 100644 index 00000000..e9a64fae --- /dev/null +++ b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/datagrid/contextmenu.html @@ -0,0 +1,81 @@ + + + + + Context Menu on DataGrid - jQuery EasyUI Demo + + + + + + + +

    Context Menu on DataGrid

    +

    Right click on the header of DataGrid to display context menu.

    +
    +
    + + + \ No newline at end of file diff --git a/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/datagrid/custompager.html b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/datagrid/custompager.html new file mode 100644 index 00000000..baa66a42 --- /dev/null +++ b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/datagrid/custompager.html @@ -0,0 +1,53 @@ + + + + + Custom DataGrid Pager - jQuery EasyUI Demo + + + + + + + +

    Custom DataGrid Pager

    +

    You can append some buttons to the standard datagrid pager bar.

    +
    + + + + + + + + + + + +
    Item IDProductList PriceUnit CostAttributeStatus
    + + + \ No newline at end of file diff --git a/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/datagrid/datagrid_data1.json b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/datagrid/datagrid_data1.json new file mode 100644 index 00000000..e9a5be2f --- /dev/null +++ b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/datagrid/datagrid_data1.json @@ -0,0 +1,12 @@ +{"total":28,"rows":[ + {"productid":"FI-SW-01","productname":"Koi","unitcost":10.00,"status":"P","listprice":36.50,"attr1":"Large","itemid":"EST-1"}, + {"productid":"K9-DL-01","productname":"Dalmation","unitcost":12.00,"status":"P","listprice":18.50,"attr1":"Spotted Adult Female","itemid":"EST-10"}, + {"productid":"RP-SN-01","productname":"Rattlesnake","unitcost":12.00,"status":"P","listprice":38.50,"attr1":"Venomless","itemid":"EST-11"}, + {"productid":"RP-SN-01","productname":"Rattlesnake","unitcost":12.00,"status":"P","listprice":26.50,"attr1":"Rattleless","itemid":"EST-12"}, + {"productid":"RP-LI-02","productname":"Iguana","unitcost":12.00,"status":"P","listprice":35.50,"attr1":"Green Adult","itemid":"EST-13"}, + {"productid":"FL-DSH-01","productname":"Manx","unitcost":12.00,"status":"P","listprice":158.50,"attr1":"Tailless","itemid":"EST-14"}, + {"productid":"FL-DSH-01","productname":"Manx","unitcost":12.00,"status":"P","listprice":83.50,"attr1":"With tail","itemid":"EST-15"}, + {"productid":"FL-DLH-02","productname":"Persian","unitcost":12.00,"status":"P","listprice":23.50,"attr1":"Adult Female","itemid":"EST-16"}, + {"productid":"FL-DLH-02","productname":"Persian","unitcost":12.00,"status":"P","listprice":89.50,"attr1":"Adult Male","itemid":"EST-17"}, + {"productid":"AV-CB-01","productname":"Amazon Parrot","unitcost":92.00,"status":"P","listprice":63.50,"attr1":"Adult Male","itemid":"EST-18"} +]} diff --git a/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/datagrid/datagrid_data2.json b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/datagrid/datagrid_data2.json new file mode 100644 index 00000000..4a27e143 --- /dev/null +++ b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/datagrid/datagrid_data2.json @@ -0,0 +1,15 @@ +{"total":28,"rows":[ + {"productid":"FI-SW-01","unitcost":10.00,"status":"P","listprice":36.50,"attr1":"Large","itemid":"EST-1"}, + {"productid":"K9-DL-01","unitcost":12.00,"status":"P","listprice":18.50,"attr1":"Spotted Adult Female","itemid":"EST-10"}, + {"productid":"RP-SN-01","unitcost":12.00,"status":"P","listprice":28.50,"attr1":"Venomless","itemid":"EST-11"}, + {"productid":"RP-SN-01","unitcost":12.00,"status":"P","listprice":26.50,"attr1":"Rattleless","itemid":"EST-12"}, + {"productid":"RP-LI-02","unitcost":12.00,"status":"P","listprice":35.50,"attr1":"Green Adult","itemid":"EST-13"}, + {"productid":"FL-DSH-01","unitcost":12.00,"status":"P","listprice":158.50,"attr1":"Tailless","itemid":"EST-14"}, + {"productid":"FL-DSH-01","unitcost":12.00,"status":"P","listprice":83.50,"attr1":"With tail","itemid":"EST-15"}, + {"productid":"FL-DLH-02","unitcost":12.00,"status":"P","listprice":63.50,"attr1":"Adult Female","itemid":"EST-16"}, + {"productid":"FL-DLH-02","unitcost":12.00,"status":"P","listprice":89.50,"attr1":"Adult Male","itemid":"EST-17"}, + {"productid":"AV-CB-01","unitcost":92.00,"status":"P","listprice":63.50,"attr1":"Adult Male","itemid":"EST-18"} +],"footer":[ + {"unitcost":19.80,"listprice":60.40,"productid":"Average:"}, + {"unitcost":198.00,"listprice":604.00,"productid":"Total:"} +]} diff --git a/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/datagrid/fluid.html b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/datagrid/fluid.html new file mode 100644 index 00000000..b67e9ca6 --- /dev/null +++ b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/datagrid/fluid.html @@ -0,0 +1,32 @@ + + + + + Fluid DataGrid - jQuery EasyUI Demo + + + + + + + +

    Fluid DataGrid

    +

    This example shows how to assign percentage width to a column in DataGrid.

    +
    + + + + + + + + + + + + +
    Item ID(15%)Product(15%)List Price(15%)Unit Cost(15%)Attribute(25%)Status(15%)
    + + + \ No newline at end of file diff --git a/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/datagrid/footer.html b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/datagrid/footer.html new file mode 100644 index 00000000..53a3fbd9 --- /dev/null +++ b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/datagrid/footer.html @@ -0,0 +1,38 @@ + + + + + Footer Rows in DataGrid - jQuery EasyUI Demo + + + + + + + +

    Footer Rows in DataGrid

    +

    The summary informations can be displayed in footer rows.

    +
    + + + + + + + + + + + +
    Item IDProduct IDList PriceUnit CostAttributeStatus
    + + + \ No newline at end of file diff --git a/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/datagrid/formatcolumns.html b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/datagrid/formatcolumns.html new file mode 100644 index 00000000..c2b00765 --- /dev/null +++ b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/datagrid/formatcolumns.html @@ -0,0 +1,39 @@ + + + + + Format DataGrid Columns - jQuery EasyUI Demo + + + + + + + +

    Format DataGrid Columns

    +

    The list price value will show red color when less than 30.

    +
    + + + + + + + + + + + +
    Item IDProductList PriceUnit CostAttributeStatus
    + + + \ No newline at end of file diff --git a/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/datagrid/frozencolumns.html b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/datagrid/frozencolumns.html new file mode 100644 index 00000000..2bc21b1f --- /dev/null +++ b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/datagrid/frozencolumns.html @@ -0,0 +1,35 @@ + + + + + Frozen Columns in DataGrid - jQuery EasyUI Demo + + + + + + + +

    Frozen Columns in DataGrid

    +

    You can freeze some columns that can't scroll out of view.

    +
    + + + + + + + + + + + + + + + +
    Item IDProduct
    List PriceUnit CostAttributeStatus
    + + + \ No newline at end of file diff --git a/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/datagrid/frozenrows.html b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/datagrid/frozenrows.html new file mode 100644 index 00000000..72310dd0 --- /dev/null +++ b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/datagrid/frozenrows.html @@ -0,0 +1,44 @@ + + + + + Frozen Rows in DataGrid - jQuery EasyUI Demo + + + + + + + +

    Frozen Rows in DataGrid

    +

    This sample shows how to freeze some rows that will always be displayed at the top when the datagrid is scrolled down.

    +
    + + + + + + + + + + + + + + + +
    Item IDProduct
    List PriceUnit CostAttributeStatus
    + + + \ No newline at end of file diff --git a/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/datagrid/mergecells.html b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/datagrid/mergecells.html new file mode 100644 index 00000000..a50f9346 --- /dev/null +++ b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/datagrid/mergecells.html @@ -0,0 +1,58 @@ + + + + + Merge Cells for DataGrid - jQuery EasyUI Demo + + + + + + + +

    Merge Cells for DataGrid

    +

    Cells in DataGrid body can be merged.

    +
    + + + + + + + + + + + +
    ProductItem IDList PriceUnit CostAttributeStatus
    + + + \ No newline at end of file diff --git a/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/datagrid/multisorting.html b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/datagrid/multisorting.html new file mode 100644 index 00000000..a04c3eff --- /dev/null +++ b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/datagrid/multisorting.html @@ -0,0 +1,37 @@ + + + + + Multiple Sorting - jQuery EasyUI Demo + + + + + + + +

    Multiple Sorting

    +

    Set 'multiSort' property to true to enable multiple column sorting.

    +
    + + + + + + + + + + + + +
    Item IDProductList PriceUnit CostAttributeStatus
    + + + \ No newline at end of file diff --git a/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/datagrid/products.json b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/datagrid/products.json new file mode 100644 index 00000000..2c512bcf --- /dev/null +++ b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/datagrid/products.json @@ -0,0 +1,9 @@ +[ +{"productid":"FI-SW-01","productname":"Koi"}, +{"productid":"K9-DL-01","productname":"Dalmation"}, +{"productid":"RP-SN-01","productname":"Rattlesnake"}, +{"productid":"RP-LI-02","productname":"Iguana"}, +{"productid":"FL-DSH-01","productname":"Manx"}, +{"productid":"FL-DLH-02","productname":"Persian"}, +{"productid":"AV-CB-01","productname":"Amazon Parrot"} +] diff --git a/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/datagrid/rowborder.html b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/datagrid/rowborder.html new file mode 100644 index 00000000..24a18b71 --- /dev/null +++ b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/datagrid/rowborder.html @@ -0,0 +1,60 @@ + + + + + Row Border in DataGrid - jQuery EasyUI Demo + + + + + + + +

    Row Border in DataGrid

    +

    This sample shows how to change the row border style of datagrid.

    +
    + Border: + + Striped: + +
    + + + + + + + + + + + +
    Item IDProductList PriceUnit CostAttributeStatus
    + + + + + \ No newline at end of file diff --git a/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/datagrid/rowediting.html b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/datagrid/rowediting.html new file mode 100644 index 00000000..0bde624b --- /dev/null +++ b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/datagrid/rowediting.html @@ -0,0 +1,114 @@ + + + + + Row Editing in DataGrid - jQuery EasyUI Demo + + + + + + + +

    Row Editing in DataGrid

    +

    Click the row to start editing.

    +
    + + + + + + + + + + + + +
    Item IDProductList PriceUnit CostAttributeStatus
    + + + + + + \ No newline at end of file diff --git a/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/datagrid/rowstyle.html b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/datagrid/rowstyle.html new file mode 100644 index 00000000..d65a5c80 --- /dev/null +++ b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/datagrid/rowstyle.html @@ -0,0 +1,41 @@ + + + + + DataGrid Row Style - jQuery EasyUI Demo + + + + + + + +

    DataGrid Row Style

    +

    The rows which listprice value is less than 30 are highlighted.

    +
    + + + + + + + + + + + +
    Item IDProductList PriceUnit CostAttributeStatus
    + + + \ No newline at end of file diff --git a/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/datagrid/selection.html b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/datagrid/selection.html new file mode 100644 index 00000000..11185614 --- /dev/null +++ b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/datagrid/selection.html @@ -0,0 +1,57 @@ + + + + + DataGrid Selection - jQuery EasyUI Demo + + + + + + + +

    DataGrid Selection

    +

    Choose a selection mode and select one or more rows.

    + + + + + + + + + + + + +
    Item IDProductList PriceUnit CostAttributeStatus
    +
    + Selection Mode: + +
    + + + \ No newline at end of file diff --git a/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/datagrid/simpletoolbar.html b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/datagrid/simpletoolbar.html new file mode 100644 index 00000000..cbb918b8 --- /dev/null +++ b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/datagrid/simpletoolbar.html @@ -0,0 +1,45 @@ + + + + + DataGrid with Toolbar - jQuery EasyUI Demo + + + + + + + +

    DataGrid with Toolbar

    +

    Put buttons on top toolbar of DataGrid.

    +
    + + + + + + + + + + + +
    Item IDProductList PriceUnit CostAttributeStatus
    + + + \ No newline at end of file diff --git a/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/datagrid/transform.html b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/datagrid/transform.html new file mode 100644 index 00000000..ddc3a304 --- /dev/null +++ b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/datagrid/transform.html @@ -0,0 +1,46 @@ + + + + + Transform DataGrid from Table - jQuery EasyUI Demo + + + + + + + +

    Transform DataGrid from Table

    +

    Transform DataGrid from an existing, unformatted html table.

    +
    + Transform +
    + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Item IDProductList PriceAttribute
    EST-1FI-SW-0136.50Large
    EST-10K9-DL-0118.50Spotted Adult Female
    EST-11RP-SN-0128.50Venomless
    EST-12RP-SN-0126.50Rattleless
    EST-13RP-LI-0235.50Green Adult
    + + \ No newline at end of file diff --git a/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/datebox/basic.html b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/datebox/basic.html new file mode 100644 index 00000000..eb3417b9 --- /dev/null +++ b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/datebox/basic.html @@ -0,0 +1,18 @@ + + + + + Basic DateBox - jQuery EasyUI Demo + + + + + + + +

    Basic DateBox

    +

    Click the calendar image on the right side.

    +
    + + + \ No newline at end of file diff --git a/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/datebox/buttons.html b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/datebox/buttons.html new file mode 100644 index 00000000..7ba5e5c4 --- /dev/null +++ b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/datebox/buttons.html @@ -0,0 +1,28 @@ + + + + + DateBox Buttons - jQuery EasyUI Demo + + + + + + + +

    DateBox Buttons

    +

    This example shows how to customize the datebox buttons underneath the calendar.

    +
    + + + + + \ No newline at end of file diff --git a/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/datebox/dateformat.html b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/datebox/dateformat.html new file mode 100644 index 00000000..ead2064e --- /dev/null +++ b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/datebox/dateformat.html @@ -0,0 +1,39 @@ + + + + + Date Format - jQuery EasyUI Demo + + + + + + + +

    Date Format

    +

    Different date formats are applied to different DateBox components.

    +
    + + + + + \ No newline at end of file diff --git a/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/datebox/events.html b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/datebox/events.html new file mode 100644 index 00000000..bf5c912c --- /dev/null +++ b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/datebox/events.html @@ -0,0 +1,27 @@ + + + + + DateBox Events - jQuery EasyUI Demo + + + + + + + +

    DateBox Events

    +

    Click the calendar image on the right side.

    +
    + +
    + Selected Date: + +
    + + + \ No newline at end of file diff --git a/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/datebox/fluid.html b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/datebox/fluid.html new file mode 100644 index 00000000..b30f70ae --- /dev/null +++ b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/datebox/fluid.html @@ -0,0 +1,21 @@ + + + + + Fluid DateBox - jQuery EasyUI Demo + + + + + + + +

    Fluid DateBox

    +

    This example shows how to set the width of DateBox to a percentage of its parent container.

    +
    +

    width: 50%

    + +

    width: 30%

    + + + \ No newline at end of file diff --git a/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/datebox/restrict.html b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/datebox/restrict.html new file mode 100644 index 00000000..84c8884d --- /dev/null +++ b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/datebox/restrict.html @@ -0,0 +1,30 @@ + + + + + Restrict Date Range in DateBox - jQuery EasyUI Demo + + + + + + + +

    Restrict Date Range in DateBox

    +

    This example shows how to restrict the user to select only ten days from now.

    +
    + + + + \ No newline at end of file diff --git a/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/datebox/sharedcalendar.html b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/datebox/sharedcalendar.html new file mode 100644 index 00000000..48c3c1ee --- /dev/null +++ b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/datebox/sharedcalendar.html @@ -0,0 +1,30 @@ + + + + + Shared Calendar in DateBox - jQuery EasyUI Demo + + + + + + + +

    Shared Calendar in DateBox

    +

    Multiple datebox components can share a calendar and use it to pick dates.

    +
    + + + + + + + +
    Start Date: + + End Date: + +
    +
    + + \ No newline at end of file diff --git a/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/datebox/validate.html b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/datebox/validate.html new file mode 100644 index 00000000..fae9b070 --- /dev/null +++ b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/datebox/validate.html @@ -0,0 +1,30 @@ + + + + + Validate DateBox - jQuery EasyUI Demo + + + + + + + +

    Validate DateBox

    +

    When the selected date is greater than specified date. The field validator will raise an error.

    +
    + + + + \ No newline at end of file diff --git a/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/datetimebox/basic.html b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/datetimebox/basic.html new file mode 100644 index 00000000..a09f2452 --- /dev/null +++ b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/datetimebox/basic.html @@ -0,0 +1,18 @@ + + + + + Basic DateTimeBox - jQuery EasyUI Demo + + + + + + + +

    Basic DateTimeBox

    +

    Click the calendar image on the right side.

    +
    + + + \ No newline at end of file diff --git a/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/datetimebox/fluid.html b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/datetimebox/fluid.html new file mode 100644 index 00000000..87b1ca20 --- /dev/null +++ b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/datetimebox/fluid.html @@ -0,0 +1,21 @@ + + + + + Fluid DateTimeBox - jQuery EasyUI Demo + + + + + + + +

    Fluid DateTimeBox

    +

    This example shows how to set the width of DateTimeBox to a percentage of its parent container.

    +
    +

    width: 50%

    + +

    width: 30%

    + + + \ No newline at end of file diff --git a/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/datetimebox/initvalue.html b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/datetimebox/initvalue.html new file mode 100644 index 00000000..c9d2e11d --- /dev/null +++ b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/datetimebox/initvalue.html @@ -0,0 +1,19 @@ + + + + + Initialize Value for DateTime - jQuery EasyUI Demo + + + + + + + +

    Initialize Value for DateTime

    +

    The value is initialized when DateTimeBox has been created.

    +
    + + + + \ No newline at end of file diff --git a/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/datetimebox/showseconds.html b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/datetimebox/showseconds.html new file mode 100644 index 00000000..54f9c372 --- /dev/null +++ b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/datetimebox/showseconds.html @@ -0,0 +1,22 @@ + + + + + Display Seconds - jQuery EasyUI Demo + + + + + + + +

    Display Seconds

    +

    The user can decide to display seconds part or not.

    +
    + Show Seconds: + +
    + + + + \ No newline at end of file diff --git a/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/datetimespinner/basic.html b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/datetimespinner/basic.html new file mode 100644 index 00000000..1e30a719 --- /dev/null +++ b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/datetimespinner/basic.html @@ -0,0 +1,18 @@ + + + + + Basic DateTimeSpinner - jQuery EasyUI Demo + + + + + + + +

    Basic DateTimeSpinner

    +

    Click spin button to adjust date and time.

    +
    + + + \ No newline at end of file diff --git a/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/datetimespinner/clearicon.html b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/datetimespinner/clearicon.html new file mode 100644 index 00000000..135bf297 --- /dev/null +++ b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/datetimespinner/clearicon.html @@ -0,0 +1,28 @@ + + + + + DateTimeSpinner with Clear Icon - jQuery EasyUI Demo + + + + + + + +

    DateTimeSpinner with Clear Icon

    +

    A clear icon can be attached to the datetimespinner. Click it to clear the entered value.

    +
    + + + \ No newline at end of file diff --git a/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/datetimespinner/fluid.html b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/datetimespinner/fluid.html new file mode 100644 index 00000000..eeca9b9d --- /dev/null +++ b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/datetimespinner/fluid.html @@ -0,0 +1,21 @@ + + + + + Fluid DateTimeSpinner - jQuery EasyUI Demo + + + + + + + +

    Fluid DateTimeSpinner

    +

    The width of datetimespinner is set in percentages.

    +
    +

    width: 50%

    + +

    width: 30%

    + + + \ No newline at end of file diff --git a/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/datetimespinner/format.html b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/datetimespinner/format.html new file mode 100644 index 00000000..427e1867 --- /dev/null +++ b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/datetimespinner/format.html @@ -0,0 +1,50 @@ + + + + + Format DateTimeSpinner - jQuery EasyUI Demo + + + + + + + +

    Format DateTimeSpinner

    +

    The DataTimeSpinner value can be formatted by specifying the 'formatter' and 'parser' functions.

    +
    +

    mm/dd/yyyy hh:mm

    + +

    mm/dd/yyyy

    + +

    yyyy-mm

    + + + + \ No newline at end of file diff --git a/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/demo.css b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/demo.css new file mode 100644 index 00000000..5c014676 --- /dev/null +++ b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/demo.css @@ -0,0 +1,21 @@ +*{ + font-size:12px; +} +body { + font-family:verdana,helvetica,arial,sans-serif; + padding:20px; + font-size:12px; + margin:0; +} +h2 { + font-size:18px; + font-weight:bold; + margin:0; + margin-bottom:15px; +} +.demo-info{ + padding:0 0 12px 0; +} +.demo-tip{ + display:none; +} diff --git a/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/dialog/basic.html b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/dialog/basic.html new file mode 100644 index 00000000..e745b373 --- /dev/null +++ b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/dialog/basic.html @@ -0,0 +1,23 @@ + + + + + Basic Dialog - jQuery EasyUI Demo + + + + + + + +

    Basic Dialog

    +

    Click below button to open or close dialog.

    +
    + Open + Close +
    +
    + The dialog content. +
    + + \ No newline at end of file diff --git a/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/dialog/complextoolbar.html b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/dialog/complextoolbar.html new file mode 100644 index 00000000..175fa731 --- /dev/null +++ b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/dialog/complextoolbar.html @@ -0,0 +1,46 @@ + + + + + Complex Toolbar on Dialog - jQuery EasyUI Demo + + + + + + + +

    Complex Toolbar on Dialog

    +

    This sample shows how to create complex toolbar on dialog.

    +
    + Open + Close +
    +
    + The dialog content. +
    +
    + + + + + +
    + Edit + Help + + +
    +
    +
    + Save + Close +
    + + + \ No newline at end of file diff --git a/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/dialog/fluid.html b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/dialog/fluid.html new file mode 100644 index 00000000..b9809f06 --- /dev/null +++ b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/dialog/fluid.html @@ -0,0 +1,24 @@ + + + + + Fluid Dialog - jQuery EasyUI Demo + + + + + + + +

    Fluid Dialog

    +

    This example shows how to set the width of Dialog to a percentage of its parent container.

    +
    +
    +

    width: 80%; height: 200px

    +
    + + \ No newline at end of file diff --git a/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/dialog/toolbarbuttons.html b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/dialog/toolbarbuttons.html new file mode 100644 index 00000000..35013a5a --- /dev/null +++ b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/dialog/toolbarbuttons.html @@ -0,0 +1,52 @@ + + + + + Toolbar and Buttons - jQuery EasyUI Demo + + + + + + + +

    Toolbar and Buttons

    +

    The toolbar and buttons can be added to dialog.

    +
    + Open + Close +
    +
    + The dialog content. +
    + + + \ No newline at end of file diff --git a/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/draggable/basic.html b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/draggable/basic.html new file mode 100644 index 00000000..0c96a059 --- /dev/null +++ b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/draggable/basic.html @@ -0,0 +1,21 @@ + + + + + Basic Draggable - jQuery EasyUI Demo + + + + + + + +

    Basic Draggable

    +

    Move the boxes below by clicking on it with mouse.

    +
    +
    +
    +
    Title
    +
    + + \ No newline at end of file diff --git a/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/draggable/constrain.html b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/draggable/constrain.html new file mode 100644 index 00000000..a2dfa6cc --- /dev/null +++ b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/draggable/constrain.html @@ -0,0 +1,35 @@ + + + + + Constrain Draggable - jQuery EasyUI Demo + + + + + + + +

    Constrain Draggable

    +

    The draggable object can only be moved within its parent container.

    +
    +
    +
    +
    +
    + + + + \ No newline at end of file diff --git a/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/draggable/snap.html b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/draggable/snap.html new file mode 100644 index 00000000..5f0103a7 --- /dev/null +++ b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/draggable/snap.html @@ -0,0 +1,37 @@ + + + + + Snap Draggable - jQuery EasyUI Demo + + + + + + + +

    Snap Draggable

    +

    This sample shows how to snap a draggable object to a 20x20 grid.

    +
    +
    +
    +
    +
    + + + + \ No newline at end of file diff --git a/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/droppable/accept.html b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/droppable/accept.html new file mode 100644 index 00000000..cf56d084 --- /dev/null +++ b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/droppable/accept.html @@ -0,0 +1,78 @@ + + + + + Accept a Drop - jQuery EasyUI Demo + + + + + + + +

    Accept a Drop

    +

    Some draggable object can not be accepted.

    +
    +
    + drag me! +
    Drag 1
    +
    Drag 2
    +
    Drag 3
    +
    +
    + drop here! +
    +
    + + + + + \ No newline at end of file diff --git a/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/droppable/basic.html b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/droppable/basic.html new file mode 100644 index 00000000..ecf803a9 --- /dev/null +++ b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/droppable/basic.html @@ -0,0 +1,77 @@ + + + + + Basic Droppable - jQuery EasyUI Demo + + + + + + + +

    Basic Droppable

    +

    Drag the boxed on left to the target area on right.

    +
    +
    +
    Source
    +
    +
    Apple
    +
    Peach
    +
    Orange
    +
    +
    +
    +
    Target
    +
    +
    +
    +
    + + + + \ No newline at end of file diff --git a/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/droppable/sort.html b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/droppable/sort.html new file mode 100644 index 00000000..37c0d2f4 --- /dev/null +++ b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/droppable/sort.html @@ -0,0 +1,71 @@ + + + + + Change Items Order - jQuery EasyUI Demo + + + + + + + +

    Change Items Order

    +

    Drag the list items to change their order.

    +
    +
      +
    • Drag 1
    • +
    • Drag 2
    • +
    • Drag 3
    • +
    • Drag 4
    • +
    • Drag 5
    • +
    • Drag 6
    • +
    + + + + + \ No newline at end of file diff --git a/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/easyloader/basic.html b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/easyloader/basic.html new file mode 100644 index 00000000..44a09ebb --- /dev/null +++ b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/easyloader/basic.html @@ -0,0 +1,75 @@ + + + + + Basic EasyLoader - jQuery EasyUI Demo + + + + + + + +

    Basic EasyLoader

    +
    +
    +
    Click the buttons below to load components dynamically.
    +
    + +
    +
    +
    + + + + + \ No newline at end of file diff --git a/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/filebox/basic.html b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/filebox/basic.html new file mode 100644 index 00000000..25cf5f70 --- /dev/null +++ b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/filebox/basic.html @@ -0,0 +1,34 @@ + + + + + Basic FileBox - jQuery EasyUI Demo + + + + + + + +

    Basic FileBox

    +

    The filebox component represents a file field of the forms.

    +
    +
    +
    +
    Name:
    + +
    +
    +
    File1:
    + +
    +
    +
    File2:
    + +
    +
    + Upload +
    +
    + + \ No newline at end of file diff --git a/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/filebox/buttonalign.html b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/filebox/buttonalign.html new file mode 100644 index 00000000..f87d9542 --- /dev/null +++ b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/filebox/buttonalign.html @@ -0,0 +1,29 @@ + + + + + Button Align on FileBox - jQuery EasyUI Demo + + + + + + + +

    Button Align on FileBox

    +

    Change the button align to the left or right of filebox.

    +
    + Select Button Align: + +
    + + + + \ No newline at end of file diff --git a/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/filebox/fluid.html b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/filebox/fluid.html new file mode 100644 index 00000000..ef32e481 --- /dev/null +++ b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/filebox/fluid.html @@ -0,0 +1,21 @@ + + + + + Fluid FileBox - jQuery EasyUI Demo + + + + + + + +

    Fluid FileBox

    +

    This example shows how to set the width of FileBox to a percentage of its parent container.

    +
    +

    width: 50%

    + +

    width: 30%

    + + + \ No newline at end of file diff --git a/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/form/basic.html b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/form/basic.html new file mode 100644 index 00000000..65e25c28 --- /dev/null +++ b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/form/basic.html @@ -0,0 +1,59 @@ + + + + + Basic Form - jQuery EasyUI Demo + + + + + + + +

    Basic Form

    +

    Fill the form and submit it.

    +
    +
    +
    +
    + + + + + + + + + + + + + + + + + + + + + +
    Name:
    Email:
    Subject:
    Message:
    Language: + +
    +
    +
    + Submit + Clear +
    +
    +
    + + + \ No newline at end of file diff --git a/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/form/form_data1.json b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/form/form_data1.json new file mode 100644 index 00000000..7103c838 --- /dev/null +++ b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/form/form_data1.json @@ -0,0 +1,7 @@ +{ + "name":"easyui", + "email":"easyui@gmail.com", + "subject":"Subject Title", + "message":"Message Content", + "language":"de" +} \ No newline at end of file diff --git a/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/form/load.html b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/form/load.html new file mode 100644 index 00000000..8c0788da --- /dev/null +++ b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/form/load.html @@ -0,0 +1,68 @@ + + + + + Load Form Data - jQuery EasyUI Demo + + + + + + + +

    Load Form Data

    +

    Click the buttons below to load form data.

    + +
    +
    +
    + + + + + + + + + + + + + + + + + + + + + +
    Name:
    Email:
    Subject:
    Message:
    Language: + +
    +
    +
    +
    + + + \ No newline at end of file diff --git a/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/form/validateonsubmit.html b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/form/validateonsubmit.html new file mode 100644 index 00000000..15f8c5dc --- /dev/null +++ b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/form/validateonsubmit.html @@ -0,0 +1,63 @@ + + + + + Validate Form on Submit - jQuery EasyUI Demo + + + + + + + +

    Validate Form on Submit

    +

    The form does not perform validation before being submitted.

    +
    +
    +
    +
    + + + + + + + + + + + + + + + + + + + + + +
    Name:
    Email:
    Subject:
    Message:
    Language: + +
    +
    +
    + Submit + Clear +
    +
    +
    + + + \ No newline at end of file diff --git a/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/layout/_content.html b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/layout/_content.html new file mode 100644 index 00000000..66c1bd5a --- /dev/null +++ b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/layout/_content.html @@ -0,0 +1,18 @@ + + + + + AJAX Content + + +

    jQuery EasyUI framework help you build your web page easily.

    +
      +
    • easyui is a collection of user-interface plugin based on jQuery.
    • +
    • easyui provides essential functionality for building modern, interactive, javascript applications.
    • +
    • using easyui you don't need to write many javascript code, you usually defines user-interface by writing some HTML markup.
    • +
    • complete framework for HTML5 web page.
    • +
    • easyui save your time and scales while developing your products.
    • +
    • easyui is very easy but powerful.
    • +
    + + \ No newline at end of file diff --git a/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/layout/addremove.html b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/layout/addremove.html new file mode 100644 index 00000000..34977c4b --- /dev/null +++ b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/layout/addremove.html @@ -0,0 +1,53 @@ + + + + + Add and Remove Layout - jQuery EasyUI Demo + + + + + + + +

    Add and Remove Layout

    +

    Click the buttons below to add or remove region panel of layout.

    +
    + Select Region Panel: + + Add + Remove +
    +
    +
    +
    +
    +
    +
    +
    + + + \ No newline at end of file diff --git a/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/layout/autoheight.html b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/layout/autoheight.html new file mode 100644 index 00000000..0c882f2c --- /dev/null +++ b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/layout/autoheight.html @@ -0,0 +1,59 @@ + + + + + Auto Height for Layout - jQuery EasyUI Demo + + + + + + + +

    Auto Height for Layout

    +

    This example shows how to auto adjust layout height after dynamically adding items.

    + +
    +
    +
    +
    +
    +

    Panel Content.

    +

    Panel Content.

    +

    Panel Content.

    +

    Panel Content.

    +

    Panel Content.

    +
    +
    + + + \ No newline at end of file diff --git a/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/layout/basic.html b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/layout/basic.html new file mode 100644 index 00000000..29e2c393 --- /dev/null +++ b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/layout/basic.html @@ -0,0 +1,39 @@ + + + + + Basic Layout - jQuery EasyUI Demo + + + + + + + +

    Basic Layout

    +

    The layout contains north,south,west,east and center regions.

    +
    +
    +
    +
    +
    +
    +
    + + + + + + + + + + + +
    Item IDProduct IDList PriceUnit CostAttributeStatus
    +
    +
    + + + \ No newline at end of file diff --git a/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/layout/complex.html b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/layout/complex.html new file mode 100644 index 00000000..833eb09f --- /dev/null +++ b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/layout/complex.html @@ -0,0 +1,57 @@ + + + + + Complex Layout - jQuery EasyUI Demo + + + + + + + +

    Complex Layout

    +

    This sample shows how to create a complex layout.

    +
    +
    +
    +
    +
    +
      +
      +
      +
      +
      + content1 +
      +
      + content2 +
      +
      + content3 +
      +
      +
      +
      +
      +
      +
      + + + + + + + + + + + +
      Item IDProduct IDList PriceUnit CostAttributeStatus
      +
      +
      +
      +
      + + \ No newline at end of file diff --git a/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/layout/datagrid_data1.json b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/layout/datagrid_data1.json new file mode 100644 index 00000000..e9a5be2f --- /dev/null +++ b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/layout/datagrid_data1.json @@ -0,0 +1,12 @@ +{"total":28,"rows":[ + {"productid":"FI-SW-01","productname":"Koi","unitcost":10.00,"status":"P","listprice":36.50,"attr1":"Large","itemid":"EST-1"}, + {"productid":"K9-DL-01","productname":"Dalmation","unitcost":12.00,"status":"P","listprice":18.50,"attr1":"Spotted Adult Female","itemid":"EST-10"}, + {"productid":"RP-SN-01","productname":"Rattlesnake","unitcost":12.00,"status":"P","listprice":38.50,"attr1":"Venomless","itemid":"EST-11"}, + {"productid":"RP-SN-01","productname":"Rattlesnake","unitcost":12.00,"status":"P","listprice":26.50,"attr1":"Rattleless","itemid":"EST-12"}, + {"productid":"RP-LI-02","productname":"Iguana","unitcost":12.00,"status":"P","listprice":35.50,"attr1":"Green Adult","itemid":"EST-13"}, + {"productid":"FL-DSH-01","productname":"Manx","unitcost":12.00,"status":"P","listprice":158.50,"attr1":"Tailless","itemid":"EST-14"}, + {"productid":"FL-DSH-01","productname":"Manx","unitcost":12.00,"status":"P","listprice":83.50,"attr1":"With tail","itemid":"EST-15"}, + {"productid":"FL-DLH-02","productname":"Persian","unitcost":12.00,"status":"P","listprice":23.50,"attr1":"Adult Female","itemid":"EST-16"}, + {"productid":"FL-DLH-02","productname":"Persian","unitcost":12.00,"status":"P","listprice":89.50,"attr1":"Adult Male","itemid":"EST-17"}, + {"productid":"AV-CB-01","productname":"Amazon Parrot","unitcost":92.00,"status":"P","listprice":63.50,"attr1":"Adult Male","itemid":"EST-18"} +]} diff --git a/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/layout/fluid.html b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/layout/fluid.html new file mode 100644 index 00000000..42f8c552 --- /dev/null +++ b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/layout/fluid.html @@ -0,0 +1,24 @@ + + + + + Fluid Layout - jQuery EasyUI Demo + + + + + + + +

      Fluid Layout

      +

      Percentage width of region panel in a layout.

      +
      +
      +
      +

      width: 30%

      +
      +
      +
      +
      + + \ No newline at end of file diff --git a/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/layout/full.html b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/layout/full.html new file mode 100644 index 00000000..c83bf07d --- /dev/null +++ b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/layout/full.html @@ -0,0 +1,19 @@ + + + + + Full Layout - jQuery EasyUI Demo + + + + + + + +
      north region
      +
      west content
      +
      east region
      +
      south region
      +
      + + \ No newline at end of file diff --git a/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/layout/nestedlayout.html b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/layout/nestedlayout.html new file mode 100644 index 00000000..1f8cc04b --- /dev/null +++ b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/layout/nestedlayout.html @@ -0,0 +1,31 @@ + + + + + Nested Layout - jQuery EasyUI Demo + + + + + + + +

      Nested Layout

      +

      The layout region panel contains another layout or other components.

      +
      +
      +
      +
      +
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + + + \ No newline at end of file diff --git a/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/layout/nocollapsible.html b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/layout/nocollapsible.html new file mode 100644 index 00000000..a6914a03 --- /dev/null +++ b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/layout/nocollapsible.html @@ -0,0 +1,34 @@ + + + + + No collapsible button in Layout - jQuery EasyUI Demo + + + + + + + +

      No collapsible button in Layout

      +

      The layout region panel has no collapsible button.

      +
      +
      +
      +
      +
      + +
      +
      +
      +
      +
      + + + \ No newline at end of file diff --git a/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/layout/propertygrid_data1.json b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/layout/propertygrid_data1.json new file mode 100644 index 00000000..12b2d007 --- /dev/null +++ b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/layout/propertygrid_data1.json @@ -0,0 +1,20 @@ +{"total":7,"rows":[ + {"name":"Name","value":"Bill Smith","group":"ID Settings","editor":"text"}, + {"name":"Address","value":"","group":"ID Settings","editor":"text"}, + {"name":"Age","value":"40","group":"ID Settings","editor":"numberbox"}, + {"name":"Birthday","value":"01/02/2012","group":"ID Settings","editor":"datebox"}, + {"name":"SSN","value":"123-456-7890","group":"ID Settings","editor":"text"}, + {"name":"Email","value":"bill@gmail.com","group":"Marketing Settings","editor":{ + "type":"validatebox", + "options":{ + "validType":"email" + } + }}, + {"name":"FrequentBuyer","value":"false","group":"Marketing Settings","editor":{ + "type":"checkbox", + "options":{ + "on":true, + "off":false + } + }} +]} \ No newline at end of file diff --git a/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/layout/tree_data1.json b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/layout/tree_data1.json new file mode 100644 index 00000000..83fb0d61 --- /dev/null +++ b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/layout/tree_data1.json @@ -0,0 +1,49 @@ +[{ + "id":1, + "text":"My Documents", + "children":[{ + "id":11, + "text":"Photos", + "state":"closed", + "children":[{ + "id":111, + "text":"Friend" + },{ + "id":112, + "text":"Wife" + },{ + "id":113, + "text":"Company" + }] + },{ + "id":12, + "text":"Program Files", + "children":[{ + "id":121, + "text":"Intel" + },{ + "id":122, + "text":"Java", + "attributes":{ + "p1":"Custom Attribute1", + "p2":"Custom Attribute2" + } + },{ + "id":123, + "text":"Microsoft Office" + },{ + "id":124, + "text":"Games", + "checked":true + }] + },{ + "id":13, + "text":"index.html" + },{ + "id":14, + "text":"about.html" + },{ + "id":15, + "text":"welcome.html" + }] +}] diff --git a/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/linkbutton/basic.html b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/linkbutton/basic.html new file mode 100644 index 00000000..741d68c4 --- /dev/null +++ b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/linkbutton/basic.html @@ -0,0 +1,33 @@ + + + + + Basic LinkButton - jQuery EasyUI Demo + + + + + + + +

      Basic LinkButton

      +

      Buttons can be created from <a> or <button> elements.

      +
      +

      Basic Buttons

      +
      + Add + Remove + Save + Cut + Text Button +
      +

      Fixed Width Buttons

      +
      + Search + Print + Reload + Help +
      + + + \ No newline at end of file diff --git a/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/linkbutton/fluid.html b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/linkbutton/fluid.html new file mode 100644 index 00000000..b1027b99 --- /dev/null +++ b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/linkbutton/fluid.html @@ -0,0 +1,33 @@ + + + + + Fluid LinkButton - jQuery EasyUI Demo + + + + + + + +

      Fluid LinkButton

      +

      This example shows how to set the width of LinkButton to a percentage of its parent container.

      +
      +

      width: 15%

      +
      + Add + Remove + Save + Cut + Text Button +
      +

      width: 20%

      +
      + Search + Print + Reload + Help +
      + + + \ No newline at end of file diff --git a/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/linkbutton/group.html b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/linkbutton/group.html new file mode 100644 index 00000000..852db671 --- /dev/null +++ b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/linkbutton/group.html @@ -0,0 +1,33 @@ + + + + + Button Group - jQuery EasyUI Demo + + + + + + + +

      Button Group

      +

      In a button group only one button can be selected.

      +
      + +
      + + + + \ No newline at end of file diff --git a/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/linkbutton/iconalign.html b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/linkbutton/iconalign.html new file mode 100644 index 00000000..99a8ec2c --- /dev/null +++ b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/linkbutton/iconalign.html @@ -0,0 +1,32 @@ + + + + + Icon Align on LinkButton - jQuery EasyUI Demo + + + + + + + +

      Icon Align on LinkButton

      +

      Change the icon align to place icon on left, right, top or bottom of button.

      +
      +
      + Select Icon Align: + +
      +
      + Add + Remove + Save + Cut +
      + + \ No newline at end of file diff --git a/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/linkbutton/plain.html b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/linkbutton/plain.html new file mode 100644 index 00000000..0143c20e --- /dev/null +++ b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/linkbutton/plain.html @@ -0,0 +1,28 @@ + + + + + Plain LinkButton - jQuery EasyUI Demo + + + + + + + +

      Plain LinkButton

      +

      The buttons with plain style have transparent background.

      +
      + + + + \ No newline at end of file diff --git a/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/linkbutton/size.html b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/linkbutton/size.html new file mode 100644 index 00000000..265ecb58 --- /dev/null +++ b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/linkbutton/size.html @@ -0,0 +1,34 @@ + + + + + LinkButton Size - jQuery EasyUI Demo + + + + + + + +

      LinkButton Size

      +

      This sample shows how to display small buttons and large buttons.

      +
      +

      Small Buttons

      +
      + Add + Remove + Save + Cut + Text Button +
      +

      Large Buttons

      + + + + \ No newline at end of file diff --git a/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/linkbutton/style.html b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/linkbutton/style.html new file mode 100644 index 00000000..fd46c2bf --- /dev/null +++ b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/linkbutton/style.html @@ -0,0 +1,31 @@ + + + + + Style LinkButton - jQuery EasyUI Demo + + + + + + + +

      Style LinkButton

      +

      This example shows how to style a linkbutton.

      +
      + + + + + + \ No newline at end of file diff --git a/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/linkbutton/toggle.html b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/linkbutton/toggle.html new file mode 100644 index 00000000..ebab0d14 --- /dev/null +++ b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/linkbutton/toggle.html @@ -0,0 +1,25 @@ + + + + + Toggle Button - jQuery EasyUI Demo + + + + + + + +

      Toggle Button

      +

      Click the button below to switch its selected state.

      +
      +
      + Add + Remove + Save + Cut + Text Button +
      + + + \ No newline at end of file diff --git a/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/menu/basic.html b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/menu/basic.html new file mode 100644 index 00000000..ac6e1719 --- /dev/null +++ b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/menu/basic.html @@ -0,0 +1,68 @@ + + + + + Basic Menu - jQuery EasyUI Demo + + + + + + + +

      Basic Menu

      +

      Right click on page to display menu.

      +
      + +
      +
      New
      +
      + Open +
      +
      Word
      +
      Excel
      +
      PowerPoint
      +
      + M1 +
      +
      sub1
      +
      sub2
      +
      + Sub +
      +
      sub21
      +
      sub22
      +
      sub23
      +
      +
      +
      sub3
      +
      +
      +
      + Window Demos +
      +
      Window
      +
      Dialog
      + +
      +
      +
      +
      +
      Save
      +
      Print
      + +
      Exit
      +
      + + + \ No newline at end of file diff --git a/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/menu/customitem.html b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/menu/customitem.html new file mode 100644 index 00000000..bf4df9cf --- /dev/null +++ b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/menu/customitem.html @@ -0,0 +1,55 @@ + + + + + Custom Menu Item - jQuery EasyUI Demo + + + + + + + +

      Custom Menu Item

      +

      Right click on page to display menu, move to the 'Open' item to display its custom sub content.

      +
      +
      +
      New
      +
      + Open + +
      +
      Save
      +
      Print
      + +
      Exit
      +
      + + + + \ No newline at end of file diff --git a/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/menu/events.html b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/menu/events.html new file mode 100644 index 00000000..41f4b570 --- /dev/null +++ b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/menu/events.html @@ -0,0 +1,40 @@ + + + + + Menu Events - jQuery EasyUI Demo + + + + + + + +

      Menu Events

      +

      Right click on page to display menu and click an item.

      +
      +
      +
      New
      +
      Save
      +
      Print
      + +
      Exit
      +
      +
      +
      + + + \ No newline at end of file diff --git a/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/menubutton/actions.html b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/menubutton/actions.html new file mode 100644 index 00000000..6623d3da --- /dev/null +++ b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/menubutton/actions.html @@ -0,0 +1,58 @@ + + + + + MenuButton Actions - jQuery EasyUI Demo + + + + + + + +

      MenuButton Actions

      +

      Click the buttons below to perform actions.

      + +
      + Home + Edit + Help + About +
      +
      +
      Undo
      +
      Redo
      + +
      Cut
      +
      Copy
      +
      Paste
      + +
      + Toolbar +
      +
      Address
      +
      Link
      +
      Navigation Toolbar
      +
      Bookmark Toolbar
      + +
      New Toolbar...
      +
      +
      +
      Delete
      +
      Select All
      +
      +
      +
      Help
      +
      Update
      +
      About
      +
      + + + + \ No newline at end of file diff --git a/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/menubutton/alignment.html b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/menubutton/alignment.html new file mode 100644 index 00000000..5362745e --- /dev/null +++ b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/menubutton/alignment.html @@ -0,0 +1,69 @@ + + + + + Menu Alignment on MenuButton - jQuery EasyUI Demo + + + + + + + +

      Menu Alignment on MenuButton

      +

      This example shows how to change the alignment of the top level menu.

      +
      + Change Alignment: + +
      +
      + Home + Edit + Help + About + +
      +
      +
      Undo
      +
      Redo
      + +
      Cut
      +
      Copy
      +
      Paste
      + +
      + Toolbar +
      +
      Address
      +
      Link
      +
      Navigation Toolbar
      +
      Bookmark Toolbar
      + +
      New Toolbar...
      +
      +
      +
      Delete
      +
      Select All
      +
      +
      +
      Help
      +
      Update
      +
      About
      +
      +
      +
      History
      +
      Faq
      +
      Our Team
      +
      + + + \ No newline at end of file diff --git a/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/menubutton/basic.html b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/menubutton/basic.html new file mode 100644 index 00000000..e277296b --- /dev/null +++ b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/menubutton/basic.html @@ -0,0 +1,54 @@ + + + + + Basic MenuButton - jQuery EasyUI Demo + + + + + + + +

      Basic MenuButton

      +

      Move mouse over the button to drop down menu.

      +
      +
      + Home + Edit + Help + About +
      +
      +
      Undo
      +
      Redo
      + +
      Cut
      +
      Copy
      +
      Paste
      + +
      + Toolbar +
      +
      Address
      +
      Link
      +
      Navigation Toolbar
      +
      Bookmark Toolbar
      + +
      New Toolbar...
      +
      +
      +
      Delete
      +
      Select All
      +
      +
      +
      Help
      +
      Update
      +
      About
      +
      + + + \ No newline at end of file diff --git a/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/messager/alert.html b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/messager/alert.html new file mode 100644 index 00000000..ff7129d7 --- /dev/null +++ b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/messager/alert.html @@ -0,0 +1,40 @@ + + + + + Alert Messager - jQuery EasyUI Demo + + + + + + + +

      Alert Messager

      +

      Click on each button to display different alert message box.

      + + + + \ No newline at end of file diff --git a/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/messager/basic.html b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/messager/basic.html new file mode 100644 index 00000000..373c7ca7 --- /dev/null +++ b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/messager/basic.html @@ -0,0 +1,56 @@ + + + + + Basic Messager - jQuery EasyUI Demo + + + + + + + +

      Basic Messager

      +

      Click on each button to see a distinct message box.

      +
      + Show + Slide + Fade + Progress +
      + + + \ No newline at end of file diff --git a/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/messager/interactive.html b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/messager/interactive.html new file mode 100644 index 00000000..9ba70bf0 --- /dev/null +++ b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/messager/interactive.html @@ -0,0 +1,36 @@ + + + + + Interactive Messager - jQuery EasyUI Demo + + + + + + + +

      Interactive Messager

      +

      Click on each button to display interactive message box.

      +
      + Confirm + Prompt +
      + + + \ No newline at end of file diff --git a/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/messager/position.html b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/messager/position.html new file mode 100644 index 00000000..58886f12 --- /dev/null +++ b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/messager/position.html @@ -0,0 +1,140 @@ + + + + + Message Box Position - jQuery EasyUI Demo + + + + + + + +

      Message Box Position

      +

      Click the buttons below to display message box on different position.

      + + + + \ No newline at end of file diff --git a/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/numberbox/basic.html b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/numberbox/basic.html new file mode 100644 index 00000000..945c7c13 --- /dev/null +++ b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/numberbox/basic.html @@ -0,0 +1,24 @@ + + + + + Basic NumberBox - jQuery EasyUI Demo + + + + + + + +

      Basic NumberBox

      +

      The NumberBox can only accept inputing numbers.

      +
      +
      +

      List Price:

      + +

      Amount:

      + +
      + + + \ No newline at end of file diff --git a/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/numberbox/fluid.html b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/numberbox/fluid.html new file mode 100644 index 00000000..8a66bf7b --- /dev/null +++ b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/numberbox/fluid.html @@ -0,0 +1,24 @@ + + + + + Fluid NumberBox - jQuery EasyUI Demo + + + + + + + +

      Fluid NumberBox

      +

      This example shows how to set the width of NumberBox to a percentage of its parent container.

      +
      +
      +

      width: 100%

      + +

      width: 50%

      + +
      + + + \ No newline at end of file diff --git a/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/numberbox/format.html b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/numberbox/format.html new file mode 100644 index 00000000..ec5b6ff2 --- /dev/null +++ b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/numberbox/format.html @@ -0,0 +1,40 @@ + + + + + Format NumberBox - jQuery EasyUI Demo + + + + + + + +

      Format NumberBox

      +

      Number formatting is the ability to control how a number is displayed.

      +
      + + + + + + + + + + + + + + + + + + + + + +
      Number in the United States
      Number in France
      Currency:USD
      Currency:EUR
      + + + \ No newline at end of file diff --git a/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/numberbox/range.html b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/numberbox/range.html new file mode 100644 index 00000000..f2b96c0f --- /dev/null +++ b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/numberbox/range.html @@ -0,0 +1,25 @@ + + + + + Number Range - jQuery EasyUI Demo + + + + + + + +

      Number Range

      +

      The value is constrained to a specified range.

      +
      +
      +

      Amount:

      + +

      Weight:

      + +

      Age:

      + +
      + + \ No newline at end of file diff --git a/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/numberspinner/basic.html b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/numberspinner/basic.html new file mode 100644 index 00000000..a8b88637 --- /dev/null +++ b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/numberspinner/basic.html @@ -0,0 +1,25 @@ + + + + + Basic NumberSpinner - jQuery EasyUI Demo + + + + + + + +

      Basic NumberSpinner

      +

      Click spinner button to change value.

      +
      + +
      + Value: +
      + + \ No newline at end of file diff --git a/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/numberspinner/fluid.html b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/numberspinner/fluid.html new file mode 100644 index 00000000..e0ce1559 --- /dev/null +++ b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/numberspinner/fluid.html @@ -0,0 +1,21 @@ + + + + + Fluid NumberSpinner - jQuery EasyUI Demo + + + + + + + +

      Fluid NumberSpinner

      +

      This example shows how to set the width of NumberSpinner to a percentage of its parent container.

      +
      +

      width: 50%

      + +

      width: 30%

      + + + \ No newline at end of file diff --git a/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/numberspinner/increment.html b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/numberspinner/increment.html new file mode 100644 index 00000000..95b5a5f5 --- /dev/null +++ b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/numberspinner/increment.html @@ -0,0 +1,18 @@ + + + + + Increment Number - jQuery EasyUI Demo + + + + + + + +

      Increment Number

      +

      The sample shows how to set the increment step.

      +
      + + + \ No newline at end of file diff --git a/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/numberspinner/range.html b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/numberspinner/range.html new file mode 100644 index 00000000..00e13074 --- /dev/null +++ b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/numberspinner/range.html @@ -0,0 +1,18 @@ + + + + + Number Range - jQuery EasyUI Demo + + + + + + + +

      Number Range

      +

      The value is constrained to a range between 10 and 100.

      +
      + + + \ No newline at end of file diff --git a/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/pagination/attaching.html b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/pagination/attaching.html new file mode 100644 index 00000000..5c87427e --- /dev/null +++ b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/pagination/attaching.html @@ -0,0 +1,32 @@ + + + + + Attaching Other Components - jQuery EasyUI Demo + + + + + + + +

      Attaching Other Components

      +

      Any other components can be attached to page bar.

      +
      +
      +
      +
      +
      + + + + + +
      + + + +
      +
      + + \ No newline at end of file diff --git a/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/pagination/basic.html b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/pagination/basic.html new file mode 100644 index 00000000..98f7c495 --- /dev/null +++ b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/pagination/basic.html @@ -0,0 +1,20 @@ + + + + + Basic Pagination - jQuery EasyUI Demo + + + + + + + +

      Basic Pagination

      +

      The user can change page number and page size on page bar.

      +
      +
      +
      +
      + + \ No newline at end of file diff --git a/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/pagination/custombuttons.html b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/pagination/custombuttons.html new file mode 100644 index 00000000..2a75b88f --- /dev/null +++ b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/pagination/custombuttons.html @@ -0,0 +1,38 @@ + + + + + Custom Pagination Buttons - jQuery EasyUI Demo + + + + + + + +

      Custom Pagination Buttons

      +

      The customized buttons can be appended to page bar.

      +
      +
      +
      +
      + + + \ No newline at end of file diff --git a/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/pagination/layout.html b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/pagination/layout.html new file mode 100644 index 00000000..dcb679ab --- /dev/null +++ b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/pagination/layout.html @@ -0,0 +1,62 @@ + + + + + Pagination Layout - jQuery EasyUI Demo + + + + + + + +

      Pagination Layout

      +

      The pagination layout supports various types of pages which you can choose.

      +
      +
      +
      +
      +
      + +
      + + + \ No newline at end of file diff --git a/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/pagination/links.html b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/pagination/links.html new file mode 100644 index 00000000..5ec8b382 --- /dev/null +++ b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/pagination/links.html @@ -0,0 +1,23 @@ + + + + + Pagination Links - jQuery EasyUI Demo + + + + + + + +

      Pagination Links

      +

      The example shows how to customize numbered pagination links.

      +
      +
      +
      +
      + + \ No newline at end of file diff --git a/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/pagination/simple.html b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/pagination/simple.html new file mode 100644 index 00000000..ca59ae2c --- /dev/null +++ b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/pagination/simple.html @@ -0,0 +1,25 @@ + + + + + Simplify Pagination - jQuery EasyUI Demo + + + + + + + +

      Simplify Pagination

      +

      The sample shows how to simplify pagination.

      +
      +
      +
      +
      + + \ No newline at end of file diff --git a/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/panel/_content.html b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/panel/_content.html new file mode 100644 index 00000000..f7b8e2ee --- /dev/null +++ b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/panel/_content.html @@ -0,0 +1,18 @@ + + + + + AJAX Content + + +

      Here is the content loaded via AJAX.

      +
        +
      • easyui is a collection of user-interface plugin based on jQuery.
      • +
      • easyui provides essential functionality for building modern, interactive, javascript applications.
      • +
      • using easyui you don't need to write many javascript code, you usually defines user-interface by writing some HTML markup.
      • +
      • complete framework for HTML5 web page.
      • +
      • easyui save your time and scales while developing your products.
      • +
      • easyui is very easy but powerful.
      • +
      + + \ No newline at end of file diff --git a/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/panel/basic.html b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/panel/basic.html new file mode 100644 index 00000000..e2220dfb --- /dev/null +++ b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/panel/basic.html @@ -0,0 +1,31 @@ + + + + + Basic Panel - jQuery EasyUI Demo + + + + + + + +

      Basic Panel

      +

      The panel is a container for other components or elements.

      +
      + Open + Close +
      +
      +

      jQuery EasyUI framework helps you build your web pages easily.

      +
        +
      • easyui is a collection of user-interface plugin based on jQuery.
      • +
      • easyui provides essential functionality for building modem, interactive, javascript applications.
      • +
      • using easyui you don't need to write many javascript code, you usually defines user-interface by writing some HTML markup.
      • +
      • complete framework for HTML5 web page.
      • +
      • easyui save your time and scales while developing your products.
      • +
      • easyui is very easy but powerful.
      • +
      +
      + + \ No newline at end of file diff --git a/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/panel/customtools.html b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/panel/customtools.html new file mode 100644 index 00000000..299b7fa2 --- /dev/null +++ b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/panel/customtools.html @@ -0,0 +1,35 @@ + + + + + Custom Panel Tools - jQuery EasyUI Demo + + + + + + + +

      Custom Panel Tools

      +

      Click the right top buttons to perform actions with panel.

      +
      +
      +

      jQuery EasyUI framework helps you build your web pages easily.

      +
        +
      • easyui is a collection of user-interface plugin based on jQuery.
      • +
      • easyui provides essential functionality for building modem, interactive, javascript applications.
      • +
      • using easyui you don't need to write many javascript code, you usually defines user-interface by writing some HTML markup.
      • +
      • complete framework for HTML5 web page.
      • +
      • easyui save your time and scales while developing your products.
      • +
      • easyui is very easy but powerful.
      • +
      +
      +
      + + + + +
      + + \ No newline at end of file diff --git a/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/panel/fluid.html b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/panel/fluid.html new file mode 100644 index 00000000..ff2be881 --- /dev/null +++ b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/panel/fluid.html @@ -0,0 +1,21 @@ + + + + + Fluid Panel - jQuery EasyUI Demo + + + + + + + +

      Fluid Panel

      +

      This example shows how to set the width of Panel to a percentage of its parent container.

      +
      +
      +
      +

      The panel has a width of 100%.

      +

      + + \ No newline at end of file diff --git a/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/panel/footer.html b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/panel/footer.html new file mode 100644 index 00000000..e04a87b6 --- /dev/null +++ b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/panel/footer.html @@ -0,0 +1,22 @@ + + + + + Panel Footer - jQuery EasyUI Demo + + + + + + + +

      Panel Footer

      +

      The panel footer is displayed at the bottom of the panel and can consist of any other components.

      +
      +
      +
      + + + \ No newline at end of file diff --git a/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/panel/loadcontent.html b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/panel/loadcontent.html new file mode 100644 index 00000000..c4b14174 --- /dev/null +++ b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/panel/loadcontent.html @@ -0,0 +1,27 @@ + + + + + Load Panel Content - jQuery EasyUI Demo + + + + + + + +

      Load Panel Content

      +

      Click the refresh button on top right of panel to load content.

      +
      +
      +
      + + \ No newline at end of file diff --git a/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/panel/nestedpanel.html b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/panel/nestedpanel.html new file mode 100644 index 00000000..64865c6a --- /dev/null +++ b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/panel/nestedpanel.html @@ -0,0 +1,30 @@ + + + + + Nested Panel - jQuery EasyUI Demo + + + + + + + +

      Nested Panel

      +

      The panel can be placed inside containers and can contain other components.

      +
      +
      +
      +
      + Left Content +
      +
      + Right Content +
      +
      + Right Content +
      +
      +
      + + \ No newline at end of file diff --git a/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/panel/paneltools.html b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/panel/paneltools.html new file mode 100644 index 00000000..eb0d87f0 --- /dev/null +++ b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/panel/paneltools.html @@ -0,0 +1,37 @@ + + + + + Panel Tools - jQuery EasyUI Demo + + + + + + + +

      Panel Tools

      +

      Click the right top buttons to perform actions with panel.

      + +
      +
      +

      jQuery EasyUI framework helps you build your web pages easily.

      +
        +
      • easyui is a collection of user-interface plugin based on jQuery.
      • +
      • easyui provides essential functionality for building modem, interactive, javascript applications.
      • +
      • using easyui you don't need to write many javascript code, you usually defines user-interface by writing some HTML markup.
      • +
      • complete framework for HTML5 web page.
      • +
      • easyui save your time and scales while developing your products.
      • +
      • easyui is very easy but powerful.
      • +
      +
      +
      + + + \ No newline at end of file diff --git a/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/progressbar/basic.html b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/progressbar/basic.html new file mode 100644 index 00000000..910777b0 --- /dev/null +++ b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/progressbar/basic.html @@ -0,0 +1,30 @@ + + + + + Basic ProgressBar - jQuery EasyUI Demo + + + + + + + +

      Basic ProgressBar

      +

      Click the button below to show progress information.

      +
      + Start +
      +
      + + + \ No newline at end of file diff --git a/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/progressbar/fluid.html b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/progressbar/fluid.html new file mode 100644 index 00000000..de88af20 --- /dev/null +++ b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/progressbar/fluid.html @@ -0,0 +1,21 @@ + + + + + Fluid ProgressBar - jQuery EasyUI Demo + + + + + + + +

      Fluid ProgressBar

      +

      This example shows how to set the width of ProgressBar to a percentage of its parent container.

      +
      +

      width: 50%

      +
      +

      width: 30%

      +
      + + \ No newline at end of file diff --git a/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/propertygrid/basic.html b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/propertygrid/basic.html new file mode 100644 index 00000000..a7c3cb53 --- /dev/null +++ b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/propertygrid/basic.html @@ -0,0 +1,61 @@ + + + + + Basic PropertyGrid - jQuery EasyUI Demo + + + + + + + +

      Basic PropertyGrid

      +

      Click on row to change each property value.

      + + +
      + + + + \ No newline at end of file diff --git a/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/propertygrid/customcolumns.html b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/propertygrid/customcolumns.html new file mode 100644 index 00000000..a8aabd3c --- /dev/null +++ b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/propertygrid/customcolumns.html @@ -0,0 +1,31 @@ + + + + + Customize Columns of PropertyGrid - jQuery EasyUI Demo + + + + + + + +

      Customize Columns of PropertyGrid

      +

      The columns of PropertyGrid can be changed.

      +
      + +
      + + + \ No newline at end of file diff --git a/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/propertygrid/groupformat.html b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/propertygrid/groupformat.html new file mode 100644 index 00000000..27cc3050 --- /dev/null +++ b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/propertygrid/groupformat.html @@ -0,0 +1,30 @@ + + + + + Group Format - jQuery EasyUI Demo + + + + + + + +

      Group Format

      +

      The user can change the group information.

      +
      + +
      + + + \ No newline at end of file diff --git a/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/propertygrid/propertygrid_data1.json b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/propertygrid/propertygrid_data1.json new file mode 100644 index 00000000..12b2d007 --- /dev/null +++ b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/propertygrid/propertygrid_data1.json @@ -0,0 +1,20 @@ +{"total":7,"rows":[ + {"name":"Name","value":"Bill Smith","group":"ID Settings","editor":"text"}, + {"name":"Address","value":"","group":"ID Settings","editor":"text"}, + {"name":"Age","value":"40","group":"ID Settings","editor":"numberbox"}, + {"name":"Birthday","value":"01/02/2012","group":"ID Settings","editor":"datebox"}, + {"name":"SSN","value":"123-456-7890","group":"ID Settings","editor":"text"}, + {"name":"Email","value":"bill@gmail.com","group":"Marketing Settings","editor":{ + "type":"validatebox", + "options":{ + "validType":"email" + } + }}, + {"name":"FrequentBuyer","value":"false","group":"Marketing Settings","editor":{ + "type":"checkbox", + "options":{ + "on":true, + "off":false + } + }} +]} \ No newline at end of file diff --git a/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/resizable/basic.html b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/resizable/basic.html new file mode 100644 index 00000000..a4d5a61a --- /dev/null +++ b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/resizable/basic.html @@ -0,0 +1,24 @@ + + + + + Basic Resizable - jQuery EasyUI Demo + + + + + + + +

      Basic Resizable

      +

      Click on the edge of box and move the edge to resize the box.

      +
      +
      +
      Resize Me
      +
      +
      +
      Title
      +
      Drag and Resize Me
      +
      + + \ No newline at end of file diff --git a/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/searchbox/basic.html b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/searchbox/basic.html new file mode 100644 index 00000000..1eb52756 --- /dev/null +++ b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/searchbox/basic.html @@ -0,0 +1,23 @@ + + + + + Basic SearchBox - jQuery EasyUI Demo + + + + + + + +

      Basic SearchBox

      +

      Click search button or press enter key in input box to do searching.

      +
      + + + + \ No newline at end of file diff --git a/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/searchbox/category.html b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/searchbox/category.html new file mode 100644 index 00000000..5a2b866e --- /dev/null +++ b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/searchbox/category.html @@ -0,0 +1,28 @@ + + + + + Search Category - jQuery EasyUI Demo + + + + + + + +

      Search Category

      +

      Select a category and click search button or press enter key in input box to do searching.

      +
      + +
      +
      All News
      +
      Sports News
      +
      + + + + \ No newline at end of file diff --git a/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/searchbox/fluid.html b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/searchbox/fluid.html new file mode 100644 index 00000000..946aaff1 --- /dev/null +++ b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/searchbox/fluid.html @@ -0,0 +1,25 @@ + + + + + Fluid SearchBox - jQuery EasyUI Demo + + + + + + + +

      Fluid SearchBox

      +

      This example shows how to set the width of SearchBox to a percentage of its parent container.

      +
      +

      width: 50%

      + +

      width: 30%

      + +
      +
      All News
      +
      Sports News
      +
      + + \ No newline at end of file diff --git a/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/slider/basic.html b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/slider/basic.html new file mode 100644 index 00000000..e2a0f598 --- /dev/null +++ b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/slider/basic.html @@ -0,0 +1,18 @@ + + + + + Basic Slider - jQuery EasyUI Demo + + + + + + + +

      Basic Slider

      +

      Drag the slider to change value.

      +
      + + + \ No newline at end of file diff --git a/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/slider/fluid.html b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/slider/fluid.html new file mode 100644 index 00000000..17ff2ddd --- /dev/null +++ b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/slider/fluid.html @@ -0,0 +1,21 @@ + + + + + Fluid Slider - jQuery EasyUI Demo + + + + + + + +

      Fluid Slider

      +

      This example shows how to set the width of Slider to a percentage of its parent container.

      +
      +

      width: 50%

      + +

      width: 30%

      + + + \ No newline at end of file diff --git a/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/slider/formattip.html b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/slider/formattip.html new file mode 100644 index 00000000..f0d666b1 --- /dev/null +++ b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/slider/formattip.html @@ -0,0 +1,28 @@ + + + + + Format Tip Information - jQuery EasyUI Demo + + + + + + + +

      Format Tip Information

      +

      This sample shows how to format tip information.

      +
      + +
      jQuery EasyUI
      + + + \ No newline at end of file diff --git a/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/slider/nonlinear.html b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/slider/nonlinear.html new file mode 100644 index 00000000..75708338 --- /dev/null +++ b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/slider/nonlinear.html @@ -0,0 +1,58 @@ + + + + + Non Linear Slider - jQuery EasyUI Demo + + + + + + + +

      Non Linear Slider

      +

      This example shows how to create a slider with a non-linear scale.

      +
      +
      + +
      +
      +
      +
      + + + + \ No newline at end of file diff --git a/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/slider/rule.html b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/slider/rule.html new file mode 100644 index 00000000..6f0e08c5 --- /dev/null +++ b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/slider/rule.html @@ -0,0 +1,21 @@ + + + + + Slider Rule - jQuery EasyUI Demo + + + + + + + +

      Slider Rule

      +

      This sample shows how to define slider rule.

      +
      + + + \ No newline at end of file diff --git a/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/slider/vertical.html b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/slider/vertical.html new file mode 100644 index 00000000..6bc8b59f --- /dev/null +++ b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/slider/vertical.html @@ -0,0 +1,25 @@ + + + + + Vertical Slider - jQuery EasyUI Demo + + + + + + + +

      Vertical Slider

      +

      This sample shows how to create a vertical slider.

      +
      +
      + +
      + + \ No newline at end of file diff --git a/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/splitbutton/actions.html b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/splitbutton/actions.html new file mode 100644 index 00000000..0fa343ed --- /dev/null +++ b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/splitbutton/actions.html @@ -0,0 +1,64 @@ + + + + + SplitButton Actions - jQuery EasyUI Demo + + + + + + + +

      SplitButton Actions

      +

      Click the buttons below to perform actions.

      + +
      + Home + Edit + Ok + Help +
      +
      +
      Undo
      +
      Redo
      + +
      Cut
      +
      Copy
      +
      Paste
      + +
      + Toolbar +
      +
      Address
      +
      Link
      +
      Navigation Toolbar
      +
      Bookmark Toolbar
      + +
      New Toolbar...
      +
      +
      +
      Delete
      +
      Select All
      +
      +
      +
      Ok
      +
      Cancel
      +
      +
      +
      Help
      +
      Update
      +
      + About + +
      +
      + + + \ No newline at end of file diff --git a/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/splitbutton/basic.html b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/splitbutton/basic.html new file mode 100644 index 00000000..2f31ec1b --- /dev/null +++ b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/splitbutton/basic.html @@ -0,0 +1,61 @@ + + + + + Basic SplitButton - jQuery EasyUI Demo + + + + + + + +

      Basic SplitButton

      +

      Move mouse over the arrow area of button to drop down menu.

      +
      +
      + Home + Edit + Ok + Help +
      +
      +
      Undo
      +
      Redo
      + +
      Cut
      +
      Copy
      +
      Paste
      + +
      + Toolbar +
      +
      Address
      +
      Link
      +
      Navigation Toolbar
      +
      Bookmark Toolbar
      + +
      New Toolbar...
      +
      +
      +
      Delete
      +
      Select All
      +
      +
      +
      Ok
      +
      Cancel
      +
      +
      +
      Help
      +
      Update
      +
      + About + +
      +
      + + + \ No newline at end of file diff --git a/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/tabs/_content.html b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/tabs/_content.html new file mode 100644 index 00000000..f7b8e2ee --- /dev/null +++ b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/tabs/_content.html @@ -0,0 +1,18 @@ + + + + + AJAX Content + + +

      Here is the content loaded via AJAX.

      +
        +
      • easyui is a collection of user-interface plugin based on jQuery.
      • +
      • easyui provides essential functionality for building modern, interactive, javascript applications.
      • +
      • using easyui you don't need to write many javascript code, you usually defines user-interface by writing some HTML markup.
      • +
      • complete framework for HTML5 web page.
      • +
      • easyui save your time and scales while developing your products.
      • +
      • easyui is very easy but powerful.
      • +
      + + \ No newline at end of file diff --git a/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/tabs/autoheight.html b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/tabs/autoheight.html new file mode 100644 index 00000000..e34a3dc8 --- /dev/null +++ b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/tabs/autoheight.html @@ -0,0 +1,36 @@ + + + + + Auto Height for Tabs - jQuery EasyUI Demo + + + + + + + +

      Auto Height for Tabs

      +

      The tabs height is auto adjusted according to tab panel content.

      +
      +
      +
      +

      jQuery EasyUI framework helps you build your web pages easily.

      +
        +
      • easyui is a collection of user-interface plugin based on jQuery.
      • +
      • easyui provides essential functionality for building modem, interactive, javascript applications.
      • +
      • using easyui you don't need to write many javascript code, you usually defines user-interface by writing some HTML markup.
      • +
      • complete framework for HTML5 web page.
      • +
      • easyui save your time and scales while developing your products.
      • +
      • easyui is very easy but powerful.
      • +
      +
      +
      +
        +
        +
        + This is the help content. +
        +
        + + \ No newline at end of file diff --git a/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/tabs/basic.html b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/tabs/basic.html new file mode 100644 index 00000000..293b91ce --- /dev/null +++ b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/tabs/basic.html @@ -0,0 +1,36 @@ + + + + + Basic Tabs - jQuery EasyUI Demo + + + + + + + +

        Basic Tabs

        +

        Click tab strip to swap tab panel content.

        +
        +
        +
        +

        jQuery EasyUI framework helps you build your web pages easily.

        +
          +
        • easyui is a collection of user-interface plugin based on jQuery.
        • +
        • easyui provides essential functionality for building modem, interactive, javascript applications.
        • +
        • using easyui you don't need to write many javascript code, you usually defines user-interface by writing some HTML markup.
        • +
        • complete framework for HTML5 web page.
        • +
        • easyui save your time and scales while developing your products.
        • +
        • easyui is very easy but powerful.
        • +
        +
        +
        +
          +
          +
          + This is the help content. +
          +
          + + \ No newline at end of file diff --git a/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/tabs/dropdown.html b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/tabs/dropdown.html new file mode 100644 index 00000000..7c9daacf --- /dev/null +++ b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/tabs/dropdown.html @@ -0,0 +1,55 @@ + + + + + Tabs with DropDown - jQuery EasyUI Demo + + + + + + + +

          Tabs with DropDown

          +

          This sample shows how to add a dropdown menu over a tab strip.

          +
          +
          +
          +

          jQuery EasyUI framework helps you build your web pages easily.

          +
            +
          • easyui is a collection of user-interface plugin based on jQuery.
          • +
          • easyui provides essential functionality for building modem, interactive, javascript applications.
          • +
          • using easyui you don't need to write many javascript code, you usually defines user-interface by writing some HTML markup.
          • +
          • complete framework for HTML5 web page.
          • +
          • easyui save your time and scales while developing your products.
          • +
          • easyui is very easy but powerful.
          • +
          +
          +
          +
            +
            +
            + This is the help content. +
            +
            +
            +
            Welcome
            +
            Help Contents
            +
            Search
            +
            Dynamic Help
            +
            + + + + \ No newline at end of file diff --git a/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/tabs/fixedwidth.html b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/tabs/fixedwidth.html new file mode 100644 index 00000000..390e9878 --- /dev/null +++ b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/tabs/fixedwidth.html @@ -0,0 +1,37 @@ + + + + + Fixed Tab Width - jQuery EasyUI Demo + + + + + + + +

            Fixed Tab Width

            +

            The tab strips have fixed width and height.

            +
            +
            +
            +

            Home Content.

            +
            +
            +

            Maps Content.

            +
            +
            +

            Journal Content.

            +
            +
            +

            History Content.

            +
            +
            +

            References Content.

            +
            +
            +

            Contact Content.

            +
            +
            + + \ No newline at end of file diff --git a/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/tabs/fluid.html b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/tabs/fluid.html new file mode 100644 index 00000000..d31d6fb6 --- /dev/null +++ b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/tabs/fluid.html @@ -0,0 +1,24 @@ + + + + + Fluid Tabs - jQuery EasyUI Demo + + + + + + + +

            Fluid Tabs

            +

            This example shows how to set the width of Tabs to a percentage of its parent container.

            +
            +
            +
            +

            The tabs has a width of 100%.

            +
            +
            +
            +
            + + \ No newline at end of file diff --git a/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/tabs/hover.html b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/tabs/hover.html new file mode 100644 index 00000000..5b62ac90 --- /dev/null +++ b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/tabs/hover.html @@ -0,0 +1,46 @@ + + + + + Hover Tabs - jQuery EasyUI Demo + + + + + + + +

            Hover Tabs

            +

            Move mouse over the tab strip to open the tab panel.

            +
            +
            +
            +

            jQuery EasyUI framework helps you build your web pages easily.

            +
              +
            • easyui is a collection of user-interface plugin based on jQuery.
            • +
            • easyui provides essential functionality for building modem, interactive, javascript applications.
            • +
            • using easyui you don't need to write many javascript code, you usually defines user-interface by writing some HTML markup.
            • +
            • complete framework for HTML5 web page.
            • +
            • easyui save your time and scales while developing your products.
            • +
            • easyui is very easy but powerful.
            • +
            +
            +
            +
              +
              +
              + This is the help content. +
              +
              + + + \ No newline at end of file diff --git a/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/tabs/images/modem.png b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/tabs/images/modem.png new file mode 100644 index 0000000000000000000000000000000000000000..be5a2eb2fc48a8f16681b591f4ef74888ee09c33 GIT binary patch literal 1633 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 A&;S4c literal 0 HcmV?d00001 diff --git a/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/tabs/images/tablet.png b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/tabs/images/tablet.png new file mode 100644 index 0000000000000000000000000000000000000000..fa871f54035fcd0bb0f7f2068d2b2ed4e5e0e0cf GIT binary patch literal 2505 zcmW+&Yh02C7k>ank;hAE24+c9(=C@5nzmOHNV6i*EwWAy0MbXsy0K#HV?N8$W`pv6QT zjiNmD$4~(?B4QR`0#=CzfSwt;NKvh#!WIdB z%YB|dcjx@oo`(`bd`9z^!A(QY1iPF%6?1cRBpWIN`RzH8N~L-O;@a)6gcQs3YyzKw zS8F8Q3ey0*t9pI8N+#*A02%I+ZZ5pG(swWbrgxqRY_5pm-6ONBQaTL##bG};rs z&qhw~Rdm&{2#oiLSHT~s%W05S|HMj#%*G5_Q`N~l#tE|oK9qIHDCueJIiqjoqJ=wO z6)(8utZ6E4$g|H1?q;%R#Ct)#J#a%@GeQfg7RTQWmfVkW;@u1Y&%)-}AgKBB(WfWU zMkk(IE3Q~3d{#80MM@-ZWnYeq(Pk^lAvkxY6adTrme$>nUA@}@IHZ-*dA*#|*s z==2flXx~Gi>+WTGOz&Jfl3-vyh50 zz08MfbZ+=dFZfWOL<32pD7ipvfmfEHE?|m}55gxR!ge>D!C1>p=^xoLm$yh!(Idwi zgfB;FH=L4ZIgiApTPB@R*tXbfad!eL+$<+1CaK}0k>TOwv4{w>@Th3Bk6MY~RfkB> z(Ivu(#3IFtr>)~HAf=nZCIk?*1X^+Sf!44H<>Ea2J_3LjZLols2`mbb8JN@v^pelH zL(|XyR%Q%nUBB-kEP4+FvI&0&T$1<2_#yqM;fUgtWEXr6V#gAJ*lkiqP6$3|lCgT7 zB{O%Ke}K3p8?*IebNE`9-4>hTHEHM1ZR}NtxRe5L!&>x!o}F1JIiGcfGJ_tk(j23B zd9^gAh>x-3oVBh$4p^biJYFxBuYZ<+M*BeUCcF#`$|FQRUi|EhaNdF_Fmvd&jz+R2 zd<@1L7`L(bbFLkRxKdNex-xH5z%xV_wBO@wLfDq>x*r6C8(PCB`ewPmqIUTC+3wu` z%X@kBKEEIe6dpUUR3eiGB_T6uNcJ3M&dqn=uxkdU)P=XEzAo$M6Tl%S9w>$O?UQ+2 z)GnKb|6@RPR09h&tc?%Hut^QVq%eoKxFO_{<9%g2LQNj+VH=OVEJH8o8a++W=3 zBH|;?Qe*Ks1|_bDBaj+Vy%bu5Y0uMia(751xVUYjurf@BqYfhjFosrrVO&b=UaBJ* zRVN78NkBo!#fmE0cTcT_jX@G@AWtc#%DLj^v8gTWtqy10)QAq%X6{P@Q|Um~Nce`J z6C6{`db6PK_*$qBhHKT~6^QX= z`2pm`0;Xk>TfmW!Xr*QzEBvF%8Jp_Vg0=jd*PS>&;faj4v=c)(nbhpBxpufuO(|-M z#Q-P#lEIs7?HOWR6zM!d&uouzVwZgTrZGW@?`cWH&GeCx|9B=m+Ud-^A%LZd9FWLN z>X>TjvxiUr!YMF_{{Zg@H-9PVG{wBNO=Z=i(R;M4C*?Bd-670aa(Iqu0NPqGG(WLS zL2jo-vyV>)sfXWhyYyP2lJEQfURv$sY*5OL*_76my7x&_Gb2Gn1na~#8Q$eMq%}qT zL;!yW?cbaP%Rj|~O$kHMk5d+1g}K~m;yVXNy*yGbH0`{bq`eR+UKKnPJb(Q{G4_#x z%+Ah@K95C{cN^*wT3Hcr`U$&c!dhcBEqw6M7sMV4lO%$71xuO5(|tjH$WuP9NQ0Ip za5k6+=H&B03ge6XZIP~yM{tlF32eoRgP9~mYfNC`e9z9wMj+I=s;>H4oxLV^& z(hzt0iAT`jb*aE?)L;i^uGhlkP@h%y% z4F*xWY>D>oAR7q#t9>=b_W~AcLW!YfXg_Sl-xlb$eXWTSnjPVo7p_S5=0F|=B^c3B zBr=%nm;*@^^UG-VoV49d;qU0yoQ%fjXiSP5I22rawBFTM;`KU~c{Q$`q3#qQoPN3T zp&B#r1cUvjRxN2x{M5nc+r+o)J)E#50W0)M@Q6w6p{N zZ6g%Axx1*dc;Md~b;UWI27CD17uycnas}P0v1hRWU)K4fR1O z_GBXjE!MHHv6fqU4|87?aSAtB;K2$ODqVa6cZM+vRg51?!1GSGqHbs5$>`hH=Z$g9 zP=yCQ&n4$SZBbp%Z^6#?ct4Nl%rat>>dn=|dwj9g3_R@ck)rziA#RRI{NOwgckukd z@=SR5BNa0^UYdPf_WoIY6K3}7Jaue7@z%) zyF|hvcM#Y?q7EGb(K5dgQ+A^PC*V}dKZ6eh`6Jux$~3_-b>1`oEkSLng_yMZ$A + + + + Nested Tabs - jQuery EasyUI Demo + + + + + + + +

              Nested Tabs

              +

              The tab panel can contain sub tabs or other components.

              +
              +
              +
              +
              +
              Content 1
              +
              Content 2
              +
              Content 3
              +
              +
              +
              +
              + +
              +
              + + + + + + + + + + + + + + + + + + + + +
              Title1Title2Title3
              d11d12d13
              d21d22d23
              +
              +
              + + + \ No newline at end of file diff --git a/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/tabs/striptools.html b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/tabs/striptools.html new file mode 100644 index 00000000..83e6ba0d --- /dev/null +++ b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/tabs/striptools.html @@ -0,0 +1,39 @@ + + + + + Tabs Strip Tools - jQuery EasyUI Demo + + + + + + + +

              Tabs Strip Tools

              +

              Click the mini-buttons on the tab strip to perform actions.

              +
              +
              +
              +

              jQuery EasyUI framework helps you build your web pages easily.

              +
                +
              • easyui is a collection of user-interface plugin based on jQuery.
              • +
              • easyui provides essential functionality for building modem, interactive, javascript applications.
              • +
              • using easyui you don't need to write many javascript code, you usually defines user-interface by writing some HTML markup.
              • +
              • complete framework for HTML5 web page.
              • +
              • easyui save your time and scales while developing your products.
              • +
              • easyui is very easy but powerful.
              • +
              +
              +
              + This is the help content. +
              +
              +
              + + + +
              + + + \ No newline at end of file diff --git a/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/tabs/tabimage.html b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/tabs/tabimage.html new file mode 100644 index 00000000..e9df65de --- /dev/null +++ b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/tabs/tabimage.html @@ -0,0 +1,41 @@ + + + + + Tabs with Images - jQuery EasyUI Demo + + + + + + + +

              Tabs with Images

              +

              The tab strip can display big images.

              +
              +
              +
              +

              A modem (modulator-demodulator) is a device that modulates an analog carrier signal to encode digital information, and also demodulates such a carrier signal to decode the transmitted information.

              +
              +
              +

              In computing, an image scanner—often abbreviated to just scanner—is a device that optically scans images, printed text, handwriting, or an object, and converts it to a digital image.

              +
              +
              +

              A personal digital assistant (PDA), also known as a palmtop computer, or personal data assistant, is a mobile device that functions as a personal information manager. PDAs are largely considered obsolete with the widespread adoption of smartphones.

              +
              +
              +

              A tablet computer, or simply tablet, is a one-piece mobile computer. Devices typically have a touchscreen, with finger or stylus gestures replacing the conventional computer mouse.

              +
              +
              + + + \ No newline at end of file diff --git a/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/tabs/tabposition.html b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/tabs/tabposition.html new file mode 100644 index 00000000..9f1bc19e --- /dev/null +++ b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/tabs/tabposition.html @@ -0,0 +1,45 @@ + + + + + Tab Position - jQuery EasyUI Demo + + + + + + + +

              Tab Position

              +

              Click the 'position' drop-down list and select an item to change the tab position.

              +
              + Position: + +
              +
              +
              +

              jQuery EasyUI framework helps you build your web pages easily.

              +
                +
              • easyui is a collection of user-interface plugin based on jQuery.
              • +
              • easyui provides essential functionality for building modem, interactive, javascript applications.
              • +
              • using easyui you don't need to write many javascript code, you usually defines user-interface by writing some HTML markup.
              • +
              • complete framework for HTML5 web page.
              • +
              • easyui save your time and scales while developing your products.
              • +
              • easyui is very easy but powerful.
              • +
              +
              +
              +
                +
                +
                + This is the help content. +
                +
                + + + \ No newline at end of file diff --git a/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/tabs/tabstools.html b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/tabs/tabstools.html new file mode 100644 index 00000000..48bdda83 --- /dev/null +++ b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/tabs/tabstools.html @@ -0,0 +1,41 @@ + + + + + Tabs Tools - jQuery EasyUI Demo + + + + + + + +

                Tabs Tools

                +

                Click the buttons on the top right of tabs header to add or remove tab panel.

                +
                +
                +
                +
                + + +
                + + + \ No newline at end of file diff --git a/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/tabs/tree_data1.json b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/tabs/tree_data1.json new file mode 100644 index 00000000..83fb0d61 --- /dev/null +++ b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/tabs/tree_data1.json @@ -0,0 +1,49 @@ +[{ + "id":1, + "text":"My Documents", + "children":[{ + "id":11, + "text":"Photos", + "state":"closed", + "children":[{ + "id":111, + "text":"Friend" + },{ + "id":112, + "text":"Wife" + },{ + "id":113, + "text":"Company" + }] + },{ + "id":12, + "text":"Program Files", + "children":[{ + "id":121, + "text":"Intel" + },{ + "id":122, + "text":"Java", + "attributes":{ + "p1":"Custom Attribute1", + "p2":"Custom Attribute2" + } + },{ + "id":123, + "text":"Microsoft Office" + },{ + "id":124, + "text":"Games", + "checked":true + }] + },{ + "id":13, + "text":"index.html" + },{ + "id":14, + "text":"about.html" + },{ + "id":15, + "text":"welcome.html" + }] +}] diff --git a/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/textbox/basic.html b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/textbox/basic.html new file mode 100644 index 00000000..dc631be1 --- /dev/null +++ b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/textbox/basic.html @@ -0,0 +1,39 @@ + + + + + Basic TextBox - jQuery EasyUI Demo + + + + + + + +

                Basic TextBox

                +

                The textbox allows a user to enter information.

                +
                +
                +
                +
                Email:
                + +
                +
                +
                First Name:
                + +
                +
                +
                Last Name:
                + +
                +
                +
                Company:
                + +
                + +
                + Register +
                +
                + + \ No newline at end of file diff --git a/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/textbox/button.html b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/textbox/button.html new file mode 100644 index 00000000..cd224259 --- /dev/null +++ b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/textbox/button.html @@ -0,0 +1,23 @@ + + + + + TextBox with Button - jQuery EasyUI Demo + + + + + + + +

                TextBox with Button

                +

                The button can be attached to a textbox.

                +
                +
                + +
                +
                + +
                + + \ No newline at end of file diff --git a/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/textbox/clearicon.html b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/textbox/clearicon.html new file mode 100644 index 00000000..10d6794a --- /dev/null +++ b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/textbox/clearicon.html @@ -0,0 +1,61 @@ + + + + + TextBox with Clear Icon - jQuery EasyUI Demo + + + + + + + +

                TextBox with Clear Icon

                +

                This example shows how to create an textbox with an icon to clear the input element itself.

                +
                + + + + \ No newline at end of file diff --git a/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/textbox/custom.html b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/textbox/custom.html new file mode 100644 index 00000000..5b15fd71 --- /dev/null +++ b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/textbox/custom.html @@ -0,0 +1,34 @@ + + + + + Custom TextBox - jQuery EasyUI Demo + + + + + + + +

                Custom TextBox

                +

                This example shows how to custom a login form.

                +
                +
                +
                + +
                +
                + +
                +
                + + Remember me +
                + +
                + + \ No newline at end of file diff --git a/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/textbox/fluid.html b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/textbox/fluid.html new file mode 100644 index 00000000..69d3aee3 --- /dev/null +++ b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/textbox/fluid.html @@ -0,0 +1,21 @@ + + + + + Fluid TextBox - jQuery EasyUI Demo + + + + + + + +

                Fluid TextBox

                +

                This example shows how to set the width of TextBox to a percentage of its parent container.

                +
                +

                width: 50%

                + +

                width: 30%

                + + + \ No newline at end of file diff --git a/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/textbox/icons.html b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/textbox/icons.html new file mode 100644 index 00000000..a594410a --- /dev/null +++ b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/textbox/icons.html @@ -0,0 +1,45 @@ + + + + + TextBox with Icons - jQuery EasyUI Demo + + + + + + + +

                TextBox with Icons

                +

                Click the icons on textbox to perform actions.

                +
                +
                + Select Icon Align: + +
                + + + \ No newline at end of file diff --git a/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/textbox/multiline.html b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/textbox/multiline.html new file mode 100644 index 00000000..064ffd7a --- /dev/null +++ b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/textbox/multiline.html @@ -0,0 +1,18 @@ + + + + + Multiline TextBox - jQuery EasyUI Demo + + + + + + + +

                Multiline TextBox

                +

                This example shows how to define a textbox for the user to enter multi-line text input.

                +
                + + + \ No newline at end of file diff --git a/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/textbox/size.html b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/textbox/size.html new file mode 100644 index 00000000..57c9a091 --- /dev/null +++ b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/textbox/size.html @@ -0,0 +1,29 @@ + + + + + TextBox Size - jQuery EasyUI Demo + + + + + + + +

                TextBox Size

                +

                The textbox can vary in size.

                +
                +
                + +
                +
                + +
                +
                + +
                +
                + +
                + + \ No newline at end of file diff --git a/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/timespinner/actions.html b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/timespinner/actions.html new file mode 100644 index 00000000..62a70bfd --- /dev/null +++ b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/timespinner/actions.html @@ -0,0 +1,38 @@ + + + + + TimeSpinner Actions - jQuery EasyUI Demo + + + + + + + +

                TimeSpinner Actions

                +

                Click the buttons below to perform actions.

                + + + + + \ No newline at end of file diff --git a/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/timespinner/basic.html b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/timespinner/basic.html new file mode 100644 index 00000000..8c32d300 --- /dev/null +++ b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/timespinner/basic.html @@ -0,0 +1,18 @@ + + + + + Basic TimeSpinner - jQuery EasyUI Demo + + + + + + + +

                Basic TimeSpinner

                +

                Click spin button to adjust time.

                +
                + + + \ No newline at end of file diff --git a/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/timespinner/fluid.html b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/timespinner/fluid.html new file mode 100644 index 00000000..8588fe95 --- /dev/null +++ b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/timespinner/fluid.html @@ -0,0 +1,21 @@ + + + + + Fluid TimeSpinner - jQuery EasyUI Demo + + + + + + + +

                Fluid TimeSpinner

                +

                This example shows how to set the width of TimeSpinner to a percentage of its parent container.

                +
                +

                width: 50%

                + +

                width: 30%

                + + + \ No newline at end of file diff --git a/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/timespinner/range.html b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/timespinner/range.html new file mode 100644 index 00000000..63bbf55c --- /dev/null +++ b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/timespinner/range.html @@ -0,0 +1,20 @@ + + + + + Time Range - jQuery EasyUI Demo + + + + + + + +

                Time Range

                +

                The time value is constrained in specified range.

                +
                + From 08:30 to 18:00 +
                + + + \ No newline at end of file diff --git a/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/tooltip/_content.html b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/tooltip/_content.html new file mode 100644 index 00000000..f7b8e2ee --- /dev/null +++ b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/tooltip/_content.html @@ -0,0 +1,18 @@ + + + + + AJAX Content + + +

                Here is the content loaded via AJAX.

                +
                  +
                • easyui is a collection of user-interface plugin based on jQuery.
                • +
                • easyui provides essential functionality for building modern, interactive, javascript applications.
                • +
                • using easyui you don't need to write many javascript code, you usually defines user-interface by writing some HTML markup.
                • +
                • complete framework for HTML5 web page.
                • +
                • easyui save your time and scales while developing your products.
                • +
                • easyui is very easy but powerful.
                • +
                + + \ No newline at end of file diff --git a/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/tooltip/_dialog.html b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/tooltip/_dialog.html new file mode 100644 index 00000000..2c1b464d --- /dev/null +++ b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/tooltip/_dialog.html @@ -0,0 +1,23 @@ + + + + + Dialog Content + + +
                +
                +
                User Name:
                + +
                +
                +
                Password:
                + +
                +
                + Login + Cancel +
                +
                + + \ No newline at end of file diff --git a/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/tooltip/ajax.html b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/tooltip/ajax.html new file mode 100644 index 00000000..2de45de7 --- /dev/null +++ b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/tooltip/ajax.html @@ -0,0 +1,32 @@ + + + + + Ajax Tooltip - jQuery EasyUI Demo + + + + + + + +

                Ajax Tooltip

                +

                The tooltip content can be loaded via AJAX.

                +
                + Hove me to display tooltip content via AJAX. + + \ No newline at end of file diff --git a/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/tooltip/basic.html b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/tooltip/basic.html new file mode 100644 index 00000000..b9ad0e0d --- /dev/null +++ b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/tooltip/basic.html @@ -0,0 +1,20 @@ + + + + + Basic Tooltip - jQuery EasyUI Demo + + + + + + + +

                Basic Tooltip

                +

                Hover the links to display tooltip message.

                +
                +

                The tooltip can use each elements title attribute. + Hover me to display tooltip. +

                + + \ No newline at end of file diff --git a/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/tooltip/customcontent.html b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/tooltip/customcontent.html new file mode 100644 index 00000000..3e1ce976 --- /dev/null +++ b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/tooltip/customcontent.html @@ -0,0 +1,32 @@ + + + + + Custom Tooltip Content - jQuery EasyUI Demo + + + + + + + +

                Custom Tooltip Content

                +

                Access to each elements attribute to get the tooltip content.

                +
                +
                +
                +
                + + + + \ No newline at end of file diff --git a/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/tooltip/customstyle.html b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/tooltip/customstyle.html new file mode 100644 index 00000000..b5c8f3ec --- /dev/null +++ b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/tooltip/customstyle.html @@ -0,0 +1,52 @@ + + + + + Custom Tooltip Style - jQuery EasyUI Demo + + + + + + + +

                Custom Tooltip Style

                +

                This sample shows how to change the tooltip style.

                +
                +
                +
                Hover Me
                +
                +
                +
                Hover Me
                +
                + + + \ No newline at end of file diff --git a/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/tooltip/position.html b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/tooltip/position.html new file mode 100644 index 00000000..ac97d67b --- /dev/null +++ b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/tooltip/position.html @@ -0,0 +1,34 @@ + + + + + Tooltip Position - jQuery EasyUI Demo + + + + + + + +

                Tooltip Position

                +

                Click the drop-down list below to change where the tooltip appears.

                +
                + Select position: + +
                +
                Hover Me
                +
                + + + \ No newline at end of file diff --git a/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/tooltip/toolbar.html b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/tooltip/toolbar.html new file mode 100644 index 00000000..ac1dff78 --- /dev/null +++ b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/tooltip/toolbar.html @@ -0,0 +1,40 @@ + + + + + Tooltip as Toolbar - jQuery EasyUI Demo + + + + + + + +

                Tooltip as Toolbar

                +

                This sample shows how to create a tooltip style toolbar.

                +
                +
                +

                Hover me to display toolbar.

                +
                +
                +
                + + + + + +
                +
                + + \ No newline at end of file diff --git a/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/tooltip/tooltipdialog.html b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/tooltip/tooltipdialog.html new file mode 100644 index 00000000..caee5246 --- /dev/null +++ b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/tooltip/tooltipdialog.html @@ -0,0 +1,44 @@ + + + + + Tooltip Dialog - jQuery EasyUI Demo + + + + + + + +

                Tooltip Dialog

                +

                This sample shows how to create a tooltip dialog.

                +
                +
                +

                Click here to see the tooltip dialog. +

                + + + \ No newline at end of file diff --git a/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/tree/actions.html b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/tree/actions.html new file mode 100644 index 00000000..b5e2d4bc --- /dev/null +++ b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/tree/actions.html @@ -0,0 +1,47 @@ + + + + + Tree Actions - jQuery EasyUI Demo + + + + + + + +

                Tree Actions

                +

                Click the buttons below to perform actions.

                + +
                +
                  +
                  + + + \ No newline at end of file diff --git a/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/tree/animation.html b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/tree/animation.html new file mode 100644 index 00000000..d7ea6ccb --- /dev/null +++ b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/tree/animation.html @@ -0,0 +1,20 @@ + + + + + Animation Tree - jQuery EasyUI Demo + + + + + + + +

                  Animation Tree

                  +

                  Apply 'animate' property to true to enable animation effect.

                  +
                  +
                  +
                    +
                    + + \ No newline at end of file diff --git a/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/tree/basic.html b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/tree/basic.html new file mode 100644 index 00000000..9d937a7b --- /dev/null +++ b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/tree/basic.html @@ -0,0 +1,53 @@ + + + + + Basic Tree - jQuery EasyUI Demo + + + + + + + +

                    Basic Tree

                    +

                    Click the arrow on the left to expand or collapse nodes.

                    +
                    +
                    +
                      +
                    • + My Documents +
                        +
                      • + Photos +
                          +
                        • + Friend +
                        • +
                        • + Wife +
                        • +
                        • + Company +
                        • +
                        +
                      • +
                      • + Program Files +
                          +
                        • Intel
                        • +
                        • Java
                        • +
                        • Microsoft Office
                        • +
                        • Games
                        • +
                        +
                      • +
                      • index.html
                      • +
                      • about.html
                      • +
                      • welcome.html
                      • +
                      +
                    • +
                    +
                    + + + \ No newline at end of file diff --git a/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/tree/checkbox.html b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/tree/checkbox.html new file mode 100644 index 00000000..734266e5 --- /dev/null +++ b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/tree/checkbox.html @@ -0,0 +1,37 @@ + + + + + CheckBox Tree - jQuery EasyUI Demo + + + + + + + +

                    CheckBox Tree

                    +

                    Tree nodes with check boxes.

                    + +
                    + CascadeCheck + OnlyLeafCheck +
                    +
                    +
                      +
                      + + + \ No newline at end of file diff --git a/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/tree/contextmenu.html b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/tree/contextmenu.html new file mode 100644 index 00000000..67f14d0b --- /dev/null +++ b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/tree/contextmenu.html @@ -0,0 +1,65 @@ + + + + + Tree Context Menu - jQuery EasyUI Demo + + + + + + + +

                      Tree Context Menu

                      +

                      Right click on a node to display context menu.

                      +
                      +
                      +
                        +
                        +
                        +
                        Append
                        +
                        Remove
                        + +
                        Expand
                        +
                        Collapse
                        +
                        + + + \ No newline at end of file diff --git a/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/tree/dnd.html b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/tree/dnd.html new file mode 100644 index 00000000..fdf4c1fa --- /dev/null +++ b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/tree/dnd.html @@ -0,0 +1,20 @@ + + + + + Drag Drop Tree Nodes - jQuery EasyUI Demo + + + + + + + +

                        Drag Drop Tree Nodes

                        +

                        Press mouse down and drag a node to another position.

                        +
                        +
                        +
                          +
                          + + \ No newline at end of file diff --git a/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/tree/editable.html b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/tree/editable.html new file mode 100644 index 00000000..afbb8c60 --- /dev/null +++ b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/tree/editable.html @@ -0,0 +1,27 @@ + + + + + Editable Tree - jQuery EasyUI Demo + + + + + + + +

                          Editable Tree

                          +

                          Click the node to begin edit, press enter key to stop edit or esc key to cancel edit.

                          +
                          +
                          +
                            +
                            + + \ No newline at end of file diff --git a/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/tree/formatting.html b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/tree/formatting.html new file mode 100644 index 00000000..e83d1801 --- /dev/null +++ b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/tree/formatting.html @@ -0,0 +1,32 @@ + + + + + Formatting Tree Nodes - jQuery EasyUI Demo + + + + + + + +

                            Formatting Tree Nodes

                            +

                            This example shows how to display extra information on nodes.

                            +
                            +
                            +
                              +
                            +
                            + + \ No newline at end of file diff --git a/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/tree/icons.html b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/tree/icons.html new file mode 100644 index 00000000..c50df79d --- /dev/null +++ b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/tree/icons.html @@ -0,0 +1,20 @@ + + + + + Tree Node Icons - jQuery EasyUI Demo + + + + + + + +

                            Tree Node Icons

                            +

                            This sample illustrates how to add icons to tree node.

                            +
                            +
                            +
                              +
                              + + \ No newline at end of file diff --git a/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/tree/lazyload.html b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/tree/lazyload.html new file mode 100644 index 00000000..014b2557 --- /dev/null +++ b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/tree/lazyload.html @@ -0,0 +1,82 @@ + + + + + Lazy Load Tree Nodes - jQuery EasyUI Demo + + + + + + + +

                              Lazy Load Tree Nodes

                              +

                              Get full hierarchical tree data but lazy load nodes level by level.

                              +
                              +
                              +
                                +
                                + + + \ No newline at end of file diff --git a/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/tree/lines.html b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/tree/lines.html new file mode 100644 index 00000000..820ac44d --- /dev/null +++ b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/tree/lines.html @@ -0,0 +1,20 @@ + + + + + Tree Lines - jQuery EasyUI Demo + + + + + + + +

                                Tree Lines

                                +

                                This sample shows how to show tree lines.

                                +
                                +
                                +
                                  +
                                  + + \ No newline at end of file diff --git a/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/tree/tree_data1.json b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/tree/tree_data1.json new file mode 100644 index 00000000..83fb0d61 --- /dev/null +++ b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/tree/tree_data1.json @@ -0,0 +1,49 @@ +[{ + "id":1, + "text":"My Documents", + "children":[{ + "id":11, + "text":"Photos", + "state":"closed", + "children":[{ + "id":111, + "text":"Friend" + },{ + "id":112, + "text":"Wife" + },{ + "id":113, + "text":"Company" + }] + },{ + "id":12, + "text":"Program Files", + "children":[{ + "id":121, + "text":"Intel" + },{ + "id":122, + "text":"Java", + "attributes":{ + "p1":"Custom Attribute1", + "p2":"Custom Attribute2" + } + },{ + "id":123, + "text":"Microsoft Office" + },{ + "id":124, + "text":"Games", + "checked":true + }] + },{ + "id":13, + "text":"index.html" + },{ + "id":14, + "text":"about.html" + },{ + "id":15, + "text":"welcome.html" + }] +}] diff --git a/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/tree/tree_data2.json b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/tree/tree_data2.json new file mode 100644 index 00000000..14e34291 --- /dev/null +++ b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/tree/tree_data2.json @@ -0,0 +1,61 @@ +[{ + "id":1, + "text":"My Documents", + "children":[{ + "id":11, + "text":"Photos", + "state":"closed", + "children":[{ + "id":111, + "text":"Friend" + },{ + "id":112, + "text":"Wife" + },{ + "id":113, + "text":"Company" + }] + },{ + "id":12, + "text":"Program Files", + "state":"closed", + "children":[{ + "id":121, + "text":"Intel" + },{ + "id":122, + "text":"Java" + },{ + "id":123, + "text":"Microsoft Office" + },{ + "id":124, + "text":"Games" + }] + },{ + "id":16, + "text":"Actions", + "children":[{ + "text":"Add", + "iconCls":"icon-add" + },{ + "text":"Remove", + "iconCls":"icon-remove" + },{ + "text":"Save", + "iconCls":"icon-save" + },{ + "text":"Search", + "iconCls":"icon-search" + }] + },{ + "id":13, + "text":"index.html" + },{ + "id":14, + "text":"about.html" + },{ + "id":15, + "text":"welcome.html" + }] +}] diff --git a/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/treegrid/actions.html b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/treegrid/actions.html new file mode 100644 index 00000000..31430a53 --- /dev/null +++ b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/treegrid/actions.html @@ -0,0 +1,64 @@ + + + + + TreeGrid Actions - jQuery EasyUI Demo + + + + + + + +

                                  TreeGrid Actions

                                  +

                                  Click the buttons below to perform actions.

                                  + + + + + + + + + + + +
                                  Task NamePersonsBegin DateEnd DateProgress
                                  + + + \ No newline at end of file diff --git a/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/treegrid/basic.html b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/treegrid/basic.html new file mode 100644 index 00000000..7daefebd --- /dev/null +++ b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/treegrid/basic.html @@ -0,0 +1,34 @@ + + + + + Basic TreeGrid - jQuery EasyUI Demo + + + + + + + +

                                  Basic TreeGrid

                                  +

                                  TreeGrid allows you to expand or collapse group rows.

                                  +
                                  + + + + + + + + +
                                  NameSizeModified Date
                                  + + + \ No newline at end of file diff --git a/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/treegrid/clientpagination.html b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/treegrid/clientpagination.html new file mode 100644 index 00000000..7b13246b --- /dev/null +++ b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/treegrid/clientpagination.html @@ -0,0 +1,137 @@ + + + + + Client Side Pagination in TreeGrid - jQuery EasyUI Demo + + + + + + + +

                                  Client Side Pagination in TreeGrid

                                  +

                                  This sample shows how to implement client side pagination in TreeGrid.

                                  +
                                  + + + + + + + + + + +
                                  Task NamePersonsBegin DateEnd DateProgress
                                  + + + \ No newline at end of file diff --git a/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/treegrid/contextmenu.html b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/treegrid/contextmenu.html new file mode 100644 index 00000000..eebf20f8 --- /dev/null +++ b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/treegrid/contextmenu.html @@ -0,0 +1,104 @@ + + + + + TreeGrid ContextMenu - jQuery EasyUI Demo + + + + + + + +

                                  TreeGrid ContextMenu

                                  +

                                  Right click to display the context menu.

                                  +
                                  + + + + + + + + + + +
                                  Task NamePersonsBegin DateEnd DateProgress
                                  +
                                  +
                                  Append
                                  +
                                  Remove
                                  + +
                                  Collapse
                                  +
                                  Expand
                                  +
                                  + + + \ No newline at end of file diff --git a/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/treegrid/editable.html b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/treegrid/editable.html new file mode 100644 index 00000000..30713e6f --- /dev/null +++ b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/treegrid/editable.html @@ -0,0 +1,93 @@ + + + + + Editable TreeGrid - jQuery EasyUI Demo + + + + + + + +

                                  Editable TreeGrid

                                  +

                                  Select one node and click edit button to perform editing.

                                  +
                                  + Edit + Save + Cancel +
                                  + + + + + + + + + + +
                                  Task NamePersonsBegin DateEnd DateProgress
                                  + + + + \ No newline at end of file diff --git a/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/treegrid/fluid.html b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/treegrid/fluid.html new file mode 100644 index 00000000..e0c8c0e0 --- /dev/null +++ b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/treegrid/fluid.html @@ -0,0 +1,33 @@ + + + + + Fluid TreeGrid - jQuery EasyUI Demo + + + + + + + +

                                  Fluid TreeGrid

                                  +

                                  This example shows how to assign percentage width to a column in TreeGrid.

                                  +
                                  + + + + + + + + +
                                  Name(50%)Size(20%)Modified Date(30%)
                                  + + + \ No newline at end of file diff --git a/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/treegrid/footer.html b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/treegrid/footer.html new file mode 100644 index 00000000..5d1cff9a --- /dev/null +++ b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/treegrid/footer.html @@ -0,0 +1,55 @@ + + + + + TreeGrid with Footer - jQuery EasyUI Demo + + + + + + + +

                                  TreeGrid with Footer

                                  +

                                  Show summary information on TreeGrid footer.

                                  +
                                  +
                                  + + + \ No newline at end of file diff --git a/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/treegrid/lines.html b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/treegrid/lines.html new file mode 100644 index 00000000..78cf6233 --- /dev/null +++ b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/treegrid/lines.html @@ -0,0 +1,35 @@ + + + + + TreeGrid Lines - jQuery EasyUI Demo + + + + + + + +

                                  TreeGrid Lines

                                  +

                                  This example shows how to show treegrid lines.

                                  +
                                  + + + + + + + + +
                                  NameSizeModified Date
                                  + + + \ No newline at end of file diff --git a/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/treegrid/reports.html b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/treegrid/reports.html new file mode 100644 index 00000000..94f27f4b --- /dev/null +++ b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/treegrid/reports.html @@ -0,0 +1,49 @@ + + + + + Reports using TreeGrid - jQuery EasyUI Demo + + + + + + + +

                                  Reports using TreeGrid

                                  +

                                  Using TreeGrid to show complex reports.

                                  +
                                  + + + + + + + + + + + + + + + + + + + + + + +
                                  Region
                                  20092010
                                  1st qrt.2st qrt.3st qrt.4st qrt.1st qrt.2st qrt.3st qrt.4st qrt.
                                  + + + \ No newline at end of file diff --git a/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/treegrid/treegrid_data1.json b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/treegrid/treegrid_data1.json new file mode 100644 index 00000000..0313d461 --- /dev/null +++ b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/treegrid/treegrid_data1.json @@ -0,0 +1,73 @@ +[{ + "id":1, + "name":"C", + "size":"", + "date":"02/19/2010", + "children":[{ + "id":2, + "name":"Program Files", + "size":"120 MB", + "date":"03/20/2010", + "children":[{ + "id":21, + "name":"Java", + "size":"", + "date":"01/13/2010", + "state":"closed", + "children":[{ + "id":211, + "name":"java.exe", + "size":"142 KB", + "date":"01/13/2010" + },{ + "id":212, + "name":"jawt.dll", + "size":"5 KB", + "date":"01/13/2010" + }] + },{ + "id":22, + "name":"MySQL", + "size":"", + "date":"01/13/2010", + "state":"closed", + "children":[{ + "id":221, + "name":"my.ini", + "size":"10 KB", + "date":"02/26/2009" + },{ + "id":222, + "name":"my-huge.ini", + "size":"5 KB", + "date":"02/26/2009" + },{ + "id":223, + "name":"my-large.ini", + "size":"5 KB", + "date":"02/26/2009" + }] + }] + },{ + "id":3, + "name":"eclipse", + "size":"", + "date":"01/20/2010", + "children":[{ + "id":31, + "name":"eclipse.exe", + "size":"56 KB", + "date":"05/19/2009" + },{ + "id":32, + "name":"eclipse.ini", + "size":"1 KB", + "date":"04/20/2010" + },{ + "id":33, + "name":"notice.html", + "size":"7 KB", + "date":"03/17/2005" + }] + }] +}] \ No newline at end of file diff --git a/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/treegrid/treegrid_data2.json b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/treegrid/treegrid_data2.json new file mode 100644 index 00000000..f917507f --- /dev/null +++ b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/treegrid/treegrid_data2.json @@ -0,0 +1,11 @@ +{"total":7,"rows":[ + {"id":1,"name":"All Tasks","begin":"3/4/2010","end":"3/20/2010","progress":60,"iconCls":"icon-ok"}, + {"id":2,"name":"Designing","begin":"3/4/2010","end":"3/10/2010","progress":100,"_parentId":1,"state":"closed"}, + {"id":21,"name":"Database","persons":2,"begin":"3/4/2010","end":"3/6/2010","progress":100,"_parentId":2}, + {"id":22,"name":"UML","persons":1,"begin":"3/7/2010","end":"3/8/2010","progress":100,"_parentId":2}, + {"id":23,"name":"Export Document","persons":1,"begin":"3/9/2010","end":"3/10/2010","progress":100,"_parentId":2}, + {"id":3,"name":"Coding","persons":2,"begin":"3/11/2010","end":"3/18/2010","progress":80}, + {"id":4,"name":"Testing","persons":1,"begin":"3/19/2010","end":"3/20/2010","progress":20} +],"footer":[ + {"name":"Total Persons:","persons":7,"iconCls":"icon-sum"} +]} diff --git a/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/treegrid/treegrid_data3.json b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/treegrid/treegrid_data3.json new file mode 100644 index 00000000..0475c38d --- /dev/null +++ b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/treegrid/treegrid_data3.json @@ -0,0 +1,13 @@ +{"total":9,"rows":[ + {"id":1,"region":"Wyoming"}, + {"id":11,"region":"Albin","f1":2000,"f2":1800,"f3":1903,"f4":2183,"f5":2133,"f6":1923,"f7":2018,"f8":1838,"_parentId":1}, + {"id":12,"region":"Canon","f1":2000,"f2":1800,"f3":1903,"f4":2183,"f5":2133,"f6":1923,"f7":2018,"f8":1838,"_parentId":1}, + {"id":13,"region":"Egbert","f1":2000,"f2":1800,"f3":1903,"f4":2183,"f5":2133,"f6":1923,"f7":2018,"f8":1838,"_parentId":1}, + {"id":2,"region":"Washington"}, + {"id":21,"region":"Bellingham","f1":2000,"f2":1800,"f3":1903,"f4":2183,"f5":2133,"f6":1923,"f7":2018,"f8":1838,"_parentId":2}, + {"id":22,"region":"Chehalis","f1":2000,"f2":1800,"f3":1903,"f4":2183,"f5":2133,"f6":1923,"f7":2018,"f8":1838,"_parentId":2}, + {"id":23,"region":"Ellensburg","f1":2000,"f2":1800,"f3":1903,"f4":2183,"f5":2133,"f6":1923,"f7":2018,"f8":1838,"_parentId":2}, + {"id":24,"region":"Monroe","f1":2000,"f2":1800,"f3":1903,"f4":2183,"f5":2133,"f6":1923,"f7":2018,"f8":1838,"_parentId":2} +],"footer":[ + {"region":"Total","f1":14000,"f2":12600,"f3":13321,"f4":15281,"f5":14931,"f6":13461,"f7":14126,"f8":12866} +]} \ No newline at end of file diff --git a/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/validatebox/basic.html b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/validatebox/basic.html new file mode 100644 index 00000000..701bca28 --- /dev/null +++ b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/validatebox/basic.html @@ -0,0 +1,50 @@ + + + + + Basic ValidateBox - jQuery EasyUI Demo + + + + + + + +

                                  Basic ValidateBox

                                  +

                                  It's easy to add validate logic to a input box.

                                  +
                                  +
                                  + + + + + + + + + + + + + + + + + + + + + +
                                  User Name:
                                  Email:
                                  Birthday:
                                  URL:
                                  Phone:
                                  +
                                  + + + + \ No newline at end of file diff --git a/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/validatebox/customtooltip.html b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/validatebox/customtooltip.html new file mode 100644 index 00000000..8574793e --- /dev/null +++ b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/validatebox/customtooltip.html @@ -0,0 +1,95 @@ + + + + + Custom ValidateBox Tooltip - jQuery EasyUI Demo + + + + + + + +

                                  Custom ValidateBox Tooltip

                                  +

                                  This sample shows how to display another tooltip message on a valid textbox.

                                  +
                                  +
                                  + + + + + + + + + + + + + + + + + + + + + +
                                  User Name:
                                  Email:
                                  Birthday:
                                  URL:
                                  Phone:
                                  +
                                  + + + + \ No newline at end of file diff --git a/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/validatebox/validateonblur.html b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/validatebox/validateonblur.html new file mode 100644 index 00000000..5709efa1 --- /dev/null +++ b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/validatebox/validateonblur.html @@ -0,0 +1,57 @@ + + + + + Validate On Blur - jQuery EasyUI Demo + + + + + + + +

                                  Validate On Blur

                                  +

                                  Active validation on first blur event.

                                  +
                                  +
                                  + + + + + + + + + + + + + + + + + + + + + +
                                  User Name:
                                  Email:
                                  Birthday:
                                  URL:
                                  Phone:
                                  +
                                  + + + + + \ No newline at end of file diff --git a/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/window/basic.html b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/window/basic.html new file mode 100644 index 00000000..4c3c551c --- /dev/null +++ b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/window/basic.html @@ -0,0 +1,23 @@ + + + + + Basic Window - jQuery EasyUI Demo + + + + + + + +

                                  Basic Window

                                  +

                                  Window can be dragged freely on screen.

                                  +
                                  + Open + Close +
                                  +
                                  + The window content. +
                                  + + \ No newline at end of file diff --git a/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/window/customtools.html b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/window/customtools.html new file mode 100644 index 00000000..1a22ad17 --- /dev/null +++ b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/window/customtools.html @@ -0,0 +1,30 @@ + + + + + Custom Window Tools - jQuery EasyUI Demo + + + + + + + +

                                  Custom Window Tools

                                  +

                                  Click the right top buttons to perform actions.

                                  +
                                  + Open + Close +
                                  +
                                  + The window content. +
                                  +
                                  + + + + +
                                  + + + \ No newline at end of file diff --git a/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/window/fluid.html b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/window/fluid.html new file mode 100644 index 00000000..11b3967a --- /dev/null +++ b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/window/fluid.html @@ -0,0 +1,24 @@ + + + + + Fluid Window - jQuery EasyUI Demo + + + + + + + +

                                  Fluid Window

                                  +

                                  This example shows how to set the width of Window to a percentage of its parent container.

                                  +
                                  +
                                  +

                                  The window has a width of 80%.

                                  +
                                  + + \ No newline at end of file diff --git a/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/window/footer.html b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/window/footer.html new file mode 100644 index 00000000..ba29d532 --- /dev/null +++ b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/window/footer.html @@ -0,0 +1,24 @@ + + + + + Window with a Footer - jQuery EasyUI Demo + + + + + + + +

                                  Window with a Footer

                                  +

                                  This example shows how to attach a footer bar to the window.

                                  +
                                  + Open + Close +
                                  +
                                  + The window content. +
                                  + + + \ No newline at end of file diff --git a/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/window/inlinewindow.html b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/window/inlinewindow.html new file mode 100644 index 00000000..83358801 --- /dev/null +++ b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/window/inlinewindow.html @@ -0,0 +1,26 @@ + + + + + Inline Window - jQuery EasyUI Demo + + + + + + + +

                                  Inline Window

                                  +

                                  The inline window stay inside its parent.

                                  +
                                  + Open + Close +
                                  +
                                  +
                                  + This window stay inside its parent +
                                  +
                                  + + + \ No newline at end of file diff --git a/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/window/modalwindow.html b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/window/modalwindow.html new file mode 100644 index 00000000..59e79ca3 --- /dev/null +++ b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/window/modalwindow.html @@ -0,0 +1,24 @@ + + + + + Modal Window - jQuery EasyUI Demo + + + + + + + +

                                  Modal Window

                                  +

                                  Click the open button below to open the modal window.

                                  +
                                  + Open + Close +
                                  +
                                  + The window content. +
                                  + + + \ No newline at end of file diff --git a/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/window/windowlayout.html b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/window/windowlayout.html new file mode 100644 index 00000000..7311ef69 --- /dev/null +++ b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/demo/window/windowlayout.html @@ -0,0 +1,33 @@ + + + + + Window Layout - jQuery EasyUI Demo + + + + + + + +

                                  Window Layout

                                  +

                                  Using layout on window.

                                  +
                                  + Open + Close +
                                  +
                                  +
                                  +
                                  +
                                  + jQuery EasyUI framework help you build your web page easily. +
                                  +
                                  + Ok + Cancel +
                                  +
                                  +
                                  + + + \ No newline at end of file diff --git a/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/easyloader.js b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/easyloader.js new file mode 100644 index 00000000..d5ec1cf8 --- /dev/null +++ b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/easyloader.js @@ -0,0 +1,190 @@ +/** + * jQuery EasyUI 1.4.1 + * + * Copyright (c) 2009-2014 www.jeasyui.com. All rights reserved. + * + * Licensed under the GPL license: http://www.gnu.org/licenses/gpl.txt + * To use it on other terms please contact us at info@jeasyui.com + * + */ +(function(){ +var _1={draggable:{js:"jquery.draggable.js"},droppable:{js:"jquery.droppable.js"},resizable:{js:"jquery.resizable.js"},linkbutton:{js:"jquery.linkbutton.js",css:"linkbutton.css"},progressbar:{js:"jquery.progressbar.js",css:"progressbar.css"},tooltip:{js:"jquery.tooltip.js",css:"tooltip.css"},pagination:{js:"jquery.pagination.js",css:"pagination.css",dependencies:["linkbutton"]},datagrid:{js:"jquery.datagrid.js",css:"datagrid.css",dependencies:["panel","resizable","linkbutton","pagination"]},treegrid:{js:"jquery.treegrid.js",css:"tree.css",dependencies:["datagrid"]},propertygrid:{js:"jquery.propertygrid.js",css:"propertygrid.css",dependencies:["datagrid"]},panel:{js:"jquery.panel.js",css:"panel.css"},window:{js:"jquery.window.js",css:"window.css",dependencies:["resizable","draggable","panel"]},dialog:{js:"jquery.dialog.js",css:"dialog.css",dependencies:["linkbutton","window"]},messager:{js:"jquery.messager.js",css:"messager.css",dependencies:["linkbutton","window","progressbar"]},layout:{js:"jquery.layout.js",css:"layout.css",dependencies:["resizable","panel"]},form:{js:"jquery.form.js"},menu:{js:"jquery.menu.js",css:"menu.css"},tabs:{js:"jquery.tabs.js",css:"tabs.css",dependencies:["panel","linkbutton"]},menubutton:{js:"jquery.menubutton.js",css:"menubutton.css",dependencies:["linkbutton","menu"]},splitbutton:{js:"jquery.splitbutton.js",css:"splitbutton.css",dependencies:["menubutton"]},accordion:{js:"jquery.accordion.js",css:"accordion.css",dependencies:["panel"]},calendar:{js:"jquery.calendar.js",css:"calendar.css"},textbox:{js:"jquery.textbox.js",css:"textbox.css",dependencies:["validatebox","linkbutton"]},filebox:{js:"jquery.filebox.js",css:"filebox.css",dependencies:["textbox"]},combo:{js:"jquery.combo.js",css:"combo.css",dependencies:["panel","textbox"]},combobox:{js:"jquery.combobox.js",css:"combobox.css",dependencies:["combo"]},combotree:{js:"jquery.combotree.js",dependencies:["combo","tree"]},combogrid:{js:"jquery.combogrid.js",dependencies:["combo","datagrid"]},validatebox:{js:"jquery.validatebox.js",css:"validatebox.css",dependencies:["tooltip"]},numberbox:{js:"jquery.numberbox.js",dependencies:["textbox"]},searchbox:{js:"jquery.searchbox.js",css:"searchbox.css",dependencies:["menubutton","textbox"]},spinner:{js:"jquery.spinner.js",css:"spinner.css",dependencies:["textbox"]},numberspinner:{js:"jquery.numberspinner.js",dependencies:["spinner","numberbox"]},timespinner:{js:"jquery.timespinner.js",dependencies:["spinner"]},tree:{js:"jquery.tree.js",css:"tree.css",dependencies:["draggable","droppable"]},datebox:{js:"jquery.datebox.js",css:"datebox.css",dependencies:["calendar","combo"]},datetimebox:{js:"jquery.datetimebox.js",dependencies:["datebox","timespinner"]},slider:{js:"jquery.slider.js",dependencies:["draggable"]},tooltip:{js:"jquery.tooltip.js"},parser:{js:"jquery.parser.js"}}; +var _2={"af":"easyui-lang-af.js","ar":"easyui-lang-ar.js","bg":"easyui-lang-bg.js","ca":"easyui-lang-ca.js","cs":"easyui-lang-cs.js","cz":"easyui-lang-cz.js","da":"easyui-lang-da.js","de":"easyui-lang-de.js","el":"easyui-lang-el.js","en":"easyui-lang-en.js","es":"easyui-lang-es.js","fr":"easyui-lang-fr.js","it":"easyui-lang-it.js","jp":"easyui-lang-jp.js","nl":"easyui-lang-nl.js","pl":"easyui-lang-pl.js","pt_BR":"easyui-lang-pt_BR.js","ru":"easyui-lang-ru.js","sv_SE":"easyui-lang-sv_SE.js","tr":"easyui-lang-tr.js","zh_CN":"easyui-lang-zh_CN.js","zh_TW":"easyui-lang-zh_TW.js"}; +var _3={}; +function _4(_5,_6){ +var _7=false; +var _8=document.createElement("script"); +_8.type="text/javascript"; +_8.language="javascript"; +_8.src=_5; +_8.onload=_8.onreadystatechange=function(){ +if(!_7&&(!_8.readyState||_8.readyState=="loaded"||_8.readyState=="complete")){ +_7=true; +_8.onload=_8.onreadystatechange=null; +if(_6){ +_6.call(_8); +} +} +}; +document.getElementsByTagName("head")[0].appendChild(_8); +}; +function _9(_a,_b){ +_4(_a,function(){ +document.getElementsByTagName("head")[0].removeChild(this); +if(_b){ +_b(); +} +}); +}; +function _c(_d,_e){ +var _f=document.createElement("link"); +_f.rel="stylesheet"; +_f.type="text/css"; +_f.media="screen"; +_f.href=_d; +document.getElementsByTagName("head")[0].appendChild(_f); +if(_e){ +_e.call(_f); +} +}; +function _10(_11,_12){ +_3[_11]="loading"; +var _13=_1[_11]; +var _14="loading"; +var _15=(easyloader.css&&_13["css"])?"loading":"loaded"; +if(easyloader.css&&_13["css"]){ +if(/^http/i.test(_13["css"])){ +var url=_13["css"]; +}else{ +var url=easyloader.base+"themes/"+easyloader.theme+"/"+_13["css"]; +} +_c(url,function(){ +_15="loaded"; +if(_14=="loaded"&&_15=="loaded"){ +_16(); +} +}); +} +if(/^http/i.test(_13["js"])){ +var url=_13["js"]; +}else{ +var url=easyloader.base+"plugins/"+_13["js"]; +} +_4(url,function(){ +_14="loaded"; +if(_14=="loaded"&&_15=="loaded"){ +_16(); +} +}); +function _16(){ +_3[_11]="loaded"; +easyloader.onProgress(_11); +if(_12){ +_12(); +} +}; +}; +function _17(_18,_19){ +var mm=[]; +var _1a=false; +if(typeof _18=="string"){ +add(_18); +}else{ +for(var i=0;i<_18.length;i++){ +add(_18[i]); +} +} +function add(_1b){ +if(!_1[_1b]){ +return; +} +var d=_1[_1b]["dependencies"]; +if(d){ +for(var i=0;i=0){ +v=Math.floor((_8.width()-_9)*v/100); +}else{ +v=Math.floor((_8.height()-_9)*v/100); +} +}else{ +v=parseInt(v)||undefined; +} +return v; +},parseOptions:function(_b,_c){ +var t=$(_b); +var _d={}; +var s=$.trim(t.attr("data-options")); +if(s){ +if(s.substring(0,1)!="{"){ +s="{"+s+"}"; +} +_d=(new Function("return "+s))(); +} +$.map(["width","height","left","top","minWidth","maxWidth","minHeight","maxHeight"],function(p){ +var pv=$.trim(_b.style[p]||""); +if(pv){ +if(pv.indexOf("%")==-1){ +pv=parseInt(pv)||undefined; +} +_d[p]=pv; +} +}); +if(_c){ +var _e={}; +for(var i=0;i<_c.length;i++){ +var pp=_c[i]; +if(typeof pp=="string"){ +_e[pp]=t.attr(pp); +}else{ +for(var _f in pp){ +var _10=pp[_f]; +if(_10=="boolean"){ +_e[_f]=t.attr(_f)?(t.attr(_f)=="true"):undefined; +}else{ +if(_10=="number"){ +_e[_f]=t.attr(_f)=="0"?0:parseFloat(t.attr(_f))||undefined; +} +} +} +} +} +$.extend(_d,_e); +} +return _d; +}}; +$(function(){ +var d=$("
                                  ").appendTo("body"); +$._boxModel=d.outerWidth()!=100; +d.remove(); +if(!window.easyloader&&$.parser.auto){ +$.parser.parse(); +} +}); +$.fn._outerWidth=function(_11){ +if(_11==undefined){ +if(this[0]==window){ +return this.width()||document.body.clientWidth; +} +return this.outerWidth()||0; +} +return this._size("width",_11); +}; +$.fn._outerHeight=function(_12){ +if(_12==undefined){ +if(this[0]==window){ +return this.height()||document.body.clientHeight; +} +return this.outerHeight()||0; +} +return this._size("height",_12); +}; +$.fn._scrollLeft=function(_13){ +if(_13==undefined){ +return this.scrollLeft(); +}else{ +return this.each(function(){ +$(this).scrollLeft(_13); +}); +} +}; +$.fn._propAttr=$.fn.prop||$.fn.attr; +$.fn._size=function(_14,_15){ +if(typeof _14=="string"){ +if(_14=="clear"){ +return this.each(function(){ +$(this).css({width:"",minWidth:"",maxWidth:"",height:"",minHeight:"",maxHeight:""}); +}); +}else{ +if(_14=="fit"){ +return this.each(function(){ +_16(this,this.tagName=="BODY"?$("body"):$(this).parent(),true); +}); +}else{ +if(_14=="unfit"){ +return this.each(function(){ +_16(this,$(this).parent(),false); +}); +}else{ +if(_15==undefined){ +return _17(this[0],_14); +}else{ +return this.each(function(){ +_17(this,_14,_15); +}); +} +} +} +} +}else{ +return this.each(function(){ +_15=_15||$(this).parent(); +$.extend(_14,_16(this,_15,_14.fit)||{}); +var r1=_18(this,"width",_15,_14); +var r2=_18(this,"height",_15,_14); +if(r1||r2){ +$(this).addClass("easyui-fluid"); +}else{ +$(this).removeClass("easyui-fluid"); +} +}); +} +function _16(_19,_1a,fit){ +if(!_1a.length){ +return false; +} +var t=$(_19)[0]; +var p=_1a[0]; +var _1b=p.fcount||0; +if(fit){ +if(!t.fitted){ +t.fitted=true; +p.fcount=_1b+1; +$(p).addClass("panel-noscroll"); +if(p.tagName=="BODY"){ +$("html").addClass("panel-fit"); +} +} +return {width:($(p).width()||1),height:($(p).height()||1)}; +}else{ +if(t.fitted){ +t.fitted=false; +p.fcount=_1b-1; +if(p.fcount==0){ +$(p).removeClass("panel-noscroll"); +if(p.tagName=="BODY"){ +$("html").removeClass("panel-fit"); +} +} +} +return false; +} +}; +function _18(_1c,_1d,_1e,_1f){ +var t=$(_1c); +var p=_1d; +var p1=p.substr(0,1).toUpperCase()+p.substr(1); +var min=$.parser.parseValue("min"+p1,_1f["min"+p1],_1e); +var max=$.parser.parseValue("max"+p1,_1f["max"+p1],_1e); +var val=$.parser.parseValue(p,_1f[p],_1e); +var _20=(String(_1f[p]||"").indexOf("%")>=0?true:false); +if(!isNaN(val)){ +var v=Math.min(Math.max(val,min||0),max||99999); +if(!_20){ +_1f[p]=v; +} +t._size("min"+p1,""); +t._size("max"+p1,""); +t._size(p,v); +}else{ +t._size(p,""); +t._size("min"+p1,min); +t._size("max"+p1,max); +} +return _20||_1f.fit; +}; +function _17(_21,_22,_23){ +var t=$(_21); +if(_23==undefined){ +_23=parseInt(_21.style[_22]); +if(isNaN(_23)){ +return undefined; +} +if($._boxModel){ +_23+=_24(); +} +return _23; +}else{ +if(_23===""){ +t.css(_22,""); +}else{ +if($._boxModel){ +_23-=_24(); +if(_23<0){ +_23=0; +} +} +t.css(_22,_23+"px"); +} +} +function _24(){ +if(_22.toLowerCase().indexOf("width")>=0){ +return t.outerWidth()-t.width(); +}else{ +return t.outerHeight()-t.height(); +} +}; +}; +}; +})(jQuery); +(function($){ +var _25=null; +var _26=null; +var _27=false; +function _28(e){ +if(e.touches.length!=1){ +return; +} +if(!_27){ +_27=true; +dblClickTimer=setTimeout(function(){ +_27=false; +},500); +}else{ +clearTimeout(dblClickTimer); +_27=false; +_29(e,"dblclick"); +} +_25=setTimeout(function(){ +_29(e,"contextmenu",3); +},1000); +_29(e,"mousedown"); +if($.fn.draggable.isDragging||$.fn.resizable.isResizing){ +e.preventDefault(); +} +}; +function _2a(e){ +if(e.touches.length!=1){ +return; +} +if(_25){ +clearTimeout(_25); +} +_29(e,"mousemove"); +if($.fn.draggable.isDragging||$.fn.resizable.isResizing){ +e.preventDefault(); +} +}; +function _2b(e){ +if(_25){ +clearTimeout(_25); +} +_29(e,"mouseup"); +if($.fn.draggable.isDragging||$.fn.resizable.isResizing){ +e.preventDefault(); +} +}; +function _29(e,_2c,_2d){ +var _2e=new $.Event(_2c); +_2e.pageX=e.changedTouches[0].pageX; +_2e.pageY=e.changedTouches[0].pageY; +_2e.which=_2d||1; +$(e.target).trigger(_2e); +}; +if(document.addEventListener){ +document.addEventListener("touchstart",_28,true); +document.addEventListener("touchmove",_2a,true); +document.addEventListener("touchend",_2b,true); +} +})(jQuery); +(function($){ +function _2f(e){ +var _30=$.data(e.data.target,"draggable"); +var _31=_30.options; +var _32=_30.proxy; +var _33=e.data; +var _34=_33.startLeft+e.pageX-_33.startX; +var top=_33.startTop+e.pageY-_33.startY; +if(_32){ +if(_32.parent()[0]==document.body){ +if(_31.deltaX!=null&&_31.deltaX!=undefined){ +_34=e.pageX+_31.deltaX; +}else{ +_34=e.pageX-e.data.offsetWidth; +} +if(_31.deltaY!=null&&_31.deltaY!=undefined){ +top=e.pageY+_31.deltaY; +}else{ +top=e.pageY-e.data.offsetHeight; +} +}else{ +if(_31.deltaX!=null&&_31.deltaX!=undefined){ +_34+=e.data.offsetWidth+_31.deltaX; +} +if(_31.deltaY!=null&&_31.deltaY!=undefined){ +top+=e.data.offsetHeight+_31.deltaY; +} +} +} +if(e.data.parent!=document.body){ +_34+=$(e.data.parent).scrollLeft(); +top+=$(e.data.parent).scrollTop(); +} +if(_31.axis=="h"){ +_33.left=_34; +}else{ +if(_31.axis=="v"){ +_33.top=top; +}else{ +_33.left=_34; +_33.top=top; +} +} +}; +function _35(e){ +var _36=$.data(e.data.target,"draggable"); +var _37=_36.options; +var _38=_36.proxy; +if(!_38){ +_38=$(e.data.target); +} +_38.css({left:e.data.left,top:e.data.top}); +$("body").css("cursor",_37.cursor); +}; +function _39(e){ +$.fn.draggable.isDragging=true; +var _3a=$.data(e.data.target,"draggable"); +var _3b=_3a.options; +var _3c=$(".droppable").filter(function(){ +return e.data.target!=this; +}).filter(function(){ +var _3d=$.data(this,"droppable").options.accept; +if(_3d){ +return $(_3d).filter(function(){ +return this==e.data.target; +}).length>0; +}else{ +return true; +} +}); +_3a.droppables=_3c; +var _3e=_3a.proxy; +if(!_3e){ +if(_3b.proxy){ +if(_3b.proxy=="clone"){ +_3e=$(e.data.target).clone().insertAfter(e.data.target); +}else{ +_3e=_3b.proxy.call(e.data.target,e.data.target); +} +_3a.proxy=_3e; +}else{ +_3e=$(e.data.target); +} +} +_3e.css("position","absolute"); +_2f(e); +_35(e); +_3b.onStartDrag.call(e.data.target,e); +return false; +}; +function _3f(e){ +var _40=$.data(e.data.target,"draggable"); +_2f(e); +if(_40.options.onDrag.call(e.data.target,e)!=false){ +_35(e); +} +var _41=e.data.target; +_40.droppables.each(function(){ +var _42=$(this); +if(_42.droppable("options").disabled){ +return; +} +var p2=_42.offset(); +if(e.pageX>p2.left&&e.pageXp2.top&&e.pageYp2.left&&e.pageXp2.top&&e.pageY_57.options.edge; +}; +}); +}; +$.fn.draggable.methods={options:function(jq){ +return $.data(jq[0],"draggable").options; +},proxy:function(jq){ +return $.data(jq[0],"draggable").proxy; +},enable:function(jq){ +return jq.each(function(){ +$(this).draggable({disabled:false}); +}); +},disable:function(jq){ +return jq.each(function(){ +$(this).draggable({disabled:true}); +}); +}}; +$.fn.draggable.parseOptions=function(_5c){ +var t=$(_5c); +return $.extend({},$.parser.parseOptions(_5c,["cursor","handle","axis",{"revert":"boolean","deltaX":"number","deltaY":"number","edge":"number"}]),{disabled:(t.attr("disabled")?true:undefined)}); +}; +$.fn.draggable.defaults={proxy:null,revert:false,cursor:"move",deltaX:null,deltaY:null,handle:null,disabled:false,edge:0,axis:null,onBeforeDrag:function(e){ +},onStartDrag:function(e){ +},onDrag:function(e){ +},onStopDrag:function(e){ +}}; +$.fn.draggable.isDragging=false; +})(jQuery); +(function($){ +function _5d(_5e){ +$(_5e).addClass("droppable"); +$(_5e).bind("_dragenter",function(e,_5f){ +$.data(_5e,"droppable").options.onDragEnter.apply(_5e,[e,_5f]); +}); +$(_5e).bind("_dragleave",function(e,_60){ +$.data(_5e,"droppable").options.onDragLeave.apply(_5e,[e,_60]); +}); +$(_5e).bind("_dragover",function(e,_61){ +$.data(_5e,"droppable").options.onDragOver.apply(_5e,[e,_61]); +}); +$(_5e).bind("_drop",function(e,_62){ +$.data(_5e,"droppable").options.onDrop.apply(_5e,[e,_62]); +}); +}; +$.fn.droppable=function(_63,_64){ +if(typeof _63=="string"){ +return $.fn.droppable.methods[_63](this,_64); +} +_63=_63||{}; +return this.each(function(){ +var _65=$.data(this,"droppable"); +if(_65){ +$.extend(_65.options,_63); +}else{ +_5d(this); +$.data(this,"droppable",{options:$.extend({},$.fn.droppable.defaults,$.fn.droppable.parseOptions(this),_63)}); +} +}); +}; +$.fn.droppable.methods={options:function(jq){ +return $.data(jq[0],"droppable").options; +},enable:function(jq){ +return jq.each(function(){ +$(this).droppable({disabled:false}); +}); +},disable:function(jq){ +return jq.each(function(){ +$(this).droppable({disabled:true}); +}); +}}; +$.fn.droppable.parseOptions=function(_66){ +var t=$(_66); +return $.extend({},$.parser.parseOptions(_66,["accept"]),{disabled:(t.attr("disabled")?true:undefined)}); +}; +$.fn.droppable.defaults={accept:null,disabled:false,onDragEnter:function(e,_67){ +},onDragOver:function(e,_68){ +},onDragLeave:function(e,_69){ +},onDrop:function(e,_6a){ +}}; +})(jQuery); +(function($){ +$.fn.resizable=function(_6b,_6c){ +if(typeof _6b=="string"){ +return $.fn.resizable.methods[_6b](this,_6c); +} +function _6d(e){ +var _6e=e.data; +var _6f=$.data(_6e.target,"resizable").options; +if(_6e.dir.indexOf("e")!=-1){ +var _70=_6e.startWidth+e.pageX-_6e.startX; +_70=Math.min(Math.max(_70,_6f.minWidth),_6f.maxWidth); +_6e.width=_70; +} +if(_6e.dir.indexOf("s")!=-1){ +var _71=_6e.startHeight+e.pageY-_6e.startY; +_71=Math.min(Math.max(_71,_6f.minHeight),_6f.maxHeight); +_6e.height=_71; +} +if(_6e.dir.indexOf("w")!=-1){ +var _70=_6e.startWidth-e.pageX+_6e.startX; +_70=Math.min(Math.max(_70,_6f.minWidth),_6f.maxWidth); +_6e.width=_70; +_6e.left=_6e.startLeft+_6e.startWidth-_6e.width; +} +if(_6e.dir.indexOf("n")!=-1){ +var _71=_6e.startHeight-e.pageY+_6e.startY; +_71=Math.min(Math.max(_71,_6f.minHeight),_6f.maxHeight); +_6e.height=_71; +_6e.top=_6e.startTop+_6e.startHeight-_6e.height; +} +}; +function _72(e){ +var _73=e.data; +var t=$(_73.target); +t.css({left:_73.left,top:_73.top}); +if(t.outerWidth()!=_73.width){ +t._outerWidth(_73.width); +} +if(t.outerHeight()!=_73.height){ +t._outerHeight(_73.height); +} +}; +function _74(e){ +$.fn.resizable.isResizing=true; +$.data(e.data.target,"resizable").options.onStartResize.call(e.data.target,e); +return false; +}; +function _75(e){ +_6d(e); +if($.data(e.data.target,"resizable").options.onResize.call(e.data.target,e)!=false){ +_72(e); +} +return false; +}; +function _76(e){ +$.fn.resizable.isResizing=false; +_6d(e,true); +_72(e); +$.data(e.data.target,"resizable").options.onStopResize.call(e.data.target,e); +$(document).unbind(".resizable"); +$("body").css("cursor",""); +return false; +}; +return this.each(function(){ +var _77=null; +var _78=$.data(this,"resizable"); +if(_78){ +$(this).unbind(".resizable"); +_77=$.extend(_78.options,_6b||{}); +}else{ +_77=$.extend({},$.fn.resizable.defaults,$.fn.resizable.parseOptions(this),_6b||{}); +$.data(this,"resizable",{options:_77}); +} +if(_77.disabled==true){ +return; +} +$(this).bind("mousemove.resizable",{target:this},function(e){ +if($.fn.resizable.isResizing){ +return; +} +var dir=_79(e); +if(dir==""){ +$(e.data.target).css("cursor",""); +}else{ +$(e.data.target).css("cursor",dir+"-resize"); +} +}).bind("mouseleave.resizable",{target:this},function(e){ +$(e.data.target).css("cursor",""); +}).bind("mousedown.resizable",{target:this},function(e){ +var dir=_79(e); +if(dir==""){ +return; +} +function _7a(css){ +var val=parseInt($(e.data.target).css(css)); +if(isNaN(val)){ +return 0; +}else{ +return val; +} +}; +var _7b={target:e.data.target,dir:dir,startLeft:_7a("left"),startTop:_7a("top"),left:_7a("left"),top:_7a("top"),startX:e.pageX,startY:e.pageY,startWidth:$(e.data.target).outerWidth(),startHeight:$(e.data.target).outerHeight(),width:$(e.data.target).outerWidth(),height:$(e.data.target).outerHeight(),deltaWidth:$(e.data.target).outerWidth()-$(e.data.target).width(),deltaHeight:$(e.data.target).outerHeight()-$(e.data.target).height()}; +$(document).bind("mousedown.resizable",_7b,_74); +$(document).bind("mousemove.resizable",_7b,_75); +$(document).bind("mouseup.resizable",_7b,_76); +$("body").css("cursor",dir+"-resize"); +}); +function _79(e){ +var tt=$(e.data.target); +var dir=""; +var _7c=tt.offset(); +var _7d=tt.outerWidth(); +var _7e=tt.outerHeight(); +var _7f=_77.edge; +if(e.pageY>_7c.top&&e.pageY<_7c.top+_7f){ +dir+="n"; +}else{ +if(e.pageY<_7c.top+_7e&&e.pageY>_7c.top+_7e-_7f){ +dir+="s"; +} +} +if(e.pageX>_7c.left&&e.pageX<_7c.left+_7f){ +dir+="w"; +}else{ +if(e.pageX<_7c.left+_7d&&e.pageX>_7c.left+_7d-_7f){ +dir+="e"; +} +} +var _80=_77.handles.split(","); +for(var i=0;i<_80.length;i++){ +var _81=_80[i].replace(/(^\s*)|(\s*$)/g,""); +if(_81=="all"||_81==dir){ +return dir; +} +} +return ""; +}; +}); +}; +$.fn.resizable.methods={options:function(jq){ +return $.data(jq[0],"resizable").options; +},enable:function(jq){ +return jq.each(function(){ +$(this).resizable({disabled:false}); +}); +},disable:function(jq){ +return jq.each(function(){ +$(this).resizable({disabled:true}); +}); +}}; +$.fn.resizable.parseOptions=function(_82){ +var t=$(_82); +return $.extend({},$.parser.parseOptions(_82,["handles",{minWidth:"number",minHeight:"number",maxWidth:"number",maxHeight:"number",edge:"number"}]),{disabled:(t.attr("disabled")?true:undefined)}); +}; +$.fn.resizable.defaults={disabled:false,handles:"n, e, s, w, ne, se, sw, nw, all",minWidth:10,minHeight:10,maxWidth:10000,maxHeight:10000,edge:5,onStartResize:function(e){ +},onResize:function(e){ +},onStopResize:function(e){ +}}; +$.fn.resizable.isResizing=false; +})(jQuery); +(function($){ +function _83(_84,_85){ +var _86=$.data(_84,"linkbutton").options; +if(_85){ +$.extend(_86,_85); +} +if(_86.width||_86.height||_86.fit){ +var btn=$(_84); +var _87=btn.parent(); +var _88=btn.is(":visible"); +if(!_88){ +var _89=$("
                                  ").insertBefore(_84); +var _8a={position:btn.css("position"),display:btn.css("display"),left:btn.css("left")}; +btn.appendTo("body"); +btn.css({position:"absolute",display:"inline-block",left:-20000}); +} +btn._size(_86,_87); +var _8b=btn.find(".l-btn-left"); +_8b.css("margin-top",0); +_8b.css("margin-top",parseInt((btn.height()-_8b.height())/2)+"px"); +if(!_88){ +btn.insertAfter(_89); +btn.css(_8a); +_89.remove(); +} +} +}; +function _8c(_8d){ +var _8e=$.data(_8d,"linkbutton").options; +var t=$(_8d).empty(); +t.addClass("l-btn").removeClass("l-btn-plain l-btn-selected l-btn-plain-selected"); +t.removeClass("l-btn-small l-btn-medium l-btn-large").addClass("l-btn-"+_8e.size); +if(_8e.plain){ +t.addClass("l-btn-plain"); +} +if(_8e.selected){ +t.addClass(_8e.plain?"l-btn-selected l-btn-plain-selected":"l-btn-selected"); +} +t.attr("group",_8e.group||""); +t.attr("id",_8e.id||""); +var _8f=$("").appendTo(t); +if(_8e.text){ +$("").html(_8e.text).appendTo(_8f); +}else{ +$(" ").appendTo(_8f); +} +if(_8e.iconCls){ +$(" ").addClass(_8e.iconCls).appendTo(_8f); +_8f.addClass("l-btn-icon-"+_8e.iconAlign); +} +t.unbind(".linkbutton").bind("focus.linkbutton",function(){ +if(!_8e.disabled){ +$(this).addClass("l-btn-focus"); +} +}).bind("blur.linkbutton",function(){ +$(this).removeClass("l-btn-focus"); +}).bind("click.linkbutton",function(){ +if(!_8e.disabled){ +if(_8e.toggle){ +if(_8e.selected){ +$(this).linkbutton("unselect"); +}else{ +$(this).linkbutton("select"); +} +} +_8e.onClick.call(this); +} +}); +_90(_8d,_8e.selected); +_91(_8d,_8e.disabled); +}; +function _90(_92,_93){ +var _94=$.data(_92,"linkbutton").options; +if(_93){ +if(_94.group){ +$("a.l-btn[group=\""+_94.group+"\"]").each(function(){ +var o=$(this).linkbutton("options"); +if(o.toggle){ +$(this).removeClass("l-btn-selected l-btn-plain-selected"); +o.selected=false; +} +}); +} +$(_92).addClass(_94.plain?"l-btn-selected l-btn-plain-selected":"l-btn-selected"); +_94.selected=true; +}else{ +if(!_94.group){ +$(_92).removeClass("l-btn-selected l-btn-plain-selected"); +_94.selected=false; +} +} +}; +function _91(_95,_96){ +var _97=$.data(_95,"linkbutton"); +var _98=_97.options; +$(_95).removeClass("l-btn-disabled l-btn-plain-disabled"); +if(_96){ +_98.disabled=true; +var _99=$(_95).attr("href"); +if(_99){ +_97.href=_99; +$(_95).attr("href","javascript:void(0)"); +} +if(_95.onclick){ +_97.onclick=_95.onclick; +_95.onclick=null; +} +_98.plain?$(_95).addClass("l-btn-disabled l-btn-plain-disabled"):$(_95).addClass("l-btn-disabled"); +}else{ +_98.disabled=false; +if(_97.href){ +$(_95).attr("href",_97.href); +} +if(_97.onclick){ +_95.onclick=_97.onclick; +} +} +}; +$.fn.linkbutton=function(_9a,_9b){ +if(typeof _9a=="string"){ +return $.fn.linkbutton.methods[_9a](this,_9b); +} +_9a=_9a||{}; +return this.each(function(){ +var _9c=$.data(this,"linkbutton"); +if(_9c){ +$.extend(_9c.options,_9a); +}else{ +$.data(this,"linkbutton",{options:$.extend({},$.fn.linkbutton.defaults,$.fn.linkbutton.parseOptions(this),_9a)}); +$(this).removeAttr("disabled"); +$(this).bind("_resize",function(e,_9d){ +if($(this).hasClass("easyui-fluid")||_9d){ +_83(this); +} +return false; +}); +} +_8c(this); +_83(this); +}); +}; +$.fn.linkbutton.methods={options:function(jq){ +return $.data(jq[0],"linkbutton").options; +},resize:function(jq,_9e){ +return jq.each(function(){ +_83(this,_9e); +}); +},enable:function(jq){ +return jq.each(function(){ +_91(this,false); +}); +},disable:function(jq){ +return jq.each(function(){ +_91(this,true); +}); +},select:function(jq){ +return jq.each(function(){ +_90(this,true); +}); +},unselect:function(jq){ +return jq.each(function(){ +_90(this,false); +}); +}}; +$.fn.linkbutton.parseOptions=function(_9f){ +var t=$(_9f); +return $.extend({},$.parser.parseOptions(_9f,["id","iconCls","iconAlign","group","size",{plain:"boolean",toggle:"boolean",selected:"boolean"}]),{disabled:(t.attr("disabled")?true:undefined),text:$.trim(t.html()),iconCls:(t.attr("icon")||t.attr("iconCls"))}); +}; +$.fn.linkbutton.defaults={id:null,disabled:false,toggle:false,selected:false,group:null,plain:false,text:"",iconCls:null,iconAlign:"left",size:"small",onClick:function(){ +}}; +})(jQuery); +(function($){ +function _a0(_a1){ +var _a2=$.data(_a1,"pagination"); +var _a3=_a2.options; +var bb=_a2.bb={}; +var _a4=$(_a1).addClass("pagination").html("
                                  "); +var tr=_a4.find("tr"); +var aa=$.extend([],_a3.layout); +if(!_a3.showPageList){ +_a5(aa,"list"); +} +if(!_a3.showRefresh){ +_a5(aa,"refresh"); +} +if(aa[0]=="sep"){ +aa.shift(); +} +if(aa[aa.length-1]=="sep"){ +aa.pop(); +} +for(var _a6=0;_a6"); +ps.bind("change",function(){ +_a3.pageSize=parseInt($(this).val()); +_a3.onChangePageSize.call(_a1,_a3.pageSize); +_ad(_a1,_a3.pageNumber); +}); +for(var i=0;i<_a3.pageList.length;i++){ +$("").text(_a3.pageList[i]).appendTo(ps); +} +$("").append(ps).appendTo(tr); +}else{ +if(_a7=="sep"){ +$("
                                  ").appendTo(tr); +}else{ +if(_a7=="first"){ +bb.first=_a8("first"); +}else{ +if(_a7=="prev"){ +bb.prev=_a8("prev"); +}else{ +if(_a7=="next"){ +bb.next=_a8("next"); +}else{ +if(_a7=="last"){ +bb.last=_a8("last"); +}else{ +if(_a7=="manual"){ +$("").html(_a3.beforePageText).appendTo(tr).wrap(""); +bb.num=$("").appendTo(tr).wrap(""); +bb.num.unbind(".pagination").bind("keydown.pagination",function(e){ +if(e.keyCode==13){ +var _a9=parseInt($(this).val())||1; +_ad(_a1,_a9); +return false; +} +}); +bb.after=$("").appendTo(tr).wrap(""); +}else{ +if(_a7=="refresh"){ +bb.refresh=_a8("refresh"); +}else{ +if(_a7=="links"){ +$("").appendTo(tr); +} +} +} +} +} +} +} +} +} +} +if(_a3.buttons){ +$("
                                  ").appendTo(tr); +if($.isArray(_a3.buttons)){ +for(var i=0;i<_a3.buttons.length;i++){ +var btn=_a3.buttons[i]; +if(btn=="-"){ +$("
                                  ").appendTo(tr); +}else{ +var td=$("").appendTo(tr); +var a=$("").appendTo(td); +a[0].onclick=eval(btn.handler||function(){ +}); +a.linkbutton($.extend({},btn,{plain:true})); +} +} +}else{ +var td=$("").appendTo(tr); +$(_a3.buttons).appendTo(td).show(); +} +} +$("
                                  ").appendTo(_a4); +$("
                                  ").appendTo(_a4); +function _a8(_aa){ +var btn=_a3.nav[_aa]; +var a=$("").appendTo(tr); +a.wrap(""); +a.linkbutton({iconCls:btn.iconCls,plain:true}).unbind(".pagination").bind("click.pagination",function(){ +btn.handler.call(_a1); +}); +return a; +}; +function _a5(aa,_ab){ +var _ac=$.inArray(_ab,aa); +if(_ac>=0){ +aa.splice(_ac,1); +} +return aa; +}; +}; +function _ad(_ae,_af){ +var _b0=$.data(_ae,"pagination").options; +_b1(_ae,{pageNumber:_af}); +_b0.onSelectPage.call(_ae,_b0.pageNumber,_b0.pageSize); +}; +function _b1(_b2,_b3){ +var _b4=$.data(_b2,"pagination"); +var _b5=_b4.options; +var bb=_b4.bb; +$.extend(_b5,_b3||{}); +var ps=$(_b2).find("select.pagination-page-list"); +if(ps.length){ +ps.val(_b5.pageSize+""); +_b5.pageSize=parseInt(ps.val()); +} +var _b6=Math.ceil(_b5.total/_b5.pageSize)||1; +if(_b5.pageNumber<1){ +_b5.pageNumber=1; +} +if(_b5.pageNumber>_b6){ +_b5.pageNumber=_b6; +} +if(_b5.total==0){ +_b5.pageNumber=0; +_b6=0; +} +if(bb.num){ +bb.num.val(_b5.pageNumber); +} +if(bb.after){ +bb.after.html(_b5.afterPageText.replace(/{pages}/,_b6)); +} +var td=$(_b2).find("td.pagination-links"); +if(td.length){ +td.empty(); +var _b7=_b5.pageNumber-Math.floor(_b5.links/2); +if(_b7<1){ +_b7=1; +} +var _b8=_b7+_b5.links-1; +if(_b8>_b6){ +_b8=_b6; +} +_b7=_b8-_b5.links+1; +if(_b7<1){ +_b7=1; +} +for(var i=_b7;i<=_b8;i++){ +var a=$("").appendTo(td); +a.linkbutton({plain:true,text:i}); +if(i==_b5.pageNumber){ +a.linkbutton("select"); +}else{ +a.unbind(".pagination").bind("click.pagination",{pageNumber:i},function(e){ +_ad(_b2,e.data.pageNumber); +}); +} +} +} +var _b9=_b5.displayMsg; +_b9=_b9.replace(/{from}/,_b5.total==0?0:_b5.pageSize*(_b5.pageNumber-1)+1); +_b9=_b9.replace(/{to}/,Math.min(_b5.pageSize*(_b5.pageNumber),_b5.total)); +_b9=_b9.replace(/{total}/,_b5.total); +$(_b2).find("div.pagination-info").html(_b9); +if(bb.first){ +bb.first.linkbutton({disabled:((!_b5.total)||_b5.pageNumber==1)}); +} +if(bb.prev){ +bb.prev.linkbutton({disabled:((!_b5.total)||_b5.pageNumber==1)}); +} +if(bb.next){ +bb.next.linkbutton({disabled:(_b5.pageNumber==_b6)}); +} +if(bb.last){ +bb.last.linkbutton({disabled:(_b5.pageNumber==_b6)}); +} +_ba(_b2,_b5.loading); +}; +function _ba(_bb,_bc){ +var _bd=$.data(_bb,"pagination"); +var _be=_bd.options; +_be.loading=_bc; +if(_be.showRefresh&&_bd.bb.refresh){ +_bd.bb.refresh.linkbutton({iconCls:(_be.loading?"pagination-loading":"pagination-load")}); +} +}; +$.fn.pagination=function(_bf,_c0){ +if(typeof _bf=="string"){ +return $.fn.pagination.methods[_bf](this,_c0); +} +_bf=_bf||{}; +return this.each(function(){ +var _c1; +var _c2=$.data(this,"pagination"); +if(_c2){ +_c1=$.extend(_c2.options,_bf); +}else{ +_c1=$.extend({},$.fn.pagination.defaults,$.fn.pagination.parseOptions(this),_bf); +$.data(this,"pagination",{options:_c1}); +} +_a0(this); +_b1(this); +}); +}; +$.fn.pagination.methods={options:function(jq){ +return $.data(jq[0],"pagination").options; +},loading:function(jq){ +return jq.each(function(){ +_ba(this,true); +}); +},loaded:function(jq){ +return jq.each(function(){ +_ba(this,false); +}); +},refresh:function(jq,_c3){ +return jq.each(function(){ +_b1(this,_c3); +}); +},select:function(jq,_c4){ +return jq.each(function(){ +_ad(this,_c4); +}); +}}; +$.fn.pagination.parseOptions=function(_c5){ +var t=$(_c5); +return $.extend({},$.parser.parseOptions(_c5,[{total:"number",pageSize:"number",pageNumber:"number",links:"number"},{loading:"boolean",showPageList:"boolean",showRefresh:"boolean"}]),{pageList:(t.attr("pageList")?eval(t.attr("pageList")):undefined)}); +}; +$.fn.pagination.defaults={total:1,pageSize:10,pageNumber:1,pageList:[10,20,30,50],loading:false,buttons:null,showPageList:true,showRefresh:true,links:10,layout:["list","sep","first","prev","sep","manual","sep","next","last","sep","refresh"],onSelectPage:function(_c6,_c7){ +},onBeforeRefresh:function(_c8,_c9){ +},onRefresh:function(_ca,_cb){ +},onChangePageSize:function(_cc){ +},beforePageText:"Page",afterPageText:"of {pages}",displayMsg:"Displaying {from} to {to} of {total} items",nav:{first:{iconCls:"pagination-first",handler:function(){ +var _cd=$(this).pagination("options"); +if(_cd.pageNumber>1){ +$(this).pagination("select",1); +} +}},prev:{iconCls:"pagination-prev",handler:function(){ +var _ce=$(this).pagination("options"); +if(_ce.pageNumber>1){ +$(this).pagination("select",_ce.pageNumber-1); +} +}},next:{iconCls:"pagination-next",handler:function(){ +var _cf=$(this).pagination("options"); +var _d0=Math.ceil(_cf.total/_cf.pageSize); +if(_cf.pageNumber<_d0){ +$(this).pagination("select",_cf.pageNumber+1); +} +}},last:{iconCls:"pagination-last",handler:function(){ +var _d1=$(this).pagination("options"); +var _d2=Math.ceil(_d1.total/_d1.pageSize); +if(_d1.pageNumber<_d2){ +$(this).pagination("select",_d2); +} +}},refresh:{iconCls:"pagination-refresh",handler:function(){ +var _d3=$(this).pagination("options"); +if(_d3.onBeforeRefresh.call(this,_d3.pageNumber,_d3.pageSize)!=false){ +$(this).pagination("select",_d3.pageNumber); +_d3.onRefresh.call(this,_d3.pageNumber,_d3.pageSize); +} +}}}}; +})(jQuery); +(function($){ +function _d4(_d5){ +var _d6=$(_d5); +_d6.addClass("tree"); +return _d6; +}; +function _d7(_d8){ +var _d9=$.data(_d8,"tree").options; +$(_d8).unbind().bind("mouseover",function(e){ +var tt=$(e.target); +var _da=tt.closest("div.tree-node"); +if(!_da.length){ +return; +} +_da.addClass("tree-node-hover"); +if(tt.hasClass("tree-hit")){ +if(tt.hasClass("tree-expanded")){ +tt.addClass("tree-expanded-hover"); +}else{ +tt.addClass("tree-collapsed-hover"); +} +} +e.stopPropagation(); +}).bind("mouseout",function(e){ +var tt=$(e.target); +var _db=tt.closest("div.tree-node"); +if(!_db.length){ +return; +} +_db.removeClass("tree-node-hover"); +if(tt.hasClass("tree-hit")){ +if(tt.hasClass("tree-expanded")){ +tt.removeClass("tree-expanded-hover"); +}else{ +tt.removeClass("tree-collapsed-hover"); +} +} +e.stopPropagation(); +}).bind("click",function(e){ +var tt=$(e.target); +var _dc=tt.closest("div.tree-node"); +if(!_dc.length){ +return; +} +if(tt.hasClass("tree-hit")){ +_13b(_d8,_dc[0]); +return false; +}else{ +if(tt.hasClass("tree-checkbox")){ +_104(_d8,_dc[0],!tt.hasClass("tree-checkbox1")); +return false; +}else{ +_181(_d8,_dc[0]); +_d9.onClick.call(_d8,_df(_d8,_dc[0])); +} +} +e.stopPropagation(); +}).bind("dblclick",function(e){ +var _dd=$(e.target).closest("div.tree-node"); +if(!_dd.length){ +return; +} +_181(_d8,_dd[0]); +_d9.onDblClick.call(_d8,_df(_d8,_dd[0])); +e.stopPropagation(); +}).bind("contextmenu",function(e){ +var _de=$(e.target).closest("div.tree-node"); +if(!_de.length){ +return; +} +_d9.onContextMenu.call(_d8,e,_df(_d8,_de[0])); +e.stopPropagation(); +}); +}; +function _e0(_e1){ +var _e2=$.data(_e1,"tree").options; +_e2.dnd=false; +var _e3=$(_e1).find("div.tree-node"); +_e3.draggable("disable"); +_e3.css("cursor","pointer"); +}; +function _e4(_e5){ +var _e6=$.data(_e5,"tree"); +var _e7=_e6.options; +var _e8=_e6.tree; +_e6.disabledNodes=[]; +_e7.dnd=true; +_e8.find("div.tree-node").draggable({disabled:false,revert:true,cursor:"pointer",proxy:function(_e9){ +var p=$("
                                  ").appendTo("body"); +p.html(" "+$(_e9).find(".tree-title").html()); +p.hide(); +return p; +},deltaX:15,deltaY:15,onBeforeDrag:function(e){ +if(_e7.onBeforeDrag.call(_e5,_df(_e5,this))==false){ +return false; +} +if($(e.target).hasClass("tree-hit")||$(e.target).hasClass("tree-checkbox")){ +return false; +} +if(e.which!=1){ +return false; +} +$(this).next("ul").find("div.tree-node").droppable({accept:"no-accept"}); +var _ea=$(this).find("span.tree-indent"); +if(_ea.length){ +e.data.offsetWidth-=_ea.length*_ea.width(); +} +},onStartDrag:function(){ +$(this).draggable("proxy").css({left:-10000,top:-10000}); +_e7.onStartDrag.call(_e5,_df(_e5,this)); +var _eb=_df(_e5,this); +if(_eb.id==undefined){ +_eb.id="easyui_tree_node_id_temp"; +_11e(_e5,_eb); +} +_e6.draggingNodeId=_eb.id; +},onDrag:function(e){ +var x1=e.pageX,y1=e.pageY,x2=e.data.startX,y2=e.data.startY; +var d=Math.sqrt((x1-x2)*(x1-x2)+(y1-y2)*(y1-y2)); +if(d>3){ +$(this).draggable("proxy").show(); +} +this.pageY=e.pageY; +},onStopDrag:function(){ +$(this).next("ul").find("div.tree-node").droppable({accept:"div.tree-node"}); +for(var i=0;i<_e6.disabledNodes.length;i++){ +$(_e6.disabledNodes[i]).droppable("enable"); +} +_e6.disabledNodes=[]; +var _ec=_179(_e5,_e6.draggingNodeId); +if(_ec&&_ec.id=="easyui_tree_node_id_temp"){ +_ec.id=""; +_11e(_e5,_ec); +} +_e7.onStopDrag.call(_e5,_ec); +}}).droppable({accept:"div.tree-node",onDragEnter:function(e,_ed){ +if(_e7.onDragEnter.call(_e5,this,_ee(_ed))==false){ +_ef(_ed,false); +$(this).removeClass("tree-node-append tree-node-top tree-node-bottom"); +$(this).droppable("disable"); +_e6.disabledNodes.push(this); +} +},onDragOver:function(e,_f0){ +if($(this).droppable("options").disabled){ +return; +} +var _f1=_f0.pageY; +var top=$(this).offset().top; +var _f2=top+$(this).outerHeight(); +_ef(_f0,true); +$(this).removeClass("tree-node-append tree-node-top tree-node-bottom"); +if(_f1>top+(_f2-top)/2){ +if(_f2-_f1<5){ +$(this).addClass("tree-node-bottom"); +}else{ +$(this).addClass("tree-node-append"); +} +}else{ +if(_f1-top<5){ +$(this).addClass("tree-node-top"); +}else{ +$(this).addClass("tree-node-append"); +} +} +if(_e7.onDragOver.call(_e5,this,_ee(_f0))==false){ +_ef(_f0,false); +$(this).removeClass("tree-node-append tree-node-top tree-node-bottom"); +$(this).droppable("disable"); +_e6.disabledNodes.push(this); +} +},onDragLeave:function(e,_f3){ +_ef(_f3,false); +$(this).removeClass("tree-node-append tree-node-top tree-node-bottom"); +_e7.onDragLeave.call(_e5,this,_ee(_f3)); +},onDrop:function(e,_f4){ +var _f5=this; +var _f6,_f7; +if($(this).hasClass("tree-node-append")){ +_f6=_f8; +_f7="append"; +}else{ +_f6=_f9; +_f7=$(this).hasClass("tree-node-top")?"top":"bottom"; +} +if(_e7.onBeforeDrop.call(_e5,_f5,_ee(_f4),_f7)==false){ +$(this).removeClass("tree-node-append tree-node-top tree-node-bottom"); +return; +} +_f6(_f4,_f5,_f7); +$(this).removeClass("tree-node-append tree-node-top tree-node-bottom"); +}}); +function _ee(_fa,pop){ +return $(_fa).closest("ul.tree").tree(pop?"pop":"getData",_fa); +}; +function _ef(_fb,_fc){ +var _fd=$(_fb).draggable("proxy").find("span.tree-dnd-icon"); +_fd.removeClass("tree-dnd-yes tree-dnd-no").addClass(_fc?"tree-dnd-yes":"tree-dnd-no"); +}; +function _f8(_fe,_ff){ +if(_df(_e5,_ff).state=="closed"){ +_133(_e5,_ff,function(){ +_100(); +}); +}else{ +_100(); +} +function _100(){ +var node=_ee(_fe,true); +$(_e5).tree("append",{parent:_ff,data:[node]}); +_e7.onDrop.call(_e5,_ff,node,"append"); +}; +}; +function _f9(_101,dest,_102){ +var _103={}; +if(_102=="top"){ +_103.before=dest; +}else{ +_103.after=dest; +} +var node=_ee(_101,true); +_103.data=node; +$(_e5).tree("insert",_103); +_e7.onDrop.call(_e5,dest,node,_102); +}; +}; +function _104(_105,_106,_107){ +var opts=$.data(_105,"tree").options; +if(!opts.checkbox){ +return; +} +var _108=_df(_105,_106); +if(opts.onBeforeCheck.call(_105,_108,_107)==false){ +return; +} +var node=$(_106); +var ck=node.find(".tree-checkbox"); +ck.removeClass("tree-checkbox0 tree-checkbox1 tree-checkbox2"); +if(_107){ +ck.addClass("tree-checkbox1"); +}else{ +ck.addClass("tree-checkbox0"); +} +if(opts.cascadeCheck){ +_109(node); +_10a(node); +} +opts.onCheck.call(_105,_108,_107); +function _10a(node){ +var _10b=node.next().find(".tree-checkbox"); +_10b.removeClass("tree-checkbox0 tree-checkbox1 tree-checkbox2"); +if(node.find(".tree-checkbox").hasClass("tree-checkbox1")){ +_10b.addClass("tree-checkbox1"); +}else{ +_10b.addClass("tree-checkbox0"); +} +}; +function _109(node){ +var _10c=_146(_105,node[0]); +if(_10c){ +var ck=$(_10c.target).find(".tree-checkbox"); +ck.removeClass("tree-checkbox0 tree-checkbox1 tree-checkbox2"); +if(_10d(node)){ +ck.addClass("tree-checkbox1"); +}else{ +if(_10e(node)){ +ck.addClass("tree-checkbox0"); +}else{ +ck.addClass("tree-checkbox2"); +} +} +_109($(_10c.target)); +} +function _10d(n){ +var ck=n.find(".tree-checkbox"); +if(ck.hasClass("tree-checkbox0")||ck.hasClass("tree-checkbox2")){ +return false; +} +var b=true; +n.parent().siblings().each(function(){ +if(!$(this).children("div.tree-node").children(".tree-checkbox").hasClass("tree-checkbox1")){ +b=false; +} +}); +return b; +}; +function _10e(n){ +var ck=n.find(".tree-checkbox"); +if(ck.hasClass("tree-checkbox1")||ck.hasClass("tree-checkbox2")){ +return false; +} +var b=true; +n.parent().siblings().each(function(){ +if(!$(this).children("div.tree-node").children(".tree-checkbox").hasClass("tree-checkbox0")){ +b=false; +} +}); +return b; +}; +}; +}; +function _10f(_110,_111){ +var opts=$.data(_110,"tree").options; +if(!opts.checkbox){ +return; +} +var node=$(_111); +if(_112(_110,_111)){ +var ck=node.find(".tree-checkbox"); +if(ck.length){ +if(ck.hasClass("tree-checkbox1")){ +_104(_110,_111,true); +}else{ +_104(_110,_111,false); +} +}else{ +if(opts.onlyLeafCheck){ +$("").insertBefore(node.find(".tree-title")); +} +} +}else{ +var ck=node.find(".tree-checkbox"); +if(opts.onlyLeafCheck){ +ck.remove(); +}else{ +if(ck.hasClass("tree-checkbox1")){ +_104(_110,_111,true); +}else{ +if(ck.hasClass("tree-checkbox2")){ +var _113=true; +var _114=true; +var _115=_116(_110,_111); +for(var i=0;i<_115.length;i++){ +if(_115[i].checked){ +_114=false; +}else{ +_113=false; +} +} +if(_113){ +_104(_110,_111,true); +} +if(_114){ +_104(_110,_111,false); +} +} +} +} +} +}; +function _117(_118,ul,data,_119){ +var _11a=$.data(_118,"tree"); +var opts=_11a.options; +var _11b=$(ul).prevAll("div.tree-node:first"); +data=opts.loadFilter.call(_118,data,_11b[0]); +var _11c=_11d(_118,"domId",_11b.attr("id")); +if(!_119){ +_11c?_11c.children=data:_11a.data=data; +$(ul).empty(); +}else{ +if(_11c){ +_11c.children?_11c.children=_11c.children.concat(data):_11c.children=data; +}else{ +_11a.data=_11a.data.concat(data); +} +} +opts.view.render.call(opts.view,_118,ul,data); +if(opts.dnd){ +_e4(_118); +} +if(_11c){ +_11e(_118,_11c); +} +var _11f=[]; +var _120=[]; +for(var i=0;i1){ +$(_126[0].target).addClass("tree-root-first"); +}else{ +if(_126.length==1){ +$(_126[0].target).addClass("tree-root-one"); +} +} +} +$(ul).children("li").each(function(){ +var node=$(this).children("div.tree-node"); +var ul=node.next("ul"); +if(ul.length){ +if($(this).next().length){ +_127(node); +} +_123(_124,ul,_125); +}else{ +_128(node); +} +}); +var _129=$(ul).children("li:last").children("div.tree-node").addClass("tree-node-last"); +_129.children("span.tree-join").removeClass("tree-join").addClass("tree-joinbottom"); +function _128(node,_12a){ +var icon=node.find("span.tree-icon"); +icon.prev("span.tree-indent").addClass("tree-join"); +}; +function _127(node){ +var _12b=node.find("span.tree-indent, span.tree-hit").length; +node.next().find("div.tree-node").each(function(){ +$(this).children("span:eq("+(_12b-1)+")").addClass("tree-line"); +}); +}; +}; +function _12c(_12d,ul,_12e,_12f){ +var opts=$.data(_12d,"tree").options; +_12e=$.extend({},opts.queryParams,_12e||{}); +var _130=null; +if(_12d!=ul){ +var node=$(ul).prev(); +_130=_df(_12d,node[0]); +} +if(opts.onBeforeLoad.call(_12d,_130,_12e)==false){ +return; +} +var _131=$(ul).prev().children("span.tree-folder"); +_131.addClass("tree-loading"); +var _132=opts.loader.call(_12d,_12e,function(data){ +_131.removeClass("tree-loading"); +_117(_12d,ul,data); +if(_12f){ +_12f(); +} +},function(){ +_131.removeClass("tree-loading"); +opts.onLoadError.apply(_12d,arguments); +if(_12f){ +_12f(); +} +}); +if(_132==false){ +_131.removeClass("tree-loading"); +} +}; +function _133(_134,_135,_136){ +var opts=$.data(_134,"tree").options; +var hit=$(_135).children("span.tree-hit"); +if(hit.length==0){ +return; +} +if(hit.hasClass("tree-expanded")){ +return; +} +var node=_df(_134,_135); +if(opts.onBeforeExpand.call(_134,node)==false){ +return; +} +hit.removeClass("tree-collapsed tree-collapsed-hover").addClass("tree-expanded"); +hit.next().addClass("tree-folder-open"); +var ul=$(_135).next(); +if(ul.length){ +if(opts.animate){ +ul.slideDown("normal",function(){ +node.state="open"; +opts.onExpand.call(_134,node); +if(_136){ +_136(); +} +}); +}else{ +ul.css("display","block"); +node.state="open"; +opts.onExpand.call(_134,node); +if(_136){ +_136(); +} +} +}else{ +var _137=$("
                                    ").insertAfter(_135); +_12c(_134,_137[0],{id:node.id},function(){ +if(_137.is(":empty")){ +_137.remove(); +} +if(opts.animate){ +_137.slideDown("normal",function(){ +node.state="open"; +opts.onExpand.call(_134,node); +if(_136){ +_136(); +} +}); +}else{ +_137.css("display","block"); +node.state="open"; +opts.onExpand.call(_134,node); +if(_136){ +_136(); +} +} +}); +} +}; +function _138(_139,_13a){ +var opts=$.data(_139,"tree").options; +var hit=$(_13a).children("span.tree-hit"); +if(hit.length==0){ +return; +} +if(hit.hasClass("tree-collapsed")){ +return; +} +var node=_df(_139,_13a); +if(opts.onBeforeCollapse.call(_139,node)==false){ +return; +} +hit.removeClass("tree-expanded tree-expanded-hover").addClass("tree-collapsed"); +hit.next().removeClass("tree-folder-open"); +var ul=$(_13a).next(); +if(opts.animate){ +ul.slideUp("normal",function(){ +node.state="closed"; +opts.onCollapse.call(_139,node); +}); +}else{ +ul.css("display","none"); +node.state="closed"; +opts.onCollapse.call(_139,node); +} +}; +function _13b(_13c,_13d){ +var hit=$(_13d).children("span.tree-hit"); +if(hit.length==0){ +return; +} +if(hit.hasClass("tree-expanded")){ +_138(_13c,_13d); +}else{ +_133(_13c,_13d); +} +}; +function _13e(_13f,_140){ +var _141=_116(_13f,_140); +if(_140){ +_141.unshift(_df(_13f,_140)); +} +for(var i=0;i<_141.length;i++){ +_133(_13f,_141[i].target); +} +}; +function _142(_143,_144){ +var _145=[]; +var p=_146(_143,_144); +while(p){ +_145.unshift(p); +p=_146(_143,p.target); +} +for(var i=0;i<_145.length;i++){ +_133(_143,_145[i].target); +} +}; +function _147(_148,_149){ +var c=$(_148).parent(); +while(c[0].tagName!="BODY"&&c.css("overflow-y")!="auto"){ +c=c.parent(); +} +var n=$(_149); +var ntop=n.offset().top; +if(c[0].tagName!="BODY"){ +var ctop=c.offset().top; +if(ntopctop+c.outerHeight()-18){ +c.scrollTop(c.scrollTop()+ntop+n.outerHeight()-ctop-c.outerHeight()+18); +} +} +}else{ +c.scrollTop(ntop); +} +}; +function _14a(_14b,_14c){ +var _14d=_116(_14b,_14c); +if(_14c){ +_14d.unshift(_df(_14b,_14c)); +} +for(var i=0;i<_14d.length;i++){ +_138(_14b,_14d[i].target); +} +}; +function _14e(_14f,_150){ +var node=$(_150.parent); +var data=_150.data; +if(!data){ +return; +} +data=$.isArray(data)?data:[data]; +if(!data.length){ +return; +} +var ul; +if(node.length==0){ +ul=$(_14f); +}else{ +if(_112(_14f,node[0])){ +var _151=node.find("span.tree-icon"); +_151.removeClass("tree-file").addClass("tree-folder tree-folder-open"); +var hit=$("").insertBefore(_151); +if(hit.prev().length){ +hit.prev().remove(); +} +} +ul=node.next(); +if(!ul.length){ +ul=$("
                                      ").insertAfter(node); +} +} +_117(_14f,ul[0],data,true); +_10f(_14f,ul.prev()); +}; +function _152(_153,_154){ +var ref=_154.before||_154.after; +var _155=_146(_153,ref); +var data=_154.data; +if(!data){ +return; +} +data=$.isArray(data)?data:[data]; +if(!data.length){ +return; +} +_14e(_153,{parent:(_155?_155.target:null),data:data}); +var _156=_155?_155.children:$(_153).tree("getRoots"); +for(var i=0;i<_156.length;i++){ +if(_156[i].domId==$(ref).attr("id")){ +for(var j=data.length-1;j>=0;j--){ +_156.splice((_154.before?i:(i+1)),0,data[j]); +} +_156.splice(_156.length-data.length,data.length); +break; +} +} +var li=$(); +for(var i=0;i
                                      ").prependTo(node); +node.next().remove(); +} +_11e(_158,_15a); +_10f(_158,_15a.target); +} +_123(_158,_158); +function del(_15b){ +var id=$(_15b).attr("id"); +var _15c=_146(_158,_15b); +var cc=_15c?_15c.children:$.data(_158,"tree").data; +for(var i=0;i=0;i--){ +_180.unshift(node.children[i]); +} +} +} +}; +function _181(_182,_183){ +var opts=$.data(_182,"tree").options; +var node=_df(_182,_183); +if(opts.onBeforeSelect.call(_182,node)==false){ +return; +} +$(_182).find("div.tree-node-selected").removeClass("tree-node-selected"); +$(_183).addClass("tree-node-selected"); +opts.onSelect.call(_182,node); +}; +function _112(_184,_185){ +return $(_185).children("span.tree-hit").length==0; +}; +function _186(_187,_188){ +var opts=$.data(_187,"tree").options; +var node=_df(_187,_188); +if(opts.onBeforeEdit.call(_187,node)==false){ +return; +} +$(_188).css("position","relative"); +var nt=$(_188).find(".tree-title"); +var _189=nt.outerWidth(); +nt.empty(); +var _18a=$("").appendTo(nt); +_18a.val(node.text).focus(); +_18a.width(_189+20); +_18a.height(document.compatMode=="CSS1Compat"?(18-(_18a.outerHeight()-_18a.height())):18); +_18a.bind("click",function(e){ +return false; +}).bind("mousedown",function(e){ +e.stopPropagation(); +}).bind("mousemove",function(e){ +e.stopPropagation(); +}).bind("keydown",function(e){ +if(e.keyCode==13){ +_18b(_187,_188); +return false; +}else{ +if(e.keyCode==27){ +_18f(_187,_188); +return false; +} +} +}).bind("blur",function(e){ +e.stopPropagation(); +_18b(_187,_188); +}); +}; +function _18b(_18c,_18d){ +var opts=$.data(_18c,"tree").options; +$(_18d).css("position",""); +var _18e=$(_18d).find("input.tree-editor"); +var val=_18e.val(); +_18e.remove(); +var node=_df(_18c,_18d); +node.text=val; +_11e(_18c,node); +opts.onAfterEdit.call(_18c,node); +}; +function _18f(_190,_191){ +var opts=$.data(_190,"tree").options; +$(_191).css("position",""); +$(_191).find("input.tree-editor").remove(); +var node=_df(_190,_191); +_11e(_190,node); +opts.onCancelEdit.call(_190,node); +}; +$.fn.tree=function(_192,_193){ +if(typeof _192=="string"){ +return $.fn.tree.methods[_192](this,_193); +} +var _192=_192||{}; +return this.each(function(){ +var _194=$.data(this,"tree"); +var opts; +if(_194){ +opts=$.extend(_194.options,_192); +_194.options=opts; +}else{ +opts=$.extend({},$.fn.tree.defaults,$.fn.tree.parseOptions(this),_192); +$.data(this,"tree",{options:opts,tree:_d4(this),data:[]}); +var data=$.fn.tree.parseData(this); +if(data.length){ +_117(this,this,data); +} +} +_d7(this); +if(opts.data){ +_117(this,this,$.extend(true,[],opts.data)); +} +_12c(this,this); +}); +}; +$.fn.tree.methods={options:function(jq){ +return $.data(jq[0],"tree").options; +},loadData:function(jq,data){ +return jq.each(function(){ +_117(this,this,data); +}); +},getNode:function(jq,_195){ +return _df(jq[0],_195); +},getData:function(jq,_196){ +return _174(jq[0],_196); +},reload:function(jq,_197){ +return jq.each(function(){ +if(_197){ +var node=$(_197); +var hit=node.children("span.tree-hit"); +hit.removeClass("tree-expanded tree-expanded-hover").addClass("tree-collapsed"); +node.next().remove(); +_133(this,_197); +}else{ +$(this).empty(); +_12c(this,this); +} +}); +},getRoot:function(jq,_198){ +return _160(jq[0],_198); +},getRoots:function(jq){ +return _164(jq[0]); +},getParent:function(jq,_199){ +return _146(jq[0],_199); +},getChildren:function(jq,_19a){ +return _116(jq[0],_19a); +},getChecked:function(jq,_19b){ +return _16d(jq[0],_19b); +},getSelected:function(jq){ +return _172(jq[0]); +},isLeaf:function(jq,_19c){ +return _112(jq[0],_19c); +},find:function(jq,id){ +return _179(jq[0],id); +},select:function(jq,_19d){ +return jq.each(function(){ +_181(this,_19d); +}); +},check:function(jq,_19e){ +return jq.each(function(){ +_104(this,_19e,true); +}); +},uncheck:function(jq,_19f){ +return jq.each(function(){ +_104(this,_19f,false); +}); +},collapse:function(jq,_1a0){ +return jq.each(function(){ +_138(this,_1a0); +}); +},expand:function(jq,_1a1){ +return jq.each(function(){ +_133(this,_1a1); +}); +},collapseAll:function(jq,_1a2){ +return jq.each(function(){ +_14a(this,_1a2); +}); +},expandAll:function(jq,_1a3){ +return jq.each(function(){ +_13e(this,_1a3); +}); +},expandTo:function(jq,_1a4){ +return jq.each(function(){ +_142(this,_1a4); +}); +},scrollTo:function(jq,_1a5){ +return jq.each(function(){ +_147(this,_1a5); +}); +},toggle:function(jq,_1a6){ +return jq.each(function(){ +_13b(this,_1a6); +}); +},append:function(jq,_1a7){ +return jq.each(function(){ +_14e(this,_1a7); +}); +},insert:function(jq,_1a8){ +return jq.each(function(){ +_152(this,_1a8); +}); +},remove:function(jq,_1a9){ +return jq.each(function(){ +_157(this,_1a9); +}); +},pop:function(jq,_1aa){ +var node=jq.tree("getData",_1aa); +jq.tree("remove",_1aa); +return node; +},update:function(jq,_1ab){ +return jq.each(function(){ +_11e(this,_1ab); +}); +},enableDnd:function(jq){ +return jq.each(function(){ +_e4(this); +}); +},disableDnd:function(jq){ +return jq.each(function(){ +_e0(this); +}); +},beginEdit:function(jq,_1ac){ +return jq.each(function(){ +_186(this,_1ac); +}); +},endEdit:function(jq,_1ad){ +return jq.each(function(){ +_18b(this,_1ad); +}); +},cancelEdit:function(jq,_1ae){ +return jq.each(function(){ +_18f(this,_1ae); +}); +}}; +$.fn.tree.parseOptions=function(_1af){ +var t=$(_1af); +return $.extend({},$.parser.parseOptions(_1af,["url","method",{checkbox:"boolean",cascadeCheck:"boolean",onlyLeafCheck:"boolean"},{animate:"boolean",lines:"boolean",dnd:"boolean"}])); +}; +$.fn.tree.parseData=function(_1b0){ +var data=[]; +_1b1(data,$(_1b0)); +return data; +function _1b1(aa,tree){ +tree.children("li").each(function(){ +var node=$(this); +var item=$.extend({},$.parser.parseOptions(this,["id","iconCls","state"]),{checked:(node.attr("checked")?true:undefined)}); +item.text=node.children("span").html(); +if(!item.text){ +item.text=node.html(); +} +var _1b2=node.children("ul"); +if(_1b2.length){ +item.children=[]; +_1b1(item.children,_1b2); +} +aa.push(item); +}); +}; +}; +var _1b3=1; +var _1b4={render:function(_1b5,ul,data){ +var opts=$.data(_1b5,"tree").options; +var _1b6=$(ul).prev("div.tree-node").find("span.tree-indent, span.tree-hit").length; +var cc=_1b7(_1b6,data); +$(ul).append(cc.join("")); +function _1b7(_1b8,_1b9){ +var cc=[]; +for(var i=0;i<_1b9.length;i++){ +var item=_1b9[i]; +if(item.state!="open"&&item.state!="closed"){ +item.state="open"; +} +item.domId="_easyui_tree_"+_1b3++; +cc.push("
                                    • "); +cc.push("
                                      "); +for(var j=0;j<_1b8;j++){ +cc.push(""); +} +var _1ba=false; +if(item.state=="closed"){ +cc.push(""); +cc.push(""); +}else{ +if(item.children&&item.children.length){ +cc.push(""); +cc.push(""); +}else{ +cc.push(""); +cc.push(""); +_1ba=true; +} +} +if(opts.checkbox){ +if((!opts.onlyLeafCheck)||_1ba){ +cc.push(""); +} +} +cc.push(""+opts.formatter.call(_1b5,item)+""); +cc.push("
                                      "); +if(item.children&&item.children.length){ +var tmp=_1b7(_1b8+1,item.children); +cc.push("
                                        "); +cc=cc.concat(tmp); +cc.push("
                                      "); +} +cc.push("
                                    • "); +} +return cc; +}; +}}; +$.fn.tree.defaults={url:null,method:"post",animate:false,checkbox:false,cascadeCheck:true,onlyLeafCheck:false,lines:false,dnd:false,data:null,queryParams:{},formatter:function(node){ +return node.text; +},loader:function(_1bb,_1bc,_1bd){ +var opts=$(this).tree("options"); +if(!opts.url){ +return false; +} +$.ajax({type:opts.method,url:opts.url,data:_1bb,dataType:"json",success:function(data){ +_1bc(data); +},error:function(){ +_1bd.apply(this,arguments); +}}); +},loadFilter:function(data,_1be){ +return data; +},view:_1b4,onBeforeLoad:function(node,_1bf){ +},onLoadSuccess:function(node,data){ +},onLoadError:function(){ +},onClick:function(node){ +},onDblClick:function(node){ +},onBeforeExpand:function(node){ +},onExpand:function(node){ +},onBeforeCollapse:function(node){ +},onCollapse:function(node){ +},onBeforeCheck:function(node,_1c0){ +},onCheck:function(node,_1c1){ +},onBeforeSelect:function(node){ +},onSelect:function(node){ +},onContextMenu:function(e,node){ +},onBeforeDrag:function(node){ +},onStartDrag:function(node){ +},onStopDrag:function(node){ +},onDragEnter:function(_1c2,_1c3){ +},onDragOver:function(_1c4,_1c5){ +},onDragLeave:function(_1c6,_1c7){ +},onBeforeDrop:function(_1c8,_1c9,_1ca){ +},onDrop:function(_1cb,_1cc,_1cd){ +},onBeforeEdit:function(node){ +},onAfterEdit:function(node){ +},onCancelEdit:function(node){ +}}; +})(jQuery); +(function($){ +function init(_1ce){ +$(_1ce).addClass("progressbar"); +$(_1ce).html("
                                      "); +$(_1ce).bind("_resize",function(e,_1cf){ +if($(this).hasClass("easyui-fluid")||_1cf){ +_1d0(_1ce); +} +return false; +}); +return $(_1ce); +}; +function _1d0(_1d1,_1d2){ +var opts=$.data(_1d1,"progressbar").options; +var bar=$.data(_1d1,"progressbar").bar; +if(_1d2){ +opts.width=_1d2; +} +bar._size(opts); +bar.find("div.progressbar-text").css("width",bar.width()); +bar.find("div.progressbar-text,div.progressbar-value").css({height:bar.height()+"px",lineHeight:bar.height()+"px"}); +}; +$.fn.progressbar=function(_1d3,_1d4){ +if(typeof _1d3=="string"){ +var _1d5=$.fn.progressbar.methods[_1d3]; +if(_1d5){ +return _1d5(this,_1d4); +} +} +_1d3=_1d3||{}; +return this.each(function(){ +var _1d6=$.data(this,"progressbar"); +if(_1d6){ +$.extend(_1d6.options,_1d3); +}else{ +_1d6=$.data(this,"progressbar",{options:$.extend({},$.fn.progressbar.defaults,$.fn.progressbar.parseOptions(this),_1d3),bar:init(this)}); +} +$(this).progressbar("setValue",_1d6.options.value); +_1d0(this); +}); +}; +$.fn.progressbar.methods={options:function(jq){ +return $.data(jq[0],"progressbar").options; +},resize:function(jq,_1d7){ +return jq.each(function(){ +_1d0(this,_1d7); +}); +},getValue:function(jq){ +return $.data(jq[0],"progressbar").options.value; +},setValue:function(jq,_1d8){ +if(_1d8<0){ +_1d8=0; +} +if(_1d8>100){ +_1d8=100; +} +return jq.each(function(){ +var opts=$.data(this,"progressbar").options; +var text=opts.text.replace(/{value}/,_1d8); +var _1d9=opts.value; +opts.value=_1d8; +$(this).find("div.progressbar-value").width(_1d8+"%"); +$(this).find("div.progressbar-text").html(text); +if(_1d9!=_1d8){ +opts.onChange.call(this,_1d8,_1d9); +} +}); +}}; +$.fn.progressbar.parseOptions=function(_1da){ +return $.extend({},$.parser.parseOptions(_1da,["width","height","text",{value:"number"}])); +}; +$.fn.progressbar.defaults={width:"auto",height:22,value:0,text:"{value}%",onChange:function(_1db,_1dc){ +}}; +})(jQuery); +(function($){ +function init(_1dd){ +$(_1dd).addClass("tooltip-f"); +}; +function _1de(_1df){ +var opts=$.data(_1df,"tooltip").options; +$(_1df).unbind(".tooltip").bind(opts.showEvent+".tooltip",function(e){ +$(_1df).tooltip("show",e); +}).bind(opts.hideEvent+".tooltip",function(e){ +$(_1df).tooltip("hide",e); +}).bind("mousemove.tooltip",function(e){ +if(opts.trackMouse){ +opts.trackMouseX=e.pageX; +opts.trackMouseY=e.pageY; +$(_1df).tooltip("reposition"); +} +}); +}; +function _1e0(_1e1){ +var _1e2=$.data(_1e1,"tooltip"); +if(_1e2.showTimer){ +clearTimeout(_1e2.showTimer); +_1e2.showTimer=null; +} +if(_1e2.hideTimer){ +clearTimeout(_1e2.hideTimer); +_1e2.hideTimer=null; +} +}; +function _1e3(_1e4){ +var _1e5=$.data(_1e4,"tooltip"); +if(!_1e5||!_1e5.tip){ +return; +} +var opts=_1e5.options; +var tip=_1e5.tip; +var pos={left:-100000,top:-100000}; +if($(_1e4).is(":visible")){ +pos=_1e6(opts.position); +if(opts.position=="top"&&pos.top<0){ +pos=_1e6("bottom"); +}else{ +if((opts.position=="bottom")&&(pos.top+tip._outerHeight()>$(window)._outerHeight()+$(document).scrollTop())){ +pos=_1e6("top"); +} +} +if(pos.left<0){ +if(opts.position=="left"){ +pos=_1e6("right"); +}else{ +$(_1e4).tooltip("arrow").css("left",tip._outerWidth()/2+pos.left); +pos.left=0; +} +}else{ +if(pos.left+tip._outerWidth()>$(window)._outerWidth()+$(document)._scrollLeft()){ +if(opts.position=="right"){ +pos=_1e6("left"); +}else{ +var left=pos.left; +pos.left=$(window)._outerWidth()+$(document)._scrollLeft()-tip._outerWidth(); +$(_1e4).tooltip("arrow").css("left",tip._outerWidth()/2-(pos.left-left)); +} +} +} +} +tip.css({left:pos.left,top:pos.top,zIndex:(opts.zIndex!=undefined?opts.zIndex:($.fn.window?$.fn.window.defaults.zIndex++:""))}); +opts.onPosition.call(_1e4,pos.left,pos.top); +function _1e6(_1e7){ +opts.position=_1e7||"bottom"; +tip.removeClass("tooltip-top tooltip-bottom tooltip-left tooltip-right").addClass("tooltip-"+opts.position); +var left,top; +if(opts.trackMouse){ +t=$(); +left=opts.trackMouseX+opts.deltaX; +top=opts.trackMouseY+opts.deltaY; +}else{ +var t=$(_1e4); +left=t.offset().left+opts.deltaX; +top=t.offset().top+opts.deltaY; +} +switch(opts.position){ +case "right": +left+=t._outerWidth()+12+(opts.trackMouse?12:0); +top-=(tip._outerHeight()-t._outerHeight())/2; +break; +case "left": +left-=tip._outerWidth()+12+(opts.trackMouse?12:0); +top-=(tip._outerHeight()-t._outerHeight())/2; +break; +case "top": +left-=(tip._outerWidth()-t._outerWidth())/2; +top-=tip._outerHeight()+12+(opts.trackMouse?12:0); +break; +case "bottom": +left-=(tip._outerWidth()-t._outerWidth())/2; +top+=t._outerHeight()+12+(opts.trackMouse?12:0); +break; +} +return {left:left,top:top}; +}; +}; +function _1e8(_1e9,e){ +var _1ea=$.data(_1e9,"tooltip"); +var opts=_1ea.options; +var tip=_1ea.tip; +if(!tip){ +tip=$("
                                      "+"
                                      "+"
                                      "+"
                                      "+"
                                      ").appendTo("body"); +_1ea.tip=tip; +_1eb(_1e9); +} +_1e0(_1e9); +_1ea.showTimer=setTimeout(function(){ +$(_1e9).tooltip("reposition"); +tip.show(); +opts.onShow.call(_1e9,e); +var _1ec=tip.children(".tooltip-arrow-outer"); +var _1ed=tip.children(".tooltip-arrow"); +var bc="border-"+opts.position+"-color"; +_1ec.add(_1ed).css({borderTopColor:"",borderBottomColor:"",borderLeftColor:"",borderRightColor:""}); +_1ec.css(bc,tip.css(bc)); +_1ed.css(bc,tip.css("backgroundColor")); +},opts.showDelay); +}; +function _1ee(_1ef,e){ +var _1f0=$.data(_1ef,"tooltip"); +if(_1f0&&_1f0.tip){ +_1e0(_1ef); +_1f0.hideTimer=setTimeout(function(){ +_1f0.tip.hide(); +_1f0.options.onHide.call(_1ef,e); +},_1f0.options.hideDelay); +} +}; +function _1eb(_1f1,_1f2){ +var _1f3=$.data(_1f1,"tooltip"); +var opts=_1f3.options; +if(_1f2){ +opts.content=_1f2; +} +if(!_1f3.tip){ +return; +} +var cc=typeof opts.content=="function"?opts.content.call(_1f1):opts.content; +_1f3.tip.children(".tooltip-content").html(cc); +opts.onUpdate.call(_1f1,cc); +}; +function _1f4(_1f5){ +var _1f6=$.data(_1f5,"tooltip"); +if(_1f6){ +_1e0(_1f5); +var opts=_1f6.options; +if(_1f6.tip){ +_1f6.tip.remove(); +} +if(opts._title){ +$(_1f5).attr("title",opts._title); +} +$.removeData(_1f5,"tooltip"); +$(_1f5).unbind(".tooltip").removeClass("tooltip-f"); +opts.onDestroy.call(_1f5); +} +}; +$.fn.tooltip=function(_1f7,_1f8){ +if(typeof _1f7=="string"){ +return $.fn.tooltip.methods[_1f7](this,_1f8); +} +_1f7=_1f7||{}; +return this.each(function(){ +var _1f9=$.data(this,"tooltip"); +if(_1f9){ +$.extend(_1f9.options,_1f7); +}else{ +$.data(this,"tooltip",{options:$.extend({},$.fn.tooltip.defaults,$.fn.tooltip.parseOptions(this),_1f7)}); +init(this); +} +_1de(this); +_1eb(this); +}); +}; +$.fn.tooltip.methods={options:function(jq){ +return $.data(jq[0],"tooltip").options; +},tip:function(jq){ +return $.data(jq[0],"tooltip").tip; +},arrow:function(jq){ +return jq.tooltip("tip").children(".tooltip-arrow-outer,.tooltip-arrow"); +},show:function(jq,e){ +return jq.each(function(){ +_1e8(this,e); +}); +},hide:function(jq,e){ +return jq.each(function(){ +_1ee(this,e); +}); +},update:function(jq,_1fa){ +return jq.each(function(){ +_1eb(this,_1fa); +}); +},reposition:function(jq){ +return jq.each(function(){ +_1e3(this); +}); +},destroy:function(jq){ +return jq.each(function(){ +_1f4(this); +}); +}}; +$.fn.tooltip.parseOptions=function(_1fb){ +var t=$(_1fb); +var opts=$.extend({},$.parser.parseOptions(_1fb,["position","showEvent","hideEvent","content",{trackMouse:"boolean",deltaX:"number",deltaY:"number",showDelay:"number",hideDelay:"number"}]),{_title:t.attr("title")}); +t.attr("title",""); +if(!opts.content){ +opts.content=opts._title; +} +return opts; +}; +$.fn.tooltip.defaults={position:"bottom",content:null,trackMouse:false,deltaX:0,deltaY:0,showEvent:"mouseenter",hideEvent:"mouseleave",showDelay:200,hideDelay:100,onShow:function(e){ +},onHide:function(e){ +},onUpdate:function(_1fc){ +},onPosition:function(left,top){ +},onDestroy:function(){ +}}; +})(jQuery); +(function($){ +$.fn._remove=function(){ +return this.each(function(){ +$(this).remove(); +try{ +this.outerHTML=""; +} +catch(err){ +} +}); +}; +function _1fd(node){ +node._remove(); +}; +function _1fe(_1ff,_200){ +var _201=$.data(_1ff,"panel"); +var opts=_201.options; +var _202=_201.panel; +var _203=_202.children("div.panel-header"); +var _204=_202.children("div.panel-body"); +var _205=_202.children("div.panel-footer"); +if(_200){ +$.extend(opts,{width:_200.width,height:_200.height,minWidth:_200.minWidth,maxWidth:_200.maxWidth,minHeight:_200.minHeight,maxHeight:_200.maxHeight,left:_200.left,top:_200.top}); +} +_202._size(opts); +_203.add(_204)._outerWidth(_202.width()); +if(!isNaN(parseInt(opts.height))){ +_204._outerHeight(_202.height()-_203._outerHeight()-_205._outerHeight()); +}else{ +_204.css("height",""); +var min=$.parser.parseValue("minHeight",opts.minHeight,_202.parent()); +var max=$.parser.parseValue("maxHeight",opts.maxHeight,_202.parent()); +var _206=_203._outerHeight()+_205._outerHeight()+_202._outerHeight()-_202.height(); +_204._size("minHeight",min?(min-_206):""); +_204._size("maxHeight",max?(max-_206):""); +} +_202.css({height:"",minHeight:"",maxHeight:"",left:opts.left,top:opts.top}); +opts.onResize.apply(_1ff,[opts.width,opts.height]); +$(_1ff).panel("doLayout"); +}; +function _207(_208,_209){ +var opts=$.data(_208,"panel").options; +var _20a=$.data(_208,"panel").panel; +if(_209){ +if(_209.left!=null){ +opts.left=_209.left; +} +if(_209.top!=null){ +opts.top=_209.top; +} +} +_20a.css({left:opts.left,top:opts.top}); +opts.onMove.apply(_208,[opts.left,opts.top]); +}; +function _20b(_20c){ +$(_20c).addClass("panel-body")._size("clear"); +var _20d=$("
                                      ").insertBefore(_20c); +_20d[0].appendChild(_20c); +_20d.bind("_resize",function(e,_20e){ +if($(this).hasClass("easyui-fluid")||_20e){ +_1fe(_20c); +} +return false; +}); +return _20d; +}; +function _20f(_210){ +var _211=$.data(_210,"panel"); +var opts=_211.options; +var _212=_211.panel; +_212.css(opts.style); +_212.addClass(opts.cls); +_213(); +_214(); +var _215=$(_210).panel("header"); +var body=$(_210).panel("body"); +var _216=$(_210).siblings("div.panel-footer"); +if(opts.border){ +_215.removeClass("panel-header-noborder"); +body.removeClass("panel-body-noborder"); +_216.removeClass("panel-footer-noborder"); +}else{ +_215.addClass("panel-header-noborder"); +body.addClass("panel-body-noborder"); +_216.addClass("panel-footer-noborder"); +} +_215.addClass(opts.headerCls); +body.addClass(opts.bodyCls); +$(_210).attr("id",opts.id||""); +if(opts.content){ +$(_210).panel("clear"); +$(_210).html(opts.content); +$.parser.parse($(_210)); +} +function _213(){ +if(opts.tools&&typeof opts.tools=="string"){ +_212.find(">div.panel-header>div.panel-tool .panel-tool-a").appendTo(opts.tools); +} +_1fd(_212.children("div.panel-header")); +if(opts.title&&!opts.noheader){ +var _217=$("
                                      ").prependTo(_212); +var _218=$("
                                      ").html(opts.title).appendTo(_217); +if(opts.iconCls){ +_218.addClass("panel-with-icon"); +$("
                                      ").addClass(opts.iconCls).appendTo(_217); +} +var tool=$("
                                      ").appendTo(_217); +tool.bind("click",function(e){ +e.stopPropagation(); +}); +if(opts.tools){ +if($.isArray(opts.tools)){ +for(var i=0;i").addClass(opts.tools[i].iconCls).appendTo(tool); +if(opts.tools[i].handler){ +t.bind("click",eval(opts.tools[i].handler)); +} +} +}else{ +$(opts.tools).children().each(function(){ +$(this).addClass($(this).attr("iconCls")).addClass("panel-tool-a").appendTo(tool); +}); +} +} +if(opts.collapsible){ +$("").appendTo(tool).bind("click",function(){ +if(opts.collapsed==true){ +_235(_210,true); +}else{ +_228(_210,true); +} +return false; +}); +} +if(opts.minimizable){ +$("").appendTo(tool).bind("click",function(){ +_23b(_210); +return false; +}); +} +if(opts.maximizable){ +$("").appendTo(tool).bind("click",function(){ +if(opts.maximized==true){ +_23e(_210); +}else{ +_227(_210); +} +return false; +}); +} +if(opts.closable){ +$("").appendTo(tool).bind("click",function(){ +_229(_210); +return false; +}); +} +_212.children("div.panel-body").removeClass("panel-body-noheader"); +}else{ +_212.children("div.panel-body").addClass("panel-body-noheader"); +} +}; +function _214(){ +if(opts.footer){ +$(opts.footer).addClass("panel-footer").appendTo(_212); +$(_210).addClass("panel-body-nobottom"); +}else{ +_212.children("div.panel-footer").remove(); +$(_210).removeClass("panel-body-nobottom"); +} +}; +}; +function _219(_21a,_21b){ +var _21c=$.data(_21a,"panel"); +var opts=_21c.options; +if(_21d){ +opts.queryParams=_21b; +} +if(!opts.href){ +return; +} +if(!_21c.isLoaded||!opts.cache){ +var _21d=$.extend({},opts.queryParams); +if(opts.onBeforeLoad.call(_21a,_21d)==false){ +return; +} +_21c.isLoaded=false; +$(_21a).panel("clear"); +if(opts.loadingMessage){ +$(_21a).html($("
                                      ").html(opts.loadingMessage)); +} +opts.loader.call(_21a,_21d,function(data){ +var _21e=opts.extractor.call(_21a,data); +$(_21a).html(_21e); +$.parser.parse($(_21a)); +opts.onLoad.apply(_21a,arguments); +_21c.isLoaded=true; +},function(){ +opts.onLoadError.apply(_21a,arguments); +}); +} +}; +function _21f(_220){ +var t=$(_220); +t.find(".combo-f").each(function(){ +$(this).combo("destroy"); +}); +t.find(".m-btn").each(function(){ +$(this).menubutton("destroy"); +}); +t.find(".s-btn").each(function(){ +$(this).splitbutton("destroy"); +}); +t.find(".tooltip-f").each(function(){ +$(this).tooltip("destroy"); +}); +t.children("div").each(function(){ +$(this)._size("unfit"); +}); +t.empty(); +}; +function _221(_222){ +$(_222).panel("doLayout",true); +}; +function _223(_224,_225){ +var opts=$.data(_224,"panel").options; +var _226=$.data(_224,"panel").panel; +if(_225!=true){ +if(opts.onBeforeOpen.call(_224)==false){ +return; +} +} +_226.stop(true,true); +if($.isFunction(opts.openAnimation)){ +opts.openAnimation.call(_224,cb); +}else{ +switch(opts.openAnimation){ +case "slide": +_226.slideDown(opts.openDuration,cb); +break; +case "fade": +_226.fadeIn(opts.openDuration,cb); +break; +case "show": +_226.show(opts.openDuration,cb); +break; +default: +_226.show(); +cb(); +} +} +function cb(){ +opts.closed=false; +opts.minimized=false; +var tool=_226.children("div.panel-header").find("a.panel-tool-restore"); +if(tool.length){ +opts.maximized=true; +} +opts.onOpen.call(_224); +if(opts.maximized==true){ +opts.maximized=false; +_227(_224); +} +if(opts.collapsed==true){ +opts.collapsed=false; +_228(_224); +} +if(!opts.collapsed){ +_219(_224); +_221(_224); +} +}; +}; +function _229(_22a,_22b){ +var opts=$.data(_22a,"panel").options; +var _22c=$.data(_22a,"panel").panel; +if(_22b!=true){ +if(opts.onBeforeClose.call(_22a)==false){ +return; +} +} +_22c.stop(true,true); +_22c._size("unfit"); +if($.isFunction(opts.closeAnimation)){ +opts.closeAnimation.call(_22a,cb); +}else{ +switch(opts.closeAnimation){ +case "slide": +_22c.slideUp(opts.closeDuration,cb); +break; +case "fade": +_22c.fadeOut(opts.closeDuration,cb); +break; +case "hide": +_22c.hide(opts.closeDuration,cb); +break; +default: +_22c.hide(); +cb(); +} +} +function cb(){ +opts.closed=true; +opts.onClose.call(_22a); +}; +}; +function _22d(_22e,_22f){ +var _230=$.data(_22e,"panel"); +var opts=_230.options; +var _231=_230.panel; +if(_22f!=true){ +if(opts.onBeforeDestroy.call(_22e)==false){ +return; +} +} +$(_22e).panel("clear").panel("clear","footer"); +_1fd(_231); +opts.onDestroy.call(_22e); +}; +function _228(_232,_233){ +var opts=$.data(_232,"panel").options; +var _234=$.data(_232,"panel").panel; +var body=_234.children("div.panel-body"); +var tool=_234.children("div.panel-header").find("a.panel-tool-collapse"); +if(opts.collapsed==true){ +return; +} +body.stop(true,true); +if(opts.onBeforeCollapse.call(_232)==false){ +return; +} +tool.addClass("panel-tool-expand"); +if(_233==true){ +body.slideUp("normal",function(){ +opts.collapsed=true; +opts.onCollapse.call(_232); +}); +}else{ +body.hide(); +opts.collapsed=true; +opts.onCollapse.call(_232); +} +}; +function _235(_236,_237){ +var opts=$.data(_236,"panel").options; +var _238=$.data(_236,"panel").panel; +var body=_238.children("div.panel-body"); +var tool=_238.children("div.panel-header").find("a.panel-tool-collapse"); +if(opts.collapsed==false){ +return; +} +body.stop(true,true); +if(opts.onBeforeExpand.call(_236)==false){ +return; +} +tool.removeClass("panel-tool-expand"); +if(_237==true){ +body.slideDown("normal",function(){ +opts.collapsed=false; +opts.onExpand.call(_236); +_219(_236); +_221(_236); +}); +}else{ +body.show(); +opts.collapsed=false; +opts.onExpand.call(_236); +_219(_236); +_221(_236); +} +}; +function _227(_239){ +var opts=$.data(_239,"panel").options; +var _23a=$.data(_239,"panel").panel; +var tool=_23a.children("div.panel-header").find("a.panel-tool-max"); +if(opts.maximized==true){ +return; +} +tool.addClass("panel-tool-restore"); +if(!$.data(_239,"panel").original){ +$.data(_239,"panel").original={width:opts.width,height:opts.height,left:opts.left,top:opts.top,fit:opts.fit}; +} +opts.left=0; +opts.top=0; +opts.fit=true; +_1fe(_239); +opts.minimized=false; +opts.maximized=true; +opts.onMaximize.call(_239); +}; +function _23b(_23c){ +var opts=$.data(_23c,"panel").options; +var _23d=$.data(_23c,"panel").panel; +_23d._size("unfit"); +_23d.hide(); +opts.minimized=true; +opts.maximized=false; +opts.onMinimize.call(_23c); +}; +function _23e(_23f){ +var opts=$.data(_23f,"panel").options; +var _240=$.data(_23f,"panel").panel; +var tool=_240.children("div.panel-header").find("a.panel-tool-max"); +if(opts.maximized==false){ +return; +} +_240.show(); +tool.removeClass("panel-tool-restore"); +$.extend(opts,$.data(_23f,"panel").original); +_1fe(_23f); +opts.minimized=false; +opts.maximized=false; +$.data(_23f,"panel").original=null; +opts.onRestore.call(_23f); +}; +function _241(_242,_243){ +$.data(_242,"panel").options.title=_243; +$(_242).panel("header").find("div.panel-title").html(_243); +}; +var _244=null; +$(window).unbind(".panel").bind("resize.panel",function(){ +if(_244){ +clearTimeout(_244); +} +_244=setTimeout(function(){ +var _245=$("body.layout"); +if(_245.length){ +_245.layout("resize"); +$("body").children(".easyui-fluid:visible").trigger("_resize"); +}else{ +$("body").panel("doLayout"); +} +_244=null; +},100); +}); +$.fn.panel=function(_246,_247){ +if(typeof _246=="string"){ +return $.fn.panel.methods[_246](this,_247); +} +_246=_246||{}; +return this.each(function(){ +var _248=$.data(this,"panel"); +var opts; +if(_248){ +opts=$.extend(_248.options,_246); +_248.isLoaded=false; +}else{ +opts=$.extend({},$.fn.panel.defaults,$.fn.panel.parseOptions(this),_246); +$(this).attr("title",""); +_248=$.data(this,"panel",{options:opts,panel:_20b(this),isLoaded:false}); +} +_20f(this); +if(opts.doSize==true){ +_248.panel.css("display","block"); +_1fe(this); +} +if(opts.closed==true||opts.minimized==true){ +_248.panel.hide(); +}else{ +_223(this); +} +}); +}; +$.fn.panel.methods={options:function(jq){ +return $.data(jq[0],"panel").options; +},panel:function(jq){ +return $.data(jq[0],"panel").panel; +},header:function(jq){ +return $.data(jq[0],"panel").panel.find(">div.panel-header"); +},footer:function(jq){ +return jq.panel("panel").children(".panel-footer"); +},body:function(jq){ +return $.data(jq[0],"panel").panel.find(">div.panel-body"); +},setTitle:function(jq,_249){ +return jq.each(function(){ +_241(this,_249); +}); +},open:function(jq,_24a){ +return jq.each(function(){ +_223(this,_24a); +}); +},close:function(jq,_24b){ +return jq.each(function(){ +_229(this,_24b); +}); +},destroy:function(jq,_24c){ +return jq.each(function(){ +_22d(this,_24c); +}); +},clear:function(jq,type){ +return jq.each(function(){ +_21f(type=="footer"?$(this).panel("footer"):this); +}); +},refresh:function(jq,href){ +return jq.each(function(){ +var _24d=$.data(this,"panel"); +_24d.isLoaded=false; +if(href){ +if(typeof href=="string"){ +_24d.options.href=href; +}else{ +_24d.options.queryParams=href; +} +} +_219(this); +}); +},resize:function(jq,_24e){ +return jq.each(function(){ +_1fe(this,_24e); +}); +},doLayout:function(jq,all){ +return jq.each(function(){ +_24f(this,"body"); +_24f($(this).siblings("div.panel-footer")[0],"footer"); +function _24f(_250,type){ +if(!_250){ +return; +} +var _251=_250==$("body")[0]; +var s=$(_250).find("div.panel:visible,div.accordion:visible,div.tabs-container:visible,div.layout:visible,.easyui-fluid:visible").filter(function(_252,el){ +var p=$(el).parents("div.panel-"+type+":first"); +return _251?p.length==0:p[0]==_250; +}); +s.trigger("_resize",[all||false]); +}; +}); +},move:function(jq,_253){ +return jq.each(function(){ +_207(this,_253); +}); +},maximize:function(jq){ +return jq.each(function(){ +_227(this); +}); +},minimize:function(jq){ +return jq.each(function(){ +_23b(this); +}); +},restore:function(jq){ +return jq.each(function(){ +_23e(this); +}); +},collapse:function(jq,_254){ +return jq.each(function(){ +_228(this,_254); +}); +},expand:function(jq,_255){ +return jq.each(function(){ +_235(this,_255); +}); +}}; +$.fn.panel.parseOptions=function(_256){ +var t=$(_256); +return $.extend({},$.parser.parseOptions(_256,["id","width","height","left","top","title","iconCls","cls","headerCls","bodyCls","tools","href","method",{cache:"boolean",fit:"boolean",border:"boolean",noheader:"boolean"},{collapsible:"boolean",minimizable:"boolean",maximizable:"boolean"},{closable:"boolean",collapsed:"boolean",minimized:"boolean",maximized:"boolean",closed:"boolean"},"openAnimation","closeAnimation",{openDuration:"number",closeDuration:"number"},]),{loadingMessage:(t.attr("loadingMessage")!=undefined?t.attr("loadingMessage"):undefined)}); +}; +$.fn.panel.defaults={id:null,title:null,iconCls:null,width:"auto",height:"auto",left:null,top:null,cls:null,headerCls:null,bodyCls:null,style:{},href:null,cache:true,fit:false,border:true,doSize:true,noheader:false,content:null,collapsible:false,minimizable:false,maximizable:false,closable:false,collapsed:false,minimized:false,maximized:false,closed:false,openAnimation:false,openDuration:400,closeAnimation:false,closeDuration:400,tools:null,footer:null,queryParams:{},method:"get",href:null,loadingMessage:"Loading...",loader:function(_257,_258,_259){ +var opts=$(this).panel("options"); +if(!opts.href){ +return false; +} +$.ajax({type:opts.method,url:opts.href,cache:false,data:_257,dataType:"html",success:function(data){ +_258(data); +},error:function(){ +_259.apply(this,arguments); +}}); +},extractor:function(data){ +var _25a=/]*>((.|[\n\r])*)<\/body>/im; +var _25b=_25a.exec(data); +if(_25b){ +return _25b[1]; +}else{ +return data; +} +},onBeforeLoad:function(_25c){ +},onLoad:function(){ +},onLoadError:function(){ +},onBeforeOpen:function(){ +},onOpen:function(){ +},onBeforeClose:function(){ +},onClose:function(){ +},onBeforeDestroy:function(){ +},onDestroy:function(){ +},onResize:function(_25d,_25e){ +},onMove:function(left,top){ +},onMaximize:function(){ +},onRestore:function(){ +},onMinimize:function(){ +},onBeforeCollapse:function(){ +},onBeforeExpand:function(){ +},onCollapse:function(){ +},onExpand:function(){ +}}; +})(jQuery); +(function($){ +function _25f(_260,_261){ +var _262=$.data(_260,"window"); +if(_261){ +if(_261.left!=null){ +_262.options.left=_261.left; +} +if(_261.top!=null){ +_262.options.top=_261.top; +} +} +$(_260).panel("move",_262.options); +if(_262.shadow){ +_262.shadow.css({left:_262.options.left,top:_262.options.top}); +} +}; +function _263(_264,_265){ +var opts=$.data(_264,"window").options; +var pp=$(_264).window("panel"); +var _266=pp._outerWidth(); +if(opts.inline){ +var _267=pp.parent(); +opts.left=Math.ceil((_267.width()-_266)/2+_267.scrollLeft()); +}else{ +opts.left=Math.ceil(($(window)._outerWidth()-_266)/2+$(document).scrollLeft()); +} +if(_265){ +_25f(_264); +} +}; +function _268(_269,_26a){ +var opts=$.data(_269,"window").options; +var pp=$(_269).window("panel"); +var _26b=pp._outerHeight(); +if(opts.inline){ +var _26c=pp.parent(); +opts.top=Math.ceil((_26c.height()-_26b)/2+_26c.scrollTop()); +}else{ +opts.top=Math.ceil(($(window)._outerHeight()-_26b)/2+$(document).scrollTop()); +} +if(_26a){ +_25f(_269); +} +}; +function _26d(_26e){ +var _26f=$.data(_26e,"window"); +var opts=_26f.options; +var win=$(_26e).panel($.extend({},_26f.options,{border:false,doSize:true,closed:true,cls:"window",headerCls:"window-header",bodyCls:"window-body "+(opts.noheader?"window-body-noheader":""),onBeforeDestroy:function(){ +if(opts.onBeforeDestroy.call(_26e)==false){ +return false; +} +if(_26f.shadow){ +_26f.shadow.remove(); +} +if(_26f.mask){ +_26f.mask.remove(); +} +},onClose:function(){ +if(_26f.shadow){ +_26f.shadow.hide(); +} +if(_26f.mask){ +_26f.mask.hide(); +} +opts.onClose.call(_26e); +},onOpen:function(){ +if(_26f.mask){ +_26f.mask.css({display:"block",zIndex:$.fn.window.defaults.zIndex++}); +} +if(_26f.shadow){ +_26f.shadow.css({display:"block",zIndex:$.fn.window.defaults.zIndex++,left:opts.left,top:opts.top,width:_26f.window._outerWidth(),height:_26f.window._outerHeight()}); +} +_26f.window.css("z-index",$.fn.window.defaults.zIndex++); +opts.onOpen.call(_26e); +},onResize:function(_270,_271){ +var _272=$(this).panel("options"); +$.extend(opts,{width:_272.width,height:_272.height,left:_272.left,top:_272.top}); +if(_26f.shadow){ +_26f.shadow.css({left:opts.left,top:opts.top,width:_26f.window._outerWidth(),height:_26f.window._outerHeight()}); +} +opts.onResize.call(_26e,_270,_271); +},onMinimize:function(){ +if(_26f.shadow){ +_26f.shadow.hide(); +} +if(_26f.mask){ +_26f.mask.hide(); +} +_26f.options.onMinimize.call(_26e); +},onBeforeCollapse:function(){ +if(opts.onBeforeCollapse.call(_26e)==false){ +return false; +} +if(_26f.shadow){ +_26f.shadow.hide(); +} +},onExpand:function(){ +if(_26f.shadow){ +_26f.shadow.show(); +} +opts.onExpand.call(_26e); +}})); +_26f.window=win.panel("panel"); +if(_26f.mask){ +_26f.mask.remove(); +} +if(opts.modal==true){ +_26f.mask=$("
                                      ").insertAfter(_26f.window); +_26f.mask.css({width:(opts.inline?_26f.mask.parent().width():_273().width),height:(opts.inline?_26f.mask.parent().height():_273().height),display:"none"}); +} +if(_26f.shadow){ +_26f.shadow.remove(); +} +if(opts.shadow==true){ +_26f.shadow=$("
                                      ").insertAfter(_26f.window); +_26f.shadow.css({display:"none"}); +} +if(opts.left==null){ +_263(_26e); +} +if(opts.top==null){ +_268(_26e); +} +_25f(_26e); +if(!opts.closed){ +win.window("open"); +} +}; +function _274(_275){ +var _276=$.data(_275,"window"); +_276.window.draggable({handle:">div.panel-header>div.panel-title",disabled:_276.options.draggable==false,onStartDrag:function(e){ +if(_276.mask){ +_276.mask.css("z-index",$.fn.window.defaults.zIndex++); +} +if(_276.shadow){ +_276.shadow.css("z-index",$.fn.window.defaults.zIndex++); +} +_276.window.css("z-index",$.fn.window.defaults.zIndex++); +if(!_276.proxy){ +_276.proxy=$("
                                      ").insertAfter(_276.window); +} +_276.proxy.css({display:"none",zIndex:$.fn.window.defaults.zIndex++,left:e.data.left,top:e.data.top}); +_276.proxy._outerWidth(_276.window._outerWidth()); +_276.proxy._outerHeight(_276.window._outerHeight()); +setTimeout(function(){ +if(_276.proxy){ +_276.proxy.show(); +} +},500); +},onDrag:function(e){ +_276.proxy.css({display:"block",left:e.data.left,top:e.data.top}); +return false; +},onStopDrag:function(e){ +_276.options.left=e.data.left; +_276.options.top=e.data.top; +$(_275).window("move"); +_276.proxy.remove(); +_276.proxy=null; +}}); +_276.window.resizable({disabled:_276.options.resizable==false,onStartResize:function(e){ +if(_276.pmask){ +_276.pmask.remove(); +} +_276.pmask=$("
                                      ").insertAfter(_276.window); +_276.pmask.css({zIndex:$.fn.window.defaults.zIndex++,left:e.data.left,top:e.data.top,width:_276.window._outerWidth(),height:_276.window._outerHeight()}); +if(_276.proxy){ +_276.proxy.remove(); +} +_276.proxy=$("
                                      ").insertAfter(_276.window); +_276.proxy.css({zIndex:$.fn.window.defaults.zIndex++,left:e.data.left,top:e.data.top}); +_276.proxy._outerWidth(e.data.width)._outerHeight(e.data.height); +},onResize:function(e){ +_276.proxy.css({left:e.data.left,top:e.data.top}); +_276.proxy._outerWidth(e.data.width); +_276.proxy._outerHeight(e.data.height); +return false; +},onStopResize:function(e){ +$(_275).window("resize",e.data); +_276.pmask.remove(); +_276.pmask=null; +_276.proxy.remove(); +_276.proxy=null; +}}); +}; +function _273(){ +if(document.compatMode=="BackCompat"){ +return {width:Math.max(document.body.scrollWidth,document.body.clientWidth),height:Math.max(document.body.scrollHeight,document.body.clientHeight)}; +}else{ +return {width:Math.max(document.documentElement.scrollWidth,document.documentElement.clientWidth),height:Math.max(document.documentElement.scrollHeight,document.documentElement.clientHeight)}; +} +}; +$(window).resize(function(){ +$("body>div.window-mask").css({width:$(window)._outerWidth(),height:$(window)._outerHeight()}); +setTimeout(function(){ +$("body>div.window-mask").css({width:_273().width,height:_273().height}); +},50); +}); +$.fn.window=function(_277,_278){ +if(typeof _277=="string"){ +var _279=$.fn.window.methods[_277]; +if(_279){ +return _279(this,_278); +}else{ +return this.panel(_277,_278); +} +} +_277=_277||{}; +return this.each(function(){ +var _27a=$.data(this,"window"); +if(_27a){ +$.extend(_27a.options,_277); +}else{ +_27a=$.data(this,"window",{options:$.extend({},$.fn.window.defaults,$.fn.window.parseOptions(this),_277)}); +if(!_27a.options.inline){ +document.body.appendChild(this); +} +} +_26d(this); +_274(this); +}); +}; +$.fn.window.methods={options:function(jq){ +var _27b=jq.panel("options"); +var _27c=$.data(jq[0],"window").options; +return $.extend(_27c,{closed:_27b.closed,collapsed:_27b.collapsed,minimized:_27b.minimized,maximized:_27b.maximized}); +},window:function(jq){ +return $.data(jq[0],"window").window; +},move:function(jq,_27d){ +return jq.each(function(){ +_25f(this,_27d); +}); +},hcenter:function(jq){ +return jq.each(function(){ +_263(this,true); +}); +},vcenter:function(jq){ +return jq.each(function(){ +_268(this,true); +}); +},center:function(jq){ +return jq.each(function(){ +_263(this); +_268(this); +_25f(this); +}); +}}; +$.fn.window.parseOptions=function(_27e){ +return $.extend({},$.fn.panel.parseOptions(_27e),$.parser.parseOptions(_27e,[{draggable:"boolean",resizable:"boolean",shadow:"boolean",modal:"boolean",inline:"boolean"}])); +}; +$.fn.window.defaults=$.extend({},$.fn.panel.defaults,{zIndex:9000,draggable:true,resizable:true,shadow:true,modal:false,inline:false,title:"New Window",collapsible:true,minimizable:true,maximizable:true,closable:true,closed:false}); +})(jQuery); +(function($){ +function _27f(_280){ +var opts=$.data(_280,"dialog").options; +opts.inited=false; +$(_280).window($.extend({},opts,{onResize:function(w,h){ +if(opts.inited){ +_284(this); +opts.onResize.call(this,w,h); +} +}})); +var win=$(_280).window("window"); +if(opts.toolbar){ +if($.isArray(opts.toolbar)){ +$(_280).siblings("div.dialog-toolbar").remove(); +var _281=$("
                                      ").appendTo(win); +var tr=_281.find("tr"); +for(var i=0;i
                                      ").appendTo(tr); +}else{ +var td=$("").appendTo(tr); +var tool=$("").appendTo(td); +tool[0].onclick=eval(btn.handler||function(){ +}); +tool.linkbutton($.extend({},btn,{plain:true})); +} +} +}else{ +$(opts.toolbar).addClass("dialog-toolbar").appendTo(win); +$(opts.toolbar).show(); +} +}else{ +$(_280).siblings("div.dialog-toolbar").remove(); +} +if(opts.buttons){ +if($.isArray(opts.buttons)){ +$(_280).siblings("div.dialog-button").remove(); +var _282=$("
                                      ").appendTo(win); +for(var i=0;i").appendTo(_282); +if(p.handler){ +_283[0].onclick=p.handler; +} +_283.linkbutton(p); +} +}else{ +$(opts.buttons).addClass("dialog-button").appendTo(win); +$(opts.buttons).show(); +} +}else{ +$(_280).siblings("div.dialog-button").remove(); +} +opts.inited=true; +win.show(); +$(_280).window("resize"); +if(opts.closed){ +win.hide(); +} +}; +function _284(_285,_286){ +var t=$(_285); +var opts=t.dialog("options"); +var _287=opts.noheader; +var tb=t.siblings(".dialog-toolbar"); +var bb=t.siblings(".dialog-button"); +tb.insertBefore(_285).css({position:"relative",borderTopWidth:(_287?1:0),top:(_287?tb.length:0)}); +bb.insertAfter(_285).css({position:"relative",top:-1}); +if(!isNaN(parseInt(opts.height))){ +t._outerHeight(t._outerHeight()-tb._outerHeight()-bb._outerHeight()); +} +tb.add(bb)._outerWidth(t._outerWidth()); +var _288=$.data(_285,"window").shadow; +if(_288){ +var cc=t.panel("panel"); +_288.css({width:cc._outerWidth(),height:cc._outerHeight()}); +} +}; +$.fn.dialog=function(_289,_28a){ +if(typeof _289=="string"){ +var _28b=$.fn.dialog.methods[_289]; +if(_28b){ +return _28b(this,_28a); +}else{ +return this.window(_289,_28a); +} +} +_289=_289||{}; +return this.each(function(){ +var _28c=$.data(this,"dialog"); +if(_28c){ +$.extend(_28c.options,_289); +}else{ +$.data(this,"dialog",{options:$.extend({},$.fn.dialog.defaults,$.fn.dialog.parseOptions(this),_289)}); +} +_27f(this); +}); +}; +$.fn.dialog.methods={options:function(jq){ +var _28d=$.data(jq[0],"dialog").options; +var _28e=jq.panel("options"); +$.extend(_28d,{width:_28e.width,height:_28e.height,left:_28e.left,top:_28e.top,closed:_28e.closed,collapsed:_28e.collapsed,minimized:_28e.minimized,maximized:_28e.maximized}); +return _28d; +},dialog:function(jq){ +return jq.window("window"); +}}; +$.fn.dialog.parseOptions=function(_28f){ +return $.extend({},$.fn.window.parseOptions(_28f),$.parser.parseOptions(_28f,["toolbar","buttons"])); +}; +$.fn.dialog.defaults=$.extend({},$.fn.window.defaults,{title:"New Dialog",collapsible:false,minimizable:false,maximizable:false,resizable:false,toolbar:null,buttons:null}); +})(jQuery); +(function($){ +function show(el,type,_290,_291){ +var win=$(el).window("window"); +if(!win){ +return; +} +switch(type){ +case null: +win.show(); +break; +case "slide": +win.slideDown(_290); +break; +case "fade": +win.fadeIn(_290); +break; +case "show": +win.show(_290); +break; +} +var _292=null; +if(_291>0){ +_292=setTimeout(function(){ +hide(el,type,_290); +},_291); +} +win.hover(function(){ +if(_292){ +clearTimeout(_292); +} +},function(){ +if(_291>0){ +_292=setTimeout(function(){ +hide(el,type,_290); +},_291); +} +}); +}; +function hide(el,type,_293){ +if(el.locked==true){ +return; +} +el.locked=true; +var win=$(el).window("window"); +if(!win){ +return; +} +switch(type){ +case null: +win.hide(); +break; +case "slide": +win.slideUp(_293); +break; +case "fade": +win.fadeOut(_293); +break; +case "show": +win.hide(_293); +break; +} +setTimeout(function(){ +$(el).window("destroy"); +},_293); +}; +function _294(_295){ +var opts=$.extend({},$.fn.window.defaults,{collapsible:false,minimizable:false,maximizable:false,shadow:false,draggable:false,resizable:false,closed:true,style:{left:"",top:"",right:0,zIndex:$.fn.window.defaults.zIndex++,bottom:-document.body.scrollTop-document.documentElement.scrollTop},onBeforeOpen:function(){ +show(this,opts.showType,opts.showSpeed,opts.timeout); +return false; +},onBeforeClose:function(){ +hide(this,opts.showType,opts.showSpeed); +return false; +}},{title:"",width:250,height:100,showType:"slide",showSpeed:600,msg:"",timeout:4000},_295); +opts.style.zIndex=$.fn.window.defaults.zIndex++; +var win=$("
                                      ").html(opts.msg).appendTo("body"); +win.window(opts); +win.window("window").css(opts.style); +win.window("open"); +return win; +}; +function _296(_297,_298,_299){ +var win=$("
                                      ").appendTo("body"); +win.append(_298); +if(_299){ +var tb=$("
                                      ").appendTo(win); +for(var _29a in _299){ +$("").attr("href","javascript:void(0)").text(_29a).css("margin-left",10).bind("click",eval(_299[_29a])).appendTo(tb).linkbutton(); +} +} +win.window({title:_297,noheader:(_297?false:true),width:300,height:"auto",modal:true,collapsible:false,minimizable:false,maximizable:false,resizable:false,onClose:function(){ +setTimeout(function(){ +win.window("destroy"); +},100); +}}); +win.window("window").addClass("messager-window"); +win.children("div.messager-button").children("a:first").focus(); +return win; +}; +$.messager={show:function(_29b){ +return _294(_29b); +},alert:function(_29c,msg,icon,fn){ +var _29d="
                                      "+msg+"
                                      "; +switch(icon){ +case "error": +_29d="
                                      "+_29d; +break; +case "info": +_29d="
                                      "+_29d; +break; +case "question": +_29d="
                                      "+_29d; +break; +case "warning": +_29d="
                                      "+_29d; +break; +} +_29d+="
                                      "; +var _29e={}; +_29e[$.messager.defaults.ok]=function(){ +win.window("close"); +if(fn){ +fn(); +return false; +} +}; +var win=_296(_29c,_29d,_29e); +return win; +},confirm:function(_29f,msg,fn){ +var _2a0="
                                      "+"
                                      "+msg+"
                                      "+"
                                      "; +var _2a1={}; +_2a1[$.messager.defaults.ok]=function(){ +win.window("close"); +if(fn){ +fn(true); +return false; +} +}; +_2a1[$.messager.defaults.cancel]=function(){ +win.window("close"); +if(fn){ +fn(false); +return false; +} +}; +var win=_296(_29f,_2a0,_2a1); +return win; +},prompt:function(_2a2,msg,fn){ +var _2a3="
                                      "+"
                                      "+msg+"
                                      "+"
                                      "+"
                                      "+"
                                      "; +var _2a4={}; +_2a4[$.messager.defaults.ok]=function(){ +win.window("close"); +if(fn){ +fn($(".messager-input",win).val()); +return false; +} +}; +_2a4[$.messager.defaults.cancel]=function(){ +win.window("close"); +if(fn){ +fn(); +return false; +} +}; +var win=_296(_2a2,_2a3,_2a4); +win.children("input.messager-input").focus(); +return win; +},progress:function(_2a5){ +var _2a6={bar:function(){ +return $("body>div.messager-window").find("div.messager-p-bar"); +},close:function(){ +var win=$("body>div.messager-window>div.messager-body:has(div.messager-progress)"); +if(win.length){ +win.window("close"); +} +}}; +if(typeof _2a5=="string"){ +var _2a7=_2a6[_2a5]; +return _2a7(); +} +var opts=$.extend({title:"",msg:"",text:undefined,interval:300},_2a5||{}); +var _2a8="
                                      "; +var win=_296(opts.title,_2a8,null); +win.find("div.messager-p-msg").html(opts.msg); +var bar=win.find("div.messager-p-bar"); +bar.progressbar({text:opts.text}); +win.window({closable:false,onClose:function(){ +if(this.timer){ +clearInterval(this.timer); +} +$(this).window("destroy"); +}}); +if(opts.interval){ +win[0].timer=setInterval(function(){ +var v=bar.progressbar("getValue"); +v+=10; +if(v>100){ +v=0; +} +bar.progressbar("setValue",v); +},opts.interval); +} +return win; +}}; +$.messager.defaults={ok:"Ok",cancel:"Cancel"}; +})(jQuery); +(function($){ +function _2a9(_2aa,_2ab){ +var _2ac=$.data(_2aa,"accordion"); +var opts=_2ac.options; +var _2ad=_2ac.panels; +var cc=$(_2aa); +if(_2ab){ +$.extend(opts,{width:_2ab.width,height:_2ab.height}); +} +cc._size(opts); +var _2ae=0; +var _2af="auto"; +var _2b0=cc.find(">div.panel>div.accordion-header"); +if(_2b0.length){ +_2ae=$(_2b0[0]).css("height","")._outerHeight(); +} +if(!isNaN(parseInt(opts.height))){ +_2af=cc.height()-_2ae*_2b0.length; +} +_2b1(true,_2af-_2b1(false)+1); +function _2b1(_2b2,_2b3){ +var _2b4=0; +for(var i=0;i<_2ad.length;i++){ +var p=_2ad[i]; +var h=p.panel("header")._outerHeight(_2ae); +if(p.panel("options").collapsible==_2b2){ +var _2b5=isNaN(_2b3)?undefined:(_2b3+_2ae*h.length); +p.panel("resize",{width:cc.width(),height:(_2b2?_2b5:undefined)}); +_2b4+=p.panel("panel").outerHeight()-_2ae*h.length; +} +} +return _2b4; +}; +}; +function _2b6(_2b7,_2b8,_2b9,all){ +var _2ba=$.data(_2b7,"accordion").panels; +var pp=[]; +for(var i=0;i<_2ba.length;i++){ +var p=_2ba[i]; +if(_2b8){ +if(p.panel("options")[_2b8]==_2b9){ +pp.push(p); +} +}else{ +if(p[0]==$(_2b9)[0]){ +return i; +} +} +} +if(_2b8){ +return all?pp:(pp.length?pp[0]:null); +}else{ +return -1; +} +}; +function _2bb(_2bc){ +return _2b6(_2bc,"collapsed",false,true); +}; +function _2bd(_2be){ +var pp=_2bb(_2be); +return pp.length?pp[0]:null; +}; +function _2bf(_2c0,_2c1){ +return _2b6(_2c0,null,_2c1); +}; +function _2c2(_2c3,_2c4){ +var _2c5=$.data(_2c3,"accordion").panels; +if(typeof _2c4=="number"){ +if(_2c4<0||_2c4>=_2c5.length){ +return null; +}else{ +return _2c5[_2c4]; +} +} +return _2b6(_2c3,"title",_2c4); +}; +function _2c6(_2c7){ +var opts=$.data(_2c7,"accordion").options; +var cc=$(_2c7); +if(opts.border){ +cc.removeClass("accordion-noborder"); +}else{ +cc.addClass("accordion-noborder"); +} +}; +function init(_2c8){ +var _2c9=$.data(_2c8,"accordion"); +var cc=$(_2c8); +cc.addClass("accordion"); +_2c9.panels=[]; +cc.children("div").each(function(){ +var opts=$.extend({},$.parser.parseOptions(this),{selected:($(this).attr("selected")?true:undefined)}); +var pp=$(this); +_2c9.panels.push(pp); +_2cb(_2c8,pp,opts); +}); +cc.bind("_resize",function(e,_2ca){ +if($(this).hasClass("easyui-fluid")||_2ca){ +_2a9(_2c8); +} +return false; +}); +}; +function _2cb(_2cc,pp,_2cd){ +var opts=$.data(_2cc,"accordion").options; +pp.panel($.extend({},{collapsible:true,minimizable:false,maximizable:false,closable:false,doSize:false,collapsed:true,headerCls:"accordion-header",bodyCls:"accordion-body"},_2cd,{onBeforeExpand:function(){ +if(_2cd.onBeforeExpand){ +if(_2cd.onBeforeExpand.call(this)==false){ +return false; +} +} +if(!opts.multiple){ +var all=$.grep(_2bb(_2cc),function(p){ +return p.panel("options").collapsible; +}); +for(var i=0;i").addClass("accordion-collapse accordion-expand").appendTo(tool); +t.bind("click",function(){ +var _2d1=_2bf(_2cc,pp); +if(pp.panel("options").collapsed){ +_2d2(_2cc,_2d1); +}else{ +_2d6(_2cc,_2d1); +} +return false; +}); +pp.panel("options").collapsible?t.show():t.hide(); +_2d0.click(function(){ +$(this).find("a.accordion-collapse:visible").triggerHandler("click"); +return false; +}); +}; +function _2d2(_2d3,_2d4){ +var p=_2c2(_2d3,_2d4); +if(!p){ +return; +} +_2d5(_2d3); +var opts=$.data(_2d3,"accordion").options; +p.panel("expand",opts.animate); +}; +function _2d6(_2d7,_2d8){ +var p=_2c2(_2d7,_2d8); +if(!p){ +return; +} +_2d5(_2d7); +var opts=$.data(_2d7,"accordion").options; +p.panel("collapse",opts.animate); +}; +function _2d9(_2da){ +var opts=$.data(_2da,"accordion").options; +var p=_2b6(_2da,"selected",true); +if(p){ +_2db(_2bf(_2da,p)); +}else{ +_2db(opts.selected); +} +function _2db(_2dc){ +var _2dd=opts.animate; +opts.animate=false; +_2d2(_2da,_2dc); +opts.animate=_2dd; +}; +}; +function _2d5(_2de){ +var _2df=$.data(_2de,"accordion").panels; +for(var i=0;i<_2df.length;i++){ +_2df[i].stop(true,true); +} +}; +function add(_2e0,_2e1){ +var _2e2=$.data(_2e0,"accordion"); +var opts=_2e2.options; +var _2e3=_2e2.panels; +if(_2e1.selected==undefined){ +_2e1.selected=true; +} +_2d5(_2e0); +var pp=$("
                                      ").appendTo(_2e0); +_2e3.push(pp); +_2cb(_2e0,pp,_2e1); +_2a9(_2e0); +opts.onAdd.call(_2e0,_2e1.title,_2e3.length-1); +if(_2e1.selected){ +_2d2(_2e0,_2e3.length-1); +} +}; +function _2e4(_2e5,_2e6){ +var _2e7=$.data(_2e5,"accordion"); +var opts=_2e7.options; +var _2e8=_2e7.panels; +_2d5(_2e5); +var _2e9=_2c2(_2e5,_2e6); +var _2ea=_2e9.panel("options").title; +var _2eb=_2bf(_2e5,_2e9); +if(!_2e9){ +return; +} +if(opts.onBeforeRemove.call(_2e5,_2ea,_2eb)==false){ +return; +} +_2e8.splice(_2eb,1); +_2e9.panel("destroy"); +if(_2e8.length){ +_2a9(_2e5); +var curr=_2bd(_2e5); +if(!curr){ +_2d2(_2e5,0); +} +} +opts.onRemove.call(_2e5,_2ea,_2eb); +}; +$.fn.accordion=function(_2ec,_2ed){ +if(typeof _2ec=="string"){ +return $.fn.accordion.methods[_2ec](this,_2ed); +} +_2ec=_2ec||{}; +return this.each(function(){ +var _2ee=$.data(this,"accordion"); +if(_2ee){ +$.extend(_2ee.options,_2ec); +}else{ +$.data(this,"accordion",{options:$.extend({},$.fn.accordion.defaults,$.fn.accordion.parseOptions(this),_2ec),accordion:$(this).addClass("accordion"),panels:[]}); +init(this); +} +_2c6(this); +_2a9(this); +_2d9(this); +}); +}; +$.fn.accordion.methods={options:function(jq){ +return $.data(jq[0],"accordion").options; +},panels:function(jq){ +return $.data(jq[0],"accordion").panels; +},resize:function(jq,_2ef){ +return jq.each(function(){ +_2a9(this,_2ef); +}); +},getSelections:function(jq){ +return _2bb(jq[0]); +},getSelected:function(jq){ +return _2bd(jq[0]); +},getPanel:function(jq,_2f0){ +return _2c2(jq[0],_2f0); +},getPanelIndex:function(jq,_2f1){ +return _2bf(jq[0],_2f1); +},select:function(jq,_2f2){ +return jq.each(function(){ +_2d2(this,_2f2); +}); +},unselect:function(jq,_2f3){ +return jq.each(function(){ +_2d6(this,_2f3); +}); +},add:function(jq,_2f4){ +return jq.each(function(){ +add(this,_2f4); +}); +},remove:function(jq,_2f5){ +return jq.each(function(){ +_2e4(this,_2f5); +}); +}}; +$.fn.accordion.parseOptions=function(_2f6){ +var t=$(_2f6); +return $.extend({},$.parser.parseOptions(_2f6,["width","height",{fit:"boolean",border:"boolean",animate:"boolean",multiple:"boolean",selected:"number"}])); +}; +$.fn.accordion.defaults={width:"auto",height:"auto",fit:false,border:true,animate:true,multiple:false,selected:0,onSelect:function(_2f7,_2f8){ +},onUnselect:function(_2f9,_2fa){ +},onAdd:function(_2fb,_2fc){ +},onBeforeRemove:function(_2fd,_2fe){ +},onRemove:function(_2ff,_300){ +}}; +})(jQuery); +(function($){ +function _301(_302){ +var opts=$.data(_302,"tabs").options; +if(opts.tabPosition=="left"||opts.tabPosition=="right"||!opts.showHeader){ +return; +} +var _303=$(_302).children("div.tabs-header"); +var tool=_303.children("div.tabs-tool"); +var _304=_303.children("div.tabs-scroller-left"); +var _305=_303.children("div.tabs-scroller-right"); +var wrap=_303.children("div.tabs-wrap"); +var _306=_303.outerHeight(); +if(opts.plain){ +_306-=_306-_303.height(); +} +tool._outerHeight(_306); +var _307=0; +$("ul.tabs li",_303).each(function(){ +_307+=$(this).outerWidth(true); +}); +var _308=_303.width()-tool._outerWidth(); +if(_307>_308){ +_304.add(_305).show()._outerHeight(_306); +if(opts.toolPosition=="left"){ +tool.css({left:_304.outerWidth(),right:""}); +wrap.css({marginLeft:_304.outerWidth()+tool._outerWidth(),marginRight:_305._outerWidth(),width:_308-_304.outerWidth()-_305.outerWidth()}); +}else{ +tool.css({left:"",right:_305.outerWidth()}); +wrap.css({marginLeft:_304.outerWidth(),marginRight:_305.outerWidth()+tool._outerWidth(),width:_308-_304.outerWidth()-_305.outerWidth()}); +} +}else{ +_304.add(_305).hide(); +if(opts.toolPosition=="left"){ +tool.css({left:0,right:""}); +wrap.css({marginLeft:tool._outerWidth(),marginRight:0,width:_308}); +}else{ +tool.css({left:"",right:0}); +wrap.css({marginLeft:0,marginRight:tool._outerWidth(),width:_308}); +} +} +}; +function _309(_30a){ +var opts=$.data(_30a,"tabs").options; +var _30b=$(_30a).children("div.tabs-header"); +if(opts.tools){ +if(typeof opts.tools=="string"){ +$(opts.tools).addClass("tabs-tool").appendTo(_30b); +$(opts.tools).show(); +}else{ +_30b.children("div.tabs-tool").remove(); +var _30c=$("
                                      ").appendTo(_30b); +var tr=_30c.find("tr"); +for(var i=0;i").appendTo(tr); +var tool=$("").appendTo(td); +tool[0].onclick=eval(opts.tools[i].handler||function(){ +}); +tool.linkbutton($.extend({},opts.tools[i],{plain:true})); +} +} +}else{ +_30b.children("div.tabs-tool").remove(); +} +}; +function _30d(_30e,_30f){ +var _310=$.data(_30e,"tabs"); +var opts=_310.options; +var cc=$(_30e); +if(_30f){ +$.extend(opts,{width:_30f.width,height:_30f.height}); +} +cc._size(opts); +var _311=cc.children("div.tabs-header"); +var _312=cc.children("div.tabs-panels"); +var wrap=_311.find("div.tabs-wrap"); +var ul=wrap.find(".tabs"); +for(var i=0;i<_310.tabs.length;i++){ +var _313=_310.tabs[i].panel("options"); +var p_t=_313.tab.find("a.tabs-inner"); +var _314=parseInt(_313.tabWidth||opts.tabWidth)||undefined; +if(_314){ +p_t._outerWidth(_314); +}else{ +p_t.css("width",""); +} +p_t._outerHeight(opts.tabHeight); +p_t.css("lineHeight",p_t.height()+"px"); +} +if(opts.tabPosition=="left"||opts.tabPosition=="right"){ +_311._outerWidth(opts.showHeader?opts.headerWidth:0); +_312._outerWidth(cc.width()-_311.outerWidth()); +_311.add(_312)._outerHeight(opts.height); +wrap._outerWidth(_311.width()); +ul._outerWidth(wrap.width()).css("height",""); +}else{ +var lrt=_311.children("div.tabs-scroller-left,div.tabs-scroller-right,div.tabs-tool"); +_311._outerWidth(opts.width).css("height",""); +if(opts.showHeader){ +_311.css("background-color",""); +wrap.css("height",""); +lrt.show(); +}else{ +_311.css("background-color","transparent"); +_311._outerHeight(0); +wrap._outerHeight(0); +lrt.hide(); +} +ul._outerHeight(opts.tabHeight).css("width",""); +_301(_30e); +_312._size("height",isNaN(opts.height)?"":(opts.height-_311.outerHeight())); +_312._size("width",isNaN(opts.width)?"":opts.width); +} +}; +function _315(_316){ +var opts=$.data(_316,"tabs").options; +var tab=_317(_316); +if(tab){ +var _318=$(_316).children("div.tabs-panels"); +var _319=opts.width=="auto"?"auto":_318.width(); +var _31a=opts.height=="auto"?"auto":_318.height(); +tab.panel("resize",{width:_319,height:_31a}); +} +}; +function _31b(_31c){ +var tabs=$.data(_31c,"tabs").tabs; +var cc=$(_31c); +cc.addClass("tabs-container"); +var pp=$("
                                      ").insertBefore(cc); +cc.children("div").each(function(){ +pp[0].appendChild(this); +}); +cc[0].appendChild(pp[0]); +$("
                                      "+"
                                      "+"
                                      "+"
                                      "+"
                                        "+"
                                        "+"
                                        ").prependTo(_31c); +cc.children("div.tabs-panels").children("div").each(function(i){ +var opts=$.extend({},$.parser.parseOptions(this),{selected:($(this).attr("selected")?true:undefined)}); +var pp=$(this); +tabs.push(pp); +_329(_31c,pp,opts); +}); +cc.children("div.tabs-header").find(".tabs-scroller-left, .tabs-scroller-right").hover(function(){ +$(this).addClass("tabs-scroller-over"); +},function(){ +$(this).removeClass("tabs-scroller-over"); +}); +cc.bind("_resize",function(e,_31d){ +if($(this).hasClass("easyui-fluid")||_31d){ +_30d(_31c); +_315(_31c); +} +return false; +}); +}; +function _31e(_31f){ +var _320=$.data(_31f,"tabs"); +var opts=_320.options; +$(_31f).children("div.tabs-header").unbind().bind("click",function(e){ +if($(e.target).hasClass("tabs-scroller-left")){ +$(_31f).tabs("scrollBy",-opts.scrollIncrement); +}else{ +if($(e.target).hasClass("tabs-scroller-right")){ +$(_31f).tabs("scrollBy",opts.scrollIncrement); +}else{ +var li=$(e.target).closest("li"); +if(li.hasClass("tabs-disabled")){ +return; +} +var a=$(e.target).closest("a.tabs-close"); +if(a.length){ +_33b(_31f,_321(li)); +}else{ +if(li.length){ +var _322=_321(li); +var _323=_320.tabs[_322].panel("options"); +if(_323.collapsible){ +_323.closed?_331(_31f,_322):_352(_31f,_322); +}else{ +_331(_31f,_322); +} +} +} +} +} +}).bind("contextmenu",function(e){ +var li=$(e.target).closest("li"); +if(li.hasClass("tabs-disabled")){ +return; +} +if(li.length){ +opts.onContextMenu.call(_31f,e,li.find("span.tabs-title").html(),_321(li)); +} +}); +function _321(li){ +var _324=0; +li.parent().children("li").each(function(i){ +if(li[0]==this){ +_324=i; +return false; +} +}); +return _324; +}; +}; +function _325(_326){ +var opts=$.data(_326,"tabs").options; +var _327=$(_326).children("div.tabs-header"); +var _328=$(_326).children("div.tabs-panels"); +_327.removeClass("tabs-header-top tabs-header-bottom tabs-header-left tabs-header-right"); +_328.removeClass("tabs-panels-top tabs-panels-bottom tabs-panels-left tabs-panels-right"); +if(opts.tabPosition=="top"){ +_327.insertBefore(_328); +}else{ +if(opts.tabPosition=="bottom"){ +_327.insertAfter(_328); +_327.addClass("tabs-header-bottom"); +_328.addClass("tabs-panels-top"); +}else{ +if(opts.tabPosition=="left"){ +_327.addClass("tabs-header-left"); +_328.addClass("tabs-panels-right"); +}else{ +if(opts.tabPosition=="right"){ +_327.addClass("tabs-header-right"); +_328.addClass("tabs-panels-left"); +} +} +} +} +if(opts.plain==true){ +_327.addClass("tabs-header-plain"); +}else{ +_327.removeClass("tabs-header-plain"); +} +if(opts.border==true){ +_327.removeClass("tabs-header-noborder"); +_328.removeClass("tabs-panels-noborder"); +}else{ +_327.addClass("tabs-header-noborder"); +_328.addClass("tabs-panels-noborder"); +} +}; +function _329(_32a,pp,_32b){ +var _32c=$.data(_32a,"tabs"); +_32b=_32b||{}; +pp.panel($.extend({},_32b,{border:false,noheader:true,closed:true,doSize:false,iconCls:(_32b.icon?_32b.icon:undefined),onLoad:function(){ +if(_32b.onLoad){ +_32b.onLoad.call(this,arguments); +} +_32c.options.onLoad.call(_32a,$(this)); +}})); +var opts=pp.panel("options"); +var tabs=$(_32a).children("div.tabs-header").find("ul.tabs"); +opts.tab=$("
                                      • ").appendTo(tabs); +opts.tab.append(""+""+""+""); +$(_32a).tabs("update",{tab:pp,options:opts,type:"header"}); +}; +function _32d(_32e,_32f){ +var _330=$.data(_32e,"tabs"); +var opts=_330.options; +var tabs=_330.tabs; +if(_32f.selected==undefined){ +_32f.selected=true; +} +var pp=$("
                                        ").appendTo($(_32e).children("div.tabs-panels")); +tabs.push(pp); +_329(_32e,pp,_32f); +opts.onAdd.call(_32e,_32f.title,tabs.length-1); +_30d(_32e); +if(_32f.selected){ +_331(_32e,tabs.length-1); +} +}; +function _332(_333,_334){ +_334.type=_334.type||"all"; +var _335=$.data(_333,"tabs").selectHis; +var pp=_334.tab; +var _336=pp.panel("options").title; +if(_334.type=="all"||_334=="body"){ +pp.panel($.extend({},_334.options,{iconCls:(_334.options.icon?_334.options.icon:undefined)})); +} +if(_334.type=="all"||_334.type=="header"){ +var opts=pp.panel("options"); +var tab=opts.tab; +var _337=tab.find("span.tabs-title"); +var _338=tab.find("span.tabs-icon"); +_337.html(opts.title); +_338.attr("class","tabs-icon"); +tab.find("a.tabs-close").remove(); +if(opts.closable){ +_337.addClass("tabs-closable"); +$("").appendTo(tab); +}else{ +_337.removeClass("tabs-closable"); +} +if(opts.iconCls){ +_337.addClass("tabs-with-icon"); +_338.addClass(opts.iconCls); +}else{ +_337.removeClass("tabs-with-icon"); +} +if(_336!=opts.title){ +for(var i=0;i<_335.length;i++){ +if(_335[i]==_336){ +_335[i]=opts.title; +} +} +} +tab.find("span.tabs-p-tool").remove(); +if(opts.tools){ +var _339=$("").insertAfter(tab.find("a.tabs-inner")); +if($.isArray(opts.tools)){ +for(var i=0;i").appendTo(_339); +t.addClass(opts.tools[i].iconCls); +if(opts.tools[i].handler){ +t.bind("click",{handler:opts.tools[i].handler},function(e){ +if($(this).parents("li").hasClass("tabs-disabled")){ +return; +} +e.data.handler.call(this); +}); +} +} +}else{ +$(opts.tools).children().appendTo(_339); +} +var pr=_339.children().length*12; +if(opts.closable){ +pr+=8; +}else{ +pr-=3; +_339.css("right","5px"); +} +_337.css("padding-right",pr+"px"); +} +} +_30d(_333); +$.data(_333,"tabs").options.onUpdate.call(_333,opts.title,_33a(_333,pp)); +}; +function _33b(_33c,_33d){ +var opts=$.data(_33c,"tabs").options; +var tabs=$.data(_33c,"tabs").tabs; +var _33e=$.data(_33c,"tabs").selectHis; +if(!_33f(_33c,_33d)){ +return; +} +var tab=_340(_33c,_33d); +var _341=tab.panel("options").title; +var _342=_33a(_33c,tab); +if(opts.onBeforeClose.call(_33c,_341,_342)==false){ +return; +} +var tab=_340(_33c,_33d,true); +tab.panel("options").tab.remove(); +tab.panel("destroy"); +opts.onClose.call(_33c,_341,_342); +_30d(_33c); +for(var i=0;i<_33e.length;i++){ +if(_33e[i]==_341){ +_33e.splice(i,1); +i--; +} +} +var _343=_33e.pop(); +if(_343){ +_331(_33c,_343); +}else{ +if(tabs.length){ +_331(_33c,0); +} +} +}; +function _340(_344,_345,_346){ +var tabs=$.data(_344,"tabs").tabs; +if(typeof _345=="number"){ +if(_345<0||_345>=tabs.length){ +return null; +}else{ +var tab=tabs[_345]; +if(_346){ +tabs.splice(_345,1); +} +return tab; +} +} +for(var i=0;idiv.tabs-header>div.tabs-wrap"); +var left=tab.position().left; +var _354=left+tab.outerWidth(); +if(left<0||_354>wrap.width()){ +var _355=left-(wrap.width()-tab.width())/2; +$(_34c).tabs("scrollBy",_355); +}else{ +$(_34c).tabs("scrollBy",0); +} +_315(_34c); +opts.onSelect.call(_34c,_353,_33a(_34c,_350)); +}; +function _352(_356,_357){ +var _358=$.data(_356,"tabs"); +var p=_340(_356,_357); +if(p){ +var opts=p.panel("options"); +if(!opts.closed){ +p.panel("close"); +if(opts.closed){ +opts.tab.removeClass("tabs-selected"); +_358.options.onUnselect.call(_356,opts.title,_33a(_356,p)); +} +} +} +}; +function _33f(_359,_35a){ +return _340(_359,_35a)!=null; +}; +function _35b(_35c,_35d){ +var opts=$.data(_35c,"tabs").options; +opts.showHeader=_35d; +$(_35c).tabs("resize"); +}; +$.fn.tabs=function(_35e,_35f){ +if(typeof _35e=="string"){ +return $.fn.tabs.methods[_35e](this,_35f); +} +_35e=_35e||{}; +return this.each(function(){ +var _360=$.data(this,"tabs"); +if(_360){ +$.extend(_360.options,_35e); +}else{ +$.data(this,"tabs",{options:$.extend({},$.fn.tabs.defaults,$.fn.tabs.parseOptions(this),_35e),tabs:[],selectHis:[]}); +_31b(this); +} +_309(this); +_325(this); +_30d(this); +_31e(this); +_349(this); +}); +}; +$.fn.tabs.methods={options:function(jq){ +var cc=jq[0]; +var opts=$.data(cc,"tabs").options; +var s=_317(cc); +opts.selected=s?_33a(cc,s):-1; +return opts; +},tabs:function(jq){ +return $.data(jq[0],"tabs").tabs; +},resize:function(jq,_361){ +return jq.each(function(){ +_30d(this,_361); +_315(this); +}); +},add:function(jq,_362){ +return jq.each(function(){ +_32d(this,_362); +}); +},close:function(jq,_363){ +return jq.each(function(){ +_33b(this,_363); +}); +},getTab:function(jq,_364){ +return _340(jq[0],_364); +},getTabIndex:function(jq,tab){ +return _33a(jq[0],tab); +},getSelected:function(jq){ +return _317(jq[0]); +},select:function(jq,_365){ +return jq.each(function(){ +_331(this,_365); +}); +},unselect:function(jq,_366){ +return jq.each(function(){ +_352(this,_366); +}); +},exists:function(jq,_367){ +return _33f(jq[0],_367); +},update:function(jq,_368){ +return jq.each(function(){ +_332(this,_368); +}); +},enableTab:function(jq,_369){ +return jq.each(function(){ +$(this).tabs("getTab",_369).panel("options").tab.removeClass("tabs-disabled"); +}); +},disableTab:function(jq,_36a){ +return jq.each(function(){ +$(this).tabs("getTab",_36a).panel("options").tab.addClass("tabs-disabled"); +}); +},showHeader:function(jq){ +return jq.each(function(){ +_35b(this,true); +}); +},hideHeader:function(jq){ +return jq.each(function(){ +_35b(this,false); +}); +},scrollBy:function(jq,_36b){ +return jq.each(function(){ +var opts=$(this).tabs("options"); +var wrap=$(this).find(">div.tabs-header>div.tabs-wrap"); +var pos=Math.min(wrap._scrollLeft()+_36b,_36c()); +wrap.animate({scrollLeft:pos},opts.scrollDuration); +function _36c(){ +var w=0; +var ul=wrap.children("ul"); +ul.children("li").each(function(){ +w+=$(this).outerWidth(true); +}); +return w-wrap.width()+(ul.outerWidth()-ul.width()); +}; +}); +}}; +$.fn.tabs.parseOptions=function(_36d){ +return $.extend({},$.parser.parseOptions(_36d,["tools","toolPosition","tabPosition",{fit:"boolean",border:"boolean",plain:"boolean",headerWidth:"number",tabWidth:"number",tabHeight:"number",selected:"number",showHeader:"boolean"}])); +}; +$.fn.tabs.defaults={width:"auto",height:"auto",headerWidth:150,tabWidth:"auto",tabHeight:27,selected:0,showHeader:true,plain:false,fit:false,border:true,tools:null,toolPosition:"right",tabPosition:"top",scrollIncrement:100,scrollDuration:400,onLoad:function(_36e){ +},onSelect:function(_36f,_370){ +},onUnselect:function(_371,_372){ +},onBeforeClose:function(_373,_374){ +},onClose:function(_375,_376){ +},onAdd:function(_377,_378){ +},onUpdate:function(_379,_37a){ +},onContextMenu:function(e,_37b,_37c){ +}}; +})(jQuery); +(function($){ +var _37d=false; +function _37e(_37f,_380){ +var _381=$.data(_37f,"layout"); +var opts=_381.options; +var _382=_381.panels; +var cc=$(_37f); +if(_380){ +$.extend(opts,{width:_380.width,height:_380.height}); +} +if(_37f.tagName.toLowerCase()=="body"){ +cc._size("fit"); +}else{ +cc._size(opts); +} +var cpos={top:0,left:0,width:cc.width(),height:cc.height()}; +_383(_384(_382.expandNorth)?_382.expandNorth:_382.north,"n"); +_383(_384(_382.expandSouth)?_382.expandSouth:_382.south,"s"); +_385(_384(_382.expandEast)?_382.expandEast:_382.east,"e"); +_385(_384(_382.expandWest)?_382.expandWest:_382.west,"w"); +_382.center.panel("resize",cpos); +function _383(pp,type){ +if(!pp.length||!_384(pp)){ +return; +} +var opts=pp.panel("options"); +pp.panel("resize",{width:cc.width(),height:opts.height}); +var _386=pp.panel("panel").outerHeight(); +pp.panel("move",{left:0,top:(type=="n"?0:cc.height()-_386)}); +cpos.height-=_386; +if(type=="n"){ +cpos.top+=_386; +if(!opts.split&&opts.border){ +cpos.top--; +} +} +if(!opts.split&&opts.border){ +cpos.height++; +} +}; +function _385(pp,type){ +if(!pp.length||!_384(pp)){ +return; +} +var opts=pp.panel("options"); +pp.panel("resize",{width:opts.width,height:cpos.height}); +var _387=pp.panel("panel").outerWidth(); +pp.panel("move",{left:(type=="e"?cc.width()-_387:0),top:cpos.top}); +cpos.width-=_387; +if(type=="w"){ +cpos.left+=_387; +if(!opts.split&&opts.border){ +cpos.left--; +} +} +if(!opts.split&&opts.border){ +cpos.width++; +} +}; +}; +function init(_388){ +var cc=$(_388); +cc.addClass("layout"); +function _389(cc){ +cc.children("div").each(function(){ +var opts=$.fn.layout.parsePanelOptions(this); +if("north,south,east,west,center".indexOf(opts.region)>=0){ +_38b(_388,opts,this); +} +}); +}; +cc.children("form").length?_389(cc.children("form")):_389(cc); +cc.append("
                                        "); +cc.bind("_resize",function(e,_38a){ +if($(this).hasClass("easyui-fluid")||_38a){ +_37e(_388); +} +return false; +}); +}; +function _38b(_38c,_38d,el){ +_38d.region=_38d.region||"center"; +var _38e=$.data(_38c,"layout").panels; +var cc=$(_38c); +var dir=_38d.region; +if(_38e[dir].length){ +return; +} +var pp=$(el); +if(!pp.length){ +pp=$("
                                        ").appendTo(cc); +} +var _38f=$.extend({},$.fn.layout.paneldefaults,{width:(pp.length?parseInt(pp[0].style.width)||pp.outerWidth():"auto"),height:(pp.length?parseInt(pp[0].style.height)||pp.outerHeight():"auto"),doSize:false,collapsible:true,cls:("layout-panel layout-panel-"+dir),bodyCls:"layout-body",onOpen:function(){ +var tool=$(this).panel("header").children("div.panel-tool"); +tool.children("a.panel-tool-collapse").hide(); +var _390={north:"up",south:"down",east:"right",west:"left"}; +if(!_390[dir]){ +return; +} +var _391="layout-button-"+_390[dir]; +var t=tool.children("a."+_391); +if(!t.length){ +t=$("").addClass(_391).appendTo(tool); +t.bind("click",{dir:dir},function(e){ +_39d(_38c,e.data.dir); +return false; +}); +} +$(this).panel("options").collapsible?t.show():t.hide(); +}},_38d); +pp.panel(_38f); +_38e[dir]=pp; +if(pp.panel("options").split){ +var _392=pp.panel("panel"); +_392.addClass("layout-split-"+dir); +var _393=""; +if(dir=="north"){ +_393="s"; +} +if(dir=="south"){ +_393="n"; +} +if(dir=="east"){ +_393="w"; +} +if(dir=="west"){ +_393="e"; +} +_392.resizable($.extend({},{handles:_393,onStartResize:function(e){ +_37d=true; +if(dir=="north"||dir=="south"){ +var _394=$(">div.layout-split-proxy-v",_38c); +}else{ +var _394=$(">div.layout-split-proxy-h",_38c); +} +var top=0,left=0,_395=0,_396=0; +var pos={display:"block"}; +if(dir=="north"){ +pos.top=parseInt(_392.css("top"))+_392.outerHeight()-_394.height(); +pos.left=parseInt(_392.css("left")); +pos.width=_392.outerWidth(); +pos.height=_394.height(); +}else{ +if(dir=="south"){ +pos.top=parseInt(_392.css("top")); +pos.left=parseInt(_392.css("left")); +pos.width=_392.outerWidth(); +pos.height=_394.height(); +}else{ +if(dir=="east"){ +pos.top=parseInt(_392.css("top"))||0; +pos.left=parseInt(_392.css("left"))||0; +pos.width=_394.width(); +pos.height=_392.outerHeight(); +}else{ +if(dir=="west"){ +pos.top=parseInt(_392.css("top"))||0; +pos.left=_392.outerWidth()-_394.width(); +pos.width=_394.width(); +pos.height=_392.outerHeight(); +} +} +} +} +_394.css(pos); +$("
                                        ").css({left:0,top:0,width:cc.width(),height:cc.height()}).appendTo(cc); +},onResize:function(e){ +if(dir=="north"||dir=="south"){ +var _397=$(">div.layout-split-proxy-v",_38c); +_397.css("top",e.pageY-$(_38c).offset().top-_397.height()/2); +}else{ +var _397=$(">div.layout-split-proxy-h",_38c); +_397.css("left",e.pageX-$(_38c).offset().left-_397.width()/2); +} +return false; +},onStopResize:function(e){ +cc.children("div.layout-split-proxy-v,div.layout-split-proxy-h").hide(); +pp.panel("resize",e.data); +_37e(_38c); +_37d=false; +cc.find(">div.layout-mask").remove(); +}},_38d)); +} +}; +function _398(_399,_39a){ +var _39b=$.data(_399,"layout").panels; +if(_39b[_39a].length){ +_39b[_39a].panel("destroy"); +_39b[_39a]=$(); +var _39c="expand"+_39a.substring(0,1).toUpperCase()+_39a.substring(1); +if(_39b[_39c]){ +_39b[_39c].panel("destroy"); +_39b[_39c]=undefined; +} +} +}; +function _39d(_39e,_39f,_3a0){ +if(_3a0==undefined){ +_3a0="normal"; +} +var _3a1=$.data(_39e,"layout").panels; +var p=_3a1[_39f]; +var _3a2=p.panel("options"); +if(_3a2.onBeforeCollapse.call(p)==false){ +return; +} +var _3a3="expand"+_39f.substring(0,1).toUpperCase()+_39f.substring(1); +if(!_3a1[_3a3]){ +_3a1[_3a3]=_3a4(_39f); +_3a1[_3a3].panel("panel").bind("click",function(){ +p.panel("expand",false).panel("open"); +var _3a5=_3a6(); +p.panel("resize",_3a5.collapse); +p.panel("panel").animate(_3a5.expand,function(){ +$(this).unbind(".layout").bind("mouseleave.layout",{region:_39f},function(e){ +if(_37d==true){ +return; +} +if($("body>div.combo-p>div.combo-panel:visible").length){ +return; +} +_39d(_39e,e.data.region); +}); +}); +return false; +}); +} +var _3a7=_3a6(); +if(!_384(_3a1[_3a3])){ +_3a1.center.panel("resize",_3a7.resizeC); +} +p.panel("panel").animate(_3a7.collapse,_3a0,function(){ +p.panel("collapse",false).panel("close"); +_3a1[_3a3].panel("open").panel("resize",_3a7.expandP); +$(this).unbind(".layout"); +}); +function _3a4(dir){ +var icon; +if(dir=="east"){ +icon="layout-button-left"; +}else{ +if(dir=="west"){ +icon="layout-button-right"; +}else{ +if(dir=="north"){ +icon="layout-button-down"; +}else{ +if(dir=="south"){ +icon="layout-button-up"; +} +} +} +} +var p=$("
                                        ").appendTo(_39e); +p.panel($.extend({},$.fn.layout.paneldefaults,{cls:("layout-expand layout-expand-"+dir),title:" ",closed:true,minWidth:0,minHeight:0,doSize:false,tools:[{iconCls:icon,handler:function(){ +_3ad(_39e,_39f); +return false; +}}]})); +p.panel("panel").hover(function(){ +$(this).addClass("layout-expand-over"); +},function(){ +$(this).removeClass("layout-expand-over"); +}); +return p; +}; +function _3a6(){ +var cc=$(_39e); +var _3a8=_3a1.center.panel("options"); +var _3a9=_3a2.collapsedSize; +if(_39f=="east"){ +var _3aa=p.panel("panel")._outerWidth(); +var _3ab=_3a8.width+_3aa-_3a9; +if(_3a2.split||!_3a2.border){ +_3ab++; +} +return {resizeC:{width:_3ab},expand:{left:cc.width()-_3aa},expandP:{top:_3a8.top,left:cc.width()-_3a9,width:_3a9,height:_3a8.height},collapse:{left:cc.width(),top:_3a8.top,height:_3a8.height}}; +}else{ +if(_39f=="west"){ +var _3aa=p.panel("panel")._outerWidth(); +var _3ab=_3a8.width+_3aa-_3a9; +if(_3a2.split||!_3a2.border){ +_3ab++; +} +return {resizeC:{width:_3ab,left:_3a9-1},expand:{left:0},expandP:{left:0,top:_3a8.top,width:_3a9,height:_3a8.height},collapse:{left:-_3aa,top:_3a8.top,height:_3a8.height}}; +}else{ +if(_39f=="north"){ +var _3ac=p.panel("panel")._outerHeight(); +var hh=_3a8.height; +if(!_384(_3a1.expandNorth)){ +hh+=_3ac-_3a9+((_3a2.split||!_3a2.border)?1:0); +} +_3a1.east.add(_3a1.west).add(_3a1.expandEast).add(_3a1.expandWest).panel("resize",{top:_3a9-1,height:hh}); +return {resizeC:{top:_3a9-1,height:hh},expand:{top:0},expandP:{top:0,left:0,width:cc.width(),height:_3a9},collapse:{top:-_3ac,width:cc.width()}}; +}else{ +if(_39f=="south"){ +var _3ac=p.panel("panel")._outerHeight(); +var hh=_3a8.height; +if(!_384(_3a1.expandSouth)){ +hh+=_3ac-_3a9+((_3a2.split||!_3a2.border)?1:0); +} +_3a1.east.add(_3a1.west).add(_3a1.expandEast).add(_3a1.expandWest).panel("resize",{height:hh}); +return {resizeC:{height:hh},expand:{top:cc.height()-_3ac},expandP:{top:cc.height()-_3a9,left:0,width:cc.width(),height:_3a9},collapse:{top:cc.height(),width:cc.width()}}; +} +} +} +} +}; +}; +function _3ad(_3ae,_3af){ +var _3b0=$.data(_3ae,"layout").panels; +var p=_3b0[_3af]; +var _3b1=p.panel("options"); +if(_3b1.onBeforeExpand.call(p)==false){ +return; +} +var _3b2="expand"+_3af.substring(0,1).toUpperCase()+_3af.substring(1); +if(_3b0[_3b2]){ +_3b0[_3b2].panel("close"); +p.panel("panel").stop(true,true); +p.panel("expand",false).panel("open"); +var _3b3=_3b4(); +p.panel("resize",_3b3.collapse); +p.panel("panel").animate(_3b3.expand,function(){ +_37e(_3ae); +}); +} +function _3b4(){ +var cc=$(_3ae); +var _3b5=_3b0.center.panel("options"); +if(_3af=="east"&&_3b0.expandEast){ +return {collapse:{left:cc.width(),top:_3b5.top,height:_3b5.height},expand:{left:cc.width()-p.panel("panel")._outerWidth()}}; +}else{ +if(_3af=="west"&&_3b0.expandWest){ +return {collapse:{left:-p.panel("panel")._outerWidth(),top:_3b5.top,height:_3b5.height},expand:{left:0}}; +}else{ +if(_3af=="north"&&_3b0.expandNorth){ +return {collapse:{top:-p.panel("panel")._outerHeight(),width:cc.width()},expand:{top:0}}; +}else{ +if(_3af=="south"&&_3b0.expandSouth){ +return {collapse:{top:cc.height(),width:cc.width()},expand:{top:cc.height()-p.panel("panel")._outerHeight()}}; +} +} +} +} +}; +}; +function _384(pp){ +if(!pp){ +return false; +} +if(pp.length){ +return pp.panel("panel").is(":visible"); +}else{ +return false; +} +}; +function _3b6(_3b7){ +var _3b8=$.data(_3b7,"layout").panels; +if(_3b8.east.length&&_3b8.east.panel("options").collapsed){ +_39d(_3b7,"east",0); +} +if(_3b8.west.length&&_3b8.west.panel("options").collapsed){ +_39d(_3b7,"west",0); +} +if(_3b8.north.length&&_3b8.north.panel("options").collapsed){ +_39d(_3b7,"north",0); +} +if(_3b8.south.length&&_3b8.south.panel("options").collapsed){ +_39d(_3b7,"south",0); +} +}; +$.fn.layout=function(_3b9,_3ba){ +if(typeof _3b9=="string"){ +return $.fn.layout.methods[_3b9](this,_3ba); +} +_3b9=_3b9||{}; +return this.each(function(){ +var _3bb=$.data(this,"layout"); +if(_3bb){ +$.extend(_3bb.options,_3b9); +}else{ +var opts=$.extend({},$.fn.layout.defaults,$.fn.layout.parseOptions(this),_3b9); +$.data(this,"layout",{options:opts,panels:{center:$(),north:$(),south:$(),east:$(),west:$()}}); +init(this); +} +_37e(this); +_3b6(this); +}); +}; +$.fn.layout.methods={options:function(jq){ +return $.data(jq[0],"layout").options; +},resize:function(jq,_3bc){ +return jq.each(function(){ +_37e(this,_3bc); +}); +},panel:function(jq,_3bd){ +return $.data(jq[0],"layout").panels[_3bd]; +},collapse:function(jq,_3be){ +return jq.each(function(){ +_39d(this,_3be); +}); +},expand:function(jq,_3bf){ +return jq.each(function(){ +_3ad(this,_3bf); +}); +},add:function(jq,_3c0){ +return jq.each(function(){ +_38b(this,_3c0); +_37e(this); +if($(this).layout("panel",_3c0.region).panel("options").collapsed){ +_39d(this,_3c0.region,0); +} +}); +},remove:function(jq,_3c1){ +return jq.each(function(){ +_398(this,_3c1); +_37e(this); +}); +}}; +$.fn.layout.parseOptions=function(_3c2){ +return $.extend({},$.parser.parseOptions(_3c2,[{fit:"boolean"}])); +}; +$.fn.layout.defaults={fit:false}; +$.fn.layout.parsePanelOptions=function(_3c3){ +var t=$(_3c3); +return $.extend({},$.fn.panel.parseOptions(_3c3),$.parser.parseOptions(_3c3,["region",{split:"boolean",collpasedSize:"number",minWidth:"number",minHeight:"number",maxWidth:"number",maxHeight:"number"}])); +}; +$.fn.layout.paneldefaults=$.extend({},$.fn.panel.defaults,{region:null,split:false,collapsedSize:28,minWidth:10,minHeight:10,maxWidth:10000,maxHeight:10000}); +})(jQuery); +(function($){ +function init(_3c4){ +$(_3c4).appendTo("body"); +$(_3c4).addClass("menu-top"); +$(document).unbind(".menu").bind("mousedown.menu",function(e){ +var m=$(e.target).closest("div.menu,div.combo-p"); +if(m.length){ +return; +} +$("body>div.menu-top:visible").menu("hide"); +}); +var _3c5=_3c6($(_3c4)); +for(var i=0;i<_3c5.length;i++){ +_3c7(_3c5[i]); +} +function _3c6(menu){ +var _3c8=[]; +menu.addClass("menu"); +_3c8.push(menu); +if(!menu.hasClass("menu-content")){ +menu.children("div").each(function(){ +var _3c9=$(this).children("div"); +if(_3c9.length){ +_3c9.insertAfter(_3c4); +this.submenu=_3c9; +var mm=_3c6(_3c9); +_3c8=_3c8.concat(mm); +} +}); +} +return _3c8; +}; +function _3c7(menu){ +var wh=$.parser.parseOptions(menu[0],["width","height"]); +menu[0].originalHeight=wh.height||0; +if(menu.hasClass("menu-content")){ +menu[0].originalWidth=wh.width||menu._outerWidth(); +}else{ +menu[0].originalWidth=wh.width||0; +menu.children("div").each(function(){ +var item=$(this); +var _3ca=$.extend({},$.parser.parseOptions(this,["name","iconCls","href",{separator:"boolean"}]),{disabled:(item.attr("disabled")?true:undefined)}); +if(_3ca.separator){ +item.addClass("menu-sep"); +} +if(!item.hasClass("menu-sep")){ +item[0].itemName=_3ca.name||""; +item[0].itemHref=_3ca.href||""; +var text=item.addClass("menu-item").html(); +item.empty().append($("
                                        ").html(text)); +if(_3ca.iconCls){ +$("
                                        ").addClass(_3ca.iconCls).appendTo(item); +} +if(_3ca.disabled){ +_3cb(_3c4,item[0],true); +} +if(item[0].submenu){ +$("
                                        ").appendTo(item); +} +_3cc(_3c4,item); +} +}); +$("
                                        ").prependTo(menu); +} +_3cd(_3c4,menu); +menu.hide(); +_3ce(_3c4,menu); +}; +}; +function _3cd(_3cf,menu){ +var opts=$.data(_3cf,"menu").options; +var _3d0=menu.attr("style")||""; +menu.css({display:"block",left:-10000,height:"auto",overflow:"hidden"}); +var el=menu[0]; +var _3d1=el.originalWidth||0; +if(!_3d1){ +_3d1=0; +menu.find("div.menu-text").each(function(){ +if(_3d1<$(this)._outerWidth()){ +_3d1=$(this)._outerWidth(); +} +$(this).closest("div.menu-item")._outerHeight($(this)._outerHeight()+2); +}); +_3d1+=40; +} +_3d1=Math.max(_3d1,opts.minWidth); +var _3d2=el.originalHeight||0; +if(!_3d2){ +_3d2=menu.outerHeight(); +if(menu.hasClass("menu-top")&&opts.alignTo){ +var at=$(opts.alignTo); +var h1=at.offset().top-$(document).scrollTop(); +var h2=$(window)._outerHeight()+$(document).scrollTop()-at.offset().top-at._outerHeight(); +_3d2=Math.min(_3d2,Math.max(h1,h2)); +}else{ +if(_3d2>$(window)._outerHeight()){ +_3d2=$(window).height(); +_3d0+=";overflow:auto"; +}else{ +_3d0+=";overflow:hidden"; +} +} +} +var _3d3=Math.max(el.originalHeight,menu.outerHeight())-2; +menu._outerWidth(_3d1)._outerHeight(_3d2); +menu.children("div.menu-line")._outerHeight(_3d3); +_3d0+=";width:"+el.style.width+";height:"+el.style.height; +menu.attr("style",_3d0); +}; +function _3ce(_3d4,menu){ +var _3d5=$.data(_3d4,"menu"); +menu.unbind(".menu").bind("mouseenter.menu",function(){ +if(_3d5.timer){ +clearTimeout(_3d5.timer); +_3d5.timer=null; +} +}).bind("mouseleave.menu",function(){ +if(_3d5.options.hideOnUnhover){ +_3d5.timer=setTimeout(function(){ +_3d6(_3d4); +},_3d5.options.duration); +} +}); +}; +function _3cc(_3d7,item){ +if(!item.hasClass("menu-item")){ +return; +} +item.unbind(".menu"); +item.bind("click.menu",function(){ +if($(this).hasClass("menu-item-disabled")){ +return; +} +if(!this.submenu){ +_3d6(_3d7); +var href=this.itemHref; +if(href){ +location.href=href; +} +} +var item=$(_3d7).menu("getItem",this); +$.data(_3d7,"menu").options.onClick.call(_3d7,item); +}).bind("mouseenter.menu",function(e){ +item.siblings().each(function(){ +if(this.submenu){ +_3da(this.submenu); +} +$(this).removeClass("menu-active"); +}); +item.addClass("menu-active"); +if($(this).hasClass("menu-item-disabled")){ +item.addClass("menu-active-disabled"); +return; +} +var _3d8=item[0].submenu; +if(_3d8){ +$(_3d7).menu("show",{menu:_3d8,parent:item}); +} +}).bind("mouseleave.menu",function(e){ +item.removeClass("menu-active menu-active-disabled"); +var _3d9=item[0].submenu; +if(_3d9){ +if(e.pageX>=parseInt(_3d9.css("left"))){ +item.addClass("menu-active"); +}else{ +_3da(_3d9); +} +}else{ +item.removeClass("menu-active"); +} +}); +}; +function _3d6(_3db){ +var _3dc=$.data(_3db,"menu"); +if(_3dc){ +if($(_3db).is(":visible")){ +_3da($(_3db)); +_3dc.options.onHide.call(_3db); +} +} +return false; +}; +function _3dd(_3de,_3df){ +var left,top; +_3df=_3df||{}; +var menu=$(_3df.menu||_3de); +$(_3de).menu("resize",menu[0]); +if(menu.hasClass("menu-top")){ +var opts=$.data(_3de,"menu").options; +$.extend(opts,_3df); +left=opts.left; +top=opts.top; +if(opts.alignTo){ +var at=$(opts.alignTo); +left=at.offset().left; +top=at.offset().top+at._outerHeight(); +if(opts.align=="right"){ +left+=at.outerWidth()-menu.outerWidth(); +} +} +if(left+menu.outerWidth()>$(window)._outerWidth()+$(document)._scrollLeft()){ +left=$(window)._outerWidth()+$(document).scrollLeft()-menu.outerWidth()-5; +} +if(left<0){ +left=0; +} +top=_3e0(top,opts.alignTo); +}else{ +var _3e1=_3df.parent; +left=_3e1.offset().left+_3e1.outerWidth()-2; +if(left+menu.outerWidth()+5>$(window)._outerWidth()+$(document).scrollLeft()){ +left=_3e1.offset().left-menu.outerWidth()+2; +} +top=_3e0(_3e1.offset().top-3); +} +function _3e0(top,_3e2){ +if(top+menu.outerHeight()>$(window)._outerHeight()+$(document).scrollTop()){ +if(_3e2){ +top=$(_3e2).offset().top-menu._outerHeight(); +}else{ +top=$(window)._outerHeight()+$(document).scrollTop()-menu.outerHeight(); +} +} +if(top<0){ +top=0; +} +return top; +}; +menu.css({left:left,top:top}); +menu.show(0,function(){ +if(!menu[0].shadow){ +menu[0].shadow=$("
                                        ").insertAfter(menu); +} +menu[0].shadow.css({display:"block",zIndex:$.fn.menu.defaults.zIndex++,left:menu.css("left"),top:menu.css("top"),width:menu.outerWidth(),height:menu.outerHeight()}); +menu.css("z-index",$.fn.menu.defaults.zIndex++); +if(menu.hasClass("menu-top")){ +$.data(menu[0],"menu").options.onShow.call(menu[0]); +} +}); +}; +function _3da(menu){ +if(!menu){ +return; +} +_3e3(menu); +menu.find("div.menu-item").each(function(){ +if(this.submenu){ +_3da(this.submenu); +} +$(this).removeClass("menu-active"); +}); +function _3e3(m){ +m.stop(true,true); +if(m[0].shadow){ +m[0].shadow.hide(); +} +m.hide(); +}; +}; +function _3e4(_3e5,text){ +var _3e6=null; +var tmp=$("
                                        "); +function find(menu){ +menu.children("div.menu-item").each(function(){ +var item=$(_3e5).menu("getItem",this); +var s=tmp.empty().html(item.text).text(); +if(text==$.trim(s)){ +_3e6=item; +}else{ +if(this.submenu&&!_3e6){ +find(this.submenu); +} +} +}); +}; +find($(_3e5)); +tmp.remove(); +return _3e6; +}; +function _3cb(_3e7,_3e8,_3e9){ +var t=$(_3e8); +if(!t.hasClass("menu-item")){ +return; +} +if(_3e9){ +t.addClass("menu-item-disabled"); +if(_3e8.onclick){ +_3e8.onclick1=_3e8.onclick; +_3e8.onclick=null; +} +}else{ +t.removeClass("menu-item-disabled"); +if(_3e8.onclick1){ +_3e8.onclick=_3e8.onclick1; +_3e8.onclick1=null; +} +} +}; +function _3ea(_3eb,_3ec){ +var menu=$(_3eb); +if(_3ec.parent){ +if(!_3ec.parent.submenu){ +var _3ed=$("
                                        ").appendTo("body"); +_3ed.hide(); +_3ec.parent.submenu=_3ed; +$("
                                        ").appendTo(_3ec.parent); +} +menu=_3ec.parent.submenu; +} +if(_3ec.separator){ +var item=$("
                                        ").appendTo(menu); +}else{ +var item=$("
                                        ").appendTo(menu); +$("
                                        ").html(_3ec.text).appendTo(item); +} +if(_3ec.iconCls){ +$("
                                        ").addClass(_3ec.iconCls).appendTo(item); +} +if(_3ec.id){ +item.attr("id",_3ec.id); +} +if(_3ec.name){ +item[0].itemName=_3ec.name; +} +if(_3ec.href){ +item[0].itemHref=_3ec.href; +} +if(_3ec.onclick){ +if(typeof _3ec.onclick=="string"){ +item.attr("onclick",_3ec.onclick); +}else{ +item[0].onclick=eval(_3ec.onclick); +} +} +if(_3ec.handler){ +item[0].onclick=eval(_3ec.handler); +} +if(_3ec.disabled){ +_3cb(_3eb,item[0],true); +} +_3cc(_3eb,item); +_3ce(_3eb,menu); +_3cd(_3eb,menu); +}; +function _3ee(_3ef,_3f0){ +function _3f1(el){ +if(el.submenu){ +el.submenu.children("div.menu-item").each(function(){ +_3f1(this); +}); +var _3f2=el.submenu[0].shadow; +if(_3f2){ +_3f2.remove(); +} +el.submenu.remove(); +} +$(el).remove(); +}; +var menu=$(_3f0).parent(); +_3f1(_3f0); +_3cd(_3ef,menu); +}; +function _3f3(_3f4,_3f5,_3f6){ +var menu=$(_3f5).parent(); +if(_3f6){ +$(_3f5).show(); +}else{ +$(_3f5).hide(); +} +_3cd(_3f4,menu); +}; +function _3f7(_3f8){ +$(_3f8).children("div.menu-item").each(function(){ +_3ee(_3f8,this); +}); +if(_3f8.shadow){ +_3f8.shadow.remove(); +} +$(_3f8).remove(); +}; +$.fn.menu=function(_3f9,_3fa){ +if(typeof _3f9=="string"){ +return $.fn.menu.methods[_3f9](this,_3fa); +} +_3f9=_3f9||{}; +return this.each(function(){ +var _3fb=$.data(this,"menu"); +if(_3fb){ +$.extend(_3fb.options,_3f9); +}else{ +_3fb=$.data(this,"menu",{options:$.extend({},$.fn.menu.defaults,$.fn.menu.parseOptions(this),_3f9)}); +init(this); +} +$(this).css({left:_3fb.options.left,top:_3fb.options.top}); +}); +}; +$.fn.menu.methods={options:function(jq){ +return $.data(jq[0],"menu").options; +},show:function(jq,pos){ +return jq.each(function(){ +_3dd(this,pos); +}); +},hide:function(jq){ +return jq.each(function(){ +_3d6(this); +}); +},destroy:function(jq){ +return jq.each(function(){ +_3f7(this); +}); +},setText:function(jq,_3fc){ +return jq.each(function(){ +$(_3fc.target).children("div.menu-text").html(_3fc.text); +}); +},setIcon:function(jq,_3fd){ +return jq.each(function(){ +$(_3fd.target).children("div.menu-icon").remove(); +if(_3fd.iconCls){ +$("
                                        ").addClass(_3fd.iconCls).appendTo(_3fd.target); +} +}); +},getItem:function(jq,_3fe){ +var t=$(_3fe); +var item={target:_3fe,id:t.attr("id"),text:$.trim(t.children("div.menu-text").html()),disabled:t.hasClass("menu-item-disabled"),name:_3fe.itemName,href:_3fe.itemHref,onclick:_3fe.onclick}; +var icon=t.children("div.menu-icon"); +if(icon.length){ +var cc=[]; +var aa=icon.attr("class").split(" "); +for(var i=0;i").addClass(opts.cls.arrow).appendTo(_408); +$("").addClass("m-btn-line").appendTo(_408); +if(opts.menu){ +$(opts.menu).menu({duration:opts.duration}); +var _409=$(opts.menu).menu("options"); +var _40a=_409.onShow; +var _40b=_409.onHide; +$.extend(_409,{onShow:function(){ +var _40c=$(this).menu("options"); +var btn=$(_40c.alignTo); +var opts=btn.menubutton("options"); +btn.addClass((opts.plain==true)?opts.cls.btn2:opts.cls.btn1); +_40a.call(this); +},onHide:function(){ +var _40d=$(this).menu("options"); +var btn=$(_40d.alignTo); +var opts=btn.menubutton("options"); +btn.removeClass((opts.plain==true)?opts.cls.btn2:opts.cls.btn1); +_40b.call(this); +}}); +} +}; +function _40e(_40f){ +var opts=$.data(_40f,"menubutton").options; +var btn=$(_40f); +var t=btn.find("."+opts.cls.trigger); +if(!t.length){ +t=btn; +} +t.unbind(".menubutton"); +var _410=null; +t.bind("click.menubutton",function(){ +if(!_411()){ +_412(_40f); +return false; +} +}).bind("mouseenter.menubutton",function(){ +if(!_411()){ +_410=setTimeout(function(){ +_412(_40f); +},opts.duration); +return false; +} +}).bind("mouseleave.menubutton",function(){ +if(_410){ +clearTimeout(_410); +} +$(opts.menu).triggerHandler("mouseleave"); +}); +function _411(){ +return $(_40f).linkbutton("options").disabled; +}; +}; +function _412(_413){ +var opts=$(_413).menubutton("options"); +if(opts.disabled||!opts.menu){ +return; +} +$("body>div.menu-top").menu("hide"); +var btn=$(_413); +var mm=$(opts.menu); +if(mm.length){ +mm.menu("options").alignTo=btn; +mm.menu("show",{alignTo:btn,align:opts.menuAlign}); +} +btn.blur(); +}; +$.fn.menubutton=function(_414,_415){ +if(typeof _414=="string"){ +var _416=$.fn.menubutton.methods[_414]; +if(_416){ +return _416(this,_415); +}else{ +return this.linkbutton(_414,_415); +} +} +_414=_414||{}; +return this.each(function(){ +var _417=$.data(this,"menubutton"); +if(_417){ +$.extend(_417.options,_414); +}else{ +$.data(this,"menubutton",{options:$.extend({},$.fn.menubutton.defaults,$.fn.menubutton.parseOptions(this),_414)}); +$(this).removeAttr("disabled"); +} +init(this); +_40e(this); +}); +}; +$.fn.menubutton.methods={options:function(jq){ +var _418=jq.linkbutton("options"); +return $.extend($.data(jq[0],"menubutton").options,{toggle:_418.toggle,selected:_418.selected,disabled:_418.disabled}); +},destroy:function(jq){ +return jq.each(function(){ +var opts=$(this).menubutton("options"); +if(opts.menu){ +$(opts.menu).menu("destroy"); +} +$(this).remove(); +}); +}}; +$.fn.menubutton.parseOptions=function(_419){ +var t=$(_419); +return $.extend({},$.fn.linkbutton.parseOptions(_419),$.parser.parseOptions(_419,["menu",{plain:"boolean",duration:"number"}])); +}; +$.fn.menubutton.defaults=$.extend({},$.fn.linkbutton.defaults,{plain:true,menu:null,menuAlign:"left",duration:100,cls:{btn1:"m-btn-active",btn2:"m-btn-plain-active",arrow:"m-btn-downarrow",trigger:"m-btn"}}); +})(jQuery); +(function($){ +function init(_41a){ +var opts=$.data(_41a,"splitbutton").options; +$(_41a).menubutton(opts); +$(_41a).addClass("s-btn"); +}; +$.fn.splitbutton=function(_41b,_41c){ +if(typeof _41b=="string"){ +var _41d=$.fn.splitbutton.methods[_41b]; +if(_41d){ +return _41d(this,_41c); +}else{ +return this.menubutton(_41b,_41c); +} +} +_41b=_41b||{}; +return this.each(function(){ +var _41e=$.data(this,"splitbutton"); +if(_41e){ +$.extend(_41e.options,_41b); +}else{ +$.data(this,"splitbutton",{options:$.extend({},$.fn.splitbutton.defaults,$.fn.splitbutton.parseOptions(this),_41b)}); +$(this).removeAttr("disabled"); +} +init(this); +}); +}; +$.fn.splitbutton.methods={options:function(jq){ +var _41f=jq.menubutton("options"); +var _420=$.data(jq[0],"splitbutton").options; +$.extend(_420,{disabled:_41f.disabled,toggle:_41f.toggle,selected:_41f.selected}); +return _420; +}}; +$.fn.splitbutton.parseOptions=function(_421){ +var t=$(_421); +return $.extend({},$.fn.linkbutton.parseOptions(_421),$.parser.parseOptions(_421,["menu",{plain:"boolean",duration:"number"}])); +}; +$.fn.splitbutton.defaults=$.extend({},$.fn.linkbutton.defaults,{plain:true,menu:null,duration:100,cls:{btn1:"m-btn-active s-btn-active",btn2:"m-btn-plain-active s-btn-plain-active",arrow:"m-btn-downarrow",trigger:"m-btn-line"}}); +})(jQuery); +(function($){ +function init(_422){ +$(_422).addClass("validatebox-text"); +}; +function _423(_424){ +var _425=$.data(_424,"validatebox"); +_425.validating=false; +if(_425.timer){ +clearTimeout(_425.timer); +} +$(_424).tooltip("destroy"); +$(_424).unbind(); +$(_424).remove(); +}; +function _426(_427){ +var opts=$.data(_427,"validatebox").options; +var box=$(_427); +box.unbind(".validatebox"); +if(opts.novalidate||box.is(":disabled")){ +return; +} +for(var _428 in opts.events){ +$(_427).bind(_428+".validatebox",{target:_427},opts.events[_428]); +} +}; +function _429(e){ +var _42a=e.data.target; +var _42b=$.data(_42a,"validatebox"); +var box=$(_42a); +if($(_42a).attr("readonly")){ +return; +} +_42b.validating=true; +_42b.value=undefined; +(function(){ +if(_42b.validating){ +if(_42b.value!=box.val()){ +_42b.value=box.val(); +if(_42b.timer){ +clearTimeout(_42b.timer); +} +_42b.timer=setTimeout(function(){ +$(_42a).validatebox("validate"); +},_42b.options.delay); +}else{ +_42c(_42a); +} +setTimeout(arguments.callee,200); +} +})(); +}; +function _42d(e){ +var _42e=e.data.target; +var _42f=$.data(_42e,"validatebox"); +if(_42f.timer){ +clearTimeout(_42f.timer); +_42f.timer=undefined; +} +_42f.validating=false; +_430(_42e); +}; +function _431(e){ +var _432=e.data.target; +if($(_432).hasClass("validatebox-invalid")){ +_433(_432); +} +}; +function _434(e){ +var _435=e.data.target; +var _436=$.data(_435,"validatebox"); +if(!_436.validating){ +_430(_435); +} +}; +function _433(_437){ +var _438=$.data(_437,"validatebox"); +var opts=_438.options; +$(_437).tooltip($.extend({},opts.tipOptions,{content:_438.message,position:opts.tipPosition,deltaX:opts.deltaX})).tooltip("show"); +_438.tip=true; +}; +function _42c(_439){ +var _43a=$.data(_439,"validatebox"); +if(_43a&&_43a.tip){ +$(_439).tooltip("reposition"); +} +}; +function _430(_43b){ +var _43c=$.data(_43b,"validatebox"); +_43c.tip=false; +$(_43b).tooltip("hide"); +}; +function _43d(_43e){ +var _43f=$.data(_43e,"validatebox"); +var opts=_43f.options; +var box=$(_43e); +opts.onBeforeValidate.call(_43e); +var _440=_441(); +opts.onValidate.call(_43e,_440); +return _440; +function _442(msg){ +_43f.message=msg; +}; +function _443(_444,_445){ +var _446=box.val(); +var _447=/([a-zA-Z_]+)(.*)/.exec(_444); +var rule=opts.rules[_447[1]]; +if(rule&&_446){ +var _448=_445||opts.validParams||eval(_447[2]); +if(!rule["validator"].call(_43e,_446,_448)){ +box.addClass("validatebox-invalid"); +var _449=rule["message"]; +if(_448){ +for(var i=0;i<_448.length;i++){ +_449=_449.replace(new RegExp("\\{"+i+"\\}","g"),_448[i]); +} +} +_442(opts.invalidMessage||_449); +if(_43f.validating){ +_433(_43e); +} +return false; +} +} +return true; +}; +function _441(){ +box.removeClass("validatebox-invalid"); +_430(_43e); +if(opts.novalidate||box.is(":disabled")){ +return true; +} +if(opts.required){ +if(box.val()==""){ +box.addClass("validatebox-invalid"); +_442(opts.missingMessage); +if(_43f.validating){ +_433(_43e); +} +return false; +} +} +if(opts.validType){ +if($.isArray(opts.validType)){ +for(var i=0;i=_456[0]&&len<=_456[1]; +},message:"Please enter a value between {0} and {1}."},remote:{validator:function(_457,_458){ +var data={}; +data[_458[1]]=_457; +var _459=$.ajax({url:_458[0],dataType:"json",data:data,async:false,cache:false,type:"post"}).responseText; +return _459=="true"; +},message:"Please fix this field."}},onBeforeValidate:function(){ +},onValidate:function(_45a){ +}}; +})(jQuery); +(function($){ +function init(_45b){ +$(_45b).addClass("textbox-f").hide(); +var span=$(""+""+""+"").insertAfter(_45b); +var name=$(_45b).attr("name"); +if(name){ +span.find("input.textbox-value").attr("name",name); +$(_45b).removeAttr("name").attr("textboxName",name); +} +return span; +}; +function _45c(_45d){ +var _45e=$.data(_45d,"textbox"); +var opts=_45e.options; +var tb=_45e.textbox; +tb.find(".textbox-text").remove(); +if(opts.multiline){ +$("").prependTo(tb); +}else{ +$("").prependTo(tb); +} +tb.find(".textbox-addon").remove(); +var bb=opts.icons?$.extend(true,[],opts.icons):[]; +if(opts.iconCls){ +bb.push({iconCls:opts.iconCls,disabled:true}); +} +if(bb.length){ +var bc=$("").prependTo(tb); +bc.addClass("textbox-addon-"+opts.iconAlign); +for(var i=0;i"); +} +} +tb.find(".textbox-button").remove(); +if(opts.buttonText||opts.buttonIcon){ +var btn=$("").prependTo(tb); +btn.addClass("textbox-button-"+opts.buttonAlign).linkbutton({text:opts.buttonText,iconCls:opts.buttonIcon}); +} +_45f(_45d,opts.disabled); +_460(_45d,opts.readonly); +}; +function _461(_462){ +var tb=$.data(_462,"textbox").textbox; +tb.find(".textbox-text").validatebox("destroy"); +tb.remove(); +$(_462).remove(); +}; +function _463(_464,_465){ +var _466=$.data(_464,"textbox"); +var opts=_466.options; +var tb=_466.textbox; +var _467=tb.parent(); +if(_465){ +opts.width=_465; +} +if(isNaN(parseInt(opts.width))){ +var c=$(_464).clone(); +c.css("visibility","hidden"); +c.insertAfter(_464); +opts.width=c.outerWidth(); +c.remove(); +} +tb.appendTo("body"); +var _468=tb.find(".textbox-text"); +var btn=tb.find(".textbox-button"); +var _469=tb.find(".textbox-addon"); +var _46a=_469.find(".textbox-icon"); +tb._size(opts,_467); +btn.linkbutton("resize",{height:tb.height()}); +btn.css({left:(opts.buttonAlign=="left"?0:""),right:(opts.buttonAlign=="right"?0:"")}); +_469.css({left:(opts.iconAlign=="left"?(opts.buttonAlign=="left"?btn._outerWidth():0):""),right:(opts.iconAlign=="right"?(opts.buttonAlign=="right"?btn._outerWidth():0):"")}); +_46a.css({width:opts.iconWidth+"px",height:tb.height()+"px"}); +_468.css({paddingLeft:(_464.style.paddingLeft||""),paddingRight:(_464.style.paddingRight||""),marginLeft:_46b("left"),marginRight:_46b("right")}); +if(opts.multiline){ +_468.css({paddingTop:(_464.style.paddingTop||""),paddingBottom:(_464.style.paddingBottom||"")}); +_468._outerHeight(tb.height()); +}else{ +var _46c=Math.floor((tb.height()-_468.height())/2); +_468.css({paddingTop:_46c+"px",paddingBottom:_46c+"px"}); +} +_468._outerWidth(tb.width()-_46a.length*opts.iconWidth-btn._outerWidth()); +tb.insertAfter(_464); +opts.onResize.call(_464,opts.width,opts.height); +function _46b(_46d){ +return (opts.iconAlign==_46d?_469._outerWidth():0)+(opts.buttonAlign==_46d?btn._outerWidth():0); +}; +}; +function _46e(_46f){ +var opts=$(_46f).textbox("options"); +var _470=$(_46f).textbox("textbox"); +_470.validatebox($.extend({},opts,{deltaX:$(_46f).textbox("getTipX"),onBeforeValidate:function(){ +var box=$(this); +if(!box.is(":focus")){ +opts.oldInputValue=box.val(); +box.val(opts.value); +} +},onValidate:function(_471){ +var box=$(this); +if(opts.oldInputValue!=undefined){ +box.val(opts.oldInputValue); +opts.oldInputValue=undefined; +} +var tb=box.parent(); +if(_471){ +tb.removeClass("textbox-invalid"); +}else{ +tb.addClass("textbox-invalid"); +} +}})); +}; +function _472(_473){ +var _474=$.data(_473,"textbox"); +var opts=_474.options; +var tb=_474.textbox; +var _475=tb.find(".textbox-text"); +_475.attr("placeholder",opts.prompt); +_475.unbind(".textbox"); +if(!opts.disabled&&!opts.readonly){ +_475.bind("blur.textbox",function(e){ +if(!tb.hasClass("textbox-focused")){ +return; +} +opts.value=$(this).val(); +if(opts.value==""){ +$(this).val(opts.prompt).addClass("textbox-prompt"); +}else{ +$(this).removeClass("textbox-prompt"); +} +tb.removeClass("textbox-focused"); +}).bind("focus.textbox",function(e){ +if(tb.hasClass("textbox-focused")){ +return; +} +if($(this).val()!=opts.value){ +$(this).val(opts.value); +} +$(this).removeClass("textbox-prompt"); +tb.addClass("textbox-focused"); +}); +for(var _476 in opts.inputEvents){ +_475.bind(_476+".textbox",{target:_473},opts.inputEvents[_476]); +} +} +var _477=tb.find(".textbox-addon"); +_477.unbind().bind("click",{target:_473},function(e){ +var icon=$(e.target).closest("a.textbox-icon:not(.textbox-icon-disabled)"); +if(icon.length){ +var _478=parseInt(icon.attr("icon-index")); +var conf=opts.icons[_478]; +if(conf&&conf.handler){ +conf.handler.call(icon[0],e); +opts.onClickIcon.call(_473,_478); +} +} +}); +_477.find(".textbox-icon").each(function(_479){ +var conf=opts.icons[_479]; +var icon=$(this); +if(!conf||conf.disabled||opts.disabled||opts.readonly){ +icon.addClass("textbox-icon-disabled"); +}else{ +icon.removeClass("textbox-icon-disabled"); +} +}); +var btn=tb.find(".textbox-button"); +btn.unbind(".textbox").bind("click.textbox",function(){ +if(!btn.linkbutton("options").disabled){ +opts.onClickButton.call(_473); +} +}); +btn.linkbutton((opts.disabled||opts.readonly)?"disable":"enable"); +tb.unbind(".textbox").bind("_resize.textbox",function(e,_47a){ +if($(this).hasClass("easyui-fluid")||_47a){ +_463(_473); +} +return false; +}); +}; +function _45f(_47b,_47c){ +var _47d=$.data(_47b,"textbox"); +var opts=_47d.options; +var tb=_47d.textbox; +if(_47c){ +opts.disabled=true; +$(_47b).attr("disabled","disabled"); +tb.find(".textbox-text,.textbox-value").attr("disabled","disabled"); +}else{ +opts.disabled=false; +$(_47b).removeAttr("disabled"); +tb.find(".textbox-text,.textbox-value").removeAttr("disabled"); +} +}; +function _460(_47e,mode){ +var _47f=$.data(_47e,"textbox"); +var opts=_47f.options; +opts.readonly=mode==undefined?true:mode; +var _480=_47f.textbox.find(".textbox-text"); +_480.removeAttr("readonly").removeClass("textbox-text-readonly"); +if(opts.readonly||!opts.editable){ +_480.attr("readonly","readonly").addClass("textbox-text-readonly"); +} +}; +$.fn.textbox=function(_481,_482){ +if(typeof _481=="string"){ +var _483=$.fn.textbox.methods[_481]; +if(_483){ +return _483(this,_482); +}else{ +return this.each(function(){ +var _484=$(this).textbox("textbox"); +_484.validatebox(_481,_482); +}); +} +} +_481=_481||{}; +return this.each(function(){ +var _485=$.data(this,"textbox"); +if(_485){ +$.extend(_485.options,_481); +if(_481.value!=undefined){ +_485.options.originalValue=_481.value; +} +}else{ +_485=$.data(this,"textbox",{options:$.extend({},$.fn.textbox.defaults,$.fn.textbox.parseOptions(this),_481),textbox:init(this)}); +_485.options.originalValue=_485.options.value; +} +_45c(this); +_472(this); +_463(this); +_46e(this); +$(this).textbox("initValue",_485.options.value); +}); +}; +$.fn.textbox.methods={options:function(jq){ +return $.data(jq[0],"textbox").options; +},cloneFrom:function(jq,from){ +return jq.each(function(){ +var t=$(this); +if(t.data("textbox")){ +return; +} +if(!$(from).data("textbox")){ +$(from).textbox(); +} +var name=t.attr("name")||""; +t.addClass("textbox-f").hide(); +t.removeAttr("name").attr("textboxName",name); +var span=$(from).next().clone().insertAfter(t); +span.find("input.textbox-value").attr("name",name); +$.data(this,"textbox",{options:$.extend(true,{},$(from).textbox("options")),textbox:span}); +var _486=$(from).textbox("button"); +if(_486.length){ +t.textbox("button").linkbutton($.extend(true,{},_486.linkbutton("options"))); +} +_472(this); +_46e(this); +}); +},textbox:function(jq){ +return $.data(jq[0],"textbox").textbox.find(".textbox-text"); +},button:function(jq){ +return $.data(jq[0],"textbox").textbox.find(".textbox-button"); +},destroy:function(jq){ +return jq.each(function(){ +_461(this); +}); +},resize:function(jq,_487){ +return jq.each(function(){ +_463(this,_487); +}); +},disable:function(jq){ +return jq.each(function(){ +_45f(this,true); +_472(this); +}); +},enable:function(jq){ +return jq.each(function(){ +_45f(this,false); +_472(this); +}); +},readonly:function(jq,mode){ +return jq.each(function(){ +_460(this,mode); +_472(this); +}); +},isValid:function(jq){ +return jq.textbox("textbox").validatebox("isValid"); +},clear:function(jq){ +return jq.each(function(){ +$(this).textbox("setValue",""); +}); +},setText:function(jq,_488){ +return jq.each(function(){ +var opts=$(this).textbox("options"); +var _489=$(this).textbox("textbox"); +if($(this).textbox("getText")!=_488){ +opts.value=_488; +_489.val(_488); +} +if(!_489.is(":focus")){ +if(_488){ +_489.removeClass("textbox-prompt"); +}else{ +_489.val(opts.prompt).addClass("textbox-prompt"); +} +} +$(this).textbox("validate"); +}); +},initValue:function(jq,_48a){ +return jq.each(function(){ +var _48b=$.data(this,"textbox"); +_48b.options.value=""; +$(this).textbox("setText",_48a); +_48b.textbox.find(".textbox-value").val(_48a); +$(this).val(_48a); +}); +},setValue:function(jq,_48c){ +return jq.each(function(){ +var opts=$.data(this,"textbox").options; +var _48d=$(this).textbox("getValue"); +$(this).textbox("initValue",_48c); +if(_48d!=_48c){ +opts.onChange.call(this,_48c,_48d); +} +}); +},getText:function(jq){ +var _48e=jq.textbox("textbox"); +if(_48e.is(":focus")){ +return _48e.val(); +}else{ +return jq.textbox("options").value; +} +},getValue:function(jq){ +return jq.data("textbox").textbox.find(".textbox-value").val(); +},reset:function(jq){ +return jq.each(function(){ +var opts=$(this).textbox("options"); +$(this).textbox("setValue",opts.originalValue); +}); +},getIcon:function(jq,_48f){ +return jq.data("textbox").textbox.find(".textbox-icon:eq("+_48f+")"); +},getTipX:function(jq){ +var _490=jq.data("textbox"); +var opts=_490.options; +var tb=_490.textbox; +var _491=tb.find(".textbox-text"); +var _492=tb.find(".textbox-addon")._outerWidth(); +var _493=tb.find(".textbox-button")._outerWidth(); +if(opts.tipPosition=="right"){ +return (opts.iconAlign=="right"?_492:0)+(opts.buttonAlign=="right"?_493:0)+1; +}else{ +if(opts.tipPosition=="left"){ +return (opts.iconAlign=="left"?-_492:0)+(opts.buttonAlign=="left"?-_493:0)-1; +}else{ +return _492/2*(opts.iconAlign=="right"?1:-1); +} +} +}}; +$.fn.textbox.parseOptions=function(_494){ +var t=$(_494); +return $.extend({},$.fn.validatebox.parseOptions(_494),$.parser.parseOptions(_494,["prompt","iconCls","iconAlign","buttonText","buttonIcon","buttonAlign",{multiline:"boolean",editable:"boolean",iconWidth:"number"}]),{value:(t.val()||undefined),type:(t.attr("type")?t.attr("type"):undefined),disabled:(t.attr("disabled")?true:undefined),readonly:(t.attr("readonly")?true:undefined)}); +}; +$.fn.textbox.defaults=$.extend({},$.fn.validatebox.defaults,{width:"auto",height:22,prompt:"",value:"",type:"text",multiline:false,editable:true,disabled:false,readonly:false,icons:[],iconCls:null,iconAlign:"right",iconWidth:18,buttonText:"",buttonIcon:null,buttonAlign:"right",inputEvents:{blur:function(e){ +var t=$(e.data.target); +var opts=t.textbox("options"); +t.textbox("setValue",opts.value); +},keydown:function(e){ +if(e.keyCode==13){ +var t=$(e.data.target); +t.textbox("setValue",t.textbox("getText")); +} +}},onChange:function(_495,_496){ +},onResize:function(_497,_498){ +},onClickButton:function(){ +},onClickIcon:function(_499){ +}}); +})(jQuery); +(function($){ +var _49a=0; +function _49b(_49c){ +var _49d=$.data(_49c,"filebox"); +var opts=_49d.options; +var id="filebox_file_id_"+(++_49a); +$(_49c).addClass("filebox-f").textbox($.extend({},opts,{buttonText:opts.buttonText?(""):""})); +$(_49c).textbox("textbox").attr("readonly","readonly"); +_49d.filebox=$(_49c).next().addClass("filebox"); +_49d.filebox.find(".textbox-value").remove(); +opts.oldValue=""; +var file=$("").appendTo(_49d.filebox); +file.attr("id",id).attr("name",$(_49c).attr("textboxName")||""); +file.change(function(){ +$(_49c).filebox("setText",this.value); +opts.onChange.call(_49c,this.value,opts.oldValue); +opts.oldValue=this.value; +}); +var btn=$(_49c).filebox("button"); +if(btn.length){ +if(btn.linkbutton("options").disabled){ +file.attr("disabled","disabled"); +}else{ +file.removeAttr("disabled"); +} +} +}; +$.fn.filebox=function(_49e,_49f){ +if(typeof _49e=="string"){ +var _4a0=$.fn.filebox.methods[_49e]; +if(_4a0){ +return _4a0(this,_49f); +}else{ +return this.textbox(_49e,_49f); +} +} +_49e=_49e||{}; +return this.each(function(){ +var _4a1=$.data(this,"filebox"); +if(_4a1){ +$.extend(_4a1.options,_49e); +}else{ +$.data(this,"filebox",{options:$.extend({},$.fn.filebox.defaults,$.fn.filebox.parseOptions(this),_49e)}); +} +_49b(this); +}); +}; +$.fn.filebox.methods={options:function(jq){ +var opts=jq.textbox("options"); +return $.extend($.data(jq[0],"filebox").options,{width:opts.width,value:opts.value,originalValue:opts.originalValue,disabled:opts.disabled,readonly:opts.readonly}); +}}; +$.fn.filebox.parseOptions=function(_4a2){ +return $.extend({},$.fn.textbox.parseOptions(_4a2),{}); +}; +$.fn.filebox.defaults=$.extend({},$.fn.textbox.defaults,{buttonIcon:null,buttonText:"Choose File",buttonAlign:"right",inputEvents:{}}); +})(jQuery); +(function($){ +function _4a3(_4a4){ +var _4a5=$.data(_4a4,"searchbox"); +var opts=_4a5.options; +var _4a6=$.extend(true,[],opts.icons); +_4a6.push({iconCls:"searchbox-button",handler:function(e){ +var t=$(e.data.target); +var opts=t.searchbox("options"); +opts.searcher.call(e.data.target,t.searchbox("getValue"),t.searchbox("getName")); +}}); +_4a7(); +var _4a8=_4a9(); +$(_4a4).addClass("searchbox-f").textbox($.extend({},opts,{icons:_4a6,buttonText:(_4a8?_4a8.text:"")})); +$(_4a4).attr("searchboxName",$(_4a4).attr("textboxName")); +_4a5.searchbox=$(_4a4).next(); +_4a5.searchbox.addClass("searchbox"); +_4aa(_4a8); +function _4a7(){ +if(opts.menu){ +_4a5.menu=$(opts.menu).menu(); +var _4ab=_4a5.menu.menu("options"); +var _4ac=_4ab.onClick; +_4ab.onClick=function(item){ +_4aa(item); +_4ac.call(this,item); +}; +}else{ +if(_4a5.menu){ +_4a5.menu.menu("destroy"); +} +_4a5.menu=null; +} +}; +function _4a9(){ +if(_4a5.menu){ +var item=_4a5.menu.children("div.menu-item:first"); +_4a5.menu.children("div.menu-item").each(function(){ +var _4ad=$.extend({},$.parser.parseOptions(this),{selected:($(this).attr("selected")?true:undefined)}); +if(_4ad.selected){ +item=$(this); +return false; +} +}); +return _4a5.menu.menu("getItem",item[0]); +}else{ +return null; +} +}; +function _4aa(item){ +if(!item){ +return; +} +$(_4a4).textbox("button").menubutton({text:item.text,iconCls:(item.iconCls||null),menu:_4a5.menu,menuAlign:opts.buttonAlign,plain:false}); +_4a5.searchbox.find("input.textbox-value").attr("name",item.name||item.text); +$(_4a4).searchbox("resize"); +}; +}; +$.fn.searchbox=function(_4ae,_4af){ +if(typeof _4ae=="string"){ +var _4b0=$.fn.searchbox.methods[_4ae]; +if(_4b0){ +return _4b0(this,_4af); +}else{ +return this.textbox(_4ae,_4af); +} +} +_4ae=_4ae||{}; +return this.each(function(){ +var _4b1=$.data(this,"searchbox"); +if(_4b1){ +$.extend(_4b1.options,_4ae); +}else{ +$.data(this,"searchbox",{options:$.extend({},$.fn.searchbox.defaults,$.fn.searchbox.parseOptions(this),_4ae)}); +} +_4a3(this); +}); +}; +$.fn.searchbox.methods={options:function(jq){ +var opts=jq.textbox("options"); +return $.extend($.data(jq[0],"searchbox").options,{width:opts.width,value:opts.value,originalValue:opts.originalValue,disabled:opts.disabled,readonly:opts.readonly}); +},menu:function(jq){ +return $.data(jq[0],"searchbox").menu; +},getName:function(jq){ +return $.data(jq[0],"searchbox").searchbox.find("input.textbox-value").attr("name"); +},selectName:function(jq,name){ +return jq.each(function(){ +var menu=$.data(this,"searchbox").menu; +if(menu){ +menu.children("div.menu-item").each(function(){ +var item=menu.menu("getItem",this); +if(item.name==name){ +$(this).triggerHandler("click"); +return false; +} +}); +} +}); +},destroy:function(jq){ +return jq.each(function(){ +var menu=$(this).searchbox("menu"); +if(menu){ +menu.menu("destroy"); +} +$(this).textbox("destroy"); +}); +}}; +$.fn.searchbox.parseOptions=function(_4b2){ +var t=$(_4b2); +return $.extend({},$.fn.textbox.parseOptions(_4b2),$.parser.parseOptions(_4b2,["menu"]),{searcher:(t.attr("searcher")?eval(t.attr("searcher")):undefined)}); +}; +$.fn.searchbox.defaults=$.extend({},$.fn.textbox.defaults,{inputEvents:$.extend({},$.fn.textbox.defaults.inputEvents,{keydown:function(e){ +if(e.keyCode==13){ +e.preventDefault(); +var t=$(e.data.target); +var opts=t.searchbox("options"); +t.searchbox("setValue",$(this).val()); +opts.searcher.call(e.data.target,t.searchbox("getValue"),t.searchbox("getName")); +return false; +} +}}),buttonAlign:"left",menu:null,searcher:function(_4b3,name){ +}}); +})(jQuery); +(function($){ +function _4b4(_4b5,_4b6){ +var opts=$.data(_4b5,"form").options; +$.extend(opts,_4b6||{}); +var _4b7=$.extend({},opts.queryParams); +if(opts.onSubmit.call(_4b5,_4b7)==false){ +return; +} +$(_4b5).find(".textbox-text:focus").blur(); +var _4b8="easyui_frame_"+(new Date().getTime()); +var _4b9=$("").appendTo("body"); +_4b9.attr("src",window.ActiveXObject?"javascript:false":"about:blank"); +_4b9.css({position:"absolute",top:-1000,left:-1000}); +_4b9.bind("load",cb); +_4ba(_4b7); +function _4ba(_4bb){ +var form=$(_4b5); +if(opts.url){ +form.attr("action",opts.url); +} +var t=form.attr("target"),a=form.attr("action"); +form.attr("target",_4b8); +var _4bc=$(); +try{ +for(var n in _4bb){ +var _4bd=$("").val(_4bb[n]).appendTo(form); +_4bc=_4bc.add(_4bd); +} +_4be(); +form[0].submit(); +} +finally{ +form.attr("action",a); +t?form.attr("target",t):form.removeAttr("target"); +_4bc.remove(); +} +}; +function _4be(){ +var f=$("#"+_4b8); +if(!f.length){ +return; +} +try{ +var s=f.contents()[0].readyState; +if(s&&s.toLowerCase()=="uninitialized"){ +setTimeout(_4be,100); +} +} +catch(e){ +cb(); +} +}; +var _4bf=10; +function cb(){ +var f=$("#"+_4b8); +if(!f.length){ +return; +} +f.unbind(); +var data=""; +try{ +var body=f.contents().find("body"); +data=body.html(); +if(data==""){ +if(--_4bf){ +setTimeout(cb,100); +return; +} +} +var ta=body.find(">textarea"); +if(ta.length){ +data=ta.val(); +}else{ +var pre=body.find(">pre"); +if(pre.length){ +data=pre.html(); +} +} +} +catch(e){ +} +opts.success(data); +setTimeout(function(){ +f.unbind(); +f.remove(); +},100); +}; +}; +function load(_4c0,data){ +var opts=$.data(_4c0,"form").options; +if(typeof data=="string"){ +var _4c1={}; +if(opts.onBeforeLoad.call(_4c0,_4c1)==false){ +return; +} +$.ajax({url:data,data:_4c1,dataType:"json",success:function(data){ +_4c2(data); +},error:function(){ +opts.onLoadError.apply(_4c0,arguments); +}}); +}else{ +_4c2(data); +} +function _4c2(data){ +var form=$(_4c0); +for(var name in data){ +var val=data[name]; +var rr=_4c3(name,val); +if(!rr.length){ +var _4c4=_4c5(name,val); +if(!_4c4){ +$("input[name=\""+name+"\"]",form).val(val); +$("textarea[name=\""+name+"\"]",form).val(val); +$("select[name=\""+name+"\"]",form).val(val); +} +} +_4c6(name,val); +} +opts.onLoadSuccess.call(_4c0,data); +_4cd(_4c0); +}; +function _4c3(name,val){ +var rr=$(_4c0).find("input[name=\""+name+"\"][type=radio], input[name=\""+name+"\"][type=checkbox]"); +rr._propAttr("checked",false); +rr.each(function(){ +var f=$(this); +if(f.val()==String(val)||$.inArray(f.val(),$.isArray(val)?val:[val])>=0){ +f._propAttr("checked",true); +} +}); +return rr; +}; +function _4c5(name,val){ +var _4c7=0; +var pp=["textbox","numberbox","slider"]; +for(var i=0;i=48&&e.which<=57&&e.ctrlKey==false&&e.shiftKey==false)||e.which==0||e.which==8){ +return true; +}else{ +if(e.ctrlKey==true&&(e.which==99||e.which==118)){ +return true; +}else{ +return false; +} +} +} +} +},formatter:function(_4f6){ +if(!_4f6){ +return _4f6; +} +_4f6=_4f6+""; +var opts=$(this).numberbox("options"); +var s1=_4f6,s2=""; +var dpos=_4f6.indexOf("."); +if(dpos>=0){ +s1=_4f6.substring(0,dpos); +s2=_4f6.substring(dpos+1,_4f6.length); +} +if(opts.groupSeparator){ +var p=/(\d+)(\d{3})/; +while(p.test(s1)){ +s1=s1.replace(p,"$1"+opts.groupSeparator+"$2"); +} +} +if(s2){ +return opts.prefix+s1+opts.decimalSeparator+s2+opts.suffix; +}else{ +return opts.prefix+s1+opts.suffix; +} +},parser:function(s){ +s=s+""; +var opts=$(this).numberbox("options"); +if(parseFloat(s)!=s){ +if(opts.prefix){ +s=$.trim(s.replace(new RegExp("\\"+$.trim(opts.prefix),"g"),"")); +} +if(opts.suffix){ +s=$.trim(s.replace(new RegExp("\\"+$.trim(opts.suffix),"g"),"")); +} +if(opts.groupSeparator){ +s=$.trim(s.replace(new RegExp("\\"+opts.groupSeparator,"g"),"")); +} +if(opts.decimalSeparator){ +s=$.trim(s.replace(new RegExp("\\"+opts.decimalSeparator,"g"),".")); +} +s=s.replace(/\s/g,""); +} +var val=parseFloat(s).toFixed(opts.precision); +if(isNaN(val)){ +val=""; +}else{ +if(typeof (opts.min)=="number"&&valopts.max){ +val=opts.max.toFixed(opts.precision); +} +} +} +return val; +}}); +})(jQuery); +(function($){ +function _4f7(_4f8,_4f9){ +var opts=$.data(_4f8,"calendar").options; +var t=$(_4f8); +if(_4f9){ +$.extend(opts,{width:_4f9.width,height:_4f9.height}); +} +t._size(opts,t.parent()); +t.find(".calendar-body")._outerHeight(t.height()-t.find(".calendar-header")._outerHeight()); +if(t.find(".calendar-menu").is(":visible")){ +_4fa(_4f8); +} +}; +function init(_4fb){ +$(_4fb).addClass("calendar").html("
                                        "+"
                                        "+"
                                        "+"
                                        "+"
                                        "+"
                                        "+""+"
                                        "+"
                                        "+"
                                        "+"
                                        "+"
                                        "+""+""+""+"
                                        "+"
                                        "+"
                                        "+"
                                        "+"
                                        "); +$(_4fb).bind("_resize",function(e,_4fc){ +if($(this).hasClass("easyui-fluid")||_4fc){ +_4f7(_4fb); +} +return false; +}); +}; +function _4fd(_4fe){ +var opts=$.data(_4fe,"calendar").options; +var menu=$(_4fe).find(".calendar-menu"); +menu.find(".calendar-menu-year").unbind(".calendar").bind("keypress.calendar",function(e){ +if(e.keyCode==13){ +_4ff(true); +} +}); +$(_4fe).unbind(".calendar").bind("mouseover.calendar",function(e){ +var t=_500(e.target); +if(t.hasClass("calendar-nav")||t.hasClass("calendar-text")||(t.hasClass("calendar-day")&&!t.hasClass("calendar-disabled"))){ +t.addClass("calendar-nav-hover"); +} +}).bind("mouseout.calendar",function(e){ +var t=_500(e.target); +if(t.hasClass("calendar-nav")||t.hasClass("calendar-text")||(t.hasClass("calendar-day")&&!t.hasClass("calendar-disabled"))){ +t.removeClass("calendar-nav-hover"); +} +}).bind("click.calendar",function(e){ +var t=_500(e.target); +if(t.hasClass("calendar-menu-next")||t.hasClass("calendar-nextyear")){ +_501(1); +}else{ +if(t.hasClass("calendar-menu-prev")||t.hasClass("calendar-prevyear")){ +_501(-1); +}else{ +if(t.hasClass("calendar-menu-month")){ +menu.find(".calendar-selected").removeClass("calendar-selected"); +t.addClass("calendar-selected"); +_4ff(true); +}else{ +if(t.hasClass("calendar-prevmonth")){ +_502(-1); +}else{ +if(t.hasClass("calendar-nextmonth")){ +_502(1); +}else{ +if(t.hasClass("calendar-text")){ +if(menu.is(":visible")){ +menu.hide(); +}else{ +_4fa(_4fe); +} +}else{ +if(t.hasClass("calendar-day")){ +if(t.hasClass("calendar-disabled")){ +return; +} +var _503=opts.current; +t.closest("div.calendar-body").find(".calendar-selected").removeClass("calendar-selected"); +t.addClass("calendar-selected"); +var _504=t.attr("abbr").split(","); +var y=parseInt(_504[0]); +var m=parseInt(_504[1]); +var d=parseInt(_504[2]); +opts.current=new Date(y,m-1,d); +opts.onSelect.call(_4fe,opts.current); +if(!_503||_503.getTime()!=opts.current.getTime()){ +opts.onChange.call(_4fe,opts.current,_503); +} +if(opts.year!=y||opts.month!=m){ +opts.year=y; +opts.month=m; +show(_4fe); +} +} +} +} +} +} +} +} +}); +function _500(t){ +var day=$(t).closest(".calendar-day"); +if(day.length){ +return day; +}else{ +return $(t); +} +}; +function _4ff(_505){ +var menu=$(_4fe).find(".calendar-menu"); +var year=menu.find(".calendar-menu-year").val(); +var _506=menu.find(".calendar-selected").attr("abbr"); +if(!isNaN(year)){ +opts.year=parseInt(year); +opts.month=parseInt(_506); +show(_4fe); +} +if(_505){ +menu.hide(); +} +}; +function _501(_507){ +opts.year+=_507; +show(_4fe); +menu.find(".calendar-menu-year").val(opts.year); +}; +function _502(_508){ +opts.month+=_508; +if(opts.month>12){ +opts.year++; +opts.month=1; +}else{ +if(opts.month<1){ +opts.year--; +opts.month=12; +} +} +show(_4fe); +menu.find("td.calendar-selected").removeClass("calendar-selected"); +menu.find("td:eq("+(opts.month-1)+")").addClass("calendar-selected"); +}; +}; +function _4fa(_509){ +var opts=$.data(_509,"calendar").options; +$(_509).find(".calendar-menu").show(); +if($(_509).find(".calendar-menu-month-inner").is(":empty")){ +$(_509).find(".calendar-menu-month-inner").empty(); +var t=$("
                                        ").appendTo($(_509).find(".calendar-menu-month-inner")); +var idx=0; +for(var i=0;i<3;i++){ +var tr=$("").appendTo(t); +for(var j=0;j<4;j++){ +$("").html(opts.months[idx++]).attr("abbr",idx).appendTo(tr); +} +} +} +var body=$(_509).find(".calendar-body"); +var sele=$(_509).find(".calendar-menu"); +var _50a=sele.find(".calendar-menu-year-inner"); +var _50b=sele.find(".calendar-menu-month-inner"); +_50a.find("input").val(opts.year).focus(); +_50b.find("td.calendar-selected").removeClass("calendar-selected"); +_50b.find("td:eq("+(opts.month-1)+")").addClass("calendar-selected"); +sele._outerWidth(body._outerWidth()); +sele._outerHeight(body._outerHeight()); +_50b._outerHeight(sele.height()-_50a._outerHeight()); +}; +function _50c(_50d,year,_50e){ +var opts=$.data(_50d,"calendar").options; +var _50f=[]; +var _510=new Date(year,_50e,0).getDate(); +for(var i=1;i<=_510;i++){ +_50f.push([year,_50e,i]); +} +var _511=[],week=[]; +var _512=-1; +while(_50f.length>0){ +var date=_50f.shift(); +week.push(date); +var day=new Date(date[0],date[1]-1,date[2]).getDay(); +if(_512==day){ +day=0; +}else{ +if(day==(opts.firstDay==0?7:opts.firstDay)-1){ +_511.push(week); +week=[]; +} +} +_512=day; +} +if(week.length){ +_511.push(week); +} +var _513=_511[0]; +if(_513.length<7){ +while(_513.length<7){ +var _514=_513[0]; +var date=new Date(_514[0],_514[1]-1,_514[2]-1); +_513.unshift([date.getFullYear(),date.getMonth()+1,date.getDate()]); +} +}else{ +var _514=_513[0]; +var week=[]; +for(var i=1;i<=7;i++){ +var date=new Date(_514[0],_514[1]-1,_514[2]-i); +week.unshift([date.getFullYear(),date.getMonth()+1,date.getDate()]); +} +_511.unshift(week); +} +var _515=_511[_511.length-1]; +while(_515.length<7){ +var _516=_515[_515.length-1]; +var date=new Date(_516[0],_516[1]-1,_516[2]+1); +_515.push([date.getFullYear(),date.getMonth()+1,date.getDate()]); +} +if(_511.length<6){ +var _516=_515[_515.length-1]; +var week=[]; +for(var i=1;i<=7;i++){ +var date=new Date(_516[0],_516[1]-1,_516[2]+i); +week.push([date.getFullYear(),date.getMonth()+1,date.getDate()]); +} +_511.push(week); +} +return _511; +}; +function show(_517){ +var opts=$.data(_517,"calendar").options; +if(opts.current&&!opts.validator.call(_517,opts.current)){ +opts.current=null; +} +var now=new Date(); +var _518=now.getFullYear()+","+(now.getMonth()+1)+","+now.getDate(); +var _519=opts.current?(opts.current.getFullYear()+","+(opts.current.getMonth()+1)+","+opts.current.getDate()):""; +var _51a=6-opts.firstDay; +var _51b=_51a+1; +if(_51a>=7){ +_51a-=7; +} +if(_51b>=7){ +_51b-=7; +} +$(_517).find(".calendar-title span").html(opts.months[opts.month-1]+" "+opts.year); +var body=$(_517).find("div.calendar-body"); +body.children("table").remove(); +var data=[""]; +data.push(""); +for(var i=opts.firstDay;i"+opts.weeks[i]+""); +} +for(var i=0;i"+opts.weeks[i]+""); +} +data.push(""); +data.push(""); +var _51c=_50c(_517,opts.year,opts.month); +for(var i=0;i<_51c.length;i++){ +var week=_51c[i]; +var cls=""; +if(i==0){ +cls="calendar-first"; +}else{ +if(i==_51c.length-1){ +cls="calendar-last"; +} +} +data.push(""); +for(var j=0;j"+d+""); +} +data.push(""); +} +data.push(""); +data.push("
                                        "); +body.append(data.join("")); +body.children("table.calendar-dtable").prependTo(body); +opts.onNavigate.call(_517,opts.year,opts.month); +}; +$.fn.calendar=function(_520,_521){ +if(typeof _520=="string"){ +return $.fn.calendar.methods[_520](this,_521); +} +_520=_520||{}; +return this.each(function(){ +var _522=$.data(this,"calendar"); +if(_522){ +$.extend(_522.options,_520); +}else{ +_522=$.data(this,"calendar",{options:$.extend({},$.fn.calendar.defaults,$.fn.calendar.parseOptions(this),_520)}); +init(this); +} +if(_522.options.border==false){ +$(this).addClass("calendar-noborder"); +} +_4f7(this); +_4fd(this); +show(this); +$(this).find("div.calendar-menu").hide(); +}); +}; +$.fn.calendar.methods={options:function(jq){ +return $.data(jq[0],"calendar").options; +},resize:function(jq,_523){ +return jq.each(function(){ +_4f7(this,_523); +}); +},moveTo:function(jq,date){ +return jq.each(function(){ +var opts=$(this).calendar("options"); +if(opts.validator.call(this,date)){ +var _524=opts.current; +$(this).calendar({year:date.getFullYear(),month:date.getMonth()+1,current:date}); +if(!_524||_524.getTime()!=date.getTime()){ +opts.onChange.call(this,opts.current,_524); +} +} +}); +}}; +$.fn.calendar.parseOptions=function(_525){ +var t=$(_525); +return $.extend({},$.parser.parseOptions(_525,[{firstDay:"number",fit:"boolean",border:"boolean"}])); +}; +$.fn.calendar.defaults={width:180,height:180,fit:false,border:true,firstDay:0,weeks:["S","M","T","W","T","F","S"],months:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],year:new Date().getFullYear(),month:new Date().getMonth()+1,current:(function(){ +var d=new Date(); +return new Date(d.getFullYear(),d.getMonth(),d.getDate()); +})(),formatter:function(date){ +return date.getDate(); +},styler:function(date){ +return ""; +},validator:function(date){ +return true; +},onSelect:function(date){ +},onChange:function(_526,_527){ +},onNavigate:function(year,_528){ +}}; +})(jQuery); +(function($){ +function _529(_52a){ +var _52b=$.data(_52a,"spinner"); +var opts=_52b.options; +var _52c=$.extend(true,[],opts.icons); +_52c.push({iconCls:"spinner-arrow",handler:function(e){ +_52d(e); +}}); +$(_52a).addClass("spinner-f").textbox($.extend({},opts,{icons:_52c})); +var _52e=$(_52a).textbox("getIcon",_52c.length-1); +_52e.append(""); +_52e.append(""); +$(_52a).attr("spinnerName",$(_52a).attr("textboxName")); +_52b.spinner=$(_52a).next(); +_52b.spinner.addClass("spinner"); +}; +function _52d(e){ +var _52f=e.data.target; +var opts=$(_52f).spinner("options"); +var up=$(e.target).closest("a.spinner-arrow-up"); +if(up.length){ +opts.spin.call(_52f,false); +opts.onSpinUp.call(_52f); +$(_52f).spinner("validate"); +} +var down=$(e.target).closest("a.spinner-arrow-down"); +if(down.length){ +opts.spin.call(_52f,true); +opts.onSpinDown.call(_52f); +$(_52f).spinner("validate"); +} +}; +$.fn.spinner=function(_530,_531){ +if(typeof _530=="string"){ +var _532=$.fn.spinner.methods[_530]; +if(_532){ +return _532(this,_531); +}else{ +return this.textbox(_530,_531); +} +} +_530=_530||{}; +return this.each(function(){ +var _533=$.data(this,"spinner"); +if(_533){ +$.extend(_533.options,_530); +}else{ +_533=$.data(this,"spinner",{options:$.extend({},$.fn.spinner.defaults,$.fn.spinner.parseOptions(this),_530)}); +} +_529(this); +}); +}; +$.fn.spinner.methods={options:function(jq){ +var opts=jq.textbox("options"); +return $.extend($.data(jq[0],"spinner").options,{width:opts.width,value:opts.value,originalValue:opts.originalValue,disabled:opts.disabled,readonly:opts.readonly}); +}}; +$.fn.spinner.parseOptions=function(_534){ +return $.extend({},$.fn.textbox.parseOptions(_534),$.parser.parseOptions(_534,["min","max",{increment:"number"}])); +}; +$.fn.spinner.defaults=$.extend({},$.fn.textbox.defaults,{min:null,max:null,increment:1,spin:function(down){ +},onSpinUp:function(){ +},onSpinDown:function(){ +}}); +})(jQuery); +(function($){ +function _535(_536){ +$(_536).addClass("numberspinner-f"); +var opts=$.data(_536,"numberspinner").options; +$(_536).numberbox(opts).spinner(opts); +$(_536).numberbox("setValue",opts.value); +}; +function _537(_538,down){ +var opts=$.data(_538,"numberspinner").options; +var v=parseFloat($(_538).numberbox("getValue")||opts.value)||0; +if(down){ +v-=opts.increment; +}else{ +v+=opts.increment; +} +$(_538).numberbox("setValue",v); +}; +$.fn.numberspinner=function(_539,_53a){ +if(typeof _539=="string"){ +var _53b=$.fn.numberspinner.methods[_539]; +if(_53b){ +return _53b(this,_53a); +}else{ +return this.numberbox(_539,_53a); +} +} +_539=_539||{}; +return this.each(function(){ +var _53c=$.data(this,"numberspinner"); +if(_53c){ +$.extend(_53c.options,_539); +}else{ +$.data(this,"numberspinner",{options:$.extend({},$.fn.numberspinner.defaults,$.fn.numberspinner.parseOptions(this),_539)}); +} +_535(this); +}); +}; +$.fn.numberspinner.methods={options:function(jq){ +var opts=jq.numberbox("options"); +return $.extend($.data(jq[0],"numberspinner").options,{width:opts.width,value:opts.value,originalValue:opts.originalValue,disabled:opts.disabled,readonly:opts.readonly}); +}}; +$.fn.numberspinner.parseOptions=function(_53d){ +return $.extend({},$.fn.spinner.parseOptions(_53d),$.fn.numberbox.parseOptions(_53d),{}); +}; +$.fn.numberspinner.defaults=$.extend({},$.fn.spinner.defaults,$.fn.numberbox.defaults,{spin:function(down){ +_537(this,down); +}}); +})(jQuery); +(function($){ +function _53e(_53f){ +var _540=0; +if(_53f.selectionStart){ +_540=_53f.selectionStart; +}else{ +if(_53f.createTextRange){ +var _541=_53f.createTextRange(); +var s=document.selection.createRange(); +s.setEndPoint("StartToStart",_541); +_540=s.text.length; +} +} +return _540; +}; +function _542(_543,_544,end){ +if(_543.selectionStart){ +_543.setSelectionRange(_544,end); +}else{ +if(_543.createTextRange){ +var _545=_543.createTextRange(); +_545.collapse(); +_545.moveEnd("character",end); +_545.moveStart("character",_544); +_545.select(); +} +} +}; +function _546(_547){ +var opts=$.data(_547,"timespinner").options; +$(_547).addClass("timespinner-f").spinner(opts); +var _548=opts.formatter.call(_547,opts.parser.call(_547,opts.value)); +$(_547).timespinner("initValue",_548); +}; +function _549(e){ +var _54a=e.data.target; +var opts=$.data(_54a,"timespinner").options; +var _54b=_53e(this); +for(var i=0;i=_54c[0]&&_54b<=_54c[1]){ +_54d(_54a,i); +return; +} +} +}; +function _54d(_54e,_54f){ +var opts=$.data(_54e,"timespinner").options; +if(_54f!=undefined){ +opts.highlight=_54f; +} +var _550=opts.selections[opts.highlight]; +if(_550){ +var tb=$(_54e).timespinner("textbox"); +_542(tb[0],_550[0],_550[1]); +tb.focus(); +} +}; +function _551(_552,_553){ +var opts=$.data(_552,"timespinner").options; +var _553=opts.parser.call(_552,_553); +var text=opts.formatter.call(_552,_553); +$(_552).spinner("setValue",text); +}; +function _554(_555,down){ +var opts=$.data(_555,"timespinner").options; +var s=$(_555).timespinner("getValue"); +var _556=opts.selections[opts.highlight]; +var s1=s.substring(0,_556[0]); +var s2=s.substring(_556[0],_556[1]); +var s3=s.substring(_556[1]); +var v=s1+((parseInt(s2)||0)+opts.increment*(down?-1:1))+s3; +$(_555).timespinner("setValue",v); +_54d(_555); +}; +$.fn.timespinner=function(_557,_558){ +if(typeof _557=="string"){ +var _559=$.fn.timespinner.methods[_557]; +if(_559){ +return _559(this,_558); +}else{ +return this.spinner(_557,_558); +} +} +_557=_557||{}; +return this.each(function(){ +var _55a=$.data(this,"timespinner"); +if(_55a){ +$.extend(_55a.options,_557); +}else{ +$.data(this,"timespinner",{options:$.extend({},$.fn.timespinner.defaults,$.fn.timespinner.parseOptions(this),_557)}); +} +_546(this); +}); +}; +$.fn.timespinner.methods={options:function(jq){ +var opts=jq.data("spinner")?jq.spinner("options"):{}; +return $.extend($.data(jq[0],"timespinner").options,{width:opts.width,value:opts.value,originalValue:opts.originalValue,disabled:opts.disabled,readonly:opts.readonly}); +},setValue:function(jq,_55b){ +return jq.each(function(){ +_551(this,_55b); +}); +},getHours:function(jq){ +var opts=$.data(jq[0],"timespinner").options; +var vv=jq.timespinner("getValue").split(opts.separator); +return parseInt(vv[0],10); +},getMinutes:function(jq){ +var opts=$.data(jq[0],"timespinner").options; +var vv=jq.timespinner("getValue").split(opts.separator); +return parseInt(vv[1],10); +},getSeconds:function(jq){ +var opts=$.data(jq[0],"timespinner").options; +var vv=jq.timespinner("getValue").split(opts.separator); +return parseInt(vv[2],10)||0; +}}; +$.fn.timespinner.parseOptions=function(_55c){ +return $.extend({},$.fn.spinner.parseOptions(_55c),$.parser.parseOptions(_55c,["separator",{showSeconds:"boolean",highlight:"number"}])); +}; +$.fn.timespinner.defaults=$.extend({},$.fn.spinner.defaults,{inputEvents:$.extend({},$.fn.spinner.defaults.inputEvents,{click:function(e){ +_549.call(this,e); +},blur:function(e){ +var t=$(e.data.target); +t.timespinner("setValue",t.timespinner("getText")); +},keydown:function(e){ +if(e.keyCode==13){ +var t=$(e.data.target); +t.timespinner("setValue",t.timespinner("getText")); +} +}}),formatter:function(date){ +if(!date){ +return ""; +} +var opts=$(this).timespinner("options"); +var tt=[_55d(date.getHours()),_55d(date.getMinutes())]; +if(opts.showSeconds){ +tt.push(_55d(date.getSeconds())); +} +return tt.join(opts.separator); +function _55d(_55e){ +return (_55e<10?"0":"")+_55e; +}; +},parser:function(s){ +var opts=$(this).timespinner("options"); +var date=_55f(s); +if(date){ +var min=_55f(opts.min); +var max=_55f(opts.max); +if(min&&min>date){ +date=min; +} +if(max&&max"]; +for(var i=0;i<_573.length;i++){ +_572.cache[_573[i][0]]={width:_573[i][1]}; +} +var _574=0; +for(var s in _572.cache){ +var item=_572.cache[s]; +item.index=_574++; +ss.push(s+"{width:"+item.width+"}"); +} +ss.push(""); +$(ss.join("\n")).appendTo(cc); +cc.children("style[easyui]:not(:last)").remove(); +},getRule:function(_575){ +var _576=cc.children("style[easyui]:last")[0]; +var _577=_576.styleSheet?_576.styleSheet:(_576.sheet||document.styleSheets[document.styleSheets.length-1]); +var _578=_577.cssRules||_577.rules; +return _578[_575]; +},set:function(_579,_57a){ +var item=_572.cache[_579]; +if(item){ +item.width=_57a; +var rule=this.getRule(item.index); +if(rule){ +rule.style["width"]=_57a; +} +} +},remove:function(_57b){ +var tmp=[]; +for(var s in _572.cache){ +if(s.indexOf(_57b)==-1){ +tmp.push([s,_572.cache[s].width]); +} +} +_572.cache={}; +this.add(tmp); +},dirty:function(_57c){ +if(_57c){ +_572.dirty.push(_57c); +} +},clean:function(){ +for(var i=0;i<_572.dirty.length;i++){ +this.remove(_572.dirty[i]); +} +_572.dirty=[]; +}}; +}; +function _57d(_57e,_57f){ +var _580=$.data(_57e,"datagrid"); +var opts=_580.options; +var _581=_580.panel; +if(_57f){ +$.extend(opts,_57f); +} +if(opts.fit==true){ +var p=_581.panel("panel").parent(); +opts.width=p.width(); +opts.height=p.height(); +} +_581.panel("resize",opts); +}; +function _582(_583){ +var _584=$.data(_583,"datagrid"); +var opts=_584.options; +var dc=_584.dc; +var wrap=_584.panel; +var _585=wrap.width(); +var _586=wrap.height(); +var view=dc.view; +var _587=dc.view1; +var _588=dc.view2; +var _589=_587.children("div.datagrid-header"); +var _58a=_588.children("div.datagrid-header"); +var _58b=_589.find("table"); +var _58c=_58a.find("table"); +view.width(_585); +var _58d=_589.children("div.datagrid-header-inner").show(); +_587.width(_58d.find("table").width()); +if(!opts.showHeader){ +_58d.hide(); +} +_588.width(_585-_587._outerWidth()); +_587.children("div.datagrid-header,div.datagrid-body,div.datagrid-footer").width(_587.width()); +_588.children("div.datagrid-header,div.datagrid-body,div.datagrid-footer").width(_588.width()); +var hh; +_589.add(_58a).css("height",""); +_58b.add(_58c).css("height",""); +hh=Math.max(_58b.height(),_58c.height()); +_58b.add(_58c).height(hh); +_589.add(_58a)._outerHeight(hh); +dc.body1.add(dc.body2).children("table.datagrid-btable-frozen").css({position:"absolute",top:dc.header2._outerHeight()}); +var _58e=dc.body2.children("table.datagrid-btable-frozen")._outerHeight(); +var _58f=_58e+_588.children("div.datagrid-header")._outerHeight()+_588.children("div.datagrid-footer")._outerHeight()+wrap.children("div.datagrid-toolbar")._outerHeight(); +wrap.children("div.datagrid-pager").each(function(){ +_58f+=$(this)._outerHeight(); +}); +var _590=wrap.outerHeight()-wrap.height(); +var _591=wrap._size("minHeight")||""; +var _592=wrap._size("maxHeight")||""; +_587.add(_588).children("div.datagrid-body").css({marginTop:_58e,height:(isNaN(parseInt(opts.height))?"":(_586-_58f)),minHeight:(_591?_591-_590-_58f:""),maxHeight:(_592?_592-_590-_58f:"")}); +view.height(_588.height()); +}; +function _593(_594,_595,_596){ +var rows=$.data(_594,"datagrid").data.rows; +var opts=$.data(_594,"datagrid").options; +var dc=$.data(_594,"datagrid").dc; +if(!dc.body1.is(":empty")&&(!opts.nowrap||opts.autoRowHeight||_596)){ +if(_595!=undefined){ +var tr1=opts.finder.getTr(_594,_595,"body",1); +var tr2=opts.finder.getTr(_594,_595,"body",2); +_597(tr1,tr2); +}else{ +var tr1=opts.finder.getTr(_594,0,"allbody",1); +var tr2=opts.finder.getTr(_594,0,"allbody",2); +_597(tr1,tr2); +if(opts.showFooter){ +var tr1=opts.finder.getTr(_594,0,"allfooter",1); +var tr2=opts.finder.getTr(_594,0,"allfooter",2); +_597(tr1,tr2); +} +} +} +_582(_594); +if(opts.height=="auto"){ +var _598=dc.body1.parent(); +var _599=dc.body2; +var _59a=_59b(_599); +var _59c=_59a.height; +if(_59a.width>_599.width()){ +_59c+=18; +} +_59c-=parseInt(_599.css("marginTop"))||0; +_598.height(_59c); +_599.height(_59c); +dc.view.height(dc.view2.height()); +} +dc.body2.triggerHandler("scroll"); +function _597(trs1,trs2){ +for(var i=0;i"); +} +_5a4(true); +_5a4(false); +_582(_5a1); +function _5a4(_5a5){ +var _5a6=_5a5?1:2; +var tr=opts.finder.getTr(_5a1,_5a2,"body",_5a6); +(_5a5?dc.body1:dc.body2).children("table.datagrid-btable-frozen").append(tr); +}; +}; +function _5a7(_5a8,_5a9){ +function _5aa(){ +var _5ab=[]; +var _5ac=[]; +$(_5a8).children("thead").each(function(){ +var opt=$.parser.parseOptions(this,[{frozen:"boolean"}]); +$(this).find("tr").each(function(){ +var cols=[]; +$(this).find("th").each(function(){ +var th=$(this); +var col=$.extend({},$.parser.parseOptions(this,["field","align","halign","order","width",{sortable:"boolean",checkbox:"boolean",resizable:"boolean",fixed:"boolean"},{rowspan:"number",colspan:"number"}]),{title:(th.html()||undefined),hidden:(th.attr("hidden")?true:undefined),formatter:(th.attr("formatter")?eval(th.attr("formatter")):undefined),styler:(th.attr("styler")?eval(th.attr("styler")):undefined),sorter:(th.attr("sorter")?eval(th.attr("sorter")):undefined)}); +if(col.width&&String(col.width).indexOf("%")==-1){ +col.width=parseInt(col.width); +} +if(th.attr("editor")){ +var s=$.trim(th.attr("editor")); +if(s.substr(0,1)=="{"){ +col.editor=eval("("+s+")"); +}else{ +col.editor=s; +} +} +cols.push(col); +}); +opt.frozen?_5ab.push(cols):_5ac.push(cols); +}); +}); +return [_5ab,_5ac]; +}; +var _5ad=$("
                                        "+"
                                        "+"
                                        "+"
                                        "+"
                                        "+"
                                        "+"
                                        "+"
                                        "+"
                                        "+"
                                        "+""+"
                                        "+"
                                        "+"
                                        "+"
                                        "+"
                                        "+"
                                        "+"
                                        "+"
                                        "+""+"
                                        "+"
                                        "+"
                                        "+"
                                        ").insertAfter(_5a8); +_5ad.panel({doSize:false,cls:"datagrid"}); +$(_5a8).addClass("datagrid-f").hide().appendTo(_5ad.children("div.datagrid-view")); +var cc=_5aa(); +var view=_5ad.children("div.datagrid-view"); +var _5ae=view.children("div.datagrid-view1"); +var _5af=view.children("div.datagrid-view2"); +return {panel:_5ad,frozenColumns:cc[0],columns:cc[1],dc:{view:view,view1:_5ae,view2:_5af,header1:_5ae.children("div.datagrid-header").children("div.datagrid-header-inner"),header2:_5af.children("div.datagrid-header").children("div.datagrid-header-inner"),body1:_5ae.children("div.datagrid-body").children("div.datagrid-body-inner"),body2:_5af.children("div.datagrid-body"),footer1:_5ae.children("div.datagrid-footer").children("div.datagrid-footer-inner"),footer2:_5af.children("div.datagrid-footer").children("div.datagrid-footer-inner")}}; +}; +function _5b0(_5b1){ +var _5b2=$.data(_5b1,"datagrid"); +var opts=_5b2.options; +var dc=_5b2.dc; +var _5b3=_5b2.panel; +_5b2.ss=$(_5b1).datagrid("createStyleSheet"); +_5b3.panel($.extend({},opts,{id:null,doSize:false,onResize:function(_5b4,_5b5){ +setTimeout(function(){ +if($.data(_5b1,"datagrid")){ +_582(_5b1); +_5f7(_5b1); +opts.onResize.call(_5b3,_5b4,_5b5); +} +},0); +},onExpand:function(){ +_593(_5b1); +opts.onExpand.call(_5b3); +}})); +_5b2.rowIdPrefix="datagrid-row-r"+(++_569); +_5b2.cellClassPrefix="datagrid-cell-c"+_569; +_5b6(dc.header1,opts.frozenColumns,true); +_5b6(dc.header2,opts.columns,false); +_5b7(); +dc.header1.add(dc.header2).css("display",opts.showHeader?"block":"none"); +dc.footer1.add(dc.footer2).css("display",opts.showFooter?"block":"none"); +if(opts.toolbar){ +if($.isArray(opts.toolbar)){ +$("div.datagrid-toolbar",_5b3).remove(); +var tb=$("
                                        ").prependTo(_5b3); +var tr=tb.find("tr"); +for(var i=0;i
                                        ").appendTo(tr); +}else{ +var td=$("").appendTo(tr); +var tool=$("").appendTo(td); +tool[0].onclick=eval(btn.handler||function(){ +}); +tool.linkbutton($.extend({},btn,{plain:true})); +} +} +}else{ +$(opts.toolbar).addClass("datagrid-toolbar").prependTo(_5b3); +$(opts.toolbar).show(); +} +}else{ +$("div.datagrid-toolbar",_5b3).remove(); +} +$("div.datagrid-pager",_5b3).remove(); +if(opts.pagination){ +var _5b8=$("
                                        "); +if(opts.pagePosition=="bottom"){ +_5b8.appendTo(_5b3); +}else{ +if(opts.pagePosition=="top"){ +_5b8.addClass("datagrid-pager-top").prependTo(_5b3); +}else{ +var ptop=$("
                                        ").prependTo(_5b3); +_5b8.appendTo(_5b3); +_5b8=_5b8.add(ptop); +} +} +_5b8.pagination({total:(opts.pageNumber*opts.pageSize),pageNumber:opts.pageNumber,pageSize:opts.pageSize,pageList:opts.pageList,onSelectPage:function(_5b9,_5ba){ +opts.pageNumber=_5b9||1; +opts.pageSize=_5ba; +_5b8.pagination("refresh",{pageNumber:_5b9,pageSize:_5ba}); +_5f5(_5b1); +}}); +opts.pageSize=_5b8.pagination("options").pageSize; +} +function _5b6(_5bb,_5bc,_5bd){ +if(!_5bc){ +return; +} +$(_5bb).show(); +$(_5bb).empty(); +var _5be=[]; +var _5bf=[]; +if(opts.sortName){ +_5be=opts.sortName.split(","); +_5bf=opts.sortOrder.split(","); +} +var t=$("
                                        ").appendTo(_5bb); +for(var i=0;i<_5bc.length;i++){ +var tr=$("").appendTo($("tbody",t)); +var cols=_5bc[i]; +for(var j=0;j").appendTo(tr); +if(col.checkbox){ +td.attr("field",col.field); +$("
                                        ").html("").appendTo(td); +}else{ +if(col.field){ +td.attr("field",col.field); +td.append("
                                        "); +$("span",td).html(col.title); +$("span.datagrid-sort-icon",td).html(" "); +var cell=td.find("div.datagrid-cell"); +var pos=_56a(_5be,col.field); +if(pos>=0){ +cell.addClass("datagrid-sort-"+_5bf[pos]); +} +if(col.resizable==false){ +cell.attr("resizable","false"); +} +if(col.width){ +var _5c0=$.parser.parseValue("width",col.width,dc.view,opts.scrollbarSize); +cell._outerWidth(_5c0-1); +col.boxWidth=parseInt(cell[0].style.width); +col.deltaWidth=_5c0-col.boxWidth; +}else{ +col.auto=true; +} +cell.css("text-align",(col.halign||col.align||"")); +col.cellClass=_5b2.cellClassPrefix+"-"+col.field.replace(/[\.|\s]/g,"-"); +cell.addClass(col.cellClass).css("width",""); +}else{ +$("
                                        ").html(col.title).appendTo(td); +} +} +if(col.hidden){ +td.hide(); +} +} +} +if(_5bd&&opts.rownumbers){ +var td=$("
                                        "); +if($("tr",t).length==0){ +td.wrap("").parent().appendTo($("tbody",t)); +}else{ +td.prependTo($("tr:first",t)); +} +} +}; +function _5b7(){ +var _5c1=[]; +var _5c2=_5c3(_5b1,true).concat(_5c3(_5b1)); +for(var i=0;i<_5c2.length;i++){ +var col=_5c4(_5b1,_5c2[i]); +if(col&&!col.checkbox){ +_5c1.push(["."+col.cellClass,col.boxWidth?col.boxWidth+"px":"auto"]); +} +} +_5b2.ss.add(_5c1); +_5b2.ss.dirty(_5b2.cellSelectorPrefix); +_5b2.cellSelectorPrefix="."+_5b2.cellClassPrefix; +}; +}; +function _5c5(_5c6){ +var _5c7=$.data(_5c6,"datagrid"); +var _5c8=_5c7.panel; +var opts=_5c7.options; +var dc=_5c7.dc; +var _5c9=dc.header1.add(dc.header2); +_5c9.find("input[type=checkbox]").unbind(".datagrid").bind("click.datagrid",function(e){ +if(opts.singleSelect&&opts.selectOnCheck){ +return false; +} +if($(this).is(":checked")){ +_65d(_5c6); +}else{ +_663(_5c6); +} +e.stopPropagation(); +}); +var _5ca=_5c9.find("div.datagrid-cell"); +_5ca.closest("td").unbind(".datagrid").bind("mouseenter.datagrid",function(){ +if(_5c7.resizing){ +return; +} +$(this).addClass("datagrid-header-over"); +}).bind("mouseleave.datagrid",function(){ +$(this).removeClass("datagrid-header-over"); +}).bind("contextmenu.datagrid",function(e){ +var _5cb=$(this).attr("field"); +opts.onHeaderContextMenu.call(_5c6,e,_5cb); +}); +_5ca.unbind(".datagrid").bind("click.datagrid",function(e){ +var p1=$(this).offset().left+5; +var p2=$(this).offset().left+$(this)._outerWidth()-5; +if(e.pageXp1){ +_5ea(_5c6,$(this).parent().attr("field")); +} +}).bind("dblclick.datagrid",function(e){ +var p1=$(this).offset().left+5; +var p2=$(this).offset().left+$(this)._outerWidth()-5; +var cond=opts.resizeHandle=="right"?(e.pageX>p2):(opts.resizeHandle=="left"?(e.pageXp2)); +if(cond){ +var _5cc=$(this).parent().attr("field"); +var col=_5c4(_5c6,_5cc); +if(col.resizable==false){ +return; +} +$(_5c6).datagrid("autoSizeColumn",_5cc); +col.auto=false; +} +}); +var _5cd=opts.resizeHandle=="right"?"e":(opts.resizeHandle=="left"?"w":"e,w"); +_5ca.each(function(){ +$(this).resizable({handles:_5cd,disabled:($(this).attr("resizable")?$(this).attr("resizable")=="false":false),minWidth:25,onStartResize:function(e){ +_5c7.resizing=true; +_5c9.css("cursor",$("body").css("cursor")); +if(!_5c7.proxy){ +_5c7.proxy=$("
                                        ").appendTo(dc.view); +} +_5c7.proxy.css({left:e.pageX-$(_5c8).offset().left-1,display:"none"}); +setTimeout(function(){ +if(_5c7.proxy){ +_5c7.proxy.show(); +} +},500); +},onResize:function(e){ +_5c7.proxy.css({left:e.pageX-$(_5c8).offset().left-1,display:"block"}); +return false; +},onStopResize:function(e){ +_5c9.css("cursor",""); +$(this).css("height",""); +var _5ce=$(this).parent().attr("field"); +var col=_5c4(_5c6,_5ce); +col.width=$(this)._outerWidth(); +col.boxWidth=col.width-col.deltaWidth; +col.auto=undefined; +$(this).css("width",""); +_613(_5c6,_5ce); +_5c7.proxy.remove(); +_5c7.proxy=null; +if($(this).parents("div:first.datagrid-header").parent().hasClass("datagrid-view1")){ +_582(_5c6); +} +_5f7(_5c6); +opts.onResizeColumn.call(_5c6,_5ce,col.width); +setTimeout(function(){ +_5c7.resizing=false; +},0); +}}); +}); +var bb=dc.body1.add(dc.body2); +bb.unbind(); +for(var _5cf in opts.rowEvents){ +bb.bind(_5cf,opts.rowEvents[_5cf]); +} +dc.body1.bind("mousewheel DOMMouseScroll",function(e){ +var e1=e.originalEvent||window.event; +var _5d0=e1.wheelDelta||e1.detail*(-1); +var dg=$(e.target).closest("div.datagrid-view").children(".datagrid-f"); +var dc=dg.data("datagrid").dc; +dc.body2.scrollTop(dc.body2.scrollTop()-_5d0); +}); +dc.body2.bind("scroll",function(){ +var b1=dc.view1.children("div.datagrid-body"); +b1.scrollTop($(this).scrollTop()); +var c1=dc.body1.children(":first"); +var c2=dc.body2.children(":first"); +if(c1.length&&c2.length){ +var top1=c1.offset().top; +var top2=c2.offset().top; +if(top1!=top2){ +b1.scrollTop(b1.scrollTop()+top1-top2); +} +} +dc.view2.children("div.datagrid-header,div.datagrid-footer")._scrollLeft($(this)._scrollLeft()); +dc.body2.children("table.datagrid-btable-frozen").css("left",-$(this)._scrollLeft()); +}); +}; +function _5d1(_5d2){ +return function(e){ +var tr=_5d3(e.target); +if(!tr){ +return; +} +var _5d4=_5d5(tr); +if($.data(_5d4,"datagrid").resizing){ +return; +} +var _5d6=_5d7(tr); +if(_5d2){ +_5d8(_5d4,_5d6); +}else{ +var opts=$.data(_5d4,"datagrid").options; +opts.finder.getTr(_5d4,_5d6).removeClass("datagrid-row-over"); +} +}; +}; +function _5d9(e){ +var tr=_5d3(e.target); +if(!tr){ +return; +} +var _5da=_5d5(tr); +var opts=$.data(_5da,"datagrid").options; +var _5db=_5d7(tr); +var tt=$(e.target); +if(tt.parent().hasClass("datagrid-cell-check")){ +if(opts.singleSelect&&opts.selectOnCheck){ +tt._propAttr("checked",!tt.is(":checked")); +_5dc(_5da,_5db); +}else{ +if(tt.is(":checked")){ +tt._propAttr("checked",false); +_5dc(_5da,_5db); +}else{ +tt._propAttr("checked",true); +_5dd(_5da,_5db); +} +} +}else{ +var row=opts.finder.getRow(_5da,_5db); +var td=tt.closest("td[field]",tr); +if(td.length){ +var _5de=td.attr("field"); +opts.onClickCell.call(_5da,_5db,_5de,row[_5de]); +} +if(opts.singleSelect==true){ +_5df(_5da,_5db); +}else{ +if(opts.ctrlSelect){ +if(e.ctrlKey){ +if(tr.hasClass("datagrid-row-selected")){ +_5e0(_5da,_5db); +}else{ +_5df(_5da,_5db); +} +}else{ +if(e.shiftKey){ +$(_5da).datagrid("clearSelections"); +var _5e1=Math.min(opts.lastSelectedIndex||0,_5db); +var _5e2=Math.max(opts.lastSelectedIndex||0,_5db); +for(var i=_5e1;i<=_5e2;i++){ +_5df(_5da,i); +} +}else{ +$(_5da).datagrid("clearSelections"); +_5df(_5da,_5db); +opts.lastSelectedIndex=_5db; +} +} +}else{ +if(tr.hasClass("datagrid-row-selected")){ +_5e0(_5da,_5db); +}else{ +_5df(_5da,_5db); +} +} +} +opts.onClickRow.call(_5da,_5db,row); +} +}; +function _5e3(e){ +var tr=_5d3(e.target); +if(!tr){ +return; +} +var _5e4=_5d5(tr); +var opts=$.data(_5e4,"datagrid").options; +var _5e5=_5d7(tr); +var row=opts.finder.getRow(_5e4,_5e5); +var td=$(e.target).closest("td[field]",tr); +if(td.length){ +var _5e6=td.attr("field"); +opts.onDblClickCell.call(_5e4,_5e5,_5e6,row[_5e6]); +} +opts.onDblClickRow.call(_5e4,_5e5,row); +}; +function _5e7(e){ +var tr=_5d3(e.target); +if(!tr){ +return; +} +var _5e8=_5d5(tr); +var opts=$.data(_5e8,"datagrid").options; +var _5e9=_5d7(tr); +var row=opts.finder.getRow(_5e8,_5e9); +opts.onRowContextMenu.call(_5e8,e,_5e9,row); +}; +function _5d5(t){ +return $(t).closest("div.datagrid-view").children(".datagrid-f")[0]; +}; +function _5d3(t){ +var tr=$(t).closest("tr.datagrid-row"); +if(tr.length&&tr.parent().length){ +return tr; +}else{ +return undefined; +} +}; +function _5d7(tr){ +if(tr.attr("datagrid-row-index")){ +return parseInt(tr.attr("datagrid-row-index")); +}else{ +return tr.attr("node-id"); +} +}; +function _5ea(_5eb,_5ec){ +var _5ed=$.data(_5eb,"datagrid"); +var opts=_5ed.options; +_5ec=_5ec||{}; +var _5ee={sortName:opts.sortName,sortOrder:opts.sortOrder}; +if(typeof _5ec=="object"){ +$.extend(_5ee,_5ec); +} +var _5ef=[]; +var _5f0=[]; +if(_5ee.sortName){ +_5ef=_5ee.sortName.split(","); +_5f0=_5ee.sortOrder.split(","); +} +if(typeof _5ec=="string"){ +var _5f1=_5ec; +var col=_5c4(_5eb,_5f1); +if(!col.sortable||_5ed.resizing){ +return; +} +var _5f2=col.order||"asc"; +var pos=_56a(_5ef,_5f1); +if(pos>=0){ +var _5f3=_5f0[pos]=="asc"?"desc":"asc"; +if(opts.multiSort&&_5f3==_5f2){ +_5ef.splice(pos,1); +_5f0.splice(pos,1); +}else{ +_5f0[pos]=_5f3; +} +}else{ +if(opts.multiSort){ +_5ef.push(_5f1); +_5f0.push(_5f2); +}else{ +_5ef=[_5f1]; +_5f0=[_5f2]; +} +} +_5ee.sortName=_5ef.join(","); +_5ee.sortOrder=_5f0.join(","); +} +if(opts.onBeforeSortColumn.call(_5eb,_5ee.sortName,_5ee.sortOrder)==false){ +return; +} +$.extend(opts,_5ee); +var dc=_5ed.dc; +var _5f4=dc.header1.add(dc.header2); +_5f4.find("div.datagrid-cell").removeClass("datagrid-sort-asc datagrid-sort-desc"); +for(var i=0;i<_5ef.length;i++){ +var col=_5c4(_5eb,_5ef[i]); +_5f4.find("div."+col.cellClass).addClass("datagrid-sort-"+_5f0[i]); +} +if(opts.remoteSort){ +_5f5(_5eb); +}else{ +_5f6(_5eb,$(_5eb).datagrid("getData")); +} +opts.onSortColumn.call(_5eb,opts.sortName,opts.sortOrder); +}; +function _5f7(_5f8){ +var _5f9=$.data(_5f8,"datagrid"); +var opts=_5f9.options; +var dc=_5f9.dc; +var _5fa=dc.view2.children("div.datagrid-header"); +dc.body2.css("overflow-x",""); +_5fb(); +_5fc(); +if(_5fa.width()>=_5fa.find("table").width()){ +dc.body2.css("overflow-x","hidden"); +} +function _5fc(){ +if(!opts.fitColumns){ +return; +} +if(!_5f9.leftWidth){ +_5f9.leftWidth=0; +} +var _5fd=0; +var cc=[]; +var _5fe=_5c3(_5f8,false); +for(var i=0;i<_5fe.length;i++){ +var col=_5c4(_5f8,_5fe[i]); +if(_5ff(col)){ +_5fd+=col.width; +cc.push({field:col.field,col:col,addingWidth:0}); +} +} +if(!_5fd){ +return; +} +cc[cc.length-1].addingWidth-=_5f9.leftWidth; +var _600=_5fa.children("div.datagrid-header-inner").show(); +var _601=_5fa.width()-_5fa.find("table").width()-opts.scrollbarSize+_5f9.leftWidth; +var rate=_601/_5fd; +if(!opts.showHeader){ +_600.hide(); +} +for(var i=0;i0){ +c.col.boxWidth+=c.addingWidth; +c.col.width+=c.addingWidth; +} +} +_5f9.leftWidth=_601; +_613(_5f8); +}; +function _5fb(){ +var _603=false; +var _604=_5c3(_5f8,true).concat(_5c3(_5f8,false)); +$.map(_604,function(_605){ +var col=_5c4(_5f8,_605); +if(String(col.width||"").indexOf("%")>=0){ +var _606=$.parser.parseValue("width",col.width,dc.view,opts.scrollbarSize)-col.deltaWidth; +if(_606>0){ +col.boxWidth=_606; +_603=true; +} +} +}); +if(_603){ +_613(_5f8); +} +}; +function _5ff(col){ +if(String(col.width||"").indexOf("%")>=0){ +return false; +} +if(!col.hidden&&!col.checkbox&&!col.auto&&!col.fixed){ +return true; +} +}; +}; +function _607(_608,_609){ +var _60a=$.data(_608,"datagrid"); +var opts=_60a.options; +var dc=_60a.dc; +var tmp=$("
                                        ").appendTo("body"); +if(_609){ +_57d(_609); +if(opts.fitColumns){ +_582(_608); +_5f7(_608); +} +}else{ +var _60b=false; +var _60c=_5c3(_608,true).concat(_5c3(_608,false)); +for(var i=0;i<_60c.length;i++){ +var _609=_60c[i]; +var col=_5c4(_608,_609); +if(col.auto){ +_57d(_609); +_60b=true; +} +} +if(_60b&&opts.fitColumns){ +_582(_608); +_5f7(_608); +} +} +tmp.remove(); +function _57d(_60d){ +var _60e=dc.view.find("div.datagrid-header td[field=\""+_60d+"\"] div.datagrid-cell"); +_60e.css("width",""); +var col=$(_608).datagrid("getColumnOption",_60d); +col.width=undefined; +col.boxWidth=undefined; +col.auto=true; +$(_608).datagrid("fixColumnSize",_60d); +var _60f=Math.max(_610("header"),_610("allbody"),_610("allfooter"))+1; +_60e._outerWidth(_60f-1); +col.width=_60f; +col.boxWidth=parseInt(_60e[0].style.width); +col.deltaWidth=_60f-col.boxWidth; +_60e.css("width",""); +$(_608).datagrid("fixColumnSize",_60d); +opts.onResizeColumn.call(_608,_60d,col.width); +function _610(type){ +var _611=0; +if(type=="header"){ +_611=_612(_60e); +}else{ +opts.finder.getTr(_608,0,type).find("td[field=\""+_60d+"\"] div.datagrid-cell").each(function(){ +var w=_612($(this)); +if(_611=0){ +var _62b=col.field||""; +for(var c=0;c<(col.colspan||1);c++){ +for(var r=0;r<(col.rowspan||1);r++){ +aa[_628+r][_629]=_62b; +} +_629++; +} +} +}); +} +return aa[aa.length-1]; +function _627(){ +var _62c=0; +$.map(_625[0],function(col){ +_62c+=col.colspan||1; +}); +return _62c; +}; +function _62a(a){ +for(var i=0;ib?1:-1); +}; +r=_631(r1[sn],r2[sn])*(so=="asc"?1:-1); +if(r!=0){ +return r; +} +} +return r; +}); +} +if(opts.view.onBeforeRender){ +opts.view.onBeforeRender.call(opts.view,_62d,data.rows); +} +opts.view.render.call(opts.view,_62d,dc.body2,false); +opts.view.render.call(opts.view,_62d,dc.body1,true); +if(opts.showFooter){ +opts.view.renderFooter.call(opts.view,_62d,dc.footer2,false); +opts.view.renderFooter.call(opts.view,_62d,dc.footer1,true); +} +if(opts.view.onAfterRender){ +opts.view.onAfterRender.call(opts.view,_62d); +} +_62e.ss.clean(); +var _632=$(_62d).datagrid("getPager"); +if(_632.length){ +var _633=_632.pagination("options"); +if(_633.total!=data.total){ +_632.pagination("refresh",{total:data.total}); +if(opts.pageNumber!=_633.pageNumber&&_633.pageNumber>0){ +opts.pageNumber=_633.pageNumber; +_5f5(_62d); +} +} +} +_593(_62d); +dc.body2.triggerHandler("scroll"); +$(_62d).datagrid("setSelectionState"); +$(_62d).datagrid("autoSizeColumn"); +opts.onLoadSuccess.call(_62d,data); +}; +function _634(_635){ +var _636=$.data(_635,"datagrid"); +var opts=_636.options; +var dc=_636.dc; +dc.header1.add(dc.header2).find("input[type=checkbox]")._propAttr("checked",false); +if(opts.idField){ +var _637=$.data(_635,"treegrid")?true:false; +var _638=opts.onSelect; +var _639=opts.onCheck; +opts.onSelect=opts.onCheck=function(){ +}; +var rows=opts.finder.getRows(_635); +for(var i=0;i_64a.height()-18){ +_64a.scrollTop(_64a.scrollTop()+top+tr._outerHeight()-_64a.height()+18); +} +} +} +}; +function _5d8(_64c,_64d){ +var _64e=$.data(_64c,"datagrid"); +var opts=_64e.options; +opts.finder.getTr(_64c,_64e.highlightIndex).removeClass("datagrid-row-over"); +opts.finder.getTr(_64c,_64d).addClass("datagrid-row-over"); +_64e.highlightIndex=_64d; +}; +function _5df(_64f,_650,_651){ +var _652=$.data(_64f,"datagrid"); +var opts=_652.options; +var row=opts.finder.getRow(_64f,_650); +if(opts.onBeforeSelect.call(_64f,_650,row)==false){ +return; +} +if(opts.singleSelect){ +_653(_64f,true); +_652.selectedRows=[]; +} +if(!_651&&opts.checkOnSelect){ +_5dc(_64f,_650,true); +} +if(opts.idField){ +_56d(_652.selectedRows,opts.idField,row); +} +opts.finder.getTr(_64f,_650).addClass("datagrid-row-selected"); +opts.onSelect.call(_64f,_650,row); +_645(_64f,_650); +}; +function _5e0(_654,_655,_656){ +var _657=$.data(_654,"datagrid"); +var dc=_657.dc; +var opts=_657.options; +var row=opts.finder.getRow(_654,_655); +if(opts.onBeforeUnselect.call(_654,_655,row)==false){ +return; +} +if(!_656&&opts.checkOnSelect){ +_5dd(_654,_655,true); +} +opts.finder.getTr(_654,_655).removeClass("datagrid-row-selected"); +if(opts.idField){ +_56b(_657.selectedRows,opts.idField,row[opts.idField]); +} +opts.onUnselect.call(_654,_655,row); +}; +function _658(_659,_65a){ +var _65b=$.data(_659,"datagrid"); +var opts=_65b.options; +var rows=opts.finder.getRows(_659); +var _65c=$.data(_659,"datagrid").selectedRows; +if(!_65a&&opts.checkOnSelect){ +_65d(_659,true); +} +opts.finder.getTr(_659,"","allbody").addClass("datagrid-row-selected"); +if(opts.idField){ +for(var _65e=0;_65e"); +cell.children("table").bind("click dblclick contextmenu",function(e){ +e.stopPropagation(); +}); +$.data(cell[0],"datagrid.editor",{actions:_694,target:_694.init(cell.find("td"),_693),field:_691,type:_692,oldHtml:_695}); +} +} +}); +_593(_68f,_690,true); +}; +function _686(_697,_698){ +var opts=$.data(_697,"datagrid").options; +var tr=opts.finder.getTr(_697,_698); +tr.children("td").each(function(){ +var cell=$(this).find("div.datagrid-editable"); +if(cell.length){ +var ed=$.data(cell[0],"datagrid.editor"); +if(ed.actions.destroy){ +ed.actions.destroy(ed.target); +} +cell.html(ed.oldHtml); +$.removeData(cell[0],"datagrid.editor"); +cell.removeClass("datagrid-editable"); +cell.css("width",""); +} +}); +}; +function _679(_699,_69a){ +var tr=$.data(_699,"datagrid").options.finder.getTr(_699,_69a); +if(!tr.hasClass("datagrid-row-editing")){ +return true; +} +var vbox=tr.find(".validatebox-text"); +vbox.validatebox("validate"); +vbox.trigger("mouseleave"); +var _69b=tr.find(".validatebox-invalid"); +return _69b.length==0; +}; +function _69c(_69d,_69e){ +var _69f=$.data(_69d,"datagrid").insertedRows; +var _6a0=$.data(_69d,"datagrid").deletedRows; +var _6a1=$.data(_69d,"datagrid").updatedRows; +if(!_69e){ +var rows=[]; +rows=rows.concat(_69f); +rows=rows.concat(_6a0); +rows=rows.concat(_6a1); +return rows; +}else{ +if(_69e=="inserted"){ +return _69f; +}else{ +if(_69e=="deleted"){ +return _6a0; +}else{ +if(_69e=="updated"){ +return _6a1; +} +} +} +} +return []; +}; +function _6a2(_6a3,_6a4){ +var _6a5=$.data(_6a3,"datagrid"); +var opts=_6a5.options; +var data=_6a5.data; +var _6a6=_6a5.insertedRows; +var _6a7=_6a5.deletedRows; +$(_6a3).datagrid("cancelEdit",_6a4); +var row=opts.finder.getRow(_6a3,_6a4); +if(_56a(_6a6,row)>=0){ +_56b(_6a6,row); +}else{ +_6a7.push(row); +} +_56b(_6a5.selectedRows,opts.idField,row[opts.idField]); +_56b(_6a5.checkedRows,opts.idField,row[opts.idField]); +opts.view.deleteRow.call(opts.view,_6a3,_6a4); +if(opts.height=="auto"){ +_593(_6a3); +} +$(_6a3).datagrid("getPager").pagination("refresh",{total:data.total}); +}; +function _6a8(_6a9,_6aa){ +var data=$.data(_6a9,"datagrid").data; +var view=$.data(_6a9,"datagrid").options.view; +var _6ab=$.data(_6a9,"datagrid").insertedRows; +view.insertRow.call(view,_6a9,_6aa.index,_6aa.row); +_6ab.push(_6aa.row); +$(_6a9).datagrid("getPager").pagination("refresh",{total:data.total}); +}; +function _6ac(_6ad,row){ +var data=$.data(_6ad,"datagrid").data; +var view=$.data(_6ad,"datagrid").options.view; +var _6ae=$.data(_6ad,"datagrid").insertedRows; +view.insertRow.call(view,_6ad,null,row); +_6ae.push(row); +$(_6ad).datagrid("getPager").pagination("refresh",{total:data.total}); +}; +function _6af(_6b0){ +var _6b1=$.data(_6b0,"datagrid"); +var data=_6b1.data; +var rows=data.rows; +var _6b2=[]; +for(var i=0;i=0){ +(_6bf=="s"?_5df:_5dc)(_6b6,_6c0,true); +} +} +}; +for(var i=0;i0){ +_5f6(this,data); +_6af(this); +} +} +_5f5(this); +}); +}; +function _6d1(_6d2){ +var _6d3={}; +$.map(_6d2,function(name){ +_6d3[name]=_6d4(name); +}); +return _6d3; +function _6d4(name){ +function isA(_6d5){ +return $.data($(_6d5)[0],name)!=undefined; +}; +return {init:function(_6d6,_6d7){ +var _6d8=$("").appendTo(_6d6); +if(_6d8[name]&&name!="text"){ +return _6d8[name](_6d7); +}else{ +return _6d8; +} +},destroy:function(_6d9){ +if(isA(_6d9,name)){ +$(_6d9)[name]("destroy"); +} +},getValue:function(_6da){ +if(isA(_6da,name)){ +var opts=$(_6da)[name]("options"); +if(opts.multiple){ +return $(_6da)[name]("getValues").join(opts.separator); +}else{ +return $(_6da)[name]("getValue"); +} +}else{ +return $(_6da).val(); +} +},setValue:function(_6db,_6dc){ +if(isA(_6db,name)){ +var opts=$(_6db)[name]("options"); +if(opts.multiple){ +if(_6dc){ +$(_6db)[name]("setValues",_6dc.split(opts.separator)); +}else{ +$(_6db)[name]("clear"); +} +}else{ +$(_6db)[name]("setValue",_6dc); +} +}else{ +$(_6db).val(_6dc); +} +},resize:function(_6dd,_6de){ +if(isA(_6dd,name)){ +$(_6dd)[name]("resize",_6de); +}else{ +$(_6dd)._outerWidth(_6de)._outerHeight(22); +} +}}; +}; +}; +var _6df=$.extend({},_6d1(["text","textbox","numberbox","numberspinner","combobox","combotree","combogrid","datebox","datetimebox","timespinner","datetimespinner"]),{textarea:{init:function(_6e0,_6e1){ +var _6e2=$("").appendTo(_6e0); +return _6e2; +},getValue:function(_6e3){ +return $(_6e3).val(); +},setValue:function(_6e4,_6e5){ +$(_6e4).val(_6e5); +},resize:function(_6e6,_6e7){ +$(_6e6)._outerWidth(_6e7); +}},checkbox:{init:function(_6e8,_6e9){ +var _6ea=$("").appendTo(_6e8); +_6ea.val(_6e9.on); +_6ea.attr("offval",_6e9.off); +return _6ea; +},getValue:function(_6eb){ +if($(_6eb).is(":checked")){ +return $(_6eb).val(); +}else{ +return $(_6eb).attr("offval"); +} +},setValue:function(_6ec,_6ed){ +var _6ee=false; +if($(_6ec).val()==_6ed){ +_6ee=true; +} +$(_6ec)._propAttr("checked",_6ee); +}},validatebox:{init:function(_6ef,_6f0){ +var _6f1=$("").appendTo(_6ef); +_6f1.validatebox(_6f0); +return _6f1; +},destroy:function(_6f2){ +$(_6f2).validatebox("destroy"); +},getValue:function(_6f3){ +return $(_6f3).val(); +},setValue:function(_6f4,_6f5){ +$(_6f4).val(_6f5); +},resize:function(_6f6,_6f7){ +$(_6f6)._outerWidth(_6f7)._outerHeight(22); +}}}); +$.fn.datagrid.methods={options:function(jq){ +var _6f8=$.data(jq[0],"datagrid").options; +var _6f9=$.data(jq[0],"datagrid").panel.panel("options"); +var opts=$.extend(_6f8,{width:_6f9.width,height:_6f9.height,closed:_6f9.closed,collapsed:_6f9.collapsed,minimized:_6f9.minimized,maximized:_6f9.maximized}); +return opts; +},setSelectionState:function(jq){ +return jq.each(function(){ +_634(this); +}); +},createStyleSheet:function(jq){ +return _56e(jq[0]); +},getPanel:function(jq){ +return $.data(jq[0],"datagrid").panel; +},getPager:function(jq){ +return $.data(jq[0],"datagrid").panel.children("div.datagrid-pager"); +},getColumnFields:function(jq,_6fa){ +return _5c3(jq[0],_6fa); +},getColumnOption:function(jq,_6fb){ +return _5c4(jq[0],_6fb); +},resize:function(jq,_6fc){ +return jq.each(function(){ +_57d(this,_6fc); +}); +},load:function(jq,_6fd){ +return jq.each(function(){ +var opts=$(this).datagrid("options"); +if(typeof _6fd=="string"){ +opts.url=_6fd; +_6fd=null; +} +opts.pageNumber=1; +var _6fe=$(this).datagrid("getPager"); +_6fe.pagination("refresh",{pageNumber:1}); +_5f5(this,_6fd); +}); +},reload:function(jq,_6ff){ +return jq.each(function(){ +var opts=$(this).datagrid("options"); +if(typeof _6ff=="string"){ +opts.url=_6ff; +_6ff=null; +} +_5f5(this,_6ff); +}); +},reloadFooter:function(jq,_700){ +return jq.each(function(){ +var opts=$.data(this,"datagrid").options; +var dc=$.data(this,"datagrid").dc; +if(_700){ +$.data(this,"datagrid").footer=_700; +} +if(opts.showFooter){ +opts.view.renderFooter.call(opts.view,this,dc.footer2,false); +opts.view.renderFooter.call(opts.view,this,dc.footer1,true); +if(opts.view.onAfterRender){ +opts.view.onAfterRender.call(opts.view,this); +} +$(this).datagrid("fixRowHeight"); +} +}); +},loading:function(jq){ +return jq.each(function(){ +var opts=$.data(this,"datagrid").options; +$(this).datagrid("getPager").pagination("loading"); +if(opts.loadMsg){ +var _701=$(this).datagrid("getPanel"); +if(!_701.children("div.datagrid-mask").length){ +$("
                                        ").appendTo(_701); +var msg=$("
                                        ").html(opts.loadMsg).appendTo(_701); +msg._outerHeight(40); +msg.css({marginLeft:(-msg.outerWidth()/2),lineHeight:(msg.height()+"px")}); +} +} +}); +},loaded:function(jq){ +return jq.each(function(){ +$(this).datagrid("getPager").pagination("loaded"); +var _702=$(this).datagrid("getPanel"); +_702.children("div.datagrid-mask-msg").remove(); +_702.children("div.datagrid-mask").remove(); +}); +},fitColumns:function(jq){ +return jq.each(function(){ +_5f7(this); +}); +},fixColumnSize:function(jq,_703){ +return jq.each(function(){ +_613(this,_703); +}); +},fixRowHeight:function(jq,_704){ +return jq.each(function(){ +_593(this,_704); +}); +},freezeRow:function(jq,_705){ +return jq.each(function(){ +_5a0(this,_705); +}); +},autoSizeColumn:function(jq,_706){ +return jq.each(function(){ +_607(this,_706); +}); +},loadData:function(jq,data){ +return jq.each(function(){ +_5f6(this,data); +_6af(this); +}); +},getData:function(jq){ +return $.data(jq[0],"datagrid").data; +},getRows:function(jq){ +return $.data(jq[0],"datagrid").data.rows; +},getFooterRows:function(jq){ +return $.data(jq[0],"datagrid").footer; +},getRowIndex:function(jq,id){ +return _63c(jq[0],id); +},getChecked:function(jq){ +return _642(jq[0]); +},getSelected:function(jq){ +var rows=_63f(jq[0]); +return rows.length>0?rows[0]:null; +},getSelections:function(jq){ +return _63f(jq[0]); +},clearSelections:function(jq){ +return jq.each(function(){ +var _707=$.data(this,"datagrid"); +var _708=_707.selectedRows; +var _709=_707.checkedRows; +_708.splice(0,_708.length); +_653(this); +if(_707.options.checkOnSelect){ +_709.splice(0,_709.length); +} +}); +},clearChecked:function(jq){ +return jq.each(function(){ +var _70a=$.data(this,"datagrid"); +var _70b=_70a.selectedRows; +var _70c=_70a.checkedRows; +_70c.splice(0,_70c.length); +_663(this); +if(_70a.options.selectOnCheck){ +_70b.splice(0,_70b.length); +} +}); +},scrollTo:function(jq,_70d){ +return jq.each(function(){ +_645(this,_70d); +}); +},highlightRow:function(jq,_70e){ +return jq.each(function(){ +_5d8(this,_70e); +_645(this,_70e); +}); +},selectAll:function(jq){ +return jq.each(function(){ +_658(this); +}); +},unselectAll:function(jq){ +return jq.each(function(){ +_653(this); +}); +},selectRow:function(jq,_70f){ +return jq.each(function(){ +_5df(this,_70f); +}); +},selectRecord:function(jq,id){ +return jq.each(function(){ +var opts=$.data(this,"datagrid").options; +if(opts.idField){ +var _710=_63c(this,id); +if(_710>=0){ +$(this).datagrid("selectRow",_710); +} +} +}); +},unselectRow:function(jq,_711){ +return jq.each(function(){ +_5e0(this,_711); +}); +},checkRow:function(jq,_712){ +return jq.each(function(){ +_5dc(this,_712); +}); +},uncheckRow:function(jq,_713){ +return jq.each(function(){ +_5dd(this,_713); +}); +},checkAll:function(jq){ +return jq.each(function(){ +_65d(this); +}); +},uncheckAll:function(jq){ +return jq.each(function(){ +_663(this); +}); +},beginEdit:function(jq,_714){ +return jq.each(function(){ +_674(this,_714); +}); +},endEdit:function(jq,_715){ +return jq.each(function(){ +_67a(this,_715,false); +}); +},cancelEdit:function(jq,_716){ +return jq.each(function(){ +_67a(this,_716,true); +}); +},getEditors:function(jq,_717){ +return _687(jq[0],_717); +},getEditor:function(jq,_718){ +return _68b(jq[0],_718); +},refreshRow:function(jq,_719){ +return jq.each(function(){ +var opts=$.data(this,"datagrid").options; +opts.view.refreshRow.call(opts.view,this,_719); +}); +},validateRow:function(jq,_71a){ +return _679(jq[0],_71a); +},updateRow:function(jq,_71b){ +return jq.each(function(){ +var opts=$.data(this,"datagrid").options; +opts.view.updateRow.call(opts.view,this,_71b.index,_71b.row); +}); +},appendRow:function(jq,row){ +return jq.each(function(){ +_6ac(this,row); +}); +},insertRow:function(jq,_71c){ +return jq.each(function(){ +_6a8(this,_71c); +}); +},deleteRow:function(jq,_71d){ +return jq.each(function(){ +_6a2(this,_71d); +}); +},getChanges:function(jq,_71e){ +return _69c(jq[0],_71e); +},acceptChanges:function(jq){ +return jq.each(function(){ +_6b3(this); +}); +},rejectChanges:function(jq){ +return jq.each(function(){ +_6b5(this); +}); +},mergeCells:function(jq,_71f){ +return jq.each(function(){ +_6c8(this,_71f); +}); +},showColumn:function(jq,_720){ +return jq.each(function(){ +var _721=$(this).datagrid("getPanel"); +_721.find("td[field=\""+_720+"\"]").show(); +$(this).datagrid("getColumnOption",_720).hidden=false; +$(this).datagrid("fitColumns"); +}); +},hideColumn:function(jq,_722){ +return jq.each(function(){ +var _723=$(this).datagrid("getPanel"); +_723.find("td[field=\""+_722+"\"]").hide(); +$(this).datagrid("getColumnOption",_722).hidden=true; +$(this).datagrid("fitColumns"); +}); +},sort:function(jq,_724){ +return jq.each(function(){ +_5ea(this,_724); +}); +}}; +$.fn.datagrid.parseOptions=function(_725){ +var t=$(_725); +return $.extend({},$.fn.panel.parseOptions(_725),$.parser.parseOptions(_725,["url","toolbar","idField","sortName","sortOrder","pagePosition","resizeHandle",{sharedStyleSheet:"boolean",fitColumns:"boolean",autoRowHeight:"boolean",striped:"boolean",nowrap:"boolean"},{rownumbers:"boolean",singleSelect:"boolean",ctrlSelect:"boolean",checkOnSelect:"boolean",selectOnCheck:"boolean"},{pagination:"boolean",pageSize:"number",pageNumber:"number"},{multiSort:"boolean",remoteSort:"boolean",showHeader:"boolean",showFooter:"boolean"},{scrollbarSize:"number"}]),{pageList:(t.attr("pageList")?eval(t.attr("pageList")):undefined),loadMsg:(t.attr("loadMsg")!=undefined?t.attr("loadMsg"):undefined),rowStyler:(t.attr("rowStyler")?eval(t.attr("rowStyler")):undefined)}); +}; +$.fn.datagrid.parseData=function(_726){ +var t=$(_726); +var data={total:0,rows:[]}; +var _727=t.datagrid("getColumnFields",true).concat(t.datagrid("getColumnFields",false)); +t.find("tbody tr").each(function(){ +data.total++; +var row={}; +$.extend(row,$.parser.parseOptions(this,["iconCls","state"])); +for(var i=0;i<_727.length;i++){ +row[_727[i]]=$(this).find("td:eq("+i+")").html(); +} +data.rows.push(row); +}); +return data; +}; +var _728={render:function(_729,_72a,_72b){ +var _72c=$.data(_729,"datagrid"); +var opts=_72c.options; +var rows=_72c.data.rows; +var _72d=$(_729).datagrid("getColumnFields",_72b); +if(_72b){ +if(!(opts.rownumbers||(opts.frozenColumns&&opts.frozenColumns.length))){ +return; +} +} +var _72e=[""]; +for(var i=0;i"); +_72e.push(this.renderRow.call(this,_729,_72d,_72b,i,rows[i])); +_72e.push(""); +} +_72e.push("
                                        "); +$(_72a).html(_72e.join("")); +},renderFooter:function(_733,_734,_735){ +var opts=$.data(_733,"datagrid").options; +var rows=$.data(_733,"datagrid").footer||[]; +var _736=$(_733).datagrid("getColumnFields",_735); +var _737=[""]; +for(var i=0;i"); +_737.push(this.renderRow.call(this,_733,_736,_735,i,rows[i])); +_737.push(""); +} +_737.push("
                                        "); +$(_734).html(_737.join("")); +},renderRow:function(_738,_739,_73a,_73b,_73c){ +var opts=$.data(_738,"datagrid").options; +var cc=[]; +if(_73a&&opts.rownumbers){ +var _73d=_73b+1; +if(opts.pagination){ +_73d+=(opts.pageNumber-1)*opts.pageSize; +} +cc.push("
                                        "+_73d+"
                                        "); +} +for(var i=0;i<_739.length;i++){ +var _73e=_739[i]; +var col=$(_738).datagrid("getColumnOption",_73e); +if(col){ +var _73f=_73c[_73e]; +var css=col.styler?(col.styler(_73f,_73c,_73b)||""):""; +var _740=""; +var _741=""; +if(typeof css=="string"){ +_741=css; +}else{ +if(css){ +_740=css["class"]||""; +_741=css["style"]||""; +} +} +var cls=_740?"class=\""+_740+"\"":""; +var _742=col.hidden?"style=\"display:none;"+_741+"\"":(_741?"style=\""+_741+"\"":""); +cc.push(""); +var _742=""; +if(!col.checkbox){ +if(col.align){ +_742+="text-align:"+col.align+";"; +} +if(!opts.nowrap){ +_742+="white-space:normal;height:auto;"; +}else{ +if(opts.autoRowHeight){ +_742+="height:auto;"; +} +} +} +cc.push("
                                        "); +if(col.checkbox){ +cc.push(""); +}else{ +if(col.formatter){ +cc.push(col.formatter(_73f,_73c,_73b)); +}else{ +cc.push(_73f); +} +} +cc.push("
                                        "); +cc.push(""); +} +} +return cc.join(""); +},refreshRow:function(_743,_744){ +this.updateRow.call(this,_743,_744,{}); +},updateRow:function(_745,_746,row){ +var opts=$.data(_745,"datagrid").options; +var rows=$(_745).datagrid("getRows"); +var _747=_748(_746); +$.extend(rows[_746],row); +var _749=_748(_746); +var _74a=_747.c; +var _74b=_749.s; +var _74c="datagrid-row "+(_746%2&&opts.striped?"datagrid-row-alt ":" ")+_749.c; +function _748(_74d){ +var css=opts.rowStyler?opts.rowStyler.call(_745,_74d,rows[_74d]):""; +var _74e=""; +var _74f=""; +if(typeof css=="string"){ +_74f=css; +}else{ +if(css){ +_74e=css["class"]||""; +_74f=css["style"]||""; +} +} +return {c:_74e,s:_74f}; +}; +function _750(_751){ +var _752=$(_745).datagrid("getColumnFields",_751); +var tr=opts.finder.getTr(_745,_746,"body",(_751?1:2)); +var _753=tr.find("div.datagrid-cell-check input[type=checkbox]").is(":checked"); +tr.html(this.renderRow.call(this,_745,_752,_751,_746,rows[_746])); +tr.attr("style",_74b).removeClass(_74a).addClass(_74c); +if(_753){ +tr.find("div.datagrid-cell-check input[type=checkbox]")._propAttr("checked",true); +} +}; +_750.call(this,true); +_750.call(this,false); +$(_745).datagrid("fixRowHeight",_746); +},insertRow:function(_754,_755,row){ +var _756=$.data(_754,"datagrid"); +var opts=_756.options; +var dc=_756.dc; +var data=_756.data; +if(_755==undefined||_755==null){ +_755=data.rows.length; +} +if(_755>data.rows.length){ +_755=data.rows.length; +} +function _757(_758){ +var _759=_758?1:2; +for(var i=data.rows.length-1;i>=_755;i--){ +var tr=opts.finder.getTr(_754,i,"body",_759); +tr.attr("datagrid-row-index",i+1); +tr.attr("id",_756.rowIdPrefix+"-"+_759+"-"+(i+1)); +if(_758&&opts.rownumbers){ +var _75a=i+2; +if(opts.pagination){ +_75a+=(opts.pageNumber-1)*opts.pageSize; +} +tr.find("div.datagrid-cell-rownumber").html(_75a); +} +if(opts.striped){ +tr.removeClass("datagrid-row-alt").addClass((i+1)%2?"datagrid-row-alt":""); +} +} +}; +function _75b(_75c){ +var _75d=_75c?1:2; +var _75e=$(_754).datagrid("getColumnFields",_75c); +var _75f=_756.rowIdPrefix+"-"+_75d+"-"+_755; +var tr=""; +if(_755>=data.rows.length){ +if(data.rows.length){ +opts.finder.getTr(_754,"","last",_75d).after(tr); +}else{ +var cc=_75c?dc.body1:dc.body2; +cc.html(""+tr+"
                                        "); +} +}else{ +opts.finder.getTr(_754,_755+1,"body",_75d).before(tr); +} +}; +_757.call(this,true); +_757.call(this,false); +_75b.call(this,true); +_75b.call(this,false); +data.total+=1; +data.rows.splice(_755,0,row); +this.refreshRow.call(this,_754,_755); +},deleteRow:function(_760,_761){ +var _762=$.data(_760,"datagrid"); +var opts=_762.options; +var data=_762.data; +function _763(_764){ +var _765=_764?1:2; +for(var i=_761+1;itable>tbody>tr[datagrid-row-index="+_770+"]"); +} +return tr; +}else{ +if(type=="footer"){ +return (_771==1?dc.footer1:dc.footer2).find(">table>tbody>tr[datagrid-row-index="+_770+"]"); +}else{ +if(type=="selected"){ +return (_771==1?dc.body1:dc.body2).find(">table>tbody>tr.datagrid-row-selected"); +}else{ +if(type=="highlight"){ +return (_771==1?dc.body1:dc.body2).find(">table>tbody>tr.datagrid-row-over"); +}else{ +if(type=="checked"){ +return (_771==1?dc.body1:dc.body2).find(">table>tbody>tr.datagrid-row-checked"); +}else{ +if(type=="editing"){ +return (_771==1?dc.body1:dc.body2).find(">table>tbody>tr.datagrid-row-editing"); +}else{ +if(type=="last"){ +return (_771==1?dc.body1:dc.body2).find(">table>tbody>tr[datagrid-row-index]:last"); +}else{ +if(type=="allbody"){ +return (_771==1?dc.body1:dc.body2).find(">table>tbody>tr[datagrid-row-index]"); +}else{ +if(type=="allfooter"){ +return (_771==1?dc.footer1:dc.footer2).find(">table>tbody>tr[datagrid-row-index]"); +} +} +} +} +} +} +} +} +} +} +},getRow:function(_773,p){ +var _774=(typeof p=="object")?p.attr("datagrid-row-index"):p; +return $.data(_773,"datagrid").data.rows[parseInt(_774)]; +},getRows:function(_775){ +return $(_775).datagrid("getRows"); +}},view:_728,onBeforeLoad:function(_776){ +},onLoadSuccess:function(){ +},onLoadError:function(){ +},onClickRow:function(_777,_778){ +},onDblClickRow:function(_779,_77a){ +},onClickCell:function(_77b,_77c,_77d){ +},onDblClickCell:function(_77e,_77f,_780){ +},onBeforeSortColumn:function(sort,_781){ +},onSortColumn:function(sort,_782){ +},onResizeColumn:function(_783,_784){ +},onBeforeSelect:function(_785,_786){ +},onSelect:function(_787,_788){ +},onBeforeUnselect:function(_789,_78a){ +},onUnselect:function(_78b,_78c){ +},onSelectAll:function(rows){ +},onUnselectAll:function(rows){ +},onBeforeCheck:function(_78d,_78e){ +},onCheck:function(_78f,_790){ +},onBeforeUncheck:function(_791,_792){ +},onUncheck:function(_793,_794){ +},onCheckAll:function(rows){ +},onUncheckAll:function(rows){ +},onBeforeEdit:function(_795,_796){ +},onBeginEdit:function(_797,_798){ +},onEndEdit:function(_799,_79a,_79b){ +},onAfterEdit:function(_79c,_79d,_79e){ +},onCancelEdit:function(_79f,_7a0){ +},onHeaderContextMenu:function(e,_7a1){ +},onRowContextMenu:function(e,_7a2,_7a3){ +}}); +})(jQuery); +(function($){ +var _7a4; +$(document).unbind(".propertygrid").bind("mousedown.propertygrid",function(e){ +var p=$(e.target).closest("div.datagrid-view,div.combo-panel"); +if(p.length){ +return; +} +_7a5(_7a4); +_7a4=undefined; +}); +function _7a6(_7a7){ +var _7a8=$.data(_7a7,"propertygrid"); +var opts=$.data(_7a7,"propertygrid").options; +$(_7a7).datagrid($.extend({},opts,{cls:"propertygrid",view:(opts.showGroup?opts.groupView:opts.view),onBeforeEdit:function(_7a9,row){ +if(opts.onBeforeEdit.call(_7a7,_7a9,row)==false){ +return false; +} +var dg=$(this); +var row=dg.datagrid("getRows")[_7a9]; +var col=dg.datagrid("getColumnOption","value"); +col.editor=row.editor; +},onClickCell:function(_7aa,_7ab,_7ac){ +if(_7a4!=this){ +_7a5(_7a4); +_7a4=this; +} +if(opts.editIndex!=_7aa){ +_7a5(_7a4); +$(this).datagrid("beginEdit",_7aa); +var ed=$(this).datagrid("getEditor",{index:_7aa,field:_7ab}); +if(!ed){ +ed=$(this).datagrid("getEditor",{index:_7aa,field:"value"}); +} +if(ed){ +var t=$(ed.target); +var _7ad=t.data("textbox")?t.textbox("textbox"):t; +_7ad.focus(); +opts.editIndex=_7aa; +} +} +opts.onClickCell.call(_7a7,_7aa,_7ab,_7ac); +},loadFilter:function(data){ +_7a5(this); +return opts.loadFilter.call(this,data); +}})); +}; +function _7a5(_7ae){ +var t=$(_7ae); +if(!t.length){ +return; +} +var opts=$.data(_7ae,"propertygrid").options; +opts.finder.getTr(_7ae,null,"editing").each(function(){ +var _7af=parseInt($(this).attr("datagrid-row-index")); +if(t.datagrid("validateRow",_7af)){ +t.datagrid("endEdit",_7af); +}else{ +t.datagrid("cancelEdit",_7af); +} +}); +}; +$.fn.propertygrid=function(_7b0,_7b1){ +if(typeof _7b0=="string"){ +var _7b2=$.fn.propertygrid.methods[_7b0]; +if(_7b2){ +return _7b2(this,_7b1); +}else{ +return this.datagrid(_7b0,_7b1); +} +} +_7b0=_7b0||{}; +return this.each(function(){ +var _7b3=$.data(this,"propertygrid"); +if(_7b3){ +$.extend(_7b3.options,_7b0); +}else{ +var opts=$.extend({},$.fn.propertygrid.defaults,$.fn.propertygrid.parseOptions(this),_7b0); +opts.frozenColumns=$.extend(true,[],opts.frozenColumns); +opts.columns=$.extend(true,[],opts.columns); +$.data(this,"propertygrid",{options:opts}); +} +_7a6(this); +}); +}; +$.fn.propertygrid.methods={options:function(jq){ +return $.data(jq[0],"propertygrid").options; +}}; +$.fn.propertygrid.parseOptions=function(_7b4){ +return $.extend({},$.fn.datagrid.parseOptions(_7b4),$.parser.parseOptions(_7b4,[{showGroup:"boolean"}])); +}; +var _7b5=$.extend({},$.fn.datagrid.defaults.view,{render:function(_7b6,_7b7,_7b8){ +var _7b9=[]; +var _7ba=this.groups; +for(var i=0;i<_7ba.length;i++){ +_7b9.push(this.renderGroup.call(this,_7b6,i,_7ba[i],_7b8)); +} +$(_7b7).html(_7b9.join("")); +},renderGroup:function(_7bb,_7bc,_7bd,_7be){ +var _7bf=$.data(_7bb,"datagrid"); +var opts=_7bf.options; +var _7c0=$(_7bb).datagrid("getColumnFields",_7be); +var _7c1=[]; +_7c1.push("
                                        "); +_7c1.push(""); +_7c1.push(""); +if((_7be&&(opts.rownumbers||opts.frozenColumns.length))||(!_7be&&!(opts.rownumbers||opts.frozenColumns.length))){ +_7c1.push(""); +} +_7c1.push(""); +_7c1.push(""); +_7c1.push("
                                         "); +if(!_7be){ +_7c1.push(""); +_7c1.push(opts.groupFormatter.call(_7bb,_7bd.value,_7bd.rows)); +_7c1.push(""); +} +_7c1.push("
                                        "); +_7c1.push("
                                        "); +_7c1.push(""); +var _7c2=_7bd.startIndex; +for(var j=0;j<_7bd.rows.length;j++){ +var css=opts.rowStyler?opts.rowStyler.call(_7bb,_7c2,_7bd.rows[j]):""; +var _7c3=""; +var _7c4=""; +if(typeof css=="string"){ +_7c4=css; +}else{ +if(css){ +_7c3=css["class"]||""; +_7c4=css["style"]||""; +} +} +var cls="class=\"datagrid-row "+(_7c2%2&&opts.striped?"datagrid-row-alt ":" ")+_7c3+"\""; +var _7c5=_7c4?"style=\""+_7c4+"\"":""; +var _7c6=_7bf.rowIdPrefix+"-"+(_7be?1:2)+"-"+_7c2; +_7c1.push(""); +_7c1.push(this.renderRow.call(this,_7bb,_7c0,_7be,_7c2,_7bd.rows[j])); +_7c1.push(""); +_7c2++; +} +_7c1.push("
                                        "); +return _7c1.join(""); +},bindEvents:function(_7c7){ +var _7c8=$.data(_7c7,"datagrid"); +var dc=_7c8.dc; +var body=dc.body1.add(dc.body2); +var _7c9=($.data(body[0],"events")||$._data(body[0],"events")).click[0].handler; +body.unbind("click").bind("click",function(e){ +var tt=$(e.target); +var _7ca=tt.closest("span.datagrid-row-expander"); +if(_7ca.length){ +var _7cb=_7ca.closest("div.datagrid-group").attr("group-index"); +if(_7ca.hasClass("datagrid-row-collapse")){ +$(_7c7).datagrid("collapseGroup",_7cb); +}else{ +$(_7c7).datagrid("expandGroup",_7cb); +} +}else{ +_7c9(e); +} +e.stopPropagation(); +}); +},onBeforeRender:function(_7cc,rows){ +var _7cd=$.data(_7cc,"datagrid"); +var opts=_7cd.options; +_7ce(); +var _7cf=[]; +for(var i=0;i"+".datagrid-group{height:25px;overflow:hidden;font-weight:bold;border-bottom:1px solid #ccc;}"+""); +} +}; +}}); +$.extend($.fn.datagrid.methods,{expandGroup:function(jq,_7d6){ +return jq.each(function(){ +var view=$.data(this,"datagrid").dc.view; +var _7d7=view.find(_7d6!=undefined?"div.datagrid-group[group-index=\""+_7d6+"\"]":"div.datagrid-group"); +var _7d8=_7d7.find("span.datagrid-row-expander"); +if(_7d8.hasClass("datagrid-row-expand")){ +_7d8.removeClass("datagrid-row-expand").addClass("datagrid-row-collapse"); +_7d7.next("table").show(); +} +$(this).datagrid("fixRowHeight"); +}); +},collapseGroup:function(jq,_7d9){ +return jq.each(function(){ +var view=$.data(this,"datagrid").dc.view; +var _7da=view.find(_7d9!=undefined?"div.datagrid-group[group-index=\""+_7d9+"\"]":"div.datagrid-group"); +var _7db=_7da.find("span.datagrid-row-expander"); +if(_7db.hasClass("datagrid-row-collapse")){ +_7db.removeClass("datagrid-row-collapse").addClass("datagrid-row-expand"); +_7da.next("table").hide(); +} +$(this).datagrid("fixRowHeight"); +}); +}}); +$.extend(_7b5,{refreshGroupTitle:function(_7dc,_7dd){ +var _7de=$.data(_7dc,"datagrid"); +var opts=_7de.options; +var dc=_7de.dc; +var _7df=this.groups[_7dd]; +var span=dc.body2.children("div.datagrid-group[group-index="+_7dd+"]").find("span.datagrid-group-title"); +span.html(opts.groupFormatter.call(_7dc,_7df.value,_7df.rows)); +},insertRow:function(_7e0,_7e1,row){ +var _7e2=$.data(_7e0,"datagrid"); +var opts=_7e2.options; +var dc=_7e2.dc; +var _7e3=null; +var _7e4; +for(var i=0;i_7e3.startIndex+_7e3.rows.length){ +_7e1=_7e3.startIndex+_7e3.rows.length; +} +} +$.fn.datagrid.defaults.view.insertRow.call(this,_7e0,_7e1,row); +if(_7e1>=_7e3.startIndex+_7e3.rows.length){ +_7e5(_7e1,true); +_7e5(_7e1,false); +} +_7e3.rows.splice(_7e1-_7e3.startIndex,0,row); +}else{ +_7e3={value:row[opts.groupField],rows:[row],startIndex:_7e2.data.rows.length}; +_7e4=this.groups.length; +dc.body1.append(this.renderGroup.call(this,_7e0,_7e4,_7e3,true)); +dc.body2.append(this.renderGroup.call(this,_7e0,_7e4,_7e3,false)); +this.groups.push(_7e3); +_7e2.data.rows.push(row); +} +this.refreshGroupTitle(_7e0,_7e4); +function _7e5(_7e6,_7e7){ +var _7e8=_7e7?1:2; +var _7e9=opts.finder.getTr(_7e0,_7e6-1,"body",_7e8); +var tr=opts.finder.getTr(_7e0,_7e6,"body",_7e8); +tr.insertAfter(_7e9); +}; +},updateRow:function(_7ea,_7eb,row){ +var opts=$.data(_7ea,"datagrid").options; +$.fn.datagrid.defaults.view.updateRow.call(this,_7ea,_7eb,row); +var tb=opts.finder.getTr(_7ea,_7eb,"body",2).closest("table.datagrid-btable"); +var _7ec=parseInt(tb.prev().attr("group-index")); +this.refreshGroupTitle(_7ea,_7ec); +},deleteRow:function(_7ed,_7ee){ +var _7ef=$.data(_7ed,"datagrid"); +var opts=_7ef.options; +var dc=_7ef.dc; +var body=dc.body1.add(dc.body2); +var tb=opts.finder.getTr(_7ed,_7ee,"body",2).closest("table.datagrid-btable"); +var _7f0=parseInt(tb.prev().attr("group-index")); +$.fn.datagrid.defaults.view.deleteRow.call(this,_7ed,_7ee); +var _7f1=this.groups[_7f0]; +if(_7f1.rows.length>1){ +_7f1.rows.splice(_7ee-_7f1.startIndex,1); +this.refreshGroupTitle(_7ed,_7f0); +}else{ +body.children("div.datagrid-group[group-index="+_7f0+"]").remove(); +for(var i=_7f0+1;i"+""+"
                                        "+""+"").insertAfter(tr); +}; +}; +function _828(_829,_82a,data,_82b){ +var _82c=$.data(_829,"treegrid"); +var opts=_82c.options; +var dc=_82c.dc; +data=opts.loadFilter.call(_829,data,_82a); +var node=find(_829,_82a); +if(node){ +var _82d=opts.finder.getTr(_829,_82a,"body",1); +var _82e=opts.finder.getTr(_829,_82a,"body",2); +var cc1=_82d.next("tr.treegrid-tr-tree").children("td").children("div"); +var cc2=_82e.next("tr.treegrid-tr-tree").children("td").children("div"); +if(!_82b){ +node.children=[]; +} +}else{ +var cc1=dc.body1; +var cc2=dc.body2; +if(!_82b){ +_82c.data=[]; +} +} +if(!_82b){ +cc1.empty(); +cc2.empty(); +} +if(opts.view.onBeforeRender){ +opts.view.onBeforeRender.call(opts.view,_829,_82a,data); +} +opts.view.render.call(opts.view,_829,cc1,true); +opts.view.render.call(opts.view,_829,cc2,false); +if(opts.showFooter){ +opts.view.renderFooter.call(opts.view,_829,dc.footer1,true); +opts.view.renderFooter.call(opts.view,_829,dc.footer2,false); +} +if(opts.view.onAfterRender){ +opts.view.onAfterRender.call(opts.view,_829); +} +if(!_82a&&opts.pagination){ +var _82f=$.data(_829,"treegrid").total; +var _830=$(_829).datagrid("getPager"); +if(_830.pagination("options").total!=_82f){ +_830.pagination({total:_82f}); +} +} +_812(_829); +_81a(_829); +$(_829).treegrid("showLines"); +$(_829).treegrid("setSelectionState"); +$(_829).treegrid("autoSizeColumn"); +opts.onLoadSuccess.call(_829,node,data); +}; +function _811(_831,_832,_833,_834,_835){ +var opts=$.data(_831,"treegrid").options; +var body=$(_831).datagrid("getPanel").find("div.datagrid-body"); +if(_833){ +opts.queryParams=_833; +} +var _836=$.extend({},opts.queryParams); +if(opts.pagination){ +$.extend(_836,{page:opts.pageNumber,rows:opts.pageSize}); +} +if(opts.sortName){ +$.extend(_836,{sort:opts.sortName,order:opts.sortOrder}); +} +var row=find(_831,_832); +if(opts.onBeforeLoad.call(_831,row,_836)==false){ +return; +} +var _837=body.find("tr[node-id=\""+_832+"\"] span.tree-folder"); +_837.addClass("tree-loading"); +$(_831).treegrid("loading"); +var _838=opts.loader.call(_831,_836,function(data){ +_837.removeClass("tree-loading"); +$(_831).treegrid("loaded"); +_828(_831,_832,data,_834); +if(_835){ +_835(); +} +},function(){ +_837.removeClass("tree-loading"); +$(_831).treegrid("loaded"); +opts.onLoadError.apply(_831,arguments); +if(_835){ +_835(); +} +}); +if(_838==false){ +_837.removeClass("tree-loading"); +$(_831).treegrid("loaded"); +} +}; +function _839(_83a){ +var rows=_83b(_83a); +if(rows.length){ +return rows[0]; +}else{ +return null; +} +}; +function _83b(_83c){ +return $.data(_83c,"treegrid").data; +}; +function _83d(_83e,_83f){ +var row=find(_83e,_83f); +if(row._parentId){ +return find(_83e,row._parentId); +}else{ +return null; +} +}; +function _816(_840,_841){ +var opts=$.data(_840,"treegrid").options; +var body=$(_840).datagrid("getPanel").find("div.datagrid-view2 div.datagrid-body"); +var _842=[]; +if(_841){ +_843(_841); +}else{ +var _844=_83b(_840); +for(var i=0;i<_844.length;i++){ +_842.push(_844[i]); +_843(_844[i][opts.idField]); +} +} +function _843(_845){ +var _846=find(_840,_845); +if(_846&&_846.children){ +for(var i=0,len=_846.children.length;i").insertBefore(_866); +if(hit.prev().length){ +hit.prev().remove(); +} +} +} +_828(_864,_865.parent,_865.data,true); +}; +function _867(_868,_869){ +var ref=_869.before||_869.after; +var opts=$.data(_868,"treegrid").options; +var _86a=_83d(_868,ref); +_863(_868,{parent:(_86a?_86a[opts.idField]:null),data:[_869.data]}); +var _86b=_86a?_86a.children:$(_868).treegrid("getRoots"); +for(var i=0;i<_86b.length;i++){ +if(_86b[i][opts.idField]==ref){ +var _86c=_86b[_86b.length-1]; +_86b.splice(_869.before?i:(i+1),0,_86c); +_86b.splice(_86b.length-1,1); +break; +} +} +_86d(true); +_86d(false); +_81a(_868); +$(_868).treegrid("showLines"); +function _86d(_86e){ +var _86f=_86e?1:2; +var tr=opts.finder.getTr(_868,_869.data[opts.idField],"body",_86f); +var _870=tr.closest("table.datagrid-btable"); +tr=tr.parent().children(); +var dest=opts.finder.getTr(_868,ref,"body",_86f); +if(_869.before){ +tr.insertBefore(dest); +}else{ +var sub=dest.next("tr.treegrid-tr-tree"); +tr.insertAfter(sub.length?sub:dest); +} +_870.remove(); +}; +}; +function _871(_872,_873){ +var _874=$.data(_872,"treegrid"); +$(_872).datagrid("deleteRow",_873); +_81a(_872); +_874.total-=1; +$(_872).datagrid("getPager").pagination("refresh",{total:_874.total}); +$(_872).treegrid("showLines"); +}; +function _875(_876){ +var t=$(_876); +var opts=t.treegrid("options"); +if(opts.lines){ +t.treegrid("getPanel").addClass("tree-lines"); +}else{ +t.treegrid("getPanel").removeClass("tree-lines"); +return; +} +t.treegrid("getPanel").find("span.tree-indent").removeClass("tree-line tree-join tree-joinbottom"); +t.treegrid("getPanel").find("div.datagrid-cell").removeClass("tree-node-last tree-root-first tree-root-one"); +var _877=t.treegrid("getRoots"); +if(_877.length>1){ +_878(_877[0]).addClass("tree-root-first"); +}else{ +if(_877.length==1){ +_878(_877[0]).addClass("tree-root-one"); +} +} +_879(_877); +_87a(_877); +function _879(_87b){ +$.map(_87b,function(node){ +if(node.children&&node.children.length){ +_879(node.children); +}else{ +var cell=_878(node); +cell.find(".tree-icon").prev().addClass("tree-join"); +} +}); +if(_87b.length){ +var cell=_878(_87b[_87b.length-1]); +cell.addClass("tree-node-last"); +cell.find(".tree-join").removeClass("tree-join").addClass("tree-joinbottom"); +} +}; +function _87a(_87c){ +$.map(_87c,function(node){ +if(node.children&&node.children.length){ +_87a(node.children); +} +}); +for(var i=0;i<_87c.length-1;i++){ +var node=_87c[i]; +var _87d=t.treegrid("getLevel",node[opts.idField]); +var tr=opts.finder.getTr(_876,node[opts.idField]); +var cc=tr.next().find("tr.datagrid-row td[field=\""+opts.treeField+"\"] div.datagrid-cell"); +cc.find("span:eq("+(_87d-1)+")").addClass("tree-line"); +} +}; +function _878(node){ +var tr=opts.finder.getTr(_876,node[opts.idField]); +var cell=tr.find("td[field=\""+opts.treeField+"\"] div.datagrid-cell"); +return cell; +}; +}; +$.fn.treegrid=function(_87e,_87f){ +if(typeof _87e=="string"){ +var _880=$.fn.treegrid.methods[_87e]; +if(_880){ +return _880(this,_87f); +}else{ +return this.datagrid(_87e,_87f); +} +} +_87e=_87e||{}; +return this.each(function(){ +var _881=$.data(this,"treegrid"); +if(_881){ +$.extend(_881.options,_87e); +}else{ +_881=$.data(this,"treegrid",{options:$.extend({},$.fn.treegrid.defaults,$.fn.treegrid.parseOptions(this),_87e),data:[]}); +} +_7f3(this); +if(_881.options.data){ +$(this).treegrid("loadData",_881.options.data); +} +_811(this); +}); +}; +$.fn.treegrid.methods={options:function(jq){ +return $.data(jq[0],"treegrid").options; +},resize:function(jq,_882){ +return jq.each(function(){ +$(this).datagrid("resize",_882); +}); +},fixRowHeight:function(jq,_883){ +return jq.each(function(){ +_812(this,_883); +}); +},loadData:function(jq,data){ +return jq.each(function(){ +_828(this,data.parent,data); +}); +},load:function(jq,_884){ +return jq.each(function(){ +$(this).treegrid("options").pageNumber=1; +$(this).treegrid("getPager").pagination({pageNumber:1}); +$(this).treegrid("reload",_884); +}); +},reload:function(jq,id){ +return jq.each(function(){ +var opts=$(this).treegrid("options"); +var _885={}; +if(typeof id=="object"){ +_885=id; +}else{ +_885=$.extend({},opts.queryParams); +_885.id=id; +} +if(_885.id){ +var node=$(this).treegrid("find",_885.id); +if(node.children){ +node.children.splice(0,node.children.length); +} +opts.queryParams=_885; +var tr=opts.finder.getTr(this,_885.id); +tr.next("tr.treegrid-tr-tree").remove(); +tr.find("span.tree-hit").removeClass("tree-expanded tree-expanded-hover").addClass("tree-collapsed"); +_850(this,_885.id); +}else{ +_811(this,null,_885); +} +}); +},reloadFooter:function(jq,_886){ +return jq.each(function(){ +var opts=$.data(this,"treegrid").options; +var dc=$.data(this,"datagrid").dc; +if(_886){ +$.data(this,"treegrid").footer=_886; +} +if(opts.showFooter){ +opts.view.renderFooter.call(opts.view,this,dc.footer1,true); +opts.view.renderFooter.call(opts.view,this,dc.footer2,false); +if(opts.view.onAfterRender){ +opts.view.onAfterRender.call(opts.view,this); +} +$(this).treegrid("fixRowHeight"); +} +}); +},getData:function(jq){ +return $.data(jq[0],"treegrid").data; +},getFooterRows:function(jq){ +return $.data(jq[0],"treegrid").footer; +},getRoot:function(jq){ +return _839(jq[0]); +},getRoots:function(jq){ +return _83b(jq[0]); +},getParent:function(jq,id){ +return _83d(jq[0],id); +},getChildren:function(jq,id){ +return _816(jq[0],id); +},getLevel:function(jq,id){ +return _848(jq[0],id); +},find:function(jq,id){ +return find(jq[0],id); +},isLeaf:function(jq,id){ +var opts=$.data(jq[0],"treegrid").options; +var tr=opts.finder.getTr(jq[0],id); +var hit=tr.find("span.tree-hit"); +return hit.length==0; +},select:function(jq,id){ +return jq.each(function(){ +$(this).datagrid("selectRow",id); +}); +},unselect:function(jq,id){ +return jq.each(function(){ +$(this).datagrid("unselectRow",id); +}); +},collapse:function(jq,id){ +return jq.each(function(){ +_84d(this,id); +}); +},expand:function(jq,id){ +return jq.each(function(){ +_850(this,id); +}); +},toggle:function(jq,id){ +return jq.each(function(){ +_820(this,id); +}); +},collapseAll:function(jq,id){ +return jq.each(function(){ +_858(this,id); +}); +},expandAll:function(jq,id){ +return jq.each(function(){ +_85c(this,id); +}); +},expandTo:function(jq,id){ +return jq.each(function(){ +_860(this,id); +}); +},append:function(jq,_887){ +return jq.each(function(){ +_863(this,_887); +}); +},insert:function(jq,_888){ +return jq.each(function(){ +_867(this,_888); +}); +},remove:function(jq,id){ +return jq.each(function(){ +_871(this,id); +}); +},pop:function(jq,id){ +var row=jq.treegrid("find",id); +jq.treegrid("remove",id); +return row; +},refresh:function(jq,id){ +return jq.each(function(){ +var opts=$.data(this,"treegrid").options; +opts.view.refreshRow.call(opts.view,this,id); +}); +},update:function(jq,_889){ +return jq.each(function(){ +var opts=$.data(this,"treegrid").options; +opts.view.updateRow.call(opts.view,this,_889.id,_889.row); +}); +},beginEdit:function(jq,id){ +return jq.each(function(){ +$(this).datagrid("beginEdit",id); +$(this).treegrid("fixRowHeight",id); +}); +},endEdit:function(jq,id){ +return jq.each(function(){ +$(this).datagrid("endEdit",id); +}); +},cancelEdit:function(jq,id){ +return jq.each(function(){ +$(this).datagrid("cancelEdit",id); +}); +},showLines:function(jq){ +return jq.each(function(){ +_875(this); +}); +}}; +$.fn.treegrid.parseOptions=function(_88a){ +return $.extend({},$.fn.datagrid.parseOptions(_88a),$.parser.parseOptions(_88a,["treeField",{animate:"boolean"}])); +}; +var _88b=$.extend({},$.fn.datagrid.defaults.view,{render:function(_88c,_88d,_88e){ +var opts=$.data(_88c,"treegrid").options; +var _88f=$(_88c).datagrid("getColumnFields",_88e); +var _890=$.data(_88c,"datagrid").rowIdPrefix; +if(_88e){ +if(!(opts.rownumbers||(opts.frozenColumns&&opts.frozenColumns.length))){ +return; +} +} +var view=this; +if(this.treeNodes&&this.treeNodes.length){ +var _891=_892(_88e,this.treeLevel,this.treeNodes); +$(_88d).append(_891.join("")); +} +function _892(_893,_894,_895){ +var _896=$(_88c).treegrid("getParent",_895[0][opts.idField]); +var _897=(_896?_896.children.length:$(_88c).treegrid("getRoots").length)-_895.length; +var _898=[""]; +for(var i=0;i<_895.length;i++){ +var row=_895[i]; +if(row.state!="open"&&row.state!="closed"){ +row.state="open"; +} +var css=opts.rowStyler?opts.rowStyler.call(_88c,row):""; +var _899=""; +var _89a=""; +if(typeof css=="string"){ +_89a=css; +}else{ +if(css){ +_899=css["class"]||""; +_89a=css["style"]||""; +} +} +var cls="class=\"datagrid-row "+(_897++%2&&opts.striped?"datagrid-row-alt ":" ")+_899+"\""; +var _89b=_89a?"style=\""+_89a+"\"":""; +var _89c=_890+"-"+(_893?1:2)+"-"+row[opts.idField]; +_898.push(""); +_898=_898.concat(view.renderRow.call(view,_88c,_88f,_893,_894,row)); +_898.push(""); +if(row.children&&row.children.length){ +var tt=_892(_893,_894+1,row.children); +var v=row.state=="closed"?"none":"block"; +_898.push(""); +} +} +_898.push("
                                        "); +_898=_898.concat(tt); +_898.push("
                                        "); +return _898; +}; +},renderFooter:function(_89d,_89e,_89f){ +var opts=$.data(_89d,"treegrid").options; +var rows=$.data(_89d,"treegrid").footer||[]; +var _8a0=$(_89d).datagrid("getColumnFields",_89f); +var _8a1=[""]; +for(var i=0;i"); +_8a1.push(this.renderRow.call(this,_89d,_8a0,_89f,0,row)); +_8a1.push(""); +} +_8a1.push("
                                        "); +$(_89e).html(_8a1.join("")); +},renderRow:function(_8a2,_8a3,_8a4,_8a5,row){ +var opts=$.data(_8a2,"treegrid").options; +var cc=[]; +if(_8a4&&opts.rownumbers){ +cc.push("
                                        0
                                        "); +} +for(var i=0;i<_8a3.length;i++){ +var _8a6=_8a3[i]; +var col=$(_8a2).datagrid("getColumnOption",_8a6); +if(col){ +var css=col.styler?(col.styler(row[_8a6],row)||""):""; +var _8a7=""; +var _8a8=""; +if(typeof css=="string"){ +_8a8=css; +}else{ +if(cc){ +_8a7=css["class"]||""; +_8a8=css["style"]||""; +} +} +var cls=_8a7?"class=\""+_8a7+"\"":""; +var _8a9=col.hidden?"style=\"display:none;"+_8a8+"\"":(_8a8?"style=\""+_8a8+"\"":""); +cc.push(""); +var _8a9=""; +if(!col.checkbox){ +if(col.align){ +_8a9+="text-align:"+col.align+";"; +} +if(!opts.nowrap){ +_8a9+="white-space:normal;height:auto;"; +}else{ +if(opts.autoRowHeight){ +_8a9+="height:auto;"; +} +} +} +cc.push("
                                        "); +if(col.checkbox){ +if(row.checked){ +cc.push(""); +}else{ +var val=null; +if(col.formatter){ +val=col.formatter(row[_8a6],row); +}else{ +val=row[_8a6]; +} +if(_8a6==opts.treeField){ +for(var j=0;j<_8a5;j++){ +cc.push(""); +} +if(row.state=="closed"){ +cc.push(""); +cc.push(""); +}else{ +if(row.children&&row.children.length){ +cc.push(""); +cc.push(""); +}else{ +cc.push(""); +cc.push(""); +} +} +cc.push(""+val+""); +}else{ +cc.push(val); +} +} +cc.push("
                                        "); +cc.push(""); +} +} +return cc.join(""); +},refreshRow:function(_8aa,id){ +this.updateRow.call(this,_8aa,id,{}); +},updateRow:function(_8ab,id,row){ +var opts=$.data(_8ab,"treegrid").options; +var _8ac=$(_8ab).treegrid("find",id); +$.extend(_8ac,row); +var _8ad=$(_8ab).treegrid("getLevel",id)-1; +var _8ae=opts.rowStyler?opts.rowStyler.call(_8ab,_8ac):""; +var _8af=$.data(_8ab,"datagrid").rowIdPrefix; +var _8b0=_8ac[opts.idField]; +function _8b1(_8b2){ +var _8b3=$(_8ab).treegrid("getColumnFields",_8b2); +var tr=opts.finder.getTr(_8ab,id,"body",(_8b2?1:2)); +var _8b4=tr.find("div.datagrid-cell-rownumber").html(); +var _8b5=tr.find("div.datagrid-cell-check input[type=checkbox]").is(":checked"); +tr.html(this.renderRow(_8ab,_8b3,_8b2,_8ad,_8ac)); +tr.attr("style",_8ae||""); +tr.find("div.datagrid-cell-rownumber").html(_8b4); +if(_8b5){ +tr.find("div.datagrid-cell-check input[type=checkbox]")._propAttr("checked",true); +} +if(_8b0!=id){ +tr.attr("id",_8af+"-"+(_8b2?1:2)+"-"+_8b0); +tr.attr("node-id",_8b0); +} +}; +_8b1.call(this,true); +_8b1.call(this,false); +$(_8ab).treegrid("fixRowHeight",id); +},deleteRow:function(_8b6,id){ +var opts=$.data(_8b6,"treegrid").options; +var tr=opts.finder.getTr(_8b6,id); +tr.next("tr.treegrid-tr-tree").remove(); +tr.remove(); +var _8b7=del(id); +if(_8b7){ +if(_8b7.children.length==0){ +tr=opts.finder.getTr(_8b6,_8b7[opts.idField]); +tr.next("tr.treegrid-tr-tree").remove(); +var cell=tr.children("td[field=\""+opts.treeField+"\"]").children("div.datagrid-cell"); +cell.find(".tree-icon").removeClass("tree-folder").addClass("tree-file"); +cell.find(".tree-hit").remove(); +$("").prependTo(cell); +} +} +function del(id){ +var cc; +var _8b8=$(_8b6).treegrid("getParent",id); +if(_8b8){ +cc=_8b8.children; +}else{ +cc=$(_8b6).treegrid("getData"); +} +for(var i=0;ib?1:-1); +}; +r=_8c3(r1[sn],r2[sn])*(so=="asc"?1:-1); +if(r!=0){ +return r; +} +} +return r; +}); +for(var i=0;idiv.combo-p>div.combo-panel:visible").panel("close"); +}); +}); +function _8d5(_8d6){ +var _8d7=$.data(_8d6,"combo"); +var opts=_8d7.options; +if(!_8d7.panel){ +_8d7.panel=$("
                                        ").appendTo("body"); +_8d7.panel.panel({minWidth:opts.panelMinWidth,maxWidth:opts.panelMaxWidth,minHeight:opts.panelMinHeight,maxHeight:opts.panelMaxHeight,doSize:false,closed:true,cls:"combo-p",style:{position:"absolute",zIndex:10},onOpen:function(){ +var _8d8=$(this).panel("options").comboTarget; +var _8d9=$.data(_8d8,"combo"); +if(_8d9){ +_8d9.options.onShowPanel.call(_8d8); +} +},onBeforeClose:function(){ +_8d4(this); +},onClose:function(){ +var _8da=$(this).panel("options").comboTarget; +var _8db=$.data(_8da,"combo"); +if(_8db){ +_8db.options.onHidePanel.call(_8da); +} +}}); +} +var _8dc=$.extend(true,[],opts.icons); +if(opts.hasDownArrow){ +_8dc.push({iconCls:"combo-arrow",handler:function(e){ +_8e0(e.data.target); +}}); +} +$(_8d6).addClass("combo-f").textbox($.extend({},opts,{icons:_8dc,onChange:function(){ +}})); +$(_8d6).attr("comboName",$(_8d6).attr("textboxName")); +_8d7.combo=$(_8d6).next(); +_8d7.combo.addClass("combo"); +}; +function _8dd(_8de){ +var _8df=$.data(_8de,"combo"); +var opts=_8df.options; +var p=_8df.panel; +if(p.is(":visible")){ +p.panel("close"); +} +if(!opts.cloned){ +p.panel("destroy"); +} +$(_8de).textbox("destroy"); +}; +function _8e0(_8e1){ +var _8e2=$.data(_8e1,"combo").panel; +if(_8e2.is(":visible")){ +_8e3(_8e1); +}else{ +var p=$(_8e1).closest("div.combo-panel"); +$("div.combo-panel:visible").not(_8e2).not(p).panel("close"); +$(_8e1).combo("showPanel"); +} +$(_8e1).combo("textbox").focus(); +}; +function _8d4(_8e4){ +$(_8e4).find(".combo-f").each(function(){ +var p=$(this).combo("panel"); +if(p.is(":visible")){ +p.panel("close"); +} +}); +}; +function _8e5(e){ +var _8e6=e.data.target; +var _8e7=$.data(_8e6,"combo"); +var opts=_8e7.options; +var _8e8=_8e7.panel; +if(!opts.editable){ +_8e0(_8e6); +}else{ +var p=$(_8e6).closest("div.combo-panel"); +$("div.combo-panel:visible").not(_8e8).not(p).panel("close"); +} +}; +function _8e9(e){ +var _8ea=e.data.target; +var t=$(_8ea); +var _8eb=t.data("combo"); +var opts=t.combo("options"); +switch(e.keyCode){ +case 38: +opts.keyHandler.up.call(_8ea,e); +break; +case 40: +opts.keyHandler.down.call(_8ea,e); +break; +case 37: +opts.keyHandler.left.call(_8ea,e); +break; +case 39: +opts.keyHandler.right.call(_8ea,e); +break; +case 13: +e.preventDefault(); +opts.keyHandler.enter.call(_8ea,e); +return false; +case 9: +case 27: +_8e3(_8ea); +break; +default: +if(opts.editable){ +if(_8eb.timer){ +clearTimeout(_8eb.timer); +} +_8eb.timer=setTimeout(function(){ +var q=t.combo("getText"); +if(_8eb.previousText!=q){ +_8eb.previousText=q; +t.combo("showPanel"); +opts.keyHandler.query.call(_8ea,q,e); +t.combo("validate"); +} +},opts.delay); +} +} +}; +function _8ec(_8ed){ +var _8ee=$.data(_8ed,"combo"); +var _8ef=_8ee.combo; +var _8f0=_8ee.panel; +var opts=$(_8ed).combo("options"); +var _8f1=_8f0.panel("options"); +_8f1.comboTarget=_8ed; +if(_8f1.closed){ +_8f0.panel("panel").show().css({zIndex:($.fn.menu?$.fn.menu.defaults.zIndex++:$.fn.window.defaults.zIndex++),left:-999999}); +_8f0.panel("resize",{width:(opts.panelWidth?opts.panelWidth:_8ef._outerWidth()),height:opts.panelHeight}); +_8f0.panel("panel").hide(); +_8f0.panel("open"); +} +(function(){ +if(_8f0.is(":visible")){ +_8f0.panel("move",{left:_8f2(),top:_8f3()}); +setTimeout(arguments.callee,200); +} +})(); +function _8f2(){ +var left=_8ef.offset().left; +if(opts.panelAlign=="right"){ +left+=_8ef._outerWidth()-_8f0._outerWidth(); +} +if(left+_8f0._outerWidth()>$(window)._outerWidth()+$(document).scrollLeft()){ +left=$(window)._outerWidth()+$(document).scrollLeft()-_8f0._outerWidth(); +} +if(left<0){ +left=0; +} +return left; +}; +function _8f3(){ +var top=_8ef.offset().top+_8ef._outerHeight(); +if(top+_8f0._outerHeight()>$(window)._outerHeight()+$(document).scrollTop()){ +top=_8ef.offset().top-_8f0._outerHeight(); +} +if(top<$(document).scrollTop()){ +top=_8ef.offset().top+_8ef._outerHeight(); +} +return top; +}; +}; +function _8e3(_8f4){ +var _8f5=$.data(_8f4,"combo").panel; +_8f5.panel("close"); +}; +function _8f6(_8f7){ +var _8f8=$.data(_8f7,"combo"); +var opts=_8f8.options; +var _8f9=_8f8.combo; +$(_8f7).textbox("clear"); +if(opts.multiple){ +_8f9.find(".textbox-value").remove(); +}else{ +_8f9.find(".textbox-value").val(""); +} +}; +function _8fa(_8fb,text){ +var _8fc=$.data(_8fb,"combo"); +var _8fd=$(_8fb).textbox("getText"); +if(_8fd!=text){ +$(_8fb).textbox("setText",text); +_8fc.previousText=text; +} +}; +function _8fe(_8ff){ +var _900=[]; +var _901=$.data(_8ff,"combo").combo; +_901.find(".textbox-value").each(function(){ +_900.push($(this).val()); +}); +return _900; +}; +function _902(_903,_904){ +var _905=$.data(_903,"combo"); +var opts=_905.options; +var _906=_905.combo; +if(!$.isArray(_904)){ +_904=_904.split(opts.separator); +} +var _907=_8fe(_903); +_906.find(".textbox-value").remove(); +var name=$(_903).attr("textboxName")||""; +for(var i=0;i<_904.length;i++){ +var _908=$("").appendTo(_906); +_908.attr("name",name); +if(opts.disabled){ +_908.attr("disabled","disabled"); +} +_908.val(_904[i]); +} +var _909=(function(){ +if(_907.length!=_904.length){ +return true; +} +var a1=$.extend(true,[],_907); +var a2=$.extend(true,[],_904); +a1.sort(); +a2.sort(); +for(var i=0;i_924.height()){ +var h=_924.scrollTop()+item.position().top+item.outerHeight()-_924.height(); +_924.scrollTop(h); +} +} +} +}; +function nav(_925,dir){ +var opts=$.data(_925,"combobox").options; +var _926=$(_925).combobox("panel"); +var item=_926.children("div.combobox-item-hover"); +if(!item.length){ +item=_926.children("div.combobox-item-selected"); +} +item.removeClass("combobox-item-hover"); +var _927="div.combobox-item:visible:not(.combobox-item-disabled):first"; +var _928="div.combobox-item:visible:not(.combobox-item-disabled):last"; +if(!item.length){ +item=_926.children(dir=="next"?_927:_928); +}else{ +if(dir=="next"){ +item=item.nextAll(_927); +if(!item.length){ +item=_926.children(_927); +} +}else{ +item=item.prevAll(_927); +if(!item.length){ +item=_926.children(_928); +} +} +} +if(item.length){ +item.addClass("combobox-item-hover"); +var row=opts.finder.getRow(_925,item); +if(row){ +_921(_925,row[opts.valueField]); +if(opts.selectOnNavigation){ +_929(_925,row[opts.valueField]); +} +} +} +}; +function _929(_92a,_92b){ +var opts=$.data(_92a,"combobox").options; +var _92c=$(_92a).combo("getValues"); +if($.inArray(_92b+"",_92c)==-1){ +if(opts.multiple){ +_92c.push(_92b); +}else{ +_92c=[_92b]; +} +_92d(_92a,_92c); +opts.onSelect.call(_92a,opts.finder.getRow(_92a,_92b)); +} +}; +function _92e(_92f,_930){ +var opts=$.data(_92f,"combobox").options; +var _931=$(_92f).combo("getValues"); +var _932=$.inArray(_930+"",_931); +if(_932>=0){ +_931.splice(_932,1); +_92d(_92f,_931); +opts.onUnselect.call(_92f,opts.finder.getRow(_92f,_930)); +} +}; +function _92d(_933,_934,_935){ +var opts=$.data(_933,"combobox").options; +var _936=$(_933).combo("panel"); +if(!$.isArray(_934)){ +_934=_934.split(opts.separator); +} +_936.find("div.combobox-item-selected").removeClass("combobox-item-selected"); +var vv=[],ss=[]; +for(var i=0;i<_934.length;i++){ +var v=_934[i]; +var s=v; +opts.finder.getEl(_933,v).addClass("combobox-item-selected"); +var row=opts.finder.getRow(_933,v); +if(row){ +s=row[opts.textField]; +} +vv.push(v); +ss.push(s); +} +$(_933).combo("setValues",vv); +if(!_935){ +$(_933).combo("setText",ss.join(opts.separator)); +} +}; +function _937(_938,data,_939){ +var _93a=$.data(_938,"combobox"); +var opts=_93a.options; +_93a.data=opts.loadFilter.call(_938,data); +_93a.groups=[]; +data=_93a.data; +var _93b=$(_938).combobox("getValues"); +var dd=[]; +var _93c=undefined; +for(var i=0;i"); +dd.push(opts.groupFormatter?opts.groupFormatter.call(_938,g):g); +dd.push("
                                        "); +} +}else{ +_93c=undefined; +} +var cls="combobox-item"+(row.disabled?" combobox-item-disabled":"")+(g?" combobox-gitem":""); +dd.push("
                                        "); +dd.push(opts.formatter?opts.formatter.call(_938,row):s); +dd.push("
                                        "); +if(row["selected"]&&$.inArray(v,_93b)==-1){ +_93b.push(v); +} +} +$(_938).combo("panel").html(dd.join("")); +if(opts.multiple){ +_92d(_938,_93b,_939); +}else{ +_92d(_938,_93b.length?[_93b[_93b.length-1]]:[],_939); +} +opts.onLoadSuccess.call(_938,data); +}; +function _93d(_93e,url,_93f,_940){ +var opts=$.data(_93e,"combobox").options; +if(url){ +opts.url=url; +} +_93f=_93f||{}; +if(opts.onBeforeLoad.call(_93e,_93f)==false){ +return; +} +opts.loader.call(_93e,_93f,function(data){ +_937(_93e,data,_940); +},function(){ +opts.onLoadError.apply(this,arguments); +}); +}; +function _941(_942,q){ +var _943=$.data(_942,"combobox"); +var opts=_943.options; +if(opts.multiple&&!q){ +_92d(_942,[],true); +}else{ +_92d(_942,[q],true); +} +if(opts.mode=="remote"){ +_93d(_942,null,{q:q},true); +}else{ +var _944=$(_942).combo("panel"); +_944.find("div.combobox-item-selected,div.combobox-item-hover").removeClass("combobox-item-selected combobox-item-hover"); +_944.find("div.combobox-item,div.combobox-group").hide(); +var data=_943.data; +var vv=[]; +var qq=opts.multiple?q.split(opts.separator):[q]; +$.map(qq,function(q){ +q=$.trim(q); +var _945=undefined; +for(var i=0;i=0){ +vv.push(v); +} +}); +t.combobox("setValues",vv); +if(!opts.multiple){ +t.combobox("hidePanel"); +} +}; +function _94a(_94b){ +var _94c=$.data(_94b,"combobox"); +var opts=_94c.options; +_91c++; +_94c.itemIdPrefix="_easyui_combobox_i"+_91c; +_94c.groupIdPrefix="_easyui_combobox_g"+_91c; +$(_94b).addClass("combobox-f"); +$(_94b).combo($.extend({},opts,{onShowPanel:function(){ +$(_94b).combo("panel").find("div.combobox-item,div.combobox-group").show(); +_921(_94b,$(_94b).combobox("getValue")); +opts.onShowPanel.call(_94b); +}})); +$(_94b).combo("panel").unbind().bind("mouseover",function(e){ +$(this).children("div.combobox-item-hover").removeClass("combobox-item-hover"); +var item=$(e.target).closest("div.combobox-item"); +if(!item.hasClass("combobox-item-disabled")){ +item.addClass("combobox-item-hover"); +} +e.stopPropagation(); +}).bind("mouseout",function(e){ +$(e.target).closest("div.combobox-item").removeClass("combobox-item-hover"); +e.stopPropagation(); +}).bind("click",function(e){ +var item=$(e.target).closest("div.combobox-item"); +if(!item.length||item.hasClass("combobox-item-disabled")){ +return; +} +var row=opts.finder.getRow(_94b,item); +if(!row){ +return; +} +var _94d=row[opts.valueField]; +if(opts.multiple){ +if(item.hasClass("combobox-item-selected")){ +_92e(_94b,_94d); +}else{ +_929(_94b,_94d); +} +}else{ +_929(_94b,_94d); +$(_94b).combo("hidePanel"); +} +e.stopPropagation(); +}); +}; +$.fn.combobox=function(_94e,_94f){ +if(typeof _94e=="string"){ +var _950=$.fn.combobox.methods[_94e]; +if(_950){ +return _950(this,_94f); +}else{ +return this.combo(_94e,_94f); +} +} +_94e=_94e||{}; +return this.each(function(){ +var _951=$.data(this,"combobox"); +if(_951){ +$.extend(_951.options,_94e); +_94a(this); +}else{ +_951=$.data(this,"combobox",{options:$.extend({},$.fn.combobox.defaults,$.fn.combobox.parseOptions(this),_94e),data:[]}); +_94a(this); +var data=$.fn.combobox.parseData(this); +if(data.length){ +_937(this,data); +} +} +if(_951.options.data){ +_937(this,_951.options.data); +} +_93d(this); +}); +}; +$.fn.combobox.methods={options:function(jq){ +var _952=jq.combo("options"); +return $.extend($.data(jq[0],"combobox").options,{width:_952.width,height:_952.height,originalValue:_952.originalValue,disabled:_952.disabled,readonly:_952.readonly}); +},getData:function(jq){ +return $.data(jq[0],"combobox").data; +},setValues:function(jq,_953){ +return jq.each(function(){ +_92d(this,_953); +}); +},setValue:function(jq,_954){ +return jq.each(function(){ +_92d(this,[_954]); +}); +},clear:function(jq){ +return jq.each(function(){ +$(this).combo("clear"); +var _955=$(this).combo("panel"); +_955.find("div.combobox-item-selected").removeClass("combobox-item-selected"); +}); +},reset:function(jq){ +return jq.each(function(){ +var opts=$(this).combobox("options"); +if(opts.multiple){ +$(this).combobox("setValues",opts.originalValue); +}else{ +$(this).combobox("setValue",opts.originalValue); +} +}); +},loadData:function(jq,data){ +return jq.each(function(){ +_937(this,data); +}); +},reload:function(jq,url){ +return jq.each(function(){ +_93d(this,url); +}); +},select:function(jq,_956){ +return jq.each(function(){ +_929(this,_956); +}); +},unselect:function(jq,_957){ +return jq.each(function(){ +_92e(this,_957); +}); +}}; +$.fn.combobox.parseOptions=function(_958){ +var t=$(_958); +return $.extend({},$.fn.combo.parseOptions(_958),$.parser.parseOptions(_958,["valueField","textField","groupField","mode","method","url"])); +}; +$.fn.combobox.parseData=function(_959){ +var data=[]; +var opts=$(_959).combobox("options"); +$(_959).children().each(function(){ +if(this.tagName.toLowerCase()=="optgroup"){ +var _95a=$(this).attr("label"); +$(this).children().each(function(){ +_95b(this,_95a); +}); +}else{ +_95b(this); +} +}); +return data; +function _95b(el,_95c){ +var t=$(el); +var row={}; +row[opts.valueField]=t.attr("value")!=undefined?t.attr("value"):t.text(); +row[opts.textField]=t.text(); +row["selected"]=t.is(":selected"); +row["disabled"]=t.is(":disabled"); +if(_95c){ +opts.groupField=opts.groupField||"group"; +row[opts.groupField]=_95c; +} +data.push(row); +}; +}; +$.fn.combobox.defaults=$.extend({},$.fn.combo.defaults,{valueField:"value",textField:"text",groupField:null,groupFormatter:function(_95d){ +return _95d; +},mode:"local",method:"post",url:null,data:null,keyHandler:{up:function(e){ +nav(this,"prev"); +e.preventDefault(); +},down:function(e){ +nav(this,"next"); +e.preventDefault(); +},left:function(e){ +},right:function(e){ +},enter:function(e){ +_946(this); +},query:function(q,e){ +_941(this,q); +}},filter:function(q,row){ +var opts=$(this).combobox("options"); +return row[opts.textField].toLowerCase().indexOf(q.toLowerCase())==0; +},formatter:function(row){ +var opts=$(this).combobox("options"); +return row[opts.textField]; +},loader:function(_95e,_95f,_960){ +var opts=$(this).combobox("options"); +if(!opts.url){ +return false; +} +$.ajax({type:opts.method,url:opts.url,data:_95e,dataType:"json",success:function(data){ +_95f(data); +},error:function(){ +_960.apply(this,arguments); +}}); +},loadFilter:function(data){ +return data; +},finder:{getEl:function(_961,_962){ +var _963=_91d(_961,_962); +var id=$.data(_961,"combobox").itemIdPrefix+"_"+_963; +return $("#"+id); +},getRow:function(_964,p){ +var _965=$.data(_964,"combobox"); +var _966=(p instanceof jQuery)?p.attr("id").substr(_965.itemIdPrefix.length+1):_91d(_964,p); +return _965.data[parseInt(_966)]; +}},onBeforeLoad:function(_967){ +},onLoadSuccess:function(){ +},onLoadError:function(){ +},onSelect:function(_968){ +},onUnselect:function(_969){ +}}); +})(jQuery); +(function($){ +function _96a(_96b){ +var _96c=$.data(_96b,"combotree"); +var opts=_96c.options; +var tree=_96c.tree; +$(_96b).addClass("combotree-f"); +$(_96b).combo(opts); +var _96d=$(_96b).combo("panel"); +if(!tree){ +tree=$("
                                          ").appendTo(_96d); +$.data(_96b,"combotree").tree=tree; +} +tree.tree($.extend({},opts,{checkbox:opts.multiple,onLoadSuccess:function(node,data){ +var _96e=$(_96b).combotree("getValues"); +if(opts.multiple){ +var _96f=tree.tree("getChecked"); +for(var i=0;i<_96f.length;i++){ +var id=_96f[i].id; +(function(){ +for(var i=0;i<_96e.length;i++){ +if(id==_96e[i]){ +return; +} +} +_96e.push(id); +})(); +} +} +$(_96b).combotree("setValues",_96e); +opts.onLoadSuccess.call(this,node,data); +},onClick:function(node){ +if(opts.multiple){ +$(this).tree(node.checked?"uncheck":"check",node.target); +}else{ +$(_96b).combo("hidePanel"); +} +_971(_96b); +opts.onClick.call(this,node); +},onCheck:function(node,_970){ +_971(_96b); +opts.onCheck.call(this,node,_970); +}})); +}; +function _971(_972){ +var _973=$.data(_972,"combotree"); +var opts=_973.options; +var tree=_973.tree; +var vv=[],ss=[]; +if(opts.multiple){ +var _974=tree.tree("getChecked"); +for(var i=0;i<_974.length;i++){ +vv.push(_974[i].id); +ss.push(_974[i].text); +} +}else{ +var node=tree.tree("getSelected"); +if(node){ +vv.push(node.id); +ss.push(node.text); +} +} +$(_972).combo("setValues",vv).combo("setText",ss.join(opts.separator)); +}; +function _975(_976,_977){ +var _978=$.data(_976,"combotree"); +var opts=_978.options; +var tree=_978.tree; +var _979=tree.tree("options"); +var _97a=_979.onCheck; +var _97b=_979.onSelect; +_979.onCheck=_979.onSelect=function(){ +}; +tree.find("span.tree-checkbox").addClass("tree-checkbox0").removeClass("tree-checkbox1 tree-checkbox2"); +if(!$.isArray(_977)){ +_977=_977.split(opts.separator); +} +for(var i=0;i<_977.length;i++){ +var node=tree.tree("find",_977[i]); +if(node){ +tree.tree("check",node.target); +tree.tree("select",node.target); +} +} +_979.onCheck=_97a; +_979.onSelect=_97b; +_971(_976); +}; +$.fn.combotree=function(_97c,_97d){ +if(typeof _97c=="string"){ +var _97e=$.fn.combotree.methods[_97c]; +if(_97e){ +return _97e(this,_97d); +}else{ +return this.combo(_97c,_97d); +} +} +_97c=_97c||{}; +return this.each(function(){ +var _97f=$.data(this,"combotree"); +if(_97f){ +$.extend(_97f.options,_97c); +}else{ +$.data(this,"combotree",{options:$.extend({},$.fn.combotree.defaults,$.fn.combotree.parseOptions(this),_97c)}); +} +_96a(this); +}); +}; +$.fn.combotree.methods={options:function(jq){ +var _980=jq.combo("options"); +return $.extend($.data(jq[0],"combotree").options,{width:_980.width,height:_980.height,originalValue:_980.originalValue,disabled:_980.disabled,readonly:_980.readonly}); +},clone:function(jq,_981){ +var t=jq.combo("clone",_981); +t.data("combotree",{options:$.extend(true,{},jq.combotree("options")),tree:jq.combotree("tree")}); +return t; +},tree:function(jq){ +return $.data(jq[0],"combotree").tree; +},loadData:function(jq,data){ +return jq.each(function(){ +var opts=$.data(this,"combotree").options; +opts.data=data; +var tree=$.data(this,"combotree").tree; +tree.tree("loadData",data); +}); +},reload:function(jq,url){ +return jq.each(function(){ +var opts=$.data(this,"combotree").options; +var tree=$.data(this,"combotree").tree; +if(url){ +opts.url=url; +} +tree.tree({url:opts.url}); +}); +},setValues:function(jq,_982){ +return jq.each(function(){ +_975(this,_982); +}); +},setValue:function(jq,_983){ +return jq.each(function(){ +_975(this,[_983]); +}); +},clear:function(jq){ +return jq.each(function(){ +var tree=$.data(this,"combotree").tree; +tree.find("div.tree-node-selected").removeClass("tree-node-selected"); +var cc=tree.tree("getChecked"); +for(var i=0;i").appendTo(_98b); +_987.grid=grid; +} +grid.datagrid($.extend({},opts,{border:false,singleSelect:(!opts.multiple),onLoadSuccess:function(data){ +var _98c=$(_986).combo("getValues"); +var _98d=opts.onSelect; +opts.onSelect=function(){ +}; +_997(_986,_98c,_987.remainText); +opts.onSelect=_98d; +opts.onLoadSuccess.apply(_986,arguments); +},onClickRow:_98e,onSelect:function(_98f,row){ +_990(); +opts.onSelect.call(this,_98f,row); +},onUnselect:function(_991,row){ +_990(); +opts.onUnselect.call(this,_991,row); +},onSelectAll:function(rows){ +_990(); +opts.onSelectAll.call(this,rows); +},onUnselectAll:function(rows){ +if(opts.multiple){ +_990(); +} +opts.onUnselectAll.call(this,rows); +}})); +function _98e(_992,row){ +_987.remainText=false; +_990(); +if(!opts.multiple){ +$(_986).combo("hidePanel"); +} +opts.onClickRow.call(this,_992,row); +}; +function _990(){ +var rows=grid.datagrid("getSelections"); +var vv=[],ss=[]; +for(var i=0;i=_995){ +_996=0; +} +} +grid.datagrid("highlightRow",_996); +if(opts.selectOnNavigation){ +_994.remainText=false; +grid.datagrid("selectRow",_996); +} +}; +function _997(_998,_999,_99a){ +var _99b=$.data(_998,"combogrid"); +var opts=_99b.options; +var grid=_99b.grid; +var rows=grid.datagrid("getRows"); +var ss=[]; +var _99c=$(_998).combo("getValues"); +var _99d=$(_998).combo("options"); +var _99e=_99d.onChange; +_99d.onChange=function(){ +}; +grid.datagrid("clearSelections"); +if(!$.isArray(_999)){ +_999=_999.split(opts.separator); +} +for(var i=0;i<_999.length;i++){ +var _99f=grid.datagrid("getRowIndex",_999[i]); +if(_99f>=0){ +grid.datagrid("selectRow",_99f); +ss.push(rows[_99f][opts.textField]); +}else{ +ss.push(_999[i]); +} +} +$(_998).combo("setValues",_99c); +_99d.onChange=_99e; +$(_998).combo("setValues",_999); +if(!_99a){ +var s=ss.join(opts.separator); +if($(_998).combo("getText")!=s){ +$(_998).combo("setText",s); +} +} +}; +function _9a0(_9a1,q){ +var _9a2=$.data(_9a1,"combogrid"); +var opts=_9a2.options; +var grid=_9a2.grid; +_9a2.remainText=true; +if(opts.multiple&&!q){ +_997(_9a1,[],true); +}else{ +_997(_9a1,[q],true); +} +if(opts.mode=="remote"){ +grid.datagrid("clearSelections"); +grid.datagrid("load",$.extend({},opts.queryParams,{q:q})); +}else{ +if(!q){ +return; +} +grid.datagrid("clearSelections").datagrid("highlightRow",-1); +var rows=grid.datagrid("getRows"); +var qq=opts.multiple?q.split(opts.separator):[q]; +$.map(qq,function(q){ +q=$.trim(q); +if(q){ +$.map(rows,function(row,i){ +if(q==row[opts.textField]){ +grid.datagrid("selectRow",i); +}else{ +if(opts.filter.call(_9a1,q,row)){ +grid.datagrid("highlightRow",i); +} +} +}); +} +}); +} +}; +function _9a3(_9a4){ +var _9a5=$.data(_9a4,"combogrid"); +var opts=_9a5.options; +var grid=_9a5.grid; +var tr=opts.finder.getTr(grid[0],null,"highlight"); +_9a5.remainText=false; +if(tr.length){ +var _9a6=parseInt(tr.attr("datagrid-row-index")); +if(opts.multiple){ +if(tr.hasClass("datagrid-row-selected")){ +grid.datagrid("unselectRow",_9a6); +}else{ +grid.datagrid("selectRow",_9a6); +} +}else{ +grid.datagrid("selectRow",_9a6); +} +} +var vv=[]; +$.map(grid.datagrid("getSelections"),function(row){ +vv.push(row[opts.idField]); +}); +$(_9a4).combogrid("setValues",vv); +if(!opts.multiple){ +$(_9a4).combogrid("hidePanel"); +} +}; +$.fn.combogrid=function(_9a7,_9a8){ +if(typeof _9a7=="string"){ +var _9a9=$.fn.combogrid.methods[_9a7]; +if(_9a9){ +return _9a9(this,_9a8); +}else{ +return this.combo(_9a7,_9a8); +} +} +_9a7=_9a7||{}; +return this.each(function(){ +var _9aa=$.data(this,"combogrid"); +if(_9aa){ +$.extend(_9aa.options,_9a7); +}else{ +_9aa=$.data(this,"combogrid",{options:$.extend({},$.fn.combogrid.defaults,$.fn.combogrid.parseOptions(this),_9a7)}); +} +_985(this); +}); +}; +$.fn.combogrid.methods={options:function(jq){ +var _9ab=jq.combo("options"); +return $.extend($.data(jq[0],"combogrid").options,{width:_9ab.width,height:_9ab.height,originalValue:_9ab.originalValue,disabled:_9ab.disabled,readonly:_9ab.readonly}); +},grid:function(jq){ +return $.data(jq[0],"combogrid").grid; +},setValues:function(jq,_9ac){ +return jq.each(function(){ +_997(this,_9ac); +}); +},setValue:function(jq,_9ad){ +return jq.each(function(){ +_997(this,[_9ad]); +}); +},clear:function(jq){ +return jq.each(function(){ +$(this).combogrid("grid").datagrid("clearSelections"); +$(this).combo("clear"); +}); +},reset:function(jq){ +return jq.each(function(){ +var opts=$(this).combogrid("options"); +if(opts.multiple){ +$(this).combogrid("setValues",opts.originalValue); +}else{ +$(this).combogrid("setValue",opts.originalValue); +} +}); +}}; +$.fn.combogrid.parseOptions=function(_9ae){ +var t=$(_9ae); +return $.extend({},$.fn.combo.parseOptions(_9ae),$.fn.datagrid.parseOptions(_9ae),$.parser.parseOptions(_9ae,["idField","textField","mode"])); +}; +$.fn.combogrid.defaults=$.extend({},$.fn.combo.defaults,$.fn.datagrid.defaults,{height:22,loadMsg:null,idField:null,textField:null,mode:"local",keyHandler:{up:function(e){ +nav(this,"prev"); +e.preventDefault(); +},down:function(e){ +nav(this,"next"); +e.preventDefault(); +},left:function(e){ +},right:function(e){ +},enter:function(e){ +_9a3(this); +},query:function(q,e){ +_9a0(this,q); +}},filter:function(q,row){ +var opts=$(this).combogrid("options"); +return row[opts.textField].toLowerCase().indexOf(q.toLowerCase())==0; +}}); +})(jQuery); +(function($){ +function _9af(_9b0){ +var _9b1=$.data(_9b0,"datebox"); +var opts=_9b1.options; +$(_9b0).addClass("datebox-f").combo($.extend({},opts,{onShowPanel:function(){ +_9b2(this); +_9b3(this); +_9b4(this); +_9c2(this,$(this).datebox("getText"),true); +opts.onShowPanel.call(this); +}})); +if(!_9b1.calendar){ +var _9b5=$(_9b0).combo("panel").css("overflow","hidden"); +_9b5.panel("options").onBeforeDestroy=function(){ +var c=$(this).find(".calendar-shared"); +if(c.length){ +c.insertBefore(c[0].pholder); +} +}; +var cc=$("
                                          ").prependTo(_9b5); +if(opts.sharedCalendar){ +var c=$(opts.sharedCalendar); +if(!c[0].pholder){ +c[0].pholder=$("
                                          ").insertAfter(c); +} +c.addClass("calendar-shared").appendTo(cc); +if(!c.hasClass("calendar")){ +c.calendar(); +} +_9b1.calendar=c; +}else{ +_9b1.calendar=$("
                                          ").appendTo(cc).calendar(); +} +$.extend(_9b1.calendar.calendar("options"),{fit:true,border:false,onSelect:function(date){ +var _9b6=this.target; +var opts=$(_9b6).datebox("options"); +_9c2(_9b6,opts.formatter.call(_9b6,date)); +$(_9b6).combo("hidePanel"); +opts.onSelect.call(_9b6,date); +}}); +} +$(_9b0).combo("textbox").parent().addClass("datebox"); +$(_9b0).datebox("initValue",opts.value); +function _9b2(_9b7){ +var opts=$(_9b7).datebox("options"); +var _9b8=$(_9b7).combo("panel"); +_9b8.unbind(".datebox").bind("click.datebox",function(e){ +if($(e.target).hasClass("datebox-button-a")){ +var _9b9=parseInt($(e.target).attr("datebox-button-index")); +opts.buttons[_9b9].handler.call(e.target,_9b7); +} +}); +}; +function _9b3(_9ba){ +var _9bb=$(_9ba).combo("panel"); +if(_9bb.children("div.datebox-button").length){ +return; +} +var _9bc=$("
                                          ").appendTo(_9bb); +var tr=_9bc.find("tr"); +for(var i=0;i").appendTo(tr); +var btn=opts.buttons[i]; +var t=$("").html($.isFunction(btn.text)?btn.text(_9ba):btn.text).appendTo(td); +t.attr("datebox-button-index",i); +} +tr.find("td").css("width",(100/opts.buttons.length)+"%"); +}; +function _9b4(_9bd){ +var _9be=$(_9bd).combo("panel"); +var cc=_9be.children("div.datebox-calendar-inner"); +_9be.children()._outerWidth(_9be.width()); +_9b1.calendar.appendTo(cc); +_9b1.calendar[0].target=_9bd; +if(opts.panelHeight!="auto"){ +var _9bf=_9be.height(); +_9be.children().not(cc).each(function(){ +_9bf-=$(this).outerHeight(); +}); +cc._outerHeight(_9bf); +} +_9b1.calendar.calendar("resize"); +}; +}; +function _9c0(_9c1,q){ +_9c2(_9c1,q,true); +}; +function _9c3(_9c4){ +var _9c5=$.data(_9c4,"datebox"); +var opts=_9c5.options; +var _9c6=_9c5.calendar.calendar("options").current; +if(_9c6){ +_9c2(_9c4,opts.formatter.call(_9c4,_9c6)); +$(_9c4).combo("hidePanel"); +} +}; +function _9c2(_9c7,_9c8,_9c9){ +var _9ca=$.data(_9c7,"datebox"); +var opts=_9ca.options; +var _9cb=_9ca.calendar; +$(_9c7).combo("setValue",_9c8); +_9cb.calendar("moveTo",opts.parser.call(_9c7,_9c8)); +if(!_9c9){ +if(_9c8){ +_9c8=opts.formatter.call(_9c7,_9cb.calendar("options").current); +$(_9c7).combo("setValue",_9c8).combo("setText",_9c8); +}else{ +$(_9c7).combo("setText",_9c8); +} +} +}; +$.fn.datebox=function(_9cc,_9cd){ +if(typeof _9cc=="string"){ +var _9ce=$.fn.datebox.methods[_9cc]; +if(_9ce){ +return _9ce(this,_9cd); +}else{ +return this.combo(_9cc,_9cd); +} +} +_9cc=_9cc||{}; +return this.each(function(){ +var _9cf=$.data(this,"datebox"); +if(_9cf){ +$.extend(_9cf.options,_9cc); +}else{ +$.data(this,"datebox",{options:$.extend({},$.fn.datebox.defaults,$.fn.datebox.parseOptions(this),_9cc)}); +} +_9af(this); +}); +}; +$.fn.datebox.methods={options:function(jq){ +var _9d0=jq.combo("options"); +return $.extend($.data(jq[0],"datebox").options,{width:_9d0.width,height:_9d0.height,originalValue:_9d0.originalValue,disabled:_9d0.disabled,readonly:_9d0.readonly}); +},cloneFrom:function(jq,from){ +return jq.each(function(){ +$(this).combo("cloneFrom",from); +$.data(this,"datebox",{options:$.extend(true,{},$(from).datebox("options")),calendar:$(from).datebox("calendar")}); +$(this).addClass("datebox-f"); +}); +},calendar:function(jq){ +return $.data(jq[0],"datebox").calendar; +},initValue:function(jq,_9d1){ +return jq.each(function(){ +var opts=$(this).datebox("options"); +var _9d2=opts.value; +if(_9d2){ +_9d2=opts.formatter.call(this,opts.parser.call(this,_9d2)); +} +$(this).combo("initValue",_9d2).combo("setText",_9d2); +}); +},setValue:function(jq,_9d3){ +return jq.each(function(){ +_9c2(this,_9d3); +}); +},reset:function(jq){ +return jq.each(function(){ +var opts=$(this).datebox("options"); +$(this).datebox("setValue",opts.originalValue); +}); +}}; +$.fn.datebox.parseOptions=function(_9d4){ +return $.extend({},$.fn.combo.parseOptions(_9d4),$.parser.parseOptions(_9d4,["sharedCalendar"])); +}; +$.fn.datebox.defaults=$.extend({},$.fn.combo.defaults,{panelWidth:180,panelHeight:"auto",sharedCalendar:null,keyHandler:{up:function(e){ +},down:function(e){ +},left:function(e){ +},right:function(e){ +},enter:function(e){ +_9c3(this); +},query:function(q,e){ +_9c0(this,q); +}},currentText:"Today",closeText:"Close",okText:"Ok",buttons:[{text:function(_9d5){ +return $(_9d5).datebox("options").currentText; +},handler:function(_9d6){ +$(_9d6).datebox("calendar").calendar({year:new Date().getFullYear(),month:new Date().getMonth()+1,current:new Date()}); +_9c3(_9d6); +}},{text:function(_9d7){ +return $(_9d7).datebox("options").closeText; +},handler:function(_9d8){ +$(this).closest("div.combo-panel").panel("close"); +}}],formatter:function(date){ +var y=date.getFullYear(); +var m=date.getMonth()+1; +var d=date.getDate(); +return (m<10?("0"+m):m)+"/"+(d<10?("0"+d):d)+"/"+y; +},parser:function(s){ +if(!s){ +return new Date(); +} +var ss=s.split("/"); +var m=parseInt(ss[0],10); +var d=parseInt(ss[1],10); +var y=parseInt(ss[2],10); +if(!isNaN(y)&&!isNaN(m)&&!isNaN(d)){ +return new Date(y,m-1,d); +}else{ +return new Date(); +} +},onSelect:function(date){ +}}); +})(jQuery); +(function($){ +function _9d9(_9da){ +var _9db=$.data(_9da,"datetimebox"); +var opts=_9db.options; +$(_9da).datebox($.extend({},opts,{onShowPanel:function(){ +var _9dc=$(this).datetimebox("getValue"); +_9e2(this,_9dc,true); +opts.onShowPanel.call(this); +},formatter:$.fn.datebox.defaults.formatter,parser:$.fn.datebox.defaults.parser})); +$(_9da).removeClass("datebox-f").addClass("datetimebox-f"); +$(_9da).datebox("calendar").calendar({onSelect:function(date){ +opts.onSelect.call(this.target,date); +}}); +if(!_9db.spinner){ +var _9dd=$(_9da).datebox("panel"); +var p=$("
                                          ").insertAfter(_9dd.children("div.datebox-calendar-inner")); +_9db.spinner=p.children("input"); +} +_9db.spinner.timespinner({width:opts.spinnerWidth,showSeconds:opts.showSeconds,separator:opts.timeSeparator}); +$(_9da).datetimebox("initValue",opts.value); +}; +function _9de(_9df){ +var c=$(_9df).datetimebox("calendar"); +var t=$(_9df).datetimebox("spinner"); +var date=c.calendar("options").current; +return new Date(date.getFullYear(),date.getMonth(),date.getDate(),t.timespinner("getHours"),t.timespinner("getMinutes"),t.timespinner("getSeconds")); +}; +function _9e0(_9e1,q){ +_9e2(_9e1,q,true); +}; +function _9e3(_9e4){ +var opts=$.data(_9e4,"datetimebox").options; +var date=_9de(_9e4); +_9e2(_9e4,opts.formatter.call(_9e4,date)); +$(_9e4).combo("hidePanel"); +}; +function _9e2(_9e5,_9e6,_9e7){ +var opts=$.data(_9e5,"datetimebox").options; +$(_9e5).combo("setValue",_9e6); +if(!_9e7){ +if(_9e6){ +var date=opts.parser.call(_9e5,_9e6); +$(_9e5).combo("setValue",opts.formatter.call(_9e5,date)); +$(_9e5).combo("setText",opts.formatter.call(_9e5,date)); +}else{ +$(_9e5).combo("setText",_9e6); +} +} +var date=opts.parser.call(_9e5,_9e6); +$(_9e5).datetimebox("calendar").calendar("moveTo",date); +$(_9e5).datetimebox("spinner").timespinner("setValue",_9e8(date)); +function _9e8(date){ +function _9e9(_9ea){ +return (_9ea<10?"0":"")+_9ea; +}; +var tt=[_9e9(date.getHours()),_9e9(date.getMinutes())]; +if(opts.showSeconds){ +tt.push(_9e9(date.getSeconds())); +} +return tt.join($(_9e5).datetimebox("spinner").timespinner("options").separator); +}; +}; +$.fn.datetimebox=function(_9eb,_9ec){ +if(typeof _9eb=="string"){ +var _9ed=$.fn.datetimebox.methods[_9eb]; +if(_9ed){ +return _9ed(this,_9ec); +}else{ +return this.datebox(_9eb,_9ec); +} +} +_9eb=_9eb||{}; +return this.each(function(){ +var _9ee=$.data(this,"datetimebox"); +if(_9ee){ +$.extend(_9ee.options,_9eb); +}else{ +$.data(this,"datetimebox",{options:$.extend({},$.fn.datetimebox.defaults,$.fn.datetimebox.parseOptions(this),_9eb)}); +} +_9d9(this); +}); +}; +$.fn.datetimebox.methods={options:function(jq){ +var _9ef=jq.datebox("options"); +return $.extend($.data(jq[0],"datetimebox").options,{originalValue:_9ef.originalValue,disabled:_9ef.disabled,readonly:_9ef.readonly}); +},cloneFrom:function(jq,from){ +return jq.each(function(){ +$(this).datebox("cloneFrom",from); +$.data(this,"datetimebox",{options:$.extend(true,{},$(from).datetimebox("options")),spinner:$(from).datetimebox("spinner")}); +$(this).removeClass("datebox-f").addClass("datetimebox-f"); +}); +},spinner:function(jq){ +return $.data(jq[0],"datetimebox").spinner; +},initValue:function(jq,_9f0){ +return jq.each(function(){ +var opts=$(this).datetimebox("options"); +var _9f1=opts.value; +if(_9f1){ +_9f1=opts.formatter.call(this,opts.parser.call(this,_9f1)); +} +$(this).combo("initValue",_9f1).combo("setText",_9f1); +}); +},setValue:function(jq,_9f2){ +return jq.each(function(){ +_9e2(this,_9f2); +}); +},reset:function(jq){ +return jq.each(function(){ +var opts=$(this).datetimebox("options"); +$(this).datetimebox("setValue",opts.originalValue); +}); +}}; +$.fn.datetimebox.parseOptions=function(_9f3){ +var t=$(_9f3); +return $.extend({},$.fn.datebox.parseOptions(_9f3),$.parser.parseOptions(_9f3,["timeSeparator","spinnerWidth",{showSeconds:"boolean"}])); +}; +$.fn.datetimebox.defaults=$.extend({},$.fn.datebox.defaults,{spinnerWidth:"100%",showSeconds:true,timeSeparator:":",keyHandler:{up:function(e){ +},down:function(e){ +},left:function(e){ +},right:function(e){ +},enter:function(e){ +_9e3(this); +},query:function(q,e){ +_9e0(this,q); +}},buttons:[{text:function(_9f4){ +return $(_9f4).datetimebox("options").currentText; +},handler:function(_9f5){ +var opts=$(_9f5).datetimebox("options"); +_9e2(_9f5,opts.formatter.call(_9f5,new Date())); +$(_9f5).datetimebox("hidePanel"); +}},{text:function(_9f6){ +return $(_9f6).datetimebox("options").okText; +},handler:function(_9f7){ +_9e3(_9f7); +}},{text:function(_9f8){ +return $(_9f8).datetimebox("options").closeText; +},handler:function(_9f9){ +$(_9f9).datetimebox("hidePanel"); +}}],formatter:function(date){ +var h=date.getHours(); +var M=date.getMinutes(); +var s=date.getSeconds(); +function _9fa(_9fb){ +return (_9fb<10?"0":"")+_9fb; +}; +var _9fc=$(this).datetimebox("spinner").timespinner("options").separator; +var r=$.fn.datebox.defaults.formatter(date)+" "+_9fa(h)+_9fc+_9fa(M); +if($(this).datetimebox("options").showSeconds){ +r+=_9fc+_9fa(s); +} +return r; +},parser:function(s){ +if($.trim(s)==""){ +return new Date(); +} +var dt=s.split(" "); +var d=$.fn.datebox.defaults.parser(dt[0]); +if(dt.length<2){ +return d; +} +var _9fd=$(this).datetimebox("spinner").timespinner("options").separator; +var tt=dt[1].split(_9fd); +var hour=parseInt(tt[0],10)||0; +var _9fe=parseInt(tt[1],10)||0; +var _9ff=parseInt(tt[2],10)||0; +return new Date(d.getFullYear(),d.getMonth(),d.getDate(),hour,_9fe,_9ff); +}}); +})(jQuery); +(function($){ +function init(_a00){ +var _a01=$("
                                          "+"
                                          "+""+""+"
                                          "+"
                                          "+"
                                          "+"
                                          "+""+"
                                          ").insertAfter(_a00); +var t=$(_a00); +t.addClass("slider-f").hide(); +var name=t.attr("name"); +if(name){ +_a01.find("input.slider-value").attr("name",name); +t.removeAttr("name").attr("sliderName",name); +} +_a01.bind("_resize",function(e,_a02){ +if($(this).hasClass("easyui-fluid")||_a02){ +_a03(_a00); +} +return false; +}); +return _a01; +}; +function _a03(_a04,_a05){ +var _a06=$.data(_a04,"slider"); +var opts=_a06.options; +var _a07=_a06.slider; +if(_a05){ +if(_a05.width){ +opts.width=_a05.width; +} +if(_a05.height){ +opts.height=_a05.height; +} +} +_a07._size(opts); +if(opts.mode=="h"){ +_a07.css("height",""); +_a07.children("div").css("height",""); +}else{ +_a07.css("width",""); +_a07.children("div").css("width",""); +_a07.children("div.slider-rule,div.slider-rulelabel,div.slider-inner")._outerHeight(_a07._outerHeight()); +} +_a08(_a04); +}; +function _a09(_a0a){ +var _a0b=$.data(_a0a,"slider"); +var opts=_a0b.options; +var _a0c=_a0b.slider; +var aa=opts.mode=="h"?opts.rule:opts.rule.slice(0).reverse(); +if(opts.reversed){ +aa=aa.slice(0).reverse(); +} +_a0d(aa); +function _a0d(aa){ +var rule=_a0c.find("div.slider-rule"); +var _a0e=_a0c.find("div.slider-rulelabel"); +rule.empty(); +_a0e.empty(); +for(var i=0;i").appendTo(rule); +span.css((opts.mode=="h"?"left":"top"),_a0f); +if(aa[i]!="|"){ +span=$("").appendTo(_a0e); +span.html(aa[i]); +if(opts.mode=="h"){ +span.css({left:_a0f,marginLeft:-Math.round(span.outerWidth()/2)}); +}else{ +span.css({top:_a0f,marginTop:-Math.round(span.outerHeight()/2)}); +} +} +} +}; +}; +function _a10(_a11){ +var _a12=$.data(_a11,"slider"); +var opts=_a12.options; +var _a13=_a12.slider; +_a13.removeClass("slider-h slider-v slider-disabled"); +_a13.addClass(opts.mode=="h"?"slider-h":"slider-v"); +_a13.addClass(opts.disabled?"slider-disabled":""); +_a13.find("a.slider-handle").draggable({axis:opts.mode,cursor:"pointer",disabled:opts.disabled,onDrag:function(e){ +var left=e.data.left; +var _a14=_a13.width(); +if(opts.mode!="h"){ +left=e.data.top; +_a14=_a13.height(); +} +if(left<0||left>_a14){ +return false; +}else{ +var _a15=_a27(_a11,left); +_a16(_a15); +return false; +} +},onBeforeDrag:function(){ +_a12.isDragging=true; +},onStartDrag:function(){ +opts.onSlideStart.call(_a11,opts.value); +},onStopDrag:function(e){ +var _a17=_a27(_a11,(opts.mode=="h"?e.data.left:e.data.top)); +_a16(_a17); +opts.onSlideEnd.call(_a11,opts.value); +opts.onComplete.call(_a11,opts.value); +_a12.isDragging=false; +}}); +_a13.find("div.slider-inner").unbind(".slider").bind("mousedown.slider",function(e){ +if(_a12.isDragging||opts.disabled){ +return; +} +var pos=$(this).offset(); +var _a18=_a27(_a11,(opts.mode=="h"?(e.pageX-pos.left):(e.pageY-pos.top))); +_a16(_a18); +opts.onComplete.call(_a11,opts.value); +}); +function _a16(_a19){ +var s=Math.abs(_a19%opts.step); +if(sopts.max){ +_a1c=opts.max; +} +opts.value=_a1c; +$(_a1b).val(_a1c); +_a1e.find("input.slider-value").val(_a1c); +var pos=_a20(_a1b,_a1c); +var tip=_a1e.find(".slider-tip"); +if(opts.showTip){ +tip.show(); +tip.html(opts.tipFormatter.call(_a1b,opts.value)); +}else{ +tip.hide(); +} +if(opts.mode=="h"){ +var _a21="left:"+pos+"px;"; +_a1e.find(".slider-handle").attr("style",_a21); +tip.attr("style",_a21+"margin-left:"+(-Math.round(tip.outerWidth()/2))+"px"); +}else{ +var _a21="top:"+pos+"px;"; +_a1e.find(".slider-handle").attr("style",_a21); +tip.attr("style",_a21+"margin-left:"+(-Math.round(tip.outerWidth()))+"px"); +} +if(_a1f!=_a1c){ +opts.onChange.call(_a1b,_a1c,_a1f); +} +}; +function _a08(_a22){ +var opts=$.data(_a22,"slider").options; +var fn=opts.onChange; +opts.onChange=function(){ +}; +_a1a(_a22,opts.value); +opts.onChange=fn; +}; +function _a20(_a23,_a24){ +var _a25=$.data(_a23,"slider"); +var opts=_a25.options; +var _a26=_a25.slider; +var size=opts.mode=="h"?_a26.width():_a26.height(); +var pos=opts.converter.toPosition.call(_a23,_a24,size); +if(opts.mode=="v"){ +pos=_a26.height()-pos; +} +if(opts.reversed){ +pos=size-pos; +} +return pos.toFixed(0); +}; +function _a27(_a28,pos){ +var _a29=$.data(_a28,"slider"); +var opts=_a29.options; +var _a2a=_a29.slider; +var size=opts.mode=="h"?_a2a.width():_a2a.height(); +var _a2b=opts.converter.toValue.call(_a28,opts.mode=="h"?(opts.reversed?(size-pos):pos):(size-pos),size); +return _a2b.toFixed(0); +}; +$.fn.slider=function(_a2c,_a2d){ +if(typeof _a2c=="string"){ +return $.fn.slider.methods[_a2c](this,_a2d); +} +_a2c=_a2c||{}; +return this.each(function(){ +var _a2e=$.data(this,"slider"); +if(_a2e){ +$.extend(_a2e.options,_a2c); +}else{ +_a2e=$.data(this,"slider",{options:$.extend({},$.fn.slider.defaults,$.fn.slider.parseOptions(this),_a2c),slider:init(this)}); +$(this).removeAttr("disabled"); +} +var opts=_a2e.options; +opts.min=parseFloat(opts.min); +opts.max=parseFloat(opts.max); +opts.value=parseFloat(opts.value); +opts.step=parseFloat(opts.step); +opts.originalValue=opts.value; +_a10(this); +_a09(this); +_a03(this); +}); +}; +$.fn.slider.methods={options:function(jq){ +return $.data(jq[0],"slider").options; +},destroy:function(jq){ +return jq.each(function(){ +$.data(this,"slider").slider.remove(); +$(this).remove(); +}); +},resize:function(jq,_a2f){ +return jq.each(function(){ +_a03(this,_a2f); +}); +},getValue:function(jq){ +return jq.slider("options").value; +},setValue:function(jq,_a30){ +return jq.each(function(){ +_a1a(this,_a30); +}); +},clear:function(jq){ +return jq.each(function(){ +var opts=$(this).slider("options"); +_a1a(this,opts.min); +}); +},reset:function(jq){ +return jq.each(function(){ +var opts=$(this).slider("options"); +_a1a(this,opts.originalValue); +}); +},enable:function(jq){ +return jq.each(function(){ +$.data(this,"slider").options.disabled=false; +_a10(this); +}); +},disable:function(jq){ +return jq.each(function(){ +$.data(this,"slider").options.disabled=true; +_a10(this); +}); +}}; +$.fn.slider.parseOptions=function(_a31){ +var t=$(_a31); +return $.extend({},$.parser.parseOptions(_a31,["width","height","mode",{reversed:"boolean",showTip:"boolean",min:"number",max:"number",step:"number"}]),{value:(t.val()||undefined),disabled:(t.attr("disabled")?true:undefined),rule:(t.attr("rule")?eval(t.attr("rule")):undefined)}); +}; +$.fn.slider.defaults={width:"auto",height:"auto",mode:"h",reversed:false,showTip:false,disabled:false,value:0,min:0,max:100,step:1,rule:[],tipFormatter:function(_a32){ +return _a32; +},converter:{toPosition:function(_a33,size){ +var opts=$(this).slider("options"); +return (_a33-opts.min)/(opts.max-opts.min)*size; +},toValue:function(pos,size){ +var opts=$(this).slider("options"); +return opts.min+(opts.max-opts.min)*(pos/size); +}},onChange:function(_a34,_a35){ +},onSlideStart:function(_a36){ +},onSlideEnd:function(_a37){ +},onComplete:function(_a38){ +}}; +})(jQuery); + diff --git a/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/jquery.min.js b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/jquery.min.js new file mode 100644 index 00000000..ab28a247 --- /dev/null +++ b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/jquery.min.js @@ -0,0 +1,4 @@ +/*! jQuery v1.11.1 | (c) 2005, 2014 jQuery Foundation, Inc. | jquery.org/license */ +!function(a,b){"object"==typeof module&&"object"==typeof module.exports?module.exports=a.document?b(a,!0):function(a){if(!a.document)throw new Error("jQuery requires a window with a document");return b(a)}:b(a)}("undefined"!=typeof window?window:this,function(a,b){var c=[],d=c.slice,e=c.concat,f=c.push,g=c.indexOf,h={},i=h.toString,j=h.hasOwnProperty,k={},l="1.11.1",m=function(a,b){return new m.fn.init(a,b)},n=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,o=/^-ms-/,p=/-([\da-z])/gi,q=function(a,b){return b.toUpperCase()};m.fn=m.prototype={jquery:l,constructor:m,selector:"",length:0,toArray:function(){return d.call(this)},get:function(a){return null!=a?0>a?this[a+this.length]:this[a]:d.call(this)},pushStack:function(a){var b=m.merge(this.constructor(),a);return b.prevObject=this,b.context=this.context,b},each:function(a,b){return m.each(this,a,b)},map:function(a){return this.pushStack(m.map(this,function(b,c){return a.call(b,c,b)}))},slice:function(){return this.pushStack(d.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},eq:function(a){var b=this.length,c=+a+(0>a?b:0);return this.pushStack(c>=0&&b>c?[this[c]]:[])},end:function(){return this.prevObject||this.constructor(null)},push:f,sort:c.sort,splice:c.splice},m.extend=m.fn.extend=function(){var a,b,c,d,e,f,g=arguments[0]||{},h=1,i=arguments.length,j=!1;for("boolean"==typeof g&&(j=g,g=arguments[h]||{},h++),"object"==typeof g||m.isFunction(g)||(g={}),h===i&&(g=this,h--);i>h;h++)if(null!=(e=arguments[h]))for(d in e)a=g[d],c=e[d],g!==c&&(j&&c&&(m.isPlainObject(c)||(b=m.isArray(c)))?(b?(b=!1,f=a&&m.isArray(a)?a:[]):f=a&&m.isPlainObject(a)?a:{},g[d]=m.extend(j,f,c)):void 0!==c&&(g[d]=c));return g},m.extend({expando:"jQuery"+(l+Math.random()).replace(/\D/g,""),isReady:!0,error:function(a){throw new Error(a)},noop:function(){},isFunction:function(a){return"function"===m.type(a)},isArray:Array.isArray||function(a){return"array"===m.type(a)},isWindow:function(a){return null!=a&&a==a.window},isNumeric:function(a){return!m.isArray(a)&&a-parseFloat(a)>=0},isEmptyObject:function(a){var b;for(b in a)return!1;return!0},isPlainObject:function(a){var b;if(!a||"object"!==m.type(a)||a.nodeType||m.isWindow(a))return!1;try{if(a.constructor&&!j.call(a,"constructor")&&!j.call(a.constructor.prototype,"isPrototypeOf"))return!1}catch(c){return!1}if(k.ownLast)for(b in a)return j.call(a,b);for(b in a);return void 0===b||j.call(a,b)},type:function(a){return null==a?a+"":"object"==typeof a||"function"==typeof a?h[i.call(a)]||"object":typeof a},globalEval:function(b){b&&m.trim(b)&&(a.execScript||function(b){a.eval.call(a,b)})(b)},camelCase:function(a){return a.replace(o,"ms-").replace(p,q)},nodeName:function(a,b){return a.nodeName&&a.nodeName.toLowerCase()===b.toLowerCase()},each:function(a,b,c){var d,e=0,f=a.length,g=r(a);if(c){if(g){for(;f>e;e++)if(d=b.apply(a[e],c),d===!1)break}else for(e in a)if(d=b.apply(a[e],c),d===!1)break}else if(g){for(;f>e;e++)if(d=b.call(a[e],e,a[e]),d===!1)break}else for(e in a)if(d=b.call(a[e],e,a[e]),d===!1)break;return a},trim:function(a){return null==a?"":(a+"").replace(n,"")},makeArray:function(a,b){var c=b||[];return null!=a&&(r(Object(a))?m.merge(c,"string"==typeof a?[a]:a):f.call(c,a)),c},inArray:function(a,b,c){var d;if(b){if(g)return g.call(b,a,c);for(d=b.length,c=c?0>c?Math.max(0,d+c):c:0;d>c;c++)if(c in b&&b[c]===a)return c}return-1},merge:function(a,b){var c=+b.length,d=0,e=a.length;while(c>d)a[e++]=b[d++];if(c!==c)while(void 0!==b[d])a[e++]=b[d++];return a.length=e,a},grep:function(a,b,c){for(var d,e=[],f=0,g=a.length,h=!c;g>f;f++)d=!b(a[f],f),d!==h&&e.push(a[f]);return e},map:function(a,b,c){var d,f=0,g=a.length,h=r(a),i=[];if(h)for(;g>f;f++)d=b(a[f],f,c),null!=d&&i.push(d);else for(f in a)d=b(a[f],f,c),null!=d&&i.push(d);return e.apply([],i)},guid:1,proxy:function(a,b){var c,e,f;return"string"==typeof b&&(f=a[b],b=a,a=f),m.isFunction(a)?(c=d.call(arguments,2),e=function(){return a.apply(b||this,c.concat(d.call(arguments)))},e.guid=a.guid=a.guid||m.guid++,e):void 0},now:function(){return+new Date},support:k}),m.each("Boolean Number String Function Array Date RegExp Object Error".split(" "),function(a,b){h["[object "+b+"]"]=b.toLowerCase()});function r(a){var b=a.length,c=m.type(a);return"function"===c||m.isWindow(a)?!1:1===a.nodeType&&b?!0:"array"===c||0===b||"number"==typeof b&&b>0&&b-1 in a}var s=function(a){var b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u="sizzle"+-new Date,v=a.document,w=0,x=0,y=gb(),z=gb(),A=gb(),B=function(a,b){return a===b&&(l=!0),0},C="undefined",D=1<<31,E={}.hasOwnProperty,F=[],G=F.pop,H=F.push,I=F.push,J=F.slice,K=F.indexOf||function(a){for(var b=0,c=this.length;c>b;b++)if(this[b]===a)return b;return-1},L="checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped",M="[\\x20\\t\\r\\n\\f]",N="(?:\\\\.|[\\w-]|[^\\x00-\\xa0])+",O=N.replace("w","w#"),P="\\["+M+"*("+N+")(?:"+M+"*([*^$|!~]?=)"+M+"*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|("+O+"))|)"+M+"*\\]",Q=":("+N+")(?:\\((('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|((?:\\\\.|[^\\\\()[\\]]|"+P+")*)|.*)\\)|)",R=new RegExp("^"+M+"+|((?:^|[^\\\\])(?:\\\\.)*)"+M+"+$","g"),S=new RegExp("^"+M+"*,"+M+"*"),T=new RegExp("^"+M+"*([>+~]|"+M+")"+M+"*"),U=new RegExp("="+M+"*([^\\]'\"]*?)"+M+"*\\]","g"),V=new RegExp(Q),W=new RegExp("^"+O+"$"),X={ID:new RegExp("^#("+N+")"),CLASS:new RegExp("^\\.("+N+")"),TAG:new RegExp("^("+N.replace("w","w*")+")"),ATTR:new RegExp("^"+P),PSEUDO:new RegExp("^"+Q),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+M+"*(even|odd|(([+-]|)(\\d*)n|)"+M+"*(?:([+-]|)"+M+"*(\\d+)|))"+M+"*\\)|)","i"),bool:new RegExp("^(?:"+L+")$","i"),needsContext:new RegExp("^"+M+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+M+"*((?:-\\d)?\\d*)"+M+"*\\)|)(?=[^-]|$)","i")},Y=/^(?:input|select|textarea|button)$/i,Z=/^h\d$/i,$=/^[^{]+\{\s*\[native \w/,_=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,ab=/[+~]/,bb=/'|\\/g,cb=new RegExp("\\\\([\\da-f]{1,6}"+M+"?|("+M+")|.)","ig"),db=function(a,b,c){var d="0x"+b-65536;return d!==d||c?b:0>d?String.fromCharCode(d+65536):String.fromCharCode(d>>10|55296,1023&d|56320)};try{I.apply(F=J.call(v.childNodes),v.childNodes),F[v.childNodes.length].nodeType}catch(eb){I={apply:F.length?function(a,b){H.apply(a,J.call(b))}:function(a,b){var c=a.length,d=0;while(a[c++]=b[d++]);a.length=c-1}}}function fb(a,b,d,e){var f,h,j,k,l,o,r,s,w,x;if((b?b.ownerDocument||b:v)!==n&&m(b),b=b||n,d=d||[],!a||"string"!=typeof a)return d;if(1!==(k=b.nodeType)&&9!==k)return[];if(p&&!e){if(f=_.exec(a))if(j=f[1]){if(9===k){if(h=b.getElementById(j),!h||!h.parentNode)return d;if(h.id===j)return d.push(h),d}else if(b.ownerDocument&&(h=b.ownerDocument.getElementById(j))&&t(b,h)&&h.id===j)return d.push(h),d}else{if(f[2])return I.apply(d,b.getElementsByTagName(a)),d;if((j=f[3])&&c.getElementsByClassName&&b.getElementsByClassName)return I.apply(d,b.getElementsByClassName(j)),d}if(c.qsa&&(!q||!q.test(a))){if(s=r=u,w=b,x=9===k&&a,1===k&&"object"!==b.nodeName.toLowerCase()){o=g(a),(r=b.getAttribute("id"))?s=r.replace(bb,"\\$&"):b.setAttribute("id",s),s="[id='"+s+"'] ",l=o.length;while(l--)o[l]=s+qb(o[l]);w=ab.test(a)&&ob(b.parentNode)||b,x=o.join(",")}if(x)try{return I.apply(d,w.querySelectorAll(x)),d}catch(y){}finally{r||b.removeAttribute("id")}}}return i(a.replace(R,"$1"),b,d,e)}function gb(){var a=[];function b(c,e){return a.push(c+" ")>d.cacheLength&&delete b[a.shift()],b[c+" "]=e}return b}function hb(a){return a[u]=!0,a}function ib(a){var b=n.createElement("div");try{return!!a(b)}catch(c){return!1}finally{b.parentNode&&b.parentNode.removeChild(b),b=null}}function jb(a,b){var c=a.split("|"),e=a.length;while(e--)d.attrHandle[c[e]]=b}function kb(a,b){var c=b&&a,d=c&&1===a.nodeType&&1===b.nodeType&&(~b.sourceIndex||D)-(~a.sourceIndex||D);if(d)return d;if(c)while(c=c.nextSibling)if(c===b)return-1;return a?1:-1}function lb(a){return function(b){var c=b.nodeName.toLowerCase();return"input"===c&&b.type===a}}function mb(a){return function(b){var c=b.nodeName.toLowerCase();return("input"===c||"button"===c)&&b.type===a}}function nb(a){return hb(function(b){return b=+b,hb(function(c,d){var e,f=a([],c.length,b),g=f.length;while(g--)c[e=f[g]]&&(c[e]=!(d[e]=c[e]))})})}function ob(a){return a&&typeof a.getElementsByTagName!==C&&a}c=fb.support={},f=fb.isXML=function(a){var b=a&&(a.ownerDocument||a).documentElement;return b?"HTML"!==b.nodeName:!1},m=fb.setDocument=function(a){var b,e=a?a.ownerDocument||a:v,g=e.defaultView;return e!==n&&9===e.nodeType&&e.documentElement?(n=e,o=e.documentElement,p=!f(e),g&&g!==g.top&&(g.addEventListener?g.addEventListener("unload",function(){m()},!1):g.attachEvent&&g.attachEvent("onunload",function(){m()})),c.attributes=ib(function(a){return a.className="i",!a.getAttribute("className")}),c.getElementsByTagName=ib(function(a){return a.appendChild(e.createComment("")),!a.getElementsByTagName("*").length}),c.getElementsByClassName=$.test(e.getElementsByClassName)&&ib(function(a){return a.innerHTML="
                                          ",a.firstChild.className="i",2===a.getElementsByClassName("i").length}),c.getById=ib(function(a){return o.appendChild(a).id=u,!e.getElementsByName||!e.getElementsByName(u).length}),c.getById?(d.find.ID=function(a,b){if(typeof b.getElementById!==C&&p){var c=b.getElementById(a);return c&&c.parentNode?[c]:[]}},d.filter.ID=function(a){var b=a.replace(cb,db);return function(a){return a.getAttribute("id")===b}}):(delete d.find.ID,d.filter.ID=function(a){var b=a.replace(cb,db);return function(a){var c=typeof a.getAttributeNode!==C&&a.getAttributeNode("id");return c&&c.value===b}}),d.find.TAG=c.getElementsByTagName?function(a,b){return typeof b.getElementsByTagName!==C?b.getElementsByTagName(a):void 0}:function(a,b){var c,d=[],e=0,f=b.getElementsByTagName(a);if("*"===a){while(c=f[e++])1===c.nodeType&&d.push(c);return d}return f},d.find.CLASS=c.getElementsByClassName&&function(a,b){return typeof b.getElementsByClassName!==C&&p?b.getElementsByClassName(a):void 0},r=[],q=[],(c.qsa=$.test(e.querySelectorAll))&&(ib(function(a){a.innerHTML="",a.querySelectorAll("[msallowclip^='']").length&&q.push("[*^$]="+M+"*(?:''|\"\")"),a.querySelectorAll("[selected]").length||q.push("\\["+M+"*(?:value|"+L+")"),a.querySelectorAll(":checked").length||q.push(":checked")}),ib(function(a){var b=e.createElement("input");b.setAttribute("type","hidden"),a.appendChild(b).setAttribute("name","D"),a.querySelectorAll("[name=d]").length&&q.push("name"+M+"*[*^$|!~]?="),a.querySelectorAll(":enabled").length||q.push(":enabled",":disabled"),a.querySelectorAll("*,:x"),q.push(",.*:")})),(c.matchesSelector=$.test(s=o.matches||o.webkitMatchesSelector||o.mozMatchesSelector||o.oMatchesSelector||o.msMatchesSelector))&&ib(function(a){c.disconnectedMatch=s.call(a,"div"),s.call(a,"[s!='']:x"),r.push("!=",Q)}),q=q.length&&new RegExp(q.join("|")),r=r.length&&new RegExp(r.join("|")),b=$.test(o.compareDocumentPosition),t=b||$.test(o.contains)?function(a,b){var c=9===a.nodeType?a.documentElement:a,d=b&&b.parentNode;return a===d||!(!d||1!==d.nodeType||!(c.contains?c.contains(d):a.compareDocumentPosition&&16&a.compareDocumentPosition(d)))}:function(a,b){if(b)while(b=b.parentNode)if(b===a)return!0;return!1},B=b?function(a,b){if(a===b)return l=!0,0;var d=!a.compareDocumentPosition-!b.compareDocumentPosition;return d?d:(d=(a.ownerDocument||a)===(b.ownerDocument||b)?a.compareDocumentPosition(b):1,1&d||!c.sortDetached&&b.compareDocumentPosition(a)===d?a===e||a.ownerDocument===v&&t(v,a)?-1:b===e||b.ownerDocument===v&&t(v,b)?1:k?K.call(k,a)-K.call(k,b):0:4&d?-1:1)}:function(a,b){if(a===b)return l=!0,0;var c,d=0,f=a.parentNode,g=b.parentNode,h=[a],i=[b];if(!f||!g)return a===e?-1:b===e?1:f?-1:g?1:k?K.call(k,a)-K.call(k,b):0;if(f===g)return kb(a,b);c=a;while(c=c.parentNode)h.unshift(c);c=b;while(c=c.parentNode)i.unshift(c);while(h[d]===i[d])d++;return d?kb(h[d],i[d]):h[d]===v?-1:i[d]===v?1:0},e):n},fb.matches=function(a,b){return fb(a,null,null,b)},fb.matchesSelector=function(a,b){if((a.ownerDocument||a)!==n&&m(a),b=b.replace(U,"='$1']"),!(!c.matchesSelector||!p||r&&r.test(b)||q&&q.test(b)))try{var d=s.call(a,b);if(d||c.disconnectedMatch||a.document&&11!==a.document.nodeType)return d}catch(e){}return fb(b,n,null,[a]).length>0},fb.contains=function(a,b){return(a.ownerDocument||a)!==n&&m(a),t(a,b)},fb.attr=function(a,b){(a.ownerDocument||a)!==n&&m(a);var e=d.attrHandle[b.toLowerCase()],f=e&&E.call(d.attrHandle,b.toLowerCase())?e(a,b,!p):void 0;return void 0!==f?f:c.attributes||!p?a.getAttribute(b):(f=a.getAttributeNode(b))&&f.specified?f.value:null},fb.error=function(a){throw new Error("Syntax error, unrecognized expression: "+a)},fb.uniqueSort=function(a){var b,d=[],e=0,f=0;if(l=!c.detectDuplicates,k=!c.sortStable&&a.slice(0),a.sort(B),l){while(b=a[f++])b===a[f]&&(e=d.push(f));while(e--)a.splice(d[e],1)}return k=null,a},e=fb.getText=function(a){var b,c="",d=0,f=a.nodeType;if(f){if(1===f||9===f||11===f){if("string"==typeof a.textContent)return a.textContent;for(a=a.firstChild;a;a=a.nextSibling)c+=e(a)}else if(3===f||4===f)return a.nodeValue}else while(b=a[d++])c+=e(b);return c},d=fb.selectors={cacheLength:50,createPseudo:hb,match:X,attrHandle:{},find:{},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(a){return a[1]=a[1].replace(cb,db),a[3]=(a[3]||a[4]||a[5]||"").replace(cb,db),"~="===a[2]&&(a[3]=" "+a[3]+" "),a.slice(0,4)},CHILD:function(a){return a[1]=a[1].toLowerCase(),"nth"===a[1].slice(0,3)?(a[3]||fb.error(a[0]),a[4]=+(a[4]?a[5]+(a[6]||1):2*("even"===a[3]||"odd"===a[3])),a[5]=+(a[7]+a[8]||"odd"===a[3])):a[3]&&fb.error(a[0]),a},PSEUDO:function(a){var b,c=!a[6]&&a[2];return X.CHILD.test(a[0])?null:(a[3]?a[2]=a[4]||a[5]||"":c&&V.test(c)&&(b=g(c,!0))&&(b=c.indexOf(")",c.length-b)-c.length)&&(a[0]=a[0].slice(0,b),a[2]=c.slice(0,b)),a.slice(0,3))}},filter:{TAG:function(a){var b=a.replace(cb,db).toLowerCase();return"*"===a?function(){return!0}:function(a){return a.nodeName&&a.nodeName.toLowerCase()===b}},CLASS:function(a){var b=y[a+" "];return b||(b=new RegExp("(^|"+M+")"+a+"("+M+"|$)"))&&y(a,function(a){return b.test("string"==typeof a.className&&a.className||typeof a.getAttribute!==C&&a.getAttribute("class")||"")})},ATTR:function(a,b,c){return function(d){var e=fb.attr(d,a);return null==e?"!="===b:b?(e+="","="===b?e===c:"!="===b?e!==c:"^="===b?c&&0===e.indexOf(c):"*="===b?c&&e.indexOf(c)>-1:"$="===b?c&&e.slice(-c.length)===c:"~="===b?(" "+e+" ").indexOf(c)>-1:"|="===b?e===c||e.slice(0,c.length+1)===c+"-":!1):!0}},CHILD:function(a,b,c,d,e){var f="nth"!==a.slice(0,3),g="last"!==a.slice(-4),h="of-type"===b;return 1===d&&0===e?function(a){return!!a.parentNode}:function(b,c,i){var j,k,l,m,n,o,p=f!==g?"nextSibling":"previousSibling",q=b.parentNode,r=h&&b.nodeName.toLowerCase(),s=!i&&!h;if(q){if(f){while(p){l=b;while(l=l[p])if(h?l.nodeName.toLowerCase()===r:1===l.nodeType)return!1;o=p="only"===a&&!o&&"nextSibling"}return!0}if(o=[g?q.firstChild:q.lastChild],g&&s){k=q[u]||(q[u]={}),j=k[a]||[],n=j[0]===w&&j[1],m=j[0]===w&&j[2],l=n&&q.childNodes[n];while(l=++n&&l&&l[p]||(m=n=0)||o.pop())if(1===l.nodeType&&++m&&l===b){k[a]=[w,n,m];break}}else if(s&&(j=(b[u]||(b[u]={}))[a])&&j[0]===w)m=j[1];else while(l=++n&&l&&l[p]||(m=n=0)||o.pop())if((h?l.nodeName.toLowerCase()===r:1===l.nodeType)&&++m&&(s&&((l[u]||(l[u]={}))[a]=[w,m]),l===b))break;return m-=e,m===d||m%d===0&&m/d>=0}}},PSEUDO:function(a,b){var c,e=d.pseudos[a]||d.setFilters[a.toLowerCase()]||fb.error("unsupported pseudo: "+a);return e[u]?e(b):e.length>1?(c=[a,a,"",b],d.setFilters.hasOwnProperty(a.toLowerCase())?hb(function(a,c){var d,f=e(a,b),g=f.length;while(g--)d=K.call(a,f[g]),a[d]=!(c[d]=f[g])}):function(a){return e(a,0,c)}):e}},pseudos:{not:hb(function(a){var b=[],c=[],d=h(a.replace(R,"$1"));return d[u]?hb(function(a,b,c,e){var f,g=d(a,null,e,[]),h=a.length;while(h--)(f=g[h])&&(a[h]=!(b[h]=f))}):function(a,e,f){return b[0]=a,d(b,null,f,c),!c.pop()}}),has:hb(function(a){return function(b){return fb(a,b).length>0}}),contains:hb(function(a){return function(b){return(b.textContent||b.innerText||e(b)).indexOf(a)>-1}}),lang:hb(function(a){return W.test(a||"")||fb.error("unsupported lang: "+a),a=a.replace(cb,db).toLowerCase(),function(b){var c;do if(c=p?b.lang:b.getAttribute("xml:lang")||b.getAttribute("lang"))return c=c.toLowerCase(),c===a||0===c.indexOf(a+"-");while((b=b.parentNode)&&1===b.nodeType);return!1}}),target:function(b){var c=a.location&&a.location.hash;return c&&c.slice(1)===b.id},root:function(a){return a===o},focus:function(a){return a===n.activeElement&&(!n.hasFocus||n.hasFocus())&&!!(a.type||a.href||~a.tabIndex)},enabled:function(a){return a.disabled===!1},disabled:function(a){return a.disabled===!0},checked:function(a){var b=a.nodeName.toLowerCase();return"input"===b&&!!a.checked||"option"===b&&!!a.selected},selected:function(a){return a.parentNode&&a.parentNode.selectedIndex,a.selected===!0},empty:function(a){for(a=a.firstChild;a;a=a.nextSibling)if(a.nodeType<6)return!1;return!0},parent:function(a){return!d.pseudos.empty(a)},header:function(a){return Z.test(a.nodeName)},input:function(a){return Y.test(a.nodeName)},button:function(a){var b=a.nodeName.toLowerCase();return"input"===b&&"button"===a.type||"button"===b},text:function(a){var b;return"input"===a.nodeName.toLowerCase()&&"text"===a.type&&(null==(b=a.getAttribute("type"))||"text"===b.toLowerCase())},first:nb(function(){return[0]}),last:nb(function(a,b){return[b-1]}),eq:nb(function(a,b,c){return[0>c?c+b:c]}),even:nb(function(a,b){for(var c=0;b>c;c+=2)a.push(c);return a}),odd:nb(function(a,b){for(var c=1;b>c;c+=2)a.push(c);return a}),lt:nb(function(a,b,c){for(var d=0>c?c+b:c;--d>=0;)a.push(d);return a}),gt:nb(function(a,b,c){for(var d=0>c?c+b:c;++db;b++)d+=a[b].value;return d}function rb(a,b,c){var d=b.dir,e=c&&"parentNode"===d,f=x++;return b.first?function(b,c,f){while(b=b[d])if(1===b.nodeType||e)return a(b,c,f)}:function(b,c,g){var h,i,j=[w,f];if(g){while(b=b[d])if((1===b.nodeType||e)&&a(b,c,g))return!0}else while(b=b[d])if(1===b.nodeType||e){if(i=b[u]||(b[u]={}),(h=i[d])&&h[0]===w&&h[1]===f)return j[2]=h[2];if(i[d]=j,j[2]=a(b,c,g))return!0}}}function sb(a){return a.length>1?function(b,c,d){var e=a.length;while(e--)if(!a[e](b,c,d))return!1;return!0}:a[0]}function tb(a,b,c){for(var d=0,e=b.length;e>d;d++)fb(a,b[d],c);return c}function ub(a,b,c,d,e){for(var f,g=[],h=0,i=a.length,j=null!=b;i>h;h++)(f=a[h])&&(!c||c(f,d,e))&&(g.push(f),j&&b.push(h));return g}function vb(a,b,c,d,e,f){return d&&!d[u]&&(d=vb(d)),e&&!e[u]&&(e=vb(e,f)),hb(function(f,g,h,i){var j,k,l,m=[],n=[],o=g.length,p=f||tb(b||"*",h.nodeType?[h]:h,[]),q=!a||!f&&b?p:ub(p,m,a,h,i),r=c?e||(f?a:o||d)?[]:g:q;if(c&&c(q,r,h,i),d){j=ub(r,n),d(j,[],h,i),k=j.length;while(k--)(l=j[k])&&(r[n[k]]=!(q[n[k]]=l))}if(f){if(e||a){if(e){j=[],k=r.length;while(k--)(l=r[k])&&j.push(q[k]=l);e(null,r=[],j,i)}k=r.length;while(k--)(l=r[k])&&(j=e?K.call(f,l):m[k])>-1&&(f[j]=!(g[j]=l))}}else r=ub(r===g?r.splice(o,r.length):r),e?e(null,g,r,i):I.apply(g,r)})}function wb(a){for(var b,c,e,f=a.length,g=d.relative[a[0].type],h=g||d.relative[" "],i=g?1:0,k=rb(function(a){return a===b},h,!0),l=rb(function(a){return K.call(b,a)>-1},h,!0),m=[function(a,c,d){return!g&&(d||c!==j)||((b=c).nodeType?k(a,c,d):l(a,c,d))}];f>i;i++)if(c=d.relative[a[i].type])m=[rb(sb(m),c)];else{if(c=d.filter[a[i].type].apply(null,a[i].matches),c[u]){for(e=++i;f>e;e++)if(d.relative[a[e].type])break;return vb(i>1&&sb(m),i>1&&qb(a.slice(0,i-1).concat({value:" "===a[i-2].type?"*":""})).replace(R,"$1"),c,e>i&&wb(a.slice(i,e)),f>e&&wb(a=a.slice(e)),f>e&&qb(a))}m.push(c)}return sb(m)}function xb(a,b){var c=b.length>0,e=a.length>0,f=function(f,g,h,i,k){var l,m,o,p=0,q="0",r=f&&[],s=[],t=j,u=f||e&&d.find.TAG("*",k),v=w+=null==t?1:Math.random()||.1,x=u.length;for(k&&(j=g!==n&&g);q!==x&&null!=(l=u[q]);q++){if(e&&l){m=0;while(o=a[m++])if(o(l,g,h)){i.push(l);break}k&&(w=v)}c&&((l=!o&&l)&&p--,f&&r.push(l))}if(p+=q,c&&q!==p){m=0;while(o=b[m++])o(r,s,g,h);if(f){if(p>0)while(q--)r[q]||s[q]||(s[q]=G.call(i));s=ub(s)}I.apply(i,s),k&&!f&&s.length>0&&p+b.length>1&&fb.uniqueSort(i)}return k&&(w=v,j=t),r};return c?hb(f):f}return h=fb.compile=function(a,b){var c,d=[],e=[],f=A[a+" "];if(!f){b||(b=g(a)),c=b.length;while(c--)f=wb(b[c]),f[u]?d.push(f):e.push(f);f=A(a,xb(e,d)),f.selector=a}return f},i=fb.select=function(a,b,e,f){var i,j,k,l,m,n="function"==typeof a&&a,o=!f&&g(a=n.selector||a);if(e=e||[],1===o.length){if(j=o[0]=o[0].slice(0),j.length>2&&"ID"===(k=j[0]).type&&c.getById&&9===b.nodeType&&p&&d.relative[j[1].type]){if(b=(d.find.ID(k.matches[0].replace(cb,db),b)||[])[0],!b)return e;n&&(b=b.parentNode),a=a.slice(j.shift().value.length)}i=X.needsContext.test(a)?0:j.length;while(i--){if(k=j[i],d.relative[l=k.type])break;if((m=d.find[l])&&(f=m(k.matches[0].replace(cb,db),ab.test(j[0].type)&&ob(b.parentNode)||b))){if(j.splice(i,1),a=f.length&&qb(j),!a)return I.apply(e,f),e;break}}}return(n||h(a,o))(f,b,!p,e,ab.test(a)&&ob(b.parentNode)||b),e},c.sortStable=u.split("").sort(B).join("")===u,c.detectDuplicates=!!l,m(),c.sortDetached=ib(function(a){return 1&a.compareDocumentPosition(n.createElement("div"))}),ib(function(a){return a.innerHTML="","#"===a.firstChild.getAttribute("href")})||jb("type|href|height|width",function(a,b,c){return c?void 0:a.getAttribute(b,"type"===b.toLowerCase()?1:2)}),c.attributes&&ib(function(a){return a.innerHTML="",a.firstChild.setAttribute("value",""),""===a.firstChild.getAttribute("value")})||jb("value",function(a,b,c){return c||"input"!==a.nodeName.toLowerCase()?void 0:a.defaultValue}),ib(function(a){return null==a.getAttribute("disabled")})||jb(L,function(a,b,c){var d;return c?void 0:a[b]===!0?b.toLowerCase():(d=a.getAttributeNode(b))&&d.specified?d.value:null}),fb}(a);m.find=s,m.expr=s.selectors,m.expr[":"]=m.expr.pseudos,m.unique=s.uniqueSort,m.text=s.getText,m.isXMLDoc=s.isXML,m.contains=s.contains;var t=m.expr.match.needsContext,u=/^<(\w+)\s*\/?>(?:<\/\1>|)$/,v=/^.[^:#\[\.,]*$/;function w(a,b,c){if(m.isFunction(b))return m.grep(a,function(a,d){return!!b.call(a,d,a)!==c});if(b.nodeType)return m.grep(a,function(a){return a===b!==c});if("string"==typeof b){if(v.test(b))return m.filter(b,a,c);b=m.filter(b,a)}return m.grep(a,function(a){return m.inArray(a,b)>=0!==c})}m.filter=function(a,b,c){var d=b[0];return c&&(a=":not("+a+")"),1===b.length&&1===d.nodeType?m.find.matchesSelector(d,a)?[d]:[]:m.find.matches(a,m.grep(b,function(a){return 1===a.nodeType}))},m.fn.extend({find:function(a){var b,c=[],d=this,e=d.length;if("string"!=typeof a)return this.pushStack(m(a).filter(function(){for(b=0;e>b;b++)if(m.contains(d[b],this))return!0}));for(b=0;e>b;b++)m.find(a,d[b],c);return c=this.pushStack(e>1?m.unique(c):c),c.selector=this.selector?this.selector+" "+a:a,c},filter:function(a){return this.pushStack(w(this,a||[],!1))},not:function(a){return this.pushStack(w(this,a||[],!0))},is:function(a){return!!w(this,"string"==typeof a&&t.test(a)?m(a):a||[],!1).length}});var x,y=a.document,z=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]*))$/,A=m.fn.init=function(a,b){var c,d;if(!a)return this;if("string"==typeof a){if(c="<"===a.charAt(0)&&">"===a.charAt(a.length-1)&&a.length>=3?[null,a,null]:z.exec(a),!c||!c[1]&&b)return!b||b.jquery?(b||x).find(a):this.constructor(b).find(a);if(c[1]){if(b=b instanceof m?b[0]:b,m.merge(this,m.parseHTML(c[1],b&&b.nodeType?b.ownerDocument||b:y,!0)),u.test(c[1])&&m.isPlainObject(b))for(c in b)m.isFunction(this[c])?this[c](b[c]):this.attr(c,b[c]);return this}if(d=y.getElementById(c[2]),d&&d.parentNode){if(d.id!==c[2])return x.find(a);this.length=1,this[0]=d}return this.context=y,this.selector=a,this}return a.nodeType?(this.context=this[0]=a,this.length=1,this):m.isFunction(a)?"undefined"!=typeof x.ready?x.ready(a):a(m):(void 0!==a.selector&&(this.selector=a.selector,this.context=a.context),m.makeArray(a,this))};A.prototype=m.fn,x=m(y);var B=/^(?:parents|prev(?:Until|All))/,C={children:!0,contents:!0,next:!0,prev:!0};m.extend({dir:function(a,b,c){var d=[],e=a[b];while(e&&9!==e.nodeType&&(void 0===c||1!==e.nodeType||!m(e).is(c)))1===e.nodeType&&d.push(e),e=e[b];return d},sibling:function(a,b){for(var c=[];a;a=a.nextSibling)1===a.nodeType&&a!==b&&c.push(a);return c}}),m.fn.extend({has:function(a){var b,c=m(a,this),d=c.length;return this.filter(function(){for(b=0;d>b;b++)if(m.contains(this,c[b]))return!0})},closest:function(a,b){for(var c,d=0,e=this.length,f=[],g=t.test(a)||"string"!=typeof a?m(a,b||this.context):0;e>d;d++)for(c=this[d];c&&c!==b;c=c.parentNode)if(c.nodeType<11&&(g?g.index(c)>-1:1===c.nodeType&&m.find.matchesSelector(c,a))){f.push(c);break}return this.pushStack(f.length>1?m.unique(f):f)},index:function(a){return a?"string"==typeof a?m.inArray(this[0],m(a)):m.inArray(a.jquery?a[0]:a,this):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(a,b){return this.pushStack(m.unique(m.merge(this.get(),m(a,b))))},addBack:function(a){return this.add(null==a?this.prevObject:this.prevObject.filter(a))}});function D(a,b){do a=a[b];while(a&&1!==a.nodeType);return a}m.each({parent:function(a){var b=a.parentNode;return b&&11!==b.nodeType?b:null},parents:function(a){return m.dir(a,"parentNode")},parentsUntil:function(a,b,c){return m.dir(a,"parentNode",c)},next:function(a){return D(a,"nextSibling")},prev:function(a){return D(a,"previousSibling")},nextAll:function(a){return m.dir(a,"nextSibling")},prevAll:function(a){return m.dir(a,"previousSibling")},nextUntil:function(a,b,c){return m.dir(a,"nextSibling",c)},prevUntil:function(a,b,c){return m.dir(a,"previousSibling",c)},siblings:function(a){return m.sibling((a.parentNode||{}).firstChild,a)},children:function(a){return m.sibling(a.firstChild)},contents:function(a){return m.nodeName(a,"iframe")?a.contentDocument||a.contentWindow.document:m.merge([],a.childNodes)}},function(a,b){m.fn[a]=function(c,d){var e=m.map(this,b,c);return"Until"!==a.slice(-5)&&(d=c),d&&"string"==typeof d&&(e=m.filter(d,e)),this.length>1&&(C[a]||(e=m.unique(e)),B.test(a)&&(e=e.reverse())),this.pushStack(e)}});var E=/\S+/g,F={};function G(a){var b=F[a]={};return m.each(a.match(E)||[],function(a,c){b[c]=!0}),b}m.Callbacks=function(a){a="string"==typeof a?F[a]||G(a):m.extend({},a);var b,c,d,e,f,g,h=[],i=!a.once&&[],j=function(l){for(c=a.memory&&l,d=!0,f=g||0,g=0,e=h.length,b=!0;h&&e>f;f++)if(h[f].apply(l[0],l[1])===!1&&a.stopOnFalse){c=!1;break}b=!1,h&&(i?i.length&&j(i.shift()):c?h=[]:k.disable())},k={add:function(){if(h){var d=h.length;!function f(b){m.each(b,function(b,c){var d=m.type(c);"function"===d?a.unique&&k.has(c)||h.push(c):c&&c.length&&"string"!==d&&f(c)})}(arguments),b?e=h.length:c&&(g=d,j(c))}return this},remove:function(){return h&&m.each(arguments,function(a,c){var d;while((d=m.inArray(c,h,d))>-1)h.splice(d,1),b&&(e>=d&&e--,f>=d&&f--)}),this},has:function(a){return a?m.inArray(a,h)>-1:!(!h||!h.length)},empty:function(){return h=[],e=0,this},disable:function(){return h=i=c=void 0,this},disabled:function(){return!h},lock:function(){return i=void 0,c||k.disable(),this},locked:function(){return!i},fireWith:function(a,c){return!h||d&&!i||(c=c||[],c=[a,c.slice?c.slice():c],b?i.push(c):j(c)),this},fire:function(){return k.fireWith(this,arguments),this},fired:function(){return!!d}};return k},m.extend({Deferred:function(a){var b=[["resolve","done",m.Callbacks("once memory"),"resolved"],["reject","fail",m.Callbacks("once memory"),"rejected"],["notify","progress",m.Callbacks("memory")]],c="pending",d={state:function(){return c},always:function(){return e.done(arguments).fail(arguments),this},then:function(){var a=arguments;return m.Deferred(function(c){m.each(b,function(b,f){var g=m.isFunction(a[b])&&a[b];e[f[1]](function(){var a=g&&g.apply(this,arguments);a&&m.isFunction(a.promise)?a.promise().done(c.resolve).fail(c.reject).progress(c.notify):c[f[0]+"With"](this===d?c.promise():this,g?[a]:arguments)})}),a=null}).promise()},promise:function(a){return null!=a?m.extend(a,d):d}},e={};return d.pipe=d.then,m.each(b,function(a,f){var g=f[2],h=f[3];d[f[1]]=g.add,h&&g.add(function(){c=h},b[1^a][2].disable,b[2][2].lock),e[f[0]]=function(){return e[f[0]+"With"](this===e?d:this,arguments),this},e[f[0]+"With"]=g.fireWith}),d.promise(e),a&&a.call(e,e),e},when:function(a){var b=0,c=d.call(arguments),e=c.length,f=1!==e||a&&m.isFunction(a.promise)?e:0,g=1===f?a:m.Deferred(),h=function(a,b,c){return function(e){b[a]=this,c[a]=arguments.length>1?d.call(arguments):e,c===i?g.notifyWith(b,c):--f||g.resolveWith(b,c)}},i,j,k;if(e>1)for(i=new Array(e),j=new Array(e),k=new Array(e);e>b;b++)c[b]&&m.isFunction(c[b].promise)?c[b].promise().done(h(b,k,c)).fail(g.reject).progress(h(b,j,i)):--f;return f||g.resolveWith(k,c),g.promise()}});var H;m.fn.ready=function(a){return m.ready.promise().done(a),this},m.extend({isReady:!1,readyWait:1,holdReady:function(a){a?m.readyWait++:m.ready(!0)},ready:function(a){if(a===!0?!--m.readyWait:!m.isReady){if(!y.body)return setTimeout(m.ready);m.isReady=!0,a!==!0&&--m.readyWait>0||(H.resolveWith(y,[m]),m.fn.triggerHandler&&(m(y).triggerHandler("ready"),m(y).off("ready")))}}});function I(){y.addEventListener?(y.removeEventListener("DOMContentLoaded",J,!1),a.removeEventListener("load",J,!1)):(y.detachEvent("onreadystatechange",J),a.detachEvent("onload",J))}function J(){(y.addEventListener||"load"===event.type||"complete"===y.readyState)&&(I(),m.ready())}m.ready.promise=function(b){if(!H)if(H=m.Deferred(),"complete"===y.readyState)setTimeout(m.ready);else if(y.addEventListener)y.addEventListener("DOMContentLoaded",J,!1),a.addEventListener("load",J,!1);else{y.attachEvent("onreadystatechange",J),a.attachEvent("onload",J);var c=!1;try{c=null==a.frameElement&&y.documentElement}catch(d){}c&&c.doScroll&&!function e(){if(!m.isReady){try{c.doScroll("left")}catch(a){return setTimeout(e,50)}I(),m.ready()}}()}return H.promise(b)};var K="undefined",L;for(L in m(k))break;k.ownLast="0"!==L,k.inlineBlockNeedsLayout=!1,m(function(){var a,b,c,d;c=y.getElementsByTagName("body")[0],c&&c.style&&(b=y.createElement("div"),d=y.createElement("div"),d.style.cssText="position:absolute;border:0;width:0;height:0;top:0;left:-9999px",c.appendChild(d).appendChild(b),typeof b.style.zoom!==K&&(b.style.cssText="display:inline;margin:0;border:0;padding:1px;width:1px;zoom:1",k.inlineBlockNeedsLayout=a=3===b.offsetWidth,a&&(c.style.zoom=1)),c.removeChild(d))}),function(){var a=y.createElement("div");if(null==k.deleteExpando){k.deleteExpando=!0;try{delete a.test}catch(b){k.deleteExpando=!1}}a=null}(),m.acceptData=function(a){var b=m.noData[(a.nodeName+" ").toLowerCase()],c=+a.nodeType||1;return 1!==c&&9!==c?!1:!b||b!==!0&&a.getAttribute("classid")===b};var M=/^(?:\{[\w\W]*\}|\[[\w\W]*\])$/,N=/([A-Z])/g;function O(a,b,c){if(void 0===c&&1===a.nodeType){var d="data-"+b.replace(N,"-$1").toLowerCase();if(c=a.getAttribute(d),"string"==typeof c){try{c="true"===c?!0:"false"===c?!1:"null"===c?null:+c+""===c?+c:M.test(c)?m.parseJSON(c):c}catch(e){}m.data(a,b,c)}else c=void 0}return c}function P(a){var b;for(b in a)if(("data"!==b||!m.isEmptyObject(a[b]))&&"toJSON"!==b)return!1;return!0}function Q(a,b,d,e){if(m.acceptData(a)){var f,g,h=m.expando,i=a.nodeType,j=i?m.cache:a,k=i?a[h]:a[h]&&h; +if(k&&j[k]&&(e||j[k].data)||void 0!==d||"string"!=typeof b)return k||(k=i?a[h]=c.pop()||m.guid++:h),j[k]||(j[k]=i?{}:{toJSON:m.noop}),("object"==typeof b||"function"==typeof b)&&(e?j[k]=m.extend(j[k],b):j[k].data=m.extend(j[k].data,b)),g=j[k],e||(g.data||(g.data={}),g=g.data),void 0!==d&&(g[m.camelCase(b)]=d),"string"==typeof b?(f=g[b],null==f&&(f=g[m.camelCase(b)])):f=g,f}}function R(a,b,c){if(m.acceptData(a)){var d,e,f=a.nodeType,g=f?m.cache:a,h=f?a[m.expando]:m.expando;if(g[h]){if(b&&(d=c?g[h]:g[h].data)){m.isArray(b)?b=b.concat(m.map(b,m.camelCase)):b in d?b=[b]:(b=m.camelCase(b),b=b in d?[b]:b.split(" ")),e=b.length;while(e--)delete d[b[e]];if(c?!P(d):!m.isEmptyObject(d))return}(c||(delete g[h].data,P(g[h])))&&(f?m.cleanData([a],!0):k.deleteExpando||g!=g.window?delete g[h]:g[h]=null)}}}m.extend({cache:{},noData:{"applet ":!0,"embed ":!0,"object ":"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"},hasData:function(a){return a=a.nodeType?m.cache[a[m.expando]]:a[m.expando],!!a&&!P(a)},data:function(a,b,c){return Q(a,b,c)},removeData:function(a,b){return R(a,b)},_data:function(a,b,c){return Q(a,b,c,!0)},_removeData:function(a,b){return R(a,b,!0)}}),m.fn.extend({data:function(a,b){var c,d,e,f=this[0],g=f&&f.attributes;if(void 0===a){if(this.length&&(e=m.data(f),1===f.nodeType&&!m._data(f,"parsedAttrs"))){c=g.length;while(c--)g[c]&&(d=g[c].name,0===d.indexOf("data-")&&(d=m.camelCase(d.slice(5)),O(f,d,e[d])));m._data(f,"parsedAttrs",!0)}return e}return"object"==typeof a?this.each(function(){m.data(this,a)}):arguments.length>1?this.each(function(){m.data(this,a,b)}):f?O(f,a,m.data(f,a)):void 0},removeData:function(a){return this.each(function(){m.removeData(this,a)})}}),m.extend({queue:function(a,b,c){var d;return a?(b=(b||"fx")+"queue",d=m._data(a,b),c&&(!d||m.isArray(c)?d=m._data(a,b,m.makeArray(c)):d.push(c)),d||[]):void 0},dequeue:function(a,b){b=b||"fx";var c=m.queue(a,b),d=c.length,e=c.shift(),f=m._queueHooks(a,b),g=function(){m.dequeue(a,b)};"inprogress"===e&&(e=c.shift(),d--),e&&("fx"===b&&c.unshift("inprogress"),delete f.stop,e.call(a,g,f)),!d&&f&&f.empty.fire()},_queueHooks:function(a,b){var c=b+"queueHooks";return m._data(a,c)||m._data(a,c,{empty:m.Callbacks("once memory").add(function(){m._removeData(a,b+"queue"),m._removeData(a,c)})})}}),m.fn.extend({queue:function(a,b){var c=2;return"string"!=typeof a&&(b=a,a="fx",c--),arguments.lengthh;h++)b(a[h],c,g?d:d.call(a[h],h,b(a[h],c)));return e?a:j?b.call(a):i?b(a[0],c):f},W=/^(?:checkbox|radio)$/i;!function(){var a=y.createElement("input"),b=y.createElement("div"),c=y.createDocumentFragment();if(b.innerHTML="
                                          a",k.leadingWhitespace=3===b.firstChild.nodeType,k.tbody=!b.getElementsByTagName("tbody").length,k.htmlSerialize=!!b.getElementsByTagName("link").length,k.html5Clone="<:nav>"!==y.createElement("nav").cloneNode(!0).outerHTML,a.type="checkbox",a.checked=!0,c.appendChild(a),k.appendChecked=a.checked,b.innerHTML="",k.noCloneChecked=!!b.cloneNode(!0).lastChild.defaultValue,c.appendChild(b),b.innerHTML="",k.checkClone=b.cloneNode(!0).cloneNode(!0).lastChild.checked,k.noCloneEvent=!0,b.attachEvent&&(b.attachEvent("onclick",function(){k.noCloneEvent=!1}),b.cloneNode(!0).click()),null==k.deleteExpando){k.deleteExpando=!0;try{delete b.test}catch(d){k.deleteExpando=!1}}}(),function(){var b,c,d=y.createElement("div");for(b in{submit:!0,change:!0,focusin:!0})c="on"+b,(k[b+"Bubbles"]=c in a)||(d.setAttribute(c,"t"),k[b+"Bubbles"]=d.attributes[c].expando===!1);d=null}();var X=/^(?:input|select|textarea)$/i,Y=/^key/,Z=/^(?:mouse|pointer|contextmenu)|click/,$=/^(?:focusinfocus|focusoutblur)$/,_=/^([^.]*)(?:\.(.+)|)$/;function ab(){return!0}function bb(){return!1}function cb(){try{return y.activeElement}catch(a){}}m.event={global:{},add:function(a,b,c,d,e){var f,g,h,i,j,k,l,n,o,p,q,r=m._data(a);if(r){c.handler&&(i=c,c=i.handler,e=i.selector),c.guid||(c.guid=m.guid++),(g=r.events)||(g=r.events={}),(k=r.handle)||(k=r.handle=function(a){return typeof m===K||a&&m.event.triggered===a.type?void 0:m.event.dispatch.apply(k.elem,arguments)},k.elem=a),b=(b||"").match(E)||[""],h=b.length;while(h--)f=_.exec(b[h])||[],o=q=f[1],p=(f[2]||"").split(".").sort(),o&&(j=m.event.special[o]||{},o=(e?j.delegateType:j.bindType)||o,j=m.event.special[o]||{},l=m.extend({type:o,origType:q,data:d,handler:c,guid:c.guid,selector:e,needsContext:e&&m.expr.match.needsContext.test(e),namespace:p.join(".")},i),(n=g[o])||(n=g[o]=[],n.delegateCount=0,j.setup&&j.setup.call(a,d,p,k)!==!1||(a.addEventListener?a.addEventListener(o,k,!1):a.attachEvent&&a.attachEvent("on"+o,k))),j.add&&(j.add.call(a,l),l.handler.guid||(l.handler.guid=c.guid)),e?n.splice(n.delegateCount++,0,l):n.push(l),m.event.global[o]=!0);a=null}},remove:function(a,b,c,d,e){var f,g,h,i,j,k,l,n,o,p,q,r=m.hasData(a)&&m._data(a);if(r&&(k=r.events)){b=(b||"").match(E)||[""],j=b.length;while(j--)if(h=_.exec(b[j])||[],o=q=h[1],p=(h[2]||"").split(".").sort(),o){l=m.event.special[o]||{},o=(d?l.delegateType:l.bindType)||o,n=k[o]||[],h=h[2]&&new RegExp("(^|\\.)"+p.join("\\.(?:.*\\.|)")+"(\\.|$)"),i=f=n.length;while(f--)g=n[f],!e&&q!==g.origType||c&&c.guid!==g.guid||h&&!h.test(g.namespace)||d&&d!==g.selector&&("**"!==d||!g.selector)||(n.splice(f,1),g.selector&&n.delegateCount--,l.remove&&l.remove.call(a,g));i&&!n.length&&(l.teardown&&l.teardown.call(a,p,r.handle)!==!1||m.removeEvent(a,o,r.handle),delete k[o])}else for(o in k)m.event.remove(a,o+b[j],c,d,!0);m.isEmptyObject(k)&&(delete r.handle,m._removeData(a,"events"))}},trigger:function(b,c,d,e){var f,g,h,i,k,l,n,o=[d||y],p=j.call(b,"type")?b.type:b,q=j.call(b,"namespace")?b.namespace.split("."):[];if(h=l=d=d||y,3!==d.nodeType&&8!==d.nodeType&&!$.test(p+m.event.triggered)&&(p.indexOf(".")>=0&&(q=p.split("."),p=q.shift(),q.sort()),g=p.indexOf(":")<0&&"on"+p,b=b[m.expando]?b:new m.Event(p,"object"==typeof b&&b),b.isTrigger=e?2:3,b.namespace=q.join("."),b.namespace_re=b.namespace?new RegExp("(^|\\.)"+q.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,b.result=void 0,b.target||(b.target=d),c=null==c?[b]:m.makeArray(c,[b]),k=m.event.special[p]||{},e||!k.trigger||k.trigger.apply(d,c)!==!1)){if(!e&&!k.noBubble&&!m.isWindow(d)){for(i=k.delegateType||p,$.test(i+p)||(h=h.parentNode);h;h=h.parentNode)o.push(h),l=h;l===(d.ownerDocument||y)&&o.push(l.defaultView||l.parentWindow||a)}n=0;while((h=o[n++])&&!b.isPropagationStopped())b.type=n>1?i:k.bindType||p,f=(m._data(h,"events")||{})[b.type]&&m._data(h,"handle"),f&&f.apply(h,c),f=g&&h[g],f&&f.apply&&m.acceptData(h)&&(b.result=f.apply(h,c),b.result===!1&&b.preventDefault());if(b.type=p,!e&&!b.isDefaultPrevented()&&(!k._default||k._default.apply(o.pop(),c)===!1)&&m.acceptData(d)&&g&&d[p]&&!m.isWindow(d)){l=d[g],l&&(d[g]=null),m.event.triggered=p;try{d[p]()}catch(r){}m.event.triggered=void 0,l&&(d[g]=l)}return b.result}},dispatch:function(a){a=m.event.fix(a);var b,c,e,f,g,h=[],i=d.call(arguments),j=(m._data(this,"events")||{})[a.type]||[],k=m.event.special[a.type]||{};if(i[0]=a,a.delegateTarget=this,!k.preDispatch||k.preDispatch.call(this,a)!==!1){h=m.event.handlers.call(this,a,j),b=0;while((f=h[b++])&&!a.isPropagationStopped()){a.currentTarget=f.elem,g=0;while((e=f.handlers[g++])&&!a.isImmediatePropagationStopped())(!a.namespace_re||a.namespace_re.test(e.namespace))&&(a.handleObj=e,a.data=e.data,c=((m.event.special[e.origType]||{}).handle||e.handler).apply(f.elem,i),void 0!==c&&(a.result=c)===!1&&(a.preventDefault(),a.stopPropagation()))}return k.postDispatch&&k.postDispatch.call(this,a),a.result}},handlers:function(a,b){var c,d,e,f,g=[],h=b.delegateCount,i=a.target;if(h&&i.nodeType&&(!a.button||"click"!==a.type))for(;i!=this;i=i.parentNode||this)if(1===i.nodeType&&(i.disabled!==!0||"click"!==a.type)){for(e=[],f=0;h>f;f++)d=b[f],c=d.selector+" ",void 0===e[c]&&(e[c]=d.needsContext?m(c,this).index(i)>=0:m.find(c,this,null,[i]).length),e[c]&&e.push(d);e.length&&g.push({elem:i,handlers:e})}return h]","i"),hb=/^\s+/,ib=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/gi,jb=/<([\w:]+)/,kb=/\s*$/g,rb={option:[1,""],legend:[1,"
                                          ","
                                          "],area:[1,"",""],param:[1,"",""],thead:[1,"","
                                          "],tr:[2,"","
                                          "],col:[2,"","
                                          "],td:[3,"","
                                          "],_default:k.htmlSerialize?[0,"",""]:[1,"X
                                          ","
                                          "]},sb=db(y),tb=sb.appendChild(y.createElement("div"));rb.optgroup=rb.option,rb.tbody=rb.tfoot=rb.colgroup=rb.caption=rb.thead,rb.th=rb.td;function ub(a,b){var c,d,e=0,f=typeof a.getElementsByTagName!==K?a.getElementsByTagName(b||"*"):typeof a.querySelectorAll!==K?a.querySelectorAll(b||"*"):void 0;if(!f)for(f=[],c=a.childNodes||a;null!=(d=c[e]);e++)!b||m.nodeName(d,b)?f.push(d):m.merge(f,ub(d,b));return void 0===b||b&&m.nodeName(a,b)?m.merge([a],f):f}function vb(a){W.test(a.type)&&(a.defaultChecked=a.checked)}function wb(a,b){return m.nodeName(a,"table")&&m.nodeName(11!==b.nodeType?b:b.firstChild,"tr")?a.getElementsByTagName("tbody")[0]||a.appendChild(a.ownerDocument.createElement("tbody")):a}function xb(a){return a.type=(null!==m.find.attr(a,"type"))+"/"+a.type,a}function yb(a){var b=pb.exec(a.type);return b?a.type=b[1]:a.removeAttribute("type"),a}function zb(a,b){for(var c,d=0;null!=(c=a[d]);d++)m._data(c,"globalEval",!b||m._data(b[d],"globalEval"))}function Ab(a,b){if(1===b.nodeType&&m.hasData(a)){var c,d,e,f=m._data(a),g=m._data(b,f),h=f.events;if(h){delete g.handle,g.events={};for(c in h)for(d=0,e=h[c].length;e>d;d++)m.event.add(b,c,h[c][d])}g.data&&(g.data=m.extend({},g.data))}}function Bb(a,b){var c,d,e;if(1===b.nodeType){if(c=b.nodeName.toLowerCase(),!k.noCloneEvent&&b[m.expando]){e=m._data(b);for(d in e.events)m.removeEvent(b,d,e.handle);b.removeAttribute(m.expando)}"script"===c&&b.text!==a.text?(xb(b).text=a.text,yb(b)):"object"===c?(b.parentNode&&(b.outerHTML=a.outerHTML),k.html5Clone&&a.innerHTML&&!m.trim(b.innerHTML)&&(b.innerHTML=a.innerHTML)):"input"===c&&W.test(a.type)?(b.defaultChecked=b.checked=a.checked,b.value!==a.value&&(b.value=a.value)):"option"===c?b.defaultSelected=b.selected=a.defaultSelected:("input"===c||"textarea"===c)&&(b.defaultValue=a.defaultValue)}}m.extend({clone:function(a,b,c){var d,e,f,g,h,i=m.contains(a.ownerDocument,a);if(k.html5Clone||m.isXMLDoc(a)||!gb.test("<"+a.nodeName+">")?f=a.cloneNode(!0):(tb.innerHTML=a.outerHTML,tb.removeChild(f=tb.firstChild)),!(k.noCloneEvent&&k.noCloneChecked||1!==a.nodeType&&11!==a.nodeType||m.isXMLDoc(a)))for(d=ub(f),h=ub(a),g=0;null!=(e=h[g]);++g)d[g]&&Bb(e,d[g]);if(b)if(c)for(h=h||ub(a),d=d||ub(f),g=0;null!=(e=h[g]);g++)Ab(e,d[g]);else Ab(a,f);return d=ub(f,"script"),d.length>0&&zb(d,!i&&ub(a,"script")),d=h=e=null,f},buildFragment:function(a,b,c,d){for(var e,f,g,h,i,j,l,n=a.length,o=db(b),p=[],q=0;n>q;q++)if(f=a[q],f||0===f)if("object"===m.type(f))m.merge(p,f.nodeType?[f]:f);else if(lb.test(f)){h=h||o.appendChild(b.createElement("div")),i=(jb.exec(f)||["",""])[1].toLowerCase(),l=rb[i]||rb._default,h.innerHTML=l[1]+f.replace(ib,"<$1>")+l[2],e=l[0];while(e--)h=h.lastChild;if(!k.leadingWhitespace&&hb.test(f)&&p.push(b.createTextNode(hb.exec(f)[0])),!k.tbody){f="table"!==i||kb.test(f)?""!==l[1]||kb.test(f)?0:h:h.firstChild,e=f&&f.childNodes.length;while(e--)m.nodeName(j=f.childNodes[e],"tbody")&&!j.childNodes.length&&f.removeChild(j)}m.merge(p,h.childNodes),h.textContent="";while(h.firstChild)h.removeChild(h.firstChild);h=o.lastChild}else p.push(b.createTextNode(f));h&&o.removeChild(h),k.appendChecked||m.grep(ub(p,"input"),vb),q=0;while(f=p[q++])if((!d||-1===m.inArray(f,d))&&(g=m.contains(f.ownerDocument,f),h=ub(o.appendChild(f),"script"),g&&zb(h),c)){e=0;while(f=h[e++])ob.test(f.type||"")&&c.push(f)}return h=null,o},cleanData:function(a,b){for(var d,e,f,g,h=0,i=m.expando,j=m.cache,l=k.deleteExpando,n=m.event.special;null!=(d=a[h]);h++)if((b||m.acceptData(d))&&(f=d[i],g=f&&j[f])){if(g.events)for(e in g.events)n[e]?m.event.remove(d,e):m.removeEvent(d,e,g.handle);j[f]&&(delete j[f],l?delete d[i]:typeof d.removeAttribute!==K?d.removeAttribute(i):d[i]=null,c.push(f))}}}),m.fn.extend({text:function(a){return V(this,function(a){return void 0===a?m.text(this):this.empty().append((this[0]&&this[0].ownerDocument||y).createTextNode(a))},null,a,arguments.length)},append:function(){return this.domManip(arguments,function(a){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var b=wb(this,a);b.appendChild(a)}})},prepend:function(){return this.domManip(arguments,function(a){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var b=wb(this,a);b.insertBefore(a,b.firstChild)}})},before:function(){return this.domManip(arguments,function(a){this.parentNode&&this.parentNode.insertBefore(a,this)})},after:function(){return this.domManip(arguments,function(a){this.parentNode&&this.parentNode.insertBefore(a,this.nextSibling)})},remove:function(a,b){for(var c,d=a?m.filter(a,this):this,e=0;null!=(c=d[e]);e++)b||1!==c.nodeType||m.cleanData(ub(c)),c.parentNode&&(b&&m.contains(c.ownerDocument,c)&&zb(ub(c,"script")),c.parentNode.removeChild(c));return this},empty:function(){for(var a,b=0;null!=(a=this[b]);b++){1===a.nodeType&&m.cleanData(ub(a,!1));while(a.firstChild)a.removeChild(a.firstChild);a.options&&m.nodeName(a,"select")&&(a.options.length=0)}return this},clone:function(a,b){return a=null==a?!1:a,b=null==b?a:b,this.map(function(){return m.clone(this,a,b)})},html:function(a){return V(this,function(a){var b=this[0]||{},c=0,d=this.length;if(void 0===a)return 1===b.nodeType?b.innerHTML.replace(fb,""):void 0;if(!("string"!=typeof a||mb.test(a)||!k.htmlSerialize&&gb.test(a)||!k.leadingWhitespace&&hb.test(a)||rb[(jb.exec(a)||["",""])[1].toLowerCase()])){a=a.replace(ib,"<$1>");try{for(;d>c;c++)b=this[c]||{},1===b.nodeType&&(m.cleanData(ub(b,!1)),b.innerHTML=a);b=0}catch(e){}}b&&this.empty().append(a)},null,a,arguments.length)},replaceWith:function(){var a=arguments[0];return this.domManip(arguments,function(b){a=this.parentNode,m.cleanData(ub(this)),a&&a.replaceChild(b,this)}),a&&(a.length||a.nodeType)?this:this.remove()},detach:function(a){return this.remove(a,!0)},domManip:function(a,b){a=e.apply([],a);var c,d,f,g,h,i,j=0,l=this.length,n=this,o=l-1,p=a[0],q=m.isFunction(p);if(q||l>1&&"string"==typeof p&&!k.checkClone&&nb.test(p))return this.each(function(c){var d=n.eq(c);q&&(a[0]=p.call(this,c,d.html())),d.domManip(a,b)});if(l&&(i=m.buildFragment(a,this[0].ownerDocument,!1,this),c=i.firstChild,1===i.childNodes.length&&(i=c),c)){for(g=m.map(ub(i,"script"),xb),f=g.length;l>j;j++)d=i,j!==o&&(d=m.clone(d,!0,!0),f&&m.merge(g,ub(d,"script"))),b.call(this[j],d,j);if(f)for(h=g[g.length-1].ownerDocument,m.map(g,yb),j=0;f>j;j++)d=g[j],ob.test(d.type||"")&&!m._data(d,"globalEval")&&m.contains(h,d)&&(d.src?m._evalUrl&&m._evalUrl(d.src):m.globalEval((d.text||d.textContent||d.innerHTML||"").replace(qb,"")));i=c=null}return this}}),m.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(a,b){m.fn[a]=function(a){for(var c,d=0,e=[],g=m(a),h=g.length-1;h>=d;d++)c=d===h?this:this.clone(!0),m(g[d])[b](c),f.apply(e,c.get());return this.pushStack(e)}});var Cb,Db={};function Eb(b,c){var d,e=m(c.createElement(b)).appendTo(c.body),f=a.getDefaultComputedStyle&&(d=a.getDefaultComputedStyle(e[0]))?d.display:m.css(e[0],"display");return e.detach(),f}function Fb(a){var b=y,c=Db[a];return c||(c=Eb(a,b),"none"!==c&&c||(Cb=(Cb||m("").appendTo("body"); +_7.attr("src",window.ActiveXObject?"javascript:false":"about:blank"); +_7.css({position:"absolute",top:-1000,left:-1000}); +_7.bind("load",cb); +_8(_5); +function _8(_9){ +var _a=$(_2); +if(_4.url){ +_a.attr("action",_4.url); +} +var t=_a.attr("target"),a=_a.attr("action"); +_a.attr("target",_6); +var _b=$(); +try{ +for(var n in _9){ +var _c=$("").val(_9[n]).appendTo(_a); +_b=_b.add(_c); +} +_d(); +_a[0].submit(); +} +finally{ +_a.attr("action",a); +t?_a.attr("target",t):_a.removeAttr("target"); +_b.remove(); +} +}; +function _d(){ +var f=$("#"+_6); +if(!f.length){ +return; +} +try{ +var s=f.contents()[0].readyState; +if(s&&s.toLowerCase()=="uninitialized"){ +setTimeout(_d,100); +} +} +catch(e){ +cb(); +} +}; +var _e=10; +function cb(){ +var f=$("#"+_6); +if(!f.length){ +return; +} +f.unbind(); +var _f=""; +try{ +var _10=f.contents().find("body"); +_f=_10.html(); +if(_f==""){ +if(--_e){ +setTimeout(cb,100); +return; +} +} +var ta=_10.find(">textarea"); +if(ta.length){ +_f=ta.val(); +}else{ +var pre=_10.find(">pre"); +if(pre.length){ +_f=pre.html(); +} +} +} +catch(e){ +} +_4.success(_f); +setTimeout(function(){ +f.unbind(); +f.remove(); +},100); +}; +}; +function _11(_12,_13){ +var _14=$.data(_12,"form").options; +if(typeof _13=="string"){ +var _15={}; +if(_14.onBeforeLoad.call(_12,_15)==false){ +return; +} +$.ajax({url:_13,data:_15,dataType:"json",success:function(_16){ +_17(_16); +},error:function(){ +_14.onLoadError.apply(_12,arguments); +}}); +}else{ +_17(_13); +} +function _17(_18){ +var _19=$(_12); +for(var _1a in _18){ +var val=_18[_1a]; +var rr=_1b(_1a,val); +if(!rr.length){ +var _1c=_1d(_1a,val); +if(!_1c){ +$("input[name=\""+_1a+"\"]",_19).val(val); +$("textarea[name=\""+_1a+"\"]",_19).val(val); +$("select[name=\""+_1a+"\"]",_19).val(val); +} +} +_1e(_1a,val); +} +_14.onLoadSuccess.call(_12,_18); +_2b(_12); +}; +function _1b(_1f,val){ +var rr=$(_12).find("input[name=\""+_1f+"\"][type=radio], input[name=\""+_1f+"\"][type=checkbox]"); +rr._propAttr("checked",false); +rr.each(function(){ +var f=$(this); +if(f.val()==String(val)||$.inArray(f.val(),$.isArray(val)?val:[val])>=0){ +f._propAttr("checked",true); +} +}); +return rr; +}; +function _1d(_20,val){ +var _21=0; +var pp=["textbox","numberbox","slider"]; +for(var i=0;i=0){ +_17(_13,_15,this); +} +}); +}; +cc.children("form").length?_14(cc.children("form")):_14(cc); +cc.append("
                                          "); +cc.bind("_resize",function(e,_16){ +if($(this).hasClass("easyui-fluid")||_16){ +_2(_13); +} +return false; +}); +}; +function _17(_18,_19,el){ +_19.region=_19.region||"center"; +var _1a=$.data(_18,"layout").panels; +var cc=$(_18); +var dir=_19.region; +if(_1a[dir].length){ +return; +} +var pp=$(el); +if(!pp.length){ +pp=$("
                                          ").appendTo(cc); +} +var _1b=$.extend({},$.fn.layout.paneldefaults,{width:(pp.length?parseInt(pp[0].style.width)||pp.outerWidth():"auto"),height:(pp.length?parseInt(pp[0].style.height)||pp.outerHeight():"auto"),doSize:false,collapsible:true,cls:("layout-panel layout-panel-"+dir),bodyCls:"layout-body",onOpen:function(){ +var _1c=$(this).panel("header").children("div.panel-tool"); +_1c.children("a.panel-tool-collapse").hide(); +var _1d={north:"up",south:"down",east:"right",west:"left"}; +if(!_1d[dir]){ +return; +} +var _1e="layout-button-"+_1d[dir]; +var t=_1c.children("a."+_1e); +if(!t.length){ +t=$("").addClass(_1e).appendTo(_1c); +t.bind("click",{dir:dir},function(e){ +_2b(_18,e.data.dir); +return false; +}); +} +$(this).panel("options").collapsible?t.show():t.hide(); +}},_19); +pp.panel(_1b); +_1a[dir]=pp; +if(pp.panel("options").split){ +var _1f=pp.panel("panel"); +_1f.addClass("layout-split-"+dir); +var _20=""; +if(dir=="north"){ +_20="s"; +} +if(dir=="south"){ +_20="n"; +} +if(dir=="east"){ +_20="w"; +} +if(dir=="west"){ +_20="e"; +} +_1f.resizable($.extend({},{handles:_20,onStartResize:function(e){ +_1=true; +if(dir=="north"||dir=="south"){ +var _21=$(">div.layout-split-proxy-v",_18); +}else{ +var _21=$(">div.layout-split-proxy-h",_18); +} +var top=0,_22=0,_23=0,_24=0; +var pos={display:"block"}; +if(dir=="north"){ +pos.top=parseInt(_1f.css("top"))+_1f.outerHeight()-_21.height(); +pos.left=parseInt(_1f.css("left")); +pos.width=_1f.outerWidth(); +pos.height=_21.height(); +}else{ +if(dir=="south"){ +pos.top=parseInt(_1f.css("top")); +pos.left=parseInt(_1f.css("left")); +pos.width=_1f.outerWidth(); +pos.height=_21.height(); +}else{ +if(dir=="east"){ +pos.top=parseInt(_1f.css("top"))||0; +pos.left=parseInt(_1f.css("left"))||0; +pos.width=_21.width(); +pos.height=_1f.outerHeight(); +}else{ +if(dir=="west"){ +pos.top=parseInt(_1f.css("top"))||0; +pos.left=_1f.outerWidth()-_21.width(); +pos.width=_21.width(); +pos.height=_1f.outerHeight(); +} +} +} +} +_21.css(pos); +$("
                                          ").css({left:0,top:0,width:cc.width(),height:cc.height()}).appendTo(cc); +},onResize:function(e){ +if(dir=="north"||dir=="south"){ +var _25=$(">div.layout-split-proxy-v",_18); +_25.css("top",e.pageY-$(_18).offset().top-_25.height()/2); +}else{ +var _25=$(">div.layout-split-proxy-h",_18); +_25.css("left",e.pageX-$(_18).offset().left-_25.width()/2); +} +return false; +},onStopResize:function(e){ +cc.children("div.layout-split-proxy-v,div.layout-split-proxy-h").hide(); +pp.panel("resize",e.data); +_2(_18); +_1=false; +cc.find(">div.layout-mask").remove(); +}},_19)); +} +}; +function _26(_27,_28){ +var _29=$.data(_27,"layout").panels; +if(_29[_28].length){ +_29[_28].panel("destroy"); +_29[_28]=$(); +var _2a="expand"+_28.substring(0,1).toUpperCase()+_28.substring(1); +if(_29[_2a]){ +_29[_2a].panel("destroy"); +_29[_2a]=undefined; +} +} +}; +function _2b(_2c,_2d,_2e){ +if(_2e==undefined){ +_2e="normal"; +} +var _2f=$.data(_2c,"layout").panels; +var p=_2f[_2d]; +var _30=p.panel("options"); +if(_30.onBeforeCollapse.call(p)==false){ +return; +} +var _31="expand"+_2d.substring(0,1).toUpperCase()+_2d.substring(1); +if(!_2f[_31]){ +_2f[_31]=_32(_2d); +_2f[_31].panel("panel").bind("click",function(){ +p.panel("expand",false).panel("open"); +var _33=_34(); +p.panel("resize",_33.collapse); +p.panel("panel").animate(_33.expand,function(){ +$(this).unbind(".layout").bind("mouseleave.layout",{region:_2d},function(e){ +if(_1==true){ +return; +} +if($("body>div.combo-p>div.combo-panel:visible").length){ +return; +} +_2b(_2c,e.data.region); +}); +}); +return false; +}); +} +var _35=_34(); +if(!_a(_2f[_31])){ +_2f.center.panel("resize",_35.resizeC); +} +p.panel("panel").animate(_35.collapse,_2e,function(){ +p.panel("collapse",false).panel("close"); +_2f[_31].panel("open").panel("resize",_35.expandP); +$(this).unbind(".layout"); +}); +function _32(dir){ +var _36; +if(dir=="east"){ +_36="layout-button-left"; +}else{ +if(dir=="west"){ +_36="layout-button-right"; +}else{ +if(dir=="north"){ +_36="layout-button-down"; +}else{ +if(dir=="south"){ +_36="layout-button-up"; +} +} +} +} +var p=$("
                                          ").appendTo(_2c); +p.panel($.extend({},$.fn.layout.paneldefaults,{cls:("layout-expand layout-expand-"+dir),title:" ",closed:true,minWidth:0,minHeight:0,doSize:false,tools:[{iconCls:_36,handler:function(){ +_3c(_2c,_2d); +return false; +}}]})); +p.panel("panel").hover(function(){ +$(this).addClass("layout-expand-over"); +},function(){ +$(this).removeClass("layout-expand-over"); +}); +return p; +}; +function _34(){ +var cc=$(_2c); +var _37=_2f.center.panel("options"); +var _38=_30.collapsedSize; +if(_2d=="east"){ +var _39=p.panel("panel")._outerWidth(); +var _3a=_37.width+_39-_38; +if(_30.split||!_30.border){ +_3a++; +} +return {resizeC:{width:_3a},expand:{left:cc.width()-_39},expandP:{top:_37.top,left:cc.width()-_38,width:_38,height:_37.height},collapse:{left:cc.width(),top:_37.top,height:_37.height}}; +}else{ +if(_2d=="west"){ +var _39=p.panel("panel")._outerWidth(); +var _3a=_37.width+_39-_38; +if(_30.split||!_30.border){ +_3a++; +} +return {resizeC:{width:_3a,left:_38-1},expand:{left:0},expandP:{left:0,top:_37.top,width:_38,height:_37.height},collapse:{left:-_39,top:_37.top,height:_37.height}}; +}else{ +if(_2d=="north"){ +var _3b=p.panel("panel")._outerHeight(); +var hh=_37.height; +if(!_a(_2f.expandNorth)){ +hh+=_3b-_38+((_30.split||!_30.border)?1:0); +} +_2f.east.add(_2f.west).add(_2f.expandEast).add(_2f.expandWest).panel("resize",{top:_38-1,height:hh}); +return {resizeC:{top:_38-1,height:hh},expand:{top:0},expandP:{top:0,left:0,width:cc.width(),height:_38},collapse:{top:-_3b,width:cc.width()}}; +}else{ +if(_2d=="south"){ +var _3b=p.panel("panel")._outerHeight(); +var hh=_37.height; +if(!_a(_2f.expandSouth)){ +hh+=_3b-_38+((_30.split||!_30.border)?1:0); +} +_2f.east.add(_2f.west).add(_2f.expandEast).add(_2f.expandWest).panel("resize",{height:hh}); +return {resizeC:{height:hh},expand:{top:cc.height()-_3b},expandP:{top:cc.height()-_38,left:0,width:cc.width(),height:_38},collapse:{top:cc.height(),width:cc.width()}}; +} +} +} +} +}; +}; +function _3c(_3d,_3e){ +var _3f=$.data(_3d,"layout").panels; +var p=_3f[_3e]; +var _40=p.panel("options"); +if(_40.onBeforeExpand.call(p)==false){ +return; +} +var _41="expand"+_3e.substring(0,1).toUpperCase()+_3e.substring(1); +if(_3f[_41]){ +_3f[_41].panel("close"); +p.panel("panel").stop(true,true); +p.panel("expand",false).panel("open"); +var _42=_43(); +p.panel("resize",_42.collapse); +p.panel("panel").animate(_42.expand,function(){ +_2(_3d); +}); +} +function _43(){ +var cc=$(_3d); +var _44=_3f.center.panel("options"); +if(_3e=="east"&&_3f.expandEast){ +return {collapse:{left:cc.width(),top:_44.top,height:_44.height},expand:{left:cc.width()-p.panel("panel")._outerWidth()}}; +}else{ +if(_3e=="west"&&_3f.expandWest){ +return {collapse:{left:-p.panel("panel")._outerWidth(),top:_44.top,height:_44.height},expand:{left:0}}; +}else{ +if(_3e=="north"&&_3f.expandNorth){ +return {collapse:{top:-p.panel("panel")._outerHeight(),width:cc.width()},expand:{top:0}}; +}else{ +if(_3e=="south"&&_3f.expandSouth){ +return {collapse:{top:cc.height(),width:cc.width()},expand:{top:cc.height()-p.panel("panel")._outerHeight()}}; +} +} +} +} +}; +}; +function _a(pp){ +if(!pp){ +return false; +} +if(pp.length){ +return pp.panel("panel").is(":visible"); +}else{ +return false; +} +}; +function _45(_46){ +var _47=$.data(_46,"layout").panels; +if(_47.east.length&&_47.east.panel("options").collapsed){ +_2b(_46,"east",0); +} +if(_47.west.length&&_47.west.panel("options").collapsed){ +_2b(_46,"west",0); +} +if(_47.north.length&&_47.north.panel("options").collapsed){ +_2b(_46,"north",0); +} +if(_47.south.length&&_47.south.panel("options").collapsed){ +_2b(_46,"south",0); +} +}; +$.fn.layout=function(_48,_49){ +if(typeof _48=="string"){ +return $.fn.layout.methods[_48](this,_49); +} +_48=_48||{}; +return this.each(function(){ +var _4a=$.data(this,"layout"); +if(_4a){ +$.extend(_4a.options,_48); +}else{ +var _4b=$.extend({},$.fn.layout.defaults,$.fn.layout.parseOptions(this),_48); +$.data(this,"layout",{options:_4b,panels:{center:$(),north:$(),south:$(),east:$(),west:$()}}); +_12(this); +} +_2(this); +_45(this); +}); +}; +$.fn.layout.methods={options:function(jq){ +return $.data(jq[0],"layout").options; +},resize:function(jq,_4c){ +return jq.each(function(){ +_2(this,_4c); +}); +},panel:function(jq,_4d){ +return $.data(jq[0],"layout").panels[_4d]; +},collapse:function(jq,_4e){ +return jq.each(function(){ +_2b(this,_4e); +}); +},expand:function(jq,_4f){ +return jq.each(function(){ +_3c(this,_4f); +}); +},add:function(jq,_50){ +return jq.each(function(){ +_17(this,_50); +_2(this); +if($(this).layout("panel",_50.region).panel("options").collapsed){ +_2b(this,_50.region,0); +} +}); +},remove:function(jq,_51){ +return jq.each(function(){ +_26(this,_51); +_2(this); +}); +}}; +$.fn.layout.parseOptions=function(_52){ +return $.extend({},$.parser.parseOptions(_52,[{fit:"boolean"}])); +}; +$.fn.layout.defaults={fit:false}; +$.fn.layout.parsePanelOptions=function(_53){ +var t=$(_53); +return $.extend({},$.fn.panel.parseOptions(_53),$.parser.parseOptions(_53,["region",{split:"boolean",collpasedSize:"number",minWidth:"number",minHeight:"number",maxWidth:"number",maxHeight:"number"}])); +}; +$.fn.layout.paneldefaults=$.extend({},$.fn.panel.defaults,{region:null,split:false,collapsedSize:28,minWidth:10,minHeight:10,maxWidth:10000,maxHeight:10000}); +})(jQuery); + diff --git a/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/plugins/jquery.linkbutton.js b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/plugins/jquery.linkbutton.js new file mode 100644 index 00000000..95ad4376 --- /dev/null +++ b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/plugins/jquery.linkbutton.js @@ -0,0 +1,181 @@ +/** + * jQuery EasyUI 1.4.1 + * + * Copyright (c) 2009-2014 www.jeasyui.com. All rights reserved. + * + * Licensed under the GPL license: http://www.gnu.org/licenses/gpl.txt + * To use it on other terms please contact us at info@jeasyui.com + * + */ +(function($){ +function _1(_2,_3){ +var _4=$.data(_2,"linkbutton").options; +if(_3){ +$.extend(_4,_3); +} +if(_4.width||_4.height||_4.fit){ +var _5=$(_2); +var _6=_5.parent(); +var _7=_5.is(":visible"); +if(!_7){ +var _8=$("
                                          ").insertBefore(_2); +var _9={position:_5.css("position"),display:_5.css("display"),left:_5.css("left")}; +_5.appendTo("body"); +_5.css({position:"absolute",display:"inline-block",left:-20000}); +} +_5._size(_4,_6); +var _a=_5.find(".l-btn-left"); +_a.css("margin-top",0); +_a.css("margin-top",parseInt((_5.height()-_a.height())/2)+"px"); +if(!_7){ +_5.insertAfter(_8); +_5.css(_9); +_8.remove(); +} +} +}; +function _b(_c){ +var _d=$.data(_c,"linkbutton").options; +var t=$(_c).empty(); +t.addClass("l-btn").removeClass("l-btn-plain l-btn-selected l-btn-plain-selected"); +t.removeClass("l-btn-small l-btn-medium l-btn-large").addClass("l-btn-"+_d.size); +if(_d.plain){ +t.addClass("l-btn-plain"); +} +if(_d.selected){ +t.addClass(_d.plain?"l-btn-selected l-btn-plain-selected":"l-btn-selected"); +} +t.attr("group",_d.group||""); +t.attr("id",_d.id||""); +var _e=$("").appendTo(t); +if(_d.text){ +$("").html(_d.text).appendTo(_e); +}else{ +$(" ").appendTo(_e); +} +if(_d.iconCls){ +$(" ").addClass(_d.iconCls).appendTo(_e); +_e.addClass("l-btn-icon-"+_d.iconAlign); +} +t.unbind(".linkbutton").bind("focus.linkbutton",function(){ +if(!_d.disabled){ +$(this).addClass("l-btn-focus"); +} +}).bind("blur.linkbutton",function(){ +$(this).removeClass("l-btn-focus"); +}).bind("click.linkbutton",function(){ +if(!_d.disabled){ +if(_d.toggle){ +if(_d.selected){ +$(this).linkbutton("unselect"); +}else{ +$(this).linkbutton("select"); +} +} +_d.onClick.call(this); +} +}); +_f(_c,_d.selected); +_10(_c,_d.disabled); +}; +function _f(_11,_12){ +var _13=$.data(_11,"linkbutton").options; +if(_12){ +if(_13.group){ +$("a.l-btn[group=\""+_13.group+"\"]").each(function(){ +var o=$(this).linkbutton("options"); +if(o.toggle){ +$(this).removeClass("l-btn-selected l-btn-plain-selected"); +o.selected=false; +} +}); +} +$(_11).addClass(_13.plain?"l-btn-selected l-btn-plain-selected":"l-btn-selected"); +_13.selected=true; +}else{ +if(!_13.group){ +$(_11).removeClass("l-btn-selected l-btn-plain-selected"); +_13.selected=false; +} +} +}; +function _10(_14,_15){ +var _16=$.data(_14,"linkbutton"); +var _17=_16.options; +$(_14).removeClass("l-btn-disabled l-btn-plain-disabled"); +if(_15){ +_17.disabled=true; +var _18=$(_14).attr("href"); +if(_18){ +_16.href=_18; +$(_14).attr("href","javascript:void(0)"); +} +if(_14.onclick){ +_16.onclick=_14.onclick; +_14.onclick=null; +} +_17.plain?$(_14).addClass("l-btn-disabled l-btn-plain-disabled"):$(_14).addClass("l-btn-disabled"); +}else{ +_17.disabled=false; +if(_16.href){ +$(_14).attr("href",_16.href); +} +if(_16.onclick){ +_14.onclick=_16.onclick; +} +} +}; +$.fn.linkbutton=function(_19,_1a){ +if(typeof _19=="string"){ +return $.fn.linkbutton.methods[_19](this,_1a); +} +_19=_19||{}; +return this.each(function(){ +var _1b=$.data(this,"linkbutton"); +if(_1b){ +$.extend(_1b.options,_19); +}else{ +$.data(this,"linkbutton",{options:$.extend({},$.fn.linkbutton.defaults,$.fn.linkbutton.parseOptions(this),_19)}); +$(this).removeAttr("disabled"); +$(this).bind("_resize",function(e,_1c){ +if($(this).hasClass("easyui-fluid")||_1c){ +_1(this); +} +return false; +}); +} +_b(this); +_1(this); +}); +}; +$.fn.linkbutton.methods={options:function(jq){ +return $.data(jq[0],"linkbutton").options; +},resize:function(jq,_1d){ +return jq.each(function(){ +_1(this,_1d); +}); +},enable:function(jq){ +return jq.each(function(){ +_10(this,false); +}); +},disable:function(jq){ +return jq.each(function(){ +_10(this,true); +}); +},select:function(jq){ +return jq.each(function(){ +_f(this,true); +}); +},unselect:function(jq){ +return jq.each(function(){ +_f(this,false); +}); +}}; +$.fn.linkbutton.parseOptions=function(_1e){ +var t=$(_1e); +return $.extend({},$.parser.parseOptions(_1e,["id","iconCls","iconAlign","group","size",{plain:"boolean",toggle:"boolean",selected:"boolean"}]),{disabled:(t.attr("disabled")?true:undefined),text:$.trim(t.html()),iconCls:(t.attr("icon")||t.attr("iconCls"))}); +}; +$.fn.linkbutton.defaults={id:null,disabled:false,toggle:false,selected:false,group:null,plain:false,text:"",iconCls:null,iconAlign:"left",size:"small",onClick:function(){ +}}; +})(jQuery); + diff --git a/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/plugins/jquery.menu.js b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/plugins/jquery.menu.js new file mode 100644 index 00000000..e97df3a7 --- /dev/null +++ b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/plugins/jquery.menu.js @@ -0,0 +1,485 @@ +/** + * jQuery EasyUI 1.4.1 + * + * Copyright (c) 2009-2014 www.jeasyui.com. All rights reserved. + * + * Licensed under the GPL license: http://www.gnu.org/licenses/gpl.txt + * To use it on other terms please contact us at info@jeasyui.com + * + */ +(function($){ +function _1(_2){ +$(_2).appendTo("body"); +$(_2).addClass("menu-top"); +$(document).unbind(".menu").bind("mousedown.menu",function(e){ +var m=$(e.target).closest("div.menu,div.combo-p"); +if(m.length){ +return; +} +$("body>div.menu-top:visible").menu("hide"); +}); +var _3=_4($(_2)); +for(var i=0;i<_3.length;i++){ +_5(_3[i]); +} +function _4(_6){ +var _7=[]; +_6.addClass("menu"); +_7.push(_6); +if(!_6.hasClass("menu-content")){ +_6.children("div").each(function(){ +var _8=$(this).children("div"); +if(_8.length){ +_8.insertAfter(_2); +this.submenu=_8; +var mm=_4(_8); +_7=_7.concat(mm); +} +}); +} +return _7; +}; +function _5(_9){ +var wh=$.parser.parseOptions(_9[0],["width","height"]); +_9[0].originalHeight=wh.height||0; +if(_9.hasClass("menu-content")){ +_9[0].originalWidth=wh.width||_9._outerWidth(); +}else{ +_9[0].originalWidth=wh.width||0; +_9.children("div").each(function(){ +var _a=$(this); +var _b=$.extend({},$.parser.parseOptions(this,["name","iconCls","href",{separator:"boolean"}]),{disabled:(_a.attr("disabled")?true:undefined)}); +if(_b.separator){ +_a.addClass("menu-sep"); +} +if(!_a.hasClass("menu-sep")){ +_a[0].itemName=_b.name||""; +_a[0].itemHref=_b.href||""; +var _c=_a.addClass("menu-item").html(); +_a.empty().append($("
                                          ").html(_c)); +if(_b.iconCls){ +$("
                                          ").addClass(_b.iconCls).appendTo(_a); +} +if(_b.disabled){ +_d(_2,_a[0],true); +} +if(_a[0].submenu){ +$("
                                          ").appendTo(_a); +} +_e(_2,_a); +} +}); +$("
                                          ").prependTo(_9); +} +_f(_2,_9); +_9.hide(); +_10(_2,_9); +}; +}; +function _f(_11,_12){ +var _13=$.data(_11,"menu").options; +var _14=_12.attr("style")||""; +_12.css({display:"block",left:-10000,height:"auto",overflow:"hidden"}); +var el=_12[0]; +var _15=el.originalWidth||0; +if(!_15){ +_15=0; +_12.find("div.menu-text").each(function(){ +if(_15<$(this)._outerWidth()){ +_15=$(this)._outerWidth(); +} +$(this).closest("div.menu-item")._outerHeight($(this)._outerHeight()+2); +}); +_15+=40; +} +_15=Math.max(_15,_13.minWidth); +var _16=el.originalHeight||0; +if(!_16){ +_16=_12.outerHeight(); +if(_12.hasClass("menu-top")&&_13.alignTo){ +var at=$(_13.alignTo); +var h1=at.offset().top-$(document).scrollTop(); +var h2=$(window)._outerHeight()+$(document).scrollTop()-at.offset().top-at._outerHeight(); +_16=Math.min(_16,Math.max(h1,h2)); +}else{ +if(_16>$(window)._outerHeight()){ +_16=$(window).height(); +_14+=";overflow:auto"; +}else{ +_14+=";overflow:hidden"; +} +} +} +var _17=Math.max(el.originalHeight,_12.outerHeight())-2; +_12._outerWidth(_15)._outerHeight(_16); +_12.children("div.menu-line")._outerHeight(_17); +_14+=";width:"+el.style.width+";height:"+el.style.height; +_12.attr("style",_14); +}; +function _10(_18,_19){ +var _1a=$.data(_18,"menu"); +_19.unbind(".menu").bind("mouseenter.menu",function(){ +if(_1a.timer){ +clearTimeout(_1a.timer); +_1a.timer=null; +} +}).bind("mouseleave.menu",function(){ +if(_1a.options.hideOnUnhover){ +_1a.timer=setTimeout(function(){ +_1b(_18); +},_1a.options.duration); +} +}); +}; +function _e(_1c,_1d){ +if(!_1d.hasClass("menu-item")){ +return; +} +_1d.unbind(".menu"); +_1d.bind("click.menu",function(){ +if($(this).hasClass("menu-item-disabled")){ +return; +} +if(!this.submenu){ +_1b(_1c); +var _1e=this.itemHref; +if(_1e){ +location.href=_1e; +} +} +var _1f=$(_1c).menu("getItem",this); +$.data(_1c,"menu").options.onClick.call(_1c,_1f); +}).bind("mouseenter.menu",function(e){ +_1d.siblings().each(function(){ +if(this.submenu){ +_22(this.submenu); +} +$(this).removeClass("menu-active"); +}); +_1d.addClass("menu-active"); +if($(this).hasClass("menu-item-disabled")){ +_1d.addClass("menu-active-disabled"); +return; +} +var _20=_1d[0].submenu; +if(_20){ +$(_1c).menu("show",{menu:_20,parent:_1d}); +} +}).bind("mouseleave.menu",function(e){ +_1d.removeClass("menu-active menu-active-disabled"); +var _21=_1d[0].submenu; +if(_21){ +if(e.pageX>=parseInt(_21.css("left"))){ +_1d.addClass("menu-active"); +}else{ +_22(_21); +} +}else{ +_1d.removeClass("menu-active"); +} +}); +}; +function _1b(_23){ +var _24=$.data(_23,"menu"); +if(_24){ +if($(_23).is(":visible")){ +_22($(_23)); +_24.options.onHide.call(_23); +} +} +return false; +}; +function _25(_26,_27){ +var _28,top; +_27=_27||{}; +var _29=$(_27.menu||_26); +$(_26).menu("resize",_29[0]); +if(_29.hasClass("menu-top")){ +var _2a=$.data(_26,"menu").options; +$.extend(_2a,_27); +_28=_2a.left; +top=_2a.top; +if(_2a.alignTo){ +var at=$(_2a.alignTo); +_28=at.offset().left; +top=at.offset().top+at._outerHeight(); +if(_2a.align=="right"){ +_28+=at.outerWidth()-_29.outerWidth(); +} +} +if(_28+_29.outerWidth()>$(window)._outerWidth()+$(document)._scrollLeft()){ +_28=$(window)._outerWidth()+$(document).scrollLeft()-_29.outerWidth()-5; +} +if(_28<0){ +_28=0; +} +top=_2b(top,_2a.alignTo); +}else{ +var _2c=_27.parent; +_28=_2c.offset().left+_2c.outerWidth()-2; +if(_28+_29.outerWidth()+5>$(window)._outerWidth()+$(document).scrollLeft()){ +_28=_2c.offset().left-_29.outerWidth()+2; +} +top=_2b(_2c.offset().top-3); +} +function _2b(top,_2d){ +if(top+_29.outerHeight()>$(window)._outerHeight()+$(document).scrollTop()){ +if(_2d){ +top=$(_2d).offset().top-_29._outerHeight(); +}else{ +top=$(window)._outerHeight()+$(document).scrollTop()-_29.outerHeight(); +} +} +if(top<0){ +top=0; +} +return top; +}; +_29.css({left:_28,top:top}); +_29.show(0,function(){ +if(!_29[0].shadow){ +_29[0].shadow=$("
                                          ").insertAfter(_29); +} +_29[0].shadow.css({display:"block",zIndex:$.fn.menu.defaults.zIndex++,left:_29.css("left"),top:_29.css("top"),width:_29.outerWidth(),height:_29.outerHeight()}); +_29.css("z-index",$.fn.menu.defaults.zIndex++); +if(_29.hasClass("menu-top")){ +$.data(_29[0],"menu").options.onShow.call(_29[0]); +} +}); +}; +function _22(_2e){ +if(!_2e){ +return; +} +_2f(_2e); +_2e.find("div.menu-item").each(function(){ +if(this.submenu){ +_22(this.submenu); +} +$(this).removeClass("menu-active"); +}); +function _2f(m){ +m.stop(true,true); +if(m[0].shadow){ +m[0].shadow.hide(); +} +m.hide(); +}; +}; +function _30(_31,_32){ +var _33=null; +var tmp=$("
                                          "); +function _34(_35){ +_35.children("div.menu-item").each(function(){ +var _36=$(_31).menu("getItem",this); +var s=tmp.empty().html(_36.text).text(); +if(_32==$.trim(s)){ +_33=_36; +}else{ +if(this.submenu&&!_33){ +_34(this.submenu); +} +} +}); +}; +_34($(_31)); +tmp.remove(); +return _33; +}; +function _d(_37,_38,_39){ +var t=$(_38); +if(!t.hasClass("menu-item")){ +return; +} +if(_39){ +t.addClass("menu-item-disabled"); +if(_38.onclick){ +_38.onclick1=_38.onclick; +_38.onclick=null; +} +}else{ +t.removeClass("menu-item-disabled"); +if(_38.onclick1){ +_38.onclick=_38.onclick1; +_38.onclick1=null; +} +} +}; +function _3a(_3b,_3c){ +var _3d=$(_3b); +if(_3c.parent){ +if(!_3c.parent.submenu){ +var _3e=$("
                                          ").appendTo("body"); +_3e.hide(); +_3c.parent.submenu=_3e; +$("
                                          ").appendTo(_3c.parent); +} +_3d=_3c.parent.submenu; +} +if(_3c.separator){ +var _3f=$("
                                          ").appendTo(_3d); +}else{ +var _3f=$("
                                          ").appendTo(_3d); +$("
                                          ").html(_3c.text).appendTo(_3f); +} +if(_3c.iconCls){ +$("
                                          ").addClass(_3c.iconCls).appendTo(_3f); +} +if(_3c.id){ +_3f.attr("id",_3c.id); +} +if(_3c.name){ +_3f[0].itemName=_3c.name; +} +if(_3c.href){ +_3f[0].itemHref=_3c.href; +} +if(_3c.onclick){ +if(typeof _3c.onclick=="string"){ +_3f.attr("onclick",_3c.onclick); +}else{ +_3f[0].onclick=eval(_3c.onclick); +} +} +if(_3c.handler){ +_3f[0].onclick=eval(_3c.handler); +} +if(_3c.disabled){ +_d(_3b,_3f[0],true); +} +_e(_3b,_3f); +_10(_3b,_3d); +_f(_3b,_3d); +}; +function _40(_41,_42){ +function _43(el){ +if(el.submenu){ +el.submenu.children("div.menu-item").each(function(){ +_43(this); +}); +var _44=el.submenu[0].shadow; +if(_44){ +_44.remove(); +} +el.submenu.remove(); +} +$(el).remove(); +}; +var _45=$(_42).parent(); +_43(_42); +_f(_41,_45); +}; +function _46(_47,_48,_49){ +var _4a=$(_48).parent(); +if(_49){ +$(_48).show(); +}else{ +$(_48).hide(); +} +_f(_47,_4a); +}; +function _4b(_4c){ +$(_4c).children("div.menu-item").each(function(){ +_40(_4c,this); +}); +if(_4c.shadow){ +_4c.shadow.remove(); +} +$(_4c).remove(); +}; +$.fn.menu=function(_4d,_4e){ +if(typeof _4d=="string"){ +return $.fn.menu.methods[_4d](this,_4e); +} +_4d=_4d||{}; +return this.each(function(){ +var _4f=$.data(this,"menu"); +if(_4f){ +$.extend(_4f.options,_4d); +}else{ +_4f=$.data(this,"menu",{options:$.extend({},$.fn.menu.defaults,$.fn.menu.parseOptions(this),_4d)}); +_1(this); +} +$(this).css({left:_4f.options.left,top:_4f.options.top}); +}); +}; +$.fn.menu.methods={options:function(jq){ +return $.data(jq[0],"menu").options; +},show:function(jq,pos){ +return jq.each(function(){ +_25(this,pos); +}); +},hide:function(jq){ +return jq.each(function(){ +_1b(this); +}); +},destroy:function(jq){ +return jq.each(function(){ +_4b(this); +}); +},setText:function(jq,_50){ +return jq.each(function(){ +$(_50.target).children("div.menu-text").html(_50.text); +}); +},setIcon:function(jq,_51){ +return jq.each(function(){ +$(_51.target).children("div.menu-icon").remove(); +if(_51.iconCls){ +$("
                                          ").addClass(_51.iconCls).appendTo(_51.target); +} +}); +},getItem:function(jq,_52){ +var t=$(_52); +var _53={target:_52,id:t.attr("id"),text:$.trim(t.children("div.menu-text").html()),disabled:t.hasClass("menu-item-disabled"),name:_52.itemName,href:_52.itemHref,onclick:_52.onclick}; +var _54=t.children("div.menu-icon"); +if(_54.length){ +var cc=[]; +var aa=_54.attr("class").split(" "); +for(var i=0;i").addClass(_3.cls.arrow).appendTo(_5); +$("").addClass("m-btn-line").appendTo(_5); +if(_3.menu){ +$(_3.menu).menu({duration:_3.duration}); +var _6=$(_3.menu).menu("options"); +var _7=_6.onShow; +var _8=_6.onHide; +$.extend(_6,{onShow:function(){ +var _9=$(this).menu("options"); +var _a=$(_9.alignTo); +var _b=_a.menubutton("options"); +_a.addClass((_b.plain==true)?_b.cls.btn2:_b.cls.btn1); +_7.call(this); +},onHide:function(){ +var _c=$(this).menu("options"); +var _d=$(_c.alignTo); +var _e=_d.menubutton("options"); +_d.removeClass((_e.plain==true)?_e.cls.btn2:_e.cls.btn1); +_8.call(this); +}}); +} +}; +function _f(_10){ +var _11=$.data(_10,"menubutton").options; +var btn=$(_10); +var t=btn.find("."+_11.cls.trigger); +if(!t.length){ +t=btn; +} +t.unbind(".menubutton"); +var _12=null; +t.bind("click.menubutton",function(){ +if(!_13()){ +_14(_10); +return false; +} +}).bind("mouseenter.menubutton",function(){ +if(!_13()){ +_12=setTimeout(function(){ +_14(_10); +},_11.duration); +return false; +} +}).bind("mouseleave.menubutton",function(){ +if(_12){ +clearTimeout(_12); +} +$(_11.menu).triggerHandler("mouseleave"); +}); +function _13(){ +return $(_10).linkbutton("options").disabled; +}; +}; +function _14(_15){ +var _16=$(_15).menubutton("options"); +if(_16.disabled||!_16.menu){ +return; +} +$("body>div.menu-top").menu("hide"); +var btn=$(_15); +var mm=$(_16.menu); +if(mm.length){ +mm.menu("options").alignTo=btn; +mm.menu("show",{alignTo:btn,align:_16.menuAlign}); +} +btn.blur(); +}; +$.fn.menubutton=function(_17,_18){ +if(typeof _17=="string"){ +var _19=$.fn.menubutton.methods[_17]; +if(_19){ +return _19(this,_18); +}else{ +return this.linkbutton(_17,_18); +} +} +_17=_17||{}; +return this.each(function(){ +var _1a=$.data(this,"menubutton"); +if(_1a){ +$.extend(_1a.options,_17); +}else{ +$.data(this,"menubutton",{options:$.extend({},$.fn.menubutton.defaults,$.fn.menubutton.parseOptions(this),_17)}); +$(this).removeAttr("disabled"); +} +_1(this); +_f(this); +}); +}; +$.fn.menubutton.methods={options:function(jq){ +var _1b=jq.linkbutton("options"); +return $.extend($.data(jq[0],"menubutton").options,{toggle:_1b.toggle,selected:_1b.selected,disabled:_1b.disabled}); +},destroy:function(jq){ +return jq.each(function(){ +var _1c=$(this).menubutton("options"); +if(_1c.menu){ +$(_1c.menu).menu("destroy"); +} +$(this).remove(); +}); +}}; +$.fn.menubutton.parseOptions=function(_1d){ +var t=$(_1d); +return $.extend({},$.fn.linkbutton.parseOptions(_1d),$.parser.parseOptions(_1d,["menu",{plain:"boolean",duration:"number"}])); +}; +$.fn.menubutton.defaults=$.extend({},$.fn.linkbutton.defaults,{plain:true,menu:null,menuAlign:"left",duration:100,cls:{btn1:"m-btn-active",btn2:"m-btn-plain-active",arrow:"m-btn-downarrow",trigger:"m-btn"}}); +})(jQuery); + diff --git a/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/plugins/jquery.messager.js b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/plugins/jquery.messager.js new file mode 100644 index 00000000..1159b72d --- /dev/null +++ b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/plugins/jquery.messager.js @@ -0,0 +1,215 @@ +/** + * jQuery EasyUI 1.4.1 + * + * Copyright (c) 2009-2014 www.jeasyui.com. All rights reserved. + * + * Licensed under the GPL license: http://www.gnu.org/licenses/gpl.txt + * To use it on other terms please contact us at info@jeasyui.com + * + */ +(function($){ +function _1(el,_2,_3,_4){ +var _5=$(el).window("window"); +if(!_5){ +return; +} +switch(_2){ +case null: +_5.show(); +break; +case "slide": +_5.slideDown(_3); +break; +case "fade": +_5.fadeIn(_3); +break; +case "show": +_5.show(_3); +break; +} +var _6=null; +if(_4>0){ +_6=setTimeout(function(){ +_7(el,_2,_3); +},_4); +} +_5.hover(function(){ +if(_6){ +clearTimeout(_6); +} +},function(){ +if(_4>0){ +_6=setTimeout(function(){ +_7(el,_2,_3); +},_4); +} +}); +}; +function _7(el,_8,_9){ +if(el.locked==true){ +return; +} +el.locked=true; +var _a=$(el).window("window"); +if(!_a){ +return; +} +switch(_8){ +case null: +_a.hide(); +break; +case "slide": +_a.slideUp(_9); +break; +case "fade": +_a.fadeOut(_9); +break; +case "show": +_a.hide(_9); +break; +} +setTimeout(function(){ +$(el).window("destroy"); +},_9); +}; +function _b(_c){ +var _d=$.extend({},$.fn.window.defaults,{collapsible:false,minimizable:false,maximizable:false,shadow:false,draggable:false,resizable:false,closed:true,style:{left:"",top:"",right:0,zIndex:$.fn.window.defaults.zIndex++,bottom:-document.body.scrollTop-document.documentElement.scrollTop},onBeforeOpen:function(){ +_1(this,_d.showType,_d.showSpeed,_d.timeout); +return false; +},onBeforeClose:function(){ +_7(this,_d.showType,_d.showSpeed); +return false; +}},{title:"",width:250,height:100,showType:"slide",showSpeed:600,msg:"",timeout:4000},_c); +_d.style.zIndex=$.fn.window.defaults.zIndex++; +var _e=$("
                                          ").html(_d.msg).appendTo("body"); +_e.window(_d); +_e.window("window").css(_d.style); +_e.window("open"); +return _e; +}; +function _f(_10,_11,_12){ +var win=$("
                                          ").appendTo("body"); +win.append(_11); +if(_12){ +var tb=$("
                                          ").appendTo(win); +for(var _13 in _12){ +$("").attr("href","javascript:void(0)").text(_13).css("margin-left",10).bind("click",eval(_12[_13])).appendTo(tb).linkbutton(); +} +} +win.window({title:_10,noheader:(_10?false:true),width:300,height:"auto",modal:true,collapsible:false,minimizable:false,maximizable:false,resizable:false,onClose:function(){ +setTimeout(function(){ +win.window("destroy"); +},100); +}}); +win.window("window").addClass("messager-window"); +win.children("div.messager-button").children("a:first").focus(); +return win; +}; +$.messager={show:function(_14){ +return _b(_14); +},alert:function(_15,msg,_16,fn){ +var _17="
                                          "+msg+"
                                          "; +switch(_16){ +case "error": +_17="
                                          "+_17; +break; +case "info": +_17="
                                          "+_17; +break; +case "question": +_17="
                                          "+_17; +break; +case "warning": +_17="
                                          "+_17; +break; +} +_17+="
                                          "; +var _18={}; +_18[$.messager.defaults.ok]=function(){ +win.window("close"); +if(fn){ +fn(); +return false; +} +}; +var win=_f(_15,_17,_18); +return win; +},confirm:function(_19,msg,fn){ +var _1a="
                                          "+"
                                          "+msg+"
                                          "+"
                                          "; +var _1b={}; +_1b[$.messager.defaults.ok]=function(){ +win.window("close"); +if(fn){ +fn(true); +return false; +} +}; +_1b[$.messager.defaults.cancel]=function(){ +win.window("close"); +if(fn){ +fn(false); +return false; +} +}; +var win=_f(_19,_1a,_1b); +return win; +},prompt:function(_1c,msg,fn){ +var _1d="
                                          "+"
                                          "+msg+"
                                          "+"
                                          "+"
                                          "+"
                                          "; +var _1e={}; +_1e[$.messager.defaults.ok]=function(){ +win.window("close"); +if(fn){ +fn($(".messager-input",win).val()); +return false; +} +}; +_1e[$.messager.defaults.cancel]=function(){ +win.window("close"); +if(fn){ +fn(); +return false; +} +}; +var win=_f(_1c,_1d,_1e); +win.children("input.messager-input").focus(); +return win; +},progress:function(_1f){ +var _20={bar:function(){ +return $("body>div.messager-window").find("div.messager-p-bar"); +},close:function(){ +var win=$("body>div.messager-window>div.messager-body:has(div.messager-progress)"); +if(win.length){ +win.window("close"); +} +}}; +if(typeof _1f=="string"){ +var _21=_20[_1f]; +return _21(); +} +var _22=$.extend({title:"",msg:"",text:undefined,interval:300},_1f||{}); +var _23="
                                          "; +var win=_f(_22.title,_23,null); +win.find("div.messager-p-msg").html(_22.msg); +var bar=win.find("div.messager-p-bar"); +bar.progressbar({text:_22.text}); +win.window({closable:false,onClose:function(){ +if(this.timer){ +clearInterval(this.timer); +} +$(this).window("destroy"); +}}); +if(_22.interval){ +win[0].timer=setInterval(function(){ +var v=bar.progressbar("getValue"); +v+=10; +if(v>100){ +v=0; +} +bar.progressbar("setValue",v); +},_22.interval); +} +return win; +}}; +$.messager.defaults={ok:"Ok",cancel:"Cancel"}; +})(jQuery); + diff --git a/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/plugins/jquery.numberbox.js b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/plugins/jquery.numberbox.js new file mode 100644 index 00000000..948ff85e --- /dev/null +++ b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/plugins/jquery.numberbox.js @@ -0,0 +1,172 @@ +/** + * jQuery EasyUI 1.4.1 + * + * Copyright (c) 2009-2014 www.jeasyui.com. All rights reserved. + * + * Licensed under the GPL license: http://www.gnu.org/licenses/gpl.txt + * To use it on other terms please contact us at info@jeasyui.com + * + */ +(function($){ +function _1(_2){ +var _3=$.data(_2,"numberbox"); +var _4=_3.options; +$(_2).addClass("numberbox-f").textbox(_4); +$(_2).textbox("textbox").css({imeMode:"disabled"}); +$(_2).attr("numberboxName",$(_2).attr("textboxName")); +_3.numberbox=$(_2).next(); +_3.numberbox.addClass("numberbox"); +var _5=_4.parser.call(_2,_4.value); +var _6=_4.formatter.call(_2,_5); +$(_2).numberbox("initValue",_5).numberbox("setText",_6); +}; +function _7(_8,_9){ +var _a=$.data(_8,"numberbox"); +var _b=_a.options; +var _9=_b.parser.call(_8,_9); +var _c=_b.formatter.call(_8,_9); +_b.value=_9; +$(_8).textbox("setValue",_9).textbox("setText",_c); +}; +$.fn.numberbox=function(_d,_e){ +if(typeof _d=="string"){ +var _f=$.fn.numberbox.methods[_d]; +if(_f){ +return _f(this,_e); +}else{ +return this.textbox(_d,_e); +} +} +_d=_d||{}; +return this.each(function(){ +var _10=$.data(this,"numberbox"); +if(_10){ +$.extend(_10.options,_d); +}else{ +_10=$.data(this,"numberbox",{options:$.extend({},$.fn.numberbox.defaults,$.fn.numberbox.parseOptions(this),_d)}); +} +_1(this); +}); +}; +$.fn.numberbox.methods={options:function(jq){ +var _11=jq.data("textbox")?jq.textbox("options"):{}; +return $.extend($.data(jq[0],"numberbox").options,{width:_11.width,originalValue:_11.originalValue,disabled:_11.disabled,readonly:_11.readonly}); +},fix:function(jq){ +return jq.each(function(){ +$(this).numberbox("setValue",$(this).numberbox("getText")); +}); +},setValue:function(jq,_12){ +return jq.each(function(){ +_7(this,_12); +}); +},clear:function(jq){ +return jq.each(function(){ +$(this).textbox("clear"); +$(this).numberbox("options").value=""; +}); +},reset:function(jq){ +return jq.each(function(){ +$(this).textbox("reset"); +$(this).numberbox("setValue",$(this).numberbox("getValue")); +}); +}}; +$.fn.numberbox.parseOptions=function(_13){ +var t=$(_13); +return $.extend({},$.fn.textbox.parseOptions(_13),$.parser.parseOptions(_13,["decimalSeparator","groupSeparator","suffix",{min:"number",max:"number",precision:"number"}]),{prefix:(t.attr("prefix")?t.attr("prefix"):undefined)}); +}; +$.fn.numberbox.defaults=$.extend({},$.fn.textbox.defaults,{inputEvents:{keypress:function(e){ +var _14=e.data.target; +var _15=$(_14).numberbox("options"); +return _15.filter.call(_14,e); +},blur:function(e){ +var _16=e.data.target; +$(_16).numberbox("setValue",$(_16).numberbox("getText")); +},keydown:function(e){ +if(e.keyCode==13){ +var _17=e.data.target; +$(_17).numberbox("setValue",$(_17).numberbox("getText")); +} +}},min:null,max:null,precision:0,decimalSeparator:".",groupSeparator:"",prefix:"",suffix:"",filter:function(e){ +var _18=$(this).numberbox("options"); +var s=$(this).numberbox("getText"); +if(e.which==13){ +return true; +} +if(e.which==45){ +return (s.indexOf("-")==-1?true:false); +} +var c=String.fromCharCode(e.which); +if(c==_18.decimalSeparator){ +return (s.indexOf(c)==-1?true:false); +}else{ +if(c==_18.groupSeparator){ +return true; +}else{ +if((e.which>=48&&e.which<=57&&e.ctrlKey==false&&e.shiftKey==false)||e.which==0||e.which==8){ +return true; +}else{ +if(e.ctrlKey==true&&(e.which==99||e.which==118)){ +return true; +}else{ +return false; +} +} +} +} +},formatter:function(_19){ +if(!_19){ +return _19; +} +_19=_19+""; +var _1a=$(this).numberbox("options"); +var s1=_19,s2=""; +var _1b=_19.indexOf("."); +if(_1b>=0){ +s1=_19.substring(0,_1b); +s2=_19.substring(_1b+1,_19.length); +} +if(_1a.groupSeparator){ +var p=/(\d+)(\d{3})/; +while(p.test(s1)){ +s1=s1.replace(p,"$1"+_1a.groupSeparator+"$2"); +} +} +if(s2){ +return _1a.prefix+s1+_1a.decimalSeparator+s2+_1a.suffix; +}else{ +return _1a.prefix+s1+_1a.suffix; +} +},parser:function(s){ +s=s+""; +var _1c=$(this).numberbox("options"); +if(parseFloat(s)!=s){ +if(_1c.prefix){ +s=$.trim(s.replace(new RegExp("\\"+$.trim(_1c.prefix),"g"),"")); +} +if(_1c.suffix){ +s=$.trim(s.replace(new RegExp("\\"+$.trim(_1c.suffix),"g"),"")); +} +if(_1c.groupSeparator){ +s=$.trim(s.replace(new RegExp("\\"+_1c.groupSeparator,"g"),"")); +} +if(_1c.decimalSeparator){ +s=$.trim(s.replace(new RegExp("\\"+_1c.decimalSeparator,"g"),".")); +} +s=s.replace(/\s/g,""); +} +var val=parseFloat(s).toFixed(_1c.precision); +if(isNaN(val)){ +val=""; +}else{ +if(typeof (_1c.min)=="number"&&val<_1c.min){ +val=_1c.min.toFixed(_1c.precision); +}else{ +if(typeof (_1c.max)=="number"&&val>_1c.max){ +val=_1c.max.toFixed(_1c.precision); +} +} +} +return val; +}}); +})(jQuery); + diff --git a/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/plugins/jquery.numberspinner.js b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/plugins/jquery.numberspinner.js new file mode 100644 index 00000000..98950e08 --- /dev/null +++ b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/plugins/jquery.numberspinner.js @@ -0,0 +1,58 @@ +/** + * jQuery EasyUI 1.4.1 + * + * Copyright (c) 2009-2014 www.jeasyui.com. All rights reserved. + * + * Licensed under the GPL license: http://www.gnu.org/licenses/gpl.txt + * To use it on other terms please contact us at info@jeasyui.com + * + */ +(function($){ +function _1(_2){ +$(_2).addClass("numberspinner-f"); +var _3=$.data(_2,"numberspinner").options; +$(_2).numberbox(_3).spinner(_3); +$(_2).numberbox("setValue",_3.value); +}; +function _4(_5,_6){ +var _7=$.data(_5,"numberspinner").options; +var v=parseFloat($(_5).numberbox("getValue")||_7.value)||0; +if(_6){ +v-=_7.increment; +}else{ +v+=_7.increment; +} +$(_5).numberbox("setValue",v); +}; +$.fn.numberspinner=function(_8,_9){ +if(typeof _8=="string"){ +var _a=$.fn.numberspinner.methods[_8]; +if(_a){ +return _a(this,_9); +}else{ +return this.numberbox(_8,_9); +} +} +_8=_8||{}; +return this.each(function(){ +var _b=$.data(this,"numberspinner"); +if(_b){ +$.extend(_b.options,_8); +}else{ +$.data(this,"numberspinner",{options:$.extend({},$.fn.numberspinner.defaults,$.fn.numberspinner.parseOptions(this),_8)}); +} +_1(this); +}); +}; +$.fn.numberspinner.methods={options:function(jq){ +var _c=jq.numberbox("options"); +return $.extend($.data(jq[0],"numberspinner").options,{width:_c.width,value:_c.value,originalValue:_c.originalValue,disabled:_c.disabled,readonly:_c.readonly}); +}}; +$.fn.numberspinner.parseOptions=function(_d){ +return $.extend({},$.fn.spinner.parseOptions(_d),$.fn.numberbox.parseOptions(_d),{}); +}; +$.fn.numberspinner.defaults=$.extend({},$.fn.spinner.defaults,$.fn.numberbox.defaults,{spin:function(_e){ +_4(this,_e); +}}); +})(jQuery); + diff --git a/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/plugins/jquery.pagination.js b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/plugins/jquery.pagination.js new file mode 100644 index 00000000..b690d2c3 --- /dev/null +++ b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/plugins/jquery.pagination.js @@ -0,0 +1,286 @@ +/** + * jQuery EasyUI 1.4.1 + * + * Copyright (c) 2009-2014 www.jeasyui.com. All rights reserved. + * + * Licensed under the GPL license: http://www.gnu.org/licenses/gpl.txt + * To use it on other terms please contact us at info@jeasyui.com + * + */ +(function($){ +function _1(_2){ +var _3=$.data(_2,"pagination"); +var _4=_3.options; +var bb=_3.bb={}; +var _5=$(_2).addClass("pagination").html("
                                          "); +var tr=_5.find("tr"); +var aa=$.extend([],_4.layout); +if(!_4.showPageList){ +_6(aa,"list"); +} +if(!_4.showRefresh){ +_6(aa,"refresh"); +} +if(aa[0]=="sep"){ +aa.shift(); +} +if(aa[aa.length-1]=="sep"){ +aa.pop(); +} +for(var _7=0;_7"); +ps.bind("change",function(){ +_4.pageSize=parseInt($(this).val()); +_4.onChangePageSize.call(_2,_4.pageSize); +_10(_2,_4.pageNumber); +}); +for(var i=0;i<_4.pageList.length;i++){ +$("").text(_4.pageList[i]).appendTo(ps); +} +$("").append(ps).appendTo(tr); +}else{ +if(_8=="sep"){ +$("
                                          ").appendTo(tr); +}else{ +if(_8=="first"){ +bb.first=_9("first"); +}else{ +if(_8=="prev"){ +bb.prev=_9("prev"); +}else{ +if(_8=="next"){ +bb.next=_9("next"); +}else{ +if(_8=="last"){ +bb.last=_9("last"); +}else{ +if(_8=="manual"){ +$("").html(_4.beforePageText).appendTo(tr).wrap(""); +bb.num=$("").appendTo(tr).wrap(""); +bb.num.unbind(".pagination").bind("keydown.pagination",function(e){ +if(e.keyCode==13){ +var _a=parseInt($(this).val())||1; +_10(_2,_a); +return false; +} +}); +bb.after=$("").appendTo(tr).wrap(""); +}else{ +if(_8=="refresh"){ +bb.refresh=_9("refresh"); +}else{ +if(_8=="links"){ +$("").appendTo(tr); +} +} +} +} +} +} +} +} +} +} +if(_4.buttons){ +$("
                                          ").appendTo(tr); +if($.isArray(_4.buttons)){ +for(var i=0;i<_4.buttons.length;i++){ +var _b=_4.buttons[i]; +if(_b=="-"){ +$("
                                          ").appendTo(tr); +}else{ +var td=$("").appendTo(tr); +var a=$("").appendTo(td); +a[0].onclick=eval(_b.handler||function(){ +}); +a.linkbutton($.extend({},_b,{plain:true})); +} +} +}else{ +var td=$("").appendTo(tr); +$(_4.buttons).appendTo(td).show(); +} +} +$("
                                          ").appendTo(_5); +$("
                                          ").appendTo(_5); +function _9(_c){ +var _d=_4.nav[_c]; +var a=$("").appendTo(tr); +a.wrap(""); +a.linkbutton({iconCls:_d.iconCls,plain:true}).unbind(".pagination").bind("click.pagination",function(){ +_d.handler.call(_2); +}); +return a; +}; +function _6(aa,_e){ +var _f=$.inArray(_e,aa); +if(_f>=0){ +aa.splice(_f,1); +} +return aa; +}; +}; +function _10(_11,_12){ +var _13=$.data(_11,"pagination").options; +_14(_11,{pageNumber:_12}); +_13.onSelectPage.call(_11,_13.pageNumber,_13.pageSize); +}; +function _14(_15,_16){ +var _17=$.data(_15,"pagination"); +var _18=_17.options; +var bb=_17.bb; +$.extend(_18,_16||{}); +var ps=$(_15).find("select.pagination-page-list"); +if(ps.length){ +ps.val(_18.pageSize+""); +_18.pageSize=parseInt(ps.val()); +} +var _19=Math.ceil(_18.total/_18.pageSize)||1; +if(_18.pageNumber<1){ +_18.pageNumber=1; +} +if(_18.pageNumber>_19){ +_18.pageNumber=_19; +} +if(_18.total==0){ +_18.pageNumber=0; +_19=0; +} +if(bb.num){ +bb.num.val(_18.pageNumber); +} +if(bb.after){ +bb.after.html(_18.afterPageText.replace(/{pages}/,_19)); +} +var td=$(_15).find("td.pagination-links"); +if(td.length){ +td.empty(); +var _1a=_18.pageNumber-Math.floor(_18.links/2); +if(_1a<1){ +_1a=1; +} +var _1b=_1a+_18.links-1; +if(_1b>_19){ +_1b=_19; +} +_1a=_1b-_18.links+1; +if(_1a<1){ +_1a=1; +} +for(var i=_1a;i<=_1b;i++){ +var a=$("").appendTo(td); +a.linkbutton({plain:true,text:i}); +if(i==_18.pageNumber){ +a.linkbutton("select"); +}else{ +a.unbind(".pagination").bind("click.pagination",{pageNumber:i},function(e){ +_10(_15,e.data.pageNumber); +}); +} +} +} +var _1c=_18.displayMsg; +_1c=_1c.replace(/{from}/,_18.total==0?0:_18.pageSize*(_18.pageNumber-1)+1); +_1c=_1c.replace(/{to}/,Math.min(_18.pageSize*(_18.pageNumber),_18.total)); +_1c=_1c.replace(/{total}/,_18.total); +$(_15).find("div.pagination-info").html(_1c); +if(bb.first){ +bb.first.linkbutton({disabled:((!_18.total)||_18.pageNumber==1)}); +} +if(bb.prev){ +bb.prev.linkbutton({disabled:((!_18.total)||_18.pageNumber==1)}); +} +if(bb.next){ +bb.next.linkbutton({disabled:(_18.pageNumber==_19)}); +} +if(bb.last){ +bb.last.linkbutton({disabled:(_18.pageNumber==_19)}); +} +_1d(_15,_18.loading); +}; +function _1d(_1e,_1f){ +var _20=$.data(_1e,"pagination"); +var _21=_20.options; +_21.loading=_1f; +if(_21.showRefresh&&_20.bb.refresh){ +_20.bb.refresh.linkbutton({iconCls:(_21.loading?"pagination-loading":"pagination-load")}); +} +}; +$.fn.pagination=function(_22,_23){ +if(typeof _22=="string"){ +return $.fn.pagination.methods[_22](this,_23); +} +_22=_22||{}; +return this.each(function(){ +var _24; +var _25=$.data(this,"pagination"); +if(_25){ +_24=$.extend(_25.options,_22); +}else{ +_24=$.extend({},$.fn.pagination.defaults,$.fn.pagination.parseOptions(this),_22); +$.data(this,"pagination",{options:_24}); +} +_1(this); +_14(this); +}); +}; +$.fn.pagination.methods={options:function(jq){ +return $.data(jq[0],"pagination").options; +},loading:function(jq){ +return jq.each(function(){ +_1d(this,true); +}); +},loaded:function(jq){ +return jq.each(function(){ +_1d(this,false); +}); +},refresh:function(jq,_26){ +return jq.each(function(){ +_14(this,_26); +}); +},select:function(jq,_27){ +return jq.each(function(){ +_10(this,_27); +}); +}}; +$.fn.pagination.parseOptions=function(_28){ +var t=$(_28); +return $.extend({},$.parser.parseOptions(_28,[{total:"number",pageSize:"number",pageNumber:"number",links:"number"},{loading:"boolean",showPageList:"boolean",showRefresh:"boolean"}]),{pageList:(t.attr("pageList")?eval(t.attr("pageList")):undefined)}); +}; +$.fn.pagination.defaults={total:1,pageSize:10,pageNumber:1,pageList:[10,20,30,50],loading:false,buttons:null,showPageList:true,showRefresh:true,links:10,layout:["list","sep","first","prev","sep","manual","sep","next","last","sep","refresh"],onSelectPage:function(_29,_2a){ +},onBeforeRefresh:function(_2b,_2c){ +},onRefresh:function(_2d,_2e){ +},onChangePageSize:function(_2f){ +},beforePageText:"Page",afterPageText:"of {pages}",displayMsg:"Displaying {from} to {to} of {total} items",nav:{first:{iconCls:"pagination-first",handler:function(){ +var _30=$(this).pagination("options"); +if(_30.pageNumber>1){ +$(this).pagination("select",1); +} +}},prev:{iconCls:"pagination-prev",handler:function(){ +var _31=$(this).pagination("options"); +if(_31.pageNumber>1){ +$(this).pagination("select",_31.pageNumber-1); +} +}},next:{iconCls:"pagination-next",handler:function(){ +var _32=$(this).pagination("options"); +var _33=Math.ceil(_32.total/_32.pageSize); +if(_32.pageNumber<_33){ +$(this).pagination("select",_32.pageNumber+1); +} +}},last:{iconCls:"pagination-last",handler:function(){ +var _34=$(this).pagination("options"); +var _35=Math.ceil(_34.total/_34.pageSize); +if(_34.pageNumber<_35){ +$(this).pagination("select",_35); +} +}},refresh:{iconCls:"pagination-refresh",handler:function(){ +var _36=$(this).pagination("options"); +if(_36.onBeforeRefresh.call(this,_36.pageNumber,_36.pageSize)!=false){ +$(this).pagination("select",_36.pageNumber); +_36.onRefresh.call(this,_36.pageNumber,_36.pageSize); +} +}}}}; +})(jQuery); + diff --git a/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/plugins/jquery.panel.js b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/plugins/jquery.panel.js new file mode 100644 index 00000000..2c28a7c0 --- /dev/null +++ b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/plugins/jquery.panel.js @@ -0,0 +1,602 @@ +/** + * jQuery EasyUI 1.4.1 + * + * Copyright (c) 2009-2014 www.jeasyui.com. All rights reserved. + * + * Licensed under the GPL license: http://www.gnu.org/licenses/gpl.txt + * To use it on other terms please contact us at info@jeasyui.com + * + */ +(function($){ +$.fn._remove=function(){ +return this.each(function(){ +$(this).remove(); +try{ +this.outerHTML=""; +} +catch(err){ +} +}); +}; +function _1(_2){ +_2._remove(); +}; +function _3(_4,_5){ +var _6=$.data(_4,"panel"); +var _7=_6.options; +var _8=_6.panel; +var _9=_8.children("div.panel-header"); +var _a=_8.children("div.panel-body"); +var _b=_8.children("div.panel-footer"); +if(_5){ +$.extend(_7,{width:_5.width,height:_5.height,minWidth:_5.minWidth,maxWidth:_5.maxWidth,minHeight:_5.minHeight,maxHeight:_5.maxHeight,left:_5.left,top:_5.top}); +} +_8._size(_7); +_9.add(_a)._outerWidth(_8.width()); +if(!isNaN(parseInt(_7.height))){ +_a._outerHeight(_8.height()-_9._outerHeight()-_b._outerHeight()); +}else{ +_a.css("height",""); +var _c=$.parser.parseValue("minHeight",_7.minHeight,_8.parent()); +var _d=$.parser.parseValue("maxHeight",_7.maxHeight,_8.parent()); +var _e=_9._outerHeight()+_b._outerHeight()+_8._outerHeight()-_8.height(); +_a._size("minHeight",_c?(_c-_e):""); +_a._size("maxHeight",_d?(_d-_e):""); +} +_8.css({height:"",minHeight:"",maxHeight:"",left:_7.left,top:_7.top}); +_7.onResize.apply(_4,[_7.width,_7.height]); +$(_4).panel("doLayout"); +}; +function _f(_10,_11){ +var _12=$.data(_10,"panel").options; +var _13=$.data(_10,"panel").panel; +if(_11){ +if(_11.left!=null){ +_12.left=_11.left; +} +if(_11.top!=null){ +_12.top=_11.top; +} +} +_13.css({left:_12.left,top:_12.top}); +_12.onMove.apply(_10,[_12.left,_12.top]); +}; +function _14(_15){ +$(_15).addClass("panel-body")._size("clear"); +var _16=$("
                                          ").insertBefore(_15); +_16[0].appendChild(_15); +_16.bind("_resize",function(e,_17){ +if($(this).hasClass("easyui-fluid")||_17){ +_3(_15); +} +return false; +}); +return _16; +}; +function _18(_19){ +var _1a=$.data(_19,"panel"); +var _1b=_1a.options; +var _1c=_1a.panel; +_1c.css(_1b.style); +_1c.addClass(_1b.cls); +_1d(); +_1e(); +var _1f=$(_19).panel("header"); +var _20=$(_19).panel("body"); +var _21=$(_19).siblings("div.panel-footer"); +if(_1b.border){ +_1f.removeClass("panel-header-noborder"); +_20.removeClass("panel-body-noborder"); +_21.removeClass("panel-footer-noborder"); +}else{ +_1f.addClass("panel-header-noborder"); +_20.addClass("panel-body-noborder"); +_21.addClass("panel-footer-noborder"); +} +_1f.addClass(_1b.headerCls); +_20.addClass(_1b.bodyCls); +$(_19).attr("id",_1b.id||""); +if(_1b.content){ +$(_19).panel("clear"); +$(_19).html(_1b.content); +$.parser.parse($(_19)); +} +function _1d(){ +if(_1b.tools&&typeof _1b.tools=="string"){ +_1c.find(">div.panel-header>div.panel-tool .panel-tool-a").appendTo(_1b.tools); +} +_1(_1c.children("div.panel-header")); +if(_1b.title&&!_1b.noheader){ +var _22=$("
                                          ").prependTo(_1c); +var _23=$("
                                          ").html(_1b.title).appendTo(_22); +if(_1b.iconCls){ +_23.addClass("panel-with-icon"); +$("
                                          ").addClass(_1b.iconCls).appendTo(_22); +} +var _24=$("
                                          ").appendTo(_22); +_24.bind("click",function(e){ +e.stopPropagation(); +}); +if(_1b.tools){ +if($.isArray(_1b.tools)){ +for(var i=0;i<_1b.tools.length;i++){ +var t=$("").addClass(_1b.tools[i].iconCls).appendTo(_24); +if(_1b.tools[i].handler){ +t.bind("click",eval(_1b.tools[i].handler)); +} +} +}else{ +$(_1b.tools).children().each(function(){ +$(this).addClass($(this).attr("iconCls")).addClass("panel-tool-a").appendTo(_24); +}); +} +} +if(_1b.collapsible){ +$("").appendTo(_24).bind("click",function(){ +if(_1b.collapsed==true){ +_4a(_19,true); +}else{ +_38(_19,true); +} +return false; +}); +} +if(_1b.minimizable){ +$("").appendTo(_24).bind("click",function(){ +_55(_19); +return false; +}); +} +if(_1b.maximizable){ +$("").appendTo(_24).bind("click",function(){ +if(_1b.maximized==true){ +_59(_19); +}else{ +_37(_19); +} +return false; +}); +} +if(_1b.closable){ +$("").appendTo(_24).bind("click",function(){ +_39(_19); +return false; +}); +} +_1c.children("div.panel-body").removeClass("panel-body-noheader"); +}else{ +_1c.children("div.panel-body").addClass("panel-body-noheader"); +} +}; +function _1e(){ +if(_1b.footer){ +$(_1b.footer).addClass("panel-footer").appendTo(_1c); +$(_19).addClass("panel-body-nobottom"); +}else{ +_1c.children("div.panel-footer").remove(); +$(_19).removeClass("panel-body-nobottom"); +} +}; +}; +function _25(_26,_27){ +var _28=$.data(_26,"panel"); +var _29=_28.options; +if(_2a){ +_29.queryParams=_27; +} +if(!_29.href){ +return; +} +if(!_28.isLoaded||!_29.cache){ +var _2a=$.extend({},_29.queryParams); +if(_29.onBeforeLoad.call(_26,_2a)==false){ +return; +} +_28.isLoaded=false; +$(_26).panel("clear"); +if(_29.loadingMessage){ +$(_26).html($("
                                          ").html(_29.loadingMessage)); +} +_29.loader.call(_26,_2a,function(_2b){ +var _2c=_29.extractor.call(_26,_2b); +$(_26).html(_2c); +$.parser.parse($(_26)); +_29.onLoad.apply(_26,arguments); +_28.isLoaded=true; +},function(){ +_29.onLoadError.apply(_26,arguments); +}); +} +}; +function _2d(_2e){ +var t=$(_2e); +t.find(".combo-f").each(function(){ +$(this).combo("destroy"); +}); +t.find(".m-btn").each(function(){ +$(this).menubutton("destroy"); +}); +t.find(".s-btn").each(function(){ +$(this).splitbutton("destroy"); +}); +t.find(".tooltip-f").each(function(){ +$(this).tooltip("destroy"); +}); +t.children("div").each(function(){ +$(this)._size("unfit"); +}); +t.empty(); +}; +function _2f(_30){ +$(_30).panel("doLayout",true); +}; +function _31(_32,_33){ +var _34=$.data(_32,"panel").options; +var _35=$.data(_32,"panel").panel; +if(_33!=true){ +if(_34.onBeforeOpen.call(_32)==false){ +return; +} +} +_35.stop(true,true); +if($.isFunction(_34.openAnimation)){ +_34.openAnimation.call(_32,cb); +}else{ +switch(_34.openAnimation){ +case "slide": +_35.slideDown(_34.openDuration,cb); +break; +case "fade": +_35.fadeIn(_34.openDuration,cb); +break; +case "show": +_35.show(_34.openDuration,cb); +break; +default: +_35.show(); +cb(); +} +} +function cb(){ +_34.closed=false; +_34.minimized=false; +var _36=_35.children("div.panel-header").find("a.panel-tool-restore"); +if(_36.length){ +_34.maximized=true; +} +_34.onOpen.call(_32); +if(_34.maximized==true){ +_34.maximized=false; +_37(_32); +} +if(_34.collapsed==true){ +_34.collapsed=false; +_38(_32); +} +if(!_34.collapsed){ +_25(_32); +_2f(_32); +} +}; +}; +function _39(_3a,_3b){ +var _3c=$.data(_3a,"panel").options; +var _3d=$.data(_3a,"panel").panel; +if(_3b!=true){ +if(_3c.onBeforeClose.call(_3a)==false){ +return; +} +} +_3d.stop(true,true); +_3d._size("unfit"); +if($.isFunction(_3c.closeAnimation)){ +_3c.closeAnimation.call(_3a,cb); +}else{ +switch(_3c.closeAnimation){ +case "slide": +_3d.slideUp(_3c.closeDuration,cb); +break; +case "fade": +_3d.fadeOut(_3c.closeDuration,cb); +break; +case "hide": +_3d.hide(_3c.closeDuration,cb); +break; +default: +_3d.hide(); +cb(); +} +} +function cb(){ +_3c.closed=true; +_3c.onClose.call(_3a); +}; +}; +function _3e(_3f,_40){ +var _41=$.data(_3f,"panel"); +var _42=_41.options; +var _43=_41.panel; +if(_40!=true){ +if(_42.onBeforeDestroy.call(_3f)==false){ +return; +} +} +$(_3f).panel("clear").panel("clear","footer"); +_1(_43); +_42.onDestroy.call(_3f); +}; +function _38(_44,_45){ +var _46=$.data(_44,"panel").options; +var _47=$.data(_44,"panel").panel; +var _48=_47.children("div.panel-body"); +var _49=_47.children("div.panel-header").find("a.panel-tool-collapse"); +if(_46.collapsed==true){ +return; +} +_48.stop(true,true); +if(_46.onBeforeCollapse.call(_44)==false){ +return; +} +_49.addClass("panel-tool-expand"); +if(_45==true){ +_48.slideUp("normal",function(){ +_46.collapsed=true; +_46.onCollapse.call(_44); +}); +}else{ +_48.hide(); +_46.collapsed=true; +_46.onCollapse.call(_44); +} +}; +function _4a(_4b,_4c){ +var _4d=$.data(_4b,"panel").options; +var _4e=$.data(_4b,"panel").panel; +var _4f=_4e.children("div.panel-body"); +var _50=_4e.children("div.panel-header").find("a.panel-tool-collapse"); +if(_4d.collapsed==false){ +return; +} +_4f.stop(true,true); +if(_4d.onBeforeExpand.call(_4b)==false){ +return; +} +_50.removeClass("panel-tool-expand"); +if(_4c==true){ +_4f.slideDown("normal",function(){ +_4d.collapsed=false; +_4d.onExpand.call(_4b); +_25(_4b); +_2f(_4b); +}); +}else{ +_4f.show(); +_4d.collapsed=false; +_4d.onExpand.call(_4b); +_25(_4b); +_2f(_4b); +} +}; +function _37(_51){ +var _52=$.data(_51,"panel").options; +var _53=$.data(_51,"panel").panel; +var _54=_53.children("div.panel-header").find("a.panel-tool-max"); +if(_52.maximized==true){ +return; +} +_54.addClass("panel-tool-restore"); +if(!$.data(_51,"panel").original){ +$.data(_51,"panel").original={width:_52.width,height:_52.height,left:_52.left,top:_52.top,fit:_52.fit}; +} +_52.left=0; +_52.top=0; +_52.fit=true; +_3(_51); +_52.minimized=false; +_52.maximized=true; +_52.onMaximize.call(_51); +}; +function _55(_56){ +var _57=$.data(_56,"panel").options; +var _58=$.data(_56,"panel").panel; +_58._size("unfit"); +_58.hide(); +_57.minimized=true; +_57.maximized=false; +_57.onMinimize.call(_56); +}; +function _59(_5a){ +var _5b=$.data(_5a,"panel").options; +var _5c=$.data(_5a,"panel").panel; +var _5d=_5c.children("div.panel-header").find("a.panel-tool-max"); +if(_5b.maximized==false){ +return; +} +_5c.show(); +_5d.removeClass("panel-tool-restore"); +$.extend(_5b,$.data(_5a,"panel").original); +_3(_5a); +_5b.minimized=false; +_5b.maximized=false; +$.data(_5a,"panel").original=null; +_5b.onRestore.call(_5a); +}; +function _5e(_5f,_60){ +$.data(_5f,"panel").options.title=_60; +$(_5f).panel("header").find("div.panel-title").html(_60); +}; +var _61=null; +$(window).unbind(".panel").bind("resize.panel",function(){ +if(_61){ +clearTimeout(_61); +} +_61=setTimeout(function(){ +var _62=$("body.layout"); +if(_62.length){ +_62.layout("resize"); +$("body").children(".easyui-fluid:visible").trigger("_resize"); +}else{ +$("body").panel("doLayout"); +} +_61=null; +},100); +}); +$.fn.panel=function(_63,_64){ +if(typeof _63=="string"){ +return $.fn.panel.methods[_63](this,_64); +} +_63=_63||{}; +return this.each(function(){ +var _65=$.data(this,"panel"); +var _66; +if(_65){ +_66=$.extend(_65.options,_63); +_65.isLoaded=false; +}else{ +_66=$.extend({},$.fn.panel.defaults,$.fn.panel.parseOptions(this),_63); +$(this).attr("title",""); +_65=$.data(this,"panel",{options:_66,panel:_14(this),isLoaded:false}); +} +_18(this); +if(_66.doSize==true){ +_65.panel.css("display","block"); +_3(this); +} +if(_66.closed==true||_66.minimized==true){ +_65.panel.hide(); +}else{ +_31(this); +} +}); +}; +$.fn.panel.methods={options:function(jq){ +return $.data(jq[0],"panel").options; +},panel:function(jq){ +return $.data(jq[0],"panel").panel; +},header:function(jq){ +return $.data(jq[0],"panel").panel.find(">div.panel-header"); +},footer:function(jq){ +return jq.panel("panel").children(".panel-footer"); +},body:function(jq){ +return $.data(jq[0],"panel").panel.find(">div.panel-body"); +},setTitle:function(jq,_67){ +return jq.each(function(){ +_5e(this,_67); +}); +},open:function(jq,_68){ +return jq.each(function(){ +_31(this,_68); +}); +},close:function(jq,_69){ +return jq.each(function(){ +_39(this,_69); +}); +},destroy:function(jq,_6a){ +return jq.each(function(){ +_3e(this,_6a); +}); +},clear:function(jq,_6b){ +return jq.each(function(){ +_2d(_6b=="footer"?$(this).panel("footer"):this); +}); +},refresh:function(jq,_6c){ +return jq.each(function(){ +var _6d=$.data(this,"panel"); +_6d.isLoaded=false; +if(_6c){ +if(typeof _6c=="string"){ +_6d.options.href=_6c; +}else{ +_6d.options.queryParams=_6c; +} +} +_25(this); +}); +},resize:function(jq,_6e){ +return jq.each(function(){ +_3(this,_6e); +}); +},doLayout:function(jq,all){ +return jq.each(function(){ +_6f(this,"body"); +_6f($(this).siblings("div.panel-footer")[0],"footer"); +function _6f(_70,_71){ +if(!_70){ +return; +} +var _72=_70==$("body")[0]; +var s=$(_70).find("div.panel:visible,div.accordion:visible,div.tabs-container:visible,div.layout:visible,.easyui-fluid:visible").filter(function(_73,el){ +var p=$(el).parents("div.panel-"+_71+":first"); +return _72?p.length==0:p[0]==_70; +}); +s.trigger("_resize",[all||false]); +}; +}); +},move:function(jq,_74){ +return jq.each(function(){ +_f(this,_74); +}); +},maximize:function(jq){ +return jq.each(function(){ +_37(this); +}); +},minimize:function(jq){ +return jq.each(function(){ +_55(this); +}); +},restore:function(jq){ +return jq.each(function(){ +_59(this); +}); +},collapse:function(jq,_75){ +return jq.each(function(){ +_38(this,_75); +}); +},expand:function(jq,_76){ +return jq.each(function(){ +_4a(this,_76); +}); +}}; +$.fn.panel.parseOptions=function(_77){ +var t=$(_77); +return $.extend({},$.parser.parseOptions(_77,["id","width","height","left","top","title","iconCls","cls","headerCls","bodyCls","tools","href","method",{cache:"boolean",fit:"boolean",border:"boolean",noheader:"boolean"},{collapsible:"boolean",minimizable:"boolean",maximizable:"boolean"},{closable:"boolean",collapsed:"boolean",minimized:"boolean",maximized:"boolean",closed:"boolean"},"openAnimation","closeAnimation",{openDuration:"number",closeDuration:"number"},]),{loadingMessage:(t.attr("loadingMessage")!=undefined?t.attr("loadingMessage"):undefined)}); +}; +$.fn.panel.defaults={id:null,title:null,iconCls:null,width:"auto",height:"auto",left:null,top:null,cls:null,headerCls:null,bodyCls:null,style:{},href:null,cache:true,fit:false,border:true,doSize:true,noheader:false,content:null,collapsible:false,minimizable:false,maximizable:false,closable:false,collapsed:false,minimized:false,maximized:false,closed:false,openAnimation:false,openDuration:400,closeAnimation:false,closeDuration:400,tools:null,footer:null,queryParams:{},method:"get",href:null,loadingMessage:"Loading...",loader:function(_78,_79,_7a){ +var _7b=$(this).panel("options"); +if(!_7b.href){ +return false; +} +$.ajax({type:_7b.method,url:_7b.href,cache:false,data:_78,dataType:"html",success:function(_7c){ +_79(_7c); +},error:function(){ +_7a.apply(this,arguments); +}}); +},extractor:function(_7d){ +var _7e=/]*>((.|[\n\r])*)<\/body>/im; +var _7f=_7e.exec(_7d); +if(_7f){ +return _7f[1]; +}else{ +return _7d; +} +},onBeforeLoad:function(_80){ +},onLoad:function(){ +},onLoadError:function(){ +},onBeforeOpen:function(){ +},onOpen:function(){ +},onBeforeClose:function(){ +},onClose:function(){ +},onBeforeDestroy:function(){ +},onDestroy:function(){ +},onResize:function(_81,_82){ +},onMove:function(_83,top){ +},onMaximize:function(){ +},onRestore:function(){ +},onMinimize:function(){ +},onBeforeCollapse:function(){ +},onBeforeExpand:function(){ +},onCollapse:function(){ +},onExpand:function(){ +}}; +})(jQuery); + diff --git a/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/plugins/jquery.parser.js b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/plugins/jquery.parser.js new file mode 100644 index 00000000..f420b44c --- /dev/null +++ b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/plugins/jquery.parser.js @@ -0,0 +1,322 @@ +/** + * jQuery EasyUI 1.4.1 + * + * Copyright (c) 2009-2014 www.jeasyui.com. All rights reserved. + * + * Licensed under the GPL license: http://www.gnu.org/licenses/gpl.txt + * To use it on other terms please contact us at info@jeasyui.com + * + */ +(function($){ +$.parser={auto:true,onComplete:function(_1){ +},plugins:["draggable","droppable","resizable","pagination","tooltip","linkbutton","menu","menubutton","splitbutton","progressbar","tree","textbox","filebox","combo","combobox","combotree","combogrid","numberbox","validatebox","searchbox","spinner","numberspinner","timespinner","datetimespinner","calendar","datebox","datetimebox","slider","layout","panel","datagrid","propertygrid","treegrid","tabs","accordion","window","dialog","form"],parse:function(_2){ +var aa=[]; +for(var i=0;i<$.parser.plugins.length;i++){ +var _3=$.parser.plugins[i]; +var r=$(".easyui-"+_3,_2); +if(r.length){ +if(r[_3]){ +r[_3](); +}else{ +aa.push({name:_3,jq:r}); +} +} +} +if(aa.length&&window.easyloader){ +var _4=[]; +for(var i=0;i=0){ +v=Math.floor((_8.width()-_9)*v/100); +}else{ +v=Math.floor((_8.height()-_9)*v/100); +} +}else{ +v=parseInt(v)||undefined; +} +return v; +},parseOptions:function(_b,_c){ +var t=$(_b); +var _d={}; +var s=$.trim(t.attr("data-options")); +if(s){ +if(s.substring(0,1)!="{"){ +s="{"+s+"}"; +} +_d=(new Function("return "+s))(); +} +$.map(["width","height","left","top","minWidth","maxWidth","minHeight","maxHeight"],function(p){ +var pv=$.trim(_b.style[p]||""); +if(pv){ +if(pv.indexOf("%")==-1){ +pv=parseInt(pv)||undefined; +} +_d[p]=pv; +} +}); +if(_c){ +var _e={}; +for(var i=0;i<_c.length;i++){ +var pp=_c[i]; +if(typeof pp=="string"){ +_e[pp]=t.attr(pp); +}else{ +for(var _f in pp){ +var _10=pp[_f]; +if(_10=="boolean"){ +_e[_f]=t.attr(_f)?(t.attr(_f)=="true"):undefined; +}else{ +if(_10=="number"){ +_e[_f]=t.attr(_f)=="0"?0:parseFloat(t.attr(_f))||undefined; +} +} +} +} +} +$.extend(_d,_e); +} +return _d; +}}; +$(function(){ +var d=$("
                                          ").appendTo("body"); +$._boxModel=d.outerWidth()!=100; +d.remove(); +if(!window.easyloader&&$.parser.auto){ +$.parser.parse(); +} +}); +$.fn._outerWidth=function(_11){ +if(_11==undefined){ +if(this[0]==window){ +return this.width()||document.body.clientWidth; +} +return this.outerWidth()||0; +} +return this._size("width",_11); +}; +$.fn._outerHeight=function(_12){ +if(_12==undefined){ +if(this[0]==window){ +return this.height()||document.body.clientHeight; +} +return this.outerHeight()||0; +} +return this._size("height",_12); +}; +$.fn._scrollLeft=function(_13){ +if(_13==undefined){ +return this.scrollLeft(); +}else{ +return this.each(function(){ +$(this).scrollLeft(_13); +}); +} +}; +$.fn._propAttr=$.fn.prop||$.fn.attr; +$.fn._size=function(_14,_15){ +if(typeof _14=="string"){ +if(_14=="clear"){ +return this.each(function(){ +$(this).css({width:"",minWidth:"",maxWidth:"",height:"",minHeight:"",maxHeight:""}); +}); +}else{ +if(_14=="fit"){ +return this.each(function(){ +_16(this,this.tagName=="BODY"?$("body"):$(this).parent(),true); +}); +}else{ +if(_14=="unfit"){ +return this.each(function(){ +_16(this,$(this).parent(),false); +}); +}else{ +if(_15==undefined){ +return _17(this[0],_14); +}else{ +return this.each(function(){ +_17(this,_14,_15); +}); +} +} +} +} +}else{ +return this.each(function(){ +_15=_15||$(this).parent(); +$.extend(_14,_16(this,_15,_14.fit)||{}); +var r1=_18(this,"width",_15,_14); +var r2=_18(this,"height",_15,_14); +if(r1||r2){ +$(this).addClass("easyui-fluid"); +}else{ +$(this).removeClass("easyui-fluid"); +} +}); +} +function _16(_19,_1a,fit){ +if(!_1a.length){ +return false; +} +var t=$(_19)[0]; +var p=_1a[0]; +var _1b=p.fcount||0; +if(fit){ +if(!t.fitted){ +t.fitted=true; +p.fcount=_1b+1; +$(p).addClass("panel-noscroll"); +if(p.tagName=="BODY"){ +$("html").addClass("panel-fit"); +} +} +return {width:($(p).width()||1),height:($(p).height()||1)}; +}else{ +if(t.fitted){ +t.fitted=false; +p.fcount=_1b-1; +if(p.fcount==0){ +$(p).removeClass("panel-noscroll"); +if(p.tagName=="BODY"){ +$("html").removeClass("panel-fit"); +} +} +} +return false; +} +}; +function _18(_1c,_1d,_1e,_1f){ +var t=$(_1c); +var p=_1d; +var p1=p.substr(0,1).toUpperCase()+p.substr(1); +var min=$.parser.parseValue("min"+p1,_1f["min"+p1],_1e); +var max=$.parser.parseValue("max"+p1,_1f["max"+p1],_1e); +var val=$.parser.parseValue(p,_1f[p],_1e); +var _20=(String(_1f[p]||"").indexOf("%")>=0?true:false); +if(!isNaN(val)){ +var v=Math.min(Math.max(val,min||0),max||99999); +if(!_20){ +_1f[p]=v; +} +t._size("min"+p1,""); +t._size("max"+p1,""); +t._size(p,v); +}else{ +t._size(p,""); +t._size("min"+p1,min); +t._size("max"+p1,max); +} +return _20||_1f.fit; +}; +function _17(_21,_22,_23){ +var t=$(_21); +if(_23==undefined){ +_23=parseInt(_21.style[_22]); +if(isNaN(_23)){ +return undefined; +} +if($._boxModel){ +_23+=_24(); +} +return _23; +}else{ +if(_23===""){ +t.css(_22,""); +}else{ +if($._boxModel){ +_23-=_24(); +if(_23<0){ +_23=0; +} +} +t.css(_22,_23+"px"); +} +} +function _24(){ +if(_22.toLowerCase().indexOf("width")>=0){ +return t.outerWidth()-t.width(); +}else{ +return t.outerHeight()-t.height(); +} +}; +}; +}; +})(jQuery); +(function($){ +var _25=null; +var _26=null; +var _27=false; +function _28(e){ +if(e.touches.length!=1){ +return; +} +if(!_27){ +_27=true; +dblClickTimer=setTimeout(function(){ +_27=false; +},500); +}else{ +clearTimeout(dblClickTimer); +_27=false; +_29(e,"dblclick"); +} +_25=setTimeout(function(){ +_29(e,"contextmenu",3); +},1000); +_29(e,"mousedown"); +if($.fn.draggable.isDragging||$.fn.resizable.isResizing){ +e.preventDefault(); +} +}; +function _2a(e){ +if(e.touches.length!=1){ +return; +} +if(_25){ +clearTimeout(_25); +} +_29(e,"mousemove"); +if($.fn.draggable.isDragging||$.fn.resizable.isResizing){ +e.preventDefault(); +} +}; +function _2b(e){ +if(_25){ +clearTimeout(_25); +} +_29(e,"mouseup"); +if($.fn.draggable.isDragging||$.fn.resizable.isResizing){ +e.preventDefault(); +} +}; +function _29(e,_2c,_2d){ +var _2e=new $.Event(_2c); +_2e.pageX=e.changedTouches[0].pageX; +_2e.pageY=e.changedTouches[0].pageY; +_2e.which=_2d||1; +$(e.target).trigger(_2e); +}; +if(document.addEventListener){ +document.addEventListener("touchstart",_28,true); +document.addEventListener("touchmove",_2a,true); +document.addEventListener("touchend",_2b,true); +} +})(jQuery); + diff --git a/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/plugins/jquery.progressbar.js b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/plugins/jquery.progressbar.js new file mode 100644 index 00000000..fbd5e4f2 --- /dev/null +++ b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/plugins/jquery.progressbar.js @@ -0,0 +1,84 @@ +/** + * jQuery EasyUI 1.4.1 + * + * Copyright (c) 2009-2014 www.jeasyui.com. All rights reserved. + * + * Licensed under the GPL license: http://www.gnu.org/licenses/gpl.txt + * To use it on other terms please contact us at info@jeasyui.com + * + */ +(function($){ +function _1(_2){ +$(_2).addClass("progressbar"); +$(_2).html("
                                          "); +$(_2).bind("_resize",function(e,_3){ +if($(this).hasClass("easyui-fluid")||_3){ +_4(_2); +} +return false; +}); +return $(_2); +}; +function _4(_5,_6){ +var _7=$.data(_5,"progressbar").options; +var _8=$.data(_5,"progressbar").bar; +if(_6){ +_7.width=_6; +} +_8._size(_7); +_8.find("div.progressbar-text").css("width",_8.width()); +_8.find("div.progressbar-text,div.progressbar-value").css({height:_8.height()+"px",lineHeight:_8.height()+"px"}); +}; +$.fn.progressbar=function(_9,_a){ +if(typeof _9=="string"){ +var _b=$.fn.progressbar.methods[_9]; +if(_b){ +return _b(this,_a); +} +} +_9=_9||{}; +return this.each(function(){ +var _c=$.data(this,"progressbar"); +if(_c){ +$.extend(_c.options,_9); +}else{ +_c=$.data(this,"progressbar",{options:$.extend({},$.fn.progressbar.defaults,$.fn.progressbar.parseOptions(this),_9),bar:_1(this)}); +} +$(this).progressbar("setValue",_c.options.value); +_4(this); +}); +}; +$.fn.progressbar.methods={options:function(jq){ +return $.data(jq[0],"progressbar").options; +},resize:function(jq,_d){ +return jq.each(function(){ +_4(this,_d); +}); +},getValue:function(jq){ +return $.data(jq[0],"progressbar").options.value; +},setValue:function(jq,_e){ +if(_e<0){ +_e=0; +} +if(_e>100){ +_e=100; +} +return jq.each(function(){ +var _f=$.data(this,"progressbar").options; +var _10=_f.text.replace(/{value}/,_e); +var _11=_f.value; +_f.value=_e; +$(this).find("div.progressbar-value").width(_e+"%"); +$(this).find("div.progressbar-text").html(_10); +if(_11!=_e){ +_f.onChange.call(this,_e,_11); +} +}); +}}; +$.fn.progressbar.parseOptions=function(_12){ +return $.extend({},$.parser.parseOptions(_12,["width","height","text",{value:"number"}])); +}; +$.fn.progressbar.defaults={width:"auto",height:22,value:0,text:"{value}%",onChange:function(_13,_14){ +}}; +})(jQuery); + diff --git a/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/plugins/jquery.propertygrid.js b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/plugins/jquery.propertygrid.js new file mode 100644 index 00000000..e02f00ca --- /dev/null +++ b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/plugins/jquery.propertygrid.js @@ -0,0 +1,327 @@ +/** + * jQuery EasyUI 1.4.1 + * + * Copyright (c) 2009-2014 www.jeasyui.com. All rights reserved. + * + * Licensed under the GPL license: http://www.gnu.org/licenses/gpl.txt + * To use it on other terms please contact us at info@jeasyui.com + * + */ +(function($){ +var _1; +$(document).unbind(".propertygrid").bind("mousedown.propertygrid",function(e){ +var p=$(e.target).closest("div.datagrid-view,div.combo-panel"); +if(p.length){ +return; +} +_2(_1); +_1=undefined; +}); +function _3(_4){ +var _5=$.data(_4,"propertygrid"); +var _6=$.data(_4,"propertygrid").options; +$(_4).datagrid($.extend({},_6,{cls:"propertygrid",view:(_6.showGroup?_6.groupView:_6.view),onBeforeEdit:function(_7,_8){ +if(_6.onBeforeEdit.call(_4,_7,_8)==false){ +return false; +} +var dg=$(this); +var _8=dg.datagrid("getRows")[_7]; +var _9=dg.datagrid("getColumnOption","value"); +_9.editor=_8.editor; +},onClickCell:function(_a,_b,_c){ +if(_1!=this){ +_2(_1); +_1=this; +} +if(_6.editIndex!=_a){ +_2(_1); +$(this).datagrid("beginEdit",_a); +var ed=$(this).datagrid("getEditor",{index:_a,field:_b}); +if(!ed){ +ed=$(this).datagrid("getEditor",{index:_a,field:"value"}); +} +if(ed){ +var t=$(ed.target); +var _d=t.data("textbox")?t.textbox("textbox"):t; +_d.focus(); +_6.editIndex=_a; +} +} +_6.onClickCell.call(_4,_a,_b,_c); +},loadFilter:function(_e){ +_2(this); +return _6.loadFilter.call(this,_e); +}})); +}; +function _2(_f){ +var t=$(_f); +if(!t.length){ +return; +} +var _10=$.data(_f,"propertygrid").options; +_10.finder.getTr(_f,null,"editing").each(function(){ +var _11=parseInt($(this).attr("datagrid-row-index")); +if(t.datagrid("validateRow",_11)){ +t.datagrid("endEdit",_11); +}else{ +t.datagrid("cancelEdit",_11); +} +}); +}; +$.fn.propertygrid=function(_12,_13){ +if(typeof _12=="string"){ +var _14=$.fn.propertygrid.methods[_12]; +if(_14){ +return _14(this,_13); +}else{ +return this.datagrid(_12,_13); +} +} +_12=_12||{}; +return this.each(function(){ +var _15=$.data(this,"propertygrid"); +if(_15){ +$.extend(_15.options,_12); +}else{ +var _16=$.extend({},$.fn.propertygrid.defaults,$.fn.propertygrid.parseOptions(this),_12); +_16.frozenColumns=$.extend(true,[],_16.frozenColumns); +_16.columns=$.extend(true,[],_16.columns); +$.data(this,"propertygrid",{options:_16}); +} +_3(this); +}); +}; +$.fn.propertygrid.methods={options:function(jq){ +return $.data(jq[0],"propertygrid").options; +}}; +$.fn.propertygrid.parseOptions=function(_17){ +return $.extend({},$.fn.datagrid.parseOptions(_17),$.parser.parseOptions(_17,[{showGroup:"boolean"}])); +}; +var _18=$.extend({},$.fn.datagrid.defaults.view,{render:function(_19,_1a,_1b){ +var _1c=[]; +var _1d=this.groups; +for(var i=0;i<_1d.length;i++){ +_1c.push(this.renderGroup.call(this,_19,i,_1d[i],_1b)); +} +$(_1a).html(_1c.join("")); +},renderGroup:function(_1e,_1f,_20,_21){ +var _22=$.data(_1e,"datagrid"); +var _23=_22.options; +var _24=$(_1e).datagrid("getColumnFields",_21); +var _25=[]; +_25.push("
                                          "); +_25.push(""); +_25.push(""); +if((_21&&(_23.rownumbers||_23.frozenColumns.length))||(!_21&&!(_23.rownumbers||_23.frozenColumns.length))){ +_25.push(""); +} +_25.push(""); +_25.push(""); +_25.push("
                                           "); +if(!_21){ +_25.push(""); +_25.push(_23.groupFormatter.call(_1e,_20.value,_20.rows)); +_25.push(""); +} +_25.push("
                                          "); +_25.push("
                                          "); +_25.push(""); +var _26=_20.startIndex; +for(var j=0;j<_20.rows.length;j++){ +var css=_23.rowStyler?_23.rowStyler.call(_1e,_26,_20.rows[j]):""; +var _27=""; +var _28=""; +if(typeof css=="string"){ +_28=css; +}else{ +if(css){ +_27=css["class"]||""; +_28=css["style"]||""; +} +} +var cls="class=\"datagrid-row "+(_26%2&&_23.striped?"datagrid-row-alt ":" ")+_27+"\""; +var _29=_28?"style=\""+_28+"\"":""; +var _2a=_22.rowIdPrefix+"-"+(_21?1:2)+"-"+_26; +_25.push(""); +_25.push(this.renderRow.call(this,_1e,_24,_21,_26,_20.rows[j])); +_25.push(""); +_26++; +} +_25.push("
                                          "); +return _25.join(""); +},bindEvents:function(_2b){ +var _2c=$.data(_2b,"datagrid"); +var dc=_2c.dc; +var _2d=dc.body1.add(dc.body2); +var _2e=($.data(_2d[0],"events")||$._data(_2d[0],"events")).click[0].handler; +_2d.unbind("click").bind("click",function(e){ +var tt=$(e.target); +var _2f=tt.closest("span.datagrid-row-expander"); +if(_2f.length){ +var _30=_2f.closest("div.datagrid-group").attr("group-index"); +if(_2f.hasClass("datagrid-row-collapse")){ +$(_2b).datagrid("collapseGroup",_30); +}else{ +$(_2b).datagrid("expandGroup",_30); +} +}else{ +_2e(e); +} +e.stopPropagation(); +}); +},onBeforeRender:function(_31,_32){ +var _33=$.data(_31,"datagrid"); +var _34=_33.options; +_35(); +var _36=[]; +for(var i=0;i<_32.length;i++){ +var row=_32[i]; +var _37=_38(row[_34.groupField]); +if(!_37){ +_37={value:row[_34.groupField],rows:[row]}; +_36.push(_37); +}else{ +_37.rows.push(row); +} +} +var _39=0; +var _3a=[]; +for(var i=0;i<_36.length;i++){ +var _37=_36[i]; +_37.startIndex=_39; +_39+=_37.rows.length; +_3a=_3a.concat(_37.rows); +} +_33.data.rows=_3a; +this.groups=_36; +var _3b=this; +setTimeout(function(){ +_3b.bindEvents(_31); +},0); +function _38(_3c){ +for(var i=0;i<_36.length;i++){ +var _3d=_36[i]; +if(_3d.value==_3c){ +return _3d; +} +} +return null; +}; +function _35(){ +if(!$("#datagrid-group-style").length){ +$("head").append(""); +} +}; +}}); +$.extend($.fn.datagrid.methods,{expandGroup:function(jq,_3e){ +return jq.each(function(){ +var _3f=$.data(this,"datagrid").dc.view; +var _40=_3f.find(_3e!=undefined?"div.datagrid-group[group-index=\""+_3e+"\"]":"div.datagrid-group"); +var _41=_40.find("span.datagrid-row-expander"); +if(_41.hasClass("datagrid-row-expand")){ +_41.removeClass("datagrid-row-expand").addClass("datagrid-row-collapse"); +_40.next("table").show(); +} +$(this).datagrid("fixRowHeight"); +}); +},collapseGroup:function(jq,_42){ +return jq.each(function(){ +var _43=$.data(this,"datagrid").dc.view; +var _44=_43.find(_42!=undefined?"div.datagrid-group[group-index=\""+_42+"\"]":"div.datagrid-group"); +var _45=_44.find("span.datagrid-row-expander"); +if(_45.hasClass("datagrid-row-collapse")){ +_45.removeClass("datagrid-row-collapse").addClass("datagrid-row-expand"); +_44.next("table").hide(); +} +$(this).datagrid("fixRowHeight"); +}); +}}); +$.extend(_18,{refreshGroupTitle:function(_46,_47){ +var _48=$.data(_46,"datagrid"); +var _49=_48.options; +var dc=_48.dc; +var _4a=this.groups[_47]; +var _4b=dc.body2.children("div.datagrid-group[group-index="+_47+"]").find("span.datagrid-group-title"); +_4b.html(_49.groupFormatter.call(_46,_4a.value,_4a.rows)); +},insertRow:function(_4c,_4d,row){ +var _4e=$.data(_4c,"datagrid"); +var _4f=_4e.options; +var dc=_4e.dc; +var _50=null; +var _51; +for(var i=0;i_50.startIndex+_50.rows.length){ +_4d=_50.startIndex+_50.rows.length; +} +} +$.fn.datagrid.defaults.view.insertRow.call(this,_4c,_4d,row); +if(_4d>=_50.startIndex+_50.rows.length){ +_52(_4d,true); +_52(_4d,false); +} +_50.rows.splice(_4d-_50.startIndex,0,row); +}else{ +_50={value:row[_4f.groupField],rows:[row],startIndex:_4e.data.rows.length}; +_51=this.groups.length; +dc.body1.append(this.renderGroup.call(this,_4c,_51,_50,true)); +dc.body2.append(this.renderGroup.call(this,_4c,_51,_50,false)); +this.groups.push(_50); +_4e.data.rows.push(row); +} +this.refreshGroupTitle(_4c,_51); +function _52(_53,_54){ +var _55=_54?1:2; +var _56=_4f.finder.getTr(_4c,_53-1,"body",_55); +var tr=_4f.finder.getTr(_4c,_53,"body",_55); +tr.insertAfter(_56); +}; +},updateRow:function(_57,_58,row){ +var _59=$.data(_57,"datagrid").options; +$.fn.datagrid.defaults.view.updateRow.call(this,_57,_58,row); +var tb=_59.finder.getTr(_57,_58,"body",2).closest("table.datagrid-btable"); +var _5a=parseInt(tb.prev().attr("group-index")); +this.refreshGroupTitle(_57,_5a); +},deleteRow:function(_5b,_5c){ +var _5d=$.data(_5b,"datagrid"); +var _5e=_5d.options; +var dc=_5d.dc; +var _5f=dc.body1.add(dc.body2); +var tb=_5e.finder.getTr(_5b,_5c,"body",2).closest("table.datagrid-btable"); +var _60=parseInt(tb.prev().attr("group-index")); +$.fn.datagrid.defaults.view.deleteRow.call(this,_5b,_5c); +var _61=this.groups[_60]; +if(_61.rows.length>1){ +_61.rows.splice(_5c-_61.startIndex,1); +this.refreshGroupTitle(_5b,_60); +}else{ +_5f.children("div.datagrid-group[group-index="+_60+"]").remove(); +for(var i=_60+1;i_13.top&&e.pageY<_13.top+_16){ +dir+="n"; +}else{ +if(e.pageY<_13.top+_15&&e.pageY>_13.top+_15-_16){ +dir+="s"; +} +} +if(e.pageX>_13.left&&e.pageX<_13.left+_16){ +dir+="w"; +}else{ +if(e.pageX<_13.left+_14&&e.pageX>_13.left+_14-_16){ +dir+="e"; +} +} +var _17=_d.handles.split(","); +for(var i=0;i<_17.length;i++){ +var _18=_17[i].replace(/(^\s*)|(\s*$)/g,""); +if(_18=="all"||_18==dir){ +return dir; +} +} +return ""; +}; +}); +}; +$.fn.resizable.methods={options:function(jq){ +return $.data(jq[0],"resizable").options; +},enable:function(jq){ +return jq.each(function(){ +$(this).resizable({disabled:false}); +}); +},disable:function(jq){ +return jq.each(function(){ +$(this).resizable({disabled:true}); +}); +}}; +$.fn.resizable.parseOptions=function(_19){ +var t=$(_19); +return $.extend({},$.parser.parseOptions(_19,["handles",{minWidth:"number",minHeight:"number",maxWidth:"number",maxHeight:"number",edge:"number"}]),{disabled:(t.attr("disabled")?true:undefined)}); +}; +$.fn.resizable.defaults={disabled:false,handles:"n, e, s, w, ne, se, sw, nw, all",minWidth:10,minHeight:10,maxWidth:10000,maxHeight:10000,edge:5,onStartResize:function(e){ +},onResize:function(e){ +},onStopResize:function(e){ +}}; +$.fn.resizable.isResizing=false; +})(jQuery); + diff --git a/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/plugins/jquery.searchbox.js b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/plugins/jquery.searchbox.js new file mode 100644 index 00000000..4a8b3061 --- /dev/null +++ b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/plugins/jquery.searchbox.js @@ -0,0 +1,132 @@ +/** + * jQuery EasyUI 1.4.1 + * + * Copyright (c) 2009-2014 www.jeasyui.com. All rights reserved. + * + * Licensed under the GPL license: http://www.gnu.org/licenses/gpl.txt + * To use it on other terms please contact us at info@jeasyui.com + * + */ +(function($){ +function _1(_2){ +var _3=$.data(_2,"searchbox"); +var _4=_3.options; +var _5=$.extend(true,[],_4.icons); +_5.push({iconCls:"searchbox-button",handler:function(e){ +var t=$(e.data.target); +var _6=t.searchbox("options"); +_6.searcher.call(e.data.target,t.searchbox("getValue"),t.searchbox("getName")); +}}); +_7(); +var _8=_9(); +$(_2).addClass("searchbox-f").textbox($.extend({},_4,{icons:_5,buttonText:(_8?_8.text:"")})); +$(_2).attr("searchboxName",$(_2).attr("textboxName")); +_3.searchbox=$(_2).next(); +_3.searchbox.addClass("searchbox"); +_a(_8); +function _7(){ +if(_4.menu){ +_3.menu=$(_4.menu).menu(); +var _b=_3.menu.menu("options"); +var _c=_b.onClick; +_b.onClick=function(_d){ +_a(_d); +_c.call(this,_d); +}; +}else{ +if(_3.menu){ +_3.menu.menu("destroy"); +} +_3.menu=null; +} +}; +function _9(){ +if(_3.menu){ +var _e=_3.menu.children("div.menu-item:first"); +_3.menu.children("div.menu-item").each(function(){ +var _f=$.extend({},$.parser.parseOptions(this),{selected:($(this).attr("selected")?true:undefined)}); +if(_f.selected){ +_e=$(this); +return false; +} +}); +return _3.menu.menu("getItem",_e[0]); +}else{ +return null; +} +}; +function _a(_10){ +if(!_10){ +return; +} +$(_2).textbox("button").menubutton({text:_10.text,iconCls:(_10.iconCls||null),menu:_3.menu,menuAlign:_4.buttonAlign,plain:false}); +_3.searchbox.find("input.textbox-value").attr("name",_10.name||_10.text); +$(_2).searchbox("resize"); +}; +}; +$.fn.searchbox=function(_11,_12){ +if(typeof _11=="string"){ +var _13=$.fn.searchbox.methods[_11]; +if(_13){ +return _13(this,_12); +}else{ +return this.textbox(_11,_12); +} +} +_11=_11||{}; +return this.each(function(){ +var _14=$.data(this,"searchbox"); +if(_14){ +$.extend(_14.options,_11); +}else{ +$.data(this,"searchbox",{options:$.extend({},$.fn.searchbox.defaults,$.fn.searchbox.parseOptions(this),_11)}); +} +_1(this); +}); +}; +$.fn.searchbox.methods={options:function(jq){ +var _15=jq.textbox("options"); +return $.extend($.data(jq[0],"searchbox").options,{width:_15.width,value:_15.value,originalValue:_15.originalValue,disabled:_15.disabled,readonly:_15.readonly}); +},menu:function(jq){ +return $.data(jq[0],"searchbox").menu; +},getName:function(jq){ +return $.data(jq[0],"searchbox").searchbox.find("input.textbox-value").attr("name"); +},selectName:function(jq,_16){ +return jq.each(function(){ +var _17=$.data(this,"searchbox").menu; +if(_17){ +_17.children("div.menu-item").each(function(){ +var _18=_17.menu("getItem",this); +if(_18.name==_16){ +$(this).triggerHandler("click"); +return false; +} +}); +} +}); +},destroy:function(jq){ +return jq.each(function(){ +var _19=$(this).searchbox("menu"); +if(_19){ +_19.menu("destroy"); +} +$(this).textbox("destroy"); +}); +}}; +$.fn.searchbox.parseOptions=function(_1a){ +var t=$(_1a); +return $.extend({},$.fn.textbox.parseOptions(_1a),$.parser.parseOptions(_1a,["menu"]),{searcher:(t.attr("searcher")?eval(t.attr("searcher")):undefined)}); +}; +$.fn.searchbox.defaults=$.extend({},$.fn.textbox.defaults,{inputEvents:$.extend({},$.fn.textbox.defaults.inputEvents,{keydown:function(e){ +if(e.keyCode==13){ +e.preventDefault(); +var t=$(e.data.target); +var _1b=t.searchbox("options"); +t.searchbox("setValue",$(this).val()); +_1b.searcher.call(e.data.target,t.searchbox("getValue"),t.searchbox("getName")); +return false; +} +}}),buttonAlign:"left",menu:null,searcher:function(_1c,_1d){ +}}); +})(jQuery); + diff --git a/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/plugins/jquery.slider.js b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/plugins/jquery.slider.js new file mode 100644 index 00000000..39373b26 --- /dev/null +++ b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/plugins/jquery.slider.js @@ -0,0 +1,277 @@ +/** + * jQuery EasyUI 1.4.1 + * + * Copyright (c) 2009-2014 www.jeasyui.com. All rights reserved. + * + * Licensed under the GPL license: http://www.gnu.org/licenses/gpl.txt + * To use it on other terms please contact us at info@jeasyui.com + * + */ +(function($){ +function _1(_2){ +var _3=$("
                                          "+"
                                          "+""+""+"
                                          "+"
                                          "+"
                                          "+"
                                          "+""+"
                                          ").insertAfter(_2); +var t=$(_2); +t.addClass("slider-f").hide(); +var _4=t.attr("name"); +if(_4){ +_3.find("input.slider-value").attr("name",_4); +t.removeAttr("name").attr("sliderName",_4); +} +_3.bind("_resize",function(e,_5){ +if($(this).hasClass("easyui-fluid")||_5){ +_6(_2); +} +return false; +}); +return _3; +}; +function _6(_7,_8){ +var _9=$.data(_7,"slider"); +var _a=_9.options; +var _b=_9.slider; +if(_8){ +if(_8.width){ +_a.width=_8.width; +} +if(_8.height){ +_a.height=_8.height; +} +} +_b._size(_a); +if(_a.mode=="h"){ +_b.css("height",""); +_b.children("div").css("height",""); +}else{ +_b.css("width",""); +_b.children("div").css("width",""); +_b.children("div.slider-rule,div.slider-rulelabel,div.slider-inner")._outerHeight(_b._outerHeight()); +} +_c(_7); +}; +function _d(_e){ +var _f=$.data(_e,"slider"); +var _10=_f.options; +var _11=_f.slider; +var aa=_10.mode=="h"?_10.rule:_10.rule.slice(0).reverse(); +if(_10.reversed){ +aa=aa.slice(0).reverse(); +} +_12(aa); +function _12(aa){ +var _13=_11.find("div.slider-rule"); +var _14=_11.find("div.slider-rulelabel"); +_13.empty(); +_14.empty(); +for(var i=0;i").appendTo(_13); +_16.css((_10.mode=="h"?"left":"top"),_15); +if(aa[i]!="|"){ +_16=$("").appendTo(_14); +_16.html(aa[i]); +if(_10.mode=="h"){ +_16.css({left:_15,marginLeft:-Math.round(_16.outerWidth()/2)}); +}else{ +_16.css({top:_15,marginTop:-Math.round(_16.outerHeight()/2)}); +} +} +} +}; +}; +function _17(_18){ +var _19=$.data(_18,"slider"); +var _1a=_19.options; +var _1b=_19.slider; +_1b.removeClass("slider-h slider-v slider-disabled"); +_1b.addClass(_1a.mode=="h"?"slider-h":"slider-v"); +_1b.addClass(_1a.disabled?"slider-disabled":""); +_1b.find("a.slider-handle").draggable({axis:_1a.mode,cursor:"pointer",disabled:_1a.disabled,onDrag:function(e){ +var _1c=e.data.left; +var _1d=_1b.width(); +if(_1a.mode!="h"){ +_1c=e.data.top; +_1d=_1b.height(); +} +if(_1c<0||_1c>_1d){ +return false; +}else{ +var _1e=_34(_18,_1c); +_1f(_1e); +return false; +} +},onBeforeDrag:function(){ +_19.isDragging=true; +},onStartDrag:function(){ +_1a.onSlideStart.call(_18,_1a.value); +},onStopDrag:function(e){ +var _20=_34(_18,(_1a.mode=="h"?e.data.left:e.data.top)); +_1f(_20); +_1a.onSlideEnd.call(_18,_1a.value); +_1a.onComplete.call(_18,_1a.value); +_19.isDragging=false; +}}); +_1b.find("div.slider-inner").unbind(".slider").bind("mousedown.slider",function(e){ +if(_19.isDragging||_1a.disabled){ +return; +} +var pos=$(this).offset(); +var _21=_34(_18,(_1a.mode=="h"?(e.pageX-pos.left):(e.pageY-pos.top))); +_1f(_21); +_1a.onComplete.call(_18,_1a.value); +}); +function _1f(_22){ +var s=Math.abs(_22%_1a.step); +if(s<_1a.step/2){ +_22-=s; +}else{ +_22=_22-s+_1a.step; +} +_23(_18,_22); +}; +}; +function _23(_24,_25){ +var _26=$.data(_24,"slider"); +var _27=_26.options; +var _28=_26.slider; +var _29=_27.value; +if(_25<_27.min){ +_25=_27.min; +} +if(_25>_27.max){ +_25=_27.max; +} +_27.value=_25; +$(_24).val(_25); +_28.find("input.slider-value").val(_25); +var pos=_2a(_24,_25); +var tip=_28.find(".slider-tip"); +if(_27.showTip){ +tip.show(); +tip.html(_27.tipFormatter.call(_24,_27.value)); +}else{ +tip.hide(); +} +if(_27.mode=="h"){ +var _2b="left:"+pos+"px;"; +_28.find(".slider-handle").attr("style",_2b); +tip.attr("style",_2b+"margin-left:"+(-Math.round(tip.outerWidth()/2))+"px"); +}else{ +var _2b="top:"+pos+"px;"; +_28.find(".slider-handle").attr("style",_2b); +tip.attr("style",_2b+"margin-left:"+(-Math.round(tip.outerWidth()))+"px"); +} +if(_29!=_25){ +_27.onChange.call(_24,_25,_29); +} +}; +function _c(_2c){ +var _2d=$.data(_2c,"slider").options; +var fn=_2d.onChange; +_2d.onChange=function(){ +}; +_23(_2c,_2d.value); +_2d.onChange=fn; +}; +function _2a(_2e,_2f){ +var _30=$.data(_2e,"slider"); +var _31=_30.options; +var _32=_30.slider; +var _33=_31.mode=="h"?_32.width():_32.height(); +var pos=_31.converter.toPosition.call(_2e,_2f,_33); +if(_31.mode=="v"){ +pos=_32.height()-pos; +} +if(_31.reversed){ +pos=_33-pos; +} +return pos.toFixed(0); +}; +function _34(_35,pos){ +var _36=$.data(_35,"slider"); +var _37=_36.options; +var _38=_36.slider; +var _39=_37.mode=="h"?_38.width():_38.height(); +var _3a=_37.converter.toValue.call(_35,_37.mode=="h"?(_37.reversed?(_39-pos):pos):(_39-pos),_39); +return _3a.toFixed(0); +}; +$.fn.slider=function(_3b,_3c){ +if(typeof _3b=="string"){ +return $.fn.slider.methods[_3b](this,_3c); +} +_3b=_3b||{}; +return this.each(function(){ +var _3d=$.data(this,"slider"); +if(_3d){ +$.extend(_3d.options,_3b); +}else{ +_3d=$.data(this,"slider",{options:$.extend({},$.fn.slider.defaults,$.fn.slider.parseOptions(this),_3b),slider:_1(this)}); +$(this).removeAttr("disabled"); +} +var _3e=_3d.options; +_3e.min=parseFloat(_3e.min); +_3e.max=parseFloat(_3e.max); +_3e.value=parseFloat(_3e.value); +_3e.step=parseFloat(_3e.step); +_3e.originalValue=_3e.value; +_17(this); +_d(this); +_6(this); +}); +}; +$.fn.slider.methods={options:function(jq){ +return $.data(jq[0],"slider").options; +},destroy:function(jq){ +return jq.each(function(){ +$.data(this,"slider").slider.remove(); +$(this).remove(); +}); +},resize:function(jq,_3f){ +return jq.each(function(){ +_6(this,_3f); +}); +},getValue:function(jq){ +return jq.slider("options").value; +},setValue:function(jq,_40){ +return jq.each(function(){ +_23(this,_40); +}); +},clear:function(jq){ +return jq.each(function(){ +var _41=$(this).slider("options"); +_23(this,_41.min); +}); +},reset:function(jq){ +return jq.each(function(){ +var _42=$(this).slider("options"); +_23(this,_42.originalValue); +}); +},enable:function(jq){ +return jq.each(function(){ +$.data(this,"slider").options.disabled=false; +_17(this); +}); +},disable:function(jq){ +return jq.each(function(){ +$.data(this,"slider").options.disabled=true; +_17(this); +}); +}}; +$.fn.slider.parseOptions=function(_43){ +var t=$(_43); +return $.extend({},$.parser.parseOptions(_43,["width","height","mode",{reversed:"boolean",showTip:"boolean",min:"number",max:"number",step:"number"}]),{value:(t.val()||undefined),disabled:(t.attr("disabled")?true:undefined),rule:(t.attr("rule")?eval(t.attr("rule")):undefined)}); +}; +$.fn.slider.defaults={width:"auto",height:"auto",mode:"h",reversed:false,showTip:false,disabled:false,value:0,min:0,max:100,step:1,rule:[],tipFormatter:function(_44){ +return _44; +},converter:{toPosition:function(_45,_46){ +var _47=$(this).slider("options"); +return (_45-_47.min)/(_47.max-_47.min)*_46; +},toValue:function(pos,_48){ +var _49=$(this).slider("options"); +return _49.min+(_49.max-_49.min)*(pos/_48); +}},onChange:function(_4a,_4b){ +},onSlideStart:function(_4c){ +},onSlideEnd:function(_4d){ +},onComplete:function(_4e){ +}}; +})(jQuery); + diff --git a/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/plugins/jquery.spinner.js b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/plugins/jquery.spinner.js new file mode 100644 index 00000000..304c4cd5 --- /dev/null +++ b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/plugins/jquery.spinner.js @@ -0,0 +1,74 @@ +/** + * jQuery EasyUI 1.4.1 + * + * Copyright (c) 2009-2014 www.jeasyui.com. All rights reserved. + * + * Licensed under the GPL license: http://www.gnu.org/licenses/gpl.txt + * To use it on other terms please contact us at info@jeasyui.com + * + */ +(function($){ +function _1(_2){ +var _3=$.data(_2,"spinner"); +var _4=_3.options; +var _5=$.extend(true,[],_4.icons); +_5.push({iconCls:"spinner-arrow",handler:function(e){ +_6(e); +}}); +$(_2).addClass("spinner-f").textbox($.extend({},_4,{icons:_5})); +var _7=$(_2).textbox("getIcon",_5.length-1); +_7.append(""); +_7.append(""); +$(_2).attr("spinnerName",$(_2).attr("textboxName")); +_3.spinner=$(_2).next(); +_3.spinner.addClass("spinner"); +}; +function _6(e){ +var _8=e.data.target; +var _9=$(_8).spinner("options"); +var up=$(e.target).closest("a.spinner-arrow-up"); +if(up.length){ +_9.spin.call(_8,false); +_9.onSpinUp.call(_8); +$(_8).spinner("validate"); +} +var _a=$(e.target).closest("a.spinner-arrow-down"); +if(_a.length){ +_9.spin.call(_8,true); +_9.onSpinDown.call(_8); +$(_8).spinner("validate"); +} +}; +$.fn.spinner=function(_b,_c){ +if(typeof _b=="string"){ +var _d=$.fn.spinner.methods[_b]; +if(_d){ +return _d(this,_c); +}else{ +return this.textbox(_b,_c); +} +} +_b=_b||{}; +return this.each(function(){ +var _e=$.data(this,"spinner"); +if(_e){ +$.extend(_e.options,_b); +}else{ +_e=$.data(this,"spinner",{options:$.extend({},$.fn.spinner.defaults,$.fn.spinner.parseOptions(this),_b)}); +} +_1(this); +}); +}; +$.fn.spinner.methods={options:function(jq){ +var _f=jq.textbox("options"); +return $.extend($.data(jq[0],"spinner").options,{width:_f.width,value:_f.value,originalValue:_f.originalValue,disabled:_f.disabled,readonly:_f.readonly}); +}}; +$.fn.spinner.parseOptions=function(_10){ +return $.extend({},$.fn.textbox.parseOptions(_10),$.parser.parseOptions(_10,["min","max",{increment:"number"}])); +}; +$.fn.spinner.defaults=$.extend({},$.fn.textbox.defaults,{min:null,max:null,increment:1,spin:function(_11){ +},onSpinUp:function(){ +},onSpinDown:function(){ +}}); +})(jQuery); + diff --git a/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/plugins/jquery.splitbutton.js b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/plugins/jquery.splitbutton.js new file mode 100644 index 00000000..adae2bd3 --- /dev/null +++ b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/plugins/jquery.splitbutton.js @@ -0,0 +1,49 @@ +/** + * jQuery EasyUI 1.4.1 + * + * Copyright (c) 2009-2014 www.jeasyui.com. All rights reserved. + * + * Licensed under the GPL license: http://www.gnu.org/licenses/gpl.txt + * To use it on other terms please contact us at info@jeasyui.com + * + */ +(function($){ +function _1(_2){ +var _3=$.data(_2,"splitbutton").options; +$(_2).menubutton(_3); +$(_2).addClass("s-btn"); +}; +$.fn.splitbutton=function(_4,_5){ +if(typeof _4=="string"){ +var _6=$.fn.splitbutton.methods[_4]; +if(_6){ +return _6(this,_5); +}else{ +return this.menubutton(_4,_5); +} +} +_4=_4||{}; +return this.each(function(){ +var _7=$.data(this,"splitbutton"); +if(_7){ +$.extend(_7.options,_4); +}else{ +$.data(this,"splitbutton",{options:$.extend({},$.fn.splitbutton.defaults,$.fn.splitbutton.parseOptions(this),_4)}); +$(this).removeAttr("disabled"); +} +_1(this); +}); +}; +$.fn.splitbutton.methods={options:function(jq){ +var _8=jq.menubutton("options"); +var _9=$.data(jq[0],"splitbutton").options; +$.extend(_9,{disabled:_8.disabled,toggle:_8.toggle,selected:_8.selected}); +return _9; +}}; +$.fn.splitbutton.parseOptions=function(_a){ +var t=$(_a); +return $.extend({},$.fn.linkbutton.parseOptions(_a),$.parser.parseOptions(_a,["menu",{plain:"boolean",duration:"number"}])); +}; +$.fn.splitbutton.defaults=$.extend({},$.fn.linkbutton.defaults,{plain:true,menu:null,duration:100,cls:{btn1:"m-btn-active s-btn-active",btn2:"m-btn-plain-active s-btn-plain-active",arrow:"m-btn-downarrow",trigger:"m-btn-line"}}); +})(jQuery); + diff --git a/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/plugins/jquery.tabs.js b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/plugins/jquery.tabs.js new file mode 100644 index 00000000..d98348ca --- /dev/null +++ b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/plugins/jquery.tabs.js @@ -0,0 +1,603 @@ +/** + * jQuery EasyUI 1.4.1 + * + * Copyright (c) 2009-2014 www.jeasyui.com. All rights reserved. + * + * Licensed under the GPL license: http://www.gnu.org/licenses/gpl.txt + * To use it on other terms please contact us at info@jeasyui.com + * + */ +(function($){ +function _1(_2){ +var _3=$.data(_2,"tabs").options; +if(_3.tabPosition=="left"||_3.tabPosition=="right"||!_3.showHeader){ +return; +} +var _4=$(_2).children("div.tabs-header"); +var _5=_4.children("div.tabs-tool"); +var _6=_4.children("div.tabs-scroller-left"); +var _7=_4.children("div.tabs-scroller-right"); +var _8=_4.children("div.tabs-wrap"); +var _9=_4.outerHeight(); +if(_3.plain){ +_9-=_9-_4.height(); +} +_5._outerHeight(_9); +var _a=0; +$("ul.tabs li",_4).each(function(){ +_a+=$(this).outerWidth(true); +}); +var _b=_4.width()-_5._outerWidth(); +if(_a>_b){ +_6.add(_7).show()._outerHeight(_9); +if(_3.toolPosition=="left"){ +_5.css({left:_6.outerWidth(),right:""}); +_8.css({marginLeft:_6.outerWidth()+_5._outerWidth(),marginRight:_7._outerWidth(),width:_b-_6.outerWidth()-_7.outerWidth()}); +}else{ +_5.css({left:"",right:_7.outerWidth()}); +_8.css({marginLeft:_6.outerWidth(),marginRight:_7.outerWidth()+_5._outerWidth(),width:_b-_6.outerWidth()-_7.outerWidth()}); +} +}else{ +_6.add(_7).hide(); +if(_3.toolPosition=="left"){ +_5.css({left:0,right:""}); +_8.css({marginLeft:_5._outerWidth(),marginRight:0,width:_b}); +}else{ +_5.css({left:"",right:0}); +_8.css({marginLeft:0,marginRight:_5._outerWidth(),width:_b}); +} +} +}; +function _c(_d){ +var _e=$.data(_d,"tabs").options; +var _f=$(_d).children("div.tabs-header"); +if(_e.tools){ +if(typeof _e.tools=="string"){ +$(_e.tools).addClass("tabs-tool").appendTo(_f); +$(_e.tools).show(); +}else{ +_f.children("div.tabs-tool").remove(); +var _10=$("
                                          ").appendTo(_f); +var tr=_10.find("tr"); +for(var i=0;i<_e.tools.length;i++){ +var td=$("").appendTo(tr); +var _11=$("").appendTo(td); +_11[0].onclick=eval(_e.tools[i].handler||function(){ +}); +_11.linkbutton($.extend({},_e.tools[i],{plain:true})); +} +} +}else{ +_f.children("div.tabs-tool").remove(); +} +}; +function _12(_13,_14){ +var _15=$.data(_13,"tabs"); +var _16=_15.options; +var cc=$(_13); +if(_14){ +$.extend(_16,{width:_14.width,height:_14.height}); +} +cc._size(_16); +var _17=cc.children("div.tabs-header"); +var _18=cc.children("div.tabs-panels"); +var _19=_17.find("div.tabs-wrap"); +var ul=_19.find(".tabs"); +for(var i=0;i<_15.tabs.length;i++){ +var _1a=_15.tabs[i].panel("options"); +var p_t=_1a.tab.find("a.tabs-inner"); +var _1b=parseInt(_1a.tabWidth||_16.tabWidth)||undefined; +if(_1b){ +p_t._outerWidth(_1b); +}else{ +p_t.css("width",""); +} +p_t._outerHeight(_16.tabHeight); +p_t.css("lineHeight",p_t.height()+"px"); +} +if(_16.tabPosition=="left"||_16.tabPosition=="right"){ +_17._outerWidth(_16.showHeader?_16.headerWidth:0); +_18._outerWidth(cc.width()-_17.outerWidth()); +_17.add(_18)._outerHeight(_16.height); +_19._outerWidth(_17.width()); +ul._outerWidth(_19.width()).css("height",""); +}else{ +var lrt=_17.children("div.tabs-scroller-left,div.tabs-scroller-right,div.tabs-tool"); +_17._outerWidth(_16.width).css("height",""); +if(_16.showHeader){ +_17.css("background-color",""); +_19.css("height",""); +lrt.show(); +}else{ +_17.css("background-color","transparent"); +_17._outerHeight(0); +_19._outerHeight(0); +lrt.hide(); +} +ul._outerHeight(_16.tabHeight).css("width",""); +_1(_13); +_18._size("height",isNaN(_16.height)?"":(_16.height-_17.outerHeight())); +_18._size("width",isNaN(_16.width)?"":_16.width); +} +}; +function _1c(_1d){ +var _1e=$.data(_1d,"tabs").options; +var tab=_1f(_1d); +if(tab){ +var _20=$(_1d).children("div.tabs-panels"); +var _21=_1e.width=="auto"?"auto":_20.width(); +var _22=_1e.height=="auto"?"auto":_20.height(); +tab.panel("resize",{width:_21,height:_22}); +} +}; +function _23(_24){ +var _25=$.data(_24,"tabs").tabs; +var cc=$(_24); +cc.addClass("tabs-container"); +var pp=$("
                                          ").insertBefore(cc); +cc.children("div").each(function(){ +pp[0].appendChild(this); +}); +cc[0].appendChild(pp[0]); +$("
                                          "+"
                                          "+"
                                          "+"
                                          "+"
                                            "+"
                                            "+"
                                            ").prependTo(_24); +cc.children("div.tabs-panels").children("div").each(function(i){ +var _26=$.extend({},$.parser.parseOptions(this),{selected:($(this).attr("selected")?true:undefined)}); +var pp=$(this); +_25.push(pp); +_35(_24,pp,_26); +}); +cc.children("div.tabs-header").find(".tabs-scroller-left, .tabs-scroller-right").hover(function(){ +$(this).addClass("tabs-scroller-over"); +},function(){ +$(this).removeClass("tabs-scroller-over"); +}); +cc.bind("_resize",function(e,_27){ +if($(this).hasClass("easyui-fluid")||_27){ +_12(_24); +_1c(_24); +} +return false; +}); +}; +function _28(_29){ +var _2a=$.data(_29,"tabs"); +var _2b=_2a.options; +$(_29).children("div.tabs-header").unbind().bind("click",function(e){ +if($(e.target).hasClass("tabs-scroller-left")){ +$(_29).tabs("scrollBy",-_2b.scrollIncrement); +}else{ +if($(e.target).hasClass("tabs-scroller-right")){ +$(_29).tabs("scrollBy",_2b.scrollIncrement); +}else{ +var li=$(e.target).closest("li"); +if(li.hasClass("tabs-disabled")){ +return; +} +var a=$(e.target).closest("a.tabs-close"); +if(a.length){ +_4c(_29,_2c(li)); +}else{ +if(li.length){ +var _2d=_2c(li); +var _2e=_2a.tabs[_2d].panel("options"); +if(_2e.collapsible){ +_2e.closed?_41(_29,_2d):_6b(_29,_2d); +}else{ +_41(_29,_2d); +} +} +} +} +} +}).bind("contextmenu",function(e){ +var li=$(e.target).closest("li"); +if(li.hasClass("tabs-disabled")){ +return; +} +if(li.length){ +_2b.onContextMenu.call(_29,e,li.find("span.tabs-title").html(),_2c(li)); +} +}); +function _2c(li){ +var _2f=0; +li.parent().children("li").each(function(i){ +if(li[0]==this){ +_2f=i; +return false; +} +}); +return _2f; +}; +}; +function _30(_31){ +var _32=$.data(_31,"tabs").options; +var _33=$(_31).children("div.tabs-header"); +var _34=$(_31).children("div.tabs-panels"); +_33.removeClass("tabs-header-top tabs-header-bottom tabs-header-left tabs-header-right"); +_34.removeClass("tabs-panels-top tabs-panels-bottom tabs-panels-left tabs-panels-right"); +if(_32.tabPosition=="top"){ +_33.insertBefore(_34); +}else{ +if(_32.tabPosition=="bottom"){ +_33.insertAfter(_34); +_33.addClass("tabs-header-bottom"); +_34.addClass("tabs-panels-top"); +}else{ +if(_32.tabPosition=="left"){ +_33.addClass("tabs-header-left"); +_34.addClass("tabs-panels-right"); +}else{ +if(_32.tabPosition=="right"){ +_33.addClass("tabs-header-right"); +_34.addClass("tabs-panels-left"); +} +} +} +} +if(_32.plain==true){ +_33.addClass("tabs-header-plain"); +}else{ +_33.removeClass("tabs-header-plain"); +} +if(_32.border==true){ +_33.removeClass("tabs-header-noborder"); +_34.removeClass("tabs-panels-noborder"); +}else{ +_33.addClass("tabs-header-noborder"); +_34.addClass("tabs-panels-noborder"); +} +}; +function _35(_36,pp,_37){ +var _38=$.data(_36,"tabs"); +_37=_37||{}; +pp.panel($.extend({},_37,{border:false,noheader:true,closed:true,doSize:false,iconCls:(_37.icon?_37.icon:undefined),onLoad:function(){ +if(_37.onLoad){ +_37.onLoad.call(this,arguments); +} +_38.options.onLoad.call(_36,$(this)); +}})); +var _39=pp.panel("options"); +var _3a=$(_36).children("div.tabs-header").find("ul.tabs"); +_39.tab=$("
                                          • ").appendTo(_3a); +_39.tab.append(""+""+""+""); +$(_36).tabs("update",{tab:pp,options:_39,type:"header"}); +}; +function _3b(_3c,_3d){ +var _3e=$.data(_3c,"tabs"); +var _3f=_3e.options; +var _40=_3e.tabs; +if(_3d.selected==undefined){ +_3d.selected=true; +} +var pp=$("
                                            ").appendTo($(_3c).children("div.tabs-panels")); +_40.push(pp); +_35(_3c,pp,_3d); +_3f.onAdd.call(_3c,_3d.title,_40.length-1); +_12(_3c); +if(_3d.selected){ +_41(_3c,_40.length-1); +} +}; +function _42(_43,_44){ +_44.type=_44.type||"all"; +var _45=$.data(_43,"tabs").selectHis; +var pp=_44.tab; +var _46=pp.panel("options").title; +if(_44.type=="all"||_44=="body"){ +pp.panel($.extend({},_44.options,{iconCls:(_44.options.icon?_44.options.icon:undefined)})); +} +if(_44.type=="all"||_44.type=="header"){ +var _47=pp.panel("options"); +var tab=_47.tab; +var _48=tab.find("span.tabs-title"); +var _49=tab.find("span.tabs-icon"); +_48.html(_47.title); +_49.attr("class","tabs-icon"); +tab.find("a.tabs-close").remove(); +if(_47.closable){ +_48.addClass("tabs-closable"); +$("").appendTo(tab); +}else{ +_48.removeClass("tabs-closable"); +} +if(_47.iconCls){ +_48.addClass("tabs-with-icon"); +_49.addClass(_47.iconCls); +}else{ +_48.removeClass("tabs-with-icon"); +} +if(_46!=_47.title){ +for(var i=0;i<_45.length;i++){ +if(_45[i]==_46){ +_45[i]=_47.title; +} +} +} +tab.find("span.tabs-p-tool").remove(); +if(_47.tools){ +var _4a=$("").insertAfter(tab.find("a.tabs-inner")); +if($.isArray(_47.tools)){ +for(var i=0;i<_47.tools.length;i++){ +var t=$("").appendTo(_4a); +t.addClass(_47.tools[i].iconCls); +if(_47.tools[i].handler){ +t.bind("click",{handler:_47.tools[i].handler},function(e){ +if($(this).parents("li").hasClass("tabs-disabled")){ +return; +} +e.data.handler.call(this); +}); +} +} +}else{ +$(_47.tools).children().appendTo(_4a); +} +var pr=_4a.children().length*12; +if(_47.closable){ +pr+=8; +}else{ +pr-=3; +_4a.css("right","5px"); +} +_48.css("padding-right",pr+"px"); +} +} +_12(_43); +$.data(_43,"tabs").options.onUpdate.call(_43,_47.title,_4b(_43,pp)); +}; +function _4c(_4d,_4e){ +var _4f=$.data(_4d,"tabs").options; +var _50=$.data(_4d,"tabs").tabs; +var _51=$.data(_4d,"tabs").selectHis; +if(!_52(_4d,_4e)){ +return; +} +var tab=_53(_4d,_4e); +var _54=tab.panel("options").title; +var _55=_4b(_4d,tab); +if(_4f.onBeforeClose.call(_4d,_54,_55)==false){ +return; +} +var tab=_53(_4d,_4e,true); +tab.panel("options").tab.remove(); +tab.panel("destroy"); +_4f.onClose.call(_4d,_54,_55); +_12(_4d); +for(var i=0;i<_51.length;i++){ +if(_51[i]==_54){ +_51.splice(i,1); +i--; +} +} +var _56=_51.pop(); +if(_56){ +_41(_4d,_56); +}else{ +if(_50.length){ +_41(_4d,0); +} +} +}; +function _53(_57,_58,_59){ +var _5a=$.data(_57,"tabs").tabs; +if(typeof _58=="number"){ +if(_58<0||_58>=_5a.length){ +return null; +}else{ +var tab=_5a[_58]; +if(_59){ +_5a.splice(_58,1); +} +return tab; +} +} +for(var i=0;i<_5a.length;i++){ +var tab=_5a[i]; +if(tab.panel("options").title==_58){ +if(_59){ +_5a.splice(i,1); +} +return tab; +} +} +return null; +}; +function _4b(_5b,tab){ +var _5c=$.data(_5b,"tabs").tabs; +for(var i=0;i<_5c.length;i++){ +if(_5c[i][0]==$(tab)[0]){ +return i; +} +} +return -1; +}; +function _1f(_5d){ +var _5e=$.data(_5d,"tabs").tabs; +for(var i=0;i<_5e.length;i++){ +var tab=_5e[i]; +if(tab.panel("options").closed==false){ +return tab; +} +} +return null; +}; +function _5f(_60){ +var _61=$.data(_60,"tabs"); +var _62=_61.tabs; +for(var i=0;i<_62.length;i++){ +if(_62[i].panel("options").selected){ +_41(_60,i); +return; +} +} +_41(_60,_61.options.selected); +}; +function _41(_63,_64){ +var _65=$.data(_63,"tabs"); +var _66=_65.options; +var _67=_65.tabs; +var _68=_65.selectHis; +if(_67.length==0){ +return; +} +var _69=_53(_63,_64); +if(!_69){ +return; +} +var _6a=_1f(_63); +if(_6a){ +if(_69[0]==_6a[0]){ +_1c(_63); +return; +} +_6b(_63,_4b(_63,_6a)); +if(!_6a.panel("options").closed){ +return; +} +} +_69.panel("open"); +var _6c=_69.panel("options").title; +_68.push(_6c); +var tab=_69.panel("options").tab; +tab.addClass("tabs-selected"); +var _6d=$(_63).find(">div.tabs-header>div.tabs-wrap"); +var _6e=tab.position().left; +var _6f=_6e+tab.outerWidth(); +if(_6e<0||_6f>_6d.width()){ +var _70=_6e-(_6d.width()-tab.width())/2; +$(_63).tabs("scrollBy",_70); +}else{ +$(_63).tabs("scrollBy",0); +} +_1c(_63); +_66.onSelect.call(_63,_6c,_4b(_63,_69)); +}; +function _6b(_71,_72){ +var _73=$.data(_71,"tabs"); +var p=_53(_71,_72); +if(p){ +var _74=p.panel("options"); +if(!_74.closed){ +p.panel("close"); +if(_74.closed){ +_74.tab.removeClass("tabs-selected"); +_73.options.onUnselect.call(_71,_74.title,_4b(_71,p)); +} +} +} +}; +function _52(_75,_76){ +return _53(_75,_76)!=null; +}; +function _77(_78,_79){ +var _7a=$.data(_78,"tabs").options; +_7a.showHeader=_79; +$(_78).tabs("resize"); +}; +$.fn.tabs=function(_7b,_7c){ +if(typeof _7b=="string"){ +return $.fn.tabs.methods[_7b](this,_7c); +} +_7b=_7b||{}; +return this.each(function(){ +var _7d=$.data(this,"tabs"); +if(_7d){ +$.extend(_7d.options,_7b); +}else{ +$.data(this,"tabs",{options:$.extend({},$.fn.tabs.defaults,$.fn.tabs.parseOptions(this),_7b),tabs:[],selectHis:[]}); +_23(this); +} +_c(this); +_30(this); +_12(this); +_28(this); +_5f(this); +}); +}; +$.fn.tabs.methods={options:function(jq){ +var cc=jq[0]; +var _7e=$.data(cc,"tabs").options; +var s=_1f(cc); +_7e.selected=s?_4b(cc,s):-1; +return _7e; +},tabs:function(jq){ +return $.data(jq[0],"tabs").tabs; +},resize:function(jq,_7f){ +return jq.each(function(){ +_12(this,_7f); +_1c(this); +}); +},add:function(jq,_80){ +return jq.each(function(){ +_3b(this,_80); +}); +},close:function(jq,_81){ +return jq.each(function(){ +_4c(this,_81); +}); +},getTab:function(jq,_82){ +return _53(jq[0],_82); +},getTabIndex:function(jq,tab){ +return _4b(jq[0],tab); +},getSelected:function(jq){ +return _1f(jq[0]); +},select:function(jq,_83){ +return jq.each(function(){ +_41(this,_83); +}); +},unselect:function(jq,_84){ +return jq.each(function(){ +_6b(this,_84); +}); +},exists:function(jq,_85){ +return _52(jq[0],_85); +},update:function(jq,_86){ +return jq.each(function(){ +_42(this,_86); +}); +},enableTab:function(jq,_87){ +return jq.each(function(){ +$(this).tabs("getTab",_87).panel("options").tab.removeClass("tabs-disabled"); +}); +},disableTab:function(jq,_88){ +return jq.each(function(){ +$(this).tabs("getTab",_88).panel("options").tab.addClass("tabs-disabled"); +}); +},showHeader:function(jq){ +return jq.each(function(){ +_77(this,true); +}); +},hideHeader:function(jq){ +return jq.each(function(){ +_77(this,false); +}); +},scrollBy:function(jq,_89){ +return jq.each(function(){ +var _8a=$(this).tabs("options"); +var _8b=$(this).find(">div.tabs-header>div.tabs-wrap"); +var pos=Math.min(_8b._scrollLeft()+_89,_8c()); +_8b.animate({scrollLeft:pos},_8a.scrollDuration); +function _8c(){ +var w=0; +var ul=_8b.children("ul"); +ul.children("li").each(function(){ +w+=$(this).outerWidth(true); +}); +return w-_8b.width()+(ul.outerWidth()-ul.width()); +}; +}); +}}; +$.fn.tabs.parseOptions=function(_8d){ +return $.extend({},$.parser.parseOptions(_8d,["tools","toolPosition","tabPosition",{fit:"boolean",border:"boolean",plain:"boolean",headerWidth:"number",tabWidth:"number",tabHeight:"number",selected:"number",showHeader:"boolean"}])); +}; +$.fn.tabs.defaults={width:"auto",height:"auto",headerWidth:150,tabWidth:"auto",tabHeight:27,selected:0,showHeader:true,plain:false,fit:false,border:true,tools:null,toolPosition:"right",tabPosition:"top",scrollIncrement:100,scrollDuration:400,onLoad:function(_8e){ +},onSelect:function(_8f,_90){ +},onUnselect:function(_91,_92){ +},onBeforeClose:function(_93,_94){ +},onClose:function(_95,_96){ +},onAdd:function(_97,_98){ +},onUpdate:function(_99,_9a){ +},onContextMenu:function(e,_9b,_9c){ +}}; +})(jQuery); + diff --git a/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/plugins/jquery.textbox.js b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/plugins/jquery.textbox.js new file mode 100644 index 00000000..b91819df --- /dev/null +++ b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/plugins/jquery.textbox.js @@ -0,0 +1,386 @@ +/** + * jQuery EasyUI 1.4.1 + * + * Copyright (c) 2009-2014 www.jeasyui.com. All rights reserved. + * + * Licensed under the GPL license: http://www.gnu.org/licenses/gpl.txt + * To use it on other terms please contact us at info@jeasyui.com + * + */ +(function($){ +function _1(_2){ +$(_2).addClass("textbox-f").hide(); +var _3=$(""+""+""+"").insertAfter(_2); +var _4=$(_2).attr("name"); +if(_4){ +_3.find("input.textbox-value").attr("name",_4); +$(_2).removeAttr("name").attr("textboxName",_4); +} +return _3; +}; +function _5(_6){ +var _7=$.data(_6,"textbox"); +var _8=_7.options; +var tb=_7.textbox; +tb.find(".textbox-text").remove(); +if(_8.multiline){ +$("").prependTo(tb); +}else{ +$("").prependTo(tb); +} +tb.find(".textbox-addon").remove(); +var bb=_8.icons?$.extend(true,[],_8.icons):[]; +if(_8.iconCls){ +bb.push({iconCls:_8.iconCls,disabled:true}); +} +if(bb.length){ +var bc=$("").prependTo(tb); +bc.addClass("textbox-addon-"+_8.iconAlign); +for(var i=0;i"); +} +} +tb.find(".textbox-button").remove(); +if(_8.buttonText||_8.buttonIcon){ +var _9=$("").prependTo(tb); +_9.addClass("textbox-button-"+_8.buttonAlign).linkbutton({text:_8.buttonText,iconCls:_8.buttonIcon}); +} +_a(_6,_8.disabled); +_b(_6,_8.readonly); +}; +function _c(_d){ +var tb=$.data(_d,"textbox").textbox; +tb.find(".textbox-text").validatebox("destroy"); +tb.remove(); +$(_d).remove(); +}; +function _e(_f,_10){ +var _11=$.data(_f,"textbox"); +var _12=_11.options; +var tb=_11.textbox; +var _13=tb.parent(); +if(_10){ +_12.width=_10; +} +if(isNaN(parseInt(_12.width))){ +var c=$(_f).clone(); +c.css("visibility","hidden"); +c.insertAfter(_f); +_12.width=c.outerWidth(); +c.remove(); +} +tb.appendTo("body"); +var _14=tb.find(".textbox-text"); +var btn=tb.find(".textbox-button"); +var _15=tb.find(".textbox-addon"); +var _16=_15.find(".textbox-icon"); +tb._size(_12,_13); +btn.linkbutton("resize",{height:tb.height()}); +btn.css({left:(_12.buttonAlign=="left"?0:""),right:(_12.buttonAlign=="right"?0:"")}); +_15.css({left:(_12.iconAlign=="left"?(_12.buttonAlign=="left"?btn._outerWidth():0):""),right:(_12.iconAlign=="right"?(_12.buttonAlign=="right"?btn._outerWidth():0):"")}); +_16.css({width:_12.iconWidth+"px",height:tb.height()+"px"}); +_14.css({paddingLeft:(_f.style.paddingLeft||""),paddingRight:(_f.style.paddingRight||""),marginLeft:_17("left"),marginRight:_17("right")}); +if(_12.multiline){ +_14.css({paddingTop:(_f.style.paddingTop||""),paddingBottom:(_f.style.paddingBottom||"")}); +_14._outerHeight(tb.height()); +}else{ +var _18=Math.floor((tb.height()-_14.height())/2); +_14.css({paddingTop:_18+"px",paddingBottom:_18+"px"}); +} +_14._outerWidth(tb.width()-_16.length*_12.iconWidth-btn._outerWidth()); +tb.insertAfter(_f); +_12.onResize.call(_f,_12.width,_12.height); +function _17(_19){ +return (_12.iconAlign==_19?_15._outerWidth():0)+(_12.buttonAlign==_19?btn._outerWidth():0); +}; +}; +function _1a(_1b){ +var _1c=$(_1b).textbox("options"); +var _1d=$(_1b).textbox("textbox"); +_1d.validatebox($.extend({},_1c,{deltaX:$(_1b).textbox("getTipX"),onBeforeValidate:function(){ +var box=$(this); +if(!box.is(":focus")){ +_1c.oldInputValue=box.val(); +box.val(_1c.value); +} +},onValidate:function(_1e){ +var box=$(this); +if(_1c.oldInputValue!=undefined){ +box.val(_1c.oldInputValue); +_1c.oldInputValue=undefined; +} +var tb=box.parent(); +if(_1e){ +tb.removeClass("textbox-invalid"); +}else{ +tb.addClass("textbox-invalid"); +} +}})); +}; +function _1f(_20){ +var _21=$.data(_20,"textbox"); +var _22=_21.options; +var tb=_21.textbox; +var _23=tb.find(".textbox-text"); +_23.attr("placeholder",_22.prompt); +_23.unbind(".textbox"); +if(!_22.disabled&&!_22.readonly){ +_23.bind("blur.textbox",function(e){ +if(!tb.hasClass("textbox-focused")){ +return; +} +_22.value=$(this).val(); +if(_22.value==""){ +$(this).val(_22.prompt).addClass("textbox-prompt"); +}else{ +$(this).removeClass("textbox-prompt"); +} +tb.removeClass("textbox-focused"); +}).bind("focus.textbox",function(e){ +if(tb.hasClass("textbox-focused")){ +return; +} +if($(this).val()!=_22.value){ +$(this).val(_22.value); +} +$(this).removeClass("textbox-prompt"); +tb.addClass("textbox-focused"); +}); +for(var _24 in _22.inputEvents){ +_23.bind(_24+".textbox",{target:_20},_22.inputEvents[_24]); +} +} +var _25=tb.find(".textbox-addon"); +_25.unbind().bind("click",{target:_20},function(e){ +var _26=$(e.target).closest("a.textbox-icon:not(.textbox-icon-disabled)"); +if(_26.length){ +var _27=parseInt(_26.attr("icon-index")); +var _28=_22.icons[_27]; +if(_28&&_28.handler){ +_28.handler.call(_26[0],e); +_22.onClickIcon.call(_20,_27); +} +} +}); +_25.find(".textbox-icon").each(function(_29){ +var _2a=_22.icons[_29]; +var _2b=$(this); +if(!_2a||_2a.disabled||_22.disabled||_22.readonly){ +_2b.addClass("textbox-icon-disabled"); +}else{ +_2b.removeClass("textbox-icon-disabled"); +} +}); +var btn=tb.find(".textbox-button"); +btn.unbind(".textbox").bind("click.textbox",function(){ +if(!btn.linkbutton("options").disabled){ +_22.onClickButton.call(_20); +} +}); +btn.linkbutton((_22.disabled||_22.readonly)?"disable":"enable"); +tb.unbind(".textbox").bind("_resize.textbox",function(e,_2c){ +if($(this).hasClass("easyui-fluid")||_2c){ +_e(_20); +} +return false; +}); +}; +function _a(_2d,_2e){ +var _2f=$.data(_2d,"textbox"); +var _30=_2f.options; +var tb=_2f.textbox; +if(_2e){ +_30.disabled=true; +$(_2d).attr("disabled","disabled"); +tb.find(".textbox-text,.textbox-value").attr("disabled","disabled"); +}else{ +_30.disabled=false; +$(_2d).removeAttr("disabled"); +tb.find(".textbox-text,.textbox-value").removeAttr("disabled"); +} +}; +function _b(_31,_32){ +var _33=$.data(_31,"textbox"); +var _34=_33.options; +_34.readonly=_32==undefined?true:_32; +var _35=_33.textbox.find(".textbox-text"); +_35.removeAttr("readonly").removeClass("textbox-text-readonly"); +if(_34.readonly||!_34.editable){ +_35.attr("readonly","readonly").addClass("textbox-text-readonly"); +} +}; +$.fn.textbox=function(_36,_37){ +if(typeof _36=="string"){ +var _38=$.fn.textbox.methods[_36]; +if(_38){ +return _38(this,_37); +}else{ +return this.each(function(){ +var _39=$(this).textbox("textbox"); +_39.validatebox(_36,_37); +}); +} +} +_36=_36||{}; +return this.each(function(){ +var _3a=$.data(this,"textbox"); +if(_3a){ +$.extend(_3a.options,_36); +if(_36.value!=undefined){ +_3a.options.originalValue=_36.value; +} +}else{ +_3a=$.data(this,"textbox",{options:$.extend({},$.fn.textbox.defaults,$.fn.textbox.parseOptions(this),_36),textbox:_1(this)}); +_3a.options.originalValue=_3a.options.value; +} +_5(this); +_1f(this); +_e(this); +_1a(this); +$(this).textbox("initValue",_3a.options.value); +}); +}; +$.fn.textbox.methods={options:function(jq){ +return $.data(jq[0],"textbox").options; +},cloneFrom:function(jq,_3b){ +return jq.each(function(){ +var t=$(this); +if(t.data("textbox")){ +return; +} +if(!$(_3b).data("textbox")){ +$(_3b).textbox(); +} +var _3c=t.attr("name")||""; +t.addClass("textbox-f").hide(); +t.removeAttr("name").attr("textboxName",_3c); +var _3d=$(_3b).next().clone().insertAfter(t); +_3d.find("input.textbox-value").attr("name",_3c); +$.data(this,"textbox",{options:$.extend(true,{},$(_3b).textbox("options")),textbox:_3d}); +var _3e=$(_3b).textbox("button"); +if(_3e.length){ +t.textbox("button").linkbutton($.extend(true,{},_3e.linkbutton("options"))); +} +_1f(this); +_1a(this); +}); +},textbox:function(jq){ +return $.data(jq[0],"textbox").textbox.find(".textbox-text"); +},button:function(jq){ +return $.data(jq[0],"textbox").textbox.find(".textbox-button"); +},destroy:function(jq){ +return jq.each(function(){ +_c(this); +}); +},resize:function(jq,_3f){ +return jq.each(function(){ +_e(this,_3f); +}); +},disable:function(jq){ +return jq.each(function(){ +_a(this,true); +_1f(this); +}); +},enable:function(jq){ +return jq.each(function(){ +_a(this,false); +_1f(this); +}); +},readonly:function(jq,_40){ +return jq.each(function(){ +_b(this,_40); +_1f(this); +}); +},isValid:function(jq){ +return jq.textbox("textbox").validatebox("isValid"); +},clear:function(jq){ +return jq.each(function(){ +$(this).textbox("setValue",""); +}); +},setText:function(jq,_41){ +return jq.each(function(){ +var _42=$(this).textbox("options"); +var _43=$(this).textbox("textbox"); +if($(this).textbox("getText")!=_41){ +_42.value=_41; +_43.val(_41); +} +if(!_43.is(":focus")){ +if(_41){ +_43.removeClass("textbox-prompt"); +}else{ +_43.val(_42.prompt).addClass("textbox-prompt"); +} +} +$(this).textbox("validate"); +}); +},initValue:function(jq,_44){ +return jq.each(function(){ +var _45=$.data(this,"textbox"); +_45.options.value=""; +$(this).textbox("setText",_44); +_45.textbox.find(".textbox-value").val(_44); +$(this).val(_44); +}); +},setValue:function(jq,_46){ +return jq.each(function(){ +var _47=$.data(this,"textbox").options; +var _48=$(this).textbox("getValue"); +$(this).textbox("initValue",_46); +if(_48!=_46){ +_47.onChange.call(this,_46,_48); +} +}); +},getText:function(jq){ +var _49=jq.textbox("textbox"); +if(_49.is(":focus")){ +return _49.val(); +}else{ +return jq.textbox("options").value; +} +},getValue:function(jq){ +return jq.data("textbox").textbox.find(".textbox-value").val(); +},reset:function(jq){ +return jq.each(function(){ +var _4a=$(this).textbox("options"); +$(this).textbox("setValue",_4a.originalValue); +}); +},getIcon:function(jq,_4b){ +return jq.data("textbox").textbox.find(".textbox-icon:eq("+_4b+")"); +},getTipX:function(jq){ +var _4c=jq.data("textbox"); +var _4d=_4c.options; +var tb=_4c.textbox; +var _4e=tb.find(".textbox-text"); +var _4f=tb.find(".textbox-addon")._outerWidth(); +var _50=tb.find(".textbox-button")._outerWidth(); +if(_4d.tipPosition=="right"){ +return (_4d.iconAlign=="right"?_4f:0)+(_4d.buttonAlign=="right"?_50:0)+1; +}else{ +if(_4d.tipPosition=="left"){ +return (_4d.iconAlign=="left"?-_4f:0)+(_4d.buttonAlign=="left"?-_50:0)-1; +}else{ +return _4f/2*(_4d.iconAlign=="right"?1:-1); +} +} +}}; +$.fn.textbox.parseOptions=function(_51){ +var t=$(_51); +return $.extend({},$.fn.validatebox.parseOptions(_51),$.parser.parseOptions(_51,["prompt","iconCls","iconAlign","buttonText","buttonIcon","buttonAlign",{multiline:"boolean",editable:"boolean",iconWidth:"number"}]),{value:(t.val()||undefined),type:(t.attr("type")?t.attr("type"):undefined),disabled:(t.attr("disabled")?true:undefined),readonly:(t.attr("readonly")?true:undefined)}); +}; +$.fn.textbox.defaults=$.extend({},$.fn.validatebox.defaults,{width:"auto",height:22,prompt:"",value:"",type:"text",multiline:false,editable:true,disabled:false,readonly:false,icons:[],iconCls:null,iconAlign:"right",iconWidth:18,buttonText:"",buttonIcon:null,buttonAlign:"right",inputEvents:{blur:function(e){ +var t=$(e.data.target); +var _52=t.textbox("options"); +t.textbox("setValue",_52.value); +},keydown:function(e){ +if(e.keyCode==13){ +var t=$(e.data.target); +t.textbox("setValue",t.textbox("getText")); +} +}},onChange:function(_53,_54){ +},onResize:function(_55,_56){ +},onClickButton:function(){ +},onClickIcon:function(_57){ +}}); +})(jQuery); + diff --git a/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/plugins/jquery.timespinner.js b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/plugins/jquery.timespinner.js new file mode 100644 index 00000000..9484a91c --- /dev/null +++ b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/plugins/jquery.timespinner.js @@ -0,0 +1,181 @@ +/** + * jQuery EasyUI 1.4.1 + * + * Copyright (c) 2009-2014 www.jeasyui.com. All rights reserved. + * + * Licensed under the GPL license: http://www.gnu.org/licenses/gpl.txt + * To use it on other terms please contact us at info@jeasyui.com + * + */ +(function($){ +function _1(_2){ +var _3=0; +if(_2.selectionStart){ +_3=_2.selectionStart; +}else{ +if(_2.createTextRange){ +var _4=_2.createTextRange(); +var s=document.selection.createRange(); +s.setEndPoint("StartToStart",_4); +_3=s.text.length; +} +} +return _3; +}; +function _5(_6,_7,_8){ +if(_6.selectionStart){ +_6.setSelectionRange(_7,_8); +}else{ +if(_6.createTextRange){ +var _9=_6.createTextRange(); +_9.collapse(); +_9.moveEnd("character",_8); +_9.moveStart("character",_7); +_9.select(); +} +} +}; +function _a(_b){ +var _c=$.data(_b,"timespinner").options; +$(_b).addClass("timespinner-f").spinner(_c); +var _d=_c.formatter.call(_b,_c.parser.call(_b,_c.value)); +$(_b).timespinner("initValue",_d); +}; +function _e(e){ +var _f=e.data.target; +var _10=$.data(_f,"timespinner").options; +var _11=_1(this); +for(var i=0;i<_10.selections.length;i++){ +var _12=_10.selections[i]; +if(_11>=_12[0]&&_11<=_12[1]){ +_13(_f,i); +return; +} +} +}; +function _13(_14,_15){ +var _16=$.data(_14,"timespinner").options; +if(_15!=undefined){ +_16.highlight=_15; +} +var _17=_16.selections[_16.highlight]; +if(_17){ +var tb=$(_14).timespinner("textbox"); +_5(tb[0],_17[0],_17[1]); +tb.focus(); +} +}; +function _18(_19,_1a){ +var _1b=$.data(_19,"timespinner").options; +var _1a=_1b.parser.call(_19,_1a); +var _1c=_1b.formatter.call(_19,_1a); +$(_19).spinner("setValue",_1c); +}; +function _1d(_1e,_1f){ +var _20=$.data(_1e,"timespinner").options; +var s=$(_1e).timespinner("getValue"); +var _21=_20.selections[_20.highlight]; +var s1=s.substring(0,_21[0]); +var s2=s.substring(_21[0],_21[1]); +var s3=s.substring(_21[1]); +var v=s1+((parseInt(s2)||0)+_20.increment*(_1f?-1:1))+s3; +$(_1e).timespinner("setValue",v); +_13(_1e); +}; +$.fn.timespinner=function(_22,_23){ +if(typeof _22=="string"){ +var _24=$.fn.timespinner.methods[_22]; +if(_24){ +return _24(this,_23); +}else{ +return this.spinner(_22,_23); +} +} +_22=_22||{}; +return this.each(function(){ +var _25=$.data(this,"timespinner"); +if(_25){ +$.extend(_25.options,_22); +}else{ +$.data(this,"timespinner",{options:$.extend({},$.fn.timespinner.defaults,$.fn.timespinner.parseOptions(this),_22)}); +} +_a(this); +}); +}; +$.fn.timespinner.methods={options:function(jq){ +var _26=jq.data("spinner")?jq.spinner("options"):{}; +return $.extend($.data(jq[0],"timespinner").options,{width:_26.width,value:_26.value,originalValue:_26.originalValue,disabled:_26.disabled,readonly:_26.readonly}); +},setValue:function(jq,_27){ +return jq.each(function(){ +_18(this,_27); +}); +},getHours:function(jq){ +var _28=$.data(jq[0],"timespinner").options; +var vv=jq.timespinner("getValue").split(_28.separator); +return parseInt(vv[0],10); +},getMinutes:function(jq){ +var _29=$.data(jq[0],"timespinner").options; +var vv=jq.timespinner("getValue").split(_29.separator); +return parseInt(vv[1],10); +},getSeconds:function(jq){ +var _2a=$.data(jq[0],"timespinner").options; +var vv=jq.timespinner("getValue").split(_2a.separator); +return parseInt(vv[2],10)||0; +}}; +$.fn.timespinner.parseOptions=function(_2b){ +return $.extend({},$.fn.spinner.parseOptions(_2b),$.parser.parseOptions(_2b,["separator",{showSeconds:"boolean",highlight:"number"}])); +}; +$.fn.timespinner.defaults=$.extend({},$.fn.spinner.defaults,{inputEvents:$.extend({},$.fn.spinner.defaults.inputEvents,{click:function(e){ +_e.call(this,e); +},blur:function(e){ +var t=$(e.data.target); +t.timespinner("setValue",t.timespinner("getText")); +},keydown:function(e){ +if(e.keyCode==13){ +var t=$(e.data.target); +t.timespinner("setValue",t.timespinner("getText")); +} +}}),formatter:function(_2c){ +if(!_2c){ +return ""; +} +var _2d=$(this).timespinner("options"); +var tt=[_2e(_2c.getHours()),_2e(_2c.getMinutes())]; +if(_2d.showSeconds){ +tt.push(_2e(_2c.getSeconds())); +} +return tt.join(_2d.separator); +function _2e(_2f){ +return (_2f<10?"0":"")+_2f; +}; +},parser:function(s){ +var _30=$(this).timespinner("options"); +var _31=_32(s); +if(_31){ +var min=_32(_30.min); +var max=_32(_30.max); +if(min&&min>_31){ +_31=min; +} +if(max&&max<_31){ +_31=max; +} +} +return _31; +function _32(s){ +if(!s){ +return null; +} +var tt=s.split(_30.separator); +return new Date(1900,0,0,parseInt(tt[0],10)||0,parseInt(tt[1],10)||0,parseInt(tt[2],10)||0); +}; +if(!s){ +return null; +} +var tt=s.split(_30.separator); +return new Date(1900,0,0,parseInt(tt[0],10)||0,parseInt(tt[1],10)||0,parseInt(tt[2],10)||0); +},selections:[[0,2],[3,5],[6,8]],separator:":",showSeconds:false,highlight:0,spin:function(_33){ +_1d(this,_33); +}}); +})(jQuery); + diff --git a/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/plugins/jquery.tooltip.js b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/plugins/jquery.tooltip.js new file mode 100644 index 00000000..a2a0595d --- /dev/null +++ b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/plugins/jquery.tooltip.js @@ -0,0 +1,232 @@ +/** + * jQuery EasyUI 1.4.1 + * + * Copyright (c) 2009-2014 www.jeasyui.com. All rights reserved. + * + * Licensed under the GPL license: http://www.gnu.org/licenses/gpl.txt + * To use it on other terms please contact us at info@jeasyui.com + * + */ +(function($){ +function _1(_2){ +$(_2).addClass("tooltip-f"); +}; +function _3(_4){ +var _5=$.data(_4,"tooltip").options; +$(_4).unbind(".tooltip").bind(_5.showEvent+".tooltip",function(e){ +$(_4).tooltip("show",e); +}).bind(_5.hideEvent+".tooltip",function(e){ +$(_4).tooltip("hide",e); +}).bind("mousemove.tooltip",function(e){ +if(_5.trackMouse){ +_5.trackMouseX=e.pageX; +_5.trackMouseY=e.pageY; +$(_4).tooltip("reposition"); +} +}); +}; +function _6(_7){ +var _8=$.data(_7,"tooltip"); +if(_8.showTimer){ +clearTimeout(_8.showTimer); +_8.showTimer=null; +} +if(_8.hideTimer){ +clearTimeout(_8.hideTimer); +_8.hideTimer=null; +} +}; +function _9(_a){ +var _b=$.data(_a,"tooltip"); +if(!_b||!_b.tip){ +return; +} +var _c=_b.options; +var _d=_b.tip; +var _e={left:-100000,top:-100000}; +if($(_a).is(":visible")){ +_e=_f(_c.position); +if(_c.position=="top"&&_e.top<0){ +_e=_f("bottom"); +}else{ +if((_c.position=="bottom")&&(_e.top+_d._outerHeight()>$(window)._outerHeight()+$(document).scrollTop())){ +_e=_f("top"); +} +} +if(_e.left<0){ +if(_c.position=="left"){ +_e=_f("right"); +}else{ +$(_a).tooltip("arrow").css("left",_d._outerWidth()/2+_e.left); +_e.left=0; +} +}else{ +if(_e.left+_d._outerWidth()>$(window)._outerWidth()+$(document)._scrollLeft()){ +if(_c.position=="right"){ +_e=_f("left"); +}else{ +var _10=_e.left; +_e.left=$(window)._outerWidth()+$(document)._scrollLeft()-_d._outerWidth(); +$(_a).tooltip("arrow").css("left",_d._outerWidth()/2-(_e.left-_10)); +} +} +} +} +_d.css({left:_e.left,top:_e.top,zIndex:(_c.zIndex!=undefined?_c.zIndex:($.fn.window?$.fn.window.defaults.zIndex++:""))}); +_c.onPosition.call(_a,_e.left,_e.top); +function _f(_11){ +_c.position=_11||"bottom"; +_d.removeClass("tooltip-top tooltip-bottom tooltip-left tooltip-right").addClass("tooltip-"+_c.position); +var _12,top; +if(_c.trackMouse){ +t=$(); +_12=_c.trackMouseX+_c.deltaX; +top=_c.trackMouseY+_c.deltaY; +}else{ +var t=$(_a); +_12=t.offset().left+_c.deltaX; +top=t.offset().top+_c.deltaY; +} +switch(_c.position){ +case "right": +_12+=t._outerWidth()+12+(_c.trackMouse?12:0); +top-=(_d._outerHeight()-t._outerHeight())/2; +break; +case "left": +_12-=_d._outerWidth()+12+(_c.trackMouse?12:0); +top-=(_d._outerHeight()-t._outerHeight())/2; +break; +case "top": +_12-=(_d._outerWidth()-t._outerWidth())/2; +top-=_d._outerHeight()+12+(_c.trackMouse?12:0); +break; +case "bottom": +_12-=(_d._outerWidth()-t._outerWidth())/2; +top+=t._outerHeight()+12+(_c.trackMouse?12:0); +break; +} +return {left:_12,top:top}; +}; +}; +function _13(_14,e){ +var _15=$.data(_14,"tooltip"); +var _16=_15.options; +var tip=_15.tip; +if(!tip){ +tip=$("
                                            "+"
                                            "+"
                                            "+"
                                            "+"
                                            ").appendTo("body"); +_15.tip=tip; +_17(_14); +} +_6(_14); +_15.showTimer=setTimeout(function(){ +$(_14).tooltip("reposition"); +tip.show(); +_16.onShow.call(_14,e); +var _18=tip.children(".tooltip-arrow-outer"); +var _19=tip.children(".tooltip-arrow"); +var bc="border-"+_16.position+"-color"; +_18.add(_19).css({borderTopColor:"",borderBottomColor:"",borderLeftColor:"",borderRightColor:""}); +_18.css(bc,tip.css(bc)); +_19.css(bc,tip.css("backgroundColor")); +},_16.showDelay); +}; +function _1a(_1b,e){ +var _1c=$.data(_1b,"tooltip"); +if(_1c&&_1c.tip){ +_6(_1b); +_1c.hideTimer=setTimeout(function(){ +_1c.tip.hide(); +_1c.options.onHide.call(_1b,e); +},_1c.options.hideDelay); +} +}; +function _17(_1d,_1e){ +var _1f=$.data(_1d,"tooltip"); +var _20=_1f.options; +if(_1e){ +_20.content=_1e; +} +if(!_1f.tip){ +return; +} +var cc=typeof _20.content=="function"?_20.content.call(_1d):_20.content; +_1f.tip.children(".tooltip-content").html(cc); +_20.onUpdate.call(_1d,cc); +}; +function _21(_22){ +var _23=$.data(_22,"tooltip"); +if(_23){ +_6(_22); +var _24=_23.options; +if(_23.tip){ +_23.tip.remove(); +} +if(_24._title){ +$(_22).attr("title",_24._title); +} +$.removeData(_22,"tooltip"); +$(_22).unbind(".tooltip").removeClass("tooltip-f"); +_24.onDestroy.call(_22); +} +}; +$.fn.tooltip=function(_25,_26){ +if(typeof _25=="string"){ +return $.fn.tooltip.methods[_25](this,_26); +} +_25=_25||{}; +return this.each(function(){ +var _27=$.data(this,"tooltip"); +if(_27){ +$.extend(_27.options,_25); +}else{ +$.data(this,"tooltip",{options:$.extend({},$.fn.tooltip.defaults,$.fn.tooltip.parseOptions(this),_25)}); +_1(this); +} +_3(this); +_17(this); +}); +}; +$.fn.tooltip.methods={options:function(jq){ +return $.data(jq[0],"tooltip").options; +},tip:function(jq){ +return $.data(jq[0],"tooltip").tip; +},arrow:function(jq){ +return jq.tooltip("tip").children(".tooltip-arrow-outer,.tooltip-arrow"); +},show:function(jq,e){ +return jq.each(function(){ +_13(this,e); +}); +},hide:function(jq,e){ +return jq.each(function(){ +_1a(this,e); +}); +},update:function(jq,_28){ +return jq.each(function(){ +_17(this,_28); +}); +},reposition:function(jq){ +return jq.each(function(){ +_9(this); +}); +},destroy:function(jq){ +return jq.each(function(){ +_21(this); +}); +}}; +$.fn.tooltip.parseOptions=function(_29){ +var t=$(_29); +var _2a=$.extend({},$.parser.parseOptions(_29,["position","showEvent","hideEvent","content",{trackMouse:"boolean",deltaX:"number",deltaY:"number",showDelay:"number",hideDelay:"number"}]),{_title:t.attr("title")}); +t.attr("title",""); +if(!_2a.content){ +_2a.content=_2a._title; +} +return _2a; +}; +$.fn.tooltip.defaults={position:"bottom",content:null,trackMouse:false,deltaX:0,deltaY:0,showEvent:"mouseenter",hideEvent:"mouseleave",showDelay:200,hideDelay:100,onShow:function(e){ +},onHide:function(e){ +},onUpdate:function(_2b){ +},onPosition:function(_2c,top){ +},onDestroy:function(){ +}}; +})(jQuery); + diff --git a/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/plugins/jquery.tree.js b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/plugins/jquery.tree.js new file mode 100644 index 00000000..eacfb80e --- /dev/null +++ b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/plugins/jquery.tree.js @@ -0,0 +1,1181 @@ +/** + * jQuery EasyUI 1.4.1 + * + * Copyright (c) 2009-2014 www.jeasyui.com. All rights reserved. + * + * Licensed under the GPL license: http://www.gnu.org/licenses/gpl.txt + * To use it on other terms please contact us at info@jeasyui.com + * + */ +(function($){ +function _1(_2){ +var _3=$(_2); +_3.addClass("tree"); +return _3; +}; +function _4(_5){ +var _6=$.data(_5,"tree").options; +$(_5).unbind().bind("mouseover",function(e){ +var tt=$(e.target); +var _7=tt.closest("div.tree-node"); +if(!_7.length){ +return; +} +_7.addClass("tree-node-hover"); +if(tt.hasClass("tree-hit")){ +if(tt.hasClass("tree-expanded")){ +tt.addClass("tree-expanded-hover"); +}else{ +tt.addClass("tree-collapsed-hover"); +} +} +e.stopPropagation(); +}).bind("mouseout",function(e){ +var tt=$(e.target); +var _8=tt.closest("div.tree-node"); +if(!_8.length){ +return; +} +_8.removeClass("tree-node-hover"); +if(tt.hasClass("tree-hit")){ +if(tt.hasClass("tree-expanded")){ +tt.removeClass("tree-expanded-hover"); +}else{ +tt.removeClass("tree-collapsed-hover"); +} +} +e.stopPropagation(); +}).bind("click",function(e){ +var tt=$(e.target); +var _9=tt.closest("div.tree-node"); +if(!_9.length){ +return; +} +if(tt.hasClass("tree-hit")){ +_81(_5,_9[0]); +return false; +}else{ +if(tt.hasClass("tree-checkbox")){ +_34(_5,_9[0],!tt.hasClass("tree-checkbox1")); +return false; +}else{ +_db(_5,_9[0]); +_6.onClick.call(_5,_c(_5,_9[0])); +} +} +e.stopPropagation(); +}).bind("dblclick",function(e){ +var _a=$(e.target).closest("div.tree-node"); +if(!_a.length){ +return; +} +_db(_5,_a[0]); +_6.onDblClick.call(_5,_c(_5,_a[0])); +e.stopPropagation(); +}).bind("contextmenu",function(e){ +var _b=$(e.target).closest("div.tree-node"); +if(!_b.length){ +return; +} +_6.onContextMenu.call(_5,e,_c(_5,_b[0])); +e.stopPropagation(); +}); +}; +function _d(_e){ +var _f=$.data(_e,"tree").options; +_f.dnd=false; +var _10=$(_e).find("div.tree-node"); +_10.draggable("disable"); +_10.css("cursor","pointer"); +}; +function _11(_12){ +var _13=$.data(_12,"tree"); +var _14=_13.options; +var _15=_13.tree; +_13.disabledNodes=[]; +_14.dnd=true; +_15.find("div.tree-node").draggable({disabled:false,revert:true,cursor:"pointer",proxy:function(_16){ +var p=$("
                                            ").appendTo("body"); +p.html(" "+$(_16).find(".tree-title").html()); +p.hide(); +return p; +},deltaX:15,deltaY:15,onBeforeDrag:function(e){ +if(_14.onBeforeDrag.call(_12,_c(_12,this))==false){ +return false; +} +if($(e.target).hasClass("tree-hit")||$(e.target).hasClass("tree-checkbox")){ +return false; +} +if(e.which!=1){ +return false; +} +$(this).next("ul").find("div.tree-node").droppable({accept:"no-accept"}); +var _17=$(this).find("span.tree-indent"); +if(_17.length){ +e.data.offsetWidth-=_17.length*_17.width(); +} +},onStartDrag:function(){ +$(this).draggable("proxy").css({left:-10000,top:-10000}); +_14.onStartDrag.call(_12,_c(_12,this)); +var _18=_c(_12,this); +if(_18.id==undefined){ +_18.id="easyui_tree_node_id_temp"; +_56(_12,_18); +} +_13.draggingNodeId=_18.id; +},onDrag:function(e){ +var x1=e.pageX,y1=e.pageY,x2=e.data.startX,y2=e.data.startY; +var d=Math.sqrt((x1-x2)*(x1-x2)+(y1-y2)*(y1-y2)); +if(d>3){ +$(this).draggable("proxy").show(); +} +this.pageY=e.pageY; +},onStopDrag:function(){ +$(this).next("ul").find("div.tree-node").droppable({accept:"div.tree-node"}); +for(var i=0;i<_13.disabledNodes.length;i++){ +$(_13.disabledNodes[i]).droppable("enable"); +} +_13.disabledNodes=[]; +var _19=_ce(_12,_13.draggingNodeId); +if(_19&&_19.id=="easyui_tree_node_id_temp"){ +_19.id=""; +_56(_12,_19); +} +_14.onStopDrag.call(_12,_19); +}}).droppable({accept:"div.tree-node",onDragEnter:function(e,_1a){ +if(_14.onDragEnter.call(_12,this,_1b(_1a))==false){ +_1c(_1a,false); +$(this).removeClass("tree-node-append tree-node-top tree-node-bottom"); +$(this).droppable("disable"); +_13.disabledNodes.push(this); +} +},onDragOver:function(e,_1d){ +if($(this).droppable("options").disabled){ +return; +} +var _1e=_1d.pageY; +var top=$(this).offset().top; +var _1f=top+$(this).outerHeight(); +_1c(_1d,true); +$(this).removeClass("tree-node-append tree-node-top tree-node-bottom"); +if(_1e>top+(_1f-top)/2){ +if(_1f-_1e<5){ +$(this).addClass("tree-node-bottom"); +}else{ +$(this).addClass("tree-node-append"); +} +}else{ +if(_1e-top<5){ +$(this).addClass("tree-node-top"); +}else{ +$(this).addClass("tree-node-append"); +} +} +if(_14.onDragOver.call(_12,this,_1b(_1d))==false){ +_1c(_1d,false); +$(this).removeClass("tree-node-append tree-node-top tree-node-bottom"); +$(this).droppable("disable"); +_13.disabledNodes.push(this); +} +},onDragLeave:function(e,_20){ +_1c(_20,false); +$(this).removeClass("tree-node-append tree-node-top tree-node-bottom"); +_14.onDragLeave.call(_12,this,_1b(_20)); +},onDrop:function(e,_21){ +var _22=this; +var _23,_24; +if($(this).hasClass("tree-node-append")){ +_23=_25; +_24="append"; +}else{ +_23=_26; +_24=$(this).hasClass("tree-node-top")?"top":"bottom"; +} +if(_14.onBeforeDrop.call(_12,_22,_1b(_21),_24)==false){ +$(this).removeClass("tree-node-append tree-node-top tree-node-bottom"); +return; +} +_23(_21,_22,_24); +$(this).removeClass("tree-node-append tree-node-top tree-node-bottom"); +}}); +function _1b(_27,pop){ +return $(_27).closest("ul.tree").tree(pop?"pop":"getData",_27); +}; +function _1c(_28,_29){ +var _2a=$(_28).draggable("proxy").find("span.tree-dnd-icon"); +_2a.removeClass("tree-dnd-yes tree-dnd-no").addClass(_29?"tree-dnd-yes":"tree-dnd-no"); +}; +function _25(_2b,_2c){ +if(_c(_12,_2c).state=="closed"){ +_75(_12,_2c,function(){ +_2d(); +}); +}else{ +_2d(); +} +function _2d(){ +var _2e=_1b(_2b,true); +$(_12).tree("append",{parent:_2c,data:[_2e]}); +_14.onDrop.call(_12,_2c,_2e,"append"); +}; +}; +function _26(_2f,_30,_31){ +var _32={}; +if(_31=="top"){ +_32.before=_30; +}else{ +_32.after=_30; +} +var _33=_1b(_2f,true); +_32.data=_33; +$(_12).tree("insert",_32); +_14.onDrop.call(_12,_30,_33,_31); +}; +}; +function _34(_35,_36,_37){ +var _38=$.data(_35,"tree").options; +if(!_38.checkbox){ +return; +} +var _39=_c(_35,_36); +if(_38.onBeforeCheck.call(_35,_39,_37)==false){ +return; +} +var _3a=$(_36); +var ck=_3a.find(".tree-checkbox"); +ck.removeClass("tree-checkbox0 tree-checkbox1 tree-checkbox2"); +if(_37){ +ck.addClass("tree-checkbox1"); +}else{ +ck.addClass("tree-checkbox0"); +} +if(_38.cascadeCheck){ +_3b(_3a); +_3c(_3a); +} +_38.onCheck.call(_35,_39,_37); +function _3c(_3d){ +var _3e=_3d.next().find(".tree-checkbox"); +_3e.removeClass("tree-checkbox0 tree-checkbox1 tree-checkbox2"); +if(_3d.find(".tree-checkbox").hasClass("tree-checkbox1")){ +_3e.addClass("tree-checkbox1"); +}else{ +_3e.addClass("tree-checkbox0"); +} +}; +function _3b(_3f){ +var _40=_8c(_35,_3f[0]); +if(_40){ +var ck=$(_40.target).find(".tree-checkbox"); +ck.removeClass("tree-checkbox0 tree-checkbox1 tree-checkbox2"); +if(_41(_3f)){ +ck.addClass("tree-checkbox1"); +}else{ +if(_42(_3f)){ +ck.addClass("tree-checkbox0"); +}else{ +ck.addClass("tree-checkbox2"); +} +} +_3b($(_40.target)); +} +function _41(n){ +var ck=n.find(".tree-checkbox"); +if(ck.hasClass("tree-checkbox0")||ck.hasClass("tree-checkbox2")){ +return false; +} +var b=true; +n.parent().siblings().each(function(){ +if(!$(this).children("div.tree-node").children(".tree-checkbox").hasClass("tree-checkbox1")){ +b=false; +} +}); +return b; +}; +function _42(n){ +var ck=n.find(".tree-checkbox"); +if(ck.hasClass("tree-checkbox1")||ck.hasClass("tree-checkbox2")){ +return false; +} +var b=true; +n.parent().siblings().each(function(){ +if(!$(this).children("div.tree-node").children(".tree-checkbox").hasClass("tree-checkbox0")){ +b=false; +} +}); +return b; +}; +}; +}; +function _43(_44,_45){ +var _46=$.data(_44,"tree").options; +if(!_46.checkbox){ +return; +} +var _47=$(_45); +if(_48(_44,_45)){ +var ck=_47.find(".tree-checkbox"); +if(ck.length){ +if(ck.hasClass("tree-checkbox1")){ +_34(_44,_45,true); +}else{ +_34(_44,_45,false); +} +}else{ +if(_46.onlyLeafCheck){ +$("").insertBefore(_47.find(".tree-title")); +} +} +}else{ +var ck=_47.find(".tree-checkbox"); +if(_46.onlyLeafCheck){ +ck.remove(); +}else{ +if(ck.hasClass("tree-checkbox1")){ +_34(_44,_45,true); +}else{ +if(ck.hasClass("tree-checkbox2")){ +var _49=true; +var _4a=true; +var _4b=_4c(_44,_45); +for(var i=0;i<_4b.length;i++){ +if(_4b[i].checked){ +_4a=false; +}else{ +_49=false; +} +} +if(_49){ +_34(_44,_45,true); +} +if(_4a){ +_34(_44,_45,false); +} +} +} +} +} +}; +function _4d(_4e,ul,_4f,_50){ +var _51=$.data(_4e,"tree"); +var _52=_51.options; +var _53=$(ul).prevAll("div.tree-node:first"); +_4f=_52.loadFilter.call(_4e,_4f,_53[0]); +var _54=_55(_4e,"domId",_53.attr("id")); +if(!_50){ +_54?_54.children=_4f:_51.data=_4f; +$(ul).empty(); +}else{ +if(_54){ +_54.children?_54.children=_54.children.concat(_4f):_54.children=_4f; +}else{ +_51.data=_51.data.concat(_4f); +} +} +_52.view.render.call(_52.view,_4e,ul,_4f); +if(_52.dnd){ +_11(_4e); +} +if(_54){ +_56(_4e,_54); +} +var _57=[]; +var _58=[]; +for(var i=0;i<_4f.length;i++){ +var _59=_4f[i]; +if(!_59.checked){ +_57.push(_59); +} +} +_5a(_4f,function(_5b){ +if(_5b.checked){ +_58.push(_5b); +} +}); +var _5c=_52.onCheck; +_52.onCheck=function(){ +}; +if(_57.length){ +_34(_4e,$("#"+_57[0].domId)[0],false); +} +for(var i=0;i<_58.length;i++){ +_34(_4e,$("#"+_58[i].domId)[0],true); +} +_52.onCheck=_5c; +setTimeout(function(){ +_5d(_4e,_4e); +},0); +_52.onLoadSuccess.call(_4e,_54,_4f); +}; +function _5d(_5e,ul,_5f){ +var _60=$.data(_5e,"tree").options; +if(_60.lines){ +$(_5e).addClass("tree-lines"); +}else{ +$(_5e).removeClass("tree-lines"); +return; +} +if(!_5f){ +_5f=true; +$(_5e).find("span.tree-indent").removeClass("tree-line tree-join tree-joinbottom"); +$(_5e).find("div.tree-node").removeClass("tree-node-last tree-root-first tree-root-one"); +var _61=$(_5e).tree("getRoots"); +if(_61.length>1){ +$(_61[0].target).addClass("tree-root-first"); +}else{ +if(_61.length==1){ +$(_61[0].target).addClass("tree-root-one"); +} +} +} +$(ul).children("li").each(function(){ +var _62=$(this).children("div.tree-node"); +var ul=_62.next("ul"); +if(ul.length){ +if($(this).next().length){ +_63(_62); +} +_5d(_5e,ul,_5f); +}else{ +_64(_62); +} +}); +var _65=$(ul).children("li:last").children("div.tree-node").addClass("tree-node-last"); +_65.children("span.tree-join").removeClass("tree-join").addClass("tree-joinbottom"); +function _64(_66,_67){ +var _68=_66.find("span.tree-icon"); +_68.prev("span.tree-indent").addClass("tree-join"); +}; +function _63(_69){ +var _6a=_69.find("span.tree-indent, span.tree-hit").length; +_69.next().find("div.tree-node").each(function(){ +$(this).children("span:eq("+(_6a-1)+")").addClass("tree-line"); +}); +}; +}; +function _6b(_6c,ul,_6d,_6e){ +var _6f=$.data(_6c,"tree").options; +_6d=$.extend({},_6f.queryParams,_6d||{}); +var _70=null; +if(_6c!=ul){ +var _71=$(ul).prev(); +_70=_c(_6c,_71[0]); +} +if(_6f.onBeforeLoad.call(_6c,_70,_6d)==false){ +return; +} +var _72=$(ul).prev().children("span.tree-folder"); +_72.addClass("tree-loading"); +var _73=_6f.loader.call(_6c,_6d,function(_74){ +_72.removeClass("tree-loading"); +_4d(_6c,ul,_74); +if(_6e){ +_6e(); +} +},function(){ +_72.removeClass("tree-loading"); +_6f.onLoadError.apply(_6c,arguments); +if(_6e){ +_6e(); +} +}); +if(_73==false){ +_72.removeClass("tree-loading"); +} +}; +function _75(_76,_77,_78){ +var _79=$.data(_76,"tree").options; +var hit=$(_77).children("span.tree-hit"); +if(hit.length==0){ +return; +} +if(hit.hasClass("tree-expanded")){ +return; +} +var _7a=_c(_76,_77); +if(_79.onBeforeExpand.call(_76,_7a)==false){ +return; +} +hit.removeClass("tree-collapsed tree-collapsed-hover").addClass("tree-expanded"); +hit.next().addClass("tree-folder-open"); +var ul=$(_77).next(); +if(ul.length){ +if(_79.animate){ +ul.slideDown("normal",function(){ +_7a.state="open"; +_79.onExpand.call(_76,_7a); +if(_78){ +_78(); +} +}); +}else{ +ul.css("display","block"); +_7a.state="open"; +_79.onExpand.call(_76,_7a); +if(_78){ +_78(); +} +} +}else{ +var _7b=$("
                                              ").insertAfter(_77); +_6b(_76,_7b[0],{id:_7a.id},function(){ +if(_7b.is(":empty")){ +_7b.remove(); +} +if(_79.animate){ +_7b.slideDown("normal",function(){ +_7a.state="open"; +_79.onExpand.call(_76,_7a); +if(_78){ +_78(); +} +}); +}else{ +_7b.css("display","block"); +_7a.state="open"; +_79.onExpand.call(_76,_7a); +if(_78){ +_78(); +} +} +}); +} +}; +function _7c(_7d,_7e){ +var _7f=$.data(_7d,"tree").options; +var hit=$(_7e).children("span.tree-hit"); +if(hit.length==0){ +return; +} +if(hit.hasClass("tree-collapsed")){ +return; +} +var _80=_c(_7d,_7e); +if(_7f.onBeforeCollapse.call(_7d,_80)==false){ +return; +} +hit.removeClass("tree-expanded tree-expanded-hover").addClass("tree-collapsed"); +hit.next().removeClass("tree-folder-open"); +var ul=$(_7e).next(); +if(_7f.animate){ +ul.slideUp("normal",function(){ +_80.state="closed"; +_7f.onCollapse.call(_7d,_80); +}); +}else{ +ul.css("display","none"); +_80.state="closed"; +_7f.onCollapse.call(_7d,_80); +} +}; +function _81(_82,_83){ +var hit=$(_83).children("span.tree-hit"); +if(hit.length==0){ +return; +} +if(hit.hasClass("tree-expanded")){ +_7c(_82,_83); +}else{ +_75(_82,_83); +} +}; +function _84(_85,_86){ +var _87=_4c(_85,_86); +if(_86){ +_87.unshift(_c(_85,_86)); +} +for(var i=0;i<_87.length;i++){ +_75(_85,_87[i].target); +} +}; +function _88(_89,_8a){ +var _8b=[]; +var p=_8c(_89,_8a); +while(p){ +_8b.unshift(p); +p=_8c(_89,p.target); +} +for(var i=0;i<_8b.length;i++){ +_75(_89,_8b[i].target); +} +}; +function _8d(_8e,_8f){ +var c=$(_8e).parent(); +while(c[0].tagName!="BODY"&&c.css("overflow-y")!="auto"){ +c=c.parent(); +} +var n=$(_8f); +var _90=n.offset().top; +if(c[0].tagName!="BODY"){ +var _91=c.offset().top; +if(_90<_91){ +c.scrollTop(c.scrollTop()+_90-_91); +}else{ +if(_90+n.outerHeight()>_91+c.outerHeight()-18){ +c.scrollTop(c.scrollTop()+_90+n.outerHeight()-_91-c.outerHeight()+18); +} +} +}else{ +c.scrollTop(_90); +} +}; +function _92(_93,_94){ +var _95=_4c(_93,_94); +if(_94){ +_95.unshift(_c(_93,_94)); +} +for(var i=0;i<_95.length;i++){ +_7c(_93,_95[i].target); +} +}; +function _96(_97,_98){ +var _99=$(_98.parent); +var _9a=_98.data; +if(!_9a){ +return; +} +_9a=$.isArray(_9a)?_9a:[_9a]; +if(!_9a.length){ +return; +} +var ul; +if(_99.length==0){ +ul=$(_97); +}else{ +if(_48(_97,_99[0])){ +var _9b=_99.find("span.tree-icon"); +_9b.removeClass("tree-file").addClass("tree-folder tree-folder-open"); +var hit=$("").insertBefore(_9b); +if(hit.prev().length){ +hit.prev().remove(); +} +} +ul=_99.next(); +if(!ul.length){ +ul=$("
                                                ").insertAfter(_99); +} +} +_4d(_97,ul[0],_9a,true); +_43(_97,ul.prev()); +}; +function _9c(_9d,_9e){ +var ref=_9e.before||_9e.after; +var _9f=_8c(_9d,ref); +var _a0=_9e.data; +if(!_a0){ +return; +} +_a0=$.isArray(_a0)?_a0:[_a0]; +if(!_a0.length){ +return; +} +_96(_9d,{parent:(_9f?_9f.target:null),data:_a0}); +var _a1=_9f?_9f.children:$(_9d).tree("getRoots"); +for(var i=0;i<_a1.length;i++){ +if(_a1[i].domId==$(ref).attr("id")){ +for(var j=_a0.length-1;j>=0;j--){ +_a1.splice((_9e.before?i:(i+1)),0,_a0[j]); +} +_a1.splice(_a1.length-_a0.length,_a0.length); +break; +} +} +var li=$(); +for(var i=0;i<_a0.length;i++){ +li=li.add($("#"+_a0[i].domId).parent()); +} +if(_9e.before){ +li.insertBefore($(ref).parent()); +}else{ +li.insertAfter($(ref).parent()); +} +}; +function _a2(_a3,_a4){ +var _a5=del(_a4); +$(_a4).parent().remove(); +if(_a5){ +if(!_a5.children||!_a5.children.length){ +var _a6=$(_a5.target); +_a6.find(".tree-icon").removeClass("tree-folder").addClass("tree-file"); +_a6.find(".tree-hit").remove(); +$("").prependTo(_a6); +_a6.next().remove(); +} +_56(_a3,_a5); +_43(_a3,_a5.target); +} +_5d(_a3,_a3); +function del(_a7){ +var id=$(_a7).attr("id"); +var _a8=_8c(_a3,_a7); +var cc=_a8?_a8.children:$.data(_a3,"tree").data; +for(var i=0;i=0;i--){ +_d9.unshift(_da.children[i]); +} +} +} +}; +function _db(_dc,_dd){ +var _de=$.data(_dc,"tree").options; +var _df=_c(_dc,_dd); +if(_de.onBeforeSelect.call(_dc,_df)==false){ +return; +} +$(_dc).find("div.tree-node-selected").removeClass("tree-node-selected"); +$(_dd).addClass("tree-node-selected"); +_de.onSelect.call(_dc,_df); +}; +function _48(_e0,_e1){ +return $(_e1).children("span.tree-hit").length==0; +}; +function _e2(_e3,_e4){ +var _e5=$.data(_e3,"tree").options; +var _e6=_c(_e3,_e4); +if(_e5.onBeforeEdit.call(_e3,_e6)==false){ +return; +} +$(_e4).css("position","relative"); +var nt=$(_e4).find(".tree-title"); +var _e7=nt.outerWidth(); +nt.empty(); +var _e8=$("").appendTo(nt); +_e8.val(_e6.text).focus(); +_e8.width(_e7+20); +_e8.height(document.compatMode=="CSS1Compat"?(18-(_e8.outerHeight()-_e8.height())):18); +_e8.bind("click",function(e){ +return false; +}).bind("mousedown",function(e){ +e.stopPropagation(); +}).bind("mousemove",function(e){ +e.stopPropagation(); +}).bind("keydown",function(e){ +if(e.keyCode==13){ +_e9(_e3,_e4); +return false; +}else{ +if(e.keyCode==27){ +_ef(_e3,_e4); +return false; +} +} +}).bind("blur",function(e){ +e.stopPropagation(); +_e9(_e3,_e4); +}); +}; +function _e9(_ea,_eb){ +var _ec=$.data(_ea,"tree").options; +$(_eb).css("position",""); +var _ed=$(_eb).find("input.tree-editor"); +var val=_ed.val(); +_ed.remove(); +var _ee=_c(_ea,_eb); +_ee.text=val; +_56(_ea,_ee); +_ec.onAfterEdit.call(_ea,_ee); +}; +function _ef(_f0,_f1){ +var _f2=$.data(_f0,"tree").options; +$(_f1).css("position",""); +$(_f1).find("input.tree-editor").remove(); +var _f3=_c(_f0,_f1); +_56(_f0,_f3); +_f2.onCancelEdit.call(_f0,_f3); +}; +$.fn.tree=function(_f4,_f5){ +if(typeof _f4=="string"){ +return $.fn.tree.methods[_f4](this,_f5); +} +var _f4=_f4||{}; +return this.each(function(){ +var _f6=$.data(this,"tree"); +var _f7; +if(_f6){ +_f7=$.extend(_f6.options,_f4); +_f6.options=_f7; +}else{ +_f7=$.extend({},$.fn.tree.defaults,$.fn.tree.parseOptions(this),_f4); +$.data(this,"tree",{options:_f7,tree:_1(this),data:[]}); +var _f8=$.fn.tree.parseData(this); +if(_f8.length){ +_4d(this,this,_f8); +} +} +_4(this); +if(_f7.data){ +_4d(this,this,$.extend(true,[],_f7.data)); +} +_6b(this,this); +}); +}; +$.fn.tree.methods={options:function(jq){ +return $.data(jq[0],"tree").options; +},loadData:function(jq,_f9){ +return jq.each(function(){ +_4d(this,this,_f9); +}); +},getNode:function(jq,_fa){ +return _c(jq[0],_fa); +},getData:function(jq,_fb){ +return _c7(jq[0],_fb); +},reload:function(jq,_fc){ +return jq.each(function(){ +if(_fc){ +var _fd=$(_fc); +var hit=_fd.children("span.tree-hit"); +hit.removeClass("tree-expanded tree-expanded-hover").addClass("tree-collapsed"); +_fd.next().remove(); +_75(this,_fc); +}else{ +$(this).empty(); +_6b(this,this); +} +}); +},getRoot:function(jq,_fe){ +return _af(jq[0],_fe); +},getRoots:function(jq){ +return _b3(jq[0]); +},getParent:function(jq,_ff){ +return _8c(jq[0],_ff); +},getChildren:function(jq,_100){ +return _4c(jq[0],_100); +},getChecked:function(jq,_101){ +return _be(jq[0],_101); +},getSelected:function(jq){ +return _c4(jq[0]); +},isLeaf:function(jq,_102){ +return _48(jq[0],_102); +},find:function(jq,id){ +return _ce(jq[0],id); +},select:function(jq,_103){ +return jq.each(function(){ +_db(this,_103); +}); +},check:function(jq,_104){ +return jq.each(function(){ +_34(this,_104,true); +}); +},uncheck:function(jq,_105){ +return jq.each(function(){ +_34(this,_105,false); +}); +},collapse:function(jq,_106){ +return jq.each(function(){ +_7c(this,_106); +}); +},expand:function(jq,_107){ +return jq.each(function(){ +_75(this,_107); +}); +},collapseAll:function(jq,_108){ +return jq.each(function(){ +_92(this,_108); +}); +},expandAll:function(jq,_109){ +return jq.each(function(){ +_84(this,_109); +}); +},expandTo:function(jq,_10a){ +return jq.each(function(){ +_88(this,_10a); +}); +},scrollTo:function(jq,_10b){ +return jq.each(function(){ +_8d(this,_10b); +}); +},toggle:function(jq,_10c){ +return jq.each(function(){ +_81(this,_10c); +}); +},append:function(jq,_10d){ +return jq.each(function(){ +_96(this,_10d); +}); +},insert:function(jq,_10e){ +return jq.each(function(){ +_9c(this,_10e); +}); +},remove:function(jq,_10f){ +return jq.each(function(){ +_a2(this,_10f); +}); +},pop:function(jq,_110){ +var node=jq.tree("getData",_110); +jq.tree("remove",_110); +return node; +},update:function(jq,_111){ +return jq.each(function(){ +_56(this,_111); +}); +},enableDnd:function(jq){ +return jq.each(function(){ +_11(this); +}); +},disableDnd:function(jq){ +return jq.each(function(){ +_d(this); +}); +},beginEdit:function(jq,_112){ +return jq.each(function(){ +_e2(this,_112); +}); +},endEdit:function(jq,_113){ +return jq.each(function(){ +_e9(this,_113); +}); +},cancelEdit:function(jq,_114){ +return jq.each(function(){ +_ef(this,_114); +}); +}}; +$.fn.tree.parseOptions=function(_115){ +var t=$(_115); +return $.extend({},$.parser.parseOptions(_115,["url","method",{checkbox:"boolean",cascadeCheck:"boolean",onlyLeafCheck:"boolean"},{animate:"boolean",lines:"boolean",dnd:"boolean"}])); +}; +$.fn.tree.parseData=function(_116){ +var data=[]; +_117(data,$(_116)); +return data; +function _117(aa,tree){ +tree.children("li").each(function(){ +var node=$(this); +var item=$.extend({},$.parser.parseOptions(this,["id","iconCls","state"]),{checked:(node.attr("checked")?true:undefined)}); +item.text=node.children("span").html(); +if(!item.text){ +item.text=node.html(); +} +var _118=node.children("ul"); +if(_118.length){ +item.children=[]; +_117(item.children,_118); +} +aa.push(item); +}); +}; +}; +var _119=1; +var _11a={render:function(_11b,ul,data){ +var opts=$.data(_11b,"tree").options; +var _11c=$(ul).prev("div.tree-node").find("span.tree-indent, span.tree-hit").length; +var cc=_11d(_11c,data); +$(ul).append(cc.join("")); +function _11d(_11e,_11f){ +var cc=[]; +for(var i=0;i<_11f.length;i++){ +var item=_11f[i]; +if(item.state!="open"&&item.state!="closed"){ +item.state="open"; +} +item.domId="_easyui_tree_"+_119++; +cc.push("
                                              • "); +cc.push("
                                                "); +for(var j=0;j<_11e;j++){ +cc.push(""); +} +var _120=false; +if(item.state=="closed"){ +cc.push(""); +cc.push(""); +}else{ +if(item.children&&item.children.length){ +cc.push(""); +cc.push(""); +}else{ +cc.push(""); +cc.push(""); +_120=true; +} +} +if(opts.checkbox){ +if((!opts.onlyLeafCheck)||_120){ +cc.push(""); +} +} +cc.push(""+opts.formatter.call(_11b,item)+""); +cc.push("
                                                "); +if(item.children&&item.children.length){ +var tmp=_11d(_11e+1,item.children); +cc.push("
                                                  "); +cc=cc.concat(tmp); +cc.push("
                                                "); +} +cc.push("
                                              • "); +} +return cc; +}; +}}; +$.fn.tree.defaults={url:null,method:"post",animate:false,checkbox:false,cascadeCheck:true,onlyLeafCheck:false,lines:false,dnd:false,data:null,queryParams:{},formatter:function(node){ +return node.text; +},loader:function(_121,_122,_123){ +var opts=$(this).tree("options"); +if(!opts.url){ +return false; +} +$.ajax({type:opts.method,url:opts.url,data:_121,dataType:"json",success:function(data){ +_122(data); +},error:function(){ +_123.apply(this,arguments); +}}); +},loadFilter:function(data,_124){ +return data; +},view:_11a,onBeforeLoad:function(node,_125){ +},onLoadSuccess:function(node,data){ +},onLoadError:function(){ +},onClick:function(node){ +},onDblClick:function(node){ +},onBeforeExpand:function(node){ +},onExpand:function(node){ +},onBeforeCollapse:function(node){ +},onCollapse:function(node){ +},onBeforeCheck:function(node,_126){ +},onCheck:function(node,_127){ +},onBeforeSelect:function(node){ +},onSelect:function(node){ +},onContextMenu:function(e,node){ +},onBeforeDrag:function(node){ +},onStartDrag:function(node){ +},onStopDrag:function(node){ +},onDragEnter:function(_128,_129){ +},onDragOver:function(_12a,_12b){ +},onDragLeave:function(_12c,_12d){ +},onBeforeDrop:function(_12e,_12f,_130){ +},onDrop:function(_131,_132,_133){ +},onBeforeEdit:function(node){ +},onAfterEdit:function(node){ +},onCancelEdit:function(node){ +}}; +})(jQuery); + diff --git a/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/plugins/jquery.treegrid.js b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/plugins/jquery.treegrid.js new file mode 100644 index 00000000..0a141cdb --- /dev/null +++ b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/plugins/jquery.treegrid.js @@ -0,0 +1,1157 @@ +/** + * jQuery EasyUI 1.4.1 + * + * Copyright (c) 2009-2014 www.jeasyui.com. All rights reserved. + * + * Licensed under the GPL license: http://www.gnu.org/licenses/gpl.txt + * To use it on other terms please contact us at info@jeasyui.com + * + */ +(function($){ +function _1(_2){ +var _3=$.data(_2,"treegrid"); +var _4=_3.options; +$(_2).datagrid($.extend({},_4,{url:null,data:null,loader:function(){ +return false; +},onBeforeLoad:function(){ +return false; +},onLoadSuccess:function(){ +},onResizeColumn:function(_5,_6){ +_26(_2); +_4.onResizeColumn.call(_2,_5,_6); +},onBeforeSortColumn:function(_7,_8){ +if(_4.onBeforeSortColumn.call(_2,_7,_8)==false){ +return false; +} +},onSortColumn:function(_9,_a){ +_4.sortName=_9; +_4.sortOrder=_a; +if(_4.remoteSort){ +_25(_2); +}else{ +var _b=$(_2).treegrid("getData"); +_3f(_2,0,_b); +} +_4.onSortColumn.call(_2,_9,_a); +},onBeforeEdit:function(_c,_d){ +if(_4.onBeforeEdit.call(_2,_d)==false){ +return false; +} +},onAfterEdit:function(_e,_f,_10){ +_4.onAfterEdit.call(_2,_f,_10); +},onCancelEdit:function(_11,row){ +_4.onCancelEdit.call(_2,row); +},onBeforeSelect:function(_12){ +if(_4.onBeforeSelect.call(_2,_47(_2,_12))==false){ +return false; +} +},onSelect:function(_13){ +_4.onSelect.call(_2,_47(_2,_13)); +},onBeforeUnselect:function(_14){ +if(_4.onBeforeUnselect.call(_2,_47(_2,_14))==false){ +return false; +} +},onUnselect:function(_15){ +_4.onUnselect.call(_2,_47(_2,_15)); +},onBeforeCheck:function(_16){ +if(_4.onBeforeCheck.call(_2,_47(_2,_16))==false){ +return false; +} +},onCheck:function(_17){ +_4.onCheck.call(_2,_47(_2,_17)); +},onBeforeUncheck:function(_18){ +if(_4.onBeforeUncheck.call(_2,_47(_2,_18))==false){ +return false; +} +},onUncheck:function(_19){ +_4.onUncheck.call(_2,_47(_2,_19)); +},onClickRow:function(_1a){ +_4.onClickRow.call(_2,_47(_2,_1a)); +},onDblClickRow:function(_1b){ +_4.onDblClickRow.call(_2,_47(_2,_1b)); +},onClickCell:function(_1c,_1d){ +_4.onClickCell.call(_2,_1d,_47(_2,_1c)); +},onDblClickCell:function(_1e,_1f){ +_4.onDblClickCell.call(_2,_1f,_47(_2,_1e)); +},onRowContextMenu:function(e,_20){ +_4.onContextMenu.call(_2,e,_47(_2,_20)); +}})); +if(!_4.columns){ +var _21=$.data(_2,"datagrid").options; +_4.columns=_21.columns; +_4.frozenColumns=_21.frozenColumns; +} +_3.dc=$.data(_2,"datagrid").dc; +if(_4.pagination){ +var _22=$(_2).datagrid("getPager"); +_22.pagination({pageNumber:_4.pageNumber,pageSize:_4.pageSize,pageList:_4.pageList,onSelectPage:function(_23,_24){ +_4.pageNumber=_23; +_4.pageSize=_24; +_25(_2); +}}); +_4.pageSize=_22.pagination("options").pageSize; +} +}; +function _26(_27,_28){ +var _29=$.data(_27,"datagrid").options; +var dc=$.data(_27,"datagrid").dc; +if(!dc.body1.is(":empty")&&(!_29.nowrap||_29.autoRowHeight)){ +if(_28!=undefined){ +var _2a=_2b(_27,_28); +for(var i=0;i<_2a.length;i++){ +_2c(_2a[i][_29.idField]); +} +} +} +$(_27).datagrid("fixRowHeight",_28); +function _2c(_2d){ +var tr1=_29.finder.getTr(_27,_2d,"body",1); +var tr2=_29.finder.getTr(_27,_2d,"body",2); +tr1.css("height",""); +tr2.css("height",""); +var _2e=Math.max(tr1.height(),tr2.height()); +tr1.css("height",_2e); +tr2.css("height",_2e); +}; +}; +function _2f(_30){ +var dc=$.data(_30,"datagrid").dc; +var _31=$.data(_30,"treegrid").options; +if(!_31.rownumbers){ +return; +} +dc.body1.find("div.datagrid-cell-rownumber").each(function(i){ +$(this).html(i+1); +}); +}; +function _32(_33){ +return function(e){ +$.fn.datagrid.defaults.rowEvents[_33?"mouseover":"mouseout"](e); +var tt=$(e.target); +var fn=_33?"addClass":"removeClass"; +if(tt.hasClass("tree-hit")){ +tt.hasClass("tree-expanded")?tt[fn]("tree-expanded-hover"):tt[fn]("tree-collapsed-hover"); +} +}; +}; +function _34(e){ +var tt=$(e.target); +if(tt.hasClass("tree-hit")){ +var tr=tt.closest("tr.datagrid-row"); +var _35=tr.closest("div.datagrid-view").children(".datagrid-f")[0]; +_36(_35,tr.attr("node-id")); +}else{ +$.fn.datagrid.defaults.rowEvents.click(e); +} +}; +function _37(_38,_39){ +var _3a=$.data(_38,"treegrid").options; +var tr1=_3a.finder.getTr(_38,_39,"body",1); +var tr2=_3a.finder.getTr(_38,_39,"body",2); +var _3b=$(_38).datagrid("getColumnFields",true).length+(_3a.rownumbers?1:0); +var _3c=$(_38).datagrid("getColumnFields",false).length; +_3d(tr1,_3b); +_3d(tr2,_3c); +function _3d(tr,_3e){ +$(""+""+"
                                                "+""+"").insertAfter(tr); +}; +}; +function _3f(_40,_41,_42,_43){ +var _44=$.data(_40,"treegrid"); +var _45=_44.options; +var dc=_44.dc; +_42=_45.loadFilter.call(_40,_42,_41); +var _46=_47(_40,_41); +if(_46){ +var _48=_45.finder.getTr(_40,_41,"body",1); +var _49=_45.finder.getTr(_40,_41,"body",2); +var cc1=_48.next("tr.treegrid-tr-tree").children("td").children("div"); +var cc2=_49.next("tr.treegrid-tr-tree").children("td").children("div"); +if(!_43){ +_46.children=[]; +} +}else{ +var cc1=dc.body1; +var cc2=dc.body2; +if(!_43){ +_44.data=[]; +} +} +if(!_43){ +cc1.empty(); +cc2.empty(); +} +if(_45.view.onBeforeRender){ +_45.view.onBeforeRender.call(_45.view,_40,_41,_42); +} +_45.view.render.call(_45.view,_40,cc1,true); +_45.view.render.call(_45.view,_40,cc2,false); +if(_45.showFooter){ +_45.view.renderFooter.call(_45.view,_40,dc.footer1,true); +_45.view.renderFooter.call(_45.view,_40,dc.footer2,false); +} +if(_45.view.onAfterRender){ +_45.view.onAfterRender.call(_45.view,_40); +} +if(!_41&&_45.pagination){ +var _4a=$.data(_40,"treegrid").total; +var _4b=$(_40).datagrid("getPager"); +if(_4b.pagination("options").total!=_4a){ +_4b.pagination({total:_4a}); +} +} +_26(_40); +_2f(_40); +$(_40).treegrid("showLines"); +$(_40).treegrid("setSelectionState"); +$(_40).treegrid("autoSizeColumn"); +_45.onLoadSuccess.call(_40,_46,_42); +}; +function _25(_4c,_4d,_4e,_4f,_50){ +var _51=$.data(_4c,"treegrid").options; +var _52=$(_4c).datagrid("getPanel").find("div.datagrid-body"); +if(_4e){ +_51.queryParams=_4e; +} +var _53=$.extend({},_51.queryParams); +if(_51.pagination){ +$.extend(_53,{page:_51.pageNumber,rows:_51.pageSize}); +} +if(_51.sortName){ +$.extend(_53,{sort:_51.sortName,order:_51.sortOrder}); +} +var row=_47(_4c,_4d); +if(_51.onBeforeLoad.call(_4c,row,_53)==false){ +return; +} +var _54=_52.find("tr[node-id=\""+_4d+"\"] span.tree-folder"); +_54.addClass("tree-loading"); +$(_4c).treegrid("loading"); +var _55=_51.loader.call(_4c,_53,function(_56){ +_54.removeClass("tree-loading"); +$(_4c).treegrid("loaded"); +_3f(_4c,_4d,_56,_4f); +if(_50){ +_50(); +} +},function(){ +_54.removeClass("tree-loading"); +$(_4c).treegrid("loaded"); +_51.onLoadError.apply(_4c,arguments); +if(_50){ +_50(); +} +}); +if(_55==false){ +_54.removeClass("tree-loading"); +$(_4c).treegrid("loaded"); +} +}; +function _57(_58){ +var _59=_5a(_58); +if(_59.length){ +return _59[0]; +}else{ +return null; +} +}; +function _5a(_5b){ +return $.data(_5b,"treegrid").data; +}; +function _5c(_5d,_5e){ +var row=_47(_5d,_5e); +if(row._parentId){ +return _47(_5d,row._parentId); +}else{ +return null; +} +}; +function _2b(_5f,_60){ +var _61=$.data(_5f,"treegrid").options; +var _62=$(_5f).datagrid("getPanel").find("div.datagrid-view2 div.datagrid-body"); +var _63=[]; +if(_60){ +_64(_60); +}else{ +var _65=_5a(_5f); +for(var i=0;i<_65.length;i++){ +_63.push(_65[i]); +_64(_65[i][_61.idField]); +} +} +function _64(_66){ +var _67=_47(_5f,_66); +if(_67&&_67.children){ +for(var i=0,len=_67.children.length;i").insertBefore(_95); +if(hit.prev().length){ +hit.prev().remove(); +} +} +} +_3f(_91,_92.parent,_92.data,true); +}; +function _96(_97,_98){ +var ref=_98.before||_98.after; +var _99=$.data(_97,"treegrid").options; +var _9a=_5c(_97,ref); +_90(_97,{parent:(_9a?_9a[_99.idField]:null),data:[_98.data]}); +var _9b=_9a?_9a.children:$(_97).treegrid("getRoots"); +for(var i=0;i<_9b.length;i++){ +if(_9b[i][_99.idField]==ref){ +var _9c=_9b[_9b.length-1]; +_9b.splice(_98.before?i:(i+1),0,_9c); +_9b.splice(_9b.length-1,1); +break; +} +} +_9d(true); +_9d(false); +_2f(_97); +$(_97).treegrid("showLines"); +function _9d(_9e){ +var _9f=_9e?1:2; +var tr=_99.finder.getTr(_97,_98.data[_99.idField],"body",_9f); +var _a0=tr.closest("table.datagrid-btable"); +tr=tr.parent().children(); +var _a1=_99.finder.getTr(_97,ref,"body",_9f); +if(_98.before){ +tr.insertBefore(_a1); +}else{ +var sub=_a1.next("tr.treegrid-tr-tree"); +tr.insertAfter(sub.length?sub:_a1); +} +_a0.remove(); +}; +}; +function _a2(_a3,_a4){ +var _a5=$.data(_a3,"treegrid"); +$(_a3).datagrid("deleteRow",_a4); +_2f(_a3); +_a5.total-=1; +$(_a3).datagrid("getPager").pagination("refresh",{total:_a5.total}); +$(_a3).treegrid("showLines"); +}; +function _a6(_a7){ +var t=$(_a7); +var _a8=t.treegrid("options"); +if(_a8.lines){ +t.treegrid("getPanel").addClass("tree-lines"); +}else{ +t.treegrid("getPanel").removeClass("tree-lines"); +return; +} +t.treegrid("getPanel").find("span.tree-indent").removeClass("tree-line tree-join tree-joinbottom"); +t.treegrid("getPanel").find("div.datagrid-cell").removeClass("tree-node-last tree-root-first tree-root-one"); +var _a9=t.treegrid("getRoots"); +if(_a9.length>1){ +_aa(_a9[0]).addClass("tree-root-first"); +}else{ +if(_a9.length==1){ +_aa(_a9[0]).addClass("tree-root-one"); +} +} +_ab(_a9); +_ac(_a9); +function _ab(_ad){ +$.map(_ad,function(_ae){ +if(_ae.children&&_ae.children.length){ +_ab(_ae.children); +}else{ +var _af=_aa(_ae); +_af.find(".tree-icon").prev().addClass("tree-join"); +} +}); +if(_ad.length){ +var _b0=_aa(_ad[_ad.length-1]); +_b0.addClass("tree-node-last"); +_b0.find(".tree-join").removeClass("tree-join").addClass("tree-joinbottom"); +} +}; +function _ac(_b1){ +$.map(_b1,function(_b2){ +if(_b2.children&&_b2.children.length){ +_ac(_b2.children); +} +}); +for(var i=0;i<_b1.length-1;i++){ +var _b3=_b1[i]; +var _b4=t.treegrid("getLevel",_b3[_a8.idField]); +var tr=_a8.finder.getTr(_a7,_b3[_a8.idField]); +var cc=tr.next().find("tr.datagrid-row td[field=\""+_a8.treeField+"\"] div.datagrid-cell"); +cc.find("span:eq("+(_b4-1)+")").addClass("tree-line"); +} +}; +function _aa(_b5){ +var tr=_a8.finder.getTr(_a7,_b5[_a8.idField]); +var _b6=tr.find("td[field=\""+_a8.treeField+"\"] div.datagrid-cell"); +return _b6; +}; +}; +$.fn.treegrid=function(_b7,_b8){ +if(typeof _b7=="string"){ +var _b9=$.fn.treegrid.methods[_b7]; +if(_b9){ +return _b9(this,_b8); +}else{ +return this.datagrid(_b7,_b8); +} +} +_b7=_b7||{}; +return this.each(function(){ +var _ba=$.data(this,"treegrid"); +if(_ba){ +$.extend(_ba.options,_b7); +}else{ +_ba=$.data(this,"treegrid",{options:$.extend({},$.fn.treegrid.defaults,$.fn.treegrid.parseOptions(this),_b7),data:[]}); +} +_1(this); +if(_ba.options.data){ +$(this).treegrid("loadData",_ba.options.data); +} +_25(this); +}); +}; +$.fn.treegrid.methods={options:function(jq){ +return $.data(jq[0],"treegrid").options; +},resize:function(jq,_bb){ +return jq.each(function(){ +$(this).datagrid("resize",_bb); +}); +},fixRowHeight:function(jq,_bc){ +return jq.each(function(){ +_26(this,_bc); +}); +},loadData:function(jq,_bd){ +return jq.each(function(){ +_3f(this,_bd.parent,_bd); +}); +},load:function(jq,_be){ +return jq.each(function(){ +$(this).treegrid("options").pageNumber=1; +$(this).treegrid("getPager").pagination({pageNumber:1}); +$(this).treegrid("reload",_be); +}); +},reload:function(jq,id){ +return jq.each(function(){ +var _bf=$(this).treegrid("options"); +var _c0={}; +if(typeof id=="object"){ +_c0=id; +}else{ +_c0=$.extend({},_bf.queryParams); +_c0.id=id; +} +if(_c0.id){ +var _c1=$(this).treegrid("find",_c0.id); +if(_c1.children){ +_c1.children.splice(0,_c1.children.length); +} +_bf.queryParams=_c0; +var tr=_bf.finder.getTr(this,_c0.id); +tr.next("tr.treegrid-tr-tree").remove(); +tr.find("span.tree-hit").removeClass("tree-expanded tree-expanded-hover").addClass("tree-collapsed"); +_78(this,_c0.id); +}else{ +_25(this,null,_c0); +} +}); +},reloadFooter:function(jq,_c2){ +return jq.each(function(){ +var _c3=$.data(this,"treegrid").options; +var dc=$.data(this,"datagrid").dc; +if(_c2){ +$.data(this,"treegrid").footer=_c2; +} +if(_c3.showFooter){ +_c3.view.renderFooter.call(_c3.view,this,dc.footer1,true); +_c3.view.renderFooter.call(_c3.view,this,dc.footer2,false); +if(_c3.view.onAfterRender){ +_c3.view.onAfterRender.call(_c3.view,this); +} +$(this).treegrid("fixRowHeight"); +} +}); +},getData:function(jq){ +return $.data(jq[0],"treegrid").data; +},getFooterRows:function(jq){ +return $.data(jq[0],"treegrid").footer; +},getRoot:function(jq){ +return _57(jq[0]); +},getRoots:function(jq){ +return _5a(jq[0]); +},getParent:function(jq,id){ +return _5c(jq[0],id); +},getChildren:function(jq,id){ +return _2b(jq[0],id); +},getLevel:function(jq,id){ +return _69(jq[0],id); +},find:function(jq,id){ +return _47(jq[0],id); +},isLeaf:function(jq,id){ +var _c4=$.data(jq[0],"treegrid").options; +var tr=_c4.finder.getTr(jq[0],id); +var hit=tr.find("span.tree-hit"); +return hit.length==0; +},select:function(jq,id){ +return jq.each(function(){ +$(this).datagrid("selectRow",id); +}); +},unselect:function(jq,id){ +return jq.each(function(){ +$(this).datagrid("unselectRow",id); +}); +},collapse:function(jq,id){ +return jq.each(function(){ +_74(this,id); +}); +},expand:function(jq,id){ +return jq.each(function(){ +_78(this,id); +}); +},toggle:function(jq,id){ +return jq.each(function(){ +_36(this,id); +}); +},collapseAll:function(jq,id){ +return jq.each(function(){ +_82(this,id); +}); +},expandAll:function(jq,id){ +return jq.each(function(){ +_87(this,id); +}); +},expandTo:function(jq,id){ +return jq.each(function(){ +_8c(this,id); +}); +},append:function(jq,_c5){ +return jq.each(function(){ +_90(this,_c5); +}); +},insert:function(jq,_c6){ +return jq.each(function(){ +_96(this,_c6); +}); +},remove:function(jq,id){ +return jq.each(function(){ +_a2(this,id); +}); +},pop:function(jq,id){ +var row=jq.treegrid("find",id); +jq.treegrid("remove",id); +return row; +},refresh:function(jq,id){ +return jq.each(function(){ +var _c7=$.data(this,"treegrid").options; +_c7.view.refreshRow.call(_c7.view,this,id); +}); +},update:function(jq,_c8){ +return jq.each(function(){ +var _c9=$.data(this,"treegrid").options; +_c9.view.updateRow.call(_c9.view,this,_c8.id,_c8.row); +}); +},beginEdit:function(jq,id){ +return jq.each(function(){ +$(this).datagrid("beginEdit",id); +$(this).treegrid("fixRowHeight",id); +}); +},endEdit:function(jq,id){ +return jq.each(function(){ +$(this).datagrid("endEdit",id); +}); +},cancelEdit:function(jq,id){ +return jq.each(function(){ +$(this).datagrid("cancelEdit",id); +}); +},showLines:function(jq){ +return jq.each(function(){ +_a6(this); +}); +}}; +$.fn.treegrid.parseOptions=function(_ca){ +return $.extend({},$.fn.datagrid.parseOptions(_ca),$.parser.parseOptions(_ca,["treeField",{animate:"boolean"}])); +}; +var _cb=$.extend({},$.fn.datagrid.defaults.view,{render:function(_cc,_cd,_ce){ +var _cf=$.data(_cc,"treegrid").options; +var _d0=$(_cc).datagrid("getColumnFields",_ce); +var _d1=$.data(_cc,"datagrid").rowIdPrefix; +if(_ce){ +if(!(_cf.rownumbers||(_cf.frozenColumns&&_cf.frozenColumns.length))){ +return; +} +} +var _d2=this; +if(this.treeNodes&&this.treeNodes.length){ +var _d3=_d4(_ce,this.treeLevel,this.treeNodes); +$(_cd).append(_d3.join("")); +} +function _d4(_d5,_d6,_d7){ +var _d8=$(_cc).treegrid("getParent",_d7[0][_cf.idField]); +var _d9=(_d8?_d8.children.length:$(_cc).treegrid("getRoots").length)-_d7.length; +var _da=[""]; +for(var i=0;i<_d7.length;i++){ +var row=_d7[i]; +if(row.state!="open"&&row.state!="closed"){ +row.state="open"; +} +var css=_cf.rowStyler?_cf.rowStyler.call(_cc,row):""; +var _db=""; +var _dc=""; +if(typeof css=="string"){ +_dc=css; +}else{ +if(css){ +_db=css["class"]||""; +_dc=css["style"]||""; +} +} +var cls="class=\"datagrid-row "+(_d9++%2&&_cf.striped?"datagrid-row-alt ":" ")+_db+"\""; +var _dd=_dc?"style=\""+_dc+"\"":""; +var _de=_d1+"-"+(_d5?1:2)+"-"+row[_cf.idField]; +_da.push(""); +_da=_da.concat(_d2.renderRow.call(_d2,_cc,_d0,_d5,_d6,row)); +_da.push(""); +if(row.children&&row.children.length){ +var tt=_d4(_d5,_d6+1,row.children); +var v=row.state=="closed"?"none":"block"; +_da.push(""); +} +} +_da.push("
                                                "); +_da=_da.concat(tt); +_da.push("
                                                "); +return _da; +}; +},renderFooter:function(_df,_e0,_e1){ +var _e2=$.data(_df,"treegrid").options; +var _e3=$.data(_df,"treegrid").footer||[]; +var _e4=$(_df).datagrid("getColumnFields",_e1); +var _e5=[""]; +for(var i=0;i<_e3.length;i++){ +var row=_e3[i]; +row[_e2.idField]=row[_e2.idField]||("foot-row-id"+i); +_e5.push(""); +_e5.push(this.renderRow.call(this,_df,_e4,_e1,0,row)); +_e5.push(""); +} +_e5.push("
                                                "); +$(_e0).html(_e5.join("")); +},renderRow:function(_e6,_e7,_e8,_e9,row){ +var _ea=$.data(_e6,"treegrid").options; +var cc=[]; +if(_e8&&_ea.rownumbers){ +cc.push("
                                                0
                                                "); +} +for(var i=0;i<_e7.length;i++){ +var _eb=_e7[i]; +var col=$(_e6).datagrid("getColumnOption",_eb); +if(col){ +var css=col.styler?(col.styler(row[_eb],row)||""):""; +var _ec=""; +var _ed=""; +if(typeof css=="string"){ +_ed=css; +}else{ +if(cc){ +_ec=css["class"]||""; +_ed=css["style"]||""; +} +} +var cls=_ec?"class=\""+_ec+"\"":""; +var _ee=col.hidden?"style=\"display:none;"+_ed+"\"":(_ed?"style=\""+_ed+"\"":""); +cc.push(""); +var _ee=""; +if(!col.checkbox){ +if(col.align){ +_ee+="text-align:"+col.align+";"; +} +if(!_ea.nowrap){ +_ee+="white-space:normal;height:auto;"; +}else{ +if(_ea.autoRowHeight){ +_ee+="height:auto;"; +} +} +} +cc.push("
                                                "); +if(col.checkbox){ +if(row.checked){ +cc.push(""); +}else{ +var val=null; +if(col.formatter){ +val=col.formatter(row[_eb],row); +}else{ +val=row[_eb]; +} +if(_eb==_ea.treeField){ +for(var j=0;j<_e9;j++){ +cc.push(""); +} +if(row.state=="closed"){ +cc.push(""); +cc.push(""); +}else{ +if(row.children&&row.children.length){ +cc.push(""); +cc.push(""); +}else{ +cc.push(""); +cc.push(""); +} +} +cc.push(""+val+""); +}else{ +cc.push(val); +} +} +cc.push("
                                                "); +cc.push(""); +} +} +return cc.join(""); +},refreshRow:function(_ef,id){ +this.updateRow.call(this,_ef,id,{}); +},updateRow:function(_f0,id,row){ +var _f1=$.data(_f0,"treegrid").options; +var _f2=$(_f0).treegrid("find",id); +$.extend(_f2,row); +var _f3=$(_f0).treegrid("getLevel",id)-1; +var _f4=_f1.rowStyler?_f1.rowStyler.call(_f0,_f2):""; +var _f5=$.data(_f0,"datagrid").rowIdPrefix; +var _f6=_f2[_f1.idField]; +function _f7(_f8){ +var _f9=$(_f0).treegrid("getColumnFields",_f8); +var tr=_f1.finder.getTr(_f0,id,"body",(_f8?1:2)); +var _fa=tr.find("div.datagrid-cell-rownumber").html(); +var _fb=tr.find("div.datagrid-cell-check input[type=checkbox]").is(":checked"); +tr.html(this.renderRow(_f0,_f9,_f8,_f3,_f2)); +tr.attr("style",_f4||""); +tr.find("div.datagrid-cell-rownumber").html(_fa); +if(_fb){ +tr.find("div.datagrid-cell-check input[type=checkbox]")._propAttr("checked",true); +} +if(_f6!=id){ +tr.attr("id",_f5+"-"+(_f8?1:2)+"-"+_f6); +tr.attr("node-id",_f6); +} +}; +_f7.call(this,true); +_f7.call(this,false); +$(_f0).treegrid("fixRowHeight",id); +},deleteRow:function(_fc,id){ +var _fd=$.data(_fc,"treegrid").options; +var tr=_fd.finder.getTr(_fc,id); +tr.next("tr.treegrid-tr-tree").remove(); +tr.remove(); +var _fe=del(id); +if(_fe){ +if(_fe.children.length==0){ +tr=_fd.finder.getTr(_fc,_fe[_fd.idField]); +tr.next("tr.treegrid-tr-tree").remove(); +var _ff=tr.children("td[field=\""+_fd.treeField+"\"]").children("div.datagrid-cell"); +_ff.find(".tree-icon").removeClass("tree-folder").addClass("tree-file"); +_ff.find(".tree-hit").remove(); +$("").prependTo(_ff); +} +} +function del(id){ +var cc; +var _100=$(_fc).treegrid("getParent",id); +if(_100){ +cc=_100.children; +}else{ +cc=$(_fc).treegrid("getData"); +} +for(var i=0;ib?1:-1); +}; +r=_10b(r1[sn],r2[sn])*(so=="asc"?1:-1); +if(r!=0){ +return r; +} +} +return r; +}); +for(var i=0;i=_3d[0]&&len<=_3d[1]; +},message:"Please enter a value between {0} and {1}."},remote:{validator:function(_3e,_3f){ +var _40={}; +_40[_3f[1]]=_3e; +var _41=$.ajax({url:_3f[0],dataType:"json",data:_40,async:false,cache:false,type:"post"}).responseText; +return _41=="true"; +},message:"Please fix this field."}},onBeforeValidate:function(){ +},onValidate:function(_42){ +}}; +})(jQuery); + diff --git a/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/plugins/jquery.window.js b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/plugins/jquery.window.js new file mode 100644 index 00000000..1db3cfd4 --- /dev/null +++ b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/plugins/jquery.window.js @@ -0,0 +1,261 @@ +/** + * jQuery EasyUI 1.4.1 + * + * Copyright (c) 2009-2014 www.jeasyui.com. All rights reserved. + * + * Licensed under the GPL license: http://www.gnu.org/licenses/gpl.txt + * To use it on other terms please contact us at info@jeasyui.com + * + */ +(function($){ +function _1(_2,_3){ +var _4=$.data(_2,"window"); +if(_3){ +if(_3.left!=null){ +_4.options.left=_3.left; +} +if(_3.top!=null){ +_4.options.top=_3.top; +} +} +$(_2).panel("move",_4.options); +if(_4.shadow){ +_4.shadow.css({left:_4.options.left,top:_4.options.top}); +} +}; +function _5(_6,_7){ +var _8=$.data(_6,"window").options; +var pp=$(_6).window("panel"); +var _9=pp._outerWidth(); +if(_8.inline){ +var _a=pp.parent(); +_8.left=Math.ceil((_a.width()-_9)/2+_a.scrollLeft()); +}else{ +_8.left=Math.ceil(($(window)._outerWidth()-_9)/2+$(document).scrollLeft()); +} +if(_7){ +_1(_6); +} +}; +function _b(_c,_d){ +var _e=$.data(_c,"window").options; +var pp=$(_c).window("panel"); +var _f=pp._outerHeight(); +if(_e.inline){ +var _10=pp.parent(); +_e.top=Math.ceil((_10.height()-_f)/2+_10.scrollTop()); +}else{ +_e.top=Math.ceil(($(window)._outerHeight()-_f)/2+$(document).scrollTop()); +} +if(_d){ +_1(_c); +} +}; +function _11(_12){ +var _13=$.data(_12,"window"); +var _14=_13.options; +var win=$(_12).panel($.extend({},_13.options,{border:false,doSize:true,closed:true,cls:"window",headerCls:"window-header",bodyCls:"window-body "+(_14.noheader?"window-body-noheader":""),onBeforeDestroy:function(){ +if(_14.onBeforeDestroy.call(_12)==false){ +return false; +} +if(_13.shadow){ +_13.shadow.remove(); +} +if(_13.mask){ +_13.mask.remove(); +} +},onClose:function(){ +if(_13.shadow){ +_13.shadow.hide(); +} +if(_13.mask){ +_13.mask.hide(); +} +_14.onClose.call(_12); +},onOpen:function(){ +if(_13.mask){ +_13.mask.css({display:"block",zIndex:$.fn.window.defaults.zIndex++}); +} +if(_13.shadow){ +_13.shadow.css({display:"block",zIndex:$.fn.window.defaults.zIndex++,left:_14.left,top:_14.top,width:_13.window._outerWidth(),height:_13.window._outerHeight()}); +} +_13.window.css("z-index",$.fn.window.defaults.zIndex++); +_14.onOpen.call(_12); +},onResize:function(_15,_16){ +var _17=$(this).panel("options"); +$.extend(_14,{width:_17.width,height:_17.height,left:_17.left,top:_17.top}); +if(_13.shadow){ +_13.shadow.css({left:_14.left,top:_14.top,width:_13.window._outerWidth(),height:_13.window._outerHeight()}); +} +_14.onResize.call(_12,_15,_16); +},onMinimize:function(){ +if(_13.shadow){ +_13.shadow.hide(); +} +if(_13.mask){ +_13.mask.hide(); +} +_13.options.onMinimize.call(_12); +},onBeforeCollapse:function(){ +if(_14.onBeforeCollapse.call(_12)==false){ +return false; +} +if(_13.shadow){ +_13.shadow.hide(); +} +},onExpand:function(){ +if(_13.shadow){ +_13.shadow.show(); +} +_14.onExpand.call(_12); +}})); +_13.window=win.panel("panel"); +if(_13.mask){ +_13.mask.remove(); +} +if(_14.modal==true){ +_13.mask=$("
                                                ").insertAfter(_13.window); +_13.mask.css({width:(_14.inline?_13.mask.parent().width():_18().width),height:(_14.inline?_13.mask.parent().height():_18().height),display:"none"}); +} +if(_13.shadow){ +_13.shadow.remove(); +} +if(_14.shadow==true){ +_13.shadow=$("
                                                ").insertAfter(_13.window); +_13.shadow.css({display:"none"}); +} +if(_14.left==null){ +_5(_12); +} +if(_14.top==null){ +_b(_12); +} +_1(_12); +if(!_14.closed){ +win.window("open"); +} +}; +function _19(_1a){ +var _1b=$.data(_1a,"window"); +_1b.window.draggable({handle:">div.panel-header>div.panel-title",disabled:_1b.options.draggable==false,onStartDrag:function(e){ +if(_1b.mask){ +_1b.mask.css("z-index",$.fn.window.defaults.zIndex++); +} +if(_1b.shadow){ +_1b.shadow.css("z-index",$.fn.window.defaults.zIndex++); +} +_1b.window.css("z-index",$.fn.window.defaults.zIndex++); +if(!_1b.proxy){ +_1b.proxy=$("
                                                ").insertAfter(_1b.window); +} +_1b.proxy.css({display:"none",zIndex:$.fn.window.defaults.zIndex++,left:e.data.left,top:e.data.top}); +_1b.proxy._outerWidth(_1b.window._outerWidth()); +_1b.proxy._outerHeight(_1b.window._outerHeight()); +setTimeout(function(){ +if(_1b.proxy){ +_1b.proxy.show(); +} +},500); +},onDrag:function(e){ +_1b.proxy.css({display:"block",left:e.data.left,top:e.data.top}); +return false; +},onStopDrag:function(e){ +_1b.options.left=e.data.left; +_1b.options.top=e.data.top; +$(_1a).window("move"); +_1b.proxy.remove(); +_1b.proxy=null; +}}); +_1b.window.resizable({disabled:_1b.options.resizable==false,onStartResize:function(e){ +if(_1b.pmask){ +_1b.pmask.remove(); +} +_1b.pmask=$("
                                                ").insertAfter(_1b.window); +_1b.pmask.css({zIndex:$.fn.window.defaults.zIndex++,left:e.data.left,top:e.data.top,width:_1b.window._outerWidth(),height:_1b.window._outerHeight()}); +if(_1b.proxy){ +_1b.proxy.remove(); +} +_1b.proxy=$("
                                                ").insertAfter(_1b.window); +_1b.proxy.css({zIndex:$.fn.window.defaults.zIndex++,left:e.data.left,top:e.data.top}); +_1b.proxy._outerWidth(e.data.width)._outerHeight(e.data.height); +},onResize:function(e){ +_1b.proxy.css({left:e.data.left,top:e.data.top}); +_1b.proxy._outerWidth(e.data.width); +_1b.proxy._outerHeight(e.data.height); +return false; +},onStopResize:function(e){ +$(_1a).window("resize",e.data); +_1b.pmask.remove(); +_1b.pmask=null; +_1b.proxy.remove(); +_1b.proxy=null; +}}); +}; +function _18(){ +if(document.compatMode=="BackCompat"){ +return {width:Math.max(document.body.scrollWidth,document.body.clientWidth),height:Math.max(document.body.scrollHeight,document.body.clientHeight)}; +}else{ +return {width:Math.max(document.documentElement.scrollWidth,document.documentElement.clientWidth),height:Math.max(document.documentElement.scrollHeight,document.documentElement.clientHeight)}; +} +}; +$(window).resize(function(){ +$("body>div.window-mask").css({width:$(window)._outerWidth(),height:$(window)._outerHeight()}); +setTimeout(function(){ +$("body>div.window-mask").css({width:_18().width,height:_18().height}); +},50); +}); +$.fn.window=function(_1c,_1d){ +if(typeof _1c=="string"){ +var _1e=$.fn.window.methods[_1c]; +if(_1e){ +return _1e(this,_1d); +}else{ +return this.panel(_1c,_1d); +} +} +_1c=_1c||{}; +return this.each(function(){ +var _1f=$.data(this,"window"); +if(_1f){ +$.extend(_1f.options,_1c); +}else{ +_1f=$.data(this,"window",{options:$.extend({},$.fn.window.defaults,$.fn.window.parseOptions(this),_1c)}); +if(!_1f.options.inline){ +document.body.appendChild(this); +} +} +_11(this); +_19(this); +}); +}; +$.fn.window.methods={options:function(jq){ +var _20=jq.panel("options"); +var _21=$.data(jq[0],"window").options; +return $.extend(_21,{closed:_20.closed,collapsed:_20.collapsed,minimized:_20.minimized,maximized:_20.maximized}); +},window:function(jq){ +return $.data(jq[0],"window").window; +},move:function(jq,_22){ +return jq.each(function(){ +_1(this,_22); +}); +},hcenter:function(jq){ +return jq.each(function(){ +_5(this,true); +}); +},vcenter:function(jq){ +return jq.each(function(){ +_b(this,true); +}); +},center:function(jq){ +return jq.each(function(){ +_5(this); +_b(this); +_1(this); +}); +}}; +$.fn.window.parseOptions=function(_23){ +return $.extend({},$.fn.panel.parseOptions(_23),$.parser.parseOptions(_23,[{draggable:"boolean",resizable:"boolean",shadow:"boolean",modal:"boolean",inline:"boolean"}])); +}; +$.fn.window.defaults=$.extend({},$.fn.panel.defaults,{zIndex:9000,draggable:true,resizable:true,shadow:true,modal:false,inline:false,title:"New Window",collapsible:true,minimizable:true,maximizable:true,closable:true,closed:false}); +})(jQuery); + diff --git a/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/readme.txt b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/readme.txt new file mode 100644 index 00000000..bd3b33b1 --- /dev/null +++ b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/readme.txt @@ -0,0 +1,4 @@ +Current Version: 1.4.1 +====================== +This software is allowed to use under GPL or you need to buy commercial license for better support or other purpose. +Please contact us at info@jeasyui.com diff --git a/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/src/easyloader.js b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/src/easyloader.js new file mode 100644 index 00000000..8c04aab7 --- /dev/null +++ b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/src/easyloader.js @@ -0,0 +1,417 @@ +/** + * jQuery EasyUI 1.4.1 + * + * Copyright (c) 2009-2014 www.jeasyui.com. All rights reserved. + * + * Licensed under the GPL license: http://www.gnu.org/licenses/gpl.txt + * To use it on other terms please contact us at info@jeasyui.com + * + */ +/** + * easyloader - jQuery EasyUI + * + */ +(function(){ + var modules = { + draggable:{ + js:'jquery.draggable.js' + }, + droppable:{ + js:'jquery.droppable.js' + }, + resizable:{ + js:'jquery.resizable.js' + }, + linkbutton:{ + js:'jquery.linkbutton.js', + css:'linkbutton.css' + }, + progressbar:{ + js:'jquery.progressbar.js', + css:'progressbar.css' + }, + tooltip:{ + js:'jquery.tooltip.js', + css:'tooltip.css' + }, + pagination:{ + js:'jquery.pagination.js', + css:'pagination.css', + dependencies:['linkbutton'] + }, + datagrid:{ + js:'jquery.datagrid.js', + css:'datagrid.css', + dependencies:['panel','resizable','linkbutton','pagination'] + }, + treegrid:{ + js:'jquery.treegrid.js', + css:'tree.css', + dependencies:['datagrid'] + }, + propertygrid:{ + js:'jquery.propertygrid.js', + css:'propertygrid.css', + dependencies:['datagrid'] + }, + panel: { + js:'jquery.panel.js', + css:'panel.css' + }, + window:{ + js:'jquery.window.js', + css:'window.css', + dependencies:['resizable','draggable','panel'] + }, + dialog:{ + js:'jquery.dialog.js', + css:'dialog.css', + dependencies:['linkbutton','window'] + }, + messager:{ + js:'jquery.messager.js', + css:'messager.css', + dependencies:['linkbutton','window','progressbar'] + }, + layout:{ + js:'jquery.layout.js', + css:'layout.css', + dependencies:['resizable','panel'] + }, + form:{ + js:'jquery.form.js' + }, + menu:{ + js:'jquery.menu.js', + css:'menu.css' + }, + tabs:{ + js:'jquery.tabs.js', + css:'tabs.css', + dependencies:['panel','linkbutton'] + }, + menubutton:{ + js:'jquery.menubutton.js', + css:'menubutton.css', + dependencies:['linkbutton','menu'] + }, + splitbutton:{ + js:'jquery.splitbutton.js', + css:'splitbutton.css', + dependencies:['menubutton'] + }, + accordion:{ + js:'jquery.accordion.js', + css:'accordion.css', + dependencies:['panel'] + }, + calendar:{ + js:'jquery.calendar.js', + css:'calendar.css' + }, + textbox:{ + js:'jquery.textbox.js', + css:'textbox.css', + dependencies:['validatebox','linkbutton'] + }, + filebox:{ + js:'jquery.filebox.js', + css:'filebox.css', + dependencies:['textbox'] + }, + combo:{ + js:'jquery.combo.js', + css:'combo.css', + dependencies:['panel','textbox'] + }, + combobox:{ + js:'jquery.combobox.js', + css:'combobox.css', + dependencies:['combo'] + }, + combotree:{ + js:'jquery.combotree.js', + dependencies:['combo','tree'] + }, + combogrid:{ + js:'jquery.combogrid.js', + dependencies:['combo','datagrid'] + }, + validatebox:{ + js:'jquery.validatebox.js', + css:'validatebox.css', + dependencies:['tooltip'] + }, + numberbox:{ + js:'jquery.numberbox.js', + dependencies:['textbox'] + }, + searchbox:{ + js:'jquery.searchbox.js', + css:'searchbox.css', + dependencies:['menubutton','textbox'] + }, + spinner:{ + js:'jquery.spinner.js', + css:'spinner.css', + dependencies:['textbox'] + }, + numberspinner:{ + js:'jquery.numberspinner.js', + dependencies:['spinner','numberbox'] + }, + timespinner:{ + js:'jquery.timespinner.js', + dependencies:['spinner'] + }, + tree:{ + js:'jquery.tree.js', + css:'tree.css', + dependencies:['draggable','droppable'] + }, + datebox:{ + js:'jquery.datebox.js', + css:'datebox.css', + dependencies:['calendar','combo'] + }, + datetimebox:{ + js:'jquery.datetimebox.js', + dependencies:['datebox','timespinner'] + }, + slider:{ + js:'jquery.slider.js', + dependencies:['draggable'] + }, + tooltip:{ + js:'jquery.tooltip.js' + }, + parser:{ + js:'jquery.parser.js' + } + }; + + var locales = { + 'af':'easyui-lang-af.js', + 'ar':'easyui-lang-ar.js', + 'bg':'easyui-lang-bg.js', + 'ca':'easyui-lang-ca.js', + 'cs':'easyui-lang-cs.js', + 'cz':'easyui-lang-cz.js', + 'da':'easyui-lang-da.js', + 'de':'easyui-lang-de.js', + 'el':'easyui-lang-el.js', + 'en':'easyui-lang-en.js', + 'es':'easyui-lang-es.js', + 'fr':'easyui-lang-fr.js', + 'it':'easyui-lang-it.js', + 'jp':'easyui-lang-jp.js', + 'nl':'easyui-lang-nl.js', + 'pl':'easyui-lang-pl.js', + 'pt_BR':'easyui-lang-pt_BR.js', + 'ru':'easyui-lang-ru.js', + 'sv_SE':'easyui-lang-sv_SE.js', + 'tr':'easyui-lang-tr.js', + 'zh_CN':'easyui-lang-zh_CN.js', + 'zh_TW':'easyui-lang-zh_TW.js' + }; + + var queues = {}; + + function loadJs(url, callback){ + var done = false; + var script = document.createElement('script'); + script.type = 'text/javascript'; + script.language = 'javascript'; + script.src = url; + script.onload = script.onreadystatechange = function(){ + if (!done && (!script.readyState || script.readyState == 'loaded' || script.readyState == 'complete')){ + done = true; + script.onload = script.onreadystatechange = null; + if (callback){ + callback.call(script); + } + } + } + document.getElementsByTagName("head")[0].appendChild(script); + } + + function runJs(url, callback){ + loadJs(url, function(){ + document.getElementsByTagName("head")[0].removeChild(this); + if (callback){ + callback(); + } + }); + } + + function loadCss(url, callback){ + var link = document.createElement('link'); + link.rel = 'stylesheet'; + link.type = 'text/css'; + link.media = 'screen'; + link.href = url; + document.getElementsByTagName('head')[0].appendChild(link); + if (callback){ + callback.call(link); + } + } + + function loadSingle(name, callback){ + queues[name] = 'loading'; + + var module = modules[name]; + var jsStatus = 'loading'; + var cssStatus = (easyloader.css && module['css']) ? 'loading' : 'loaded'; + + if (easyloader.css && module['css']){ + if (/^http/i.test(module['css'])){ + var url = module['css']; + } else { + var url = easyloader.base + 'themes/' + easyloader.theme + '/' + module['css']; + } + loadCss(url, function(){ + cssStatus = 'loaded'; + if (jsStatus == 'loaded' && cssStatus == 'loaded'){ + finish(); + } + }); + } + + if (/^http/i.test(module['js'])){ + var url = module['js']; + } else { + var url = easyloader.base + 'plugins/' + module['js']; + } + loadJs(url, function(){ + jsStatus = 'loaded'; + if (jsStatus == 'loaded' && cssStatus == 'loaded'){ + finish(); + } + }); + + function finish(){ + queues[name] = 'loaded'; + easyloader.onProgress(name); + if (callback){ + callback(); + } + } + } + + function loadModule(name, callback){ + var mm = []; + var doLoad = false; + + if (typeof name == 'string'){ + add(name); + } else { + for(var i=0; idiv.panel>div.accordion-header'); + if (headers.length){ + headerHeight = $(headers[0]).css('height', '')._outerHeight(); + } + if (!isNaN(parseInt(opts.height))){ + bodyHeight = cc.height() - headerHeight*headers.length; + } + + _resize(true, bodyHeight - _resize(false) + 1); + + function _resize(collapsible, height){ + var totalHeight = 0; + for(var i=0; i= panels.length){ + return null; + } else { + return panels[which]; + } + } + return findBy(container, 'title', which); + } + + function setProperties(container){ + var opts = $.data(container, 'accordion').options; + var cc = $(container); + if (opts.border){ + cc.removeClass('accordion-noborder'); + } else { + cc.addClass('accordion-noborder'); + } + } + + function init(container){ + var state = $.data(container, 'accordion'); + var cc = $(container); + cc.addClass('accordion'); + + state.panels = []; + cc.children('div').each(function(){ + var opts = $.extend({}, $.parser.parseOptions(this), { + selected: ($(this).attr('selected') ? true : undefined) + }); + var pp = $(this); + state.panels.push(pp); + createPanel(container, pp, opts); + }); + + cc.bind('_resize', function(e,force){ + if ($(this).hasClass('easyui-fluid') || force){ + setSize(container); + } + return false; + }); + } + + function createPanel(container, pp, options){ + var opts = $.data(container, 'accordion').options; + pp.panel($.extend({}, { + collapsible: true, + minimizable: false, + maximizable: false, + closable: false, + doSize: false, + collapsed: true, + headerCls: 'accordion-header', + bodyCls: 'accordion-body' + }, options, { + onBeforeExpand: function(){ + if (options.onBeforeExpand){ + if (options.onBeforeExpand.call(this) == false){return false} + } + if (!opts.multiple){ + // get all selected panel + var all = $.grep(getSelections(container), function(p){ + return p.panel('options').collapsible; + }); + for(var i=0; i').addClass('accordion-collapse accordion-expand').appendTo(tool); + t.bind('click', function(){ + var index = getPanelIndex(container, pp); + if (pp.panel('options').collapsed){ + select(container, index); + } else { + unselect(container, index); + } + return false; + }); + pp.panel('options').collapsible ? t.show() : t.hide(); + + header.click(function(){ + $(this).find('a.accordion-collapse:visible').triggerHandler('click'); + return false; + }); + } + + /** + * select and set the specified panel active + */ + function select(container, which){ + var p = getPanel(container, which); + if (!p){return} + stopAnimate(container); + var opts = $.data(container, 'accordion').options; + p.panel('expand', opts.animate); + } + + function unselect(container, which){ + var p = getPanel(container, which); + if (!p){return} + stopAnimate(container); + var opts = $.data(container, 'accordion').options; + p.panel('collapse', opts.animate); + } + + function doFirstSelect(container){ + var opts = $.data(container, 'accordion').options; + var p = findBy(container, 'selected', true); + if (p){ + _select(getPanelIndex(container, p)); + } else { + _select(opts.selected); + } + + function _select(index){ + var animate = opts.animate; + opts.animate = false; + select(container, index); + opts.animate = animate; + } + } + + /** + * stop the animation of all panels + */ + function stopAnimate(container){ + var panels = $.data(container, 'accordion').panels; + for(var i=0; i
                                                ').appendTo(container); + panels.push(pp); + createPanel(container, pp, options); + setSize(container); + + opts.onAdd.call(container, options.title, panels.length-1); + + if (options.selected){ + select(container, panels.length-1); + } + } + + function remove(container, which){ + var state = $.data(container, 'accordion'); + var opts = state.options; + var panels = state.panels; + + stopAnimate(container); + + var panel = getPanel(container, which); + var title = panel.panel('options').title; + var index = getPanelIndex(container, panel); + + if (!panel){return} + if (opts.onBeforeRemove.call(container, title, index) == false){return} + + panels.splice(index, 1); + panel.panel('destroy'); + if (panels.length){ + setSize(container); + var curr = getSelected(container); + if (!curr){ + select(container, 0); + } + } + + opts.onRemove.call(container, title, index); + } + + $.fn.accordion = function(options, param){ + if (typeof options == 'string'){ + return $.fn.accordion.methods[options](this, param); + } + + options = options || {}; + return this.each(function(){ + var state = $.data(this, 'accordion'); + if (state){ + $.extend(state.options, options); + } else { + $.data(this, 'accordion', { + options: $.extend({}, $.fn.accordion.defaults, $.fn.accordion.parseOptions(this), options), + accordion: $(this).addClass('accordion'), + panels: [] + }); + init(this); + } + + setProperties(this); + setSize(this); + doFirstSelect(this); + }); + }; + + $.fn.accordion.methods = { + options: function(jq){ + return $.data(jq[0], 'accordion').options; + }, + panels: function(jq){ + return $.data(jq[0], 'accordion').panels; + }, + resize: function(jq, param){ + return jq.each(function(){ + setSize(this, param); + }); + }, + getSelections: function(jq){ + return getSelections(jq[0]); + }, + getSelected: function(jq){ + return getSelected(jq[0]); + }, + getPanel: function(jq, which){ + return getPanel(jq[0], which); + }, + getPanelIndex: function(jq, panel){ + return getPanelIndex(jq[0], panel); + }, + select: function(jq, which){ + return jq.each(function(){ + select(this, which); + }); + }, + unselect: function(jq, which){ + return jq.each(function(){ + unselect(this, which); + }); + }, + add: function(jq, options){ + return jq.each(function(){ + add(this, options); + }); + }, + remove: function(jq, which){ + return jq.each(function(){ + remove(this, which); + }); + } + }; + + $.fn.accordion.parseOptions = function(target){ + var t = $(target); + return $.extend({}, $.parser.parseOptions(target, [ + 'width','height', + {fit:'boolean',border:'boolean',animate:'boolean',multiple:'boolean',selected:'number'} + ])); + }; + + $.fn.accordion.defaults = { + width: 'auto', + height: 'auto', + fit: false, + border: true, + animate: true, + multiple: false, + selected: 0, + + onSelect: function(title, index){}, + onUnselect: function(title, index){}, + onAdd: function(title, index){}, + onBeforeRemove: function(title, index){}, + onRemove: function(title, index){} + }; +})(jQuery); diff --git a/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/src/jquery.calendar.js b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/src/jquery.calendar.js new file mode 100644 index 00000000..315f0434 --- /dev/null +++ b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/src/jquery.calendar.js @@ -0,0 +1,429 @@ +/** + * jQuery EasyUI 1.4.1 + * + * Copyright (c) 2009-2014 www.jeasyui.com. All rights reserved. + * + * Licensed under the GPL license: http://www.gnu.org/licenses/gpl.txt + * To use it on other terms please contact us at info@jeasyui.com + * + */ +/** + * calendar - jQuery EasyUI + * + */ +(function($){ + + function setSize(target, param){ + var opts = $.data(target, 'calendar').options; + var t = $(target); + if (param){ + $.extend(opts, { + width: param.width, + height: param.height + }); + } + t._size(opts, t.parent()); + t.find('.calendar-body')._outerHeight(t.height() - t.find('.calendar-header')._outerHeight()); + if (t.find('.calendar-menu').is(':visible')){ + showSelectMenus(target); + } + } + + function init(target){ + $(target).addClass('calendar').html( + '
                                                ' + + '
                                                ' + + '
                                                ' + + '
                                                ' + + '
                                                ' + + '
                                                ' + + '' + + '
                                                ' + + '
                                                ' + + '
                                                ' + + '
                                                ' + + '
                                                ' + + '' + + '' + + '' + + '
                                                ' + + '
                                                ' + + '
                                                ' + + '
                                                ' + + '
                                                ' + ); + + + $(target).bind('_resize', function(e,force){ + if ($(this).hasClass('easyui-fluid') || force){ + setSize(target); + } + return false; + }); + } + + function bindEvents(target){ + var opts = $.data(target, 'calendar').options; + var menu = $(target).find('.calendar-menu'); + menu.find('.calendar-menu-year').unbind('.calendar').bind('keypress.calendar', function(e){ + if (e.keyCode == 13){ + setDate(true); + } + }); + $(target).unbind('.calendar').bind('mouseover.calendar', function(e){ + var t = toTarget(e.target); + if (t.hasClass('calendar-nav') || t.hasClass('calendar-text') || (t.hasClass('calendar-day') && !t.hasClass('calendar-disabled'))){ + t.addClass('calendar-nav-hover'); + } + }).bind('mouseout.calendar', function(e){ + var t = toTarget(e.target); + if (t.hasClass('calendar-nav') || t.hasClass('calendar-text') || (t.hasClass('calendar-day') && !t.hasClass('calendar-disabled'))){ + t.removeClass('calendar-nav-hover'); + } + }).bind('click.calendar', function(e){ + var t = toTarget(e.target); + if (t.hasClass('calendar-menu-next') || t.hasClass('calendar-nextyear')){ + showYear(1); + } else if (t.hasClass('calendar-menu-prev') || t.hasClass('calendar-prevyear')){ + showYear(-1); + } else if (t.hasClass('calendar-menu-month')){ + menu.find('.calendar-selected').removeClass('calendar-selected'); + t.addClass('calendar-selected'); + setDate(true); + } else if (t.hasClass('calendar-prevmonth')){ + showMonth(-1); + } else if (t.hasClass('calendar-nextmonth')){ + showMonth(1); + } else if (t.hasClass('calendar-text')){ + if (menu.is(':visible')){ + menu.hide(); + } else { + showSelectMenus(target); + } + } else if (t.hasClass('calendar-day')){ + if (t.hasClass('calendar-disabled')){return} + var oldValue = opts.current; + t.closest('div.calendar-body').find('.calendar-selected').removeClass('calendar-selected'); + t.addClass('calendar-selected'); + var parts = t.attr('abbr').split(','); + var y = parseInt(parts[0]); + var m = parseInt(parts[1]); + var d = parseInt(parts[2]); + opts.current = new Date(y, m-1, d); + opts.onSelect.call(target, opts.current); + if (!oldValue || oldValue.getTime() != opts.current.getTime()){ + opts.onChange.call(target, opts.current, oldValue); + } + if (opts.year != y || opts.month != m){ + opts.year = y; + opts.month = m; + show(target); + } + } + }); + function toTarget(t){ + var day = $(t).closest('.calendar-day'); + if (day.length){ + return day; + } else { + return $(t); + } + } + function setDate(hideMenu){ + var menu = $(target).find('.calendar-menu'); + var year = menu.find('.calendar-menu-year').val(); + var month = menu.find('.calendar-selected').attr('abbr'); + if (!isNaN(year)){ + opts.year = parseInt(year); + opts.month = parseInt(month); + show(target); + } + if (hideMenu){menu.hide()} + } + function showYear(delta){ + opts.year += delta; + show(target); + menu.find('.calendar-menu-year').val(opts.year); + } + function showMonth(delta){ + opts.month += delta; + if (opts.month > 12){ + opts.year++; + opts.month = 1; + } else if (opts.month < 1){ + opts.year--; + opts.month = 12; + } + show(target); + + menu.find('td.calendar-selected').removeClass('calendar-selected'); + menu.find('td:eq(' + (opts.month-1) + ')').addClass('calendar-selected'); + } + } + + /** + * show the select menu that can change year or month, if the menu is not be created then create it. + */ + function showSelectMenus(target){ + var opts = $.data(target, 'calendar').options; + $(target).find('.calendar-menu').show(); + + if ($(target).find('.calendar-menu-month-inner').is(':empty')){ + $(target).find('.calendar-menu-month-inner').empty(); + var t = $('
                                                ').appendTo($(target).find('.calendar-menu-month-inner')); + var idx = 0; + for(var i=0; i<3; i++){ + var tr = $('').appendTo(t); + for(var j=0; j<4; j++){ + $('').html(opts.months[idx++]).attr('abbr',idx).appendTo(tr); + } + } + } + + var body = $(target).find('.calendar-body'); + var sele = $(target).find('.calendar-menu'); + var seleYear = sele.find('.calendar-menu-year-inner'); + var seleMonth = sele.find('.calendar-menu-month-inner'); + + seleYear.find('input').val(opts.year).focus(); + seleMonth.find('td.calendar-selected').removeClass('calendar-selected'); + seleMonth.find('td:eq('+(opts.month-1)+')').addClass('calendar-selected'); + + sele._outerWidth(body._outerWidth()); + sele._outerHeight(body._outerHeight()); + seleMonth._outerHeight(sele.height() - seleYear._outerHeight()); + } + + /** + * get weeks data. + */ + function getWeeks(target, year, month){ + var opts = $.data(target, 'calendar').options; + var dates = []; + var lastDay = new Date(year, month, 0).getDate(); + for(var i=1; i<=lastDay; i++) dates.push([year,month,i]); + + // group date by week + var weeks = [], week = []; + var memoDay = -1; + while(dates.length > 0){ + var date = dates.shift(); + week.push(date); + var day = new Date(date[0],date[1]-1,date[2]).getDay(); + if (memoDay == day){ + day = 0; + } else if (day == (opts.firstDay==0 ? 7 : opts.firstDay) - 1){ + weeks.push(week); + week = []; + } + memoDay = day; + } + if (week.length){ + weeks.push(week); + } + + var firstWeek = weeks[0]; + if (firstWeek.length < 7){ + while(firstWeek.length < 7){ + var firstDate = firstWeek[0]; + var date = new Date(firstDate[0],firstDate[1]-1,firstDate[2]-1) + firstWeek.unshift([date.getFullYear(), date.getMonth()+1, date.getDate()]); + } + } else { + var firstDate = firstWeek[0]; + var week = []; + for(var i=1; i<=7; i++){ + var date = new Date(firstDate[0], firstDate[1]-1, firstDate[2]-i); + week.unshift([date.getFullYear(), date.getMonth()+1, date.getDate()]); + } + weeks.unshift(week); + } + + var lastWeek = weeks[weeks.length-1]; + while(lastWeek.length < 7){ + var lastDate = lastWeek[lastWeek.length-1]; + var date = new Date(lastDate[0], lastDate[1]-1, lastDate[2]+1); + lastWeek.push([date.getFullYear(), date.getMonth()+1, date.getDate()]); + } + if (weeks.length < 6){ + var lastDate = lastWeek[lastWeek.length-1]; + var week = []; + for(var i=1; i<=7; i++){ + var date = new Date(lastDate[0], lastDate[1]-1, lastDate[2]+i); + week.push([date.getFullYear(), date.getMonth()+1, date.getDate()]); + } + weeks.push(week); + } + + return weeks; + } + + /** + * show the calendar day. + */ + function show(target){ + var opts = $.data(target, 'calendar').options; + if (opts.current && !opts.validator.call(target, opts.current)){ + opts.current = null; + } + + var now = new Date(); + var todayInfo = now.getFullYear()+','+(now.getMonth()+1)+','+now.getDate(); + var currentInfo = opts.current ? (opts.current.getFullYear()+','+(opts.current.getMonth()+1)+','+opts.current.getDate()) : ''; + // calulate the saturday and sunday index + var saIndex = 6 - opts.firstDay; + var suIndex = saIndex + 1; + if (saIndex >= 7) saIndex -= 7; + if (suIndex >= 7) suIndex -= 7; + + $(target).find('.calendar-title span').html(opts.months[opts.month-1] + ' ' + opts.year); + + var body = $(target).find('div.calendar-body'); + body.children('table').remove(); + + var data = ['']; + data.push(''); + for(var i=opts.firstDay; i'+opts.weeks[i]+''); + } + for(var i=0; i'+opts.weeks[i]+''); + } + data.push(''); + + data.push(''); + var weeks = getWeeks(target, opts.year, opts.month); + for(var i=0; i'); + for(var j=0; j' + d + ''); + } + data.push(''); + } + data.push(''); + data.push('
                                                '); + + body.append(data.join('')); + body.children('table.calendar-dtable').prependTo(body); + + opts.onNavigate.call(target, opts.year, opts.month); + } + + $.fn.calendar = function(options, param){ + if (typeof options == 'string'){ + return $.fn.calendar.methods[options](this, param); + } + + options = options || {}; + return this.each(function(){ + var state = $.data(this, 'calendar'); + if (state){ + $.extend(state.options, options); + } else { + state = $.data(this, 'calendar', { + options:$.extend({}, $.fn.calendar.defaults, $.fn.calendar.parseOptions(this), options) + }); + init(this); + } + if (state.options.border == false){ + $(this).addClass('calendar-noborder'); + } + setSize(this); + bindEvents(this); + show(this); + $(this).find('div.calendar-menu').hide(); // hide the calendar menu + }); + }; + + $.fn.calendar.methods = { + options: function(jq){ + return $.data(jq[0], 'calendar').options; + }, + resize: function(jq, param){ + return jq.each(function(){ + setSize(this, param); + }); + }, + moveTo: function(jq, date){ + return jq.each(function(){ + var opts = $(this).calendar('options'); + if (opts.validator.call(this, date)){ + var oldValue = opts.current; + $(this).calendar({ + year: date.getFullYear(), + month: date.getMonth()+1, + current: date + }); + if (!oldValue || oldValue.getTime() != date.getTime()){ + opts.onChange.call(this, opts.current, oldValue); + } + } + }); + } + }; + + $.fn.calendar.parseOptions = function(target){ + var t = $(target); + return $.extend({}, $.parser.parseOptions(target, [ + {firstDay:'number',fit:'boolean',border:'boolean'} + ])); + }; + + $.fn.calendar.defaults = { + width:180, + height:180, + fit:false, + border:true, + firstDay:0, + weeks:['S','M','T','W','T','F','S'], + months:['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'], + year:new Date().getFullYear(), + month:new Date().getMonth()+1, + current:(function(){ + var d = new Date(); + return new Date(d.getFullYear(), d.getMonth(), d.getDate()); + })(), + + formatter:function(date){return date.getDate()}, + styler:function(date){return ''}, + validator:function(date){return true}, + + onSelect: function(date){}, + onChange: function(newDate, oldDate){}, + onNavigate: function(year, month){} + }; +})(jQuery); diff --git a/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/src/jquery.combobox.js b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/src/jquery.combobox.js new file mode 100644 index 00000000..cb350f70 --- /dev/null +++ b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/src/jquery.combobox.js @@ -0,0 +1,556 @@ +/** + * jQuery EasyUI 1.4.1 + * + * Copyright (c) 2009-2014 www.jeasyui.com. All rights reserved. + * + * Licensed under the GPL license: http://www.gnu.org/licenses/gpl.txt + * To use it on other terms please contact us at info@jeasyui.com + * + */ +/** + * combobox - jQuery EasyUI + * + * Dependencies: + * combo + * + */ +(function($){ + var COMBOBOX_SERNO = 0; + + function getRowIndex(target, value){ + var state = $.data(target, 'combobox'); + var opts = state.options; + var data = state.data; + for(var i=0; i panel.height()){ + var h = panel.scrollTop() + item.position().top + item.outerHeight() - panel.height(); + panel.scrollTop(h); + } + } + } + + function nav(target, dir){ + var opts = $.data(target, 'combobox').options; + var panel = $(target).combobox('panel'); + var item = panel.children('div.combobox-item-hover'); + if (!item.length){ + item = panel.children('div.combobox-item-selected'); + } + item.removeClass('combobox-item-hover'); + var firstSelector = 'div.combobox-item:visible:not(.combobox-item-disabled):first'; + var lastSelector = 'div.combobox-item:visible:not(.combobox-item-disabled):last'; + if (!item.length){ + item = panel.children(dir=='next' ? firstSelector : lastSelector); +// item = panel.children('div.combobox-item:visible:' + (dir=='next'?'first':'last')); + } else { + if (dir == 'next'){ + item = item.nextAll(firstSelector); +// item = item.nextAll('div.combobox-item:visible:first'); + if (!item.length){ + item = panel.children(firstSelector); +// item = panel.children('div.combobox-item:visible:first'); + } + } else { + item = item.prevAll(firstSelector); +// item = item.prevAll('div.combobox-item:visible:first'); + if (!item.length){ + item = panel.children(lastSelector); +// item = panel.children('div.combobox-item:visible:last'); + } + } + } + if (item.length){ + item.addClass('combobox-item-hover'); + var row = opts.finder.getRow(target, item); + if (row){ + scrollTo(target, row[opts.valueField]); + if (opts.selectOnNavigation){ + select(target, row[opts.valueField]); + } + } + } + } + + /** + * select the specified value + */ + function select(target, value){ + var opts = $.data(target, 'combobox').options; + var values = $(target).combo('getValues'); + if ($.inArray(value+'', values) == -1){ + if (opts.multiple){ + values.push(value); + } else { + values = [value]; + } + setValues(target, values); + opts.onSelect.call(target, opts.finder.getRow(target, value)); + } + } + + /** + * unselect the specified value + */ + function unselect(target, value){ + var opts = $.data(target, 'combobox').options; + var values = $(target).combo('getValues'); + var index = $.inArray(value+'', values); + if (index >= 0){ + values.splice(index, 1); + setValues(target, values); + opts.onUnselect.call(target, opts.finder.getRow(target, value)); + } + } + + /** + * set values + */ + function setValues(target, values, remainText){ + var opts = $.data(target, 'combobox').options; + var panel = $(target).combo('panel'); + + if (!$.isArray(values)){values = values.split(opts.separator)} + panel.find('div.combobox-item-selected').removeClass('combobox-item-selected'); + var vv = [], ss = []; + for(var i=0; i'); + dd.push(opts.groupFormatter ? opts.groupFormatter.call(target, g) : g); + dd.push('
                                                '); + } + } else { + group = undefined; + } + + var cls = 'combobox-item' + (row.disabled ? ' combobox-item-disabled' : '') + (g ? ' combobox-gitem' : ''); + dd.push('
                                                '); + dd.push(opts.formatter ? opts.formatter.call(target, row) : s); + dd.push('
                                                '); + +// if (item['selected']){ +// (function(){ +// for(var i=0; i= 0){ + vv.push(v); + } + }); + t.combobox('setValues', vv); + if (!opts.multiple){ + t.combobox('hidePanel'); + } + } + + /** + * create the component + */ + function create(target){ + var state = $.data(target, 'combobox'); + var opts = state.options; + + COMBOBOX_SERNO++; + state.itemIdPrefix = '_easyui_combobox_i' + COMBOBOX_SERNO; + state.groupIdPrefix = '_easyui_combobox_g' + COMBOBOX_SERNO; + + $(target).addClass('combobox-f'); + $(target).combo($.extend({}, opts, { + onShowPanel: function(){ + $(target).combo('panel').find('div.combobox-item,div.combobox-group').show(); + scrollTo(target, $(target).combobox('getValue')); + opts.onShowPanel.call(target); + } + })); + + $(target).combo('panel').unbind().bind('mouseover', function(e){ + $(this).children('div.combobox-item-hover').removeClass('combobox-item-hover'); + var item = $(e.target).closest('div.combobox-item'); + if (!item.hasClass('combobox-item-disabled')){ + item.addClass('combobox-item-hover'); + } + e.stopPropagation(); + }).bind('mouseout', function(e){ + $(e.target).closest('div.combobox-item').removeClass('combobox-item-hover'); + e.stopPropagation(); + }).bind('click', function(e){ + var item = $(e.target).closest('div.combobox-item'); + if (!item.length || item.hasClass('combobox-item-disabled')){return} + var row = opts.finder.getRow(target, item); + if (!row){return} + var value = row[opts.valueField]; + if (opts.multiple){ + if (item.hasClass('combobox-item-selected')){ + unselect(target, value); + } else { + select(target, value); + } + } else { + select(target, value); + $(target).combo('hidePanel'); + } + e.stopPropagation(); + }); + } + + $.fn.combobox = function(options, param){ + if (typeof options == 'string'){ + var method = $.fn.combobox.methods[options]; + if (method){ + return method(this, param); + } else { + return this.combo(options, param); + } + } + + options = options || {}; + return this.each(function(){ + var state = $.data(this, 'combobox'); + if (state){ + $.extend(state.options, options); + create(this); + } else { + state = $.data(this, 'combobox', { + options: $.extend({}, $.fn.combobox.defaults, $.fn.combobox.parseOptions(this), options), + data: [] + }); + create(this); + var data = $.fn.combobox.parseData(this); + if (data.length){ + loadData(this, data); + } + } + if (state.options.data){ + loadData(this, state.options.data); + } + request(this); + }); + }; + + + $.fn.combobox.methods = { + options: function(jq){ + var copts = jq.combo('options'); + return $.extend($.data(jq[0], 'combobox').options, { + width: copts.width, + height: copts.height, + originalValue: copts.originalValue, + disabled: copts.disabled, + readonly: copts.readonly + }); + }, + getData: function(jq){ + return $.data(jq[0], 'combobox').data; + }, + setValues: function(jq, values){ + return jq.each(function(){ + setValues(this, values); + }); + }, + setValue: function(jq, value){ + return jq.each(function(){ + setValues(this, [value]); + }); + }, + clear: function(jq){ + return jq.each(function(){ + $(this).combo('clear'); + var panel = $(this).combo('panel'); + panel.find('div.combobox-item-selected').removeClass('combobox-item-selected'); + }); + }, + reset: function(jq){ + return jq.each(function(){ + var opts = $(this).combobox('options'); + if (opts.multiple){ + $(this).combobox('setValues', opts.originalValue); + } else { + $(this).combobox('setValue', opts.originalValue); + } + }); + }, + loadData: function(jq, data){ + return jq.each(function(){ + loadData(this, data); + }); + }, + reload: function(jq, url){ + return jq.each(function(){ + request(this, url); + }); + }, + select: function(jq, value){ + return jq.each(function(){ + select(this, value); + }); + }, + unselect: function(jq, value){ + return jq.each(function(){ + unselect(this, value); + }); + } + }; + + $.fn.combobox.parseOptions = function(target){ + var t = $(target); + return $.extend({}, $.fn.combo.parseOptions(target), $.parser.parseOptions(target,[ + 'valueField','textField','groupField','mode','method','url' + ])); + }; + + $.fn.combobox.parseData = function(target){ + var data = []; + var opts = $(target).combobox('options'); + $(target).children().each(function(){ + if (this.tagName.toLowerCase() == 'optgroup'){ + var group = $(this).attr('label'); + $(this).children().each(function(){ + _parseItem(this, group); + }); + } else { + _parseItem(this); + } + }); + return data; + + function _parseItem(el, group){ + var t = $(el); + var row = {}; + row[opts.valueField] = t.attr('value')!=undefined ? t.attr('value') : t.text(); + row[opts.textField] = t.text(); + row['selected'] = t.is(':selected'); + row['disabled'] = t.is(':disabled'); + if (group){ + opts.groupField = opts.groupField || 'group'; + row[opts.groupField] = group; + } + data.push(row); + } + }; + + $.fn.combobox.defaults = $.extend({}, $.fn.combo.defaults, { + valueField: 'value', + textField: 'text', + groupField: null, + groupFormatter: function(group){return group;}, + mode: 'local', // or 'remote' + method: 'post', + url: null, + data: null, + + keyHandler: { + up: function(e){nav(this,'prev');e.preventDefault()}, + down: function(e){nav(this,'next');e.preventDefault()}, + left: function(e){}, + right: function(e){}, + enter: function(e){doEnter(this)}, + query: function(q,e){doQuery(this, q)} + }, + filter: function(q, row){ + var opts = $(this).combobox('options'); + return row[opts.textField].toLowerCase().indexOf(q.toLowerCase()) == 0; + }, + formatter: function(row){ + var opts = $(this).combobox('options'); + return row[opts.textField]; + }, + loader: function(param, success, error){ + var opts = $(this).combobox('options'); + if (!opts.url) return false; + $.ajax({ + type: opts.method, + url: opts.url, + data: param, + dataType: 'json', + success: function(data){ + success(data); + }, + error: function(){ + error.apply(this, arguments); + } + }); + }, + loadFilter: function(data){ + return data; + }, + finder:{ + getEl:function(target, value){ + var index = getRowIndex(target, value); + var id = $.data(target, 'combobox').itemIdPrefix + '_' + index; + return $('#'+id); + }, + getRow:function(target, p){ + var state = $.data(target, 'combobox'); + var index = (p instanceof jQuery) ? p.attr('id').substr(state.itemIdPrefix.length+1) : getRowIndex(target, p); + return state.data[parseInt(index)]; + } + }, + + onBeforeLoad: function(param){}, + onLoadSuccess: function(){}, + onLoadError: function(){}, + onSelect: function(record){}, + onUnselect: function(record){} + }); +})(jQuery); diff --git a/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/src/jquery.datebox.js b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/src/jquery.datebox.js new file mode 100644 index 00000000..843ffe64 --- /dev/null +++ b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/src/jquery.datebox.js @@ -0,0 +1,285 @@ +/** + * jQuery EasyUI 1.4.1 + * + * Copyright (c) 2009-2014 www.jeasyui.com. All rights reserved. + * + * Licensed under the GPL license: http://www.gnu.org/licenses/gpl.txt + * To use it on other terms please contact us at info@jeasyui.com + * + */ +/** + * datebox - jQuery EasyUI + * + * Dependencies: + * calendar + * combo + * + */ +(function($){ + /** + * create date box + */ + function createBox(target){ + var state = $.data(target, 'datebox'); + var opts = state.options; + + $(target).addClass('datebox-f').combo($.extend({}, opts, { + onShowPanel:function(){ + bindEvents(this); + setButtons(this); + setCalendar(this); + setValue(this, $(this).datebox('getText'), true); + opts.onShowPanel.call(this); + } + })); + + /** + * if the calendar isn't created, create it. + */ + if (!state.calendar){ + var panel = $(target).combo('panel').css('overflow','hidden'); + panel.panel('options').onBeforeDestroy = function(){ + var c = $(this).find('.calendar-shared'); + if (c.length){ + c.insertBefore(c[0].pholder); + } + }; + var cc = $('
                                                ').prependTo(panel); + if (opts.sharedCalendar){ + var c = $(opts.sharedCalendar); + if (!c[0].pholder){ + c[0].pholder = $('').insertAfter(c); + } + c.addClass('calendar-shared').appendTo(cc); + if (!c.hasClass('calendar')){ + c.calendar(); + } + state.calendar = c; + } else { + state.calendar = $('
                                                ').appendTo(cc).calendar(); + } + + $.extend(state.calendar.calendar('options'), { + fit:true, + border:false, + onSelect:function(date){ + var target = this.target; + var opts = $(target).datebox('options'); + setValue(target, opts.formatter.call(target, date)); + $(target).combo('hidePanel'); + opts.onSelect.call(target, date); + } + }); + } + + $(target).combo('textbox').parent().addClass('datebox'); + $(target).datebox('initValue', opts.value); + + function bindEvents(target){ + var opts = $(target).datebox('options'); + var panel = $(target).combo('panel'); + panel.unbind('.datebox').bind('click.datebox', function(e){ + if ($(e.target).hasClass('datebox-button-a')){ + var index = parseInt($(e.target).attr('datebox-button-index')); + opts.buttons[index].handler.call(e.target, target); + } + }); + } + function setButtons(target){ + var panel = $(target).combo('panel'); + if (panel.children('div.datebox-button').length){return} + var button = $('
                                                ').appendTo(panel); + var tr = button.find('tr'); + for(var i=0; i').appendTo(tr); + var btn = opts.buttons[i]; + var t = $('').html($.isFunction(btn.text) ? btn.text(target) : btn.text).appendTo(td); + t.attr('datebox-button-index', i); + } + tr.find('td').css('width', (100/opts.buttons.length)+'%'); + } + function setCalendar(target){ + var panel = $(target).combo('panel'); + var cc = panel.children('div.datebox-calendar-inner'); + panel.children()._outerWidth(panel.width()); + state.calendar.appendTo(cc); + state.calendar[0].target = target; + if (opts.panelHeight != 'auto'){ + var height = panel.height(); + panel.children().not(cc).each(function(){ + height -= $(this).outerHeight(); + }); + cc._outerHeight(height); + } + state.calendar.calendar('resize'); + } + } + + /** + * called when user inputs some value in text box + */ + function doQuery(target, q){ + setValue(target, q, true); + } + + /** + * called when user press enter key + */ + function doEnter(target){ + var state = $.data(target, 'datebox'); + var opts = state.options; + var current = state.calendar.calendar('options').current; + if (current){ + setValue(target, opts.formatter.call(target, current)); + $(target).combo('hidePanel'); + } + } + + function setValue(target, value, remainText){ + var state = $.data(target, 'datebox'); + var opts = state.options; + var calendar = state.calendar; + $(target).combo('setValue', value); + calendar.calendar('moveTo', opts.parser.call(target, value)); + if (!remainText){ + if (value){ + value = opts.formatter.call(target, calendar.calendar('options').current); + $(target).combo('setValue', value).combo('setText', value); + } else { + $(target).combo('setText', value); + } + } + } + + $.fn.datebox = function(options, param){ + if (typeof options == 'string'){ + var method = $.fn.datebox.methods[options]; + if (method){ + return method(this, param); + } else { + return this.combo(options, param); + } + } + + options = options || {}; + return this.each(function(){ + var state = $.data(this, 'datebox'); + if (state){ + $.extend(state.options, options); + } else { + $.data(this, 'datebox', { + options: $.extend({}, $.fn.datebox.defaults, $.fn.datebox.parseOptions(this), options) + }); + } + createBox(this); + }); + }; + + $.fn.datebox.methods = { + options: function(jq){ + var copts = jq.combo('options'); + return $.extend($.data(jq[0], 'datebox').options, { + width: copts.width, + height: copts.height, + originalValue: copts.originalValue, + disabled: copts.disabled, + readonly: copts.readonly + }); + }, + cloneFrom: function(jq, from){ + return jq.each(function(){ + $(this).combo('cloneFrom', from); + $.data(this, 'datebox', { + options: $.extend(true, {}, $(from).datebox('options')), + calendar: $(from).datebox('calendar') + }); + $(this).addClass('datebox-f'); + }); + }, + calendar: function(jq){ // get the calendar object + return $.data(jq[0], 'datebox').calendar; + }, + initValue: function(jq, value){ + return jq.each(function(){ + var opts = $(this).datebox('options'); + var value = opts.value; + if (value){ + value = opts.formatter.call(this, opts.parser.call(this, value)); + } + $(this).combo('initValue', value).combo('setText', value); + }); + }, + setValue: function(jq, value){ + return jq.each(function(){ + setValue(this, value); + }); + }, + reset: function(jq){ + return jq.each(function(){ + var opts = $(this).datebox('options'); + $(this).datebox('setValue', opts.originalValue); + }); + } + }; + + $.fn.datebox.parseOptions = function(target){ + return $.extend({}, $.fn.combo.parseOptions(target), $.parser.parseOptions(target, ['sharedCalendar'])); + }; + + $.fn.datebox.defaults = $.extend({}, $.fn.combo.defaults, { + panelWidth:180, + panelHeight:'auto', + sharedCalendar:null, + + keyHandler: { + up:function(e){}, + down:function(e){}, + left: function(e){}, + right: function(e){}, + enter:function(e){doEnter(this)}, + query:function(q,e){doQuery(this, q)} + }, + + currentText:'Today', + closeText:'Close', + okText:'Ok', + + buttons:[{ + text: function(target){return $(target).datebox('options').currentText;}, + handler: function(target){ + $(target).datebox('calendar').calendar({ + year:new Date().getFullYear(), + month:new Date().getMonth()+1, + current:new Date() + }); + doEnter(target); + } + },{ + text: function(target){return $(target).datebox('options').closeText;}, + handler: function(target){ + $(this).closest('div.combo-panel').panel('close'); + } + }], + + formatter:function(date){ + var y = date.getFullYear(); + var m = date.getMonth()+1; + var d = date.getDate(); + return (m<10?('0'+m):m)+'/'+(d<10?('0'+d):d)+'/'+y; + }, + parser:function(s){ + if (!s) return new Date(); + var ss = s.split('/'); + var m = parseInt(ss[0],10); + var d = parseInt(ss[1],10); + var y = parseInt(ss[2],10); + if (!isNaN(y) && !isNaN(m) && !isNaN(d)){ + return new Date(y,m-1,d); + } else { + return new Date(); + } + }, + + onSelect:function(date){} + }); +})(jQuery); diff --git a/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/src/jquery.draggable.js b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/src/jquery.draggable.js new file mode 100644 index 00000000..d3977ef9 --- /dev/null +++ b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/src/jquery.draggable.js @@ -0,0 +1,420 @@ +/** + * jQuery EasyUI 1.4.1 + * + * Copyright (c) 2009-2014 www.jeasyui.com. All rights reserved. + * + * Licensed under the GPL license: http://www.gnu.org/licenses/gpl.txt + * To use it on other terms please contact us at info@jeasyui.com + * + */ +/** + * draggable - jQuery EasyUI + * + */ +(function($){ +// var isDragging = false; + function drag(e){ + var state = $.data(e.data.target, 'draggable'); + var opts = state.options; + var proxy = state.proxy; + + var dragData = e.data; + var left = dragData.startLeft + e.pageX - dragData.startX; + var top = dragData.startTop + e.pageY - dragData.startY; + + if (proxy){ + if (proxy.parent()[0] == document.body){ + if (opts.deltaX != null && opts.deltaX != undefined){ + left = e.pageX + opts.deltaX; + } else { + left = e.pageX - e.data.offsetWidth; + } + if (opts.deltaY != null && opts.deltaY != undefined){ + top = e.pageY + opts.deltaY; + } else { + top = e.pageY - e.data.offsetHeight; + } + } else { + if (opts.deltaX != null && opts.deltaX != undefined){ + left += e.data.offsetWidth + opts.deltaX; + } + if (opts.deltaY != null && opts.deltaY != undefined){ + top += e.data.offsetHeight + opts.deltaY; + } + } + } + +// if (opts.deltaX != null && opts.deltaX != undefined){ +// left = e.pageX + opts.deltaX; +// } +// if (opts.deltaY != null && opts.deltaY != undefined){ +// top = e.pageY + opts.deltaY; +// } + + if (e.data.parent != document.body) { + left += $(e.data.parent).scrollLeft(); + top += $(e.data.parent).scrollTop(); + } + + if (opts.axis == 'h') { + dragData.left = left; + } else if (opts.axis == 'v') { + dragData.top = top; + } else { + dragData.left = left; + dragData.top = top; + } + } + + function applyDrag(e){ + var state = $.data(e.data.target, 'draggable'); + var opts = state.options; + var proxy = state.proxy; + if (!proxy){ + proxy = $(e.data.target); + } +// if (proxy){ +// proxy.css('cursor', opts.cursor); +// } else { +// proxy = $(e.data.target); +// $.data(e.data.target, 'draggable').handle.css('cursor', opts.cursor); +// } + proxy.css({ + left:e.data.left, + top:e.data.top + }); + $('body').css('cursor', opts.cursor); + } + + function doDown(e){ +// isDragging = true; + $.fn.draggable.isDragging = true; + var state = $.data(e.data.target, 'draggable'); + var opts = state.options; + + var droppables = $('.droppable').filter(function(){ + return e.data.target != this; + }).filter(function(){ + var accept = $.data(this, 'droppable').options.accept; + if (accept){ + return $(accept).filter(function(){ + return this == e.data.target; + }).length > 0; + } else { + return true; + } + }); + state.droppables = droppables; + + var proxy = state.proxy; + if (!proxy){ + if (opts.proxy){ + if (opts.proxy == 'clone'){ + proxy = $(e.data.target).clone().insertAfter(e.data.target); + } else { + proxy = opts.proxy.call(e.data.target, e.data.target); + } + state.proxy = proxy; + } else { + proxy = $(e.data.target); + } + } + + proxy.css('position', 'absolute'); + drag(e); + applyDrag(e); + + opts.onStartDrag.call(e.data.target, e); + return false; + } + + function doMove(e){ + var state = $.data(e.data.target, 'draggable'); + drag(e); + if (state.options.onDrag.call(e.data.target, e) != false){ + applyDrag(e); + } + + var source = e.data.target; + state.droppables.each(function(){ + var dropObj = $(this); + if (dropObj.droppable('options').disabled){return;} + + var p2 = dropObj.offset(); + if (e.pageX > p2.left && e.pageX < p2.left + dropObj.outerWidth() + && e.pageY > p2.top && e.pageY < p2.top + dropObj.outerHeight()){ + if (!this.entered){ + $(this).trigger('_dragenter', [source]); + this.entered = true; + } + $(this).trigger('_dragover', [source]); + } else { + if (this.entered){ + $(this).trigger('_dragleave', [source]); + this.entered = false; + } + } + }); + + return false; + } + + function doUp(e){ +// isDragging = false; + $.fn.draggable.isDragging = false; +// drag(e); + doMove(e); + + var state = $.data(e.data.target, 'draggable'); + var proxy = state.proxy; + var opts = state.options; + if (opts.revert){ + if (checkDrop() == true){ + $(e.data.target).css({ + position:e.data.startPosition, + left:e.data.startLeft, + top:e.data.startTop + }); + } else { + if (proxy){ + var left, top; + if (proxy.parent()[0] == document.body){ + left = e.data.startX - e.data.offsetWidth; + top = e.data.startY - e.data.offsetHeight; + } else { + left = e.data.startLeft; + top = e.data.startTop; + } + proxy.animate({ + left: left, + top: top + }, function(){ + removeProxy(); + }); + } else { + $(e.data.target).animate({ + left:e.data.startLeft, + top:e.data.startTop + }, function(){ + $(e.data.target).css('position', e.data.startPosition); + }); + } + } + } else { + $(e.data.target).css({ + position:'absolute', + left:e.data.left, + top:e.data.top + }); + checkDrop(); + } + + opts.onStopDrag.call(e.data.target, e); + + $(document).unbind('.draggable'); + setTimeout(function(){ + $('body').css('cursor',''); + },100); + + function removeProxy(){ + if (proxy){ + proxy.remove(); + } + state.proxy = null; + } + + function checkDrop(){ + var dropped = false; + state.droppables.each(function(){ + var dropObj = $(this); + if (dropObj.droppable('options').disabled){return;} + + var p2 = dropObj.offset(); + if (e.pageX > p2.left && e.pageX < p2.left + dropObj.outerWidth() + && e.pageY > p2.top && e.pageY < p2.top + dropObj.outerHeight()){ + if (opts.revert){ + $(e.data.target).css({ + position:e.data.startPosition, + left:e.data.startLeft, + top:e.data.startTop + }); + } + $(this).trigger('_drop', [e.data.target]); + removeProxy(); + dropped = true; + this.entered = false; + return false; + } + }); + if (!dropped && !opts.revert){ + removeProxy(); + } + return dropped; + } + + return false; + } + + $.fn.draggable = function(options, param){ + if (typeof options == 'string'){ + return $.fn.draggable.methods[options](this, param); + } + + return this.each(function(){ + var opts; + var state = $.data(this, 'draggable'); + if (state) { + state.handle.unbind('.draggable'); + opts = $.extend(state.options, options); + } else { + opts = $.extend({}, $.fn.draggable.defaults, $.fn.draggable.parseOptions(this), options || {}); + } + var handle = opts.handle ? (typeof opts.handle=='string' ? $(opts.handle, this) : opts.handle) : $(this); + + $.data(this, 'draggable', { + options: opts, + handle: handle + }); + + if (opts.disabled) { + $(this).css('cursor', ''); + return; + } + + handle.unbind('.draggable').bind('mousemove.draggable', {target:this}, function(e){ +// if (isDragging) return; + if ($.fn.draggable.isDragging){return} + var opts = $.data(e.data.target, 'draggable').options; + if (checkArea(e)){ + $(this).css('cursor', opts.cursor); + } else { + $(this).css('cursor', ''); + } + }).bind('mouseleave.draggable', {target:this}, function(e){ + $(this).css('cursor', ''); + }).bind('mousedown.draggable', {target:this}, function(e){ + if (checkArea(e) == false) return; + $(this).css('cursor', ''); + + var position = $(e.data.target).position(); + var offset = $(e.data.target).offset(); + var data = { + startPosition: $(e.data.target).css('position'), + startLeft: position.left, + startTop: position.top, + left: position.left, + top: position.top, + startX: e.pageX, + startY: e.pageY, + offsetWidth: (e.pageX - offset.left), + offsetHeight: (e.pageY - offset.top), + target: e.data.target, + parent: $(e.data.target).parent()[0] + }; + + $.extend(e.data, data); + var opts = $.data(e.data.target, 'draggable').options; + if (opts.onBeforeDrag.call(e.data.target, e) == false) return; + + $(document).bind('mousedown.draggable', e.data, doDown); + $(document).bind('mousemove.draggable', e.data, doMove); + $(document).bind('mouseup.draggable', e.data, doUp); +// $('body').css('cursor', opts.cursor); + }); + + // check if the handle can be dragged + function checkArea(e) { + var state = $.data(e.data.target, 'draggable'); + var handle = state.handle; + var offset = $(handle).offset(); + var width = $(handle).outerWidth(); + var height = $(handle).outerHeight(); + var t = e.pageY - offset.top; + var r = offset.left + width - e.pageX; + var b = offset.top + height - e.pageY; + var l = e.pageX - offset.left; + + return Math.min(t,r,b,l) > state.options.edge; + } + + }); + }; + + $.fn.draggable.methods = { + options: function(jq){ + return $.data(jq[0], 'draggable').options; + }, + proxy: function(jq){ + return $.data(jq[0], 'draggable').proxy; + }, + enable: function(jq){ + return jq.each(function(){ + $(this).draggable({disabled:false}); + }); + }, + disable: function(jq){ + return jq.each(function(){ + $(this).draggable({disabled:true}); + }); + } + }; + + $.fn.draggable.parseOptions = function(target){ + var t = $(target); + return $.extend({}, + $.parser.parseOptions(target, ['cursor','handle','axis', + {'revert':'boolean','deltaX':'number','deltaY':'number','edge':'number'}]), { + disabled: (t.attr('disabled') ? true : undefined) + }); + }; + + $.fn.draggable.defaults = { + proxy:null, // 'clone' or a function that will create the proxy object, + // the function has the source parameter that indicate the source object dragged. + revert:false, + cursor:'move', + deltaX:null, + deltaY:null, + handle: null, + disabled: false, + edge:0, + axis:null, // v or h + + onBeforeDrag: function(e){}, + onStartDrag: function(e){}, + onDrag: function(e){}, + onStopDrag: function(e){} + }; + + $.fn.draggable.isDragging = false; + +// $(function(){ +// function touchHandler(e) { +// var touches = e.changedTouches, first = touches[0], type = ""; +// +// switch(e.type) { +// case "touchstart": type = "mousedown"; break; +// case "touchmove": type = "mousemove"; break; +// case "touchend": type = "mouseup"; break; +// default: return; +// } +// var simulatedEvent = document.createEvent("MouseEvent"); +// simulatedEvent.initMouseEvent(type, true, true, window, 1, +// first.screenX, first.screenY, +// first.clientX, first.clientY, false, +// false, false, false, 0/*left*/, null); +// +// first.target.dispatchEvent(simulatedEvent); +// if (isDragging){ +// e.preventDefault(); +// } +// } +// +// if (document.addEventListener){ +// document.addEventListener("touchstart", touchHandler, true); +// document.addEventListener("touchmove", touchHandler, true); +// document.addEventListener("touchend", touchHandler, true); +// document.addEventListener("touchcancel", touchHandler, true); +// } +// }); +})(jQuery); diff --git a/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/src/jquery.droppable.js b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/src/jquery.droppable.js new file mode 100644 index 00000000..1677d941 --- /dev/null +++ b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/src/jquery.droppable.js @@ -0,0 +1,81 @@ +/** + * jQuery EasyUI 1.4.1 + * + * Copyright (c) 2009-2014 www.jeasyui.com. All rights reserved. + * + * Licensed under the GPL license: http://www.gnu.org/licenses/gpl.txt + * To use it on other terms please contact us at info@jeasyui.com + * + */ +/** + * droppable - jQuery EasyUI + * + */ +(function($){ + function init(target){ + $(target).addClass('droppable'); + $(target).bind('_dragenter', function(e, source){ + $.data(target, 'droppable').options.onDragEnter.apply(target, [e, source]); + }); + $(target).bind('_dragleave', function(e, source){ + $.data(target, 'droppable').options.onDragLeave.apply(target, [e, source]); + }); + $(target).bind('_dragover', function(e, source){ + $.data(target, 'droppable').options.onDragOver.apply(target, [e, source]); + }); + $(target).bind('_drop', function(e, source){ + $.data(target, 'droppable').options.onDrop.apply(target, [e, source]); + }); + } + + $.fn.droppable = function(options, param){ + if (typeof options == 'string'){ + return $.fn.droppable.methods[options](this, param); + } + + options = options || {}; + return this.each(function(){ + var state = $.data(this, 'droppable'); + if (state){ + $.extend(state.options, options); + } else { + init(this); + $.data(this, 'droppable', { + options: $.extend({}, $.fn.droppable.defaults, $.fn.droppable.parseOptions(this), options) + }); + } + }); + }; + + $.fn.droppable.methods = { + options: function(jq){ + return $.data(jq[0], 'droppable').options; + }, + enable: function(jq){ + return jq.each(function(){ + $(this).droppable({disabled:false}); + }); + }, + disable: function(jq){ + return jq.each(function(){ + $(this).droppable({disabled:true}); + }); + } + }; + + $.fn.droppable.parseOptions = function(target){ + var t = $(target); + return $.extend({}, $.parser.parseOptions(target, ['accept']), { + disabled: (t.attr('disabled') ? true : undefined) + }); + }; + + $.fn.droppable.defaults = { + accept:null, + disabled:false, + onDragEnter:function(e, source){}, + onDragOver:function(e, source){}, + onDragLeave:function(e, source){}, + onDrop:function(e, source){} + }; +})(jQuery); diff --git a/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/src/jquery.form.js b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/src/jquery.form.js new file mode 100644 index 00000000..ff098e08 --- /dev/null +++ b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/src/jquery.form.js @@ -0,0 +1,374 @@ +/** + * jQuery EasyUI 1.4.1 + * + * Copyright (c) 2009-2014 www.jeasyui.com. All rights reserved. + * + * Licensed under the GPL license: http://www.gnu.org/licenses/gpl.txt + * To use it on other terms please contact us at info@jeasyui.com + * + */ +/** + * form - jQuery EasyUI + * + */ +(function($){ + /** + * submit the form + */ + function ajaxSubmit(target, options){ + var opts = $.data(target, 'form').options; + $.extend(opts, options||{}); + + var param = $.extend({}, opts.queryParams); + if (opts.onSubmit.call(target, param) == false){return;} + $(target).find('.textbox-text:focus').blur(); + + var frameId = 'easyui_frame_' + (new Date().getTime()); + var frame = $('').appendTo('body') + frame.attr('src', window.ActiveXObject ? 'javascript:false' : 'about:blank'); + frame.css({ + position:'absolute', + top:-1000, + left:-1000 + }); + frame.bind('load', cb); + + submit(param); + + function submit(param){ + var form = $(target); + if (opts.url){ + form.attr('action', opts.url); + } + var t = form.attr('target'), a = form.attr('action'); + form.attr('target', frameId); + var paramFields = $(); + try { + for(var n in param){ + var field = $('').val(param[n]).appendTo(form); + paramFields = paramFields.add(field); + } + checkState(); + form[0].submit(); + } finally { + form.attr('action', a); + t ? form.attr('target', t) : form.removeAttr('target'); + paramFields.remove(); + } + } + + function checkState(){ + var f = $('#'+frameId); + if (!f.length){return} + try{ + var s = f.contents()[0].readyState; + if (s && s.toLowerCase() == 'uninitialized'){ + setTimeout(checkState, 100); + } + } catch(e){ + cb(); + } + } + + var checkCount = 10; + function cb(){ + var f = $('#'+frameId); + if (!f.length){return} + f.unbind(); + var data = ''; + try{ + var body = f.contents().find('body'); + data = body.html(); + if (data == ''){ + if (--checkCount){ + setTimeout(cb, 100); + return; + } + } + var ta = body.find('>textarea'); + if (ta.length){ + data = ta.val(); + } else { + var pre = body.find('>pre'); + if (pre.length){ + data = pre.html(); + } + } + } catch(e){ + } + opts.success(data); + setTimeout(function(){ + f.unbind(); + f.remove(); + }, 100); + } + } + + /** + * load form data + * if data is a URL string type load from remote site, + * otherwise load from local data object. + */ + function load(target, data){ + var opts = $.data(target, 'form').options; + + if (typeof data == 'string'){ + var param = {}; + if (opts.onBeforeLoad.call(target, param) == false) return; + + $.ajax({ + url: data, + data: param, + dataType: 'json', + success: function(data){ + _load(data); + }, + error: function(){ + opts.onLoadError.apply(target, arguments); + } + }); + } else { + _load(data); + } + + function _load(data){ + var form = $(target); + for(var name in data){ + var val = data[name]; + var rr = _checkField(name, val); + if (!rr.length){ + var count = _loadOther(name, val); + if (!count){ + $('input[name="'+name+'"]', form).val(val); + $('textarea[name="'+name+'"]', form).val(val); + $('select[name="'+name+'"]', form).val(val); + } + } + _loadCombo(name, val); + } + opts.onLoadSuccess.call(target, data); + validate(target); + } + + /** + * check the checkbox and radio fields + */ + function _checkField(name, val){ + var rr = $(target).find('input[name="'+name+'"][type=radio], input[name="'+name+'"][type=checkbox]'); + rr._propAttr('checked', false); + rr.each(function(){ + var f = $(this); + if (f.val() == String(val) || $.inArray(f.val(), $.isArray(val)?val:[val]) >= 0){ + f._propAttr('checked', true); + } + }); + return rr; + } + + function _loadOther(name, val){ + var count = 0; + var pp = ['textbox','numberbox','slider']; + for(var i=0; i
                                                ').insertBefore(target); + var style = { + position: btn.css('position'), + display: btn.css('display'), + left: btn.css('left') + }; + btn.appendTo('body'); + btn.css({ + position: 'absolute', + display: 'inline-block', + left: -20000 + }); + } + btn._size(opts, parent); + var left = btn.find('.l-btn-left'); + left.css('margin-top', 0); + left.css('margin-top', parseInt((btn.height()-left.height())/2)+'px'); + if (!isVisible){ + btn.insertAfter(spacer); + btn.css(style); + spacer.remove(); + } + } + } + + function createButton(target) { + var opts = $.data(target, 'linkbutton').options; + var t = $(target).empty(); + + t.addClass('l-btn').removeClass('l-btn-plain l-btn-selected l-btn-plain-selected'); + t.removeClass('l-btn-small l-btn-medium l-btn-large').addClass('l-btn-'+opts.size); + if (opts.plain){t.addClass('l-btn-plain')} + if (opts.selected){ + t.addClass(opts.plain ? 'l-btn-selected l-btn-plain-selected' : 'l-btn-selected'); + } + t.attr('group', opts.group || ''); + t.attr('id', opts.id || ''); + + var inner = $('').appendTo(t); + if (opts.text){ + $('').html(opts.text).appendTo(inner); + } else { + $(' ').appendTo(inner); + } + if (opts.iconCls){ + $(' ').addClass(opts.iconCls).appendTo(inner); + inner.addClass('l-btn-icon-'+opts.iconAlign); + } + + t.unbind('.linkbutton').bind('focus.linkbutton',function(){ + if (!opts.disabled){ + $(this).addClass('l-btn-focus'); + } + }).bind('blur.linkbutton',function(){ + $(this).removeClass('l-btn-focus'); + }).bind('click.linkbutton',function(){ + if (!opts.disabled){ + if (opts.toggle){ + if (opts.selected){ + $(this).linkbutton('unselect'); + } else { + $(this).linkbutton('select'); + } + } + opts.onClick.call(this); + } +// return false; + }); +// if (opts.toggle && !opts.disabled){ +// t.bind('click.linkbutton', function(){ +// if (opts.selected){ +// $(this).linkbutton('unselect'); +// } else { +// $(this).linkbutton('select'); +// } +// }); +// } + + setSelected(target, opts.selected) + setDisabled(target, opts.disabled); + } + + function setSelected(target, selected){ + var opts = $.data(target, 'linkbutton').options; + if (selected){ + if (opts.group){ + $('a.l-btn[group="'+opts.group+'"]').each(function(){ + var o = $(this).linkbutton('options'); + if (o.toggle){ + $(this).removeClass('l-btn-selected l-btn-plain-selected'); + o.selected = false; + } + }); + } + $(target).addClass(opts.plain ? 'l-btn-selected l-btn-plain-selected' : 'l-btn-selected'); + opts.selected = true; + } else { + if (!opts.group){ + $(target).removeClass('l-btn-selected l-btn-plain-selected'); + opts.selected = false; + } + } + } + + function setDisabled(target, disabled){ + var state = $.data(target, 'linkbutton'); + var opts = state.options; + $(target).removeClass('l-btn-disabled l-btn-plain-disabled'); + if (disabled){ + opts.disabled = true; + var href = $(target).attr('href'); + if (href){ + state.href = href; + $(target).attr('href', 'javascript:void(0)'); + } + if (target.onclick){ + state.onclick = target.onclick; + target.onclick = null; + } + opts.plain ? $(target).addClass('l-btn-disabled l-btn-plain-disabled') : $(target).addClass('l-btn-disabled'); + } else { + opts.disabled = false; + if (state.href) { + $(target).attr('href', state.href); + } + if (state.onclick) { + target.onclick = state.onclick; + } + } + } + + $.fn.linkbutton = function(options, param){ + if (typeof options == 'string'){ + return $.fn.linkbutton.methods[options](this, param); + } + + options = options || {}; + return this.each(function(){ + var state = $.data(this, 'linkbutton'); + if (state){ + $.extend(state.options, options); + } else { + $.data(this, 'linkbutton', { + options: $.extend({}, $.fn.linkbutton.defaults, $.fn.linkbutton.parseOptions(this), options) + }); + $(this).removeAttr('disabled'); + $(this).bind('_resize', function(e, force){ + if ($(this).hasClass('easyui-fluid') || force){ + setSize(this); + } + return false; + }); + } + + createButton(this); + setSize(this); + }); + }; + + $.fn.linkbutton.methods = { + options: function(jq){ + return $.data(jq[0], 'linkbutton').options; + }, + resize: function(jq, param){ + return jq.each(function(){ + setSize(this, param); + }); + }, + enable: function(jq){ + return jq.each(function(){ + setDisabled(this, false); + }); + }, + disable: function(jq){ + return jq.each(function(){ + setDisabled(this, true); + }); + }, + select: function(jq){ + return jq.each(function(){ + setSelected(this, true); + }); + }, + unselect: function(jq){ + return jq.each(function(){ + setSelected(this, false); + }); + } + }; + + $.fn.linkbutton.parseOptions = function(target){ + var t = $(target); + return $.extend({}, $.parser.parseOptions(target, + ['id','iconCls','iconAlign','group','size',{plain:'boolean',toggle:'boolean',selected:'boolean'}] + ), { + disabled: (t.attr('disabled') ? true : undefined), + text: $.trim(t.html()), + iconCls: (t.attr('icon') || t.attr('iconCls')) + }); + }; + + $.fn.linkbutton.defaults = { + id: null, + disabled: false, + toggle: false, + selected: false, + group: null, + plain: false, + text: '', + iconCls: null, + iconAlign: 'left', + size: 'small', // small,large + onClick: function(){} + }; + +})(jQuery); diff --git a/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/src/jquery.menu.js b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/src/jquery.menu.js new file mode 100644 index 00000000..1293361c --- /dev/null +++ b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/src/jquery.menu.js @@ -0,0 +1,615 @@ +/** + * jQuery EasyUI 1.4.1 + * + * Copyright (c) 2009-2014 www.jeasyui.com. All rights reserved. + * + * Licensed under the GPL license: http://www.gnu.org/licenses/gpl.txt + * To use it on other terms please contact us at info@jeasyui.com + * + */ +/** + * menu - jQuery EasyUI + * + */ +(function($){ + + /** + * initialize the target menu, the function can be invoked only once + */ + function init(target){ + $(target).appendTo('body'); + $(target).addClass('menu-top'); // the top menu + + $(document).unbind('.menu').bind('mousedown.menu', function(e){ +// var allMenu = $('body>div.menu:visible'); +// var m = $(e.target).closest('div.menu', allMenu); + var m = $(e.target).closest('div.menu,div.combo-p'); + if (m.length){return} + $('body>div.menu-top:visible').menu('hide'); + }); + + var menus = splitMenu($(target)); + for(var i=0; i
                                                ').html(text)); + if (itemOpts.iconCls){ + $('').addClass(itemOpts.iconCls).appendTo(item); + } + if (itemOpts.disabled){ + setDisabled(target, item[0], true); + } + if (item[0].submenu){ + $('').appendTo(item); // has sub menu + } + + bindMenuItemEvent(target, item); + } + }); + $('').prependTo(menu); + } + setMenuSize(target, menu); + menu.hide(); + + bindMenuEvent(target, menu); + } + } + + function setMenuSize(target, menu){ + var opts = $.data(target, 'menu').options; + var style = menu.attr('style') || ''; + menu.css({ + display: 'block', + left:-10000, + height: 'auto', + overflow: 'hidden' + }); + + var el = menu[0]; + var width = el.originalWidth || 0; + if (!width){ + width = 0; + menu.find('div.menu-text').each(function(){ + if (width < $(this)._outerWidth()){ + width = $(this)._outerWidth(); + } + $(this).closest('div.menu-item')._outerHeight($(this)._outerHeight()+2); + }); + width += 40; + } + + width = Math.max(width, opts.minWidth); +// var height = el.originalHeight || menu.outerHeight(); + var height = el.originalHeight || 0; + if (!height){ + height = menu.outerHeight(); + + if (menu.hasClass('menu-top') && opts.alignTo){ + var at = $(opts.alignTo); + var h1 = at.offset().top - $(document).scrollTop(); + var h2 = $(window)._outerHeight() + $(document).scrollTop() - at.offset().top - at._outerHeight(); + height = Math.min(height, Math.max(h1, h2)); + } else if (height > $(window)._outerHeight()){ + height = $(window).height(); + style += ';overflow:auto'; + } else { + style += ';overflow:hidden'; + } + +// if (height > $(window).height()-5){ +// height = $(window).height()-5; +// style += ';overflow:auto'; +// } else { +// style += ';overflow:hidden'; +// } + } + var lineHeight = Math.max(el.originalHeight, menu.outerHeight()) - 2; + menu._outerWidth(width)._outerHeight(height); + menu.children('div.menu-line')._outerHeight(lineHeight); + + style += ';width:' + el.style.width + ';height:' + el.style.height; + + menu.attr('style', style); + } + + /** + * bind menu event + */ + function bindMenuEvent(target, menu){ + var state = $.data(target, 'menu'); + menu.unbind('.menu').bind('mouseenter.menu', function(){ + if (state.timer){ + clearTimeout(state.timer); + state.timer = null; + } + }).bind('mouseleave.menu', function(){ + if (state.options.hideOnUnhover){ + state.timer = setTimeout(function(){ + hideAll(target); + }, state.options.duration); + } + }); + } + + /** + * bind menu item event + */ + function bindMenuItemEvent(target, item){ + if (!item.hasClass('menu-item')){return} + item.unbind('.menu'); + item.bind('click.menu', function(){ + if ($(this).hasClass('menu-item-disabled')){ + return; + } + // only the sub menu clicked can hide all menus + if (!this.submenu){ + hideAll(target); + var href = this.itemHref; + if (href){ + location.href = href; + } + } + var item = $(target).menu('getItem', this); + $.data(target, 'menu').options.onClick.call(target, item); + }).bind('mouseenter.menu', function(e){ + // hide other menu + item.siblings().each(function(){ + if (this.submenu){ + hideMenu(this.submenu); + } + $(this).removeClass('menu-active'); + }); + // show this menu + item.addClass('menu-active'); + + if ($(this).hasClass('menu-item-disabled')){ + item.addClass('menu-active-disabled'); + return; + } + + var submenu = item[0].submenu; + if (submenu){ + $(target).menu('show', { + menu: submenu, + parent: item + }); + } + }).bind('mouseleave.menu', function(e){ + item.removeClass('menu-active menu-active-disabled'); + var submenu = item[0].submenu; + if (submenu){ + if (e.pageX>=parseInt(submenu.css('left'))){ + item.addClass('menu-active'); + } else { + hideMenu(submenu); + } + + } else { + item.removeClass('menu-active'); + } + }); + } + + /** + * hide top menu and it's all sub menus + */ + function hideAll(target){ + var state = $.data(target, 'menu'); + if (state){ + if ($(target).is(':visible')){ + hideMenu($(target)); + state.options.onHide.call(target); + } + } + return false; + } + + /** + * show the menu, the 'param' object has one or more properties: + * left: the left position to display + * top: the top position to display + * menu: the menu to display, if not defined, the 'target menu' is used + * parent: the parent menu item to align to + * alignTo: the element object to align to + */ + function showMenu(target, param){ + var left,top; + param = param || {}; + var menu = $(param.menu || target); + $(target).menu('resize', menu[0]); + if (menu.hasClass('menu-top')){ + var opts = $.data(target, 'menu').options; + $.extend(opts, param); + left = opts.left; + top = opts.top; + if (opts.alignTo){ + var at = $(opts.alignTo); + left = at.offset().left; + top = at.offset().top + at._outerHeight(); + if (opts.align == 'right'){ + left += at.outerWidth() - menu.outerWidth(); + } + } + if (left + menu.outerWidth() > $(window)._outerWidth() + $(document)._scrollLeft()){ + left = $(window)._outerWidth() + $(document).scrollLeft() - menu.outerWidth() - 5; + } + if (left < 0){left = 0;} + top = _fixTop(top, opts.alignTo); + } else { + var parent = param.parent; // the parent menu item + left = parent.offset().left + parent.outerWidth() - 2; + if (left + menu.outerWidth() + 5 > $(window)._outerWidth() + $(document).scrollLeft()){ + left = parent.offset().left - menu.outerWidth() + 2; + } + top = _fixTop(parent.offset().top - 3); + } + + function _fixTop(top, alignTo){ + if (top + menu.outerHeight() > $(window)._outerHeight() + $(document).scrollTop()){ + if (alignTo){ + top = $(alignTo).offset().top - menu._outerHeight(); + } else { + top = $(window)._outerHeight() + $(document).scrollTop() - menu.outerHeight(); + } + } + if (top < 0){top = 0;} + return top; + } + + menu.css({left:left,top:top}); + menu.show(0, function(){ + if (!menu[0].shadow){ + menu[0].shadow = $('').insertAfter(menu); + } + menu[0].shadow.css({ + display:'block', + zIndex:$.fn.menu.defaults.zIndex++, + left:menu.css('left'), + top:menu.css('top'), + width:menu.outerWidth(), + height:menu.outerHeight() + }); + menu.css('z-index', $.fn.menu.defaults.zIndex++); + if (menu.hasClass('menu-top')){ + $.data(menu[0], 'menu').options.onShow.call(menu[0]); + } + }); + } + + function hideMenu(menu){ + if (!menu) return; + + hideit(menu); + menu.find('div.menu-item').each(function(){ + if (this.submenu){ + hideMenu(this.submenu); + } + $(this).removeClass('menu-active'); + }); + + function hideit(m){ + m.stop(true,true); + if (m[0].shadow){ + m[0].shadow.hide(); + } + m.hide(); + } + } + + function findItem(target, text){ + var result = null; + var tmp = $('
                                                '); + function find(menu){ + menu.children('div.menu-item').each(function(){ + var item = $(target).menu('getItem', this); + var s = tmp.empty().html(item.text).text(); + if (text == $.trim(s)) { + result = item; + } else if (this.submenu && !result){ + find(this.submenu); + } + }); + } + find($(target)); + tmp.remove(); + return result; + } + + function setDisabled(target, itemEl, disabled){ + var t = $(itemEl); + if (!t.hasClass('menu-item')){return} + + if (disabled){ + t.addClass('menu-item-disabled'); + if (itemEl.onclick){ + itemEl.onclick1 = itemEl.onclick; + itemEl.onclick = null; + } + } else { + t.removeClass('menu-item-disabled'); + if (itemEl.onclick1){ + itemEl.onclick = itemEl.onclick1; + itemEl.onclick1 = null; + } + } + } + + function appendItem(target, param){ + var menu = $(target); + if (param.parent){ + if (!param.parent.submenu){ + var submenu = $('').appendTo('body'); + submenu.hide(); + param.parent.submenu = submenu; + $('').appendTo(param.parent); + } + menu = param.parent.submenu; + } + if (param.separator){ + var item = $('').appendTo(menu); + } else { + var item = $('').appendTo(menu); + $('').html(param.text).appendTo(item); + } + if (param.iconCls) $('').addClass(param.iconCls).appendTo(item); + if (param.id) item.attr('id', param.id); + if (param.name){item[0].itemName = param.name} + if (param.href){item[0].itemHref = param.href} + if (param.onclick){ + if (typeof param.onclick == 'string'){ + item.attr('onclick', param.onclick); + } else { + item[0].onclick = eval(param.onclick); + } + } + if (param.handler){item[0].onclick = eval(param.handler)} + if (param.disabled){setDisabled(target, item[0], true)} + + bindMenuItemEvent(target, item); + bindMenuEvent(target, menu); + setMenuSize(target, menu); + } + + function removeItem(target, itemEl){ + function removeit(el){ + if (el.submenu){ + el.submenu.children('div.menu-item').each(function(){ + removeit(this); + }); + var shadow = el.submenu[0].shadow; + if (shadow) shadow.remove(); + el.submenu.remove(); + } + $(el).remove(); + } + var menu = $(itemEl).parent(); + removeit(itemEl); + setMenuSize(target, menu); + } + + function setVisible(target, itemEl, visible){ + var menu = $(itemEl).parent(); + if (visible){ + $(itemEl).show(); + } else { + $(itemEl).hide(); + } + setMenuSize(target, menu); + } + + function destroyMenu(target){ + $(target).children('div.menu-item').each(function(){ + removeItem(target, this); + }); + if (target.shadow) target.shadow.remove(); + $(target).remove(); + } + + $.fn.menu = function(options, param){ + if (typeof options == 'string'){ + return $.fn.menu.methods[options](this, param); + } + + options = options || {}; + return this.each(function(){ + var state = $.data(this, 'menu'); + if (state){ + $.extend(state.options, options); + } else { + state = $.data(this, 'menu', { + options: $.extend({}, $.fn.menu.defaults, $.fn.menu.parseOptions(this), options) + }); + init(this); + } + $(this).css({ + left: state.options.left, + top: state.options.top + }); + }); + }; + + $.fn.menu.methods = { + options: function(jq){ + return $.data(jq[0], 'menu').options; + }, + show: function(jq, pos){ + return jq.each(function(){ + showMenu(this, pos); + }); + }, + hide: function(jq){ + return jq.each(function(){ + hideAll(this); + }); + }, + destroy: function(jq){ + return jq.each(function(){ + destroyMenu(this); + }); + }, + /** + * set the menu item text + * param: { + * target: DOM object, indicate the menu item + * text: string, the new text + * } + */ + setText: function(jq, param){ + return jq.each(function(){ + $(param.target).children('div.menu-text').html(param.text); + }); + }, + /** + * set the menu icon class + * param: { + * target: DOM object, indicate the menu item + * iconCls: the menu item icon class + * } + */ + setIcon: function(jq, param){ + return jq.each(function(){ + $(param.target).children('div.menu-icon').remove(); + if (param.iconCls){ + $('').addClass(param.iconCls).appendTo(param.target); + } + }); + }, + /** + * get the menu item data that contains the following property: + * { + * target: DOM object, the menu item + * id: the menu id + * text: the menu item text + * iconCls: the icon class + * href: a remote address to redirect to + * onclick: a function to be called when the item is clicked + * } + */ + getItem: function(jq, itemEl){ + var t = $(itemEl); + var item = { + target: itemEl, + id: t.attr('id'), + text: $.trim(t.children('div.menu-text').html()), + disabled: t.hasClass('menu-item-disabled'), +// href: t.attr('href'), +// name: t.attr('name'), + name: itemEl.itemName, + href: itemEl.itemHref, + onclick: itemEl.onclick + } + var icon = t.children('div.menu-icon'); + if (icon.length){ + var cc = []; + var aa = icon.attr('class').split(' '); + for(var i=0; i= 0){ + v = Math.floor((parent.width()-delta) * v / 100.0); + } else { + v = Math.floor((parent.height()-delta) * v / 100.0); + } + } else { + v = parseInt(v) || undefined; + } + return v; + }, + + /** + * parse options, including standard 'data-options' attribute. + * + * calling examples: + * $.parser.parseOptions(target); + * $.parser.parseOptions(target, ['id','title','width',{fit:'boolean',border:'boolean'},{min:'number'}]); + */ + parseOptions: function(target, properties){ + var t = $(target); + var options = {}; + + var s = $.trim(t.attr('data-options')); + if (s){ + if (s.substring(0, 1) != '{'){ + s = '{' + s + '}'; + } + options = (new Function('return ' + s))(); + } + $.map(['width','height','left','top','minWidth','maxWidth','minHeight','maxHeight'], function(p){ + var pv = $.trim(target.style[p] || ''); + if (pv){ + if (pv.indexOf('%') == -1){ + pv = parseInt(pv) || undefined; + } + options[p] = pv; + } + }); + + if (properties){ + var opts = {}; + for(var i=0; i
                                                ').appendTo('body'); + $._boxModel = d.outerWidth()!=100; + d.remove(); + + if (!window.easyloader && $.parser.auto){ + $.parser.parse(); + } + }); + + /** + * extend plugin to set box model width + */ + $.fn._outerWidth = function(width){ + if (width == undefined){ + if (this[0] == window){ + return this.width() || document.body.clientWidth; + } + return this.outerWidth()||0; + } + return this._size('width', width); + }; + + /** + * extend plugin to set box model height + */ + $.fn._outerHeight = function(height){ + if (height == undefined){ + if (this[0] == window){ + return this.height() || document.body.clientHeight; + } + return this.outerHeight()||0; + } + return this._size('height', height); + }; + + $.fn._scrollLeft = function(left){ + if (left == undefined){ + return this.scrollLeft(); + } else { + return this.each(function(){$(this).scrollLeft(left)}); + } + }; + + $.fn._propAttr = $.fn.prop || $.fn.attr; + + $.fn._size = function(options, parent){ + if (typeof options == 'string'){ + if (options == 'clear'){ + return this.each(function(){ + $(this).css({width:'',minWidth:'',maxWidth:'',height:'',minHeight:'',maxHeight:''}); + }); + } else if (options == 'fit'){ + return this.each(function(){ + _fit(this, this.tagName=='BODY' ? $('body') : $(this).parent(), true); + }); + } else if (options == 'unfit'){ + return this.each(function(){ + _fit(this, $(this).parent(), false); + }); + } else { + if (parent == undefined){ + return _css(this[0], options); + } else { + return this.each(function(){ + _css(this, options, parent); + }); + } + } + } else { + return this.each(function(){ + parent = parent || $(this).parent(); + $.extend(options, _fit(this, parent, options.fit)||{}); + var r1 = _setSize(this, 'width', parent, options); + var r2 = _setSize(this, 'height', parent, options); + if (r1 || r2){ + $(this).addClass('easyui-fluid'); + } else { + $(this).removeClass('easyui-fluid'); + } + }); + } + + function _fit(target, parent, fit){ + if (!parent.length){return false;} + var t = $(target)[0]; + var p = parent[0]; + var fcount = p.fcount || 0; + if (fit){ + if (!t.fitted){ + t.fitted = true; + p.fcount = fcount + 1; + $(p).addClass('panel-noscroll'); + if (p.tagName == 'BODY'){ + $('html').addClass('panel-fit'); + } + } + return { + width: ($(p).width()||1), + height: ($(p).height()||1) + }; + } else { + if (t.fitted){ + t.fitted = false; + p.fcount = fcount - 1; + if (p.fcount == 0){ + $(p).removeClass('panel-noscroll'); + if (p.tagName == 'BODY'){ + $('html').removeClass('panel-fit'); + } + } + } + return false; + } + } + function _setSize(target, property, parent, options){ + var t = $(target); + var p = property; + var p1 = p.substr(0,1).toUpperCase() + p.substr(1); + var min = $.parser.parseValue('min'+p1, options['min'+p1], parent);// || 0; + var max = $.parser.parseValue('max'+p1, options['max'+p1], parent);// || 99999; + var val = $.parser.parseValue(p, options[p], parent); + var fluid = (String(options[p]||'').indexOf('%') >= 0 ? true : false); + + if (!isNaN(val)){ + var v = Math.min(Math.max(val, min||0), max||99999); + if (!fluid){ + options[p] = v; + } + t._size('min'+p1, ''); + t._size('max'+p1, ''); + t._size(p, v); + } else { + t._size(p, ''); + t._size('min'+p1, min); + t._size('max'+p1, max); + } + return fluid || options.fit; + } + function _css(target, property, value){ + var t = $(target); + if (value == undefined){ + value = parseInt(target.style[property]); + if (isNaN(value)){return undefined;} + if ($._boxModel){ + value += getDeltaSize(); + } + return value; + } else if (value === ''){ + t.css(property, ''); + } else { + if ($._boxModel){ + value -= getDeltaSize(); + if (value < 0){value = 0;} + } + t.css(property, value+'px'); + } + function getDeltaSize(){ + if (property.toLowerCase().indexOf('width') >= 0){ + return t.outerWidth() - t.width(); + } else { + return t.outerHeight() - t.height(); + } + } + } + }; + +})(jQuery); + +/** + * support for mobile devices + */ +(function($){ + var longTouchTimer = null; + var dblTouchTimer = null; + var isDblClick = false; + + function onTouchStart(e){ + if (e.touches.length != 1){return} + if (!isDblClick){ + isDblClick = true; + dblClickTimer = setTimeout(function(){ + isDblClick = false; + }, 500); + } else { + clearTimeout(dblClickTimer); + isDblClick = false; + fire(e, 'dblclick'); +// e.preventDefault(); + } + longTouchTimer = setTimeout(function(){ + fire(e, 'contextmenu', 3); + }, 1000); + fire(e, 'mousedown'); + if ($.fn.draggable.isDragging || $.fn.resizable.isResizing){ + e.preventDefault(); + } + } + function onTouchMove(e){ + if (e.touches.length != 1){return} + if (longTouchTimer){ + clearTimeout(longTouchTimer); + } + fire(e, 'mousemove'); + if ($.fn.draggable.isDragging || $.fn.resizable.isResizing){ + e.preventDefault(); + } + } + function onTouchEnd(e){ +// if (e.touches.length > 0){return} + if (longTouchTimer){ + clearTimeout(longTouchTimer); + } + fire(e, 'mouseup'); + if ($.fn.draggable.isDragging || $.fn.resizable.isResizing){ + e.preventDefault(); + } + } + + function fire(e, name, which){ + var event = new $.Event(name); + event.pageX = e.changedTouches[0].pageX; + event.pageY = e.changedTouches[0].pageY; + event.which = which || 1; + $(e.target).trigger(event); + } + + if (document.addEventListener){ + document.addEventListener("touchstart", onTouchStart, true); + document.addEventListener("touchmove", onTouchMove, true); + document.addEventListener("touchend", onTouchEnd, true); + } +})(jQuery); + diff --git a/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/src/jquery.progressbar.js b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/src/jquery.progressbar.js new file mode 100644 index 00000000..2b5d5b4c --- /dev/null +++ b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/src/jquery.progressbar.js @@ -0,0 +1,107 @@ +/** + * jQuery EasyUI 1.4.1 + * + * Copyright (c) 2009-2014 www.jeasyui.com. All rights reserved. + * + * Licensed under the GPL license: http://www.gnu.org/licenses/gpl.txt + * To use it on other terms please contact us at info@jeasyui.com + * + */ +/** + * progressbar - jQuery EasyUI + * + * Dependencies: + * none + * + */ +(function($){ + function init(target){ + $(target).addClass('progressbar'); + $(target).html('
                                                '); + $(target).bind('_resize', function(e,force){ + if ($(this).hasClass('easyui-fluid') || force){ + setSize(target); + } + return false; + }); + return $(target); + } + + function setSize(target,width){ + var opts = $.data(target, 'progressbar').options; + var bar = $.data(target, 'progressbar').bar; + if (width) opts.width = width; + bar._size(opts); + + bar.find('div.progressbar-text').css('width', bar.width()); + bar.find('div.progressbar-text,div.progressbar-value').css({ + height: bar.height()+'px', + lineHeight: bar.height()+'px' + }); + } + + $.fn.progressbar = function(options, param){ + if (typeof options == 'string'){ + var method = $.fn.progressbar.methods[options]; + if (method){ + return method(this, param); + } + } + + options = options || {}; + return this.each(function(){ + var state = $.data(this, 'progressbar'); + if (state){ + $.extend(state.options, options); + } else { + state = $.data(this, 'progressbar', { + options: $.extend({}, $.fn.progressbar.defaults, $.fn.progressbar.parseOptions(this), options), + bar: init(this) + }); + } + $(this).progressbar('setValue', state.options.value); + setSize(this); + }); + }; + + $.fn.progressbar.methods = { + options: function(jq){ + return $.data(jq[0], 'progressbar').options; + }, + resize: function(jq, width){ + return jq.each(function(){ + setSize(this, width); + }); + }, + getValue: function(jq){ + return $.data(jq[0], 'progressbar').options.value; + }, + setValue: function(jq, value){ + if (value < 0) value = 0; + if (value > 100) value = 100; + return jq.each(function(){ + var opts = $.data(this, 'progressbar').options; + var text = opts.text.replace(/{value}/, value); + var oldValue = opts.value; + opts.value = value; + $(this).find('div.progressbar-value').width(value+'%'); + $(this).find('div.progressbar-text').html(text); + if (oldValue != value){ + opts.onChange.call(this, value, oldValue); + } + }); + } + }; + + $.fn.progressbar.parseOptions = function(target){ + return $.extend({}, $.parser.parseOptions(target, ['width','height','text',{value:'number'}])); + }; + + $.fn.progressbar.defaults = { + width: 'auto', + height: 22, + value: 0, // percentage value + text: '{value}%', + onChange:function(newValue,oldValue){} + }; +})(jQuery); diff --git a/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/src/jquery.propertygrid.js b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/src/jquery.propertygrid.js new file mode 100644 index 00000000..044cd896 --- /dev/null +++ b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/src/jquery.propertygrid.js @@ -0,0 +1,409 @@ +/** + * jQuery EasyUI 1.4.1 + * + * Copyright (c) 2009-2014 www.jeasyui.com. All rights reserved. + * + * Licensed under the GPL license: http://www.gnu.org/licenses/gpl.txt + * To use it on other terms please contact us at info@jeasyui.com + * + */ +/** + * propertygrid - jQuery EasyUI + * + * Dependencies: + * datagrid + * + */ +(function($){ + var currTarget; + $(document).unbind('.propertygrid').bind('mousedown.propertygrid', function(e){ + var p = $(e.target).closest('div.datagrid-view,div.combo-panel'); + if (p.length){return;} + stopEditing(currTarget); + currTarget = undefined; + }); + + function buildGrid(target){ + var state = $.data(target, 'propertygrid'); + var opts = $.data(target, 'propertygrid').options; + $(target).datagrid($.extend({}, opts, { + cls:'propertygrid', + view:(opts.showGroup ? opts.groupView : opts.view), + onBeforeEdit:function(index, row){ + if (opts.onBeforeEdit.call(target, index, row) == false){return false;} + var dg = $(this); + var row = dg.datagrid('getRows')[index]; + var col = dg.datagrid('getColumnOption', 'value'); + col.editor = row.editor; + }, + onClickCell:function(index, field, value){ + if (currTarget != this){ + stopEditing(currTarget); + currTarget = this; + } + if (opts.editIndex != index){ + stopEditing(currTarget); + $(this).datagrid('beginEdit', index); + var ed = $(this).datagrid('getEditor', {index:index,field:field}); + if (!ed){ + ed = $(this).datagrid('getEditor', {index:index,field:'value'}); + } + if (ed){ + var t = $(ed.target); + var input = t.data('textbox') ? t.textbox('textbox') : t; + input.focus(); + opts.editIndex = index; + } + } + opts.onClickCell.call(target, index, field, value); + }, + loadFilter:function(data){ + stopEditing(this); + return opts.loadFilter.call(this, data); + } + })); + } + + function stopEditing(target){ + var t = $(target); + if (!t.length){return} + var opts = $.data(target, 'propertygrid').options; + opts.finder.getTr(target, null, 'editing').each(function(){ + var index = parseInt($(this).attr('datagrid-row-index')); + if (t.datagrid('validateRow', index)){ + t.datagrid('endEdit', index); + } else { + t.datagrid('cancelEdit', index); + } + }); + } + + $.fn.propertygrid = function(options, param){ + if (typeof options == 'string'){ + var method = $.fn.propertygrid.methods[options]; + if (method){ + return method(this, param); + } else { + return this.datagrid(options, param); + } + } + + options = options || {}; + return this.each(function(){ + var state = $.data(this, 'propertygrid'); + if (state){ + $.extend(state.options, options); + } else { + var opts = $.extend({}, $.fn.propertygrid.defaults, $.fn.propertygrid.parseOptions(this), options); + opts.frozenColumns = $.extend(true, [], opts.frozenColumns); + opts.columns = $.extend(true, [], opts.columns); + $.data(this, 'propertygrid', { + options: opts + }); + } + buildGrid(this); + }); + } + + $.fn.propertygrid.methods = { + options: function(jq){ + return $.data(jq[0], 'propertygrid').options; + } + }; + + $.fn.propertygrid.parseOptions = function(target){ + return $.extend({}, $.fn.datagrid.parseOptions(target), $.parser.parseOptions(target,[{showGroup:'boolean'}])); + }; + + // the group view definition + var groupview = $.extend({}, $.fn.datagrid.defaults.view, { + render: function(target, container, frozen){ + var table = []; + var groups = this.groups; + for(var i=0; i'); + table.push(''); + table.push(''); + if ((frozen && (opts.rownumbers || opts.frozenColumns.length)) || + (!frozen && !(opts.rownumbers || opts.frozenColumns.length))){ + table.push(''); + } + table.push(''); + table.push(''); + table.push('
                                                 '); + if (!frozen){ + table.push(''); + table.push(opts.groupFormatter.call(target, group.value, group.rows)); + table.push(''); + } + table.push('
                                                '); + table.push('
                                                '); + + table.push(''); + var index = group.startIndex; + for(var j=0; j'); + table.push(this.renderRow.call(this, target, fields, frozen, index, group.rows[j])); + table.push(''); + index++; + } + table.push('
                                                '); + return table.join(''); + }, + + bindEvents: function(target){ + var state = $.data(target, 'datagrid'); + var dc = state.dc; + var body = dc.body1.add(dc.body2); + var clickHandler = ($.data(body[0],'events')||$._data(body[0],'events')).click[0].handler; + body.unbind('click').bind('click', function(e){ + var tt = $(e.target); + var expander = tt.closest('span.datagrid-row-expander'); + if (expander.length){ + var gindex = expander.closest('div.datagrid-group').attr('group-index'); + if (expander.hasClass('datagrid-row-collapse')){ + $(target).datagrid('collapseGroup', gindex); + } else { + $(target).datagrid('expandGroup', gindex); + } + } else { + clickHandler(e); + } + e.stopPropagation(); + }); + }, + + onBeforeRender: function(target, rows){ + var state = $.data(target, 'datagrid'); + var opts = state.options; + + initCss(); + + var groups = []; + for(var i=0; i' + + '.datagrid-group{height:25px;overflow:hidden;font-weight:bold;border-bottom:1px solid #ccc;}' + + '' + ); + } + } + } + }); + + $.extend($.fn.datagrid.methods, { + expandGroup:function(jq, groupIndex){ + return jq.each(function(){ + var view = $.data(this, 'datagrid').dc.view; + var group = view.find(groupIndex!=undefined ? 'div.datagrid-group[group-index="'+groupIndex+'"]' : 'div.datagrid-group'); + var expander = group.find('span.datagrid-row-expander'); + if (expander.hasClass('datagrid-row-expand')){ + expander.removeClass('datagrid-row-expand').addClass('datagrid-row-collapse'); + group.next('table').show(); + } + $(this).datagrid('fixRowHeight'); + }); + }, + collapseGroup:function(jq, groupIndex){ + return jq.each(function(){ + var view = $.data(this, 'datagrid').dc.view; + var group = view.find(groupIndex!=undefined ? 'div.datagrid-group[group-index="'+groupIndex+'"]' : 'div.datagrid-group'); + var expander = group.find('span.datagrid-row-expander'); + if (expander.hasClass('datagrid-row-collapse')){ + expander.removeClass('datagrid-row-collapse').addClass('datagrid-row-expand'); + group.next('table').hide(); + } + $(this).datagrid('fixRowHeight'); + }); + } + }); + + $.extend(groupview, { + refreshGroupTitle: function(target, groupIndex){ + var state = $.data(target, 'datagrid'); + var opts = state.options; + var dc = state.dc; + var group = this.groups[groupIndex]; + var span = dc.body2.children('div.datagrid-group[group-index=' + groupIndex + ']').find('span.datagrid-group-title'); + span.html(opts.groupFormatter.call(target, group.value, group.rows)); + }, + + insertRow: function(target, index, row){ + var state = $.data(target, 'datagrid'); + var opts = state.options; + var dc = state.dc; + var group = null; + var groupIndex; + + for(var i=0; i group.startIndex + group.rows.length){ + index = group.startIndex + group.rows.length; + } + $.fn.datagrid.defaults.view.insertRow.call(this, target, index, row); + + if (index >= group.startIndex + group.rows.length){ + _moveTr(index, true); + _moveTr(index, false); + } + group.rows.splice(index - group.startIndex, 0, row); + } else { + group = { + value: row[opts.groupField], + rows: [row], + startIndex: state.data.rows.length + } + groupIndex = this.groups.length; + dc.body1.append(this.renderGroup.call(this, target, groupIndex, group, true)); + dc.body2.append(this.renderGroup.call(this, target, groupIndex, group, false)); + this.groups.push(group); + state.data.rows.push(row); + } + + this.refreshGroupTitle(target, groupIndex); + + function _moveTr(index,frozen){ + var serno = frozen?1:2; + var prevTr = opts.finder.getTr(target, index-1, 'body', serno); + var tr = opts.finder.getTr(target, index, 'body', serno); + tr.insertAfter(prevTr); + } + }, + + updateRow: function(target, index, row){ + var opts = $.data(target, 'datagrid').options; + $.fn.datagrid.defaults.view.updateRow.call(this, target, index, row); + var tb = opts.finder.getTr(target, index, 'body', 2).closest('table.datagrid-btable'); + var groupIndex = parseInt(tb.prev().attr('group-index')); + this.refreshGroupTitle(target, groupIndex); + }, + + deleteRow: function(target, index){ + var state = $.data(target, 'datagrid'); + var opts = state.options; + var dc = state.dc; + var body = dc.body1.add(dc.body2); + + var tb = opts.finder.getTr(target, index, 'body', 2).closest('table.datagrid-btable'); + var groupIndex = parseInt(tb.prev().attr('group-index')); + + $.fn.datagrid.defaults.view.deleteRow.call(this, target, index); + + var group = this.groups[groupIndex]; + if (group.rows.length > 1){ + group.rows.splice(index-group.startIndex, 1); + this.refreshGroupTitle(target, groupIndex); + } else { + body.children('div.datagrid-group[group-index='+groupIndex+']').remove(); + for(var i=groupIndex+1; i= options.minWidth && resizeData.width <= options.maxWidth) { +// resizeData.left = resizeData.startLeft + e.pageX - resizeData.startX; +// } + } + if (resizeData.dir.indexOf('n') != -1) { + var height = resizeData.startHeight - e.pageY + resizeData.startY; + height = Math.min( + Math.max(height, options.minHeight), + options.maxHeight + ); + resizeData.height = height; + resizeData.top = resizeData.startTop + resizeData.startHeight - resizeData.height; + +// resizeData.height = resizeData.startHeight - e.pageY + resizeData.startY; +// if (resizeData.height >= options.minHeight && resizeData.height <= options.maxHeight) { +// resizeData.top = resizeData.startTop + e.pageY - resizeData.startY; +// } + } + } + + function applySize(e){ + var resizeData = e.data; + var t = $(resizeData.target); + t.css({ + left: resizeData.left, + top: resizeData.top + }); + if (t.outerWidth() != resizeData.width){t._outerWidth(resizeData.width)} + if (t.outerHeight() != resizeData.height){t._outerHeight(resizeData.height)} +// t._outerWidth(resizeData.width)._outerHeight(resizeData.height); + } + + function doDown(e){ +// isResizing = true; + $.fn.resizable.isResizing = true; + $.data(e.data.target, 'resizable').options.onStartResize.call(e.data.target, e); + return false; + } + + function doMove(e){ + resize(e); + if ($.data(e.data.target, 'resizable').options.onResize.call(e.data.target, e) != false){ + applySize(e) + } + return false; + } + + function doUp(e){ +// isResizing = false; + $.fn.resizable.isResizing = false; + resize(e, true); + applySize(e); + $.data(e.data.target, 'resizable').options.onStopResize.call(e.data.target, e); + $(document).unbind('.resizable'); + $('body').css('cursor',''); +// $('body').css('cursor','auto'); + return false; + } + + return this.each(function(){ + var opts = null; + var state = $.data(this, 'resizable'); + if (state) { + $(this).unbind('.resizable'); + opts = $.extend(state.options, options || {}); + } else { + opts = $.extend({}, $.fn.resizable.defaults, $.fn.resizable.parseOptions(this), options || {}); + $.data(this, 'resizable', { + options:opts + }); + } + + if (opts.disabled == true) { + return; + } + + // bind mouse event using namespace resizable + $(this).bind('mousemove.resizable', {target:this}, function(e){ +// if (isResizing) return; + if ($.fn.resizable.isResizing){return} + var dir = getDirection(e); + if (dir == '') { + $(e.data.target).css('cursor', ''); + } else { + $(e.data.target).css('cursor', dir + '-resize'); + } + }).bind('mouseleave.resizable', {target:this}, function(e){ + $(e.data.target).css('cursor', ''); + }).bind('mousedown.resizable', {target:this}, function(e){ + var dir = getDirection(e); + if (dir == '') return; + + function getCssValue(css) { + var val = parseInt($(e.data.target).css(css)); + if (isNaN(val)) { + return 0; + } else { + return val; + } + } + + var data = { + target: e.data.target, + dir: dir, + startLeft: getCssValue('left'), + startTop: getCssValue('top'), + left: getCssValue('left'), + top: getCssValue('top'), + startX: e.pageX, + startY: e.pageY, + startWidth: $(e.data.target).outerWidth(), + startHeight: $(e.data.target).outerHeight(), + width: $(e.data.target).outerWidth(), + height: $(e.data.target).outerHeight(), + deltaWidth: $(e.data.target).outerWidth() - $(e.data.target).width(), + deltaHeight: $(e.data.target).outerHeight() - $(e.data.target).height() + }; + $(document).bind('mousedown.resizable', data, doDown); + $(document).bind('mousemove.resizable', data, doMove); + $(document).bind('mouseup.resizable', data, doUp); + $('body').css('cursor', dir+'-resize'); + }); + + // get the resize direction + function getDirection(e) { + var tt = $(e.data.target); + var dir = ''; + var offset = tt.offset(); + var width = tt.outerWidth(); + var height = tt.outerHeight(); + var edge = opts.edge; + if (e.pageY > offset.top && e.pageY < offset.top + edge) { + dir += 'n'; + } else if (e.pageY < offset.top + height && e.pageY > offset.top + height - edge) { + dir += 's'; + } + if (e.pageX > offset.left && e.pageX < offset.left + edge) { + dir += 'w'; + } else if (e.pageX < offset.left + width && e.pageX > offset.left + width - edge) { + dir += 'e'; + } + + var handles = opts.handles.split(','); + for(var i=0; i' + + '
                                                ' + + '' + + '' + + '
                                                ' + + '
                                                ' + + '
                                                ' + + '
                                                ' + + '' + + '
                                                ').insertAfter(target); + var t = $(target); + t.addClass('slider-f').hide(); + var name = t.attr('name'); + if (name){ + slider.find('input.slider-value').attr('name', name); + t.removeAttr('name').attr('sliderName', name); + } + slider.bind('_resize', function(e,force){ + if ($(this).hasClass('easyui-fluid') || force){ + setSize(target); + } + return false; + }); + return slider; + } + + /** + * set the slider size, for vertical slider, the height property is required + */ + function setSize(target, param){ + var state = $.data(target, 'slider'); + var opts = state.options; + var slider = state.slider; + + if (param){ + if (param.width) opts.width = param.width; + if (param.height) opts.height = param.height; + } + slider._size(opts); + if (opts.mode == 'h'){ + slider.css('height', ''); + slider.children('div').css('height', ''); + } else { + slider.css('width', ''); + slider.children('div').css('width', ''); + slider.children('div.slider-rule,div.slider-rulelabel,div.slider-inner')._outerHeight(slider._outerHeight()); + } + initValue(target); + } + + /** + * show slider rule if needed + */ + function showRule(target){ + var state = $.data(target, 'slider'); + var opts = state.options; + var slider = state.slider; + + var aa = opts.mode == 'h' ? opts.rule : opts.rule.slice(0).reverse(); + if (opts.reversed){ + aa = aa.slice(0).reverse(); + } + _build(aa); + + function _build(aa){ + var rule = slider.find('div.slider-rule'); + var label = slider.find('div.slider-rulelabel'); + rule.empty(); + label.empty(); + for(var i=0; i').appendTo(rule); + span.css((opts.mode=='h'?'left':'top'), distance); + + // show the labels + if (aa[i] != '|'){ + span = $('').appendTo(label); + span.html(aa[i]); + if (opts.mode == 'h'){ + span.css({ + left: distance, + marginLeft: -Math.round(span.outerWidth()/2) + }); + } else { + span.css({ + top: distance, + marginTop: -Math.round(span.outerHeight()/2) + }); + } + } + } + } + } + + /** + * build the slider and set some properties + */ + function buildSlider(target){ + var state = $.data(target, 'slider'); + var opts = state.options; + var slider = state.slider; + + slider.removeClass('slider-h slider-v slider-disabled'); + slider.addClass(opts.mode == 'h' ? 'slider-h' : 'slider-v'); + slider.addClass(opts.disabled ? 'slider-disabled' : ''); + + slider.find('a.slider-handle').draggable({ + axis:opts.mode, + cursor:'pointer', + disabled: opts.disabled, + onDrag:function(e){ + var left = e.data.left; + var width = slider.width(); + if (opts.mode!='h'){ + left = e.data.top; + width = slider.height(); + } + if (left < 0 || left > width) { + return false; + } else { + var value = pos2value(target, left); + adjustValue(value); + return false; + } + }, + onBeforeDrag:function(){ + state.isDragging = true; + }, + onStartDrag:function(){ + opts.onSlideStart.call(target, opts.value); + }, + onStopDrag:function(e){ + var value = pos2value(target, (opts.mode=='h'?e.data.left:e.data.top)); + adjustValue(value); + opts.onSlideEnd.call(target, opts.value); + opts.onComplete.call(target, opts.value); + state.isDragging = false; + } + }); + slider.find('div.slider-inner').unbind('.slider').bind('mousedown.slider', function(e){ + if (state.isDragging || opts.disabled){return} + var pos = $(this).offset(); + var value = pos2value(target, (opts.mode=='h'?(e.pageX-pos.left):(e.pageY-pos.top))); + adjustValue(value); + opts.onComplete.call(target, opts.value); + }); + + function adjustValue(value){ + var s = Math.abs(value % opts.step); + if (s < opts.step/2){ + value -= s; + } else { + value = value - s + opts.step; + } + setValue(target, value); + } + } + + /** + * set a specified value to slider + */ + function setValue(target, value){ + var state = $.data(target, 'slider'); + var opts = state.options; + var slider = state.slider; + var oldValue = opts.value; + if (value < opts.min) value = opts.min; + if (value > opts.max) value = opts.max; + + opts.value = value; + $(target).val(value); + slider.find('input.slider-value').val(value); + + var pos = value2pos(target, value); + var tip = slider.find('.slider-tip'); + if (opts.showTip){ + tip.show(); + tip.html(opts.tipFormatter.call(target, opts.value)); + } else { + tip.hide(); + } + + if (opts.mode == 'h'){ + var style = 'left:'+pos+'px;'; + slider.find('.slider-handle').attr('style', style); + tip.attr('style', style + 'margin-left:' + (-Math.round(tip.outerWidth()/2)) + 'px'); + } else { + var style = 'top:' + pos + 'px;'; + slider.find('.slider-handle').attr('style', style); + tip.attr('style', style + 'margin-left:' + (-Math.round(tip.outerWidth())) + 'px'); + } + + if (oldValue != value){ + opts.onChange.call(target, value, oldValue); + } + } + + function initValue(target){ + var opts = $.data(target, 'slider').options; + var fn = opts.onChange; + opts.onChange = function(){}; + setValue(target, opts.value); + opts.onChange = fn; + } + + /** + * translate value to slider position + */ +// function value2pos(target, value){ +// var state = $.data(target, 'slider'); +// var opts = state.options; +// var slider = state.slider; +// if (opts.mode == 'h'){ +// var pos = (value-opts.min)/(opts.max-opts.min)*slider.width(); +// if (opts.reversed){ +// pos = slider.width() - pos; +// } +// } else { +// var pos = slider.height() - (value-opts.min)/(opts.max-opts.min)*slider.height(); +// if (opts.reversed){ +// pos = slider.height() - pos; +// } +// } +// return pos.toFixed(0); +// } + function value2pos(target, value){ + var state = $.data(target, 'slider'); + var opts = state.options; + var slider = state.slider; + var size = opts.mode == 'h' ? slider.width() : slider.height(); + var pos = opts.converter.toPosition.call(target, value, size); + if (opts.mode == 'v'){ + pos = slider.height() - pos; + } + if (opts.reversed){ + pos = size - pos; + } + return pos.toFixed(0); + } + + /** + * translate slider position to value + */ +// function pos2value(target, pos){ +// var state = $.data(target, 'slider'); +// var opts = state.options; +// var slider = state.slider; +// if (opts.mode == 'h'){ +// var value = opts.min + (opts.max-opts.min)*(pos/slider.width()); +// } else { +// var value = opts.min + (opts.max-opts.min)*((slider.height()-pos)/slider.height()); +// } +// return opts.reversed ? opts.max - value.toFixed(0) : value.toFixed(0); +// } + function pos2value(target, pos){ + var state = $.data(target, 'slider'); + var opts = state.options; + var slider = state.slider; + var size = opts.mode == 'h' ? slider.width() : slider.height(); + var value = opts.converter.toValue.call(target, opts.mode=='h'?(opts.reversed?(size-pos):pos):(size-pos), size); + return value.toFixed(0); +// var value = opts.converter.toValue.call(target, opts.mode=='h'?pos:(size-pos), size); +// return opts.reversed ? opts.max - value.toFixed(0) : value.toFixed(0); + } + + $.fn.slider = function(options, param){ + if (typeof options == 'string'){ + return $.fn.slider.methods[options](this, param); + } + + options = options || {}; + return this.each(function(){ + var state = $.data(this, 'slider'); + if (state){ + $.extend(state.options, options); + } else { + state = $.data(this, 'slider', { + options: $.extend({}, $.fn.slider.defaults, $.fn.slider.parseOptions(this), options), + slider: init(this) + }); + $(this).removeAttr('disabled'); + } + + var opts = state.options; + opts.min = parseFloat(opts.min); + opts.max = parseFloat(opts.max); + opts.value = parseFloat(opts.value); + opts.step = parseFloat(opts.step); + opts.originalValue = opts.value; + + buildSlider(this); + showRule(this); + setSize(this); + }); + }; + + $.fn.slider.methods = { + options: function(jq){ + return $.data(jq[0], 'slider').options; + }, + destroy: function(jq){ + return jq.each(function(){ + $.data(this, 'slider').slider.remove(); + $(this).remove(); + }); + }, + resize: function(jq, param){ + return jq.each(function(){ + setSize(this, param); + }); + }, + getValue: function(jq){ + return jq.slider('options').value; + }, + setValue: function(jq, value){ + return jq.each(function(){ + setValue(this, value); + }); + }, + clear: function(jq){ + return jq.each(function(){ + var opts = $(this).slider('options'); + setValue(this, opts.min); + }); + }, + reset: function(jq){ + return jq.each(function(){ + var opts = $(this).slider('options'); + setValue(this, opts.originalValue); + }); + }, + enable: function(jq){ + return jq.each(function(){ + $.data(this, 'slider').options.disabled = false; + buildSlider(this); + }); + }, + disable: function(jq){ + return jq.each(function(){ + $.data(this, 'slider').options.disabled = true; + buildSlider(this); + }); + } + }; + + $.fn.slider.parseOptions = function(target){ + var t = $(target); + return $.extend({}, $.parser.parseOptions(target, [ + 'width','height','mode',{reversed:'boolean',showTip:'boolean',min:'number',max:'number',step:'number'} + ]), { + value: (t.val() || undefined), + disabled: (t.attr('disabled') ? true : undefined), + rule: (t.attr('rule') ? eval(t.attr('rule')) : undefined) + }); + }; + + $.fn.slider.defaults = { + width: 'auto', + height: 'auto', + mode: 'h', // 'h'(horizontal) or 'v'(vertical) + reversed: false, + showTip: false, + disabled: false, + value: 0, + min: 0, + max: 100, + step: 1, + rule: [], // [0,'|',100] + tipFormatter: function(value){return value}, + converter:{ + toPosition:function(value, size){ + var opts = $(this).slider('options'); + return (value-opts.min)/(opts.max-opts.min)*size; + }, + toValue:function(pos, size){ + var opts = $(this).slider('options'); + return opts.min + (opts.max-opts.min)*(pos/size); + } + }, + onChange: function(value, oldValue){}, + onSlideStart: function(value){}, + onSlideEnd: function(value){}, + onComplete: function(value){} + }; +})(jQuery); diff --git a/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/src/jquery.tabs.js b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/src/jquery.tabs.js new file mode 100644 index 00000000..b858c706 --- /dev/null +++ b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/src/jquery.tabs.js @@ -0,0 +1,789 @@ +/** + * jQuery EasyUI 1.4.1 + * + * Copyright (c) 2009-2014 www.jeasyui.com. All rights reserved. + * + * Licensed under the GPL license: http://www.gnu.org/licenses/gpl.txt + * To use it on other terms please contact us at info@jeasyui.com + * + */ +/** + * tabs - jQuery EasyUI + * + * Dependencies: + * panel + * linkbutton + * + */ +(function($){ + + /** + * set the tabs scrollers to show or not, + * dependent on the tabs count and width + */ + function setScrollers(container) { + var opts = $.data(container, 'tabs').options; + if (opts.tabPosition == 'left' || opts.tabPosition == 'right' || !opts.showHeader){return} + + var header = $(container).children('div.tabs-header'); + var tool = header.children('div.tabs-tool'); + var sLeft = header.children('div.tabs-scroller-left'); + var sRight = header.children('div.tabs-scroller-right'); + var wrap = header.children('div.tabs-wrap'); + + // set the tool height + var tHeight = header.outerHeight(); + if (opts.plain){ + tHeight -= tHeight - header.height(); + } + tool._outerHeight(tHeight); + + var tabsWidth = 0; + $('ul.tabs li', header).each(function(){ + tabsWidth += $(this).outerWidth(true); + }); + var cWidth = header.width() - tool._outerWidth(); + + if (tabsWidth > cWidth) { + sLeft.add(sRight).show()._outerHeight(tHeight); + if (opts.toolPosition == 'left'){ + tool.css({ + left: sLeft.outerWidth(), + right: '' + }); + wrap.css({ + marginLeft: sLeft.outerWidth() + tool._outerWidth(), + marginRight: sRight._outerWidth(), + width: cWidth - sLeft.outerWidth() - sRight.outerWidth() + }); + } else { + tool.css({ + left: '', + right: sRight.outerWidth() + }); + wrap.css({ + marginLeft: sLeft.outerWidth(), + marginRight: sRight.outerWidth() + tool._outerWidth(), + width: cWidth - sLeft.outerWidth() - sRight.outerWidth() + }); + } + } else { + sLeft.add(sRight).hide(); + if (opts.toolPosition == 'left'){ + tool.css({ + left: 0, + right: '' + }); + wrap.css({ + marginLeft: tool._outerWidth(), + marginRight: 0, + width: cWidth + }); + } else { + tool.css({ + left: '', + right: 0 + }); + wrap.css({ + marginLeft: 0, + marginRight: tool._outerWidth(), + width: cWidth + }); + } + } + } + + function addTools(container){ + var opts = $.data(container, 'tabs').options; + var header = $(container).children('div.tabs-header'); + if (opts.tools) { + if (typeof opts.tools == 'string'){ + $(opts.tools).addClass('tabs-tool').appendTo(header); + $(opts.tools).show(); + } else { + header.children('div.tabs-tool').remove(); + var tools = $('
                                                ').appendTo(header); + var tr = tools.find('tr'); + for(var i=0; i').appendTo(tr); + var tool = $('').appendTo(td); + tool[0].onclick = eval(opts.tools[i].handler || function(){}); + tool.linkbutton($.extend({}, opts.tools[i], { + plain: true + })); + } + } + } else { + header.children('div.tabs-tool').remove(); + } + } + + function setSize(container, param) { + var state = $.data(container, 'tabs'); + var opts = state.options; + var cc = $(container); + + if (param){ + $.extend(opts, { + width: param.width, + height: param.height + }); + } + cc._size(opts); + + var header = cc.children('div.tabs-header'); + var panels = cc.children('div.tabs-panels'); + var wrap = header.find('div.tabs-wrap'); + var ul = wrap.find('.tabs'); + + for(var i=0; i
                                                ').insertBefore(cc); + cc.children('div').each(function(){ + pp[0].appendChild(this); + }); + cc[0].appendChild(pp[0]); +// cc.wrapInner('
                                                '); + $('
                                                ' + + '
                                                ' + + '
                                                ' + + '
                                                ' + + '
                                                  ' + + '
                                                  ' + + '
                                                  ').prependTo(container); + + cc.children('div.tabs-panels').children('div').each(function(i){ + var opts = $.extend({}, $.parser.parseOptions(this), { + selected: ($(this).attr('selected') ? true : undefined) + }); + var pp = $(this); + tabs.push(pp); + createTab(container, pp, opts); + }); + + cc.children('div.tabs-header').find('.tabs-scroller-left, .tabs-scroller-right').hover( + function(){$(this).addClass('tabs-scroller-over');}, + function(){$(this).removeClass('tabs-scroller-over');} + ); + cc.bind('_resize', function(e,force){ + if ($(this).hasClass('easyui-fluid') || force){ + setSize(container); + setSelectedSize(container); + } + return false; + }); + } + + function bindEvents(container){ + var state = $.data(container, 'tabs') + var opts = state.options; + $(container).children('div.tabs-header').unbind().bind('click', function(e){ + if ($(e.target).hasClass('tabs-scroller-left')){ + $(container).tabs('scrollBy', -opts.scrollIncrement); + } else if ($(e.target).hasClass('tabs-scroller-right')){ + $(container).tabs('scrollBy', opts.scrollIncrement); + } else { + var li = $(e.target).closest('li'); + if (li.hasClass('tabs-disabled')){return;} + var a = $(e.target).closest('a.tabs-close'); + if (a.length){ + closeTab(container, getLiIndex(li)); + } else if (li.length){ +// selectTab(container, getLiIndex(li)); + var index = getLiIndex(li); + var popts = state.tabs[index].panel('options'); + if (popts.collapsible){ + popts.closed ? selectTab(container, index) : unselectTab(container, index); + } else { + selectTab(container, index); + } + } + } + }).bind('contextmenu', function(e){ + var li = $(e.target).closest('li'); + if (li.hasClass('tabs-disabled')){return;} + if (li.length){ + opts.onContextMenu.call(container, e, li.find('span.tabs-title').html(), getLiIndex(li)); + } + }); + + function getLiIndex(li){ + var index = 0; + li.parent().children('li').each(function(i){ + if (li[0] == this){ + index = i; + return false; + } + }); + return index; + } + } + + function setProperties(container){ + var opts = $.data(container, 'tabs').options; + var header = $(container).children('div.tabs-header'); + var panels = $(container).children('div.tabs-panels'); + + header.removeClass('tabs-header-top tabs-header-bottom tabs-header-left tabs-header-right'); + panels.removeClass('tabs-panels-top tabs-panels-bottom tabs-panels-left tabs-panels-right'); + if (opts.tabPosition == 'top'){ + header.insertBefore(panels); + } else if (opts.tabPosition == 'bottom'){ + header.insertAfter(panels); + header.addClass('tabs-header-bottom'); + panels.addClass('tabs-panels-top'); + } else if (opts.tabPosition == 'left'){ + header.addClass('tabs-header-left'); + panels.addClass('tabs-panels-right'); + } else if (opts.tabPosition == 'right'){ + header.addClass('tabs-header-right'); + panels.addClass('tabs-panels-left'); + } + + if (opts.plain == true) { + header.addClass('tabs-header-plain'); + } else { + header.removeClass('tabs-header-plain'); + } + if (opts.border == true){ + header.removeClass('tabs-header-noborder'); + panels.removeClass('tabs-panels-noborder'); + } else { + header.addClass('tabs-header-noborder'); + panels.addClass('tabs-panels-noborder'); + } + } + + function createTab(container, pp, options) { + var state = $.data(container, 'tabs'); + options = options || {}; + + // create panel + pp.panel($.extend({}, options, { + border: false, + noheader: true, + closed: true, + doSize: false, + iconCls: (options.icon ? options.icon : undefined), + onLoad: function(){ + if (options.onLoad){ + options.onLoad.call(this, arguments); + } + state.options.onLoad.call(container, $(this)); + } + })); + + var opts = pp.panel('options'); + var tabs = $(container).children('div.tabs-header').find('ul.tabs'); + + opts.tab = $('
                                                • ').appendTo(tabs); // set the tab object in panel options + opts.tab.append( + '' + + '' + + '' + + '' + ); + + // only update the tab header + $(container).tabs('update', { + tab: pp, + options: opts, + type: 'header' + }); + } + + function addTab(container, options) { + var state = $.data(container, 'tabs'); + var opts = state.options; + var tabs = state.tabs; + if (options.selected == undefined) options.selected = true; + + var pp = $('
                                                  ').appendTo($(container).children('div.tabs-panels')); + tabs.push(pp); + createTab(container, pp, options); + + opts.onAdd.call(container, options.title, tabs.length-1); + + setSize(container); + if (options.selected){ + selectTab(container, tabs.length-1); // select the added tab panel + } + } + + /** + * update tab panel, param has following properties: + * tab: the tab panel to be updated + * options: the tab panel options + * type: the update type, possible values are: 'header','body','all' + */ + function updateTab(container, param){ + param.type = param.type || 'all'; + var selectHis = $.data(container, 'tabs').selectHis; + var pp = param.tab; // the tab panel + var oldTitle = pp.panel('options').title; + + if (param.type == 'all' || param == 'body'){ + pp.panel($.extend({}, param.options, { + iconCls: (param.options.icon ? param.options.icon : undefined) + })); + } + if (param.type == 'all' || param.type == 'header'){ + var opts = pp.panel('options'); // get the tab panel options + var tab = opts.tab; + + var s_title = tab.find('span.tabs-title'); + var s_icon = tab.find('span.tabs-icon'); + s_title.html(opts.title); + s_icon.attr('class', 'tabs-icon'); + + tab.find('a.tabs-close').remove(); + if (opts.closable){ + s_title.addClass('tabs-closable'); + $('').appendTo(tab); + } else{ + s_title.removeClass('tabs-closable'); + } + if (opts.iconCls){ + s_title.addClass('tabs-with-icon'); + s_icon.addClass(opts.iconCls); + } else { + s_title.removeClass('tabs-with-icon'); + } + + if (oldTitle != opts.title){ + for(var i=0; i').insertAfter(tab.find('a.tabs-inner')); + if ($.isArray(opts.tools)){ + for(var i=0; i').appendTo(p_tool); + t.addClass(opts.tools[i].iconCls); + if (opts.tools[i].handler){ + t.bind('click', {handler:opts.tools[i].handler}, function(e){ + if ($(this).parents('li').hasClass('tabs-disabled')){return;} + e.data.handler.call(this); + }); + } + } + } else { + $(opts.tools).children().appendTo(p_tool); + } + var pr = p_tool.children().length * 12; + if (opts.closable) { + pr += 8; + } else { + pr -= 3; + p_tool.css('right','5px'); + } + s_title.css('padding-right', pr+'px'); + } + } + + setSize(container); + + $.data(container, 'tabs').options.onUpdate.call(container, opts.title, getTabIndex(container, pp)); + } + + /** + * close a tab with specified index or title + */ + function closeTab(container, which) { + var opts = $.data(container, 'tabs').options; + var tabs = $.data(container, 'tabs').tabs; + var selectHis = $.data(container, 'tabs').selectHis; + + if (!exists(container, which)) return; + + var tab = getTab(container, which); + var title = tab.panel('options').title; + var index = getTabIndex(container, tab); + + if (opts.onBeforeClose.call(container, title, index) == false) return; + + var tab = getTab(container, which, true); + tab.panel('options').tab.remove(); + tab.panel('destroy'); + + opts.onClose.call(container, title, index); + +// setScrollers(container); + setSize(container); + + // remove the select history item + for(var i=0; i= tabs.length){ + return null; + } else { + var tab = tabs[which]; + if (removeit) { + tabs.splice(which, 1); + } + return tab; + } + } + for(var i=0; idiv.tabs-header>div.tabs-wrap'); + var left = tab.position().left; + var right = left + tab.outerWidth(); + if (left < 0 || right > wrap.width()){ + var deltaX = left - (wrap.width()-tab.width()) / 2; + $(container).tabs('scrollBy', deltaX); + } else { + $(container).tabs('scrollBy', 0); + } + + setSelectedSize(container); + + opts.onSelect.call(container, title, getTabIndex(container, panel)); + } + + function unselectTab(container, which){ + var state = $.data(container, 'tabs'); + var p = getTab(container, which); + if (p){ + var opts = p.panel('options'); + if (!opts.closed){ + p.panel('close'); + if (opts.closed){ + opts.tab.removeClass('tabs-selected'); + state.options.onUnselect.call(container, opts.title, getTabIndex(container, p)); + } + } + } + } + + function exists(container, which){ + return getTab(container, which) != null; + } + + function showHeader(container, visible){ + var opts = $.data(container, 'tabs').options; + opts.showHeader = visible; + $(container).tabs('resize'); + } + + + $.fn.tabs = function(options, param){ + if (typeof options == 'string') { + return $.fn.tabs.methods[options](this, param); + } + + options = options || {}; + return this.each(function(){ + var state = $.data(this, 'tabs'); + if (state) { + $.extend(state.options, options); + } else { + $.data(this, 'tabs', { + options: $.extend({},$.fn.tabs.defaults, $.fn.tabs.parseOptions(this), options), + tabs: [], + selectHis: [] + }); + wrapTabs(this); + } + + addTools(this); + setProperties(this); + setSize(this); + bindEvents(this); + + doFirstSelect(this); + }); + }; + + $.fn.tabs.methods = { + options: function(jq){ + var cc = jq[0]; + var opts = $.data(cc, 'tabs').options; + var s = getSelectedTab(cc); + opts.selected = s ? getTabIndex(cc, s) : -1; + return opts; + }, + tabs: function(jq){ + return $.data(jq[0], 'tabs').tabs; + }, + resize: function(jq, param){ + return jq.each(function(){ + setSize(this, param); + setSelectedSize(this); + }); + }, + add: function(jq, options){ + return jq.each(function(){ + addTab(this, options); + }); + }, + close: function(jq, which){ + return jq.each(function(){ + closeTab(this, which); + }); + }, + getTab: function(jq, which){ + return getTab(jq[0], which); + }, + getTabIndex: function(jq, tab){ + return getTabIndex(jq[0], tab); + }, + getSelected: function(jq){ + return getSelectedTab(jq[0]); + }, + select: function(jq, which){ + return jq.each(function(){ + selectTab(this, which); + }); + }, + unselect: function(jq, which){ + return jq.each(function(){ + unselectTab(this, which); + }); + }, + exists: function(jq, which){ + return exists(jq[0], which); + }, + update: function(jq, options){ + return jq.each(function(){ + updateTab(this, options); + }); + }, + enableTab: function(jq, which){ + return jq.each(function(){ + $(this).tabs('getTab', which).panel('options').tab.removeClass('tabs-disabled'); + }); + }, + disableTab: function(jq, which){ + return jq.each(function(){ + $(this).tabs('getTab', which).panel('options').tab.addClass('tabs-disabled'); + }); + }, + showHeader: function(jq){ + return jq.each(function(){ + showHeader(this, true); + }); + }, + hideHeader: function(jq){ + return jq.each(function(){ + showHeader(this, false); + }); + }, + scrollBy: function(jq, deltaX){ // scroll the tab header by the specified amount of pixels + return jq.each(function(){ + var opts = $(this).tabs('options'); + var wrap = $(this).find('>div.tabs-header>div.tabs-wrap'); + var pos = Math.min(wrap._scrollLeft() + deltaX, getMaxScrollWidth()); + wrap.animate({scrollLeft: pos}, opts.scrollDuration); + + function getMaxScrollWidth(){ + var w = 0; + var ul = wrap.children('ul'); + ul.children('li').each(function(){ + w += $(this).outerWidth(true); + }); + return w - wrap.width() + (ul.outerWidth() - ul.width()); + } + }); + } + }; + + $.fn.tabs.parseOptions = function(target){ + return $.extend({}, $.parser.parseOptions(target, [ + 'tools','toolPosition','tabPosition', + {fit:'boolean',border:'boolean',plain:'boolean',headerWidth:'number',tabWidth:'number',tabHeight:'number',selected:'number',showHeader:'boolean'} + ])); + }; + + $.fn.tabs.defaults = { + width: 'auto', + height: 'auto', + headerWidth: 150, // the tab header width, it is valid only when tabPosition set to 'left' or 'right' + tabWidth: 'auto', // the tab width + tabHeight: 27, // the tab height + selected: 0, // the initialized selected tab index + showHeader: true, + plain: false, + fit: false, + border: true, + tools: null, + toolPosition: 'right', // left,right + tabPosition: 'top', // possible values: top,bottom + scrollIncrement: 100, + scrollDuration: 400, + onLoad: function(panel){}, + onSelect: function(title, index){}, + onUnselect: function(title, index){}, + onBeforeClose: function(title, index){}, + onClose: function(title, index){}, + onAdd: function(title, index){}, + onUpdate: function(title, index){}, + onContextMenu: function(e, title, index){} + }; +})(jQuery); diff --git a/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/src/jquery.window.js b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/src/jquery.window.js new file mode 100644 index 00000000..9f7a4965 --- /dev/null +++ b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/src/jquery.window.js @@ -0,0 +1,379 @@ +/** + * jQuery EasyUI 1.4.1 + * + * Copyright (c) 2009-2014 www.jeasyui.com. All rights reserved. + * + * Licensed under the GPL license: http://www.gnu.org/licenses/gpl.txt + * To use it on other terms please contact us at info@jeasyui.com + * + */ +/** + * window - jQuery EasyUI + * + * Dependencies: + * panel + * draggable + * resizable + * + */ +(function($){ + function moveWindow(target, param){ + var state = $.data(target, 'window'); + if (param){ + if (param.left != null) state.options.left = param.left; + if (param.top != null) state.options.top = param.top; + } + $(target).panel('move', state.options); + if (state.shadow){ + state.shadow.css({ + left: state.options.left, + top: state.options.top + }); + } + } + + /** + * center the window only horizontally + */ + function hcenter(target, tomove){ + var opts = $.data(target, 'window').options; + var pp = $(target).window('panel'); + var width = pp._outerWidth(); + if (opts.inline){ + var parent = pp.parent(); + opts.left = Math.ceil((parent.width() - width) / 2 + parent.scrollLeft()); + } else { + opts.left = Math.ceil(($(window)._outerWidth() - width) / 2 + $(document).scrollLeft()); + } + if (tomove){moveWindow(target);} + } + + /** + * center the window only vertically + */ + function vcenter(target, tomove){ + var opts = $.data(target, 'window').options; + var pp = $(target).window('panel'); + var height = pp._outerHeight(); + if (opts.inline){ + var parent = pp.parent(); + opts.top = Math.ceil((parent.height() - height) / 2 + parent.scrollTop()); + } else { + opts.top = Math.ceil(($(window)._outerHeight() - height) / 2 + $(document).scrollTop()); + } + if (tomove){moveWindow(target);} + } + + function create(target){ + var state = $.data(target, 'window'); + var opts = state.options; + var win = $(target).panel($.extend({}, state.options, { + border: false, + doSize: true, // size the panel, the property undefined in window component + closed: true, // close the panel + cls: 'window', + headerCls: 'window-header', + bodyCls: 'window-body ' + (opts.noheader ? 'window-body-noheader' : ''), + + onBeforeDestroy: function(){ + if (opts.onBeforeDestroy.call(target) == false){return false;} + if (state.shadow){state.shadow.remove();} + if (state.mask){state.mask.remove();} + }, + onClose: function(){ + if (state.shadow){state.shadow.hide();} + if (state.mask){state.mask.hide();} + opts.onClose.call(target); + }, + onOpen: function(){ + if (state.mask){ + state.mask.css({ + display:'block', + zIndex: $.fn.window.defaults.zIndex++ + }); + } + if (state.shadow){ + state.shadow.css({ + display:'block', + zIndex: $.fn.window.defaults.zIndex++, + left: opts.left, + top: opts.top, + width: state.window._outerWidth(), + height: state.window._outerHeight() + }); + } + state.window.css('z-index', $.fn.window.defaults.zIndex++); + + opts.onOpen.call(target); + }, + onResize: function(width, height){ + var popts = $(this).panel('options'); + $.extend(opts, { + width: popts.width, + height: popts.height, + left: popts.left, + top: popts.top + }); + if (state.shadow){ + state.shadow.css({ + left: opts.left, + top: opts.top, + width: state.window._outerWidth(), + height: state.window._outerHeight() + }); + } + opts.onResize.call(target, width, height); + }, + onMinimize: function(){ + if (state.shadow){state.shadow.hide();} + if (state.mask){state.mask.hide();} + state.options.onMinimize.call(target); + }, + onBeforeCollapse: function(){ + if (opts.onBeforeCollapse.call(target) == false){return false;} + if (state.shadow){state.shadow.hide();} + }, + onExpand: function(){ + if (state.shadow){state.shadow.show();} + opts.onExpand.call(target); + } + })); + + state.window = win.panel('panel'); + + // create mask + if (state.mask){state.mask.remove();} + if (opts.modal == true){ + state.mask = $('
                                                  ').insertAfter(state.window); + state.mask.css({ + width: (opts.inline ? state.mask.parent().width() : getPageArea().width), + height: (opts.inline ? state.mask.parent().height() : getPageArea().height), + display: 'none' + }); + } + + // create shadow + if (state.shadow){state.shadow.remove();} + if (opts.shadow == true){ + state.shadow = $('
                                                  ').insertAfter(state.window); + state.shadow.css({ + display: 'none' + }); + } + + // if require center the window + if (opts.left == null){hcenter(target);} + if (opts.top == null){vcenter(target);} + moveWindow(target); + + if (!opts.closed){ + win.window('open'); // open the window + } + } + + + /** + * set window drag and resize property + */ + function setProperties(target){ + var state = $.data(target, 'window'); + + state.window.draggable({ + handle: '>div.panel-header>div.panel-title', + disabled: state.options.draggable == false, + onStartDrag: function(e){ + if (state.mask) state.mask.css('z-index', $.fn.window.defaults.zIndex++); + if (state.shadow) state.shadow.css('z-index', $.fn.window.defaults.zIndex++); + state.window.css('z-index', $.fn.window.defaults.zIndex++); + + if (!state.proxy){ + state.proxy = $('
                                                  ').insertAfter(state.window); + } + state.proxy.css({ + display:'none', + zIndex: $.fn.window.defaults.zIndex++, + left: e.data.left, + top: e.data.top + }); + state.proxy._outerWidth(state.window._outerWidth()); + state.proxy._outerHeight(state.window._outerHeight()); + setTimeout(function(){ + if (state.proxy) state.proxy.show(); + }, 500); + }, + onDrag: function(e){ + state.proxy.css({ + display:'block', + left: e.data.left, + top: e.data.top + }); + return false; + }, + onStopDrag: function(e){ + state.options.left = e.data.left; + state.options.top = e.data.top; + $(target).window('move'); + state.proxy.remove(); + state.proxy = null; + } + }); + + state.window.resizable({ + disabled: state.options.resizable == false, + onStartResize:function(e){ + if (state.pmask){state.pmask.remove();} + state.pmask = $('
                                                  ').insertAfter(state.window); + state.pmask.css({ + zIndex: $.fn.window.defaults.zIndex++, + left: e.data.left, + top: e.data.top, + width: state.window._outerWidth(), + height: state.window._outerHeight() + }); + if (state.proxy){state.proxy.remove();} + state.proxy = $('
                                                  ').insertAfter(state.window); + state.proxy.css({ + zIndex: $.fn.window.defaults.zIndex++, + left: e.data.left, + top: e.data.top + }); + state.proxy._outerWidth(e.data.width)._outerHeight(e.data.height); + }, + onResize: function(e){ + state.proxy.css({ + left: e.data.left, + top: e.data.top + }); + state.proxy._outerWidth(e.data.width); + state.proxy._outerHeight(e.data.height); + return false; + }, + onStopResize: function(e){ + $(target).window('resize', e.data); + state.pmask.remove(); + state.pmask = null; + state.proxy.remove(); + state.proxy = null; + } + }); + } + + function getPageArea() { + if (document.compatMode == 'BackCompat') { + return { + width: Math.max(document.body.scrollWidth, document.body.clientWidth), + height: Math.max(document.body.scrollHeight, document.body.clientHeight) + } + } else { + return { + width: Math.max(document.documentElement.scrollWidth, document.documentElement.clientWidth), + height: Math.max(document.documentElement.scrollHeight, document.documentElement.clientHeight) + } + } + } + + // when window resize, reset the width and height of the window's mask + $(window).resize(function(){ + $('body>div.window-mask').css({ + width: $(window)._outerWidth(), + height: $(window)._outerHeight() + }); + setTimeout(function(){ + $('body>div.window-mask').css({ + width: getPageArea().width, + height: getPageArea().height + }); + }, 50); + }); + + $.fn.window = function(options, param){ + if (typeof options == 'string'){ + var method = $.fn.window.methods[options]; + if (method){ + return method(this, param); + } else { + return this.panel(options, param); + } + } + + options = options || {}; + return this.each(function(){ + var state = $.data(this, 'window'); + if (state){ + $.extend(state.options, options); + } else { + state = $.data(this, 'window', { + options: $.extend({}, $.fn.window.defaults, $.fn.window.parseOptions(this), options) + }); + if (!state.options.inline){ +// $(this).appendTo('body'); + document.body.appendChild(this); + } + } + create(this); + setProperties(this); + }); + }; + + $.fn.window.methods = { + options: function(jq){ + var popts = jq.panel('options'); + var wopts = $.data(jq[0], 'window').options; + return $.extend(wopts, { + closed: popts.closed, + collapsed: popts.collapsed, + minimized: popts.minimized, + maximized: popts.maximized + }); + }, + window: function(jq){ + return $.data(jq[0], 'window').window; + }, + move: function(jq, param){ + return jq.each(function(){ + moveWindow(this, param); + }); + }, + hcenter: function(jq){ + return jq.each(function(){ + hcenter(this, true); + }); + }, + vcenter: function(jq){ + return jq.each(function(){ + vcenter(this, true); + }); + }, + center: function(jq){ + return jq.each(function(){ + hcenter(this); + vcenter(this); + moveWindow(this); + }); + } + }; + + $.fn.window.parseOptions = function(target){ + return $.extend({}, $.fn.panel.parseOptions(target), $.parser.parseOptions(target, [ + {draggable:'boolean',resizable:'boolean',shadow:'boolean',modal:'boolean',inline:'boolean'} + ])); + }; + + // Inherited from $.fn.panel.defaults + $.fn.window.defaults = $.extend({}, $.fn.panel.defaults, { + zIndex: 9000, + draggable: true, + resizable: true, + shadow: true, + modal: false, + inline: false, // true to stay inside its parent, false to go on top of all elements + + // window's property which difference from panel + title: 'New Window', + collapsible: true, + minimizable: true, + maximizable: true, + closable: true, + closed: false + }); +})(jQuery); diff --git a/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/themes/black/accordion.css b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/themes/black/accordion.css new file mode 100644 index 00000000..a0f6ddc3 --- /dev/null +++ b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/themes/black/accordion.css @@ -0,0 +1,41 @@ +.accordion { + overflow: hidden; + border-width: 1px; + border-style: solid; +} +.accordion .accordion-header { + border-width: 0 0 1px; + cursor: pointer; +} +.accordion .accordion-body { + border-width: 0 0 1px; +} +.accordion-noborder { + border-width: 0; +} +.accordion-noborder .accordion-header { + border-width: 0 0 1px; +} +.accordion-noborder .accordion-body { + border-width: 0 0 1px; +} +.accordion-collapse { + background: url('images/accordion_arrows.png') no-repeat 0 0; +} +.accordion-expand { + background: url('images/accordion_arrows.png') no-repeat -16px 0; +} +.accordion { + background: #666; + border-color: #000; +} +.accordion .accordion-header { + background: #3d3d3d; + filter: none; +} +.accordion .accordion-header-selected { + background: #0052A3; +} +.accordion .accordion-header-selected .panel-title { + color: #fff; +} diff --git a/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/themes/black/calendar.css b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/themes/black/calendar.css new file mode 100644 index 00000000..e862e22e --- /dev/null +++ b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/themes/black/calendar.css @@ -0,0 +1,197 @@ +.calendar { + border-width: 1px; + border-style: solid; + padding: 1px; + overflow: hidden; +} +.calendar table { + table-layout: fixed; + border-collapse: separate; + font-size: 12px; + width: 100%; + height: 100%; +} +.calendar table td, +.calendar table th { + font-size: 12px; +} +.calendar-noborder { + border: 0; +} +.calendar-header { + position: relative; + height: 22px; +} +.calendar-title { + text-align: center; + height: 22px; +} +.calendar-title span { + position: relative; + display: inline-block; + top: 2px; + padding: 0 3px; + height: 18px; + line-height: 18px; + font-size: 12px; + cursor: pointer; + -moz-border-radius: 5px 5px 5px 5px; + -webkit-border-radius: 5px 5px 5px 5px; + border-radius: 5px 5px 5px 5px; +} +.calendar-prevmonth, +.calendar-nextmonth, +.calendar-prevyear, +.calendar-nextyear { + position: absolute; + top: 50%; + margin-top: -7px; + width: 14px; + height: 14px; + cursor: pointer; + font-size: 1px; + -moz-border-radius: 5px 5px 5px 5px; + -webkit-border-radius: 5px 5px 5px 5px; + border-radius: 5px 5px 5px 5px; +} +.calendar-prevmonth { + left: 20px; + background: url('images/calendar_arrows.png') no-repeat -18px -2px; +} +.calendar-nextmonth { + right: 20px; + background: url('images/calendar_arrows.png') no-repeat -34px -2px; +} +.calendar-prevyear { + left: 3px; + background: url('images/calendar_arrows.png') no-repeat -1px -2px; +} +.calendar-nextyear { + right: 3px; + background: url('images/calendar_arrows.png') no-repeat -49px -2px; +} +.calendar-body { + position: relative; +} +.calendar-body th, +.calendar-body td { + text-align: center; +} +.calendar-day { + border: 0; + padding: 1px; + cursor: pointer; + -moz-border-radius: 5px 5px 5px 5px; + -webkit-border-radius: 5px 5px 5px 5px; + border-radius: 5px 5px 5px 5px; +} +.calendar-other-month { + opacity: 0.3; + filter: alpha(opacity=30); +} +.calendar-disabled { + opacity: 0.6; + filter: alpha(opacity=60); + cursor: default; +} +.calendar-menu { + position: absolute; + top: 0; + left: 0; + width: 180px; + height: 150px; + padding: 5px; + font-size: 12px; + display: none; + overflow: hidden; +} +.calendar-menu-year-inner { + text-align: center; + padding-bottom: 5px; +} +.calendar-menu-year { + width: 40px; + text-align: center; + border-width: 1px; + border-style: solid; + margin: 0; + padding: 2px; + font-weight: bold; + font-size: 12px; +} +.calendar-menu-prev, +.calendar-menu-next { + display: inline-block; + width: 21px; + height: 21px; + vertical-align: top; + cursor: pointer; + -moz-border-radius: 5px 5px 5px 5px; + -webkit-border-radius: 5px 5px 5px 5px; + border-radius: 5px 5px 5px 5px; +} +.calendar-menu-prev { + margin-right: 10px; + background: url('images/calendar_arrows.png') no-repeat 2px 2px; +} +.calendar-menu-next { + margin-left: 10px; + background: url('images/calendar_arrows.png') no-repeat -45px 2px; +} +.calendar-menu-month { + text-align: center; + cursor: pointer; + font-weight: bold; + -moz-border-radius: 5px 5px 5px 5px; + -webkit-border-radius: 5px 5px 5px 5px; + border-radius: 5px 5px 5px 5px; +} +.calendar-body th, +.calendar-menu-month { + color: #ffffff; +} +.calendar-day { + color: #fff; +} +.calendar-sunday { + color: #CC2222; +} +.calendar-saturday { + color: #00ee00; +} +.calendar-today { + color: #0000ff; +} +.calendar-menu-year { + border-color: #000; +} +.calendar { + border-color: #000; +} +.calendar-header { + background: #3d3d3d; +} +.calendar-body, +.calendar-menu { + background: #666; +} +.calendar-body th { + background: #555; + padding: 2px 0; +} +.calendar-hover, +.calendar-nav-hover, +.calendar-menu-hover { + background-color: #777; + color: #fff; +} +.calendar-hover { + border: 1px solid #555; + padding: 0; +} +.calendar-selected { + background-color: #0052A3; + color: #fff; + border: 1px solid #00458a; + padding: 0; +} diff --git a/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/themes/black/combo.css b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/themes/black/combo.css new file mode 100644 index 00000000..ca0e4618 --- /dev/null +++ b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/themes/black/combo.css @@ -0,0 +1,60 @@ +.combo { + display: inline-block; + white-space: nowrap; + margin: 0; + padding: 0; + border-width: 1px; + border-style: solid; + overflow: hidden; + vertical-align: middle; +} +.combo .combo-text { + font-size: 12px; + border: 0px; + margin: 0; + padding: 0px 2px; + vertical-align: baseline; +} +.combo-arrow { + width: 18px; + height: 20px; + overflow: hidden; + display: inline-block; + vertical-align: top; + cursor: pointer; + opacity: 0.6; + filter: alpha(opacity=60); +} +.combo-arrow-hover { + opacity: 1.0; + filter: alpha(opacity=100); +} +.combo-panel { + overflow: auto; +} +.combo-arrow { + background: url('images/combo_arrow.png') no-repeat center center; +} +.combo-panel { + background-color: #666; +} +.combo { + border-color: #000; + background-color: #fff; +} +.combo-arrow { + background-color: #3d3d3d; +} +.combo-arrow-hover { + background-color: #777; +} +.combo-arrow:hover { + background-color: #777; +} +.combo .textbox-icon-disabled:hover { + cursor: default; +} +.textbox-invalid { + border-color: #ffa8a8; + background-color: #fff3f3; +} diff --git a/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/themes/black/combobox.css b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/themes/black/combobox.css new file mode 100644 index 00000000..284332e0 --- /dev/null +++ b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/themes/black/combobox.css @@ -0,0 +1,24 @@ +.combobox-item, +.combobox-group { + font-size: 12px; + padding: 3px; + padding-right: 0px; +} +.combobox-item-disabled { + opacity: 0.5; + filter: alpha(opacity=50); +} +.combobox-gitem { + padding-left: 10px; +} +.combobox-group { + font-weight: bold; +} +.combobox-item-hover { + background-color: #777; + color: #fff; +} +.combobox-item-selected { + background-color: #0052A3; + color: #fff; +} diff --git a/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/themes/black/datagrid.css b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/themes/black/datagrid.css new file mode 100644 index 00000000..3f11ae20 --- /dev/null +++ b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/themes/black/datagrid.css @@ -0,0 +1,267 @@ +.datagrid .panel-body { + overflow: hidden; + position: relative; +} +.datagrid-view { + position: relative; + overflow: hidden; +} +.datagrid-view1, +.datagrid-view2 { + position: absolute; + overflow: hidden; + top: 0; +} +.datagrid-view1 { + left: 0; +} +.datagrid-view2 { + right: 0; +} +.datagrid-mask { + position: absolute; + left: 0; + top: 0; + width: 100%; + height: 100%; + opacity: 0.3; + filter: alpha(opacity=30); + display: none; +} +.datagrid-mask-msg { + position: absolute; + top: 50%; + margin-top: -20px; + padding: 10px 5px 10px 30px; + width: auto; + height: 16px; + border-width: 2px; + border-style: solid; + display: none; +} +.datagrid-sort-icon { + padding: 0; +} +.datagrid-toolbar { + height: auto; + padding: 1px 2px; + border-width: 0 0 1px 0; + border-style: solid; +} +.datagrid-btn-separator { + float: left; + height: 24px; + border-left: 1px solid #444; + border-right: 1px solid #777; + margin: 2px 1px; +} +.datagrid .datagrid-pager { + display: block; + margin: 0; + border-width: 1px 0 0 0; + border-style: solid; +} +.datagrid .datagrid-pager-top { + border-width: 0 0 1px 0; +} +.datagrid-header { + overflow: hidden; + cursor: default; + border-width: 0 0 1px 0; + border-style: solid; +} +.datagrid-header-inner { + float: left; + width: 10000px; +} +.datagrid-header-row, +.datagrid-row { + height: 25px; +} +.datagrid-header td, +.datagrid-body td, +.datagrid-footer td { + border-width: 0 1px 1px 0; + border-style: dotted; + margin: 0; + padding: 0; +} +.datagrid-cell, +.datagrid-cell-group, +.datagrid-header-rownumber, +.datagrid-cell-rownumber { + margin: 0; + padding: 0 4px; + white-space: nowrap; + word-wrap: normal; + overflow: hidden; + height: 18px; + line-height: 18px; + font-size: 12px; +} +.datagrid-header .datagrid-cell { + height: auto; +} +.datagrid-header .datagrid-cell span { + font-size: 12px; +} +.datagrid-cell-group { + text-align: center; +} +.datagrid-header-rownumber, +.datagrid-cell-rownumber { + width: 25px; + text-align: center; + margin: 0; + padding: 0; +} +.datagrid-body { + margin: 0; + padding: 0; + overflow: auto; + zoom: 1; +} +.datagrid-view1 .datagrid-body-inner { + padding-bottom: 20px; +} +.datagrid-view1 .datagrid-body { + overflow: hidden; +} +.datagrid-footer { + overflow: hidden; +} +.datagrid-footer-inner { + border-width: 1px 0 0 0; + border-style: solid; + width: 10000px; + float: left; +} +.datagrid-row-editing .datagrid-cell { + height: auto; +} +.datagrid-header-check, +.datagrid-cell-check { + padding: 0; + width: 27px; + height: 18px; + font-size: 1px; + text-align: center; + overflow: hidden; +} +.datagrid-header-check input, +.datagrid-cell-check input { + margin: 0; + padding: 0; + width: 15px; + height: 18px; +} +.datagrid-resize-proxy { + position: absolute; + width: 1px; + height: 10000px; + top: 0; + cursor: e-resize; + display: none; +} +.datagrid-body .datagrid-editable { + margin: 0; + padding: 0; +} +.datagrid-body .datagrid-editable table { + width: 100%; + height: 100%; +} +.datagrid-body .datagrid-editable td { + border: 0; + margin: 0; + padding: 0; +} +.datagrid-view .datagrid-editable-input { + margin: 0; + padding: 2px 4px; + border: 1px solid #000; + font-size: 12px; + outline-style: none; + -moz-border-radius: 0 0 0 0; + -webkit-border-radius: 0 0 0 0; + border-radius: 0 0 0 0; +} +.datagrid-sort-desc .datagrid-sort-icon { + padding: 0 13px 0 0; + background: url('images/datagrid_icons.png') no-repeat -16px center; +} +.datagrid-sort-asc .datagrid-sort-icon { + padding: 0 13px 0 0; + background: url('images/datagrid_icons.png') no-repeat 0px center; +} +.datagrid-row-collapse { + background: url('images/datagrid_icons.png') no-repeat -48px center; +} +.datagrid-row-expand { + background: url('images/datagrid_icons.png') no-repeat -32px center; +} +.datagrid-mask-msg { + background: #666 url('images/loading.gif') no-repeat scroll 5px center; +} +.datagrid-header, +.datagrid-td-rownumber { + background-color: #444; + background: -webkit-linear-gradient(top,#4c4c4c 0,#3f3f3f 100%); + background: -moz-linear-gradient(top,#4c4c4c 0,#3f3f3f 100%); + background: -o-linear-gradient(top,#4c4c4c 0,#3f3f3f 100%); + background: linear-gradient(to bottom,#4c4c4c 0,#3f3f3f 100%); + background-repeat: repeat-x; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#4c4c4c,endColorstr=#3f3f3f,GradientType=0); +} +.datagrid-cell-rownumber { + color: #fff; +} +.datagrid-resize-proxy { + background: #cccccc; +} +.datagrid-mask { + background: #000; +} +.datagrid-mask-msg { + border-color: #000; +} +.datagrid-toolbar, +.datagrid-pager { + background: #555; +} +.datagrid-header, +.datagrid-toolbar, +.datagrid-pager, +.datagrid-footer-inner { + border-color: #222; +} +.datagrid-header td, +.datagrid-body td, +.datagrid-footer td { + border-color: #222; +} +.datagrid-htable, +.datagrid-btable, +.datagrid-ftable { + color: #fff; + border-collapse: separate; +} +.datagrid-row-alt { + background: #555; +} +.datagrid-row-over, +.datagrid-header td.datagrid-header-over { + background: #777; + color: #fff; + cursor: default; +} +.datagrid-row-selected { + background: #0052A3; + color: #fff; +} +.datagrid-row-editing .textbox, +.datagrid-row-editing .textbox-text { + -moz-border-radius: 0 0 0 0; + -webkit-border-radius: 0 0 0 0; + border-radius: 0 0 0 0; +} diff --git a/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/themes/black/datebox.css b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/themes/black/datebox.css new file mode 100644 index 00000000..e368f640 --- /dev/null +++ b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/themes/black/datebox.css @@ -0,0 +1,36 @@ +.datebox-calendar-inner { + height: 180px; +} +.datebox-button { + height: 18px; + padding: 2px 5px; + text-align: center; +} +.datebox-button a { + font-size: 12px; + font-weight: bold; + text-decoration: none; + opacity: 0.6; + filter: alpha(opacity=60); +} +.datebox-button a:hover { + opacity: 1.0; + filter: alpha(opacity=100); +} +.datebox-current, +.datebox-close { + float: left; +} +.datebox-close { + float: right; +} +.datebox .combo-arrow { + background-image: url('images/datebox_arrow.png'); + background-position: center center; +} +.datebox-button { + background-color: #555; +} +.datebox-button a { + color: #fff; +} diff --git a/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/themes/black/dialog.css b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/themes/black/dialog.css new file mode 100644 index 00000000..ed832df7 --- /dev/null +++ b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/themes/black/dialog.css @@ -0,0 +1,32 @@ +.dialog-content { + overflow: auto; +} +.dialog-toolbar { + padding: 2px 5px; +} +.dialog-tool-separator { + float: left; + height: 24px; + border-left: 1px solid #444; + border-right: 1px solid #777; + margin: 2px 1px; +} +.dialog-button { + padding: 5px; + text-align: right; +} +.dialog-button .l-btn { + margin-left: 5px; +} +.dialog-toolbar, +.dialog-button { + background: #555; + border-width: 1px; + border-style: solid; +} +.dialog-toolbar { + border-color: #000 #000 #222 #000; +} +.dialog-button { + border-color: #222 #000 #000 #000; +} diff --git a/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/themes/black/easyui.css b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/themes/black/easyui.css new file mode 100644 index 00000000..e0a55223 --- /dev/null +++ b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/themes/black/easyui.css @@ -0,0 +1,2549 @@ +.panel { + overflow: hidden; + text-align: left; + margin: 0; + border: 0; + -moz-border-radius: 0 0 0 0; + -webkit-border-radius: 0 0 0 0; + border-radius: 0 0 0 0; +} +.panel-header, +.panel-body { + border-width: 1px; + border-style: solid; +} +.panel-header { + padding: 5px; + position: relative; +} +.panel-title { + background: url('images/blank.gif') no-repeat; +} +.panel-header-noborder { + border-width: 0 0 1px 0; +} +.panel-body { + overflow: auto; + border-top-width: 0; + padding: 0; +} +.panel-body-noheader { + border-top-width: 1px; +} +.panel-body-noborder { + border-width: 0px; +} +.panel-body-nobottom { + border-bottom-width: 0; +} +.panel-with-icon { + padding-left: 18px; +} +.panel-icon, +.panel-tool { + position: absolute; + top: 50%; + margin-top: -8px; + height: 16px; + overflow: hidden; +} +.panel-icon { + left: 5px; + width: 16px; +} +.panel-tool { + right: 5px; + width: auto; +} +.panel-tool a { + display: inline-block; + width: 16px; + height: 16px; + opacity: 0.6; + filter: alpha(opacity=60); + margin: 0 0 0 2px; + vertical-align: top; +} +.panel-tool a:hover { + opacity: 1; + filter: alpha(opacity=100); + background-color: #777; + -moz-border-radius: 3px 3px 3px 3px; + -webkit-border-radius: 3px 3px 3px 3px; + border-radius: 3px 3px 3px 3px; +} +.panel-loading { + padding: 11px 0px 10px 30px; +} +.panel-noscroll { + overflow: hidden; +} +.panel-fit, +.panel-fit body { + height: 100%; + margin: 0; + padding: 0; + border: 0; + overflow: hidden; +} +.panel-loading { + background: url('images/loading.gif') no-repeat 10px 10px; +} +.panel-tool-close { + background: url('images/panel_tools.png') no-repeat -16px 0px; +} +.panel-tool-min { + background: url('images/panel_tools.png') no-repeat 0px 0px; +} +.panel-tool-max { + background: url('images/panel_tools.png') no-repeat 0px -16px; +} +.panel-tool-restore { + background: url('images/panel_tools.png') no-repeat -16px -16px; +} +.panel-tool-collapse { + background: url('images/panel_tools.png') no-repeat -32px 0; +} +.panel-tool-expand { + background: url('images/panel_tools.png') no-repeat -32px -16px; +} +.panel-header, +.panel-body { + border-color: #000; +} +.panel-header { + background-color: #3d3d3d; + background: -webkit-linear-gradient(top,#454545 0,#383838 100%); + background: -moz-linear-gradient(top,#454545 0,#383838 100%); + background: -o-linear-gradient(top,#454545 0,#383838 100%); + background: linear-gradient(to bottom,#454545 0,#383838 100%); + background-repeat: repeat-x; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#454545,endColorstr=#383838,GradientType=0); +} +.panel-body { + background-color: #666; + color: #fff; + font-size: 12px; +} +.panel-title { + font-size: 12px; + font-weight: bold; + color: #fff; + height: 16px; + line-height: 16px; +} +.panel-footer { + border: 1px solid #000; + overflow: hidden; + background: #555; +} +.panel-footer-noborder { + border-width: 1px 0 0 0; +} +.accordion { + overflow: hidden; + border-width: 1px; + border-style: solid; +} +.accordion .accordion-header { + border-width: 0 0 1px; + cursor: pointer; +} +.accordion .accordion-body { + border-width: 0 0 1px; +} +.accordion-noborder { + border-width: 0; +} +.accordion-noborder .accordion-header { + border-width: 0 0 1px; +} +.accordion-noborder .accordion-body { + border-width: 0 0 1px; +} +.accordion-collapse { + background: url('images/accordion_arrows.png') no-repeat 0 0; +} +.accordion-expand { + background: url('images/accordion_arrows.png') no-repeat -16px 0; +} +.accordion { + background: #666; + border-color: #000; +} +.accordion .accordion-header { + background: #3d3d3d; + filter: none; +} +.accordion .accordion-header-selected { + background: #0052A3; +} +.accordion .accordion-header-selected .panel-title { + color: #fff; +} +.window { + overflow: hidden; + padding: 5px; + border-width: 1px; + border-style: solid; +} +.window .window-header { + background: transparent; + padding: 0px 0px 6px 0px; +} +.window .window-body { + border-width: 1px; + border-style: solid; + border-top-width: 0px; +} +.window .window-body-noheader { + border-top-width: 1px; +} +.window .panel-body-nobottom { + border-bottom-width: 0; +} +.window .window-header .panel-icon, +.window .window-header .panel-tool { + top: 50%; + margin-top: -11px; +} +.window .window-header .panel-icon { + left: 1px; +} +.window .window-header .panel-tool { + right: 1px; +} +.window .window-header .panel-with-icon { + padding-left: 18px; +} +.window-proxy { + position: absolute; + overflow: hidden; +} +.window-proxy-mask { + position: absolute; + filter: alpha(opacity=5); + opacity: 0.05; +} +.window-mask { + position: absolute; + left: 0; + top: 0; + width: 100%; + height: 100%; + filter: alpha(opacity=40); + opacity: 0.40; + font-size: 1px; + overflow: hidden; +} +.window, +.window-shadow { + position: absolute; + -moz-border-radius: 5px 5px 5px 5px; + -webkit-border-radius: 5px 5px 5px 5px; + border-radius: 5px 5px 5px 5px; +} +.window-shadow { + background: #777; + -moz-box-shadow: 2px 2px 3px #787878; + -webkit-box-shadow: 2px 2px 3px #787878; + box-shadow: 2px 2px 3px #787878; + filter: progid:DXImageTransform.Microsoft.Blur(pixelRadius=2,MakeShadow=false,ShadowOpacity=0.2); +} +.window, +.window .window-body { + border-color: #000; +} +.window { + background-color: #3d3d3d; + background: -webkit-linear-gradient(top,#454545 0,#383838 20%); + background: -moz-linear-gradient(top,#454545 0,#383838 20%); + background: -o-linear-gradient(top,#454545 0,#383838 20%); + background: linear-gradient(to bottom,#454545 0,#383838 20%); + background-repeat: repeat-x; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#454545,endColorstr=#383838,GradientType=0); +} +.window-proxy { + border: 1px dashed #000; +} +.window-proxy-mask, +.window-mask { + background: #000; +} +.window .panel-footer { + border: 1px solid #000; + position: relative; + top: -1px; +} +.dialog-content { + overflow: auto; +} +.dialog-toolbar { + padding: 2px 5px; +} +.dialog-tool-separator { + float: left; + height: 24px; + border-left: 1px solid #444; + border-right: 1px solid #777; + margin: 2px 1px; +} +.dialog-button { + padding: 5px; + text-align: right; +} +.dialog-button .l-btn { + margin-left: 5px; +} +.dialog-toolbar, +.dialog-button { + background: #555; + border-width: 1px; + border-style: solid; +} +.dialog-toolbar { + border-color: #000 #000 #222 #000; +} +.dialog-button { + border-color: #222 #000 #000 #000; +} +.l-btn { + text-decoration: none; + display: inline-block; + overflow: hidden; + margin: 0; + padding: 0; + cursor: pointer; + outline: none; + text-align: center; + vertical-align: middle; +} +.l-btn-plain { + border: 0; + padding: 1px; +} +.l-btn-left { + display: inline-block; + position: relative; + overflow: hidden; + margin: 0; + padding: 0; + vertical-align: top; +} +.l-btn-text { + display: inline-block; + vertical-align: top; + width: auto; + line-height: 24px; + font-size: 12px; + padding: 0; + margin: 0 4px; +} +.l-btn-icon { + display: inline-block; + width: 16px; + height: 16px; + line-height: 16px; + position: absolute; + top: 50%; + margin-top: -8px; + font-size: 1px; +} +.l-btn span span .l-btn-empty { + display: inline-block; + margin: 0; + width: 16px; + height: 24px; + font-size: 1px; + vertical-align: top; +} +.l-btn span .l-btn-icon-left { + padding: 0 0 0 20px; + background-position: left center; +} +.l-btn span .l-btn-icon-right { + padding: 0 20px 0 0; + background-position: right center; +} +.l-btn-icon-left .l-btn-text { + margin: 0 4px 0 24px; +} +.l-btn-icon-left .l-btn-icon { + left: 4px; +} +.l-btn-icon-right .l-btn-text { + margin: 0 24px 0 4px; +} +.l-btn-icon-right .l-btn-icon { + right: 4px; +} +.l-btn-icon-top .l-btn-text { + margin: 20px 4px 0 4px; +} +.l-btn-icon-top .l-btn-icon { + top: 4px; + left: 50%; + margin: 0 0 0 -8px; +} +.l-btn-icon-bottom .l-btn-text { + margin: 0 4px 20px 4px; +} +.l-btn-icon-bottom .l-btn-icon { + top: auto; + bottom: 4px; + left: 50%; + margin: 0 0 0 -8px; +} +.l-btn-left .l-btn-empty { + margin: 0 4px; + width: 16px; +} +.l-btn-plain:hover { + padding: 0; +} +.l-btn-focus { + outline: #0000FF dotted thin; +} +.l-btn-large .l-btn-text { + line-height: 40px; +} +.l-btn-large .l-btn-icon { + width: 32px; + height: 32px; + line-height: 32px; + margin-top: -16px; +} +.l-btn-large .l-btn-icon-left .l-btn-text { + margin-left: 40px; +} +.l-btn-large .l-btn-icon-right .l-btn-text { + margin-right: 40px; +} +.l-btn-large .l-btn-icon-top .l-btn-text { + margin-top: 36px; + line-height: 24px; + min-width: 32px; +} +.l-btn-large .l-btn-icon-top .l-btn-icon { + margin: 0 0 0 -16px; +} +.l-btn-large .l-btn-icon-bottom .l-btn-text { + margin-bottom: 36px; + line-height: 24px; + min-width: 32px; +} +.l-btn-large .l-btn-icon-bottom .l-btn-icon { + margin: 0 0 0 -16px; +} +.l-btn-large .l-btn-left .l-btn-empty { + margin: 0 4px; + width: 32px; +} +.l-btn { + color: #fff; + background: #777; + background-repeat: repeat-x; + border: 1px solid #555; + background: -webkit-linear-gradient(top,#919191 0,#6a6a6a 100%); + background: -moz-linear-gradient(top,#919191 0,#6a6a6a 100%); + background: -o-linear-gradient(top,#919191 0,#6a6a6a 100%); + background: linear-gradient(to bottom,#919191 0,#6a6a6a 100%); + background-repeat: repeat-x; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#919191,endColorstr=#6a6a6a,GradientType=0); + -moz-border-radius: 5px 5px 5px 5px; + -webkit-border-radius: 5px 5px 5px 5px; + border-radius: 5px 5px 5px 5px; +} +.l-btn:hover { + background: #777; + color: #fff; + border: 1px solid #555; + filter: none; +} +.l-btn-plain { + background: transparent; + border: 0; + filter: none; +} +.l-btn-plain:hover { + background: #777; + color: #fff; + border: 1px solid #555; + -moz-border-radius: 5px 5px 5px 5px; + -webkit-border-radius: 5px 5px 5px 5px; + border-radius: 5px 5px 5px 5px; +} +.l-btn-disabled, +.l-btn-disabled:hover { + opacity: 0.5; + cursor: default; + background: #777; + color: #fff; + background: -webkit-linear-gradient(top,#919191 0,#6a6a6a 100%); + background: -moz-linear-gradient(top,#919191 0,#6a6a6a 100%); + background: -o-linear-gradient(top,#919191 0,#6a6a6a 100%); + background: linear-gradient(to bottom,#919191 0,#6a6a6a 100%); + background-repeat: repeat-x; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#919191,endColorstr=#6a6a6a,GradientType=0); +} +.l-btn-disabled .l-btn-text, +.l-btn-disabled .l-btn-icon { + filter: alpha(opacity=50); +} +.l-btn-plain-disabled, +.l-btn-plain-disabled:hover { + background: transparent; + filter: alpha(opacity=50); +} +.l-btn-selected, +.l-btn-selected:hover { + background: #000; + filter: none; +} +.l-btn-plain-selected, +.l-btn-plain-selected:hover { + background: #000; +} +.textbox { + position: relative; + border: 1px solid #000; + background-color: #fff; + vertical-align: middle; + display: inline-block; + overflow: hidden; + white-space: nowrap; + margin: 0; + padding: 0; + -moz-border-radius: 5px 5px 5px 5px; + -webkit-border-radius: 5px 5px 5px 5px; + border-radius: 5px 5px 5px 5px; +} +.textbox .textbox-text { + font-size: 12px; + border: 0; + margin: 0; + padding: 4px; + white-space: normal; + vertical-align: top; + outline-style: none; + resize: none; + -moz-border-radius: 5px 5px 5px 5px; + -webkit-border-radius: 5px 5px 5px 5px; + border-radius: 5px 5px 5px 5px; +} +.textbox .textbox-prompt { + font-size: 12px; + color: #aaa; +} +.textbox-button, +.textbox-button:hover { + position: absolute; + top: 0; + padding: 0; + vertical-align: top; + -moz-border-radius: 0 0 0 0; + -webkit-border-radius: 0 0 0 0; + border-radius: 0 0 0 0; +} +.textbox-button-right, +.textbox-button-right:hover { + border-width: 0 0 0 1px; +} +.textbox-button-left, +.textbox-button-left:hover { + border-width: 0 1px 0 0; +} +.textbox-addon { + position: absolute; + top: 0; +} +.textbox-icon { + display: inline-block; + width: 18px; + height: 20px; + overflow: hidden; + vertical-align: top; + background-position: center center; + cursor: pointer; + opacity: 0.6; + filter: alpha(opacity=60); + text-decoration: none; + outline-style: none; +} +.textbox-icon-disabled, +.textbox-icon-readonly { + cursor: default; +} +.textbox-icon:hover { + opacity: 1.0; + filter: alpha(opacity=100); +} +.textbox-icon-disabled:hover { + opacity: 0.6; + filter: alpha(opacity=60); +} +.textbox-focused { + -moz-box-shadow: 0 0 3px 0 #000; + -webkit-box-shadow: 0 0 3px 0 #000; + box-shadow: 0 0 3px 0 #000; +} +.textbox-invalid { + border-color: #ffa8a8; + background-color: #fff3f3; +} +.filebox .textbox-value { + vertical-align: top; + position: absolute; + top: 0; + left: -5000px; +} +.combo { + display: inline-block; + white-space: nowrap; + margin: 0; + padding: 0; + border-width: 1px; + border-style: solid; + overflow: hidden; + vertical-align: middle; +} +.combo .combo-text { + font-size: 12px; + border: 0px; + margin: 0; + padding: 0px 2px; + vertical-align: baseline; +} +.combo-arrow { + width: 18px; + height: 20px; + overflow: hidden; + display: inline-block; + vertical-align: top; + cursor: pointer; + opacity: 0.6; + filter: alpha(opacity=60); +} +.combo-arrow-hover { + opacity: 1.0; + filter: alpha(opacity=100); +} +.combo-panel { + overflow: auto; +} +.combo-arrow { + background: url('images/combo_arrow.png') no-repeat center center; +} +.combo-panel { + background-color: #666; +} +.combo { + border-color: #000; + background-color: #fff; +} +.combo-arrow { + background-color: #3d3d3d; +} +.combo-arrow-hover { + background-color: #777; +} +.combo-arrow:hover { + background-color: #777; +} +.combo .textbox-icon-disabled:hover { + cursor: default; +} +.textbox-invalid { + border-color: #ffa8a8; + background-color: #fff3f3; +} +.combobox-item, +.combobox-group { + font-size: 12px; + padding: 3px; + padding-right: 0px; +} +.combobox-item-disabled { + opacity: 0.5; + filter: alpha(opacity=50); +} +.combobox-gitem { + padding-left: 10px; +} +.combobox-group { + font-weight: bold; +} +.combobox-item-hover { + background-color: #777; + color: #fff; +} +.combobox-item-selected { + background-color: #0052A3; + color: #fff; +} +.layout { + position: relative; + overflow: hidden; + margin: 0; + padding: 0; + z-index: 0; +} +.layout-panel { + position: absolute; + overflow: hidden; +} +.layout-panel-east, +.layout-panel-west { + z-index: 2; +} +.layout-panel-north, +.layout-panel-south { + z-index: 3; +} +.layout-expand { + position: absolute; + padding: 0px; + font-size: 1px; + cursor: pointer; + z-index: 1; +} +.layout-expand .panel-header, +.layout-expand .panel-body { + background: transparent; + filter: none; + overflow: hidden; +} +.layout-expand .panel-header { + border-bottom-width: 0px; +} +.layout-split-proxy-h, +.layout-split-proxy-v { + position: absolute; + font-size: 1px; + display: none; + z-index: 5; +} +.layout-split-proxy-h { + width: 5px; + cursor: e-resize; +} +.layout-split-proxy-v { + height: 5px; + cursor: n-resize; +} +.layout-mask { + position: absolute; + background: #fafafa; + filter: alpha(opacity=10); + opacity: 0.10; + z-index: 4; +} +.layout-button-up { + background: url('images/layout_arrows.png') no-repeat -16px -16px; +} +.layout-button-down { + background: url('images/layout_arrows.png') no-repeat -16px 0; +} +.layout-button-left { + background: url('images/layout_arrows.png') no-repeat 0 0; +} +.layout-button-right { + background: url('images/layout_arrows.png') no-repeat 0 -16px; +} +.layout-split-proxy-h, +.layout-split-proxy-v { + background-color: #cccccc; +} +.layout-split-north { + border-bottom: 5px solid #444; +} +.layout-split-south { + border-top: 5px solid #444; +} +.layout-split-east { + border-left: 5px solid #444; +} +.layout-split-west { + border-right: 5px solid #444; +} +.layout-expand { + background-color: #3d3d3d; +} +.layout-expand-over { + background-color: #3d3d3d; +} +.tabs-container { + overflow: hidden; +} +.tabs-header { + border-width: 1px; + border-style: solid; + border-bottom-width: 0; + position: relative; + padding: 0; + padding-top: 2px; + overflow: hidden; +} +.tabs-header-plain { + border: 0; + background: transparent; +} +.tabs-scroller-left, +.tabs-scroller-right { + position: absolute; + top: auto; + bottom: 0; + width: 18px; + font-size: 1px; + display: none; + cursor: pointer; + border-width: 1px; + border-style: solid; +} +.tabs-scroller-left { + left: 0; +} +.tabs-scroller-right { + right: 0; +} +.tabs-tool { + position: absolute; + bottom: 0; + padding: 1px; + overflow: hidden; + border-width: 1px; + border-style: solid; +} +.tabs-header-plain .tabs-tool { + padding: 0 1px; +} +.tabs-wrap { + position: relative; + left: 0; + overflow: hidden; + width: 100%; + margin: 0; + padding: 0; +} +.tabs-scrolling { + margin-left: 18px; + margin-right: 18px; +} +.tabs-disabled { + opacity: 0.3; + filter: alpha(opacity=30); +} +.tabs { + list-style-type: none; + height: 26px; + margin: 0px; + padding: 0px; + padding-left: 4px; + width: 50000px; + border-style: solid; + border-width: 0 0 1px 0; +} +.tabs li { + float: left; + display: inline-block; + margin: 0 4px -1px 0; + padding: 0; + position: relative; + border: 0; +} +.tabs li a.tabs-inner { + display: inline-block; + text-decoration: none; + margin: 0; + padding: 0 10px; + height: 25px; + line-height: 25px; + text-align: center; + white-space: nowrap; + border-width: 1px; + border-style: solid; + -moz-border-radius: 5px 5px 0 0; + -webkit-border-radius: 5px 5px 0 0; + border-radius: 5px 5px 0 0; +} +.tabs li.tabs-selected a.tabs-inner { + font-weight: bold; + outline: none; +} +.tabs li.tabs-selected a:hover.tabs-inner { + cursor: default; + pointer: default; +} +.tabs li a.tabs-close, +.tabs-p-tool { + position: absolute; + font-size: 1px; + display: block; + height: 12px; + padding: 0; + top: 50%; + margin-top: -6px; + overflow: hidden; +} +.tabs li a.tabs-close { + width: 12px; + right: 5px; + opacity: 0.6; + filter: alpha(opacity=60); +} +.tabs-p-tool { + right: 16px; +} +.tabs-p-tool a { + display: inline-block; + font-size: 1px; + width: 12px; + height: 12px; + margin: 0; + opacity: 0.6; + filter: alpha(opacity=60); +} +.tabs li a:hover.tabs-close, +.tabs-p-tool a:hover { + opacity: 1; + filter: alpha(opacity=100); + cursor: hand; + cursor: pointer; +} +.tabs-with-icon { + padding-left: 18px; +} +.tabs-icon { + position: absolute; + width: 16px; + height: 16px; + left: 10px; + top: 50%; + margin-top: -8px; +} +.tabs-title { + font-size: 12px; +} +.tabs-closable { + padding-right: 8px; +} +.tabs-panels { + margin: 0px; + padding: 0px; + border-width: 1px; + border-style: solid; + border-top-width: 0; + overflow: hidden; +} +.tabs-header-bottom { + border-width: 0 1px 1px 1px; + padding: 0 0 2px 0; +} +.tabs-header-bottom .tabs { + border-width: 1px 0 0 0; +} +.tabs-header-bottom .tabs li { + margin: -1px 4px 0 0; +} +.tabs-header-bottom .tabs li a.tabs-inner { + -moz-border-radius: 0 0 5px 5px; + -webkit-border-radius: 0 0 5px 5px; + border-radius: 0 0 5px 5px; +} +.tabs-header-bottom .tabs-tool { + top: 0; +} +.tabs-header-bottom .tabs-scroller-left, +.tabs-header-bottom .tabs-scroller-right { + top: 0; + bottom: auto; +} +.tabs-panels-top { + border-width: 1px 1px 0 1px; +} +.tabs-header-left { + float: left; + border-width: 1px 0 1px 1px; + padding: 0; +} +.tabs-header-right { + float: right; + border-width: 1px 1px 1px 0; + padding: 0; +} +.tabs-header-left .tabs-wrap, +.tabs-header-right .tabs-wrap { + height: 100%; +} +.tabs-header-left .tabs { + height: 100%; + padding: 4px 0 0 4px; + border-width: 0 1px 0 0; +} +.tabs-header-right .tabs { + height: 100%; + padding: 4px 4px 0 0; + border-width: 0 0 0 1px; +} +.tabs-header-left .tabs li, +.tabs-header-right .tabs li { + display: block; + width: 100%; + position: relative; +} +.tabs-header-left .tabs li { + left: auto; + right: 0; + margin: 0 -1px 4px 0; + float: right; +} +.tabs-header-right .tabs li { + left: 0; + right: auto; + margin: 0 0 4px -1px; + float: left; +} +.tabs-header-left .tabs li a.tabs-inner { + display: block; + text-align: left; + -moz-border-radius: 5px 0 0 5px; + -webkit-border-radius: 5px 0 0 5px; + border-radius: 5px 0 0 5px; +} +.tabs-header-right .tabs li a.tabs-inner { + display: block; + text-align: left; + -moz-border-radius: 0 5px 5px 0; + -webkit-border-radius: 0 5px 5px 0; + border-radius: 0 5px 5px 0; +} +.tabs-panels-right { + float: right; + border-width: 1px 1px 1px 0; +} +.tabs-panels-left { + float: left; + border-width: 1px 0 1px 1px; +} +.tabs-header-noborder, +.tabs-panels-noborder { + border: 0px; +} +.tabs-header-plain { + border: 0px; + background: transparent; +} +.tabs-scroller-left { + background: #3d3d3d url('images/tabs_icons.png') no-repeat 1px center; +} +.tabs-scroller-right { + background: #3d3d3d url('images/tabs_icons.png') no-repeat -15px center; +} +.tabs li a.tabs-close { + background: url('images/tabs_icons.png') no-repeat -34px center; +} +.tabs li a.tabs-inner:hover { + background: #777; + color: #fff; + filter: none; +} +.tabs li.tabs-selected a.tabs-inner { + background-color: #666; + color: #fff; + background: -webkit-linear-gradient(top,#454545 0,#666 100%); + background: -moz-linear-gradient(top,#454545 0,#666 100%); + background: -o-linear-gradient(top,#454545 0,#666 100%); + background: linear-gradient(to bottom,#454545 0,#666 100%); + background-repeat: repeat-x; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#454545,endColorstr=#666,GradientType=0); +} +.tabs-header-bottom .tabs li.tabs-selected a.tabs-inner { + background: -webkit-linear-gradient(top,#666 0,#454545 100%); + background: -moz-linear-gradient(top,#666 0,#454545 100%); + background: -o-linear-gradient(top,#666 0,#454545 100%); + background: linear-gradient(to bottom,#666 0,#454545 100%); + background-repeat: repeat-x; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#666,endColorstr=#454545,GradientType=0); +} +.tabs-header-left .tabs li.tabs-selected a.tabs-inner { + background: -webkit-linear-gradient(left,#454545 0,#666 100%); + background: -moz-linear-gradient(left,#454545 0,#666 100%); + background: -o-linear-gradient(left,#454545 0,#666 100%); + background: linear-gradient(to right,#454545 0,#666 100%); + background-repeat: repeat-y; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#454545,endColorstr=#666,GradientType=1); +} +.tabs-header-right .tabs li.tabs-selected a.tabs-inner { + background: -webkit-linear-gradient(left,#666 0,#454545 100%); + background: -moz-linear-gradient(left,#666 0,#454545 100%); + background: -o-linear-gradient(left,#666 0,#454545 100%); + background: linear-gradient(to right,#666 0,#454545 100%); + background-repeat: repeat-y; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#666,endColorstr=#454545,GradientType=1); +} +.tabs li a.tabs-inner { + color: #fff; + background-color: #3d3d3d; + background: -webkit-linear-gradient(top,#454545 0,#383838 100%); + background: -moz-linear-gradient(top,#454545 0,#383838 100%); + background: -o-linear-gradient(top,#454545 0,#383838 100%); + background: linear-gradient(to bottom,#454545 0,#383838 100%); + background-repeat: repeat-x; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#454545,endColorstr=#383838,GradientType=0); +} +.tabs-header, +.tabs-tool { + background-color: #3d3d3d; +} +.tabs-header-plain { + background: transparent; +} +.tabs-header, +.tabs-scroller-left, +.tabs-scroller-right, +.tabs-tool, +.tabs, +.tabs-panels, +.tabs li a.tabs-inner, +.tabs li.tabs-selected a.tabs-inner, +.tabs-header-bottom .tabs li.tabs-selected a.tabs-inner, +.tabs-header-left .tabs li.tabs-selected a.tabs-inner, +.tabs-header-right .tabs li.tabs-selected a.tabs-inner { + border-color: #000; +} +.tabs-p-tool a:hover, +.tabs li a:hover.tabs-close, +.tabs-scroller-over { + background-color: #777; +} +.tabs li.tabs-selected a.tabs-inner { + border-bottom: 1px solid #666; +} +.tabs-header-bottom .tabs li.tabs-selected a.tabs-inner { + border-top: 1px solid #666; +} +.tabs-header-left .tabs li.tabs-selected a.tabs-inner { + border-right: 1px solid #666; +} +.tabs-header-right .tabs li.tabs-selected a.tabs-inner { + border-left: 1px solid #666; +} +.datagrid .panel-body { + overflow: hidden; + position: relative; +} +.datagrid-view { + position: relative; + overflow: hidden; +} +.datagrid-view1, +.datagrid-view2 { + position: absolute; + overflow: hidden; + top: 0; +} +.datagrid-view1 { + left: 0; +} +.datagrid-view2 { + right: 0; +} +.datagrid-mask { + position: absolute; + left: 0; + top: 0; + width: 100%; + height: 100%; + opacity: 0.3; + filter: alpha(opacity=30); + display: none; +} +.datagrid-mask-msg { + position: absolute; + top: 50%; + margin-top: -20px; + padding: 10px 5px 10px 30px; + width: auto; + height: 16px; + border-width: 2px; + border-style: solid; + display: none; +} +.datagrid-sort-icon { + padding: 0; +} +.datagrid-toolbar { + height: auto; + padding: 1px 2px; + border-width: 0 0 1px 0; + border-style: solid; +} +.datagrid-btn-separator { + float: left; + height: 24px; + border-left: 1px solid #444; + border-right: 1px solid #777; + margin: 2px 1px; +} +.datagrid .datagrid-pager { + display: block; + margin: 0; + border-width: 1px 0 0 0; + border-style: solid; +} +.datagrid .datagrid-pager-top { + border-width: 0 0 1px 0; +} +.datagrid-header { + overflow: hidden; + cursor: default; + border-width: 0 0 1px 0; + border-style: solid; +} +.datagrid-header-inner { + float: left; + width: 10000px; +} +.datagrid-header-row, +.datagrid-row { + height: 25px; +} +.datagrid-header td, +.datagrid-body td, +.datagrid-footer td { + border-width: 0 1px 1px 0; + border-style: dotted; + margin: 0; + padding: 0; +} +.datagrid-cell, +.datagrid-cell-group, +.datagrid-header-rownumber, +.datagrid-cell-rownumber { + margin: 0; + padding: 0 4px; + white-space: nowrap; + word-wrap: normal; + overflow: hidden; + height: 18px; + line-height: 18px; + font-size: 12px; +} +.datagrid-header .datagrid-cell { + height: auto; +} +.datagrid-header .datagrid-cell span { + font-size: 12px; +} +.datagrid-cell-group { + text-align: center; +} +.datagrid-header-rownumber, +.datagrid-cell-rownumber { + width: 25px; + text-align: center; + margin: 0; + padding: 0; +} +.datagrid-body { + margin: 0; + padding: 0; + overflow: auto; + zoom: 1; +} +.datagrid-view1 .datagrid-body-inner { + padding-bottom: 20px; +} +.datagrid-view1 .datagrid-body { + overflow: hidden; +} +.datagrid-footer { + overflow: hidden; +} +.datagrid-footer-inner { + border-width: 1px 0 0 0; + border-style: solid; + width: 10000px; + float: left; +} +.datagrid-row-editing .datagrid-cell { + height: auto; +} +.datagrid-header-check, +.datagrid-cell-check { + padding: 0; + width: 27px; + height: 18px; + font-size: 1px; + text-align: center; + overflow: hidden; +} +.datagrid-header-check input, +.datagrid-cell-check input { + margin: 0; + padding: 0; + width: 15px; + height: 18px; +} +.datagrid-resize-proxy { + position: absolute; + width: 1px; + height: 10000px; + top: 0; + cursor: e-resize; + display: none; +} +.datagrid-body .datagrid-editable { + margin: 0; + padding: 0; +} +.datagrid-body .datagrid-editable table { + width: 100%; + height: 100%; +} +.datagrid-body .datagrid-editable td { + border: 0; + margin: 0; + padding: 0; +} +.datagrid-view .datagrid-editable-input { + margin: 0; + padding: 2px 4px; + border: 1px solid #000; + font-size: 12px; + outline-style: none; + -moz-border-radius: 0 0 0 0; + -webkit-border-radius: 0 0 0 0; + border-radius: 0 0 0 0; +} +.datagrid-sort-desc .datagrid-sort-icon { + padding: 0 13px 0 0; + background: url('images/datagrid_icons.png') no-repeat -16px center; +} +.datagrid-sort-asc .datagrid-sort-icon { + padding: 0 13px 0 0; + background: url('images/datagrid_icons.png') no-repeat 0px center; +} +.datagrid-row-collapse { + background: url('images/datagrid_icons.png') no-repeat -48px center; +} +.datagrid-row-expand { + background: url('images/datagrid_icons.png') no-repeat -32px center; +} +.datagrid-mask-msg { + background: #666 url('images/loading.gif') no-repeat scroll 5px center; +} +.datagrid-header, +.datagrid-td-rownumber { + background-color: #444; + background: -webkit-linear-gradient(top,#4c4c4c 0,#3f3f3f 100%); + background: -moz-linear-gradient(top,#4c4c4c 0,#3f3f3f 100%); + background: -o-linear-gradient(top,#4c4c4c 0,#3f3f3f 100%); + background: linear-gradient(to bottom,#4c4c4c 0,#3f3f3f 100%); + background-repeat: repeat-x; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#4c4c4c,endColorstr=#3f3f3f,GradientType=0); +} +.datagrid-cell-rownumber { + color: #fff; +} +.datagrid-resize-proxy { + background: #cccccc; +} +.datagrid-mask { + background: #000; +} +.datagrid-mask-msg { + border-color: #000; +} +.datagrid-toolbar, +.datagrid-pager { + background: #555; +} +.datagrid-header, +.datagrid-toolbar, +.datagrid-pager, +.datagrid-footer-inner { + border-color: #222; +} +.datagrid-header td, +.datagrid-body td, +.datagrid-footer td { + border-color: #222; +} +.datagrid-htable, +.datagrid-btable, +.datagrid-ftable { + color: #fff; + border-collapse: separate; +} +.datagrid-row-alt { + background: #555; +} +.datagrid-row-over, +.datagrid-header td.datagrid-header-over { + background: #777; + color: #fff; + cursor: default; +} +.datagrid-row-selected { + background: #0052A3; + color: #fff; +} +.datagrid-row-editing .textbox, +.datagrid-row-editing .textbox-text { + -moz-border-radius: 0 0 0 0; + -webkit-border-radius: 0 0 0 0; + border-radius: 0 0 0 0; +} +.propertygrid .datagrid-view1 .datagrid-body td { + padding-bottom: 1px; + border-width: 0 1px 0 0; +} +.propertygrid .datagrid-group { + height: 21px; + overflow: hidden; + border-width: 0 0 1px 0; + border-style: solid; +} +.propertygrid .datagrid-group span { + font-weight: bold; +} +.propertygrid .datagrid-view1 .datagrid-body td { + border-color: #222; +} +.propertygrid .datagrid-view1 .datagrid-group { + border-color: #3d3d3d; +} +.propertygrid .datagrid-view2 .datagrid-group { + border-color: #222; +} +.propertygrid .datagrid-group, +.propertygrid .datagrid-view1 .datagrid-body, +.propertygrid .datagrid-view1 .datagrid-row-over, +.propertygrid .datagrid-view1 .datagrid-row-selected { + background: #3d3d3d; +} +.pagination { + zoom: 1; +} +.pagination table { + float: left; + height: 30px; +} +.pagination td { + border: 0; +} +.pagination-btn-separator { + float: left; + height: 24px; + border-left: 1px solid #444; + border-right: 1px solid #777; + margin: 3px 1px; +} +.pagination .pagination-num { + border-width: 1px; + border-style: solid; + margin: 0 2px; + padding: 2px; + width: 2em; + height: auto; +} +.pagination-page-list { + margin: 0px 6px; + padding: 1px 2px; + width: auto; + height: auto; + border-width: 1px; + border-style: solid; +} +.pagination-info { + float: right; + margin: 0 6px 0 0; + padding: 0; + height: 30px; + line-height: 30px; + font-size: 12px; +} +.pagination span { + font-size: 12px; +} +.pagination-link .l-btn-text { + width: 24px; + text-align: center; + margin: 0; +} +.pagination-first { + background: url('images/pagination_icons.png') no-repeat 0 center; +} +.pagination-prev { + background: url('images/pagination_icons.png') no-repeat -16px center; +} +.pagination-next { + background: url('images/pagination_icons.png') no-repeat -32px center; +} +.pagination-last { + background: url('images/pagination_icons.png') no-repeat -48px center; +} +.pagination-load { + background: url('images/pagination_icons.png') no-repeat -64px center; +} +.pagination-loading { + background: url('images/loading.gif') no-repeat center center; +} +.pagination-page-list, +.pagination .pagination-num { + border-color: #000; +} +.calendar { + border-width: 1px; + border-style: solid; + padding: 1px; + overflow: hidden; +} +.calendar table { + table-layout: fixed; + border-collapse: separate; + font-size: 12px; + width: 100%; + height: 100%; +} +.calendar table td, +.calendar table th { + font-size: 12px; +} +.calendar-noborder { + border: 0; +} +.calendar-header { + position: relative; + height: 22px; +} +.calendar-title { + text-align: center; + height: 22px; +} +.calendar-title span { + position: relative; + display: inline-block; + top: 2px; + padding: 0 3px; + height: 18px; + line-height: 18px; + font-size: 12px; + cursor: pointer; + -moz-border-radius: 5px 5px 5px 5px; + -webkit-border-radius: 5px 5px 5px 5px; + border-radius: 5px 5px 5px 5px; +} +.calendar-prevmonth, +.calendar-nextmonth, +.calendar-prevyear, +.calendar-nextyear { + position: absolute; + top: 50%; + margin-top: -7px; + width: 14px; + height: 14px; + cursor: pointer; + font-size: 1px; + -moz-border-radius: 5px 5px 5px 5px; + -webkit-border-radius: 5px 5px 5px 5px; + border-radius: 5px 5px 5px 5px; +} +.calendar-prevmonth { + left: 20px; + background: url('images/calendar_arrows.png') no-repeat -18px -2px; +} +.calendar-nextmonth { + right: 20px; + background: url('images/calendar_arrows.png') no-repeat -34px -2px; +} +.calendar-prevyear { + left: 3px; + background: url('images/calendar_arrows.png') no-repeat -1px -2px; +} +.calendar-nextyear { + right: 3px; + background: url('images/calendar_arrows.png') no-repeat -49px -2px; +} +.calendar-body { + position: relative; +} +.calendar-body th, +.calendar-body td { + text-align: center; +} +.calendar-day { + border: 0; + padding: 1px; + cursor: pointer; + -moz-border-radius: 5px 5px 5px 5px; + -webkit-border-radius: 5px 5px 5px 5px; + border-radius: 5px 5px 5px 5px; +} +.calendar-other-month { + opacity: 0.3; + filter: alpha(opacity=30); +} +.calendar-disabled { + opacity: 0.6; + filter: alpha(opacity=60); + cursor: default; +} +.calendar-menu { + position: absolute; + top: 0; + left: 0; + width: 180px; + height: 150px; + padding: 5px; + font-size: 12px; + display: none; + overflow: hidden; +} +.calendar-menu-year-inner { + text-align: center; + padding-bottom: 5px; +} +.calendar-menu-year { + width: 40px; + text-align: center; + border-width: 1px; + border-style: solid; + margin: 0; + padding: 2px; + font-weight: bold; + font-size: 12px; +} +.calendar-menu-prev, +.calendar-menu-next { + display: inline-block; + width: 21px; + height: 21px; + vertical-align: top; + cursor: pointer; + -moz-border-radius: 5px 5px 5px 5px; + -webkit-border-radius: 5px 5px 5px 5px; + border-radius: 5px 5px 5px 5px; +} +.calendar-menu-prev { + margin-right: 10px; + background: url('images/calendar_arrows.png') no-repeat 2px 2px; +} +.calendar-menu-next { + margin-left: 10px; + background: url('images/calendar_arrows.png') no-repeat -45px 2px; +} +.calendar-menu-month { + text-align: center; + cursor: pointer; + font-weight: bold; + -moz-border-radius: 5px 5px 5px 5px; + -webkit-border-radius: 5px 5px 5px 5px; + border-radius: 5px 5px 5px 5px; +} +.calendar-body th, +.calendar-menu-month { + color: #ffffff; +} +.calendar-day { + color: #fff; +} +.calendar-sunday { + color: #CC2222; +} +.calendar-saturday { + color: #00ee00; +} +.calendar-today { + color: #0000ff; +} +.calendar-menu-year { + border-color: #000; +} +.calendar { + border-color: #000; +} +.calendar-header { + background: #3d3d3d; +} +.calendar-body, +.calendar-menu { + background: #666; +} +.calendar-body th { + background: #555; + padding: 2px 0; +} +.calendar-hover, +.calendar-nav-hover, +.calendar-menu-hover { + background-color: #777; + color: #fff; +} +.calendar-hover { + border: 1px solid #555; + padding: 0; +} +.calendar-selected { + background-color: #0052A3; + color: #fff; + border: 1px solid #00458a; + padding: 0; +} +.datebox-calendar-inner { + height: 180px; +} +.datebox-button { + height: 18px; + padding: 2px 5px; + text-align: center; +} +.datebox-button a { + font-size: 12px; + font-weight: bold; + text-decoration: none; + opacity: 0.6; + filter: alpha(opacity=60); +} +.datebox-button a:hover { + opacity: 1.0; + filter: alpha(opacity=100); +} +.datebox-current, +.datebox-close { + float: left; +} +.datebox-close { + float: right; +} +.datebox .combo-arrow { + background-image: url('images/datebox_arrow.png'); + background-position: center center; +} +.datebox-button { + background-color: #555; +} +.datebox-button a { + color: #fff; +} +.numberbox { + border: 1px solid #000; + margin: 0; + padding: 0 2px; + vertical-align: middle; +} +.textbox { + padding: 0; +} +.spinner { + display: inline-block; + white-space: nowrap; + margin: 0; + padding: 0; + border-width: 1px; + border-style: solid; + overflow: hidden; + vertical-align: middle; +} +.spinner .spinner-text { + font-size: 12px; + border: 0px; + margin: 0; + padding: 0 2px; + vertical-align: baseline; +} +.spinner-arrow { + background-color: #3d3d3d; + display: inline-block; + overflow: hidden; + vertical-align: top; + margin: 0; + padding: 0; + opacity: 1.0; + filter: alpha(opacity=100); + width: 18px; +} +.spinner-arrow-up, +.spinner-arrow-down { + opacity: 0.6; + filter: alpha(opacity=60); + display: block; + font-size: 1px; + width: 18px; + height: 10px; + width: 100%; + height: 50%; + outline-style: none; +} +.spinner-arrow-hover { + background-color: #777; + opacity: 1.0; + filter: alpha(opacity=100); +} +.spinner-arrow-up:hover, +.spinner-arrow-down:hover { + opacity: 1.0; + filter: alpha(opacity=100); + background-color: #777; +} +.textbox-icon-disabled .spinner-arrow-up:hover, +.textbox-icon-disabled .spinner-arrow-down:hover { + opacity: 0.6; + filter: alpha(opacity=60); + background-color: #3d3d3d; + cursor: default; +} +.spinner .textbox-icon-disabled { + opacity: 0.6; + filter: alpha(opacity=60); +} +.spinner-arrow-up { + background: url('images/spinner_arrows.png') no-repeat 1px center; +} +.spinner-arrow-down { + background: url('images/spinner_arrows.png') no-repeat -15px center; +} +.spinner { + border-color: #000; +} +.progressbar { + border-width: 1px; + border-style: solid; + -moz-border-radius: 5px 5px 5px 5px; + -webkit-border-radius: 5px 5px 5px 5px; + border-radius: 5px 5px 5px 5px; + overflow: hidden; + position: relative; +} +.progressbar-text { + text-align: center; + position: absolute; +} +.progressbar-value { + position: relative; + overflow: hidden; + width: 0; + -moz-border-radius: 5px 0 0 5px; + -webkit-border-radius: 5px 0 0 5px; + border-radius: 5px 0 0 5px; +} +.progressbar { + border-color: #000; +} +.progressbar-text { + color: #fff; + font-size: 12px; +} +.progressbar-value .progressbar-text { + background-color: #0052A3; + color: #fff; +} +.searchbox { + display: inline-block; + white-space: nowrap; + margin: 0; + padding: 0; + border-width: 1px; + border-style: solid; + overflow: hidden; + vertical-align: middle; +} +.searchbox .searchbox-text { + font-size: 12px; + border: 0; + margin: 0; + padding: 0 2px; + vertical-align: top; +} +.searchbox .searchbox-prompt { + font-size: 12px; + color: #ccc; +} +.searchbox-button { + width: 18px; + height: 20px; + overflow: hidden; + display: inline-block; + vertical-align: top; + cursor: pointer; + opacity: 0.6; + filter: alpha(opacity=60); +} +.searchbox-button-hover { + opacity: 1.0; + filter: alpha(opacity=100); +} +.searchbox .l-btn-plain { + border: 0; + padding: 0; + vertical-align: top; + opacity: 0.6; + filter: alpha(opacity=60); + -moz-border-radius: 0 0 0 0; + -webkit-border-radius: 0 0 0 0; + border-radius: 0 0 0 0; +} +.searchbox .l-btn-plain:hover { + border: 0; + padding: 0; + opacity: 1.0; + filter: alpha(opacity=100); + -moz-border-radius: 0 0 0 0; + -webkit-border-radius: 0 0 0 0; + border-radius: 0 0 0 0; +} +.searchbox a.m-btn-plain-active { + -moz-border-radius: 0 0 0 0; + -webkit-border-radius: 0 0 0 0; + border-radius: 0 0 0 0; +} +.searchbox .m-btn-active { + border-width: 0 1px 0 0; + -moz-border-radius: 0 0 0 0; + -webkit-border-radius: 0 0 0 0; + border-radius: 0 0 0 0; +} +.searchbox .textbox-button-right { + border-width: 0 0 0 1px; +} +.searchbox .textbox-button-left { + border-width: 0 1px 0 0; +} +.searchbox-button { + background: url('images/searchbox_button.png') no-repeat center center; +} +.searchbox { + border-color: #000; + background-color: #fff; +} +.searchbox .l-btn-plain { + background: #3d3d3d; +} +.searchbox .l-btn-plain-disabled, +.searchbox .l-btn-plain-disabled:hover { + opacity: 0.5; + filter: alpha(opacity=50); +} +.textbox-invalid { + border-color: #ffa8a8; + background-color: #fff3f3; +} +.slider-disabled { + opacity: 0.5; + filter: alpha(opacity=50); +} +.slider-h { + height: 22px; +} +.slider-v { + width: 22px; +} +.slider-inner { + position: relative; + height: 6px; + top: 7px; + border-width: 1px; + border-style: solid; + border-radius: 5px; +} +.slider-handle { + position: absolute; + display: block; + outline: none; + width: 20px; + height: 20px; + top: 50%; + margin-top: -10px; + margin-left: -10px; +} +.slider-tip { + position: absolute; + display: inline-block; + line-height: 12px; + font-size: 12px; + white-space: nowrap; + top: -22px; +} +.slider-rule { + position: relative; + top: 15px; +} +.slider-rule span { + position: absolute; + display: inline-block; + font-size: 0; + height: 5px; + border-width: 0 0 0 1px; + border-style: solid; +} +.slider-rulelabel { + position: relative; + top: 20px; +} +.slider-rulelabel span { + position: absolute; + display: inline-block; + font-size: 12px; +} +.slider-v .slider-inner { + width: 6px; + left: 7px; + top: 0; + float: left; +} +.slider-v .slider-handle { + left: 50%; + margin-top: -10px; +} +.slider-v .slider-tip { + left: -10px; + margin-top: -6px; +} +.slider-v .slider-rule { + float: left; + top: 0; + left: 16px; +} +.slider-v .slider-rule span { + width: 5px; + height: 'auto'; + border-left: 0; + border-width: 1px 0 0 0; + border-style: solid; +} +.slider-v .slider-rulelabel { + float: left; + top: 0; + left: 23px; +} +.slider-handle { + background: url('images/slider_handle.png') no-repeat; +} +.slider-inner { + border-color: #000; + background: #3d3d3d; +} +.slider-rule span { + border-color: #000; +} +.slider-rulelabel span { + color: #fff; +} +.menu { + position: absolute; + margin: 0; + padding: 2px; + border-width: 1px; + border-style: solid; + overflow: hidden; +} +.menu-item { + position: relative; + margin: 0; + padding: 0; + overflow: hidden; + white-space: nowrap; + cursor: pointer; + border-width: 1px; + border-style: solid; +} +.menu-text { + height: 20px; + line-height: 20px; + float: left; + padding-left: 28px; +} +.menu-icon { + position: absolute; + width: 16px; + height: 16px; + left: 2px; + top: 50%; + margin-top: -8px; +} +.menu-rightarrow { + position: absolute; + width: 16px; + height: 16px; + right: 0; + top: 50%; + margin-top: -8px; +} +.menu-line { + position: absolute; + left: 26px; + top: 0; + height: 2000px; + font-size: 1px; +} +.menu-sep { + margin: 3px 0px 3px 25px; + font-size: 1px; +} +.menu-active { + -moz-border-radius: 5px 5px 5px 5px; + -webkit-border-radius: 5px 5px 5px 5px; + border-radius: 5px 5px 5px 5px; +} +.menu-item-disabled { + opacity: 0.5; + filter: alpha(opacity=50); + cursor: default; +} +.menu-text, +.menu-text span { + font-size: 12px; +} +.menu-shadow { + position: absolute; + -moz-border-radius: 5px 5px 5px 5px; + -webkit-border-radius: 5px 5px 5px 5px; + border-radius: 5px 5px 5px 5px; + background: #777; + -moz-box-shadow: 2px 2px 3px #787878; + -webkit-box-shadow: 2px 2px 3px #787878; + box-shadow: 2px 2px 3px #787878; + filter: progid:DXImageTransform.Microsoft.Blur(pixelRadius=2,MakeShadow=false,ShadowOpacity=0.2); +} +.menu-rightarrow { + background: url('images/menu_arrows.png') no-repeat -32px center; +} +.menu-line { + border-left: 1px solid #444; + border-right: 1px solid #777; +} +.menu-sep { + border-top: 1px solid #444; + border-bottom: 1px solid #777; +} +.menu { + background-color: #666; + border-color: #444; + color: #fff; +} +.menu-content { + background: #666; +} +.menu-item { + border-color: transparent; + _border-color: #666; +} +.menu-active { + border-color: #555; + color: #fff; + background: #777; +} +.menu-active-disabled { + border-color: transparent; + background: transparent; + color: #fff; +} +.m-btn-downarrow, +.s-btn-downarrow { + display: inline-block; + position: absolute; + width: 16px; + height: 16px; + font-size: 1px; + right: 0; + top: 50%; + margin-top: -8px; +} +.m-btn-active, +.s-btn-active { + background: #777; + color: #fff; + border: 1px solid #555; + filter: none; +} +.m-btn-plain-active, +.s-btn-plain-active { + background: transparent; + padding: 0; + border-width: 1px; + border-style: solid; + -moz-border-radius: 5px 5px 5px 5px; + -webkit-border-radius: 5px 5px 5px 5px; + border-radius: 5px 5px 5px 5px; +} +.m-btn .l-btn-left .l-btn-text { + margin-right: 20px; +} +.m-btn .l-btn-icon-right .l-btn-text { + margin-right: 40px; +} +.m-btn .l-btn-icon-right .l-btn-icon { + right: 20px; +} +.m-btn .l-btn-icon-top .l-btn-text { + margin-right: 4px; + margin-bottom: 14px; +} +.m-btn .l-btn-icon-bottom .l-btn-text { + margin-right: 4px; + margin-bottom: 34px; +} +.m-btn .l-btn-icon-bottom .l-btn-icon { + top: auto; + bottom: 20px; +} +.m-btn .l-btn-icon-top .m-btn-downarrow, +.m-btn .l-btn-icon-bottom .m-btn-downarrow { + top: auto; + bottom: 0px; + left: 50%; + margin-left: -8px; +} +.m-btn-line { + display: inline-block; + position: absolute; + font-size: 1px; + display: none; +} +.m-btn .l-btn-left .m-btn-line { + right: 0; + width: 16px; + height: 500px; + border-style: solid; + border-color: #cccccc; + border-width: 0 0 0 1px; +} +.m-btn .l-btn-icon-top .m-btn-line, +.m-btn .l-btn-icon-bottom .m-btn-line { + left: 0; + bottom: 0; + width: 500px; + height: 16px; + border-width: 1px 0 0 0; +} +.m-btn-large .l-btn-icon-right .l-btn-text { + margin-right: 56px; +} +.m-btn-large .l-btn-icon-bottom .l-btn-text { + margin-bottom: 50px; +} +.m-btn-downarrow, +.s-btn-downarrow { + background: url('images/menu_arrows.png') no-repeat 0 center; +} +.m-btn-plain-active, +.s-btn-plain-active { + border-color: #555; + background-color: #777; + color: #fff; +} +.s-btn:hover .m-btn-line, +.s-btn-active .m-btn-line, +.s-btn-plain-active .m-btn-line { + display: inline-block; +} +.l-btn:hover .s-btn-downarrow, +.s-btn-active .s-btn-downarrow, +.s-btn-plain-active .s-btn-downarrow { + border-style: solid; + border-color: #cccccc; + border-width: 0 0 0 1px; +} +.messager-body { + padding: 10px; + overflow: hidden; +} +.messager-button { + text-align: center; + padding-top: 10px; +} +.messager-button .l-btn { + width: 70px; +} +.messager-icon { + float: left; + width: 32px; + height: 32px; + margin: 0 10px 10px 0; +} +.messager-error { + background: url('images/messager_icons.png') no-repeat scroll -64px 0; +} +.messager-info { + background: url('images/messager_icons.png') no-repeat scroll 0 0; +} +.messager-question { + background: url('images/messager_icons.png') no-repeat scroll -32px 0; +} +.messager-warning { + background: url('images/messager_icons.png') no-repeat scroll -96px 0; +} +.messager-progress { + padding: 10px; +} +.messager-p-msg { + margin-bottom: 5px; +} +.messager-body .messager-input { + width: 100%; + padding: 1px 0; + border: 1px solid #000; +} +.tree { + margin: 0; + padding: 0; + list-style-type: none; +} +.tree li { + white-space: nowrap; +} +.tree li ul { + list-style-type: none; + margin: 0; + padding: 0; +} +.tree-node { + height: 18px; + white-space: nowrap; + cursor: pointer; +} +.tree-hit { + cursor: pointer; +} +.tree-expanded, +.tree-collapsed, +.tree-folder, +.tree-file, +.tree-checkbox, +.tree-indent { + display: inline-block; + width: 16px; + height: 18px; + vertical-align: top; + overflow: hidden; +} +.tree-expanded { + background: url('images/tree_icons.png') no-repeat -18px 0px; +} +.tree-expanded-hover { + background: url('images/tree_icons.png') no-repeat -50px 0px; +} +.tree-collapsed { + background: url('images/tree_icons.png') no-repeat 0px 0px; +} +.tree-collapsed-hover { + background: url('images/tree_icons.png') no-repeat -32px 0px; +} +.tree-lines .tree-expanded, +.tree-lines .tree-root-first .tree-expanded { + background: url('images/tree_icons.png') no-repeat -144px 0; +} +.tree-lines .tree-collapsed, +.tree-lines .tree-root-first .tree-collapsed { + background: url('images/tree_icons.png') no-repeat -128px 0; +} +.tree-lines .tree-node-last .tree-expanded, +.tree-lines .tree-root-one .tree-expanded { + background: url('images/tree_icons.png') no-repeat -80px 0; +} +.tree-lines .tree-node-last .tree-collapsed, +.tree-lines .tree-root-one .tree-collapsed { + background: url('images/tree_icons.png') no-repeat -64px 0; +} +.tree-line { + background: url('images/tree_icons.png') no-repeat -176px 0; +} +.tree-join { + background: url('images/tree_icons.png') no-repeat -192px 0; +} +.tree-joinbottom { + background: url('images/tree_icons.png') no-repeat -160px 0; +} +.tree-folder { + background: url('images/tree_icons.png') no-repeat -208px 0; +} +.tree-folder-open { + background: url('images/tree_icons.png') no-repeat -224px 0; +} +.tree-file { + background: url('images/tree_icons.png') no-repeat -240px 0; +} +.tree-loading { + background: url('images/loading.gif') no-repeat center center; +} +.tree-checkbox0 { + background: url('images/tree_icons.png') no-repeat -208px -18px; +} +.tree-checkbox1 { + background: url('images/tree_icons.png') no-repeat -224px -18px; +} +.tree-checkbox2 { + background: url('images/tree_icons.png') no-repeat -240px -18px; +} +.tree-title { + font-size: 12px; + display: inline-block; + text-decoration: none; + vertical-align: top; + white-space: nowrap; + padding: 0 2px; + height: 18px; + line-height: 18px; +} +.tree-node-proxy { + font-size: 12px; + line-height: 20px; + padding: 0 2px 0 20px; + border-width: 1px; + border-style: solid; + z-index: 9900000; +} +.tree-dnd-icon { + display: inline-block; + position: absolute; + width: 16px; + height: 18px; + left: 2px; + top: 50%; + margin-top: -9px; +} +.tree-dnd-yes { + background: url('images/tree_icons.png') no-repeat -256px 0; +} +.tree-dnd-no { + background: url('images/tree_icons.png') no-repeat -256px -18px; +} +.tree-node-top { + border-top: 1px dotted red; +} +.tree-node-bottom { + border-bottom: 1px dotted red; +} +.tree-node-append .tree-title { + border: 1px dotted red; +} +.tree-editor { + border: 1px solid #ccc; + font-size: 12px; + height: 14px !important; + height: 18px; + line-height: 14px; + padding: 1px 2px; + width: 80px; + position: absolute; + top: 0; +} +.tree-node-proxy { + background-color: #666; + color: #fff; + border-color: #000; +} +.tree-node-hover { + background: #777; + color: #fff; +} +.tree-node-selected { + background: #0052A3; + color: #fff; +} +.validatebox-invalid { + border-color: #ffa8a8; + background-color: #fff3f3; + color: #000; +} +.tooltip { + position: absolute; + display: none; + z-index: 9900000; + outline: none; + opacity: 1; + filter: alpha(opacity=100); + padding: 5px; + border-width: 1px; + border-style: solid; + border-radius: 5px; + -moz-border-radius: 5px 5px 5px 5px; + -webkit-border-radius: 5px 5px 5px 5px; + border-radius: 5px 5px 5px 5px; +} +.tooltip-content { + font-size: 12px; +} +.tooltip-arrow-outer, +.tooltip-arrow { + position: absolute; + width: 0; + height: 0; + line-height: 0; + font-size: 0; + border-style: solid; + border-width: 6px; + border-color: transparent; + _border-color: tomato; + _filter: chroma(color=tomato); +} +.tooltip-right .tooltip-arrow-outer { + left: 0; + top: 50%; + margin: -6px 0 0 -13px; +} +.tooltip-right .tooltip-arrow { + left: 0; + top: 50%; + margin: -6px 0 0 -12px; +} +.tooltip-left .tooltip-arrow-outer { + right: 0; + top: 50%; + margin: -6px -13px 0 0; +} +.tooltip-left .tooltip-arrow { + right: 0; + top: 50%; + margin: -6px -12px 0 0; +} +.tooltip-top .tooltip-arrow-outer { + bottom: 0; + left: 50%; + margin: 0 0 -13px -6px; +} +.tooltip-top .tooltip-arrow { + bottom: 0; + left: 50%; + margin: 0 0 -12px -6px; +} +.tooltip-bottom .tooltip-arrow-outer { + top: 0; + left: 50%; + margin: -13px 0 0 -6px; +} +.tooltip-bottom .tooltip-arrow { + top: 0; + left: 50%; + margin: -12px 0 0 -6px; +} +.tooltip { + background-color: #666; + border-color: #000; + color: #fff; +} +.tooltip-right .tooltip-arrow-outer { + border-right-color: #000; +} +.tooltip-right .tooltip-arrow { + border-right-color: #666; +} +.tooltip-left .tooltip-arrow-outer { + border-left-color: #000; +} +.tooltip-left .tooltip-arrow { + border-left-color: #666; +} +.tooltip-top .tooltip-arrow-outer { + border-top-color: #000; +} +.tooltip-top .tooltip-arrow { + border-top-color: #666; +} +.tooltip-bottom .tooltip-arrow-outer { + border-bottom-color: #000; +} +.tooltip-bottom .tooltip-arrow { + border-bottom-color: #666; +} diff --git a/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/themes/black/filebox.css b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/themes/black/filebox.css new file mode 100644 index 00000000..6077ebdc --- /dev/null +++ b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/themes/black/filebox.css @@ -0,0 +1,6 @@ +.filebox .textbox-value { + vertical-align: top; + position: absolute; + top: 0; + left: -5000px; +} diff --git a/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/themes/black/images/accordion_arrows.png b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/themes/black/images/accordion_arrows.png new file mode 100644 index 0000000000000000000000000000000000000000..45fd44aa30476e107428feeea74273a354d3b003 GIT binary patch literal 122 zcmeAS@N?(olHy`uVBq!ia0vp^3P3Et!3HGD8EPYel%uDMV@SoVN1z5L3B> xDW~hhNx=}0EonJY9@lzK3(R79rLjPWf#H~1{zPk!fAK(V44$rjF6*2Ung93|vWVV6Z%4vL?&44I-o%PJ?Cx6QLVXnHR?Rhr;0){R%hr=okS>HS^0Qvf^!Vg~N^Sz&#ASvge z87j5M#D4oX@65PaX>s2t&yQ?p-0*+9{K1F+nQRT$=L)dM>6M4Gp7v%sn+|j&gQu&X J%Q~loCIFcQP)Gm( literal 0 HcmV?d00001 diff --git a/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/themes/black/images/datebox_arrow.png b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/themes/black/images/datebox_arrow.png new file mode 100644 index 0000000000000000000000000000000000000000..783c83357fdf90a1c7c024358e1d768b5c09c135 GIT binary patch literal 626 zcmV-&0*(ENP)5OC%H;f`~O(q$Q#t2<^v$A>fbmv%e#dKTwK=Ku{5lS|}<-`a#7b zzTCOnnT>at)D}AMFuOZ5&%EqFN(lyumd$2ASF6=;nM~%2?gqc@U=#|4PqkX@EBo-9 z7pD#bO_RUa>*faM`8;MYfVi$JnB-zcBFc6gjl$d!bF98Q!!!(Z1_R~P?e!pt#6CHJ9S&n_n&@=9 z%GP;!@Co4c*at+6vNz7o(6en^Q1%qHrc;1)9IRaz-$@S$Z-qdC^ds3X0NvQH;KS)D z-dh&rW&@X;1cS(45z)J&BVt+tv&GMVJ%!EiW) zLBGZW)#Z+gl-Lih&?>X3SS-S#ujQ;9JRXmIB7X)8`d6ETj)D#Q2+$s|<_b7-B9Xvq zwNfqlEp%y3$uY`h{Y$(Gn5@}sqEsq95lpAkFO5dyBmP6^H-51G4J|rN2Ujt<`2YX_ M07*qoM6N<$f3kcwMx!yWk;1b9CG_kXOx zmzFK*Ssi^NN-27((w?4M8@u`^_qP=9nfy4m{lwb6;U^wS@qDtp9?C45@HGEwayQ3S z%Ua=ZSB3W+c`gDw6;3c4*f@AGFEUxQKH4x2D*a5)78&qol`;+03qN((f|Me literal 0 HcmV?d00001 diff --git a/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/themes/black/images/linkbutton_bg.png b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/themes/black/images/linkbutton_bg.png new file mode 100644 index 0000000000000000000000000000000000000000..fc66bd2cd24047b8377342365a1df3846327ecde GIT binary patch literal 1274 zcmVc6j2;SWMDuL>F^vlqEUI{oOgO!xNf*11TukM z6kTZ3V2qd3<~<$H&Lrt?SpXUxF5Zb^}(={r!EHE+$QMdH|XZ zSYbMyc0tQc3qbP$tG{U_Jyg>I(0srOscEGU?-T)4AzuS$_2J>6`+BJ50YDY<^>2vV z+uI880P2ui(hyHiPrK$)CkbHg=kD&V3^8pD z0v3QOB&8eT@87?rgaGPrb#+ySxU;jP=nkL`nZ_{0e*BD+1Tc5b&d$oLo}8R$90gF1 z^ij>~#>R%HIRNUB_kgpQ+Lg!80Gbb2saY8>1EBeUm7A3TegK*dSciv)Wqp0!h-3im z1+1f^qq4iZ+ZEMUS63~e0I+zh`2rwd0l@!F(!7sM%_`|&0+*B!z{1(u+A9BIU&~T- z2he=L>dmc7TLXZFkeTeCHMcE|qX51{z>0ZC=xGjss*FaXGOMX+dHf8Z8hL6ntGQ_z zF9V<&dwY9jh`D7czyqj4g3S=~)zFA!0980RI4DC*Ez1%L09D8%=OHF&S@Q*;3bRfe zeL2-ZzyeT(Av4`$>R3`j096>WH7BOELD3yR70%Dk%Mk4)1W=73OH{L_UgIc$YFu7k zmRaq`&NxK?Rk*skDzlhL4IV!OsLJ*Ab@{BRT^TO}pgQC6xO~R6G8o_oU?C)>`xlc2 zriH~zU-;g$PyPA_&X!OBSU6SIeB~eKNAhF&(fs&F|1n9<+Yj^2T+4Dj%UFjr zZ%rnX^7Qmn0ANwP308gILtaQfK0Z1j0Br`Wq<=~Ka+?BxW&>7kRtZ+q>C~wJXg6S` zW|cJ1%?d#C0V@Ue)T{uY>425ig?tTsczEc(0+M8_c7^t|!sm-1Nw(}#nnLr?FgGlc zY}ut0+w(d)Uk6FDWtY;*aCdjteIX>tmhA#o+8PqHNU~+SlrTfyKRaNHBx~Ch-FJ3& z%B(Y&NwStp{rH$6Yj{YqhR=Gk~Mtw_&K$#yeTBf z7JV~bCN(VwL$c|B^>Topn-X{+7;S!yV~2^ zBgv-iMkME}U;-COwrsbABDvwg!2wA&ZMWttf5^jTl5E*7V41=|@=Hu>NJ^O8(7b4p z&ChgC(LF5>Md#{+4LgS{%KA|H(Xv`l4P^KdiBKB*_;1&m|Q7!{|O$ k%vVK{T!hwqk^D0L0mO==@4IV9lK=n!07*qoM6N<$f|Ge;n*aa+ literal 0 HcmV?d00001 diff --git a/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/themes/black/images/loading.gif b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/themes/black/images/loading.gif new file mode 100644 index 0000000000000000000000000000000000000000..68f01d04813c1f622810864a3aaa04b4a17ac8f9 GIT binary patch literal 1737 zcmaKsX;2e)7>CzDa{xjjy99|1A!tC(kfocDi)<1$AxHpOQ4k^l!Vx1W6x7<&|FYXU zqO4jEiU-!VR1p+Xj1?4-iuI_J;!&?!+ghg|JJad3U)pMGzcKxNeCM6tJnuX+uPvX@ zZY|=AHdxt2Xr2y*)5|c6#FSEuyJ+Y3Z&l z2hJWo`9;lJ$6wzSoW60tqkB|d$oiO*d-^85^ojn{*NR{MP*%{@H*#gihZ8BKyB68E z-MIbjgNNV0y5khpJ^Jv`51aR%={<4jhaVq5e*9D5+*hL)XCHn4{^d%hPu@?KpKbc=eN!D=XUjDmH#n{YHNS zHCX6BV)yn2CuTNujhN~V+`RKpyXO6^ht92eqhIIlQLfz6eeCnH_C7`NPNrw9ks366 z4xX9(`s~z=+1uX^ocZ$2_fBs=JihPfWYufOIuD&AU-@`>>qn~cy$1)T7CU!5z2(U8 z)9Kt9)l`f6?NU41j6XbXfR{OHwm|T4}&24tIf+!C-g~6cQfY2^n$?AT&ZW zgqm`}3-jS2NS6n=k;sr5Hv(Q%%n)qW0X|neWVBd;Ko}d(=u%?{O0-a>kSI}shOd9n z5top}%gUCf=>?tg;*;#7!^HOL3k$fMxd=O-6Y4@%u8LS)C1D_a?27R6^vcC+6tttL z)GmTahbyJB!xmcHL#ya8ZXyfRl)a!N0BJE0y3BBfAV5;#=K&Z2VkaKZ)?9`1h5P_% znt*b}%j1|#j`b|aQDx@~wA#$PYRN2xE6UO;;vE(@$&xww-s8fZ5HmJ(eJ*rQrDbaawDbrfe_8F(wq{ge?)qQG`aXV;r(*6EM|ESje;52aFmrX!f=Pw^2oGQX$1|o4yts|b_5@w_kNwtl{wDP#JGMvIp#!SYX?Wq9S&`&_ZwkgGH5CLB7DEGJ6=R4J~p3Z4i^A}hs=-uZeD zs92l6u@**R$~L()G{5N8*7cE5-q$SCo`q4|NSVF*+A7&xZnypm$EdXgf)E%(VJHFD zSgi(H!D!(;9Zcc#GrCCJh=RlvXBQ-hv4Vodse`a32ZUFWgP5ZhM5LeV(#D^H8p@Lg ztra5R32z@1rQv{6u&RZL5%Z@Ye{q|t#6aM_1hIrpl@)oH6}os*cbAQywa{5<`ekzW O1il%9bk82&KlvLjD^%40 literal 0 HcmV?d00001 diff --git a/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/themes/black/images/menu_arrows.png b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/themes/black/images/menu_arrows.png new file mode 100644 index 0000000000000000000000000000000000000000..2a984941d6590c78d67ee68d2087d8cc88efbac6 GIT binary patch literal 134 zcmeAS@N?(olHy`uVBq!ia0vp^4nQox!3HFkJ+IURQof!pjv*Dd-d;V(%b>u);`l3H z>g53sy@tf+`c*Dhco^6|8Eg#8WENqsU-wu%RB=*I5D$X7F_Nb6Mw<&;$S;RV&B< literal 0 HcmV?d00001 diff --git a/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/themes/black/images/messager_icons.png b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/themes/black/images/messager_icons.png new file mode 100644 index 0000000000000000000000000000000000000000..62c18c135860351063ebaabe8c0f4df7664b8f65 GIT binary patch literal 6116 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 lGy-mR literal 0 HcmV?d00001 diff --git a/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/themes/black/images/panel_tools.png b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/themes/black/images/panel_tools.png new file mode 100644 index 0000000000000000000000000000000000000000..f97761eb393def3b5f61774142413e740fe8fe8b GIT binary patch literal 184 zcmeAS@N?(olHy`uVBq!ia0vp^20*O9!3HEluKbn(QuUrLjv*Dd-p+93Yfuni{`r6T z$48CLf{EOzXU|M@xy0GMavBpu(5ti8zb3QZ+Tfp^siO37?WI*8%sM?7u5w1XttgAw z*Z5axHOr-aZj1~Mw;UHx3vIVCg!0FXpSG5`Po literal 0 HcmV?d00001 diff --git a/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/themes/black/images/searchbox_button.png b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/themes/black/images/searchbox_button.png new file mode 100644 index 0000000000000000000000000000000000000000..6dd1931589b453f6cc9772fd1851d8705d6b6631 GIT binary patch literal 813 zcmV+|1JeA7P)lXvaa)1B=8vtU6i;3jw7+Lm8D5$Z@i10EnF)=bcefw4K z$^E-CUfjQG`svfBbfD6|R#sLFj6lo3FG$G6@;ee>>~6i|H^5OY8c00W#fi<*1vzh{0&qu3dB`V0{{XDY`}(1n>S9M(9!zw#!&`A z#;*+0{6GVMSeWGp!`o{o8NPge#o%jgs54WT$qnQYpsyGNpauX05F;oJfZ`Pdw6!$j zynTH0RMa&!n3$Pa9zVGEY{&L(3qnPBl_DG6<9Xk0`Fl3`LiD4@pH{vDsxJWQ1qdJp zEJ>M}osCtQlY?CgW>F{;gVK#SmgoOZnEn5J%EtIXaWQXAO>Rdf)WFR;gt~f zXaA3z{{L{q=l48y!32yJ3i0hJ2BS=^}@sXzH{F9Iq&OW375;I7CG-}Vr|aF#l<(fySwu2>`YdxRW*W0f#2un=W5Jmvoe`XCK%I_Y++#`fwE+= zSd{sEULGDE%A=#BOW<6gP*6VfMa^fr8qe`5w%)P0a^Y9WGTw! zvI^|$>l@1Da^Ke1*T3RdY7KqM%gaBb(P+oP!GW;b?ZRfW3Bxc1H@GCaHK#XhZ*Lc= zRBC@>V&W#x&B5%(#>OW5`};d6I5Qw218EG_q@1gtr!Nl*v7yn?(MPMRt4SNy%--JK zanm#f^bw^}Nr7b(EUg}TUi(2;)deX10lAo=83+VA(QksJI6(zwptET-y~avN=J9w$ zI2`W5lG|aOkjY7(&!@;Jx*nUA>~J`Q)9L&(G8y=g$3a4YgD7z)5>gXQNKhw=uR0zF z#jHruh)gDv=bj|2ZES4(fEM?I!JyKqo=}sj-fBYTcDt4KXq)eFQH}wW`vh%Mla}#@ z@Mb`C)x@YkK{xd2>8ZLg+E!Lps$Q@6DY-~!0=Gs+Mm~_JnW1EbX2uxClEdN>Y@I78 z=ke_9?7sX@o0*x}M{JB77MIXj_MmNE%+1Xe{*{crh)9={dR(U;y-{jrxUXmG%Gt002ovPDHLkV1hy(sXhPz literal 0 HcmV?d00001 diff --git a/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/themes/black/images/spinner_arrows.png b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/themes/black/images/spinner_arrows.png new file mode 100644 index 0000000000000000000000000000000000000000..25ee848d772e71e591fdf4e4d07409b94e58fc92 GIT binary patch literal 112 zcmeAS@N?(olHy`uVBq!ia0vp^3P3Et!3HGD8EPYel)0yiV@SoV}ezCPaUb%ArQw1m64&Nzopr0N{TzyZ`_I literal 0 HcmV?d00001 diff --git a/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/themes/black/images/tree_icons.png b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/themes/black/images/tree_icons.png new file mode 100644 index 0000000000000000000000000000000000000000..2b4fd2025c7588c84df27d89466b470e273f5c06 GIT binary patch literal 3086 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 literal 0 HcmV?d00001 diff --git a/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/themes/black/images/validatebox_warning.png b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/themes/black/images/validatebox_warning.png new file mode 100644 index 0000000000000000000000000000000000000000..2b3d4f05babf3f82b146350e96570fac02075de0 GIT binary patch literal 921 zcmV;K17`e*P)nRv1_mBsMY*-M^XCf)eflW5 z|MC^)Hw+AW{sHCCF+cz@{fF8J!+#-kxoSv=7^|!zgOQUngSQ}mDo|J)n+pH}hzZ#= zr~y18$_m-?9v%$;?mu8);}>9vFgFvDXJDwrW&l6{p}625M66yTFhGz^K$w9^O$BHi zFN2Ym7DIple*#cW4BY^L0Al(Jbv6k9U|^6IQBp{hx3XdQ&CJ4Z_|YSVr@XujY(PVT zlok1<85nBO4FCurumK>O|A07*jFlSRUcxLAQVcIR*co#3@)&jj4Pj7KXRri%#h;fa z4ya5O*#Lk5Vq!q}T~=CGH(uV-hJk^fkAYoGjN#AMuMF($>N=giWG}IXse|=+c=i>7HEg>%*E%fLD!-uy|85n^6W?^Dt(9zXp5EB&z+w>_knBmdiKMbzi z?A!`WOl>e100a=&05*1xZdFls?*HtZ48H?o7=HW%ivIu45E2~BASWx!@DIpmv9e}h zaPwji|L}pqor@y`=yxrU0RRES^qYY}O;TRcU+DKIhL4`%3_nyf8U6tS<<-ZJ40D$( zWjJ%`G6NIPHNP2{7am*Fp% z{>ShK#0G`~kjd~57_BUUT_Y-nKxaI`{RC0WjSLJ&w^R(C-|JQTojLXc1&{d*_z{$ jW+oTMdQ(F|jDg|L>K${_)^zO#I)%a0)z4*}Q$iB}_fAN- literal 0 HcmV?d00001 diff --git a/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/themes/bootstrap/images/blank.gif b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/themes/bootstrap/images/blank.gif new file mode 100644 index 0000000000000000000000000000000000000000..1d11fa9ada9e93505b3d736acb204083f45d5fbf GIT binary patch literal 43 scmZ?wbhEHbWMp7uX!y@?;J^U}1_s5SEQ~;kK?g*DWEhy3To@Uw0n;G|I{*Lx literal 0 HcmV?d00001 diff --git a/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/themes/bootstrap/images/calendar_arrows.png b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/themes/bootstrap/images/calendar_arrows.png new file mode 100644 index 0000000000000000000000000000000000000000..430c4ad685b8c0068ecb7e3cbef74f493a84ad0d GIT binary patch literal 173 zcmeAS@N?(olHy`uVBq!ia0vp^4nQox!3HFkJ+IURQYD@)jv*Dd-cCEn)nLHm{QbZE z+q@uWwandfr?Jb4eDYYmB3UAt=OO2Vt+MMT&+KD%&6hZDt!FBpej;sEpMN69^tKl% zp6y<4_lG^P z=;=eQ4Vs74-2)Ua&f1tcVdk$#{GPKe@&?ZMHmT&SMw?IV&w7)}ixLbB3d$Zg{&KGb P8OPx1>gTe~DWM4f WNYm=W^A8UI00005OC%H;f`~O(q$Q#t2<^v$A>fbmv%e#dKTwK=Ku{5lS|}<-`a#7b zzTCOnnT>at)D}AMFuOZ5&%EqFN(lyumd$2ASF6=;nM~%2?gqc@U=#|4PqkX@EBo-9 z7pD#bO_RUa>*faM`8;MYfVi$JnB-zcBFc6gjl$d!bF98Q!!!(Z1_R~P?e!pt#6CHJ9S&n_n&@=9 z%GP;!@Co4c*at+6vNz7o(6en^Q1%qHrc;1)9IRaz-$@S$Z-qdC^ds3X0NvQH;KS)D z-dh&rW&@X;1cS(45z)J&BVt+tv&GMVJ%!EiW) zLBGZW)#Z+gl-Lih&?>X3SS-S#ujQ;9JRXmIB7X)8`d6ETj)D#Q2+$s|<_b7-B9Xvq zwNfqlEp%y3$uY`h{Y$(Gn5@}sqEsq95lpAkFO5dyBmP6^H-51G4J|rN2Ujt<`2YX_ M07*qoM6N<$fRl}UZ@-Co%Cq`k{wEj}Dr>ShP9AQ|IKKA30{ejJboVoF`C-z@6mZMY&%Wiz%6S}#zb4u?o?9Mi=ECopVxzz+sNviAA!DK)mm8xe zgY9ZT9jlddc^&y2^u9XqDeU4{8s^AS#8C7TXsxEJW@uLu(3Whc35-X6v}jEgEb{G` z!{)$uKzw<~%0A6PhNHYfSuTvOzD8LpPF>PVr=&QqGC936QlPgc6j2;SWMDuL>F^vlqEUI{oOgO!xNf*11TukM z6kTZ3V2qd3<~<$H&Lrt?SpXUxF5Zb^}(={r!EHE+$QMdH|XZ zSYbMyc0tQc3qbP$tG{U_Jyg>I(0srOscEGU?-T)4AzuS$_2J>6`+BJ50YDY<^>2vV z+uI880P2ui(hyHiPrK$)CkbHg=kD&V3^8pD z0v3QOB&8eT@87?rgaGPrb#+ySxU;jP=nkL`nZ_{0e*BD+1Tc5b&d$oLo}8R$90gF1 z^ij>~#>R%HIRNUB_kgpQ+Lg!80Gbb2saY8>1EBeUm7A3TegK*dSciv)Wqp0!h-3im z1+1f^qq4iZ+ZEMUS63~e0I+zh`2rwd0l@!F(!7sM%_`|&0+*B!z{1(u+A9BIU&~T- z2he=L>dmc7TLXZFkeTeCHMcE|qX51{z>0ZC=xGjss*FaXGOMX+dHf8Z8hL6ntGQ_z zF9V<&dwY9jh`D7czyqj4g3S=~)zFA!0980RI4DC*Ez1%L09D8%=OHF&S@Q*;3bRfe zeL2-ZzyeT(Av4`$>R3`j096>WH7BOELD3yR70%Dk%Mk4)1W=73OH{L_UgIc$YFu7k zmRaq`&NxK?Rk*skDzlhL4IV!OsLJ*Ab@{BRT^TO}pgQC6xO~R6G8o_oU?C)>`xlc2 zriH~zU-;g$PyPA_&X!OBSU6SIeB~eKNAhF&(fs&F|1n9<+Yj^2T+4Dj%UFjr zZ%rnX^7Qmn0ANwP308gILtaQfK0Z1j0Br`Wq<=~Ka+?BxW&>7kRtZ+q>C~wJXg6S` zW|cJ1%?d#C0V@Ue)T{uY>425ig?tTsczEc(0+M8_c7^t|!sm-1Nw(}#nnLr?FgGlc zY}ut0+w(d)Uk6FDWtY;*aCdjteIX>tmhA#o+8PqHNU~+SlrTfyKRaNHBx~Ch-FJ3& z%B(Y&NwStp{rH$6Yj{YqhR=Gk~Mtw_&K$#yeTBf z7JV~bCN(VwL$c|B^>Topn-X{+7;S!yV~2^ zBgv-iMkME}U;-COwrsbABDvwg!2wA&ZMWttf5^jTl5E*7V41=|@=Hu>NJ^O8(7b4p z&ChgC(LF5>Md#{+4LgS{%KA|H(Xv`l4P^KdiBKB*_;1&m|Q7!{|O$ k%vVK{T!hwqk^D0L0mO==@4IV9lK=n!07*qoM6N<$f|Ge;n*aa+ literal 0 HcmV?d00001 diff --git a/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/themes/bootstrap/images/loading.gif b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/themes/bootstrap/images/loading.gif new file mode 100644 index 0000000000000000000000000000000000000000..68f01d04813c1f622810864a3aaa04b4a17ac8f9 GIT binary patch literal 1737 zcmaKsX;2e)7>CzDa{xjjy99|1A!tC(kfocDi)<1$AxHpOQ4k^l!Vx1W6x7<&|FYXU zqO4jEiU-!VR1p+Xj1?4-iuI_J;!&?!+ghg|JJad3U)pMGzcKxNeCM6tJnuX+uPvX@ zZY|=AHdxt2Xr2y*)5|c6#FSEuyJ+Y3Z&l z2hJWo`9;lJ$6wzSoW60tqkB|d$oiO*d-^85^ojn{*NR{MP*%{@H*#gihZ8BKyB68E z-MIbjgNNV0y5khpJ^Jv`51aR%={<4jhaVq5e*9D5+*hL)XCHn4{^d%hPu@?KpKbc=eN!D=XUjDmH#n{YHNS zHCX6BV)yn2CuTNujhN~V+`RKpyXO6^ht92eqhIIlQLfz6eeCnH_C7`NPNrw9ks366 z4xX9(`s~z=+1uX^ocZ$2_fBs=JihPfWYufOIuD&AU-@`>>qn~cy$1)T7CU!5z2(U8 z)9Kt9)l`f6?NU41j6XbXfR{OHwm|T4}&24tIf+!C-g~6cQfY2^n$?AT&ZW zgqm`}3-jS2NS6n=k;sr5Hv(Q%%n)qW0X|neWVBd;Ko}d(=u%?{O0-a>kSI}shOd9n z5top}%gUCf=>?tg;*;#7!^HOL3k$fMxd=O-6Y4@%u8LS)C1D_a?27R6^vcC+6tttL z)GmTahbyJB!xmcHL#ya8ZXyfRl)a!N0BJE0y3BBfAV5;#=K&Z2VkaKZ)?9`1h5P_% znt*b}%j1|#j`b|aQDx@~wA#$PYRN2xE6UO;;vE(@$&xww-s8fZ5HmJ(eJ*rQrDbaawDbrfe_8F(wq{ge?)qQG`aXV;r(*6EM|ESje;52aFmrX!f=Pw^2oGQX$1|o4yts|b_5@w_kNwtl{wDP#JGMvIp#!SYX?Wq9S&`&_ZwkgGH5CLB7DEGJ6=R4J~p3Z4i^A}hs=-uZeD zs92l6u@**R$~L()G{5N8*7cE5-q$SCo`q4|NSVF*+A7&xZnypm$EdXgf)E%(VJHFD zSgi(H!D!(;9Zcc#GrCCJh=RlvXBQ-hv4Vodse`a32ZUFWgP5ZhM5LeV(#D^H8p@Lg ztra5R32z@1rQv{6u&RZL5%Z@Ye{q|t#6aM_1hIrpl@)oH6}os*cbAQywa{5<`ekzW O1il%9bk82&KlvLjD^%40 literal 0 HcmV?d00001 diff --git a/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/themes/bootstrap/images/menu_arrows.png b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/themes/bootstrap/images/menu_arrows.png new file mode 100644 index 0000000000000000000000000000000000000000..b986842e7e4044caed18edbcb4b376a4bb915623 GIT binary patch literal 160 zcmeAS@N?(olHy`uVBq!ia0vp^4nQox!3HFkJ+IURQt6&9jv*Dd-cB{-J7B=U{PTZ! zWrKV9%Z3|Wt5t$(gq+#d+-OocB$0fsr9DfRx52vPhSu$$+yXuy+69hDZ54DDTxx#r zL7>-12UT01v)>tZ+;HI4pDNf?@KK~EC$@35ykmXyu^HJF3})N>8P9Uwo&~g$!PC{x JWt~$(697!FIeGv9 literal 0 HcmV?d00001 diff --git a/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/themes/bootstrap/images/messager_icons.png b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/themes/bootstrap/images/messager_icons.png new file mode 100644 index 0000000000000000000000000000000000000000..62c18c135860351063ebaabe8c0f4df7664b8f65 GIT binary patch literal 6116 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 literal 0 HcmV?d00001 diff --git a/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/themes/bootstrap/images/spinner_arrows.png b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/themes/bootstrap/images/spinner_arrows.png new file mode 100644 index 0000000000000000000000000000000000000000..b68592de3200fbe1f7defe98a2b59b0398b1b737 GIT binary patch literal 115 zcmeAS@N?(olHy`uVBq!ia0vp^3P3Et!3HGD8EPYel$EE8V@SoV_tDnm{r-UW|t3f!- literal 0 HcmV?d00001 diff --git a/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/themes/bootstrap/images/tree_icons.png b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/themes/bootstrap/images/tree_icons.png new file mode 100644 index 0000000000000000000000000000000000000000..e9be4f3a9965e49a4e4078f8c53f486d761a7468 GIT binary patch literal 3115 zcmV+`4Ak?9P)g24+u&k_UG+WCVnOW0FwMG}(2wGOI!IUx6nn{~p zK+GuW#mGkun)pBk1bIKq2~!>yc`1oJM7TV}|D1iU2d{7+=iGY*Zhd>Ly{>T1|31#) z``!Py&-u2D@h}=|*RDlx>VNK^-`@2+c<|uCg9rZx;|}7def~CV*Z^~Bvlk0y6WzaX zO7)0#uj7>9!NW$89WfP@S>cZ$8!Q+fgf5CL6uf3z7yRUM87*26} zc7){+S-^&{P?s;BN|=J}jRBY%>({~FW^;}1pOKM)t5>h~iiN9a?!cQxZAh)Xj-Cbx z-`;!M?b&%0#)k;`qJa#-vG>Q}$a}tsUq2e(hTV((>qg+4HQwkBk0=8Pvw9^Cq^lEg zdeuqA0@yH%5C8TbQ7FAuPv)$7}<1EDF0(%7?l zFbWC^aJxRrM0VGoK7AU797tDK7;+<$&S&$O=E0jr=dtI#Mi}^Lj%@MJAfHcF&7V~L z9{C-M@yx;LV9VXsm^~;2kSkZNAUZl48jS|l!o$zcPfR)cpTBxt1jyGH+b}s@ix?{* zva6z1d_Kwx*Em4z1t9hkRIktt&M27~fn9HSAUiu7xAa1^d@L`8=OBG*YAWP95Muxt z_tB*4MY&JFGt@VQ&0vE%Kh&Zz69xp2+C4k&QT(@l8FD*tj#rt$qJ}_46BhKjt3qv;#5snD)toChHG|az}_Ova+&pD$++$mLMTL8(gYsda--Qdr^s;scOOAj6rKuR0A1K|$D zwvqa;$-2QQ+d)KN+h3hJ0V2=6MBx01WxD;(t{3%&0iw)-+&xz{e$xAoYSY?2!)r+k zZ#XX*S26khN18sn5QI$aW}IkRjhB<2h5O?Bsf!mj*3+{)$lP6*009WQ@_QKCDZbm|CEu64xY6& z5Gt5Tbq^`!7Ey~DbpY8fz=NhQUtUyR1EGScRQHgQes`%^5kUBM?m)~&;y)+o24}@P z@>1A0D#$?u2K9l9?LjKVz)ogJSEeFiN7VNp}@yO1c)Y7cDEG($y9!m{QGyrY+<=2p)AU z*G&S1-^bB+?gOzG2SS%w#lczlhP)K^ja<^NJ3z>Vm;{d+XAk)!Z@ZtUSL{Ht4LT5U zCNpZ0f5KZi0f?K5I7Aer^o`C=v>eLmnr)!Qs)%VeL0~SXdbB`TZ-=>)+tD?{7n~`)x0Lx#}LM zSGtQ=OsMEdbqkt$(BMx@OvITpXKn)s?b|hXu5iQlV3*tUGQoF{PPQ?3zHwiBdeZmRsDM2OMC?I;L(FYK%i-foYaSh6a)mCmdHtcct`+I zl7`;@l&2SNnDo+uwuv(rzRAxf54-vX=kK2f4<0;t@ZjHKedqJ@o*+DU@ZiCNI}q+b zxc;Xae`jps9$(+=lYy^bo2Tcu3mEf|wmr?5>lQb+z43v8`22wf&Ms$c8Ycq}9yW}T z^VdR2QuG!5CIKE_Pk#7^y7TAIQCWr0=;?W=_}Fo@mlmQ{Q;djT zJzg4QPY|K*WHmi>UkJaOly@bwL{EdVsOYSiWo5-emY}k-43{odqNb)Ab#*mpXsAPD zV}m$=>Cx7Do$gkWma?|?vY4bXq~Go5ce?(Z0FS8k&`ubNj-z`}nU#Z&y}XWn;No&X zlYA15Nr#a)YzQu_S&1Jnlw$J(lZs^>K)M^1?n><~cu-d|x+|5sl=TJ6&bRaRFs1-v zZtyoXT@wc|ZL_sr4m_Hho4V;!UVarF7mEdW3`D&T!{srK(8ljZ>B&?S9Xp1G*;#RCMe;#Qa46TRJU)rxEXz?7a%C+>QP&YDKOh@Zts7sj=Ev<#2 z#dEYO*Gho!6}i0#5PNbUat6Ov+YD)6rFvDg3N0;KGx}oOx5E#k)V>(I(^q`--8oiF zf`uB8BxR^eI#5$Zxl-N>jb83Ba4lqu2ELON*`F7*ZB0I^Si*pma1 z1CQ3$783w44G%d0A+2hsN(6^$`%QSLM~VL?c(k{-bt3MB$O z&U-NwjCRK9QEtd|6W}4ZkFqa5M};ueS*KEEy(qk-(St#~Kd1)?^#TzGvlRf5`hX~b z2z4JL=Rw`bsHqS^;H*M`&?;R0PGo8$5HZo^N>*1dYxO1uSdZv?`}14db<9>%QfptI z2BjQ$7#hG`^#lq-@SrrMm!>U}10j$QK%}2ZYfL|vG53!K4m_ecnS#2wuLO9wAy+gbS0xM zWHgPTu4FXusY{uX*QVw{#=4U6t04R;%$;x`a^PVK0H&rba`e*G7JcU-O=IYH#`IeT z4cS|K^eC>Lh)4b~S6$7+nL)EPN^l;#5a;NCy}}nsjH4sYsnsY*PDaS^;m7XyRTyi7 zx{*;=G8*{QrA&#II*$=V$cfN&hH4^IST*(k!bpGM{5}remCOXAH=Ez7K@DlF@x2)TNB^;L(R2h#YvB1Aqh%N=x+S;9*D~IdNiPZHWe@p(~N( z?uLr35hyPxz&j&HX1?L&b)qOMOLQLLuC6#57>IIVb`m;$dWGGb9O_O+UCQ{MY0n4m z2_oNtC`m&A=q-H+V^hOt&eU8k)u1sy7Z>vK5T;UPQJuqwF&Ca| z&YY@+jQR7?!Gnj5g1*_w0nn9@uD6sM%f6&v%GfVAPnz^YTyO~1d3z^6&sgVwb-9SK zdxAYZ52=?gN9aQjmHvjYS^SLi;10wN-aii>Jb3(M`wpy literal 0 HcmV?d00001 diff --git a/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/themes/bootstrap/images/validatebox_warning.png b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/themes/bootstrap/images/validatebox_warning.png new file mode 100644 index 0000000000000000000000000000000000000000..2b3d4f05babf3f82b146350e96570fac02075de0 GIT binary patch literal 921 zcmV;K17`e*P)nRv1_mBsMY*-M^XCf)eflW5 z|MC^)Hw+AW{sHCCF+cz@{fF8J!+#-kxoSv=7^|!zgOQUngSQ}mDo|J)n+pH}hzZ#= zr~y18$_m-?9v%$;?mu8);}>9vFgFvDXJDwrW&l6{p}625M66yTFhGz^K$w9^O$BHi zFN2Ym7DIple*#cW4BY^L0Al(Jbv6k9U|^6IQBp{hx3XdQ&CJ4Z_|YSVr@XujY(PVT zlok1<85nBO4FCurumK>O|A07*jFlSRUcxLAQVcIR*co#3@)&jj4Pj7KXRri%#h;fa z4ya5O*#Lk5Vq!q}T~=CGH(uV-hJk^fkAYoGjN#AMuMF($>N=giWG}IXse|=+c=i>7HEg>%*E%fLD!-uy|85n^6W?^Dt(9zXp5EB&z+w>_knBmdiKMbzi z?A!`WOl>e100a=&05*1xZdFls?*HtZ48H?o7=HW%ivIu45E2~BASWx!@DIpmv9e}h zaPwji|L}pqor@y`=yxrU0RRES^qYY}O;TRcU+DKIhL4`%3_nyf8U6tS<<-ZJ40D$( zWjJ%`G6NIPHNP2{7am*Fp% z{>ShK#0G`~kjd~57_BUUT_Y-nKxaI`{RC0WjSLJ&w^R(C-|JQTojLXc1&{d*_z{$ jW+oTMdQ(F|jDg|L>K${_)^zO#I)%a0)z4*}Q$iB}_fAN- literal 0 HcmV?d00001 diff --git a/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/themes/default/images/blank.gif b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/themes/default/images/blank.gif new file mode 100644 index 0000000000000000000000000000000000000000..1d11fa9ada9e93505b3d736acb204083f45d5fbf GIT binary patch literal 43 scmZ?wbhEHbWMp7uX!y@?;J^U}1_s5SEQ~;kK?g*DWEhy3To@Uw0n;G|I{*Lx literal 0 HcmV?d00001 diff --git a/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/themes/default/images/calendar_arrows.png b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/themes/default/images/calendar_arrows.png new file mode 100644 index 0000000000000000000000000000000000000000..430c4ad685b8c0068ecb7e3cbef74f493a84ad0d GIT binary patch literal 173 zcmeAS@N?(olHy`uVBq!ia0vp^4nQox!3HFkJ+IURQYD@)jv*Dd-cCEn)nLHm{QbZE z+q@uWwandfr?Jb4eDYYmB3UAt=OO2Vt+MMT&+KD%&6hZDt!FBpej;sEpMN69^tKl% zp6y<4_lG^P z=;=eQ4Vs74-2)Ua&f1tcVdk$#{GPKe@&?ZMHmT&SMw?IV&w7)}ixLbB3d$Zg{&KGb P8OPx1>gTe~DWM4f WNYm=W^A8UI00005OC%H;f`~O(q$Q#t2<^v$A>fbmv%e#dKTwK=Ku{5lS|}<-`a#7b zzTCOnnT>at)D}AMFuOZ5&%EqFN(lyumd$2ASF6=;nM~%2?gqc@U=#|4PqkX@EBo-9 z7pD#bO_RUa>*faM`8;MYfVi$JnB-zcBFc6gjl$d!bF98Q!!!(Z1_R~P?e!pt#6CHJ9S&n_n&@=9 z%GP;!@Co4c*at+6vNz7o(6en^Q1%qHrc;1)9IRaz-$@S$Z-qdC^ds3X0NvQH;KS)D z-dh&rW&@X;1cS(45z)J&BVt+tv&GMVJ%!EiW) zLBGZW)#Z+gl-Lih&?>X3SS-S#ujQ;9JRXmIB7X)8`d6ETj)D#Q2+$s|<_b7-B9Xvq zwNfqlEp%y3$uY`h{Y$(Gn5@}sqEsq95lpAkFO5dyBmP6^H-51G4J|rN2Ujt<`2YX_ M07*qoM6N<$fRl}UZ@-Co%Cq`k{wEj}Dr>ShP9AQ|IKKA30{ejJboVoF`C-z@6mZMY&%Wiz%6S}#zb4u?o?9Mi=ECopVxzz+sNviAA!DK)mm8xe zgY9ZT9jlddc^&y2^u9XqDeU4{8s^AS#8C7TXsxEJW@uLu(3Whc35-X6v}jEgEb{G` z!{)$uKzw<~%0A6PhNHYfSuTvOzD8LpPF>PVr=&QqGC936QlPgc6j2;SWMDuL>F^vlqEUI{oOgO!xNf*11TukM z6kTZ3V2qd3<~<$H&Lrt?SpXUxF5Zb^}(={r!EHE+$QMdH|XZ zSYbMyc0tQc3qbP$tG{U_Jyg>I(0srOscEGU?-T)4AzuS$_2J>6`+BJ50YDY<^>2vV z+uI880P2ui(hyHiPrK$)CkbHg=kD&V3^8pD z0v3QOB&8eT@87?rgaGPrb#+ySxU;jP=nkL`nZ_{0e*BD+1Tc5b&d$oLo}8R$90gF1 z^ij>~#>R%HIRNUB_kgpQ+Lg!80Gbb2saY8>1EBeUm7A3TegK*dSciv)Wqp0!h-3im z1+1f^qq4iZ+ZEMUS63~e0I+zh`2rwd0l@!F(!7sM%_`|&0+*B!z{1(u+A9BIU&~T- z2he=L>dmc7TLXZFkeTeCHMcE|qX51{z>0ZC=xGjss*FaXGOMX+dHf8Z8hL6ntGQ_z zF9V<&dwY9jh`D7czyqj4g3S=~)zFA!0980RI4DC*Ez1%L09D8%=OHF&S@Q*;3bRfe zeL2-ZzyeT(Av4`$>R3`j096>WH7BOELD3yR70%Dk%Mk4)1W=73OH{L_UgIc$YFu7k zmRaq`&NxK?Rk*skDzlhL4IV!OsLJ*Ab@{BRT^TO}pgQC6xO~R6G8o_oU?C)>`xlc2 zriH~zU-;g$PyPA_&X!OBSU6SIeB~eKNAhF&(fs&F|1n9<+Yj^2T+4Dj%UFjr zZ%rnX^7Qmn0ANwP308gILtaQfK0Z1j0Br`Wq<=~Ka+?BxW&>7kRtZ+q>C~wJXg6S` zW|cJ1%?d#C0V@Ue)T{uY>425ig?tTsczEc(0+M8_c7^t|!sm-1Nw(}#nnLr?FgGlc zY}ut0+w(d)Uk6FDWtY;*aCdjteIX>tmhA#o+8PqHNU~+SlrTfyKRaNHBx~Ch-FJ3& z%B(Y&NwStp{rH$6Yj{YqhR=Gk~Mtw_&K$#yeTBf z7JV~bCN(VwL$c|B^>Topn-X{+7;S!yV~2^ zBgv-iMkME}U;-COwrsbABDvwg!2wA&ZMWttf5^jTl5E*7V41=|@=Hu>NJ^O8(7b4p z&ChgC(LF5>Md#{+4LgS{%KA|H(Xv`l4P^KdiBKB*_;1&m|Q7!{|O$ k%vVK{T!hwqk^D0L0mO==@4IV9lK=n!07*qoM6N<$f|Ge;n*aa+ literal 0 HcmV?d00001 diff --git a/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/themes/default/images/loading.gif b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/themes/default/images/loading.gif new file mode 100644 index 0000000000000000000000000000000000000000..68f01d04813c1f622810864a3aaa04b4a17ac8f9 GIT binary patch literal 1737 zcmaKsX;2e)7>CzDa{xjjy99|1A!tC(kfocDi)<1$AxHpOQ4k^l!Vx1W6x7<&|FYXU zqO4jEiU-!VR1p+Xj1?4-iuI_J;!&?!+ghg|JJad3U)pMGzcKxNeCM6tJnuX+uPvX@ zZY|=AHdxt2Xr2y*)5|c6#FSEuyJ+Y3Z&l z2hJWo`9;lJ$6wzSoW60tqkB|d$oiO*d-^85^ojn{*NR{MP*%{@H*#gihZ8BKyB68E z-MIbjgNNV0y5khpJ^Jv`51aR%={<4jhaVq5e*9D5+*hL)XCHn4{^d%hPu@?KpKbc=eN!D=XUjDmH#n{YHNS zHCX6BV)yn2CuTNujhN~V+`RKpyXO6^ht92eqhIIlQLfz6eeCnH_C7`NPNrw9ks366 z4xX9(`s~z=+1uX^ocZ$2_fBs=JihPfWYufOIuD&AU-@`>>qn~cy$1)T7CU!5z2(U8 z)9Kt9)l`f6?NU41j6XbXfR{OHwm|T4}&24tIf+!C-g~6cQfY2^n$?AT&ZW zgqm`}3-jS2NS6n=k;sr5Hv(Q%%n)qW0X|neWVBd;Ko}d(=u%?{O0-a>kSI}shOd9n z5top}%gUCf=>?tg;*;#7!^HOL3k$fMxd=O-6Y4@%u8LS)C1D_a?27R6^vcC+6tttL z)GmTahbyJB!xmcHL#ya8ZXyfRl)a!N0BJE0y3BBfAV5;#=K&Z2VkaKZ)?9`1h5P_% znt*b}%j1|#j`b|aQDx@~wA#$PYRN2xE6UO;;vE(@$&xww-s8fZ5HmJ(eJ*rQrDbaawDbrfe_8F(wq{ge?)qQG`aXV;r(*6EM|ESje;52aFmrX!f=Pw^2oGQX$1|o4yts|b_5@w_kNwtl{wDP#JGMvIp#!SYX?Wq9S&`&_ZwkgGH5CLB7DEGJ6=R4J~p3Z4i^A}hs=-uZeD zs92l6u@**R$~L()G{5N8*7cE5-q$SCo`q4|NSVF*+A7&xZnypm$EdXgf)E%(VJHFD zSgi(H!D!(;9Zcc#GrCCJh=RlvXBQ-hv4Vodse`a32ZUFWgP5ZhM5LeV(#D^H8p@Lg ztra5R32z@1rQv{6u&RZL5%Z@Ye{q|t#6aM_1hIrpl@)oH6}os*cbAQywa{5<`ekzW O1il%9bk82&KlvLjD^%40 literal 0 HcmV?d00001 diff --git a/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/themes/default/images/menu_arrows.png b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/themes/default/images/menu_arrows.png new file mode 100644 index 0000000000000000000000000000000000000000..b986842e7e4044caed18edbcb4b376a4bb915623 GIT binary patch literal 160 zcmeAS@N?(olHy`uVBq!ia0vp^4nQox!3HFkJ+IURQt6&9jv*Dd-cB{-J7B=U{PTZ! zWrKV9%Z3|Wt5t$(gq+#d+-OocB$0fsr9DfRx52vPhSu$$+yXuy+69hDZ54DDTxx#r zL7>-12UT01v)>tZ+;HI4pDNf?@KK~EC$@35ykmXyu^HJF3})N>8P9Uwo&~g$!PC{x JWt~$(697!FIeGv9 literal 0 HcmV?d00001 diff --git a/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/themes/default/images/messager_icons.png b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/themes/default/images/messager_icons.png new file mode 100644 index 0000000000000000000000000000000000000000..62c18c135860351063ebaabe8c0f4df7664b8f65 GIT binary patch literal 6116 zcmV4ipNH~GQlZq-E3cpkxw(Z%$u2@caXAbn6(}n&uLHV9 zeNxi1kd>9kQ0nnzI23^L1q<=Vn6aoDF%s3ohok!Aj~SQ$`x!2NI~x~v?M6;^e!bq; z(yQQH2Fglz{=N4)aWWYxXLE7&Y9;>o<2T&6UWHrL)n-B0%fq!al> zED?O^kKb{*@(M0j-NawFs_P!l&x5Wsy=;C-LD_2Cr$+B z%mHj|RV-S>@98`V;?`TeQT5tuFpQgkwCK3MjU2=Ia8%!VQb0jfRbQMvlUu*{%FZul z*Gp2(5g!~LhrI`mu{iYSiF~~fJP$_Teq5hp&=D_4mPFqP)bF>;RV)Phj>y;)76J+C zUjBw+Pw%?KuU!kcxdHC(DyU88NC?xX1EWWCB9IU&+qOmg-0x8T&d*0>rGgt(3JZV` z7xx@CtUvnT_d1tvz-bZnB^NHR<4wtx=sSGAxY^r`hVB1rRv?$E{$x-)Fe)8~L+|Ve z8TE$qMNB?9`ff-!hq5cTSOiouf@3of6c&HiX+Tkb>(y78OeU5Hc51fL8ag5}E(J=lGyh8qk97Jwwr6mcmOH~pcs z{ZYUk%0meJKHGY(VY!oZsN-8;rXppImH-+?cddEOU*=taVXX;1q%Fey7;& z=F;GN`DHE%p{KIp=N}~EGW)jwq>8E2jpVcQiF_iN1Rx<@uay8vKKIuIK*@ogJy`^a z0>?s*qkihX!oW2vA%Lks^tHgk(n>$?n(v1DeuGaLGNswE5g^zn9vsnZ=+2`u~kwiWv5INS=`Im31M-s&s z-}^v$ei>dK=80EE?t#*7E|jOg#1pUDVA6I6BVh~Q_RMc9eR2NFSf$s`mND7aK61aPaJ z5P-G7v&M2TV894Wn6&-g?~!z-5ZO6-T=(_lOX3N1UJ|=9Y~k#Sf1$^4XDFTK zKavmknc%QWrF1UzurWAT;hF;pwys%aN|lN9t4v6QQaBU zS5*NV4|)cVJ@Gx_V$*R?b)RBAH}{+|t|g(ej#Hb+(>q)CF-N}Pat&l35&+?3W;twr zaKY)M49MuG5j)2}x&NjK`7{6&Mkn^+G(et*~p*dI{2}J5cUA{+ySJtu!-Wub{*IoTnIRRJzA_boPa3iM!eI`%biy*%z zx!^MPg{Ncd{xJCZ_!&z=CKKf)NQp?k53cKm9b;KhYfSyFBhm0Qvd(knXR(q!+^N2}jUepB8y!+?z(Z6v8xHFLZcgCSDn^0@g!T;>n&iP+APZ zPg_IP0iQ-bk(_<8+6X#NpHD8n#UeOxG7n$Ou;+CGa->lJCZwBU>Z%ZQ9_EYQGvYCS zb3D7-!6U9l03sP)8tlqM6Y=DFf)qhg@t-&tl?mTt$=K|&4KdO2ssOrnV*yYC$k^T? z>i(g#XHhMLPB>9ez#`BSFWW@^tj|7U@@0R|j0_x~JsVZco1;Jof!u#eAW|g7Ga*Nk(3#}L2*uv`@K9{&}TI~0z=_*swgh0B6#=RPcd`WU8ca1@C3C4Xf;|N;j%3S zuzE)f8og=@<*`NT44|U}l%_WL!TAIWz?67GYMBayCIBh{At^<8qrVLg2m_;1xCBs* z){`$ITn{2MIK2{)IaS=I{$m#H<>-I-%`Gf~&ld+7`w~)1YeYcpu=G+EfYbK9@E3Le zTv!x4lLerQ?ToL!LU>*tt_XigQt3UV0uf%Sk)I;kKa3fR-NN;HJRTih$V#{EP(p{dec9If%ipss2u&;)R3Pe-(DwG64LS-2|!M8&5gtGKdG z{gyGVujhn+eCPz_g^fHDpy}YkEwQx(AW7GQu95qRd_o87(XiX-iGZ*KL?mXi08ELe z*eBxT(Nqu=^=<*Y}O2!g82BRO<4eh z4dT0J%&@tuWn*%GQCjWVuR8xJST%TG9RH1>Z@;3g42pr_MO7&8z4IC7&G)-I0ffe6 zFgYXueeI?r5lZcxOE8LH(AT@vbpV|JC?WLZliTG{w&TuMBQWti3!qKcPw}JuPF|p) zGC%_~B2^MDT`SwBpld7KQ=t4~DXhnbV|~Ci#GkKA{HYQ!s7=@P0$93iCA*Z|$tfTP zag`E}Kdw5we}ANwm)8Vsp5b0`HCAVpaguNB+Z!blGMC$|yo_vH%ED0F(ff4kK{&9sYfS;V*G5?3fNcv|lj%5-7MRnPePcq242Ccp) zzWsI`5l~zI-WdC077_o@Lo5IyULrya6p8%9k30f@an1UL7ep=hzAZUr=a#7M&l2Qb z{XgT#|MS7k#OJ!A!y^MZ1w7V0X`B(z0@0sEY6^7gJ|0V#@4vkOypP22QZ232S*qU> zJfO2609oVdA5Bh=)Bf@Lc4Ss14ksAkbFvUtua0B^?D;j0#{qF!6}KhZ6f_o~nm>MZ zjIq8;!Yv^p=Q;~uTRd}h;G-O1walZw-WIZGUf>h@4d$&FeO|sh`a#>c#$t_U@kQ72=fM+rE-HrH<^^{E3Y-o_=W-Rc@o5r~Wy${K)P5kXZi9z=#_kZW$g~^krVUL#&j)}paQ3OPoF1GdL6N!Fyb||}c z&1?e1I5}}2OQ6`_C&+hi)QD4n1h9U+qeWs$Qd+S9IR1&yvc`ZG?L_p8tvh4d=palS z+Cz0ekzb^xfDpmWJXI9VYhJ_iudKAZWlVE%uM-(8g2S=-OroB6>1Y|_G!8H)06H(p z4lPvM!MV4%O~<{l7x+FK52vA1pBd=+?@2rjq#3{_?@%rU6wg$r^~CE*m+mHP*q@E* zcE@=jNJ7w)eY^k+Ixmkt@#Xj>_zc$WOTg%Fe#G3l^LR-(%(@3VlU!*Ofq-5Bbd6R6 zX+g+R3CO;31-or+xvyFB1?e7|0Je+wZNxakk^o9`*QxHOXfIOTPi|&{wG{aDKOMwp z7s1EzX*B@~G!!>hr-ULku4k*~I=?sx>((8#oB|s>!{B)|oDUr{7NZtLSwUnB8EwkcHd&tjurEao~N!N-G#!FiJlKPM0)W&yG; zOY&shmgIjob}W3NqAZfHpCWD&(?a<@K^jN^6#Yaz!A`VWw{DHin}0S-N=51us{7N) z#Vu6#OM;730jyovUVL^s68)N}2~eaH0qqnD+{kFaf{`hZlXK3z2xuvI#jfLU^$W*t z;Y4yPjo8fz;K=k)@hqa^?5BdKsYcnWjePT=v*!_c+w zM7V6*Z`>86hc=eE9p)sEA~1Ee-rfKF)Rou&d0(K@96V~h7~ZF@))GKK)-48+zcpCY zeeWnN+!2ocBgb+4A3qkx;!9q(oTp_Z0)LHgS<9*Y&8Sgk7kOxAaAxRG;}}4mr*(t% zHa5oZqSz<$cM7;_BCrwY(4hmiZmqj>SIhkcP1N|$Ra9sMQyDnv+YApYA8|jf{{>1- zKS}}GB%;sfszQ3@)$!Q4@mI?!Ku_-2`$WQdUj*C^#dEzpdiJVO0I8MW(LSyGDKEOA z&EQaU`6_`y?S|dgW7(c8WAyJ$xe52kB943_fBr8gIr^#g+bnRZ^|%;q2>Av?un0DK zg>apw`%~T4$GD94e$&;}zbD?=iM9iMc{;c^xvCcN`%-RTceHS1z*#1L(bfb+(2} zbL^OWc7J{|HU5drObz-Z5TqX8(XuA`b9H?(we&z2!0;%l)7A4Yb(sif=Rn+cYuM4% z4-;1T8q;8-Ujj!s)o&>V5&)$G5idc+Zx2%)Z@)L5vBEnJqn7SP^A|_3^G8lt4sX9u zvk!!DDH6o|yu%yc*n4pr5P4L$X~&OZd{?-EBc0q%AhM+}s03^eFNU)a-dew8qw6Qz z@58{)zh>vtw2wA`OrH<*7ozaj>hn&`wcg#j;Y310EmFz(rsT`feL%l{yh5lK%l;lc zn0Ru&opv0d)&C_+meu(mltnkjg(wBrk{SXPt(ZI``FastRE#Tr?EVs^wooK4TdAvq zDXK`eujzv4Ut4|q6d-c8dj#-q-30qXJT@RP5a?kGB9+KpdnlC&r>OTlRmqMgvCuW@ z_l4b2c73x>L(r+`XiWQVJq`wh^Mfb1Tl}CTpr>|bE_Z>Ay$_SP@)s5Ky(_&FcqC8J zPK1*Pyb`aly@6HRwO|Gko#Ycx>CYg9m-44}!>-?{l450IpiSCir&g zViW*5pU&;mL6R?H{z(7+M)E0D9CYLpYz3MLyxqGG_WRWym6v4NpvFxyM*p#^(dUa*7_-Ek%Yy_9Ly)~SvVvi^KaHdQo$>4N(nkyNu+{s#;WK#jLf-TV zi%7WZ-7l)oG)SY(nsGC2@zs1M7Q+IUKrRtSmXY+88u8SALv#PU z@4m0|P)J2w2Na)Ba4A+0XJ{@Q-NZ;_4WX(4I$O!@U@P7YT<~Qlbtf>rE>J3xaA?r-5JSGa1$c=VI0df1?0)#a+cRk3?AY zn!t6QM)}mAR{8>iqWFQ6`*}i{NFyQqvSSx-+}O;s#iW@FF>S#b76Q55ImEyMpkx?1 zWdT0^Xb_L`iTJ=@gSg(`?bETfe{*yH^5n573{(X`L=kCb-K-_Rptqjk?cmmp zC*as2AaL6dbugG|Aq7}ajd3+b?epp2!RYD2cl;uT#2|n6MfIHK^(%dnu=zwO=Il&n0gyoMhj{%xei|~AN!PpC&O{K7 zy7zWwh_}@+L?gfJYhB^6b{#U$=G6Jyile$9@34ZRAl0E)qcy~6(AqcRq^lMDIIR=D zA2$mAE`9hMT{G>k2Yv7FC)Cfco!1jho|uK;poIJ9Y0usuCY%O)I}v!ttqJjTZnpSr zcP;kG`Sx}WIFn&M5la)NB7L8NtOE)QA@7i7oYRCtg#RU`i>tE-?`>+7wJsRTF zZl&Il;iHPdcE;;y)^ZNocbs-_;{c04C`rl?gR)KNJ$@4>0tvvZHh0orCbulT#ax#_r5?!&GEF%OHcePw_U-5*t@-#r`Hkm z{@2&A?lzXUaqA1#-N&L=k1u%&_;{XKtbAL0?o7LV}O;_fHn3fykv;@7Aq5*LFJ6dpbX5@>H(%M~{XeC+FV(!O_tf q*!=TRhMQYZy@Oouu{+c_4g7y7m@TUq;8eW;0000zI<5nO~0)=fnxErNrCA`WgM*1^R=&_zX)CMr1T;-rJKi{RhT zwTRWWFSbznW6?ZwYBk2xccxEVa`0%4(Yva@;pbF0^9S2uAKfle(?qtbyxJ(2%kiF>CHXa` zwdcneqDH8s8`O=^Z;G*FoH3bGkRlewXgRMPCtCR>olp$6SSk2LaLtdk735GTeS6JrtWdjq}ZZs34}bF$p9qsdLBnIC+J1{xF!;M>5@n5YI? z&4z;cHjvE$_V&)MtT*$6579tEVTAaOu<<1(%cR!^622ph;K0g-9AQF(O3vhYiNJ*b z7Xuat7f#qV!aOb!Q6;pKF~UjxbnQ*DOwWIpHq-OqgFQe0fa`fz9oUMD0Z9VV1d9Q= z5#TIiB5HxD12dV7Jd)hJ_=qt$xd^NA4nEk!Bp@qUu0k4c(cRlRc0Y)25Z^q7^m|=T zEPSa{>fbuK*p?QKGWOF9-+|Bne}*tPWtM~)t<`EXu;7__@_h5{U+e{v=r+F-NMp}oB#0F&Ath1Z0fB%h<+sXzP;6TCwIF) z=XWKASa=$lA2eqle32Vdi_T3x4Qu>yxA*?om5;I#SWP5^#D2B6W$V>}P2w$`U+8H@ z0Ci?&Wu5GGc(Ia9{_CO5k{E>dTE6S>md@Y8z9L=77KeNpc;t7B)#8uV-B0>e^*5VwvF24Q#~Lh^WJDN!=N)I%V_ z3gc!>Fya-lLcclypp#1paq!SzI)AUI+cGqr6pX%dy3^@MQaM7bubeKKUmk$ssBS+{ z+D{bs1Nc(Z?FVcB@Meu!ev3HfXH1NcL_ z+>=<>Hi(2XX;)F{S;fEtv9G)w*hwlY~kM zCZMZPpFad1^A}a4J^;=P&LDat|`y57>Sp=A%yET$ajG`}@`p^xNM^J>GAB eBlUQ{{Qm&YJg{HE_Fe7(0000lXvaa)1B=8vtU6i;3jw7+Lm8D5$Z@i10EnF)=bcefw4K z$^E-CUfjQG`svfBbfD6|R#sLFj6lo3FG$G6@;ee>>~6i|H^5OY8c00W#fi<*1vzh{0&qu3dB`V0{{XDY`}(1n>S9M(9!zw#!&`A z#;*+0{6GVMSeWGp!`o{o8NPge#o%jgs54WT$qnQYpsyGNpauX05F;oJfZ`Pdw6!$j zynTH0RMa&!n3$Pa9zVGEY{&L(3qnPBl_DG6<9Xk0`Fl3`LiD4@pH{vDsxJWQ1qdJp zEJ>M}osCtQlY?CgW>F{;gVK#SmgoOZnEn5J%EtIXaWQXAO>Rdf)WFR;gt~f zXaA3z{{L{q=l48y!32yJ3i0hJ2BS=^}@sXzH{F9Iq&OW375;I7CG-}Vr|aF#l<(fySwu2>`YdxRW*W0f#2un=W5Jmvoe`XCK%I_Y++#`fwE+= zSd{sEULGDE%A=#BOW<6gP*6VfMa^fr8qe`5w%)P0a^Y9WGTw! zvI^|$>l@1Da^Ke1*T3RdY7KqM%gaBb(P+oP!GW;b?ZRfW3Bxc1H@GCaHK#XhZ*Lc= zRBC@>V&W#x&B5%(#>OW5`};d6I5Qw218EG_q@1gtr!Nl*v7yn?(MPMRt4SNy%--JK zanm#f^bw^}Nr7b(EUg}TUi(2;)deX10lAo=83+VA(QksJI6(zwptET-y~avN=J9w$ zI2`W5lG|aOkjY7(&!@;Jx*nUA>~J`Q)9L&(G8y=g$3a4YgD7z)5>gXQNKhw=uR0zF z#jHruh)gDv=bj|2ZES4(fEM?I!JyKqo=}sj-fBYTcDt4KXq)eFQH}wW`vh%Mla}#@ z@Mb`C)x@YkK{xd2>8ZLg+E!Lps$Q@6DY-~!0=Gs+Mm~_JnW1EbX2uxClEdN>Y@I78 z=ke_9?7sX@o0*x}M{JB77MIXj_MmNE%+1Xe{*{crh)9={dR(U;y-{jrxUXmG%Gt002ovPDHLkV1hy(sXhPz literal 0 HcmV?d00001 diff --git a/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/themes/default/images/spinner_arrows.png b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/themes/default/images/spinner_arrows.png new file mode 100644 index 0000000000000000000000000000000000000000..b68592de3200fbe1f7defe98a2b59b0398b1b737 GIT binary patch literal 115 zcmeAS@N?(olHy`uVBq!ia0vp^3P3Et!3HGD8EPYel$EE8V@SoV_tDnm{r-UW|t3f!- literal 0 HcmV?d00001 diff --git a/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/themes/default/images/tree_icons.png b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/themes/default/images/tree_icons.png new file mode 100644 index 0000000000000000000000000000000000000000..e9be4f3a9965e49a4e4078f8c53f486d761a7468 GIT binary patch literal 3115 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 literal 0 HcmV?d00001 diff --git a/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/themes/default/images/validatebox_warning.png b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/themes/default/images/validatebox_warning.png new file mode 100644 index 0000000000000000000000000000000000000000..2b3d4f05babf3f82b146350e96570fac02075de0 GIT binary patch literal 921 zcmV;K17`e*P)nRv1_mBsMY*-M^XCf)eflW5 z|MC^)Hw+AW{sHCCF+cz@{fF8J!+#-kxoSv=7^|!zgOQUngSQ}mDo|J)n+pH}hzZ#= zr~y18$_m-?9v%$;?mu8);}>9vFgFvDXJDwrW&l6{p}625M66yTFhGz^K$w9^O$BHi zFN2Ym7DIple*#cW4BY^L0Al(Jbv6k9U|^6IQBp{hx3XdQ&CJ4Z_|YSVr@XujY(PVT zlok1<85nBO4FCurumK>O|A07*jFlSRUcxLAQVcIR*co#3@)&jj4Pj7KXRri%#h;fa z4ya5O*#Lk5Vq!q}T~=CGH(uV-hJk^fkAYoGjN#AMuMF($>N=giWG}IXse|=+c=i>7HEg>%*E%fLD!-uy|85n^6W?^Dt(9zXp5EB&z+w>_knBmdiKMbzi z?A!`WOl>e100a=&05*1xZdFls?*HtZ48H?o7=HW%ivIu45E2~BASWx!@DIpmv9e}h zaPwji|L}pqor@y`=yxrU0RRES^qYY}O;TRcU+DKIhL4`%3_nyf8U6tS<<-ZJ40D$( zWjJ%`G6NIPHNP2{7am*Fp% z{>ShK#0G`~kjd~57_BUHq8x z8Mn?6aTf^k-V*tOYvn_ZO}fk5lvg|}E|PI9vs&aPwII@?XO4*juRBlIrj#un@>dub Yl7)&6CQe}74m6L!)78&qol`;+0Id=veEh?7!oT zn93bYIb9!43Wj)WNz0M)xYl!8U>3_OjRiss3@1w0OwrH79T#p(gyX!(OO%qL5+0mDFDfJ;B_@in}@(}4BiPLQ2?X$D?b^JVD5OIknH tgv}h^JNN(XBRKqD;7RpfJ(WszOFJ3?rQM;ds#yR4002ovPDHLkV1n1EUx5Gs literal 0 HcmV?d00001 diff --git a/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/themes/gray/images/datebox_arrow.png b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/themes/gray/images/datebox_arrow.png new file mode 100644 index 0000000000000000000000000000000000000000..783c83357fdf90a1c7c024358e1d768b5c09c135 GIT binary patch literal 626 zcmV-&0*(ENP)5OC%H;f`~O(q$Q#t2<^v$A>fbmv%e#dKTwK=Ku{5lS|}<-`a#7b zzTCOnnT>at)D}AMFuOZ5&%EqFN(lyumd$2ASF6=;nM~%2?gqc@U=#|4PqkX@EBo-9 z7pD#bO_RUa>*faM`8;MYfVi$JnB-zcBFc6gjl$d!bF98Q!!!(Z1_R~P?e!pt#6CHJ9S&n_n&@=9 z%GP;!@Co4c*at+6vNz7o(6en^Q1%qHrc;1)9IRaz-$@S$Z-qdC^ds3X0NvQH;KS)D z-dh&rW&@X;1cS(45z)J&BVt+tv&GMVJ%!EiW) zLBGZW)#Z+gl-Lih&?>X3SS-S#ujQ;9JRXmIB7X)8`d6ETj)D#Q2+$s|<_b7-B9Xvq zwNfqlEp%y3$uY`h{Y$(Gn5@}sqEsq95lpAkFO5dyBmP6^H-51G4J|rN2Ujt<`2YX_ M07*qoM6N<$fWs*_M~|PZK4f_B}P-f8$r|z#h zE+)9D_?OzcE{A)9cRCb`94D|RR5VOsbIEjx-=1{JpsQ;^Px3ZX?(@vc^nEOU2KU{_ gJ$cDa*@;a`BkgHpqSBTGpgR~mUHx3vIVCg!07Oqo9{>OV literal 0 HcmV?d00001 diff --git a/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/themes/gray/images/linkbutton_bg.png b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/themes/gray/images/linkbutton_bg.png new file mode 100644 index 0000000000000000000000000000000000000000..fc66bd2cd24047b8377342365a1df3846327ecde GIT binary patch literal 1274 zcmVc6j2;SWMDuL>F^vlqEUI{oOgO!xNf*11TukM z6kTZ3V2qd3<~<$H&Lrt?SpXUxF5Zb^}(={r!EHE+$QMdH|XZ zSYbMyc0tQc3qbP$tG{U_Jyg>I(0srOscEGU?-T)4AzuS$_2J>6`+BJ50YDY<^>2vV z+uI880P2ui(hyHiPrK$)CkbHg=kD&V3^8pD z0v3QOB&8eT@87?rgaGPrb#+ySxU;jP=nkL`nZ_{0e*BD+1Tc5b&d$oLo}8R$90gF1 z^ij>~#>R%HIRNUB_kgpQ+Lg!80Gbb2saY8>1EBeUm7A3TegK*dSciv)Wqp0!h-3im z1+1f^qq4iZ+ZEMUS63~e0I+zh`2rwd0l@!F(!7sM%_`|&0+*B!z{1(u+A9BIU&~T- z2he=L>dmc7TLXZFkeTeCHMcE|qX51{z>0ZC=xGjss*FaXGOMX+dHf8Z8hL6ntGQ_z zF9V<&dwY9jh`D7czyqj4g3S=~)zFA!0980RI4DC*Ez1%L09D8%=OHF&S@Q*;3bRfe zeL2-ZzyeT(Av4`$>R3`j096>WH7BOELD3yR70%Dk%Mk4)1W=73OH{L_UgIc$YFu7k zmRaq`&NxK?Rk*skDzlhL4IV!OsLJ*Ab@{BRT^TO}pgQC6xO~R6G8o_oU?C)>`xlc2 zriH~zU-;g$PyPA_&X!OBSU6SIeB~eKNAhF&(fs&F|1n9<+Yj^2T+4Dj%UFjr zZ%rnX^7Qmn0ANwP308gILtaQfK0Z1j0Br`Wq<=~Ka+?BxW&>7kRtZ+q>C~wJXg6S` zW|cJ1%?d#C0V@Ue)T{uY>425ig?tTsczEc(0+M8_c7^t|!sm-1Nw(}#nnLr?FgGlc zY}ut0+w(d)Uk6FDWtY;*aCdjteIX>tmhA#o+8PqHNU~+SlrTfyKRaNHBx~Ch-FJ3& z%B(Y&NwStp{rH$6Yj{YqhR=Gk~Mtw_&K$#yeTBf z7JV~bCN(VwL$c|B^>Topn-X{+7;S!yV~2^ zBgv-iMkME}U;-COwrsbABDvwg!2wA&ZMWttf5^jTl5E*7V41=|@=Hu>NJ^O8(7b4p z&ChgC(LF5>Md#{+4LgS{%KA|H(Xv`l4P^KdiBKB*_;1&m|Q7!{|O$ k%vVK{T!hwqk^D0L0mO==@4IV9lK=n!07*qoM6N<$f|Ge;n*aa+ literal 0 HcmV?d00001 diff --git a/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/themes/gray/images/loading.gif b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/themes/gray/images/loading.gif new file mode 100644 index 0000000000000000000000000000000000000000..68f01d04813c1f622810864a3aaa04b4a17ac8f9 GIT binary patch literal 1737 zcmaKsX;2e)7>CzDa{xjjy99|1A!tC(kfocDi)<1$AxHpOQ4k^l!Vx1W6x7<&|FYXU zqO4jEiU-!VR1p+Xj1?4-iuI_J;!&?!+ghg|JJad3U)pMGzcKxNeCM6tJnuX+uPvX@ zZY|=AHdxt2Xr2y*)5|c6#FSEuyJ+Y3Z&l z2hJWo`9;lJ$6wzSoW60tqkB|d$oiO*d-^85^ojn{*NR{MP*%{@H*#gihZ8BKyB68E z-MIbjgNNV0y5khpJ^Jv`51aR%={<4jhaVq5e*9D5+*hL)XCHn4{^d%hPu@?KpKbc=eN!D=XUjDmH#n{YHNS zHCX6BV)yn2CuTNujhN~V+`RKpyXO6^ht92eqhIIlQLfz6eeCnH_C7`NPNrw9ks366 z4xX9(`s~z=+1uX^ocZ$2_fBs=JihPfWYufOIuD&AU-@`>>qn~cy$1)T7CU!5z2(U8 z)9Kt9)l`f6?NU41j6XbXfR{OHwm|T4}&24tIf+!C-g~6cQfY2^n$?AT&ZW zgqm`}3-jS2NS6n=k;sr5Hv(Q%%n)qW0X|neWVBd;Ko}d(=u%?{O0-a>kSI}shOd9n z5top}%gUCf=>?tg;*;#7!^HOL3k$fMxd=O-6Y4@%u8LS)C1D_a?27R6^vcC+6tttL z)GmTahbyJB!xmcHL#ya8ZXyfRl)a!N0BJE0y3BBfAV5;#=K&Z2VkaKZ)?9`1h5P_% znt*b}%j1|#j`b|aQDx@~wA#$PYRN2xE6UO;;vE(@$&xww-s8fZ5HmJ(eJ*rQrDbaawDbrfe_8F(wq{ge?)qQG`aXV;r(*6EM|ESje;52aFmrX!f=Pw^2oGQX$1|o4yts|b_5@w_kNwtl{wDP#JGMvIp#!SYX?Wq9S&`&_ZwkgGH5CLB7DEGJ6=R4J~p3Z4i^A}hs=-uZeD zs92l6u@**R$~L()G{5N8*7cE5-q$SCo`q4|NSVF*+A7&xZnypm$EdXgf)E%(VJHFD zSgi(H!D!(;9Zcc#GrCCJh=RlvXBQ-hv4Vodse`a32ZUFWgP5ZhM5LeV(#D^H8p@Lg ztra5R32z@1rQv{6u&RZL5%Z@Ye{q|t#6aM_1hIrpl@)oH6}os*cbAQywa{5<`ekzW O1il%9bk82&KlvLjD^%40 literal 0 HcmV?d00001 diff --git a/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/themes/gray/images/menu_arrows.png b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/themes/gray/images/menu_arrows.png new file mode 100644 index 0000000000000000000000000000000000000000..b986842e7e4044caed18edbcb4b376a4bb915623 GIT binary patch literal 160 zcmeAS@N?(olHy`uVBq!ia0vp^4nQox!3HFkJ+IURQt6&9jv*Dd-cB{-J7B=U{PTZ! zWrKV9%Z3|Wt5t$(gq+#d+-OocB$0fsr9DfRx52vPhSu$$+yXuy+69hDZ54DDTxx#r zL7>-12UT01v)>tZ+;HI4pDNf?@KK~EC$@35ykmXyu^HJF3})N>8P9Uwo&~g$!PC{x JWt~$(697!FIeGv9 literal 0 HcmV?d00001 diff --git a/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/themes/gray/images/messager_icons.png b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/themes/gray/images/messager_icons.png new file mode 100644 index 0000000000000000000000000000000000000000..62c18c135860351063ebaabe8c0f4df7664b8f65 GIT binary patch literal 6116 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 literal 0 HcmV?d00001 diff --git a/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/themes/gray/images/spinner_arrows.png b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/themes/gray/images/spinner_arrows.png new file mode 100644 index 0000000000000000000000000000000000000000..dba62bb723518b491c763eb623179afab0f9e1a0 GIT binary patch literal 141 zcmeAS@N?(olHy`uVBq!ia0vp^3P3Et!3HGD8EPYeREVdGV@SoV|gxNLixBH6G+?&imoXunS7gp2NL oacw*Y(&nwsF2UyID`n8m&$nZ<^krzppre_*0C6=+@buQ_y%c^L~IL^<_ t&+}8oM91jk1`W4%S64GGH^xE+hOnLmClB8dn+LRl!PC{xWt~$(69Df$H1z-g literal 0 HcmV?d00001 diff --git a/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/themes/gray/images/tree_icons.png b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/themes/gray/images/tree_icons.png new file mode 100644 index 0000000000000000000000000000000000000000..e9be4f3a9965e49a4e4078f8c53f486d761a7468 GIT binary patch literal 3115 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 literal 0 HcmV?d00001 diff --git a/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/themes/gray/images/validatebox_warning.png b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/themes/gray/images/validatebox_warning.png new file mode 100644 index 0000000000000000000000000000000000000000..2b3d4f05babf3f82b146350e96570fac02075de0 GIT binary patch literal 921 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 literal 0 HcmV?d00001 diff --git a/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/themes/icons/cut.png b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/themes/icons/cut.png new file mode 100644 index 0000000000000000000000000000000000000000..21fdb4dc3c8ee79a0ce59a981c336538bb334442 GIT binary patch literal 1024 zcmV+b1poVqP)KUssI7R0t_;S-$0W-{rMx#%*eo)+e?%RfoV-A` z?ccwj;n}liPhDMIlit34>!qu!Yo(>7CAn+YuBQM2#PSp96fq8t;>8MTUb14+5!+ zh1}fS`vC%oB~w|slAW3PZ_cGlj@4{z(`tBmEnEc!mA;smFnr?YXSj9d48xmOul_%M z{`}=lpp}mwKc2(K$G039!2g(mVFeICEJ7?SLUQ8b%?bbpD{3O`OVC%+UevppX=w(zf+GMz2w2fBr5aagUt~(wq2b6{=H%aCSg#% z;Q+?Mw_m@&E&&K2CXiWwfX;daOnK_U!VcEb(%ehWpTE%h^=r=l|Nr0dGcxisGXPUK z$TlG61Zw>H_%XwOp!#1x0|5dEoRGc&4FEao?Uyf)o&i%`p`f6d>(i&31V4QeYY`CW z`^e6IpfT9{;&=|5oFFCgx5C zCdU5^zkvGwFf#xI5F^9@Mj&PZ>i;XIDz1EIW7#HNO(``7Wbpj`D~6DkIEG`Fj~g>E zv7BT0%MMh}%m5HTKwUu1|AE&0`w6t2L0CglgBzr|=0G*WndfI1m|2+_WcXznrnpXK zFxRwXICk!k9K(Oca|}%X!CCZghWKjC@{mZ}K|9&$aet3l8(A`4} z3_y#NM3or6{{6!6{l|9(hVS2X7}(iA0KNK@fra@tKmf4-8BwZIYO@XHj5z=N`2F8h z!HkKOiG_iOjfa7mgPDPijg5hqofqgzMg|KtBZgP5QB79zkL@az9?F#YcPyZ^3>T>rDQvi#@l=KQZeU;qEDcej8t|Nj34Vi0)x=H-9m zRJUIM0mPyts?4V;rOD8+yMbZvjlB#koIpo0{bjiO@h$^58#ge#m>6Dvd(DusJA;9f zos;1k5E_WURn1feKaiAuu1|BaZK*xijMU?6_J&-MoG9!s-C zzdQA+U}|%2STXXENpkw6Jq=WB#30h**Zqx80G7xg2LKoZVN&=1FEccT3xQkve43;n zjZvX^?*P{BPNoA(9dqA2RbK$HFf%bTgA}R?sWRwG>M<~LvjC&_AH(x+&l!FKqZXu* zgNcJdK|q0lm5r6*+rMuN%KXYeyO>(c-8{PO?x|MdU-|N8&%^z#2WXiNJ7h~@6v zdzJqE0h7#>E!qD3`omx(tIv?@mCeAx!U6Ut*b6}K$qC3ZY&&|8VcW@F4D1|S3|H@7 z|9AS=o?ccaRt6&pBZl99|1dDI zGBU^m{m;e1#lXV}Oi-MhCxK>dW&i~p&}9Gt!~zOUV9)~%0Wtr6y!+zLuZM3QbN0IR zG5i5SP>3@F;m5C^8P4814U9_G7Yt0G+{*~gyZ`~j$dJs4lARg<{>{>s*6r4l)n@}` z=l}m08CV!u816i~$8h@Qg}#6P7^{HU`5(hCMsRip2rvLwO?vxoke4F>0000k-9#K@4yU?IRNuvAG{MT+4+!{7h^fL{8`$iM*d**|6= z4P^fVVJ0wUWME=o`p?At@cFZEuRncB1qdJpzI47ba}Uk?|Kr!s|G$3!`TyhRum9hF zK=JqAK>Q1Wzk%@Y|3AL{`Tz6B-~ZcB?f)+or2iBkfLOGob+i+#;~6f!yu|SE{X+(J z7B&V3CZLTV1o9vwBM<>GNC3$H3xvX)LJS_J4h&{mrV;=F#KOtK@sEj#iJ^O6H^aK~ z>lj$LSr{0AW-tI<&&a~az|73dz{Cu6HVXuQ`~Qu>M#h?9tM@hrPBzZJ00F2XV-x^j z7z9cv`TuhRA=;X)qu}73hnoGd)hHEGiI`W8Wd+4gnzL6}5;?d6hzTh;Al{IJA|HldbA>qGJ3W z(Akj0gy6FuMFMs&||L0%d|AW9UApQ!(pZ@&+|Lq@y|Mx!xy!-m`f6?aW|CJIi zgSZR;0Vo`U6o5e(2o6=NC;k67TPnoF(0CnomdWR}+}Y*TYj=gwum!e34a6bEszh3= z!9Qg_5-j;~e*pwG;QznB|Ns7DWME)o1UvLUBgD}l>Nil}H_*V}Ob~(JKmlGpK?W`k zuzm)B0AgW)14af$paG0PMQqGK9!Q=Us_72{I7~pU0)`4Wj6lu@0e}Dk8vxV?mSALJ zf(SB0Y-eDC7z8r(H&F8*sH6WgGBGeRL#zb|Ah-*dfU4M-L8kr%^O=DPIDxwV0X6*r zc?B39|Nnu!_Y-I?Cj%2yA3y*>0ujjj`kRsA*aK#UKmY##Z39LlQ0L#je}VLWhQA;$ z03i$WUxq(F{xf{~!^yw`jbDHO0vo{2@}J?wcLs(tS6LbUeES7<^Pj&!!+?SC_b(&` z`~X_;?h`WuhX6AJJ3lZ+SRe)f1Q6H&W}qLx0b`K!=QoB7%dZUL;!F%*zcDiW`~?XM z77j*++Yf#-Kmb7k5$NBaKxeYD{AG|5`NuGK?Oz55Qziy; zeKv;gK$mfHGBNIfE{W8Kmb9!05tU%&_vdFGjGd1eqWv00a=k1&oZ$Yy|!NK66*5ZHhV+bRpY|MBzx zeXpJ~@NlyNT?C9qXd+?)M%h=O&F_E~aC~8Ako(8TcyI5es|*dw3;+Sd2uqUW0)PMm Y07EoBQ)jr0B>(^b07*qoM6N<$g57L=!vFvP literal 0 HcmV?d00001 diff --git a/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/themes/icons/filter.png b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/themes/icons/filter.png new file mode 100644 index 0000000000000000000000000000000000000000..1fedf7ae66f9512c8991a91f606e33926210dfd1 GIT binary patch literal 305 zcmV-10nYx3P)i;JxOiC&m|MyN^@V~Zu%6~m0)Bj`zY(-tqe_OBM|76EZZDa3$M~@)# z4XCPX|L^4POMwARE&rW8d?@fjbNzpNXSe?h!y5nqPb`Zh>Gjmx00000NkvXXu0mjf D9Yd^C literal 0 HcmV?d00001 diff --git a/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/themes/icons/help.png b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/themes/icons/help.png new file mode 100644 index 0000000000000000000000000000000000000000..28a0f9e5e6a24fe2cc3d842d0708e70512dbf84b GIT binary patch literal 1187 zcmXX`YfMuI6h6Hzx2+Ut1EjYq1A-3cSfq4{Is$g`oXj!QjiG^7TiBdhXGlOZxm1@9 zS*DOla3bRT0cHN_rJ;^5DgN)q2ZN z|EAt&1z&5w`m%mvX&4t+@c4Ki)zj^n9Qtq}u-Kkgm|S+sG2Fc6RK?X36?YJhP0dA}?VOU?JP&>G6klO2uGz08Gy=gKR?}h(b{K&aenodIzi% z2f@MJp01+RY|(6BJziiDpcm1+C)f4BSg6zCdpJmKRiimi){G4(q} z1^PxxRYp%IvSXi?q6Z{WU1=c||G9fvjNOV8M5eGC9+9=$-Km*DQ5AV*WII_(dnpARZKp%77uh;KZ$z~72R!)*N`!~x=0M8DAMel@xO((;7NkGYln^j z>m@53+D`)q@q?T2z|AfKr0Wq7@&V%3vEWE%IJj2*@I~|AQ1|l-SXw1vg>V7oa|8I- z0PP3HCDVWP3>La6dZtL>>2W$NTXeTeE3}I*#OEs`#HLvXE;&}!k}!JOU8}8G*^*;= zPjSv0_%M5yo+6j0Lw14m9`2dn-mf1NjIPg)Vw7)%a0o9zj^>|q#+Vv13MJSTT;}7h z4Zfq*P7G=k-K=j!InVUNj9wh!)4I~ern6^GUXtfu4!SZ`QB}@5t|WV`n%8=*ErSn) zGjYM$*~Vxc9q@=I`#Q~!`<=w&Se+$ud=Pk1O*Brwau1*M?WFKRth>8iTZJdIQgn~v zCzI($b7!BT>3&ZqyhH4&mz1-ow|8KFVjY;l(ti5lghhYge-hacl;-uimIqemZ0Qjj zBEs2%Kv-FHfq7&Jo><&)%Bjgdi{^SdvbB+` z{s9&)87BY$ literal 0 HcmV?d00001 diff --git a/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/themes/icons/large_chart.png b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/themes/icons/large_chart.png new file mode 100644 index 0000000000000000000000000000000000000000..527608ee94683724de57fac1ed7593714ac41be4 GIT binary patch literal 1669 zcmV;027394P)OoL=dNpfT{jDe$P=9Ivhqz^iKm@S3IrUXvM(0iptmQ@N;^Xr`2l z>4!e;MtyMJ3@@+P z*cta0P;qWNgQ5t%kIIj;1wLh)>WhuhRMihnmHnENfO~VPJZBe!rXUHBxK2!dnjp`y z(`>y!X!;Ed4J}m4t$ZUqDz_on(tKFP<=Z=Rs60EC!Cg-WdZizNtwDlZX0M^Vz;da) zRk?SP0@rg5(0I-o4d?oDoM&fiyuRg4U;@stq2@8HW2l!$}hO{43f| zkRR=*CN3~#OC`C|Iv#~EN98>g3S3CjgZzXU!JJQyrc1M^d~XB;xx@+$vxiXb(Hu;2 zFkVG15abzF9mEABn@ce}UQW15nZ?ctSFs`YA(b2XNb$S02Wm1+P?Kd!R)b`wDdkb6 zCzU6LGN^U6z@3>6xI=D6HtT0{`DdiBAW!S7q=4(sCGh;Unj`KKp_&pQYoKyNuN0h3 z>4uAkjZtyfh~o%1H-B;Tyx`6PO>T7N03V` zRm26HLyu!xbTQ#9Pcfzv)@CTEytl`8oQ&&CR-qS4QuImc^K&oUE}l;1F@X$9N9*IV zt0kqDPnO3&c?t4VOC>Ad6r2G`;c zZL$jAAUCcD$!6rIrcrt1d7v}p0A*tdPKG=NXjthX$oHBn*@BUalQ2H`5S$6` z=j!BAD(~+66VldeLAJFU$F}YQwYk%%Jlu!D>47@<&9NuWwLl;BLGFS)*|eRw!0-ie za0*Js*mo@Da%Dm>mFtdK4rzo2jz;S?v#Be|uBeu|QF-WW1}FM!qG)(`6n)FmjZ1QT zD{!hH-)-`>xWHha&2U__1EVQB;porJD|X~jx$a1R>xdQ@kmMRh^?hR)nfvf`+O z%7Z-_$ZXV*Kcq8G59xyZ!8~ME1WXp>iN;C_IDEeWBj(2tw(!JIf?{P<-f74@B!zT< zbe#^N6Q4RbKqyO}MCB`HFgRwVijxkV$WJf1UsxQp=`3I5BFGbr+K3C-O%KIT?T?T-@#dA#9Q z;sUmAt1xJ0IEN>jVHikqadaA$YuV30+)`ES3DG2Ik=5Xmr9?W3%2^JXwn3&%2M%i% zH8QK=vahos-)X311*~0{V8FCs!YV!q?!oZixSz_^ZQSt75)~w@)IcI3VHJxeJuXgl z5elRlllOu?D&(=NLi0!;Rg$Wxo;OaAr}+IKF3`u>4|bBJu$#P;roAMHWDxu!_E7ma z?={#K&<>Oq`+Z|wn+bg3ZL(&JZbVMWEEBYkyTWk)Z(So z!f8HiUHo|hg!B!M$GACb=$E$mwIkcmQAGak2~^IWlW0V?!K{sl3*KXpx^l@oc}8YI z#pD*RYzcN>l)?XzF!)U82=c!Hwib{lHNGh0 P00000NkvXXu0mjf#2YXZ literal 0 HcmV?d00001 diff --git a/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/themes/icons/large_clipart.png b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/themes/icons/large_clipart.png new file mode 100644 index 0000000000000000000000000000000000000000..9c9c44002b6f76fcddea75aad020f5f58e91d10f GIT binary patch literal 1727 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 N002ovPDHLkV1luY1RVeX literal 0 HcmV?d00001 diff --git a/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/themes/icons/large_shapes.png b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/themes/icons/large_shapes.png new file mode 100644 index 0000000000000000000000000000000000000000..90a0dcacd8d8b851262102fbbd9f99e23404da11 GIT binary patch literal 1318 zcmV+>1=;$EP)9s!&kf1?`{(nr_nL4ijp z@Q59_AEy-e%+o#ZJ=sso=F5O#0npiiBF!K&3p5uYxXhffFJlfWXEo!=YI0RFHj|7W z&H(1NBtX7zVpRehUIYfo{O?&edZ&-@i=qNGe+_v<@V;`X*;FshvcF;T88V-8p>5(AZNn>gl#-9;-jVL6Zqt{a0Jynq z=d$e|UqepKAj-6p7_e+%Y4Zq2$EP^I+-^6v4_uhEA3$qbL2-*2*?;t+e{vhTc{lps zyU|0LcUUCzma!wWo44>?RMtg+^*yP4@*ZZC^RgtE6sv5dFQ1Brbbj=2NJS70%oFl<4p8eh$siTIRu^T?<{w4o zO=R3)cB1v26SpHX{{@gzDCU}*i#0~06P{d1)GpdTw`eE^IVH2hW2ryhkXf6>4UOp# zRk|J0HfjvJl%W&1!qN%;80}=O&W=zzH!cA1_^~mI4a1TO(K6ve z?<_6=*!%$084n2hL;y(UQs(uhebgHEQKjF7vU&gsFDiWikiolUNjzeqNd@?G()}L* zxB$S=w?dza%-LLHI-ttz3G;^GJw&FyhN`l|8z3UNK#ZSRo^4V{Vt@eSC-^$#iIh2& zy_QVXdIx>(Kz4Z_VxN`K88EW#bq<6luOHzqnF*auL*&S>Jxa^#HoxuSGW$xFUS7_o(5!A3KNgoUV^#B8C2JFaD4^28?_+<%y_grD6z~>!07Bw^NBr{&sH!?HH|NF8(A;BIaA(R2wgPNQaZIAy zso^etBH|Aig2zHuumB$OaE=wwGvPG=oXvS4>p?=k_etpRK8oMk&H$u2_nv~F0q)1= z`33l#F$@~uhhJ49*yRA;Q^42P2Jmx6849&?=&_ywoSa@>fm-^tE9siYou3rJ190ai zDb^faoa~#vtuJo{>G47$b(*}il2nl)ZxD%s9IQ=WSaMlM1aFb`3 z193JPDm9|h@^P24;|Gp!!_sg!T7jrk71ETISDX8*K*;AqW8dg)8OE1{Dc=+5++PL8 cmjX5Y2jT&te&o4V^Z)<=07*qoM6N<$f=jV;pa1{> literal 0 HcmV?d00001 diff --git a/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/themes/icons/large_smartart.png b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/themes/icons/large_smartart.png new file mode 100644 index 0000000000000000000000000000000000000000..b47da08fa7ff9b56f6abb2517cb6c2177029faf8 GIT binary patch literal 1336 zcmV-81;_e{P)pBh)O^%3AYgtAK>fS=bS`B3ob2ygd+n1+_U!rp`nRtOoyGX4 z=(KTP5eZuwP_)XRw^g9SUyshotLT2$geTLtU<+8$8*JY(&u4BU|8g?AY}~;uO)!@y z>wkj2Plaovm1yv2ah0#c4PJ+vZatdah8=NjxDqu^B~rEDZ*79zU=O5Q_QT*TLmht} zwVWEYLlv+Ll%uADk^-pOgQdid1!+XCm|3L0E>AWS|%q`)HvTg}BgDAjS}svlza|@=dV0YH3{6 zlZT?;5|LSXFg_DGEyrMdDaVDrLR8!HQDr-gs^@uODs6dD`NlaRe|~z?Tn_SS-8^HO zU}CG+Gl3mS)#Gevp5;KhOEeN}tbCY(<8&VG+4;sTzoc?ne#H5wCtc4@QF? z8cVQTnB(CM;}OWMQX}i!QL5g(8gmDdE#IO1!7org&JZwKo8epZkf0|V$L4v74MG7o zJcM^+9+U|181awbSYB>Oyz{eXAknlJC0$8SK1!oriRi62Nth>L9^(s4)GaU?ieYgV zJaaBVj2Fgk@RYj=*9-@zyBDWaMz-}_mz__EdJB@w-=eVNXR1C0G$ibX+|Vviq-%pr(~4|WBhpIhalD`wM{`U#l%)eVbHj>odMUZ zi>l_pO^={|bO3{14*t0nOwO%F8_?aWhOCXmyOUAvI0e&iVHD<$R!ppni;K(T>4rEm0?aX^j%&w4$RTOCJA`P6-9ma{O zACRd&6cbHd132F>F(fcNK7^q$k-^bdR3Sz0t1tr|#vu9$-@C17zr@~VMVO#}j;dx*^?pe_mVpFjf=$HYdWRi><#o(0 zeIOGbkS;e7227I?h2al@VqH55G;KIp(Ta?c8%Qp!$FbZ?IGk-HQ)>bff`R(azXe-e z*V}s$T>gl_(nm6}PA1l+U0B1rAR!4%(oQg@NXRcSF}o`CpNa3nfIYT>`7av?@4)O1 z4P0$!E%+$5V3EWb)Qai(55f*ig$Nm$TNA~Jx2$>+enXM5GXr;DKyA4#e3((VOSWww uo;PJ%&{}NG?HKsto3b6^`p5L2x&8(W8B7jWgRVFL0000P$7bO0Bg$#2^g^4GL=P|t$hNq6Wo3a*(T;p z0vQVx+}+~^FZg$7F5mpj8TfC>dxjeSoPQ1VOMaA_u^ZnVr5#t%}HrnH>ScvMk452cyww4>){z4m<+~ zz$VYjod;A^<#YL=rT|^%{p!C3c<0*i002ov JPDHLkV1n}aiueEk literal 0 HcmV?d00001 diff --git a/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/themes/icons/man.png b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/themes/icons/man.png new file mode 100644 index 0000000000000000000000000000000000000000..a8cafcb9a1bc9fafbc429093084aa2e5b37103b6 GIT binary patch literal 244 zcmVC_BI~?$baTUM>r&7#gjkN^eHIi#o0SqI#KDxPp zw@9vyR-*q#A1*f^_CI2jYYrM;0TvR|rdBA|{&P?5Vul}=KM*D;@QW`DQsz%=+`fM~ u3QS{w?+kN@RWQ}B0CTJ}SKVj!J=PhX&@(3LQ}*Qm0000>$j+3?x7IEPn{3BuiW)N`mv#O3D+9QW+dm@{>{( zJaZG%Q-e|yQz{EjrrH1%xd!-zxLTAQhakJ^Q+73{+?&sPG@tVTk}cBH8-FbMA2gTIwZ$R1rnqZ!{LQN5dZW*_A98)a hcb&}1B^+S+>+nau>-9y|=gz9{lr;}c=wVN)Q*o7; z#1rt#{)*L{NuLvUInMbWz@F$~q+t2X*32`7HA0n}1B^+RR-Z*1Eqt_euNB=!4?3hCYmYkCBcssH5 zPdnEk2K$~yJ;tQ}=`B*K3`ckaI0gPP&VH(3X7A9z$Z+9+&@?^iN_(Jb44$rjF6*2U FngA=BGHCz+ literal 0 HcmV?d00001 diff --git a/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/themes/icons/no.png b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/themes/icons/no.png new file mode 100644 index 0000000000000000000000000000000000000000..37a7c7497782dadcf14a765051a62dd5616200c5 GIT binary patch literal 922 zcmV;L17-Y)P)~H)FpGiVA+maa075~P;^Ost z%FF+My>{*Y{|_Jj|9|)H|Nl2{{{Mgd`v2FHC;#tBN%>zXAW)C22Oxl$VT=}a_4z4N zrW6=>dNQ#7{ma1c;R6H1`}YhCZ{IR7ym`aG`ujJ7l8z38nu>}8%kkq1$A10V2+{`- zKwtwZB_!%oy1NTx6%`p6K7NE?kmh&qz?vCezh+=~@q&Tj`Ev$7py4W#k_H^-&M_Qi zU^oa6K+Hft^Ls=_t}xct=3w~ph2g@XLkuqj1Q@RF*ukL03^f1MD~7#5#lI~rfyxgu zaNW7Xz<&Nb!`D}@41jje0SF)#Adz5aXehvN>=*+B8yf?swKapfn;XM72M30|Sy>DW zKpQP*⪼M8hY&JO$LjiB8ETz{xN7UFbD`TFvI`^5R0b1z5^G~7O=A!85y{?ZDaUm zW(L+^Ic*v^d_e5S7cMYxwYD<+1#12S6ypJ6X$A&ofB<6R;@}Wqc=-|@XtF@Rz6ILy z4af&+glT^3?aiPM6a#4n;om^~pMgONAb^+{fF?40{tPhyif@4oL;}JJ3Jh;0B^mw# zW8x=}{|jLN13&;Vy?*uT0mILqkWdF|-uwSQgXPktaGPN+vD~wV;i$eo!w;Y)5C$0p zwDt}_05Ls!`0&8vU%%kCa{`?TcealY!&?szxFJjd0dNCeK=2WO00KL4xwZBE|LW@h z|4T~#eCJ-NHV0gBdfguHGz&s%LFGwFi05M|8lxzVE3}(QD5+KCD wpazO6V0O9-%njRjGcW*?E5jFL#Q*^Y0M({d4SP?a6aWAK07*qoM6N<$f&>VU5C8xG literal 0 HcmV?d00001 diff --git a/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/themes/icons/ok.png b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/themes/icons/ok.png new file mode 100644 index 0000000000000000000000000000000000000000..5b0f6a6174f67879d89b8c970d88734cd6f9f844 GIT binary patch literal 883 zcmV-(1C0EMP)wF51aIxG|t0o~WeTux?(*f!J?S`!vJrWM3^ z)v?u>(g^>@;xO#mkNlu=e*%b!BkO=S9U%&s|{QUTj4;ur+Qxv`b{1=&{q{_{@=tdkKKPJjPv{N-R+ z=H{q0b!wOgrI|?`QkZ(!{_7i9LV-VtRJx`%DQ2F^23wD{DqBhIRk` zF);r5{m+$GoMl&Put7+Jt2=`@4-Z4{!AlI=w!d7({+qd+0V(7F0suh(zW)OTFd63V z^!sFSNlF9<4gMd;*WzU&Dh*+FS2`3*A~OK^{__Bz$W0R(*Uum z?9l=80a*nF0_+3*1ONs71^@>82>=H93IGBCK>)u00}wAF|NZm@`|<(rTQ4UU0WcOM z00aL60Pp?k0KeVV0IsF+;Q#FbO$G-6;062!00#UB00{XE00{OE015OE00M|vNJE=} z^$*A6FQ5Ne@vDAS;$dfD`1Jo3!|5mY7`86`{^s{nmH;M>-&g)K|ATm%5g73x%=8b8 z0Ro7L;}<&v=RdZejL-PCo<9Aa;W^_ShKsN6GwfXY>&vg(Trted45#rWFn|DJV*bm{ z0Ky#q*cZJ%!~O8Y?dJ?fS26$kepw(JsCg%$6bcYP%o1uwz$j&AU}9wa&h(8#?9FW+ ziyzl{>lm2-O#9FFhv6UdZ-)OYzzhWT0wab200G2EX?6w(FaS`kAv2YZ@FM^K002ov JPDHLkV1n^7jC=q9 literal 0 HcmV?d00001 diff --git a/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/themes/icons/pencil.png b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/themes/icons/pencil.png new file mode 100644 index 0000000000000000000000000000000000000000..5b8cc893d0e50c0e15cf10fbbb08706f81ec224a GIT binary patch literal 713 zcmV;)0yh1LP)R)!_m*FeI9eJ0Gxq#H zf0_XxfS9lv%LmkKB8}kx16siJFV!*nd7pOS69ERhSDg(18DcA(#PsQ(DfoWDDC{a=@>nto>xWzb;o zP$*;Aa%nq5TlT(fKhM4o2P*mk(g_ei5CcqsHvff2=RY9k`aMC~Kn&o76a{330bLQrJ&U26`M=Sy3)uqGxWf%F0d5QMO1 v>|l^)2n34pz-1YUGXNlf7%9!p009O71V-RMzjpE=00000NkvXXu0mjfxvf2L literal 0 HcmV?d00001 diff --git a/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/themes/icons/print.png b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/themes/icons/print.png new file mode 100644 index 0000000000000000000000000000000000000000..fdf67a1e2771c1481d4fdf3c3bb219904cdde434 GIT binary patch literal 1057 zcmV++1m63JP)z1G?hxZ;&`ED+>cNGYingzZn1m zi0SLs4-79~-etIOVGqOe=l2>Z%BAk7f^KhW_13_pMU`pwSH#-O94%^)f& z3N-K^13&;VLHzfh;p^8g3^#9{H2wblqZrJ9KS1%{Kv(?!`4i~P{|ua*91=XdJgT6; z`St4;*p&bQ!~(?P!otFnEG?~V1q1{|M1_S}KY#tr@b%YUh9AFvGyDPKzd*%*zcVld z`Ugr`TiaZI_Ty@A>nW=<)yo#7xKlEh(vj1xwlt7#MgWzP$bT0%*uZWO;x9 z!fSwov9Uh~14Beagrk7ItviRhqIkg9=T8*)ge4C=e*XL?NDV*$F=Er`Vr(4mXr?g1 z)x}1@)Y^!FfsqM{nHgR`f5y<=G55mJn=cZMojrRIAb>Coh_o}9pPyizU~Z|yz`(=; z#6U+fLTM=f>$l$wi{@|tuwv(>V1NKZ@j|4%et%nvY=(}S5Cg-n4-5>yKLTkW{__dQ z{tTo)gT>g`J~N1_^Ko3f_)G{OfLLIf9gU6cqmAAaD6jz)zkJHTz{3~O8o!7fdBvhJL&&7 zEzS8KWN)@fPg66=+sNqB{}Vy~Up;L5Ul8klLse1H6FK$(0tk$}jE(!hOym0h|8~m% zDNRwIbd{B3fWmAbIX`3L{U`QU{to~eC?zhgj2`F!0R%=(K`Q6}?=tznbY|Lr4LLb~ zWE+4{s&A&Qo(5!cV$%x{Kwva8UiSa1o0b3Vw6&)alRA+BKmf4-{V&fa#mul`<-^an zUcH*g01htV0YCr&lNW=6vZVpTfxUMQymyyFg$$D!0_P3$1SAV4gvrH q1Tx^k^5vIKzWDHAF9R6>Aiw}@kj85RTB}e10000VP)p|3y6O+Fnsy(*G|dGwA8_{sE@0VD?kY)l*s511}8@N@DpuwT|nH_3V>hx1ODQ%gn&~@8_@IOt#8aVhL_V%$IK8 zWk{S+eg652N7)Q)9AE25ELv$HybnO!M{I#uKD}#=M;vYf7lrQFmo`l@cj9I@ZL*+0D=T!0-G4a z_us4x|CxR%P+4O z%=m19E(1m6KcMkUz;yA2;myD24DM`^3=_Jyz22~IyVL&*H?9B#5X1$4SsA{6|NY{@ z(^>zp*f|F>^Eg`1=E%Jp>r!82Fy*Fx0GG_T{`ts%Hw-;|-9sl#=*HT~_cnLQ6 zZwyY1jNAqP|1re_1K>S4TZ6MV5dUL@_zCI)fB*vkslXvaa)1B=8vtU6i;3jw7+Lm8D5$Z@i10EnF)=bcefw4K z$^E-CUfjQG`svfBbfD6|R#sLFj6lo3FG$G6@;ee>>~6i|H^5OY8c00W#fi<*1vzh{0&qu3dB`V0{{XDY`}(1n>S9M(9!zw#!&`A z#;*+0{6GVMSeWGp!`o{o8NPge#o%jgs54WT$qnQYpsyGNpauX05F;oJfZ`Pdw6!$j zynTH0RMa&!n3$Pa9zVGEY{&L(3qnPBl_DG6<9Xk0`Fl3`LiD4@pH{vDsxJWQ1qdJp zEJ>M}osCtQlY?CgW>F{;gVK#SmgoOZnEn5J%EtIXaWQXAO>Rdf)WFR;gt~f zXaA3z{{L{q=l48y!32dEcNn4H`bJ0C+qr9t=q z3IB5(AiS{sSlm!hKmUK){R9C#j!Zc}`+sBs9tE)p5$}U$;ZzVK5OzQCHlA<@UGIO! zvj@U9`H!I>IKl6{$7vAD0_aTr_h<@&41C_Zzj3U$sW?P)s`^}rT?-9$gz_!>OcE=Nf062l+NnAOE%LIKMeUciG zG5@4$#o>#0(^REaszX( z@Br;Y1jl>uI&DD}m2Idxq%!Gwkr0;PT_BnCf*VQmb@KBW^WVSl?z4#ixOz4Ke!ssk zy+~qx3HN1Lmf_*JwldghDRx~#Huv5AzuyA9NNmE;P!yvrh(>!r*9CAQI{gJZ77+*H z@%Rxtk;~ literal 0 HcmV?d00001 diff --git a/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/themes/icons/undo.png b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/themes/icons/undo.png new file mode 100644 index 0000000000000000000000000000000000000000..6129fa0c77eb1d2100ed1c99b5643ab8990a9566 GIT binary patch literal 707 zcmV;!0zCbRP)gx00G1Zv_aomR`x(qRh0l2FE0bbpFa!?fB$08 zkFQ)|s9L!2z&&2xfMaLReuNnS5I{^UzkfRf$Hoe9fp{-pGBCV;4WVDWU|@Lm41ym& zW{~CPX6X0xb5MHuav8D<00M~l)~8P=@1HyOnT?gzU0Y6$f#K#&28Oq985rKZgBbSe z6~w?NPZ+p>wDzArsy8?}Ki_-*{y4}0fB<3!5w|~mI{y0k^X(5GJqk7R^5S3xY54Gg z;V@9{y|_37pRO(g>+jzT438c$h_JFUeEIar>Y2FstQW6ee+LL4W|&hReEj(I13UYi znbkhd^K)@A%v-naX4mP{i91)X{{CA+!pI;bgn{AeRR)QlKiRi``0yC0=M+Ey zVT~0JdHJSom6iV+{r%6t#LV>djcY9}FMXXe=l_3O+y7ZoQhPw+00D#(*(oWx*+@tv zp{LLZetz%&x3v79qNw;ED8va6Kn$b;P{O)4dGi0A+S>nhH8gAh0*IMZ1Ma+ke^KiH z{{%~Qb%Axyo~;K6ASMPf!11eBC%hFCV_^OEO$;D_$THxanAm~S7cMXefB&up5J1f2 p81VS{^OpjgoMw-I|K0`=U;x^&`B18C?@a&z002ovPDHLkV1f|(PF(;1 literal 0 HcmV?d00001 diff --git a/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/themes/metro/accordion.css b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/themes/metro/accordion.css new file mode 100644 index 00000000..31d6079e --- /dev/null +++ b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/themes/metro/accordion.css @@ -0,0 +1,41 @@ +.accordion { + overflow: hidden; + border-width: 1px; + border-style: solid; +} +.accordion .accordion-header { + border-width: 0 0 1px; + cursor: pointer; +} +.accordion .accordion-body { + border-width: 0 0 1px; +} +.accordion-noborder { + border-width: 0; +} +.accordion-noborder .accordion-header { + border-width: 0 0 1px; +} +.accordion-noborder .accordion-body { + border-width: 0 0 1px; +} +.accordion-collapse { + background: url('images/accordion_arrows.png') no-repeat 0 0; +} +.accordion-expand { + background: url('images/accordion_arrows.png') no-repeat -16px 0; +} +.accordion { + background: #fff; + border-color: #ddd; +} +.accordion .accordion-header { + background: #ffffff; + filter: none; +} +.accordion .accordion-header-selected { + background: #CCE6FF; +} +.accordion .accordion-header-selected .panel-title { + color: #000; +} diff --git a/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/themes/metro/calendar.css b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/themes/metro/calendar.css new file mode 100644 index 00000000..6af24ac4 --- /dev/null +++ b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/themes/metro/calendar.css @@ -0,0 +1,197 @@ +.calendar { + border-width: 1px; + border-style: solid; + padding: 1px; + overflow: hidden; +} +.calendar table { + table-layout: fixed; + border-collapse: separate; + font-size: 12px; + width: 100%; + height: 100%; +} +.calendar table td, +.calendar table th { + font-size: 12px; +} +.calendar-noborder { + border: 0; +} +.calendar-header { + position: relative; + height: 22px; +} +.calendar-title { + text-align: center; + height: 22px; +} +.calendar-title span { + position: relative; + display: inline-block; + top: 2px; + padding: 0 3px; + height: 18px; + line-height: 18px; + font-size: 12px; + cursor: pointer; + -moz-border-radius: 0px 0px 0px 0px; + -webkit-border-radius: 0px 0px 0px 0px; + border-radius: 0px 0px 0px 0px; +} +.calendar-prevmonth, +.calendar-nextmonth, +.calendar-prevyear, +.calendar-nextyear { + position: absolute; + top: 50%; + margin-top: -7px; + width: 14px; + height: 14px; + cursor: pointer; + font-size: 1px; + -moz-border-radius: 0px 0px 0px 0px; + -webkit-border-radius: 0px 0px 0px 0px; + border-radius: 0px 0px 0px 0px; +} +.calendar-prevmonth { + left: 20px; + background: url('images/calendar_arrows.png') no-repeat -18px -2px; +} +.calendar-nextmonth { + right: 20px; + background: url('images/calendar_arrows.png') no-repeat -34px -2px; +} +.calendar-prevyear { + left: 3px; + background: url('images/calendar_arrows.png') no-repeat -1px -2px; +} +.calendar-nextyear { + right: 3px; + background: url('images/calendar_arrows.png') no-repeat -49px -2px; +} +.calendar-body { + position: relative; +} +.calendar-body th, +.calendar-body td { + text-align: center; +} +.calendar-day { + border: 0; + padding: 1px; + cursor: pointer; + -moz-border-radius: 0px 0px 0px 0px; + -webkit-border-radius: 0px 0px 0px 0px; + border-radius: 0px 0px 0px 0px; +} +.calendar-other-month { + opacity: 0.3; + filter: alpha(opacity=30); +} +.calendar-disabled { + opacity: 0.6; + filter: alpha(opacity=60); + cursor: default; +} +.calendar-menu { + position: absolute; + top: 0; + left: 0; + width: 180px; + height: 150px; + padding: 5px; + font-size: 12px; + display: none; + overflow: hidden; +} +.calendar-menu-year-inner { + text-align: center; + padding-bottom: 5px; +} +.calendar-menu-year { + width: 40px; + text-align: center; + border-width: 1px; + border-style: solid; + margin: 0; + padding: 2px; + font-weight: bold; + font-size: 12px; +} +.calendar-menu-prev, +.calendar-menu-next { + display: inline-block; + width: 21px; + height: 21px; + vertical-align: top; + cursor: pointer; + -moz-border-radius: 0px 0px 0px 0px; + -webkit-border-radius: 0px 0px 0px 0px; + border-radius: 0px 0px 0px 0px; +} +.calendar-menu-prev { + margin-right: 10px; + background: url('images/calendar_arrows.png') no-repeat 2px 2px; +} +.calendar-menu-next { + margin-left: 10px; + background: url('images/calendar_arrows.png') no-repeat -45px 2px; +} +.calendar-menu-month { + text-align: center; + cursor: pointer; + font-weight: bold; + -moz-border-radius: 0px 0px 0px 0px; + -webkit-border-radius: 0px 0px 0px 0px; + border-radius: 0px 0px 0px 0px; +} +.calendar-body th, +.calendar-menu-month { + color: #919191; +} +.calendar-day { + color: #444; +} +.calendar-sunday { + color: #CC2222; +} +.calendar-saturday { + color: #00ee00; +} +.calendar-today { + color: #0000ff; +} +.calendar-menu-year { + border-color: #ddd; +} +.calendar { + border-color: #ddd; +} +.calendar-header { + background: #ffffff; +} +.calendar-body, +.calendar-menu { + background: #fff; +} +.calendar-body th { + background: #fff; + padding: 2px 0; +} +.calendar-hover, +.calendar-nav-hover, +.calendar-menu-hover { + background-color: #E6E6E6; + color: #444; +} +.calendar-hover { + border: 1px solid #ddd; + padding: 0; +} +.calendar-selected { + background-color: #CCE6FF; + color: #000; + border: 1px solid #99cdff; + padding: 0; +} diff --git a/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/themes/metro/combo.css b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/themes/metro/combo.css new file mode 100644 index 00000000..39fac282 --- /dev/null +++ b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/themes/metro/combo.css @@ -0,0 +1,60 @@ +.combo { + display: inline-block; + white-space: nowrap; + margin: 0; + padding: 0; + border-width: 1px; + border-style: solid; + overflow: hidden; + vertical-align: middle; +} +.combo .combo-text { + font-size: 12px; + border: 0px; + margin: 0; + padding: 0px 2px; + vertical-align: baseline; +} +.combo-arrow { + width: 18px; + height: 20px; + overflow: hidden; + display: inline-block; + vertical-align: top; + cursor: pointer; + opacity: 0.6; + filter: alpha(opacity=60); +} +.combo-arrow-hover { + opacity: 1.0; + filter: alpha(opacity=100); +} +.combo-panel { + overflow: auto; +} +.combo-arrow { + background: url('images/combo_arrow.png') no-repeat center center; +} +.combo-panel { + background-color: #fff; +} +.combo { + border-color: #ddd; + background-color: #fff; +} +.combo-arrow { + background-color: #ffffff; +} +.combo-arrow-hover { + background-color: #E6E6E6; +} +.combo-arrow:hover { + background-color: #E6E6E6; +} +.combo .textbox-icon-disabled:hover { + cursor: default; +} +.textbox-invalid { + border-color: #ffa8a8; + background-color: #fff3f3; +} diff --git a/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/themes/metro/combobox.css b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/themes/metro/combobox.css new file mode 100644 index 00000000..0e058b1f --- /dev/null +++ b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/themes/metro/combobox.css @@ -0,0 +1,24 @@ +.combobox-item, +.combobox-group { + font-size: 12px; + padding: 3px; + padding-right: 0px; +} +.combobox-item-disabled { + opacity: 0.5; + filter: alpha(opacity=50); +} +.combobox-gitem { + padding-left: 10px; +} +.combobox-group { + font-weight: bold; +} +.combobox-item-hover { + background-color: #E6E6E6; + color: #444; +} +.combobox-item-selected { + background-color: #CCE6FF; + color: #000; +} diff --git a/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/themes/metro/datagrid.css b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/themes/metro/datagrid.css new file mode 100644 index 00000000..94880f09 --- /dev/null +++ b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/themes/metro/datagrid.css @@ -0,0 +1,261 @@ +.datagrid .panel-body { + overflow: hidden; + position: relative; +} +.datagrid-view { + position: relative; + overflow: hidden; +} +.datagrid-view1, +.datagrid-view2 { + position: absolute; + overflow: hidden; + top: 0; +} +.datagrid-view1 { + left: 0; +} +.datagrid-view2 { + right: 0; +} +.datagrid-mask { + position: absolute; + left: 0; + top: 0; + width: 100%; + height: 100%; + opacity: 0.3; + filter: alpha(opacity=30); + display: none; +} +.datagrid-mask-msg { + position: absolute; + top: 50%; + margin-top: -20px; + padding: 10px 5px 10px 30px; + width: auto; + height: 16px; + border-width: 2px; + border-style: solid; + display: none; +} +.datagrid-sort-icon { + padding: 0; +} +.datagrid-toolbar { + height: auto; + padding: 1px 2px; + border-width: 0 0 1px 0; + border-style: solid; +} +.datagrid-btn-separator { + float: left; + height: 24px; + border-left: 1px solid #ddd; + border-right: 1px solid #fff; + margin: 2px 1px; +} +.datagrid .datagrid-pager { + display: block; + margin: 0; + border-width: 1px 0 0 0; + border-style: solid; +} +.datagrid .datagrid-pager-top { + border-width: 0 0 1px 0; +} +.datagrid-header { + overflow: hidden; + cursor: default; + border-width: 0 0 1px 0; + border-style: solid; +} +.datagrid-header-inner { + float: left; + width: 10000px; +} +.datagrid-header-row, +.datagrid-row { + height: 25px; +} +.datagrid-header td, +.datagrid-body td, +.datagrid-footer td { + border-width: 0 1px 1px 0; + border-style: dotted; + margin: 0; + padding: 0; +} +.datagrid-cell, +.datagrid-cell-group, +.datagrid-header-rownumber, +.datagrid-cell-rownumber { + margin: 0; + padding: 0 4px; + white-space: nowrap; + word-wrap: normal; + overflow: hidden; + height: 18px; + line-height: 18px; + font-size: 12px; +} +.datagrid-header .datagrid-cell { + height: auto; +} +.datagrid-header .datagrid-cell span { + font-size: 12px; +} +.datagrid-cell-group { + text-align: center; +} +.datagrid-header-rownumber, +.datagrid-cell-rownumber { + width: 25px; + text-align: center; + margin: 0; + padding: 0; +} +.datagrid-body { + margin: 0; + padding: 0; + overflow: auto; + zoom: 1; +} +.datagrid-view1 .datagrid-body-inner { + padding-bottom: 20px; +} +.datagrid-view1 .datagrid-body { + overflow: hidden; +} +.datagrid-footer { + overflow: hidden; +} +.datagrid-footer-inner { + border-width: 1px 0 0 0; + border-style: solid; + width: 10000px; + float: left; +} +.datagrid-row-editing .datagrid-cell { + height: auto; +} +.datagrid-header-check, +.datagrid-cell-check { + padding: 0; + width: 27px; + height: 18px; + font-size: 1px; + text-align: center; + overflow: hidden; +} +.datagrid-header-check input, +.datagrid-cell-check input { + margin: 0; + padding: 0; + width: 15px; + height: 18px; +} +.datagrid-resize-proxy { + position: absolute; + width: 1px; + height: 10000px; + top: 0; + cursor: e-resize; + display: none; +} +.datagrid-body .datagrid-editable { + margin: 0; + padding: 0; +} +.datagrid-body .datagrid-editable table { + width: 100%; + height: 100%; +} +.datagrid-body .datagrid-editable td { + border: 0; + margin: 0; + padding: 0; +} +.datagrid-view .datagrid-editable-input { + margin: 0; + padding: 2px 4px; + border: 1px solid #ddd; + font-size: 12px; + outline-style: none; + -moz-border-radius: 0 0 0 0; + -webkit-border-radius: 0 0 0 0; + border-radius: 0 0 0 0; +} +.datagrid-sort-desc .datagrid-sort-icon { + padding: 0 13px 0 0; + background: url('images/datagrid_icons.png') no-repeat -16px center; +} +.datagrid-sort-asc .datagrid-sort-icon { + padding: 0 13px 0 0; + background: url('images/datagrid_icons.png') no-repeat 0px center; +} +.datagrid-row-collapse { + background: url('images/datagrid_icons.png') no-repeat -48px center; +} +.datagrid-row-expand { + background: url('images/datagrid_icons.png') no-repeat -32px center; +} +.datagrid-mask-msg { + background: #fff url('images/loading.gif') no-repeat scroll 5px center; +} +.datagrid-header, +.datagrid-td-rownumber { + background-color: #ffffff; +} +.datagrid-cell-rownumber { + color: #444; +} +.datagrid-resize-proxy { + background: #b3b3b3; +} +.datagrid-mask { + background: #eee; +} +.datagrid-mask-msg { + border-color: #ddd; +} +.datagrid-toolbar, +.datagrid-pager { + background: #fff; +} +.datagrid-header, +.datagrid-toolbar, +.datagrid-pager, +.datagrid-footer-inner { + border-color: #ddd; +} +.datagrid-header td, +.datagrid-body td, +.datagrid-footer td { + border-color: #ddd; +} +.datagrid-htable, +.datagrid-btable, +.datagrid-ftable { + color: #444; + border-collapse: separate; +} +.datagrid-row-alt { + background: #f5f5f5; +} +.datagrid-row-over, +.datagrid-header td.datagrid-header-over { + background: #E6E6E6; + color: #444; + cursor: default; +} +.datagrid-row-selected { + background: #CCE6FF; + color: #000; +} +.datagrid-row-editing .textbox, +.datagrid-row-editing .textbox-text { + -moz-border-radius: 0 0 0 0; + -webkit-border-radius: 0 0 0 0; + border-radius: 0 0 0 0; +} diff --git a/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/themes/metro/datebox.css b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/themes/metro/datebox.css new file mode 100644 index 00000000..b0f71e24 --- /dev/null +++ b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/themes/metro/datebox.css @@ -0,0 +1,36 @@ +.datebox-calendar-inner { + height: 180px; +} +.datebox-button { + height: 18px; + padding: 2px 5px; + text-align: center; +} +.datebox-button a { + font-size: 12px; + font-weight: bold; + text-decoration: none; + opacity: 0.6; + filter: alpha(opacity=60); +} +.datebox-button a:hover { + opacity: 1.0; + filter: alpha(opacity=100); +} +.datebox-current, +.datebox-close { + float: left; +} +.datebox-close { + float: right; +} +.datebox .combo-arrow { + background-image: url('images/datebox_arrow.png'); + background-position: center center; +} +.datebox-button { + background-color: #fff; +} +.datebox-button a { + color: #777; +} diff --git a/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/themes/metro/dialog.css b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/themes/metro/dialog.css new file mode 100644 index 00000000..ea1a9e85 --- /dev/null +++ b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/themes/metro/dialog.css @@ -0,0 +1,32 @@ +.dialog-content { + overflow: auto; +} +.dialog-toolbar { + padding: 2px 5px; +} +.dialog-tool-separator { + float: left; + height: 24px; + border-left: 1px solid #ddd; + border-right: 1px solid #fff; + margin: 2px 1px; +} +.dialog-button { + padding: 5px; + text-align: right; +} +.dialog-button .l-btn { + margin-left: 5px; +} +.dialog-toolbar, +.dialog-button { + background: #fff; + border-width: 1px; + border-style: solid; +} +.dialog-toolbar { + border-color: #ddd #ddd #ddd #ddd; +} +.dialog-button { + border-color: #ddd #ddd #ddd #ddd; +} diff --git a/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/themes/metro/easyui.css b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/themes/metro/easyui.css new file mode 100644 index 00000000..75221075 --- /dev/null +++ b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/themes/metro/easyui.css @@ -0,0 +1,2495 @@ +.panel { + overflow: hidden; + text-align: left; + margin: 0; + border: 0; + -moz-border-radius: 0 0 0 0; + -webkit-border-radius: 0 0 0 0; + border-radius: 0 0 0 0; +} +.panel-header, +.panel-body { + border-width: 1px; + border-style: solid; +} +.panel-header { + padding: 5px; + position: relative; +} +.panel-title { + background: url('images/blank.gif') no-repeat; +} +.panel-header-noborder { + border-width: 0 0 1px 0; +} +.panel-body { + overflow: auto; + border-top-width: 0; + padding: 0; +} +.panel-body-noheader { + border-top-width: 1px; +} +.panel-body-noborder { + border-width: 0px; +} +.panel-body-nobottom { + border-bottom-width: 0; +} +.panel-with-icon { + padding-left: 18px; +} +.panel-icon, +.panel-tool { + position: absolute; + top: 50%; + margin-top: -8px; + height: 16px; + overflow: hidden; +} +.panel-icon { + left: 5px; + width: 16px; +} +.panel-tool { + right: 5px; + width: auto; +} +.panel-tool a { + display: inline-block; + width: 16px; + height: 16px; + opacity: 0.6; + filter: alpha(opacity=60); + margin: 0 0 0 2px; + vertical-align: top; +} +.panel-tool a:hover { + opacity: 1; + filter: alpha(opacity=100); + background-color: #E6E6E6; + -moz-border-radius: -2px -2px -2px -2px; + -webkit-border-radius: -2px -2px -2px -2px; + border-radius: -2px -2px -2px -2px; +} +.panel-loading { + padding: 11px 0px 10px 30px; +} +.panel-noscroll { + overflow: hidden; +} +.panel-fit, +.panel-fit body { + height: 100%; + margin: 0; + padding: 0; + border: 0; + overflow: hidden; +} +.panel-loading { + background: url('images/loading.gif') no-repeat 10px 10px; +} +.panel-tool-close { + background: url('images/panel_tools.png') no-repeat -16px 0px; +} +.panel-tool-min { + background: url('images/panel_tools.png') no-repeat 0px 0px; +} +.panel-tool-max { + background: url('images/panel_tools.png') no-repeat 0px -16px; +} +.panel-tool-restore { + background: url('images/panel_tools.png') no-repeat -16px -16px; +} +.panel-tool-collapse { + background: url('images/panel_tools.png') no-repeat -32px 0; +} +.panel-tool-expand { + background: url('images/panel_tools.png') no-repeat -32px -16px; +} +.panel-header, +.panel-body { + border-color: #ddd; +} +.panel-header { + background-color: #ffffff; +} +.panel-body { + background-color: #fff; + color: #444; + font-size: 12px; +} +.panel-title { + font-size: 12px; + font-weight: bold; + color: #777; + height: 16px; + line-height: 16px; +} +.panel-footer { + border: 1px solid #ddd; + overflow: hidden; + background: #fff; +} +.panel-footer-noborder { + border-width: 1px 0 0 0; +} +.accordion { + overflow: hidden; + border-width: 1px; + border-style: solid; +} +.accordion .accordion-header { + border-width: 0 0 1px; + cursor: pointer; +} +.accordion .accordion-body { + border-width: 0 0 1px; +} +.accordion-noborder { + border-width: 0; +} +.accordion-noborder .accordion-header { + border-width: 0 0 1px; +} +.accordion-noborder .accordion-body { + border-width: 0 0 1px; +} +.accordion-collapse { + background: url('images/accordion_arrows.png') no-repeat 0 0; +} +.accordion-expand { + background: url('images/accordion_arrows.png') no-repeat -16px 0; +} +.accordion { + background: #fff; + border-color: #ddd; +} +.accordion .accordion-header { + background: #ffffff; + filter: none; +} +.accordion .accordion-header-selected { + background: #CCE6FF; +} +.accordion .accordion-header-selected .panel-title { + color: #000; +} +.window { + overflow: hidden; + padding: 5px; + border-width: 1px; + border-style: solid; +} +.window .window-header { + background: transparent; + padding: 0px 0px 6px 0px; +} +.window .window-body { + border-width: 1px; + border-style: solid; + border-top-width: 0px; +} +.window .window-body-noheader { + border-top-width: 1px; +} +.window .panel-body-nobottom { + border-bottom-width: 0; +} +.window .window-header .panel-icon, +.window .window-header .panel-tool { + top: 50%; + margin-top: -11px; +} +.window .window-header .panel-icon { + left: 1px; +} +.window .window-header .panel-tool { + right: 1px; +} +.window .window-header .panel-with-icon { + padding-left: 18px; +} +.window-proxy { + position: absolute; + overflow: hidden; +} +.window-proxy-mask { + position: absolute; + filter: alpha(opacity=5); + opacity: 0.05; +} +.window-mask { + position: absolute; + left: 0; + top: 0; + width: 100%; + height: 100%; + filter: alpha(opacity=40); + opacity: 0.40; + font-size: 1px; + overflow: hidden; +} +.window, +.window-shadow { + position: absolute; + -moz-border-radius: 0px 0px 0px 0px; + -webkit-border-radius: 0px 0px 0px 0px; + border-radius: 0px 0px 0px 0px; +} +.window-shadow { + background: #eee; + -moz-box-shadow: 2px 2px 3px #ededed; + -webkit-box-shadow: 2px 2px 3px #ededed; + box-shadow: 2px 2px 3px #ededed; + filter: progid:DXImageTransform.Microsoft.Blur(pixelRadius=2,MakeShadow=false,ShadowOpacity=0.2); +} +.window, +.window .window-body { + border-color: #ddd; +} +.window { + background-color: #ffffff; +} +.window-proxy { + border: 1px dashed #ddd; +} +.window-proxy-mask, +.window-mask { + background: #eee; +} +.window .panel-footer { + border: 1px solid #ddd; + position: relative; + top: -1px; +} +.dialog-content { + overflow: auto; +} +.dialog-toolbar { + padding: 2px 5px; +} +.dialog-tool-separator { + float: left; + height: 24px; + border-left: 1px solid #ddd; + border-right: 1px solid #fff; + margin: 2px 1px; +} +.dialog-button { + padding: 5px; + text-align: right; +} +.dialog-button .l-btn { + margin-left: 5px; +} +.dialog-toolbar, +.dialog-button { + background: #fff; + border-width: 1px; + border-style: solid; +} +.dialog-toolbar { + border-color: #ddd #ddd #ddd #ddd; +} +.dialog-button { + border-color: #ddd #ddd #ddd #ddd; +} +.l-btn { + text-decoration: none; + display: inline-block; + overflow: hidden; + margin: 0; + padding: 0; + cursor: pointer; + outline: none; + text-align: center; + vertical-align: middle; +} +.l-btn-plain { + border: 0; + padding: 1px; +} +.l-btn-left { + display: inline-block; + position: relative; + overflow: hidden; + margin: 0; + padding: 0; + vertical-align: top; +} +.l-btn-text { + display: inline-block; + vertical-align: top; + width: auto; + line-height: 24px; + font-size: 12px; + padding: 0; + margin: 0 4px; +} +.l-btn-icon { + display: inline-block; + width: 16px; + height: 16px; + line-height: 16px; + position: absolute; + top: 50%; + margin-top: -8px; + font-size: 1px; +} +.l-btn span span .l-btn-empty { + display: inline-block; + margin: 0; + width: 16px; + height: 24px; + font-size: 1px; + vertical-align: top; +} +.l-btn span .l-btn-icon-left { + padding: 0 0 0 20px; + background-position: left center; +} +.l-btn span .l-btn-icon-right { + padding: 0 20px 0 0; + background-position: right center; +} +.l-btn-icon-left .l-btn-text { + margin: 0 4px 0 24px; +} +.l-btn-icon-left .l-btn-icon { + left: 4px; +} +.l-btn-icon-right .l-btn-text { + margin: 0 24px 0 4px; +} +.l-btn-icon-right .l-btn-icon { + right: 4px; +} +.l-btn-icon-top .l-btn-text { + margin: 20px 4px 0 4px; +} +.l-btn-icon-top .l-btn-icon { + top: 4px; + left: 50%; + margin: 0 0 0 -8px; +} +.l-btn-icon-bottom .l-btn-text { + margin: 0 4px 20px 4px; +} +.l-btn-icon-bottom .l-btn-icon { + top: auto; + bottom: 4px; + left: 50%; + margin: 0 0 0 -8px; +} +.l-btn-left .l-btn-empty { + margin: 0 4px; + width: 16px; +} +.l-btn-plain:hover { + padding: 0; +} +.l-btn-focus { + outline: #0000FF dotted thin; +} +.l-btn-large .l-btn-text { + line-height: 40px; +} +.l-btn-large .l-btn-icon { + width: 32px; + height: 32px; + line-height: 32px; + margin-top: -16px; +} +.l-btn-large .l-btn-icon-left .l-btn-text { + margin-left: 40px; +} +.l-btn-large .l-btn-icon-right .l-btn-text { + margin-right: 40px; +} +.l-btn-large .l-btn-icon-top .l-btn-text { + margin-top: 36px; + line-height: 24px; + min-width: 32px; +} +.l-btn-large .l-btn-icon-top .l-btn-icon { + margin: 0 0 0 -16px; +} +.l-btn-large .l-btn-icon-bottom .l-btn-text { + margin-bottom: 36px; + line-height: 24px; + min-width: 32px; +} +.l-btn-large .l-btn-icon-bottom .l-btn-icon { + margin: 0 0 0 -16px; +} +.l-btn-large .l-btn-left .l-btn-empty { + margin: 0 4px; + width: 32px; +} +.l-btn { + color: #777; + background: #ffffff; + background-repeat: repeat-x; + border: 1px solid #dddddd; + background: -webkit-linear-gradient(top,#ffffff 0,#ffffff 100%); + background: -moz-linear-gradient(top,#ffffff 0,#ffffff 100%); + background: -o-linear-gradient(top,#ffffff 0,#ffffff 100%); + background: linear-gradient(to bottom,#ffffff 0,#ffffff 100%); + background-repeat: repeat-x; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#ffffff,endColorstr=#ffffff,GradientType=0); + -moz-border-radius: 0px 0px 0px 0px; + -webkit-border-radius: 0px 0px 0px 0px; + border-radius: 0px 0px 0px 0px; +} +.l-btn:hover { + background: #E6E6E6; + color: #444; + border: 1px solid #ddd; + filter: none; +} +.l-btn-plain { + background: transparent; + border: 0; + filter: none; +} +.l-btn-plain:hover { + background: #E6E6E6; + color: #444; + border: 1px solid #ddd; + -moz-border-radius: 0px 0px 0px 0px; + -webkit-border-radius: 0px 0px 0px 0px; + border-radius: 0px 0px 0px 0px; +} +.l-btn-disabled, +.l-btn-disabled:hover { + opacity: 0.5; + cursor: default; + background: #ffffff; + color: #777; + background: -webkit-linear-gradient(top,#ffffff 0,#ffffff 100%); + background: -moz-linear-gradient(top,#ffffff 0,#ffffff 100%); + background: -o-linear-gradient(top,#ffffff 0,#ffffff 100%); + background: linear-gradient(to bottom,#ffffff 0,#ffffff 100%); + background-repeat: repeat-x; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#ffffff,endColorstr=#ffffff,GradientType=0); +} +.l-btn-disabled .l-btn-text, +.l-btn-disabled .l-btn-icon { + filter: alpha(opacity=50); +} +.l-btn-plain-disabled, +.l-btn-plain-disabled:hover { + background: transparent; + filter: alpha(opacity=50); +} +.l-btn-selected, +.l-btn-selected:hover { + background: #ddd; + filter: none; +} +.l-btn-plain-selected, +.l-btn-plain-selected:hover { + background: #ddd; +} +.textbox { + position: relative; + border: 1px solid #ddd; + background-color: #fff; + vertical-align: middle; + display: inline-block; + overflow: hidden; + white-space: nowrap; + margin: 0; + padding: 0; + -moz-border-radius: 0px 0px 0px 0px; + -webkit-border-radius: 0px 0px 0px 0px; + border-radius: 0px 0px 0px 0px; +} +.textbox .textbox-text { + font-size: 12px; + border: 0; + margin: 0; + padding: 4px; + white-space: normal; + vertical-align: top; + outline-style: none; + resize: none; + -moz-border-radius: 0px 0px 0px 0px; + -webkit-border-radius: 0px 0px 0px 0px; + border-radius: 0px 0px 0px 0px; +} +.textbox .textbox-prompt { + font-size: 12px; + color: #aaa; +} +.textbox-button, +.textbox-button:hover { + position: absolute; + top: 0; + padding: 0; + vertical-align: top; + -moz-border-radius: 0 0 0 0; + -webkit-border-radius: 0 0 0 0; + border-radius: 0 0 0 0; +} +.textbox-button-right, +.textbox-button-right:hover { + border-width: 0 0 0 1px; +} +.textbox-button-left, +.textbox-button-left:hover { + border-width: 0 1px 0 0; +} +.textbox-addon { + position: absolute; + top: 0; +} +.textbox-icon { + display: inline-block; + width: 18px; + height: 20px; + overflow: hidden; + vertical-align: top; + background-position: center center; + cursor: pointer; + opacity: 0.6; + filter: alpha(opacity=60); + text-decoration: none; + outline-style: none; +} +.textbox-icon-disabled, +.textbox-icon-readonly { + cursor: default; +} +.textbox-icon:hover { + opacity: 1.0; + filter: alpha(opacity=100); +} +.textbox-icon-disabled:hover { + opacity: 0.6; + filter: alpha(opacity=60); +} +.textbox-focused { + -moz-box-shadow: 0 0 3px 0 #ddd; + -webkit-box-shadow: 0 0 3px 0 #ddd; + box-shadow: 0 0 3px 0 #ddd; +} +.textbox-invalid { + border-color: #ffa8a8; + background-color: #fff3f3; +} +.filebox .textbox-value { + vertical-align: top; + position: absolute; + top: 0; + left: -5000px; +} +.combo { + display: inline-block; + white-space: nowrap; + margin: 0; + padding: 0; + border-width: 1px; + border-style: solid; + overflow: hidden; + vertical-align: middle; +} +.combo .combo-text { + font-size: 12px; + border: 0px; + margin: 0; + padding: 0px 2px; + vertical-align: baseline; +} +.combo-arrow { + width: 18px; + height: 20px; + overflow: hidden; + display: inline-block; + vertical-align: top; + cursor: pointer; + opacity: 0.6; + filter: alpha(opacity=60); +} +.combo-arrow-hover { + opacity: 1.0; + filter: alpha(opacity=100); +} +.combo-panel { + overflow: auto; +} +.combo-arrow { + background: url('images/combo_arrow.png') no-repeat center center; +} +.combo-panel { + background-color: #fff; +} +.combo { + border-color: #ddd; + background-color: #fff; +} +.combo-arrow { + background-color: #ffffff; +} +.combo-arrow-hover { + background-color: #E6E6E6; +} +.combo-arrow:hover { + background-color: #E6E6E6; +} +.combo .textbox-icon-disabled:hover { + cursor: default; +} +.textbox-invalid { + border-color: #ffa8a8; + background-color: #fff3f3; +} +.combobox-item, +.combobox-group { + font-size: 12px; + padding: 3px; + padding-right: 0px; +} +.combobox-item-disabled { + opacity: 0.5; + filter: alpha(opacity=50); +} +.combobox-gitem { + padding-left: 10px; +} +.combobox-group { + font-weight: bold; +} +.combobox-item-hover { + background-color: #E6E6E6; + color: #444; +} +.combobox-item-selected { + background-color: #CCE6FF; + color: #000; +} +.layout { + position: relative; + overflow: hidden; + margin: 0; + padding: 0; + z-index: 0; +} +.layout-panel { + position: absolute; + overflow: hidden; +} +.layout-panel-east, +.layout-panel-west { + z-index: 2; +} +.layout-panel-north, +.layout-panel-south { + z-index: 3; +} +.layout-expand { + position: absolute; + padding: 0px; + font-size: 1px; + cursor: pointer; + z-index: 1; +} +.layout-expand .panel-header, +.layout-expand .panel-body { + background: transparent; + filter: none; + overflow: hidden; +} +.layout-expand .panel-header { + border-bottom-width: 0px; +} +.layout-split-proxy-h, +.layout-split-proxy-v { + position: absolute; + font-size: 1px; + display: none; + z-index: 5; +} +.layout-split-proxy-h { + width: 5px; + cursor: e-resize; +} +.layout-split-proxy-v { + height: 5px; + cursor: n-resize; +} +.layout-mask { + position: absolute; + background: #fafafa; + filter: alpha(opacity=10); + opacity: 0.10; + z-index: 4; +} +.layout-button-up { + background: url('images/layout_arrows.png') no-repeat -16px -16px; +} +.layout-button-down { + background: url('images/layout_arrows.png') no-repeat -16px 0; +} +.layout-button-left { + background: url('images/layout_arrows.png') no-repeat 0 0; +} +.layout-button-right { + background: url('images/layout_arrows.png') no-repeat 0 -16px; +} +.layout-split-proxy-h, +.layout-split-proxy-v { + background-color: #b3b3b3; +} +.layout-split-north { + border-bottom: 5px solid #fff; +} +.layout-split-south { + border-top: 5px solid #fff; +} +.layout-split-east { + border-left: 5px solid #fff; +} +.layout-split-west { + border-right: 5px solid #fff; +} +.layout-expand { + background-color: #ffffff; +} +.layout-expand-over { + background-color: #ffffff; +} +.tabs-container { + overflow: hidden; +} +.tabs-header { + border-width: 1px; + border-style: solid; + border-bottom-width: 0; + position: relative; + padding: 0; + padding-top: 2px; + overflow: hidden; +} +.tabs-header-plain { + border: 0; + background: transparent; +} +.tabs-scroller-left, +.tabs-scroller-right { + position: absolute; + top: auto; + bottom: 0; + width: 18px; + font-size: 1px; + display: none; + cursor: pointer; + border-width: 1px; + border-style: solid; +} +.tabs-scroller-left { + left: 0; +} +.tabs-scroller-right { + right: 0; +} +.tabs-tool { + position: absolute; + bottom: 0; + padding: 1px; + overflow: hidden; + border-width: 1px; + border-style: solid; +} +.tabs-header-plain .tabs-tool { + padding: 0 1px; +} +.tabs-wrap { + position: relative; + left: 0; + overflow: hidden; + width: 100%; + margin: 0; + padding: 0; +} +.tabs-scrolling { + margin-left: 18px; + margin-right: 18px; +} +.tabs-disabled { + opacity: 0.3; + filter: alpha(opacity=30); +} +.tabs { + list-style-type: none; + height: 26px; + margin: 0px; + padding: 0px; + padding-left: 4px; + width: 50000px; + border-style: solid; + border-width: 0 0 1px 0; +} +.tabs li { + float: left; + display: inline-block; + margin: 0 4px -1px 0; + padding: 0; + position: relative; + border: 0; +} +.tabs li a.tabs-inner { + display: inline-block; + text-decoration: none; + margin: 0; + padding: 0 10px; + height: 25px; + line-height: 25px; + text-align: center; + white-space: nowrap; + border-width: 1px; + border-style: solid; + -moz-border-radius: 0px 0px 0 0; + -webkit-border-radius: 0px 0px 0 0; + border-radius: 0px 0px 0 0; +} +.tabs li.tabs-selected a.tabs-inner { + font-weight: bold; + outline: none; +} +.tabs li.tabs-selected a:hover.tabs-inner { + cursor: default; + pointer: default; +} +.tabs li a.tabs-close, +.tabs-p-tool { + position: absolute; + font-size: 1px; + display: block; + height: 12px; + padding: 0; + top: 50%; + margin-top: -6px; + overflow: hidden; +} +.tabs li a.tabs-close { + width: 12px; + right: 5px; + opacity: 0.6; + filter: alpha(opacity=60); +} +.tabs-p-tool { + right: 16px; +} +.tabs-p-tool a { + display: inline-block; + font-size: 1px; + width: 12px; + height: 12px; + margin: 0; + opacity: 0.6; + filter: alpha(opacity=60); +} +.tabs li a:hover.tabs-close, +.tabs-p-tool a:hover { + opacity: 1; + filter: alpha(opacity=100); + cursor: hand; + cursor: pointer; +} +.tabs-with-icon { + padding-left: 18px; +} +.tabs-icon { + position: absolute; + width: 16px; + height: 16px; + left: 10px; + top: 50%; + margin-top: -8px; +} +.tabs-title { + font-size: 12px; +} +.tabs-closable { + padding-right: 8px; +} +.tabs-panels { + margin: 0px; + padding: 0px; + border-width: 1px; + border-style: solid; + border-top-width: 0; + overflow: hidden; +} +.tabs-header-bottom { + border-width: 0 1px 1px 1px; + padding: 0 0 2px 0; +} +.tabs-header-bottom .tabs { + border-width: 1px 0 0 0; +} +.tabs-header-bottom .tabs li { + margin: -1px 4px 0 0; +} +.tabs-header-bottom .tabs li a.tabs-inner { + -moz-border-radius: 0 0 0px 0px; + -webkit-border-radius: 0 0 0px 0px; + border-radius: 0 0 0px 0px; +} +.tabs-header-bottom .tabs-tool { + top: 0; +} +.tabs-header-bottom .tabs-scroller-left, +.tabs-header-bottom .tabs-scroller-right { + top: 0; + bottom: auto; +} +.tabs-panels-top { + border-width: 1px 1px 0 1px; +} +.tabs-header-left { + float: left; + border-width: 1px 0 1px 1px; + padding: 0; +} +.tabs-header-right { + float: right; + border-width: 1px 1px 1px 0; + padding: 0; +} +.tabs-header-left .tabs-wrap, +.tabs-header-right .tabs-wrap { + height: 100%; +} +.tabs-header-left .tabs { + height: 100%; + padding: 4px 0 0 4px; + border-width: 0 1px 0 0; +} +.tabs-header-right .tabs { + height: 100%; + padding: 4px 4px 0 0; + border-width: 0 0 0 1px; +} +.tabs-header-left .tabs li, +.tabs-header-right .tabs li { + display: block; + width: 100%; + position: relative; +} +.tabs-header-left .tabs li { + left: auto; + right: 0; + margin: 0 -1px 4px 0; + float: right; +} +.tabs-header-right .tabs li { + left: 0; + right: auto; + margin: 0 0 4px -1px; + float: left; +} +.tabs-header-left .tabs li a.tabs-inner { + display: block; + text-align: left; + -moz-border-radius: 0px 0 0 0px; + -webkit-border-radius: 0px 0 0 0px; + border-radius: 0px 0 0 0px; +} +.tabs-header-right .tabs li a.tabs-inner { + display: block; + text-align: left; + -moz-border-radius: 0 0px 0px 0; + -webkit-border-radius: 0 0px 0px 0; + border-radius: 0 0px 0px 0; +} +.tabs-panels-right { + float: right; + border-width: 1px 1px 1px 0; +} +.tabs-panels-left { + float: left; + border-width: 1px 0 1px 1px; +} +.tabs-header-noborder, +.tabs-panels-noborder { + border: 0px; +} +.tabs-header-plain { + border: 0px; + background: transparent; +} +.tabs-scroller-left { + background: #ffffff url('images/tabs_icons.png') no-repeat 1px center; +} +.tabs-scroller-right { + background: #ffffff url('images/tabs_icons.png') no-repeat -15px center; +} +.tabs li a.tabs-close { + background: url('images/tabs_icons.png') no-repeat -34px center; +} +.tabs li a.tabs-inner:hover { + background: #E6E6E6; + color: #444; + filter: none; +} +.tabs li.tabs-selected a.tabs-inner { + background-color: #fff; + color: #777; +} +.tabs li a.tabs-inner { + color: #777; + background-color: #ffffff; +} +.tabs-header, +.tabs-tool { + background-color: #ffffff; +} +.tabs-header-plain { + background: transparent; +} +.tabs-header, +.tabs-scroller-left, +.tabs-scroller-right, +.tabs-tool, +.tabs, +.tabs-panels, +.tabs li a.tabs-inner, +.tabs li.tabs-selected a.tabs-inner, +.tabs-header-bottom .tabs li.tabs-selected a.tabs-inner, +.tabs-header-left .tabs li.tabs-selected a.tabs-inner, +.tabs-header-right .tabs li.tabs-selected a.tabs-inner { + border-color: #ddd; +} +.tabs-p-tool a:hover, +.tabs li a:hover.tabs-close, +.tabs-scroller-over { + background-color: #E6E6E6; +} +.tabs li.tabs-selected a.tabs-inner { + border-bottom: 1px solid #fff; +} +.tabs-header-bottom .tabs li.tabs-selected a.tabs-inner { + border-top: 1px solid #fff; +} +.tabs-header-left .tabs li.tabs-selected a.tabs-inner { + border-right: 1px solid #fff; +} +.tabs-header-right .tabs li.tabs-selected a.tabs-inner { + border-left: 1px solid #fff; +} +.datagrid .panel-body { + overflow: hidden; + position: relative; +} +.datagrid-view { + position: relative; + overflow: hidden; +} +.datagrid-view1, +.datagrid-view2 { + position: absolute; + overflow: hidden; + top: 0; +} +.datagrid-view1 { + left: 0; +} +.datagrid-view2 { + right: 0; +} +.datagrid-mask { + position: absolute; + left: 0; + top: 0; + width: 100%; + height: 100%; + opacity: 0.3; + filter: alpha(opacity=30); + display: none; +} +.datagrid-mask-msg { + position: absolute; + top: 50%; + margin-top: -20px; + padding: 10px 5px 10px 30px; + width: auto; + height: 16px; + border-width: 2px; + border-style: solid; + display: none; +} +.datagrid-sort-icon { + padding: 0; +} +.datagrid-toolbar { + height: auto; + padding: 1px 2px; + border-width: 0 0 1px 0; + border-style: solid; +} +.datagrid-btn-separator { + float: left; + height: 24px; + border-left: 1px solid #ddd; + border-right: 1px solid #fff; + margin: 2px 1px; +} +.datagrid .datagrid-pager { + display: block; + margin: 0; + border-width: 1px 0 0 0; + border-style: solid; +} +.datagrid .datagrid-pager-top { + border-width: 0 0 1px 0; +} +.datagrid-header { + overflow: hidden; + cursor: default; + border-width: 0 0 1px 0; + border-style: solid; +} +.datagrid-header-inner { + float: left; + width: 10000px; +} +.datagrid-header-row, +.datagrid-row { + height: 25px; +} +.datagrid-header td, +.datagrid-body td, +.datagrid-footer td { + border-width: 0 1px 1px 0; + border-style: dotted; + margin: 0; + padding: 0; +} +.datagrid-cell, +.datagrid-cell-group, +.datagrid-header-rownumber, +.datagrid-cell-rownumber { + margin: 0; + padding: 0 4px; + white-space: nowrap; + word-wrap: normal; + overflow: hidden; + height: 18px; + line-height: 18px; + font-size: 12px; +} +.datagrid-header .datagrid-cell { + height: auto; +} +.datagrid-header .datagrid-cell span { + font-size: 12px; +} +.datagrid-cell-group { + text-align: center; +} +.datagrid-header-rownumber, +.datagrid-cell-rownumber { + width: 25px; + text-align: center; + margin: 0; + padding: 0; +} +.datagrid-body { + margin: 0; + padding: 0; + overflow: auto; + zoom: 1; +} +.datagrid-view1 .datagrid-body-inner { + padding-bottom: 20px; +} +.datagrid-view1 .datagrid-body { + overflow: hidden; +} +.datagrid-footer { + overflow: hidden; +} +.datagrid-footer-inner { + border-width: 1px 0 0 0; + border-style: solid; + width: 10000px; + float: left; +} +.datagrid-row-editing .datagrid-cell { + height: auto; +} +.datagrid-header-check, +.datagrid-cell-check { + padding: 0; + width: 27px; + height: 18px; + font-size: 1px; + text-align: center; + overflow: hidden; +} +.datagrid-header-check input, +.datagrid-cell-check input { + margin: 0; + padding: 0; + width: 15px; + height: 18px; +} +.datagrid-resize-proxy { + position: absolute; + width: 1px; + height: 10000px; + top: 0; + cursor: e-resize; + display: none; +} +.datagrid-body .datagrid-editable { + margin: 0; + padding: 0; +} +.datagrid-body .datagrid-editable table { + width: 100%; + height: 100%; +} +.datagrid-body .datagrid-editable td { + border: 0; + margin: 0; + padding: 0; +} +.datagrid-view .datagrid-editable-input { + margin: 0; + padding: 2px 4px; + border: 1px solid #ddd; + font-size: 12px; + outline-style: none; + -moz-border-radius: 0 0 0 0; + -webkit-border-radius: 0 0 0 0; + border-radius: 0 0 0 0; +} +.datagrid-sort-desc .datagrid-sort-icon { + padding: 0 13px 0 0; + background: url('images/datagrid_icons.png') no-repeat -16px center; +} +.datagrid-sort-asc .datagrid-sort-icon { + padding: 0 13px 0 0; + background: url('images/datagrid_icons.png') no-repeat 0px center; +} +.datagrid-row-collapse { + background: url('images/datagrid_icons.png') no-repeat -48px center; +} +.datagrid-row-expand { + background: url('images/datagrid_icons.png') no-repeat -32px center; +} +.datagrid-mask-msg { + background: #fff url('images/loading.gif') no-repeat scroll 5px center; +} +.datagrid-header, +.datagrid-td-rownumber { + background-color: #ffffff; +} +.datagrid-cell-rownumber { + color: #444; +} +.datagrid-resize-proxy { + background: #b3b3b3; +} +.datagrid-mask { + background: #eee; +} +.datagrid-mask-msg { + border-color: #ddd; +} +.datagrid-toolbar, +.datagrid-pager { + background: #fff; +} +.datagrid-header, +.datagrid-toolbar, +.datagrid-pager, +.datagrid-footer-inner { + border-color: #ddd; +} +.datagrid-header td, +.datagrid-body td, +.datagrid-footer td { + border-color: #ddd; +} +.datagrid-htable, +.datagrid-btable, +.datagrid-ftable { + color: #444; + border-collapse: separate; +} +.datagrid-row-alt { + background: #f5f5f5; +} +.datagrid-row-over, +.datagrid-header td.datagrid-header-over { + background: #E6E6E6; + color: #444; + cursor: default; +} +.datagrid-row-selected { + background: #CCE6FF; + color: #000; +} +.datagrid-row-editing .textbox, +.datagrid-row-editing .textbox-text { + -moz-border-radius: 0 0 0 0; + -webkit-border-radius: 0 0 0 0; + border-radius: 0 0 0 0; +} +.propertygrid .datagrid-view1 .datagrid-body td { + padding-bottom: 1px; + border-width: 0 1px 0 0; +} +.propertygrid .datagrid-group { + height: 21px; + overflow: hidden; + border-width: 0 0 1px 0; + border-style: solid; +} +.propertygrid .datagrid-group span { + font-weight: bold; +} +.propertygrid .datagrid-view1 .datagrid-body td { + border-color: #ddd; +} +.propertygrid .datagrid-view1 .datagrid-group { + border-color: #ffffff; +} +.propertygrid .datagrid-view2 .datagrid-group { + border-color: #ddd; +} +.propertygrid .datagrid-group, +.propertygrid .datagrid-view1 .datagrid-body, +.propertygrid .datagrid-view1 .datagrid-row-over, +.propertygrid .datagrid-view1 .datagrid-row-selected { + background: #ffffff; +} +.pagination { + zoom: 1; +} +.pagination table { + float: left; + height: 30px; +} +.pagination td { + border: 0; +} +.pagination-btn-separator { + float: left; + height: 24px; + border-left: 1px solid #ddd; + border-right: 1px solid #fff; + margin: 3px 1px; +} +.pagination .pagination-num { + border-width: 1px; + border-style: solid; + margin: 0 2px; + padding: 2px; + width: 2em; + height: auto; +} +.pagination-page-list { + margin: 0px 6px; + padding: 1px 2px; + width: auto; + height: auto; + border-width: 1px; + border-style: solid; +} +.pagination-info { + float: right; + margin: 0 6px 0 0; + padding: 0; + height: 30px; + line-height: 30px; + font-size: 12px; +} +.pagination span { + font-size: 12px; +} +.pagination-link .l-btn-text { + width: 24px; + text-align: center; + margin: 0; +} +.pagination-first { + background: url('images/pagination_icons.png') no-repeat 0 center; +} +.pagination-prev { + background: url('images/pagination_icons.png') no-repeat -16px center; +} +.pagination-next { + background: url('images/pagination_icons.png') no-repeat -32px center; +} +.pagination-last { + background: url('images/pagination_icons.png') no-repeat -48px center; +} +.pagination-load { + background: url('images/pagination_icons.png') no-repeat -64px center; +} +.pagination-loading { + background: url('images/loading.gif') no-repeat center center; +} +.pagination-page-list, +.pagination .pagination-num { + border-color: #ddd; +} +.calendar { + border-width: 1px; + border-style: solid; + padding: 1px; + overflow: hidden; +} +.calendar table { + table-layout: fixed; + border-collapse: separate; + font-size: 12px; + width: 100%; + height: 100%; +} +.calendar table td, +.calendar table th { + font-size: 12px; +} +.calendar-noborder { + border: 0; +} +.calendar-header { + position: relative; + height: 22px; +} +.calendar-title { + text-align: center; + height: 22px; +} +.calendar-title span { + position: relative; + display: inline-block; + top: 2px; + padding: 0 3px; + height: 18px; + line-height: 18px; + font-size: 12px; + cursor: pointer; + -moz-border-radius: 0px 0px 0px 0px; + -webkit-border-radius: 0px 0px 0px 0px; + border-radius: 0px 0px 0px 0px; +} +.calendar-prevmonth, +.calendar-nextmonth, +.calendar-prevyear, +.calendar-nextyear { + position: absolute; + top: 50%; + margin-top: -7px; + width: 14px; + height: 14px; + cursor: pointer; + font-size: 1px; + -moz-border-radius: 0px 0px 0px 0px; + -webkit-border-radius: 0px 0px 0px 0px; + border-radius: 0px 0px 0px 0px; +} +.calendar-prevmonth { + left: 20px; + background: url('images/calendar_arrows.png') no-repeat -18px -2px; +} +.calendar-nextmonth { + right: 20px; + background: url('images/calendar_arrows.png') no-repeat -34px -2px; +} +.calendar-prevyear { + left: 3px; + background: url('images/calendar_arrows.png') no-repeat -1px -2px; +} +.calendar-nextyear { + right: 3px; + background: url('images/calendar_arrows.png') no-repeat -49px -2px; +} +.calendar-body { + position: relative; +} +.calendar-body th, +.calendar-body td { + text-align: center; +} +.calendar-day { + border: 0; + padding: 1px; + cursor: pointer; + -moz-border-radius: 0px 0px 0px 0px; + -webkit-border-radius: 0px 0px 0px 0px; + border-radius: 0px 0px 0px 0px; +} +.calendar-other-month { + opacity: 0.3; + filter: alpha(opacity=30); +} +.calendar-disabled { + opacity: 0.6; + filter: alpha(opacity=60); + cursor: default; +} +.calendar-menu { + position: absolute; + top: 0; + left: 0; + width: 180px; + height: 150px; + padding: 5px; + font-size: 12px; + display: none; + overflow: hidden; +} +.calendar-menu-year-inner { + text-align: center; + padding-bottom: 5px; +} +.calendar-menu-year { + width: 40px; + text-align: center; + border-width: 1px; + border-style: solid; + margin: 0; + padding: 2px; + font-weight: bold; + font-size: 12px; +} +.calendar-menu-prev, +.calendar-menu-next { + display: inline-block; + width: 21px; + height: 21px; + vertical-align: top; + cursor: pointer; + -moz-border-radius: 0px 0px 0px 0px; + -webkit-border-radius: 0px 0px 0px 0px; + border-radius: 0px 0px 0px 0px; +} +.calendar-menu-prev { + margin-right: 10px; + background: url('images/calendar_arrows.png') no-repeat 2px 2px; +} +.calendar-menu-next { + margin-left: 10px; + background: url('images/calendar_arrows.png') no-repeat -45px 2px; +} +.calendar-menu-month { + text-align: center; + cursor: pointer; + font-weight: bold; + -moz-border-radius: 0px 0px 0px 0px; + -webkit-border-radius: 0px 0px 0px 0px; + border-radius: 0px 0px 0px 0px; +} +.calendar-body th, +.calendar-menu-month { + color: #919191; +} +.calendar-day { + color: #444; +} +.calendar-sunday { + color: #CC2222; +} +.calendar-saturday { + color: #00ee00; +} +.calendar-today { + color: #0000ff; +} +.calendar-menu-year { + border-color: #ddd; +} +.calendar { + border-color: #ddd; +} +.calendar-header { + background: #ffffff; +} +.calendar-body, +.calendar-menu { + background: #fff; +} +.calendar-body th { + background: #fff; + padding: 2px 0; +} +.calendar-hover, +.calendar-nav-hover, +.calendar-menu-hover { + background-color: #E6E6E6; + color: #444; +} +.calendar-hover { + border: 1px solid #ddd; + padding: 0; +} +.calendar-selected { + background-color: #CCE6FF; + color: #000; + border: 1px solid #99cdff; + padding: 0; +} +.datebox-calendar-inner { + height: 180px; +} +.datebox-button { + height: 18px; + padding: 2px 5px; + text-align: center; +} +.datebox-button a { + font-size: 12px; + font-weight: bold; + text-decoration: none; + opacity: 0.6; + filter: alpha(opacity=60); +} +.datebox-button a:hover { + opacity: 1.0; + filter: alpha(opacity=100); +} +.datebox-current, +.datebox-close { + float: left; +} +.datebox-close { + float: right; +} +.datebox .combo-arrow { + background-image: url('images/datebox_arrow.png'); + background-position: center center; +} +.datebox-button { + background-color: #fff; +} +.datebox-button a { + color: #777; +} +.numberbox { + border: 1px solid #ddd; + margin: 0; + padding: 0 2px; + vertical-align: middle; +} +.textbox { + padding: 0; +} +.spinner { + display: inline-block; + white-space: nowrap; + margin: 0; + padding: 0; + border-width: 1px; + border-style: solid; + overflow: hidden; + vertical-align: middle; +} +.spinner .spinner-text { + font-size: 12px; + border: 0px; + margin: 0; + padding: 0 2px; + vertical-align: baseline; +} +.spinner-arrow { + background-color: #ffffff; + display: inline-block; + overflow: hidden; + vertical-align: top; + margin: 0; + padding: 0; + opacity: 1.0; + filter: alpha(opacity=100); + width: 18px; +} +.spinner-arrow-up, +.spinner-arrow-down { + opacity: 0.6; + filter: alpha(opacity=60); + display: block; + font-size: 1px; + width: 18px; + height: 10px; + width: 100%; + height: 50%; + outline-style: none; +} +.spinner-arrow-hover { + background-color: #E6E6E6; + opacity: 1.0; + filter: alpha(opacity=100); +} +.spinner-arrow-up:hover, +.spinner-arrow-down:hover { + opacity: 1.0; + filter: alpha(opacity=100); + background-color: #E6E6E6; +} +.textbox-icon-disabled .spinner-arrow-up:hover, +.textbox-icon-disabled .spinner-arrow-down:hover { + opacity: 0.6; + filter: alpha(opacity=60); + background-color: #ffffff; + cursor: default; +} +.spinner .textbox-icon-disabled { + opacity: 0.6; + filter: alpha(opacity=60); +} +.spinner-arrow-up { + background: url('images/spinner_arrows.png') no-repeat 1px center; +} +.spinner-arrow-down { + background: url('images/spinner_arrows.png') no-repeat -15px center; +} +.spinner { + border-color: #ddd; +} +.progressbar { + border-width: 1px; + border-style: solid; + -moz-border-radius: 0px 0px 0px 0px; + -webkit-border-radius: 0px 0px 0px 0px; + border-radius: 0px 0px 0px 0px; + overflow: hidden; + position: relative; +} +.progressbar-text { + text-align: center; + position: absolute; +} +.progressbar-value { + position: relative; + overflow: hidden; + width: 0; + -moz-border-radius: 0px 0 0 0px; + -webkit-border-radius: 0px 0 0 0px; + border-radius: 0px 0 0 0px; +} +.progressbar { + border-color: #ddd; +} +.progressbar-text { + color: #444; + font-size: 12px; +} +.progressbar-value .progressbar-text { + background-color: #CCE6FF; + color: #000; +} +.searchbox { + display: inline-block; + white-space: nowrap; + margin: 0; + padding: 0; + border-width: 1px; + border-style: solid; + overflow: hidden; + vertical-align: middle; +} +.searchbox .searchbox-text { + font-size: 12px; + border: 0; + margin: 0; + padding: 0 2px; + vertical-align: top; +} +.searchbox .searchbox-prompt { + font-size: 12px; + color: #ccc; +} +.searchbox-button { + width: 18px; + height: 20px; + overflow: hidden; + display: inline-block; + vertical-align: top; + cursor: pointer; + opacity: 0.6; + filter: alpha(opacity=60); +} +.searchbox-button-hover { + opacity: 1.0; + filter: alpha(opacity=100); +} +.searchbox .l-btn-plain { + border: 0; + padding: 0; + vertical-align: top; + opacity: 0.6; + filter: alpha(opacity=60); + -moz-border-radius: 0 0 0 0; + -webkit-border-radius: 0 0 0 0; + border-radius: 0 0 0 0; +} +.searchbox .l-btn-plain:hover { + border: 0; + padding: 0; + opacity: 1.0; + filter: alpha(opacity=100); + -moz-border-radius: 0 0 0 0; + -webkit-border-radius: 0 0 0 0; + border-radius: 0 0 0 0; +} +.searchbox a.m-btn-plain-active { + -moz-border-radius: 0 0 0 0; + -webkit-border-radius: 0 0 0 0; + border-radius: 0 0 0 0; +} +.searchbox .m-btn-active { + border-width: 0 1px 0 0; + -moz-border-radius: 0 0 0 0; + -webkit-border-radius: 0 0 0 0; + border-radius: 0 0 0 0; +} +.searchbox .textbox-button-right { + border-width: 0 0 0 1px; +} +.searchbox .textbox-button-left { + border-width: 0 1px 0 0; +} +.searchbox-button { + background: url('images/searchbox_button.png') no-repeat center center; +} +.searchbox { + border-color: #ddd; + background-color: #fff; +} +.searchbox .l-btn-plain { + background: #ffffff; +} +.searchbox .l-btn-plain-disabled, +.searchbox .l-btn-plain-disabled:hover { + opacity: 0.5; + filter: alpha(opacity=50); +} +.textbox-invalid { + border-color: #ffa8a8; + background-color: #fff3f3; +} +.slider-disabled { + opacity: 0.5; + filter: alpha(opacity=50); +} +.slider-h { + height: 22px; +} +.slider-v { + width: 22px; +} +.slider-inner { + position: relative; + height: 6px; + top: 7px; + border-width: 1px; + border-style: solid; + border-radius: 0px; +} +.slider-handle { + position: absolute; + display: block; + outline: none; + width: 20px; + height: 20px; + top: 50%; + margin-top: -10px; + margin-left: -10px; +} +.slider-tip { + position: absolute; + display: inline-block; + line-height: 12px; + font-size: 12px; + white-space: nowrap; + top: -22px; +} +.slider-rule { + position: relative; + top: 15px; +} +.slider-rule span { + position: absolute; + display: inline-block; + font-size: 0; + height: 5px; + border-width: 0 0 0 1px; + border-style: solid; +} +.slider-rulelabel { + position: relative; + top: 20px; +} +.slider-rulelabel span { + position: absolute; + display: inline-block; + font-size: 12px; +} +.slider-v .slider-inner { + width: 6px; + left: 7px; + top: 0; + float: left; +} +.slider-v .slider-handle { + left: 50%; + margin-top: -10px; +} +.slider-v .slider-tip { + left: -10px; + margin-top: -6px; +} +.slider-v .slider-rule { + float: left; + top: 0; + left: 16px; +} +.slider-v .slider-rule span { + width: 5px; + height: 'auto'; + border-left: 0; + border-width: 1px 0 0 0; + border-style: solid; +} +.slider-v .slider-rulelabel { + float: left; + top: 0; + left: 23px; +} +.slider-handle { + background: url('images/slider_handle.png') no-repeat; +} +.slider-inner { + border-color: #ddd; + background: #ffffff; +} +.slider-rule span { + border-color: #ddd; +} +.slider-rulelabel span { + color: #444; +} +.menu { + position: absolute; + margin: 0; + padding: 2px; + border-width: 1px; + border-style: solid; + overflow: hidden; +} +.menu-item { + position: relative; + margin: 0; + padding: 0; + overflow: hidden; + white-space: nowrap; + cursor: pointer; + border-width: 1px; + border-style: solid; +} +.menu-text { + height: 20px; + line-height: 20px; + float: left; + padding-left: 28px; +} +.menu-icon { + position: absolute; + width: 16px; + height: 16px; + left: 2px; + top: 50%; + margin-top: -8px; +} +.menu-rightarrow { + position: absolute; + width: 16px; + height: 16px; + right: 0; + top: 50%; + margin-top: -8px; +} +.menu-line { + position: absolute; + left: 26px; + top: 0; + height: 2000px; + font-size: 1px; +} +.menu-sep { + margin: 3px 0px 3px 25px; + font-size: 1px; +} +.menu-active { + -moz-border-radius: 0px 0px 0px 0px; + -webkit-border-radius: 0px 0px 0px 0px; + border-radius: 0px 0px 0px 0px; +} +.menu-item-disabled { + opacity: 0.5; + filter: alpha(opacity=50); + cursor: default; +} +.menu-text, +.menu-text span { + font-size: 12px; +} +.menu-shadow { + position: absolute; + -moz-border-radius: 0px 0px 0px 0px; + -webkit-border-radius: 0px 0px 0px 0px; + border-radius: 0px 0px 0px 0px; + background: #eee; + -moz-box-shadow: 2px 2px 3px #ededed; + -webkit-box-shadow: 2px 2px 3px #ededed; + box-shadow: 2px 2px 3px #ededed; + filter: progid:DXImageTransform.Microsoft.Blur(pixelRadius=2,MakeShadow=false,ShadowOpacity=0.2); +} +.menu-rightarrow { + background: url('images/menu_arrows.png') no-repeat -32px center; +} +.menu-line { + border-left: 1px solid #ddd; + border-right: 1px solid #fff; +} +.menu-sep { + border-top: 1px solid #ddd; + border-bottom: 1px solid #fff; +} +.menu { + background-color: #ffffff; + border-color: #ddd; + color: #444; +} +.menu-content { + background: #fff; +} +.menu-item { + border-color: transparent; + _border-color: #ffffff; +} +.menu-active { + border-color: #ddd; + color: #444; + background: #E6E6E6; +} +.menu-active-disabled { + border-color: transparent; + background: transparent; + color: #444; +} +.m-btn-downarrow, +.s-btn-downarrow { + display: inline-block; + position: absolute; + width: 16px; + height: 16px; + font-size: 1px; + right: 0; + top: 50%; + margin-top: -8px; +} +.m-btn-active, +.s-btn-active { + background: #E6E6E6; + color: #444; + border: 1px solid #ddd; + filter: none; +} +.m-btn-plain-active, +.s-btn-plain-active { + background: transparent; + padding: 0; + border-width: 1px; + border-style: solid; + -moz-border-radius: 0px 0px 0px 0px; + -webkit-border-radius: 0px 0px 0px 0px; + border-radius: 0px 0px 0px 0px; +} +.m-btn .l-btn-left .l-btn-text { + margin-right: 20px; +} +.m-btn .l-btn-icon-right .l-btn-text { + margin-right: 40px; +} +.m-btn .l-btn-icon-right .l-btn-icon { + right: 20px; +} +.m-btn .l-btn-icon-top .l-btn-text { + margin-right: 4px; + margin-bottom: 14px; +} +.m-btn .l-btn-icon-bottom .l-btn-text { + margin-right: 4px; + margin-bottom: 34px; +} +.m-btn .l-btn-icon-bottom .l-btn-icon { + top: auto; + bottom: 20px; +} +.m-btn .l-btn-icon-top .m-btn-downarrow, +.m-btn .l-btn-icon-bottom .m-btn-downarrow { + top: auto; + bottom: 0px; + left: 50%; + margin-left: -8px; +} +.m-btn-line { + display: inline-block; + position: absolute; + font-size: 1px; + display: none; +} +.m-btn .l-btn-left .m-btn-line { + right: 0; + width: 16px; + height: 500px; + border-style: solid; + border-color: #b3b3b3; + border-width: 0 0 0 1px; +} +.m-btn .l-btn-icon-top .m-btn-line, +.m-btn .l-btn-icon-bottom .m-btn-line { + left: 0; + bottom: 0; + width: 500px; + height: 16px; + border-width: 1px 0 0 0; +} +.m-btn-large .l-btn-icon-right .l-btn-text { + margin-right: 56px; +} +.m-btn-large .l-btn-icon-bottom .l-btn-text { + margin-bottom: 50px; +} +.m-btn-downarrow, +.s-btn-downarrow { + background: url('images/menu_arrows.png') no-repeat 0 center; +} +.m-btn-plain-active, +.s-btn-plain-active { + border-color: #ddd; + background-color: #E6E6E6; + color: #444; +} +.s-btn:hover .m-btn-line, +.s-btn-active .m-btn-line, +.s-btn-plain-active .m-btn-line { + display: inline-block; +} +.l-btn:hover .s-btn-downarrow, +.s-btn-active .s-btn-downarrow, +.s-btn-plain-active .s-btn-downarrow { + border-style: solid; + border-color: #b3b3b3; + border-width: 0 0 0 1px; +} +.messager-body { + padding: 10px; + overflow: hidden; +} +.messager-button { + text-align: center; + padding-top: 10px; +} +.messager-button .l-btn { + width: 70px; +} +.messager-icon { + float: left; + width: 32px; + height: 32px; + margin: 0 10px 10px 0; +} +.messager-error { + background: url('images/messager_icons.png') no-repeat scroll -64px 0; +} +.messager-info { + background: url('images/messager_icons.png') no-repeat scroll 0 0; +} +.messager-question { + background: url('images/messager_icons.png') no-repeat scroll -32px 0; +} +.messager-warning { + background: url('images/messager_icons.png') no-repeat scroll -96px 0; +} +.messager-progress { + padding: 10px; +} +.messager-p-msg { + margin-bottom: 5px; +} +.messager-body .messager-input { + width: 100%; + padding: 1px 0; + border: 1px solid #ddd; +} +.tree { + margin: 0; + padding: 0; + list-style-type: none; +} +.tree li { + white-space: nowrap; +} +.tree li ul { + list-style-type: none; + margin: 0; + padding: 0; +} +.tree-node { + height: 18px; + white-space: nowrap; + cursor: pointer; +} +.tree-hit { + cursor: pointer; +} +.tree-expanded, +.tree-collapsed, +.tree-folder, +.tree-file, +.tree-checkbox, +.tree-indent { + display: inline-block; + width: 16px; + height: 18px; + vertical-align: top; + overflow: hidden; +} +.tree-expanded { + background: url('images/tree_icons.png') no-repeat -18px 0px; +} +.tree-expanded-hover { + background: url('images/tree_icons.png') no-repeat -50px 0px; +} +.tree-collapsed { + background: url('images/tree_icons.png') no-repeat 0px 0px; +} +.tree-collapsed-hover { + background: url('images/tree_icons.png') no-repeat -32px 0px; +} +.tree-lines .tree-expanded, +.tree-lines .tree-root-first .tree-expanded { + background: url('images/tree_icons.png') no-repeat -144px 0; +} +.tree-lines .tree-collapsed, +.tree-lines .tree-root-first .tree-collapsed { + background: url('images/tree_icons.png') no-repeat -128px 0; +} +.tree-lines .tree-node-last .tree-expanded, +.tree-lines .tree-root-one .tree-expanded { + background: url('images/tree_icons.png') no-repeat -80px 0; +} +.tree-lines .tree-node-last .tree-collapsed, +.tree-lines .tree-root-one .tree-collapsed { + background: url('images/tree_icons.png') no-repeat -64px 0; +} +.tree-line { + background: url('images/tree_icons.png') no-repeat -176px 0; +} +.tree-join { + background: url('images/tree_icons.png') no-repeat -192px 0; +} +.tree-joinbottom { + background: url('images/tree_icons.png') no-repeat -160px 0; +} +.tree-folder { + background: url('images/tree_icons.png') no-repeat -208px 0; +} +.tree-folder-open { + background: url('images/tree_icons.png') no-repeat -224px 0; +} +.tree-file { + background: url('images/tree_icons.png') no-repeat -240px 0; +} +.tree-loading { + background: url('images/loading.gif') no-repeat center center; +} +.tree-checkbox0 { + background: url('images/tree_icons.png') no-repeat -208px -18px; +} +.tree-checkbox1 { + background: url('images/tree_icons.png') no-repeat -224px -18px; +} +.tree-checkbox2 { + background: url('images/tree_icons.png') no-repeat -240px -18px; +} +.tree-title { + font-size: 12px; + display: inline-block; + text-decoration: none; + vertical-align: top; + white-space: nowrap; + padding: 0 2px; + height: 18px; + line-height: 18px; +} +.tree-node-proxy { + font-size: 12px; + line-height: 20px; + padding: 0 2px 0 20px; + border-width: 1px; + border-style: solid; + z-index: 9900000; +} +.tree-dnd-icon { + display: inline-block; + position: absolute; + width: 16px; + height: 18px; + left: 2px; + top: 50%; + margin-top: -9px; +} +.tree-dnd-yes { + background: url('images/tree_icons.png') no-repeat -256px 0; +} +.tree-dnd-no { + background: url('images/tree_icons.png') no-repeat -256px -18px; +} +.tree-node-top { + border-top: 1px dotted red; +} +.tree-node-bottom { + border-bottom: 1px dotted red; +} +.tree-node-append .tree-title { + border: 1px dotted red; +} +.tree-editor { + border: 1px solid #ccc; + font-size: 12px; + height: 14px !important; + height: 18px; + line-height: 14px; + padding: 1px 2px; + width: 80px; + position: absolute; + top: 0; +} +.tree-node-proxy { + background-color: #fff; + color: #444; + border-color: #ddd; +} +.tree-node-hover { + background: #E6E6E6; + color: #444; +} +.tree-node-selected { + background: #CCE6FF; + color: #000; +} +.validatebox-invalid { + border-color: #ffa8a8; + background-color: #fff3f3; + color: #000; +} +.tooltip { + position: absolute; + display: none; + z-index: 9900000; + outline: none; + opacity: 1; + filter: alpha(opacity=100); + padding: 5px; + border-width: 1px; + border-style: solid; + border-radius: 5px; + -moz-border-radius: 0px 0px 0px 0px; + -webkit-border-radius: 0px 0px 0px 0px; + border-radius: 0px 0px 0px 0px; +} +.tooltip-content { + font-size: 12px; +} +.tooltip-arrow-outer, +.tooltip-arrow { + position: absolute; + width: 0; + height: 0; + line-height: 0; + font-size: 0; + border-style: solid; + border-width: 6px; + border-color: transparent; + _border-color: tomato; + _filter: chroma(color=tomato); +} +.tooltip-right .tooltip-arrow-outer { + left: 0; + top: 50%; + margin: -6px 0 0 -13px; +} +.tooltip-right .tooltip-arrow { + left: 0; + top: 50%; + margin: -6px 0 0 -12px; +} +.tooltip-left .tooltip-arrow-outer { + right: 0; + top: 50%; + margin: -6px -13px 0 0; +} +.tooltip-left .tooltip-arrow { + right: 0; + top: 50%; + margin: -6px -12px 0 0; +} +.tooltip-top .tooltip-arrow-outer { + bottom: 0; + left: 50%; + margin: 0 0 -13px -6px; +} +.tooltip-top .tooltip-arrow { + bottom: 0; + left: 50%; + margin: 0 0 -12px -6px; +} +.tooltip-bottom .tooltip-arrow-outer { + top: 0; + left: 50%; + margin: -13px 0 0 -6px; +} +.tooltip-bottom .tooltip-arrow { + top: 0; + left: 50%; + margin: -12px 0 0 -6px; +} +.tooltip { + background-color: #fff; + border-color: #ddd; + color: #444; +} +.tooltip-right .tooltip-arrow-outer { + border-right-color: #ddd; +} +.tooltip-right .tooltip-arrow { + border-right-color: #fff; +} +.tooltip-left .tooltip-arrow-outer { + border-left-color: #ddd; +} +.tooltip-left .tooltip-arrow { + border-left-color: #fff; +} +.tooltip-top .tooltip-arrow-outer { + border-top-color: #ddd; +} +.tooltip-top .tooltip-arrow { + border-top-color: #fff; +} +.tooltip-bottom .tooltip-arrow-outer { + border-bottom-color: #ddd; +} +.tooltip-bottom .tooltip-arrow { + border-bottom-color: #fff; +} diff --git a/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/themes/metro/filebox.css b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/themes/metro/filebox.css new file mode 100644 index 00000000..6077ebdc --- /dev/null +++ b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/themes/metro/filebox.css @@ -0,0 +1,6 @@ +.filebox .textbox-value { + vertical-align: top; + position: absolute; + top: 0; + left: -5000px; +} diff --git a/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/themes/metro/images/accordion_arrows.png b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/themes/metro/images/accordion_arrows.png new file mode 100644 index 0000000000000000000000000000000000000000..720835f69c96c17ec32a20b03ac9753aa59b7f4f GIT binary patch literal 184 zcmeAS@N?(olHy`uVBq!ia0vp^3P3Et!3HGD8EPYeRK2H*V@SoVUT_Y-nKxaI`{RC0WjSLJ&w^R(C-|JQTojLXc1&{d*_z{$ jW+oTMdQ(F|jDg|L>K${_)^zO#I)%a0)z4*}Q$iB}_fAN- literal 0 HcmV?d00001 diff --git a/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/themes/metro/images/blank.gif b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/themes/metro/images/blank.gif new file mode 100644 index 0000000000000000000000000000000000000000..1d11fa9ada9e93505b3d736acb204083f45d5fbf GIT binary patch literal 43 scmZ?wbhEHbWMp7uX!y@?;J^U}1_s5SEQ~;kK?g*DWEhy3To@Uw0n;G|I{*Lx literal 0 HcmV?d00001 diff --git a/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/themes/metro/images/calendar_arrows.png b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/themes/metro/images/calendar_arrows.png new file mode 100644 index 0000000000000000000000000000000000000000..430c4ad685b8c0068ecb7e3cbef74f493a84ad0d GIT binary patch literal 173 zcmeAS@N?(olHy`uVBq!ia0vp^4nQox!3HFkJ+IURQYD@)jv*Dd-cCEn)nLHm{QbZE z+q@uWwandfr?Jb4eDYYmB3UAt=OO2Vt+MMT&+KD%&6hZDt!FBpej;sEpMN69^tKl% zp6y<4_lG^P z=;=eQ4Vs74-2)Ua&f1tcVdk$#{GPKe@&?ZMHmT&SMw?IV&w7)}ixLbB3d$Zg{&KGb P8OPx1>gTe~DWM4f WNYm=W^A8UI00005OC%H;f`~O(q$Q#t2<^v$A>fbmv%e#dKTwK=Ku{5lS|}<-`a#7b zzTCOnnT>at)D}AMFuOZ5&%EqFN(lyumd$2ASF6=;nM~%2?gqc@U=#|4PqkX@EBo-9 z7pD#bO_RUa>*faM`8;MYfVi$JnB-zcBFc6gjl$d!bF98Q!!!(Z1_R~P?e!pt#6CHJ9S&n_n&@=9 z%GP;!@Co4c*at+6vNz7o(6en^Q1%qHrc;1)9IRaz-$@S$Z-qdC^ds3X0NvQH;KS)D z-dh&rW&@X;1cS(45z)J&BVt+tv&GMVJ%!EiW) zLBGZW)#Z+gl-Lih&?>X3SS-S#ujQ;9JRXmIB7X)8`d6ETj)D#Q2+$s|<_b7-B9Xvq zwNfqlEp%y3$uY`h{Y$(Gn5@}sqEsq95lpAkFO5dyBmP6^H-51G4J|rN2Ujt<`2YX_ M07*qoM6N<$fRl}UZ@-Co%Cq`k{wEj}Dr>ShP9AQ|IKKA30{ejJboVoF`C-z@6mZMY&%Wiz%6S}#zb4u?o?9Mi=ECopVxzz+sNviAA!DK)mm8xe zgY9ZT9jlddc^&y2^u9XqDeU4{8s^AS#8C7TXsxEJW@uLu(3Whc35-X6v}jEgEb{G` z!{)$uKzw<~%0A6PhNHYfSuTvOzD8LpPF>PVr=&QqGC936QlPgc6j2;SWMDuL>F^vlqEUI{oOgO!xNf*11TukM z6kTZ3V2qd3<~<$H&Lrt?SpXUxF5Zb^}(={r!EHE+$QMdH|XZ zSYbMyc0tQc3qbP$tG{U_Jyg>I(0srOscEGU?-T)4AzuS$_2J>6`+BJ50YDY<^>2vV z+uI880P2ui(hyHiPrK$)CkbHg=kD&V3^8pD z0v3QOB&8eT@87?rgaGPrb#+ySxU;jP=nkL`nZ_{0e*BD+1Tc5b&d$oLo}8R$90gF1 z^ij>~#>R%HIRNUB_kgpQ+Lg!80Gbb2saY8>1EBeUm7A3TegK*dSciv)Wqp0!h-3im z1+1f^qq4iZ+ZEMUS63~e0I+zh`2rwd0l@!F(!7sM%_`|&0+*B!z{1(u+A9BIU&~T- z2he=L>dmc7TLXZFkeTeCHMcE|qX51{z>0ZC=xGjss*FaXGOMX+dHf8Z8hL6ntGQ_z zF9V<&dwY9jh`D7czyqj4g3S=~)zFA!0980RI4DC*Ez1%L09D8%=OHF&S@Q*;3bRfe zeL2-ZzyeT(Av4`$>R3`j096>WH7BOELD3yR70%Dk%Mk4)1W=73OH{L_UgIc$YFu7k zmRaq`&NxK?Rk*skDzlhL4IV!OsLJ*Ab@{BRT^TO}pgQC6xO~R6G8o_oU?C)>`xlc2 zriH~zU-;g$PyPA_&X!OBSU6SIeB~eKNAhF&(fs&F|1n9<+Yj^2T+4Dj%UFjr zZ%rnX^7Qmn0ANwP308gILtaQfK0Z1j0Br`Wq<=~Ka+?BxW&>7kRtZ+q>C~wJXg6S` zW|cJ1%?d#C0V@Ue)T{uY>425ig?tTsczEc(0+M8_c7^t|!sm-1Nw(}#nnLr?FgGlc zY}ut0+w(d)Uk6FDWtY;*aCdjteIX>tmhA#o+8PqHNU~+SlrTfyKRaNHBx~Ch-FJ3& z%B(Y&NwStp{rH$6Yj{YqhR=Gk~Mtw_&K$#yeTBf z7JV~bCN(VwL$c|B^>Topn-X{+7;S!yV~2^ zBgv-iMkME}U;-COwrsbABDvwg!2wA&ZMWttf5^jTl5E*7V41=|@=Hu>NJ^O8(7b4p z&ChgC(LF5>Md#{+4LgS{%KA|H(Xv`l4P^KdiBKB*_;1&m|Q7!{|O$ k%vVK{T!hwqk^D0L0mO==@4IV9lK=n!07*qoM6N<$f|Ge;n*aa+ literal 0 HcmV?d00001 diff --git a/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/themes/metro/images/loading.gif b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/themes/metro/images/loading.gif new file mode 100644 index 0000000000000000000000000000000000000000..68f01d04813c1f622810864a3aaa04b4a17ac8f9 GIT binary patch literal 1737 zcmaKsX;2e)7>CzDa{xjjy99|1A!tC(kfocDi)<1$AxHpOQ4k^l!Vx1W6x7<&|FYXU zqO4jEiU-!VR1p+Xj1?4-iuI_J;!&?!+ghg|JJad3U)pMGzcKxNeCM6tJnuX+uPvX@ zZY|=AHdxt2Xr2y*)5|c6#FSEuyJ+Y3Z&l z2hJWo`9;lJ$6wzSoW60tqkB|d$oiO*d-^85^ojn{*NR{MP*%{@H*#gihZ8BKyB68E z-MIbjgNNV0y5khpJ^Jv`51aR%={<4jhaVq5e*9D5+*hL)XCHn4{^d%hPu@?KpKbc=eN!D=XUjDmH#n{YHNS zHCX6BV)yn2CuTNujhN~V+`RKpyXO6^ht92eqhIIlQLfz6eeCnH_C7`NPNrw9ks366 z4xX9(`s~z=+1uX^ocZ$2_fBs=JihPfWYufOIuD&AU-@`>>qn~cy$1)T7CU!5z2(U8 z)9Kt9)l`f6?NU41j6XbXfR{OHwm|T4}&24tIf+!C-g~6cQfY2^n$?AT&ZW zgqm`}3-jS2NS6n=k;sr5Hv(Q%%n)qW0X|neWVBd;Ko}d(=u%?{O0-a>kSI}shOd9n z5top}%gUCf=>?tg;*;#7!^HOL3k$fMxd=O-6Y4@%u8LS)C1D_a?27R6^vcC+6tttL z)GmTahbyJB!xmcHL#ya8ZXyfRl)a!N0BJE0y3BBfAV5;#=K&Z2VkaKZ)?9`1h5P_% znt*b}%j1|#j`b|aQDx@~wA#$PYRN2xE6UO;;vE(@$&xww-s8fZ5HmJ(eJ*rQrDbaawDbrfe_8F(wq{ge?)qQG`aXV;r(*6EM|ESje;52aFmrX!f=Pw^2oGQX$1|o4yts|b_5@w_kNwtl{wDP#JGMvIp#!SYX?Wq9S&`&_ZwkgGH5CLB7DEGJ6=R4J~p3Z4i^A}hs=-uZeD zs92l6u@**R$~L()G{5N8*7cE5-q$SCo`q4|NSVF*+A7&xZnypm$EdXgf)E%(VJHFD zSgi(H!D!(;9Zcc#GrCCJh=RlvXBQ-hv4Vodse`a32ZUFWgP5ZhM5LeV(#D^H8p@Lg ztra5R32z@1rQv{6u&RZL5%Z@Ye{q|t#6aM_1hIrpl@)oH6}os*cbAQywa{5<`ekzW O1il%9bk82&KlvLjD^%40 literal 0 HcmV?d00001 diff --git a/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/themes/metro/images/menu_arrows.png b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/themes/metro/images/menu_arrows.png new file mode 100644 index 0000000000000000000000000000000000000000..b986842e7e4044caed18edbcb4b376a4bb915623 GIT binary patch literal 160 zcmeAS@N?(olHy`uVBq!ia0vp^4nQox!3HFkJ+IURQt6&9jv*Dd-cB{-J7B=U{PTZ! zWrKV9%Z3|Wt5t$(gq+#d+-OocB$0fsr9DfRx52vPhSu$$+yXuy+69hDZ54DDTxx#r zL7>-12UT01v)>tZ+;HI4pDNf?@KK~EC$@35ykmXyu^HJF3})N>8P9Uwo&~g$!PC{x JWt~$(697!FIeGv9 literal 0 HcmV?d00001 diff --git a/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/themes/metro/images/messager_icons.png b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/themes/metro/images/messager_icons.png new file mode 100644 index 0000000000000000000000000000000000000000..62c18c135860351063ebaabe8c0f4df7664b8f65 GIT binary patch literal 6116 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 literal 0 HcmV?d00001 diff --git a/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/themes/metro/images/spinner_arrows.png b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/themes/metro/images/spinner_arrows.png new file mode 100644 index 0000000000000000000000000000000000000000..b68592de3200fbe1f7defe98a2b59b0398b1b737 GIT binary patch literal 115 zcmeAS@N?(olHy`uVBq!ia0vp^3P3Et!3HGD8EPYel$EE8V@SoV_tDnm{r-UW|t3f!- literal 0 HcmV?d00001 diff --git a/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/themes/metro/images/tree_icons.png b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/themes/metro/images/tree_icons.png new file mode 100644 index 0000000000000000000000000000000000000000..e9be4f3a9965e49a4e4078f8c53f486d761a7468 GIT binary patch literal 3115 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 literal 0 HcmV?d00001 diff --git a/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/themes/metro/images/validatebox_warning.png b/src/demo/manager/src/main/webapp/assets/js/jquery-easyui-1.4.1/themes/metro/images/validatebox_warning.png new file mode 100644 index 0000000000000000000000000000000000000000..2b3d4f05babf3f82b146350e96570fac02075de0 GIT binary patch literal 921 zcmV;K17`e*P)nRv1_mBsMY*-M^XCf)eflW5 z|MC^)Hw+AW{sHCCF+cz@{fF8J!+#-kxoSv=7^|!zgOQUngSQ}mDo|J)n+pH}hzZ#= zr~y18$_m-?9v%$;?mu8);}>9vFgFvDXJDwrW&l6{p}625M66yTFhGz^K$w9^O$BHi zFN2Ym7DIple*#cW4BY^L0Al(Jbv6k9U|^6IQBp{hx3XdQ&CJ4Z_|YSVr@XujY(PVT zlok1<85nBO4FCurumK>O|A07*jFlSRUcxLAQVcIR*co#3@)&jj4Pj7KXRri%#h;fa z4ya5O*#Lk5Vq!q}T~=CGH(uV-hJk^fkAYoGjN#AMuMF($>N=giWG}IXse|=+c=i>7HEg>%*E%fLD!-uy|85n^6W?^Dt(9zXp5EB&z+w>_knBmdiKMbzi z?A!`WOl>e100a=&05*1xZdFls?*HtZ48H?o7=HW%ivIu45E2~BASWx!@DIpmv9e}h zaPwji|L}pqor@y`=yxrU0RRES^qYY}O;TRcU+DKIhL4`%3_nyf8U6tS<<-ZJ40D$( zWjJ%`G6NIPHNP2{7am*Fp% z{>ShK#0G`~kjd~57_BU=0)&&i(t,!r)}}),e(function(){var t=document.body,n=t.appendChild(n=document.createElement("div"));n.offsetHeight,e.extend(n.style,{minHeight:"100px",height:"auto",padding:0,borderWidth:0}),e.support.minHeight=n.offsetHeight===100,e.support.selectstart="onselectstart"in n,t.removeChild(n).style.display="none"}),e("").outerWidth(1).jquery||e.each(["Width","Height"],function(n,r){function u(t,n,r,s){return e.each(i,function(){n-=parseFloat(e.css(t,"padding"+this))||0,r&&(n-=parseFloat(e.css(t,"border"+this+"Width"))||0),s&&(n-=parseFloat(e.css(t,"margin"+this))||0)}),n}var i=r==="Width"?["Left","Right"]:["Top","Bottom"],s=r.toLowerCase(),o={innerWidth:e.fn.innerWidth,innerHeight:e.fn.innerHeight,outerWidth:e.fn.outerWidth,outerHeight:e.fn.outerHeight};e.fn["inner"+r]=function(n){return n===t?o["inner"+r].call(this):this.each(function(){e(this).css(s,u(this,n)+"px")})},e.fn["outer"+r]=function(t,n){return typeof t!="number"?o["outer"+r].call(this,t):this.each(function(){e(this).css(s,u(this,t,!0,n)+"px")})}}),e("").data("a-b","a").removeData("a-b").data("a-b")&&(e.fn.removeData=function(t){return function(n){return arguments.length?t.call(this,e.camelCase(n)):t.call(this)}}(e.fn.removeData)),function(){var t=/msie ([\w.]+)/.exec(navigator.userAgent.toLowerCase())||[];e.ui.ie=t.length?!0:!1,e.ui.ie6=parseFloat(t[1],10)===6}(),e.fn.extend({disableSelection:function(){return this.bind((e.support.selectstart?"selectstart":"mousedown")+".ui-disableSelection",function(e){e.preventDefault()})},enableSelection:function(){return this.unbind(".ui-disableSelection")}}),e.extend(e.ui,{plugin:{add:function(t,n,r){var i,s=e.ui[t].prototype;for(i in r)s.plugins[i]=s.plugins[i]||[],s.plugins[i].push([n,r[i]])},call:function(e,t,n){var r,i=e.plugins[t];if(!i||!e.element[0].parentNode||e.element[0].parentNode.nodeType===11)return;for(r=0;r0?!0:(t[r]=1,i=t[r]>0,t[r]=0,i)},isOverAxis:function(e,t,n){return e>t&&e",options:{disabled:!1,create:null},_createWidget:function(t,r){r=e(r||this.defaultElement||this)[0],this.element=e(r),this.uuid=n++,this.eventNamespace="."+this.widgetName+this.uuid,this.options=e.widget.extend({},this.options,this._getCreateOptions(),t),this.bindings=e(),this.hoverable=e(),this.focusable=e(),r!==this&&(e.data(r,this.widgetName,this),e.data(r,this.widgetFullName,this),this._on(!0,this.element,{remove:function(e){e.target===r&&this.destroy()}}),this.document=e(r.style?r.ownerDocument:r.document||r),this.window=e(this.document[0].defaultView||this.document[0].parentWindow)),this._create(),this._trigger("create",null,this._getCreateEventData()),this._init()},_getCreateOptions:e.noop,_getCreateEventData:e.noop,_create:e.noop,_init:e.noop,destroy:function(){this._destroy(),this.element.unbind(this.eventNamespace).removeData(this.widgetName).removeData(this.widgetFullName).removeData(e.camelCase(this.widgetFullName)),this.widget().unbind(this.eventNamespace).removeAttr("aria-disabled").removeClass(this.widgetFullName+"-disabled "+"ui-state-disabled"),this.bindings.unbind(this.eventNamespace),this.hoverable.removeClass("ui-state-hover"),this.focusable.removeClass("ui-state-focus")},_destroy:e.noop,widget:function(){return this.element},option:function(n,r){var i=n,s,o,u;if(arguments.length===0)return e.widget.extend({},this.options);if(typeof n=="string"){i={},s=n.split("."),n=s.shift();if(s.length){o=i[n]=e.widget.extend({},this.options[n]);for(u=0;u=9||!!t.button?this._mouseStarted?(this._mouseDrag(t),t.preventDefault()):(this._mouseDistanceMet(t)&&this._mouseDelayMet(t)&&(this._mouseStarted=this._mouseStart(this._mouseDownEvent,t)!==!1,this._mouseStarted?this._mouseDrag(t):this._mouseUp(t)),!this._mouseStarted):this._mouseUp(t)},_mouseUp:function(t){return e(document).unbind("mousemove."+this.widgetName,this._mouseMoveDelegate).unbind("mouseup."+this.widgetName,this._mouseUpDelegate),this._mouseStarted&&(this._mouseStarted=!1,t.target===this._mouseDownEvent.target&&e.data(t.target,this.widgetName+".preventClickEvent",!0),this._mouseStop(t)),!1},_mouseDistanceMet:function(e){return Math.max(Math.abs(this._mouseDownEvent.pageX-e.pageX),Math.abs(this._mouseDownEvent.pageY-e.pageY))>=this.options.distance},_mouseDelayMet:function(e){return this.mouseDelayMet},_mouseStart:function(e){},_mouseDrag:function(e){},_mouseStop:function(e){},_mouseCapture:function(e){return!0}})})(jQuery);(function(e,t){function h(e,t,n){return[parseInt(e[0],10)*(l.test(e[0])?t/100:1),parseInt(e[1],10)*(l.test(e[1])?n/100:1)]}function p(t,n){return parseInt(e.css(t,n),10)||0}e.ui=e.ui||{};var n,r=Math.max,i=Math.abs,s=Math.round,o=/left|center|right/,u=/top|center|bottom/,a=/[\+\-]\d+%?/,f=/^\w+/,l=/%$/,c=e.fn.position;e.position={scrollbarWidth:function(){if(n!==t)return n;var r,i,s=e("
                                                  "),o=s.children()[0];return e("body").append(s),r=o.offsetWidth,s.css("overflow","scroll"),i=o.offsetWidth,r===i&&(i=s[0].clientWidth),s.remove(),n=r-i},getScrollInfo:function(t){var n=t.isWindow?"":t.element.css("overflow-x"),r=t.isWindow?"":t.element.css("overflow-y"),i=n==="scroll"||n==="auto"&&t.width0?"right":"center",vertical:u<0?"top":o>0?"bottom":"middle"};lr(i(o),i(u))?h.important="horizontal":h.important="vertical",t.using.call(this,e,h)}),a.offset(e.extend(C,{using:u}))})},e.ui.position={fit:{left:function(e,t){var n=t.within,i=n.isWindow?n.scrollLeft:n.offset.left,s=n.width,o=e.left-t.collisionPosition.marginLeft,u=i-o,a=o+t.collisionWidth-s-i,f;t.collisionWidth>s?u>0&&a<=0?(f=e.left+u+t.collisionWidth-s-i,e.left+=u-f):a>0&&u<=0?e.left=i:u>a?e.left=i+s-t.collisionWidth:e.left=i:u>0?e.left+=u:a>0?e.left-=a:e.left=r(e.left-o,e.left)},top:function(e,t){var n=t.within,i=n.isWindow?n.scrollTop:n.offset.top,s=t.within.height,o=e.top-t.collisionPosition.marginTop,u=i-o,a=o+t.collisionHeight-s-i,f;t.collisionHeight>s?u>0&&a<=0?(f=e.top+u+t.collisionHeight-s-i,e.top+=u-f):a>0&&u<=0?e.top=i:u>a?e.top=i+s-t.collisionHeight:e.top=i:u>0?e.top+=u:a>0?e.top-=a:e.top=r(e.top-o,e.top)}},flip:{left:function(e,t){var n=t.within,r=n.offset.left+n.scrollLeft,s=n.width,o=n.isWindow?n.scrollLeft:n.offset.left,u=e.left-t.collisionPosition.marginLeft,a=u-o,f=u+t.collisionWidth-s-o,l=t.my[0]==="left"?-t.elemWidth:t.my[0]==="right"?t.elemWidth:0,c=t.at[0]==="left"?t.targetWidth:t.at[0]==="right"?-t.targetWidth:0,h=-2*t.offset[0],p,d;if(a<0){p=e.left+l+c+h+t.collisionWidth-s-r;if(p<0||p0){d=e.left-t.collisionPosition.marginLeft+l+c+h-o;if(d>0||i(d)a&&(v<0||v0&&(d=e.top-t.collisionPosition.marginTop+c+h+p-o,e.top+c+h+p>f&&(d>0||i(d)10&&i<11,t.innerHTML="",n.removeChild(t)}(),e.uiBackCompat!==!1&&function(e){var n=e.fn.position;e.fn.position=function(r){if(!r||!r.offset)return n.call(this,r);var i=r.offset.split(" "),s=r.at.split(" ");return i.length===1&&(i[1]=i[0]),/^\d/.test(i[0])&&(i[0]="+"+i[0]),/^\d/.test(i[1])&&(i[1]="+"+i[1]),s.length===1&&(/left|center|right/.test(s[0])?s[1]="center":(s[1]=s[0],s[0]="center")),n.call(this,e.extend(r,{at:s[0]+i[0]+" "+s[1]+i[1],offset:t}))}}(jQuery)})(jQuery);(function(e,t){e.widget("ui.draggable",e.ui.mouse,{version:"1.9.2",widgetEventPrefix:"drag",options:{addClasses:!0,appendTo:"parent",axis:!1,connectToSortable:!1,containment:!1,cursor:"auto",cursorAt:!1,grid:!1,handle:!1,helper:"original",iframeFix:!1,opacity:!1,refreshPositions:!1,revert:!1,revertDuration:500,scope:"default",scroll:!0,scrollSensitivity:20,scrollSpeed:20,snap:!1,snapMode:"both",snapTolerance:20,stack:!1,zIndex:!1},_create:function(){this.options.helper=="original"&&!/^(?:r|a|f)/.test(this.element.css("position"))&&(this.element[0].style.position="relative"),this.options.addClasses&&this.element.addClass("ui-draggable"),this.options.disabled&&this.element.addClass("ui-draggable-disabled"),this._mouseInit()},_destroy:function(){this.element.removeClass("ui-draggable ui-draggable-dragging ui-draggable-disabled"),this._mouseDestroy()},_mouseCapture:function(t){var n=this.options;return this.helper||n.disabled||e(t.target).is(".ui-resizable-handle")?!1:(this.handle=this._getHandle(t),this.handle?(e(n.iframeFix===!0?"iframe":n.iframeFix).each(function(){e('
                                                  ').css({width:this.offsetWidth+"px",height:this.offsetHeight+"px",position:"absolute",opacity:"0.001",zIndex:1e3}).css(e(this).offset()).appendTo("body")}),!0):!1)},_mouseStart:function(t){var n=this.options;return this.helper=this._createHelper(t),this.helper.addClass("ui-draggable-dragging"),this._cacheHelperProportions(),e.ui.ddmanager&&(e.ui.ddmanager.current=this),this._cacheMargins(),this.cssPosition=this.helper.css("position"),this.scrollParent=this.helper.scrollParent(),this.offset=this.positionAbs=this.element.offset(),this.offset={top:this.offset.top-this.margins.top,left:this.offset.left-this.margins.left},e.extend(this.offset,{click:{left:t.pageX-this.offset.left,top:t.pageY-this.offset.top},parent:this._getParentOffset(),relative:this._getRelativeOffset()}),this.originalPosition=this.position=this._generatePosition(t),this.originalPageX=t.pageX,this.originalPageY=t.pageY,n.cursorAt&&this._adjustOffsetFromHelper(n.cursorAt),n.containment&&this._setContainment(),this._trigger("start",t)===!1?(this._clear(),!1):(this._cacheHelperProportions(),e.ui.ddmanager&&!n.dropBehaviour&&e.ui.ddmanager.prepareOffsets(this,t),this._mouseDrag(t,!0),e.ui.ddmanager&&e.ui.ddmanager.dragStart(this,t),!0)},_mouseDrag:function(t,n){this.position=this._generatePosition(t),this.positionAbs=this._convertPositionTo("absolute");if(!n){var r=this._uiHash();if(this._trigger("drag",t,r)===!1)return this._mouseUp({}),!1;this.position=r.position}if(!this.options.axis||this.options.axis!="y")this.helper[0].style.left=this.position.left+"px";if(!this.options.axis||this.options.axis!="x")this.helper[0].style.top=this.position.top+"px";return e.ui.ddmanager&&e.ui.ddmanager.drag(this,t),!1},_mouseStop:function(t){var n=!1;e.ui.ddmanager&&!this.options.dropBehaviour&&(n=e.ui.ddmanager.drop(this,t)),this.dropped&&(n=this.dropped,this.dropped=!1);var r=this.element[0],i=!1;while(r&&(r=r.parentNode))r==document&&(i=!0);if(!i&&this.options.helper==="original")return!1;if(this.options.revert=="invalid"&&!n||this.options.revert=="valid"&&n||this.options.revert===!0||e.isFunction(this.options.revert)&&this.options.revert.call(this.element,n)){var s=this;e(this.helper).animate(this.originalPosition,parseInt(this.options.revertDuration,10),function(){s._trigger("stop",t)!==!1&&s._clear()})}else this._trigger("stop",t)!==!1&&this._clear();return!1},_mouseUp:function(t){return e("div.ui-draggable-iframeFix").each(function(){this.parentNode.removeChild(this)}),e.ui.ddmanager&&e.ui.ddmanager.dragStop(this,t),e.ui.mouse.prototype._mouseUp.call(this,t)},cancel:function(){return this.helper.is(".ui-draggable-dragging")?this._mouseUp({}):this._clear(),this},_getHandle:function(t){var n=!this.options.handle||!e(this.options.handle,this.element).length?!0:!1;return e(this.options.handle,this.element).find("*").andSelf().each(function(){this==t.target&&(n=!0)}),n},_createHelper:function(t){var n=this.options,r=e.isFunction(n.helper)?e(n.helper.apply(this.element[0],[t])):n.helper=="clone"?this.element.clone().removeAttr("id"):this.element;return r.parents("body").length||r.appendTo(n.appendTo=="parent"?this.element[0].parentNode:n.appendTo),r[0]!=this.element[0]&&!/(fixed|absolute)/.test(r.css("position"))&&r.css("position","absolute"),r},_adjustOffsetFromHelper:function(t){typeof t=="string"&&(t=t.split(" ")),e.isArray(t)&&(t={left:+t[0],top:+t[1]||0}),"left"in t&&(this.offset.click.left=t.left+this.margins.left),"right"in t&&(this.offset.click.left=this.helperProportions.width-t.right+this.margins.left),"top"in t&&(this.offset.click.top=t.top+this.margins.top),"bottom"in t&&(this.offset.click.top=this.helperProportions.height-t.bottom+this.margins.top)},_getParentOffset:function(){this.offsetParent=this.helper.offsetParent();var t=this.offsetParent.offset();this.cssPosition=="absolute"&&this.scrollParent[0]!=document&&e.contains(this.scrollParent[0],this.offsetParent[0])&&(t.left+=this.scrollParent.scrollLeft(),t.top+=this.scrollParent.scrollTop());if(this.offsetParent[0]==document.body||this.offsetParent[0].tagName&&this.offsetParent[0].tagName.toLowerCase()=="html"&&e.ui.ie)t={top:0,left:0};return{top:t.top+(parseInt(this.offsetParent.css("borderTopWidth"),10)||0),left:t.left+(parseInt(this.offsetParent.css("borderLeftWidth"),10)||0)}},_getRelativeOffset:function(){if(this.cssPosition=="relative"){var e=this.element.position();return{top:e.top-(parseInt(this.helper.css("top"),10)||0)+this.scrollParent.scrollTop(),left:e.left-(parseInt(this.helper.css("left"),10)||0)+this.scrollParent.scrollLeft()}}return{top:0,left:0}},_cacheMargins:function(){this.margins={left:parseInt(this.element.css("marginLeft"),10)||0,top:parseInt(this.element.css("marginTop"),10)||0,right:parseInt(this.element.css("marginRight"),10)||0,bottom:parseInt(this.element.css("marginBottom"),10)||0}},_cacheHelperProportions:function(){this.helperProportions={width:this.helper.outerWidth(),height:this.helper.outerHeight()}},_setContainment:function(){var t=this.options;t.containment=="parent"&&(t.containment=this.helper[0].parentNode);if(t.containment=="document"||t.containment=="window")this.containment=[t.containment=="document"?0:e(window).scrollLeft()-this.offset.relative.left-this.offset.parent.left,t.containment=="document"?0:e(window).scrollTop()-this.offset.relative.top-this.offset.parent.top,(t.containment=="document"?0:e(window).scrollLeft())+e(t.containment=="document"?document:window).width()-this.helperProportions.width-this.margins.left,(t.containment=="document"?0:e(window).scrollTop())+(e(t.containment=="document"?document:window).height()||document.body.parentNode.scrollHeight)-this.helperProportions.height-this.margins.top];if(!/^(document|window|parent)$/.test(t.containment)&&t.containment.constructor!=Array){var n=e(t.containment),r=n[0];if(!r)return;var i=n.offset(),s=e(r).css("overflow")!="hidden";this.containment=[(parseInt(e(r).css("borderLeftWidth"),10)||0)+(parseInt(e(r).css("paddingLeft"),10)||0),(parseInt(e(r).css("borderTopWidth"),10)||0)+(parseInt(e(r).css("paddingTop"),10)||0),(s?Math.max(r.scrollWidth,r.offsetWidth):r.offsetWidth)-(parseInt(e(r).css("borderLeftWidth"),10)||0)-(parseInt(e(r).css("paddingRight"),10)||0)-this.helperProportions.width-this.margins.left-this.margins.right,(s?Math.max(r.scrollHeight,r.offsetHeight):r.offsetHeight)-(parseInt(e(r).css("borderTopWidth"),10)||0)-(parseInt(e(r).css("paddingBottom"),10)||0)-this.helperProportions.height-this.margins.top-this.margins.bottom],this.relative_container=n}else t.containment.constructor==Array&&(this.containment=t.containment)},_convertPositionTo:function(t,n){n||(n=this.position);var r=t=="absolute"?1:-1,i=this.options,s=this.cssPosition!="absolute"||this.scrollParent[0]!=document&&!!e.contains(this.scrollParent[0],this.offsetParent[0])?this.scrollParent:this.offsetParent,o=/(html|body)/i.test(s[0].tagName);return{top:n.top+this.offset.relative.top*r+this.offset.parent.top*r-(this.cssPosition=="fixed"?-this.scrollParent.scrollTop():o?0:s.scrollTop())*r,left:n.left+this.offset.relative.left*r+this.offset.parent.left*r-(this.cssPosition=="fixed"?-this.scrollParent.scrollLeft():o?0:s.scrollLeft())*r}},_generatePosition:function(t){var n=this.options,r=this.cssPosition!="absolute"||this.scrollParent[0]!=document&&!!e.contains(this.scrollParent[0],this.offsetParent[0])?this.scrollParent:this.offsetParent,i=/(html|body)/i.test(r[0].tagName),s=t.pageX,o=t.pageY;if(this.originalPosition){var u;if(this.containment){if(this.relative_container){var a=this.relative_container.offset();u=[this.containment[0]+a.left,this.containment[1]+a.top,this.containment[2]+a.left,this.containment[3]+a.top]}else u=this.containment;t.pageX-this.offset.click.leftu[2]&&(s=u[2]+this.offset.click.left),t.pageY-this.offset.click.top>u[3]&&(o=u[3]+this.offset.click.top)}if(n.grid){var f=n.grid[1]?this.originalPageY+Math.round((o-this.originalPageY)/n.grid[1])*n.grid[1]:this.originalPageY;o=u?f-this.offset.click.topu[3]?f-this.offset.click.topu[2]?l-this.offset.click.left=0;l--){var c=r.snapElements[l].left,h=c+r.snapElements[l].width,p=r.snapElements[l].top,d=p+r.snapElements[l].height;if(!(c-s=l&&o<=c||u>=l&&u<=c||oc)&&(i>=a&&i<=f||s>=a&&s<=f||if);default:return!1}},e.ui.ddmanager={current:null,droppables:{"default":[]},prepareOffsets:function(t,n){var r=e.ui.ddmanager.droppables[t.options.scope]||[],i=n?n.type:null,s=(t.currentItem||t.element).find(":data(droppable)").andSelf();e:for(var o=0;o
                                                  ').css({position:this.element.css("position"),width:this.element.outerWidth(),height:this.element.outerHeight(),top:this.element.css("top"),left:this.element.css("left")})),this.element=this.element.parent().data("resizable",this.element.data("resizable")),this.elementIsWrapper=!0,this.element.css({marginLeft:this.originalElement.css("marginLeft"),marginTop:this.originalElement.css("marginTop"),marginRight:this.originalElement.css("marginRight"),marginBottom:this.originalElement.css("marginBottom")}),this.originalElement.css({marginLeft:0,marginTop:0,marginRight:0,marginBottom:0}),this.originalResizeStyle=this.originalElement.css("resize"),this.originalElement.css("resize","none"),this._proportionallyResizeElements.push(this.originalElement.css({position:"static",zoom:1,display:"block"})),this.originalElement.css({margin:this.originalElement.css("margin")}),this._proportionallyResize()),this.handles=n.handles||(e(".ui-resizable-handle",this.element).length?{n:".ui-resizable-n",e:".ui-resizable-e",s:".ui-resizable-s",w:".ui-resizable-w",se:".ui-resizable-se",sw:".ui-resizable-sw",ne:".ui-resizable-ne",nw:".ui-resizable-nw"}:"e,s,se");if(this.handles.constructor==String){this.handles=="all"&&(this.handles="n,e,s,w,se,sw,ne,nw");var r=this.handles.split(",");this.handles={};for(var i=0;i
                                                  ');u.css({zIndex:n.zIndex}),"se"==s&&u.addClass("ui-icon ui-icon-gripsmall-diagonal-se"),this.handles[s]=".ui-resizable-"+s,this.element.append(u)}}this._renderAxis=function(t){t=t||this.element;for(var n in this.handles){this.handles[n].constructor==String&&(this.handles[n]=e(this.handles[n],this.element).show());if(this.elementIsWrapper&&this.originalElement[0].nodeName.match(/textarea|input|select|button/i)){var r=e(this.handles[n],this.element),i=0;i=/sw|ne|nw|se|n|s/.test(n)?r.outerHeight():r.outerWidth();var s=["padding",/ne|nw|n/.test(n)?"Top":/se|sw|s/.test(n)?"Bottom":/^e$/.test(n)?"Right":"Left"].join("");t.css(s,i),this._proportionallyResize()}if(!e(this.handles[n]).length)continue}},this._renderAxis(this.element),this._handles=e(".ui-resizable-handle",this.element).disableSelection(),this._handles.mouseover(function(){if(!t.resizing){if(this.className)var e=this.className.match(/ui-resizable-(se|sw|ne|nw|n|e|s|w)/i);t.axis=e&&e[1]?e[1]:"se"}}),n.autoHide&&(this._handles.hide(),e(this.element).addClass("ui-resizable-autohide").mouseenter(function(){if(n.disabled)return;e(this).removeClass("ui-resizable-autohide"),t._handles.show()}).mouseleave(function(){if(n.disabled)return;t.resizing||(e(this).addClass("ui-resizable-autohide"),t._handles.hide())})),this._mouseInit()},_destroy:function(){this._mouseDestroy();var t=function(t){e(t).removeClass("ui-resizable ui-resizable-disabled ui-resizable-resizing").removeData("resizable").removeData("ui-resizable").unbind(".resizable").find(".ui-resizable-handle").remove()};if(this.elementIsWrapper){t(this.element);var n=this.element;this.originalElement.css({position:n.css("position"),width:n.outerWidth(),height:n.outerHeight(),top:n.css("top"),left:n.css("left")}).insertAfter(n),n.remove()}return this.originalElement.css("resize",this.originalResizeStyle),t(this.originalElement),this},_mouseCapture:function(t){var n=!1;for(var r in this.handles)e(this.handles[r])[0]==t.target&&(n=!0);return!this.options.disabled&&n},_mouseStart:function(t){var r=this.options,i=this.element.position(),s=this.element;this.resizing=!0,this.documentScroll={top:e(document).scrollTop(),left:e(document).scrollLeft()},(s.is(".ui-draggable")||/absolute/.test(s.css("position")))&&s.css({position:"absolute",top:i.top,left:i.left}),this._renderProxy();var o=n(this.helper.css("left")),u=n(this.helper.css("top"));r.containment&&(o+=e(r.containment).scrollLeft()||0,u+=e(r.containment).scrollTop()||0),this.offset=this.helper.offset(),this.position={left:o,top:u},this.size=this._helper?{width:s.outerWidth(),height:s.outerHeight()}:{width:s.width(),height:s.height()},this.originalSize=this._helper?{width:s.outerWidth(),height:s.outerHeight()}:{width:s.width(),height:s.height()},this.originalPosition={left:o,top:u},this.sizeDiff={width:s.outerWidth()-s.width(),height:s.outerHeight()-s.height()},this.originalMousePosition={left:t.pageX,top:t.pageY},this.aspectRatio=typeof r.aspectRatio=="number"?r.aspectRatio:this.originalSize.width/this.originalSize.height||1;var a=e(".ui-resizable-"+this.axis).css("cursor");return e("body").css("cursor",a=="auto"?this.axis+"-resize":a),s.addClass("ui-resizable-resizing"),this._propagate("start",t),!0},_mouseDrag:function(e){var t=this.helper,n=this.options,r={},i=this,s=this.originalMousePosition,o=this.axis,u=e.pageX-s.left||0,a=e.pageY-s.top||0,f=this._change[o];if(!f)return!1;var l=f.apply(this,[e,u,a]);this._updateVirtualBoundaries(e.shiftKey);if(this._aspectRatio||e.shiftKey)l=this._updateRatio(l,e);return l=this._respectSize(l,e),this._propagate("resize",e),t.css({top:this.position.top+"px",left:this.position.left+"px",width:this.size.width+"px",height:this.size.height+"px"}),!this._helper&&this._proportionallyResizeElements.length&&this._proportionallyResize(),this._updateCache(l),this._trigger("resize",e,this.ui()),!1},_mouseStop:function(t){this.resizing=!1;var n=this.options,r=this;if(this._helper){var i=this._proportionallyResizeElements,s=i.length&&/textarea/i.test(i[0].nodeName),o=s&&e.ui.hasScroll(i[0],"left")?0:r.sizeDiff.height,u=s?0:r.sizeDiff.width,a={width:r.helper.width()-u,height:r.helper.height()-o},f=parseInt(r.element.css("left"),10)+(r.position.left-r.originalPosition.left)||null,l=parseInt(r.element.css("top"),10)+(r.position.top-r.originalPosition.top)||null;n.animate||this.element.css(e.extend(a,{top:l,left:f})),r.helper.height(r.size.height),r.helper.width(r.size.width),this._helper&&!n.animate&&this._proportionallyResize()}return e("body").css("cursor","auto"),this.element.removeClass("ui-resizable-resizing"),this._propagate("stop",t),this._helper&&this.helper.remove(),!1},_updateVirtualBoundaries:function(e){var t=this.options,n,i,s,o,u;u={minWidth:r(t.minWidth)?t.minWidth:0,maxWidth:r(t.maxWidth)?t.maxWidth:Infinity,minHeight:r(t.minHeight)?t.minHeight:0,maxHeight:r(t.maxHeight)?t.maxHeight:Infinity};if(this._aspectRatio||e)n=u.minHeight*this.aspectRatio,s=u.minWidth/this.aspectRatio,i=u.maxHeight*this.aspectRatio,o=u.maxWidth/this.aspectRatio,n>u.minWidth&&(u.minWidth=n),s>u.minHeight&&(u.minHeight=s),ie.width,l=r(e.height)&&i.minHeight&&i.minHeight>e.height;f&&(e.width=i.minWidth),l&&(e.height=i.minHeight),u&&(e.width=i.maxWidth),a&&(e.height=i.maxHeight);var c=this.originalPosition.left+this.originalSize.width,h=this.position.top+this.size.height,p=/sw|nw|w/.test(o),d=/nw|ne|n/.test(o);f&&p&&(e.left=c-i.minWidth),u&&p&&(e.left=c-i.maxWidth),l&&d&&(e.top=h-i.minHeight),a&&d&&(e.top=h-i.maxHeight);var v=!e.width&&!e.height;return v&&!e.left&&e.top?e.top=null:v&&!e.top&&e.left&&(e.left=null),e},_proportionallyResize:function(){var t=this.options;if(!this._proportionallyResizeElements.length)return;var n=this.helper||this.element;for(var r=0;r
                                                  ');var r=e.ui.ie6?1:0,i=e.ui.ie6?2:-1;this.helper.addClass(this._helper).css({width:this.element.outerWidth()+i,height:this.element.outerHeight()+i,position:"absolute",left:this.elementOffset.left-r+"px",top:this.elementOffset.top-r+"px",zIndex:++n.zIndex}),this.helper.appendTo("body").disableSelection()}else this.helper=this.element},_change:{e:function(e,t,n){return{width:this.originalSize.width+t}},w:function(e,t,n){var r=this.options,i=this.originalSize,s=this.originalPosition;return{left:s.left+t,width:i.width-t}},n:function(e,t,n){var r=this.options,i=this.originalSize,s=this.originalPosition;return{top:s.top+n,height:i.height-n}},s:function(e,t,n){return{height:this.originalSize.height+n}},se:function(t,n,r){return e.extend(this._change.s.apply(this,arguments),this._change.e.apply(this,[t,n,r]))},sw:function(t,n,r){return e.extend(this._change.s.apply(this,arguments),this._change.w.apply(this,[t,n,r]))},ne:function(t,n,r){return e.extend(this._change.n.apply(this,arguments),this._change.e.apply(this,[t,n,r]))},nw:function(t,n,r){return e.extend(this._change.n.apply(this,arguments),this._change.w.apply(this,[t,n,r]))}},_propagate:function(t,n){e.ui.plugin.call(this,t,[n,this.ui()]),t!="resize"&&this._trigger(t,n,this.ui())},plugins:{},ui:function(){return{originalElement:this.originalElement,element:this.element,helper:this.helper,position:this.position,size:this.size,originalSize:this.originalSize,originalPosition:this.originalPosition}}}),e.ui.plugin.add("resizable","alsoResize",{start:function(t,n){var r=e(this).data("resizable"),i=r.options,s=function(t){e(t).each(function(){var t=e(this);t.data("resizable-alsoresize",{width:parseInt(t.width(),10),height:parseInt(t.height(),10),left:parseInt(t.css("left"),10),top:parseInt(t.css("top"),10)})})};typeof i.alsoResize=="object"&&!i.alsoResize.parentNode?i.alsoResize.length?(i.alsoResize=i.alsoResize[0],s(i.alsoResize)):e.each(i.alsoResize,function(e){s(e)}):s(i.alsoResize)},resize:function(t,n){var r=e(this).data("resizable"),i=r.options,s=r.originalSize,o=r.originalPosition,u={height:r.size.height-s.height||0,width:r.size.width-s.width||0,top:r.position.top-o.top||0,left:r.position.left-o.left||0},a=function(t,r){e(t).each(function(){var t=e(this),i=e(this).data("resizable-alsoresize"),s={},o=r&&r.length?r:t.parents(n.originalElement[0]).length?["width","height"]:["width","height","top","left"];e.each(o,function(e,t){var n=(i[t]||0)+(u[t]||0);n&&n>=0&&(s[t]=n||null)}),t.css(s)})};typeof i.alsoResize=="object"&&!i.alsoResize.nodeType?e.each(i.alsoResize,function(e,t){a(e,t)}):a(i.alsoResize)},stop:function(t,n){e(this).removeData("resizable-alsoresize")}}),e.ui.plugin.add("resizable","animate",{stop:function(t,n){var r=e(this).data("resizable"),i=r.options,s=r._proportionallyResizeElements,o=s.length&&/textarea/i.test(s[0].nodeName),u=o&&e.ui.hasScroll(s[0],"left")?0:r.sizeDiff.height,a=o?0:r.sizeDiff.width,f={width:r.size.width-a,height:r.size.height-u},l=parseInt(r.element.css("left"),10)+(r.position.left-r.originalPosition.left)||null,c=parseInt(r.element.css("top"),10)+(r.position.top-r.originalPosition.top)||null;r.element.animate(e.extend(f,c&&l?{top:c,left:l}:{}),{duration:i.animateDuration,easing:i.animateEasing,step:function(){var n={width:parseInt(r.element.css("width"),10),height:parseInt(r.element.css("height"),10),top:parseInt(r.element.css("top"),10),left:parseInt(r.element.css("left"),10)};s&&s.length&&e(s[0]).css({width:n.width,height:n.height}),r._updateCache(n),r._propagate("resize",t)}})}}),e.ui.plugin.add("resizable","containment",{start:function(t,r){var i=e(this).data("resizable"),s=i.options,o=i.element,u=s.containment,a=u instanceof e?u.get(0):/parent/.test(u)?o.parent().get(0):u;if(!a)return;i.containerElement=e(a);if(/document/.test(u)||u==document)i.containerOffset={left:0,top:0},i.containerPosition={left:0,top:0},i.parentData={element:e(document),left:0,top:0,width:e(document).width(),height:e(document).height()||document.body.parentNode.scrollHeight};else{var f=e(a),l=[];e(["Top","Right","Left","Bottom"]).each(function(e,t){l[e]=n(f.css("padding"+t))}),i.containerOffset=f.offset(),i.containerPosition=f.position(),i.containerSize={height:f.innerHeight()-l[3],width:f.innerWidth()-l[1]};var c=i.containerOffset,h=i.containerSize.height,p=i.containerSize.width,d=e.ui.hasScroll(a,"left")?a.scrollWidth:p,v=e.ui.hasScroll(a)?a.scrollHeight:h;i.parentData={element:a,left:c.left,top:c.top,width:d,height:v}}},resize:function(t,n){var r=e(this).data("resizable"),i=r.options,s=r.containerSize,o=r.containerOffset,u=r.size,a=r.position,f=r._aspectRatio||t.shiftKey,l={top:0,left:0},c=r.containerElement;c[0]!=document&&/static/.test(c.css("position"))&&(l=o),a.left<(r._helper?o.left:0)&&(r.size.width=r.size.width+(r._helper?r.position.left-o.left:r.position.left-l.left),f&&(r.size.height=r.size.width/r.aspectRatio),r.position.left=i.helper?o.left:0),a.top<(r._helper?o.top:0)&&(r.size.height=r.size.height+(r._helper?r.position.top-o.top:r.position.top),f&&(r.size.width=r.size.height*r.aspectRatio),r.position.top=r._helper?o.top:0),r.offset.left=r.parentData.left+r.position.left,r.offset.top=r.parentData.top+r.position.top;var h=Math.abs((r._helper?r.offset.left-l.left:r.offset.left-l.left)+r.sizeDiff.width),p=Math.abs((r._helper?r.offset.top-l.top:r.offset.top-o.top)+r.sizeDiff.height),d=r.containerElement.get(0)==r.element.parent().get(0),v=/relative|absolute/.test(r.containerElement.css("position"));d&&v&&(h-=r.parentData.left),h+r.size.width>=r.parentData.width&&(r.size.width=r.parentData.width-h,f&&(r.size.height=r.size.width/r.aspectRatio)),p+r.size.height>=r.parentData.height&&(r.size.height=r.parentData.height-p,f&&(r.size.width=r.size.height*r.aspectRatio))},stop:function(t,n){var r=e(this).data("resizable"),i=r.options,s=r.position,o=r.containerOffset,u=r.containerPosition,a=r.containerElement,f=e(r.helper),l=f.offset(),c=f.outerWidth()-r.sizeDiff.width,h=f.outerHeight()-r.sizeDiff.height;r._helper&&!i.animate&&/relative/.test(a.css("position"))&&e(this).css({left:l.left-u.left-o.left,width:c,height:h}),r._helper&&!i.animate&&/static/.test(a.css("position"))&&e(this).css({left:l.left-u.left-o.left,width:c,height:h})}}),e.ui.plugin.add("resizable","ghost",{start:function(t,n){var r=e(this).data("resizable"),i=r.options,s=r.size;r.ghost=r.originalElement.clone(),r.ghost.css({opacity:.25,display:"block",position:"relative",height:s.height,width:s.width,margin:0,left:0,top:0}).addClass("ui-resizable-ghost").addClass(typeof i.ghost=="string"?i.ghost:""),r.ghost.appendTo(r.helper)},resize:function(t,n){var r=e(this).data("resizable"),i=r.options;r.ghost&&r.ghost.css({position:"relative",height:r.size.height,width:r.size.width})},stop:function(t,n){var r=e(this).data("resizable"),i=r.options;r.ghost&&r.helper&&r.helper.get(0).removeChild(r.ghost.get(0))}}),e.ui.plugin.add("resizable","grid",{resize:function(t,n){var r=e(this).data("resizable"),i=r.options,s=r.size,o=r.originalSize,u=r.originalPosition,a=r.axis,f=i._aspectRatio||t.shiftKey;i.grid=typeof i.grid=="number"?[i.grid,i.grid]:i.grid;var l=Math.round((s.width-o.width)/(i.grid[0]||1))*(i.grid[0]||1),c=Math.round((s.height-o.height)/(i.grid[1]||1))*(i.grid[1]||1);/^(se|s|e)$/.test(a)?(r.size.width=o.width+l,r.size.height=o.height+c):/^(ne)$/.test(a)?(r.size.width=o.width+l,r.size.height=o.height+c,r.position.top=u.top-c):/^(sw)$/.test(a)?(r.size.width=o.width+l,r.size.height=o.height+c,r.position.left=u.left-l):(r.size.width=o.width+l,r.size.height=o.height+c,r.position.top=u.top-c,r.position.left=u.left-l)}});var n=function(e){return parseInt(e,10)||0},r=function(e){return!isNaN(parseInt(e,10))}})(jQuery);(function(e,t){e.widget("ui.selectable",e.ui.mouse,{version:"1.9.2",options:{appendTo:"body",autoRefresh:!0,distance:0,filter:"*",tolerance:"touch"},_create:function(){var t=this;this.element.addClass("ui-selectable"),this.dragged=!1;var n;this.refresh=function(){n=e(t.options.filter,t.element[0]),n.addClass("ui-selectee"),n.each(function(){var t=e(this),n=t.offset();e.data(this,"selectable-item",{element:this,$element:t,left:n.left,top:n.top,right:n.left+t.outerWidth(),bottom:n.top+t.outerHeight(),startselected:!1,selected:t.hasClass("ui-selected"),selecting:t.hasClass("ui-selecting"),unselecting:t.hasClass("ui-unselecting")})})},this.refresh(),this.selectees=n.addClass("ui-selectee"),this._mouseInit(),this.helper=e("
                                                  ")},_destroy:function(){this.selectees.removeClass("ui-selectee").removeData("selectable-item"),this.element.removeClass("ui-selectable ui-selectable-disabled"),this._mouseDestroy()},_mouseStart:function(t){var n=this;this.opos=[t.pageX,t.pageY];if(this.options.disabled)return;var r=this.options;this.selectees=e(r.filter,this.element[0]),this._trigger("start",t),e(r.appendTo).append(this.helper),this.helper.css({left:t.clientX,top:t.clientY,width:0,height:0}),r.autoRefresh&&this.refresh(),this.selectees.filter(".ui-selected").each(function(){var r=e.data(this,"selectable-item");r.startselected=!0,!t.metaKey&&!t.ctrlKey&&(r.$element.removeClass("ui-selected"),r.selected=!1,r.$element.addClass("ui-unselecting"),r.unselecting=!0,n._trigger("unselecting",t,{unselecting:r.element}))}),e(t.target).parents().andSelf().each(function(){var r=e.data(this,"selectable-item");if(r){var i=!t.metaKey&&!t.ctrlKey||!r.$element.hasClass("ui-selected");return r.$element.removeClass(i?"ui-unselecting":"ui-selected").addClass(i?"ui-selecting":"ui-unselecting"),r.unselecting=!i,r.selecting=i,r.selected=i,i?n._trigger("selecting",t,{selecting:r.element}):n._trigger("unselecting",t,{unselecting:r.element}),!1}})},_mouseDrag:function(t){var n=this;this.dragged=!0;if(this.options.disabled)return;var r=this.options,i=this.opos[0],s=this.opos[1],o=t.pageX,u=t.pageY;if(i>o){var a=o;o=i,i=a}if(s>u){var a=u;u=s,s=a}return this.helper.css({left:i,top:s,width:o-i,height:u-s}),this.selectees.each(function(){var a=e.data(this,"selectable-item");if(!a||a.element==n.element[0])return;var f=!1;r.tolerance=="touch"?f=!(a.left>o||a.rightu||a.bottomi&&a.rights&&a.bottom *",opacity:!1,placeholder:!1,revert:!1,scroll:!0,scrollSensitivity:20,scrollSpeed:20,scope:"default",tolerance:"intersect",zIndex:1e3},_create:function(){var e=this.options;this.containerCache={},this.element.addClass("ui-sortable"),this.refresh(),this.floating=this.items.length?e.axis==="x"||/left|right/.test(this.items[0].item.css("float"))||/inline|table-cell/.test(this.items[0].item.css("display")):!1,this.offset=this.element.offset(),this._mouseInit(),this.ready=!0},_destroy:function(){this.element.removeClass("ui-sortable ui-sortable-disabled"),this._mouseDestroy();for(var e=this.items.length-1;e>=0;e--)this.items[e].item.removeData(this.widgetName+"-item");return this},_setOption:function(t,n){t==="disabled"?(this.options[t]=n,this.widget().toggleClass("ui-sortable-disabled",!!n)):e.Widget.prototype._setOption.apply(this,arguments)},_mouseCapture:function(t,n){var r=this;if(this.reverting)return!1;if(this.options.disabled||this.options.type=="static")return!1;this._refreshItems(t);var i=null,s=e(t.target).parents().each(function(){if(e.data(this,r.widgetName+"-item")==r)return i=e(this),!1});e.data(t.target,r.widgetName+"-item")==r&&(i=e(t.target));if(!i)return!1;if(this.options.handle&&!n){var o=!1;e(this.options.handle,i).find("*").andSelf().each(function(){this==t.target&&(o=!0)});if(!o)return!1}return this.currentItem=i,this._removeCurrentsFromItems(),!0},_mouseStart:function(t,n,r){var i=this.options;this.currentContainer=this,this.refreshPositions(),this.helper=this._createHelper(t),this._cacheHelperProportions(),this._cacheMargins(),this.scrollParent=this.helper.scrollParent(),this.offset=this.currentItem.offset(),this.offset={top:this.offset.top-this.margins.top,left:this.offset.left-this.margins.left},e.extend(this.offset,{click:{left:t.pageX-this.offset.left,top:t.pageY-this.offset.top},parent:this._getParentOffset(),relative:this._getRelativeOffset()}),this.helper.css("position","absolute"),this.cssPosition=this.helper.css("position"),this.originalPosition=this._generatePosition(t),this.originalPageX=t.pageX,this.originalPageY=t.pageY,i.cursorAt&&this._adjustOffsetFromHelper(i.cursorAt),this.domPosition={prev:this.currentItem.prev()[0],parent:this.currentItem.parent()[0]},this.helper[0]!=this.currentItem[0]&&this.currentItem.hide(),this._createPlaceholder(),i.containment&&this._setContainment(),i.cursor&&(e("body").css("cursor")&&(this._storedCursor=e("body").css("cursor")),e("body").css("cursor",i.cursor)),i.opacity&&(this.helper.css("opacity")&&(this._storedOpacity=this.helper.css("opacity")),this.helper.css("opacity",i.opacity)),i.zIndex&&(this.helper.css("zIndex")&&(this._storedZIndex=this.helper.css("zIndex")),this.helper.css("zIndex",i.zIndex)),this.scrollParent[0]!=document&&this.scrollParent[0].tagName!="HTML"&&(this.overflowOffset=this.scrollParent.offset()),this._trigger("start",t,this._uiHash()),this._preserveHelperProportions||this._cacheHelperProportions();if(!r)for(var s=this.containers.length-1;s>=0;s--)this.containers[s]._trigger("activate",t,this._uiHash(this));return e.ui.ddmanager&&(e.ui.ddmanager.current=this),e.ui.ddmanager&&!i.dropBehaviour&&e.ui.ddmanager.prepareOffsets(this,t),this.dragging=!0,this.helper.addClass("ui-sortable-helper"),this._mouseDrag(t),!0},_mouseDrag:function(t){this.position=this._generatePosition(t),this.positionAbs=this._convertPositionTo("absolute"),this.lastPositionAbs||(this.lastPositionAbs=this.positionAbs);if(this.options.scroll){var n=this.options,r=!1;this.scrollParent[0]!=document&&this.scrollParent[0].tagName!="HTML"?(this.overflowOffset.top+this.scrollParent[0].offsetHeight-t.pageY=0;i--){var s=this.items[i],o=s.item[0],u=this._intersectsWithPointer(s);if(!u)continue;if(s.instance!==this.currentContainer)continue;if(o!=this.currentItem[0]&&this.placeholder[u==1?"next":"prev"]()[0]!=o&&!e.contains(this.placeholder[0],o)&&(this.options.type=="semi-dynamic"?!e.contains(this.element[0],o):!0)){this.direction=u==1?"down":"up";if(this.options.tolerance!="pointer"&&!this._intersectsWithSides(s))break;this._rearrange(t,s),this._trigger("change",t,this._uiHash());break}}return this._contactContainers(t),e.ui.ddmanager&&e.ui.ddmanager.drag(this,t),this._trigger("sort",t,this._uiHash()),this.lastPositionAbs=this.positionAbs,!1},_mouseStop:function(t,n){if(!t)return;e.ui.ddmanager&&!this.options.dropBehaviour&&e.ui.ddmanager.drop(this,t);if(this.options.revert){var r=this,i=this.placeholder.offset();this.reverting=!0,e(this.helper).animate({left:i.left-this.offset.parent.left-this.margins.left+(this.offsetParent[0]==document.body?0:this.offsetParent[0].scrollLeft),top:i.top-this.offset.parent.top-this.margins.top+(this.offsetParent[0]==document.body?0:this.offsetParent[0].scrollTop)},parseInt(this.options.revert,10)||500,function(){r._clear(t)})}else this._clear(t,n);return!1},cancel:function(){if(this.dragging){this._mouseUp({target:null}),this.options.helper=="original"?this.currentItem.css(this._storedCSS).removeClass("ui-sortable-helper"):this.currentItem.show();for(var t=this.containers.length-1;t>=0;t--)this.containers[t]._trigger("deactivate",null,this._uiHash(this)),this.containers[t].containerCache.over&&(this.containers[t]._trigger("out",null,this._uiHash(this)),this.containers[t].containerCache.over=0)}return this.placeholder&&(this.placeholder[0].parentNode&&this.placeholder[0].parentNode.removeChild(this.placeholder[0]),this.options.helper!="original"&&this.helper&&this.helper[0].parentNode&&this.helper.remove(),e.extend(this,{helper:null,dragging:!1,reverting:!1,_noFinalSort:null}),this.domPosition.prev?e(this.domPosition.prev).after(this.currentItem):e(this.domPosition.parent).prepend(this.currentItem)),this},serialize:function(t){var n=this._getItemsAsjQuery(t&&t.connected),r=[];return t=t||{},e(n).each(function(){var n=(e(t.item||this).attr(t.attribute||"id")||"").match(t.expression||/(.+)[-=_](.+)/);n&&r.push((t.key||n[1]+"[]")+"="+(t.key&&t.expression?n[1]:n[2]))}),!r.length&&t.key&&r.push(t.key+"="),r.join("&")},toArray:function(t){var n=this._getItemsAsjQuery(t&&t.connected),r=[];return t=t||{},n.each(function(){r.push(e(t.item||this).attr(t.attribute||"id")||"")}),r},_intersectsWith:function(e){var t=this.positionAbs.left,n=t+this.helperProportions.width,r=this.positionAbs.top,i=r+this.helperProportions.height,s=e.left,o=s+e.width,u=e.top,a=u+e.height,f=this.offset.click.top,l=this.offset.click.left,c=r+f>u&&r+fs&&t+le[this.floating?"width":"height"]?c:s0?"down":"up")},_getDragHorizontalDirection:function(){var e=this.positionAbs.left-this.lastPositionAbs.left;return e!=0&&(e>0?"right":"left")},refresh:function(e){return this._refreshItems(e),this.refreshPositions(),this},_connectWith:function(){var e=this.options;return e.connectWith.constructor==String?[e.connectWith]:e.connectWith},_getItemsAsjQuery:function(t){var n=[],r=[],i=this._connectWith();if(i&&t)for(var s=i.length-1;s>=0;s--){var o=e(i[s]);for(var u=o.length-1;u>=0;u--){var a=e.data(o[u],this.widgetName);a&&a!=this&&!a.options.disabled&&r.push([e.isFunction(a.options.items)?a.options.items.call(a.element):e(a.options.items,a.element).not(".ui-sortable-helper").not(".ui-sortable-placeholder"),a])}}r.push([e.isFunction(this.options.items)?this.options.items.call(this.element,null,{options:this.options,item:this.currentItem}):e(this.options.items,this.element).not(".ui-sortable-helper").not(".ui-sortable-placeholder"),this]);for(var s=r.length-1;s>=0;s--)r[s][0].each(function(){n.push(this)});return e(n)},_removeCurrentsFromItems:function(){var t=this.currentItem.find(":data("+this.widgetName+"-item)");this.items=e.grep(this.items,function(e){for(var n=0;n=0;s--){var o=e(i[s]);for(var u=o.length-1;u>=0;u--){var a=e.data(o[u],this.widgetName);a&&a!=this&&!a.options.disabled&&(r.push([e.isFunction(a.options.items)?a.options.items.call(a.element[0],t,{item:this.currentItem}):e(a.options.items,a.element),a]),this.containers.push(a))}}for(var s=r.length-1;s>=0;s--){var f=r[s][1],l=r[s][0];for(var u=0,c=l.length;u=0;n--){var r=this.items[n];if(r.instance!=this.currentContainer&&this.currentContainer&&r.item[0]!=this.currentItem[0])continue;var i=this.options.toleranceElement?e(this.options.toleranceElement,r.item):r.item;t||(r.width=i.outerWidth(),r.height=i.outerHeight());var s=i.offset();r.left=s.left,r.top=s.top}if(this.options.custom&&this.options.custom.refreshContainers)this.options.custom.refreshContainers.call(this);else for(var n=this.containers.length-1;n>=0;n--){var s=this.containers[n].element.offset();this.containers[n].containerCache.left=s.left,this.containers[n].containerCache.top=s.top,this.containers[n].containerCache.width=this.containers[n].element.outerWidth(),this.containers[n].containerCache.height=this.containers[n].element.outerHeight()}return this},_createPlaceholder:function(t){t=t||this;var n=t.options;if(!n.placeholder||n.placeholder.constructor==String){var r=n.placeholder;n.placeholder={element:function(){var n=e(document.createElement(t.currentItem[0].nodeName)).addClass(r||t.currentItem[0].className+" ui-sortable-placeholder").removeClass("ui-sortable-helper")[0];return r||(n.style.visibility="hidden"),n},update:function(e,i){if(r&&!n.forcePlaceholderSize)return;i.height()||i.height(t.currentItem.innerHeight()-parseInt(t.currentItem.css("paddingTop")||0,10)-parseInt(t.currentItem.css("paddingBottom")||0,10)),i.width()||i.width(t.currentItem.innerWidth()-parseInt(t.currentItem.css("paddingLeft")||0,10)-parseInt(t.currentItem.css("paddingRight")||0,10))}}}t.placeholder=e(n.placeholder.element.call(t.element,t.currentItem)),t.currentItem.after(t.placeholder),n.placeholder.update(t,t.placeholder)},_contactContainers:function(t){var n=null,r=null;for(var i=this.containers.length-1;i>=0;i--){if(e.contains(this.currentItem[0],this.containers[i].element[0]))continue;if(this._intersectsWith(this.containers[i].containerCache)){if(n&&e.contains(this.containers[i].element[0],n.element[0]))continue;n=this.containers[i],r=i}else this.containers[i].containerCache.over&&(this.containers[i]._trigger("out",t,this._uiHash(this)),this.containers[i].containerCache.over=0)}if(!n)return;if(this.containers.length===1)this.containers[r]._trigger("over",t,this._uiHash(this)),this.containers[r].containerCache.over=1;else{var s=1e4,o=null,u=this.containers[r].floating?"left":"top",a=this.containers[r].floating?"width":"height",f=this.positionAbs[u]+this.offset.click[u];for(var l=this.items.length-1;l>=0;l--){if(!e.contains(this.containers[r].element[0],this.items[l].item[0]))continue;if(this.items[l].item[0]==this.currentItem[0])continue;var c=this.items[l].item.offset()[u],h=!1;Math.abs(c-f)>Math.abs(c+this.items[l][a]-f)&&(h=!0,c+=this.items[l][a]),Math.abs(c-f)this.containment[2]&&(s=this.containment[2]+this.offset.click.left),t.pageY-this.offset.click.top>this.containment[3]&&(o=this.containment[3]+this.offset.click.top));if(n.grid){var u=this.originalPageY+Math.round((o-this.originalPageY)/n.grid[1])*n.grid[1];o=this.containment?u-this.offset.click.topthis.containment[3]?u-this.offset.click.topthis.containment[2]?a-this.offset.click.left=0;i--)n||r.push(function(e){return function(t){e._trigger("deactivate",t,this._uiHash(this))}}.call(this,this.containers[i])),this.containers[i].containerCache.over&&(r.push(function(e){return function(t){e._trigger("out",t,this._uiHash(this))}}.call(this,this.containers[i])),this.containers[i].containerCache.over=0);this._storedCursor&&e("body").css("cursor",this._storedCursor),this._storedOpacity&&this.helper.css("opacity",this._storedOpacity),this._storedZIndex&&this.helper.css("zIndex",this._storedZIndex=="auto"?"":this._storedZIndex),this.dragging=!1;if(this.cancelHelperRemoval){if(!n){this._trigger("beforeStop",t,this._uiHash());for(var i=0;i li > :first-child,> :not(li):even",heightStyle:"auto",icons:{activeHeader:"ui-icon-triangle-1-s",header:"ui-icon-triangle-1-e"},activate:null,beforeActivate:null},_create:function(){var t=this.accordionId="ui-accordion-"+(this.element.attr("id")||++n),r=this.options;this.prevShow=this.prevHide=e(),this.element.addClass("ui-accordion ui-widget ui-helper-reset"),this.headers=this.element.find(r.header).addClass("ui-accordion-header ui-helper-reset ui-state-default ui-corner-all"),this._hoverable(this.headers),this._focusable(this.headers),this.headers.next().addClass("ui-accordion-content ui-helper-reset ui-widget-content ui-corner-bottom").hide(),!r.collapsible&&(r.active===!1||r.active==null)&&(r.active=0),r.active<0&&(r.active+=this.headers.length),this.active=this._findActive(r.active).addClass("ui-accordion-header-active ui-state-active").toggleClass("ui-corner-all ui-corner-top"),this.active.next().addClass("ui-accordion-content-active").show(),this._createIcons(),this.refresh(),this.element.attr("role","tablist"),this.headers.attr("role","tab").each(function(n){var r=e(this),i=r.attr("id"),s=r.next(),o=s.attr("id");i||(i=t+"-header-"+n,r.attr("id",i)),o||(o=t+"-panel-"+n,s.attr("id",o)),r.attr("aria-controls",o),s.attr("aria-labelledby",i)}).next().attr("role","tabpanel"),this.headers.not(this.active).attr({"aria-selected":"false",tabIndex:-1}).next().attr({"aria-expanded":"false","aria-hidden":"true"}).hide(),this.active.length?this.active.attr({"aria-selected":"true",tabIndex:0}).next().attr({"aria-expanded":"true","aria-hidden":"false"}):this.headers.eq(0).attr("tabIndex",0),this._on(this.headers,{keydown:"_keydown"}),this._on(this.headers.next(),{keydown:"_panelKeyDown"}),this._setupEvents(r.event)},_getCreateEventData:function(){return{header:this.active,content:this.active.length?this.active.next():e()}},_createIcons:function(){var t=this.options.icons;t&&(e("").addClass("ui-accordion-header-icon ui-icon "+t.header).prependTo(this.headers),this.active.children(".ui-accordion-header-icon").removeClass(t.header).addClass(t.activeHeader),this.headers.addClass("ui-accordion-icons"))},_destroyIcons:function(){this.headers.removeClass("ui-accordion-icons").children(".ui-accordion-header-icon").remove()},_destroy:function(){var e;this.element.removeClass("ui-accordion ui-widget ui-helper-reset").removeAttr("role"),this.headers.removeClass("ui-accordion-header ui-accordion-header-active ui-helper-reset ui-state-default ui-corner-all ui-state-active ui-state-disabled ui-corner-top").removeAttr("role").removeAttr("aria-selected").removeAttr("aria-controls").removeAttr("tabIndex").each(function(){/^ui-accordion/.test(this.id)&&this.removeAttribute("id")}),this._destroyIcons(),e=this.headers.next().css("display","").removeAttr("role").removeAttr("aria-expanded").removeAttr("aria-hidden").removeAttr("aria-labelledby").removeClass("ui-helper-reset ui-widget-content ui-corner-bottom ui-accordion-content ui-accordion-content-active ui-state-disabled").each(function(){/^ui-accordion/.test(this.id)&&this.removeAttribute("id")}),this.options.heightStyle!=="content"&&e.css("height","")},_setOption:function(e,t){if(e==="active"){this._activate(t);return}e==="event"&&(this.options.event&&this._off(this.headers,this.options.event),this._setupEvents(t)),this._super(e,t),e==="collapsible"&&!t&&this.options.active===!1&&this._activate(0),e==="icons"&&(this._destroyIcons(),t&&this._createIcons()),e==="disabled"&&this.headers.add(this.headers.next()).toggleClass("ui-state-disabled",!!t)},_keydown:function(t){if(t.altKey||t.ctrlKey)return;var n=e.ui.keyCode,r=this.headers.length,i=this.headers.index(t.target),s=!1;switch(t.keyCode){case n.RIGHT:case n.DOWN:s=this.headers[(i+1)%r];break;case n.LEFT:case n.UP:s=this.headers[(i-1+r)%r];break;case n.SPACE:case n.ENTER:this._eventHandler(t);break;case n.HOME:s=this.headers[0];break;case n.END:s=this.headers[r-1]}s&&(e(t.target).attr("tabIndex",-1),e(s).attr("tabIndex",0),s.focus(),t.preventDefault())},_panelKeyDown:function(t){t.keyCode===e.ui.keyCode.UP&&t.ctrlKey&&e(t.currentTarget).prev().focus()},refresh:function(){var t,n,r=this.options.heightStyle,i=this.element.parent();r==="fill"?(e.support.minHeight||(n=i.css("overflow"),i.css("overflow","hidden")),t=i.height(),this.element.siblings(":visible").each(function(){var n=e(this),r=n.css("position");if(r==="absolute"||r==="fixed")return;t-=n.outerHeight(!0)}),n&&i.css("overflow",n),this.headers.each(function(){t-=e(this).outerHeight(!0)}),this.headers.next().each(function(){e(this).height(Math.max(0,t-e(this).innerHeight()+e(this).height()))}).css("overflow","auto")):r==="auto"&&(t=0,this.headers.next().each(function(){t=Math.max(t,e(this).css("height","").height())}).height(t))},_activate:function(t){var n=this._findActive(t)[0];if(n===this.active[0])return;n=n||this.active[0],this._eventHandler({target:n,currentTarget:n,preventDefault:e.noop})},_findActive:function(t){return typeof t=="number"?this.headers.eq(t):e()},_setupEvents:function(t){var n={};if(!t)return;e.each(t.split(" "),function(e,t){n[t]="_eventHandler"}),this._on(this.headers,n)},_eventHandler:function(t){var n=this.options,r=this.active,i=e(t.currentTarget),s=i[0]===r[0],o=s&&n.collapsible,u=o?e():i.next(),a=r.next(),f={oldHeader:r,oldPanel:a,newHeader:o?e():i,newPanel:u};t.preventDefault();if(s&&!n.collapsible||this._trigger("beforeActivate",t,f)===!1)return;n.active=o?!1:this.headers.index(i),this.active=s?e():i,this._toggle(f),r.removeClass("ui-accordion-header-active ui-state-active"),n.icons&&r.children(".ui-accordion-header-icon").removeClass(n.icons.activeHeader).addClass(n.icons.header),s||(i.removeClass("ui-corner-all").addClass("ui-accordion-header-active ui-state-active ui-corner-top"),n.icons&&i.children(".ui-accordion-header-icon").removeClass(n.icons.header).addClass(n.icons.activeHeader),i.next().addClass("ui-accordion-content-active"))},_toggle:function(t){var n=t.newPanel,r=this.prevShow.length?this.prevShow:t.oldPanel;this.prevShow.add(this.prevHide).stop(!0,!0),this.prevShow=n,this.prevHide=r,this.options.animate?this._animate(n,r,t):(r.hide(),n.show(),this._toggleComplete(t)),r.attr({"aria-expanded":"false","aria-hidden":"true"}),r.prev().attr("aria-selected","false"),n.length&&r.length?r.prev().attr("tabIndex",-1):n.length&&this.headers.filter(function(){return e(this).attr("tabIndex")===0}).attr("tabIndex",-1),n.attr({"aria-expanded":"true","aria-hidden":"false"}).prev().attr({"aria-selected":"true",tabIndex:0})},_animate:function(e,t,n){var s,o,u,a=this,f=0,l=e.length&&(!t.length||e.index()",options:{appendTo:"body",autoFocus:!1,delay:300,minLength:1,position:{my:"left top",at:"left bottom",collision:"none"},source:null,change:null,close:null,focus:null,open:null,response:null,search:null,select:null},pending:0,_create:function(){var t,n,r;this.isMultiLine=this._isMultiLine(),this.valueMethod=this.element[this.element.is("input,textarea")?"val":"text"],this.isNewMenu=!0,this.element.addClass("ui-autocomplete-input").attr("autocomplete","off"),this._on(this.element,{keydown:function(i){if(this.element.prop("readOnly")){t=!0,r=!0,n=!0;return}t=!1,r=!1,n=!1;var s=e.ui.keyCode;switch(i.keyCode){case s.PAGE_UP:t=!0,this._move("previousPage",i);break;case s.PAGE_DOWN:t=!0,this._move("nextPage",i);break;case s.UP:t=!0,this._keyEvent("previous",i);break;case s.DOWN:t=!0,this._keyEvent("next",i);break;case s.ENTER:case s.NUMPAD_ENTER:this.menu.active&&(t=!0,i.preventDefault(),this.menu.select(i));break;case s.TAB:this.menu.active&&this.menu.select(i);break;case s.ESCAPE:this.menu.element.is(":visible")&&(this._value(this.term),this.close(i),i.preventDefault());break;default:n=!0,this._searchTimeout(i)}},keypress:function(r){if(t){t=!1,r.preventDefault();return}if(n)return;var i=e.ui.keyCode;switch(r.keyCode){case i.PAGE_UP:this._move("previousPage",r);break;case i.PAGE_DOWN:this._move("nextPage",r);break;case i.UP:this._keyEvent("previous",r);break;case i.DOWN:this._keyEvent("next",r)}},input:function(e){if(r){r=!1,e.preventDefault();return}this._searchTimeout(e)},focus:function(){this.selectedItem=null,this.previous=this._value()},blur:function(e){if(this.cancelBlur){delete this.cancelBlur;return}clearTimeout(this.searching),this.close(e),this._change(e)}}),this._initSource(),this.menu=e("
                                                  "+(o[0]>0&&I==o[1]-1?'
                                                  ':""):""),F+=U}B+=F}return B+=x+($.ui.ie6&&!e.inline?'':""),e._keyEvent=!1,B},_generateMonthYearHeader:function(e,t,n,r,i,s,o,u){var a=this._get(e,"changeMonth"),f=this._get(e,"changeYear"),l=this._get(e,"showMonthAfterYear"),c='
                                                  ',h="";if(s||!a)h+=''+o[t]+"";else{var p=r&&r.getFullYear()==n,d=i&&i.getFullYear()==n;h+='"}l||(c+=h+(s||!a||!f?" ":""));if(!e.yearshtml){e.yearshtml="";if(s||!f)c+=''+n+"";else{var m=this._get(e,"yearRange").split(":"),g=(new Date).getFullYear(),y=function(e){var t=e.match(/c[+-].*/)?n+parseInt(e.substring(1),10):e.match(/[+-].*/)?g+parseInt(e,10):parseInt(e,10);return isNaN(t)?g:t},b=y(m[0]),w=Math.max(b,y(m[1]||""));b=r?Math.max(b,r.getFullYear()):b,w=i?Math.min(w,i.getFullYear()):w,e.yearshtml+='",c+=e.yearshtml,e.yearshtml=null}}return c+=this._get(e,"yearSuffix"),l&&(c+=(s||!a||!f?" ":"")+h),c+="
                                                  ",c},_adjustInstDate:function(e,t,n){var r=e.drawYear+(n=="Y"?t:0),i=e.drawMonth+(n=="M"?t:0),s=Math.min(e.selectedDay,this._getDaysInMonth(r,i))+(n=="D"?t:0),o=this._restrictMinMax(e,this._daylightSavingAdjust(new Date(r,i,s)));e.selectedDay=o.getDate(),e.drawMonth=e.selectedMonth=o.getMonth(),e.drawYear=e.selectedYear=o.getFullYear(),(n=="M"||n=="Y")&&this._notifyChange(e)},_restrictMinMax:function(e,t){var n=this._getMinMaxDate(e,"min"),r=this._getMinMaxDate(e,"max"),i=n&&tr?r:i,i},_notifyChange:function(e){var t=this._get(e,"onChangeMonthYear");t&&t.apply(e.input?e.input[0]:null,[e.selectedYear,e.selectedMonth+1,e])},_getNumberOfMonths:function(e){var t=this._get(e,"numberOfMonths");return t==null?[1,1]:typeof t=="number"?[1,t]:t},_getMinMaxDate:function(e,t){return this._determineDate(e,this._get(e,t+"Date"),null)},_getDaysInMonth:function(e,t){return 32-this._daylightSavingAdjust(new Date(e,t,32)).getDate()},_getFirstDayOfMonth:function(e,t){return(new Date(e,t,1)).getDay()},_canAdjustMonth:function(e,t,n,r){var i=this._getNumberOfMonths(e),s=this._daylightSavingAdjust(new Date(n,r+(t<0?t:i[0]*i[1]),1));return t<0&&s.setDate(this._getDaysInMonth(s.getFullYear(),s.getMonth())),this._isInRange(e,s)},_isInRange:function(e,t){var n=this._getMinMaxDate(e,"min"),r=this._getMinMaxDate(e,"max");return(!n||t.getTime()>=n.getTime())&&(!r||t.getTime()<=r.getTime())},_getFormatConfig:function(e){var t=this._get(e,"shortYearCutoff");return t=typeof t!="string"?t:(new Date).getFullYear()%100+parseInt(t,10),{shortYearCutoff:t,dayNamesShort:this._get(e,"dayNamesShort"),dayNames:this._get(e,"dayNames"),monthNamesShort:this._get(e,"monthNamesShort"),monthNames:this._get(e,"monthNames")}},_formatDate:function(e,t,n,r){t||(e.currentDay=e.selectedDay,e.currentMonth=e.selectedMonth,e.currentYear=e.selectedYear);var i=t?typeof t=="object"?t:this._daylightSavingAdjust(new Date(r,n,t)):this._daylightSavingAdjust(new Date(e.currentYear,e.currentMonth,e.currentDay));return this.formatDate(this._get(e,"dateFormat"),i,this._getFormatConfig(e))}}),$.fn.datepicker=function(e){if(!this.length)return this;$.datepicker.initialized||($(document).mousedown($.datepicker._checkExternalClick).find(document.body).append($.datepicker.dpDiv),$.datepicker.initialized=!0);var t=Array.prototype.slice.call(arguments,1);return typeof e!="string"||e!="isDisabled"&&e!="getDate"&&e!="widget"?e=="option"&&arguments.length==2&&typeof arguments[1]=="string"?$.datepicker["_"+e+"Datepicker"].apply($.datepicker,[this[0]].concat(t)):this.each(function(){typeof e=="string"?$.datepicker["_"+e+"Datepicker"].apply($.datepicker,[this].concat(t)):$.datepicker._attachDatepicker(this,e)}):$.datepicker["_"+e+"Datepicker"].apply($.datepicker,[this[0]].concat(t))},$.datepicker=new Datepicker,$.datepicker.initialized=!1,$.datepicker.uuid=(new Date).getTime(),$.datepicker.version="1.9.2",window["DP_jQuery_"+dpuuid]=$})(jQuery);(function(e,t){var n="ui-dialog ui-widget ui-widget-content ui-corner-all ",r={buttons:!0,height:!0,maxHeight:!0,maxWidth:!0,minHeight:!0,minWidth:!0,width:!0},i={maxHeight:!0,maxWidth:!0,minHeight:!0,minWidth:!0};e.widget("ui.dialog",{version:"1.9.2",options:{autoOpen:!0,buttons:{},closeOnEscape:!0,closeText:"close",dialogClass:"",draggable:!0,hide:null,height:"auto",maxHeight:!1,maxWidth:!1,minHeight:150,minWidth:150,modal:!1,position:{my:"center",at:"center",of:window,collision:"fit",using:function(t){var n=e(this).css(t).offset().top;n<0&&e(this).css("top",t.top-n)}},resizable:!0,show:null,stack:!0,title:"",width:300,zIndex:1e3},_create:function(){this.originalTitle=this.element.attr("title"),typeof this.originalTitle!="string"&&(this.originalTitle=""),this.oldPosition={parent:this.element.parent(),index:this.element.parent().children().index(this.element)},this.options.title=this.options.title||this.originalTitle;var t=this,r=this.options,i=r.title||" ",s,o,u,a,f;s=(this.uiDialog=e("
                                                  ")).addClass(n+r.dialogClass).css({display:"none",outline:0,zIndex:r.zIndex}).attr("tabIndex",-1).keydown(function(n){r.closeOnEscape&&!n.isDefaultPrevented()&&n.keyCode&&n.keyCode===e.ui.keyCode.ESCAPE&&(t.close(n),n.preventDefault())}).mousedown(function(e){t.moveToTop(!1,e)}).appendTo("body"),this.element.show().removeAttr("title").addClass("ui-dialog-content ui-widget-content").appendTo(s),o=(this.uiDialogTitlebar=e("
                                                  ")).addClass("ui-dialog-titlebar ui-widget-header ui-corner-all ui-helper-clearfix").bind("mousedown",function(){s.focus()}).prependTo(s),u=e("").addClass("ui-dialog-titlebar-close ui-corner-all").attr("role","button").click(function(e){e.preventDefault(),t.close(e)}).appendTo(o),(this.uiDialogTitlebarCloseText=e("")).addClass("ui-icon ui-icon-closethick").text(r.closeText).appendTo(u),a=e("").uniqueId().addClass("ui-dialog-title").html(i).prependTo(o),f=(this.uiDialogButtonPane=e("
                                                  ")).addClass("ui-dialog-buttonpane ui-widget-content ui-helper-clearfix"),(this.uiButtonSet=e("
                                                  ")).addClass("ui-dialog-buttonset").appendTo(f),s.attr({role:"dialog","aria-labelledby":a.attr("id")}),o.find("*").add(o).disableSelection(),this._hoverable(u),this._focusable(u),r.draggable&&e.fn.draggable&&this._makeDraggable(),r.resizable&&e.fn.resizable&&this._makeResizable(),this._createButtons(r.buttons),this._isOpen=!1,e.fn.bgiframe&&s.bgiframe(),this._on(s,{keydown:function(t){if(!r.modal||t.keyCode!==e.ui.keyCode.TAB)return;var n=e(":tabbable",s),i=n.filter(":first"),o=n.filter(":last");if(t.target===o[0]&&!t.shiftKey)return i.focus(1),!1;if(t.target===i[0]&&t.shiftKey)return o.focus(1),!1}})},_init:function(){this.options.autoOpen&&this.open()},_destroy:function(){var e,t=this.oldPosition;this.overlay&&this.overlay.destroy(),this.uiDialog.hide(),this.element.removeClass("ui-dialog-content ui-widget-content").hide().appendTo("body"),this.uiDialog.remove(),this.originalTitle&&this.element.attr("title",this.originalTitle),e=t.parent.children().eq(t.index),e.length&&e[0]!==this.element[0]?e.before(this.element):t.parent.append(this.element)},widget:function(){return this.uiDialog},close:function(t){var n=this,r,i;if(!this._isOpen)return;if(!1===this._trigger("beforeClose",t))return;return this._isOpen=!1,this.overlay&&this.overlay.destroy(),this.options.hide?this._hide(this.uiDialog,this.options.hide,function(){n._trigger("close",t)}):(this.uiDialog.hide(),this._trigger("close",t)),e.ui.dialog.overlay.resize(),this.options.modal&&(r=0,e(".ui-dialog").each(function(){this!==n.uiDialog[0]&&(i=e(this).css("z-index"),isNaN(i)||(r=Math.max(r,i)))}),e.ui.dialog.maxZ=r),this},isOpen:function(){return this._isOpen},moveToTop:function(t,n){var r=this.options,i;return r.modal&&!t||!r.stack&&!r.modal?this._trigger("focus",n):(r.zIndex>e.ui.dialog.maxZ&&(e.ui.dialog.maxZ=r.zIndex),this.overlay&&(e.ui.dialog.maxZ+=1,e.ui.dialog.overlay.maxZ=e.ui.dialog.maxZ,this.overlay.$el.css("z-index",e.ui.dialog.overlay.maxZ)),i={scrollTop:this.element.scrollTop(),scrollLeft:this.element.scrollLeft()},e.ui.dialog.maxZ+=1,this.uiDialog.css("z-index",e.ui.dialog.maxZ),this.element.attr(i),this._trigger("focus",n),this)},open:function(){if(this._isOpen)return;var t,n=this.options,r=this.uiDialog;return this._size(),this._position(n.position),r.show(n.show),this.overlay=n.modal?new e.ui.dialog.overlay(this):null,this.moveToTop(!0),t=this.element.find(":tabbable"),t.length||(t=this.uiDialogButtonPane.find(":tabbable"),t.length||(t=r)),t.eq(0).focus(),this._isOpen=!0,this._trigger("open"),this},_createButtons:function(t){var n=this,r=!1;this.uiDialogButtonPane.remove(),this.uiButtonSet.empty(),typeof t=="object"&&t!==null&&e.each(t,function(){return!(r=!0)}),r?(e.each(t,function(t,r){var i,s;r=e.isFunction(r)?{click:r,text:t}:r,r=e.extend({type:"button"},r),s=r.click,r.click=function(){s.apply(n.element[0],arguments)},i=e("",r).appendTo(n.uiButtonSet),e.fn.button&&i.button()}),this.uiDialog.addClass("ui-dialog-buttons"),this.uiDialogButtonPane.appendTo(this.uiDialog)):this.uiDialog.removeClass("ui-dialog-buttons")},_makeDraggable:function(){function r(e){return{position:e.position,offset:e.offset}}var t=this,n=this.options;this.uiDialog.draggable({cancel:".ui-dialog-content, .ui-dialog-titlebar-close",handle:".ui-dialog-titlebar",containment:"document",start:function(n,i){e(this).addClass("ui-dialog-dragging"),t._trigger("dragStart",n,r(i))},drag:function(e,n){t._trigger("drag",e,r(n))},stop:function(i,s){n.position=[s.position.left-t.document.scrollLeft(),s.position.top-t.document.scrollTop()],e(this).removeClass("ui-dialog-dragging"),t._trigger("dragStop",i,r(s)),e.ui.dialog.overlay.resize()}})},_makeResizable:function(n){function u(e){return{originalPosition:e.originalPosition,originalSize:e.originalSize,position:e.position,size:e.size}}n=n===t?this.options.resizable:n;var r=this,i=this.options,s=this.uiDialog.css("position"),o=typeof n=="string"?n:"n,e,s,w,se,sw,ne,nw";this.uiDialog.resizable({cancel:".ui-dialog-content",containment:"document",alsoResize:this.element,maxWidth:i.maxWidth,maxHeight:i.maxHeight,minWidth:i.minWidth,minHeight:this._minHeight(),handles:o,start:function(t,n){e(this).addClass("ui-dialog-resizing"),r._trigger("resizeStart",t,u(n))},resize:function(e,t){r._trigger("resize",e,u(t))},stop:function(t,n){e(this).removeClass("ui-dialog-resizing"),i.height=e(this).height(),i.width=e(this).width(),r._trigger("resizeStop",t,u(n)),e.ui.dialog.overlay.resize()}}).css("position",s).find(".ui-resizable-se").addClass("ui-icon ui-icon-grip-diagonal-se")},_minHeight:function(){var e=this.options;return e.height==="auto"?e.minHeight:Math.min(e.minHeight,e.height)},_position:function(t){var n=[],r=[0,0],i;if(t){if(typeof t=="string"||typeof t=="object"&&"0"in t)n=t.split?t.split(" "):[t[0],t[1]],n.length===1&&(n[1]=n[0]),e.each(["left","top"],function(e,t){+n[e]===n[e]&&(r[e]=n[e],n[e]=t)}),t={my:n[0]+(r[0]<0?r[0]:"+"+r[0])+" "+n[1]+(r[1]<0?r[1]:"+"+r[1]),at:n.join(" ")};t=e.extend({},e.ui.dialog.prototype.options.position,t)}else t=e.ui.dialog.prototype.options.position;i=this.uiDialog.is(":visible"),i||this.uiDialog.show(),this.uiDialog.position(t),i||this.uiDialog.hide()},_setOptions:function(t){var n=this,s={},o=!1;e.each(t,function(e,t){n._setOption(e,t),e in r&&(o=!0),e in i&&(s[e]=t)}),o&&this._size(),this.uiDialog.is(":data(resizable)")&&this.uiDialog.resizable("option",s)},_setOption:function(t,r){var i,s,o=this.uiDialog;switch(t){case"buttons":this._createButtons(r);break;case"closeText":this.uiDialogTitlebarCloseText.text(""+r);break;case"dialogClass":o.removeClass(this.options.dialogClass).addClass(n+r);break;case"disabled":r?o.addClass("ui-dialog-disabled"):o.removeClass("ui-dialog-disabled");break;case"draggable":i=o.is(":data(draggable)"),i&&!r&&o.draggable("destroy"),!i&&r&&this._makeDraggable();break;case"position":this._position(r);break;case"resizable":s=o.is(":data(resizable)"),s&&!r&&o.resizable("destroy"),s&&typeof r=="string"&&o.resizable("option","handles",r),!s&&r!==!1&&this._makeResizable(r);break;case"title":e(".ui-dialog-title",this.uiDialogTitlebar).html(""+(r||" "))}this._super(t,r)},_size:function(){var t,n,r,i=this.options,s=this.uiDialog.is(":visible");this.element.show().css({width:"auto",minHeight:0,height:0}),i.minWidth>i.width&&(i.width=i.minWidth),t=this.uiDialog.css({height:"auto",width:i.width}).outerHeight(),n=Math.max(0,i.minHeight-t),i.height==="auto"?e.support.minHeight?this.element.css({minHeight:n,height:"auto"}):(this.uiDialog.show(),r=this.element.css("height","auto").height(),s||this.uiDialog.hide(),this.element.height(Math.max(r,n))):this.element.height(Math.max(i.height-t,0)),this.uiDialog.is(":data(resizable)")&&this.uiDialog.resizable("option","minHeight",this._minHeight())}}),e.extend(e.ui.dialog,{uuid:0,maxZ:0,getTitleId:function(e){var t=e.attr("id");return t||(this.uuid+=1,t=this.uuid),"ui-dialog-title-"+t},overlay:function(t){this.$el=e.ui.dialog.overlay.create(t)}}),e.extend(e.ui.dialog.overlay,{instances:[],oldInstances:[],maxZ:0,events:e.map("focus,mousedown,mouseup,keydown,keypress,click".split(","),function(e){return e+".dialog-overlay"}).join(" "),create:function(t){this.instances.length===0&&(setTimeout(function(){e.ui.dialog.overlay.instances.length&&e(document).bind(e.ui.dialog.overlay.events,function(t){if(e(t.target).zIndex()").addClass("ui-widget-overlay");return e(document).bind("keydown.dialog-overlay",function(r){var i=e.ui.dialog.overlay.instances;i.length!==0&&i[i.length-1]===n&&t.options.closeOnEscape&&!r.isDefaultPrevented()&&r.keyCode&&r.keyCode===e.ui.keyCode.ESCAPE&&(t.close(r),r.preventDefault())}),n.appendTo(document.body).css({width:this.width(),height:this.height()}),e.fn.bgiframe&&n.bgiframe(),this.instances.push(n),n},destroy:function(t){var n=e.inArray(t,this.instances),r=0;n!==-1&&this.oldInstances.push(this.instances.splice(n,1)[0]),this.instances.length===0&&e([document,window]).unbind(".dialog-overlay"),t.height(0).width(0).remove(),e.each(this.instances,function(){r=Math.max(r,this.css("z-index"))}),this.maxZ=r},height:function(){var t,n;return e.ui.ie?(t=Math.max(document.documentElement.scrollHeight,document.body.scrollHeight),n=Math.max(document.documentElement.offsetHeight,document.body.offsetHeight),t",delay:300,options:{icons:{submenu:"ui-icon-carat-1-e"},menus:"ul",position:{my:"left top",at:"right top"},role:"menu",blur:null,focus:null,select:null},_create:function(){this.activeMenu=this.element,this.element.uniqueId().addClass("ui-menu ui-widget ui-widget-content ui-corner-all").toggleClass("ui-menu-icons",!!this.element.find(".ui-icon").length).attr({role:this.options.role,tabIndex:0}).bind("click"+this.eventNamespace,e.proxy(function(e){this.options.disabled&&e.preventDefault()},this)),this.options.disabled&&this.element.addClass("ui-state-disabled").attr("aria-disabled","true"),this._on({"mousedown .ui-menu-item > a":function(e){e.preventDefault()},"click .ui-state-disabled > a":function(e){e.preventDefault()},"click .ui-menu-item:has(a)":function(t){var r=e(t.target).closest(".ui-menu-item");!n&&r.not(".ui-state-disabled").length&&(n=!0,this.select(t),r.has(".ui-menu").length?this.expand(t):this.element.is(":focus")||(this.element.trigger("focus",[!0]),this.active&&this.active.parents(".ui-menu").length===1&&clearTimeout(this.timer)))},"mouseenter .ui-menu-item":function(t){var n=e(t.currentTarget);n.siblings().children(".ui-state-active").removeClass("ui-state-active"),this.focus(t,n)},mouseleave:"collapseAll","mouseleave .ui-menu":"collapseAll",focus:function(e,t){var n=this.active||this.element.children(".ui-menu-item").eq(0);t||this.focus(e,n)},blur:function(t){this._delay(function(){e.contains(this.element[0],this.document[0].activeElement)||this.collapseAll(t)})},keydown:"_keydown"}),this.refresh(),this._on(this.document,{click:function(t){e(t.target).closest(".ui-menu").length||this.collapseAll(t),n=!1}})},_destroy:function(){this.element.removeAttr("aria-activedescendant").find(".ui-menu").andSelf().removeClass("ui-menu ui-widget ui-widget-content ui-corner-all ui-menu-icons").removeAttr("role").removeAttr("tabIndex").removeAttr("aria-labelledby").removeAttr("aria-expanded").removeAttr("aria-hidden").removeAttr("aria-disabled").removeUniqueId().show(),this.element.find(".ui-menu-item").removeClass("ui-menu-item").removeAttr("role").removeAttr("aria-disabled").children("a").removeUniqueId().removeClass("ui-corner-all ui-state-hover").removeAttr("tabIndex").removeAttr("role").removeAttr("aria-haspopup").children().each(function(){var t=e(this);t.data("ui-menu-submenu-carat")&&t.remove()}),this.element.find(".ui-menu-divider").removeClass("ui-menu-divider ui-widget-content")},_keydown:function(t){function a(e){return e.replace(/[\-\[\]{}()*+?.,\\\^$|#\s]/g,"\\$&")}var n,r,i,s,o,u=!0;switch(t.keyCode){case e.ui.keyCode.PAGE_UP:this.previousPage(t);break;case e.ui.keyCode.PAGE_DOWN:this.nextPage(t);break;case e.ui.keyCode.HOME:this._move("first","first",t);break;case e.ui.keyCode.END:this._move("last","last",t);break;case e.ui.keyCode.UP:this.previous(t);break;case e.ui.keyCode.DOWN:this.next(t);break;case e.ui.keyCode.LEFT:this.collapse(t);break;case e.ui.keyCode.RIGHT:this.active&&!this.active.is(".ui-state-disabled")&&this.expand(t);break;case e.ui.keyCode.ENTER:case e.ui.keyCode.SPACE:this._activate(t);break;case e.ui.keyCode.ESCAPE:this.collapse(t);break;default:u=!1,r=this.previousFilter||"",i=String.fromCharCode(t.keyCode),s=!1,clearTimeout(this.filterTimer),i===r?s=!0:i=r+i,o=new RegExp("^"+a(i),"i"),n=this.activeMenu.children(".ui-menu-item").filter(function(){return o.test(e(this).children("a").text())}),n=s&&n.index(this.active.next())!==-1?this.active.nextAll(".ui-menu-item"):n,n.length||(i=String.fromCharCode(t.keyCode),o=new RegExp("^"+a(i),"i"),n=this.activeMenu.children(".ui-menu-item").filter(function(){return o.test(e(this).children("a").text())})),n.length?(this.focus(t,n),n.length>1?(this.previousFilter=i,this.filterTimer=this._delay(function(){delete this.previousFilter},1e3)):delete this.previousFilter):delete this.previousFilter}u&&t.preventDefault()},_activate:function(e){this.active.is(".ui-state-disabled")||(this.active.children("a[aria-haspopup='true']").length?this.expand(e):this.select(e))},refresh:function(){var t,n=this.options.icons.submenu,r=this.element.find(this.options.menus);r.filter(":not(.ui-menu)").addClass("ui-menu ui-widget ui-widget-content ui-corner-all").hide().attr({role:this.options.role,"aria-hidden":"true","aria-expanded":"false"}).each(function(){var t=e(this),r=t.prev("a"),i=e("").addClass("ui-menu-icon ui-icon "+n).data("ui-menu-submenu-carat",!0);r.attr("aria-haspopup","true").prepend(i),t.attr("aria-labelledby",r.attr("id"))}),t=r.add(this.element),t.children(":not(.ui-menu-item):has(a)").addClass("ui-menu-item").attr("role","presentation").children("a").uniqueId().addClass("ui-corner-all").attr({tabIndex:-1,role:this._itemRole()}),t.children(":not(.ui-menu-item)").each(function(){var t=e(this);/[^\-—–\s]/.test(t.text())||t.addClass("ui-widget-content ui-menu-divider")}),t.children(".ui-state-disabled").attr("aria-disabled","true"),this.active&&!e.contains(this.element[0],this.active[0])&&this.blur()},_itemRole:function(){return{menu:"menuitem",listbox:"option"}[this.options.role]},focus:function(e,t){var n,r;this.blur(e,e&&e.type==="focus"),this._scrollIntoView(t),this.active=t.first(),r=this.active.children("a").addClass("ui-state-focus"),this.options.role&&this.element.attr("aria-activedescendant",r.attr("id")),this.active.parent().closest(".ui-menu-item").children("a:first").addClass("ui-state-active"),e&&e.type==="keydown"?this._close():this.timer=this._delay(function(){this._close()},this.delay),n=t.children(".ui-menu"),n.length&&/^mouse/.test(e.type)&&this._startOpening(n),this.activeMenu=t.parent(),this._trigger("focus",e,{item:t})},_scrollIntoView:function(t){var n,r,i,s,o,u;this._hasScroll()&&(n=parseFloat(e.css(this.activeMenu[0],"borderTopWidth"))||0,r=parseFloat(e.css(this.activeMenu[0],"paddingTop"))||0,i=t.offset().top-this.activeMenu.offset().top-n-r,s=this.activeMenu.scrollTop(),o=this.activeMenu.height(),u=t.height(),i<0?this.activeMenu.scrollTop(s+i):i+u>o&&this.activeMenu.scrollTop(s+i-o+u))},blur:function(e,t){t||clearTimeout(this.timer);if(!this.active)return;this.active.children("a").removeClass("ui-state-focus"),this.active=null,this._trigger("blur",e,{item:this.active})},_startOpening:function(e){clearTimeout(this.timer);if(e.attr("aria-hidden")!=="true")return;this.timer=this._delay(function(){this._close(),this._open(e)},this.delay)},_open:function(t){var n=e.extend({of:this.active},this.options.position);clearTimeout(this.timer),this.element.find(".ui-menu").not(t.parents(".ui-menu")).hide().attr("aria-hidden","true"),t.show().removeAttr("aria-hidden").attr("aria-expanded","true").position(n)},collapseAll:function(t,n){clearTimeout(this.timer),this.timer=this._delay(function(){var r=n?this.element:e(t&&t.target).closest(this.element.find(".ui-menu"));r.length||(r=this.element),this._close(r),this.blur(t),this.activeMenu=r},this.delay)},_close:function(e){e||(e=this.active?this.active.parent():this.element),e.find(".ui-menu").hide().attr("aria-hidden","true").attr("aria-expanded","false").end().find("a.ui-state-active").removeClass("ui-state-active")},collapse:function(e){var t=this.active&&this.active.parent().closest(".ui-menu-item",this.element);t&&t.length&&(this._close(),this.focus(e,t))},expand:function(e){var t=this.active&&this.active.children(".ui-menu ").children(".ui-menu-item").first();t&&t.length&&(this._open(t.parent()),this._delay(function(){this.focus(e,t)}))},next:function(e){this._move("next","first",e)},previous:function(e){this._move("prev","last",e)},isFirstItem:function(){return this.active&&!this.active.prevAll(".ui-menu-item").length},isLastItem:function(){return this.active&&!this.active.nextAll(".ui-menu-item").length},_move:function(e,t,n){var r;this.active&&(e==="first"||e==="last"?r=this.active[e==="first"?"prevAll":"nextAll"](".ui-menu-item").eq(-1):r=this.active[e+"All"](".ui-menu-item").eq(0));if(!r||!r.length||!this.active)r=this.activeMenu.children(".ui-menu-item")[t]();this.focus(n,r)},nextPage:function(t){var n,r,i;if(!this.active){this.next(t);return}if(this.isLastItem())return;this._hasScroll()?(r=this.active.offset().top,i=this.element.height(),this.active.nextAll(".ui-menu-item").each(function(){return n=e(this),n.offset().top-r-i<0}),this.focus(t,n)):this.focus(t,this.activeMenu.children(".ui-menu-item")[this.active?"last":"first"]())},previousPage:function(t){var n,r,i;if(!this.active){this.next(t);return}if(this.isFirstItem())return;this._hasScroll()?(r=this.active.offset().top,i=this.element.height(),this.active.prevAll(".ui-menu-item").each(function(){return n=e(this),n.offset().top-r+i>0}),this.focus(t,n)):this.focus(t,this.activeMenu.children(".ui-menu-item").first())},_hasScroll:function(){return this.element.outerHeight()
                                                  ").appendTo(this.element),this.oldValue=this._value(),this._refreshValue()},_destroy:function(){this.element.removeClass("ui-progressbar ui-widget ui-widget-content ui-corner-all").removeAttr("role").removeAttr("aria-valuemin").removeAttr("aria-valuemax").removeAttr("aria-valuenow"),this.valueDiv.remove()},value:function(e){return e===t?this._value():(this._setOption("value",e),this)},_setOption:function(e,t){e==="value"&&(this.options.value=t,this._refreshValue(),this._value()===this.options.max&&this._trigger("complete")),this._super(e,t)},_value:function(){var e=this.options.value;return typeof e!="number"&&(e=0),Math.min(this.options.max,Math.max(this.min,e))},_percentage:function(){return 100*this._value()/this.options.max},_refreshValue:function(){var e=this.value(),t=this._percentage();this.oldValue!==e&&(this.oldValue=e,this._trigger("change")),this.valueDiv.toggle(e>this.min).toggleClass("ui-corner-right",e===this.options.max).width(t.toFixed(0)+"%"),this.element.attr("aria-valuenow",e)}})})(jQuery);(function(e,t){var n=5;e.widget("ui.slider",e.ui.mouse,{version:"1.9.2",widgetEventPrefix:"slide",options:{animate:!1,distance:0,max:100,min:0,orientation:"horizontal",range:!1,step:1,value:0,values:null},_create:function(){var t,r,i=this.options,s=this.element.find(".ui-slider-handle").addClass("ui-state-default ui-corner-all"),o="",u=[];this._keySliding=!1,this._mouseSliding=!1,this._animateOff=!0,this._handleIndex=null,this._detectOrientation(),this._mouseInit(),this.element.addClass("ui-slider ui-slider-"+this.orientation+" ui-widget"+" ui-widget-content"+" ui-corner-all"+(i.disabled?" ui-slider-disabled ui-disabled":"")),this.range=e([]),i.range&&(i.range===!0&&(i.values||(i.values=[this._valueMin(),this._valueMin()]),i.values.length&&i.values.length!==2&&(i.values=[i.values[0],i.values[0]])),this.range=e("
                                                  ").appendTo(this.element).addClass("ui-slider-range ui-widget-header"+(i.range==="min"||i.range==="max"?" ui-slider-range-"+i.range:""))),r=i.values&&i.values.length||1;for(t=s.length;tn&&(i=n,s=e(this),o=t)}),c.range===!0&&this.values(1)===c.min&&(o+=1,s=e(this.handles[o])),u=this._start(t,o),u===!1?!1:(this._mouseSliding=!0,this._handleIndex=o,s.addClass("ui-state-active").focus(),a=s.offset(),f=!e(t.target).parents().andSelf().is(".ui-slider-handle"),this._clickOffset=f?{left:0,top:0}:{left:t.pageX-a.left-s.width()/2,top:t.pageY-a.top-s.height()/2-(parseInt(s.css("borderTopWidth"),10)||0)-(parseInt(s.css("borderBottomWidth"),10)||0)+(parseInt(s.css("marginTop"),10)||0)},this.handles.hasClass("ui-state-hover")||this._slide(t,o,r),this._animateOff=!0,!0))},_mouseStart:function(){return!0},_mouseDrag:function(e){var t={x:e.pageX,y:e.pageY},n=this._normValueFromMouse(t);return this._slide(e,this._handleIndex,n),!1},_mouseStop:function(e){return this.handles.removeClass("ui-state-active"),this._mouseSliding=!1,this._stop(e,this._handleIndex),this._change(e,this._handleIndex),this._handleIndex=null,this._clickOffset=null,this._animateOff=!1,!1},_detectOrientation:function(){this.orientation=this.options.orientation==="vertical"?"vertical":"horizontal"},_normValueFromMouse:function(e){var t,n,r,i,s;return this.orientation==="horizontal"?(t=this.elementSize.width,n=e.x-this.elementOffset.left-(this._clickOffset?this._clickOffset.left:0)):(t=this.elementSize.height,n=e.y-this.elementOffset.top-(this._clickOffset?this._clickOffset.top:0)),r=n/t,r>1&&(r=1),r<0&&(r=0),this.orientation==="vertical"&&(r=1-r),i=this._valueMax()-this._valueMin(),s=this._valueMin()+r*i,this._trimAlignValue(s)},_start:function(e,t){var n={handle:this.handles[t],value:this.value()};return this.options.values&&this.options.values.length&&(n.value=this.values(t),n.values=this.values()),this._trigger("start",e,n)},_slide:function(e,t,n){var r,i,s;this.options.values&&this.options.values.length?(r=this.values(t?0:1),this.options.values.length===2&&this.options.range===!0&&(t===0&&n>r||t===1&&n1){this.options.values[t]=this._trimAlignValue(n),this._refreshValue(),this._change(null,t);return}if(!arguments.length)return this._values();if(!e.isArray(arguments[0]))return this.options.values&&this.options.values.length?this._values(t):this.value();r=this.options.values,i=arguments[0];for(s=0;s=this._valueMax())return this._valueMax();var t=this.options.step>0?this.options.step:1,n=(e-this._valueMin())%t,r=e-n;return Math.abs(n)*2>=t&&(r+=n>0?t:-t),parseFloat(r.toFixed(5))},_valueMin:function(){return this.options.min},_valueMax:function(){return this.options.max},_refreshValue:function(){var t,n,r,i,s,o=this.options.range,u=this.options,a=this,f=this._animateOff?!1:u.animate,l={};this.options.values&&this.options.values.length?this.handles.each(function(r){n=(a.values(r)-a._valueMin())/(a._valueMax()-a._valueMin())*100,l[a.orientation==="horizontal"?"left":"bottom"]=n+"%",e(this).stop(1,1)[f?"animate":"css"](l,u.animate),a.options.range===!0&&(a.orientation==="horizontal"?(r===0&&a.range.stop(1,1)[f?"animate":"css"]({left:n+"%"},u.animate),r===1&&a.range[f?"animate":"css"]({width:n-t+"%"},{queue:!1,duration:u.animate})):(r===0&&a.range.stop(1,1)[f?"animate":"css"]({bottom:n+"%"},u.animate),r===1&&a.range[f?"animate":"css"]({height:n-t+"%"},{queue:!1,duration:u.animate}))),t=n}):(r=this.value(),i=this._valueMin(),s=this._valueMax(),n=s!==i?(r-i)/(s-i)*100:0,l[this.orientation==="horizontal"?"left":"bottom"]=n+"%",this.handle.stop(1,1)[f?"animate":"css"](l,u.animate),o==="min"&&this.orientation==="horizontal"&&this.range.stop(1,1)[f?"animate":"css"]({width:n+"%"},u.animate),o==="max"&&this.orientation==="horizontal"&&this.range[f?"animate":"css"]({width:100-n+"%"},{queue:!1,duration:u.animate}),o==="min"&&this.orientation==="vertical"&&this.range.stop(1,1)[f?"animate":"css"]({height:n+"%"},u.animate),o==="max"&&this.orientation==="vertical"&&this.range[f?"animate":"css"]({height:100-n+"%"},{queue:!1,duration:u.animate}))}})})(jQuery);(function(e){function t(e){return function(){var t=this.element.val();e.apply(this,arguments),this._refresh(),t!==this.element.val()&&this._trigger("change")}}e.widget("ui.spinner",{version:"1.9.2",defaultElement:"",widgetEventPrefix:"spin",options:{culture:null,icons:{down:"ui-icon-triangle-1-s",up:"ui-icon-triangle-1-n"},incremental:!0,max:null,min:null,numberFormat:null,page:10,step:1,change:null,spin:null,start:null,stop:null},_create:function(){this._setOption("max",this.options.max),this._setOption("min",this.options.min),this._setOption("step",this.options.step),this._value(this.element.val(),!0),this._draw(),this._on(this._events),this._refresh(),this._on(this.window,{beforeunload:function(){this.element.removeAttr("autocomplete")}})},_getCreateOptions:function(){var t={},n=this.element;return e.each(["min","max","step"],function(e,r){var i=n.attr(r);i!==undefined&&i.length&&(t[r]=i)}),t},_events:{keydown:function(e){this._start(e)&&this._keydown(e)&&e.preventDefault()},keyup:"_stop",focus:function(){this.previous=this.element.val()},blur:function(e){if(this.cancelBlur){delete this.cancelBlur;return}this._refresh(),this.previous!==this.element.val()&&this._trigger("change",e)},mousewheel:function(e,t){if(!t)return;if(!this.spinning&&!this._start(e))return!1;this._spin((t>0?1:-1)*this.options.step,e),clearTimeout(this.mousewheelTimer),this.mousewheelTimer=this._delay(function(){this.spinning&&this._stop(e)},100),e.preventDefault()},"mousedown .ui-spinner-button":function(t){function r(){var e=this.element[0]===this.document[0].activeElement;e||(this.element.focus(),this.previous=n,this._delay(function(){this.previous=n}))}var n;n=this.element[0]===this.document[0].activeElement?this.previous:this.element.val(),t.preventDefault(),r.call(this),this.cancelBlur=!0,this._delay(function(){delete this.cancelBlur,r.call(this)});if(this._start(t)===!1)return;this._repeat(null,e(t.currentTarget).hasClass("ui-spinner-up")?1:-1,t)},"mouseup .ui-spinner-button":"_stop","mouseenter .ui-spinner-button":function(t){if(!e(t.currentTarget).hasClass("ui-state-active"))return;if(this._start(t)===!1)return!1;this._repeat(null,e(t.currentTarget).hasClass("ui-spinner-up")?1:-1,t)},"mouseleave .ui-spinner-button":"_stop"},_draw:function(){var e=this.uiSpinner=this.element.addClass("ui-spinner-input").attr("autocomplete","off").wrap(this._uiSpinnerHtml()).parent().append(this._buttonHtml());this.element.attr("role","spinbutton"),this.buttons=e.find(".ui-spinner-button").attr("tabIndex",-1).button().removeClass("ui-corner-all"),this.buttons.height()>Math.ceil(e.height()*.5)&&e.height()>0&&e.height(e.height()),this.options.disabled&&this.disable()},_keydown:function(t){var n=this.options,r=e.ui.keyCode;switch(t.keyCode){case r.UP:return this._repeat(null,1,t),!0;case r.DOWN:return this._repeat(null,-1,t),!0;case r.PAGE_UP:return this._repeat(null,n.page,t),!0;case r.PAGE_DOWN:return this._repeat(null,-n.page,t),!0}return!1},_uiSpinnerHtml:function(){return""},_buttonHtml:function(){return""+""+""+""+""},_start:function(e){return!this.spinning&&this._trigger("start",e)===!1?!1:(this.counter||(this.counter=1),this.spinning=!0,!0)},_repeat:function(e,t,n){e=e||500,clearTimeout(this.timer),this.timer=this._delay(function(){this._repeat(40,t,n)},e),this._spin(t*this.options.step,n)},_spin:function(e,t){var n=this.value()||0;this.counter||(this.counter=1),n=this._adjustValue(n+e*this._increment(this.counter));if(!this.spinning||this._trigger("spin",t,{value:n})!==!1)this._value(n),this.counter++},_increment:function(t){var n=this.options.incremental;return n?e.isFunction(n)?n(t):Math.floor(t*t*t/5e4-t*t/500+17*t/200+1):1},_precision:function(){var e=this._precisionOf(this.options.step);return this.options.min!==null&&(e=Math.max(e,this._precisionOf(this.options.min))),e},_precisionOf:function(e){var t=e.toString(),n=t.indexOf(".");return n===-1?0:t.length-n-1},_adjustValue:function(e){var t,n,r=this.options;return t=r.min!==null?r.min:0,n=e-t,n=Math.round(n/r.step)*r.step,e=t+n,e=parseFloat(e.toFixed(this._precision())),r.max!==null&&e>r.max?r.max:r.min!==null&&e1&&e.href.replace(r,"")===location.href.replace(r,"").replace(/\s/g,"%20")}var n=0,r=/#.*$/;e.widget("ui.tabs",{version:"1.9.2",delay:300,options:{active:null,collapsible:!1,event:"click",heightStyle:"content",hide:null,show:null,activate:null,beforeActivate:null,beforeLoad:null,load:null},_create:function(){var t=this,n=this.options,r=n.active,i=location.hash.substring(1);this.running=!1,this.element.addClass("ui-tabs ui-widget ui-widget-content ui-corner-all").toggleClass("ui-tabs-collapsible",n.collapsible).delegate(".ui-tabs-nav > li","mousedown"+this.eventNamespace,function(t){e(this).is(".ui-state-disabled")&&t.preventDefault()}).delegate(".ui-tabs-anchor","focus"+this.eventNamespace,function(){e(this).closest("li").is(".ui-state-disabled")&&this.blur()}),this._processTabs();if(r===null){i&&this.tabs.each(function(t,n){if(e(n).attr("aria-controls")===i)return r=t,!1}),r===null&&(r=this.tabs.index(this.tabs.filter(".ui-tabs-active")));if(r===null||r===-1)r=this.tabs.length?0:!1}r!==!1&&(r=this.tabs.index(this.tabs.eq(r)),r===-1&&(r=n.collapsible?!1:0)),n.active=r,!n.collapsible&&n.active===!1&&this.anchors.length&&(n.active=0),e.isArray(n.disabled)&&(n.disabled=e.unique(n.disabled.concat(e.map(this.tabs.filter(".ui-state-disabled"),function(e){return t.tabs.index(e)}))).sort()),this.options.active!==!1&&this.anchors.length?this.active=this._findActive(this.options.active):this.active=e(),this._refresh(),this.active.length&&this.load(n.active)},_getCreateEventData:function(){return{tab:this.active,panel:this.active.length?this._getPanelForTab(this.active):e()}},_tabKeydown:function(t){var n=e(this.document[0].activeElement).closest("li"),r=this.tabs.index(n),i=!0;if(this._handlePageNav(t))return;switch(t.keyCode){case e.ui.keyCode.RIGHT:case e.ui.keyCode.DOWN:r++;break;case e.ui.keyCode.UP:case e.ui.keyCode.LEFT:i=!1,r--;break;case e.ui.keyCode.END:r=this.anchors.length-1;break;case e.ui.keyCode.HOME:r=0;break;case e.ui.keyCode.SPACE:t.preventDefault(),clearTimeout(this.activating),this._activate(r);return;case e.ui.keyCode.ENTER:t.preventDefault(),clearTimeout(this.activating),this._activate(r===this.options.active?!1:r);return;default:return}t.preventDefault(),clearTimeout(this.activating),r=this._focusNextTab(r,i),t.ctrlKey||(n.attr("aria-selected","false"),this.tabs.eq(r).attr("aria-selected","true"),this.activating=this._delay(function(){this.option("active",r)},this.delay))},_panelKeydown:function(t){if(this._handlePageNav(t))return;t.ctrlKey&&t.keyCode===e.ui.keyCode.UP&&(t.preventDefault(),this.active.focus())},_handlePageNav:function(t){if(t.altKey&&t.keyCode===e.ui.keyCode.PAGE_UP)return this._activate(this._focusNextTab(this.options.active-1,!1)),!0;if(t.altKey&&t.keyCode===e.ui.keyCode.PAGE_DOWN)return this._activate(this._focusNextTab(this.options.active+1,!0)),!0},_findNextTab:function(t,n){function i(){return t>r&&(t=0),t<0&&(t=r),t}var r=this.tabs.length-1;while(e.inArray(i(),this.options.disabled)!==-1)t=n?t+1:t-1;return t},_focusNextTab:function(e,t){return e=this._findNextTab(e,t),this.tabs.eq(e).focus(),e},_setOption:function(e,t){if(e==="active"){this._activate(t);return}if(e==="disabled"){this._setupDisabled(t);return}this._super(e,t),e==="collapsible"&&(this.element.toggleClass("ui-tabs-collapsible",t),!t&&this.options.active===!1&&this._activate(0)),e==="event"&&this._setupEvents(t),e==="heightStyle"&&this._setupHeightStyle(t)},_tabId:function(e){return e.attr("aria-controls")||"ui-tabs-"+i()},_sanitizeSelector:function(e){return e?e.replace(/[!"$%&'()*+,.\/:;<=>?@\[\]\^`{|}~]/g,"\\$&"):""},refresh:function(){var t=this.options,n=this.tablist.children(":has(a[href])");t.disabled=e.map(n.filter(".ui-state-disabled"),function(e){return n.index(e)}),this._processTabs(),t.active===!1||!this.anchors.length?(t.active=!1,this.active=e()):this.active.length&&!e.contains(this.tablist[0],this.active[0])?this.tabs.length===t.disabled.length?(t.active=!1,this.active=e()):this._activate(this._findNextTab(Math.max(0,t.active-1),!1)):t.active=this.tabs.index(this.active),this._refresh()},_refresh:function(){this._setupDisabled(this.options.disabled),this._setupEvents(this.options.event),this._setupHeightStyle(this.options.heightStyle),this.tabs.not(this.active).attr({"aria-selected":"false",tabIndex:-1}),this.panels.not(this._getPanelForTab(this.active)).hide().attr({"aria-expanded":"false","aria-hidden":"true"}),this.active.length?(this.active.addClass("ui-tabs-active ui-state-active").attr({"aria-selected":"true",tabIndex:0}),this._getPanelForTab(this.active).show().attr({"aria-expanded":"true","aria-hidden":"false"})):this.tabs.eq(0).attr("tabIndex",0)},_processTabs:function(){var t=this;this.tablist=this._getList().addClass("ui-tabs-nav ui-helper-reset ui-helper-clearfix ui-widget-header ui-corner-all").attr("role","tablist"),this.tabs=this.tablist.find("> li:has(a[href])").addClass("ui-state-default ui-corner-top").attr({role:"tab",tabIndex:-1}),this.anchors=this.tabs.map(function(){return e("a",this)[0]}).addClass("ui-tabs-anchor").attr({role:"presentation",tabIndex:-1}),this.panels=e(),this.anchors.each(function(n,r){var i,o,u,a=e(r).uniqueId().attr("id"),f=e(r).closest("li"),l=f.attr("aria-controls");s(r)?(i=r.hash,o=t.element.find(t._sanitizeSelector(i))):(u=t._tabId(f),i="#"+u,o=t.element.find(i),o.length||(o=t._createPanel(u),o.insertAfter(t.panels[n-1]||t.tablist)),o.attr("aria-live","polite")),o.length&&(t.panels=t.panels.add(o)),l&&f.data("ui-tabs-aria-controls",l),f.attr({"aria-controls":i.substring(1),"aria-labelledby":a}),o.attr("aria-labelledby",a)}),this.panels.addClass("ui-tabs-panel ui-widget-content ui-corner-bottom").attr("role","tabpanel")},_getList:function(){return this.element.find("ol,ul").eq(0)},_createPanel:function(t){return e("
                                                  ").attr("id",t).addClass("ui-tabs-panel ui-widget-content ui-corner-bottom").data("ui-tabs-destroy",!0)},_setupDisabled:function(t){e.isArray(t)&&(t.length?t.length===this.anchors.length&&(t=!0):t=!1);for(var n=0,r;r=this.tabs[n];n++)t===!0||e.inArray(n,t)!==-1?e(r).addClass("ui-state-disabled").attr("aria-disabled","true"):e(r).removeClass("ui-state-disabled").removeAttr("aria-disabled");this.options.disabled=t},_setupEvents:function(t){var n={click:function(e){e.preventDefault()}};t&&e.each(t.split(" "),function(e,t){n[t]="_eventHandler"}),this._off(this.anchors.add(this.tabs).add(this.panels)),this._on(this.anchors,n),this._on(this.tabs,{keydown:"_tabKeydown"}),this._on(this.panels,{keydown:"_panelKeydown"}),this._focusable(this.tabs),this._hoverable(this.tabs)},_setupHeightStyle:function(t){var n,r,i=this.element.parent();t==="fill"?(e.support.minHeight||(r=i.css("overflow"),i.css("overflow","hidden")),n=i.height(),this.element.siblings(":visible").each(function(){var t=e(this),r=t.css("position");if(r==="absolute"||r==="fixed")return;n-=t.outerHeight(!0)}),r&&i.css("overflow",r),this.element.children().not(this.panels).each(function(){n-=e(this).outerHeight(!0)}),this.panels.each(function(){e(this).height(Math.max(0,n-e(this).innerHeight()+e(this).height()))}).css("overflow","auto")):t==="auto"&&(n=0,this.panels.each(function(){n=Math.max(n,e(this).height("").height())}).height(n))},_eventHandler:function(t){var n=this.options,r=this.active,i=e(t.currentTarget),s=i.closest("li"),o=s[0]===r[0],u=o&&n.collapsible,a=u?e():this._getPanelForTab(s),f=r.length?this._getPanelForTab(r):e(),l={oldTab:r,oldPanel:f,newTab:u?e():s,newPanel:a};t.preventDefault();if(s.hasClass("ui-state-disabled")||s.hasClass("ui-tabs-loading")||this.running||o&&!n.collapsible||this._trigger("beforeActivate",t,l)===!1)return;n.active=u?!1:this.tabs.index(s),this.active=o?e():s,this.xhr&&this.xhr.abort(),!f.length&&!a.length&&e.error("jQuery UI Tabs: Mismatching fragment identifier."),a.length&&this.load(this.tabs.index(s),t),this._toggle(t,l)},_toggle:function(t,n){function o(){r.running=!1,r._trigger("activate",t,n)}function u(){n.newTab.closest("li").addClass("ui-tabs-active ui-state-active"),i.length&&r.options.show?r._show(i,r.options.show,o):(i.show(),o())}var r=this,i=n.newPanel,s=n.oldPanel;this.running=!0,s.length&&this.options.hide?this._hide(s,this.options.hide,function(){n.oldTab.closest("li").removeClass("ui-tabs-active ui-state-active"),u()}):(n.oldTab.closest("li").removeClass("ui-tabs-active ui-state-active"),s.hide(),u()),s.attr({"aria-expanded":"false","aria-hidden":"true"}),n.oldTab.attr("aria-selected","false"),i.length&&s.length?n.oldTab.attr("tabIndex",-1):i.length&&this.tabs.filter(function(){return e(this).attr("tabIndex")===0}).attr("tabIndex",-1),i.attr({"aria-expanded":"true","aria-hidden":"false"}),n.newTab.attr({"aria-selected":"true",tabIndex:0})},_activate:function(t){var n,r=this._findActive(t);if(r[0]===this.active[0])return;r.length||(r=this.active),n=r.find(".ui-tabs-anchor")[0],this._eventHandler({target:n,currentTarget:n,preventDefault:e.noop})},_findActive:function(t){return t===!1?e():this.tabs.eq(t)},_getIndex:function(e){return typeof e=="string"&&(e=this.anchors.index(this.anchors.filter("[href$='"+e+"']"))),e},_destroy:function(){this.xhr&&this.xhr.abort(),this.element.removeClass("ui-tabs ui-widget ui-widget-content ui-corner-all ui-tabs-collapsible"),this.tablist.removeClass("ui-tabs-nav ui-helper-reset ui-helper-clearfix ui-widget-header ui-corner-all").removeAttr("role"),this.anchors.removeClass("ui-tabs-anchor").removeAttr("role").removeAttr("tabIndex").removeData("href.tabs").removeData("load.tabs").removeUniqueId(),this.tabs.add(this.panels).each(function(){e.data(this,"ui-tabs-destroy")?e(this).remove():e(this).removeClass("ui-state-default ui-state-active ui-state-disabled ui-corner-top ui-corner-bottom ui-widget-content ui-tabs-active ui-tabs-panel").removeAttr("tabIndex").removeAttr("aria-live").removeAttr("aria-busy").removeAttr("aria-selected").removeAttr("aria-labelledby").removeAttr("aria-hidden").removeAttr("aria-expanded").removeAttr("role")}),this.tabs.each(function(){var t=e(this),n=t.data("ui-tabs-aria-controls");n?t.attr("aria-controls",n):t.removeAttr("aria-controls")}),this.panels.show(),this.options.heightStyle!=="content"&&this.panels.css("height","")},enable:function(n){var r=this.options.disabled;if(r===!1)return;n===t?r=!1:(n=this._getIndex(n),e.isArray(r)?r=e.map(r,function(e){return e!==n?e:null}):r=e.map(this.tabs,function(e,t){return t!==n?t:null})),this._setupDisabled(r)},disable:function(n){var r=this.options.disabled;if(r===!0)return;if(n===t)r=!0;else{n=this._getIndex(n);if(e.inArray(n,r)!==-1)return;e.isArray(r)?r=e.merge([n],r).sort():r=[n]}this._setupDisabled(r)},load:function(t,n){t=this._getIndex(t);var r=this,i=this.tabs.eq(t),o=i.find(".ui-tabs-anchor"),u=this._getPanelForTab(i),a={tab:i,panel:u};if(s(o[0]))return;this.xhr=e.ajax(this._ajaxSettings(o,n,a)),this.xhr&&this.xhr.statusText!=="canceled"&&(i.addClass("ui-tabs-loading"),u.attr("aria-busy","true"),this.xhr.success(function(e){setTimeout(function(){u.html(e),r._trigger("load",n,a)},1)}).complete(function(e,t){setTimeout(function(){t==="abort"&&r.panels.stop(!1,!0),i.removeClass("ui-tabs-loading"),u.removeAttr("aria-busy"),e===r.xhr&&delete r.xhr},1)}))},_ajaxSettings:function(t,n,r){var i=this;return{url:t.attr("href"),beforeSend:function(t,s){return i._trigger("beforeLoad",n,e.extend({jqXHR:t,ajaxSettings:s},r))}}},_getPanelForTab:function(t){var n=e(t).attr("aria-controls");return this.element.find(this._sanitizeSelector("#"+n))}}),e.uiBackCompat!==!1&&(e.ui.tabs.prototype._ui=function(e,t){return{tab:e,panel:t,index:this.anchors.index(e)}},e.widget("ui.tabs",e.ui.tabs,{url:function(e,t){this.anchors.eq(e).attr("href",t)}}),e.widget("ui.tabs",e.ui.tabs,{options:{ajaxOptions:null,cache:!1},_create:function(){this._super();var t=this;this._on({tabsbeforeload:function(n,r){if(e.data(r.tab[0],"cache.tabs")){n.preventDefault();return}r.jqXHR.success(function(){t.options.cache&&e.data(r.tab[0],"cache.tabs",!0)})}})},_ajaxSettings:function(t,n,r){var i=this.options.ajaxOptions;return e.extend({},i,{error:function(e,t){try{i.error(e,t,r.tab.closest("li").index(),r.tab[0])}catch(n){}}},this._superApply(arguments))},_setOption:function(e,t){e==="cache"&&t===!1&&this.anchors.removeData("cache.tabs"),this._super(e,t)},_destroy:function(){this.anchors.removeData("cache.tabs"),this._super()},url:function(e){this.anchors.eq(e).removeData("cache.tabs"),this._superApply(arguments)}}),e.widget("ui.tabs",e.ui.tabs,{abort:function(){this.xhr&&this.xhr.abort()}}),e.widget("ui.tabs",e.ui.tabs,{options:{spinner:"Loading…"},_create:function(){this._super(),this._on({tabsbeforeload:function(e,t){if(e.target!==this.element[0]||!this.options.spinner)return;var n=t.tab.find("span"),r=n.html();n.html(this.options.spinner),t.jqXHR.complete(function(){n.html(r)})}})}}),e.widget("ui.tabs",e.ui.tabs,{options:{enable:null,disable:null},enable:function(t){var n=this.options,r;if(t&&n.disabled===!0||e.isArray(n.disabled)&&e.inArray(t,n.disabled)!==-1)r=!0;this._superApply(arguments),r&&this._trigger("enable",null,this._ui(this.anchors[t],this.panels[t]))},disable:function(t){var n=this.options,r;if(t&&n.disabled===!1||e.isArray(n.disabled)&&e.inArray(t,n.disabled)===-1)r=!0;this._superApply(arguments),r&&this._trigger("disable",null,this._ui(this.anchors[t],this.panels[t]))}}),e.widget("ui.tabs",e.ui.tabs,{options:{add:null,remove:null,tabTemplate:"
                                                • #{label}
                                                • "},add:function(n,r,i){i===t&&(i=this.anchors.length);var s,o,u=this.options,a=e(u.tabTemplate.replace(/#\{href\}/g,n).replace(/#\{label\}/g,r)),f=n.indexOf("#")?this._tabId(a):n.replace("#","");return a.addClass("ui-state-default ui-corner-top").data("ui-tabs-destroy",!0),a.attr("aria-controls",f),s=i>=this.tabs.length,o=this.element.find("#"+f),o.length||(o=this._createPanel(f),s?i>0?o.insertAfter(this.panels.eq(-1)):o.appendTo(this.element):o.insertBefore(this.panels[i])),o.addClass("ui-tabs-panel ui-widget-content ui-corner-bottom").hide(),s?a.appendTo(this.tablist):a.insertBefore(this.tabs[i]),u.disabled=e.map(u.disabled,function(e){return e>=i?++e:e}),this.refresh(),this.tabs.length===1&&u.active===!1&&this.option("active",0),this._trigger("add",null,this._ui(this.anchors[i],this.panels[i])),this},remove:function(t){t=this._getIndex(t);var n=this.options,r=this.tabs.eq(t).remove(),i=this._getPanelForTab(r).remove();return r.hasClass("ui-tabs-active")&&this.anchors.length>2&&this._activate(t+(t+1=t?--e:e}),this.refresh(),this._trigger("remove",null,this._ui(r.find("a")[0],i[0])),this}}),e.widget("ui.tabs",e.ui.tabs,{length:function(){return this.anchors.length}}),e.widget("ui.tabs",e.ui.tabs,{options:{idPrefix:"ui-tabs-"},_tabId:function(t){var n=t.is("li")?t.find("a[href]"):t;return n=n[0],e(n).closest("li").attr("aria-controls")||n.title&&n.title.replace(/\s/g,"_").replace(/[^\w\u00c0-\uFFFF\-]/g,"")||this.options.idPrefix+i()}}),e.widget("ui.tabs",e.ui.tabs,{options:{panelTemplate:"
                                                  "},_createPanel:function(t){return e(this.options.panelTemplate).attr("id",t).addClass("ui-tabs-panel ui-widget-content ui-corner-bottom").data("ui-tabs-destroy",!0)}}),e.widget("ui.tabs",e.ui.tabs,{_create:function(){var e=this.options;e.active===null&&e.selected!==t&&(e.active=e.selected===-1?!1:e.selected),this._super(),e.selected=e.active,e.selected===!1&&(e.selected=-1)},_setOption:function(e,t){if(e!=="selected")return this._super(e,t);var n=this.options;this._super("active",t===-1?!1:t),n.selected=n.active,n.selected===!1&&(n.selected=-1)},_eventHandler:function(){this._superApply(arguments),this.options.selected=this.options.active,this.options.selected===!1&&(this.options.selected=-1)}}),e.widget("ui.tabs",e.ui.tabs,{options:{show:null,select:null},_create:function(){this._super(),this.options.active!==!1&&this._trigger("show",null,this._ui(this.active.find(".ui-tabs-anchor")[0],this._getPanelForTab(this.active)[0]))},_trigger:function(e,t,n){var r,i,s=this._superApply(arguments);return s?(e==="beforeActivate"?(r=n.newTab.length?n.newTab:n.oldTab,i=n.newPanel.length?n.newPanel:n.oldPanel,s=this._super("select",t,{tab:r.find(".ui-tabs-anchor")[0],panel:i[0],index:r.closest("li").index()})):e==="activate"&&n.newTab.length&&(s=this._super("show",t,{tab:n.newTab.find(".ui-tabs-anchor")[0],panel:n.newPanel[0],index:n.newTab.closest("li").index()})),s):!1}}),e.widget("ui.tabs",e.ui.tabs,{select:function(e){e=this._getIndex(e);if(e===-1){if(!this.options.collapsible||this.options.selected===-1)return;e=this.options.selected}this.anchors.eq(e).trigger(this.options.event+this.eventNamespace)}}),function(){var t=0;e.widget("ui.tabs",e.ui.tabs,{options:{cookie:null},_create:function(){var e=this.options,t;e.active==null&&e.cookie&&(t=parseInt(this._cookie(),10),t===-1&&(t=!1),e.active=t),this._super()},_cookie:function(n){var r=[this.cookie||(this.cookie=this.options.cookie.name||"ui-tabs-"+ ++t)];return arguments.length&&(r.push(n===!1?-1:n),r.push(this.options.cookie)),e.cookie.apply(null,r)},_refresh:function(){this._super(),this.options.cookie&&this._cookie(this.options.active,this.options.cookie)},_eventHandler:function(){this._superApply(arguments),this.options.cookie&&this._cookie(this.options.active,this.options.cookie)},_destroy:function(){this._super(),this.options.cookie&&this._cookie(null,this.options.cookie)}})}(),e.widget("ui.tabs",e.ui.tabs,{_trigger:function(t,n,r){var i=e.extend({},r);return t==="load"&&(i.panel=i.panel[0],i.tab=i.tab.find(".ui-tabs-anchor")[0]),this._super(t,n,i)}}),e.widget("ui.tabs",e.ui.tabs,{options:{fx:null},_getFx:function(){var t,n,r=this.options.fx;return r&&(e.isArray(r)?(t=r[0],n=r[1]):t=n=r),r?{show:n,hide:t}:null},_toggle:function(e,t){function o(){n.running=!1,n._trigger("activate",e,t)}function u(){t.newTab.closest("li").addClass("ui-tabs-active ui-state-active"),r.length&&s.show?r.animate(s.show,s.show.duration,function(){o()}):(r.show(),o())}var n=this,r=t.newPanel,i=t.oldPanel,s=this._getFx();if(!s)return this._super(e,t);n.running=!0,i.length&&s.hide?i.animate(s.hide,s.hide.duration,function(){t.oldTab.closest("li").removeClass("ui-tabs-active ui-state-active"),u()}):(t.oldTab.closest("li").removeClass("ui-tabs-active ui-state-active"),i.hide(),u())}}))})(jQuery);(function(e){function n(t,n){var r=(t.attr("aria-describedby")||"").split(/\s+/);r.push(n),t.data("ui-tooltip-id",n).attr("aria-describedby",e.trim(r.join(" ")))}function r(t){var n=t.data("ui-tooltip-id"),r=(t.attr("aria-describedby")||"").split(/\s+/),i=e.inArray(n,r);i!==-1&&r.splice(i,1),t.removeData("ui-tooltip-id"),r=e.trim(r.join(" ")),r?t.attr("aria-describedby",r):t.removeAttr("aria-describedby")}var t=0;e.widget("ui.tooltip",{version:"1.9.2",options:{content:function(){return e(this).attr("title")},hide:!0,items:"[title]:not([disabled])",position:{my:"left top+15",at:"left bottom",collision:"flipfit flip"},show:!0,tooltipClass:null,track:!1,close:null,open:null},_create:function(){this._on({mouseover:"open",focusin:"open"}),this.tooltips={},this.parents={},this.options.disabled&&this._disable()},_setOption:function(t,n){var r=this;if(t==="disabled"){this[n?"_disable":"_enable"](),this.options[t]=n;return}this._super(t,n),t==="content"&&e.each(this.tooltips,function(e,t){r._updateContent(t)})},_disable:function(){var t=this;e.each(this.tooltips,function(n,r){var i=e.Event("blur");i.target=i.currentTarget=r[0],t.close(i,!0)}),this.element.find(this.options.items).andSelf().each(function(){var t=e(this);t.is("[title]")&&t.data("ui-tooltip-title",t.attr("title")).attr("title","")})},_enable:function(){this.element.find(this.options.items).andSelf().each(function(){var t=e(this);t.data("ui-tooltip-title")&&t.attr("title",t.data("ui-tooltip-title"))})},open:function(t){var n=this,r=e(t?t.target:this.element).closest(this.options.items);if(!r.length||r.data("ui-tooltip-id"))return;r.attr("title")&&r.data("ui-tooltip-title",r.attr("title")),r.data("ui-tooltip-open",!0),t&&t.type==="mouseover"&&r.parents().each(function(){var t=e(this),r;t.data("ui-tooltip-open")&&(r=e.Event("blur"),r.target=r.currentTarget=this,n.close(r,!0)),t.attr("title")&&(t.uniqueId(),n.parents[this.id]={element:this,title:t.attr("title")},t.attr("title",""))}),this._updateContent(r,t)},_updateContent:function(e,t){var n,r=this.options.content,i=this,s=t?t.type:null;if(typeof r=="string")return this._open(t,e,r);n=r.call(e[0],function(n){if(!e.data("ui-tooltip-open"))return;i._delay(function(){t&&(t.type=s),this._open(t,e,n)})}),n&&this._open(t,e,n)},_open:function(t,r,i){function f(e){a.of=e;if(s.is(":hidden"))return;s.position(a)}var s,o,u,a=e.extend({},this.options.position);if(!i)return;s=this._find(r);if(s.length){s.find(".ui-tooltip-content").html(i);return}r.is("[title]")&&(t&&t.type==="mouseover"?r.attr("title",""):r.removeAttr("title")),s=this._tooltip(r),n(r,s.attr("id")),s.find(".ui-tooltip-content").html(i),this.options.track&&t&&/^mouse/.test(t.type)?(this._on(this.document,{mousemove:f}),f(t)):s.position(e.extend({of:r},this.options.position)),s.hide(),this._show(s,this.options.show),this.options.show&&this.options.show.delay&&(u=setInterval(function(){s.is(":visible")&&(f(a.of),clearInterval(u))},e.fx.interval)),this._trigger("open",t,{tooltip:s}),o={keyup:function(t){if(t.keyCode===e.ui.keyCode.ESCAPE){var n=e.Event(t);n.currentTarget=r[0],this.close(n,!0)}},remove:function(){this._removeTooltip(s)}};if(!t||t.type==="mouseover")o.mouseleave="close";if(!t||t.type==="focusin")o.focusout="close";this._on(!0,r,o)},close:function(t){var n=this,i=e(t?t.currentTarget:this.element),s=this._find(i);if(this.closing)return;i.data("ui-tooltip-title")&&i.attr("title",i.data("ui-tooltip-title")),r(i),s.stop(!0),this._hide(s,this.options.hide,function(){n._removeTooltip(e(this))}),i.removeData("ui-tooltip-open"),this._off(i,"mouseleave focusout keyup"),i[0]!==this.element[0]&&this._off(i,"remove"),this._off(this.document,"mousemove"),t&&t.type==="mouseleave"&&e.each(this.parents,function(t,r){e(r.element).attr("title",r.title),delete n.parents[t]}),this.closing=!0,this._trigger("close",t,{tooltip:s}),this.closing=!1},_tooltip:function(n){var r="ui-tooltip-"+t++,i=e("
                                                  ").attr({id:r,role:"tooltip"}).addClass("ui-tooltip ui-widget ui-corner-all ui-widget-content "+(this.options.tooltipClass||""));return e("
                                                  ").addClass("ui-tooltip-content").appendTo(i),i.appendTo(this.document[0].body),e.fn.bgiframe&&i.bgiframe(),this.tooltips[r]=n,i},_find:function(t){var n=t.data("ui-tooltip-id");return n?e("#"+n):e()},_removeTooltip:function(e){e.remove(),delete this.tooltips[e.attr("id")]},_destroy:function(){var t=this;e.each(this.tooltips,function(n,r){var i=e.Event("blur");i.target=i.currentTarget=r[0],t.close(i,!0),e("#"+n).remove(),r.data("ui-tooltip-title")&&(r.attr("title",r.data("ui-tooltip-title")),r.removeData("ui-tooltip-title"))})}})})(jQuery);jQuery.effects||function(e,t){var n=e.uiBackCompat!==!1,r="ui-effects-";e.effects={effect:{}},function(t,n){function p(e,t,n){var r=a[t.type]||{};return e==null?n||!t.def?null:t.def:(e=r.floor?~~e:parseFloat(e),isNaN(e)?t.def:r.mod?(e+r.mod)%r.mod:0>e?0:r.max")[0],c,h=t.each;l.style.cssText="background-color:rgba(1,1,1,.5)",f.rgba=l.style.backgroundColor.indexOf("rgba")>-1,h(u,function(e,t){t.cache="_"+e,t.props.alpha={idx:3,type:"percent",def:1}}),o.fn=t.extend(o.prototype,{parse:function(r,i,s,a){if(r===n)return this._rgba=[null,null,null,null],this;if(r.jquery||r.nodeType)r=t(r).css(i),i=n;var f=this,l=t.type(r),v=this._rgba=[];i!==n&&(r=[r,i,s,a],l="array");if(l==="string")return this.parse(d(r)||c._default);if(l==="array")return h(u.rgba.props,function(e,t){v[t.idx]=p(r[t.idx],t)}),this;if(l==="object")return r instanceof o?h(u,function(e,t){r[t.cache]&&(f[t.cache]=r[t.cache].slice())}):h(u,function(t,n){var i=n.cache;h(n.props,function(e,t){if(!f[i]&&n.to){if(e==="alpha"||r[e]==null)return;f[i]=n.to(f._rgba)}f[i][t.idx]=p(r[e],t,!0)}),f[i]&&e.inArray(null,f[i].slice(0,3))<0&&(f[i][3]=1,n.from&&(f._rgba=n.from(f[i])))}),this},is:function(e){var t=o(e),n=!0,r=this;return h(u,function(e,i){var s,o=t[i.cache];return o&&(s=r[i.cache]||i.to&&i.to(r._rgba)||[],h(i.props,function(e,t){if(o[t.idx]!=null)return n=o[t.idx]===s[t.idx],n})),n}),n},_space:function(){var e=[],t=this;return h(u,function(n,r){t[r.cache]&&e.push(n)}),e.pop()},transition:function(e,t){var n=o(e),r=n._space(),i=u[r],s=this.alpha()===0?o("transparent"):this,f=s[i.cache]||i.to(s._rgba),l=f.slice();return n=n[i.cache],h(i.props,function(e,r){var i=r.idx,s=f[i],o=n[i],u=a[r.type]||{};if(o===null)return;s===null?l[i]=o:(u.mod&&(o-s>u.mod/2?s+=u.mod:s-o>u.mod/2&&(s-=u.mod)),l[i]=p((o-s)*t+s,r))}),this[r](l)},blend:function(e){if(this._rgba[3]===1)return this;var n=this._rgba.slice(),r=n.pop(),i=o(e)._rgba;return o(t.map(n,function(e,t){return(1-r)*i[t]+r*e}))},toRgbaString:function(){var e="rgba(",n=t.map(this._rgba,function(e,t){return e==null?t>2?1:0:e});return n[3]===1&&(n.pop(),e="rgb("),e+n.join()+")"},toHslaString:function(){var e="hsla(",n=t.map(this.hsla(),function(e,t){return e==null&&(e=t>2?1:0),t&&t<3&&(e=Math.round(e*100)+"%"),e});return n[3]===1&&(n.pop(),e="hsl("),e+n.join()+")"},toHexString:function(e){var n=this._rgba.slice(),r=n.pop();return e&&n.push(~~(r*255)),"#"+t.map(n,function(e){return e=(e||0).toString(16),e.length===1?"0"+e:e}).join("")},toString:function(){return this._rgba[3]===0?"transparent":this.toRgbaString()}}),o.fn.parse.prototype=o.fn,u.hsla.to=function(e){if(e[0]==null||e[1]==null||e[2]==null)return[null,null,null,e[3]];var t=e[0]/255,n=e[1]/255,r=e[2]/255,i=e[3],s=Math.max(t,n,r),o=Math.min(t,n,r),u=s-o,a=s+o,f=a*.5,l,c;return o===s?l=0:t===s?l=60*(n-r)/u+360:n===s?l=60*(r-t)/u+120:l=60*(t-n)/u+240,f===0||f===1?c=f:f<=.5?c=u/a:c=u/(2-a),[Math.round(l)%360,c,f,i==null?1:i]},u.hsla.from=function(e){if(e[0]==null||e[1]==null||e[2]==null)return[null,null,null,e[3]];var t=e[0]/360,n=e[1],r=e[2],i=e[3],s=r<=.5?r*(1+n):r+n-r*n,o=2*r-s;return[Math.round(v(o,s,t+1/3)*255),Math.round(v(o,s,t)*255),Math.round(v(o,s,t-1/3)*255),i]},h(u,function(e,r){var s=r.props,u=r.cache,a=r.to,f=r.from;o.fn[e]=function(e){a&&!this[u]&&(this[u]=a(this._rgba));if(e===n)return this[u].slice();var r,i=t.type(e),l=i==="array"||i==="object"?e:arguments,c=this[u].slice();return h(s,function(e,t){var n=l[i==="object"?e:t.idx];n==null&&(n=c[t.idx]),c[t.idx]=p(n,t)}),f?(r=o(f(c)),r[u]=c,r):o(c)},h(s,function(n,r){if(o.fn[n])return;o.fn[n]=function(s){var o=t.type(s),u=n==="alpha"?this._hsla?"hsla":"rgba":e,a=this[u](),f=a[r.idx],l;return o==="undefined"?f:(o==="function"&&(s=s.call(this,f),o=t.type(s)),s==null&&r.empty?this:(o==="string"&&(l=i.exec(s),l&&(s=f+parseFloat(l[2])*(l[1]==="+"?1:-1))),a[r.idx]=s,this[u](a)))}})}),h(r,function(e,n){t.cssHooks[n]={set:function(e,r){var i,s,u="";if(t.type(r)!=="string"||(i=d(r))){r=o(i||r);if(!f.rgba&&r._rgba[3]!==1){s=n==="backgroundColor"?e.parentNode:e;while((u===""||u==="transparent")&&s&&s.style)try{u=t.css(s,"backgroundColor"),s=s.parentNode}catch(a){}r=r.blend(u&&u!=="transparent"?u:"_default")}r=r.toRgbaString()}try{e.style[n]=r}catch(l){}}},t.fx.step[n]=function(e){e.colorInit||(e.start=o(e.elem,n),e.end=o(e.end),e.colorInit=!0),t.cssHooks[n].set(e.elem,e.start.transition(e.end,e.pos))}}),t.cssHooks.borderColor={expand:function(e){var t={};return h(["Top","Right","Bottom","Left"],function(n,r){t["border"+r+"Color"]=e}),t}},c=t.Color.names={aqua:"#00ffff",black:"#000000",blue:"#0000ff",fuchsia:"#ff00ff",gray:"#808080",green:"#008000",lime:"#00ff00",maroon:"#800000",navy:"#000080",olive:"#808000",purple:"#800080",red:"#ff0000",silver:"#c0c0c0",teal:"#008080",white:"#ffffff",yellow:"#ffff00",transparent:[null,null,null,0],_default:"#ffffff"}}(jQuery),function(){function i(){var t=this.ownerDocument.defaultView?this.ownerDocument.defaultView.getComputedStyle(this,null):this.currentStyle,n={},r,i;if(t&&t.length&&t[0]&&t[t[0]]){i=t.length;while(i--)r=t[i],typeof t[r]=="string"&&(n[e.camelCase(r)]=t[r])}else for(r in t)typeof t[r]=="string"&&(n[r]=t[r]);return n}function s(t,n){var i={},s,o;for(s in n)o=n[s],t[s]!==o&&!r[s]&&(e.fx.step[s]||!isNaN(parseFloat(o)))&&(i[s]=o);return i}var n=["add","remove","toggle"],r={border:1,borderBottom:1,borderColor:1,borderLeft:1,borderRight:1,borderTop:1,borderWidth:1,margin:1,padding:1};e.each(["borderLeftStyle","borderRightStyle","borderBottomStyle","borderTopStyle"],function(t,n){e.fx.step[n]=function(e){if(e.end!=="none"&&!e.setAttr||e.pos===1&&!e.setAttr)jQuery.style(e.elem,n,e.end),e.setAttr=!0}}),e.effects.animateClass=function(t,r,o,u){var a=e.speed(r,o,u);return this.queue(function(){var r=e(this),o=r.attr("class")||"",u,f=a.children?r.find("*").andSelf():r;f=f.map(function(){var t=e(this);return{el:t,start:i.call(this)}}),u=function(){e.each(n,function(e,n){t[n]&&r[n+"Class"](t[n])})},u(),f=f.map(function(){return this.end=i.call(this.el[0]),this.diff=s(this.start,this.end),this}),r.attr("class",o),f=f.map(function(){var t=this,n=e.Deferred(),r=jQuery.extend({},a,{queue:!1,complete:function(){n.resolve(t)}});return this.el.animate(this.diff,r),n.promise()}),e.when.apply(e,f.get()).done(function(){u(),e.each(arguments,function(){var t=this.el;e.each(this.diff,function(e){t.css(e,"")})}),a.complete.call(r[0])})})},e.fn.extend({_addClass:e.fn.addClass,addClass:function(t,n,r,i){return n?e.effects.animateClass.call(this,{add:t},n,r,i):this._addClass(t)},_removeClass:e.fn.removeClass,removeClass:function(t,n,r,i){return n?e.effects.animateClass.call(this,{remove:t},n,r,i):this._removeClass(t)},_toggleClass:e.fn.toggleClass,toggleClass:function(n,r,i,s,o){return typeof r=="boolean"||r===t?i?e.effects.animateClass.call(this,r?{add:n}:{remove:n},i,s,o):this._toggleClass(n,r):e.effects.animateClass.call(this,{toggle:n},r,i,s)},switchClass:function(t,n,r,i,s){return e.effects.animateClass.call(this,{add:n,remove:t},r,i,s)}})}(),function(){function i(t,n,r,i){e.isPlainObject(t)&&(n=t,t=t.effect),t={effect:t},n==null&&(n={}),e.isFunction(n)&&(i=n,r=null,n={});if(typeof n=="number"||e.fx.speeds[n])i=r,r=n,n={};return e.isFunction(r)&&(i=r,r=null),n&&e.extend(t,n),r=r||n.duration,t.duration=e.fx.off?0:typeof r=="number"?r:r in e.fx.speeds?e.fx.speeds[r]:e.fx.speeds._default,t.complete=i||n.complete,t}function s(t){return!t||typeof t=="number"||e.fx.speeds[t]?!0:typeof t=="string"&&!e.effects.effect[t]?n&&e.effects[t]?!1:!0:!1}e.extend(e.effects,{version:"1.9.2",save:function(e,t){for(var n=0;n
                                                  ").addClass("ui-effects-wrapper").css({fontSize:"100%",background:"transparent",border:"none",margin:0,padding:0}),i={width:t.width(),height:t.height()},s=document.activeElement;try{s.id}catch(o){s=document.body}return t.wrap(r),(t[0]===s||e.contains(t[0],s))&&e(s).focus(),r=t.parent(),t.css("position")==="static"?(r.css({position:"relative"}),t.css({position:"relative"})):(e.extend(n,{position:t.css("position"),zIndex:t.css("z-index")}),e.each(["top","left","bottom","right"],function(e,r){n[r]=t.css(r),isNaN(parseInt(n[r],10))&&(n[r]="auto")}),t.css({position:"relative",top:0,left:0,right:"auto",bottom:"auto"})),t.css(i),r.css(n).show()},removeWrapper:function(t){var n=document.activeElement;return t.parent().is(".ui-effects-wrapper")&&(t.parent().replaceWith(t),(t[0]===n||e.contains(t[0],n))&&e(n).focus()),t},setTransition:function(t,n,r,i){return i=i||{},e.each(n,function(e,n){var s=t.cssUnit(n);s[0]>0&&(i[n]=s[0]*r+s[1])}),i}}),e.fn.extend({effect:function(){function a(n){function u(){e.isFunction(i)&&i.call(r[0]),e.isFunction(n)&&n()}var r=e(this),i=t.complete,s=t.mode;(r.is(":hidden")?s==="hide":s==="show")?u():o.call(r[0],t,u)}var t=i.apply(this,arguments),r=t.mode,s=t.queue,o=e.effects.effect[t.effect],u=!o&&n&&e.effects[t.effect];return e.fx.off||!o&&!u?r?this[r](t.duration,t.complete):this.each(function(){t.complete&&t.complete.call(this)}):o?s===!1?this.each(a):this.queue(s||"fx",a):u.call(this,{options:t,duration:t.duration,callback:t.complete,mode:t.mode})},_show:e.fn.show,show:function(e){if(s(e))return this._show.apply(this,arguments);var t=i.apply(this,arguments);return t.mode="show",this.effect.call(this,t)},_hide:e.fn.hide,hide:function(e){if(s(e))return this._hide.apply(this,arguments);var t=i.apply(this,arguments);return t.mode="hide",this.effect.call(this,t)},__toggle:e.fn.toggle,toggle:function(t){if(s(t)||typeof t=="boolean"||e.isFunction(t))return this.__toggle.apply(this,arguments);var n=i.apply(this,arguments);return n.mode="toggle",this.effect.call(this,n)},cssUnit:function(t){var n=this.css(t),r=[];return e.each(["em","px","%","pt"],function(e,t){n.indexOf(t)>0&&(r=[parseFloat(n),t])}),r}})}(),function(){var t={};e.each(["Quad","Cubic","Quart","Quint","Expo"],function(e,n){t[n]=function(t){return Math.pow(t,e+2)}}),e.extend(t,{Sine:function(e){return 1-Math.cos(e*Math.PI/2)},Circ:function(e){return 1-Math.sqrt(1-e*e)},Elastic:function(e){return e===0||e===1?e:-Math.pow(2,8*(e-1))*Math.sin(((e-1)*80-7.5)*Math.PI/15)},Back:function(e){return e*e*(3*e-2)},Bounce:function(e){var t,n=4;while(e<((t=Math.pow(2,--n))-1)/11);return 1/Math.pow(4,3-n)-7.5625*Math.pow((t*3-2)/22-e,2)}}),e.each(t,function(t,n){e.easing["easeIn"+t]=n,e.easing["easeOut"+t]=function(e){return 1-n(1-e)},e.easing["easeInOut"+t]=function(e){return e<.5?n(e*2)/2:1-n(e*-2+2)/2}})}()}(jQuery);(function(e,t){var n=/up|down|vertical/,r=/up|left|vertical|horizontal/;e.effects.effect.blind=function(t,i){var s=e(this),o=["position","top","bottom","left","right","height","width"],u=e.effects.setMode(s,t.mode||"hide"),a=t.direction||"up",f=n.test(a),l=f?"height":"width",c=f?"top":"left",h=r.test(a),p={},d=u==="show",v,m,g;s.parent().is(".ui-effects-wrapper")?e.effects.save(s.parent(),o):e.effects.save(s,o),s.show(),v=e.effects.createWrapper(s).css({overflow:"hidden"}),m=v[l](),g=parseFloat(v.css(c))||0,p[l]=d?m:0,h||(s.css(f?"bottom":"right",0).css(f?"top":"left","auto").css({position:"absolute"}),p[c]=d?g:m+g),d&&(v.css(l,0),h||v.css(c,g+m)),v.animate(p,{duration:t.duration,easing:t.easing,queue:!1,complete:function(){u==="hide"&&s.hide(),e.effects.restore(s,o),e.effects.removeWrapper(s),i()}})}})(jQuery);(function(e,t){e.effects.effect.bounce=function(t,n){var r=e(this),i=["position","top","bottom","left","right","height","width"],s=e.effects.setMode(r,t.mode||"effect"),o=s==="hide",u=s==="show",a=t.direction||"up",f=t.distance,l=t.times||5,c=l*2+(u||o?1:0),h=t.duration/c,p=t.easing,d=a==="up"||a==="down"?"top":"left",v=a==="up"||a==="left",m,g,y,b=r.queue(),w=b.length;(u||o)&&i.push("opacity"),e.effects.save(r,i),r.show(),e.effects.createWrapper(r),f||(f=r[d==="top"?"outerHeight":"outerWidth"]()/3),u&&(y={opacity:1},y[d]=0,r.css("opacity",0).css(d,v?-f*2:f*2).animate(y,h,p)),o&&(f/=Math.pow(2,l-1)),y={},y[d]=0;for(m=0;m1&&b.splice.apply(b,[1,0].concat(b.splice(w,c+1))),r.dequeue()}})(jQuery);(function(e,t){e.effects.effect.clip=function(t,n){var r=e(this),i=["position","top","bottom","left","right","height","width"],s=e.effects.setMode(r,t.mode||"hide"),o=s==="show",u=t.direction||"vertical",a=u==="vertical",f=a?"height":"width",l=a?"top":"left",c={},h,p,d;e.effects.save(r,i),r.show(),h=e.effects.createWrapper(r).css({overflow:"hidden"}),p=r[0].tagName==="IMG"?h:r,d=p[f](),o&&(p.css(f,0),p.css(l,d/2)),c[f]=o?d:0,c[l]=o?0:d/2,p.animate(c,{queue:!1,duration:t.duration,easing:t.easing,complete:function(){o||r.hide(),e.effects.restore(r,i),e.effects.removeWrapper(r),n()}})}})(jQuery);(function(e,t){e.effects.effect.drop=function(t,n){var r=e(this),i=["position","top","bottom","left","right","opacity","height","width"],s=e.effects.setMode(r,t.mode||"hide"),o=s==="show",u=t.direction||"left",a=u==="up"||u==="down"?"top":"left",f=u==="up"||u==="left"?"pos":"neg",l={opacity:o?1:0},c;e.effects.save(r,i),r.show(),e.effects.createWrapper(r),c=t.distance||r[a==="top"?"outerHeight":"outerWidth"](!0)/2,o&&r.css("opacity",0).css(a,f==="pos"?-c:c),l[a]=(o?f==="pos"?"+=":"-=":f==="pos"?"-=":"+=")+c,r.animate(l,{queue:!1,duration:t.duration,easing:t.easing,complete:function(){s==="hide"&&r.hide(),e.effects.restore(r,i),e.effects.removeWrapper(r),n()}})}})(jQuery);(function(e,t){e.effects.effect.explode=function(t,n){function y(){c.push(this),c.length===r*i&&b()}function b(){s.css({visibility:"visible"}),e(c).remove(),u||s.hide(),n()}var r=t.pieces?Math.round(Math.sqrt(t.pieces)):3,i=r,s=e(this),o=e.effects.setMode(s,t.mode||"hide"),u=o==="show",a=s.show().css("visibility","hidden").offset(),f=Math.ceil(s.outerWidth()/i),l=Math.ceil(s.outerHeight()/r),c=[],h,p,d,v,m,g;for(h=0;h
                                                  ").css({position:"absolute",visibility:"visible",left:-p*f,top:-h*l}).parent().addClass("ui-effects-explode").css({position:"absolute",overflow:"hidden",width:f,height:l,left:d+(u?m*f:0),top:v+(u?g*l:0),opacity:u?0:1}).animate({left:d+(u?0:m*f),top:v+(u?0:g*l),opacity:u?1:0},t.duration||500,t.easing,y)}}})(jQuery);(function(e,t){e.effects.effect.fade=function(t,n){var r=e(this),i=e.effects.setMode(r,t.mode||"toggle");r.animate({opacity:i},{queue:!1,duration:t.duration,easing:t.easing,complete:n})}})(jQuery);(function(e,t){e.effects.effect.fold=function(t,n){var r=e(this),i=["position","top","bottom","left","right","height","width"],s=e.effects.setMode(r,t.mode||"hide"),o=s==="show",u=s==="hide",a=t.size||15,f=/([0-9]+)%/.exec(a),l=!!t.horizFirst,c=o!==l,h=c?["width","height"]:["height","width"],p=t.duration/2,d,v,m={},g={};e.effects.save(r,i),r.show(),d=e.effects.createWrapper(r).css({overflow:"hidden"}),v=c?[d.width(),d.height()]:[d.height(),d.width()],f&&(a=parseInt(f[1],10)/100*v[u?0:1]),o&&d.css(l?{height:0,width:a}:{height:a,width:0}),m[h[0]]=o?v[0]:a,g[h[1]]=o?v[1]:0,d.animate(m,p,t.easing).animate(g,p,t.easing,function(){u&&r.hide(),e.effects.restore(r,i),e.effects.removeWrapper(r),n()})}})(jQuery);(function(e,t){e.effects.effect.highlight=function(t,n){var r=e(this),i=["backgroundImage","backgroundColor","opacity"],s=e.effects.setMode(r,t.mode||"show"),o={backgroundColor:r.css("backgroundColor")};s==="hide"&&(o.opacity=0),e.effects.save(r,i),r.show().css({backgroundImage:"none",backgroundColor:t.color||"#ffff99"}).animate(o,{queue:!1,duration:t.duration,easing:t.easing,complete:function(){s==="hide"&&r.hide(),e.effects.restore(r,i),n()}})}})(jQuery);(function(e,t){e.effects.effect.pulsate=function(t,n){var r=e(this),i=e.effects.setMode(r,t.mode||"show"),s=i==="show",o=i==="hide",u=s||i==="hide",a=(t.times||5)*2+(u?1:0),f=t.duration/a,l=0,c=r.queue(),h=c.length,p;if(s||!r.is(":visible"))r.css("opacity",0).show(),l=1;for(p=1;p1&&c.splice.apply(c,[1,0].concat(c.splice(h,a+1))),r.dequeue()}})(jQuery);(function(e,t){e.effects.effect.puff=function(t,n){var r=e(this),i=e.effects.setMode(r,t.mode||"hide"),s=i==="hide",o=parseInt(t.percent,10)||150,u=o/100,a={height:r.height(),width:r.width(),outerHeight:r.outerHeight(),outerWidth:r.outerWidth()};e.extend(t,{effect:"scale",queue:!1,fade:!0,mode:i,complete:n,percent:s?o:100,from:s?a:{height:a.height*u,width:a.width*u,outerHeight:a.outerHeight*u,outerWidth:a.outerWidth*u}}),r.effect(t)},e.effects.effect.scale=function(t,n){var r=e(this),i=e.extend(!0,{},t),s=e.effects.setMode(r,t.mode||"effect"),o=parseInt(t.percent,10)||(parseInt(t.percent,10)===0?0:s==="hide"?0:100),u=t.direction||"both",a=t.origin,f={height:r.height(),width:r.width(),outerHeight:r.outerHeight(),outerWidth:r.outerWidth()},l={y:u!=="horizontal"?o/100:1,x:u!=="vertical"?o/100:1};i.effect="size",i.queue=!1,i.complete=n,s!=="effect"&&(i.origin=a||["middle","center"],i.restore=!0),i.from=t.from||(s==="show"?{height:0,width:0,outerHeight:0,outerWidth:0}:f),i.to={height:f.height*l.y,width:f.width*l.x,outerHeight:f.outerHeight*l.y,outerWidth:f.outerWidth*l.x},i.fade&&(s==="show"&&(i.from.opacity=0,i.to.opacity=1),s==="hide"&&(i.from.opacity=1,i.to.opacity=0)),r.effect(i)},e.effects.effect.size=function(t,n){var r,i,s,o=e(this),u=["position","top","bottom","left","right","width","height","overflow","opacity"],a=["position","top","bottom","left","right","overflow","opacity"],f=["width","height","overflow"],l=["fontSize"],c=["borderTopWidth","borderBottomWidth","paddingTop","paddingBottom"],h=["borderLeftWidth","borderRightWidth","paddingLeft","paddingRight"],p=e.effects.setMode(o,t.mode||"effect"),d=t.restore||p!=="effect",v=t.scale||"both",m=t.origin||["middle","center"],g=o.css("position"),y=d?u:a,b={height:0,width:0,outerHeight:0,outerWidth:0};p==="show"&&o.show(),r={height:o.height(),width:o.width(),outerHeight:o.outerHeight(),outerWidth:o.outerWidth()},t.mode==="toggle"&&p==="show"?(o.from=t.to||b,o.to=t.from||r):(o.from=t.from||(p==="show"?b:r),o.to=t.to||(p==="hide"?b:r)),s={from:{y:o.from.height/r.height,x:o.from.width/r.width},to:{y:o.to.height/r.height,x:o.to.width/r.width}};if(v==="box"||v==="both")s.from.y!==s.to.y&&(y=y.concat(c),o.from=e.effects.setTransition(o,c,s.from.y,o.from),o.to=e.effects.setTransition(o,c,s.to.y,o.to)),s.from.x!==s.to.x&&(y=y.concat(h),o.from=e.effects.setTransition(o,h,s.from.x,o.from),o.to=e.effects.setTransition(o,h,s.to.x,o.to));(v==="content"||v==="both")&&s.from.y!==s.to.y&&(y=y.concat(l).concat(f),o.from=e.effects.setTransition(o,l,s.from.y,o.from),o.to=e.effects.setTransition(o,l,s.to.y,o.to)),e.effects.save(o,y),o.show(),e.effects.createWrapper(o),o.css("overflow","hidden").css(o.from),m&&(i=e.effects.getBaseline(m,r),o.from.top=(r.outerHeight-o.outerHeight())*i.y,o.from.left=(r.outerWidth-o.outerWidth())*i.x,o.to.top=(r.outerHeight-o.to.outerHeight)*i.y,o.to.left=(r.outerWidth-o.to.outerWidth)*i.x),o.css(o.from);if(v==="content"||v==="both")c=c.concat(["marginTop","marginBottom"]).concat(l),h=h.concat(["marginLeft","marginRight"]),f=u.concat(c).concat(h),o.find("*[width]").each(function(){var n=e(this),r={height:n.height(),width:n.width(),outerHeight:n.outerHeight(),outerWidth:n.outerWidth()};d&&e.effects.save(n,f),n.from={height:r.height*s.from.y,width:r.width*s.from.x,outerHeight:r.outerHeight*s.from.y,outerWidth:r.outerWidth*s.from.x},n.to={height:r.height*s.to.y,width:r.width*s.to.x,outerHeight:r.height*s.to.y,outerWidth:r.width*s.to.x},s.from.y!==s.to.y&&(n.from=e.effects.setTransition(n,c,s.from.y,n.from),n.to=e.effects.setTransition(n,c,s.to.y,n.to)),s.from.x!==s.to.x&&(n.from=e.effects.setTransition(n,h,s.from.x,n.from),n.to=e.effects.setTransition(n,h,s.to.x,n.to)),n.css(n.from),n.animate(n.to,t.duration,t.easing,function(){d&&e.effects.restore(n,f)})});o.animate(o.to,{queue:!1,duration:t.duration,easing:t.easing,complete:function(){o.to.opacity===0&&o.css("opacity",o.from.opacity),p==="hide"&&o.hide(),e.effects.restore(o,y),d||(g==="static"?o.css({position:"relative",top:o.to.top,left:o.to.left}):e.each(["top","left"],function(e,t){o.css(t,function(t,n){var r=parseInt(n,10),i=e?o.to.left:o.to.top;return n==="auto"?i+"px":r+i+"px"})})),e.effects.removeWrapper(o),n()}})}})(jQuery);(function(e,t){e.effects.effect.shake=function(t,n){var r=e(this),i=["position","top","bottom","left","right","height","width"],s=e.effects.setMode(r,t.mode||"effect"),o=t.direction||"left",u=t.distance||20,a=t.times||3,f=a*2+1,l=Math.round(t.duration/f),c=o==="up"||o==="down"?"top":"left",h=o==="up"||o==="left",p={},d={},v={},m,g=r.queue(),y=g.length;e.effects.save(r,i),r.show(),e.effects.createWrapper(r),p[c]=(h?"-=":"+=")+u,d[c]=(h?"+=":"-=")+u*2,v[c]=(h?"-=":"+=")+u*2,r.animate(p,l,t.easing);for(m=1;m1&&g.splice.apply(g,[1,0].concat(g.splice(y,f+1))),r.dequeue()}})(jQuery);(function(e,t){e.effects.effect.slide=function(t,n){var r=e(this),i=["position","top","bottom","left","right","width","height"],s=e.effects.setMode(r,t.mode||"show"),o=s==="show",u=t.direction||"left",a=u==="up"||u==="down"?"top":"left",f=u==="up"||u==="left",l,c={};e.effects.save(r,i),r.show(),l=t.distance||r[a==="top"?"outerHeight":"outerWidth"](!0),e.effects.createWrapper(r).css({overflow:"hidden"}),o&&r.css(a,f?isNaN(l)?"-"+l:-l:l),c[a]=(o?f?"+=":"-=":f?"-=":"+=")+l,r.animate(c,{queue:!1,duration:t.duration,easing:t.easing,complete:function(){s==="hide"&&r.hide(),e.effects.restore(r,i),e.effects.removeWrapper(r),n()}})}})(jQuery);(function(e,t){e.effects.effect.transfer=function(t,n){var r=e(this),i=e(t.to),s=i.css("position")==="fixed",o=e("body"),u=s?o.scrollTop():0,a=s?o.scrollLeft():0,f=i.offset(),l={top:f.top-u,left:f.left-a,height:i.innerHeight(),width:i.innerWidth()},c=r.offset(),h=e('
                                                  ').appendTo(document.body).addClass(t.className).css({top:c.top-u,left:c.left-a,height:r.innerHeight(),width:r.innerWidth(),position:s?"fixed":"absolute"}).animate(l,t.duration,t.easing,function(){h.remove(),n()})}})(jQuery); \ No newline at end of file diff --git a/src/demo/manager/src/main/webapp/assets/js/jquery.alerts.js b/src/demo/manager/src/main/webapp/assets/js/jquery.alerts.js new file mode 100644 index 00000000..27b2e23e --- /dev/null +++ b/src/demo/manager/src/main/webapp/assets/js/jquery.alerts.js @@ -0,0 +1,289 @@ +// jQuery Alert Dialogs Plugin +// +// Version 1.1 +// +// Cory S.N. LaViska +// A Beautiful Site (http://abeautifulsite.net/) +// 14 May 2009 +// +// Visit http://abeautifulsite.net/notebook/87 for more information +// +// Usage: +// jAlert( message, [title, callback] ) +// jConfirm( message, [title, callback] ) +// jPrompt( message, [value, title, callback] ) +// +// History: +// +// 1.00 - Released (29 December 2008) +// +// 1.01 - Fixed bug where unbinding would destroy all resize events +// +// License: +// +// This plugin is dual-licensed under the GNU General Public License and the MIT License and +// is copyright 2008 A Beautiful Site, LLC. +// +(function($) { + /* + * 遮罩层 + */ + var Shade=new function() + { + var handle={}; + var shade; + handle.show=function(func) + { + if(!shade) + { + shade=document.createElement('div'); + shade.style.display = 'none'; + shade.style.zIndex = 99997; + shade.style.filter = 'alpha(opacity = 20)'; + shade.style.left = 0; + shade.style.width = '100%'; + shade.style.position = 'absolute'; + shade.style.top = 0; + shade.style.backgroundColor = '#89652b'; + shade.style.opacity = .2; + document.body.appendChild(shade); + } + with((document.compatMode=='CSS1Compat')?document.documentElement:document.body) + { + var ch=clientHeight,sh=scrollHeight; + shade.style.height=(sh>ch?sh:ch)+'px'; + + var cw = clientWidth,sw = scrollWidth, ow=offsetWidth; + var width = cw > sw ? cw : sw; + width = width > ow ? width : ow; + + shade.style.width=width+'px'; + shade.style.display='block'; + } + + if(func){ + func(); + } + }; + handle.hide=function(func){ + shade.style.display='none'; + if(func){ + func(); + } + }; + + return handle; + } + + $.alerts = { + + // These properties can be read/written by accessing $.alerts.propertyName from your scripts at any time + + verticalOffset: -75, // vertical offset of the dialog from center screen, in pixels + horizontalOffset: 0, // horizontal offset of the dialog from center screen, in pixels/ + repositionOnResize: true, // re-centers the dialog on window resize + overlayOpacity: .01, // transparency level of overlay + overlayColor: '#89652b', // base color of overlay + draggable: true, // make the dialogs draggable (requires UI Draggables plugin) + okButton: ' 确定 ', // text for the OK button + cancelButton: ' 取消 ', // text for the Cancel button + dialogClass: null, // if specified, this class will be applied to all dialogs + + // Public methods + + alert: function(message, title, callback) { + if( title == null ) title = '提示信息'; + $.alerts._show(title, message, null, 'alert', function(result) { + if( callback ) callback(result); + }); + }, + + confirm: function(message, title, callback) { + if( title == null ) title = '确认信息'; + $.alerts._show(title, message, null, 'confirm', function(result) { + if( callback ) callback(result); + }); + }, + + prompt: function(message, value, title, callback) { + if( title == null ) title = '输入信息'; + $.alerts._show(title, message, value, 'prompt', function(result) { + if( callback ) callback(result); + }); + }, + + // Private methods + + _show: function(title, msg, value, type, callback) { + Shade.show(); + $.alerts._hide(); + $.alerts._overlay('show'); + + $("BODY").append( + ''); + + if( $.alerts.dialogClass ) $("#popup_container").addClass($.alerts.dialogClass); + + // IE6 Fix + var pos = ($.browser.msie && parseInt($.browser.version) <= 6 ) ? 'absolute' : 'fixed'; + + $("#popup_container").css({ + position: pos, + zIndex: 99999, + padding: 0, + margin: 0 + }); + + $("#popup_title").text(title); + $("#popup_content").addClass(type); + $("#popup_message").text(msg); + $("#popup_message").html( $("#popup_message").text().replace(/\n/g, '
                                                  ') ); + + $("#popup_container").css({ + minWidth: $("#popup_container").outerWidth(), + maxWidth: $("#popup_container").outerWidth() + }); + + $.alerts._reposition(); + $.alerts._maintainPosition(true); + + switch( type ) { + case 'alert': + $("#popup_message").after(''); + $("#popup_ok").click( function() { + $.alerts._hide(); + Shade.hide(); + callback(true); + }); + $("#popup_ok").focus().keypress( function(e) { + if( e.keyCode == 13 || e.keyCode == 27 ) $("#popup_ok").trigger('click'); + }); + break; + case 'confirm': + $("#popup_message").after(''); + $("#popup_ok").click( function() { + $.alerts._hide(); + Shade.hide(); + if( callback ) callback(true); + }); + $("#popup_cancel").click( function() { + $.alerts._hide(); + Shade.hide(); + if( callback ) callback(false); + }); + $("#popup_ok").focus(); + $("#popup_ok, #popup_cancel").keypress( function(e) { + if( e.keyCode == 13 ) $("#popup_ok").trigger('click'); + if( e.keyCode == 27 ) $("#popup_cancel").trigger('click'); + }); + break; + case 'prompt': + $("#popup_message").append('
                                                  ').after(''); + $("#popup_prompt").width( $("#popup_message").width() ); + $("#popup_ok").click( function() { + var val = $("#popup_prompt").val(); + $.alerts._hide(); + Shade.hide(); + if( callback ) callback( val ); + }); + $("#popup_cancel").click( function() { + $.alerts._hide(); + Shade.hide(); + if( callback ) callback( null ); + }); + $("#popup_prompt, #popup_ok, #popup_cancel").keypress( function(e) { + if( e.keyCode == 13 ) $("#popup_ok").trigger('click'); + if( e.keyCode == 27 ) $("#popup_cancel").trigger('click'); + }); + if( value ) $("#popup_prompt").val(value); + $("#popup_prompt").focus().select(); + break; + } + + // Make draggable + if( $.alerts.draggable ) { + try { + $("#popup_container").draggable({ handle: $("#popup_title") }); + $("#popup_title").css({ cursor: 'move' }); + } catch(e) { /* requires jQuery UI draggables */ } + } + }, + + _hide: function() { + $("#popup_container").remove(); + $.alerts._overlay('hide'); + $.alerts._maintainPosition(false); + }, + + _overlay: function(status) { + switch( status ) { + case 'show': + $.alerts._overlay('hide'); + $("BODY").append(''); + $("#popup_overlay").css({ + position: 'absolute', + zIndex: 99998, + top: '0px', + left: '0px', + width: '100%', + height: $(document).height(), + background: $.alerts.overlayColor, + opacity: $.alerts.overlayOpacity + }); + break; + case 'hide': + $("#popup_overlay").remove(); + break; + } + }, + + _reposition: function() { + var top = (($(window).height() / 2) - ($("#popup_container").outerHeight() / 2)) + $.alerts.verticalOffset; + var left = (($(window).width() / 2) - ($("#popup_container").outerWidth() / 2)) + $.alerts.horizontalOffset; + if( top < 0 ) top = 0; + if( left < 0 ) left = 0; + + // IE6 fix + if( $.browser.msie && parseInt($.browser.version) <= 6 ) top = top + $(window).scrollTop(); + + $("#popup_container").css({ + top: top + 'px', + left: left + 'px' + }); + $("#popup_overlay").height( $(document).height() ); + }, + + _maintainPosition: function(status) { + if( $.alerts.repositionOnResize ) { + switch(status) { + case true: + $(window).bind('resize', $.alerts._reposition); + break; + case false: + $(window).unbind('resize', $.alerts._reposition); + break; + } + } + } + + } + + // Shortuct functions + jAlert = function(message, title, callback) { + $.alerts.alert(message, title, callback); + } + + jConfirm = function(message, title, callback) { + $.alerts.confirm(message, title, callback); + }; + + jPrompt = function(message, value, title, callback) { + $.alerts.prompt(message, value, title, callback); + }; + +})(jQuery); \ No newline at end of file diff --git a/src/demo/manager/src/main/webapp/assets/js/jquery.cookie.js b/src/demo/manager/src/main/webapp/assets/js/jquery.cookie.js new file mode 100644 index 00000000..c741457c --- /dev/null +++ b/src/demo/manager/src/main/webapp/assets/js/jquery.cookie.js @@ -0,0 +1,38 @@ +jQuery.cookie = function(name, value, options) { + if (typeof value != 'undefined') { + options = options || {}; + if (value === null) { + value = ''; + options = $.extend({}, options); + options.expires = -1; + } + var expires = ''; + if (options.expires && (typeof options.expires == 'number' || options.expires.toUTCString)) { + var date; + if (typeof options.expires == 'number') { + date = new Date(); + date.setTime(date.getTime() + (options.expires * 60 * 60 * 1000)); + } else { + date = options.expires; + } + expires = '; expires=' + date.toUTCString(); + } + var path = options.path ? '; path=' + (options.path) : ''; + var domain = options.domain ? '; domain=' + (options.domain) : ''; + var secure = options.secure ? '; secure' : ''; + document.cookie = [name, '=', encodeURIComponent(value), expires, path, domain, secure].join(''); + } else { + var cookieValue = null; + if (document.cookie && document.cookie != '') { + var cookies = document.cookie.split(';'); + for (var i = 0; i < cookies.length; i++) { + var cookie = jQuery.trim(cookies[i]); + if (cookie.substring(0, name.length + 1) == (name + '=')) { + cookieValue = decodeURIComponent(cookie.substring(name.length + 1)); + break; + } + } + } + return cookieValue; + } +}; \ No newline at end of file diff --git a/src/demo/manager/src/main/webapp/assets/js/jquery.dataTables.min.js b/src/demo/manager/src/main/webapp/assets/js/jquery.dataTables.min.js new file mode 100644 index 00000000..d8778045 --- /dev/null +++ b/src/demo/manager/src/main/webapp/assets/js/jquery.dataTables.min.js @@ -0,0 +1,164 @@ +/*! + DataTables 1.10.10 + ©2008-2015 SpryMedia Ltd - datatables.net/license +*/ +(function(h){"function"===typeof define&&define.amd?define(["jquery"],function(E){return h(E,window,document)}):"object"===typeof exports?module.exports=function(E,H){E||(E=window);H||(H="undefined"!==typeof window?require("jquery"):require("jquery")(E));return h(H,E,E.document)}:h(jQuery,window,document)})(function(h,E,H,k){function Y(a){var b,c,d={};h.each(a,function(e){if((b=e.match(/^([^A-Z]+?)([A-Z])/))&&-1!=="a aa ai ao as b fn i m o s ".indexOf(b[1]+" "))c=e.replace(b[0],b[2].toLowerCase()), +d[c]=e,"o"===b[1]&&Y(a[e])});a._hungarianMap=d}function J(a,b,c){a._hungarianMap||Y(a);var d;h.each(b,function(e){d=a._hungarianMap[e];if(d!==k&&(c||b[d]===k))"o"===d.charAt(0)?(b[d]||(b[d]={}),h.extend(!0,b[d],b[e]),J(a[d],b[d],c)):b[d]=b[e]})}function Fa(a){var b=m.defaults.oLanguage,c=a.sZeroRecords;!a.sEmptyTable&&(c&&"No data available in table"===b.sEmptyTable)&&F(a,a,"sZeroRecords","sEmptyTable");!a.sLoadingRecords&&(c&&"Loading..."===b.sLoadingRecords)&&F(a,a,"sZeroRecords","sLoadingRecords"); +a.sInfoThousands&&(a.sThousands=a.sInfoThousands);(a=a.sDecimal)&&db(a)}function eb(a){A(a,"ordering","bSort");A(a,"orderMulti","bSortMulti");A(a,"orderClasses","bSortClasses");A(a,"orderCellsTop","bSortCellsTop");A(a,"order","aaSorting");A(a,"orderFixed","aaSortingFixed");A(a,"paging","bPaginate");A(a,"pagingType","sPaginationType");A(a,"pageLength","iDisplayLength");A(a,"searching","bFilter");"boolean"===typeof a.sScrollX&&(a.sScrollX=a.sScrollX?"100%":"");"boolean"===typeof a.scrollX&&(a.scrollX= +a.scrollX?"100%":"");if(a=a.aoSearchCols)for(var b=0,c=a.length;b").css({position:"fixed",top:0,left:0,height:1,width:1,overflow:"hidden"}).append(h("
                                                  ").css({position:"absolute",top:1,left:1, +width:100,overflow:"scroll"}).append(h("
                                                  ").css({width:"100%",height:10}))).appendTo("body"),d=c.children(),e=d.children();b.barWidth=d[0].offsetWidth-d[0].clientWidth;b.bScrollOversize=100===e[0].offsetWidth&&100!==d[0].clientWidth;b.bScrollbarLeft=1!==Math.round(e.offset().left);b.bBounding=c[0].getBoundingClientRect().width?!0:!1;c.remove()}h.extend(a.oBrowser,m.__browser);a.oScroll.iBarWidth=m.__browser.barWidth}function hb(a,b,c,d,e,f){var g,j=!1;c!==k&&(g=c,j=!0);for(;d!==e;)a.hasOwnProperty(d)&& +(g=j?b(g,a[d],d,a):a[d],j=!0,d+=f);return g}function Ga(a,b){var c=m.defaults.column,d=a.aoColumns.length,c=h.extend({},m.models.oColumn,c,{nTh:b?b:H.createElement("th"),sTitle:c.sTitle?c.sTitle:b?b.innerHTML:"",aDataSort:c.aDataSort?c.aDataSort:[d],mData:c.mData?c.mData:d,idx:d});a.aoColumns.push(c);c=a.aoPreSearchCols;c[d]=h.extend({},m.models.oSearch,c[d]);la(a,d,h(b).data())}function la(a,b,c){var b=a.aoColumns[b],d=a.oClasses,e=h(b.nTh);if(!b.sWidthOrig){b.sWidthOrig=e.attr("width")||null;var f= +(e.attr("style")||"").match(/width:\s*(\d+[pxem%]+)/);f&&(b.sWidthOrig=f[1])}c!==k&&null!==c&&(fb(c),J(m.defaults.column,c),c.mDataProp!==k&&!c.mData&&(c.mData=c.mDataProp),c.sType&&(b._sManualType=c.sType),c.className&&!c.sClass&&(c.sClass=c.className),h.extend(b,c),F(b,c,"sWidth","sWidthOrig"),c.iDataSort!==k&&(b.aDataSort=[c.iDataSort]),F(b,c,"aDataSort"));var g=b.mData,j=Q(g),i=b.mRender?Q(b.mRender):null,c=function(a){return"string"===typeof a&&-1!==a.indexOf("@")};b._bAttrSrc=h.isPlainObject(g)&& +(c(g.sort)||c(g.type)||c(g.filter));b.fnGetData=function(a,b,c){var d=j(a,b,k,c);return i&&b?i(d,b,a,c):d};b.fnSetData=function(a,b,c){return R(g)(a,b,c)};"number"!==typeof g&&(a._rowReadObject=!0);a.oFeatures.bSort||(b.bSortable=!1,e.addClass(d.sSortableNone));a=-1!==h.inArray("asc",b.asSorting);c=-1!==h.inArray("desc",b.asSorting);!b.bSortable||!a&&!c?(b.sSortingClass=d.sSortableNone,b.sSortingClassJUI=""):a&&!c?(b.sSortingClass=d.sSortableAsc,b.sSortingClassJUI=d.sSortJUIAscAllowed):!a&&c?(b.sSortingClass= +d.sSortableDesc,b.sSortingClassJUI=d.sSortJUIDescAllowed):(b.sSortingClass=d.sSortable,b.sSortingClassJUI=d.sSortJUI)}function U(a){if(!1!==a.oFeatures.bAutoWidth){var b=a.aoColumns;Ha(a);for(var c=0,d=b.length;cq[f])d(l.length+q[f],o);else if("string"===typeof q[f]){j=0;for(i=l.length;jb&&a[e]--; -1!=d&&c===k&&a.splice(d,1)}function ea(a,b,c,d){var e=a.aoData[b],f,g=function(c,d){for(;c.childNodes.length;)c.removeChild(c.firstChild);c.innerHTML=B(a,b,d,"display")};if("dom"===c||(!c||"auto"===c)&&"dom"===e.src)e._aData= +Ka(a,e,d,d===k?k:e._aData).data;else{var j=e.anCells;if(j)if(d!==k)g(j[d],d);else{c=0;for(f=j.length;c").appendTo(g));b=0;for(c=l.length;btr").attr("role","row");h(g).find(">tr>th, >tr>td").addClass(o.sHeaderTH);h(j).find(">tr>th, >tr>td").addClass(o.sFooterTH);if(null!==j){a=a.aoFooter[0];b=0;for(c=a.length;b=a.fnRecordsDisplay()?0:g,a.iInitDisplayStart=-1);var g=a._iDisplayStart,o=a.fnDisplayEnd();if(a.bDeferLoading)a.bDeferLoading=!1,a.iDraw++,C(a,!1);else if(j){if(!a.bDestroying&& +!lb(a))return}else a.iDraw++;if(0!==i.length){f=j?a.aoData.length:o;for(j=j?0:g;j",{"class":e?d[0]:""}).append(h("",{valign:"top",colSpan:ca(a), +"class":a.oClasses.sRowEmpty}).html(c))[0];v(a,"aoHeaderCallback","header",[h(a.nTHead).children("tr")[0],Ma(a),g,o,i]);v(a,"aoFooterCallback","footer",[h(a.nTFoot).children("tr")[0],Ma(a),g,o,i]);d=h(a.nTBody);d.children().detach();d.append(h(b));v(a,"aoDrawCallback","draw",[a]);a.bSorted=!1;a.bFiltered=!1;a.bDrawing=!1}}function T(a,b){var c=a.oFeatures,d=c.bFilter;c.bSort&&mb(a);d?ha(a,a.oPreviousSearch):a.aiDisplay=a.aiDisplayMaster.slice();!0!==b&&(a._iDisplayStart=0);a._drawHold=b;O(a);a._drawHold= +!1}function nb(a){var b=a.oClasses,c=h(a.nTable),c=h("
                                                  ").insertBefore(c),d=a.oFeatures,e=h("
                                                  ",{id:a.sTableId+"_wrapper","class":b.sWrapper+(a.nTFoot?"":" "+b.sNoFooter)});a.nHolding=c[0];a.nTableWrapper=e[0];a.nTableReinsertBefore=a.nTable.nextSibling;for(var f=a.sDom.split(""),g,j,i,o,l,q,u=0;u")[0];o=f[u+1];if("'"==o||'"'==o){l="";for(q=2;f[u+q]!=o;)l+=f[u+q],q++;"H"==l?l=b.sJUIHeader:"F"==l&&(l=b.sJUIFooter);-1!=l.indexOf(".")?(o=l.split("."), +i.id=o[0].substr(1,o[0].length-1),i.className=o[1]):"#"==l.charAt(0)?i.id=l.substr(1,l.length-1):i.className=l;u+=q}e.append(i);e=h(i)}else if(">"==j)e=e.parent();else if("l"==j&&d.bPaginate&&d.bLengthChange)g=ob(a);else if("f"==j&&d.bFilter)g=pb(a);else if("r"==j&&d.bProcessing)g=qb(a);else if("t"==j)g=rb(a);else if("i"==j&&d.bInfo)g=sb(a);else if("p"==j&&d.bPaginate)g=tb(a);else if(0!==m.ext.feature.length){i=m.ext.feature;q=0;for(o=i.length;q',j=d.sSearch,j=j.match(/_INPUT_/)?j.replace("_INPUT_",g):j+g,b=h("
                                                  ",{id:!f.f?c+"_filter":null,"class":b.sFilter}).append(h("
                                                  ").addClass(b.sLength); +a.aanFeatures.l||(i[0].id=c+"_length");i.children().append(a.oLanguage.sLengthMenu.replace("_MENU_",e[0].outerHTML));h("select",i).val(a._iDisplayLength).bind("change.DT",function(){Ra(a,h(this).val());O(a)});h(a.nTable).bind("length.dt.DT",function(b,c,d){a===c&&h("select",i).val(d)});return i[0]}function tb(a){var b=a.sPaginationType,c=m.ext.pager[b],d="function"===typeof c,e=function(a){O(a)},b=h("
                                                  ").addClass(a.oClasses.sPaging+b)[0],f=a.aanFeatures;d||c.fnInit(a,b,e);f.p||(b.id=a.sTableId+ +"_paginate",a.aoDrawCallback.push({fn:function(a){if(d){var b=a._iDisplayStart,i=a._iDisplayLength,h=a.fnRecordsDisplay(),l=-1===i,b=l?0:Math.ceil(b/i),i=l?1:Math.ceil(h/i),h=c(b,i),k,l=0;for(k=f.p.length;lf&&(d=0)):"first"==b?d=0:"previous"==b?(d=0<=e?d-e:0,0>d&&(d=0)):"next"== +b?d+e",{id:!a.aanFeatures.r?a.sTableId+"_processing":null,"class":a.oClasses.sProcessing}).html(a.oLanguage.sProcessing).insertBefore(a.nTable)[0]}function C(a,b){a.oFeatures.bProcessing&&h(a.aanFeatures.r).css("display",b?"block":"none");v(a,null,"processing",[a,b])}function rb(a){var b=h(a.nTable);b.attr("role", +"grid");var c=a.oScroll;if(""===c.sX&&""===c.sY)return a.nTable;var d=c.sX,e=c.sY,f=a.oClasses,g=b.children("caption"),j=g.length?g[0]._captionSide:null,i=h(b[0].cloneNode(!1)),o=h(b[0].cloneNode(!1)),l=b.children("tfoot");l.length||(l=null);i=h("
                                                  ",{"class":f.sScrollWrapper}).append(h("
                                                  ",{"class":f.sScrollHead}).css({overflow:"hidden",position:"relative",border:0,width:d?!d?null:w(d):"100%"}).append(h("
                                                  ",{"class":f.sScrollHeadInner}).css({"box-sizing":"content-box",width:c.sXInner|| +"100%"}).append(i.removeAttr("id").css("margin-left",0).append("top"===j?g:null).append(b.children("thead"))))).append(h("
                                                  ",{"class":f.sScrollBody}).css({position:"relative",overflow:"auto",width:!d?null:w(d)}).append(b));l&&i.append(h("
                                                  ",{"class":f.sScrollFoot}).css({overflow:"hidden",border:0,width:d?!d?null:w(d):"100%"}).append(h("
                                                  ",{"class":f.sScrollFootInner}).append(o.removeAttr("id").css("margin-left",0).append("bottom"===j?g:null).append(b.children("tfoot")))));var b=i.children(), +k=b[0],f=b[1],u=l?b[2]:null;if(d)h(f).on("scroll.DT",function(){var a=this.scrollLeft;k.scrollLeft=a;l&&(u.scrollLeft=a)});h(f).css(e&&c.bCollapse?"max-height":"height",e);a.nScrollHead=k;a.nScrollBody=f;a.nScrollFoot=u;a.aoDrawCallback.push({fn:Z,sName:"scrolling"});return i[0]}function Z(a){var b=a.oScroll,c=b.sX,d=b.sXInner,e=b.sY,b=b.iBarWidth,f=h(a.nScrollHead),g=f[0].style,j=f.children("div"),i=j[0].style,o=j.children("table"),j=a.nScrollBody,l=h(j),q=j.style,u=h(a.nScrollFoot).children("div"), +m=u.children("table"),n=h(a.nTHead),p=h(a.nTable),t=p[0],v=t.style,r=a.nTFoot?h(a.nTFoot):null,Eb=a.oBrowser,Ua=Eb.bScrollOversize,s,L,P,x,y=[],z=[],A=[],B,C=function(a){a=a.style;a.paddingTop="0";a.paddingBottom="0";a.borderTopWidth="0";a.borderBottomWidth="0";a.height=0};L=j.scrollHeight>j.clientHeight;if(a.scrollBarVis!==L&&a.scrollBarVis!==k)a.scrollBarVis=L,U(a);else{a.scrollBarVis=L;p.children("thead, tfoot").remove();x=n.clone().prependTo(p);n=n.find("tr");L=x.find("tr");x.find("th, td").removeAttr("tabindex"); +r&&(P=r.clone().prependTo(p),s=r.find("tr"),P=P.find("tr"));c||(q.width="100%",f[0].style.width="100%");h.each(qa(a,x),function(b,c){B=$(a,b);c.style.width=a.aoColumns[B].sWidth});r&&I(function(a){a.style.width=""},P);f=p.outerWidth();if(""===c){v.width="100%";if(Ua&&(p.find("tbody").height()>j.offsetHeight||"scroll"==l.css("overflow-y")))v.width=w(p.outerWidth()-b);f=p.outerWidth()}else""!==d&&(v.width=w(d),f=p.outerWidth());I(C,L);I(function(a){A.push(a.innerHTML);y.push(w(h(a).css("width")))}, +L);I(function(a,b){a.style.width=y[b]},n);h(L).height(0);r&&(I(C,P),I(function(a){z.push(w(h(a).css("width")))},P),I(function(a,b){a.style.width=z[b]},s),h(P).height(0));I(function(a,b){a.innerHTML='
                                                  '+A[b]+"
                                                  ";a.style.width=y[b]},L);r&&I(function(a,b){a.innerHTML="";a.style.width=z[b]},P);if(p.outerWidth()j.offsetHeight||"scroll"==l.css("overflow-y")?f+b:f;if(Ua&&(j.scrollHeight>j.offsetHeight||"scroll"==l.css("overflow-y")))v.width= +w(s-b);(""===c||""!==d)&&K(a,1,"Possible column misalignment",6)}else s="100%";q.width=w(s);g.width=w(s);r&&(a.nScrollFoot.style.width=w(s));!e&&Ua&&(q.height=w(t.offsetHeight+b));c=p.outerWidth();o[0].style.width=w(c);i.width=w(c);d=p.height()>j.clientHeight||"scroll"==l.css("overflow-y");e="padding"+(Eb.bScrollbarLeft?"Left":"Right");i[e]=d?b+"px":"0px";r&&(m[0].style.width=w(c),u[0].style.width=w(c),u[0].style[e]=d?b+"px":"0px");l.scroll();if((a.bSorted||a.bFiltered)&&!a._drawHold)j.scrollTop= +0}}function I(a,b,c){for(var d=0,e=0,f=b.length,g,j;e").appendTo(j.find("tbody"));j.find("thead, tfoot").remove();j.append(h(a.nTHead).clone()).append(h(a.nTFoot).clone());j.find("tfoot th, tfoot td").css("width","");o=qa(a,j.find("thead")[0]);for(m=0;m").css({width:n.sWidthOrig,margin:0,padding:0,border:0,height:1}));if(a.aoData.length)for(m=0;m").css(f||e?{position:"absolute",top:0,left:0,height:1,right:0,overflow:"hidden"}:{}).append(j).appendTo(k);f&&g?j.width(g):f?(j.css("width","auto"),j.removeAttr("width"),j.width()").css("width",w(a)).appendTo(b||H.body),d=c[0].offsetWidth;c.remove();return d}function Gb(a,b){var c=Hb(a,b);if(0>c)return null;var d=a.aoData[c];return!d.nTr?h("").html(B(a,c,b,"display"))[0]:d.anCells[b]}function Hb(a,b){for(var c,d=-1,e=-1,f=0,g=a.aoData.length;fd&&(d=c.length,e=f);return e}function w(a){return null=== +a?"0px":"number"==typeof a?0>a?"0px":a+"px":a.match(/\d$/)?a+"px":a}function W(a){var b,c,d=[],e=a.aoColumns,f,g,j,i;b=a.aaSortingFixed;c=h.isPlainObject(b);var o=[];f=function(a){a.length&&!h.isArray(a[0])?o.push(a):h.merge(o,a)};h.isArray(b)&&f(b);c&&b.pre&&f(b.pre);f(a.aaSorting);c&&b.post&&f(b.post);for(a=0;ae?1:0,0!==c)return"asc"===j.dir?c:-c;c=d[a];e=d[b]; +return ce?1:0}):i.sort(function(a,b){var c,g,j,i,k=h.length,m=f[a]._aSortData,p=f[b]._aSortData;for(j=0;jg?1:0})}a.bSorted=!0}function Jb(a){for(var b,c,d=a.aoColumns,e=W(a),a=a.oLanguage.oAria,f=0,g=d.length;f/g,"");var i=c.nTh;i.removeAttribute("aria-sort");c.bSortable&&(0e?e+1:3));e=0;for(f=d.length;ee?e+1:3))}a.aLastSort=d}function Ib(a,b){var c=a.aoColumns[b],d=m.ext.order[c.sSortDataType],e;d&&(e=d.call(a.oInstance,a,b,ba(a,b)));for(var f,g=m.ext.type.order[c.sType+"-pre"],j=0,i=a.aoData.length;j=d.length?[0,c[1]]:c)}));e.search!==k&&h.extend(a.oPreviousSearch,Bb(e.search));b=0;for(c=e.columns.length;b=c&&(b=c-d);b-=b%d;if(-1===d||0>b)b=0;a._iDisplayStart=b}function Pa(a,b){var c= +a.renderer,d=m.ext.renderer[b];return h.isPlainObject(c)&&c[b]?d[c[b]]||d._:"string"===typeof c?d[c]||d._:d._}function y(a){return a.oFeatures.bServerSide?"ssp":a.ajax||a.sAjaxSource?"ajax":"dom"}function Aa(a,b){var c=[],c=Mb.numbers_length,d=Math.floor(c/2);b<=c?c=X(0,b):a<=d?(c=X(0,c-2),c.push("ellipsis"),c.push(b-1)):(a>=b-1-d?c=X(b-(c-2),b):(c=X(a-d+2,a+d-1),c.push("ellipsis"),c.push(b-1)),c.splice(0,0,"ellipsis"),c.splice(0,0,0));c.DT_el="span";return c}function db(a){h.each({num:function(b){return Ba(b, +a)},"num-fmt":function(b){return Ba(b,a,Xa)},"html-num":function(b){return Ba(b,a,Ca)},"html-num-fmt":function(b){return Ba(b,a,Ca,Xa)}},function(b,c){s.type.order[b+a+"-pre"]=c;b.match(/^html\-/)&&(s.type.search[b+a]=s.type.search.html)})}function Nb(a){return function(){var b=[za(this[m.ext.iApiIndex])].concat(Array.prototype.slice.call(arguments));return m.ext.internal[a].apply(this,b)}}var m,s,t,p,r,Ya={},Ob=/[\r\n]/g,Ca=/<.*?>/g,ac=/^[\w\+\-]/,bc=/[\w\+\-]$/,Yb=RegExp("(\\/|\\.|\\*|\\+|\\?|\\||\\(|\\)|\\[|\\]|\\{|\\}|\\\\|\\$|\\^|\\-)", +"g"),Xa=/[',$£€¥%\u2009\u202F\u20BD\u20a9\u20BArfk]/gi,M=function(a){return!a||!0===a||"-"===a?!0:!1},Pb=function(a){var b=parseInt(a,10);return!isNaN(b)&&isFinite(a)?b:null},Qb=function(a,b){Ya[b]||(Ya[b]=RegExp(va(b),"g"));return"string"===typeof a&&"."!==b?a.replace(/\./g,"").replace(Ya[b],"."):a},Za=function(a,b,c){var d="string"===typeof a;if(M(a))return!0;b&&d&&(a=Qb(a,b));c&&d&&(a=a.replace(Xa,""));return!isNaN(parseFloat(a))&&isFinite(a)},Rb=function(a,b,c){return M(a)?!0:!(M(a)||"string"=== +typeof a)?null:Za(a.replace(Ca,""),b,c)?!0:null},D=function(a,b,c){var d=[],e=0,f=a.length;if(c!==k)for(;e")[0],Zb=wa.textContent!==k,$b=/<.*?>/g;m=function(a){this.$=function(a,b){return this.api(!0).$(a,b)};this._=function(a,b){return this.api(!0).rows(a,b).data()};this.api=function(a){return a?new t(za(this[s.iApiIndex])):new t(this)};this.fnAddData=function(a,b){var c=this.api(!0), +d=h.isArray(a)&&(h.isArray(a[0])||h.isPlainObject(a[0]))?c.rows.add(a):c.row.add(a);(b===k||b)&&c.draw();return d.flatten().toArray()};this.fnAdjustColumnSizing=function(a){var b=this.api(!0).columns.adjust(),c=b.settings()[0],d=c.oScroll;a===k||a?b.draw(!1):(""!==d.sX||""!==d.sY)&&Z(c)};this.fnClearTable=function(a){var b=this.api(!0).clear();(a===k||a)&&b.draw()};this.fnClose=function(a){this.api(!0).row(a).child.hide()};this.fnDeleteRow=function(a,b,c){var d=this.api(!0),a=d.rows(a),e=a.settings()[0], +h=e.aoData[a[0][0]];a.remove();b&&b.call(this,e,h);(c===k||c)&&d.draw();return h};this.fnDestroy=function(a){this.api(!0).destroy(a)};this.fnDraw=function(a){this.api(!0).draw(a)};this.fnFilter=function(a,b,c,d,e,h){e=this.api(!0);null===b||b===k?e.search(a,c,d,h):e.column(b).search(a,c,d,h);e.draw()};this.fnGetData=function(a,b){var c=this.api(!0);if(a!==k){var d=a.nodeName?a.nodeName.toLowerCase():"";return b!==k||"td"==d||"th"==d?c.cell(a,b).data():c.row(a).data()||null}return c.data().toArray()}; +this.fnGetNodes=function(a){var b=this.api(!0);return a!==k?b.row(a).node():b.rows().nodes().flatten().toArray()};this.fnGetPosition=function(a){var b=this.api(!0),c=a.nodeName.toUpperCase();return"TR"==c?b.row(a).index():"TD"==c||"TH"==c?(a=b.cell(a).index(),[a.row,a.columnVisible,a.column]):null};this.fnIsOpen=function(a){return this.api(!0).row(a).child.isShown()};this.fnOpen=function(a,b,c){return this.api(!0).row(a).child(b,c).show().child()[0]};this.fnPageChange=function(a,b){var c=this.api(!0).page(a); +(b===k||b)&&c.draw(!1)};this.fnSetColumnVis=function(a,b,c){a=this.api(!0).column(a).visible(b);(c===k||c)&&a.columns.adjust().draw()};this.fnSettings=function(){return za(this[s.iApiIndex])};this.fnSort=function(a){this.api(!0).order(a).draw()};this.fnSortListener=function(a,b,c){this.api(!0).order.listener(a,b,c)};this.fnUpdate=function(a,b,c,d,e){var h=this.api(!0);c===k||null===c?h.row(b).data(a):h.cell(b,c).data(a);(e===k||e)&&h.columns.adjust();(d===k||d)&&h.draw();return 0};this.fnVersionCheck= +s.fnVersionCheck;var b=this,c=a===k,d=this.length;c&&(a={});this.oApi=this.internal=s.internal;for(var e in m.ext.internal)e&&(this[e]=Nb(e));this.each(function(){var e={},e=1t<"F"ip>'),n.renderer)?h.isPlainObject(n.renderer)&&!n.renderer.header&&(n.renderer.header="jqueryui"):n.renderer="jqueryui":h.extend(i,m.ext.classes,e.oClasses);q.addClass(i.sTable);n.iInitDisplayStart===k&&(n.iInitDisplayStart=e.iDisplayStart,n._iDisplayStart=e.iDisplayStart);null!==e.iDeferLoading&&(n.bDeferLoading=!0,g=h.isArray(e.iDeferLoading), +n._iRecordsDisplay=g?e.iDeferLoading[0]:e.iDeferLoading,n._iRecordsTotal=g?e.iDeferLoading[1]:e.iDeferLoading);var t=n.oLanguage;h.extend(!0,t,e.oLanguage);""!==t.sUrl&&(h.ajax({dataType:"json",url:t.sUrl,success:function(a){Fa(a);J(l.oLanguage,a);h.extend(true,t,a);ia(n)},error:function(){ia(n)}}),o=!0);null===e.asStripeClasses&&(n.asStripeClasses=[i.sStripeOdd,i.sStripeEven]);var g=n.asStripeClasses,r=q.children("tbody").find("tr").eq(0);-1!==h.inArray(!0,h.map(g,function(a){return r.hasClass(a)}))&& +(h("tbody tr",this).removeClass(g.join(" ")),n.asDestroyStripes=g.slice());u=[];g=this.getElementsByTagName("thead");0!==g.length&&(fa(n.aoHeader,g[0]),u=qa(n));if(null===e.aoColumns){p=[];g=0;for(j=u.length;g").appendTo(this));n.nTHead=j[0];j=q.children("tbody");0===j.length&&(j=h("").appendTo(this));n.nTBody=j[0];j=q.children("tfoot");if(0===j.length&&0").appendTo(this); +0===j.length||0===j.children().length?q.addClass(i.sNoFooter):0a?new t(b[a],this[a]):null},filter:function(a){var b=[];if(x.filter)b=x.filter.call(this,a,this);else for(var c=0,d=this.length;c").addClass(b),h("td",c).addClass(b).html(a)[0].colSpan=ca(d),e.push(c[0]))};f(a,b);c._details&&c._details.remove();c._details=h(e);c._detailsShow&&c._details.insertAfter(c.nTr)}return this});p(["row().child.show()","row().child().show()"],function(){Vb(this, +!0);return this});p(["row().child.hide()","row().child().hide()"],function(){Vb(this,!1);return this});p(["row().child.remove()","row().child().remove()"],function(){cb(this);return this});p("row().child.isShown()",function(){var a=this.context;return a.length&&this.length?a[0].aoData[this[0]]._detailsShow||!1:!1});var dc=/^(.+):(name|visIdx|visible)$/,Wb=function(a,b,c,d,e){for(var c=[],d=0,f=e.length;d=0?b:g.length+b];if(typeof a==="function"){var e=Da(c,f);return h.map(g,function(b,f){return a(f,Wb(c,f,0,0,e),i[f])?f:null})}var k=typeof a==="string"?a.match(dc):"";if(k)switch(k[2]){case "visIdx":case "visible":b=parseInt(k[1],10);if(b<0){var m=h.map(g,function(a,b){return a.bVisible?b:null}); +return[m[m.length+b]]}return[$(c,b)];case "name":return h.map(j,function(a,b){return a===k[1]?b:null})}else return h(i).filter(a).map(function(){return h.inArray(this,i)}).toArray()},c,f)},1);c.selector.cols=a;c.selector.opts=b;return c});r("columns().header()","column().header()",function(){return this.iterator("column",function(a,b){return a.aoColumns[b].nTh},1)});r("columns().footer()","column().footer()",function(){return this.iterator("column",function(a,b){return a.aoColumns[b].nTf},1)});r("columns().data()", +"column().data()",function(){return this.iterator("column-rows",Wb,1)});r("columns().dataSrc()","column().dataSrc()",function(){return this.iterator("column",function(a,b){return a.aoColumns[b].mData},1)});r("columns().cache()","column().cache()",function(a){return this.iterator("column-rows",function(b,c,d,e,f){return ja(b.aoData,f,"search"===a?"_aFilterData":"_aSortData",c)},1)});r("columns().nodes()","column().nodes()",function(){return this.iterator("column-rows",function(a,b,c,d,e){return ja(a.aoData, +e,"anCells",b)},1)});r("columns().visible()","column().visible()",function(a,b){return this.iterator("column",function(c,d){if(a===k)return c.aoColumns[d].bVisible;var e=c.aoColumns,f=e[d],g=c.aoData,j,i,m;if(a!==k&&f.bVisible!==a){if(a){var l=h.inArray(!0,D(e,"bVisible"),d+1);j=0;for(i=g.length;jd;return!0};m.isDataTable=m.fnIsDataTable=function(a){var b=h(a).get(0),c=!1;h.each(m.settings,function(a,e){var f=e.nScrollHead?h("table",e.nScrollHead)[0]:null,g=e.nScrollFoot?h("table",e.nScrollFoot)[0]: +null;if(e.nTable===b||f===b||g===b)c=!0});return c};m.tables=m.fnTables=function(a){var b=!1;h.isPlainObject(a)&&(b=a.api,a=a.visible);var c=h.map(m.settings,function(b){if(!a||a&&h(b.nTable).is(":visible"))return b.nTable});return b?new t(c):c};m.util={throttle:ua,escapeRegex:va};m.camelToHungarian=J;p("$()",function(a,b){var c=this.rows(b).nodes(),c=h(c);return h([].concat(c.filter(a).toArray(),c.find(a).toArray()))});h.each(["on","one","off"],function(a,b){p(b+"()",function(){var a=Array.prototype.slice.call(arguments); +a[0].match(/\.dt\b/)||(a[0]+=".dt");var d=h(this.tables().nodes());d[b].apply(d,a);return this})});p("clear()",function(){return this.iterator("table",function(a){na(a)})});p("settings()",function(){return new t(this.context,this.context)});p("init()",function(){var a=this.context;return a.length?a[0].oInit:null});p("data()",function(){return this.iterator("table",function(a){return D(a.aoData,"_aData")}).flatten()});p("destroy()",function(a){a=a||!1;return this.iterator("table",function(b){var c= +b.nTableWrapper.parentNode,d=b.oClasses,e=b.nTable,f=b.nTBody,g=b.nTHead,j=b.nTFoot,i=h(e),f=h(f),k=h(b.nTableWrapper),l=h.map(b.aoData,function(a){return a.nTr}),p;b.bDestroying=!0;v(b,"aoDestroyCallback","destroy",[b]);a||(new t(b)).columns().visible(!0);k.unbind(".DT").find(":not(tbody *)").unbind(".DT");h(E).unbind(".DT-"+b.sInstance);e!=g.parentNode&&(i.children("thead").detach(),i.append(g));j&&e!=j.parentNode&&(i.children("tfoot").detach(),i.append(j));b.aaSorting=[];b.aaSortingFixed=[];xa(b); +h(l).removeClass(b.asStripeClasses.join(" "));h("th, td",g).removeClass(d.sSortable+" "+d.sSortableAsc+" "+d.sSortableDesc+" "+d.sSortableNone);b.bJUI&&(h("th span."+d.sSortIcon+", td span."+d.sSortIcon,g).detach(),h("th, td",g).each(function(){var a=h("div."+d.sSortJUIWrapper,this);h(this).append(a.contents());a.detach()}));f.children().detach();f.append(l);g=a?"remove":"detach";i[g]();k[g]();!a&&c&&(c.insertBefore(e,b.nTableReinsertBefore),i.css("width",b.sDestroyWidth).removeClass(d.sTable),(p= +b.asDestroyStripes.length)&&f.children().each(function(a){h(this).addClass(b.asDestroyStripes[a%p])}));c=h.inArray(b,m.settings);-1!==c&&m.settings.splice(c,1)})});h.each(["column","row","cell"],function(a,b){p(b+"s().every()",function(a){var d=this.selector.opts,e=this;return this.iterator(b,function(f,g,h,i,m){a.call(e[b](g,"cell"===b?h:d,"cell"===b?d:k),g,h,i,m)})})});p("i18n()",function(a,b,c){var d=this.context[0],a=Q(a)(d.oLanguage);a===k&&(a=b);c!==k&&h.isPlainObject(a)&&(a=a[c]!==k?a[c]:a._); +return a.replace("%d",c)});m.version="1.10.10";m.settings=[];m.models={};m.models.oSearch={bCaseInsensitive:!0,sSearch:"",bRegex:!1,bSmart:!0};m.models.oRow={nTr:null,anCells:null,_aData:[],_aSortData:null,_aFilterData:null,_sFilterRow:null,_sRowStripe:"",src:null,idx:-1};m.models.oColumn={idx:null,aDataSort:null,asSorting:null,bSearchable:null,bSortable:null,bVisible:null,_sManualType:null,_bAttrSrc:!1,fnCreatedCell:null,fnGetData:null,fnSetData:null,mData:null,mRender:null,nTh:null,nTf:null,sClass:null, +sContentPadding:null,sDefaultContent:null,sName:null,sSortDataType:"std",sSortingClass:null,sSortingClassJUI:null,sTitle:null,sType:null,sWidth:null,sWidthOrig:null};m.defaults={aaData:null,aaSorting:[[0,"asc"]],aaSortingFixed:[],ajax:null,aLengthMenu:[10,25,50,100],aoColumns:null,aoColumnDefs:null,aoSearchCols:[],asStripeClasses:null,bAutoWidth:!0,bDeferRender:!1,bDestroy:!1,bFilter:!0,bInfo:!0,bJQueryUI:!1,bLengthChange:!0,bPaginate:!0,bProcessing:!1,bRetrieve:!1,bScrollCollapse:!1,bServerSide:!1, +bSort:!0,bSortMulti:!0,bSortCellsTop:!1,bSortClasses:!0,bStateSave:!1,fnCreatedRow:null,fnDrawCallback:null,fnFooterCallback:null,fnFormatNumber:function(a){return a.toString().replace(/\B(?=(\d{3})+(?!\d))/g,this.oLanguage.sThousands)},fnHeaderCallback:null,fnInfoCallback:null,fnInitComplete:null,fnPreDrawCallback:null,fnRowCallback:null,fnServerData:null,fnServerParams:null,fnStateLoadCallback:function(a){try{return JSON.parse((-1===a.iStateDuration?sessionStorage:localStorage).getItem("DataTables_"+ +a.sInstance+"_"+location.pathname))}catch(b){}},fnStateLoadParams:null,fnStateLoaded:null,fnStateSaveCallback:function(a,b){try{(-1===a.iStateDuration?sessionStorage:localStorage).setItem("DataTables_"+a.sInstance+"_"+location.pathname,JSON.stringify(b))}catch(c){}},fnStateSaveParams:null,iStateDuration:7200,iDeferLoading:null,iDisplayLength:10,iDisplayStart:0,iTabIndex:0,oClasses:{},oLanguage:{oAria:{sSortAscending:": activate to sort column ascending",sSortDescending:": activate to sort column descending"}, +oPaginate:{sFirst:"First",sLast:"Last",sNext:"Next",sPrevious:"Previous"},sEmptyTable:"No data available in table",sInfo:"Showing _START_ to _END_ of _TOTAL_ entries",sInfoEmpty:"Showing 0 to 0 of 0 entries",sInfoFiltered:"(filtered from _MAX_ total entries)",sInfoPostFix:"",sDecimal:"",sThousands:",",sLengthMenu:"Show _MENU_ entries",sLoadingRecords:"Loading...",sProcessing:"Processing...",sSearch:"Search:",sSearchPlaceholder:"",sUrl:"",sZeroRecords:"No matching records found"},oSearch:h.extend({}, +m.models.oSearch),sAjaxDataProp:"data",sAjaxSource:null,sDom:"lfrtip",searchDelay:null,sPaginationType:"simple_numbers",sScrollX:"",sScrollXInner:"",sScrollY:"",sServerMethod:"GET",renderer:null,rowId:"DT_RowId"};Y(m.defaults);m.defaults.column={aDataSort:null,iDataSort:-1,asSorting:["asc","desc"],bSearchable:!0,bSortable:!0,bVisible:!0,fnCreatedCell:null,mData:null,mRender:null,sCellType:"td",sClass:"",sContentPadding:"",sDefaultContent:null,sName:"",sSortDataType:"std",sTitle:null,sType:null,sWidth:null}; +Y(m.defaults.column);m.models.oSettings={oFeatures:{bAutoWidth:null,bDeferRender:null,bFilter:null,bInfo:null,bLengthChange:null,bPaginate:null,bProcessing:null,bServerSide:null,bSort:null,bSortMulti:null,bSortClasses:null,bStateSave:null},oScroll:{bCollapse:null,iBarWidth:0,sX:null,sXInner:null,sY:null},oLanguage:{fnInfoCallback:null},oBrowser:{bScrollOversize:!1,bScrollbarLeft:!1,bBounding:!1,barWidth:0},ajax:null,aanFeatures:[],aoData:[],aiDisplay:[],aiDisplayMaster:[],aIds:{},aoColumns:[],aoHeader:[], +aoFooter:[],oPreviousSearch:{},aoPreSearchCols:[],aaSorting:null,aaSortingFixed:[],asStripeClasses:null,asDestroyStripes:[],sDestroyWidth:0,aoRowCallback:[],aoHeaderCallback:[],aoFooterCallback:[],aoDrawCallback:[],aoRowCreatedCallback:[],aoPreDrawCallback:[],aoInitComplete:[],aoStateSaveParams:[],aoStateLoadParams:[],aoStateLoaded:[],sTableId:"",nTable:null,nTHead:null,nTFoot:null,nTBody:null,nTableWrapper:null,bDeferLoading:!1,bInitialised:!1,aoOpenRows:[],sDom:null,searchDelay:null,sPaginationType:"two_button", +iStateDuration:0,aoStateSave:[],aoStateLoad:[],oSavedState:null,oLoadedState:null,sAjaxSource:null,sAjaxDataProp:null,bAjaxDataGet:!0,jqXHR:null,json:k,oAjaxData:k,fnServerData:null,aoServerParams:[],sServerMethod:null,fnFormatNumber:null,aLengthMenu:null,iDraw:0,bDrawing:!1,iDrawError:-1,_iDisplayLength:10,_iDisplayStart:0,_iRecordsTotal:0,_iRecordsDisplay:0,bJUI:null,oClasses:{},bFiltered:!1,bSorted:!1,bSortCellsTop:null,oInit:null,aoDestroyCallback:[],fnRecordsTotal:function(){return"ssp"==y(this)? +1*this._iRecordsTotal:this.aiDisplayMaster.length},fnRecordsDisplay:function(){return"ssp"==y(this)?1*this._iRecordsDisplay:this.aiDisplay.length},fnDisplayEnd:function(){var a=this._iDisplayLength,b=this._iDisplayStart,c=b+a,d=this.aiDisplay.length,e=this.oFeatures,f=e.bPaginate;return e.bServerSide?!1===f||-1===a?b+d:Math.min(b+a,this._iRecordsDisplay):!f||c>d||-1===a?d:c},oInstance:null,sInstance:null,iTabIndex:0,nScrollHead:null,nScrollFoot:null,aLastSort:[],oPlugins:{},rowIdFn:null,rowId:null}; +m.ext=s={buttons:{},classes:{},builder:"-source-",errMode:"alert",feature:[],search:[],selector:{cell:[],column:[],row:[]},internal:{},legacy:{ajax:null},pager:{},renderer:{pageButton:{},header:{}},order:{},type:{detect:[],search:{},order:{}},_unique:0,fnVersionCheck:m.fnVersionCheck,iApiIndex:0,oJUIClasses:{},sVersion:m.version};h.extend(s,{afnFiltering:s.search,aTypes:s.type.detect,ofnSearch:s.type.search,oSort:s.type.order,afnSortData:s.order,aoFeatures:s.feature,oApi:s.internal,oStdClasses:s.classes, +oPagination:s.pager});h.extend(m.ext.classes,{sTable:"dataTable",sNoFooter:"no-footer",sPageButton:"paginate_button",sPageButtonActive:"current",sPageButtonDisabled:"disabled",sStripeOdd:"odd",sStripeEven:"even",sRowEmpty:"dataTables_empty",sWrapper:"dataTables_wrapper",sFilter:"dataTables_filter",sInfo:"dataTables_info",sPaging:"dataTables_paginate paging_",sLength:"dataTables_length",sProcessing:"dataTables_processing",sSortAsc:"sorting_asc",sSortDesc:"sorting_desc",sSortable:"sorting",sSortableAsc:"sorting_asc_disabled", +sSortableDesc:"sorting_desc_disabled",sSortableNone:"sorting_disabled",sSortColumn:"sorting_",sFilterInput:"",sLengthSelect:"",sScrollWrapper:"dataTables_scroll",sScrollHead:"dataTables_scrollHead",sScrollHeadInner:"dataTables_scrollHeadInner",sScrollBody:"dataTables_scrollBody",sScrollFoot:"dataTables_scrollFoot",sScrollFootInner:"dataTables_scrollFootInner",sHeaderTH:"",sFooterTH:"",sSortJUIAsc:"",sSortJUIDesc:"",sSortJUI:"",sSortJUIAscAllowed:"",sSortJUIDescAllowed:"",sSortJUIWrapper:"",sSortIcon:"", +sJUIHeader:"",sJUIFooter:""});var Ea="",Ea="",G=Ea+"ui-state-default",ka=Ea+"css_right ui-icon ui-icon-",Xb=Ea+"fg-toolbar ui-toolbar ui-widget-header ui-helper-clearfix";h.extend(m.ext.oJUIClasses,m.ext.classes,{sPageButton:"fg-button ui-button "+G,sPageButtonActive:"ui-state-disabled",sPageButtonDisabled:"ui-state-disabled",sPaging:"dataTables_paginate fg-buttonset ui-buttonset fg-buttonset-multi ui-buttonset-multi paging_",sSortAsc:G+" sorting_asc",sSortDesc:G+" sorting_desc",sSortable:G+" sorting", +sSortableAsc:G+" sorting_asc_disabled",sSortableDesc:G+" sorting_desc_disabled",sSortableNone:G+" sorting_disabled",sSortJUIAsc:ka+"triangle-1-n",sSortJUIDesc:ka+"triangle-1-s",sSortJUI:ka+"carat-2-n-s",sSortJUIAscAllowed:ka+"carat-1-n",sSortJUIDescAllowed:ka+"carat-1-s",sSortJUIWrapper:"DataTables_sort_wrapper",sSortIcon:"DataTables_sort_icon",sScrollHead:"dataTables_scrollHead "+G,sScrollFoot:"dataTables_scrollFoot "+G,sHeaderTH:G,sFooterTH:G,sJUIHeader:Xb+" ui-corner-tl ui-corner-tr",sJUIFooter:Xb+ +" ui-corner-bl ui-corner-br"});var Mb=m.ext.pager;h.extend(Mb,{simple:function(){return["previous","next"]},full:function(){return["first","previous","next","last"]},numbers:function(a,b){return[Aa(a,b)]},simple_numbers:function(a,b){return["previous",Aa(a,b),"next"]},full_numbers:function(a,b){return["first","previous",Aa(a,b),"next","last"]},_numbers:Aa,numbers_length:7});h.extend(!0,m.ext.renderer,{pageButton:{_:function(a,b,c,d,e,f){var g=a.oClasses,j=a.oLanguage.oPaginate,i=a.oLanguage.oAria.paginate|| +{},k,l,m=0,p=function(b,d){var n,r,t,s,v=function(b){Ta(a,b.data.action,true)};n=0;for(r=d.length;n").appendTo(b);p(t,s)}else{k=null;l="";switch(s){case "ellipsis":b.append('');break;case "first":k=j.sFirst;l=s+(e>0?"":" "+g.sPageButtonDisabled);break;case "previous":k=j.sPrevious;l=s+(e>0?"":" "+g.sPageButtonDisabled);break;case "next":k=j.sNext;l=s+(e",{"class":g.sPageButton+" "+l,"aria-controls":a.sTableId,"aria-label":i[s],"data-dt-idx":m,tabindex:a.iTabIndex,id:c===0&&typeof s==="string"?a.sTableId+"_"+s:null}).html(k).appendTo(b);Wa(t,{action:s},v);m++}}}},r;try{r=h(b).find(H.activeElement).data("dt-idx")}catch(n){}p(h(b).empty(),d);r&&h(b).find("[data-dt-idx="+r+"]").focus()}}});h.extend(m.ext.type.detect,[function(a,b){var c= +b.oLanguage.sDecimal;return Za(a,c)?"num"+c:null},function(a){if(a&&!(a instanceof Date)&&(!ac.test(a)||!bc.test(a)))return null;var b=Date.parse(a);return null!==b&&!isNaN(b)||M(a)?"date":null},function(a,b){var c=b.oLanguage.sDecimal;return Za(a,c,!0)?"num-fmt"+c:null},function(a,b){var c=b.oLanguage.sDecimal;return Rb(a,c)?"html-num"+c:null},function(a,b){var c=b.oLanguage.sDecimal;return Rb(a,c,!0)?"html-num-fmt"+c:null},function(a){return M(a)||"string"===typeof a&&-1!==a.indexOf("<")?"html": +null}]);h.extend(m.ext.type.search,{html:function(a){return M(a)?a:"string"===typeof a?a.replace(Ob," ").replace(Ca,""):""},string:function(a){return M(a)?a:"string"===typeof a?a.replace(Ob," "):a}});var Ba=function(a,b,c,d){if(0!==a&&(!a||"-"===a))return-Infinity;b&&(a=Qb(a,b));a.replace&&(c&&(a=a.replace(c,"")),d&&(a=a.replace(d,"")));return 1*a};h.extend(s.type.order,{"date-pre":function(a){return Date.parse(a)||0},"html-pre":function(a){return M(a)?"":a.replace?a.replace(/<.*?>/g,"").toLowerCase(): +a+""},"string-pre":function(a){return M(a)?"":"string"===typeof a?a.toLowerCase():!a.toString?"":a.toString()},"string-asc":function(a,b){return ab?1:0},"string-desc":function(a,b){return ab?-1:0}});db("");h.extend(!0,m.ext.renderer,{header:{_:function(a,b,c,d){h(a.nTable).on("order.dt.DT",function(e,f,g,h){if(a===f){e=c.idx;b.removeClass(c.sSortingClass+" "+d.sSortAsc+" "+d.sSortDesc).addClass(h[e]=="asc"?d.sSortAsc:h[e]=="desc"?d.sSortDesc:c.sSortingClass)}})},jqueryui:function(a, +b,c,d){h("
                                                  ").addClass(d.sSortJUIWrapper).append(b.contents()).append(h("").addClass(d.sSortIcon+" "+c.sSortingClassJUI)).appendTo(b);h(a.nTable).on("order.dt.DT",function(e,f,g,h){if(a===f){e=c.idx;b.removeClass(d.sSortAsc+" "+d.sSortDesc).addClass(h[e]=="asc"?d.sSortAsc:h[e]=="desc"?d.sSortDesc:c.sSortingClass);b.find("span."+d.sSortIcon).removeClass(d.sSortJUIAsc+" "+d.sSortJUIDesc+" "+d.sSortJUI+" "+d.sSortJUIAscAllowed+" "+d.sSortJUIDescAllowed).addClass(h[e]=="asc"?d.sSortJUIAsc: +h[e]=="desc"?d.sSortJUIDesc:c.sSortingClassJUI)}})}}});m.render={number:function(a,b,c,d,e){return{display:function(f){if("number"!==typeof f&&"string"!==typeof f)return f;var g=0>f?"-":"",h=parseFloat(f);if(isNaN(h))return f;f=Math.abs(h);h=parseInt(f,10);f=c?b+(f-h).toFixed(c).substring(2):"";return g+(d||"")+h.toString().replace(/\B(?=(\d{3})+(?!\d))/g,a)+f+(e||"")}}},text:function(){return{display:function(a){return"string"===typeof a?a.replace(//g,">").replace(/"/g,"""): +a}}}};h.extend(m.ext.internal,{_fnExternApiFunc:Nb,_fnBuildAjax:ra,_fnAjaxUpdate:lb,_fnAjaxParameters:ub,_fnAjaxUpdateDraw:vb,_fnAjaxDataSrc:sa,_fnAddColumn:Ga,_fnColumnOptions:la,_fnAdjustColumnSizing:U,_fnVisibleToColumnIndex:$,_fnColumnIndexToVisible:ba,_fnVisbleColumns:ca,_fnGetColumns:aa,_fnColumnTypes:Ia,_fnApplyColumnDefs:ib,_fnHungarianMap:Y,_fnCamelToHungarian:J,_fnLanguageCompat:Fa,_fnBrowserDetect:gb,_fnAddData:N,_fnAddTr:ma,_fnNodeToDataIndex:function(a,b){return b._DT_RowIndex!==k?b._DT_RowIndex: +null},_fnNodeToColumnIndex:function(a,b,c){return h.inArray(c,a.aoData[b].anCells)},_fnGetCellData:B,_fnSetCellData:jb,_fnSplitObjNotation:La,_fnGetObjectDataFn:Q,_fnSetObjectDataFn:R,_fnGetDataMaster:Ma,_fnClearTable:na,_fnDeleteIndex:oa,_fnInvalidate:ea,_fnGetRowElements:Ka,_fnCreateTr:Ja,_fnBuildHead:kb,_fnDrawHead:ga,_fnDraw:O,_fnReDraw:T,_fnAddOptionsHtml:nb,_fnDetectHeader:fa,_fnGetUniqueThs:qa,_fnFeatureHtmlFilter:pb,_fnFilterComplete:ha,_fnFilterCustom:yb,_fnFilterColumn:xb,_fnFilter:wb,_fnFilterCreateSearch:Qa, +_fnEscapeRegex:va,_fnFilterData:zb,_fnFeatureHtmlInfo:sb,_fnUpdateInfo:Cb,_fnInfoMacros:Db,_fnInitialise:ia,_fnInitComplete:ta,_fnLengthChange:Ra,_fnFeatureHtmlLength:ob,_fnFeatureHtmlPaginate:tb,_fnPageChange:Ta,_fnFeatureHtmlProcessing:qb,_fnProcessingDisplay:C,_fnFeatureHtmlTable:rb,_fnScrollDraw:Z,_fnApplyToChildren:I,_fnCalculateColumnWidths:Ha,_fnThrottle:ua,_fnConvertToWidth:Fb,_fnGetWidestNode:Gb,_fnGetMaxLenString:Hb,_fnStringToCss:w,_fnSortFlatten:W,_fnSort:mb,_fnSortAria:Jb,_fnSortListener:Va, +_fnSortAttachListener:Oa,_fnSortingClasses:xa,_fnSortData:Ib,_fnSaveState:ya,_fnLoadState:Kb,_fnSettingsFromNode:za,_fnLog:K,_fnMap:F,_fnBindAction:Wa,_fnCallbackReg:z,_fnCallbackFire:v,_fnLengthOverflow:Sa,_fnRenderer:Pa,_fnDataSource:y,_fnRowAttributes:Na,_fnCalculateEnd:function(){}});h.fn.dataTable=m;m.$=h;h.fn.dataTableSettings=m.settings;h.fn.dataTableExt=m.ext;h.fn.DataTable=function(a){return h(this).dataTable(a).api()};h.each(m,function(a,b){h.fn.DataTable[a]=b});return h.fn.dataTable}); diff --git a/src/demo/manager/src/main/webapp/assets/js/jquery.dcjqaccordion.2.7.js b/src/demo/manager/src/main/webapp/assets/js/jquery.dcjqaccordion.2.7.js new file mode 100644 index 00000000..6cafab04 --- /dev/null +++ b/src/demo/manager/src/main/webapp/assets/js/jquery.dcjqaccordion.2.7.js @@ -0,0 +1,225 @@ +/* + * DC jQuery Vertical Accordion Menu - jQuery vertical accordion menu plugin + * Copyright (c) 2011 Design Chemical + * + * Dual licensed under the MIT and GPL licenses: + * http://www.opensource.org/licenses/mit-license.php + * http://www.gnu.org/licenses/gpl.html + * + */ + +(function($){ + + $.fn.dcAccordion = function(options) { + + //set default options + var defaults = { + classParent : 'dcjq-parent', + classActive : 'active', + classArrow : 'dcjq-icon', + classCount : 'dcjq-count', + classExpand : 'dcjq-current-parent', + eventType : 'click', + hoverDelay : 300, + menuClose : true, + autoClose : true, + autoExpand : false, + speed : 'slow', + saveState : true, + disableLink : true, + showCount : false, +// cookie : 'dcjq-accordion' + }; + + //call in the default otions + var options = $.extend(defaults, options); + + this.each(function(options){ + + var obj = this; + setUpAccordion(); +// if(defaults.saveState == true){ +// checkCookie(defaults.cookie, obj); +// } + if(defaults.autoExpand == true){ + $('li.'+defaults.classExpand+' > a').addClass(defaults.classActive); + } + resetAccordion(); + + if(defaults.eventType == 'hover'){ + + var config = { + sensitivity: 2, // number = sensitivity threshold (must be 1 or higher) + interval: defaults.hoverDelay, // number = milliseconds for onMouseOver polling interval + over: linkOver, // function = onMouseOver callback (REQUIRED) + timeout: defaults.hoverDelay, // number = milliseconds delay before onMouseOut + out: linkOut // function = onMouseOut callback (REQUIRED) + }; + + $('li a',obj).hoverIntent(config); + var configMenu = { + sensitivity: 2, // number = sensitivity threshold (must be 1 or higher) + interval: 1000, // number = milliseconds for onMouseOver polling interval + over: menuOver, // function = onMouseOver callback (REQUIRED) + timeout: 1000, // number = milliseconds delay before onMouseOut + out: menuOut // function = onMouseOut callback (REQUIRED) + }; + + $(obj).hoverIntent(configMenu); + + // Disable parent links + if(defaults.disableLink == true){ + + $('li a',obj).click(function(e){ + if($(this).siblings('ul').length >0){ + e.preventDefault(); + } + }); + } + + } else { + + $('li a',obj).click(function(e){ + + $activeLi = $(this).parent('li'); + $parentsLi = $activeLi.parents('li'); + $parentsUl = $activeLi.parents('ul'); + + // Prevent browsing to link if has child links + if(defaults.disableLink == true){ + if($(this).siblings('ul').length >0){ + e.preventDefault(); + } + } + + // Auto close sibling menus + if(defaults.autoClose == true){ + autoCloseAccordion($parentsLi, $parentsUl); + } + + if ($('> ul',$activeLi).is(':visible')){ + $('ul',$activeLi).slideUp(defaults.speed); + $('a',$activeLi).removeClass(defaults.classActive); + } else { + $(this).siblings('ul').slideToggle(defaults.speed); + $('> a',$activeLi).addClass(defaults.classActive); + } + +// // Write cookie if save state is on +// if(defaults.saveState == true){ +// createCookie(defaults.cookie, obj); +// } + }); + } + + // Set up accordion + function setUpAccordion(){ + + $arrow = ''; + var classParentLi = defaults.classParent+'-li'; + $('> ul',obj).show(); + $('li',obj).each(function(){ + if($('> ul',this).length > 0){ + $(this).addClass(classParentLi); + $('> a',this).addClass(defaults.classParent).append($arrow); + } + }); + $('> ul',obj).hide(); + if(defaults.showCount == true){ + $('li.'+classParentLi,obj).each(function(){ + if(defaults.disableLink == true){ + var getCount = parseInt($('ul a:not(.'+defaults.classParent+')',this).length); + } else { + var getCount = parseInt($('ul a',this).length); + } + $('> a',this).append(' '+getCount+''); + }); + } + } + + function linkOver(){ + + $activeLi = $(this).parent('li'); + $parentsLi = $activeLi.parents('li'); + $parentsUl = $activeLi.parents('ul'); + + // Auto close sibling menus + if(defaults.autoClose == true){ + autoCloseAccordion($parentsLi, $parentsUl); + + } + + if ($('> ul',$activeLi).is(':visible')){ + $('ul',$activeLi).slideUp(defaults.speed); + $('a',$activeLi).removeClass(defaults.classActive); + } else { + $(this).siblings('ul').slideToggle(defaults.speed); + $('> a',$activeLi).addClass(defaults.classActive); + } + + // Write cookie if save state is on + if(defaults.saveState == true){ + createCookie(defaults.cookie, obj); + } + } + + function linkOut(){ + } + + function menuOver(){ + } + + function menuOut(){ + + if(defaults.menuClose == true){ + $('ul',obj).slideUp(defaults.speed); + // Reset active links + $('a',obj).removeClass(defaults.classActive); + createCookie(defaults.cookie, obj); + } + } + + // Auto-Close Open Menu Items + function autoCloseAccordion($parentsLi, $parentsUl){ + $('ul',obj).not($parentsUl).slideUp(defaults.speed); + // Reset active links + $('a',obj).removeClass(defaults.classActive); + $('> a',$parentsLi).addClass(defaults.classActive); + } + // Reset accordion using active links + function resetAccordion(){ + $('ul',obj).hide(); + $allActiveLi = $('a.'+defaults.classActive,obj); + $allActiveLi.siblings('ul').show(); + } + }); + + // Retrieve cookie value and set active items +// function checkCookie(cookieId, obj){ +// var cookieVal = $.cookie(cookieId); +// if(cookieVal != null){ +// // create array from cookie string +// var activeArray = cookieVal.split(','); +// $.each(activeArray, function(index,value){ +// var $cookieLi = $('li:eq('+value+')',obj); +// $('> a',$cookieLi).addClass(defaults.classActive); +// var $parentsLi = $cookieLi.parents('li'); +// $('> a',$parentsLi).addClass(defaults.classActive); +// }); +// } +// } + + // Write cookie +// function createCookie(cookieId, obj){ +// var activeIndex = []; +// // Create array of active items index value +// $('li a.'+defaults.classActive,obj).each(function(i){ +// var $arrayItem = $(this).parent('li'); +// var itemIndex = $('li',obj).index($arrayItem); +// activeIndex.push(itemIndex); +// }); +// // Store in cookie +// $.cookie(cookieId, activeIndex, { path: '/' }); +// } + }; +})(jQuery); \ No newline at end of file diff --git a/src/demo/manager/src/main/webapp/assets/js/jquery.form-validator.min.js b/src/demo/manager/src/main/webapp/assets/js/jquery.form-validator.min.js new file mode 100644 index 00000000..f01dbfca --- /dev/null +++ b/src/demo/manager/src/main/webapp/assets/js/jquery.form-validator.min.js @@ -0,0 +1,9 @@ +/** File generated by Grunt -- do not modify + * JQUERY-FORM-VALIDATOR + * + * @version 2.3.26 + * @website http://formvalidator.net/ + * @author Victor Jonsson, http://victorjonsson.se + * @license MIT + */ +!function(a,b){"function"==typeof define&&define.amd?define(["jquery"],function(a){return b(a)}):"object"==typeof exports?module.exports=b(require("jquery")):b(jQuery)}(this,function(a){!function(a,b){"use strict";function c(b){b&&"custom"===b.errorMessagePosition&&"function"==typeof b.errorMessageCustom&&(a.formUtils.warn("Use of deprecated function errorMessageCustom, use config.submitErrorMessageCallback instead"),b.submitErrorMessageCallback=function(a,c){b.errorMessageCustom(a,b.language.errorTitle,c,b)})}function d(b){if(b.errorMessagePosition&&"object"==typeof b.errorMessagePosition){a.formUtils.warn("Deprecated use of config parameter errorMessagePosition, use config.submitErrorMessageCallback instead");var c=b.errorMessagePosition;b.errorMessagePosition="top",b.submitErrorMessageCallback=function(){return c}}}function e(b){var c=b.find("[data-validation-if-checked]");c.length&&a.formUtils.warn('Detected use of attribute "data-validation-if-checked" which is deprecated. Use "data-validation-depends-on" provided by module "logic"'),c.on("beforeValidation",function(){var c=a(this),d=c.valAttr("if-checked"),e=a('input[name="'+d+'"]',b),f=e.is(":checked"),g=(a.formUtils.getValue(e)||"").toString(),h=c.valAttr("if-checked-value");(!f||h&&h!==g)&&c.valAttr("skipped",!0)})}a.fn.validateForm=function(b,c){return a.formUtils.warn("Use of deprecated function $.validateForm, use $.isValid instead"),this.isValid(b,c,!0)},a(window).on("validatorsLoaded formValidationSetup",function(b,f,g){f||(f=a("form")),c(g),d(g),e(f)})}(a),function(a){"use strict";var b={resolveErrorMessage:function(a,b,c,d,e){var f=d.validationErrorMsgAttribute+"-"+c.replace("validate_",""),g=a.attr(f);return g||(g=a.attr(d.validationErrorMsgAttribute),g||(g="function"!=typeof b.errorMessageKey?e[b.errorMessageKey]:e[b.errorMessageKey(d)],g||(g=b.errorMessage))),g},getParentContainer:function(b){if(b.valAttr("error-msg-container"))return a(b.valAttr("error-msg-container"));var c=b.parent();if(!c.hasClass("form-group")&&!c.closest("form").hasClass("form-horizontal")){var d=c.closest(".form-group");if(d.length)return d.eq(0)}return c},applyInputErrorStyling:function(a,b){a.addClass(b.errorElementClass).removeClass("valid"),this.getParentContainer(a).addClass(b.inputParentClassOnError).removeClass(b.inputParentClassOnSuccess),""!==b.borderColorOnError&&a.css("border-color",b.borderColorOnError)},applyInputSuccessStyling:function(a,b){a.addClass("valid"),this.getParentContainer(a).addClass(b.inputParentClassOnSuccess)},removeInputStylingAndMessage:function(a,c){a.removeClass("valid").removeClass(c.errorElementClass).css("border-color","");var d=b.getParentContainer(a);if(d.removeClass(c.inputParentClassOnError).removeClass(c.inputParentClassOnSuccess),"function"==typeof c.inlineErrorMessageCallback){var e=c.inlineErrorMessageCallback(a,!1,c);e&&e.html("")}else d.find("."+c.errorMessageClass).remove()},removeAllMessagesAndStyling:function(c,d){if("function"==typeof d.submitErrorMessageCallback){var e=d.submitErrorMessageCallback(c,d);e&&e.html("")}else c.find("."+d.errorMessageClass+".alert").remove();c.find("."+d.errorElementClass+",.valid").each(function(){b.removeInputStylingAndMessage(a(this),d)})},setInlineMessage:function(b,c,d){this.applyInputErrorStyling(b,d);var e,f=document.getElementById(b.attr("name")+"_err_msg"),g=!1,h=function(d){a.formUtils.$win.trigger("validationErrorDisplay",[b,d]),d.html(c)},i=function(){var f=!1;g.find("."+d.errorMessageClass).each(function(){return this.inputReferer===b[0]?(f=a(this),!1):void 0}),f?c?h(f):f.remove():""!==c&&(e=a('
                                                  '),h(e),e[0].inputReferer=b[0],g.prepend(e))};if(f)a.formUtils.warn("Using deprecated element reference "+f.id),g=a(f),i();else if("function"==typeof d.inlineErrorMessageCallback){if(g=d.inlineErrorMessageCallback(b,c,d),!g)return;i()}else{var j=this.getParentContainer(b);e=j.find("."+d.errorMessageClass+".help-block"),0===e.length&&(e=a("").addClass("help-block").addClass(d.errorMessageClass),e.appendTo(j)),h(e)}},setMessageInTopOfForm:function(b,c,d,e){var f='
                                                  {errorTitle}
                                                    {fields}
                                                  ',g=!1;if("function"!=typeof d.submitErrorMessageCallback||(g=d.submitErrorMessageCallback(b,c,d))){var h={errorTitle:e.errorTitle,fields:"",errorMessageClass:d.errorMessageClass};a.each(c,function(a,b){h.fields+="
                                                • "+b+"
                                                • "}),a.each(h,function(a,b){f=f.replace("{"+a+"}",b)}),g?g.html(f):b.children().eq(0).before(a(f))}}};a.formUtils=a.extend(a.formUtils||{},{dialogs:b})}(a),function(a,b,c){"use strict";var d=0;a.fn.validateOnBlur=function(b,c){var d=this,e=this.find("*[data-validation]");return e.each(function(){var e=a(this);if(e.is("[type=radio]")){var f=d.find('[type=radio][name="'+e.attr("name")+'"]');f.bind("blur.validation",function(){e.validateInputOnBlur(b,c,!0,"blur")}),c.validateCheckboxRadioOnClick&&f.bind("click.validation",function(){e.validateInputOnBlur(b,c,!0,"click")})}}),e.bind("blur.validation",function(){a(this).validateInputOnBlur(b,c,!0,"blur")}),c.validateCheckboxRadioOnClick&&this.find("input[type=checkbox][data-validation],input[type=radio][data-validation]").bind("click.validation",function(){a(this).validateInputOnBlur(b,c,!0,"click")}),this},a.fn.validateOnEvent=function(b,c){var d="FORM"===this[0].nodeName?this.find("*[data-validation-event]"):this;return d.each(function(){var d=a(this),e=d.valAttr("event");e&&d.unbind(e+".validation").bind(e+".validation",function(d){9!==(d||{}).keyCode&&a(this).validateInputOnBlur(b,c,!0,e)})}),this},a.fn.showHelpOnFocus=function(b){return b||(b="data-validation-help"),this.find(".has-help-txt").valAttr("has-keyup-event",!1).removeClass("has-help-txt"),this.find("textarea,input").each(function(){var c=a(this),e="jquery_form_help_"+ ++d,f=c.attr(b);f&&c.addClass("has-help-txt").unbind("focus.help").bind("focus.help",function(){var b=c.parent().find("."+e);0===b.length&&(b=a("").addClass(e).addClass("help").addClass("help-block").text(f).hide(),c.after(b)),b.fadeIn()}).unbind("blur.help").bind("blur.help",function(){a(this).parent().find("."+e).fadeOut("slow")})}),this},a.fn.validate=function(b,c,d){var e=a.extend({},a.formUtils.LANG,d||{});this.each(function(){var d=a(this),f=d.closest("form").get(0).validationConfig||{};d.one("validation",function(a,c){"function"==typeof b&&b(c,this,a)}),d.validateInputOnBlur(e,a.extend({},f,c||{}),!0)})},a.fn.willPostponeValidation=function(){return(this.valAttr("suggestion-nr")||this.valAttr("postpone")||this.hasClass("hasDatepicker"))&&!b.postponedValidation},a.fn.validateInputOnBlur=function(c,d,e,f){if(a.formUtils.eventType=f,this.willPostponeValidation()){var g=this,h=this.valAttr("postpone")||200;return b.postponedValidation=function(){g.validateInputOnBlur(c,d,e,f),b.postponedValidation=!1},setTimeout(function(){b.postponedValidation&&b.postponedValidation()},h),this}c=a.extend({},a.formUtils.LANG,c||{}),a.formUtils.dialogs.removeInputStylingAndMessage(this,d);var i=this,j=i.closest("form"),k=a.formUtils.validateInput(i,c,d,j,f);return e&&i.unbind("keyup.validation"),k.shouldChangeDisplay&&(k.isValid?a.formUtils.dialogs.applyInputSuccessStyling(i,d):a.formUtils.dialogs.setInlineMessage(i,k.errorMsg,d)),!k.isValid&&e&&i.bind("keyup.validation",function(b){9!==b.keyCode&&a(this).validateInputOnBlur(c,d,!1,"keyup")}),this},a.fn.valAttr=function(a,b){return b===c?this.attr("data-validation-"+a):b===!1||null===b?this.removeAttr("data-validation-"+a):(a=a.length>0?"-"+a:"",this.attr("data-validation"+a,b))},a.fn.isValid=function(b,c,d){if(a.formUtils.isLoadingModules){var e=this;return setTimeout(function(){e.isValid(b,c,d)},200),null}c=a.extend({},a.formUtils.defaultConfig(),c||{}),b=a.extend({},a.formUtils.LANG,b||{}),d=d!==!1,a.formUtils.errorDisplayPreventedWhenHalted&&(delete a.formUtils.errorDisplayPreventedWhenHalted,d=!1),a.formUtils.isValidatingEntireForm=!0,a.formUtils.haltValidation=!1;var f=function(b,e){a.inArray(b,h)<0&&h.push(b),i.push(e),e.attr("current-error",b),d&&a.formUtils.dialogs.applyInputErrorStyling(e,c)},g=[],h=[],i=[],j=this,k=function(b,d){return"submit"===d||"button"===d||"reset"===d?!0:a.inArray(b,c.ignore||[])>-1};if(d&&a.formUtils.dialogs.removeAllMessagesAndStyling(j,c),j.find("input,textarea,select").filter(':not([type="submit"],[type="button"])').each(function(){var d=a(this),e=d.attr("type"),h="radio"===e||"checkbox"===e,i=d.attr("name");if(!k(i,e)&&(!h||a.inArray(i,g)<0)){h&&g.push(i);var l=a.formUtils.validateInput(d,b,c,j,"submit");l.isValid?l.isValid&&l.shouldChangeDisplay&&(d.valAttr("current-error",!1),a.formUtils.dialogs.applyInputSuccessStyling(d,c)):f(l.errorMsg,d)}}),"function"==typeof c.onValidate){var l=c.onValidate(j);a.isArray(l)?a.each(l,function(a,b){f(b.message,b.element)}):l&&l.element&&l.message&&f(l.message,l.element)}return a.formUtils.isValidatingEntireForm=!1,!a.formUtils.haltValidation&&i.length>0?(d&&("top"===c.errorMessagePosition?a.formUtils.dialogs.setMessageInTopOfForm(j,h,c,b):a.each(i,function(b,d){a.formUtils.dialogs.setInlineMessage(d,d.attr("current-error"),c)}),c.scrollToTopOnError&&a.formUtils.$win.scrollTop(j.offset().top-20)),!1):(!d&&a.formUtils.haltValidation&&(a.formUtils.errorDisplayPreventedWhenHalted=!0),!a.formUtils.haltValidation)},a.fn.restrictLength=function(b){return new a.formUtils.lengthRestriction(this,b),this},a.fn.addSuggestions=function(b){var c=!1;return this.find("input").each(function(){var d=a(this);c=a.split(d.attr("data-suggestions")),c.length>0&&!d.hasClass("has-suggestions")&&(a.formUtils.suggest(d,c,b),d.addClass("has-suggestions"))}),this}}(a,window),function(a){"use strict";a.formUtils=a.extend(a.formUtils||{},{isLoadingModules:!1,loadedModules:{},loadModules:function(b,c,d){if(a.formUtils.isLoadingModules)return void setTimeout(function(){a.formUtils.loadModules(b,c,d)},10);var e=!1,f=function(b,c){var f=a.split(b),g=f.length,h=function(){g--,0===g&&(a.formUtils.isLoadingModules=!1,d&&e&&"function"==typeof d&&d())};g>0&&(a.formUtils.isLoadingModules=!0);var i="?_="+(new Date).getTime(),j=document.getElementsByTagName("head")[0]||document.getElementsByTagName("body")[0];a.each(f,function(b,d){if(d=a.trim(d),0===d.length)h();else{var f=c+d+(".js"===d.slice(-3)?"":".js"),g=document.createElement("SCRIPT");f in a.formUtils.loadedModules?h():(a.formUtils.loadedModules[f]=1,e=!0,g.type="text/javascript",g.onload=h,g.src=f+(".dev.js"===f.slice(-7)?i:""),g.onerror=function(){a.formUtils.warn("Unable to load form validation module "+f)},g.onreadystatechange=function(){"complete"!==this.readyState&&"loaded"!==this.readyState||(h(),this.onload=null,this.onreadystatechange=null)},j.appendChild(g))}})};if(c)f(b,c);else{var g=function(){var c=!1;return a('script[src*="form-validator"]').each(function(){return c=this.src.substr(0,this.src.lastIndexOf("/"))+"/","/"===c&&(c=""),!1}),c!==!1?(f(b,c),!0):!1};g()||a(g)}}})}(a),function(a){"use strict";a.split=function(b,c){if("function"!=typeof c){if(!b)return[];var d=[];return a.each(b.split(c?c:/[,|\-\s]\s*/g),function(b,c){c=a.trim(c),c.length&&d.push(c)}),d}b&&a.each(b.split(/[,|\-\s]\s*/g),function(b,d){return d=a.trim(d),d.length?c(d,b):void 0})},a.validate=function(b){var c=a.extend(a.formUtils.defaultConfig(),{form:"form",validateOnEvent:!1,validateOnBlur:!0,validateCheckboxRadioOnClick:!0,showHelpOnFocus:!0,addSuggestions:!0,modules:"",onModulesLoaded:null,language:!1,onSuccess:!1,onError:!1,onElementValidate:!1});if(b=a.extend(c,b||{}),b.lang&&"en"!==b.lang){var d="lang/"+b.lang+".js";b.modules+=b.modules.length?","+d:d}a(b.form).each(function(c,d){d.validationConfig=b;var e=a(d);e.trigger("formValidationSetup",[e,b]),e.find(".has-help-txt").unbind("focus.validation").unbind("blur.validation"),e.removeClass("has-validation-callback").unbind("submit.validation").unbind("reset.validation").find("input[data-validation],textarea[data-validation]").unbind("blur.validation"),e.bind("submit.validation",function(c){var d=a(this),e=function(){return c.stopImmediatePropagation(),!1};if(a.formUtils.haltValidation)return e();if(a.formUtils.isLoadingModules)return setTimeout(function(){d.trigger("submit.validation")},200),e();var f=d.isValid(b.language,b);if(a.formUtils.haltValidation)return e();if(!f||"function"!=typeof b.onSuccess)return f||"function"!=typeof b.onError?f?!0:e():(b.onError(d),e());var g=b.onSuccess(d);return g===!1?e():void 0}).bind("reset.validation",function(){a.formUtils.dialogs.removeAllMessagesAndStyling(e,b)}).addClass("has-validation-callback"),b.showHelpOnFocus&&e.showHelpOnFocus(),b.addSuggestions&&e.addSuggestions(),b.validateOnBlur&&(e.validateOnBlur(b.language,b),e.bind("html5ValidationAttrsFound",function(){e.validateOnBlur(b.language,b)})),b.validateOnEvent&&e.validateOnEvent(b.language,b)}),""!==b.modules&&a.formUtils.loadModules(b.modules,!1,function(){"function"==typeof b.onModulesLoaded&&b.onModulesLoaded();var c="string"==typeof b.form?a(b.form):b.form;a.formUtils.$win.trigger("validatorsLoaded",[c,b])})}}(a),function(a,b){"use strict";var c=a(b);a.formUtils=a.extend(a.formUtils||{},{$win:c,defaultConfig:function(){return{ignore:[],errorElementClass:"error",borderColorOnError:"#b94a48",errorMessageClass:"form-error",validationRuleAttribute:"data-validation",validationErrorMsgAttribute:"data-validation-error-msg",errorMessagePosition:"inline",errorMessageTemplate:{container:'
                                                  {messages}
                                                  ',messages:"{errorTitle}
                                                    {fields}
                                                  ",field:"
                                                • {msg}
                                                • "},scrollToTopOnError:!0,dateFormat:"yyyy-mm-dd",addValidClassOnAll:!1,decimalSeparator:".",inputParentClassOnError:"has-error",inputParentClassOnSuccess:"has-success",validateHiddenInputs:!1,inlineErrorMessageCallback:!1,submitErrorMessageCallback:!1}},validators:{},_events:{load:[],valid:[],invalid:[]},haltValidation:!1,isValidatingEntireForm:!1,addValidator:function(a){var b=0===a.name.indexOf("validate_")?a.name:"validate_"+a.name;void 0===a.validateOnKeyUp&&(a.validateOnKeyUp=!0),this.validators[b]=a},warn:function(a){"console"in b?"function"==typeof b.console.warn?b.console.warn(a):"function"==typeof b.console.log&&b.console.log(a):alert(a)},getValue:function(a,b){var c=b?b.find(a):a;if(c.length>0){var d=c.eq(0).attr("type");return"radio"===d||"checkbox"===d?c.filter(":checked").val():c.val()}return!1},validateInput:function(b,c,d,e,f){d=d||a.formUtils.defaultConfig(),c=c||a.formUtils.LANG;var g=this.getValue(b);b.valAttr("skipped",!1).one("beforeValidation",function(){(b.attr("disabled")||!b.is(":visible")&&!d.validateHiddenInputs)&&b.valAttr("skipped",1)}).trigger("beforeValidation",[g,d,c]);var h="true"===b.valAttr("optional"),i=!g&&h,j=b.attr(d.validationRuleAttribute),k=!0,l="",m={isValid:!0,shouldChangeDisplay:!0,errorMsg:""};if(!j||i||b.valAttr("skipped"))return m.shouldChangeDisplay=d.addValidClassOnAll,m;var n=b.valAttr("ignore");return n&&a.each(n.split(""),function(a,b){g=g.replace(new RegExp("\\"+b),"")}),a.split(j,function(h){0!==h.indexOf("validate_")&&(h="validate_"+h);var i=a.formUtils.validators[h];if(!i)throw new Error('Using undefined validator "'+h+'". Maybe you have forgotten to load the module that "'+h+'" belongs to?');return"validate_checkbox_group"===h&&(b=e.find('[name="'+b.attr("name")+'"]:eq(0)')),("keyup"!==f||i.validateOnKeyUp)&&(k=i.validatorFunction(g,b,d,c,e)),k?void 0:(l=a.formUtils.dialogs.resolveErrorMessage(b,i,h,d,c),!1)}," "),k===!1?(b.trigger("validation",!1),m.errorMsg=l,m.isValid=!1,m.shouldChangeDisplay=!0):null===k?m.shouldChangeDisplay=!1:(b.trigger("validation",!0),m.shouldChangeDisplay=!0),"function"==typeof d.onElementValidate&&null!==l&&d.onElementValidate(m.isValid,b,e,l),b.trigger("afterValidation",[m,f]),m},parseDate:function(b,c,d){var e,f,g,h,i=c.replace(/[a-zA-Z]/gi,"").substring(0,1),j="^",k=c.split(i||null);if(a.each(k,function(a,b){j+=(a>0?"\\"+i:"")+"(\\d{"+b.length+"})"}),j+="$",d){var l=[];a.each(b.split(i),function(a,b){1===b.length&&(b="0"+b),l.push(b)}),b=l.join(i)}if(e=b.match(new RegExp(j)),null===e)return!1;var m=function(b,c,d){for(var e=0;e28&&(h%4!==0||h%100===0&&h%400!==0)||2===g&&f>29&&(h%4===0||h%100!==0&&h%400===0)||g>12||0===g?!1:this.isShortMonth(g)&&f>30||!this.isShortMonth(g)&&f>31||0===f?!1:[h,g,f]},parseDateInt:function(a){return 0===a.indexOf("0")&&(a=a.replace("0","")),parseInt(a,10)},isShortMonth:function(a){return a%2===0&&7>a||a%2!==0&&a>7},lengthRestriction:function(b,c){var d=parseInt(c.text(),10),e=0,f=function(){var a=b.val().length;if(a>d){var f=b.scrollTop();b.val(b.val().substring(0,d)),b.scrollTop(f)}e=d-a,0>e&&(e=0),c.text(e)};a(b).bind("keydown keyup keypress focus blur",f).bind("cut paste",function(){setTimeout(f,100)}),a(document).bind("ready",f)},numericRangeCheck:function(b,c){var d=a.split(c),e=parseInt(c.substr(3),10);return 1===d.length&&-1===c.indexOf("min")&&-1===c.indexOf("max")&&(d=[c,c]),2===d.length&&(bparseInt(d[1],10))?["out",d[0],d[1]]:0===c.indexOf("min")&&e>b?["min",e]:0===c.indexOf("max")&&b>e?["max",e]:["ok"]},_numSuggestionElements:0,_selectedSuggestion:null,_previousTypedVal:null,suggest:function(b,d,e){var f={css:{maxHeight:"150px",background:"#FFF",lineHeight:"150%",textDecoration:"underline",overflowX:"hidden",overflowY:"auto",border:"#CCC solid 1px",borderTop:"none",cursor:"pointer"},activeSuggestionCSS:{background:"#E9E9E9"}},g=function(a,b){var c=b.offset();a.css({width:b.outerWidth(),left:c.left+"px",top:c.top+b.outerHeight()+"px"})};e&&a.extend(f,e),f.css.position="absolute",f.css["z-index"]=9999,b.attr("autocomplete","off"),0===this._numSuggestionElements&&c.bind("resize",function(){a(".jquery-form-suggestions").each(function(){var b=a(this),c=b.attr("data-suggest-container");g(b,a(".suggestions-"+c).eq(0))})}),this._numSuggestionElements++;var h=function(b){var c=b.valAttr("suggestion-nr");a.formUtils._selectedSuggestion=null,a.formUtils._previousTypedVal=null,a(".jquery-form-suggestion-"+c).fadeOut("fast")};return b.data("suggestions",d).valAttr("suggestion-nr",this._numSuggestionElements).unbind("focus.suggest").bind("focus.suggest",function(){a(this).trigger("keyup"),a.formUtils._selectedSuggestion=null}).unbind("keyup.suggest").bind("keyup.suggest",function(){var c=a(this),d=[],e=a.trim(c.val()).toLocaleLowerCase();if(e!==a.formUtils._previousTypedVal){a.formUtils._previousTypedVal=e;var i=!1,j=c.valAttr("suggestion-nr"),k=a(".jquery-form-suggestion-"+j);if(k.scrollTop(0),""!==e){var l=e.length>2;a.each(c.data("suggestions"),function(a,b){var c=b.toLocaleLowerCase();return c===e?(d.push(""+b+""),i=!0,!1):void((0===c.indexOf(e)||l&&c.indexOf(e)>-1)&&d.push(b.replace(new RegExp(e,"gi"),"$&")))})}i||0===d.length&&k.length>0?k.hide():d.length>0&&0===k.length?(k=a("
                                                  ").css(f.css).appendTo("body"),b.addClass("suggestions-"+j),k.attr("data-suggest-container",j).addClass("jquery-form-suggestions").addClass("jquery-form-suggestion-"+j)):d.length>0&&!k.is(":visible")&&k.show(),d.length>0&&e.length!==d[0].length&&(g(k,c),k.html(""),a.each(d,function(b,d){a("
                                                  ").append(d).css({overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap",padding:"5px"}).addClass("form-suggest-element").appendTo(k).click(function(){c.focus(),c.val(a(this).text()),c.trigger("change"),h(c)})}))}}).unbind("keydown.validation").bind("keydown.validation",function(b){var c,d,e=b.keyCode?b.keyCode:b.which,g=a(this);if(13===e&&null!==a.formUtils._selectedSuggestion){if(c=g.valAttr("suggestion-nr"),d=a(".jquery-form-suggestion-"+c),d.length>0){var i=d.find("div").eq(a.formUtils._selectedSuggestion).text();g.val(i),g.trigger("change"),h(g),b.preventDefault()}}else{c=g.valAttr("suggestion-nr"),d=a(".jquery-form-suggestion-"+c);var j=d.children();if(j.length>0&&a.inArray(e,[38,40])>-1){38===e?(null===a.formUtils._selectedSuggestion?a.formUtils._selectedSuggestion=j.length-1:a.formUtils._selectedSuggestion--,a.formUtils._selectedSuggestion<0&&(a.formUtils._selectedSuggestion=j.length-1)):40===e&&(null===a.formUtils._selectedSuggestion?a.formUtils._selectedSuggestion=0:a.formUtils._selectedSuggestion++,a.formUtils._selectedSuggestion>j.length-1&&(a.formUtils._selectedSuggestion=0));var k=d.innerHeight(),l=d.scrollTop(),m=d.children().eq(0).outerHeight(),n=m*a.formUtils._selectedSuggestion;return(l>n||n>l+k)&&d.scrollTop(n),j.removeClass("active-suggestion").css("background","none").eq(a.formUtils._selectedSuggestion).addClass("active-suggestion").css(f.activeSuggestionCSS),b.preventDefault(),!1}}}).unbind("blur.suggest").bind("blur.suggest",function(){h(a(this))}),b},LANG:{errorTitle:"Form submission failed!",requiredField:"This is a required field",requiredFields:"You have not answered all required fields",badTime:"You have not given a correct time",badEmail:"You have not given a correct e-mail address",badTelephone:"You have not given a correct phone number",badSecurityAnswer:"You have not given a correct answer to the security question",badDate:"You have not given a correct date",lengthBadStart:"The input value must be between ",lengthBadEnd:" characters",lengthTooLongStart:"The input value is longer than ",lengthTooShortStart:"The input value is shorter than ",notConfirmed:"Input values could not be confirmed",badDomain:"Incorrect domain value",badUrl:"The input value is not a correct URL",badCustomVal:"The input value is incorrect",andSpaces:" and spaces ",badInt:"The input value was not a correct number",badSecurityNumber:"Your social security number was incorrect",badUKVatAnswer:"Incorrect UK VAT Number",badUKNin:"Incorrect UK NIN",badUKUtr:"Incorrect UK UTR Number",badStrength:"The password isn't strong enough",badNumberOfSelectedOptionsStart:"You have to choose at least ",badNumberOfSelectedOptionsEnd:" answers",badAlphaNumeric:"The input value can only contain alphanumeric characters ",badAlphaNumericExtra:" and ",wrongFileSize:"The file you are trying to upload is too large (max %s)",wrongFileType:"Only files of type %s is allowed",groupCheckedRangeStart:"Please choose between ",groupCheckedTooFewStart:"Please choose at least ",groupCheckedTooManyStart:"Please choose a maximum of ",groupCheckedEnd:" item(s)",badCreditCard:"The credit card number is not correct",badCVV:"The CVV number was not correct",wrongFileDim:"Incorrect image dimensions,",imageTooTall:"the image can not be taller than",imageTooWide:"the image can not be wider than",imageTooSmall:"the image was too small",min:"min",max:"max",imageRatioNotAccepted:"Image ratio is not be accepted",badBrazilTelephoneAnswer:"The phone number entered is invalid",badBrazilCEPAnswer:"The CEP entered is invalid",badBrazilCPFAnswer:"The CPF entered is invalid",badPlPesel:"The PESEL entered is invalid",badPlNip:"The NIP entered is invalid",badPlRegon:"The REGON entered is invalid",badreCaptcha:"Please confirm that you are not a bot"}})}(a,window),function(a){a.formUtils.addValidator({name:"email",validatorFunction:function(b){var c=b.toLowerCase().split("@"),d=c[0],e=c[1];if(d&&e){if(0===d.indexOf('"')){var f=d.length;if(d=d.replace(/\"/g,""),d.length!==f-2)return!1}return a.formUtils.validators.validate_domain.validatorFunction(c[1])&&0!==d.indexOf(".")&&"."!==d.substring(d.length-1,d.length)&&-1===d.indexOf("..")&&!/[^\w\+\.\-\#\-\_\~\!\$\&\'\(\)\*\+\,\;\=\:]/.test(d)}return!1},errorMessage:"",errorMessageKey:"badEmail"}),a.formUtils.addValidator({name:"domain",validatorFunction:function(a){return a.length>0&&a.length<=253&&!/[^a-zA-Z0-9]/.test(a.slice(-2))&&!/[^a-zA-Z0-9]/.test(a.substr(0,1))&&!/[^a-zA-Z0-9\.\-]/.test(a)&&1===a.split("..").length&&a.split(".").length>1},errorMessage:"",errorMessageKey:"badDomain"}),a.formUtils.addValidator({name:"required",validatorFunction:function(b,c,d,e,f){switch(c.attr("type")){case"checkbox":return c.is(":checked");case"radio":return f.find('input[name="'+c.attr("name")+'"]').filter(":checked").length>0;default:return""!==a.trim(b)}},errorMessage:"",errorMessageKey:function(a){return"top"===a.errorMessagePosition||"function"==typeof a.errorMessagePosition?"requiredFields":"requiredField"}}),a.formUtils.addValidator({name:"length",validatorFunction:function(b,c,d,e){var f=c.valAttr("length"),g=c.attr("type");if(void 0===f)return alert('Please add attribute "data-validation-length" to '+c[0].nodeName+" named "+c.attr("name")),!0;var h,i="file"===g&&void 0!==c.get(0).files?c.get(0).files.length:b.length,j=a.formUtils.numericRangeCheck(i,f);switch(j[0]){case"out":this.errorMessage=e.lengthBadStart+f+e.lengthBadEnd,h=!1;break;case"min":this.errorMessage=e.lengthTooShortStart+j[1]+e.lengthBadEnd,h=!1;break;case"max":this.errorMessage=e.lengthTooLongStart+j[1]+e.lengthBadEnd,h=!1;break;default:h=!0}return h},errorMessage:"",errorMessageKey:""}),a.formUtils.addValidator({name:"url",validatorFunction:function(b){var c=/^(https?|ftp):\/\/((((\w|-|\.|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:)*@)?(((\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5]))|((([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])(\w|-|\.|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.)+(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])(\w|-|\.|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.?)(:\d*)?)(\/(((\w|-|\.|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)+(\/((\w|-|\.|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)*)*)?)?(\?((([a-z]|\d|\[|\]|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)|[\uE000-\uF8FF]|\/|\?)*)?(\#(((\w|-|\.|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)|\/|\?)*)?$/i;if(c.test(b)){var d=b.split("://")[1],e=d.indexOf("/");return e>-1&&(d=d.substr(0,e)),a.formUtils.validators.validate_domain.validatorFunction(d)}return!1},errorMessage:"",errorMessageKey:"badUrl"}),a.formUtils.addValidator({name:"number",validatorFunction:function(a,b,c){if(""!==a){var d,e,f=b.valAttr("allowing")||"",g=b.valAttr("decimal-separator")||c.decimalSeparator,h=!1,i=b.valAttr("step")||"",j=!1,k=b.attr("data-sanitize")||"",l=k.match(/(^|[\s])numberFormat([\s]|$)/i);if(l){if(!window.numeral)throw new ReferenceError("The data-sanitize value numberFormat cannot be used without the numeral library. Please see Data Validation in http://www.formvalidator.net for more information.");a.length&&(a=String(numeral().unformat(a)))}if(-1===f.indexOf("number")&&(f+=",number"),-1===f.indexOf("negative")&&0===a.indexOf("-"))return!1;if(f.indexOf("range")>-1&&(d=parseFloat(f.substring(f.indexOf("[")+1,f.indexOf(";"))),e=parseFloat(f.substring(f.indexOf(";")+1,f.indexOf("]"))),h=!0),""!==i&&(j=!0),","===g){if(a.indexOf(".")>-1)return!1;a=a.replace(",",".")}if(""===a.replace(/[0-9-]/g,"")&&(!h||a>=d&&e>=a)&&(!j||a%i===0))return!0;if(f.indexOf("float")>-1&&null!==a.match(new RegExp("^([0-9-]+)\\.([0-9]+)$"))&&(!h||a>=d&&e>=a)&&(!j||a%i===0))return!0}return!1},errorMessage:"",errorMessageKey:"badInt"}),a.formUtils.addValidator({name:"alphanumeric",validatorFunction:function(b,c,d,e){var f="^([a-zA-Z0-9",g="]+)$",h=c.valAttr("allowing"),i="";if(h){i=f+h+g;var j=h.replace(/\\/g,"");j.indexOf(" ")>-1&&(j=j.replace(" ",""),j+=e.andSpaces||a.formUtils.LANG.andSpaces),this.errorMessage=e.badAlphaNumeric+e.badAlphaNumericExtra+j}else i=f+g,this.errorMessage=e.badAlphaNumeric;return new RegExp(i).test(b)},errorMessage:"",errorMessageKey:""}),a.formUtils.addValidator({name:"custom",validatorFunction:function(a,b){var c=new RegExp(b.valAttr("regexp"));return c.test(a)},errorMessage:"",errorMessageKey:"badCustomVal"}),a.formUtils.addValidator({name:"date",validatorFunction:function(b,c,d){var e=c.valAttr("format")||d.dateFormat||"yyyy-mm-dd",f="false"===c.valAttr("require-leading-zero");return a.formUtils.parseDate(b,e,f)!==!1},errorMessage:"",errorMessageKey:"badDate"}),a.formUtils.addValidator({name:"checkbox_group",validatorFunction:function(b,c,d,e,f){var g=!0,h=c.attr("name"),i=a('input[type=checkbox][name^="'+h+'"]',f),j=i.filter(":checked").length,k=c.valAttr("qty");if(void 0===k){var l=c.get(0).nodeName;alert('Attribute "data-validation-qty" is missing from '+l+" named "+c.attr("name"))}var m=a.formUtils.numericRangeCheck(j,k);switch(m[0]){case"out":this.errorMessage=e.groupCheckedRangeStart+k+e.groupCheckedEnd,g=!1;break;case"min":this.errorMessage=e.groupCheckedTooFewStart+m[1]+e.groupCheckedEnd,g=!1;break;case"max":this.errorMessage=e.groupCheckedTooManyStart+m[1]+e.groupCheckedEnd,g=!1;break;default:g=!0}if(!g){var n=function(){i.unbind("click",n),i.filter("*[data-validation]").validateInputOnBlur(e,d,!1,"blur")};i.bind("click",n)}return g}})}(a)}); \ No newline at end of file diff --git a/src/demo/manager/src/main/webapp/assets/js/jquery.js b/src/demo/manager/src/main/webapp/assets/js/jquery.js new file mode 100644 index 00000000..76d21a46 --- /dev/null +++ b/src/demo/manager/src/main/webapp/assets/js/jquery.js @@ -0,0 +1,6 @@ +/*! jQuery v1.10.2 | (c) 2005, 2013 jQuery Foundation, Inc. | jquery.org/license +//@ sourceMappingURL=jquery-1.10.2.min.map +*/ +(function(e,t){var n,r,i=typeof t,o=e.location,a=e.document,s=a.documentElement,l=e.jQuery,u=e.$,c={},p=[],f="1.10.2",d=p.concat,h=p.push,g=p.slice,m=p.indexOf,y=c.toString,v=c.hasOwnProperty,b=f.trim,x=function(e,t){return new x.fn.init(e,t,r)},w=/[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/.source,T=/\S+/g,C=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,N=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]*))$/,k=/^<(\w+)\s*\/?>(?:<\/\1>|)$/,E=/^[\],:{}\s]*$/,S=/(?:^|:|,)(?:\s*\[)+/g,A=/\\(?:["\\\/bfnrt]|u[\da-fA-F]{4})/g,j=/"[^"\\\r\n]*"|true|false|null|-?(?:\d+\.|)\d+(?:[eE][+-]?\d+|)/g,D=/^-ms-/,L=/-([\da-z])/gi,H=function(e,t){return t.toUpperCase()},q=function(e){(a.addEventListener||"load"===e.type||"complete"===a.readyState)&&(_(),x.ready())},_=function(){a.addEventListener?(a.removeEventListener("DOMContentLoaded",q,!1),e.removeEventListener("load",q,!1)):(a.detachEvent("onreadystatechange",q),e.detachEvent("onload",q))};x.fn=x.prototype={jquery:f,constructor:x,init:function(e,n,r){var i,o;if(!e)return this;if("string"==typeof e){if(i="<"===e.charAt(0)&&">"===e.charAt(e.length-1)&&e.length>=3?[null,e,null]:N.exec(e),!i||!i[1]&&n)return!n||n.jquery?(n||r).find(e):this.constructor(n).find(e);if(i[1]){if(n=n instanceof x?n[0]:n,x.merge(this,x.parseHTML(i[1],n&&n.nodeType?n.ownerDocument||n:a,!0)),k.test(i[1])&&x.isPlainObject(n))for(i in n)x.isFunction(this[i])?this[i](n[i]):this.attr(i,n[i]);return this}if(o=a.getElementById(i[2]),o&&o.parentNode){if(o.id!==i[2])return r.find(e);this.length=1,this[0]=o}return this.context=a,this.selector=e,this}return e.nodeType?(this.context=this[0]=e,this.length=1,this):x.isFunction(e)?r.ready(e):(e.selector!==t&&(this.selector=e.selector,this.context=e.context),x.makeArray(e,this))},selector:"",length:0,toArray:function(){return g.call(this)},get:function(e){return null==e?this.toArray():0>e?this[this.length+e]:this[e]},pushStack:function(e){var t=x.merge(this.constructor(),e);return t.prevObject=this,t.context=this.context,t},each:function(e,t){return x.each(this,e,t)},ready:function(e){return x.ready.promise().done(e),this},slice:function(){return this.pushStack(g.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},eq:function(e){var t=this.length,n=+e+(0>e?t:0);return this.pushStack(n>=0&&t>n?[this[n]]:[])},map:function(e){return this.pushStack(x.map(this,function(t,n){return e.call(t,n,t)}))},end:function(){return this.prevObject||this.constructor(null)},push:h,sort:[].sort,splice:[].splice},x.fn.init.prototype=x.fn,x.extend=x.fn.extend=function(){var e,n,r,i,o,a,s=arguments[0]||{},l=1,u=arguments.length,c=!1;for("boolean"==typeof s&&(c=s,s=arguments[1]||{},l=2),"object"==typeof s||x.isFunction(s)||(s={}),u===l&&(s=this,--l);u>l;l++)if(null!=(o=arguments[l]))for(i in o)e=s[i],r=o[i],s!==r&&(c&&r&&(x.isPlainObject(r)||(n=x.isArray(r)))?(n?(n=!1,a=e&&x.isArray(e)?e:[]):a=e&&x.isPlainObject(e)?e:{},s[i]=x.extend(c,a,r)):r!==t&&(s[i]=r));return s},x.extend({expando:"jQuery"+(f+Math.random()).replace(/\D/g,""),noConflict:function(t){return e.$===x&&(e.$=u),t&&e.jQuery===x&&(e.jQuery=l),x},isReady:!1,readyWait:1,holdReady:function(e){e?x.readyWait++:x.ready(!0)},ready:function(e){if(e===!0?!--x.readyWait:!x.isReady){if(!a.body)return setTimeout(x.ready);x.isReady=!0,e!==!0&&--x.readyWait>0||(n.resolveWith(a,[x]),x.fn.trigger&&x(a).trigger("ready").off("ready"))}},isFunction:function(e){return"function"===x.type(e)},isArray:Array.isArray||function(e){return"array"===x.type(e)},isWindow:function(e){return null!=e&&e==e.window},isNumeric:function(e){return!isNaN(parseFloat(e))&&isFinite(e)},type:function(e){return null==e?e+"":"object"==typeof e||"function"==typeof e?c[y.call(e)]||"object":typeof e},isPlainObject:function(e){var n;if(!e||"object"!==x.type(e)||e.nodeType||x.isWindow(e))return!1;try{if(e.constructor&&!v.call(e,"constructor")&&!v.call(e.constructor.prototype,"isPrototypeOf"))return!1}catch(r){return!1}if(x.support.ownLast)for(n in e)return v.call(e,n);for(n in e);return n===t||v.call(e,n)},isEmptyObject:function(e){var t;for(t in e)return!1;return!0},error:function(e){throw Error(e)},parseHTML:function(e,t,n){if(!e||"string"!=typeof e)return null;"boolean"==typeof t&&(n=t,t=!1),t=t||a;var r=k.exec(e),i=!n&&[];return r?[t.createElement(r[1])]:(r=x.buildFragment([e],t,i),i&&x(i).remove(),x.merge([],r.childNodes))},parseJSON:function(n){return e.JSON&&e.JSON.parse?e.JSON.parse(n):null===n?n:"string"==typeof n&&(n=x.trim(n),n&&E.test(n.replace(A,"@").replace(j,"]").replace(S,"")))?Function("return "+n)():(x.error("Invalid JSON: "+n),t)},parseXML:function(n){var r,i;if(!n||"string"!=typeof n)return null;try{e.DOMParser?(i=new DOMParser,r=i.parseFromString(n,"text/xml")):(r=new ActiveXObject("Microsoft.XMLDOM"),r.async="false",r.loadXML(n))}catch(o){r=t}return r&&r.documentElement&&!r.getElementsByTagName("parsererror").length||x.error("Invalid XML: "+n),r},noop:function(){},globalEval:function(t){t&&x.trim(t)&&(e.execScript||function(t){e.eval.call(e,t)})(t)},camelCase:function(e){return e.replace(D,"ms-").replace(L,H)},nodeName:function(e,t){return e.nodeName&&e.nodeName.toLowerCase()===t.toLowerCase()},each:function(e,t,n){var r,i=0,o=e.length,a=M(e);if(n){if(a){for(;o>i;i++)if(r=t.apply(e[i],n),r===!1)break}else for(i in e)if(r=t.apply(e[i],n),r===!1)break}else if(a){for(;o>i;i++)if(r=t.call(e[i],i,e[i]),r===!1)break}else for(i in e)if(r=t.call(e[i],i,e[i]),r===!1)break;return e},trim:b&&!b.call("\ufeff\u00a0")?function(e){return null==e?"":b.call(e)}:function(e){return null==e?"":(e+"").replace(C,"")},makeArray:function(e,t){var n=t||[];return null!=e&&(M(Object(e))?x.merge(n,"string"==typeof e?[e]:e):h.call(n,e)),n},inArray:function(e,t,n){var r;if(t){if(m)return m.call(t,e,n);for(r=t.length,n=n?0>n?Math.max(0,r+n):n:0;r>n;n++)if(n in t&&t[n]===e)return n}return-1},merge:function(e,n){var r=n.length,i=e.length,o=0;if("number"==typeof r)for(;r>o;o++)e[i++]=n[o];else while(n[o]!==t)e[i++]=n[o++];return e.length=i,e},grep:function(e,t,n){var r,i=[],o=0,a=e.length;for(n=!!n;a>o;o++)r=!!t(e[o],o),n!==r&&i.push(e[o]);return i},map:function(e,t,n){var r,i=0,o=e.length,a=M(e),s=[];if(a)for(;o>i;i++)r=t(e[i],i,n),null!=r&&(s[s.length]=r);else for(i in e)r=t(e[i],i,n),null!=r&&(s[s.length]=r);return d.apply([],s)},guid:1,proxy:function(e,n){var r,i,o;return"string"==typeof n&&(o=e[n],n=e,e=o),x.isFunction(e)?(r=g.call(arguments,2),i=function(){return e.apply(n||this,r.concat(g.call(arguments)))},i.guid=e.guid=e.guid||x.guid++,i):t},access:function(e,n,r,i,o,a,s){var l=0,u=e.length,c=null==r;if("object"===x.type(r)){o=!0;for(l in r)x.access(e,n,l,r[l],!0,a,s)}else if(i!==t&&(o=!0,x.isFunction(i)||(s=!0),c&&(s?(n.call(e,i),n=null):(c=n,n=function(e,t,n){return c.call(x(e),n)})),n))for(;u>l;l++)n(e[l],r,s?i:i.call(e[l],l,n(e[l],r)));return o?e:c?n.call(e):u?n(e[0],r):a},now:function(){return(new Date).getTime()},swap:function(e,t,n,r){var i,o,a={};for(o in t)a[o]=e.style[o],e.style[o]=t[o];i=n.apply(e,r||[]);for(o in t)e.style[o]=a[o];return i}}),x.ready.promise=function(t){if(!n)if(n=x.Deferred(),"complete"===a.readyState)setTimeout(x.ready);else if(a.addEventListener)a.addEventListener("DOMContentLoaded",q,!1),e.addEventListener("load",q,!1);else{a.attachEvent("onreadystatechange",q),e.attachEvent("onload",q);var r=!1;try{r=null==e.frameElement&&a.documentElement}catch(i){}r&&r.doScroll&&function o(){if(!x.isReady){try{r.doScroll("left")}catch(e){return setTimeout(o,50)}_(),x.ready()}}()}return n.promise(t)},x.each("Boolean Number String Function Array Date RegExp Object Error".split(" "),function(e,t){c["[object "+t+"]"]=t.toLowerCase()});function M(e){var t=e.length,n=x.type(e);return x.isWindow(e)?!1:1===e.nodeType&&t?!0:"array"===n||"function"!==n&&(0===t||"number"==typeof t&&t>0&&t-1 in e)}r=x(a),function(e,t){var n,r,i,o,a,s,l,u,c,p,f,d,h,g,m,y,v,b="sizzle"+-new Date,w=e.document,T=0,C=0,N=st(),k=st(),E=st(),S=!1,A=function(e,t){return e===t?(S=!0,0):0},j=typeof t,D=1<<31,L={}.hasOwnProperty,H=[],q=H.pop,_=H.push,M=H.push,O=H.slice,F=H.indexOf||function(e){var t=0,n=this.length;for(;n>t;t++)if(this[t]===e)return t;return-1},B="checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped",P="[\\x20\\t\\r\\n\\f]",R="(?:\\\\.|[\\w-]|[^\\x00-\\xa0])+",W=R.replace("w","w#"),$="\\["+P+"*("+R+")"+P+"*(?:([*^$|!~]?=)"+P+"*(?:(['\"])((?:\\\\.|[^\\\\])*?)\\3|("+W+")|)|)"+P+"*\\]",I=":("+R+")(?:\\(((['\"])((?:\\\\.|[^\\\\])*?)\\3|((?:\\\\.|[^\\\\()[\\]]|"+$.replace(3,8)+")*)|.*)\\)|)",z=RegExp("^"+P+"+|((?:^|[^\\\\])(?:\\\\.)*)"+P+"+$","g"),X=RegExp("^"+P+"*,"+P+"*"),U=RegExp("^"+P+"*([>+~]|"+P+")"+P+"*"),V=RegExp(P+"*[+~]"),Y=RegExp("="+P+"*([^\\]'\"]*)"+P+"*\\]","g"),J=RegExp(I),G=RegExp("^"+W+"$"),Q={ID:RegExp("^#("+R+")"),CLASS:RegExp("^\\.("+R+")"),TAG:RegExp("^("+R.replace("w","w*")+")"),ATTR:RegExp("^"+$),PSEUDO:RegExp("^"+I),CHILD:RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+P+"*(even|odd|(([+-]|)(\\d*)n|)"+P+"*(?:([+-]|)"+P+"*(\\d+)|))"+P+"*\\)|)","i"),bool:RegExp("^(?:"+B+")$","i"),needsContext:RegExp("^"+P+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+P+"*((?:-\\d)?\\d*)"+P+"*\\)|)(?=[^-]|$)","i")},K=/^[^{]+\{\s*\[native \w/,Z=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,et=/^(?:input|select|textarea|button)$/i,tt=/^h\d$/i,nt=/'|\\/g,rt=RegExp("\\\\([\\da-f]{1,6}"+P+"?|("+P+")|.)","ig"),it=function(e,t,n){var r="0x"+t-65536;return r!==r||n?t:0>r?String.fromCharCode(r+65536):String.fromCharCode(55296|r>>10,56320|1023&r)};try{M.apply(H=O.call(w.childNodes),w.childNodes),H[w.childNodes.length].nodeType}catch(ot){M={apply:H.length?function(e,t){_.apply(e,O.call(t))}:function(e,t){var n=e.length,r=0;while(e[n++]=t[r++]);e.length=n-1}}}function at(e,t,n,i){var o,a,s,l,u,c,d,m,y,x;if((t?t.ownerDocument||t:w)!==f&&p(t),t=t||f,n=n||[],!e||"string"!=typeof e)return n;if(1!==(l=t.nodeType)&&9!==l)return[];if(h&&!i){if(o=Z.exec(e))if(s=o[1]){if(9===l){if(a=t.getElementById(s),!a||!a.parentNode)return n;if(a.id===s)return n.push(a),n}else if(t.ownerDocument&&(a=t.ownerDocument.getElementById(s))&&v(t,a)&&a.id===s)return n.push(a),n}else{if(o[2])return M.apply(n,t.getElementsByTagName(e)),n;if((s=o[3])&&r.getElementsByClassName&&t.getElementsByClassName)return M.apply(n,t.getElementsByClassName(s)),n}if(r.qsa&&(!g||!g.test(e))){if(m=d=b,y=t,x=9===l&&e,1===l&&"object"!==t.nodeName.toLowerCase()){c=mt(e),(d=t.getAttribute("id"))?m=d.replace(nt,"\\$&"):t.setAttribute("id",m),m="[id='"+m+"'] ",u=c.length;while(u--)c[u]=m+yt(c[u]);y=V.test(e)&&t.parentNode||t,x=c.join(",")}if(x)try{return M.apply(n,y.querySelectorAll(x)),n}catch(T){}finally{d||t.removeAttribute("id")}}}return kt(e.replace(z,"$1"),t,n,i)}function st(){var e=[];function t(n,r){return e.push(n+=" ")>o.cacheLength&&delete t[e.shift()],t[n]=r}return t}function lt(e){return e[b]=!0,e}function ut(e){var t=f.createElement("div");try{return!!e(t)}catch(n){return!1}finally{t.parentNode&&t.parentNode.removeChild(t),t=null}}function ct(e,t){var n=e.split("|"),r=e.length;while(r--)o.attrHandle[n[r]]=t}function pt(e,t){var n=t&&e,r=n&&1===e.nodeType&&1===t.nodeType&&(~t.sourceIndex||D)-(~e.sourceIndex||D);if(r)return r;if(n)while(n=n.nextSibling)if(n===t)return-1;return e?1:-1}function ft(e){return function(t){var n=t.nodeName.toLowerCase();return"input"===n&&t.type===e}}function dt(e){return function(t){var n=t.nodeName.toLowerCase();return("input"===n||"button"===n)&&t.type===e}}function ht(e){return lt(function(t){return t=+t,lt(function(n,r){var i,o=e([],n.length,t),a=o.length;while(a--)n[i=o[a]]&&(n[i]=!(r[i]=n[i]))})})}s=at.isXML=function(e){var t=e&&(e.ownerDocument||e).documentElement;return t?"HTML"!==t.nodeName:!1},r=at.support={},p=at.setDocument=function(e){var n=e?e.ownerDocument||e:w,i=n.defaultView;return n!==f&&9===n.nodeType&&n.documentElement?(f=n,d=n.documentElement,h=!s(n),i&&i.attachEvent&&i!==i.top&&i.attachEvent("onbeforeunload",function(){p()}),r.attributes=ut(function(e){return e.className="i",!e.getAttribute("className")}),r.getElementsByTagName=ut(function(e){return e.appendChild(n.createComment("")),!e.getElementsByTagName("*").length}),r.getElementsByClassName=ut(function(e){return e.innerHTML="
                                                  ",e.firstChild.className="i",2===e.getElementsByClassName("i").length}),r.getById=ut(function(e){return d.appendChild(e).id=b,!n.getElementsByName||!n.getElementsByName(b).length}),r.getById?(o.find.ID=function(e,t){if(typeof t.getElementById!==j&&h){var n=t.getElementById(e);return n&&n.parentNode?[n]:[]}},o.filter.ID=function(e){var t=e.replace(rt,it);return function(e){return e.getAttribute("id")===t}}):(delete o.find.ID,o.filter.ID=function(e){var t=e.replace(rt,it);return function(e){var n=typeof e.getAttributeNode!==j&&e.getAttributeNode("id");return n&&n.value===t}}),o.find.TAG=r.getElementsByTagName?function(e,n){return typeof n.getElementsByTagName!==j?n.getElementsByTagName(e):t}:function(e,t){var n,r=[],i=0,o=t.getElementsByTagName(e);if("*"===e){while(n=o[i++])1===n.nodeType&&r.push(n);return r}return o},o.find.CLASS=r.getElementsByClassName&&function(e,n){return typeof n.getElementsByClassName!==j&&h?n.getElementsByClassName(e):t},m=[],g=[],(r.qsa=K.test(n.querySelectorAll))&&(ut(function(e){e.innerHTML="",e.querySelectorAll("[selected]").length||g.push("\\["+P+"*(?:value|"+B+")"),e.querySelectorAll(":checked").length||g.push(":checked")}),ut(function(e){var t=n.createElement("input");t.setAttribute("type","hidden"),e.appendChild(t).setAttribute("t",""),e.querySelectorAll("[t^='']").length&&g.push("[*^$]="+P+"*(?:''|\"\")"),e.querySelectorAll(":enabled").length||g.push(":enabled",":disabled"),e.querySelectorAll("*,:x"),g.push(",.*:")})),(r.matchesSelector=K.test(y=d.webkitMatchesSelector||d.mozMatchesSelector||d.oMatchesSelector||d.msMatchesSelector))&&ut(function(e){r.disconnectedMatch=y.call(e,"div"),y.call(e,"[s!='']:x"),m.push("!=",I)}),g=g.length&&RegExp(g.join("|")),m=m.length&&RegExp(m.join("|")),v=K.test(d.contains)||d.compareDocumentPosition?function(e,t){var n=9===e.nodeType?e.documentElement:e,r=t&&t.parentNode;return e===r||!(!r||1!==r.nodeType||!(n.contains?n.contains(r):e.compareDocumentPosition&&16&e.compareDocumentPosition(r)))}:function(e,t){if(t)while(t=t.parentNode)if(t===e)return!0;return!1},A=d.compareDocumentPosition?function(e,t){if(e===t)return S=!0,0;var i=t.compareDocumentPosition&&e.compareDocumentPosition&&e.compareDocumentPosition(t);return i?1&i||!r.sortDetached&&t.compareDocumentPosition(e)===i?e===n||v(w,e)?-1:t===n||v(w,t)?1:c?F.call(c,e)-F.call(c,t):0:4&i?-1:1:e.compareDocumentPosition?-1:1}:function(e,t){var r,i=0,o=e.parentNode,a=t.parentNode,s=[e],l=[t];if(e===t)return S=!0,0;if(!o||!a)return e===n?-1:t===n?1:o?-1:a?1:c?F.call(c,e)-F.call(c,t):0;if(o===a)return pt(e,t);r=e;while(r=r.parentNode)s.unshift(r);r=t;while(r=r.parentNode)l.unshift(r);while(s[i]===l[i])i++;return i?pt(s[i],l[i]):s[i]===w?-1:l[i]===w?1:0},n):f},at.matches=function(e,t){return at(e,null,null,t)},at.matchesSelector=function(e,t){if((e.ownerDocument||e)!==f&&p(e),t=t.replace(Y,"='$1']"),!(!r.matchesSelector||!h||m&&m.test(t)||g&&g.test(t)))try{var n=y.call(e,t);if(n||r.disconnectedMatch||e.document&&11!==e.document.nodeType)return n}catch(i){}return at(t,f,null,[e]).length>0},at.contains=function(e,t){return(e.ownerDocument||e)!==f&&p(e),v(e,t)},at.attr=function(e,n){(e.ownerDocument||e)!==f&&p(e);var i=o.attrHandle[n.toLowerCase()],a=i&&L.call(o.attrHandle,n.toLowerCase())?i(e,n,!h):t;return a===t?r.attributes||!h?e.getAttribute(n):(a=e.getAttributeNode(n))&&a.specified?a.value:null:a},at.error=function(e){throw Error("Syntax error, unrecognized expression: "+e)},at.uniqueSort=function(e){var t,n=[],i=0,o=0;if(S=!r.detectDuplicates,c=!r.sortStable&&e.slice(0),e.sort(A),S){while(t=e[o++])t===e[o]&&(i=n.push(o));while(i--)e.splice(n[i],1)}return e},a=at.getText=function(e){var t,n="",r=0,i=e.nodeType;if(i){if(1===i||9===i||11===i){if("string"==typeof e.textContent)return e.textContent;for(e=e.firstChild;e;e=e.nextSibling)n+=a(e)}else if(3===i||4===i)return e.nodeValue}else for(;t=e[r];r++)n+=a(t);return n},o=at.selectors={cacheLength:50,createPseudo:lt,match:Q,attrHandle:{},find:{},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(e){return e[1]=e[1].replace(rt,it),e[3]=(e[4]||e[5]||"").replace(rt,it),"~="===e[2]&&(e[3]=" "+e[3]+" "),e.slice(0,4)},CHILD:function(e){return e[1]=e[1].toLowerCase(),"nth"===e[1].slice(0,3)?(e[3]||at.error(e[0]),e[4]=+(e[4]?e[5]+(e[6]||1):2*("even"===e[3]||"odd"===e[3])),e[5]=+(e[7]+e[8]||"odd"===e[3])):e[3]&&at.error(e[0]),e},PSEUDO:function(e){var n,r=!e[5]&&e[2];return Q.CHILD.test(e[0])?null:(e[3]&&e[4]!==t?e[2]=e[4]:r&&J.test(r)&&(n=mt(r,!0))&&(n=r.indexOf(")",r.length-n)-r.length)&&(e[0]=e[0].slice(0,n),e[2]=r.slice(0,n)),e.slice(0,3))}},filter:{TAG:function(e){var t=e.replace(rt,it).toLowerCase();return"*"===e?function(){return!0}:function(e){return e.nodeName&&e.nodeName.toLowerCase()===t}},CLASS:function(e){var t=N[e+" "];return t||(t=RegExp("(^|"+P+")"+e+"("+P+"|$)"))&&N(e,function(e){return t.test("string"==typeof e.className&&e.className||typeof e.getAttribute!==j&&e.getAttribute("class")||"")})},ATTR:function(e,t,n){return function(r){var i=at.attr(r,e);return null==i?"!="===t:t?(i+="","="===t?i===n:"!="===t?i!==n:"^="===t?n&&0===i.indexOf(n):"*="===t?n&&i.indexOf(n)>-1:"$="===t?n&&i.slice(-n.length)===n:"~="===t?(" "+i+" ").indexOf(n)>-1:"|="===t?i===n||i.slice(0,n.length+1)===n+"-":!1):!0}},CHILD:function(e,t,n,r,i){var o="nth"!==e.slice(0,3),a="last"!==e.slice(-4),s="of-type"===t;return 1===r&&0===i?function(e){return!!e.parentNode}:function(t,n,l){var u,c,p,f,d,h,g=o!==a?"nextSibling":"previousSibling",m=t.parentNode,y=s&&t.nodeName.toLowerCase(),v=!l&&!s;if(m){if(o){while(g){p=t;while(p=p[g])if(s?p.nodeName.toLowerCase()===y:1===p.nodeType)return!1;h=g="only"===e&&!h&&"nextSibling"}return!0}if(h=[a?m.firstChild:m.lastChild],a&&v){c=m[b]||(m[b]={}),u=c[e]||[],d=u[0]===T&&u[1],f=u[0]===T&&u[2],p=d&&m.childNodes[d];while(p=++d&&p&&p[g]||(f=d=0)||h.pop())if(1===p.nodeType&&++f&&p===t){c[e]=[T,d,f];break}}else if(v&&(u=(t[b]||(t[b]={}))[e])&&u[0]===T)f=u[1];else while(p=++d&&p&&p[g]||(f=d=0)||h.pop())if((s?p.nodeName.toLowerCase()===y:1===p.nodeType)&&++f&&(v&&((p[b]||(p[b]={}))[e]=[T,f]),p===t))break;return f-=i,f===r||0===f%r&&f/r>=0}}},PSEUDO:function(e,t){var n,r=o.pseudos[e]||o.setFilters[e.toLowerCase()]||at.error("unsupported pseudo: "+e);return r[b]?r(t):r.length>1?(n=[e,e,"",t],o.setFilters.hasOwnProperty(e.toLowerCase())?lt(function(e,n){var i,o=r(e,t),a=o.length;while(a--)i=F.call(e,o[a]),e[i]=!(n[i]=o[a])}):function(e){return r(e,0,n)}):r}},pseudos:{not:lt(function(e){var t=[],n=[],r=l(e.replace(z,"$1"));return r[b]?lt(function(e,t,n,i){var o,a=r(e,null,i,[]),s=e.length;while(s--)(o=a[s])&&(e[s]=!(t[s]=o))}):function(e,i,o){return t[0]=e,r(t,null,o,n),!n.pop()}}),has:lt(function(e){return function(t){return at(e,t).length>0}}),contains:lt(function(e){return function(t){return(t.textContent||t.innerText||a(t)).indexOf(e)>-1}}),lang:lt(function(e){return G.test(e||"")||at.error("unsupported lang: "+e),e=e.replace(rt,it).toLowerCase(),function(t){var n;do if(n=h?t.lang:t.getAttribute("xml:lang")||t.getAttribute("lang"))return n=n.toLowerCase(),n===e||0===n.indexOf(e+"-");while((t=t.parentNode)&&1===t.nodeType);return!1}}),target:function(t){var n=e.location&&e.location.hash;return n&&n.slice(1)===t.id},root:function(e){return e===d},focus:function(e){return e===f.activeElement&&(!f.hasFocus||f.hasFocus())&&!!(e.type||e.href||~e.tabIndex)},enabled:function(e){return e.disabled===!1},disabled:function(e){return e.disabled===!0},checked:function(e){var t=e.nodeName.toLowerCase();return"input"===t&&!!e.checked||"option"===t&&!!e.selected},selected:function(e){return e.parentNode&&e.parentNode.selectedIndex,e.selected===!0},empty:function(e){for(e=e.firstChild;e;e=e.nextSibling)if(e.nodeName>"@"||3===e.nodeType||4===e.nodeType)return!1;return!0},parent:function(e){return!o.pseudos.empty(e)},header:function(e){return tt.test(e.nodeName)},input:function(e){return et.test(e.nodeName)},button:function(e){var t=e.nodeName.toLowerCase();return"input"===t&&"button"===e.type||"button"===t},text:function(e){var t;return"input"===e.nodeName.toLowerCase()&&"text"===e.type&&(null==(t=e.getAttribute("type"))||t.toLowerCase()===e.type)},first:ht(function(){return[0]}),last:ht(function(e,t){return[t-1]}),eq:ht(function(e,t,n){return[0>n?n+t:n]}),even:ht(function(e,t){var n=0;for(;t>n;n+=2)e.push(n);return e}),odd:ht(function(e,t){var n=1;for(;t>n;n+=2)e.push(n);return e}),lt:ht(function(e,t,n){var r=0>n?n+t:n;for(;--r>=0;)e.push(r);return e}),gt:ht(function(e,t,n){var r=0>n?n+t:n;for(;t>++r;)e.push(r);return e})}},o.pseudos.nth=o.pseudos.eq;for(n in{radio:!0,checkbox:!0,file:!0,password:!0,image:!0})o.pseudos[n]=ft(n);for(n in{submit:!0,reset:!0})o.pseudos[n]=dt(n);function gt(){}gt.prototype=o.filters=o.pseudos,o.setFilters=new gt;function mt(e,t){var n,r,i,a,s,l,u,c=k[e+" "];if(c)return t?0:c.slice(0);s=e,l=[],u=o.preFilter;while(s){(!n||(r=X.exec(s)))&&(r&&(s=s.slice(r[0].length)||s),l.push(i=[])),n=!1,(r=U.exec(s))&&(n=r.shift(),i.push({value:n,type:r[0].replace(z," ")}),s=s.slice(n.length));for(a in o.filter)!(r=Q[a].exec(s))||u[a]&&!(r=u[a](r))||(n=r.shift(),i.push({value:n,type:a,matches:r}),s=s.slice(n.length));if(!n)break}return t?s.length:s?at.error(e):k(e,l).slice(0)}function yt(e){var t=0,n=e.length,r="";for(;n>t;t++)r+=e[t].value;return r}function vt(e,t,n){var r=t.dir,o=n&&"parentNode"===r,a=C++;return t.first?function(t,n,i){while(t=t[r])if(1===t.nodeType||o)return e(t,n,i)}:function(t,n,s){var l,u,c,p=T+" "+a;if(s){while(t=t[r])if((1===t.nodeType||o)&&e(t,n,s))return!0}else while(t=t[r])if(1===t.nodeType||o)if(c=t[b]||(t[b]={}),(u=c[r])&&u[0]===p){if((l=u[1])===!0||l===i)return l===!0}else if(u=c[r]=[p],u[1]=e(t,n,s)||i,u[1]===!0)return!0}}function bt(e){return e.length>1?function(t,n,r){var i=e.length;while(i--)if(!e[i](t,n,r))return!1;return!0}:e[0]}function xt(e,t,n,r,i){var o,a=[],s=0,l=e.length,u=null!=t;for(;l>s;s++)(o=e[s])&&(!n||n(o,r,i))&&(a.push(o),u&&t.push(s));return a}function wt(e,t,n,r,i,o){return r&&!r[b]&&(r=wt(r)),i&&!i[b]&&(i=wt(i,o)),lt(function(o,a,s,l){var u,c,p,f=[],d=[],h=a.length,g=o||Nt(t||"*",s.nodeType?[s]:s,[]),m=!e||!o&&t?g:xt(g,f,e,s,l),y=n?i||(o?e:h||r)?[]:a:m;if(n&&n(m,y,s,l),r){u=xt(y,d),r(u,[],s,l),c=u.length;while(c--)(p=u[c])&&(y[d[c]]=!(m[d[c]]=p))}if(o){if(i||e){if(i){u=[],c=y.length;while(c--)(p=y[c])&&u.push(m[c]=p);i(null,y=[],u,l)}c=y.length;while(c--)(p=y[c])&&(u=i?F.call(o,p):f[c])>-1&&(o[u]=!(a[u]=p))}}else y=xt(y===a?y.splice(h,y.length):y),i?i(null,a,y,l):M.apply(a,y)})}function Tt(e){var t,n,r,i=e.length,a=o.relative[e[0].type],s=a||o.relative[" "],l=a?1:0,c=vt(function(e){return e===t},s,!0),p=vt(function(e){return F.call(t,e)>-1},s,!0),f=[function(e,n,r){return!a&&(r||n!==u)||((t=n).nodeType?c(e,n,r):p(e,n,r))}];for(;i>l;l++)if(n=o.relative[e[l].type])f=[vt(bt(f),n)];else{if(n=o.filter[e[l].type].apply(null,e[l].matches),n[b]){for(r=++l;i>r;r++)if(o.relative[e[r].type])break;return wt(l>1&&bt(f),l>1&&yt(e.slice(0,l-1).concat({value:" "===e[l-2].type?"*":""})).replace(z,"$1"),n,r>l&&Tt(e.slice(l,r)),i>r&&Tt(e=e.slice(r)),i>r&&yt(e))}f.push(n)}return bt(f)}function Ct(e,t){var n=0,r=t.length>0,a=e.length>0,s=function(s,l,c,p,d){var h,g,m,y=[],v=0,b="0",x=s&&[],w=null!=d,C=u,N=s||a&&o.find.TAG("*",d&&l.parentNode||l),k=T+=null==C?1:Math.random()||.1;for(w&&(u=l!==f&&l,i=n);null!=(h=N[b]);b++){if(a&&h){g=0;while(m=e[g++])if(m(h,l,c)){p.push(h);break}w&&(T=k,i=++n)}r&&((h=!m&&h)&&v--,s&&x.push(h))}if(v+=b,r&&b!==v){g=0;while(m=t[g++])m(x,y,l,c);if(s){if(v>0)while(b--)x[b]||y[b]||(y[b]=q.call(p));y=xt(y)}M.apply(p,y),w&&!s&&y.length>0&&v+t.length>1&&at.uniqueSort(p)}return w&&(T=k,u=C),x};return r?lt(s):s}l=at.compile=function(e,t){var n,r=[],i=[],o=E[e+" "];if(!o){t||(t=mt(e)),n=t.length;while(n--)o=Tt(t[n]),o[b]?r.push(o):i.push(o);o=E(e,Ct(i,r))}return o};function Nt(e,t,n){var r=0,i=t.length;for(;i>r;r++)at(e,t[r],n);return n}function kt(e,t,n,i){var a,s,u,c,p,f=mt(e);if(!i&&1===f.length){if(s=f[0]=f[0].slice(0),s.length>2&&"ID"===(u=s[0]).type&&r.getById&&9===t.nodeType&&h&&o.relative[s[1].type]){if(t=(o.find.ID(u.matches[0].replace(rt,it),t)||[])[0],!t)return n;e=e.slice(s.shift().value.length)}a=Q.needsContext.test(e)?0:s.length;while(a--){if(u=s[a],o.relative[c=u.type])break;if((p=o.find[c])&&(i=p(u.matches[0].replace(rt,it),V.test(s[0].type)&&t.parentNode||t))){if(s.splice(a,1),e=i.length&&yt(s),!e)return M.apply(n,i),n;break}}}return l(e,f)(i,t,!h,n,V.test(e)),n}r.sortStable=b.split("").sort(A).join("")===b,r.detectDuplicates=S,p(),r.sortDetached=ut(function(e){return 1&e.compareDocumentPosition(f.createElement("div"))}),ut(function(e){return e.innerHTML="","#"===e.firstChild.getAttribute("href")})||ct("type|href|height|width",function(e,n,r){return r?t:e.getAttribute(n,"type"===n.toLowerCase()?1:2)}),r.attributes&&ut(function(e){return e.innerHTML="",e.firstChild.setAttribute("value",""),""===e.firstChild.getAttribute("value")})||ct("value",function(e,n,r){return r||"input"!==e.nodeName.toLowerCase()?t:e.defaultValue}),ut(function(e){return null==e.getAttribute("disabled")})||ct(B,function(e,n,r){var i;return r?t:(i=e.getAttributeNode(n))&&i.specified?i.value:e[n]===!0?n.toLowerCase():null}),x.find=at,x.expr=at.selectors,x.expr[":"]=x.expr.pseudos,x.unique=at.uniqueSort,x.text=at.getText,x.isXMLDoc=at.isXML,x.contains=at.contains}(e);var O={};function F(e){var t=O[e]={};return x.each(e.match(T)||[],function(e,n){t[n]=!0}),t}x.Callbacks=function(e){e="string"==typeof e?O[e]||F(e):x.extend({},e);var n,r,i,o,a,s,l=[],u=!e.once&&[],c=function(t){for(r=e.memory&&t,i=!0,a=s||0,s=0,o=l.length,n=!0;l&&o>a;a++)if(l[a].apply(t[0],t[1])===!1&&e.stopOnFalse){r=!1;break}n=!1,l&&(u?u.length&&c(u.shift()):r?l=[]:p.disable())},p={add:function(){if(l){var t=l.length;(function i(t){x.each(t,function(t,n){var r=x.type(n);"function"===r?e.unique&&p.has(n)||l.push(n):n&&n.length&&"string"!==r&&i(n)})})(arguments),n?o=l.length:r&&(s=t,c(r))}return this},remove:function(){return l&&x.each(arguments,function(e,t){var r;while((r=x.inArray(t,l,r))>-1)l.splice(r,1),n&&(o>=r&&o--,a>=r&&a--)}),this},has:function(e){return e?x.inArray(e,l)>-1:!(!l||!l.length)},empty:function(){return l=[],o=0,this},disable:function(){return l=u=r=t,this},disabled:function(){return!l},lock:function(){return u=t,r||p.disable(),this},locked:function(){return!u},fireWith:function(e,t){return!l||i&&!u||(t=t||[],t=[e,t.slice?t.slice():t],n?u.push(t):c(t)),this},fire:function(){return p.fireWith(this,arguments),this},fired:function(){return!!i}};return p},x.extend({Deferred:function(e){var t=[["resolve","done",x.Callbacks("once memory"),"resolved"],["reject","fail",x.Callbacks("once memory"),"rejected"],["notify","progress",x.Callbacks("memory")]],n="pending",r={state:function(){return n},always:function(){return i.done(arguments).fail(arguments),this},then:function(){var e=arguments;return x.Deferred(function(n){x.each(t,function(t,o){var a=o[0],s=x.isFunction(e[t])&&e[t];i[o[1]](function(){var e=s&&s.apply(this,arguments);e&&x.isFunction(e.promise)?e.promise().done(n.resolve).fail(n.reject).progress(n.notify):n[a+"With"](this===r?n.promise():this,s?[e]:arguments)})}),e=null}).promise()},promise:function(e){return null!=e?x.extend(e,r):r}},i={};return r.pipe=r.then,x.each(t,function(e,o){var a=o[2],s=o[3];r[o[1]]=a.add,s&&a.add(function(){n=s},t[1^e][2].disable,t[2][2].lock),i[o[0]]=function(){return i[o[0]+"With"](this===i?r:this,arguments),this},i[o[0]+"With"]=a.fireWith}),r.promise(i),e&&e.call(i,i),i},when:function(e){var t=0,n=g.call(arguments),r=n.length,i=1!==r||e&&x.isFunction(e.promise)?r:0,o=1===i?e:x.Deferred(),a=function(e,t,n){return function(r){t[e]=this,n[e]=arguments.length>1?g.call(arguments):r,n===s?o.notifyWith(t,n):--i||o.resolveWith(t,n)}},s,l,u;if(r>1)for(s=Array(r),l=Array(r),u=Array(r);r>t;t++)n[t]&&x.isFunction(n[t].promise)?n[t].promise().done(a(t,u,n)).fail(o.reject).progress(a(t,l,s)):--i;return i||o.resolveWith(u,n),o.promise()}}),x.support=function(t){var n,r,o,s,l,u,c,p,f,d=a.createElement("div");if(d.setAttribute("className","t"),d.innerHTML="
                                                  a",n=d.getElementsByTagName("*")||[],r=d.getElementsByTagName("a")[0],!r||!r.style||!n.length)return t;s=a.createElement("select"),u=s.appendChild(a.createElement("option")),o=d.getElementsByTagName("input")[0],r.style.cssText="top:1px;float:left;opacity:.5",t.getSetAttribute="t"!==d.className,t.leadingWhitespace=3===d.firstChild.nodeType,t.tbody=!d.getElementsByTagName("tbody").length,t.htmlSerialize=!!d.getElementsByTagName("link").length,t.style=/top/.test(r.getAttribute("style")),t.hrefNormalized="/a"===r.getAttribute("href"),t.opacity=/^0.5/.test(r.style.opacity),t.cssFloat=!!r.style.cssFloat,t.checkOn=!!o.value,t.optSelected=u.selected,t.enctype=!!a.createElement("form").enctype,t.html5Clone="<:nav>"!==a.createElement("nav").cloneNode(!0).outerHTML,t.inlineBlockNeedsLayout=!1,t.shrinkWrapBlocks=!1,t.pixelPosition=!1,t.deleteExpando=!0,t.noCloneEvent=!0,t.reliableMarginRight=!0,t.boxSizingReliable=!0,o.checked=!0,t.noCloneChecked=o.cloneNode(!0).checked,s.disabled=!0,t.optDisabled=!u.disabled;try{delete d.test}catch(h){t.deleteExpando=!1}o=a.createElement("input"),o.setAttribute("value",""),t.input=""===o.getAttribute("value"),o.value="t",o.setAttribute("type","radio"),t.radioValue="t"===o.value,o.setAttribute("checked","t"),o.setAttribute("name","t"),l=a.createDocumentFragment(),l.appendChild(o),t.appendChecked=o.checked,t.checkClone=l.cloneNode(!0).cloneNode(!0).lastChild.checked,d.attachEvent&&(d.attachEvent("onclick",function(){t.noCloneEvent=!1}),d.cloneNode(!0).click());for(f in{submit:!0,change:!0,focusin:!0})d.setAttribute(c="on"+f,"t"),t[f+"Bubbles"]=c in e||d.attributes[c].expando===!1;d.style.backgroundClip="content-box",d.cloneNode(!0).style.backgroundClip="",t.clearCloneStyle="content-box"===d.style.backgroundClip;for(f in x(t))break;return t.ownLast="0"!==f,x(function(){var n,r,o,s="padding:0;margin:0;border:0;display:block;box-sizing:content-box;-moz-box-sizing:content-box;-webkit-box-sizing:content-box;",l=a.getElementsByTagName("body")[0];l&&(n=a.createElement("div"),n.style.cssText="border:0;width:0;height:0;position:absolute;top:0;left:-9999px;margin-top:1px",l.appendChild(n).appendChild(d),d.innerHTML="
                                                  t
                                                  ",o=d.getElementsByTagName("td"),o[0].style.cssText="padding:0;margin:0;border:0;display:none",p=0===o[0].offsetHeight,o[0].style.display="",o[1].style.display="none",t.reliableHiddenOffsets=p&&0===o[0].offsetHeight,d.innerHTML="",d.style.cssText="box-sizing:border-box;-moz-box-sizing:border-box;-webkit-box-sizing:border-box;padding:1px;border:1px;display:block;width:4px;margin-top:1%;position:absolute;top:1%;",x.swap(l,null!=l.style.zoom?{zoom:1}:{},function(){t.boxSizing=4===d.offsetWidth}),e.getComputedStyle&&(t.pixelPosition="1%"!==(e.getComputedStyle(d,null)||{}).top,t.boxSizingReliable="4px"===(e.getComputedStyle(d,null)||{width:"4px"}).width,r=d.appendChild(a.createElement("div")),r.style.cssText=d.style.cssText=s,r.style.marginRight=r.style.width="0",d.style.width="1px",t.reliableMarginRight=!parseFloat((e.getComputedStyle(r,null)||{}).marginRight)),typeof d.style.zoom!==i&&(d.innerHTML="",d.style.cssText=s+"width:1px;padding:1px;display:inline;zoom:1",t.inlineBlockNeedsLayout=3===d.offsetWidth,d.style.display="block",d.innerHTML="
                                                  ",d.firstChild.style.width="5px",t.shrinkWrapBlocks=3!==d.offsetWidth,t.inlineBlockNeedsLayout&&(l.style.zoom=1)),l.removeChild(n),n=d=o=r=null)}),n=s=l=u=r=o=null,t +}({});var B=/(?:\{[\s\S]*\}|\[[\s\S]*\])$/,P=/([A-Z])/g;function R(e,n,r,i){if(x.acceptData(e)){var o,a,s=x.expando,l=e.nodeType,u=l?x.cache:e,c=l?e[s]:e[s]&&s;if(c&&u[c]&&(i||u[c].data)||r!==t||"string"!=typeof n)return c||(c=l?e[s]=p.pop()||x.guid++:s),u[c]||(u[c]=l?{}:{toJSON:x.noop}),("object"==typeof n||"function"==typeof n)&&(i?u[c]=x.extend(u[c],n):u[c].data=x.extend(u[c].data,n)),a=u[c],i||(a.data||(a.data={}),a=a.data),r!==t&&(a[x.camelCase(n)]=r),"string"==typeof n?(o=a[n],null==o&&(o=a[x.camelCase(n)])):o=a,o}}function W(e,t,n){if(x.acceptData(e)){var r,i,o=e.nodeType,a=o?x.cache:e,s=o?e[x.expando]:x.expando;if(a[s]){if(t&&(r=n?a[s]:a[s].data)){x.isArray(t)?t=t.concat(x.map(t,x.camelCase)):t in r?t=[t]:(t=x.camelCase(t),t=t in r?[t]:t.split(" ")),i=t.length;while(i--)delete r[t[i]];if(n?!I(r):!x.isEmptyObject(r))return}(n||(delete a[s].data,I(a[s])))&&(o?x.cleanData([e],!0):x.support.deleteExpando||a!=a.window?delete a[s]:a[s]=null)}}}x.extend({cache:{},noData:{applet:!0,embed:!0,object:"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"},hasData:function(e){return e=e.nodeType?x.cache[e[x.expando]]:e[x.expando],!!e&&!I(e)},data:function(e,t,n){return R(e,t,n)},removeData:function(e,t){return W(e,t)},_data:function(e,t,n){return R(e,t,n,!0)},_removeData:function(e,t){return W(e,t,!0)},acceptData:function(e){if(e.nodeType&&1!==e.nodeType&&9!==e.nodeType)return!1;var t=e.nodeName&&x.noData[e.nodeName.toLowerCase()];return!t||t!==!0&&e.getAttribute("classid")===t}}),x.fn.extend({data:function(e,n){var r,i,o=null,a=0,s=this[0];if(e===t){if(this.length&&(o=x.data(s),1===s.nodeType&&!x._data(s,"parsedAttrs"))){for(r=s.attributes;r.length>a;a++)i=r[a].name,0===i.indexOf("data-")&&(i=x.camelCase(i.slice(5)),$(s,i,o[i]));x._data(s,"parsedAttrs",!0)}return o}return"object"==typeof e?this.each(function(){x.data(this,e)}):arguments.length>1?this.each(function(){x.data(this,e,n)}):s?$(s,e,x.data(s,e)):null},removeData:function(e){return this.each(function(){x.removeData(this,e)})}});function $(e,n,r){if(r===t&&1===e.nodeType){var i="data-"+n.replace(P,"-$1").toLowerCase();if(r=e.getAttribute(i),"string"==typeof r){try{r="true"===r?!0:"false"===r?!1:"null"===r?null:+r+""===r?+r:B.test(r)?x.parseJSON(r):r}catch(o){}x.data(e,n,r)}else r=t}return r}function I(e){var t;for(t in e)if(("data"!==t||!x.isEmptyObject(e[t]))&&"toJSON"!==t)return!1;return!0}x.extend({queue:function(e,n,r){var i;return e?(n=(n||"fx")+"queue",i=x._data(e,n),r&&(!i||x.isArray(r)?i=x._data(e,n,x.makeArray(r)):i.push(r)),i||[]):t},dequeue:function(e,t){t=t||"fx";var n=x.queue(e,t),r=n.length,i=n.shift(),o=x._queueHooks(e,t),a=function(){x.dequeue(e,t)};"inprogress"===i&&(i=n.shift(),r--),i&&("fx"===t&&n.unshift("inprogress"),delete o.stop,i.call(e,a,o)),!r&&o&&o.empty.fire()},_queueHooks:function(e,t){var n=t+"queueHooks";return x._data(e,n)||x._data(e,n,{empty:x.Callbacks("once memory").add(function(){x._removeData(e,t+"queue"),x._removeData(e,n)})})}}),x.fn.extend({queue:function(e,n){var r=2;return"string"!=typeof e&&(n=e,e="fx",r--),r>arguments.length?x.queue(this[0],e):n===t?this:this.each(function(){var t=x.queue(this,e,n);x._queueHooks(this,e),"fx"===e&&"inprogress"!==t[0]&&x.dequeue(this,e)})},dequeue:function(e){return this.each(function(){x.dequeue(this,e)})},delay:function(e,t){return e=x.fx?x.fx.speeds[e]||e:e,t=t||"fx",this.queue(t,function(t,n){var r=setTimeout(t,e);n.stop=function(){clearTimeout(r)}})},clearQueue:function(e){return this.queue(e||"fx",[])},promise:function(e,n){var r,i=1,o=x.Deferred(),a=this,s=this.length,l=function(){--i||o.resolveWith(a,[a])};"string"!=typeof e&&(n=e,e=t),e=e||"fx";while(s--)r=x._data(a[s],e+"queueHooks"),r&&r.empty&&(i++,r.empty.add(l));return l(),o.promise(n)}});var z,X,U=/[\t\r\n\f]/g,V=/\r/g,Y=/^(?:input|select|textarea|button|object)$/i,J=/^(?:a|area)$/i,G=/^(?:checked|selected)$/i,Q=x.support.getSetAttribute,K=x.support.input;x.fn.extend({attr:function(e,t){return x.access(this,x.attr,e,t,arguments.length>1)},removeAttr:function(e){return this.each(function(){x.removeAttr(this,e)})},prop:function(e,t){return x.access(this,x.prop,e,t,arguments.length>1)},removeProp:function(e){return e=x.propFix[e]||e,this.each(function(){try{this[e]=t,delete this[e]}catch(n){}})},addClass:function(e){var t,n,r,i,o,a=0,s=this.length,l="string"==typeof e&&e;if(x.isFunction(e))return this.each(function(t){x(this).addClass(e.call(this,t,this.className))});if(l)for(t=(e||"").match(T)||[];s>a;a++)if(n=this[a],r=1===n.nodeType&&(n.className?(" "+n.className+" ").replace(U," "):" ")){o=0;while(i=t[o++])0>r.indexOf(" "+i+" ")&&(r+=i+" ");n.className=x.trim(r)}return this},removeClass:function(e){var t,n,r,i,o,a=0,s=this.length,l=0===arguments.length||"string"==typeof e&&e;if(x.isFunction(e))return this.each(function(t){x(this).removeClass(e.call(this,t,this.className))});if(l)for(t=(e||"").match(T)||[];s>a;a++)if(n=this[a],r=1===n.nodeType&&(n.className?(" "+n.className+" ").replace(U," "):"")){o=0;while(i=t[o++])while(r.indexOf(" "+i+" ")>=0)r=r.replace(" "+i+" "," ");n.className=e?x.trim(r):""}return this},toggleClass:function(e,t){var n=typeof e;return"boolean"==typeof t&&"string"===n?t?this.addClass(e):this.removeClass(e):x.isFunction(e)?this.each(function(n){x(this).toggleClass(e.call(this,n,this.className,t),t)}):this.each(function(){if("string"===n){var t,r=0,o=x(this),a=e.match(T)||[];while(t=a[r++])o.hasClass(t)?o.removeClass(t):o.addClass(t)}else(n===i||"boolean"===n)&&(this.className&&x._data(this,"__className__",this.className),this.className=this.className||e===!1?"":x._data(this,"__className__")||"")})},hasClass:function(e){var t=" "+e+" ",n=0,r=this.length;for(;r>n;n++)if(1===this[n].nodeType&&(" "+this[n].className+" ").replace(U," ").indexOf(t)>=0)return!0;return!1},val:function(e){var n,r,i,o=this[0];{if(arguments.length)return i=x.isFunction(e),this.each(function(n){var o;1===this.nodeType&&(o=i?e.call(this,n,x(this).val()):e,null==o?o="":"number"==typeof o?o+="":x.isArray(o)&&(o=x.map(o,function(e){return null==e?"":e+""})),r=x.valHooks[this.type]||x.valHooks[this.nodeName.toLowerCase()],r&&"set"in r&&r.set(this,o,"value")!==t||(this.value=o))});if(o)return r=x.valHooks[o.type]||x.valHooks[o.nodeName.toLowerCase()],r&&"get"in r&&(n=r.get(o,"value"))!==t?n:(n=o.value,"string"==typeof n?n.replace(V,""):null==n?"":n)}}}),x.extend({valHooks:{option:{get:function(e){var t=x.find.attr(e,"value");return null!=t?t:e.text}},select:{get:function(e){var t,n,r=e.options,i=e.selectedIndex,o="select-one"===e.type||0>i,a=o?null:[],s=o?i+1:r.length,l=0>i?s:o?i:0;for(;s>l;l++)if(n=r[l],!(!n.selected&&l!==i||(x.support.optDisabled?n.disabled:null!==n.getAttribute("disabled"))||n.parentNode.disabled&&x.nodeName(n.parentNode,"optgroup"))){if(t=x(n).val(),o)return t;a.push(t)}return a},set:function(e,t){var n,r,i=e.options,o=x.makeArray(t),a=i.length;while(a--)r=i[a],(r.selected=x.inArray(x(r).val(),o)>=0)&&(n=!0);return n||(e.selectedIndex=-1),o}}},attr:function(e,n,r){var o,a,s=e.nodeType;if(e&&3!==s&&8!==s&&2!==s)return typeof e.getAttribute===i?x.prop(e,n,r):(1===s&&x.isXMLDoc(e)||(n=n.toLowerCase(),o=x.attrHooks[n]||(x.expr.match.bool.test(n)?X:z)),r===t?o&&"get"in o&&null!==(a=o.get(e,n))?a:(a=x.find.attr(e,n),null==a?t:a):null!==r?o&&"set"in o&&(a=o.set(e,r,n))!==t?a:(e.setAttribute(n,r+""),r):(x.removeAttr(e,n),t))},removeAttr:function(e,t){var n,r,i=0,o=t&&t.match(T);if(o&&1===e.nodeType)while(n=o[i++])r=x.propFix[n]||n,x.expr.match.bool.test(n)?K&&Q||!G.test(n)?e[r]=!1:e[x.camelCase("default-"+n)]=e[r]=!1:x.attr(e,n,""),e.removeAttribute(Q?n:r)},attrHooks:{type:{set:function(e,t){if(!x.support.radioValue&&"radio"===t&&x.nodeName(e,"input")){var n=e.value;return e.setAttribute("type",t),n&&(e.value=n),t}}}},propFix:{"for":"htmlFor","class":"className"},prop:function(e,n,r){var i,o,a,s=e.nodeType;if(e&&3!==s&&8!==s&&2!==s)return a=1!==s||!x.isXMLDoc(e),a&&(n=x.propFix[n]||n,o=x.propHooks[n]),r!==t?o&&"set"in o&&(i=o.set(e,r,n))!==t?i:e[n]=r:o&&"get"in o&&null!==(i=o.get(e,n))?i:e[n]},propHooks:{tabIndex:{get:function(e){var t=x.find.attr(e,"tabindex");return t?parseInt(t,10):Y.test(e.nodeName)||J.test(e.nodeName)&&e.href?0:-1}}}}),X={set:function(e,t,n){return t===!1?x.removeAttr(e,n):K&&Q||!G.test(n)?e.setAttribute(!Q&&x.propFix[n]||n,n):e[x.camelCase("default-"+n)]=e[n]=!0,n}},x.each(x.expr.match.bool.source.match(/\w+/g),function(e,n){var r=x.expr.attrHandle[n]||x.find.attr;x.expr.attrHandle[n]=K&&Q||!G.test(n)?function(e,n,i){var o=x.expr.attrHandle[n],a=i?t:(x.expr.attrHandle[n]=t)!=r(e,n,i)?n.toLowerCase():null;return x.expr.attrHandle[n]=o,a}:function(e,n,r){return r?t:e[x.camelCase("default-"+n)]?n.toLowerCase():null}}),K&&Q||(x.attrHooks.value={set:function(e,n,r){return x.nodeName(e,"input")?(e.defaultValue=n,t):z&&z.set(e,n,r)}}),Q||(z={set:function(e,n,r){var i=e.getAttributeNode(r);return i||e.setAttributeNode(i=e.ownerDocument.createAttribute(r)),i.value=n+="","value"===r||n===e.getAttribute(r)?n:t}},x.expr.attrHandle.id=x.expr.attrHandle.name=x.expr.attrHandle.coords=function(e,n,r){var i;return r?t:(i=e.getAttributeNode(n))&&""!==i.value?i.value:null},x.valHooks.button={get:function(e,n){var r=e.getAttributeNode(n);return r&&r.specified?r.value:t},set:z.set},x.attrHooks.contenteditable={set:function(e,t,n){z.set(e,""===t?!1:t,n)}},x.each(["width","height"],function(e,n){x.attrHooks[n]={set:function(e,r){return""===r?(e.setAttribute(n,"auto"),r):t}}})),x.support.hrefNormalized||x.each(["href","src"],function(e,t){x.propHooks[t]={get:function(e){return e.getAttribute(t,4)}}}),x.support.style||(x.attrHooks.style={get:function(e){return e.style.cssText||t},set:function(e,t){return e.style.cssText=t+""}}),x.support.optSelected||(x.propHooks.selected={get:function(e){var t=e.parentNode;return t&&(t.selectedIndex,t.parentNode&&t.parentNode.selectedIndex),null}}),x.each(["tabIndex","readOnly","maxLength","cellSpacing","cellPadding","rowSpan","colSpan","useMap","frameBorder","contentEditable"],function(){x.propFix[this.toLowerCase()]=this}),x.support.enctype||(x.propFix.enctype="encoding"),x.each(["radio","checkbox"],function(){x.valHooks[this]={set:function(e,n){return x.isArray(n)?e.checked=x.inArray(x(e).val(),n)>=0:t}},x.support.checkOn||(x.valHooks[this].get=function(e){return null===e.getAttribute("value")?"on":e.value})});var Z=/^(?:input|select|textarea)$/i,et=/^key/,tt=/^(?:mouse|contextmenu)|click/,nt=/^(?:focusinfocus|focusoutblur)$/,rt=/^([^.]*)(?:\.(.+)|)$/;function it(){return!0}function ot(){return!1}function at(){try{return a.activeElement}catch(e){}}x.event={global:{},add:function(e,n,r,o,a){var s,l,u,c,p,f,d,h,g,m,y,v=x._data(e);if(v){r.handler&&(c=r,r=c.handler,a=c.selector),r.guid||(r.guid=x.guid++),(l=v.events)||(l=v.events={}),(f=v.handle)||(f=v.handle=function(e){return typeof x===i||e&&x.event.triggered===e.type?t:x.event.dispatch.apply(f.elem,arguments)},f.elem=e),n=(n||"").match(T)||[""],u=n.length;while(u--)s=rt.exec(n[u])||[],g=y=s[1],m=(s[2]||"").split(".").sort(),g&&(p=x.event.special[g]||{},g=(a?p.delegateType:p.bindType)||g,p=x.event.special[g]||{},d=x.extend({type:g,origType:y,data:o,handler:r,guid:r.guid,selector:a,needsContext:a&&x.expr.match.needsContext.test(a),namespace:m.join(".")},c),(h=l[g])||(h=l[g]=[],h.delegateCount=0,p.setup&&p.setup.call(e,o,m,f)!==!1||(e.addEventListener?e.addEventListener(g,f,!1):e.attachEvent&&e.attachEvent("on"+g,f))),p.add&&(p.add.call(e,d),d.handler.guid||(d.handler.guid=r.guid)),a?h.splice(h.delegateCount++,0,d):h.push(d),x.event.global[g]=!0);e=null}},remove:function(e,t,n,r,i){var o,a,s,l,u,c,p,f,d,h,g,m=x.hasData(e)&&x._data(e);if(m&&(c=m.events)){t=(t||"").match(T)||[""],u=t.length;while(u--)if(s=rt.exec(t[u])||[],d=g=s[1],h=(s[2]||"").split(".").sort(),d){p=x.event.special[d]||{},d=(r?p.delegateType:p.bindType)||d,f=c[d]||[],s=s[2]&&RegExp("(^|\\.)"+h.join("\\.(?:.*\\.|)")+"(\\.|$)"),l=o=f.length;while(o--)a=f[o],!i&&g!==a.origType||n&&n.guid!==a.guid||s&&!s.test(a.namespace)||r&&r!==a.selector&&("**"!==r||!a.selector)||(f.splice(o,1),a.selector&&f.delegateCount--,p.remove&&p.remove.call(e,a));l&&!f.length&&(p.teardown&&p.teardown.call(e,h,m.handle)!==!1||x.removeEvent(e,d,m.handle),delete c[d])}else for(d in c)x.event.remove(e,d+t[u],n,r,!0);x.isEmptyObject(c)&&(delete m.handle,x._removeData(e,"events"))}},trigger:function(n,r,i,o){var s,l,u,c,p,f,d,h=[i||a],g=v.call(n,"type")?n.type:n,m=v.call(n,"namespace")?n.namespace.split("."):[];if(u=f=i=i||a,3!==i.nodeType&&8!==i.nodeType&&!nt.test(g+x.event.triggered)&&(g.indexOf(".")>=0&&(m=g.split("."),g=m.shift(),m.sort()),l=0>g.indexOf(":")&&"on"+g,n=n[x.expando]?n:new x.Event(g,"object"==typeof n&&n),n.isTrigger=o?2:3,n.namespace=m.join("."),n.namespace_re=n.namespace?RegExp("(^|\\.)"+m.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,n.result=t,n.target||(n.target=i),r=null==r?[n]:x.makeArray(r,[n]),p=x.event.special[g]||{},o||!p.trigger||p.trigger.apply(i,r)!==!1)){if(!o&&!p.noBubble&&!x.isWindow(i)){for(c=p.delegateType||g,nt.test(c+g)||(u=u.parentNode);u;u=u.parentNode)h.push(u),f=u;f===(i.ownerDocument||a)&&h.push(f.defaultView||f.parentWindow||e)}d=0;while((u=h[d++])&&!n.isPropagationStopped())n.type=d>1?c:p.bindType||g,s=(x._data(u,"events")||{})[n.type]&&x._data(u,"handle"),s&&s.apply(u,r),s=l&&u[l],s&&x.acceptData(u)&&s.apply&&s.apply(u,r)===!1&&n.preventDefault();if(n.type=g,!o&&!n.isDefaultPrevented()&&(!p._default||p._default.apply(h.pop(),r)===!1)&&x.acceptData(i)&&l&&i[g]&&!x.isWindow(i)){f=i[l],f&&(i[l]=null),x.event.triggered=g;try{i[g]()}catch(y){}x.event.triggered=t,f&&(i[l]=f)}return n.result}},dispatch:function(e){e=x.event.fix(e);var n,r,i,o,a,s=[],l=g.call(arguments),u=(x._data(this,"events")||{})[e.type]||[],c=x.event.special[e.type]||{};if(l[0]=e,e.delegateTarget=this,!c.preDispatch||c.preDispatch.call(this,e)!==!1){s=x.event.handlers.call(this,e,u),n=0;while((o=s[n++])&&!e.isPropagationStopped()){e.currentTarget=o.elem,a=0;while((i=o.handlers[a++])&&!e.isImmediatePropagationStopped())(!e.namespace_re||e.namespace_re.test(i.namespace))&&(e.handleObj=i,e.data=i.data,r=((x.event.special[i.origType]||{}).handle||i.handler).apply(o.elem,l),r!==t&&(e.result=r)===!1&&(e.preventDefault(),e.stopPropagation()))}return c.postDispatch&&c.postDispatch.call(this,e),e.result}},handlers:function(e,n){var r,i,o,a,s=[],l=n.delegateCount,u=e.target;if(l&&u.nodeType&&(!e.button||"click"!==e.type))for(;u!=this;u=u.parentNode||this)if(1===u.nodeType&&(u.disabled!==!0||"click"!==e.type)){for(o=[],a=0;l>a;a++)i=n[a],r=i.selector+" ",o[r]===t&&(o[r]=i.needsContext?x(r,this).index(u)>=0:x.find(r,this,null,[u]).length),o[r]&&o.push(i);o.length&&s.push({elem:u,handlers:o})}return n.length>l&&s.push({elem:this,handlers:n.slice(l)}),s},fix:function(e){if(e[x.expando])return e;var t,n,r,i=e.type,o=e,s=this.fixHooks[i];s||(this.fixHooks[i]=s=tt.test(i)?this.mouseHooks:et.test(i)?this.keyHooks:{}),r=s.props?this.props.concat(s.props):this.props,e=new x.Event(o),t=r.length;while(t--)n=r[t],e[n]=o[n];return e.target||(e.target=o.srcElement||a),3===e.target.nodeType&&(e.target=e.target.parentNode),e.metaKey=!!e.metaKey,s.filter?s.filter(e,o):e},props:"altKey bubbles cancelable ctrlKey currentTarget eventPhase metaKey relatedTarget shiftKey target timeStamp view which".split(" "),fixHooks:{},keyHooks:{props:"char charCode key keyCode".split(" "),filter:function(e,t){return null==e.which&&(e.which=null!=t.charCode?t.charCode:t.keyCode),e}},mouseHooks:{props:"button buttons clientX clientY fromElement offsetX offsetY pageX pageY screenX screenY toElement".split(" "),filter:function(e,n){var r,i,o,s=n.button,l=n.fromElement;return null==e.pageX&&null!=n.clientX&&(i=e.target.ownerDocument||a,o=i.documentElement,r=i.body,e.pageX=n.clientX+(o&&o.scrollLeft||r&&r.scrollLeft||0)-(o&&o.clientLeft||r&&r.clientLeft||0),e.pageY=n.clientY+(o&&o.scrollTop||r&&r.scrollTop||0)-(o&&o.clientTop||r&&r.clientTop||0)),!e.relatedTarget&&l&&(e.relatedTarget=l===e.target?n.toElement:l),e.which||s===t||(e.which=1&s?1:2&s?3:4&s?2:0),e}},special:{load:{noBubble:!0},focus:{trigger:function(){if(this!==at()&&this.focus)try{return this.focus(),!1}catch(e){}},delegateType:"focusin"},blur:{trigger:function(){return this===at()&&this.blur?(this.blur(),!1):t},delegateType:"focusout"},click:{trigger:function(){return x.nodeName(this,"input")&&"checkbox"===this.type&&this.click?(this.click(),!1):t},_default:function(e){return x.nodeName(e.target,"a")}},beforeunload:{postDispatch:function(e){e.result!==t&&(e.originalEvent.returnValue=e.result)}}},simulate:function(e,t,n,r){var i=x.extend(new x.Event,n,{type:e,isSimulated:!0,originalEvent:{}});r?x.event.trigger(i,null,t):x.event.dispatch.call(t,i),i.isDefaultPrevented()&&n.preventDefault()}},x.removeEvent=a.removeEventListener?function(e,t,n){e.removeEventListener&&e.removeEventListener(t,n,!1)}:function(e,t,n){var r="on"+t;e.detachEvent&&(typeof e[r]===i&&(e[r]=null),e.detachEvent(r,n))},x.Event=function(e,n){return this instanceof x.Event?(e&&e.type?(this.originalEvent=e,this.type=e.type,this.isDefaultPrevented=e.defaultPrevented||e.returnValue===!1||e.getPreventDefault&&e.getPreventDefault()?it:ot):this.type=e,n&&x.extend(this,n),this.timeStamp=e&&e.timeStamp||x.now(),this[x.expando]=!0,t):new x.Event(e,n)},x.Event.prototype={isDefaultPrevented:ot,isPropagationStopped:ot,isImmediatePropagationStopped:ot,preventDefault:function(){var e=this.originalEvent;this.isDefaultPrevented=it,e&&(e.preventDefault?e.preventDefault():e.returnValue=!1)},stopPropagation:function(){var e=this.originalEvent;this.isPropagationStopped=it,e&&(e.stopPropagation&&e.stopPropagation(),e.cancelBubble=!0)},stopImmediatePropagation:function(){this.isImmediatePropagationStopped=it,this.stopPropagation()}},x.each({mouseenter:"mouseover",mouseleave:"mouseout"},function(e,t){x.event.special[e]={delegateType:t,bindType:t,handle:function(e){var n,r=this,i=e.relatedTarget,o=e.handleObj;return(!i||i!==r&&!x.contains(r,i))&&(e.type=o.origType,n=o.handler.apply(this,arguments),e.type=t),n}}}),x.support.submitBubbles||(x.event.special.submit={setup:function(){return x.nodeName(this,"form")?!1:(x.event.add(this,"click._submit keypress._submit",function(e){var n=e.target,r=x.nodeName(n,"input")||x.nodeName(n,"button")?n.form:t;r&&!x._data(r,"submitBubbles")&&(x.event.add(r,"submit._submit",function(e){e._submit_bubble=!0}),x._data(r,"submitBubbles",!0))}),t)},postDispatch:function(e){e._submit_bubble&&(delete e._submit_bubble,this.parentNode&&!e.isTrigger&&x.event.simulate("submit",this.parentNode,e,!0))},teardown:function(){return x.nodeName(this,"form")?!1:(x.event.remove(this,"._submit"),t)}}),x.support.changeBubbles||(x.event.special.change={setup:function(){return Z.test(this.nodeName)?(("checkbox"===this.type||"radio"===this.type)&&(x.event.add(this,"propertychange._change",function(e){"checked"===e.originalEvent.propertyName&&(this._just_changed=!0)}),x.event.add(this,"click._change",function(e){this._just_changed&&!e.isTrigger&&(this._just_changed=!1),x.event.simulate("change",this,e,!0)})),!1):(x.event.add(this,"beforeactivate._change",function(e){var t=e.target;Z.test(t.nodeName)&&!x._data(t,"changeBubbles")&&(x.event.add(t,"change._change",function(e){!this.parentNode||e.isSimulated||e.isTrigger||x.event.simulate("change",this.parentNode,e,!0)}),x._data(t,"changeBubbles",!0))}),t)},handle:function(e){var n=e.target;return this!==n||e.isSimulated||e.isTrigger||"radio"!==n.type&&"checkbox"!==n.type?e.handleObj.handler.apply(this,arguments):t},teardown:function(){return x.event.remove(this,"._change"),!Z.test(this.nodeName)}}),x.support.focusinBubbles||x.each({focus:"focusin",blur:"focusout"},function(e,t){var n=0,r=function(e){x.event.simulate(t,e.target,x.event.fix(e),!0)};x.event.special[t]={setup:function(){0===n++&&a.addEventListener(e,r,!0)},teardown:function(){0===--n&&a.removeEventListener(e,r,!0)}}}),x.fn.extend({on:function(e,n,r,i,o){var a,s;if("object"==typeof e){"string"!=typeof n&&(r=r||n,n=t);for(a in e)this.on(a,n,r,e[a],o);return this}if(null==r&&null==i?(i=n,r=n=t):null==i&&("string"==typeof n?(i=r,r=t):(i=r,r=n,n=t)),i===!1)i=ot;else if(!i)return this;return 1===o&&(s=i,i=function(e){return x().off(e),s.apply(this,arguments)},i.guid=s.guid||(s.guid=x.guid++)),this.each(function(){x.event.add(this,e,i,r,n)})},one:function(e,t,n,r){return this.on(e,t,n,r,1)},off:function(e,n,r){var i,o;if(e&&e.preventDefault&&e.handleObj)return i=e.handleObj,x(e.delegateTarget).off(i.namespace?i.origType+"."+i.namespace:i.origType,i.selector,i.handler),this;if("object"==typeof e){for(o in e)this.off(o,n,e[o]);return this}return(n===!1||"function"==typeof n)&&(r=n,n=t),r===!1&&(r=ot),this.each(function(){x.event.remove(this,e,r,n)})},trigger:function(e,t){return this.each(function(){x.event.trigger(e,t,this)})},triggerHandler:function(e,n){var r=this[0];return r?x.event.trigger(e,n,r,!0):t}});var st=/^.[^:#\[\.,]*$/,lt=/^(?:parents|prev(?:Until|All))/,ut=x.expr.match.needsContext,ct={children:!0,contents:!0,next:!0,prev:!0};x.fn.extend({find:function(e){var t,n=[],r=this,i=r.length;if("string"!=typeof e)return this.pushStack(x(e).filter(function(){for(t=0;i>t;t++)if(x.contains(r[t],this))return!0}));for(t=0;i>t;t++)x.find(e,r[t],n);return n=this.pushStack(i>1?x.unique(n):n),n.selector=this.selector?this.selector+" "+e:e,n},has:function(e){var t,n=x(e,this),r=n.length;return this.filter(function(){for(t=0;r>t;t++)if(x.contains(this,n[t]))return!0})},not:function(e){return this.pushStack(ft(this,e||[],!0))},filter:function(e){return this.pushStack(ft(this,e||[],!1))},is:function(e){return!!ft(this,"string"==typeof e&&ut.test(e)?x(e):e||[],!1).length},closest:function(e,t){var n,r=0,i=this.length,o=[],a=ut.test(e)||"string"!=typeof e?x(e,t||this.context):0;for(;i>r;r++)for(n=this[r];n&&n!==t;n=n.parentNode)if(11>n.nodeType&&(a?a.index(n)>-1:1===n.nodeType&&x.find.matchesSelector(n,e))){n=o.push(n);break}return this.pushStack(o.length>1?x.unique(o):o)},index:function(e){return e?"string"==typeof e?x.inArray(this[0],x(e)):x.inArray(e.jquery?e[0]:e,this):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(e,t){var n="string"==typeof e?x(e,t):x.makeArray(e&&e.nodeType?[e]:e),r=x.merge(this.get(),n);return this.pushStack(x.unique(r))},addBack:function(e){return this.add(null==e?this.prevObject:this.prevObject.filter(e))}});function pt(e,t){do e=e[t];while(e&&1!==e.nodeType);return e}x.each({parent:function(e){var t=e.parentNode;return t&&11!==t.nodeType?t:null},parents:function(e){return x.dir(e,"parentNode")},parentsUntil:function(e,t,n){return x.dir(e,"parentNode",n)},next:function(e){return pt(e,"nextSibling")},prev:function(e){return pt(e,"previousSibling")},nextAll:function(e){return x.dir(e,"nextSibling")},prevAll:function(e){return x.dir(e,"previousSibling")},nextUntil:function(e,t,n){return x.dir(e,"nextSibling",n)},prevUntil:function(e,t,n){return x.dir(e,"previousSibling",n)},siblings:function(e){return x.sibling((e.parentNode||{}).firstChild,e)},children:function(e){return x.sibling(e.firstChild)},contents:function(e){return x.nodeName(e,"iframe")?e.contentDocument||e.contentWindow.document:x.merge([],e.childNodes)}},function(e,t){x.fn[e]=function(n,r){var i=x.map(this,t,n);return"Until"!==e.slice(-5)&&(r=n),r&&"string"==typeof r&&(i=x.filter(r,i)),this.length>1&&(ct[e]||(i=x.unique(i)),lt.test(e)&&(i=i.reverse())),this.pushStack(i)}}),x.extend({filter:function(e,t,n){var r=t[0];return n&&(e=":not("+e+")"),1===t.length&&1===r.nodeType?x.find.matchesSelector(r,e)?[r]:[]:x.find.matches(e,x.grep(t,function(e){return 1===e.nodeType}))},dir:function(e,n,r){var i=[],o=e[n];while(o&&9!==o.nodeType&&(r===t||1!==o.nodeType||!x(o).is(r)))1===o.nodeType&&i.push(o),o=o[n];return i},sibling:function(e,t){var n=[];for(;e;e=e.nextSibling)1===e.nodeType&&e!==t&&n.push(e);return n}});function ft(e,t,n){if(x.isFunction(t))return x.grep(e,function(e,r){return!!t.call(e,r,e)!==n});if(t.nodeType)return x.grep(e,function(e){return e===t!==n});if("string"==typeof t){if(st.test(t))return x.filter(t,e,n);t=x.filter(t,e)}return x.grep(e,function(e){return x.inArray(e,t)>=0!==n})}function dt(e){var t=ht.split("|"),n=e.createDocumentFragment();if(n.createElement)while(t.length)n.createElement(t.pop());return n}var ht="abbr|article|aside|audio|bdi|canvas|data|datalist|details|figcaption|figure|footer|header|hgroup|mark|meter|nav|output|progress|section|summary|time|video",gt=/ jQuery\d+="(?:null|\d+)"/g,mt=RegExp("<(?:"+ht+")[\\s/>]","i"),yt=/^\s+/,vt=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/gi,bt=/<([\w:]+)/,xt=/\s*$/g,At={option:[1,""],legend:[1,"
                                                  ","
                                                  "],area:[1,"",""],param:[1,"",""],thead:[1,"","
                                                  "],tr:[2,"","
                                                  "],col:[2,"","
                                                  "],td:[3,"","
                                                  "],_default:x.support.htmlSerialize?[0,"",""]:[1,"X
                                                  ","
                                                  "]},jt=dt(a),Dt=jt.appendChild(a.createElement("div"));At.optgroup=At.option,At.tbody=At.tfoot=At.colgroup=At.caption=At.thead,At.th=At.td,x.fn.extend({text:function(e){return x.access(this,function(e){return e===t?x.text(this):this.empty().append((this[0]&&this[0].ownerDocument||a).createTextNode(e))},null,e,arguments.length)},append:function(){return this.domManip(arguments,function(e){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var t=Lt(this,e);t.appendChild(e)}})},prepend:function(){return this.domManip(arguments,function(e){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var t=Lt(this,e);t.insertBefore(e,t.firstChild)}})},before:function(){return this.domManip(arguments,function(e){this.parentNode&&this.parentNode.insertBefore(e,this)})},after:function(){return this.domManip(arguments,function(e){this.parentNode&&this.parentNode.insertBefore(e,this.nextSibling)})},remove:function(e,t){var n,r=e?x.filter(e,this):this,i=0;for(;null!=(n=r[i]);i++)t||1!==n.nodeType||x.cleanData(Ft(n)),n.parentNode&&(t&&x.contains(n.ownerDocument,n)&&_t(Ft(n,"script")),n.parentNode.removeChild(n));return this},empty:function(){var e,t=0;for(;null!=(e=this[t]);t++){1===e.nodeType&&x.cleanData(Ft(e,!1));while(e.firstChild)e.removeChild(e.firstChild);e.options&&x.nodeName(e,"select")&&(e.options.length=0)}return this},clone:function(e,t){return e=null==e?!1:e,t=null==t?e:t,this.map(function(){return x.clone(this,e,t)})},html:function(e){return x.access(this,function(e){var n=this[0]||{},r=0,i=this.length;if(e===t)return 1===n.nodeType?n.innerHTML.replace(gt,""):t;if(!("string"!=typeof e||Tt.test(e)||!x.support.htmlSerialize&&mt.test(e)||!x.support.leadingWhitespace&&yt.test(e)||At[(bt.exec(e)||["",""])[1].toLowerCase()])){e=e.replace(vt,"<$1>");try{for(;i>r;r++)n=this[r]||{},1===n.nodeType&&(x.cleanData(Ft(n,!1)),n.innerHTML=e);n=0}catch(o){}}n&&this.empty().append(e)},null,e,arguments.length)},replaceWith:function(){var e=x.map(this,function(e){return[e.nextSibling,e.parentNode]}),t=0;return this.domManip(arguments,function(n){var r=e[t++],i=e[t++];i&&(r&&r.parentNode!==i&&(r=this.nextSibling),x(this).remove(),i.insertBefore(n,r))},!0),t?this:this.remove()},detach:function(e){return this.remove(e,!0)},domManip:function(e,t,n){e=d.apply([],e);var r,i,o,a,s,l,u=0,c=this.length,p=this,f=c-1,h=e[0],g=x.isFunction(h);if(g||!(1>=c||"string"!=typeof h||x.support.checkClone)&&Nt.test(h))return this.each(function(r){var i=p.eq(r);g&&(e[0]=h.call(this,r,i.html())),i.domManip(e,t,n)});if(c&&(l=x.buildFragment(e,this[0].ownerDocument,!1,!n&&this),r=l.firstChild,1===l.childNodes.length&&(l=r),r)){for(a=x.map(Ft(l,"script"),Ht),o=a.length;c>u;u++)i=l,u!==f&&(i=x.clone(i,!0,!0),o&&x.merge(a,Ft(i,"script"))),t.call(this[u],i,u);if(o)for(s=a[a.length-1].ownerDocument,x.map(a,qt),u=0;o>u;u++)i=a[u],kt.test(i.type||"")&&!x._data(i,"globalEval")&&x.contains(s,i)&&(i.src?x._evalUrl(i.src):x.globalEval((i.text||i.textContent||i.innerHTML||"").replace(St,"")));l=r=null}return this}});function Lt(e,t){return x.nodeName(e,"table")&&x.nodeName(1===t.nodeType?t:t.firstChild,"tr")?e.getElementsByTagName("tbody")[0]||e.appendChild(e.ownerDocument.createElement("tbody")):e}function Ht(e){return e.type=(null!==x.find.attr(e,"type"))+"/"+e.type,e}function qt(e){var t=Et.exec(e.type);return t?e.type=t[1]:e.removeAttribute("type"),e}function _t(e,t){var n,r=0;for(;null!=(n=e[r]);r++)x._data(n,"globalEval",!t||x._data(t[r],"globalEval"))}function Mt(e,t){if(1===t.nodeType&&x.hasData(e)){var n,r,i,o=x._data(e),a=x._data(t,o),s=o.events;if(s){delete a.handle,a.events={};for(n in s)for(r=0,i=s[n].length;i>r;r++)x.event.add(t,n,s[n][r])}a.data&&(a.data=x.extend({},a.data))}}function Ot(e,t){var n,r,i;if(1===t.nodeType){if(n=t.nodeName.toLowerCase(),!x.support.noCloneEvent&&t[x.expando]){i=x._data(t);for(r in i.events)x.removeEvent(t,r,i.handle);t.removeAttribute(x.expando)}"script"===n&&t.text!==e.text?(Ht(t).text=e.text,qt(t)):"object"===n?(t.parentNode&&(t.outerHTML=e.outerHTML),x.support.html5Clone&&e.innerHTML&&!x.trim(t.innerHTML)&&(t.innerHTML=e.innerHTML)):"input"===n&&Ct.test(e.type)?(t.defaultChecked=t.checked=e.checked,t.value!==e.value&&(t.value=e.value)):"option"===n?t.defaultSelected=t.selected=e.defaultSelected:("input"===n||"textarea"===n)&&(t.defaultValue=e.defaultValue)}}x.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(e,t){x.fn[e]=function(e){var n,r=0,i=[],o=x(e),a=o.length-1;for(;a>=r;r++)n=r===a?this:this.clone(!0),x(o[r])[t](n),h.apply(i,n.get());return this.pushStack(i)}});function Ft(e,n){var r,o,a=0,s=typeof e.getElementsByTagName!==i?e.getElementsByTagName(n||"*"):typeof e.querySelectorAll!==i?e.querySelectorAll(n||"*"):t;if(!s)for(s=[],r=e.childNodes||e;null!=(o=r[a]);a++)!n||x.nodeName(o,n)?s.push(o):x.merge(s,Ft(o,n));return n===t||n&&x.nodeName(e,n)?x.merge([e],s):s}function Bt(e){Ct.test(e.type)&&(e.defaultChecked=e.checked)}x.extend({clone:function(e,t,n){var r,i,o,a,s,l=x.contains(e.ownerDocument,e);if(x.support.html5Clone||x.isXMLDoc(e)||!mt.test("<"+e.nodeName+">")?o=e.cloneNode(!0):(Dt.innerHTML=e.outerHTML,Dt.removeChild(o=Dt.firstChild)),!(x.support.noCloneEvent&&x.support.noCloneChecked||1!==e.nodeType&&11!==e.nodeType||x.isXMLDoc(e)))for(r=Ft(o),s=Ft(e),a=0;null!=(i=s[a]);++a)r[a]&&Ot(i,r[a]);if(t)if(n)for(s=s||Ft(e),r=r||Ft(o),a=0;null!=(i=s[a]);a++)Mt(i,r[a]);else Mt(e,o);return r=Ft(o,"script"),r.length>0&&_t(r,!l&&Ft(e,"script")),r=s=i=null,o},buildFragment:function(e,t,n,r){var i,o,a,s,l,u,c,p=e.length,f=dt(t),d=[],h=0;for(;p>h;h++)if(o=e[h],o||0===o)if("object"===x.type(o))x.merge(d,o.nodeType?[o]:o);else if(wt.test(o)){s=s||f.appendChild(t.createElement("div")),l=(bt.exec(o)||["",""])[1].toLowerCase(),c=At[l]||At._default,s.innerHTML=c[1]+o.replace(vt,"<$1>")+c[2],i=c[0];while(i--)s=s.lastChild;if(!x.support.leadingWhitespace&&yt.test(o)&&d.push(t.createTextNode(yt.exec(o)[0])),!x.support.tbody){o="table"!==l||xt.test(o)?""!==c[1]||xt.test(o)?0:s:s.firstChild,i=o&&o.childNodes.length;while(i--)x.nodeName(u=o.childNodes[i],"tbody")&&!u.childNodes.length&&o.removeChild(u)}x.merge(d,s.childNodes),s.textContent="";while(s.firstChild)s.removeChild(s.firstChild);s=f.lastChild}else d.push(t.createTextNode(o));s&&f.removeChild(s),x.support.appendChecked||x.grep(Ft(d,"input"),Bt),h=0;while(o=d[h++])if((!r||-1===x.inArray(o,r))&&(a=x.contains(o.ownerDocument,o),s=Ft(f.appendChild(o),"script"),a&&_t(s),n)){i=0;while(o=s[i++])kt.test(o.type||"")&&n.push(o)}return s=null,f},cleanData:function(e,t){var n,r,o,a,s=0,l=x.expando,u=x.cache,c=x.support.deleteExpando,f=x.event.special;for(;null!=(n=e[s]);s++)if((t||x.acceptData(n))&&(o=n[l],a=o&&u[o])){if(a.events)for(r in a.events)f[r]?x.event.remove(n,r):x.removeEvent(n,r,a.handle); +u[o]&&(delete u[o],c?delete n[l]:typeof n.removeAttribute!==i?n.removeAttribute(l):n[l]=null,p.push(o))}},_evalUrl:function(e){return x.ajax({url:e,type:"GET",dataType:"script",async:!1,global:!1,"throws":!0})}}),x.fn.extend({wrapAll:function(e){if(x.isFunction(e))return this.each(function(t){x(this).wrapAll(e.call(this,t))});if(this[0]){var t=x(e,this[0].ownerDocument).eq(0).clone(!0);this[0].parentNode&&t.insertBefore(this[0]),t.map(function(){var e=this;while(e.firstChild&&1===e.firstChild.nodeType)e=e.firstChild;return e}).append(this)}return this},wrapInner:function(e){return x.isFunction(e)?this.each(function(t){x(this).wrapInner(e.call(this,t))}):this.each(function(){var t=x(this),n=t.contents();n.length?n.wrapAll(e):t.append(e)})},wrap:function(e){var t=x.isFunction(e);return this.each(function(n){x(this).wrapAll(t?e.call(this,n):e)})},unwrap:function(){return this.parent().each(function(){x.nodeName(this,"body")||x(this).replaceWith(this.childNodes)}).end()}});var Pt,Rt,Wt,$t=/alpha\([^)]*\)/i,It=/opacity\s*=\s*([^)]*)/,zt=/^(top|right|bottom|left)$/,Xt=/^(none|table(?!-c[ea]).+)/,Ut=/^margin/,Vt=RegExp("^("+w+")(.*)$","i"),Yt=RegExp("^("+w+")(?!px)[a-z%]+$","i"),Jt=RegExp("^([+-])=("+w+")","i"),Gt={BODY:"block"},Qt={position:"absolute",visibility:"hidden",display:"block"},Kt={letterSpacing:0,fontWeight:400},Zt=["Top","Right","Bottom","Left"],en=["Webkit","O","Moz","ms"];function tn(e,t){if(t in e)return t;var n=t.charAt(0).toUpperCase()+t.slice(1),r=t,i=en.length;while(i--)if(t=en[i]+n,t in e)return t;return r}function nn(e,t){return e=t||e,"none"===x.css(e,"display")||!x.contains(e.ownerDocument,e)}function rn(e,t){var n,r,i,o=[],a=0,s=e.length;for(;s>a;a++)r=e[a],r.style&&(o[a]=x._data(r,"olddisplay"),n=r.style.display,t?(o[a]||"none"!==n||(r.style.display=""),""===r.style.display&&nn(r)&&(o[a]=x._data(r,"olddisplay",ln(r.nodeName)))):o[a]||(i=nn(r),(n&&"none"!==n||!i)&&x._data(r,"olddisplay",i?n:x.css(r,"display"))));for(a=0;s>a;a++)r=e[a],r.style&&(t&&"none"!==r.style.display&&""!==r.style.display||(r.style.display=t?o[a]||"":"none"));return e}x.fn.extend({css:function(e,n){return x.access(this,function(e,n,r){var i,o,a={},s=0;if(x.isArray(n)){for(o=Rt(e),i=n.length;i>s;s++)a[n[s]]=x.css(e,n[s],!1,o);return a}return r!==t?x.style(e,n,r):x.css(e,n)},e,n,arguments.length>1)},show:function(){return rn(this,!0)},hide:function(){return rn(this)},toggle:function(e){return"boolean"==typeof e?e?this.show():this.hide():this.each(function(){nn(this)?x(this).show():x(this).hide()})}}),x.extend({cssHooks:{opacity:{get:function(e,t){if(t){var n=Wt(e,"opacity");return""===n?"1":n}}}},cssNumber:{columnCount:!0,fillOpacity:!0,fontWeight:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!0},cssProps:{"float":x.support.cssFloat?"cssFloat":"styleFloat"},style:function(e,n,r,i){if(e&&3!==e.nodeType&&8!==e.nodeType&&e.style){var o,a,s,l=x.camelCase(n),u=e.style;if(n=x.cssProps[l]||(x.cssProps[l]=tn(u,l)),s=x.cssHooks[n]||x.cssHooks[l],r===t)return s&&"get"in s&&(o=s.get(e,!1,i))!==t?o:u[n];if(a=typeof r,"string"===a&&(o=Jt.exec(r))&&(r=(o[1]+1)*o[2]+parseFloat(x.css(e,n)),a="number"),!(null==r||"number"===a&&isNaN(r)||("number"!==a||x.cssNumber[l]||(r+="px"),x.support.clearCloneStyle||""!==r||0!==n.indexOf("background")||(u[n]="inherit"),s&&"set"in s&&(r=s.set(e,r,i))===t)))try{u[n]=r}catch(c){}}},css:function(e,n,r,i){var o,a,s,l=x.camelCase(n);return n=x.cssProps[l]||(x.cssProps[l]=tn(e.style,l)),s=x.cssHooks[n]||x.cssHooks[l],s&&"get"in s&&(a=s.get(e,!0,r)),a===t&&(a=Wt(e,n,i)),"normal"===a&&n in Kt&&(a=Kt[n]),""===r||r?(o=parseFloat(a),r===!0||x.isNumeric(o)?o||0:a):a}}),e.getComputedStyle?(Rt=function(t){return e.getComputedStyle(t,null)},Wt=function(e,n,r){var i,o,a,s=r||Rt(e),l=s?s.getPropertyValue(n)||s[n]:t,u=e.style;return s&&(""!==l||x.contains(e.ownerDocument,e)||(l=x.style(e,n)),Yt.test(l)&&Ut.test(n)&&(i=u.width,o=u.minWidth,a=u.maxWidth,u.minWidth=u.maxWidth=u.width=l,l=s.width,u.width=i,u.minWidth=o,u.maxWidth=a)),l}):a.documentElement.currentStyle&&(Rt=function(e){return e.currentStyle},Wt=function(e,n,r){var i,o,a,s=r||Rt(e),l=s?s[n]:t,u=e.style;return null==l&&u&&u[n]&&(l=u[n]),Yt.test(l)&&!zt.test(n)&&(i=u.left,o=e.runtimeStyle,a=o&&o.left,a&&(o.left=e.currentStyle.left),u.left="fontSize"===n?"1em":l,l=u.pixelLeft+"px",u.left=i,a&&(o.left=a)),""===l?"auto":l});function on(e,t,n){var r=Vt.exec(t);return r?Math.max(0,r[1]-(n||0))+(r[2]||"px"):t}function an(e,t,n,r,i){var o=n===(r?"border":"content")?4:"width"===t?1:0,a=0;for(;4>o;o+=2)"margin"===n&&(a+=x.css(e,n+Zt[o],!0,i)),r?("content"===n&&(a-=x.css(e,"padding"+Zt[o],!0,i)),"margin"!==n&&(a-=x.css(e,"border"+Zt[o]+"Width",!0,i))):(a+=x.css(e,"padding"+Zt[o],!0,i),"padding"!==n&&(a+=x.css(e,"border"+Zt[o]+"Width",!0,i)));return a}function sn(e,t,n){var r=!0,i="width"===t?e.offsetWidth:e.offsetHeight,o=Rt(e),a=x.support.boxSizing&&"border-box"===x.css(e,"boxSizing",!1,o);if(0>=i||null==i){if(i=Wt(e,t,o),(0>i||null==i)&&(i=e.style[t]),Yt.test(i))return i;r=a&&(x.support.boxSizingReliable||i===e.style[t]),i=parseFloat(i)||0}return i+an(e,t,n||(a?"border":"content"),r,o)+"px"}function ln(e){var t=a,n=Gt[e];return n||(n=un(e,t),"none"!==n&&n||(Pt=(Pt||x("").css("width","100%");b.textarea=i('').css("width","100%");b.tabIndex=isNaN(parseInt(a.tabIndex,10))?b.srcElement.attr("tabindex"):parseInt(a.tabIndex,10);b.iframe.attr("tabindex",b.tabIndex);b.textarea.attr("tabindex",b.tabIndex);b.width&&b.setWidth(b.width);b.height&&b.setHeight(b.height);b.designMode?b.textarea.hide():b.iframe.hide(); +h&&b.iframe.bind("load",function(){b.iframe.unbind("load");F?c():setTimeout(c,0)});b.div.append(b.iframe);b.div.append(b.textarea);b.srcElement.hide();!h&&c()},setWidth:function(a){this.width=a=o(a);this.div.css("width",a);return this},setHeight:function(a){this.height=a=o(a);this.div.css("height",a);this.iframe.css("height",a);if(F&&N<8||da)a=o(l(a)-2);this.textarea.css("height",a);return this},remove:function(){var a=this.doc;i(a.body).unbind();i(a).unbind();i(this.win).unbind();this._mousedownHandler&& +i(document).unbind("mousedown",this._mousedownHandler);wa(this.srcElement,this.html());this.srcElement.show();a.write("");this.iframe.unbind();this.textarea.unbind();xa.parent.remove.call(this)},html:function(a,c){var b=this.doc;if(this.designMode){b=b.body;if(a===d)return a=c?""+b.parentNode.innerHTML+"":b.innerHTML,this.beforeGetHtml&&(a=this.beforeGetHtml(a)),la&&a=="
                                                  "&&(a=""),a;this.beforeSetHtml&&(a=this.beforeSetHtml(a));F&&N>=9&&(a=a.replace(/(<.*?checked=")checked(".*>)/ig, +"$1$2"));i(b).html(a);this.afterSetHtml&&this.afterSetHtml();return this}if(a===d)return this.textarea.val();this.textarea.val(a);return this},design:function(a){if(a===d?!this.designMode:a){if(!this.designMode)a=this.html(),this.designMode=!0,this.html(a),this.textarea.hide(),this.iframe.show()}else if(this.designMode)a=this.html(),this.designMode=!1,this.html(a),this.iframe.hide(),this.textarea.show();return this.focus()},focus:function(){this.designMode?this.win.focus():this.textarea[0].focus(); +return this},blur:function(){if(F){var a=i('',this.div);this.div.append(a);a[0].focus();a.remove()}else this.designMode?this.win.blur():this.textarea[0].blur();return this},afterChange:function(a){function c(c){setTimeout(function(){a(c)},1)}var b=this.doc,d=b.body;i(b).keyup(function(c){!c.ctrlKey&&!c.altKey&&eb[c.which]&&a(c)});i(b).mouseup(a).contextmenu(a);i(this.win).blur(a);i(d).bind("paste",c);i(d).bind("cut", +c);return this}});i.EditClass=xa;i.edit=ub;i.iframeDoc=Ya;A(Ga,ga,{init:function(a){function c(a){a=i(a);if(a.hasClass("ke-outline"))return a;if(a.hasClass("ke-toolbar-icon"))return a.parent()}function b(a,d){var g=c(a.target);if(g&&!g.hasClass("ke-disabled")&&!g.hasClass("ke-selected"))g[d]("ke-on")}var d=this;Ga.parent.init.call(d,a);d.disableMode=q(a.disableMode,!1);d.noDisableItemMap=z(q(a.noDisableItems,[]));d._itemMap={};d.div.addClass("ke-toolbar").bind("contextmenu,mousedown,mousemove",function(a){a.preventDefault()}).attr("unselectable", +"on");d.div.mouseover(function(a){b(a,"addClass")}).mouseout(function(a){b(a,"removeClass")}).click(function(a){var b=c(a.target);b&&!b.hasClass("ke-disabled")&&d.options.click.call(this,a,b.attr("data-name"))})},get:function(a){if(this._itemMap[a])return this._itemMap[a];return this._itemMap[a]=i("span.ke-icon-"+a,this.div).parent()},select:function(a){vb.call(this,a,function(a){a.addClass("ke-selected")});return self},unselect:function(a){vb.call(this,a,function(a){a.removeClass("ke-selected").removeClass("ke-on")}); +return self},enable:function(a){if(a=a.get?a:this.get(a))a.removeClass("ke-disabled"),a.opacity(1);return this},disable:function(a){if(a=a.get?a:this.get(a))a.removeClass("ke-selected").addClass("ke-disabled"),a.opacity(0.5);return this},disableAll:function(a,c){var b=this,e=b.noDisableItemMap;c&&(e=z(c));(a===d?!b.disableMode:a)?(i("span.ke-outline",b.div).each(function(){var a=i(this),c=a[0].getAttribute("data-name",2);e[c]||b.disable(a)}),b.disableMode=!0):(i("span.ke-outline",b.div).each(function(){var a= +i(this),c=a[0].getAttribute("data-name",2);e[c]||b.enable(a)}),b.disableMode=!1);return b}});i.ToolbarClass=Ga;i.toolbar=wb;A(ya,ga,{init:function(a){a.z=a.z||811213;ya.parent.init.call(this,a);this.centerLineMode=q(a.centerLineMode,!0);this.div.addClass("ke-menu").bind("click,mousedown",function(a){a.stopPropagation()}).attr("unselectable","on")},addItem:function(a){if(a.title==="-")this.div.append(i('
                                                  '));else{var c=i('
                                                  '), +b=i('
                                                  '),d=i('
                                                  '),e=o(a.height),f=q(a.iconClass,"");this.div.append(c);e&&(c.css("height",e),d.css("line-height",e));var h;this.centerLineMode&&(h=i('
                                                  '),e&&h.css("height",e));c.mouseover(function(){i(this).addClass("ke-menu-item-on");h&&h.addClass("ke-menu-item-center-on")}).mouseout(function(){i(this).removeClass("ke-menu-item-on");h&&h.removeClass("ke-menu-item-center-on")}).click(function(c){a.click.call(i(this)); +c.stopPropagation()}).append(b);h&&c.append(h);c.append(d);a.checked&&(f="ke-icon-checked");f!==""&&b.html('');d.html(a.title);return this}},remove:function(){this.options.beforeRemove&&this.options.beforeRemove.call(this);i(".ke-menu-item",this.div[0]).unbind();ya.parent.remove.call(this);return this}});i.MenuClass=ya;i.menu=ab;A(za,ga,{init:function(a){a.z=a.z||811213;za.parent.init.call(this,a);var c=a.colors||[["#E53333", +"#E56600","#FF9900","#64451D","#DFC5A4","#FFE500"],["#009900","#006600","#99BB00","#B8D100","#60D978","#00D5FF"],["#337FE5","#003399","#4C33E5","#9933E5","#CC33E5","#EE33EE"],["#FFFFFF","#CCCCCC","#999999","#666666","#333333","#000000"]];this.selectedColor=(a.selectedColor||"").toLowerCase();this._cells=[];this.div.addClass("ke-colorpicker").bind("click,mousedown",function(a){a.stopPropagation()}).attr("unselectable","on");a=this.doc.createElement("table");this.div.append(a);a.className="ke-colorpicker-table"; +a.cellPadding=0;a.cellSpacing=0;a.border=0;var b=a.insertRow(0),d=b.insertCell(0);d.colSpan=c[0].length;this._addAttr(d,"","ke-colorpicker-cell-top");for(var e=0;e').css("background-color",c)):a.html(d.options.noColor);i(a).attr("unselectable","on");d._cells.push(a)},remove:function(){h(this._cells,function(){this.unbind()});za.parent.remove.call(this);return this}});i.ColorPickerClass=za;i.colorpicker=xb;A(bb,{init:function(a){var c=i(a.button),b=a.fieldName|| +"file",d=a.url||"",e=c.val(),f=a.extraParams||{},h=c[0].className||"",l=a.target||"kindeditor_upload_iframe_"+(new Date).getTime();a.afterError=a.afterError||function(a){alert(a)};var n=[],o;for(o in f)n.push('');b=['
                                                  ',a.target?"":'',a.form?'
                                                  ':'
                                                  ','',n.join(""),'',"",'',a.form?"
                                                  ":"","
                                                  "].join("");b=i(b,c.doc);c.hide();c.before(b);this.div=b;this.button=c;this.iframe=a.target?i('iframe[name="'+l+'"]'):i("iframe",b);this.form=a.form?i(a.form):i("form",b);this.fileBox=i(".ke-upload-file",b);c=a.width||i(".ke-button-common",b).width(); +i(".ke-upload-area",b).width(c);this.options=a},submit:function(){var a=this,c=a.iframe;c.bind("load",function(){c.unbind();var b=document.createElement("form");a.fileBox.before(b);i(b).append(a.fileBox);b.reset();i(b).remove(!0);var b=i.iframeDoc(c),d=b.getElementsByTagName("pre")[0],e="",f,e=d?d.innerHTML:b.body.innerHTML,e=v(e);c[0].src="javascript:false";try{f=i.json(e)}catch(h){a.options.afterError.call(a,""+b.body.parentNode.innerHTML+"")}f&&a.options.afterUpload.call(a, +f)});a.form[0].submit();return a},remove:function(){this.fileBox&&this.fileBox.unbind();this.iframe.remove();this.div.remove();this.button.show();return this}});i.UploadButtonClass=bb;i.uploadbutton=function(a){return new bb(a)};A(Aa,ga,{init:function(a){var c=q(a.shadowMode,!0);a.z=a.z||811213;a.shadowMode=!1;a.autoScroll=q(a.autoScroll,!0);Aa.parent.init.call(this,a);var b=a.title,d=i(a.body,this.doc),e=a.previewBtn,f=a.yesBtn,n=a.noBtn,o=a.closeBtn,m=q(a.showMask,!0);this.div.addClass("ke-dialog").bind("click,mousedown", +function(a){a.stopPropagation()});var s=i('
                                                  ').appendTo(this.div);F&&N<7?this.iframeMask=i('').appendTo(this.div):c&&i('
                                                  ').appendTo(this.div);c=i('
                                                  ');s.append(c);c.html(b);this.closeIcon=i('').click(o.click);c.append(this.closeIcon);this.draggable({clickEl:c,beforeDrag:a.beforeDrag}); +a=i('
                                                  ');s.append(a);a.append(d);var j=i('');(e||f||n)&&s.append(j);h([{btn:e,name:"preview"},{btn:f,name:"yes"},{btn:n,name:"no"}],function(){if(this.btn){var a=this.btn,a=a||{},c=a.name||"",b=i(''),c=i('');a.click&&c.click(a.click);b.append(c);b.addClass("ke-dialog-"+this.name);j.append(b)}}); +this.height&&a.height(l(this.height)-c.height()-j.height());this.div.width(this.div.width());this.div.height(this.div.height());this.mask=null;if(m)d=X(this.doc),this.mask=Za({x:0,y:0,z:this.z-1,cls:"ke-dialog-mask",width:Math.max(d.scrollWidth,d.clientWidth),height:Math.max(d.scrollHeight,d.clientHeight)});this.autoPos(this.div.width(),this.div.height());this.footerDiv=j;this.bodyDiv=a;this.headerDiv=c;this.isLoading=!1},setMaskIndex:function(a){this.mask.div.css("z-index",a)},showLoading:function(a){var a= +q(a,""),c=this.bodyDiv;this.loading=i('
                                                  '+a+"
                                                  ").width(c.width()).height(c.height()).css("top",this.headerDiv.height()+"px");c.css("visibility","hidden").after(this.loading);this.isLoading=!0;return this},hideLoading:function(){this.loading&&this.loading.remove();this.bodyDiv.css("visibility","visible");this.isLoading=!1;return this},remove:function(){this.options.beforeRemove&& +this.options.beforeRemove.call(this);this.mask&&this.mask.remove();this.iframeMask&&this.iframeMask.remove();this.closeIcon.unbind();i("input",this.div).unbind();i("button",this.div).unbind();this.footerDiv.unbind();this.bodyDiv.unbind();this.headerDiv.unbind();i("iframe",this.div).each(function(){i(this).remove()});Aa.parent.remove.call(this);return this}});i.DialogClass=Aa;i.dialog=yb;i.tabs=function(a){var c=Za(a),b=c.remove,d=a.afterSelect,a=c.div,e=[];a.addClass("ke-tabs").bind("contextmenu,mousedown,mousemove", +function(a){a.preventDefault()});var f=i('
                                                    ');a.append(f);c.add=function(a){var c=i('
                                                  • '+a.title+"
                                                  • ");c.data("tab",a);e.push(c);f.append(c)};c.selectedIndex=0;c.select=function(a){c.selectedIndex=a;h(e,function(b,d){d.unbind();b===a?(d.addClass("ke-tabs-li-selected"),i(d.data("tab").panel).show("")):(d.removeClass("ke-tabs-li-selected").removeClass("ke-tabs-li-on").mouseover(function(){i(this).addClass("ke-tabs-li-on")}).mouseout(function(){i(this).removeClass("ke-tabs-li-on")}).click(function(){c.select(b)}), +i(d.data("tab").panel).hide())});d&&d.call(c,a)};c.remove=function(){h(e,function(){this.remove()});f.remove();b.call(c)};return c};i.loadScript=cb;i.loadStyle=db;i.ajax=function(a,c,d,e,i){var d=d||"GET",i=i||"json",f=b.XMLHttpRequest?new b.XMLHttpRequest:new ActiveXObject("Microsoft.XMLHTTP");f.open(d,a,!0);f.onreadystatechange=function(){if(f.readyState==4&&f.status==200&&c){var a=m(f.responseText);i=="json"&&(a=B(a));c(a)}};if(d=="POST"){var l=[];h(e,function(a,c){l.push(encodeURIComponent(a)+ +"="+encodeURIComponent(c))});try{f.setRequestHeader("Content-Type","application/x-www-form-urlencoded")}catch(n){}f.send(l.join("&"))}else f.send(null)};var ba={},ca={};Ba.prototype={lang:function(a){return Cb(a,this.langType)},loadPlugin:function(a,c){var b=this;if(ba[a]){if(!j(ba[a]))return setTimeout(function(){b.loadPlugin(a,c)},100),b;ba[a].call(b,KindEditor);c&&c.call(b);return b}ba[a]="loading";cb(b.pluginsPath+a+"/"+a+".js?ver="+encodeURIComponent(i.DEBUG?Ja:Ka),function(){setTimeout(function(){ba[a]&& +b.loadPlugin(a,c)},0)});return b},handler:function(a,c){var b=this;b._handlers[a]||(b._handlers[a]=[]);if(j(c))return b._handlers[a].push(c),b;h(b._handlers[a],function(){c=this.call(b,c)});return c},clickToolbar:function(a,c){var b=this,e="clickToolbar"+a;if(c===d){if(b._handlers[e])return b.handler(e);b.loadPlugin(a,function(){b.handler(e)});return b}return b.handler(e,c)},updateState:function(){var a=this;h("justifyleft,justifycenter,justifyright,justifyfull,insertorderedlist,insertunorderedlist,subscript,superscript,bold,italic,underline,strikethrough".split(","), +function(c,b){a.cmd.state(b)?a.toolbar.select(b):a.toolbar.unselect(b)});return a},addContextmenu:function(a){this._contextmenus.push(a);return this},afterCreate:function(a){return this.handler("afterCreate",a)},beforeRemove:function(a){return this.handler("beforeRemove",a)},beforeGetHtml:function(a){return this.handler("beforeGetHtml",a)},beforeSetHtml:function(a){return this.handler("beforeSetHtml",a)},afterSetHtml:function(a){return this.handler("afterSetHtml",a)},create:function(){function a(){m.height()=== +0?setTimeout(a,100):c.resize(e,f,!1)}var c=this,d=c.fullscreenMode;if(c.isCreated)return c;if(c.srcElement.data("kindeditor"))return c;c.srcElement.data("kindeditor","true");d?X().style.overflow="hidden":X().style.overflow="";var e=d?X().clientWidth+"px":c.width,f=d?X().clientHeight+"px":c.height;if(F&&N<8||da)f=o(l(f)+2);var k=c.container=i(c.layout);d?i(document.body).append(k):c.srcElement.before(k);var h=i(".toolbar",k),n=i(".edit",k),m=c.statusbar=i(".statusbar",k);k.removeClass("container").addClass("ke-container ke-container-"+ +c.themeType).css("width",e);if(d){k.css({position:"absolute",left:0,top:0,"z-index":811211});if(!la)c._scrollPos=na();b.scrollTo(0,0);i(document.body).css({height:"1px",overflow:"hidden"});i(document.body.parentNode).css("overflow","hidden");c._fullscreenExecuted=!0}else c._fullscreenExecuted&&(i(document.body).css({height:"",overflow:""}),i(document.body.parentNode).css("overflow","")),c._scrollPos&&b.scrollTo(c._scrollPos.x,c._scrollPos.y);var s=[];i.each(c.items,function(a,b){b=="|"?s.push(''): +b=="/"?s.push('
                                                    '):(s.push(''),s.push(''))});var h=c.toolbar=wb({src:h,html:s.join(""),noDisableItems:c.noDisableItems,click:function(a,b){a.stop();if(c.menu){var d=c.menu.name;c.hideMenu();if(d===b)return}c.clickToolbar(b)}}),j=l(f)-h.div.height(),r=c.edit=ub({height:j>0&&l(f)>c.minHeight?j:c.minHeight, +src:n,srcElement:c.srcElement,designMode:c.designMode,themesPath:c.themesPath,bodyClass:c.bodyClass,cssPath:c.cssPath,cssData:c.cssData,beforeGetHtml:function(a){a=c.beforeGetHtml(a);a=ha(Ia(a));return H(a,c.filterMode?c.htmlTags:null,c.urlType,c.wellFormatMode,c.indentChar)},beforeSetHtml:function(a){a=H(a,c.filterMode?c.htmlTags:null,"",!1);return c.beforeSetHtml(a)},afterSetHtml:function(){c.edit=r=this;c.afterSetHtml()},afterCreate:function(){c.edit=r=this;c.cmd=r.cmd;c._docMousedownFn=function(){c.menu&& +c.hideMenu()};i(r.doc,document).mousedown(c._docMousedownFn);Sb.call(c);Tb.call(c);Ub.call(c);Vb.call(c);r.afterChange(function(){r.designMode&&(c.updateState(),c.addBookmark(),c.options.afterChange&&c.options.afterChange.call(c))});r.textarea.keyup(function(a){!a.ctrlKey&&!a.altKey&&Ib[a.which]&&c.options.afterChange&&c.options.afterChange.call(c)});c.readonlyMode&&c.readonly();c.isCreated=!0;if(c.initContent==="")c.initContent=c.html();if(c._undoStack.length>0){var a=c._undoStack.pop();a.start&& +(c.html(a.html),r.cmd.range.moveToBookmark(a),c.select())}c.afterCreate();c.options.afterCreate&&c.options.afterCreate.call(c)}});m.removeClass("statusbar").addClass("ke-statusbar").append('').append('');if(c._fullscreenResizeHandler)i(b).unbind("resize",c._fullscreenResizeHandler),c._fullscreenResizeHandler=null;a();d?(c._fullscreenResizeHandler=function(){c.isCreated&&c.resize(X().clientWidth, +X().clientHeight,!1)},i(b).bind("resize",c._fullscreenResizeHandler),h.select("fullscreen"),m.first().css("visibility","hidden"),m.last().css("visibility","hidden")):(la&&i(b).bind("scroll",function(){c._scrollPos=na()}),c.resizeType>0?Xa({moveEl:k,clickEl:m,moveFn:function(a,b,d,g,e,f){g+=f;c.resize(null,g)}}):m.first().css("visibility","hidden"),c.resizeType===2?Xa({moveEl:k,clickEl:m.last(),moveFn:function(a,b,d,g,e,f){d+=e;g+=f;c.resize(d,g)}}):m.last().css("visibility","hidden"));return c},remove:function(){var a= +this;if(!a.isCreated)return a;a.beforeRemove();a.srcElement.data("kindeditor","");a.menu&&a.hideMenu();h(a.dialogs,function(){a.hideDialog()});i(document).unbind("mousedown",a._docMousedownFn);a.toolbar.remove();a.edit.remove();a.statusbar.last().unbind();a.statusbar.unbind();a.container.remove();a.container=a.toolbar=a.edit=a.menu=null;a.dialogs=[];a.isCreated=!1;return a},resize:function(a,c,b){b=q(b,!0);if(a&&(/%/.test(a)||(a=l(a),a=a/ig,"").replace(/ /ig," ")):this.html(s(a))},isEmpty:function(){return m(this.text().replace(/\r\n|\n|\r/,""))===""},isDirty:function(){return m(this.initContent.replace(/\r\n|\n|\r|t/g,""))!==m(this.html().replace(/\r\n|\n|\r|t/g,""))},selectedHtml:function(){var a=this.isCreated?this.cmd.range.html():"";return a=ha(Ia(a))},count:function(a){a=(a||"html").toLowerCase();if(a==="html")return this.html().length; +if(a==="text")return this.text().replace(/<(?:img|embed).*?>/ig,"K").replace(/\r\n|\n|\r/g,"").length;return 0},exec:function(a){var a=a.toLowerCase(),c=this.cmd,b=e(a,"selectall,copy,paste,print".split(","))<0;b&&this.addBookmark(!1);c[a].apply(c,D(arguments,1));b&&(this.updateState(),this.addBookmark(!1),this.options.afterChange&&this.options.afterChange.call(this));return this},insertHtml:function(a,c){if(!this.isCreated)return this;a=this.beforeSetHtml(a);this.exec("inserthtml",a,c);return this}, +appendHtml:function(a){this.html(this.html()+a);if(this.isCreated)a=this.cmd,a.range.selectNodeContents(a.doc.body).collapse(!1),a.select();return this},sync:function(){wa(this.srcElement,this.html());return this},focus:function(){this.isCreated?this.edit.focus():this.srcElement[0].focus();return this},blur:function(){this.isCreated?this.edit.blur():this.srcElement[0].blur();return this},addBookmark:function(a){var a=q(a,!0),c=this.edit,b=c.doc.body,d=Ia(b.innerHTML);if(a&&this._undoStack.length> +0&&Math.abs(d.length-ha(this._undoStack[this._undoStack.length-1].html).length)0){var d=b.dialogs[b.dialogs.length-1];b.dialogs[0].setMaskIndex(d.z+2);a.z=d.z+3;a.showMask=!1}a=yb(a);b.dialogs.push(a);return a},hideDialog:function(){this.dialogs.length>0&&this.dialogs.pop().remove();this.dialogs.length>0&&this.dialogs[0].setMaskIndex(this.dialogs[this.dialogs.length- +1].z-1);return this},errorDialog:function(a){var b=this.createDialog({width:750,title:this.lang("uploadError"),body:'
                                                    '}),b=i("iframe",b.div),d=i.iframeDoc(b);d.open();d.write(a);d.close();i(d.body).css("background-color","#FFF");b[0].contentWindow.focus();return this}};_instances=[];i.remove=function(a){Ca(a,function(a){this.remove();_instances.splice(a,1)})};i.sync=function(a){Ca(a,function(){this.sync()})}; +i.html=function(a,b){Ca(a,function(){this.html(b)})};i.insertHtml=function(a,b){Ca(a,function(){this.insertHtml(b)})};i.appendHtml=function(a,b){Ca(a,function(){this.appendHtml(b)})};F&&N<7&&ea(document,"BackgroundImageCache",!0);i.EditorClass=Ba;i.editor=function(a){return new Ba(a)};i.create=Fb;i.instances=_instances;i.plugin=Ab;i.lang=Cb;Ab("core",function(a){var c=this,g={undo:"Z",redo:"Y",bold:"B",italic:"I",underline:"U",print:"P",selectall:"A"};c.afterSetHtml(function(){c.options.afterChange&& +c.options.afterChange.call(c)});c.afterCreate(function(){if(c.syncType=="form"){for(var d=a(c.srcElement),g=!1;d=d.parent();)if(d.name=="form"){g=!0;break}if(g){d.bind("submit",function(){c.sync();a(b).bind("unload",function(){c.edit.textarea.remove()})});var e=a('[type="reset"]',d);e.click(function(){c.html(c.initContent);c.cmd.selection()});c.beforeRemove(function(){d.unbind();e.unbind()})}}});c.clickToolbar("source",function(){c.edit.designMode?(c.toolbar.disableAll(!0),c.edit.design(!1),c.toolbar.select("source")): +(c.toolbar.disableAll(!1),c.edit.design(!0),c.toolbar.unselect("source"),la?setTimeout(function(){c.cmd.selection()},0):c.cmd.selection());c.designMode=c.edit.designMode});c.afterCreate(function(){c.designMode||c.toolbar.disableAll(!0).select("source")});c.clickToolbar("fullscreen",function(){c.fullscreen()});if(c.fullscreenShortcut){var f=!1;c.afterCreate(function(){a(c.edit.doc,c.edit.textarea).keyup(function(a){a.which==27&&setTimeout(function(){c.fullscreen()},0)});if(f){if(F&&!c.designMode)return; +c.focus()}f||(f=!0)})}h("undo,redo".split(","),function(a,b){g[b]&&c.afterCreate(function(){$(this.edit.doc,g[b],function(){c.clickToolbar(b)})});c.clickToolbar(b,function(){c[b]()})});c.clickToolbar("formatblock",function(){var a=c.lang("formatblock.formatBlock"),b={h1:28,h2:24,h3:18,H4:14,p:12},d=c.cmd.val("formatblock"),g=c.createMenu({name:"formatblock",width:c.langType=="en"?200:150});h(a,function(a,e){var f="font-size:"+b[a]+"px;";a.charAt(0)==="h"&&(f+="font-weight:bold;");g.addItem({title:''+e+"",height:b[a]+12,checked:d===a||d===e,click:function(){c.select().exec("formatblock","<"+a+">").hideMenu()}})})});c.clickToolbar("fontname",function(){var a=c.cmd.val("fontname"),b=c.createMenu({name:"fontname",width:150});h(c.lang("fontname.fontName"),function(d,g){b.addItem({title:''+g+"",checked:a===d.toLowerCase()||a===g.toLowerCase(),click:function(){c.exec("fontname",d).hideMenu()}})})});c.clickToolbar("fontsize", +function(){var a=c.cmd.val("fontsize"),b=c.createMenu({name:"fontsize",width:150});h(c.fontSizeTable,function(d,g){b.addItem({title:''+g+"",height:l(g)+12,checked:a===g,click:function(){c.exec("fontsize",g).hideMenu()}})})});h("forecolor,hilitecolor".split(","),function(a,b){c.clickToolbar(b,function(){c.createMenu({name:b,selectedColor:c.cmd.val(b)||"default",colors:c.colorTable,click:function(a){c.exec(b,a).hideMenu()}})})});h("cut,copy,paste".split(","), +function(a,b){c.clickToolbar(b,function(){c.focus();try{c.exec(b,null)}catch(a){alert(c.lang(b+"Error"))}})});c.clickToolbar("about",function(){var a='
                                                    KindEditor '+Ka+'
                                                    Copyright © kindsoft.net All rights reserved.
                                                    ';c.createDialog({name:"about",width:350,title:c.lang("about"),body:a})});c.plugin.getSelectedLink=function(){return c.cmd.commonAncestor("a")};c.plugin.getSelectedImage=function(){return Ha(c.edit.cmd.range, +function(a){return!/^ke-\w+$/i.test(a[0].className)})};c.plugin.getSelectedFlash=function(){return Ha(c.edit.cmd.range,function(a){return a[0].className=="ke-flash"})};c.plugin.getSelectedMedia=function(){return Ha(c.edit.cmd.range,function(a){return a[0].className=="ke-media"||a[0].className=="ke-rm"})};c.plugin.getSelectedAnchor=function(){return Ha(c.edit.cmd.range,function(a){return a[0].className=="ke-anchor"})};h("link,image,flash,media,anchor".split(","),function(a,b){var g=b.charAt(0).toUpperCase()+ +b.substr(1);h("edit,delete".split(","),function(a,e){c.addContextmenu({title:c.lang(e+g),click:function(){c.loadPlugin(b,function(){c.plugin[b][e]();c.hideMenu()})},cond:c.plugin["getSelected"+g],width:150,iconClass:e=="edit"?"ke-icon-"+b:d})});c.addContextmenu({title:"-"})});c.plugin.getSelectedTable=function(){return c.cmd.commonAncestor("table")};c.plugin.getSelectedRow=function(){return c.cmd.commonAncestor("tr")};c.plugin.getSelectedCell=function(){return c.cmd.commonAncestor("td")};h("prop,cellprop,colinsertleft,colinsertright,rowinsertabove,rowinsertbelow,rowmerge,colmerge,rowsplit,colsplit,coldelete,rowdelete,insert,delete".split(","), +function(a,b){var d=e(b,["prop","delete"])<0?c.plugin.getSelectedCell:c.plugin.getSelectedTable;c.addContextmenu({title:c.lang("table"+b),click:function(){c.loadPlugin("table",function(){c.plugin.table[b]();c.hideMenu()})},cond:d,width:170,iconClass:"ke-icon-table"+b})});c.addContextmenu({title:"-"});h("selectall,justifyleft,justifycenter,justifyright,justifyfull,insertorderedlist,insertunorderedlist,indent,outdent,subscript,superscript,hr,print,bold,italic,underline,strikethrough,removeformat,unlink".split(","), +function(a,b){g[b]&&c.afterCreate(function(){$(this.edit.doc,g[b],function(){c.cmd.selection();c.clickToolbar(b)})});c.clickToolbar(b,function(){c.focus().exec(b,null)})});c.afterCreate(function(){function b(){g.range.moveToBookmark(e);g.select();ka&&(a("div."+i,f).each(function(){a(this).after("
                                                    ").remove(!0)}),a("span.Apple-style-span",f).remove(!0),a("span.Apple-tab-span",f).remove(!0),a("span[style]",f).each(function(){a(this).css("white-space")=="nowrap"&&a(this).remove(!0)}),a("meta",f).remove()); +var d=f[0].innerHTML;f.remove();d!==""&&(ka&&(d=d.replace(/(
                                                    )\1/ig,"$1")),c.pasteType===2&&(d=d.replace(/(<(?:p|p\s[^>]*)>) *(<\/p>)/ig,""),/schemas-microsoft-com|worddocument|mso-\w+/i.test(d)?d=U(d,c.filterMode?c.htmlTags:a.options.htmlTags):(d=H(d,c.filterMode?c.htmlTags:null),d=c.beforeSetHtml(d))),c.pasteType===1&&(d=d.replace(/ /ig," "),d=d.replace(/\n\s*\n/g,"\n"),d=d.replace(/]*>/ig,"\n"),d=d.replace(/<\/p>]*>/ig,"\n"),d=d.replace(/<[^>]+>/g,""),d=d.replace(/ {2}/g,"  "), +c.newlineTag=="p"?/\n/.test(d)&&(d=d.replace(/^/,"

                                                    ").replace(/$/,"

                                                    ").replace(/\n/g,"

                                                    ")):d=d.replace(/\n/g,"
                                                    $&")),c.insertHtml(d,!0))}var d=c.edit.doc,g,e,f,i="__kindeditor_paste__",h=!1;a(d.body).bind("paste",function(l){if(c.pasteType===0)l.stop();else if(!h){h=!0;a("div."+i,d).remove();g=c.cmd.selection();e=g.range.createBookmark();f=a('

                                                    ',d).css({position:"absolute",width:"1px",height:"1px",overflow:"hidden",left:"-1981px",top:a(e.start).pos().y+ +"px","white-space":"nowrap"});a(d.body).append(f);if(F){var n=g.range.get(!0);n.moveToElementText(f[0]);n.select();n.execCommand("paste");l.preventDefault()}else g.range.selectNodeContents(f[0]),g.select();setTimeout(function(){b();h=!1},0)}})});c.beforeGetHtml(function(a){F&&N<=8&&(a=a.replace(/]*data-ke-input-tag="([^"]*)"[^>]*>([\s\S]*?)<\/div>/ig,function(a,b){return unescape(b)}),a=a.replace(/(]*)?>)/ig,function(a,b,c){if(!/\s+type="[^"]+"/i.test(a))return b+' type="text"'+ +c;return a}));return a.replace(/(<(?:noscript|noscript\s[^>]*)>)([\s\S]*?)(<\/noscript>)/ig,function(a,b,c,d){return b+v(c).replace(/\s+/g," ")+d}).replace(/]*class="?ke-(flash|rm|media)"?[^>]*>/ig,function(a){var a=K(a),b=M(a.style||""),c=S(a["data-ke-tag"]),d=q(b.width,""),b=q(b.height,"");/px/i.test(d)&&(d=l(d));/px/i.test(b)&&(b=l(b));c.width=q(a.width,d);c.height=q(a.height,b);return Na(c)}).replace(/]*class="?ke-anchor"?[^>]*>/ig,function(a){a=K(a);return''}).replace(/]*data-ke-script-attr="([^"]*)"[^>]*>([\s\S]*?)<\/div>/ig,function(a,b,c){return""+unescape(c)+"<\/script>"}).replace(/]*data-ke-noscript-attr="([^"]*)"[^>]*>([\s\S]*?)<\/div>/ig,function(a,b,c){return""+unescape(c)+""}).replace(/(<[^>]*)data-ke-src="([^"]*)"([^>]*>)/ig,function(a,b,c){a=a.replace(/(\s+(?:href|src)=")[^"]*(")/i,function(a,b,d){return b+v(c)+d});return a=a.replace(/\s+data-ke-src="[^"]*"/i, +"")}).replace(/(<[^>]+\s)data-ke-(on\w+="[^"]*"[^>]*>)/ig,function(a,b,c){return b+c})});c.beforeSetHtml(function(a){F&&N<=8&&(a=a.replace(/]*>|<(select|button)[^>]*>[\s\S]*?<\/\1>/ig,function(a){var b=K(a);if(M(b.style||"").display=="none")return'
                                                    ';return a}));return a.replace(/]*type="([^"]+)"[^>]*>(?:<\/embed>)?/ig,function(a){a=K(a);a.src=q(a.src,"");a.width=q(a.width,0);a.height=q(a.height,0);return kb(c.themesPath+ +"common/blank.gif",a)}).replace(/]*name="([^"]+)"[^>]*>(?:<\/a>)?/ig,function(a){var b=K(a);if(b.href!==d)return a;return''}).replace(/]*)>([\s\S]*?)<\/script>/ig,function(a,b,c){return'
                                                    '+escape(c)+"
                                                    "}).replace(/]*)>([\s\S]*?)<\/noscript>/ig,function(a,b,c){return'
                                                    '+escape(c)+"
                                                    "}).replace(/(<[^>]*)(href|src)="([^"]*)"([^>]*>)/ig,function(a,b,c,d,g){if(a.match(/\sdata-ke-src="[^"]*"/i))return a;return a=b+c+'="'+d+'" data-ke-src="'+s(d)+'"'+g}).replace(/(<[^>]+\s)(on\w+="[^"]*"[^>]*>)/ig,function(a,b,c){return b+"data-ke-"+c}).replace(/]*\s+border="0"[^>]*>/ig,function(a){if(a.indexOf("ke-zeroborder")>=0)return a;return O(a,"ke-zeroborder")})})})}})(window); +KindEditor.lang({source:"HTML\u4ee3\u7801",preview:"\u9884\u89c8",undo:"\u540e\u9000(Ctrl+Z)",redo:"\u524d\u8fdb(Ctrl+Y)",cut:"\u526a\u5207(Ctrl+X)",copy:"\u590d\u5236(Ctrl+C)",paste:"\u7c98\u8d34(Ctrl+V)",plainpaste:"\u7c98\u8d34\u4e3a\u65e0\u683c\u5f0f\u6587\u672c",wordpaste:"\u4eceWord\u7c98\u8d34",selectall:"\u5168\u9009(Ctrl+A)",justifyleft:"\u5de6\u5bf9\u9f50",justifycenter:"\u5c45\u4e2d",justifyright:"\u53f3\u5bf9\u9f50",justifyfull:"\u4e24\u7aef\u5bf9\u9f50",insertorderedlist:"\u7f16\u53f7", +insertunorderedlist:"\u9879\u76ee\u7b26\u53f7",indent:"\u589e\u52a0\u7f29\u8fdb",outdent:"\u51cf\u5c11\u7f29\u8fdb",subscript:"\u4e0b\u6807",superscript:"\u4e0a\u6807",formatblock:"\u6bb5\u843d",fontname:"\u5b57\u4f53",fontsize:"\u6587\u5b57\u5927\u5c0f",forecolor:"\u6587\u5b57\u989c\u8272",hilitecolor:"\u6587\u5b57\u80cc\u666f",bold:"\u7c97\u4f53(Ctrl+B)",italic:"\u659c\u4f53(Ctrl+I)",underline:"\u4e0b\u5212\u7ebf(Ctrl+U)",strikethrough:"\u5220\u9664\u7ebf",removeformat:"\u5220\u9664\u683c\u5f0f", +image:"\u56fe\u7247",multiimage:"\u6279\u91cf\u56fe\u7247\u4e0a\u4f20",flash:"Flash",media:"\u89c6\u97f3\u9891",table:"\u8868\u683c",tablecell:"\u5355\u5143\u683c",hr:"\u63d2\u5165\u6a2a\u7ebf",emoticons:"\u63d2\u5165\u8868\u60c5",link:"\u8d85\u7ea7\u94fe\u63a5",unlink:"\u53d6\u6d88\u8d85\u7ea7\u94fe\u63a5",fullscreen:"\u5168\u5c4f\u663e\u793a",about:"\u5173\u4e8e",print:"\u6253\u5370(Ctrl+P)",filemanager:"\u6587\u4ef6\u7a7a\u95f4",code:"\u63d2\u5165\u7a0b\u5e8f\u4ee3\u7801",map:"Google\u5730\u56fe", +baidumap:"\u767e\u5ea6\u5730\u56fe",lineheight:"\u884c\u8ddd",clearhtml:"\u6e05\u7406HTML\u4ee3\u7801",pagebreak:"\u63d2\u5165\u5206\u9875\u7b26",quickformat:"\u4e00\u952e\u6392\u7248",insertfile:"\u63d2\u5165\u6587\u4ef6",template:"\u63d2\u5165\u6a21\u677f",anchor:"\u951a\u70b9",yes:"\u786e\u5b9a",no:"\u53d6\u6d88",close:"\u5173\u95ed",editImage:"\u56fe\u7247\u5c5e\u6027",deleteImage:"\u5220\u9664\u56fe\u7247",editFlash:"Flash\u5c5e\u6027",deleteFlash:"\u5220\u9664Flash",editMedia:"\u89c6\u97f3\u9891\u5c5e\u6027", +deleteMedia:"\u5220\u9664\u89c6\u97f3\u9891",editLink:"\u8d85\u7ea7\u94fe\u63a5\u5c5e\u6027",deleteLink:"\u53d6\u6d88\u8d85\u7ea7\u94fe\u63a5",editAnchor:"\u951a\u70b9\u5c5e\u6027",deleteAnchor:"\u5220\u9664\u951a\u70b9",tableprop:"\u8868\u683c\u5c5e\u6027",tablecellprop:"\u5355\u5143\u683c\u5c5e\u6027",tableinsert:"\u63d2\u5165\u8868\u683c",tabledelete:"\u5220\u9664\u8868\u683c",tablecolinsertleft:"\u5de6\u4fa7\u63d2\u5165\u5217",tablecolinsertright:"\u53f3\u4fa7\u63d2\u5165\u5217",tablerowinsertabove:"\u4e0a\u65b9\u63d2\u5165\u884c", +tablerowinsertbelow:"\u4e0b\u65b9\u63d2\u5165\u884c",tablerowmerge:"\u5411\u4e0b\u5408\u5e76\u5355\u5143\u683c",tablecolmerge:"\u5411\u53f3\u5408\u5e76\u5355\u5143\u683c",tablerowsplit:"\u62c6\u5206\u884c",tablecolsplit:"\u62c6\u5206\u5217",tablecoldelete:"\u5220\u9664\u5217",tablerowdelete:"\u5220\u9664\u884c",noColor:"\u65e0\u989c\u8272",pleaseSelectFile:"\u8bf7\u9009\u62e9\u6587\u4ef6\u3002",invalidImg:"\u8bf7\u8f93\u5165\u6709\u6548\u7684URL\u5730\u5740\u3002\n\u53ea\u5141\u8bb8jpg,gif,bmp,png\u683c\u5f0f\u3002", +invalidMedia:"\u8bf7\u8f93\u5165\u6709\u6548\u7684URL\u5730\u5740\u3002\n\u53ea\u5141\u8bb8swf,flv,mp3,wav,wma,wmv,mid,avi,mpg,asf,rm,rmvb\u683c\u5f0f\u3002",invalidWidth:"\u5bbd\u5ea6\u5fc5\u987b\u4e3a\u6570\u5b57\u3002",invalidHeight:"\u9ad8\u5ea6\u5fc5\u987b\u4e3a\u6570\u5b57\u3002",invalidBorder:"\u8fb9\u6846\u5fc5\u987b\u4e3a\u6570\u5b57\u3002",invalidUrl:"\u8bf7\u8f93\u5165\u6709\u6548\u7684URL\u5730\u5740\u3002",invalidRows:"\u884c\u6570\u4e3a\u5fc5\u9009\u9879\uff0c\u53ea\u5141\u8bb8\u8f93\u5165\u5927\u4e8e0\u7684\u6570\u5b57\u3002", +invalidCols:"\u5217\u6570\u4e3a\u5fc5\u9009\u9879\uff0c\u53ea\u5141\u8bb8\u8f93\u5165\u5927\u4e8e0\u7684\u6570\u5b57\u3002",invalidPadding:"\u8fb9\u8ddd\u5fc5\u987b\u4e3a\u6570\u5b57\u3002",invalidSpacing:"\u95f4\u8ddd\u5fc5\u987b\u4e3a\u6570\u5b57\u3002",invalidJson:"\u670d\u52a1\u5668\u53d1\u751f\u6545\u969c\u3002",uploadSuccess:"\u4e0a\u4f20\u6210\u529f\u3002",cutError:"\u60a8\u7684\u6d4f\u89c8\u5668\u5b89\u5168\u8bbe\u7f6e\u4e0d\u5141\u8bb8\u4f7f\u7528\u526a\u5207\u64cd\u4f5c\uff0c\u8bf7\u4f7f\u7528\u5feb\u6377\u952e(Ctrl+X)\u6765\u5b8c\u6210\u3002", +copyError:"\u60a8\u7684\u6d4f\u89c8\u5668\u5b89\u5168\u8bbe\u7f6e\u4e0d\u5141\u8bb8\u4f7f\u7528\u590d\u5236\u64cd\u4f5c\uff0c\u8bf7\u4f7f\u7528\u5feb\u6377\u952e(Ctrl+C)\u6765\u5b8c\u6210\u3002",pasteError:"\u60a8\u7684\u6d4f\u89c8\u5668\u5b89\u5168\u8bbe\u7f6e\u4e0d\u5141\u8bb8\u4f7f\u7528\u7c98\u8d34\u64cd\u4f5c\uff0c\u8bf7\u4f7f\u7528\u5feb\u6377\u952e(Ctrl+V)\u6765\u5b8c\u6210\u3002",ajaxLoading:"\u52a0\u8f7d\u4e2d\uff0c\u8bf7\u7a0d\u5019 ...",uploadLoading:"\u4e0a\u4f20\u4e2d\uff0c\u8bf7\u7a0d\u5019 ...", +uploadError:"\u4e0a\u4f20\u9519\u8bef","plainpaste.comment":"\u8bf7\u4f7f\u7528\u5feb\u6377\u952e(Ctrl+V)\u628a\u5185\u5bb9\u7c98\u8d34\u5230\u4e0b\u9762\u7684\u65b9\u6846\u91cc\u3002","wordpaste.comment":"\u8bf7\u4f7f\u7528\u5feb\u6377\u952e(Ctrl+V)\u628a\u5185\u5bb9\u7c98\u8d34\u5230\u4e0b\u9762\u7684\u65b9\u6846\u91cc\u3002","code.pleaseInput":"\u8bf7\u8f93\u5165\u7a0b\u5e8f\u4ee3\u7801\u3002","link.url":"URL","link.linkType":"\u6253\u5f00\u7c7b\u578b","link.newWindow":"\u65b0\u7a97\u53e3","link.selfWindow":"\u5f53\u524d\u7a97\u53e3", +"flash.url":"URL","flash.width":"\u5bbd\u5ea6","flash.height":"\u9ad8\u5ea6","flash.upload":"\u4e0a\u4f20","flash.viewServer":"\u6587\u4ef6\u7a7a\u95f4","media.url":"URL","media.width":"\u5bbd\u5ea6","media.height":"\u9ad8\u5ea6","media.autostart":"\u81ea\u52a8\u64ad\u653e","media.upload":"\u4e0a\u4f20","media.viewServer":"\u6587\u4ef6\u7a7a\u95f4","image.remoteImage":"\u7f51\u7edc\u56fe\u7247","image.localImage":"\u672c\u5730\u4e0a\u4f20","image.remoteUrl":"\u56fe\u7247\u5730\u5740","image.localUrl":"\u4e0a\u4f20\u6587\u4ef6", +"image.size":"\u56fe\u7247\u5927\u5c0f","image.width":"\u5bbd","image.height":"\u9ad8","image.resetSize":"\u91cd\u7f6e\u5927\u5c0f","image.align":"\u5bf9\u9f50\u65b9\u5f0f","image.defaultAlign":"\u9ed8\u8ba4\u65b9\u5f0f","image.leftAlign":"\u5de6\u5bf9\u9f50","image.rightAlign":"\u53f3\u5bf9\u9f50","image.imgTitle":"\u56fe\u7247\u8bf4\u660e","image.upload":"\u6d4f\u89c8...","image.viewServer":"\u56fe\u7247\u7a7a\u95f4","multiimage.uploadDesc":"\u5141\u8bb8\u7528\u6237\u540c\u65f6\u4e0a\u4f20<%=uploadLimit%>\u5f20\u56fe\u7247\uff0c\u5355\u5f20\u56fe\u7247\u5bb9\u91cf\u4e0d\u8d85\u8fc7<%=sizeLimit%>", +"multiimage.startUpload":"\u5f00\u59cb\u4e0a\u4f20","multiimage.clearAll":"\u5168\u90e8\u6e05\u7a7a","multiimage.insertAll":"\u5168\u90e8\u63d2\u5165","multiimage.queueLimitExceeded":"\u6587\u4ef6\u6570\u91cf\u8d85\u8fc7\u9650\u5236\u3002","multiimage.fileExceedsSizeLimit":"\u6587\u4ef6\u5927\u5c0f\u8d85\u8fc7\u9650\u5236\u3002","multiimage.zeroByteFile":"\u65e0\u6cd5\u4e0a\u4f20\u7a7a\u6587\u4ef6\u3002","multiimage.invalidFiletype":"\u6587\u4ef6\u7c7b\u578b\u4e0d\u6b63\u786e\u3002","multiimage.unknownError":"\u53d1\u751f\u5f02\u5e38\uff0c\u65e0\u6cd5\u4e0a\u4f20\u3002", +"multiimage.pending":"\u7b49\u5f85\u4e0a\u4f20","multiimage.uploadError":"\u4e0a\u4f20\u5931\u8d25","filemanager.emptyFolder":"\u7a7a\u6587\u4ef6\u5939","filemanager.moveup":"\u79fb\u5230\u4e0a\u4e00\u7ea7\u6587\u4ef6\u5939","filemanager.viewType":"\u663e\u793a\u65b9\u5f0f\uff1a","filemanager.viewImage":"\u7f29\u7565\u56fe","filemanager.listImage":"\u8be6\u7ec6\u4fe1\u606f","filemanager.orderType":"\u6392\u5e8f\u65b9\u5f0f\uff1a","filemanager.fileName":"\u540d\u79f0","filemanager.fileSize":"\u5927\u5c0f", +"filemanager.fileType":"\u7c7b\u578b","insertfile.url":"URL","insertfile.title":"\u6587\u4ef6\u8bf4\u660e","insertfile.upload":"\u4e0a\u4f20","insertfile.viewServer":"\u6587\u4ef6\u7a7a\u95f4","table.cells":"\u5355\u5143\u683c\u6570","table.rows":"\u884c\u6570","table.cols":"\u5217\u6570","table.size":"\u5927\u5c0f","table.width":"\u5bbd\u5ea6","table.height":"\u9ad8\u5ea6","table.percent":"%","table.px":"px","table.space":"\u8fb9\u8ddd\u95f4\u8ddd","table.padding":"\u8fb9\u8ddd","table.spacing":"\u95f4\u8ddd", +"table.align":"\u5bf9\u9f50\u65b9\u5f0f","table.textAlign":"\u6c34\u5e73\u5bf9\u9f50","table.verticalAlign":"\u5782\u76f4\u5bf9\u9f50","table.alignDefault":"\u9ed8\u8ba4","table.alignLeft":"\u5de6\u5bf9\u9f50","table.alignCenter":"\u5c45\u4e2d","table.alignRight":"\u53f3\u5bf9\u9f50","table.alignTop":"\u9876\u90e8","table.alignMiddle":"\u4e2d\u90e8","table.alignBottom":"\u5e95\u90e8","table.alignBaseline":"\u57fa\u7ebf","table.border":"\u8fb9\u6846","table.borderWidth":"\u8fb9\u6846","table.borderColor":"\u989c\u8272", +"table.backgroundColor":"\u80cc\u666f\u989c\u8272","map.address":"\u5730\u5740: ","map.search":"\u641c\u7d22","baidumap.address":"\u5730\u5740: ","baidumap.search":"\u641c\u7d22","baidumap.insertDynamicMap":"\u63d2\u5165\u52a8\u6001\u5730\u56fe","anchor.name":"\u951a\u70b9\u540d\u79f0","formatblock.formatBlock":{h1:"\u6807\u9898 1",h2:"\u6807\u9898 2",h3:"\u6807\u9898 3",h4:"\u6807\u9898 4",p:"\u6b63 \u6587"},"fontname.fontName":{SimSun:"\u5b8b\u4f53",NSimSun:"\u65b0\u5b8b\u4f53",FangSong_GB2312:"\u4eff\u5b8b_GB2312", +KaiTi_GB2312:"\u6977\u4f53_GB2312",SimHei:"\u9ed1\u4f53","Microsoft YaHei":"\u5fae\u8f6f\u96c5\u9ed1",Arial:"Arial","Arial Black":"Arial Black","Times New Roman":"Times New Roman","Courier New":"Courier New",Tahoma:"Tahoma",Verdana:"Verdana"},"lineheight.lineHeight":[{1:"\u5355\u500d\u884c\u8ddd"},{"1.5":"1.5\u500d\u884c\u8ddd"},{2:"2\u500d\u884c\u8ddd"},{"2.5":"2.5\u500d\u884c\u8ddd"},{3:"3\u500d\u884c\u8ddd"}],"template.selectTemplate":"\u53ef\u9009\u6a21\u677f","template.replaceContent":"\u66ff\u6362\u5f53\u524d\u5185\u5bb9", +"template.fileList":{"1.html":"\u56fe\u7247\u548c\u6587\u5b57","2.html":"\u8868\u683c","3.html":"\u9879\u76ee\u7f16\u53f7"}},"zh_CN"); +KindEditor.plugin("anchor",function(b){var d=this,f=d.lang("anchor.");d.plugin.anchor={edit:function(){var j=['
                                                    ','",'
                                                    '].join(""),j=d.createDialog({name:"anchor",width:300,title:d.lang("anchor"),body:j,yesBtn:{name:d.lang("yes"),click:function(){d.insertHtml('').hideDialog().focus()}}}).div, +e=b('input[name="name"]',j);(j=d.plugin.getSelectedAnchor())&&e.val(unescape(j.attr("data-ke-name")));e[0].focus();e[0].select()},"delete":function(){d.plugin.getSelectedAnchor().remove()}};d.clickToolbar("anchor",d.plugin.anchor.edit)}); +KindEditor.plugin("autoheight",function(b){function d(){var d=j.edit,f=d.doc.body;d.iframe.height(e);j.resize(null,Math.max((b.IE?f.scrollHeight:f.offsetHeight)+76,e))}function f(){e=b.removeUnit(j.height);j.edit.afterChange(d);var f=j.edit,m=f.doc.body;f.iframe[0].scroll="no";m.style.overflowY="hidden";d()}var j=this;if(j.autoHeightMode){var e;j.isCreated?f():j.afterCreate(f)}}); +KindEditor.plugin("baidumap",function(b){var d=this,f=d.lang("baidumap."),j=b.undef(d.mapWidth,558),e=b.undef(d.mapHeight,360);d.clickToolbar("baidumap",function(){function h(){v=r[0].contentWindow;p=b.iframeDoc(r)}var m=['
                                                    ',f.address+' ','','','
                                                    ',' ",'
                                                    ','
                                                    ',"
                                                    "].join(""),m=d.createDialog({name:"baidumap",width:j+42,title:d.lang("baidumap"),body:m,yesBtn:{name:d.lang("yes"),click:function(){var b=v.map,f=b.getCenter(),f=f.lng+","+f.lat, +b=b.getZoom(),b=[s[0].checked?d.pluginsPath+"baidumap/index.html":"http://api.map.baidu.com/staticimage","?center="+encodeURIComponent(f),"&zoom="+encodeURIComponent(b),"&width="+j,"&height="+e,"&markers="+encodeURIComponent(f),"&markerStyles="+encodeURIComponent("l,A")].join("");s[0].checked?d.insertHtml(''):d.exec("insertimage",b);d.hideDialog().focus()}},beforeRemove:function(){l.remove();p&&p.write(""); +r.remove()}}),n=m.div,o=b('[name="address"]',n),l=b('[name="searchBtn"]',n),s=b('[name="insertDynamicMap"]',m.div),v,p,r=b('');r.bind("load",function(){r.unbind("load");b.IE?h():setTimeout(h,0)});b(".ke-map",n).replaceWith(r);l.click(function(){v.search(o.val())})})}); +KindEditor.plugin("clearhtml",function(b){var d=this;d.clickToolbar("clearhtml",function(){d.focus();var f=d.html(),f=f.replace(/(]*>)([\s\S]*?)(<\/script>)/ig,""),f=f.replace(/(]*>)([\s\S]*?)(<\/style>)/ig,""),f=b.formatHtml(f,{a:["href","target"],embed:["src","width","height","type","loop","autostart","quality",".width",".height","align","allowscriptaccess"],img:["src","width","height","border","alt","title",".width",".height"],table:["border"],"td,th":["rowspan","colspan"],"div,hr,br,tbody,tr,p,ol,ul,li,blockquote,h1,h2,h3,h4,h5,h6":[]}); +d.html(f);d.cmd.selection(!0);d.addBookmark()})}); +KindEditor.plugin("code",function(b){var d=this;d.clickToolbar("code",function(){var f=d.lang("code."),j=d.createDialog({name:"code",width:450,title:d.lang("code"),body:'
                                                    ',yesBtn:{name:d.lang("yes"), +click:function(){var h=b(".ke-code-type",j.div).val(),m=e.val(),h='
                                                    \n'+b.escape(m)+"
                                                    ";b.trim(m)===""?(alert(f.pleaseInput),e[0].focus()):d.insertHtml(h).hideDialog().focus()}}}),e=b("textarea",j.div);e[0].focus()})}); +KindEditor.plugin("emoticons",function(b){var d=this,f=d.emoticonsPath||d.pluginsPath+"emoticons/images/",j=d.allowPreviewEmoticons===void 0?!0:d.allowPreviewEmoticons,e=1;d.clickToolbar("emoticons",function(){function h(e,h,l){B?e.mouseover(function(){h>D?(B.css("left",0),B.css("right","")):(B.css("left",""),B.css("right",0));G.attr("src",f+l+".gif");b(this).addClass("ke-on")}):e.mouseover(function(){b(this).addClass("ke-on")});e.mouseout(function(){b(this).removeClass("ke-on")});e.click(function(b){d.insertHtml('').hideMenu().focus();b.stop()})}function m(d,e){var l=document.createElement("table");e.append(l);B&&(b(l).mouseover(function(){B.show("block")}),b(l).mouseout(function(){B.hide()}),A.push(b(l)));l.className="ke-table";l.cellPadding=0;l.cellSpacing=0;l.border=0;for(var n=(d-1)*r+p,o=0;o').css("background-position","-"+24*n+"px 0px").css("background-image", +"url("+f+"static.gif)");q.append(u);A.push(q);n++}return l}function n(){b.each(A,function(){this.unbind()})}function o(b,d){b.click(function(b){n();C.parentNode.removeChild(C);u.remove();C=m(d,q);l(d);e=d;b.stop()})}function l(d){u=b('
                                                    ');q.append(u);for(var e=1;e<=z;e++){if(d!==e){var f=b('
                                                    ['+e+"]");o(f,e);u.append(f);A.push(f)}else u.append(b("@["+e+"]"));u.append(b("@ "))}}var s=5,v=9,p=0,r=s*v,z=Math.ceil(135/r),D=Math.floor(v/2),q=b('
                                                    '), +A=[];d.createMenu({name:"emoticons",beforeRemove:function(){n()}}).div.append(q);var B,G;j&&(B=b('
                                                    ').css("right",0),G=b(''),q.append(B),B.append(G));var C=m(e,q),u;l(e)})}); +KindEditor.plugin("filemanager",function(b){function d(b,d){d.is_dir?b.attr("title",d.filename):b.attr("title",d.filename+" ("+Math.ceil(d.filesize/1024)+"KB, "+d.datetime+")")}var f=this,j=b.undef(f.fileManagerJson,f.basePath+"php/file_manager_json.php"),e=f.pluginsPath+"filemanager/images/",h=f.lang("filemanager.");f.plugin.filemanagerDialog=function(m){function n(d,e,h){d="path="+d+"&order="+e+"&dir="+z;A.showLoading(f.lang("ajaxLoading"));b.ajax(b.addParam(j,d+"&"+(new Date).getTime()),function(b){A.hideLoading(); +h(b)})}function o(d,e,f,h){var l=b.formatUrl(e.current_url+f.filename,"absolute"),o=encodeURIComponent(e.current_dir_path+f.filename+"/");f.is_dir?d.click(function(){n(o,u.val(),h)}):f.is_photo?d.click(function(){q.call(this,l,f.filename)}):d.click(function(){q.call(this,l,f.filename)});I.push(d)}function l(d,e){function f(){C.val()=="VIEW"?n(d.current_dir_path,u.val(),v):n(d.current_dir_path,u.val(),s)}b.each(I,function(){this.unbind()});G.unbind();C.unbind();u.unbind();d.current_dir_path&&G.click(function(){n(d.moveup_dir_path, +u.val(),e)});C.change(f);u.change(f);B.html("")}function s(d){l(d,s);var f=document.createElement("table");f.className="ke-table";f.cellPadding=0;f.cellSpacing=0;f.border=0;B.append(f);for(var n=d.file_list,m=0,j=n.length;m'),q= +b(p[0].insertCell(0)).addClass("ke-cell ke-name").append(q).append(document.createTextNode(" "+r.filename));!r.is_dir||r.has_file?(p.css("cursor","pointer"),q.attr("title",r.filename),o(q,d,r,s)):q.attr("title",h.emptyFolder);b(p[0].insertCell(1)).addClass("ke-cell ke-size").html(r.is_dir?"-":Math.ceil(r.filesize/1024)+"KB");b(p[0].insertCell(2)).addClass("ke-cell ke-datetime").html(r.datetime)}}function v(f){l(f,v);for(var n=f.file_list,m=0,s=n.length;m'); +B.append(r);var p=b('
                                                    ').mouseover(function(){b(this).addClass("ke-on")}).mouseout(function(){b(this).removeClass("ke-on")});r.append(p);var q=f.current_url+j.filename,q=b(''+j.filename+'');!j.is_dir||j.has_file?(p.css("cursor","pointer"),d(p,j),o(p,f,j,v)):p.attr("title",h.emptyFolder);p.append(q);r.append('
                                                    '+ +j.filename+"
                                                    ")}}var p=b.undef(m.width,650),r=b.undef(m.height,510),z=b.undef(m.dirName,""),D=b.undef(m.viewType,"VIEW").toUpperCase(),q=m.clickFn,m=['
                                                    ',' ',''+h.moveup+"",'
                                                    ',h.viewType+' ",h.orderType+'
                                                    '].join(""),A=f.createDialog({name:"filemanager",width:p,height:r,title:f.lang("filemanager"), +body:m}),p=A.div,B=b(".ke-plugin-filemanager-body",p);b('[name="moveupImg"]',p);var G=b('[name="moveupLink"]',p);b('[name="viewServer"]',p);var C=b('[name="viewType"]',p),u=b('[name="orderType"]',p),I=[];C.val(D);n("",u.val(),D=="VIEW"?v:s);return A}}); +KindEditor.plugin("flash",function(b){var d=this,f=d.lang("flash."),j=b.undef(d.allowFlashUpload,!0),e=b.undef(d.allowFileManager,!1),h=b.undef(d.formatUploadUrl,!0),m=b.undef(d.extraFileUploadParams,{}),n=b.undef(d.filePostName,"imgFile"),o=b.undef(d.uploadJson,d.basePath+"php/upload_json.php");d.plugin.flash={edit:function(){var l=['
                                                    ','",'  ', +'  ','','','
                                                    ','",'
                                                    ','",'
                                                    '].join(""),s=d.createDialog({name:"flash",width:450,title:d.lang("flash"),body:l,yesBtn:{name:d.lang("yes"),click:function(){var e=b.trim(p.val()),f=r.val(),h=z.val();e=="http://"||b.invalidUrl(e)?(alert(d.lang("invalidUrl")),p[0].focus()):/^\d*$/.test(f)?/^\d*$/.test(h)?(e=b.mediaImg(d.themesPath+"common/blank.gif",{src:e,type:b.mediaType(".swf"),width:f, +height:h,quality:"high"}),d.insertHtml(e).hideDialog().focus()):(alert(d.lang("invalidHeight")),z[0].focus()):(alert(d.lang("invalidWidth")),r[0].focus())}}}),v=s.div,p=b('[name="url"]',v),l=b('[name="viewServer"]',v),r=b('[name="width"]',v),z=b('[name="height"]',v);p.val("http://");if(j){var D=b.uploadbutton({button:b(".ke-upload-button",v)[0],fieldName:n,extraParams:m,url:b.addParam(o,"dir=flash"),afterUpload:function(e){s.hideLoading();if(e.error===0){var f=e.url;h&&(f=b.formatUrl(f,"absolute")); +p.val(f);d.afterUpload&&d.afterUpload.call(d,f,e,"flash");alert(d.lang("uploadSuccess"))}else alert(e.message)},afterError:function(b){s.hideLoading();d.errorDialog(b)}});D.fileBox.change(function(){s.showLoading(d.lang("uploadLoading"));D.submit()})}else b(".ke-upload-button",v).hide();e?l.click(function(){d.loadPlugin("filemanager",function(){d.plugin.filemanagerDialog({viewType:"LIST",dirName:"flash",clickFn:function(e){d.dialogs.length>1&&(b('[name="url"]',v).val(e),d.afterSelectFile&&d.afterSelectFile.call(d, +e),d.hideDialog())}})})}):l.hide();if(l=d.plugin.getSelectedFlash()){var q=b.mediaAttrs(l.attr("data-ke-tag"));p.val(q.src);r.val(b.removeUnit(l.css("width"))||q.width||0);z.val(b.removeUnit(l.css("height"))||q.height||0)}p[0].focus();p[0].select()},"delete":function(){d.plugin.getSelectedFlash().remove();d.addBookmark()}};d.clickToolbar("flash",d.plugin.flash.edit)}); +KindEditor.plugin("image",function(b){var d=this,f=b.undef(d.allowImageUpload,!0),j=b.undef(d.allowImageRemote,!0),e=b.undef(d.formatUploadUrl,!0),h=b.undef(d.allowFileManager,!1),m=b.undef(d.uploadJson,d.basePath+"php/upload_json.php"),n=b.undef(d.imageTabIndex,0),o=d.pluginsPath+"image/images/",l=b.undef(d.extraFileUploadParams,{}),s=b.undef(d.filePostName,"imgFile"),v=b.undef(d.fillDescAfterUploadImage,!1),p=d.lang("image.");d.plugin.imageDialog=function(f){function n(b,d){M.val(b);K.val(d);W= +b;S=d}b.undef(f.imageWidth,"");b.undef(f.imageHeight,"");b.undef(f.imageTitle,"");b.undef(f.imageAlign,"");var j=b.undef(f.showRemote,!0),q=b.undef(f.showLocal,!0),A=b.undef(f.tabIndex,0),B=f.clickFn,G="kindeditor_upload_iframe_"+(new Date).getTime(),C=[],u;for(u in l)C.push('');var C=['
                                                    "].join(""),I=d.createDialog({name:"image",width:q|| +h?450:400,height:q&&j?300:250,title:d.lang("image"),body:C,yesBtn:{name:d.lang("yes"),click:function(){if(!I.isLoading)if(q&&j&&H&&H.selectedIndex===1||!j)U.fileBox.val()==""?alert(d.lang("pleaseSelectFile")):(I.showLoading(d.lang("uploadLoading")),U.submit(),qa.val(""));else{var e=b.trim(T.val()),f=M.val(),h=K.val(),l=Q.val(),n="";R.each(function(){if(this.checked)return n=this.value,!1});e=="http://"||b.invalidUrl(e)?(alert(d.lang("invalidUrl")),T[0].focus()):/^\d*$/.test(f)?/^\d*$/.test(h)?B.call(d, +e,l,f,h,0,n):(alert(d.lang("invalidHeight")),K[0].focus()):(alert(d.lang("invalidWidth")),M[0].focus())}}},beforeRemove:function(){$.unbind();M.unbind();K.unbind();O.unbind()}}),E=I.div,T=b('[name="url"]',E),qa=b('[name="localUrl"]',E),$=b('[name="viewServer"]',E),M=b('.tab1 [name="width"]',E),K=b('.tab1 [name="height"]',E),O=b(".ke-refresh-btn",E),Q=b('.tab1 [name="title"]',E),R=b('.tab1 [name="align"]',E),H;j&&q?(H=b.tabs({src:b(".tabs",E),afterSelect:function(){}}),H.add({title:p.remoteImage,panel:b(".tab1", +E)}),H.add({title:p.localImage,panel:b(".tab2",E)}),H.select(A)):j?b(".tab1",E).show():q&&b(".tab2",E).show();var U=b.uploadbutton({button:b(".ke-upload-button",E)[0],fieldName:s,form:b(".ke-form",E),target:G,width:60,afterUpload:function(f){I.hideLoading();if(f.error===0){var h=f.url;e&&(h=b.formatUrl(h,"absolute"));d.afterUpload&&d.afterUpload.call(d,h,f,"image");v?(b(".ke-dialog-row #remoteUrl",E).val(h),b(".ke-tabs-li",E)[0].click(),b(".ke-refresh-btn",E).click()):B.call(d,h,f.title,f.width,f.height, +f.border,f.align)}else alert(f.message)},afterError:function(b){I.hideLoading();d.errorDialog(b)}});U.fileBox.change(function(){qa.val(U.fileBox.val())});h?$.click(function(){d.loadPlugin("filemanager",function(){d.plugin.filemanagerDialog({viewType:"VIEW",dirName:"image",clickFn:function(e){d.dialogs.length>1&&(b('[name="url"]',E).val(e),d.afterSelectFile&&d.afterSelectFile.call(d,e),d.hideDialog())}})})}):$.hide();var W=0,S=0;O.click(function(){var d=b('',document).css({position:"absolute", +visibility:"hidden",top:0,left:"-1000px"});d.bind("load",function(){n(d.width(),d.height());d.remove()});b(document.body).append(d)});M.change(function(){W>0&&K.val(Math.round(S/W*parseInt(this.value,10)))});K.change(function(){S>0&&M.val(Math.round(W/S*parseInt(this.value,10)))});T.val(f.imageUrl);n(f.imageWidth,f.imageHeight);Q.val(f.imageTitle);R.each(function(){if(this.value===f.imageAlign)return this.checked=!0,!1});j&&A===0&&(T[0].focus(),T[0].select());return I};d.plugin.image={edit:function(){var b= +d.plugin.getSelectedImage();d.plugin.imageDialog({imageUrl:b?b.attr("data-ke-src"):"http://",imageWidth:b?b.width():"",imageHeight:b?b.height():"",imageTitle:b?b.attr("title"):"",imageAlign:b?b.attr("align"):"",showRemote:j,showLocal:f,tabIndex:b?0:n,clickFn:function(e,f,h,l,n,o){b?(b.attr("src",e),b.attr("data-ke-src",e),b.attr("width",h),b.attr("height",l),b.attr("title",f),b.attr("align",o),b.attr("alt",f)):d.exec("insertimage",e,f,h,l,n,o);setTimeout(function(){d.hideDialog().focus()},0)}})}, +"delete":function(){var b=d.plugin.getSelectedImage();b.parent().name=="a"&&(b=b.parent());b.remove();d.addBookmark()}};d.clickToolbar("image",d.plugin.image.edit)}); +KindEditor.plugin("insertfile",function(b){var d=this,f=b.undef(d.allowFileUpload,!0),j=b.undef(d.allowFileManager,!1),e=b.undef(d.formatUploadUrl,!0),h=b.undef(d.uploadJson,d.basePath+"php/upload_json.php"),m=b.undef(d.extraFileUploadParams,{}),n=b.undef(d.filePostName,"imgFile"),o=d.lang("insertfile.");d.plugin.fileDialog=function(l){var s=b.undef(l.fileUrl,"http://"),v=b.undef(l.fileTitle,""),p=l.clickFn,l=['
                                                    ','",'  ','  ','','','
                                                    ','",'
                                                    '].join(""), +r=d.createDialog({name:"insertfile",width:450,title:d.lang("insertfile"),body:l,yesBtn:{name:d.lang("yes"),click:function(){var e=b.trim(D.val()),f=q.val();e=="http://"||b.invalidUrl(e)?(alert(d.lang("invalidUrl")),D[0].focus()):(b.trim(f)===""&&(f=e),p.call(d,e,f))}}}),z=r.div,D=b('[name="url"]',z),l=b('[name="viewServer"]',z),q=b('[name="title"]',z);if(f){var A=b.uploadbutton({button:b(".ke-upload-button",z)[0],fieldName:n,url:b.addParam(h,"dir=file"),extraParams:m,afterUpload:function(f){r.hideLoading(); +if(f.error===0){var h=f.url;e&&(h=b.formatUrl(h,"absolute"));D.val(h);d.afterUpload&&d.afterUpload.call(d,h,f,"insertfile");alert(d.lang("uploadSuccess"))}else alert(f.message)},afterError:function(b){r.hideLoading();d.errorDialog(b)}});A.fileBox.change(function(){r.showLoading(d.lang("uploadLoading"));A.submit()})}else b(".ke-upload-button",z).hide();j?l.click(function(){d.loadPlugin("filemanager",function(){d.plugin.filemanagerDialog({viewType:"LIST",dirName:"file",clickFn:function(e){d.dialogs.length> +1&&(b('[name="url"]',z).val(e),d.afterSelectFile&&d.afterSelectFile.call(d,e),d.hideDialog())}})})}):l.hide();D.val(s);q.val(v);D[0].focus();D[0].select()};d.clickToolbar("insertfile",function(){d.plugin.fileDialog({clickFn:function(b,e){d.insertHtml(''+e+"").hideDialog().focus()}})})}); +KindEditor.plugin("lineheight",function(b){var d=this,f=d.lang("lineheight.");d.clickToolbar("lineheight",function(){var j="",e=d.cmd.commonNode({"*":".line-height"});e&&(j=e.css("line-height"));var h=d.createMenu({name:"lineheight",width:150});b.each(f.lineHeight,function(e,f){b.each(f,function(b,e){h.addItem({title:e,checked:j===b,click:function(){d.cmd.toggle('',{span:".line-height="+b});d.updateState();d.addBookmark();d.hideMenu()}})})})})}); +KindEditor.plugin("link",function(b){var d=this;d.plugin.link={edit:function(){var f=d.lang("link."),j='
                                                    ',j=d.createDialog({name:"link",width:450,title:d.lang("link"), +body:j,yesBtn:{name:d.lang("yes"),click:function(){var f=b.trim(e.val());f=="http://"||b.invalidUrl(f)?(alert(d.lang("invalidUrl")),e[0].focus()):d.exec("createlink",f,h.val()).hideDialog().focus()}}}).div,e=b('input[name="url"]',j),h=b('select[name="type"]',j);e.val("http://");h[0].options[0]=new Option(f.newWindow,"_blank");h[0].options[1]=new Option(f.selfWindow,"");d.cmd.selection();if(f=d.plugin.getSelectedLink())d.cmd.range.selectNode(f[0]),d.cmd.select(),e.val(f.attr("data-ke-src")),h.val(f.attr("target")); +e[0].focus();e[0].select()},"delete":function(){d.exec("unlink",null)}};d.clickToolbar("link",d.plugin.link.edit)}); +KindEditor.plugin("map",function(b){var d=this,f=d.lang("map.");d.clickToolbar("map",function(){function j(){n=l[0].contentWindow;o=b.iframeDoc(l)}var e=['
                                                    ',f.address+' ','','','
                                                    '].join(""), +e=d.createDialog({name:"map",width:600,title:d.lang("map"),body:e,yesBtn:{name:d.lang("yes"),click:function(){var b=n.map,e=b.getCenter().lat()+","+b.getCenter().lng(),f=b.getZoom(),b=b.getMapTypeId(),h="http://maps.googleapis.com/maps/api/staticmap";h+="?center="+encodeURIComponent(e);h+="&zoom="+encodeURIComponent(f);h+="&size=558x360";h+="&maptype="+encodeURIComponent(b);h+="&markers="+encodeURIComponent(e);h+="&language="+d.langType;h+="&sensor=false";d.exec("insertimage",h).hideDialog().focus()}}, +beforeRemove:function(){m.remove();o&&o.write("");l.remove()}}).div,h=b('[name="address"]',e),m=b('[name="searchBtn"]',e),n,o;['\n\n',''; + }) + .replace(/]*data-ke-noscript-attr="([^"]*)"[^>]*>([\s\S]*?)<\/div>/ig, function(full, attr, code) { + return '' + unescape(code) + ''; + }) + .replace(/(<[^>]*)data-ke-src="([^"]*)"([^>]*>)/ig, function(full, start, src, end) { + full = full.replace(/(\s+(?:href|src)=")[^"]*(")/i, function($0, $1, $2) { + return $1 + _unescape(src) + $2; + }); + full = full.replace(/\s+data-ke-src="[^"]*"/i, ''); + return full; + }) + .replace(/(<[^>]+\s)data-ke-(on\w+="[^"]*"[^>]*>)/ig, function(full, start, end) { + return start + end; + }); + }); + self.beforeSetHtml(function(html) { + if (_IE && _V <= 8) { + html = html.replace(/]*>|<(select|button)[^>]*>[\s\S]*?<\/\1>/ig, function(full) { + var attrs = _getAttrList(full); + var styles = _getCssList(attrs.style || ''); + if (styles.display == 'none') { + return '
                                                    '; + } + return full; + }); + } + return html.replace(/]*type="([^"]+)"[^>]*>(?:<\/embed>)?/ig, function(full) { + var attrs = _getAttrList(full); + attrs.src = _undef(attrs.src, ''); + attrs.width = _undef(attrs.width, 0); + attrs.height = _undef(attrs.height, 0); + return _mediaImg(self.themesPath + 'common/blank.gif', attrs); + }) + .replace(/]*name="([^"]+)"[^>]*>(?:<\/a>)?/ig, function(full) { + var attrs = _getAttrList(full); + if (attrs.href !== undefined) { + return full; + } + return ''; + }) + .replace(/]*)>([\s\S]*?)<\/script>/ig, function(full, attr, code) { + return '
                                                    ' + escape(code) + '
                                                    '; + }) + .replace(/]*)>([\s\S]*?)<\/noscript>/ig, function(full, attr, code) { + return '
                                                    ' + escape(code) + '
                                                    '; + }) + .replace(/(<[^>]*)(href|src)="([^"]*)"([^>]*>)/ig, function(full, start, key, src, end) { + if (full.match(/\sdata-ke-src="[^"]*"/i)) { + return full; + } + full = start + key + '="' + src + '"' + ' data-ke-src="' + _escape(src) + '"' + end; + return full; + }) + .replace(/(<[^>]+\s)(on\w+="[^"]*"[^>]*>)/ig, function(full, start, end) { + return start + 'data-ke-' + end; + }) + .replace(/]*\s+border="0"[^>]*>/ig, function(full) { + if (full.indexOf('ke-zeroborder') >= 0) { + return full; + } + return _addClassToTag(full, 'ke-zeroborder'); + }); + }); +}); +})(window); +/******************************************************************************* +* KindEditor - WYSIWYG HTML Editor for Internet +* Copyright (C) 2006-2011 kindsoft.net +* +* @author Roddy +* @site http://www.kindsoft.net/ +* @licence http://www.kindsoft.net/license.php +*******************************************************************************/ + +KindEditor.lang({ + source : 'HTML代码', + preview : '预览', + undo : '后退(Ctrl+Z)', + redo : '前进(Ctrl+Y)', + cut : '剪切(Ctrl+X)', + copy : '复制(Ctrl+C)', + paste : '粘贴(Ctrl+V)', + plainpaste : '粘贴为无格式文本', + wordpaste : '从Word粘贴', + selectall : '全选(Ctrl+A)', + justifyleft : '左对齐', + justifycenter : '居中', + justifyright : '右对齐', + justifyfull : '两端对齐', + insertorderedlist : '编号', + insertunorderedlist : '项目符号', + indent : '增加缩进', + outdent : '减少缩进', + subscript : '下标', + superscript : '上标', + formatblock : '段落', + fontname : '字体', + fontsize : '文字大小', + forecolor : '文字颜色', + hilitecolor : '文字背景', + bold : '粗体(Ctrl+B)', + italic : '斜体(Ctrl+I)', + underline : '下划线(Ctrl+U)', + strikethrough : '删除线', + removeformat : '删除格式', + image : '图片', + multiimage : '批量图片上传', + flash : 'Flash', + media : '视音频', + table : '表格', + tablecell : '单元格', + hr : '插入横线', + emoticons : '插入表情', + link : '超级链接', + unlink : '取消超级链接', + fullscreen : '全屏显示', + about : '关于', + print : '打印(Ctrl+P)', + filemanager : '文件空间', + code : '插入程序代码', + map : 'Google地图', + baidumap : '百度地图', + lineheight : '行距', + clearhtml : '清理HTML代码', + pagebreak : '插入分页符', + quickformat : '一键排版', + insertfile : '插入文件', + template : '插入模板', + anchor : '锚点', + yes : '确定', + no : '取消', + close : '关闭', + editImage : '图片属性', + deleteImage : '删除图片', + editFlash : 'Flash属性', + deleteFlash : '删除Flash', + editMedia : '视音频属性', + deleteMedia : '删除视音频', + editLink : '超级链接属性', + deleteLink : '取消超级链接', + editAnchor : '锚点属性', + deleteAnchor : '删除锚点', + tableprop : '表格属性', + tablecellprop : '单元格属性', + tableinsert : '插入表格', + tabledelete : '删除表格', + tablecolinsertleft : '左侧插入列', + tablecolinsertright : '右侧插入列', + tablerowinsertabove : '上方插入行', + tablerowinsertbelow : '下方插入行', + tablerowmerge : '向下合并单元格', + tablecolmerge : '向右合并单元格', + tablerowsplit : '拆分行', + tablecolsplit : '拆分列', + tablecoldelete : '删除列', + tablerowdelete : '删除行', + noColor : '无颜色', + pleaseSelectFile : '请选择文件。', + invalidImg : "请输入有效的URL地址。\n只允许jpg,gif,bmp,png格式。", + invalidMedia : "请输入有效的URL地址。\n只允许swf,flv,mp3,wav,wma,wmv,mid,avi,mpg,asf,rm,rmvb格式。", + invalidWidth : "宽度必须为数字。", + invalidHeight : "高度必须为数字。", + invalidBorder : "边框必须为数字。", + invalidUrl : "请输入有效的URL地址。", + invalidRows : '行数为必选项,只允许输入大于0的数字。', + invalidCols : '列数为必选项,只允许输入大于0的数字。', + invalidPadding : '边距必须为数字。', + invalidSpacing : '间距必须为数字。', + invalidJson : '服务器发生故障。', + uploadSuccess : '上传成功。', + cutError : '您的浏览器安全设置不允许使用剪切操作,请使用快捷键(Ctrl+X)来完成。', + copyError : '您的浏览器安全设置不允许使用复制操作,请使用快捷键(Ctrl+C)来完成。', + pasteError : '您的浏览器安全设置不允许使用粘贴操作,请使用快捷键(Ctrl+V)来完成。', + ajaxLoading : '加载中,请稍候 ...', + uploadLoading : '上传中,请稍候 ...', + uploadError : '上传错误', + 'plainpaste.comment' : '请使用快捷键(Ctrl+V)把内容粘贴到下面的方框里。', + 'wordpaste.comment' : '请使用快捷键(Ctrl+V)把内容粘贴到下面的方框里。', + 'code.pleaseInput' : '请输入程序代码。', + 'link.url' : 'URL', + 'link.linkType' : '打开类型', + 'link.newWindow' : '新窗口', + 'link.selfWindow' : '当前窗口', + 'flash.url' : 'URL', + 'flash.width' : '宽度', + 'flash.height' : '高度', + 'flash.upload' : '上传', + 'flash.viewServer' : '文件空间', + 'media.url' : 'URL', + 'media.width' : '宽度', + 'media.height' : '高度', + 'media.autostart' : '自动播放', + 'media.upload' : '上传', + 'media.viewServer' : '文件空间', + 'image.remoteImage' : '网络图片', + 'image.localImage' : '本地上传', + 'image.remoteUrl' : '图片地址', + 'image.localUrl' : '上传文件', + 'image.size' : '图片大小', + 'image.width' : '宽', + 'image.height' : '高', + 'image.resetSize' : '重置大小', + 'image.align' : '对齐方式', + 'image.defaultAlign' : '默认方式', + 'image.leftAlign' : '左对齐', + 'image.rightAlign' : '右对齐', + 'image.imgTitle' : '图片说明', + 'image.upload' : '浏览...', + 'image.viewServer' : '图片空间', + 'multiimage.uploadDesc' : '允许用户同时上传<%=uploadLimit%>张图片,单张图片容量不超过<%=sizeLimit%>', + 'multiimage.startUpload' : '开始上传', + 'multiimage.clearAll' : '全部清空', + 'multiimage.insertAll' : '全部插入', + 'multiimage.queueLimitExceeded' : '文件数量超过限制。', + 'multiimage.fileExceedsSizeLimit' : '文件大小超过限制。', + 'multiimage.zeroByteFile' : '无法上传空文件。', + 'multiimage.invalidFiletype' : '文件类型不正确。', + 'multiimage.unknownError' : '发生异常,无法上传。', + 'multiimage.pending' : '等待上传', + 'multiimage.uploadError' : '上传失败', + 'filemanager.emptyFolder' : '空文件夹', + 'filemanager.moveup' : '移到上一级文件夹', + 'filemanager.viewType' : '显示方式:', + 'filemanager.viewImage' : '缩略图', + 'filemanager.listImage' : '详细信息', + 'filemanager.orderType' : '排序方式:', + 'filemanager.fileName' : '名称', + 'filemanager.fileSize' : '大小', + 'filemanager.fileType' : '类型', + 'insertfile.url' : 'URL', + 'insertfile.title' : '文件说明', + 'insertfile.upload' : '上传', + 'insertfile.viewServer' : '文件空间', + 'table.cells' : '单元格数', + 'table.rows' : '行数', + 'table.cols' : '列数', + 'table.size' : '大小', + 'table.width' : '宽度', + 'table.height' : '高度', + 'table.percent' : '%', + 'table.px' : 'px', + 'table.space' : '边距间距', + 'table.padding' : '边距', + 'table.spacing' : '间距', + 'table.align' : '对齐方式', + 'table.textAlign' : '水平对齐', + 'table.verticalAlign' : '垂直对齐', + 'table.alignDefault' : '默认', + 'table.alignLeft' : '左对齐', + 'table.alignCenter' : '居中', + 'table.alignRight' : '右对齐', + 'table.alignTop' : '顶部', + 'table.alignMiddle' : '中部', + 'table.alignBottom' : '底部', + 'table.alignBaseline' : '基线', + 'table.border' : '边框', + 'table.borderWidth' : '边框', + 'table.borderColor' : '颜色', + 'table.backgroundColor' : '背景颜色', + 'map.address' : '地址: ', + 'map.search' : '搜索', + 'baidumap.address' : '地址: ', + 'baidumap.search' : '搜索', + 'baidumap.insertDynamicMap' : '插入动态地图', + 'anchor.name' : '锚点名称', + 'formatblock.formatBlock' : { + h1 : '标题 1', + h2 : '标题 2', + h3 : '标题 3', + h4 : '标题 4', + p : '正 文' + }, + 'fontname.fontName' : { + 'SimSun' : '宋体', + 'NSimSun' : '新宋体', + 'FangSong_GB2312' : '仿宋_GB2312', + 'KaiTi_GB2312' : '楷体_GB2312', + 'SimHei' : '黑体', + 'Microsoft YaHei' : '微软雅黑', + 'Arial' : 'Arial', + 'Arial Black' : 'Arial Black', + 'Times New Roman' : 'Times New Roman', + 'Courier New' : 'Courier New', + 'Tahoma' : 'Tahoma', + 'Verdana' : 'Verdana' + }, + 'lineheight.lineHeight' : [ + {'1' : '单倍行距'}, + {'1.5' : '1.5倍行距'}, + {'2' : '2倍行距'}, + {'2.5' : '2.5倍行距'}, + {'3' : '3倍行距'} + ], + 'template.selectTemplate' : '可选模板', + 'template.replaceContent' : '替换当前内容', + 'template.fileList' : { + '1.html' : '图片和文字', + '2.html' : '表格', + '3.html' : '项目编号' + } +}, 'zh_CN'); +/******************************************************************************* +* KindEditor - WYSIWYG HTML Editor for Internet +* Copyright (C) 2006-2011 kindsoft.net +* +* @author Roddy +* @site http://www.kindsoft.net/ +* @licence http://www.kindsoft.net/license.php +*******************************************************************************/ + +KindEditor.plugin('anchor', function(K) { + var self = this, name = 'anchor', lang = self.lang(name + '.'); + self.plugin.anchor = { + edit : function() { + var html = ['
                                                    ', + '
                                                    ', + '', + '', + '
                                                    ', + '
                                                    '].join(''); + var dialog = self.createDialog({ + name : name, + width : 300, + title : self.lang(name), + body : html, + yesBtn : { + name : self.lang('yes'), + click : function(e) { + self.insertHtml('').hideDialog().focus(); + } + } + }); + var div = dialog.div, + nameBox = K('input[name="name"]', div); + var img = self.plugin.getSelectedAnchor(); + if (img) { + nameBox.val(unescape(img.attr('data-ke-name'))); + } + nameBox[0].focus(); + nameBox[0].select(); + }, + 'delete' : function() { + self.plugin.getSelectedAnchor().remove(); + } + }; + self.clickToolbar(name, self.plugin.anchor.edit); +}); +/******************************************************************************* +* KindEditor - WYSIWYG HTML Editor for Internet +* Copyright (C) 2006-2011 kindsoft.net +* +* @author Roddy +* @site http://www.kindsoft.net/ +* @licence http://www.kindsoft.net/license.php +*******************************************************************************/ + +KindEditor.plugin('autoheight', function(K) { + var self = this; + + if (!self.autoHeightMode) { + return; + } + + var minHeight; + + function hideScroll() { + var edit = self.edit; + var body = edit.doc.body; + edit.iframe[0].scroll = 'no'; + body.style.overflowY = 'hidden'; + } + + function resetHeight() { + var edit = self.edit; + var body = edit.doc.body; + edit.iframe.height(minHeight); + self.resize(null, Math.max((K.IE ? body.scrollHeight : body.offsetHeight) + 76, minHeight)); + } + + function init() { + minHeight = K.removeUnit(self.height); + + self.edit.afterChange(resetHeight); + hideScroll(); + resetHeight(); + } + + if (self.isCreated) { + init(); + } else { + self.afterCreate(init); + } +}); + +/* +* 如何实现真正的自动高度? +* 修改编辑器高度之后,再次获取body内容高度时,最小值只会是当前iframe的设置高度,这样就导致高度只增不减。 +* 所以每次获取body内容高度之前,先将iframe的高度重置为最小高度,这样就能获取body的实际高度。 +* 由此就实现了真正的自动高度 +* 测试:chrome、firefox、IE9、IE8 +* */ +/******************************************************************************* +* KindEditor - WYSIWYG HTML Editor for Internet +* Copyright (C) 2006-2011 kindsoft.net +* +* @author Roddy +* @site http://www.kindsoft.net/ +* @licence http://www.kindsoft.net/license.php +*******************************************************************************/ + +// Baidu Maps: http://dev.baidu.com/wiki/map/index.php?title=%E9%A6%96%E9%A1%B5 + +KindEditor.plugin('baidumap', function(K) { + var self = this, name = 'baidumap', lang = self.lang(name + '.'); + var mapWidth = K.undef(self.mapWidth, 558); + var mapHeight = K.undef(self.mapHeight, 360); + self.clickToolbar(name, function() { + var html = ['
                                                    ', + '
                                                    ', + // left start + '
                                                    ', + lang.address + ' ', + '', + '', + '', + '
                                                    ', + // right start + '
                                                    ', + ' ', + '
                                                    ', + '
                                                    ', + '
                                                    ', + '
                                                    ', + '
                                                    '].join(''); + var dialog = self.createDialog({ + name : name, + width : mapWidth + 42, + title : self.lang(name), + body : html, + yesBtn : { + name : self.lang('yes'), + click : function(e) { + var map = win.map; + var centerObj = map.getCenter(); + var center = centerObj.lng + ',' + centerObj.lat; + var zoom = map.getZoom(); + var url = [checkbox[0].checked ? self.pluginsPath + 'baidumap/index.html' : 'http://api.map.baidu.com/staticimage', + '?center=' + encodeURIComponent(center), + '&zoom=' + encodeURIComponent(zoom), + '&width=' + mapWidth, + '&height=' + mapHeight, + '&markers=' + encodeURIComponent(center), + '&markerStyles=' + encodeURIComponent('l,A')].join(''); + if (checkbox[0].checked) { + self.insertHtml(''); + } else { + self.exec('insertimage', url); + } + self.hideDialog().focus(); + } + }, + beforeRemove : function() { + searchBtn.remove(); + if (doc) { + doc.write(''); + } + iframe.remove(); + } + }); + var div = dialog.div, + addressBox = K('[name="address"]', div), + searchBtn = K('[name="searchBtn"]', div), + checkbox = K('[name="insertDynamicMap"]', dialog.div), + win, doc; + var iframe = K(''); + function ready() { + win = iframe[0].contentWindow; + doc = K.iframeDoc(iframe); + } + iframe.bind('load', function() { + iframe.unbind('load'); + if (K.IE) { + ready(); + } else { + setTimeout(ready, 0); + } + }); + K('.ke-map', div).replaceWith(iframe); + // search map + searchBtn.click(function() { + win.search(addressBox.val()); + }); + }); +}); +/******************************************************************************* +* KindEditor - WYSIWYG HTML Editor for Internet +* Copyright (C) 2006-2011 kindsoft.net +* +* @author Roddy +* @site http://www.kindsoft.net/ +* @licence http://www.kindsoft.net/license.php +*******************************************************************************/ + +KindEditor.plugin('clearhtml', function(K) { + var self = this, name = 'clearhtml'; + self.clickToolbar(name, function() { + self.focus(); + var html = self.html(); + html = html.replace(/(]*>)([\s\S]*?)(<\/script>)/ig, ''); + html = html.replace(/(]*>)([\s\S]*?)(<\/style>)/ig, ''); + html = K.formatHtml(html, { + a : ['href', 'target'], + embed : ['src', 'width', 'height', 'type', 'loop', 'autostart', 'quality', '.width', '.height', 'align', 'allowscriptaccess'], + img : ['src', 'width', 'height', 'border', 'alt', 'title', '.width', '.height'], + table : ['border'], + 'td,th' : ['rowspan', 'colspan'], + 'div,hr,br,tbody,tr,p,ol,ul,li,blockquote,h1,h2,h3,h4,h5,h6' : [] + }); + self.html(html); + self.cmd.selection(true); + self.addBookmark(); + }); +}); +/******************************************************************************* +* KindEditor - WYSIWYG HTML Editor for Internet +* Copyright (C) 2006-2011 kindsoft.net +* +* @author Roddy +* @site http://www.kindsoft.net/ +* @licence http://www.kindsoft.net/license.php +*******************************************************************************/ + +// google code prettify: http://google-code-prettify.googlecode.com/ +// http://google-code-prettify.googlecode.com/ + +KindEditor.plugin('code', function(K) { + var self = this, name = 'code'; + self.clickToolbar(name, function() { + var lang = self.lang(name + '.'), + html = ['
                                                    ', + '
                                                    ', + '', + '
                                                    ', + '', + '
                                                    '].join(''), + dialog = self.createDialog({ + name : name, + width : 450, + title : self.lang(name), + body : html, + yesBtn : { + name : self.lang('yes'), + click : function(e) { + var type = K('.ke-code-type', dialog.div).val(), + code = textarea.val(), + cls = type === '' ? '' : ' lang-' + type, + html = '
                                                    \n' + K.escape(code) + '
                                                    '; + if (K.trim(code) === '') { + alert(lang.pleaseInput); + textarea[0].focus(); + return; + } + self.insertHtml(html).hideDialog().focus(); + } + } + }), + textarea = K('textarea', dialog.div); + textarea[0].focus(); + }); +}); +/******************************************************************************* +* KindEditor - WYSIWYG HTML Editor for Internet +* Copyright (C) 2006-2011 kindsoft.net +* +* @author Roddy +* @site http://www.kindsoft.net/ +* @licence http://www.kindsoft.net/license.php +*******************************************************************************/ + +KindEditor.plugin('emoticons', function(K) { + var self = this, name = 'emoticons', + path = (self.emoticonsPath || self.pluginsPath + 'emoticons/images/'), + allowPreview = self.allowPreviewEmoticons === undefined ? true : self.allowPreviewEmoticons, + currentPageNum = 1; + self.clickToolbar(name, function() { + var rows = 5, cols = 9, total = 135, startNum = 0, + cells = rows * cols, pages = Math.ceil(total / cells), + colsHalf = Math.floor(cols / 2), + wrapperDiv = K('
                                                    '), + elements = [], + menu = self.createMenu({ + name : name, + beforeRemove : function() { + removeEvent(); + } + }); + menu.div.append(wrapperDiv); + var previewDiv, previewImg; + if (allowPreview) { + previewDiv = K('
                                                    ').css('right', 0); + previewImg = K(''); + wrapperDiv.append(previewDiv); + previewDiv.append(previewImg); + } + function bindCellEvent(cell, j, num) { + if (previewDiv) { + cell.mouseover(function() { + if (j > colsHalf) { + previewDiv.css('left', 0); + previewDiv.css('right', ''); + } else { + previewDiv.css('left', ''); + previewDiv.css('right', 0); + } + previewImg.attr('src', path + num + '.gif'); + K(this).addClass('ke-on'); + }); + } else { + cell.mouseover(function() { + K(this).addClass('ke-on'); + }); + } + cell.mouseout(function() { + K(this).removeClass('ke-on'); + }); + cell.click(function(e) { + self.insertHtml('').hideMenu().focus(); + e.stop(); + }); + } + function createEmoticonsTable(pageNum, parentDiv) { + var table = document.createElement('table'); + parentDiv.append(table); + if (previewDiv) { + K(table).mouseover(function() { + previewDiv.show('block'); + }); + K(table).mouseout(function() { + previewDiv.hide(); + }); + elements.push(K(table)); + } + table.className = 'ke-table'; + table.cellPadding = 0; + table.cellSpacing = 0; + table.border = 0; + var num = (pageNum - 1) * cells + startNum; + for (var i = 0; i < rows; i++) { + var row = table.insertRow(i); + for (var j = 0; j < cols; j++) { + var cell = K(row.insertCell(j)); + cell.addClass('ke-cell'); + bindCellEvent(cell, j, num); + var span = K('') + .css('background-position', '-' + (24 * num) + 'px 0px') + .css('background-image', 'url(' + path + 'static.gif)'); + cell.append(span); + elements.push(cell); + num++; + } + } + return table; + } + var table = createEmoticonsTable(currentPageNum, wrapperDiv); + function removeEvent() { + K.each(elements, function() { + this.unbind(); + }); + } + var pageDiv; + function bindPageEvent(el, pageNum) { + el.click(function(e) { + removeEvent(); + table.parentNode.removeChild(table); + pageDiv.remove(); + table = createEmoticonsTable(pageNum, wrapperDiv); + createPageTable(pageNum); + currentPageNum = pageNum; + e.stop(); + }); + } + function createPageTable(currentPageNum) { + pageDiv = K('
                                                    '); + wrapperDiv.append(pageDiv); + for (var pageNum = 1; pageNum <= pages; pageNum++) { + if (currentPageNum !== pageNum) { + var a = K('
                                                    [' + pageNum + ']'); + bindPageEvent(a, pageNum); + pageDiv.append(a); + elements.push(a); + } else { + pageDiv.append(K('@[' + pageNum + ']')); + } + pageDiv.append(K('@ ')); + } + } + createPageTable(currentPageNum); + }); +}); +/******************************************************************************* +* KindEditor - WYSIWYG HTML Editor for Internet +* Copyright (C) 2006-2011 kindsoft.net +* +* @author Roddy +* @site http://www.kindsoft.net/ +* @licence http://www.kindsoft.net/license.php +*******************************************************************************/ + +KindEditor.plugin('filemanager', function(K) { + var self = this, name = 'filemanager', + fileManagerJson = K.undef(self.fileManagerJson, self.basePath + 'php/file_manager_json.php'), + imgPath = self.pluginsPath + name + '/images/', + lang = self.lang(name + '.'); + function makeFileTitle(filename, filesize, datetime) { + return filename + ' (' + Math.ceil(filesize / 1024) + 'KB, ' + datetime + ')'; + } + function bindTitle(el, data) { + if (data.is_dir) { + el.attr('title', data.filename); + } else { + el.attr('title', makeFileTitle(data.filename, data.filesize, data.datetime)); + } + } + self.plugin.filemanagerDialog = function(options) { + var width = K.undef(options.width, 650), + height = K.undef(options.height, 510), + dirName = K.undef(options.dirName, ''), + viewType = K.undef(options.viewType, 'VIEW').toUpperCase(), // "LIST" or "VIEW" + clickFn = options.clickFn; + var html = [ + '
                                                    ', + // header start + '
                                                    ', + // left start + '
                                                    ', + ' ', + '' + lang.moveup + '', + '
                                                    ', + // right start + '
                                                    ', + lang.viewType + ' ', + lang.orderType + ' ', + '
                                                    ', + '
                                                    ', + '
                                                    ', + // body start + '
                                                    ', + '
                                                    ' + ].join(''); + var dialog = self.createDialog({ + name : name, + width : width, + height : height, + title : self.lang(name), + body : html + }), + div = dialog.div, + bodyDiv = K('.ke-plugin-filemanager-body', div), + moveupImg = K('[name="moveupImg"]', div), + moveupLink = K('[name="moveupLink"]', div), + viewServerBtn = K('[name="viewServer"]', div), + viewTypeBox = K('[name="viewType"]', div), + orderTypeBox = K('[name="orderType"]', div); + function reloadPage(path, order, func) { + var param = 'path=' + path + '&order=' + order + '&dir=' + dirName; + dialog.showLoading(self.lang('ajaxLoading')); + K.ajax(K.addParam(fileManagerJson, param + '&' + new Date().getTime()), function(data) { + dialog.hideLoading(); + func(data); + }); + } + var elList = []; + function bindEvent(el, result, data, createFunc) { + var fileUrl = K.formatUrl(result.current_url + data.filename, 'absolute'), + dirPath = encodeURIComponent(result.current_dir_path + data.filename + '/'); + if (data.is_dir) { + el.click(function(e) { + reloadPage(dirPath, orderTypeBox.val(), createFunc); + }); + } else if (data.is_photo) { + el.click(function(e) { + clickFn.call(this, fileUrl, data.filename); + }); + } else { + el.click(function(e) { + clickFn.call(this, fileUrl, data.filename); + }); + } + elList.push(el); + } + function createCommon(result, createFunc) { + // remove events + K.each(elList, function() { + this.unbind(); + }); + moveupLink.unbind(); + viewTypeBox.unbind(); + orderTypeBox.unbind(); + // add events + if (result.current_dir_path) { + moveupLink.click(function(e) { + reloadPage(result.moveup_dir_path, orderTypeBox.val(), createFunc); + }); + } + function changeFunc() { + if (viewTypeBox.val() == 'VIEW') { + reloadPage(result.current_dir_path, orderTypeBox.val(), createView); + } else { + reloadPage(result.current_dir_path, orderTypeBox.val(), createList); + } + } + viewTypeBox.change(changeFunc); + orderTypeBox.change(changeFunc); + bodyDiv.html(''); + } + function createList(result) { + createCommon(result, createList); + var table = document.createElement('table'); + table.className = 'ke-table'; + table.cellPadding = 0; + table.cellSpacing = 0; + table.border = 0; + bodyDiv.append(table); + var fileList = result.file_list; + for (var i = 0, len = fileList.length; i < len; i++) { + var data = fileList[i], row = K(table.insertRow(i)); + row.mouseover(function(e) { + K(this).addClass('ke-on'); + }) + .mouseout(function(e) { + K(this).removeClass('ke-on'); + }); + var iconUrl = imgPath + (data.is_dir ? 'folder-16.gif' : 'file-16.gif'), + img = K('' + data.filename + ''), + cell0 = K(row[0].insertCell(0)).addClass('ke-cell ke-name').append(img).append(document.createTextNode(' ' + data.filename)); + if (!data.is_dir || data.has_file) { + row.css('cursor', 'pointer'); + cell0.attr('title', data.filename); + bindEvent(cell0, result, data, createList); + } else { + cell0.attr('title', lang.emptyFolder); + } + K(row[0].insertCell(1)).addClass('ke-cell ke-size').html(data.is_dir ? '-' : Math.ceil(data.filesize / 1024) + 'KB'); + K(row[0].insertCell(2)).addClass('ke-cell ke-datetime').html(data.datetime); + } + } + function createView(result) { + createCommon(result, createView); + var fileList = result.file_list; + for (var i = 0, len = fileList.length; i < len; i++) { + var data = fileList[i], + div = K('
                                                    '); + bodyDiv.append(div); + var photoDiv = K('
                                                    ') + .mouseover(function(e) { + K(this).addClass('ke-on'); + }) + .mouseout(function(e) { + K(this).removeClass('ke-on'); + }); + div.append(photoDiv); + var fileUrl = result.current_url + data.filename, + iconUrl = data.is_dir ? imgPath + 'folder-64.gif' : (data.is_photo ? fileUrl : imgPath + 'file-64.gif'); + var img = K('' + data.filename + ''); + if (!data.is_dir || data.has_file) { + photoDiv.css('cursor', 'pointer'); + bindTitle(photoDiv, data); + bindEvent(photoDiv, result, data, createView); + } else { + photoDiv.attr('title', lang.emptyFolder); + } + photoDiv.append(img); + div.append('
                                                    ' + data.filename + '
                                                    '); + } + } + viewTypeBox.val(viewType); + reloadPage('', orderTypeBox.val(), viewType == 'VIEW' ? createView : createList); + return dialog; + } + +}); +/******************************************************************************* +* KindEditor - WYSIWYG HTML Editor for Internet +* Copyright (C) 2006-2011 kindsoft.net +* +* @author Roddy +* @site http://www.kindsoft.net/ +* @licence http://www.kindsoft.net/license.php +*******************************************************************************/ + +KindEditor.plugin('flash', function(K) { + var self = this, name = 'flash', lang = self.lang(name + '.'), + allowFlashUpload = K.undef(self.allowFlashUpload, true), + allowFileManager = K.undef(self.allowFileManager, false), + formatUploadUrl = K.undef(self.formatUploadUrl, true), + extraParams = K.undef(self.extraFileUploadParams, {}), + filePostName = K.undef(self.filePostName, 'imgFile'), + uploadJson = K.undef(self.uploadJson, self.basePath + 'php/upload_json.php'); + self.plugin.flash = { + edit : function() { + var html = [ + '
                                                    ', + //url + '
                                                    ', + '', + '  ', + '  ', + '', + '', + '', + '
                                                    ', + //width + '
                                                    ', + '', + ' ', + '
                                                    ', + //height + '
                                                    ', + '', + ' ', + '
                                                    ', + '
                                                    ' + ].join(''); + var dialog = self.createDialog({ + name : name, + width : 450, + title : self.lang(name), + body : html, + yesBtn : { + name : self.lang('yes'), + click : function(e) { + var url = K.trim(urlBox.val()), + width = widthBox.val(), + height = heightBox.val(); + if (url == 'http://' || K.invalidUrl(url)) { + alert(self.lang('invalidUrl')); + urlBox[0].focus(); + return; + } + if (!/^\d*$/.test(width)) { + alert(self.lang('invalidWidth')); + widthBox[0].focus(); + return; + } + if (!/^\d*$/.test(height)) { + alert(self.lang('invalidHeight')); + heightBox[0].focus(); + return; + } + var html = K.mediaImg(self.themesPath + 'common/blank.gif', { + src : url, + type : K.mediaType('.swf'), + width : width, + height : height, + quality : 'high' + }); + self.insertHtml(html).hideDialog().focus(); + } + } + }), + div = dialog.div, + urlBox = K('[name="url"]', div), + viewServerBtn = K('[name="viewServer"]', div), + widthBox = K('[name="width"]', div), + heightBox = K('[name="height"]', div); + urlBox.val('http://'); + + if (allowFlashUpload) { + var uploadbutton = K.uploadbutton({ + button : K('.ke-upload-button', div)[0], + fieldName : filePostName, + extraParams : extraParams, + url : K.addParam(uploadJson, 'dir=flash'), + afterUpload : function(data) { + dialog.hideLoading(); + if (data.error === 0) { + var url = data.url; + if (formatUploadUrl) { + url = K.formatUrl(url, 'absolute'); + } + urlBox.val(url); + if (self.afterUpload) { + self.afterUpload.call(self, url, data, name); + } + alert(self.lang('uploadSuccess')); + } else { + alert(data.message); + } + }, + afterError : function(html) { + dialog.hideLoading(); + self.errorDialog(html); + } + }); + uploadbutton.fileBox.change(function(e) { + dialog.showLoading(self.lang('uploadLoading')); + uploadbutton.submit(); + }); + } else { + K('.ke-upload-button', div).hide(); + } + + if (allowFileManager) { + viewServerBtn.click(function(e) { + self.loadPlugin('filemanager', function() { + self.plugin.filemanagerDialog({ + viewType : 'LIST', + dirName : 'flash', + clickFn : function(url, title) { + if (self.dialogs.length > 1) { + K('[name="url"]', div).val(url); + if (self.afterSelectFile) { + self.afterSelectFile.call(self, url); + } + self.hideDialog(); + } + } + }); + }); + }); + } else { + viewServerBtn.hide(); + } + + var img = self.plugin.getSelectedFlash(); + if (img) { + var attrs = K.mediaAttrs(img.attr('data-ke-tag')); + urlBox.val(attrs.src); + widthBox.val(K.removeUnit(img.css('width')) || attrs.width || 0); + heightBox.val(K.removeUnit(img.css('height')) || attrs.height || 0); + } + urlBox[0].focus(); + urlBox[0].select(); + }, + 'delete' : function() { + self.plugin.getSelectedFlash().remove(); + // [IE] 删除图片后立即点击图片按钮出错 + self.addBookmark(); + } + }; + self.clickToolbar(name, self.plugin.flash.edit); +}); +/******************************************************************************* +* KindEditor - WYSIWYG HTML Editor for Internet +* Copyright (C) 2006-2011 kindsoft.net +* +* @author Roddy +* @site http://www.kindsoft.net/ +* @licence http://www.kindsoft.net/license.php +*******************************************************************************/ + +KindEditor.plugin('image', function(K) { + var self = this, name = 'image', + allowImageUpload = K.undef(self.allowImageUpload, true), + allowImageRemote = K.undef(self.allowImageRemote, true), + formatUploadUrl = K.undef(self.formatUploadUrl, true), + allowFileManager = K.undef(self.allowFileManager, false), + uploadJson = K.undef(self.uploadJson, self.basePath + 'php/upload_json.php'), + imageTabIndex = K.undef(self.imageTabIndex, 0), + imgPath = self.pluginsPath + 'image/images/', + extraParams = K.undef(self.extraFileUploadParams, {}), + filePostName = K.undef(self.filePostName, 'imgFile'), + fillDescAfterUploadImage = K.undef(self.fillDescAfterUploadImage, false), + lang = self.lang(name + '.'); + + self.plugin.imageDialog = function(options) { + var imageUrl = options.imageUrl, + imageWidth = K.undef(options.imageWidth, ''), + imageHeight = K.undef(options.imageHeight, ''), + imageTitle = K.undef(options.imageTitle, ''), + imageAlign = K.undef(options.imageAlign, ''), + showRemote = K.undef(options.showRemote, true), + showLocal = K.undef(options.showLocal, true), + tabIndex = K.undef(options.tabIndex, 0), + clickFn = options.clickFn; + var target = 'kindeditor_upload_iframe_' + new Date().getTime(); + var hiddenElements = []; + for(var k in extraParams){ + hiddenElements.push(''); + } + var html = [ + '
                                                    ', + //tabs + '
                                                    ', + //remote image - start + '', + //remote image - end + //local upload - start + '', + //local upload - end + '
                                                    ' + ].join(''); + var dialogWidth = showLocal || allowFileManager ? 450 : 400, + dialogHeight = showLocal && showRemote ? 300 : 250; + var dialog = self.createDialog({ + name : name, + width : dialogWidth, + height : dialogHeight, + title : self.lang(name), + body : html, + yesBtn : { + name : self.lang('yes'), + click : function(e) { + // Bugfix: http://code.google.com/p/kindeditor/issues/detail?id=319 + if (dialog.isLoading) { + return; + } + // insert local image + if (showLocal && showRemote && tabs && tabs.selectedIndex === 1 || !showRemote) { + if (uploadbutton.fileBox.val() == '') { + alert(self.lang('pleaseSelectFile')); + return; + } + dialog.showLoading(self.lang('uploadLoading')); + uploadbutton.submit(); + localUrlBox.val(''); + return; + } + // insert remote image + var url = K.trim(urlBox.val()), + width = widthBox.val(), + height = heightBox.val(), + title = titleBox.val(), + align = ''; + alignBox.each(function() { + if (this.checked) { + align = this.value; + return false; + } + }); + if (url == 'http://' || K.invalidUrl(url)) { + alert(self.lang('invalidUrl')); + urlBox[0].focus(); + return; + } + if (!/^\d*$/.test(width)) { + alert(self.lang('invalidWidth')); + widthBox[0].focus(); + return; + } + if (!/^\d*$/.test(height)) { + alert(self.lang('invalidHeight')); + heightBox[0].focus(); + return; + } + clickFn.call(self, url, title, width, height, 0, align); + } + }, + beforeRemove : function() { + viewServerBtn.unbind(); + widthBox.unbind(); + heightBox.unbind(); + refreshBtn.unbind(); + } + }), + div = dialog.div; + + var urlBox = K('[name="url"]', div), + localUrlBox = K('[name="localUrl"]', div), + viewServerBtn = K('[name="viewServer"]', div), + widthBox = K('.tab1 [name="width"]', div), + heightBox = K('.tab1 [name="height"]', div), + refreshBtn = K('.ke-refresh-btn', div), + titleBox = K('.tab1 [name="title"]', div), + alignBox = K('.tab1 [name="align"]', div); + + var tabs; + if (showRemote && showLocal) { + tabs = K.tabs({ + src : K('.tabs', div), + afterSelect : function(i) {} + }); + tabs.add({ + title : lang.remoteImage, + panel : K('.tab1', div) + }); + tabs.add({ + title : lang.localImage, + panel : K('.tab2', div) + }); + tabs.select(tabIndex); + } else if (showRemote) { + K('.tab1', div).show(); + } else if (showLocal) { + K('.tab2', div).show(); + } + + var uploadbutton = K.uploadbutton({ + button : K('.ke-upload-button', div)[0], + fieldName : filePostName, + form : K('.ke-form', div), + target : target, + width: 60, + afterUpload : function(data) { + dialog.hideLoading(); + if (data.error === 0) { + var url = data.url; + if (formatUploadUrl) { + url = K.formatUrl(url, 'absolute'); + } + if (self.afterUpload) { + self.afterUpload.call(self, url, data, name); + } + if (!fillDescAfterUploadImage) { + clickFn.call(self, url, data.title, data.width, data.height, data.border, data.align); + } else { + K(".ke-dialog-row #remoteUrl", div).val(url); + K(".ke-tabs-li", div)[0].click(); + K(".ke-refresh-btn", div).click(); + } + } else { + alert(data.message); + } + }, + afterError : function(html) { + dialog.hideLoading(); + self.errorDialog(html); + } + }); + uploadbutton.fileBox.change(function(e) { + localUrlBox.val(uploadbutton.fileBox.val()); + }); + if (allowFileManager) { + viewServerBtn.click(function(e) { + self.loadPlugin('filemanager', function() { + self.plugin.filemanagerDialog({ + viewType : 'VIEW', + dirName : 'image', + clickFn : function(url, title) { + if (self.dialogs.length > 1) { + K('[name="url"]', div).val(url); + if (self.afterSelectFile) { + self.afterSelectFile.call(self, url); + } + self.hideDialog(); + } + } + }); + }); + }); + } else { + viewServerBtn.hide(); + } + var originalWidth = 0, originalHeight = 0; + function setSize(width, height) { + widthBox.val(width); + heightBox.val(height); + originalWidth = width; + originalHeight = height; + } + refreshBtn.click(function(e) { + var tempImg = K('', document).css({ + position : 'absolute', + visibility : 'hidden', + top : 0, + left : '-1000px' + }); + tempImg.bind('load', function() { + setSize(tempImg.width(), tempImg.height()); + tempImg.remove(); + }); + K(document.body).append(tempImg); + }); + widthBox.change(function(e) { + if (originalWidth > 0) { + heightBox.val(Math.round(originalHeight / originalWidth * parseInt(this.value, 10))); + } + }); + heightBox.change(function(e) { + if (originalHeight > 0) { + widthBox.val(Math.round(originalWidth / originalHeight * parseInt(this.value, 10))); + } + }); + urlBox.val(options.imageUrl); + setSize(options.imageWidth, options.imageHeight); + titleBox.val(options.imageTitle); + alignBox.each(function() { + if (this.value === options.imageAlign) { + this.checked = true; + return false; + } + }); + if (showRemote && tabIndex === 0) { + urlBox[0].focus(); + urlBox[0].select(); + } + return dialog; + }; + self.plugin.image = { + edit : function() { + var img = self.plugin.getSelectedImage(); + self.plugin.imageDialog({ + imageUrl : img ? img.attr('data-ke-src') : 'http://', + imageWidth : img ? img.width() : '', + imageHeight : img ? img.height() : '', + imageTitle : img ? img.attr('title') : '', + imageAlign : img ? img.attr('align') : '', + showRemote : allowImageRemote, + showLocal : allowImageUpload, + tabIndex: img ? 0 : imageTabIndex, + clickFn : function(url, title, width, height, border, align) { + if (img) { + img.attr('src', url); + img.attr('data-ke-src', url); + img.attr('width', width); + img.attr('height', height); + img.attr('title', title); + img.attr('align', align); + img.attr('alt', title); + } else { + self.exec('insertimage', url, title, width, height, border, align); + } + // Bugfix: [Firefox] 上传图片后,总是出现正在加载的样式,需要延迟执行hideDialog + setTimeout(function() { + self.hideDialog().focus(); + }, 0); + } + }); + }, + 'delete' : function() { + var target = self.plugin.getSelectedImage(); + if (target.parent().name == 'a') { + target = target.parent(); + } + target.remove(); + // [IE] 删除图片后立即点击图片按钮出错 + self.addBookmark(); + } + }; + self.clickToolbar(name, self.plugin.image.edit); +}); +/******************************************************************************* +* KindEditor - WYSIWYG HTML Editor for Internet +* Copyright (C) 2006-2011 kindsoft.net +* +* @author Roddy +* @site http://www.kindsoft.net/ +* @licence http://www.kindsoft.net/license.php +*******************************************************************************/ + +KindEditor.plugin('insertfile', function(K) { + var self = this, name = 'insertfile', + allowFileUpload = K.undef(self.allowFileUpload, true), + allowFileManager = K.undef(self.allowFileManager, false), + formatUploadUrl = K.undef(self.formatUploadUrl, true), + uploadJson = K.undef(self.uploadJson, self.basePath + 'php/upload_json.php'), + extraParams = K.undef(self.extraFileUploadParams, {}), + filePostName = K.undef(self.filePostName, 'imgFile'), + lang = self.lang(name + '.'); + self.plugin.fileDialog = function(options) { + var fileUrl = K.undef(options.fileUrl, 'http://'), + fileTitle = K.undef(options.fileTitle, ''), + clickFn = options.clickFn; + var html = [ + '
                                                    ', + '
                                                    ', + '', + '  ', + '  ', + '', + '', + '', + '
                                                    ', + //title + '
                                                    ', + '', + '
                                                    ', + '
                                                    ', + //form end + '', + '' + ].join(''); + var dialog = self.createDialog({ + name : name, + width : 450, + title : self.lang(name), + body : html, + yesBtn : { + name : self.lang('yes'), + click : function(e) { + var url = K.trim(urlBox.val()), + title = titleBox.val(); + if (url == 'http://' || K.invalidUrl(url)) { + alert(self.lang('invalidUrl')); + urlBox[0].focus(); + return; + } + if (K.trim(title) === '') { + title = url; + } + clickFn.call(self, url, title); + } + } + }), + div = dialog.div; + + var urlBox = K('[name="url"]', div), + viewServerBtn = K('[name="viewServer"]', div), + titleBox = K('[name="title"]', div); + + if (allowFileUpload) { + var uploadbutton = K.uploadbutton({ + button : K('.ke-upload-button', div)[0], + fieldName : filePostName, + url : K.addParam(uploadJson, 'dir=file'), + extraParams : extraParams, + afterUpload : function(data) { + dialog.hideLoading(); + if (data.error === 0) { + var url = data.url; + if (formatUploadUrl) { + url = K.formatUrl(url, 'absolute'); + } + urlBox.val(url); + if (self.afterUpload) { + self.afterUpload.call(self, url, data, name); + } + alert(self.lang('uploadSuccess')); + } else { + alert(data.message); + } + }, + afterError : function(html) { + dialog.hideLoading(); + self.errorDialog(html); + } + }); + uploadbutton.fileBox.change(function(e) { + dialog.showLoading(self.lang('uploadLoading')); + uploadbutton.submit(); + }); + } else { + K('.ke-upload-button', div).hide(); + } + if (allowFileManager) { + viewServerBtn.click(function(e) { + self.loadPlugin('filemanager', function() { + self.plugin.filemanagerDialog({ + viewType : 'LIST', + dirName : 'file', + clickFn : function(url, title) { + if (self.dialogs.length > 1) { + K('[name="url"]', div).val(url); + if (self.afterSelectFile) { + self.afterSelectFile.call(self, url); + } + self.hideDialog(); + } + } + }); + }); + }); + } else { + viewServerBtn.hide(); + } + urlBox.val(fileUrl); + titleBox.val(fileTitle); + urlBox[0].focus(); + urlBox[0].select(); + }; + self.clickToolbar(name, function() { + self.plugin.fileDialog({ + clickFn : function(url, title) { + var html = '' + title + ''; + self.insertHtml(html).hideDialog().focus(); + } + }); + }); +}); +/******************************************************************************* +* KindEditor - WYSIWYG HTML Editor for Internet +* Copyright (C) 2006-2011 kindsoft.net +* +* @author Roddy +* @site http://www.kindsoft.net/ +* @licence http://www.kindsoft.net/license.php +*******************************************************************************/ + +KindEditor.plugin('lineheight', function(K) { + var self = this, name = 'lineheight', lang = self.lang(name + '.'); + self.clickToolbar(name, function() { + var curVal = '', commonNode = self.cmd.commonNode({'*' : '.line-height'}); + if (commonNode) { + curVal = commonNode.css('line-height'); + } + var menu = self.createMenu({ + name : name, + width : 150 + }); + K.each(lang.lineHeight, function(i, row) { + K.each(row, function(key, val) { + menu.addItem({ + title : val, + checked : curVal === key, + click : function() { + self.cmd.toggle('', { + span : '.line-height=' + key + }); + self.updateState(); + self.addBookmark(); + self.hideMenu(); + } + }); + }); + }); + }); +}); +/******************************************************************************* +* KindEditor - WYSIWYG HTML Editor for Internet +* Copyright (C) 2006-2011 kindsoft.net +* +* @author Roddy +* @site http://www.kindsoft.net/ +* @licence http://www.kindsoft.net/license.php +*******************************************************************************/ + +KindEditor.plugin('link', function(K) { + var self = this, name = 'link'; + self.plugin.link = { + edit : function() { + var lang = self.lang(name + '.'), + html = '
                                                    ' + + //url + '
                                                    ' + + '' + + '
                                                    ' + + //type + '
                                                    ' + + '' + + '' + + '
                                                    ' + + '
                                                    ', + dialog = self.createDialog({ + name : name, + width : 450, + title : self.lang(name), + body : html, + yesBtn : { + name : self.lang('yes'), + click : function(e) { + var url = K.trim(urlBox.val()); + if (url == 'http://' || K.invalidUrl(url)) { + alert(self.lang('invalidUrl')); + urlBox[0].focus(); + return; + } + self.exec('createlink', url, typeBox.val()).hideDialog().focus(); + } + } + }), + div = dialog.div, + urlBox = K('input[name="url"]', div), + typeBox = K('select[name="type"]', div); + urlBox.val('http://'); + typeBox[0].options[0] = new Option(lang.newWindow, '_blank'); + typeBox[0].options[1] = new Option(lang.selfWindow, ''); + self.cmd.selection(); + var a = self.plugin.getSelectedLink(); + if (a) { + self.cmd.range.selectNode(a[0]); + self.cmd.select(); + urlBox.val(a.attr('data-ke-src')); + typeBox.val(a.attr('target')); + } + urlBox[0].focus(); + urlBox[0].select(); + }, + 'delete' : function() { + self.exec('unlink', null); + } + }; + self.clickToolbar(name, self.plugin.link.edit); +}); +/******************************************************************************* +* KindEditor - WYSIWYG HTML Editor for Internet +* Copyright (C) 2006-2011 kindsoft.net +* +* @author Roddy +* @site http://www.kindsoft.net/ +* @licence http://www.kindsoft.net/license.php +*******************************************************************************/ + +// Google Maps: http://code.google.com/apis/maps/index.html + +KindEditor.plugin('map', function(K) { + var self = this, name = 'map', lang = self.lang(name + '.'); + self.clickToolbar(name, function() { + var html = ['
                                                    ', + '
                                                    ', + lang.address + ' ', + '', + '', + '', + '
                                                    ', + '
                                                    ', + '
                                                    '].join(''); + var dialog = self.createDialog({ + name : name, + width : 600, + title : self.lang(name), + body : html, + yesBtn : { + name : self.lang('yes'), + click : function(e) { + var geocoder = win.geocoder, + map = win.map, + center = map.getCenter().lat() + ',' + map.getCenter().lng(), + zoom = map.getZoom(), + maptype = map.getMapTypeId(), + url = 'http://maps.googleapis.com/maps/api/staticmap'; + url += '?center=' + encodeURIComponent(center); + url += '&zoom=' + encodeURIComponent(zoom); + url += '&size=558x360'; + url += '&maptype=' + encodeURIComponent(maptype); + url += '&markers=' + encodeURIComponent(center); + url += '&language=' + self.langType; + url += '&sensor=false'; + self.exec('insertimage', url).hideDialog().focus(); + } + }, + beforeRemove : function() { + searchBtn.remove(); + if (doc) { + doc.write(''); + } + iframe.remove(); + } + }); + var div = dialog.div, + addressBox = K('[name="address"]', div), + searchBtn = K('[name="searchBtn"]', div), + win, doc; + var iframeHtml = ['', + '', + '', + '', + '', + '', + '', + '
                                                    ', + ''].join('\n'); + // TODO:用doc.write(iframeHtml)方式加载时,在IE6上第一次加载报错,暂时使用src方式 + var iframe = K(''); + function ready() { + win = iframe[0].contentWindow; + doc = K.iframeDoc(iframe); + //doc.open(); + //doc.write(iframeHtml); + //doc.close(); + } + iframe.bind('load', function() { + iframe.unbind('load'); + if (K.IE) { + ready(); + } else { + setTimeout(ready, 0); + } + }); + K('.ke-map', div).replaceWith(iframe); + // search map + searchBtn.click(function() { + win.search(addressBox.val()); + }); + }); +}); +/******************************************************************************* +* KindEditor - WYSIWYG HTML Editor for Internet +* Copyright (C) 2006-2011 kindsoft.net +* +* @author Roddy +* @site http://www.kindsoft.net/ +* @licence http://www.kindsoft.net/license.php +*******************************************************************************/ + +KindEditor.plugin('media', function(K) { + var self = this, name = 'media', lang = self.lang(name + '.'), + allowMediaUpload = K.undef(self.allowMediaUpload, true), + allowFileManager = K.undef(self.allowFileManager, false), + formatUploadUrl = K.undef(self.formatUploadUrl, true), + extraParams = K.undef(self.extraFileUploadParams, {}), + filePostName = K.undef(self.filePostName, 'imgFile'), + uploadJson = K.undef(self.uploadJson, self.basePath + 'php/upload_json.php'); + self.plugin.media = { + edit : function() { + var html = [ + '
                                                    ', + //url + '
                                                    ', + '', + '  ', + '  ', + '', + '', + '', + '
                                                    ', + //width + '
                                                    ', + '', + '', + '
                                                    ', + //height + '
                                                    ', + '', + '', + '
                                                    ', + //autostart + '
                                                    ', + '', + ' ', + '
                                                    ', + '
                                                    ' + ].join(''); + var dialog = self.createDialog({ + name : name, + width : 450, + height : 230, + title : self.lang(name), + body : html, + yesBtn : { + name : self.lang('yes'), + click : function(e) { + var url = K.trim(urlBox.val()), + width = widthBox.val(), + height = heightBox.val(); + if (url == 'http://' || K.invalidUrl(url)) { + alert(self.lang('invalidUrl')); + urlBox[0].focus(); + return; + } + if (!/^\d*$/.test(width)) { + alert(self.lang('invalidWidth')); + widthBox[0].focus(); + return; + } + if (!/^\d*$/.test(height)) { + alert(self.lang('invalidHeight')); + heightBox[0].focus(); + return; + } + var html = K.mediaImg(self.themesPath + 'common/blank.gif', { + src : url, + type : K.mediaType(url), + width : width, + height : height, + autostart : autostartBox[0].checked ? 'true' : 'false', + loop : 'true' + }); + self.insertHtml(html).hideDialog().focus(); + } + } + }), + div = dialog.div, + urlBox = K('[name="url"]', div), + viewServerBtn = K('[name="viewServer"]', div), + widthBox = K('[name="width"]', div), + heightBox = K('[name="height"]', div), + autostartBox = K('[name="autostart"]', div); + urlBox.val('http://'); + + if (allowMediaUpload) { + var uploadbutton = K.uploadbutton({ + button : K('.ke-upload-button', div)[0], + fieldName : filePostName, + extraParams : extraParams, + url : K.addParam(uploadJson, 'dir=media'), + afterUpload : function(data) { + dialog.hideLoading(); + if (data.error === 0) { + var url = data.url; + if (formatUploadUrl) { + url = K.formatUrl(url, 'absolute'); + } + urlBox.val(url); + if (self.afterUpload) { + self.afterUpload.call(self, url, data, name); + } + alert(self.lang('uploadSuccess')); + } else { + alert(data.message); + } + }, + afterError : function(html) { + dialog.hideLoading(); + self.errorDialog(html); + } + }); + uploadbutton.fileBox.change(function(e) { + dialog.showLoading(self.lang('uploadLoading')); + uploadbutton.submit(); + }); + } else { + K('.ke-upload-button', div).hide(); + } + + if (allowFileManager) { + viewServerBtn.click(function(e) { + self.loadPlugin('filemanager', function() { + self.plugin.filemanagerDialog({ + viewType : 'LIST', + dirName : 'media', + clickFn : function(url, title) { + if (self.dialogs.length > 1) { + K('[name="url"]', div).val(url); + if (self.afterSelectFile) { + self.afterSelectFile.call(self, url); + } + self.hideDialog(); + } + } + }); + }); + }); + } else { + viewServerBtn.hide(); + } + + var img = self.plugin.getSelectedMedia(); + if (img) { + var attrs = K.mediaAttrs(img.attr('data-ke-tag')); + urlBox.val(attrs.src); + widthBox.val(K.removeUnit(img.css('width')) || attrs.width || 0); + heightBox.val(K.removeUnit(img.css('height')) || attrs.height || 0); + autostartBox[0].checked = (attrs.autostart === 'true'); + } + urlBox[0].focus(); + urlBox[0].select(); + }, + 'delete' : function() { + self.plugin.getSelectedMedia().remove(); + // [IE] 删除图片后立即点击图片按钮出错 + self.addBookmark(); + } + }; + self.clickToolbar(name, self.plugin.media.edit); +}); +/******************************************************************************* +* KindEditor - WYSIWYG HTML Editor for Internet +* Copyright (C) 2006-2011 kindsoft.net +* +* @author Roddy +* @site http://www.kindsoft.net/ +* @licence http://www.kindsoft.net/license.php +*******************************************************************************/ + + +(function(K) { + +function KSWFUpload(options) { + this.init(options); +} +K.extend(KSWFUpload, { + init : function(options) { + var self = this; + options.afterError = options.afterError || function(str) { + alert(str); + }; + self.options = options; + self.progressbars = {}; + // template + self.div = K(options.container).html([ + '
                                                    ', + '
                                                    ', + '
                                                    ', + '', + '
                                                    ', + '
                                                    ' + options.uploadDesc + '
                                                    ', + '', + '', + '', + '
                                                    ', + '
                                                    ', + '
                                                    ' + ].join('')); + self.bodyDiv = K('.ke-swfupload-body', self.div); + + function showError(itemDiv, msg) { + K('.ke-status > div', itemDiv).hide(); + K('.ke-message', itemDiv).addClass('ke-error').show().html(K.escape(msg)); + } + + var settings = { + debug : false, + upload_url : options.uploadUrl, + flash_url : options.flashUrl, + file_post_name : options.filePostName, + button_placeholder : K('.ke-swfupload-button > input', self.div)[0], + button_image_url: options.buttonImageUrl, + button_width: options.buttonWidth, + button_height: options.buttonHeight, + button_cursor : SWFUpload.CURSOR.HAND, + file_types : options.fileTypes, + file_types_description : options.fileTypesDesc, + file_upload_limit : options.fileUploadLimit, + file_size_limit : options.fileSizeLimit, + post_params : options.postParams, + file_queued_handler : function(file) { + file.url = self.options.fileIconUrl; + self.appendFile(file); + }, + file_queue_error_handler : function(file, errorCode, message) { + var errorName = ''; + switch (errorCode) { + case SWFUpload.QUEUE_ERROR.QUEUE_LIMIT_EXCEEDED: + errorName = options.queueLimitExceeded; + break; + case SWFUpload.QUEUE_ERROR.FILE_EXCEEDS_SIZE_LIMIT: + errorName = options.fileExceedsSizeLimit; + break; + case SWFUpload.QUEUE_ERROR.ZERO_BYTE_FILE: + errorName = options.zeroByteFile; + break; + case SWFUpload.QUEUE_ERROR.INVALID_FILETYPE: + errorName = options.invalidFiletype; + break; + default: + errorName = options.unknownError; + break; + } + K.DEBUG && alert(errorName); + }, + upload_start_handler : function(file) { + var self = this; + var itemDiv = K('div[data-id="' + file.id + '"]', self.bodyDiv); + K('.ke-status > div', itemDiv).hide(); + K('.ke-progressbar', itemDiv).show(); + }, + upload_progress_handler : function(file, bytesLoaded, bytesTotal) { + var percent = Math.round(bytesLoaded * 100 / bytesTotal); + var progressbar = self.progressbars[file.id]; + progressbar.bar.css('width', Math.round(percent * 80 / 100) + 'px'); + progressbar.percent.html(percent + '%'); + }, + upload_error_handler : function(file, errorCode, message) { + if (file && file.filestatus == SWFUpload.FILE_STATUS.ERROR) { + var itemDiv = K('div[data-id="' + file.id + '"]', self.bodyDiv).eq(0); + showError(itemDiv, self.options.errorMessage); + } + }, + upload_success_handler : function(file, serverData) { + var itemDiv = K('div[data-id="' + file.id + '"]', self.bodyDiv).eq(0); + var data = {}; + try { + data = K.json(serverData); + } catch (e) { + self.options.afterError.call(this, '' + serverData + ''); + } + if (data.error !== 0) { + showError(itemDiv, K.DEBUG ? data.message : self.options.errorMessage); + return; + } + file.url = data.url; + K('.ke-img', itemDiv).attr('src', file.url).attr('data-status', file.filestatus).data('data', data); + K('.ke-status > div', itemDiv).hide(); + } + }; + self.swfu = new SWFUpload(settings); + + K('.ke-swfupload-startupload input', self.div).click(function() { + self.swfu.startUpload(); + }); + }, + getUrlList : function() { + var list = []; + K('.ke-img', self.bodyDiv).each(function() { + var img = K(this); + var status = img.attr('data-status'); + if (status == SWFUpload.FILE_STATUS.COMPLETE) { + list.push(img.data('data')); + } + }); + return list; + }, + removeFile : function(fileId) { + var self = this; + self.swfu.cancelUpload(fileId); + var itemDiv = K('div[data-id="' + fileId + '"]', self.bodyDiv); + K('.ke-photo', itemDiv).unbind(); + K('.ke-delete', itemDiv).unbind(); + itemDiv.remove(); + }, + removeFiles : function() { + var self = this; + K('.ke-item', self.bodyDiv).each(function() { + self.removeFile(K(this).attr('data-id')); + }); + }, + appendFile : function(file) { + var self = this; + var itemDiv = K('
                                                    '); + self.bodyDiv.append(itemDiv); + var photoDiv = K('
                                                    ') + .mouseover(function(e) { + K(this).addClass('ke-on'); + }) + .mouseout(function(e) { + K(this).removeClass('ke-on'); + }); + itemDiv.append(photoDiv); + + var img = K('' + file.name + ''); + photoDiv.append(img); + K('').appendTo(photoDiv).click(function() { + self.removeFile(file.id); + }); + var statusDiv = K('
                                                    ').appendTo(photoDiv); + // progressbar + K(['
                                                    ', + '
                                                    ', + '
                                                    0%
                                                    '].join('')).hide().appendTo(statusDiv); + // message + K('
                                                    ' + self.options.pendingMessage + '
                                                    ').appendTo(statusDiv); + + itemDiv.append('
                                                    ' + file.name + '
                                                    '); + + self.progressbars[file.id] = { + bar : K('.ke-progressbar-bar-inner', photoDiv), + percent : K('.ke-progressbar-percent', photoDiv) + }; + }, + remove : function() { + this.removeFiles(); + this.swfu.destroy(); + this.div.html(''); + } +}); + +K.swfupload = function(element, options) { + return new KSWFUpload(element, options); +}; + +})(KindEditor); + +KindEditor.plugin('multiimage', function(K) { + var self = this, name = 'multiimage', + formatUploadUrl = K.undef(self.formatUploadUrl, true), + uploadJson = K.undef(self.uploadJson, self.basePath + 'php/upload_json.php'), + imgPath = self.pluginsPath + 'multiimage/images/', + imageSizeLimit = K.undef(self.imageSizeLimit, '1MB'), + imageFileTypes = K.undef(self.imageFileTypes, '*.jpg;*.gif;*.png'), + imageUploadLimit = K.undef(self.imageUploadLimit, 20), + filePostName = K.undef(self.filePostName, 'imgFile'), + lang = self.lang(name + '.'); + + self.plugin.multiImageDialog = function(options) { + var clickFn = options.clickFn, + uploadDesc = K.tmpl(lang.uploadDesc, {uploadLimit : imageUploadLimit, sizeLimit : imageSizeLimit}); + var html = [ + '
                                                    ', + '
                                                    ', + '
                                                    ', + '
                                                    ' + ].join(''); + var dialog = self.createDialog({ + name : name, + width : 650, + height : 510, + title : self.lang(name), + body : html, + previewBtn : { + name : lang.insertAll, + click : function(e) { + clickFn.call(self, swfupload.getUrlList()); + } + }, + yesBtn : { + name : lang.clearAll, + click : function(e) { + swfupload.removeFiles(); + } + }, + beforeRemove : function() { + // IE9 bugfix: https://github.com/kindsoft/kindeditor/issues/72 + if (!K.IE || K.V <= 8) { + swfupload.remove(); + } + } + }), + div = dialog.div; + + var swfupload = K.swfupload({ + container : K('.swfupload', div), + buttonImageUrl : imgPath + (self.langType == 'zh_CN' ? 'select-files-zh_CN.png' : 'select-files-en.png'), + buttonWidth : self.langType == 'zh_CN' ? 72 : 88, + buttonHeight : 23, + fileIconUrl : imgPath + 'image.png', + uploadDesc : uploadDesc, + startButtonValue : lang.startUpload, + uploadUrl : K.addParam(uploadJson, 'dir=image'), + flashUrl : imgPath + 'swfupload.swf', + filePostName : filePostName, + fileTypes : '*.jpg;*.jpeg;*.gif;*.png;*.bmp', + fileTypesDesc : 'Image Files', + fileUploadLimit : imageUploadLimit, + fileSizeLimit : imageSizeLimit, + postParams : K.undef(self.extraFileUploadParams, {}), + queueLimitExceeded : lang.queueLimitExceeded, + fileExceedsSizeLimit : lang.fileExceedsSizeLimit, + zeroByteFile : lang.zeroByteFile, + invalidFiletype : lang.invalidFiletype, + unknownError : lang.unknownError, + pendingMessage : lang.pending, + errorMessage : lang.uploadError, + afterError : function(html) { + self.errorDialog(html); + } + }); + + return dialog; + }; + self.clickToolbar(name, function() { + self.plugin.multiImageDialog({ + clickFn : function (urlList) { + if (urlList.length === 0) { + return; + } + K.each(urlList, function(i, data) { + if (self.afterUpload) { + self.afterUpload.call(self, data.url, data, 'multiimage'); + } + self.exec('insertimage', data.url, data.title, data.width, data.height, data.border, data.align); + }); + // Bugfix: [Firefox] 上传图片后,总是出现正在加载的样式,需要延迟执行hideDialog + setTimeout(function() { + self.hideDialog().focus(); + }, 0); + } + }); + }); +}); + + +/** + * SWFUpload: http://www.swfupload.org, http://swfupload.googlecode.com + * + * mmSWFUpload 1.0: Flash upload dialog - http://profandesign.se/swfupload/, http://www.vinterwebb.se/ + * + * SWFUpload is (c) 2006-2007 Lars Huring, Olov Nilz閚 and Mammon Media and is released under the MIT License: + * http://www.opensource.org/licenses/mit-license.php + * + * SWFUpload 2 is (c) 2007-2008 Jake Roberts and is released under the MIT License: + * http://www.opensource.org/licenses/mit-license.php + * + */ + + +/* ******************* */ +/* Constructor & Init */ +/* ******************* */ + +(function() { + +window.SWFUpload = function (settings) { + this.initSWFUpload(settings); +}; + +SWFUpload.prototype.initSWFUpload = function (settings) { + try { + this.customSettings = {}; // A container where developers can place their own settings associated with this instance. + this.settings = settings; + this.eventQueue = []; + this.movieName = "KindEditor_SWFUpload_" + SWFUpload.movieCount++; + this.movieElement = null; + + + // Setup global control tracking + SWFUpload.instances[this.movieName] = this; + + // Load the settings. Load the Flash movie. + this.initSettings(); + this.loadFlash(); + this.displayDebugInfo(); + } catch (ex) { + delete SWFUpload.instances[this.movieName]; + throw ex; + } +}; + +/* *************** */ +/* Static Members */ +/* *************** */ +SWFUpload.instances = {}; +SWFUpload.movieCount = 0; +SWFUpload.version = "2.2.0 2009-03-25"; +SWFUpload.QUEUE_ERROR = { + QUEUE_LIMIT_EXCEEDED : -100, + FILE_EXCEEDS_SIZE_LIMIT : -110, + ZERO_BYTE_FILE : -120, + INVALID_FILETYPE : -130 +}; +SWFUpload.UPLOAD_ERROR = { + HTTP_ERROR : -200, + MISSING_UPLOAD_URL : -210, + IO_ERROR : -220, + SECURITY_ERROR : -230, + UPLOAD_LIMIT_EXCEEDED : -240, + UPLOAD_FAILED : -250, + SPECIFIED_FILE_ID_NOT_FOUND : -260, + FILE_VALIDATION_FAILED : -270, + FILE_CANCELLED : -280, + UPLOAD_STOPPED : -290 +}; +SWFUpload.FILE_STATUS = { + QUEUED : -1, + IN_PROGRESS : -2, + ERROR : -3, + COMPLETE : -4, + CANCELLED : -5 +}; +SWFUpload.BUTTON_ACTION = { + SELECT_FILE : -100, + SELECT_FILES : -110, + START_UPLOAD : -120 +}; +SWFUpload.CURSOR = { + ARROW : -1, + HAND : -2 +}; +SWFUpload.WINDOW_MODE = { + WINDOW : "window", + TRANSPARENT : "transparent", + OPAQUE : "opaque" +}; + +// Private: takes a URL, determines if it is relative and converts to an absolute URL +// using the current site. Only processes the URL if it can, otherwise returns the URL untouched +SWFUpload.completeURL = function(url) { + if (typeof(url) !== "string" || url.match(/^https?:\/\//i) || url.match(/^\//)) { + return url; + } + + var currentURL = window.location.protocol + "//" + window.location.hostname + (window.location.port ? ":" + window.location.port : ""); + + var indexSlash = window.location.pathname.lastIndexOf("/"); + if (indexSlash <= 0) { + path = "/"; + } else { + path = window.location.pathname.substr(0, indexSlash) + "/"; + } + + return /*currentURL +*/ path + url; + +}; + + +/* ******************** */ +/* Instance Members */ +/* ******************** */ + +// Private: initSettings ensures that all the +// settings are set, getting a default value if one was not assigned. +SWFUpload.prototype.initSettings = function () { + this.ensureDefault = function (settingName, defaultValue) { + this.settings[settingName] = (this.settings[settingName] == undefined) ? defaultValue : this.settings[settingName]; + }; + + // Upload backend settings + this.ensureDefault("upload_url", ""); + this.ensureDefault("preserve_relative_urls", false); + this.ensureDefault("file_post_name", "Filedata"); + this.ensureDefault("post_params", {}); + this.ensureDefault("use_query_string", false); + this.ensureDefault("requeue_on_error", false); + this.ensureDefault("http_success", []); + this.ensureDefault("assume_success_timeout", 0); + + // File Settings + this.ensureDefault("file_types", "*.*"); + this.ensureDefault("file_types_description", "All Files"); + this.ensureDefault("file_size_limit", 0); // Default zero means "unlimited" + this.ensureDefault("file_upload_limit", 0); + this.ensureDefault("file_queue_limit", 0); + + // Flash Settings + this.ensureDefault("flash_url", "swfupload.swf"); + this.ensureDefault("prevent_swf_caching", true); + + // Button Settings + this.ensureDefault("button_image_url", ""); + this.ensureDefault("button_width", 1); + this.ensureDefault("button_height", 1); + this.ensureDefault("button_text", ""); + this.ensureDefault("button_text_style", "color: #000000; font-size: 16pt;"); + this.ensureDefault("button_text_top_padding", 0); + this.ensureDefault("button_text_left_padding", 0); + this.ensureDefault("button_action", SWFUpload.BUTTON_ACTION.SELECT_FILES); + this.ensureDefault("button_disabled", false); + this.ensureDefault("button_placeholder_id", ""); + this.ensureDefault("button_placeholder", null); + this.ensureDefault("button_cursor", SWFUpload.CURSOR.ARROW); + this.ensureDefault("button_window_mode", SWFUpload.WINDOW_MODE.WINDOW); + + // Debug Settings + this.ensureDefault("debug", false); + this.settings.debug_enabled = this.settings.debug; // Here to maintain v2 API + + // Event Handlers + this.settings.return_upload_start_handler = this.returnUploadStart; + this.ensureDefault("swfupload_loaded_handler", null); + this.ensureDefault("file_dialog_start_handler", null); + this.ensureDefault("file_queued_handler", null); + this.ensureDefault("file_queue_error_handler", null); + this.ensureDefault("file_dialog_complete_handler", null); + + this.ensureDefault("upload_start_handler", null); + this.ensureDefault("upload_progress_handler", null); + this.ensureDefault("upload_error_handler", null); + this.ensureDefault("upload_success_handler", null); + this.ensureDefault("upload_complete_handler", null); + + this.ensureDefault("debug_handler", this.debugMessage); + + this.ensureDefault("custom_settings", {}); + + // Other settings + this.customSettings = this.settings.custom_settings; + + // Update the flash url if needed + if (!!this.settings.prevent_swf_caching) { + this.settings.flash_url = this.settings.flash_url + (this.settings.flash_url.indexOf("?") < 0 ? "?" : "&") + "preventswfcaching=" + new Date().getTime(); + } + + if (!this.settings.preserve_relative_urls) { + //this.settings.flash_url = SWFUpload.completeURL(this.settings.flash_url); // Don't need to do this one since flash doesn't look at it + this.settings.upload_url = SWFUpload.completeURL(this.settings.upload_url); + this.settings.button_image_url = SWFUpload.completeURL(this.settings.button_image_url); + } + + delete this.ensureDefault; +}; + +// Private: loadFlash replaces the button_placeholder element with the flash movie. +SWFUpload.prototype.loadFlash = function () { + var targetElement, tempParent; + + // Make sure an element with the ID we are going to use doesn't already exist + if (document.getElementById(this.movieName) !== null) { + throw "ID " + this.movieName + " is already in use. The Flash Object could not be added"; + } + + // Get the element where we will be placing the flash movie + targetElement = document.getElementById(this.settings.button_placeholder_id) || this.settings.button_placeholder; + + if (targetElement == undefined) { + throw "Could not find the placeholder element: " + this.settings.button_placeholder_id; + } + + // Append the container and load the flash + tempParent = document.createElement("div"); + tempParent.innerHTML = this.getFlashHTML(); // Using innerHTML is non-standard but the only sensible way to dynamically add Flash in IE (and maybe other browsers) + targetElement.parentNode.replaceChild(tempParent.firstChild, targetElement); + + // Fix IE Flash/Form bug + if (window[this.movieName] == undefined) { + window[this.movieName] = this.getMovieElement(); + } + +}; + +// Private: getFlashHTML generates the object tag needed to embed the flash in to the document +SWFUpload.prototype.getFlashHTML = function () { + // Flash Satay object syntax: http://www.alistapart.com/articles/flashsatay + // Fix bug for IE9 + // http://www.kindsoft.net/view.php?bbsid=7&postid=5825&pagenum=1 + var classid = ''; + if (KindEditor.IE && KindEditor.V > 8) { + classid = ' classid = "clsid:d27cdb6e-ae6d-11cf-96b8-444553540000"'; + } + return ['', + '', + '', + '', + '', + '', + '', + ''].join(""); +}; + +// Private: getFlashVars builds the parameter string that will be passed +// to flash in the flashvars param. +SWFUpload.prototype.getFlashVars = function () { + // Build a string from the post param object + var paramString = this.buildParamString(); + var httpSuccessString = this.settings.http_success.join(","); + + // Build the parameter string + return ["movieName=", encodeURIComponent(this.movieName), + "&uploadURL=", encodeURIComponent(this.settings.upload_url), + "&useQueryString=", encodeURIComponent(this.settings.use_query_string), + "&requeueOnError=", encodeURIComponent(this.settings.requeue_on_error), + "&httpSuccess=", encodeURIComponent(httpSuccessString), + "&assumeSuccessTimeout=", encodeURIComponent(this.settings.assume_success_timeout), + "&params=", encodeURIComponent(paramString), + "&filePostName=", encodeURIComponent(this.settings.file_post_name), + "&fileTypes=", encodeURIComponent(this.settings.file_types), + "&fileTypesDescription=", encodeURIComponent(this.settings.file_types_description), + "&fileSizeLimit=", encodeURIComponent(this.settings.file_size_limit), + "&fileUploadLimit=", encodeURIComponent(this.settings.file_upload_limit), + "&fileQueueLimit=", encodeURIComponent(this.settings.file_queue_limit), + "&debugEnabled=", encodeURIComponent(this.settings.debug_enabled), + "&buttonImageURL=", encodeURIComponent(this.settings.button_image_url), + "&buttonWidth=", encodeURIComponent(this.settings.button_width), + "&buttonHeight=", encodeURIComponent(this.settings.button_height), + "&buttonText=", encodeURIComponent(this.settings.button_text), + "&buttonTextTopPadding=", encodeURIComponent(this.settings.button_text_top_padding), + "&buttonTextLeftPadding=", encodeURIComponent(this.settings.button_text_left_padding), + "&buttonTextStyle=", encodeURIComponent(this.settings.button_text_style), + "&buttonAction=", encodeURIComponent(this.settings.button_action), + "&buttonDisabled=", encodeURIComponent(this.settings.button_disabled), + "&buttonCursor=", encodeURIComponent(this.settings.button_cursor) + ].join(""); +}; + +// Public: getMovieElement retrieves the DOM reference to the Flash element added by SWFUpload +// The element is cached after the first lookup +SWFUpload.prototype.getMovieElement = function () { + if (this.movieElement == undefined) { + this.movieElement = document.getElementById(this.movieName); + } + + if (this.movieElement === null) { + throw "Could not find Flash element"; + } + + return this.movieElement; +}; + +// Private: buildParamString takes the name/value pairs in the post_params setting object +// and joins them up in to a string formatted "name=value&name=value" +SWFUpload.prototype.buildParamString = function () { + var postParams = this.settings.post_params; + var paramStringPairs = []; + + if (typeof(postParams) === "object") { + for (var name in postParams) { + if (postParams.hasOwnProperty(name)) { + paramStringPairs.push(encodeURIComponent(name.toString()) + "=" + encodeURIComponent(postParams[name].toString())); + } + } + } + + return paramStringPairs.join("&"); +}; + +// Public: Used to remove a SWFUpload instance from the page. This method strives to remove +// all references to the SWF, and other objects so memory is properly freed. +// Returns true if everything was destroyed. Returns a false if a failure occurs leaving SWFUpload in an inconsistant state. +// Credits: Major improvements provided by steffen +SWFUpload.prototype.destroy = function () { + try { + // Make sure Flash is done before we try to remove it + this.cancelUpload(null, false); + + + // Remove the SWFUpload DOM nodes + var movieElement = null; + movieElement = this.getMovieElement(); + + if (movieElement && typeof(movieElement.CallFunction) === "unknown") { // We only want to do this in IE + // Loop through all the movie's properties and remove all function references (DOM/JS IE 6/7 memory leak workaround) + for (var i in movieElement) { + try { + if (typeof(movieElement[i]) === "function") { + movieElement[i] = null; + } + } catch (ex1) {} + } + + // Remove the Movie Element from the page + try { + movieElement.parentNode.removeChild(movieElement); + } catch (ex) {} + } + + // Remove IE form fix reference + window[this.movieName] = null; + + // Destroy other references + SWFUpload.instances[this.movieName] = null; + delete SWFUpload.instances[this.movieName]; + + this.movieElement = null; + this.settings = null; + this.customSettings = null; + this.eventQueue = null; + this.movieName = null; + + + return true; + } catch (ex2) { + return false; + } +}; + + +// Public: displayDebugInfo prints out settings and configuration +// information about this SWFUpload instance. +// This function (and any references to it) can be deleted when placing +// SWFUpload in production. +SWFUpload.prototype.displayDebugInfo = function () { + this.debug( + [ + "---SWFUpload Instance Info---\n", + "Version: ", SWFUpload.version, "\n", + "Movie Name: ", this.movieName, "\n", + "Settings:\n", + "\t", "upload_url: ", this.settings.upload_url, "\n", + "\t", "flash_url: ", this.settings.flash_url, "\n", + "\t", "use_query_string: ", this.settings.use_query_string.toString(), "\n", + "\t", "requeue_on_error: ", this.settings.requeue_on_error.toString(), "\n", + "\t", "http_success: ", this.settings.http_success.join(", "), "\n", + "\t", "assume_success_timeout: ", this.settings.assume_success_timeout, "\n", + "\t", "file_post_name: ", this.settings.file_post_name, "\n", + "\t", "post_params: ", this.settings.post_params.toString(), "\n", + "\t", "file_types: ", this.settings.file_types, "\n", + "\t", "file_types_description: ", this.settings.file_types_description, "\n", + "\t", "file_size_limit: ", this.settings.file_size_limit, "\n", + "\t", "file_upload_limit: ", this.settings.file_upload_limit, "\n", + "\t", "file_queue_limit: ", this.settings.file_queue_limit, "\n", + "\t", "debug: ", this.settings.debug.toString(), "\n", + + "\t", "prevent_swf_caching: ", this.settings.prevent_swf_caching.toString(), "\n", + + "\t", "button_placeholder_id: ", this.settings.button_placeholder_id.toString(), "\n", + "\t", "button_placeholder: ", (this.settings.button_placeholder ? "Set" : "Not Set"), "\n", + "\t", "button_image_url: ", this.settings.button_image_url.toString(), "\n", + "\t", "button_width: ", this.settings.button_width.toString(), "\n", + "\t", "button_height: ", this.settings.button_height.toString(), "\n", + "\t", "button_text: ", this.settings.button_text.toString(), "\n", + "\t", "button_text_style: ", this.settings.button_text_style.toString(), "\n", + "\t", "button_text_top_padding: ", this.settings.button_text_top_padding.toString(), "\n", + "\t", "button_text_left_padding: ", this.settings.button_text_left_padding.toString(), "\n", + "\t", "button_action: ", this.settings.button_action.toString(), "\n", + "\t", "button_disabled: ", this.settings.button_disabled.toString(), "\n", + + "\t", "custom_settings: ", this.settings.custom_settings.toString(), "\n", + "Event Handlers:\n", + "\t", "swfupload_loaded_handler assigned: ", (typeof this.settings.swfupload_loaded_handler === "function").toString(), "\n", + "\t", "file_dialog_start_handler assigned: ", (typeof this.settings.file_dialog_start_handler === "function").toString(), "\n", + "\t", "file_queued_handler assigned: ", (typeof this.settings.file_queued_handler === "function").toString(), "\n", + "\t", "file_queue_error_handler assigned: ", (typeof this.settings.file_queue_error_handler === "function").toString(), "\n", + "\t", "upload_start_handler assigned: ", (typeof this.settings.upload_start_handler === "function").toString(), "\n", + "\t", "upload_progress_handler assigned: ", (typeof this.settings.upload_progress_handler === "function").toString(), "\n", + "\t", "upload_error_handler assigned: ", (typeof this.settings.upload_error_handler === "function").toString(), "\n", + "\t", "upload_success_handler assigned: ", (typeof this.settings.upload_success_handler === "function").toString(), "\n", + "\t", "upload_complete_handler assigned: ", (typeof this.settings.upload_complete_handler === "function").toString(), "\n", + "\t", "debug_handler assigned: ", (typeof this.settings.debug_handler === "function").toString(), "\n" + ].join("") + ); +}; + +/* Note: addSetting and getSetting are no longer used by SWFUpload but are included + the maintain v2 API compatibility +*/ +// Public: (Deprecated) addSetting adds a setting value. If the value given is undefined or null then the default_value is used. +SWFUpload.prototype.addSetting = function (name, value, default_value) { + if (value == undefined) { + return (this.settings[name] = default_value); + } else { + return (this.settings[name] = value); + } +}; + +// Public: (Deprecated) getSetting gets a setting. Returns an empty string if the setting was not found. +SWFUpload.prototype.getSetting = function (name) { + if (this.settings[name] != undefined) { + return this.settings[name]; + } + + return ""; +}; + + + +// Private: callFlash handles function calls made to the Flash element. +// Calls are made with a setTimeout for some functions to work around +// bugs in the ExternalInterface library. +SWFUpload.prototype.callFlash = function (functionName, argumentArray) { + argumentArray = argumentArray || []; + + var movieElement = this.getMovieElement(); + var returnValue, returnString; + + // Flash's method if calling ExternalInterface methods (code adapted from MooTools). + try { + returnString = movieElement.CallFunction('' + __flash__argumentsToXML(argumentArray, 0) + ''); + returnValue = eval(returnString); + } catch (ex) { + throw "Call to " + functionName + " failed"; + } + + // Unescape file post param values + if (returnValue != undefined && typeof returnValue.post === "object") { + returnValue = this.unescapeFilePostParams(returnValue); + } + + return returnValue; +}; + +/* ***************************** + -- Flash control methods -- + Your UI should use these + to operate SWFUpload + ***************************** */ + +// WARNING: this function does not work in Flash Player 10 +// Public: selectFile causes a File Selection Dialog window to appear. This +// dialog only allows 1 file to be selected. +SWFUpload.prototype.selectFile = function () { + this.callFlash("SelectFile"); +}; + +// WARNING: this function does not work in Flash Player 10 +// Public: selectFiles causes a File Selection Dialog window to appear/ This +// dialog allows the user to select any number of files +// Flash Bug Warning: Flash limits the number of selectable files based on the combined length of the file names. +// If the selection name length is too long the dialog will fail in an unpredictable manner. There is no work-around +// for this bug. +SWFUpload.prototype.selectFiles = function () { + this.callFlash("SelectFiles"); +}; + + +// Public: startUpload starts uploading the first file in the queue unless +// the optional parameter 'fileID' specifies the ID +SWFUpload.prototype.startUpload = function (fileID) { + this.callFlash("StartUpload", [fileID]); +}; + +// Public: cancelUpload cancels any queued file. The fileID parameter may be the file ID or index. +// If you do not specify a fileID the current uploading file or first file in the queue is cancelled. +// If you do not want the uploadError event to trigger you can specify false for the triggerErrorEvent parameter. +SWFUpload.prototype.cancelUpload = function (fileID, triggerErrorEvent) { + if (triggerErrorEvent !== false) { + triggerErrorEvent = true; + } + this.callFlash("CancelUpload", [fileID, triggerErrorEvent]); +}; + +// Public: stopUpload stops the current upload and requeues the file at the beginning of the queue. +// If nothing is currently uploading then nothing happens. +SWFUpload.prototype.stopUpload = function () { + this.callFlash("StopUpload"); +}; + +/* ************************ + * Settings methods + * These methods change the SWFUpload settings. + * SWFUpload settings should not be changed directly on the settings object + * since many of the settings need to be passed to Flash in order to take + * effect. + * *********************** */ + +// Public: getStats gets the file statistics object. +SWFUpload.prototype.getStats = function () { + return this.callFlash("GetStats"); +}; + +// Public: setStats changes the SWFUpload statistics. You shouldn't need to +// change the statistics but you can. Changing the statistics does not +// affect SWFUpload accept for the successful_uploads count which is used +// by the upload_limit setting to determine how many files the user may upload. +SWFUpload.prototype.setStats = function (statsObject) { + this.callFlash("SetStats", [statsObject]); +}; + +// Public: getFile retrieves a File object by ID or Index. If the file is +// not found then 'null' is returned. +SWFUpload.prototype.getFile = function (fileID) { + if (typeof(fileID) === "number") { + return this.callFlash("GetFileByIndex", [fileID]); + } else { + return this.callFlash("GetFile", [fileID]); + } +}; + +// Public: addFileParam sets a name/value pair that will be posted with the +// file specified by the Files ID. If the name already exists then the +// exiting value will be overwritten. +SWFUpload.prototype.addFileParam = function (fileID, name, value) { + return this.callFlash("AddFileParam", [fileID, name, value]); +}; + +// Public: removeFileParam removes a previously set (by addFileParam) name/value +// pair from the specified file. +SWFUpload.prototype.removeFileParam = function (fileID, name) { + this.callFlash("RemoveFileParam", [fileID, name]); +}; + +// Public: setUploadUrl changes the upload_url setting. +SWFUpload.prototype.setUploadURL = function (url) { + this.settings.upload_url = url.toString(); + this.callFlash("SetUploadURL", [url]); +}; + +// Public: setPostParams changes the post_params setting +SWFUpload.prototype.setPostParams = function (paramsObject) { + this.settings.post_params = paramsObject; + this.callFlash("SetPostParams", [paramsObject]); +}; + +// Public: addPostParam adds post name/value pair. Each name can have only one value. +SWFUpload.prototype.addPostParam = function (name, value) { + this.settings.post_params[name] = value; + this.callFlash("SetPostParams", [this.settings.post_params]); +}; + +// Public: removePostParam deletes post name/value pair. +SWFUpload.prototype.removePostParam = function (name) { + delete this.settings.post_params[name]; + this.callFlash("SetPostParams", [this.settings.post_params]); +}; + +// Public: setFileTypes changes the file_types setting and the file_types_description setting +SWFUpload.prototype.setFileTypes = function (types, description) { + this.settings.file_types = types; + this.settings.file_types_description = description; + this.callFlash("SetFileTypes", [types, description]); +}; + +// Public: setFileSizeLimit changes the file_size_limit setting +SWFUpload.prototype.setFileSizeLimit = function (fileSizeLimit) { + this.settings.file_size_limit = fileSizeLimit; + this.callFlash("SetFileSizeLimit", [fileSizeLimit]); +}; + +// Public: setFileUploadLimit changes the file_upload_limit setting +SWFUpload.prototype.setFileUploadLimit = function (fileUploadLimit) { + this.settings.file_upload_limit = fileUploadLimit; + this.callFlash("SetFileUploadLimit", [fileUploadLimit]); +}; + +// Public: setFileQueueLimit changes the file_queue_limit setting +SWFUpload.prototype.setFileQueueLimit = function (fileQueueLimit) { + this.settings.file_queue_limit = fileQueueLimit; + this.callFlash("SetFileQueueLimit", [fileQueueLimit]); +}; + +// Public: setFilePostName changes the file_post_name setting +SWFUpload.prototype.setFilePostName = function (filePostName) { + this.settings.file_post_name = filePostName; + this.callFlash("SetFilePostName", [filePostName]); +}; + +// Public: setUseQueryString changes the use_query_string setting +SWFUpload.prototype.setUseQueryString = function (useQueryString) { + this.settings.use_query_string = useQueryString; + this.callFlash("SetUseQueryString", [useQueryString]); +}; + +// Public: setRequeueOnError changes the requeue_on_error setting +SWFUpload.prototype.setRequeueOnError = function (requeueOnError) { + this.settings.requeue_on_error = requeueOnError; + this.callFlash("SetRequeueOnError", [requeueOnError]); +}; + +// Public: setHTTPSuccess changes the http_success setting +SWFUpload.prototype.setHTTPSuccess = function (http_status_codes) { + if (typeof http_status_codes === "string") { + http_status_codes = http_status_codes.replace(" ", "").split(","); + } + + this.settings.http_success = http_status_codes; + this.callFlash("SetHTTPSuccess", [http_status_codes]); +}; + +// Public: setHTTPSuccess changes the http_success setting +SWFUpload.prototype.setAssumeSuccessTimeout = function (timeout_seconds) { + this.settings.assume_success_timeout = timeout_seconds; + this.callFlash("SetAssumeSuccessTimeout", [timeout_seconds]); +}; + +// Public: setDebugEnabled changes the debug_enabled setting +SWFUpload.prototype.setDebugEnabled = function (debugEnabled) { + this.settings.debug_enabled = debugEnabled; + this.callFlash("SetDebugEnabled", [debugEnabled]); +}; + +// Public: setButtonImageURL loads a button image sprite +SWFUpload.prototype.setButtonImageURL = function (buttonImageURL) { + if (buttonImageURL == undefined) { + buttonImageURL = ""; + } + + this.settings.button_image_url = buttonImageURL; + this.callFlash("SetButtonImageURL", [buttonImageURL]); +}; + +// Public: setButtonDimensions resizes the Flash Movie and button +SWFUpload.prototype.setButtonDimensions = function (width, height) { + this.settings.button_width = width; + this.settings.button_height = height; + + var movie = this.getMovieElement(); + if (movie != undefined) { + movie.style.width = width + "px"; + movie.style.height = height + "px"; + } + + this.callFlash("SetButtonDimensions", [width, height]); +}; +// Public: setButtonText Changes the text overlaid on the button +SWFUpload.prototype.setButtonText = function (html) { + this.settings.button_text = html; + this.callFlash("SetButtonText", [html]); +}; +// Public: setButtonTextPadding changes the top and left padding of the text overlay +SWFUpload.prototype.setButtonTextPadding = function (left, top) { + this.settings.button_text_top_padding = top; + this.settings.button_text_left_padding = left; + this.callFlash("SetButtonTextPadding", [left, top]); +}; + +// Public: setButtonTextStyle changes the CSS used to style the HTML/Text overlaid on the button +SWFUpload.prototype.setButtonTextStyle = function (css) { + this.settings.button_text_style = css; + this.callFlash("SetButtonTextStyle", [css]); +}; +// Public: setButtonDisabled disables/enables the button +SWFUpload.prototype.setButtonDisabled = function (isDisabled) { + this.settings.button_disabled = isDisabled; + this.callFlash("SetButtonDisabled", [isDisabled]); +}; +// Public: setButtonAction sets the action that occurs when the button is clicked +SWFUpload.prototype.setButtonAction = function (buttonAction) { + this.settings.button_action = buttonAction; + this.callFlash("SetButtonAction", [buttonAction]); +}; + +// Public: setButtonCursor changes the mouse cursor displayed when hovering over the button +SWFUpload.prototype.setButtonCursor = function (cursor) { + this.settings.button_cursor = cursor; + this.callFlash("SetButtonCursor", [cursor]); +}; + +/* ******************************* + Flash Event Interfaces + These functions are used by Flash to trigger the various + events. + + All these functions a Private. + + Because the ExternalInterface library is buggy the event calls + are added to a queue and the queue then executed by a setTimeout. + This ensures that events are executed in a determinate order and that + the ExternalInterface bugs are avoided. +******************************* */ + +SWFUpload.prototype.queueEvent = function (handlerName, argumentArray) { + // Warning: Don't call this.debug inside here or you'll create an infinite loop + + if (argumentArray == undefined) { + argumentArray = []; + } else if (!(argumentArray instanceof Array)) { + argumentArray = [argumentArray]; + } + + var self = this; + if (typeof this.settings[handlerName] === "function") { + // Queue the event + this.eventQueue.push(function () { + this.settings[handlerName].apply(this, argumentArray); + }); + + // Execute the next queued event + setTimeout(function () { + self.executeNextEvent(); + }, 0); + + } else if (this.settings[handlerName] !== null) { + throw "Event handler " + handlerName + " is unknown or is not a function"; + } +}; + +// Private: Causes the next event in the queue to be executed. Since events are queued using a setTimeout +// we must queue them in order to garentee that they are executed in order. +SWFUpload.prototype.executeNextEvent = function () { + // Warning: Don't call this.debug inside here or you'll create an infinite loop + + var f = this.eventQueue ? this.eventQueue.shift() : null; + if (typeof(f) === "function") { + f.apply(this); + } +}; + +// Private: unescapeFileParams is part of a workaround for a flash bug where objects passed through ExternalInterface cannot have +// properties that contain characters that are not valid for JavaScript identifiers. To work around this +// the Flash Component escapes the parameter names and we must unescape again before passing them along. +SWFUpload.prototype.unescapeFilePostParams = function (file) { + var reg = /[$]([0-9a-f]{4})/i; + var unescapedPost = {}; + var uk; + + if (file != undefined) { + for (var k in file.post) { + if (file.post.hasOwnProperty(k)) { + uk = k; + var match; + while ((match = reg.exec(uk)) !== null) { + uk = uk.replace(match[0], String.fromCharCode(parseInt("0x" + match[1], 16))); + } + unescapedPost[uk] = file.post[k]; + } + } + + file.post = unescapedPost; + } + + return file; +}; + +// Private: Called by Flash to see if JS can call in to Flash (test if External Interface is working) +SWFUpload.prototype.testExternalInterface = function () { + try { + return this.callFlash("TestExternalInterface"); + } catch (ex) { + return false; + } +}; + +// Private: This event is called by Flash when it has finished loading. Don't modify this. +// Use the swfupload_loaded_handler event setting to execute custom code when SWFUpload has loaded. +SWFUpload.prototype.flashReady = function () { + // Check that the movie element is loaded correctly with its ExternalInterface methods defined + var movieElement = this.getMovieElement(); + + if (!movieElement) { + this.debug("Flash called back ready but the flash movie can't be found."); + return; + } + + this.cleanUp(movieElement); + + this.queueEvent("swfupload_loaded_handler"); +}; + +// Private: removes Flash added fuctions to the DOM node to prevent memory leaks in IE. +// This function is called by Flash each time the ExternalInterface functions are created. +SWFUpload.prototype.cleanUp = function (movieElement) { + // Pro-actively unhook all the Flash functions + try { + if (this.movieElement && typeof(movieElement.CallFunction) === "unknown") { // We only want to do this in IE + this.debug("Removing Flash functions hooks (this should only run in IE and should prevent memory leaks)"); + for (var key in movieElement) { + try { + if (typeof(movieElement[key]) === "function") { + movieElement[key] = null; + } + } catch (ex) { + } + } + } + } catch (ex1) { + + } + + // Fix Flashes own cleanup code so if the SWFMovie was removed from the page + // it doesn't display errors. + window["__flash__removeCallback"] = function (instance, name) { + try { + if (instance) { + instance[name] = null; + } + } catch (flashEx) { + + } + }; + +}; + + +/* This is a chance to do something before the browse window opens */ +SWFUpload.prototype.fileDialogStart = function () { + this.queueEvent("file_dialog_start_handler"); +}; + + +/* Called when a file is successfully added to the queue. */ +SWFUpload.prototype.fileQueued = function (file) { + file = this.unescapeFilePostParams(file); + this.queueEvent("file_queued_handler", file); +}; + + +/* Handle errors that occur when an attempt to queue a file fails. */ +SWFUpload.prototype.fileQueueError = function (file, errorCode, message) { + file = this.unescapeFilePostParams(file); + this.queueEvent("file_queue_error_handler", [file, errorCode, message]); +}; + +/* Called after the file dialog has closed and the selected files have been queued. + You could call startUpload here if you want the queued files to begin uploading immediately. */ +SWFUpload.prototype.fileDialogComplete = function (numFilesSelected, numFilesQueued, numFilesInQueue) { + this.queueEvent("file_dialog_complete_handler", [numFilesSelected, numFilesQueued, numFilesInQueue]); +}; + +SWFUpload.prototype.uploadStart = function (file) { + file = this.unescapeFilePostParams(file); + this.queueEvent("return_upload_start_handler", file); +}; + +SWFUpload.prototype.returnUploadStart = function (file) { + var returnValue; + if (typeof this.settings.upload_start_handler === "function") { + file = this.unescapeFilePostParams(file); + returnValue = this.settings.upload_start_handler.call(this, file); + } else if (this.settings.upload_start_handler != undefined) { + throw "upload_start_handler must be a function"; + } + + // Convert undefined to true so if nothing is returned from the upload_start_handler it is + // interpretted as 'true'. + if (returnValue === undefined) { + returnValue = true; + } + + returnValue = !!returnValue; + + this.callFlash("ReturnUploadStart", [returnValue]); +}; + + + +SWFUpload.prototype.uploadProgress = function (file, bytesComplete, bytesTotal) { + file = this.unescapeFilePostParams(file); + this.queueEvent("upload_progress_handler", [file, bytesComplete, bytesTotal]); +}; + +SWFUpload.prototype.uploadError = function (file, errorCode, message) { + file = this.unescapeFilePostParams(file); + this.queueEvent("upload_error_handler", [file, errorCode, message]); +}; + +SWFUpload.prototype.uploadSuccess = function (file, serverData, responseReceived) { + file = this.unescapeFilePostParams(file); + this.queueEvent("upload_success_handler", [file, serverData, responseReceived]); +}; + +SWFUpload.prototype.uploadComplete = function (file) { + file = this.unescapeFilePostParams(file); + this.queueEvent("upload_complete_handler", file); +}; + +/* Called by SWFUpload JavaScript and Flash functions when debug is enabled. By default it writes messages to the + internal debug console. You can override this event and have messages written where you want. */ +SWFUpload.prototype.debug = function (message) { + this.queueEvent("debug_handler", message); +}; + + +/* ********************************** + Debug Console + The debug console is a self contained, in page location + for debug message to be sent. The Debug Console adds + itself to the body if necessary. + + The console is automatically scrolled as messages appear. + + If you are using your own debug handler or when you deploy to production and + have debug disabled you can remove these functions to reduce the file size + and complexity. +********************************** */ + +// Private: debugMessage is the default debug_handler. If you want to print debug messages +// call the debug() function. When overriding the function your own function should +// check to see if the debug setting is true before outputting debug information. +SWFUpload.prototype.debugMessage = function (message) { + if (this.settings.debug) { + var exceptionMessage, exceptionValues = []; + + // Check for an exception object and print it nicely + if (typeof message === "object" && typeof message.name === "string" && typeof message.message === "string") { + for (var key in message) { + if (message.hasOwnProperty(key)) { + exceptionValues.push(key + ": " + message[key]); + } + } + exceptionMessage = exceptionValues.join("\n") || ""; + exceptionValues = exceptionMessage.split("\n"); + exceptionMessage = "EXCEPTION: " + exceptionValues.join("\nEXCEPTION: "); + SWFUpload.Console.writeLine(exceptionMessage); + } else { + SWFUpload.Console.writeLine(message); + } + } +}; + +SWFUpload.Console = {}; +SWFUpload.Console.writeLine = function (message) { + var console, documentForm; + + try { + console = document.getElementById("SWFUpload_Console"); + + if (!console) { + documentForm = document.createElement("form"); + document.getElementsByTagName("body")[0].appendChild(documentForm); + + console = document.createElement("textarea"); + console.id = "SWFUpload_Console"; + console.style.fontFamily = "monospace"; + console.setAttribute("wrap", "off"); + console.wrap = "off"; + console.style.overflow = "auto"; + console.style.width = "700px"; + console.style.height = "350px"; + console.style.margin = "5px"; + documentForm.appendChild(console); + } + + console.value += message + "\n"; + + console.scrollTop = console.scrollHeight - console.clientHeight; + } catch (ex) { + alert("Exception: " + ex.name + " Message: " + ex.message); + } +}; + +})(); + +(function() { +/* + Queue Plug-in + + Features: + *Adds a cancelQueue() method for cancelling the entire queue. + *All queued files are uploaded when startUpload() is called. + *If false is returned from uploadComplete then the queue upload is stopped. + If false is not returned (strict comparison) then the queue upload is continued. + *Adds a QueueComplete event that is fired when all the queued files have finished uploading. + Set the event handler with the queue_complete_handler setting. + + */ + +if (typeof(SWFUpload) === "function") { + SWFUpload.queue = {}; + + SWFUpload.prototype.initSettings = (function (oldInitSettings) { + return function () { + if (typeof(oldInitSettings) === "function") { + oldInitSettings.call(this); + } + + this.queueSettings = {}; + + this.queueSettings.queue_cancelled_flag = false; + this.queueSettings.queue_upload_count = 0; + + this.queueSettings.user_upload_complete_handler = this.settings.upload_complete_handler; + this.queueSettings.user_upload_start_handler = this.settings.upload_start_handler; + this.settings.upload_complete_handler = SWFUpload.queue.uploadCompleteHandler; + this.settings.upload_start_handler = SWFUpload.queue.uploadStartHandler; + + this.settings.queue_complete_handler = this.settings.queue_complete_handler || null; + }; + })(SWFUpload.prototype.initSettings); + + SWFUpload.prototype.startUpload = function (fileID) { + this.queueSettings.queue_cancelled_flag = false; + this.callFlash("StartUpload", [fileID]); + }; + + SWFUpload.prototype.cancelQueue = function () { + this.queueSettings.queue_cancelled_flag = true; + this.stopUpload(); + + var stats = this.getStats(); + while (stats.files_queued > 0) { + this.cancelUpload(); + stats = this.getStats(); + } + }; + + SWFUpload.queue.uploadStartHandler = function (file) { + var returnValue; + if (typeof(this.queueSettings.user_upload_start_handler) === "function") { + returnValue = this.queueSettings.user_upload_start_handler.call(this, file); + } + + // To prevent upload a real "FALSE" value must be returned, otherwise default to a real "TRUE" value. + returnValue = (returnValue === false) ? false : true; + + this.queueSettings.queue_cancelled_flag = !returnValue; + + return returnValue; + }; + + SWFUpload.queue.uploadCompleteHandler = function (file) { + var user_upload_complete_handler = this.queueSettings.user_upload_complete_handler; + var continueUpload; + + if (file.filestatus === SWFUpload.FILE_STATUS.COMPLETE) { + this.queueSettings.queue_upload_count++; + } + + if (typeof(user_upload_complete_handler) === "function") { + continueUpload = (user_upload_complete_handler.call(this, file) === false) ? false : true; + } else if (file.filestatus === SWFUpload.FILE_STATUS.QUEUED) { + // If the file was stopped and re-queued don't restart the upload + continueUpload = false; + } else { + continueUpload = true; + } + + if (continueUpload) { + var stats = this.getStats(); + if (stats.files_queued > 0 && this.queueSettings.queue_cancelled_flag === false) { + this.startUpload(); + } else if (this.queueSettings.queue_cancelled_flag === false) { + this.queueEvent("queue_complete_handler", [this.queueSettings.queue_upload_count]); + this.queueSettings.queue_upload_count = 0; + } else { + this.queueSettings.queue_cancelled_flag = false; + this.queueSettings.queue_upload_count = 0; + } + } + }; +} + +})(); +/******************************************************************************* +* KindEditor - WYSIWYG HTML Editor for Internet +* Copyright (C) 2006-2011 kindsoft.net +* +* @author Roddy +* @site http://www.kindsoft.net/ +* @licence http://www.kindsoft.net/license.php +*******************************************************************************/ + +KindEditor.plugin('pagebreak', function(K) { + var self = this; + var name = 'pagebreak'; + var pagebreakHtml = K.undef(self.pagebreakHtml, '
                                                    '); + + self.clickToolbar(name, function() { + var cmd = self.cmd, range = cmd.range; + self.focus(); + var tail = self.newlineTag == 'br' || K.WEBKIT ? '' : ''; + self.insertHtml(pagebreakHtml + tail); + if (tail !== '') { + var p = K('#__kindeditor_tail_tag__', self.edit.doc); + range.selectNodeContents(p[0]); + p.removeAttr('id'); + cmd.select(); + } + }); +}); +/******************************************************************************* +* KindEditor - WYSIWYG HTML Editor for Internet +* Copyright (C) 2006-2011 kindsoft.net +* +* @author Roddy +* @site http://www.kindsoft.net/ +* @licence http://www.kindsoft.net/license.php +*******************************************************************************/ + +KindEditor.plugin('plainpaste', function(K) { + var self = this, name = 'plainpaste'; + self.clickToolbar(name, function() { + var lang = self.lang(name + '.'), + html = '
                                                    ' + + '
                                                    ' + lang.comment + '
                                                    ' + + '' + + '
                                                    ', + dialog = self.createDialog({ + name : name, + width : 450, + title : self.lang(name), + body : html, + yesBtn : { + name : self.lang('yes'), + click : function(e) { + var html = textarea.val(); + html = K.escape(html); + html = html.replace(/ {2}/g, '  '); + if (self.newlineTag == 'p') { + html = html.replace(/^/, '

                                                    ').replace(/$/, '

                                                    ').replace(/\n/g, '

                                                    '); + } else { + html = html.replace(/\n/g, '
                                                    $&'); + } + self.insertHtml(html).hideDialog().focus(); + } + } + }), + textarea = K('textarea', dialog.div); + textarea[0].focus(); + }); +}); +/******************************************************************************* +* KindEditor - WYSIWYG HTML Editor for Internet +* Copyright (C) 2006-2011 kindsoft.net +* +* @author Roddy +* @site http://www.kindsoft.net/ +* @licence http://www.kindsoft.net/license.php +*******************************************************************************/ + +KindEditor.plugin('preview', function(K) { + var self = this, name = 'preview', undefined; + self.clickToolbar(name, function() { + var lang = self.lang(name + '.'), + html = '

                                                    ' + + '' + + '
                                                    ', + dialog = self.createDialog({ + name : name, + width : 750, + title : self.lang(name), + body : html + }), + iframe = K('iframe', dialog.div), + doc = K.iframeDoc(iframe); + doc.open(); + doc.write(self.fullHtml()); + doc.close(); + K(doc.body).css('background-color', '#FFF'); + iframe[0].contentWindow.focus(); + }); +}); +/******************************************************************************* +* KindEditor - WYSIWYG HTML Editor for Internet +* Copyright (C) 2006-2011 kindsoft.net +* +* @author Roddy +* @site http://www.kindsoft.net/ +* @licence http://www.kindsoft.net/license.php +*******************************************************************************/ + +KindEditor.plugin('quickformat', function(K) { + var self = this, name = 'quickformat', + blockMap = K.toMap('blockquote,center,div,h1,h2,h3,h4,h5,h6,p'); + function getFirstChild(knode) { + var child = knode.first(); + while (child && child.first()) { + child = child.first(); + } + return child; + } + self.clickToolbar(name, function() { + self.focus(); + var doc = self.edit.doc, + range = self.cmd.range, + child = K(doc.body).first(), next, + nodeList = [], subList = [], + bookmark = range.createBookmark(true); + while(child) { + next = child.next(); + var firstChild = getFirstChild(child); + if (!firstChild || firstChild.name != 'img') { + if (blockMap[child.name]) { + child.html(child.html().replace(/^(\s| | )+/ig, '')); + child.css('text-indent', '2em'); + } else { + subList.push(child); + } + if (!next || (blockMap[next.name] || blockMap[child.name] && !blockMap[next.name])) { + if (subList.length > 0) { + nodeList.push(subList); + } + subList = []; + } + } + child = next; + } + K.each(nodeList, function(i, subList) { + var wrapper = K('

                                                    ', doc); + subList[0].before(wrapper); + K.each(subList, function(i, knode) { + wrapper.append(knode); + }); + }); + range.moveToBookmark(bookmark); + self.addBookmark(); + }); +}); + +/** +-------------------------- +abcd
                                                    +1234
                                                    + +to + +

                                                    + abcd
                                                    + 1234
                                                    +

                                                    + +-------------------------- + +  abcd1233 +

                                                    1234

                                                    + +to + +

                                                    abcd1233

                                                    +

                                                    1234

                                                    + +-------------------------- +*//******************************************************************************* +* KindEditor - WYSIWYG HTML Editor for Internet +* Copyright (C) 2006-2011 kindsoft.net +* +* @author Roddy +* @site http://www.kindsoft.net/ +* @licence http://www.kindsoft.net/license.php +*******************************************************************************/ + +KindEditor.plugin('table', function(K) { + var self = this, name = 'table', lang = self.lang(name + '.'), zeroborder = 'ke-zeroborder'; + // 设置颜色 + function _setColor(box, color) { + color = color.toUpperCase(); + box.css('background-color', color); + box.css('color', color === '#000000' ? '#FFFFFF' : '#000000'); + box.html(color); + } + // 初始化取色器 + var pickerList = []; + function _initColorPicker(dialogDiv, colorBox) { + colorBox.bind('click,mousedown', function(e){ + e.stopPropagation(); + }); + function removePicker() { + K.each(pickerList, function() { + this.remove(); + }); + pickerList = []; + K(document).unbind('click,mousedown', removePicker); + dialogDiv.unbind('click,mousedown', removePicker); + } + colorBox.click(function(e) { + removePicker(); + var box = K(this), + pos = box.pos(); + var picker = K.colorpicker({ + x : pos.x, + y : pos.y + box.height(), + z : 811214, + selectedColor : K(this).html(), + colors : self.colorTable, + noColor : self.lang('noColor'), + shadowMode : self.shadowMode, + click : function(color) { + _setColor(box, color); + removePicker(); + } + }); + pickerList.push(picker); + K(document).bind('click,mousedown', removePicker); + dialogDiv.bind('click,mousedown', removePicker); + }); + } + // 取得下一行cell的index + function _getCellIndex(table, row, cell) { + var rowSpanCount = 0; + for (var i = 0, len = row.cells.length; i < len; i++) { + if (row.cells[i] == cell) { + break; + } + rowSpanCount += row.cells[i].rowSpan - 1; + } + return cell.cellIndex - rowSpanCount; + } + self.plugin.table = { + //insert or modify table + prop : function(isInsert) { + var html = [ + '
                                                    ', + //rows, cols + '
                                                    ', + '', + lang.rows + '   ', + lang.cols + ' ', + '
                                                    ', + //width, height + '
                                                    ', + '', + lang.width + '   ', + '   ', + lang.height + '   ', + '', + '
                                                    ', + //space, padding + '
                                                    ', + '', + lang.padding + '   ', + lang.spacing + ' ', + '
                                                    ', + //align + '
                                                    ', + '', + '', + '
                                                    ', + //border + '
                                                    ', + '', + lang.borderWidth + '   ', + lang.borderColor + ' ', + '
                                                    ', + //background color + '
                                                    ', + '', + '', + '
                                                    ', + '
                                                    ' + ].join(''); + var bookmark = self.cmd.range.createBookmark(); + var dialog = self.createDialog({ + name : name, + width : 500, + title : self.lang(name), + body : html, + beforeRemove : function() { + colorBox.unbind(); + }, + yesBtn : { + name : self.lang('yes'), + click : function(e) { + var rows = rowsBox.val(), + cols = colsBox.val(), + width = widthBox.val(), + height = heightBox.val(), + widthType = widthTypeBox.val(), + heightType = heightTypeBox.val(), + padding = paddingBox.val(), + spacing = spacingBox.val(), + align = alignBox.val(), + border = borderBox.val(), + borderColor = K(colorBox[0]).html() || '', + bgColor = K(colorBox[1]).html() || ''; + if (rows == 0 || !/^\d+$/.test(rows)) { + alert(self.lang('invalidRows')); + rowsBox[0].focus(); + return; + } + if (cols == 0 || !/^\d+$/.test(cols)) { + alert(self.lang('invalidRows')); + colsBox[0].focus(); + return; + } + if (!/^\d*$/.test(width)) { + alert(self.lang('invalidWidth')); + widthBox[0].focus(); + return; + } + if (!/^\d*$/.test(height)) { + alert(self.lang('invalidHeight')); + heightBox[0].focus(); + return; + } + if (!/^\d*$/.test(padding)) { + alert(self.lang('invalidPadding')); + paddingBox[0].focus(); + return; + } + if (!/^\d*$/.test(spacing)) { + alert(self.lang('invalidSpacing')); + spacingBox[0].focus(); + return; + } + if (!/^\d*$/.test(border)) { + alert(self.lang('invalidBorder')); + borderBox[0].focus(); + return; + } + //modify table + if (table) { + if (width !== '') { + table.width(width + widthType); + } else { + table.css('width', ''); + } + if (table[0].width !== undefined) { + table.removeAttr('width'); + } + if (height !== '') { + table.height(height + heightType); + } else { + table.css('height', ''); + } + if (table[0].height !== undefined) { + table.removeAttr('height'); + } + table.css('background-color', bgColor); + if (table[0].bgColor !== undefined) { + table.removeAttr('bgColor'); + } + if (padding !== '') { + table[0].cellPadding = padding; + } else { + table.removeAttr('cellPadding'); + } + if (spacing !== '') { + table[0].cellSpacing = spacing; + } else { + table.removeAttr('cellSpacing'); + } + if (align !== '') { + table[0].align = align; + } else { + table.removeAttr('align'); + } + if (border !== '') { + table.attr('border', border); + } else { + table.removeAttr('border'); + } + if (border === '' || border === '0') { + table.addClass(zeroborder); + } else { + table.removeClass(zeroborder); + } + if (borderColor !== '') { + table.attr('borderColor', borderColor); + } else { + table.removeAttr('borderColor'); + } + self.hideDialog().focus(); + self.cmd.range.moveToBookmark(bookmark); + self.cmd.select(); + self.addBookmark(); + return; + } + //insert new table + var style = ''; + if (width !== '') { + style += 'width:' + width + widthType + ';'; + } + if (height !== '') { + style += 'height:' + height + heightType + ';'; + } + if (bgColor !== '') { + style += 'background-color:' + bgColor + ';'; + } + var html = '') + ''; + } + html += ''; + } + html += '
                                                    '; + if (!K.IE) { + html += '
                                                    '; + } + self.insertHtml(html); + self.select().hideDialog().focus(); + self.addBookmark(); + } + } + }), + div = dialog.div, + rowsBox = K('[name="rows"]', div).val(3), + colsBox = K('[name="cols"]', div).val(2), + widthBox = K('[name="width"]', div).val(100), + heightBox = K('[name="height"]', div), + widthTypeBox = K('[name="widthType"]', div), + heightTypeBox = K('[name="heightType"]', div), + paddingBox = K('[name="padding"]', div).val(2), + spacingBox = K('[name="spacing"]', div).val(0), + alignBox = K('[name="align"]', div), + borderBox = K('[name="border"]', div).val(1), + colorBox = K('.ke-input-color', div); + _initColorPicker(div, colorBox.eq(0)); + _initColorPicker(div, colorBox.eq(1)); + _setColor(colorBox.eq(0), '#000000'); + _setColor(colorBox.eq(1), ''); + // foucs and select + rowsBox[0].focus(); + rowsBox[0].select(); + var table; + if (isInsert) { + return; + } + //get selected table node + table = self.plugin.getSelectedTable(); + if (table) { + rowsBox.val(table[0].rows.length); + colsBox.val(table[0].rows.length > 0 ? table[0].rows[0].cells.length : 0); + rowsBox.attr('disabled', true); + colsBox.attr('disabled', true); + var match, + tableWidth = table[0].style.width || table[0].width, + tableHeight = table[0].style.height || table[0].height; + if (tableWidth !== undefined && (match = /^(\d+)((?:px|%)*)$/.exec(tableWidth))) { + widthBox.val(match[1]); + widthTypeBox.val(match[2]); + } else { + widthBox.val(''); + } + if (tableHeight !== undefined && (match = /^(\d+)((?:px|%)*)$/.exec(tableHeight))) { + heightBox.val(match[1]); + heightTypeBox.val(match[2]); + } + paddingBox.val(table[0].cellPadding || ''); + spacingBox.val(table[0].cellSpacing || ''); + alignBox.val(table[0].align || ''); + borderBox.val(table[0].border === undefined ? '' : table[0].border); + _setColor(colorBox.eq(0), K.toHex(table.attr('borderColor') || '')); + _setColor(colorBox.eq(1), K.toHex(table[0].style.backgroundColor || table[0].bgColor || '')); + widthBox[0].focus(); + widthBox[0].select(); + } + }, + //modify cell + cellprop : function() { + var html = [ + '
                                                    ', + //width, height + '
                                                    ', + '', + lang.width + '   ', + '   ', + lang.height + '   ', + '', + '
                                                    ', + //align + '
                                                    ', + '', + lang.textAlign + ' ', + lang.verticalAlign + ' ', + '
                                                    ', + //border + '
                                                    ', + '', + lang.borderWidth + '   ', + lang.borderColor + ' ', + '
                                                    ', + //background color + '
                                                    ', + '', + '', + '
                                                    ', + '
                                                    ' + ].join(''); + var bookmark = self.cmd.range.createBookmark(); + var dialog = self.createDialog({ + name : name, + width : 500, + title : self.lang('tablecell'), + body : html, + beforeRemove : function() { + colorBox.unbind(); + }, + yesBtn : { + name : self.lang('yes'), + click : function(e) { + var width = widthBox.val(), + height = heightBox.val(), + widthType = widthTypeBox.val(), + heightType = heightTypeBox.val(), + padding = paddingBox.val(), + spacing = spacingBox.val(), + textAlign = textAlignBox.val(), + verticalAlign = verticalAlignBox.val(), + border = borderBox.val(), + borderColor = K(colorBox[0]).html() || '', + bgColor = K(colorBox[1]).html() || ''; + if (!/^\d*$/.test(width)) { + alert(self.lang('invalidWidth')); + widthBox[0].focus(); + return; + } + if (!/^\d*$/.test(height)) { + alert(self.lang('invalidHeight')); + heightBox[0].focus(); + return; + } + if (!/^\d*$/.test(border)) { + alert(self.lang('invalidBorder')); + borderBox[0].focus(); + return; + } + cell.css({ + width : width !== '' ? (width + widthType) : '', + height : height !== '' ? (height + heightType) : '', + 'background-color' : bgColor, + 'text-align' : textAlign, + 'vertical-align' : verticalAlign, + 'border-width' : border, + 'border-style' : border !== '' ? 'solid' : '', + 'border-color' : borderColor + }); + self.hideDialog().focus(); + self.cmd.range.moveToBookmark(bookmark); + self.cmd.select(); + self.addBookmark(); + } + } + }), + div = dialog.div, + widthBox = K('[name="width"]', div).val(100), + heightBox = K('[name="height"]', div), + widthTypeBox = K('[name="widthType"]', div), + heightTypeBox = K('[name="heightType"]', div), + paddingBox = K('[name="padding"]', div).val(2), + spacingBox = K('[name="spacing"]', div).val(0), + textAlignBox = K('[name="textAlign"]', div), + verticalAlignBox = K('[name="verticalAlign"]', div), + borderBox = K('[name="border"]', div).val(1), + colorBox = K('.ke-input-color', div); + _initColorPicker(div, colorBox.eq(0)); + _initColorPicker(div, colorBox.eq(1)); + _setColor(colorBox.eq(0), '#000000'); + _setColor(colorBox.eq(1), ''); + // foucs and select + widthBox[0].focus(); + widthBox[0].select(); + // get selected cell + var cell = self.plugin.getSelectedCell(); + var match, + cellWidth = cell[0].style.width || cell[0].width || '', + cellHeight = cell[0].style.height || cell[0].height || ''; + if ((match = /^(\d+)((?:px|%)*)$/.exec(cellWidth))) { + widthBox.val(match[1]); + widthTypeBox.val(match[2]); + } else { + widthBox.val(''); + } + if ((match = /^(\d+)((?:px|%)*)$/.exec(cellHeight))) { + heightBox.val(match[1]); + heightTypeBox.val(match[2]); + } + textAlignBox.val(cell[0].style.textAlign || ''); + verticalAlignBox.val(cell[0].style.verticalAlign || ''); + var border = cell[0].style.borderWidth || ''; + if (border) { + border = parseInt(border); + } + borderBox.val(border); + _setColor(colorBox.eq(0), K.toHex(cell[0].style.borderColor || '')); + _setColor(colorBox.eq(1), K.toHex(cell[0].style.backgroundColor || '')); + widthBox[0].focus(); + widthBox[0].select(); + }, + insert : function() { + this.prop(true); + }, + 'delete' : function() { + var table = self.plugin.getSelectedTable(); + self.cmd.range.setStartBefore(table[0]).collapse(true); + self.cmd.select(); + table.remove(); + self.addBookmark(); + }, + colinsert : function(offset) { + var table = self.plugin.getSelectedTable()[0], + row = self.plugin.getSelectedRow()[0], + cell = self.plugin.getSelectedCell()[0], + index = cell.cellIndex + offset; + // 取得第一行的index + index += table.rows[0].cells.length - row.cells.length; + + for (var i = 0, len = table.rows.length; i < len; i++) { + var newRow = table.rows[i], + newCell = newRow.insertCell(index); + newCell.innerHTML = K.IE ? '' : '
                                                    '; + // 调整下一行的单元格index + index = _getCellIndex(table, newRow, newCell); + } + self.cmd.range.selectNodeContents(cell).collapse(true); + self.cmd.select(); + self.addBookmark(); + }, + colinsertleft : function() { + this.colinsert(0); + }, + colinsertright : function() { + this.colinsert(1); + }, + rowinsert : function(offset) { + var table = self.plugin.getSelectedTable()[0], + row = self.plugin.getSelectedRow()[0], + cell = self.plugin.getSelectedCell()[0]; + var rowIndex = row.rowIndex; + if (offset === 1) { + rowIndex = row.rowIndex + (cell.rowSpan - 1) + offset; + } + var newRow = table.insertRow(rowIndex); + + for (var i = 0, len = row.cells.length; i < len; i++) { + // 调整cell个数 + if (row.cells[i].rowSpan > 1) { + len -= row.cells[i].rowSpan - 1; + } + var newCell = newRow.insertCell(i); + // copy colspan + if (offset === 1 && row.cells[i].colSpan > 1) { + newCell.colSpan = row.cells[i].colSpan; + } + newCell.innerHTML = K.IE ? '' : '
                                                    '; + } + // 调整rowspan + for (var j = rowIndex; j >= 0; j--) { + var cells = table.rows[j].cells; + if (cells.length > i) { + for (var k = cell.cellIndex; k >= 0; k--) { + if (cells[k].rowSpan > 1) { + cells[k].rowSpan += 1; + } + } + break; + } + } + self.cmd.range.selectNodeContents(cell).collapse(true); + self.cmd.select(); + self.addBookmark(); + }, + rowinsertabove : function() { + this.rowinsert(0); + }, + rowinsertbelow : function() { + this.rowinsert(1); + }, + rowmerge : function() { + var table = self.plugin.getSelectedTable()[0], + row = self.plugin.getSelectedRow()[0], + cell = self.plugin.getSelectedCell()[0], + rowIndex = row.rowIndex, // 当前行的index + nextRowIndex = rowIndex + cell.rowSpan, // 下一行的index + nextRow = table.rows[nextRowIndex]; // 下一行 + // 最后一行不能合并 + if (table.rows.length <= nextRowIndex) { + return; + } + var cellIndex = cell.cellIndex; // 下一行单元格的index + if (nextRow.cells.length <= cellIndex) { + return; + } + var nextCell = nextRow.cells[cellIndex]; // 下一行单元格 + // 上下行的colspan不一致时不能合并 + if (cell.colSpan !== nextCell.colSpan) { + return; + } + cell.rowSpan += nextCell.rowSpan; + nextRow.deleteCell(cellIndex); + self.cmd.range.selectNodeContents(cell).collapse(true); + self.cmd.select(); + self.addBookmark(); + }, + colmerge : function() { + var table = self.plugin.getSelectedTable()[0], + row = self.plugin.getSelectedRow()[0], + cell = self.plugin.getSelectedCell()[0], + rowIndex = row.rowIndex, // 当前行的index + cellIndex = cell.cellIndex, + nextCellIndex = cellIndex + 1; + // 最后一列不能合并 + if (row.cells.length <= nextCellIndex) { + return; + } + var nextCell = row.cells[nextCellIndex]; + // 左右列的rowspan不一致时不能合并 + if (cell.rowSpan !== nextCell.rowSpan) { + return; + } + cell.colSpan += nextCell.colSpan; + row.deleteCell(nextCellIndex); + self.cmd.range.selectNodeContents(cell).collapse(true); + self.cmd.select(); + self.addBookmark(); + }, + rowsplit : function() { + var table = self.plugin.getSelectedTable()[0], + row = self.plugin.getSelectedRow()[0], + cell = self.plugin.getSelectedCell()[0], + rowIndex = row.rowIndex; + // 不是可分割单元格 + if (cell.rowSpan === 1) { + return; + } + var cellIndex = _getCellIndex(table, row, cell); + for (var i = 1, len = cell.rowSpan; i < len; i++) { + var newRow = table.rows[rowIndex + i], + newCell = newRow.insertCell(cellIndex); + if (cell.colSpan > 1) { + newCell.colSpan = cell.colSpan; + } + newCell.innerHTML = K.IE ? '' : '
                                                    '; + // 调整下一行的单元格index + cellIndex = _getCellIndex(table, newRow, newCell); + } + K(cell).removeAttr('rowSpan'); + self.cmd.range.selectNodeContents(cell).collapse(true); + self.cmd.select(); + self.addBookmark(); + }, + colsplit : function() { + var table = self.plugin.getSelectedTable()[0], + row = self.plugin.getSelectedRow()[0], + cell = self.plugin.getSelectedCell()[0], + cellIndex = cell.cellIndex; + // 不是可分割单元格 + if (cell.colSpan === 1) { + return; + } + for (var i = 1, len = cell.colSpan; i < len; i++) { + var newCell = row.insertCell(cellIndex + i); + if (cell.rowSpan > 1) { + newCell.rowSpan = cell.rowSpan; + } + newCell.innerHTML = K.IE ? '' : '
                                                    '; + } + K(cell).removeAttr('colSpan'); + self.cmd.range.selectNodeContents(cell).collapse(true); + self.cmd.select(); + self.addBookmark(); + }, + coldelete : function() { + var table = self.plugin.getSelectedTable()[0], + row = self.plugin.getSelectedRow()[0], + cell = self.plugin.getSelectedCell()[0], + index = cell.cellIndex; + for (var i = 0, len = table.rows.length; i < len; i++) { + var newRow = table.rows[i], + newCell = newRow.cells[index]; + if (newCell.colSpan > 1) { + newCell.colSpan -= 1; + if (newCell.colSpan === 1) { + K(newCell).removeAttr('colSpan'); + } + } else { + newRow.deleteCell(index); + } + // 跳过不需要删除的行 + if (newCell.rowSpan > 1) { + i += newCell.rowSpan - 1; + } + } + if (row.cells.length === 0) { + self.cmd.range.setStartBefore(table).collapse(true); + self.cmd.select(); + K(table).remove(); + } else { + self.cmd.selection(true); + } + self.addBookmark(); + }, + rowdelete : function() { + var table = self.plugin.getSelectedTable()[0], + row = self.plugin.getSelectedRow()[0], + cell = self.plugin.getSelectedCell()[0], + rowIndex = row.rowIndex; + // 从下到上删除 + for (var i = cell.rowSpan - 1; i >= 0; i--) { + table.deleteRow(rowIndex + i); + } + if (table.rows.length === 0) { + self.cmd.range.setStartBefore(table).collapse(true); + self.cmd.select(); + K(table).remove(); + } else { + self.cmd.selection(true); + } + self.addBookmark(); + } + }; + self.clickToolbar(name, self.plugin.table.prop); +}); +/******************************************************************************* +* KindEditor - WYSIWYG HTML Editor for Internet +* Copyright (C) 2006-2011 kindsoft.net +* +* @author Roddy +* @site http://www.kindsoft.net/ +* @licence http://www.kindsoft.net/license.php +*******************************************************************************/ + +KindEditor.plugin('template', function(K) { + var self = this, name = 'template', lang = self.lang(name + '.'), + htmlPath = self.pluginsPath + name + '/html/'; + function getFilePath(fileName) { + return htmlPath + fileName + '?ver=' + encodeURIComponent(K.DEBUG ? K.TIME : K.VERSION); + } + self.clickToolbar(name, function() { + var lang = self.lang(name + '.'), + arr = ['
                                                    ', + '
                                                    ', + // left start + '
                                                    ', + lang. selectTemplate + '
                                                    ', + // right start + '
                                                    ', + ' ', + '
                                                    ', + '
                                                    ', + '
                                                    ', + '', + '
                                                    '].join(''); + var dialog = self.createDialog({ + name : name, + width : 500, + title : self.lang(name), + body : html, + yesBtn : { + name : self.lang('yes'), + click : function(e) { + var doc = K.iframeDoc(iframe); + self[checkbox[0].checked ? 'html' : 'insertHtml'](doc.body.innerHTML).hideDialog().focus(); + } + } + }); + var selectBox = K('select', dialog.div), + checkbox = K('[name="replaceFlag"]', dialog.div), + iframe = K('iframe', dialog.div); + checkbox[0].checked = true; + iframe.attr('src', getFilePath(selectBox.val())); + selectBox.change(function() { + iframe.attr('src', getFilePath(this.value)); + }); + }); +}); +/******************************************************************************* +* KindEditor - WYSIWYG HTML Editor for Internet +* Copyright (C) 2006-2011 kindsoft.net +* +* @author Roddy +* @site http://www.kindsoft.net/ +* @licence http://www.kindsoft.net/license.php +*******************************************************************************/ + +KindEditor.plugin('wordpaste', function(K) { + var self = this, name = 'wordpaste'; + self.clickToolbar(name, function() { + var lang = self.lang(name + '.'), + html = '
                                                    ' + + '
                                                    ' + lang.comment + '
                                                    ' + + '' + + '
                                                    ', + dialog = self.createDialog({ + name : name, + width : 450, + title : self.lang(name), + body : html, + yesBtn : { + name : self.lang('yes'), + click : function(e) { + var str = doc.body.innerHTML; + str = K.clearMsWord(str, self.filterMode ? self.htmlTags : K.options.htmlTags); + self.insertHtml(str).hideDialog().focus(); + } + } + }), + div = dialog.div, + iframe = K('iframe', div), + doc = K.iframeDoc(iframe); + if (!K.IE) { + doc.designMode = 'on'; + } + doc.open(); + doc.write('WordPaste'); + doc.write(''); + if (!K.IE) { + doc.write('
                                                    '); + } + doc.write(''); + doc.close(); + if (K.IE) { + doc.body.contentEditable = 'true'; + } + iframe[0].contentWindow.focus(); + }); +}); diff --git a/src/demo/manager/src/main/webapp/assets/js/kindeditor-4.1.10/kindeditor-min.js b/src/demo/manager/src/main/webapp/assets/js/kindeditor-4.1.10/kindeditor-min.js new file mode 100644 index 00000000..7b35f52f --- /dev/null +++ b/src/demo/manager/src/main/webapp/assets/js/kindeditor-4.1.10/kindeditor-min.js @@ -0,0 +1,182 @@ +/* KindEditor 4.1.10 (2013-11-23), Copyright (C) kindsoft.net, Licence: http://www.kindsoft.net/license.php */(function(w,i){function Z(a){if(!a)return!1;return Object.prototype.toString.call(a)==="[object Array]"}function wa(a){if(!a)return!1;return Object.prototype.toString.call(a)==="[object Function]"}function J(a,b){for(var c=0,d=b.length;c=0}function s(a,b){b=b||"px";return a&&/^\d+$/.test(a)?a+b:a}function t(a){var b;return a&&(b=/(\d+)/.exec(a))?parseInt(b[1],10):0}function C(a){return a.replace(/&/g,"&").replace(//g,">").replace(/"/g,""")}function fa(a){return a.replace(/</g,"<").replace(/>/g,">").replace(/"/g,'"').replace(/&/g,"&")}function ga(a){var b=a.split("-"),a="";m(b,function(b,d){a+=b>0?d.charAt(0).toUpperCase()+ +d.substr(1):d});return a}function ya(a){function b(a){a=parseInt(a,10).toString(16).toUpperCase();return a.length>1?a:"0"+a}return a.replace(/rgb\s*\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*\)/ig,function(a,d,e,g){return"#"+b(d)+b(e)+b(g)})}function u(a,b){var b=b===i?",":b,c={},d=Z(a)?a:a.split(b),e;m(d,function(a,b){if(e=/^(\d+)\.\.(\d+)$/.exec(b))for(var d=parseInt(e[1],10);d<=parseInt(e[2],10);d++)c[d.toString()]=!0;else c[b]=!0});return c}function Ja(a,b){return Array.prototype.slice.call(a,b||0)} +function l(a,b){return a===i?b:a}function E(a,b,c){c||(c=b,b=null);var d;if(b){var e=function(){};e.prototype=b.prototype;d=new e;m(c,function(a,b){d[a]=b})}else d=c;d.constructor=a;a.prototype=d;a.parent=b?b.prototype:null}function eb(a){var b;if(b=/\{[\s\S]*\}|\[[\s\S]*\]/.exec(a))a=b[0];b=/[\u0000\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g;b.lastIndex=0;b.test(a)&&(a=a.replace(b,function(a){return"\\u"+("0000"+a.charCodeAt(0).toString(16)).slice(-4)})); +if(/^[\],:{}\s]*$/.test(a.replace(/\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g,"@").replace(/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g,"]").replace(/(?:^|:|,)(?:\s*\[)+/g,"")))return eval("("+a+")");throw"JSON parse error";}function Rb(a,b,c){a.addEventListener?a.addEventListener(b,c,fb):a.attachEvent&&a.attachEvent("on"+b,c)}function za(a,b,c){a.removeEventListener?a.removeEventListener(b,c,fb):a.detachEvent&&a.detachEvent("on"+b,c)}function gb(a,b){this.init(a,b)}function hb(a){try{delete a[$]}catch(b){a.removeAttribute&& +a.removeAttribute($)}}function aa(a,b,c){if(b.indexOf(",")>=0)m(b.split(","),function(){aa(a,this,c)});else{var d=a[$]||null;d||(a[$]=++ib,d=ib);v[d]===i&&(v[d]={});var e=v[d][b];e&&e.length>0?za(a,b,e[0]):(v[d][b]=[],v[d].el=a);e=v[d][b];e.length===0&&(e[0]=function(b){var c=b?new gb(a,b):i;m(e,function(b,d){b>0&&d&&d.call(a,c)})});J(c,e)<0&&e.push(c);Rb(a,b,e[0])}}function ha(a,b,c){if(b&&b.indexOf(",")>=0)m(b.split(","),function(){ha(a,this,c)});else{var d=a[$]||null;if(d)if(b===i)d in v&&(m(v[d], +function(b,c){b!="el"&&c.length>0&&za(a,b,c[0])}),delete v[d],hb(a));else if(v[d]){var e=v[d][b];if(e&&e.length>0){c===i?(za(a,b,e[0]),delete v[d][b]):(m(e,function(a,b){a>0&&b===c&&e.splice(a,1)}),e.length==1&&(za(a,b,e[0]),delete v[d][b]));var g=0;m(v[d],function(){g++});g<2&&(delete v[d],hb(a))}}}}function jb(a,b){if(b.indexOf(",")>=0)m(b.split(","),function(){jb(a,this)});else{var c=a[$]||null;if(c){var d=v[c][b];if(v[c]&&d&&d.length>0)d[0]()}}}function Ka(a,b,c){b=/^\d{2,}$/.test(b)?b:b.toUpperCase().charCodeAt(0); +aa(a,"keydown",function(d){d.ctrlKey&&d.which==b&&!d.shiftKey&&!d.altKey&&(c.call(a),d.stop())})}function ba(a){for(var b={},c=/\s*([\w\-]+)\s*:([^;]*)(;|$)/g,d;d=c.exec(a);){var e=B(d[1].toLowerCase());d=B(ya(d[2]));b[e]=d}return b}function I(a){for(var b={},c=/\s+(?:([\w\-:]+)|(?:([\w\-:]+)=([^\s"'<>]+))|(?:([\w\-:"]+)="([^"]*)")|(?:([\w\-:"]+)='([^']*)'))(?=(?:\s|\/|>)+)/g,d;d=c.exec(a);){var e=(d[1]||d[2]||d[4]||d[6]).toLowerCase();b[e]=(d[2]?d[3]:d[4]?d[5]:d[7])||""}return b}function Sb(a,b){return a= +/\s+class\s*=/.test(a)?a.replace(/(\s+class=["']?)([^"']*)(["']?[\s>])/,function(a,d,e,g){return(" "+e+" ").indexOf(" "+b+" ")<0?e===""?d+b+g:d+e+" "+b+g:a}):a.substr(0,a.length-1)+' class="'+b+'">'}function Tb(a){var b="";m(ba(a),function(a,d){b+=a+":"+d+";"});return b}function ia(a,b,c,d){function e(a){for(var a=a.split("/"),b=[],c=0,d=a.length;c0&&b.pop():e!==""&&e!="."&&b.push(e)}return"/"+b.join("/")}function g(b,c){if(a.substr(0,b.length)===b){for(var e=[], +h=0;h0&&(h+="/"+e.join("/"));d=="/"&&(h+="/");return h+a.substr(b.length)}else if(f=/^(.*)\//.exec(b))return g(f[1],++c)}b=l(b,"").toLowerCase();a.substr(0,5)!="data:"&&(a=a.replace(/([^:])\/\//g,"$1/"));if(J(b,["absolute","relative","domain"])<0)return a;c=c||location.protocol+"//"+location.host;if(d===i)var h=location.pathname.match(/^(\/.*)\//),d=h?h[1]:"";var f;if(f=/^(\w+:\/\/[^\/]*)/.exec(a)){if(f[1]!==c)return a}else if(/^\w+:/.test(a))return a;/^\//.test(a)? +a=c+e(a.substr(1)):/^\w+:\/\//.test(a)||(a=c+e(d+"/"+a));b==="relative"?a=g(c+d,0).substr(2):b==="absolute"&&a.substr(0,c.length)===c&&(a=a.substr(c.length));return a}function U(a,b,c,d,e){a==null&&(a="");var c=c||"",d=l(d,!1),e=l(e,"\t"),g="xx-small,x-small,small,medium,large,x-large,xx-large".split(","),a=a.replace(/(<(?:pre|pre\s[^>]*)>)([\s\S]*?)(<\/pre>)/ig,function(a,b,c,d){return b+c.replace(/<(?:br|br\s[^>]*)>/ig,"\n")+d}),a=a.replace(/<(?:br|br\s[^>]*)\s*\/?>\s*<\/p>/ig,"

                                                    "),a=a.replace(/(<(?:p|p\s[^>]*)>)\s*(<\/p>)/ig, +"$1
                                                    $2"),a=a.replace(/\u200B/g,""),a=a.replace(/\u00A9/g,"©"),a=a.replace(/\u00AE/g,"®"),a=a.replace(/<[^>]+/g,function(a){return a.replace(/\s+/g," ")}),h={};b&&(m(b,function(a,b){for(var c=a.split(","),d=0,e=c.length;d]*)>)([\s\S]*?)(<\/script>)/ig,"")),h.style||(a=a.replace(/(<(?:style|style\s[^>]*)>)([\s\S]*?)(<\/style>)/ig,"")));var f=[],a=a.replace(/(\s*)<(\/)?([\w\-:]+)((?:\s+|(?:\s+[\w\-:]+)|(?:\s+[\w\-:]+=[^\s"'<>]+)|(?:\s+[\w\-:"]+="[^"]*")|(?:\s+[\w\-:"]+='[^']*'))*)(\/)?>(\s*)/g, +function(a,n,q,r,K,ja,i){var n=n||"",q=q||"",l=r.toLowerCase(),o=K||"",r=ja?" "+ja:"",i=i||"";if(b&&!h[l])return"";r===""&&kb[l]&&(r=" /");lb[l]&&(n&&(n=" "),i&&(i=" "));La[l]&&(q?i="\n":n="\n");d&&l=="br"&&(i="\n");if(mb[l]&&!La[l])if(d){q&&f.length>0&&f[f.length-1]===l?f.pop():f.push(l);i=n="\n";K=0;for(ja=q?f.length:f.length-1;K=0&&(z[a]=ia(d,c));(b&&a!=="style"&&!h[l]["*"]&&!h[l][a]||l==="body"&&a==="contenteditable"||/^kindeditor_\d+$/.test(a))&&delete z[a];if(a==="style"&&d!==""){var e=ba(d);m(e,function(a){b&&!h[l].style&&!h[l]["."+a]&&delete e[a]}); +var g="";m(e,function(a,b){g+=a+":"+b+";"});z.style=g}});o="";m(z,function(a,b){a==="style"&&b===""||(b=b.replace(/"/g,"""),o+=" "+a+'="'+b+'"')})}l==="font"&&(l="span");return n+"<"+q+l+o+r+">"+i}),a=a.replace(/(<(?:pre|pre\s[^>]*)>)([\s\S]*?)(<\/pre>)/ig,function(a,b,c,d){return b+c.replace(/\n/g,'\n')+d}),a=a.replace(/\n\s*\n/g,"\n"),a=a.replace(/\n/g,"\n");return B(a)}function nb(a,b){a=a.replace(//ig, +"").replace(//ig,"").replace(/]*>[\s\S]*?<\/style>/ig,"").replace(/]*>[\s\S]*?<\/script>/ig,"").replace(/]+>[\s\S]*?<\/w:[^>]+>/ig,"").replace(/]+>[\s\S]*?<\/o:[^>]+>/ig,"").replace(/[\s\S]*?<\/xml>/ig,"").replace(/<(?:table|td)[^>]*>/ig,function(a){return a.replace(/border-bottom:([#\w\s]+)/ig,"border:$1")});return U(a,b)}function ob(a){if(/\.(rm|rmvb)(\?|$)/i.test(a))return"audio/x-pn-realaudio-plugin";if(/\.(swf|flv)(\?|$)/i.test(a))return"application/x-shockwave-flash"; +return"video/x-ms-asf-plugin"}function pb(a){return I(unescape(a))}function Ma(a){var b="0&&(h+="width:"+c+"px;");/\D/.test(d)?h+="height:"+d+";":d>0&&(h+="height:"+d+"px;");c=/realaudio/i.test(e)?"ke-rm":/flash/i.test(e)?"ke-flash":"ke-media";c='';return c}function Aa(a,b){if(a.nodeType==9&&b.nodeType!=9)return!0;for(;b=b.parentNode;)if(b==a)return!0;return!1}function Ba(a,b){var b=b.toLowerCase(),c=null;if(!Vb&&a.nodeName.toLowerCase()!="script"){var d=a.ownerDocument.createElement("div");d.appendChild(a.cloneNode(!1));d=I(fa(d.innerHTML));b in d&&(c=d[b])}else try{c=a.getAttribute(b,2)}catch(e){c=a.getAttribute(b,1)}b==="style"&&c!==null&&(c=Tb(c));return c}function Ca(a,b){function c(a){if(typeof a!="string")return a;return a.replace(/([^\w\-])/g, +"\\$1")}function d(a,b){return a==="*"||a.toLowerCase()===c(b.toLowerCase())}function e(a,b,c){var e=[];(a=(c.ownerDocument||c).getElementById(a.replace(/\\/g,"")))&&d(b,a.nodeName)&&Aa(c,a)&&e.push(a);return e}function g(a,b,c){var e=c.ownerDocument||c,g=[],h,f,j;if(c.getElementsByClassName){e=c.getElementsByClassName(a.replace(/\\/g,""));h=0;for(f=e.length;h-1&&g.push(j)}return g}function h(a,b,d,e){for(var g=[],d=e.getElementsByTagName(d),h=0,f=d.length;h])+)/.exec(a))?j[1]:"*";if(j=/#((?:[\w\-]|\\.)+)$/.exec(a))c= +e(j[1],k,b);else if(j=/\.((?:[\w\-]|\\.)+)$/.exec(a))c=g(j[1],k,b);else if(j=/\[((?:[\w\-]|\\.)+)\]/.exec(a))c=h(j[1].toLowerCase(),null,k,b);else if(j=/\[((?:[\w\-]|\\.)+)\s*=\s*['"]?((?:\\.|[^'"]+)+)['"]?\]/.exec(a)){c=j[1].toLowerCase();j=j[2];if(c==="id")k=e(j,k,b);else if(c==="class")k=g(j,k,b);else if(c==="name"){c=[];j=(b.ownerDocument||b).getElementsByName(j.replace(/\\/g,""));for(var n,r=0,q=j.length;r1){var n=[];m(k,function(){m(Ca(this,b),function(){J(this,n)<0&&n.push(this)})});return n}for(var b=b||document,k=[],q,r=/((?:\\.|[^\s>])+|[\s>])/g;q=r.exec(a);)q[1]!==" "&&k.push(q[1]);q=[];if(k.length==1)return f(k[0],b);var r=!1,K,l,i,o,p,z,L,F,s,t;z=0;for(lenth=k.length;z")r=!0;else{if(z>0){l=[];L=0;for(s=q.length;L
                                                    ').css("background-color",b)):a.html(d.options.noColor);f(a).attr("unselectable","on");d._cells.push(a)},remove:function(){m(this._cells,function(){this.unbind()});sa.parent.remove.call(this);return this}});f.ColorPickerClass=sa;f.colorpicker=Db;E(ab,{init:function(a){var b=f(a.button),c=a.fieldName|| +"file",d=a.url||"",e=b.val(),g=a.extraParams||{},h=b[0].className||"",j=a.target||"kindeditor_upload_iframe_"+(new Date).getTime();a.afterError=a.afterError||function(a){alert(a)};var k=[],i;for(i in g)k.push('');c=['
                                                    ',a.target?"":'',a.form?'
                                                    ':'
                                                    ','',k.join(""),'',"",'',a.form?"
                                                    ":"","
                                                    "].join("");c=f(c,b.doc);b.hide();b.before(c);this.div=c;this.button=b;this.iframe=a.target?f('iframe[name="'+j+'"]'):f("iframe",c);this.form=a.form?f(a.form):f("form",c);this.fileBox=f(".ke-upload-file",c);b=a.width||f(".ke-button-common",c).width(); +f(".ke-upload-area",c).width(b);this.options=a},submit:function(){var a=this,b=a.iframe;b.bind("load",function(){b.unbind();var c=document.createElement("form");a.fileBox.before(c);f(c).append(a.fileBox);c.reset();f(c).remove(!0);var c=f.iframeDoc(b),d=c.getElementsByTagName("pre")[0],e="",g,e=d?d.innerHTML:c.body.innerHTML,e=fa(e);b[0].src="javascript:false";try{g=f.json(e)}catch(h){a.options.afterError.call(a,""+c.body.parentNode.innerHTML+"")}g&&a.options.afterUpload.call(a, +g)});a.form[0].submit();return a},remove:function(){this.fileBox&&this.fileBox.unbind();this.iframe.remove();this.div.remove();this.button.show();return this}});f.UploadButtonClass=ab;f.uploadbutton=function(a){return new ab(a)};E(ta,S,{init:function(a){var b=l(a.shadowMode,!0);a.z=a.z||811213;a.shadowMode=!1;a.autoScroll=l(a.autoScroll,!0);ta.parent.init.call(this,a);var c=a.title,d=f(a.body,this.doc),e=a.previewBtn,g=a.yesBtn,h=a.noBtn,j=a.closeBtn,k=l(a.showMask,!0);this.div.addClass("ke-dialog").bind("click,mousedown", +function(a){a.stopPropagation()});var i=f('
                                                    ').appendTo(this.div);o&&A<7?this.iframeMask=f('').appendTo(this.div):b&&f('
                                                    ').appendTo(this.div);b=f('
                                                    ');i.append(b);b.html(c);this.closeIcon=f('').click(j.click);b.append(this.closeIcon);this.draggable({clickEl:b,beforeDrag:a.beforeDrag}); +a=f('
                                                    ');i.append(a);a.append(d);var q=f('');(e||g||h)&&i.append(q);m([{btn:e,name:"preview"},{btn:g,name:"yes"},{btn:h,name:"no"}],function(){if(this.btn){var a=this.btn,a=a||{},b=a.name||"",c=f(''),b=f('');a.click&&b.click(a.click);c.append(b);c.addClass("ke-dialog-"+this.name);q.append(c)}}); +this.height&&a.height(t(this.height)-b.height()-q.height());this.div.width(this.div.width());this.div.height(this.div.height());this.mask=null;if(k)d=G(this.doc),this.mask=Ya({x:0,y:0,z:this.z-1,cls:"ke-dialog-mask",width:Math.max(d.scrollWidth,d.clientWidth),height:Math.max(d.scrollHeight,d.clientHeight)});this.autoPos(this.div.width(),this.div.height());this.footerDiv=q;this.bodyDiv=a;this.headerDiv=b;this.isLoading=!1},setMaskIndex:function(a){this.mask.div.css("z-index",a)},showLoading:function(a){var a= +l(a,""),b=this.bodyDiv;this.loading=f('
                                                    '+a+"
                                                    ").width(b.width()).height(b.height()).css("top",this.headerDiv.height()+"px");b.css("visibility","hidden").after(this.loading);this.isLoading=!0;return this},hideLoading:function(){this.loading&&this.loading.remove();this.bodyDiv.css("visibility","visible");this.isLoading=!1;return this},remove:function(){this.options.beforeRemove&& +this.options.beforeRemove.call(this);this.mask&&this.mask.remove();this.iframeMask&&this.iframeMask.remove();this.closeIcon.unbind();f("input",this.div).unbind();f("button",this.div).unbind();this.footerDiv.unbind();this.bodyDiv.unbind();this.headerDiv.unbind();f("iframe",this.div).each(function(){f(this).remove()});ta.parent.remove.call(this);return this}});f.DialogClass=ta;f.dialog=Eb;f.tabs=function(a){var b=Ya(a),c=b.remove,d=a.afterSelect,a=b.div,e=[];a.addClass("ke-tabs").bind("contextmenu,mousedown,mousemove", +function(a){a.preventDefault()});var g=f('
                                                      ');a.append(g);b.add=function(a){var b=f('
                                                    • '+a.title+"
                                                    • ");b.data("tab",a);e.push(b);g.append(b)};b.selectedIndex=0;b.select=function(a){b.selectedIndex=a;m(e,function(c,d){d.unbind();c===a?(d.addClass("ke-tabs-li-selected"),f(d.data("tab").panel).show("")):(d.removeClass("ke-tabs-li-selected").removeClass("ke-tabs-li-on").mouseover(function(){f(this).addClass("ke-tabs-li-on")}).mouseout(function(){f(this).removeClass("ke-tabs-li-on")}).click(function(){b.select(c)}), +f(d.data("tab").panel).hide())});d&&d.call(b,a)};b.remove=function(){m(e,function(){this.remove()});g.remove();c.call(b)};return b};f.loadScript=bb;f.loadStyle=cb;f.ajax=function(a,b,c,d,e){var c=c||"GET",e=e||"json",g=w.XMLHttpRequest?new w.XMLHttpRequest:new ActiveXObject("Microsoft.XMLHTTP");g.open(c,a,!0);g.onreadystatechange=function(){if(g.readyState==4&&g.status==200&&b){var a=B(g.responseText);e=="json"&&(a=eb(a));b(a)}};if(c=="POST"){var f=[];m(d,function(a,b){f.push(encodeURIComponent(a)+ +"="+encodeURIComponent(b))});try{g.setRequestHeader("Content-Type","application/x-www-form-urlencoded")}catch(j){}g.send(f.join("&"))}else g.send(null)};var N={},O={};ua.prototype={lang:function(a){return Ib(a,this.langType)},loadPlugin:function(a,b){var c=this;if(N[a]){if(!wa(N[a]))return setTimeout(function(){c.loadPlugin(a,b)},100),c;N[a].call(c,KindEditor);b&&b.call(c);return c}N[a]="loading";bb(c.pluginsPath+a+"/"+a+".js?ver="+encodeURIComponent(f.DEBUG?Ga:Ha),function(){setTimeout(function(){N[a]&& +c.loadPlugin(a,b)},0)});return c},handler:function(a,b){var c=this;c._handlers[a]||(c._handlers[a]=[]);if(wa(b))return c._handlers[a].push(b),c;m(c._handlers[a],function(){b=this.call(c,b)});return b},clickToolbar:function(a,b){var c=this,d="clickToolbar"+a;if(b===i){if(c._handlers[d])return c.handler(d);c.loadPlugin(a,function(){c.handler(d)});return c}return c.handler(d,b)},updateState:function(){var a=this;m("justifyleft,justifycenter,justifyright,justifyfull,insertorderedlist,insertunorderedlist,subscript,superscript,bold,italic,underline,strikethrough".split(","), +function(b,c){a.cmd.state(c)?a.toolbar.select(c):a.toolbar.unselect(c)});return a},addContextmenu:function(a){this._contextmenus.push(a);return this},afterCreate:function(a){return this.handler("afterCreate",a)},beforeRemove:function(a){return this.handler("beforeRemove",a)},beforeGetHtml:function(a){return this.handler("beforeGetHtml",a)},beforeSetHtml:function(a){return this.handler("beforeSetHtml",a)},afterSetHtml:function(a){return this.handler("afterSetHtml",a)},create:function(){function a(){k.height()=== +0?setTimeout(a,100):b.resize(d,e,!1)}var b=this,c=b.fullscreenMode;if(b.isCreated)return b;if(b.srcElement.data("kindeditor"))return b;b.srcElement.data("kindeditor","true");c?G().style.overflow="hidden":G().style.overflow="";var d=c?G().clientWidth+"px":b.width,e=c?G().clientHeight+"px":b.height;if(o&&A<8||P)e=s(t(e)+2);var g=b.container=f(b.layout);c?f(document.body).append(g):b.srcElement.before(g);var h=f(".toolbar",g),j=f(".edit",g),k=b.statusbar=f(".statusbar",g);g.removeClass("container").addClass("ke-container ke-container-"+ +b.themeType).css("width",d);if(c){g.css({position:"absolute",left:0,top:0,"z-index":811211});if(!Y)b._scrollPos=ca();w.scrollTo(0,0);f(document.body).css({height:"1px",overflow:"hidden"});f(document.body.parentNode).css("overflow","hidden");b._fullscreenExecuted=!0}else b._fullscreenExecuted&&(f(document.body).css({height:"",overflow:""}),f(document.body.parentNode).css("overflow","")),b._scrollPos&&w.scrollTo(b._scrollPos.x,b._scrollPos.y);var i=[];f.each(b.items,function(a,c){c=="|"?i.push(''): +c=="/"?i.push('
                                                      '):(i.push(''),i.push(''))});var h=b.toolbar=Cb({src:h,html:i.join(""),noDisableItems:b.noDisableItems,click:function(a,c){a.stop();if(b.menu){var d=b.menu.name;b.hideMenu();if(d===c)return}b.clickToolbar(c)}}),l=t(e)-h.div.height(),m=b.edit=Ab({height:l>0&&t(e)>b.minHeight?l:b.minHeight, +src:j,srcElement:b.srcElement,designMode:b.designMode,themesPath:b.themesPath,bodyClass:b.bodyClass,cssPath:b.cssPath,cssData:b.cssData,beforeGetHtml:function(a){a=b.beforeGetHtml(a);a=T(Fa(a));return U(a,b.filterMode?b.htmlTags:null,b.urlType,b.wellFormatMode,b.indentChar)},beforeSetHtml:function(a){a=U(a,b.filterMode?b.htmlTags:null,"",!1);return b.beforeSetHtml(a)},afterSetHtml:function(){b.edit=m=this;b.afterSetHtml()},afterCreate:function(){b.edit=m=this;b.cmd=m.cmd;b._docMousedownFn=function(){b.menu&& +b.hideMenu()};f(m.doc,document).mousedown(b._docMousedownFn);ac.call(b);bc.call(b);cc.call(b);dc.call(b);m.afterChange(function(){m.designMode&&(b.updateState(),b.addBookmark(),b.options.afterChange&&b.options.afterChange.call(b))});m.textarea.keyup(function(a){!a.ctrlKey&&!a.altKey&&Ob[a.which]&&b.options.afterChange&&b.options.afterChange.call(b)});b.readonlyMode&&b.readonly();b.isCreated=!0;if(b.initContent==="")b.initContent=b.html();if(b._undoStack.length>0){var a=b._undoStack.pop();a.start&& +(b.html(a.html),m.cmd.range.moveToBookmark(a),b.select())}b.afterCreate();b.options.afterCreate&&b.options.afterCreate.call(b)}});k.removeClass("statusbar").addClass("ke-statusbar").append('').append('');if(b._fullscreenResizeHandler)f(w).unbind("resize",b._fullscreenResizeHandler),b._fullscreenResizeHandler=null;a();c?(b._fullscreenResizeHandler=function(){b.isCreated&&b.resize(G().clientWidth, +G().clientHeight,!1)},f(w).bind("resize",b._fullscreenResizeHandler),h.select("fullscreen"),k.first().css("visibility","hidden"),k.last().css("visibility","hidden")):(Y&&f(w).bind("scroll",function(){b._scrollPos=ca()}),b.resizeType>0?Wa({moveEl:g,clickEl:k,moveFn:function(a,c,d,e,g,f){e+=f;b.resize(null,e)}}):k.first().css("visibility","hidden"),b.resizeType===2?Wa({moveEl:g,clickEl:k.last(),moveFn:function(a,c,d,e,g,f){d+=g;e+=f;b.resize(d,e)}}):k.last().css("visibility","hidden"));return b},remove:function(){var a= +this;if(!a.isCreated)return a;a.beforeRemove();a.srcElement.data("kindeditor","");a.menu&&a.hideMenu();m(a.dialogs,function(){a.hideDialog()});f(document).unbind("mousedown",a._docMousedownFn);a.toolbar.remove();a.edit.remove();a.statusbar.last().unbind();a.statusbar.unbind();a.container.remove();a.container=a.toolbar=a.edit=a.menu=null;a.dialogs=[];a.isCreated=!1;return a},resize:function(a,b,c){c=l(c,!0);if(a&&(/%/.test(a)||(a=t(a),a=a/ig,"").replace(/ /ig," ")):this.html(C(a))},isEmpty:function(){return B(this.text().replace(/\r\n|\n|\r/,""))===""},isDirty:function(){return B(this.initContent.replace(/\r\n|\n|\r|t/g,""))!==B(this.html().replace(/\r\n|\n|\r|t/g,""))},selectedHtml:function(){var a=this.isCreated?this.cmd.range.html():"";return a=T(Fa(a))},count:function(a){a=(a||"html").toLowerCase();if(a==="html")return this.html().length; +if(a==="text")return this.text().replace(/<(?:img|embed).*?>/ig,"K").replace(/\r\n|\n|\r/g,"").length;return 0},exec:function(a){var a=a.toLowerCase(),b=this.cmd,c=J(a,"selectall,copy,paste,print".split(","))<0;c&&this.addBookmark(!1);b[a].apply(b,Ja(arguments,1));c&&(this.updateState(),this.addBookmark(!1),this.options.afterChange&&this.options.afterChange.call(this));return this},insertHtml:function(a,b){if(!this.isCreated)return this;a=this.beforeSetHtml(a);this.exec("inserthtml",a,b);return this}, +appendHtml:function(a){this.html(this.html()+a);if(this.isCreated)a=this.cmd,a.range.selectNodeContents(a.doc.body).collapse(!1),a.select();return this},sync:function(){pa(this.srcElement,this.html());return this},focus:function(){this.isCreated?this.edit.focus():this.srcElement[0].focus();return this},blur:function(){this.isCreated?this.edit.blur():this.srcElement[0].blur();return this},addBookmark:function(a){var a=l(a,!0),b=this.edit,c=b.doc.body,d=Fa(c.innerHTML);if(a&&this._undoStack.length> +0&&Math.abs(d.length-T(this._undoStack[this._undoStack.length-1].html).length)0){var c=b.dialogs[b.dialogs.length-1];b.dialogs[0].setMaskIndex(c.z+2);a.z=c.z+3;a.showMask=!1}a=Eb(a);b.dialogs.push(a);return a},hideDialog:function(){this.dialogs.length>0&&this.dialogs.pop().remove();this.dialogs.length>0&&this.dialogs[0].setMaskIndex(this.dialogs[this.dialogs.length- +1].z-1);return this},errorDialog:function(a){var b=this.createDialog({width:750,title:this.lang("uploadError"),body:'
                                                      '}),b=f("iframe",b.div),c=f.iframeDoc(b);c.open();c.write(a);c.close();f(c.body).css("background-color","#FFF");b[0].contentWindow.focus();return this}};_instances=[];f.remove=function(a){va(a,function(a){this.remove();_instances.splice(a,1)})};f.sync=function(a){va(a,function(){this.sync()})}; +f.html=function(a,b){va(a,function(){this.html(b)})};f.insertHtml=function(a,b){va(a,function(){this.insertHtml(b)})};f.appendHtml=function(a,b){va(a,function(){this.appendHtml(b)})};o&&A<7&&Q(document,"BackgroundImageCache",!0);f.EditorClass=ua;f.editor=function(a){return new ua(a)};f.create=Lb;f.instances=_instances;f.plugin=Gb;f.lang=Ib;Gb("core",function(a){var b=this,c={undo:"Z",redo:"Y",bold:"B",italic:"I",underline:"U",print:"P",selectall:"A"};b.afterSetHtml(function(){b.options.afterChange&& +b.options.afterChange.call(b)});b.afterCreate(function(){if(b.syncType=="form"){for(var c=a(b.srcElement),d=!1;c=c.parent();)if(c.name=="form"){d=!0;break}if(d){c.bind("submit",function(){b.sync();a(w).bind("unload",function(){b.edit.textarea.remove()})});var f=a('[type="reset"]',c);f.click(function(){b.html(b.initContent);b.cmd.selection()});b.beforeRemove(function(){c.unbind();f.unbind()})}}});b.clickToolbar("source",function(){b.edit.designMode?(b.toolbar.disableAll(!0),b.edit.design(!1),b.toolbar.select("source")): +(b.toolbar.disableAll(!1),b.edit.design(!0),b.toolbar.unselect("source"),Y?setTimeout(function(){b.cmd.selection()},0):b.cmd.selection());b.designMode=b.edit.designMode});b.afterCreate(function(){b.designMode||b.toolbar.disableAll(!0).select("source")});b.clickToolbar("fullscreen",function(){b.fullscreen()});if(b.fullscreenShortcut){var d=!1;b.afterCreate(function(){a(b.edit.doc,b.edit.textarea).keyup(function(a){a.which==27&&setTimeout(function(){b.fullscreen()},0)});if(d){if(o&&!b.designMode)return; +b.focus()}d||(d=!0)})}m("undo,redo".split(","),function(a,d){c[d]&&b.afterCreate(function(){Ka(this.edit.doc,c[d],function(){b.clickToolbar(d)})});b.clickToolbar(d,function(){b[d]()})});b.clickToolbar("formatblock",function(){var a=b.lang("formatblock.formatBlock"),c={h1:28,h2:24,h3:18,H4:14,p:12},d=b.cmd.val("formatblock"),f=b.createMenu({name:"formatblock",width:b.langType=="en"?200:150});m(a,function(a,e){var i="font-size:"+c[a]+"px;";a.charAt(0)==="h"&&(i+="font-weight:bold;");f.addItem({title:''+e+"",height:c[a]+12,checked:d===a||d===e,click:function(){b.select().exec("formatblock","<"+a+">").hideMenu()}})})});b.clickToolbar("fontname",function(){var a=b.cmd.val("fontname"),c=b.createMenu({name:"fontname",width:150});m(b.lang("fontname.fontName"),function(d,f){c.addItem({title:''+f+"",checked:a===d.toLowerCase()||a===f.toLowerCase(),click:function(){b.exec("fontname",d).hideMenu()}})})});b.clickToolbar("fontsize", +function(){var a=b.cmd.val("fontsize"),c=b.createMenu({name:"fontsize",width:150});m(b.fontSizeTable,function(d,f){c.addItem({title:''+f+"",height:t(f)+12,checked:a===f,click:function(){b.exec("fontsize",f).hideMenu()}})})});m("forecolor,hilitecolor".split(","),function(a,c){b.clickToolbar(c,function(){b.createMenu({name:c,selectedColor:b.cmd.val(c)||"default",colors:b.colorTable,click:function(a){b.exec(c,a).hideMenu()}})})});m("cut,copy,paste".split(","), +function(a,c){b.clickToolbar(c,function(){b.focus();try{b.exec(c,null)}catch(a){alert(b.lang(c+"Error"))}})});b.clickToolbar("about",function(){var a='
                                                      KindEditor '+Ha+'
                                                      Copyright © kindsoft.net All rights reserved.
                                                      ';b.createDialog({name:"about",width:350,title:b.lang("about"),body:a})});b.plugin.getSelectedLink=function(){return b.cmd.commonAncestor("a")};b.plugin.getSelectedImage=function(){return Ea(b.edit.cmd.range, +function(a){return!/^ke-\w+$/i.test(a[0].className)})};b.plugin.getSelectedFlash=function(){return Ea(b.edit.cmd.range,function(a){return a[0].className=="ke-flash"})};b.plugin.getSelectedMedia=function(){return Ea(b.edit.cmd.range,function(a){return a[0].className=="ke-media"||a[0].className=="ke-rm"})};b.plugin.getSelectedAnchor=function(){return Ea(b.edit.cmd.range,function(a){return a[0].className=="ke-anchor"})};m("link,image,flash,media,anchor".split(","),function(a,c){var d=c.charAt(0).toUpperCase()+ +c.substr(1);m("edit,delete".split(","),function(a,e){b.addContextmenu({title:b.lang(e+d),click:function(){b.loadPlugin(c,function(){b.plugin[c][e]();b.hideMenu()})},cond:b.plugin["getSelected"+d],width:150,iconClass:e=="edit"?"ke-icon-"+c:i})});b.addContextmenu({title:"-"})});b.plugin.getSelectedTable=function(){return b.cmd.commonAncestor("table")};b.plugin.getSelectedRow=function(){return b.cmd.commonAncestor("tr")};b.plugin.getSelectedCell=function(){return b.cmd.commonAncestor("td")};m("prop,cellprop,colinsertleft,colinsertright,rowinsertabove,rowinsertbelow,rowmerge,colmerge,rowsplit,colsplit,coldelete,rowdelete,insert,delete".split(","), +function(a,c){var d=J(c,["prop","delete"])<0?b.plugin.getSelectedCell:b.plugin.getSelectedTable;b.addContextmenu({title:b.lang("table"+c),click:function(){b.loadPlugin("table",function(){b.plugin.table[c]();b.hideMenu()})},cond:d,width:170,iconClass:"ke-icon-table"+c})});b.addContextmenu({title:"-"});m("selectall,justifyleft,justifycenter,justifyright,justifyfull,insertorderedlist,insertunorderedlist,indent,outdent,subscript,superscript,hr,print,bold,italic,underline,strikethrough,removeformat,unlink".split(","), +function(a,d){c[d]&&b.afterCreate(function(){Ka(this.edit.doc,c[d],function(){b.cmd.selection();b.clickToolbar(d)})});b.clickToolbar(d,function(){b.focus().exec(d,null)})});b.afterCreate(function(){function c(){f.range.moveToBookmark(j);f.select();X&&(a("div."+l,i).each(function(){a(this).after("
                                                      ").remove(!0)}),a("span.Apple-style-span",i).remove(!0),a("span.Apple-tab-span",i).remove(!0),a("span[style]",i).each(function(){a(this).css("white-space")=="nowrap"&&a(this).remove(!0)}),a("meta",i).remove()); +var d=i[0].innerHTML;i.remove();d!==""&&(X&&(d=d.replace(/(
                                                      )\1/ig,"$1")),b.pasteType===2&&(d=d.replace(/(<(?:p|p\s[^>]*)>) *(<\/p>)/ig,""),/schemas-microsoft-com|worddocument|mso-\w+/i.test(d)?d=nb(d,b.filterMode?b.htmlTags:a.options.htmlTags):(d=U(d,b.filterMode?b.htmlTags:null),d=b.beforeSetHtml(d))),b.pasteType===1&&(d=d.replace(/ /ig," "),d=d.replace(/\n\s*\n/g,"\n"),d=d.replace(/]*>/ig,"\n"),d=d.replace(/<\/p>]*>/ig,"\n"),d=d.replace(/<[^>]+>/g,""),d=d.replace(/ {2}/g,"  "), +b.newlineTag=="p"?/\n/.test(d)&&(d=d.replace(/^/,"

                                                      ").replace(/$/,"

                                                      ").replace(/\n/g,"

                                                      ")):d=d.replace(/\n/g,"
                                                      $&")),b.insertHtml(d,!0))}var d=b.edit.doc,f,j,i,l="__kindeditor_paste__",m=!1;a(d.body).bind("paste",function(p){if(b.pasteType===0)p.stop();else if(!m){m=!0;a("div."+l,d).remove();f=b.cmd.selection();j=f.range.createBookmark();i=a('

                                                      ',d).css({position:"absolute",width:"1px",height:"1px",overflow:"hidden",left:"-1981px",top:a(j.start).pos().y+ +"px","white-space":"nowrap"});a(d.body).append(i);if(o){var s=f.range.get(!0);s.moveToElementText(i[0]);s.select();s.execCommand("paste");p.preventDefault()}else f.range.selectNodeContents(i[0]),f.select();setTimeout(function(){c();m=!1},0)}})});b.beforeGetHtml(function(a){o&&A<=8&&(a=a.replace(/]*data-ke-input-tag="([^"]*)"[^>]*>([\s\S]*?)<\/div>/ig,function(a,b){return unescape(b)}),a=a.replace(/(]*)?>)/ig,function(a,b,c){if(!/\s+type="[^"]+"/i.test(a))return b+' type="text"'+ +c;return a}));return a.replace(/(<(?:noscript|noscript\s[^>]*)>)([\s\S]*?)(<\/noscript>)/ig,function(a,b,c,d){return b+fa(c).replace(/\s+/g," ")+d}).replace(/]*class="?ke-(flash|rm|media)"?[^>]*>/ig,function(a){var a=I(a),b=ba(a.style||""),c=pb(a["data-ke-tag"]),d=l(b.width,""),b=l(b.height,"");/px/i.test(d)&&(d=t(d));/px/i.test(b)&&(b=t(b));c.width=l(a.width,d);c.height=l(a.height,b);return Ma(c)}).replace(/]*class="?ke-anchor"?[^>]*>/ig,function(a){a=I(a);return''}).replace(/]*data-ke-script-attr="([^"]*)"[^>]*>([\s\S]*?)<\/div>/ig,function(a,b,c){return""+unescape(c)+"<\/script>"}).replace(/]*data-ke-noscript-attr="([^"]*)"[^>]*>([\s\S]*?)<\/div>/ig,function(a,b,c){return""+unescape(c)+""}).replace(/(<[^>]*)data-ke-src="([^"]*)"([^>]*>)/ig,function(a,b,c){a=a.replace(/(\s+(?:href|src)=")[^"]*(")/i,function(a,b,d){return b+fa(c)+d});return a=a.replace(/\s+data-ke-src="[^"]*"/i, +"")}).replace(/(<[^>]+\s)data-ke-(on\w+="[^"]*"[^>]*>)/ig,function(a,b,c){return b+c})});b.beforeSetHtml(function(a){o&&A<=8&&(a=a.replace(/]*>|<(select|button)[^>]*>[\s\S]*?<\/\1>/ig,function(a){var b=I(a);if(ba(b.style||"").display=="none")return'
                                                      ';return a}));return a.replace(/]*type="([^"]+)"[^>]*>(?:<\/embed>)?/ig,function(a){a=I(a);a.src=l(a.src,"");a.width=l(a.width,0);a.height=l(a.height,0);return qb(b.themesPath+ +"common/blank.gif",a)}).replace(/]*name="([^"]+)"[^>]*>(?:<\/a>)?/ig,function(a){var c=I(a);if(c.href!==i)return a;return''}).replace(/]*)>([\s\S]*?)<\/script>/ig,function(a,b,c){return'
                                                      '+escape(c)+"
                                                      "}).replace(/]*)>([\s\S]*?)<\/noscript>/ig,function(a,b,c){return'
                                                      '+escape(c)+"
                                                      "}).replace(/(<[^>]*)(href|src)="([^"]*)"([^>]*>)/ig,function(a,b,c,d,e){if(a.match(/\sdata-ke-src="[^"]*"/i))return a;return a=b+c+'="'+d+'" data-ke-src="'+C(d)+'"'+e}).replace(/(<[^>]+\s)(on\w+="[^"]*"[^>]*>)/ig,function(a,b,c){return b+"data-ke-"+c}).replace(/]*\s+border="0"[^>]*>/ig,function(a){if(a.indexOf("ke-zeroborder")>=0)return a;return Sb(a,"ke-zeroborder")})})})}})(window); diff --git a/src/demo/manager/src/main/webapp/assets/js/kindeditor-4.1.10/kindeditor.js b/src/demo/manager/src/main/webapp/assets/js/kindeditor-4.1.10/kindeditor.js new file mode 100644 index 00000000..7851a1bb --- /dev/null +++ b/src/demo/manager/src/main/webapp/assets/js/kindeditor-4.1.10/kindeditor.js @@ -0,0 +1,5960 @@ +/******************************************************************************* +* KindEditor - WYSIWYG HTML Editor for Internet +* Copyright (C) 2006-2013 kindsoft.net +* +* @author Roddy +* @website http://www.kindsoft.net/ +* @licence http://www.kindsoft.net/license.php +* @version 4.1.10 (2013-11-23) +*******************************************************************************/ +(function (window, undefined) { + if (window.KindEditor) { + return; + } +if (!window.console) { + window.console = {}; +} +if (!console.log) { + console.log = function () {}; +} +var _VERSION = '4.1.10 (2013-11-23)', + _ua = navigator.userAgent.toLowerCase(), + _IE = _ua.indexOf('msie') > -1 && _ua.indexOf('opera') == -1, + _NEWIE = _ua.indexOf('msie') == -1 && _ua.indexOf('trident') > -1, + _GECKO = _ua.indexOf('gecko') > -1 && _ua.indexOf('khtml') == -1, + _WEBKIT = _ua.indexOf('applewebkit') > -1, + _OPERA = _ua.indexOf('opera') > -1, + _MOBILE = _ua.indexOf('mobile') > -1, + _IOS = /ipad|iphone|ipod/.test(_ua), + _QUIRKS = document.compatMode != 'CSS1Compat', + _IERANGE = !window.getSelection, + _matches = /(?:msie|firefox|webkit|opera)[\/:\s](\d+)/.exec(_ua), + _V = _matches ? _matches[1] : '0', + _TIME = new Date().getTime(); +function _isArray(val) { + if (!val) { + return false; + } + return Object.prototype.toString.call(val) === '[object Array]'; +} +function _isFunction(val) { + if (!val) { + return false; + } + return Object.prototype.toString.call(val) === '[object Function]'; +} +function _inArray(val, arr) { + for (var i = 0, len = arr.length; i < len; i++) { + if (val === arr[i]) { + return i; + } + } + return -1; +} +function _each(obj, fn) { + if (_isArray(obj)) { + for (var i = 0, len = obj.length; i < len; i++) { + if (fn.call(obj[i], i, obj[i]) === false) { + break; + } + } + } else { + for (var key in obj) { + if (obj.hasOwnProperty(key)) { + if (fn.call(obj[key], key, obj[key]) === false) { + break; + } + } + } + } +} +function _trim(str) { + return str.replace(/(?:^[ \t\n\r]+)|(?:[ \t\n\r]+$)/g, ''); +} +function _inString(val, str, delimiter) { + delimiter = delimiter === undefined ? ',' : delimiter; + return (delimiter + str + delimiter).indexOf(delimiter + val + delimiter) >= 0; +} +function _addUnit(val, unit) { + unit = unit || 'px'; + return val && /^\d+$/.test(val) ? val + unit : val; +} +function _removeUnit(val) { + var match; + return val && (match = /(\d+)/.exec(val)) ? parseInt(match[1], 10) : 0; +} +function _escape(val) { + return val.replace(/&/g, '&').replace(//g, '>').replace(/"/g, '"'); +} +function _unescape(val) { + return val.replace(/</g, '<').replace(/>/g, '>').replace(/"/g, '"').replace(/&/g, '&'); +} +function _toCamel(str) { + var arr = str.split('-'); + str = ''; + _each(arr, function(key, val) { + str += (key > 0) ? val.charAt(0).toUpperCase() + val.substr(1) : val; + }); + return str; +} +function _toHex(val) { + function hex(d) { + var s = parseInt(d, 10).toString(16).toUpperCase(); + return s.length > 1 ? s : '0' + s; + } + return val.replace(/rgb\s*\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*\)/ig, + function($0, $1, $2, $3) { + return '#' + hex($1) + hex($2) + hex($3); + } + ); +} +function _toMap(val, delimiter) { + delimiter = delimiter === undefined ? ',' : delimiter; + var map = {}, arr = _isArray(val) ? val : val.split(delimiter), match; + _each(arr, function(key, val) { + if ((match = /^(\d+)\.\.(\d+)$/.exec(val))) { + for (var i = parseInt(match[1], 10); i <= parseInt(match[2], 10); i++) { + map[i.toString()] = true; + } + } else { + map[val] = true; + } + }); + return map; +} +function _toArray(obj, offset) { + return Array.prototype.slice.call(obj, offset || 0); +} +function _undef(val, defaultVal) { + return val === undefined ? defaultVal : val; +} +function _invalidUrl(url) { + return !url || /[<>"]/.test(url); +} +function _addParam(url, param) { + return url.indexOf('?') >= 0 ? url + '&' + param : url + '?' + param; +} +function _extend(child, parent, proto) { + if (!proto) { + proto = parent; + parent = null; + } + var childProto; + if (parent) { + var fn = function () {}; + fn.prototype = parent.prototype; + childProto = new fn(); + _each(proto, function(key, val) { + childProto[key] = val; + }); + } else { + childProto = proto; + } + childProto.constructor = child; + child.prototype = childProto; + child.parent = parent ? parent.prototype : null; +} +function _json(text) { + var match; + if ((match = /\{[\s\S]*\}|\[[\s\S]*\]/.exec(text))) { + text = match[0]; + } + var cx = /[\u0000\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g; + cx.lastIndex = 0; + if (cx.test(text)) { + text = text.replace(cx, function (a) { + return '\\u' + ('0000' + a.charCodeAt(0).toString(16)).slice(-4); + }); + } + if (/^[\],:{}\s]*$/. + test(text.replace(/\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g, '@'). + replace(/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g, ']'). + replace(/(?:^|:|,)(?:\s*\[)+/g, ''))) { + return eval('(' + text + ')'); + } + throw 'JSON parse error'; +} +var _round = Math.round; +var K = { + DEBUG : false, + VERSION : _VERSION, + IE : _IE, + GECKO : _GECKO, + WEBKIT : _WEBKIT, + OPERA : _OPERA, + V : _V, + TIME : _TIME, + each : _each, + isArray : _isArray, + isFunction : _isFunction, + inArray : _inArray, + inString : _inString, + trim : _trim, + addUnit : _addUnit, + removeUnit : _removeUnit, + escape : _escape, + unescape : _unescape, + toCamel : _toCamel, + toHex : _toHex, + toMap : _toMap, + toArray : _toArray, + undef : _undef, + invalidUrl : _invalidUrl, + addParam : _addParam, + extend : _extend, + json : _json +}; +var _INLINE_TAG_MAP = _toMap('a,abbr,acronym,b,basefont,bdo,big,br,button,cite,code,del,dfn,em,font,i,img,input,ins,kbd,label,map,q,s,samp,select,small,span,strike,strong,sub,sup,textarea,tt,u,var'), + _BLOCK_TAG_MAP = _toMap('address,applet,blockquote,body,center,dd,dir,div,dl,dt,fieldset,form,frameset,h1,h2,h3,h4,h5,h6,head,hr,html,iframe,ins,isindex,li,map,menu,meta,noframes,noscript,object,ol,p,pre,script,style,table,tbody,td,tfoot,th,thead,title,tr,ul'), + _SINGLE_TAG_MAP = _toMap('area,base,basefont,br,col,frame,hr,img,input,isindex,link,meta,param,embed'), + _STYLE_TAG_MAP = _toMap('b,basefont,big,del,em,font,i,s,small,span,strike,strong,sub,sup,u'), + _CONTROL_TAG_MAP = _toMap('img,table,input,textarea,button'), + _PRE_TAG_MAP = _toMap('pre,style,script'), + _NOSPLIT_TAG_MAP = _toMap('html,head,body,td,tr,table,ol,ul,li'), + _AUTOCLOSE_TAG_MAP = _toMap('colgroup,dd,dt,li,options,p,td,tfoot,th,thead,tr'), + _FILL_ATTR_MAP = _toMap('checked,compact,declare,defer,disabled,ismap,multiple,nohref,noresize,noshade,nowrap,readonly,selected'), + _VALUE_TAG_MAP = _toMap('input,button,textarea,select'); +function _getBasePath() { + var els = document.getElementsByTagName('script'), src; + for (var i = 0, len = els.length; i < len; i++) { + src = els[i].src || ''; + if (/kindeditor[\w\-\.]*\.js/.test(src)) { + return src.substring(0, src.lastIndexOf('/') + 1); + } + } + return ''; +} +K.basePath = _getBasePath(); +K.options = { + designMode : true, + fullscreenMode : false, + filterMode : true, + wellFormatMode : true, + shadowMode : true, + loadStyleMode : true, + basePath : K.basePath, + themesPath : K.basePath + 'themes/', + langPath : K.basePath + 'lang/', + pluginsPath : K.basePath + 'plugins/', + themeType : 'default', + langType : 'zh_CN', + urlType : '', + newlineTag : 'p', + resizeType : 2, + syncType : 'form', + pasteType : 2, + dialogAlignType : 'page', + useContextmenu : true, + fullscreenShortcut : false, + bodyClass : 'ke-content', + indentChar : '\t', + cssPath : '', + cssData : '', + minWidth : 650, + minHeight : 100, + minChangeSize : 50, + zIndex : 811213, + items : [ + 'source', '|', 'undo', 'redo', '|', 'preview', 'print', 'template', 'code', 'cut', 'copy', 'paste', + 'plainpaste', 'wordpaste', '|', 'justifyleft', 'justifycenter', 'justifyright', + 'justifyfull', 'insertorderedlist', 'insertunorderedlist', 'indent', 'outdent', 'subscript', + 'superscript', 'clearhtml', 'quickformat', 'selectall', '|', 'fullscreen', '/', + 'formatblock', 'fontname', 'fontsize', '|', 'forecolor', 'hilitecolor', 'bold', + 'italic', 'underline', 'strikethrough', 'lineheight', 'removeformat', '|', 'image', 'multiimage', + 'flash', 'media', 'insertfile', 'table', 'hr', 'emoticons', 'baidumap', 'pagebreak', + 'anchor', 'link', 'unlink', '|', 'about' + ], + noDisableItems : ['source', 'fullscreen'], + colorTable : [ + ['#E53333', '#E56600', '#FF9900', '#64451D', '#DFC5A4', '#FFE500'], + ['#009900', '#006600', '#99BB00', '#B8D100', '#60D978', '#00D5FF'], + ['#337FE5', '#003399', '#4C33E5', '#9933E5', '#CC33E5', '#EE33EE'], + ['#FFFFFF', '#CCCCCC', '#999999', '#666666', '#333333', '#000000'] + ], + fontSizeTable : ['9px', '10px', '12px', '14px', '16px', '18px', '24px', '32px'], + htmlTags : { + font : ['id', 'class', 'color', 'size', 'face', '.background-color'], + span : [ + 'id', 'class', '.color', '.background-color', '.font-size', '.font-family', '.background', + '.font-weight', '.font-style', '.text-decoration', '.vertical-align', '.line-height' + ], + div : [ + 'id', 'class', 'align', '.border', '.margin', '.padding', '.text-align', '.color', + '.background-color', '.font-size', '.font-family', '.font-weight', '.background', + '.font-style', '.text-decoration', '.vertical-align', '.margin-left' + ], + table: [ + 'id', 'class', 'border', 'cellspacing', 'cellpadding', 'width', 'height', 'align', 'bordercolor', + '.padding', '.margin', '.border', 'bgcolor', '.text-align', '.color', '.background-color', + '.font-size', '.font-family', '.font-weight', '.font-style', '.text-decoration', '.background', + '.width', '.height', '.border-collapse' + ], + 'td,th': [ + 'id', 'class', 'align', 'valign', 'width', 'height', 'colspan', 'rowspan', 'bgcolor', + '.text-align', '.color', '.background-color', '.font-size', '.font-family', '.font-weight', + '.font-style', '.text-decoration', '.vertical-align', '.background', '.border' + ], + a : ['id', 'class', 'href', 'target', 'name'], + embed : ['id', 'class', 'src', 'width', 'height', 'type', 'loop', 'autostart', 'quality', '.width', '.height', 'align', 'allowscriptaccess'], + img : ['id', 'class', 'src', 'width', 'height', 'border', 'alt', 'title', 'align', '.width', '.height', '.border'], + 'p,ol,ul,li,blockquote,h1,h2,h3,h4,h5,h6' : [ + 'id', 'class', 'align', '.text-align', '.color', '.background-color', '.font-size', '.font-family', '.background', + '.font-weight', '.font-style', '.text-decoration', '.vertical-align', '.text-indent', '.margin-left' + ], + pre : ['id', 'class'], + hr : ['id', 'class', '.page-break-after'], + 'br,tbody,tr,strong,b,sub,sup,em,i,u,strike,s,del' : ['id', 'class'], + iframe : ['id', 'class', 'src', 'frameborder', 'width', 'height', '.width', '.height'] + }, + layout : '
                                                      ' +}; +var _useCapture = false; +var _INPUT_KEY_MAP = _toMap('8,9,13,32,46,48..57,59,61,65..90,106,109..111,188,190..192,219..222'); +var _CURSORMOVE_KEY_MAP = _toMap('33..40'); +var _CHANGE_KEY_MAP = {}; +_each(_INPUT_KEY_MAP, function(key, val) { + _CHANGE_KEY_MAP[key] = val; +}); +_each(_CURSORMOVE_KEY_MAP, function(key, val) { + _CHANGE_KEY_MAP[key] = val; +}); +function _bindEvent(el, type, fn) { + if (el.addEventListener){ + el.addEventListener(type, fn, _useCapture); + } else if (el.attachEvent){ + el.attachEvent('on' + type, fn); + } +} +function _unbindEvent(el, type, fn) { + if (el.removeEventListener){ + el.removeEventListener(type, fn, _useCapture); + } else if (el.detachEvent){ + el.detachEvent('on' + type, fn); + } +} +var _EVENT_PROPS = ('altKey,attrChange,attrName,bubbles,button,cancelable,charCode,clientX,clientY,ctrlKey,currentTarget,' + + 'data,detail,eventPhase,fromElement,handler,keyCode,metaKey,newValue,offsetX,offsetY,originalTarget,pageX,' + + 'pageY,prevValue,relatedNode,relatedTarget,screenX,screenY,shiftKey,srcElement,target,toElement,view,wheelDelta,which').split(','); +function KEvent(el, event) { + this.init(el, event); +} +_extend(KEvent, { + init : function(el, event) { + var self = this, doc = el.ownerDocument || el.document || el; + self.event = event; + _each(_EVENT_PROPS, function(key, val) { + self[val] = event[val]; + }); + if (!self.target) { + self.target = self.srcElement || doc; + } + if (self.target.nodeType === 3) { + self.target = self.target.parentNode; + } + if (!self.relatedTarget && self.fromElement) { + self.relatedTarget = self.fromElement === self.target ? self.toElement : self.fromElement; + } + if (self.pageX == null && self.clientX != null) { + var d = doc.documentElement, body = doc.body; + self.pageX = self.clientX + (d && d.scrollLeft || body && body.scrollLeft || 0) - (d && d.clientLeft || body && body.clientLeft || 0); + self.pageY = self.clientY + (d && d.scrollTop || body && body.scrollTop || 0) - (d && d.clientTop || body && body.clientTop || 0); + } + if (!self.which && ((self.charCode || self.charCode === 0) ? self.charCode : self.keyCode)) { + self.which = self.charCode || self.keyCode; + } + if (!self.metaKey && self.ctrlKey) { + self.metaKey = self.ctrlKey; + } + if (!self.which && self.button !== undefined) { + self.which = (self.button & 1 ? 1 : (self.button & 2 ? 3 : (self.button & 4 ? 2 : 0))); + } + switch (self.which) { + case 186 : + self.which = 59; + break; + case 187 : + case 107 : + case 43 : + self.which = 61; + break; + case 189 : + case 45 : + self.which = 109; + break; + case 42 : + self.which = 106; + break; + case 47 : + self.which = 111; + break; + case 78 : + self.which = 110; + break; + } + if (self.which >= 96 && self.which <= 105) { + self.which -= 48; + } + }, + preventDefault : function() { + var ev = this.event; + if (ev.preventDefault) { + ev.preventDefault(); + } else { + ev.returnValue = false; + } + }, + stopPropagation : function() { + var ev = this.event; + if (ev.stopPropagation) { + ev.stopPropagation(); + } else { + ev.cancelBubble = true; + } + }, + stop : function() { + this.preventDefault(); + this.stopPropagation(); + } +}); +var _eventExpendo = 'kindeditor_' + _TIME, _eventId = 0, _eventData = {}; +function _getId(el) { + return el[_eventExpendo] || null; +} +function _setId(el) { + el[_eventExpendo] = ++_eventId; + return _eventId; +} +function _removeId(el) { + try { + delete el[_eventExpendo]; + } catch(e) { + if (el.removeAttribute) { + el.removeAttribute(_eventExpendo); + } + } +} +function _bind(el, type, fn) { + if (type.indexOf(',') >= 0) { + _each(type.split(','), function() { + _bind(el, this, fn); + }); + return; + } + var id = _getId(el); + if (!id) { + id = _setId(el); + } + if (_eventData[id] === undefined) { + _eventData[id] = {}; + } + var events = _eventData[id][type]; + if (events && events.length > 0) { + _unbindEvent(el, type, events[0]); + } else { + _eventData[id][type] = []; + _eventData[id].el = el; + } + events = _eventData[id][type]; + if (events.length === 0) { + events[0] = function(e) { + var kevent = e ? new KEvent(el, e) : undefined; + _each(events, function(i, event) { + if (i > 0 && event) { + event.call(el, kevent); + } + }); + }; + } + if (_inArray(fn, events) < 0) { + events.push(fn); + } + _bindEvent(el, type, events[0]); +} +function _unbind(el, type, fn) { + if (type && type.indexOf(',') >= 0) { + _each(type.split(','), function() { + _unbind(el, this, fn); + }); + return; + } + var id = _getId(el); + if (!id) { + return; + } + if (type === undefined) { + if (id in _eventData) { + _each(_eventData[id], function(key, events) { + if (key != 'el' && events.length > 0) { + _unbindEvent(el, key, events[0]); + } + }); + delete _eventData[id]; + _removeId(el); + } + return; + } + if (!_eventData[id]) { + return; + } + var events = _eventData[id][type]; + if (events && events.length > 0) { + if (fn === undefined) { + _unbindEvent(el, type, events[0]); + delete _eventData[id][type]; + } else { + _each(events, function(i, event) { + if (i > 0 && event === fn) { + events.splice(i, 1); + } + }); + if (events.length == 1) { + _unbindEvent(el, type, events[0]); + delete _eventData[id][type]; + } + } + var count = 0; + _each(_eventData[id], function() { + count++; + }); + if (count < 2) { + delete _eventData[id]; + _removeId(el); + } + } +} +function _fire(el, type) { + if (type.indexOf(',') >= 0) { + _each(type.split(','), function() { + _fire(el, this); + }); + return; + } + var id = _getId(el); + if (!id) { + return; + } + var events = _eventData[id][type]; + if (_eventData[id] && events && events.length > 0) { + events[0](); + } +} +function _ctrl(el, key, fn) { + var self = this; + key = /^\d{2,}$/.test(key) ? key : key.toUpperCase().charCodeAt(0); + _bind(el, 'keydown', function(e) { + if (e.ctrlKey && e.which == key && !e.shiftKey && !e.altKey) { + fn.call(el); + e.stop(); + } + }); +} +var _readyFinished = false; +function _ready(fn) { + if (_readyFinished) { + fn(KindEditor); + return; + } + var loaded = false; + function readyFunc() { + if (!loaded) { + loaded = true; + fn(KindEditor); + _readyFinished = true; + } + } + function ieReadyFunc() { + if (!loaded) { + try { + document.documentElement.doScroll('left'); + } catch(e) { + setTimeout(ieReadyFunc, 100); + return; + } + readyFunc(); + } + } + function ieReadyStateFunc() { + if (document.readyState === 'complete') { + readyFunc(); + } + } + if (document.addEventListener) { + _bind(document, 'DOMContentLoaded', readyFunc); + } else if (document.attachEvent) { + _bind(document, 'readystatechange', ieReadyStateFunc); + var toplevel = false; + try { + toplevel = window.frameElement == null; + } catch(e) {} + if (document.documentElement.doScroll && toplevel) { + ieReadyFunc(); + } + } + _bind(window, 'load', readyFunc); +} +if (_IE) { + window.attachEvent('onunload', function() { + _each(_eventData, function(key, events) { + if (events.el) { + _unbind(events.el); + } + }); + }); +} +K.ctrl = _ctrl; +K.ready = _ready; +function _getCssList(css) { + var list = {}, + reg = /\s*([\w\-]+)\s*:([^;]*)(;|$)/g, + match; + while ((match = reg.exec(css))) { + var key = _trim(match[1].toLowerCase()), + val = _trim(_toHex(match[2])); + list[key] = val; + } + return list; +} +function _getAttrList(tag) { + var list = {}, + reg = /\s+(?:([\w\-:]+)|(?:([\w\-:]+)=([^\s"'<>]+))|(?:([\w\-:"]+)="([^"]*)")|(?:([\w\-:"]+)='([^']*)'))(?=(?:\s|\/|>)+)/g, + match; + while ((match = reg.exec(tag))) { + var key = (match[1] || match[2] || match[4] || match[6]).toLowerCase(), + val = (match[2] ? match[3] : (match[4] ? match[5] : match[7])) || ''; + list[key] = val; + } + return list; +} +function _addClassToTag(tag, className) { + if (/\s+class\s*=/.test(tag)) { + tag = tag.replace(/(\s+class=["']?)([^"']*)(["']?[\s>])/, function($0, $1, $2, $3) { + if ((' ' + $2 + ' ').indexOf(' ' + className + ' ') < 0) { + return $2 === '' ? $1 + className + $3 : $1 + $2 + ' ' + className + $3; + } else { + return $0; + } + }); + } else { + tag = tag.substr(0, tag.length - 1) + ' class="' + className + '">'; + } + return tag; +} +function _formatCss(css) { + var str = ''; + _each(_getCssList(css), function(key, val) { + str += key + ':' + val + ';'; + }); + return str; +} +function _formatUrl(url, mode, host, pathname) { + mode = _undef(mode, '').toLowerCase(); + if (url.substr(0, 5) != 'data:') { + url = url.replace(/([^:])\/\//g, '$1/'); + } + if (_inArray(mode, ['absolute', 'relative', 'domain']) < 0) { + return url; + } + host = host || location.protocol + '//' + location.host; + if (pathname === undefined) { + var m = location.pathname.match(/^(\/.*)\//); + pathname = m ? m[1] : ''; + } + var match; + if ((match = /^(\w+:\/\/[^\/]*)/.exec(url))) { + if (match[1] !== host) { + return url; + } + } else if (/^\w+:/.test(url)) { + return url; + } + function getRealPath(path) { + var parts = path.split('/'), paths = []; + for (var i = 0, len = parts.length; i < len; i++) { + var part = parts[i]; + if (part == '..') { + if (paths.length > 0) { + paths.pop(); + } + } else if (part !== '' && part != '.') { + paths.push(part); + } + } + return '/' + paths.join('/'); + } + if (/^\//.test(url)) { + url = host + getRealPath(url.substr(1)); + } else if (!/^\w+:\/\//.test(url)) { + url = host + getRealPath(pathname + '/' + url); + } + function getRelativePath(path, depth) { + if (url.substr(0, path.length) === path) { + var arr = []; + for (var i = 0; i < depth; i++) { + arr.push('..'); + } + var prefix = '.'; + if (arr.length > 0) { + prefix += '/' + arr.join('/'); + } + if (pathname == '/') { + prefix += '/'; + } + return prefix + url.substr(path.length); + } else { + if ((match = /^(.*)\//.exec(path))) { + return getRelativePath(match[1], ++depth); + } + } + } + if (mode === 'relative') { + url = getRelativePath(host + pathname, 0).substr(2); + } else if (mode === 'absolute') { + if (url.substr(0, host.length) === host) { + url = url.substr(host.length); + } + } + return url; +} +function _formatHtml(html, htmlTags, urlType, wellFormatted, indentChar) { + if (html == null) { + html = ''; + } + urlType = urlType || ''; + wellFormatted = _undef(wellFormatted, false); + indentChar = _undef(indentChar, '\t'); + var fontSizeList = 'xx-small,x-small,small,medium,large,x-large,xx-large'.split(','); + html = html.replace(/(<(?:pre|pre\s[^>]*)>)([\s\S]*?)(<\/pre>)/ig, function($0, $1, $2, $3) { + return $1 + $2.replace(/<(?:br|br\s[^>]*)>/ig, '\n') + $3; + }); + html = html.replace(/<(?:br|br\s[^>]*)\s*\/?>\s*<\/p>/ig, '

                                                      '); + html = html.replace(/(<(?:p|p\s[^>]*)>)\s*(<\/p>)/ig, '$1
                                                      $2'); + html = html.replace(/\u200B/g, ''); + html = html.replace(/\u00A9/g, '©'); + html = html.replace(/\u00AE/g, '®'); + html = html.replace(/<[^>]+/g, function($0) { + return $0.replace(/\s+/g, ' '); + }); + var htmlTagMap = {}; + if (htmlTags) { + _each(htmlTags, function(key, val) { + var arr = key.split(','); + for (var i = 0, len = arr.length; i < len; i++) { + htmlTagMap[arr[i]] = _toMap(val); + } + }); + if (!htmlTagMap.script) { + html = html.replace(/(<(?:script|script\s[^>]*)>)([\s\S]*?)(<\/script>)/ig, ''); + } + if (!htmlTagMap.style) { + html = html.replace(/(<(?:style|style\s[^>]*)>)([\s\S]*?)(<\/style>)/ig, ''); + } + } + var re = /(\s*)<(\/)?([\w\-:]+)((?:\s+|(?:\s+[\w\-:]+)|(?:\s+[\w\-:]+=[^\s"'<>]+)|(?:\s+[\w\-:"]+="[^"]*")|(?:\s+[\w\-:"]+='[^']*'))*)(\/)?>(\s*)/g; + var tagStack = []; + html = html.replace(re, function($0, $1, $2, $3, $4, $5, $6) { + var full = $0, + startNewline = $1 || '', + startSlash = $2 || '', + tagName = $3.toLowerCase(), + attr = $4 || '', + endSlash = $5 ? ' ' + $5 : '', + endNewline = $6 || ''; + if (htmlTags && !htmlTagMap[tagName]) { + return ''; + } + if (endSlash === '' && _SINGLE_TAG_MAP[tagName]) { + endSlash = ' /'; + } + if (_INLINE_TAG_MAP[tagName]) { + if (startNewline) { + startNewline = ' '; + } + if (endNewline) { + endNewline = ' '; + } + } + if (_PRE_TAG_MAP[tagName]) { + if (startSlash) { + endNewline = '\n'; + } else { + startNewline = '\n'; + } + } + if (wellFormatted && tagName == 'br') { + endNewline = '\n'; + } + if (_BLOCK_TAG_MAP[tagName] && !_PRE_TAG_MAP[tagName]) { + if (wellFormatted) { + if (startSlash && tagStack.length > 0 && tagStack[tagStack.length - 1] === tagName) { + tagStack.pop(); + } else { + tagStack.push(tagName); + } + startNewline = '\n'; + endNewline = '\n'; + for (var i = 0, len = startSlash ? tagStack.length : tagStack.length - 1; i < len; i++) { + startNewline += indentChar; + if (!startSlash) { + endNewline += indentChar; + } + } + if (endSlash) { + tagStack.pop(); + } else if (!startSlash) { + endNewline += indentChar; + } + } else { + startNewline = endNewline = ''; + } + } + if (attr !== '') { + var attrMap = _getAttrList(full); + if (tagName === 'font') { + var fontStyleMap = {}, fontStyle = ''; + _each(attrMap, function(key, val) { + if (key === 'color') { + fontStyleMap.color = val; + delete attrMap[key]; + } + if (key === 'size') { + fontStyleMap['font-size'] = fontSizeList[parseInt(val, 10) - 1] || ''; + delete attrMap[key]; + } + if (key === 'face') { + fontStyleMap['font-family'] = val; + delete attrMap[key]; + } + if (key === 'style') { + fontStyle = val; + } + }); + if (fontStyle && !/;$/.test(fontStyle)) { + fontStyle += ';'; + } + _each(fontStyleMap, function(key, val) { + if (val === '') { + return; + } + if (/\s/.test(val)) { + val = "'" + val + "'"; + } + fontStyle += key + ':' + val + ';'; + }); + attrMap.style = fontStyle; + } + _each(attrMap, function(key, val) { + if (_FILL_ATTR_MAP[key]) { + attrMap[key] = key; + } + if (_inArray(key, ['src', 'href']) >= 0) { + attrMap[key] = _formatUrl(val, urlType); + } + if (htmlTags && key !== 'style' && !htmlTagMap[tagName]['*'] && !htmlTagMap[tagName][key] || + tagName === 'body' && key === 'contenteditable' || + /^kindeditor_\d+$/.test(key)) { + delete attrMap[key]; + } + if (key === 'style' && val !== '') { + var styleMap = _getCssList(val); + _each(styleMap, function(k, v) { + if (htmlTags && !htmlTagMap[tagName].style && !htmlTagMap[tagName]['.' + k]) { + delete styleMap[k]; + } + }); + var style = ''; + _each(styleMap, function(k, v) { + style += k + ':' + v + ';'; + }); + attrMap.style = style; + } + }); + attr = ''; + _each(attrMap, function(key, val) { + if (key === 'style' && val === '') { + return; + } + val = val.replace(/"/g, '"'); + attr += ' ' + key + '="' + val + '"'; + }); + } + if (tagName === 'font') { + tagName = 'span'; + } + return startNewline + '<' + startSlash + tagName + attr + endSlash + '>' + endNewline; + }); + html = html.replace(/(<(?:pre|pre\s[^>]*)>)([\s\S]*?)(<\/pre>)/ig, function($0, $1, $2, $3) { + return $1 + $2.replace(/\n/g, '\n') + $3; + }); + html = html.replace(/\n\s*\n/g, '\n'); + html = html.replace(/\n/g, '\n'); + return _trim(html); +} +function _clearMsWord(html, htmlTags) { + html = html.replace(//ig, '') + .replace(//ig, '') + .replace(/]*>[\s\S]*?<\/style>/ig, '') + .replace(/]*>[\s\S]*?<\/script>/ig, '') + .replace(/]+>[\s\S]*?<\/w:[^>]+>/ig, '') + .replace(/]+>[\s\S]*?<\/o:[^>]+>/ig, '') + .replace(/[\s\S]*?<\/xml>/ig, '') + .replace(/<(?:table|td)[^>]*>/ig, function(full) { + return full.replace(/border-bottom:([#\w\s]+)/ig, 'border:$1'); + }); + return _formatHtml(html, htmlTags); +} +function _mediaType(src) { + if (/\.(rm|rmvb)(\?|$)/i.test(src)) { + return 'audio/x-pn-realaudio-plugin'; + } + if (/\.(swf|flv)(\?|$)/i.test(src)) { + return 'application/x-shockwave-flash'; + } + return 'video/x-ms-asf-plugin'; +} +function _mediaClass(type) { + if (/realaudio/i.test(type)) { + return 'ke-rm'; + } + if (/flash/i.test(type)) { + return 'ke-flash'; + } + return 'ke-media'; +} +function _mediaAttrs(srcTag) { + return _getAttrList(unescape(srcTag)); +} +function _mediaEmbed(attrs) { + var html = ' 0) { + style += 'width:' + width + 'px;'; + } + if (/\D/.test(height)) { + style += 'height:' + height + ';'; + } else if (height > 0) { + style += 'height:' + height + 'px;'; + } + var html = ''; + return html; +} +function _tmpl(str, data) { + var fn = new Function("obj", + "var p=[],print=function(){p.push.apply(p,arguments);};" + + "with(obj){p.push('" + + str.replace(/[\r\t\n]/g, " ") + .split("<%").join("\t") + .replace(/((^|%>)[^\t]*)'/g, "$1\r") + .replace(/\t=(.*?)%>/g, "',$1,'") + .split("\t").join("');") + .split("%>").join("p.push('") + .split("\r").join("\\'") + "');}return p.join('');"); + return data ? fn(data) : fn; +} +K.formatUrl = _formatUrl; +K.formatHtml = _formatHtml; +K.getCssList = _getCssList; +K.getAttrList = _getAttrList; +K.mediaType = _mediaType; +K.mediaAttrs = _mediaAttrs; +K.mediaEmbed = _mediaEmbed; +K.mediaImg = _mediaImg; +K.clearMsWord = _clearMsWord; +K.tmpl = _tmpl; +function _contains(nodeA, nodeB) { + if (nodeA.nodeType == 9 && nodeB.nodeType != 9) { + return true; + } + while ((nodeB = nodeB.parentNode)) { + if (nodeB == nodeA) { + return true; + } + } + return false; +} +var _getSetAttrDiv = document.createElement('div'); +_getSetAttrDiv.setAttribute('className', 't'); +var _GET_SET_ATTRIBUTE = _getSetAttrDiv.className !== 't'; +function _getAttr(el, key) { + key = key.toLowerCase(); + var val = null; + if (!_GET_SET_ATTRIBUTE && el.nodeName.toLowerCase() != 'script') { + var div = el.ownerDocument.createElement('div'); + div.appendChild(el.cloneNode(false)); + var list = _getAttrList(_unescape(div.innerHTML)); + if (key in list) { + val = list[key]; + } + } else { + try { + val = el.getAttribute(key, 2); + } catch(e) { + val = el.getAttribute(key, 1); + } + } + if (key === 'style' && val !== null) { + val = _formatCss(val); + } + return val; +} +function _queryAll(expr, root) { + var exprList = expr.split(','); + if (exprList.length > 1) { + var mergedResults = []; + _each(exprList, function() { + _each(_queryAll(this, root), function() { + if (_inArray(this, mergedResults) < 0) { + mergedResults.push(this); + } + }); + }); + return mergedResults; + } + root = root || document; + function escape(str) { + if (typeof str != 'string') { + return str; + } + return str.replace(/([^\w\-])/g, '\\$1'); + } + function stripslashes(str) { + return str.replace(/\\/g, ''); + } + function cmpTag(tagA, tagB) { + return tagA === '*' || tagA.toLowerCase() === escape(tagB.toLowerCase()); + } + function byId(id, tag, root) { + var arr = [], + doc = root.ownerDocument || root, + el = doc.getElementById(stripslashes(id)); + if (el) { + if (cmpTag(tag, el.nodeName) && _contains(root, el)) { + arr.push(el); + } + } + return arr; + } + function byClass(className, tag, root) { + var doc = root.ownerDocument || root, arr = [], els, i, len, el; + if (root.getElementsByClassName) { + els = root.getElementsByClassName(stripslashes(className)); + for (i = 0, len = els.length; i < len; i++) { + el = els[i]; + if (cmpTag(tag, el.nodeName)) { + arr.push(el); + } + } + } else if (doc.querySelectorAll) { + els = doc.querySelectorAll((root.nodeName !== '#document' ? root.nodeName + ' ' : '') + tag + '.' + className); + for (i = 0, len = els.length; i < len; i++) { + el = els[i]; + if (_contains(root, el)) { + arr.push(el); + } + } + } else { + els = root.getElementsByTagName(tag); + className = ' ' + className + ' '; + for (i = 0, len = els.length; i < len; i++) { + el = els[i]; + if (el.nodeType == 1) { + var cls = el.className; + if (cls && (' ' + cls + ' ').indexOf(className) > -1) { + arr.push(el); + } + } + } + } + return arr; + } + function byName(name, tag, root) { + var arr = [], doc = root.ownerDocument || root, + els = doc.getElementsByName(stripslashes(name)), el; + for (var i = 0, len = els.length; i < len; i++) { + el = els[i]; + if (cmpTag(tag, el.nodeName) && _contains(root, el)) { + if (el.getAttribute('name') !== null) { + arr.push(el); + } + } + } + return arr; + } + function byAttr(key, val, tag, root) { + var arr = [], els = root.getElementsByTagName(tag), el; + for (var i = 0, len = els.length; i < len; i++) { + el = els[i]; + if (el.nodeType == 1) { + if (val === null) { + if (_getAttr(el, key) !== null) { + arr.push(el); + } + } else { + if (val === escape(_getAttr(el, key))) { + arr.push(el); + } + } + } + } + return arr; + } + function select(expr, root) { + var arr = [], matches; + matches = /^((?:\\.|[^.#\s\[<>])+)/.exec(expr); + var tag = matches ? matches[1] : '*'; + if ((matches = /#((?:[\w\-]|\\.)+)$/.exec(expr))) { + arr = byId(matches[1], tag, root); + } else if ((matches = /\.((?:[\w\-]|\\.)+)$/.exec(expr))) { + arr = byClass(matches[1], tag, root); + } else if ((matches = /\[((?:[\w\-]|\\.)+)\]/.exec(expr))) { + arr = byAttr(matches[1].toLowerCase(), null, tag, root); + } else if ((matches = /\[((?:[\w\-]|\\.)+)\s*=\s*['"]?((?:\\.|[^'"]+)+)['"]?\]/.exec(expr))) { + var key = matches[1].toLowerCase(), val = matches[2]; + if (key === 'id') { + arr = byId(val, tag, root); + } else if (key === 'class') { + arr = byClass(val, tag, root); + } else if (key === 'name') { + arr = byName(val, tag, root); + } else { + arr = byAttr(key, val, tag, root); + } + } else { + var els = root.getElementsByTagName(tag), el; + for (var i = 0, len = els.length; i < len; i++) { + el = els[i]; + if (el.nodeType == 1) { + arr.push(el); + } + } + } + return arr; + } + var parts = [], arr, re = /((?:\\.|[^\s>])+|[\s>])/g; + while ((arr = re.exec(expr))) { + if (arr[1] !== ' ') { + parts.push(arr[1]); + } + } + var results = []; + if (parts.length == 1) { + return select(parts[0], root); + } + var isChild = false, part, els, subResults, val, v, i, j, k, length, len, l; + for (i = 0, lenth = parts.length; i < lenth; i++) { + part = parts[i]; + if (part === '>') { + isChild = true; + continue; + } + if (i > 0) { + els = []; + for (j = 0, len = results.length; j < len; j++) { + val = results[j]; + subResults = select(part, val); + for (k = 0, l = subResults.length; k < l; k++) { + v = subResults[k]; + if (isChild) { + if (val === v.parentNode) { + els.push(v); + } + } else { + els.push(v); + } + } + } + results = els; + } else { + results = select(part, root); + } + if (results.length === 0) { + return []; + } + } + return results; +} +function _query(expr, root) { + var arr = _queryAll(expr, root); + return arr.length > 0 ? arr[0] : null; +} +K.query = _query; +K.queryAll = _queryAll; +function _get(val) { + return K(val)[0]; +} +function _getDoc(node) { + if (!node) { + return document; + } + return node.ownerDocument || node.document || node; +} +function _getWin(node) { + if (!node) { + return window; + } + var doc = _getDoc(node); + return doc.parentWindow || doc.defaultView; +} +function _setHtml(el, html) { + if (el.nodeType != 1) { + return; + } + var doc = _getDoc(el); + try { + el.innerHTML = '' + html; + var temp = doc.getElementById('__kindeditor_temp_tag__'); + temp.parentNode.removeChild(temp); + } catch(e) { + K(el).empty(); + K('@' + html, doc).each(function() { + el.appendChild(this); + }); + } +} +function _hasClass(el, cls) { + return _inString(cls, el.className, ' '); +} +function _setAttr(el, key, val) { + if (_IE && _V < 8 && key.toLowerCase() == 'class') { + key = 'className'; + } + el.setAttribute(key, '' + val); +} +function _removeAttr(el, key) { + if (_IE && _V < 8 && key.toLowerCase() == 'class') { + key = 'className'; + } + _setAttr(el, key, ''); + el.removeAttribute(key); +} +function _getNodeName(node) { + if (!node || !node.nodeName) { + return ''; + } + return node.nodeName.toLowerCase(); +} +function _computedCss(el, key) { + var self = this, win = _getWin(el), camelKey = _toCamel(key), val = ''; + if (win.getComputedStyle) { + var style = win.getComputedStyle(el, null); + val = style[camelKey] || style.getPropertyValue(key) || el.style[camelKey]; + } else if (el.currentStyle) { + val = el.currentStyle[camelKey] || el.style[camelKey]; + } + return val; +} +function _hasVal(node) { + return !!_VALUE_TAG_MAP[_getNodeName(node)]; +} +function _docElement(doc) { + doc = doc || document; + return _QUIRKS ? doc.body : doc.documentElement; +} +function _docHeight(doc) { + var el = _docElement(doc); + return Math.max(el.scrollHeight, el.clientHeight); +} +function _docWidth(doc) { + var el = _docElement(doc); + return Math.max(el.scrollWidth, el.clientWidth); +} +function _getScrollPos(doc) { + doc = doc || document; + var x, y; + if (_IE || _NEWIE || _OPERA) { + x = _docElement(doc).scrollLeft; + y = _docElement(doc).scrollTop; + } else { + x = _getWin(doc).scrollX; + y = _getWin(doc).scrollY; + } + return {x : x, y : y}; +} +function KNode(node) { + this.init(node); +} +_extend(KNode, { + init : function(node) { + var self = this; + node = _isArray(node) ? node : [node]; + var length = 0; + for (var i = 0, len = node.length; i < len; i++) { + if (node[i]) { + self[i] = node[i].constructor === KNode ? node[i][0] : node[i]; + length++; + } + } + self.length = length; + self.doc = _getDoc(self[0]); + self.name = _getNodeName(self[0]); + self.type = self.length > 0 ? self[0].nodeType : null; + self.win = _getWin(self[0]); + }, + each : function(fn) { + var self = this; + for (var i = 0; i < self.length; i++) { + if (fn.call(self[i], i, self[i]) === false) { + return self; + } + } + return self; + }, + bind : function(type, fn) { + this.each(function() { + _bind(this, type, fn); + }); + return this; + }, + unbind : function(type, fn) { + this.each(function() { + _unbind(this, type, fn); + }); + return this; + }, + fire : function(type) { + if (this.length < 1) { + return this; + } + _fire(this[0], type); + return this; + }, + hasAttr : function(key) { + if (this.length < 1) { + return false; + } + return !!_getAttr(this[0], key); + }, + attr : function(key, val) { + var self = this; + if (key === undefined) { + return _getAttrList(self.outer()); + } + if (typeof key === 'object') { + _each(key, function(k, v) { + self.attr(k, v); + }); + return self; + } + if (val === undefined) { + val = self.length < 1 ? null : _getAttr(self[0], key); + return val === null ? '' : val; + } + self.each(function() { + _setAttr(this, key, val); + }); + return self; + }, + removeAttr : function(key) { + this.each(function() { + _removeAttr(this, key); + }); + return this; + }, + get : function(i) { + if (this.length < 1) { + return null; + } + return this[i || 0]; + }, + eq : function(i) { + if (this.length < 1) { + return null; + } + return this[i] ? new KNode(this[i]) : null; + }, + hasClass : function(cls) { + if (this.length < 1) { + return false; + } + return _hasClass(this[0], cls); + }, + addClass : function(cls) { + this.each(function() { + if (!_hasClass(this, cls)) { + this.className = _trim(this.className + ' ' + cls); + } + }); + return this; + }, + removeClass : function(cls) { + this.each(function() { + if (_hasClass(this, cls)) { + this.className = _trim(this.className.replace(new RegExp('(^|\\s)' + cls + '(\\s|$)'), ' ')); + } + }); + return this; + }, + html : function(val) { + var self = this; + if (val === undefined) { + if (self.length < 1 || self.type != 1) { + return ''; + } + return _formatHtml(self[0].innerHTML); + } + self.each(function() { + _setHtml(this, val); + }); + return self; + }, + text : function() { + var self = this; + if (self.length < 1) { + return ''; + } + return _IE ? self[0].innerText : self[0].textContent; + }, + hasVal : function() { + if (this.length < 1) { + return false; + } + return _hasVal(this[0]); + }, + val : function(val) { + var self = this; + if (val === undefined) { + if (self.length < 1) { + return ''; + } + return self.hasVal() ? self[0].value : self.attr('value'); + } else { + self.each(function() { + if (_hasVal(this)) { + this.value = val; + } else { + _setAttr(this, 'value' , val); + } + }); + return self; + } + }, + css : function(key, val) { + var self = this; + if (key === undefined) { + return _getCssList(self.attr('style')); + } + if (typeof key === 'object') { + _each(key, function(k, v) { + self.css(k, v); + }); + return self; + } + if (val === undefined) { + if (self.length < 1) { + return ''; + } + return self[0].style[_toCamel(key)] || _computedCss(self[0], key) || ''; + } + self.each(function() { + this.style[_toCamel(key)] = val; + }); + return self; + }, + width : function(val) { + var self = this; + if (val === undefined) { + if (self.length < 1) { + return 0; + } + return self[0].offsetWidth; + } + return self.css('width', _addUnit(val)); + }, + height : function(val) { + var self = this; + if (val === undefined) { + if (self.length < 1) { + return 0; + } + return self[0].offsetHeight; + } + return self.css('height', _addUnit(val)); + }, + opacity : function(val) { + this.each(function() { + if (this.style.opacity === undefined) { + this.style.filter = val == 1 ? '' : 'alpha(opacity=' + (val * 100) + ')'; + } else { + this.style.opacity = val == 1 ? '' : val; + } + }); + return this; + }, + data : function(key, val) { + var self = this; + key = 'kindeditor_data_' + key; + if (val === undefined) { + if (self.length < 1) { + return null; + } + return self[0][key]; + } + this.each(function() { + this[key] = val; + }); + return self; + }, + pos : function() { + var self = this, node = self[0], x = 0, y = 0; + if (node) { + if (node.getBoundingClientRect) { + var box = node.getBoundingClientRect(), + pos = _getScrollPos(self.doc); + x = box.left + pos.x; + y = box.top + pos.y; + } else { + while (node) { + x += node.offsetLeft; + y += node.offsetTop; + node = node.offsetParent; + } + } + } + return {x : _round(x), y : _round(y)}; + }, + clone : function(bool) { + if (this.length < 1) { + return new KNode([]); + } + return new KNode(this[0].cloneNode(bool)); + }, + append : function(expr) { + this.each(function() { + if (this.appendChild) { + this.appendChild(_get(expr)); + } + }); + return this; + }, + appendTo : function(expr) { + this.each(function() { + _get(expr).appendChild(this); + }); + return this; + }, + before : function(expr) { + this.each(function() { + this.parentNode.insertBefore(_get(expr), this); + }); + return this; + }, + after : function(expr) { + this.each(function() { + if (this.nextSibling) { + this.parentNode.insertBefore(_get(expr), this.nextSibling); + } else { + this.parentNode.appendChild(_get(expr)); + } + }); + return this; + }, + replaceWith : function(expr) { + var nodes = []; + this.each(function(i, node) { + _unbind(node); + var newNode = _get(expr); + node.parentNode.replaceChild(newNode, node); + nodes.push(newNode); + }); + return K(nodes); + }, + empty : function() { + var self = this; + self.each(function(i, node) { + var child = node.firstChild; + while (child) { + if (!node.parentNode) { + return; + } + var next = child.nextSibling; + child.parentNode.removeChild(child); + child = next; + } + }); + return self; + }, + remove : function(keepChilds) { + var self = this; + self.each(function(i, node) { + if (!node.parentNode) { + return; + } + _unbind(node); + if (keepChilds) { + var child = node.firstChild; + while (child) { + var next = child.nextSibling; + node.parentNode.insertBefore(child, node); + child = next; + } + } + node.parentNode.removeChild(node); + delete self[i]; + }); + self.length = 0; + return self; + }, + show : function(val) { + var self = this; + if (val === undefined) { + val = self._originDisplay || ''; + } + if (self.css('display') != 'none') { + return self; + } + return self.css('display', val); + }, + hide : function() { + var self = this; + if (self.length < 1) { + return self; + } + self._originDisplay = self[0].style.display; + return self.css('display', 'none'); + }, + outer : function() { + var self = this; + if (self.length < 1) { + return ''; + } + var div = self.doc.createElement('div'), html; + div.appendChild(self[0].cloneNode(true)); + html = _formatHtml(div.innerHTML); + div = null; + return html; + }, + isSingle : function() { + return !!_SINGLE_TAG_MAP[this.name]; + }, + isInline : function() { + return !!_INLINE_TAG_MAP[this.name]; + }, + isBlock : function() { + return !!_BLOCK_TAG_MAP[this.name]; + }, + isStyle : function() { + return !!_STYLE_TAG_MAP[this.name]; + }, + isControl : function() { + return !!_CONTROL_TAG_MAP[this.name]; + }, + contains : function(otherNode) { + if (this.length < 1) { + return false; + } + return _contains(this[0], _get(otherNode)); + }, + parent : function() { + if (this.length < 1) { + return null; + } + var node = this[0].parentNode; + return node ? new KNode(node) : null; + }, + children : function() { + if (this.length < 1) { + return new KNode([]); + } + var list = [], child = this[0].firstChild; + while (child) { + if (child.nodeType != 3 || _trim(child.nodeValue) !== '') { + list.push(child); + } + child = child.nextSibling; + } + return new KNode(list); + }, + first : function() { + var list = this.children(); + return list.length > 0 ? list.eq(0) : null; + }, + last : function() { + var list = this.children(); + return list.length > 0 ? list.eq(list.length - 1) : null; + }, + index : function() { + if (this.length < 1) { + return -1; + } + var i = -1, sibling = this[0]; + while (sibling) { + i++; + sibling = sibling.previousSibling; + } + return i; + }, + prev : function() { + if (this.length < 1) { + return null; + } + var node = this[0].previousSibling; + return node ? new KNode(node) : null; + }, + next : function() { + if (this.length < 1) { + return null; + } + var node = this[0].nextSibling; + return node ? new KNode(node) : null; + }, + scan : function(fn, order) { + if (this.length < 1) { + return; + } + order = (order === undefined) ? true : order; + function walk(node) { + var n = order ? node.firstChild : node.lastChild; + while (n) { + var next = order ? n.nextSibling : n.previousSibling; + if (fn(n) === false) { + return false; + } + if (walk(n) === false) { + return false; + } + n = next; + } + } + walk(this[0]); + return this; + } +}); +_each(('blur,focus,focusin,focusout,load,resize,scroll,unload,click,dblclick,' + + 'mousedown,mouseup,mousemove,mouseover,mouseout,mouseenter,mouseleave,' + + 'change,select,submit,keydown,keypress,keyup,error,contextmenu').split(','), function(i, type) { + KNode.prototype[type] = function(fn) { + return fn ? this.bind(type, fn) : this.fire(type); + }; +}); +var _K = K; +K = function(expr, root) { + if (expr === undefined || expr === null) { + return; + } + function newNode(node) { + if (!node[0]) { + node = []; + } + return new KNode(node); + } + if (typeof expr === 'string') { + if (root) { + root = _get(root); + } + var length = expr.length; + if (expr.charAt(0) === '@') { + expr = expr.substr(1); + } + if (expr.length !== length || /<.+>/.test(expr)) { + var doc = root ? root.ownerDocument || root : document, + div = doc.createElement('div'), list = []; + div.innerHTML = '' + expr; + for (var i = 0, len = div.childNodes.length; i < len; i++) { + var child = div.childNodes[i]; + if (child.id == '__kindeditor_temp_tag__') { + continue; + } + list.push(child); + } + return newNode(list); + } + return newNode(_queryAll(expr, root)); + } + if (expr && expr.constructor === KNode) { + return expr; + } + if (expr.toArray) { + expr = expr.toArray(); + } + if (_isArray(expr)) { + return newNode(expr); + } + return newNode(_toArray(arguments)); +}; +_each(_K, function(key, val) { + K[key] = val; +}); +K.NodeClass = KNode; +window.KindEditor = K; +var _START_TO_START = 0, + _START_TO_END = 1, + _END_TO_END = 2, + _END_TO_START = 3, + _BOOKMARK_ID = 0; +function _updateCollapsed(range) { + range.collapsed = (range.startContainer === range.endContainer && range.startOffset === range.endOffset); + return range; +} +function _copyAndDelete(range, isCopy, isDelete) { + var doc = range.doc, nodeList = []; + function splitTextNode(node, startOffset, endOffset) { + var length = node.nodeValue.length, centerNode; + if (isCopy) { + var cloneNode = node.cloneNode(true); + if (startOffset > 0) { + centerNode = cloneNode.splitText(startOffset); + } else { + centerNode = cloneNode; + } + if (endOffset < length) { + centerNode.splitText(endOffset - startOffset); + } + } + if (isDelete) { + var center = node; + if (startOffset > 0) { + center = node.splitText(startOffset); + range.setStart(node, startOffset); + } + if (endOffset < length) { + var right = center.splitText(endOffset - startOffset); + range.setEnd(right, 0); + } + nodeList.push(center); + } + return centerNode; + } + function removeNodes() { + if (isDelete) { + range.up().collapse(true); + } + for (var i = 0, len = nodeList.length; i < len; i++) { + var node = nodeList[i]; + if (node.parentNode) { + node.parentNode.removeChild(node); + } + } + } + var copyRange = range.cloneRange().down(); + var start = -1, incStart = -1, incEnd = -1, end = -1, + ancestor = range.commonAncestor(), frag = doc.createDocumentFragment(); + if (ancestor.nodeType == 3) { + var textNode = splitTextNode(ancestor, range.startOffset, range.endOffset); + if (isCopy) { + frag.appendChild(textNode); + } + removeNodes(); + return isCopy ? frag : range; + } + function extractNodes(parent, frag) { + var node = parent.firstChild, nextNode; + while (node) { + var testRange = new KRange(doc).selectNode(node); + start = testRange.compareBoundaryPoints(_START_TO_END, range); + if (start >= 0 && incStart <= 0) { + incStart = testRange.compareBoundaryPoints(_START_TO_START, range); + } + if (incStart >= 0 && incEnd <= 0) { + incEnd = testRange.compareBoundaryPoints(_END_TO_END, range); + } + if (incEnd >= 0 && end <= 0) { + end = testRange.compareBoundaryPoints(_END_TO_START, range); + } + if (end >= 0) { + return false; + } + nextNode = node.nextSibling; + if (start > 0) { + if (node.nodeType == 1) { + if (incStart >= 0 && incEnd <= 0) { + if (isCopy) { + frag.appendChild(node.cloneNode(true)); + } + if (isDelete) { + nodeList.push(node); + } + } else { + var childFlag; + if (isCopy) { + childFlag = node.cloneNode(false); + frag.appendChild(childFlag); + } + if (extractNodes(node, childFlag) === false) { + return false; + } + } + } else if (node.nodeType == 3) { + var textNode; + if (node == copyRange.startContainer) { + textNode = splitTextNode(node, copyRange.startOffset, node.nodeValue.length); + } else if (node == copyRange.endContainer) { + textNode = splitTextNode(node, 0, copyRange.endOffset); + } else { + textNode = splitTextNode(node, 0, node.nodeValue.length); + } + if (isCopy) { + try { + frag.appendChild(textNode); + } catch(e) {} + } + } + } + node = nextNode; + } + } + extractNodes(ancestor, frag); + if (isDelete) { + range.up().collapse(true); + } + for (var i = 0, len = nodeList.length; i < len; i++) { + var node = nodeList[i]; + if (node.parentNode) { + node.parentNode.removeChild(node); + } + } + return isCopy ? frag : range; +} +function _moveToElementText(range, el) { + var node = el; + while (node) { + var knode = K(node); + if (knode.name == 'marquee' || knode.name == 'select') { + return; + } + node = node.parentNode; + } + try { + range.moveToElementText(el); + } catch(e) {} +} +function _getStartEnd(rng, isStart) { + var doc = rng.parentElement().ownerDocument, + pointRange = rng.duplicate(); + pointRange.collapse(isStart); + var parent = pointRange.parentElement(), + nodes = parent.childNodes; + if (nodes.length === 0) { + return {node: parent.parentNode, offset: K(parent).index()}; + } + var startNode = doc, startPos = 0, cmp = -1; + var testRange = rng.duplicate(); + _moveToElementText(testRange, parent); + for (var i = 0, len = nodes.length; i < len; i++) { + var node = nodes[i]; + cmp = testRange.compareEndPoints('StartToStart', pointRange); + if (cmp === 0) { + return {node: node.parentNode, offset: i}; + } + if (node.nodeType == 1) { + var nodeRange = rng.duplicate(), dummy, knode = K(node), newNode = node; + if (knode.isControl()) { + dummy = doc.createElement('span'); + knode.after(dummy); + newNode = dummy; + startPos += knode.text().replace(/\r\n|\n|\r/g, '').length; + } + _moveToElementText(nodeRange, newNode); + testRange.setEndPoint('StartToEnd', nodeRange); + if (cmp > 0) { + startPos += nodeRange.text.replace(/\r\n|\n|\r/g, '').length; + } else { + startPos = 0; + } + if (dummy) { + K(dummy).remove(); + } + } else if (node.nodeType == 3) { + testRange.moveStart('character', node.nodeValue.length); + startPos += node.nodeValue.length; + } + if (cmp < 0) { + startNode = node; + } + } + if (cmp < 0 && startNode.nodeType == 1) { + return {node: parent, offset: K(parent.lastChild).index() + 1}; + } + if (cmp > 0) { + while (startNode.nextSibling && startNode.nodeType == 1) { + startNode = startNode.nextSibling; + } + } + testRange = rng.duplicate(); + _moveToElementText(testRange, parent); + testRange.setEndPoint('StartToEnd', pointRange); + startPos -= testRange.text.replace(/\r\n|\n|\r/g, '').length; + if (cmp > 0 && startNode.nodeType == 3) { + var prevNode = startNode.previousSibling; + while (prevNode && prevNode.nodeType == 3) { + startPos -= prevNode.nodeValue.length; + prevNode = prevNode.previousSibling; + } + } + return {node: startNode, offset: startPos}; +} +function _getEndRange(node, offset) { + var doc = node.ownerDocument || node, + range = doc.body.createTextRange(); + if (doc == node) { + range.collapse(true); + return range; + } + if (node.nodeType == 1 && node.childNodes.length > 0) { + var children = node.childNodes, isStart, child; + if (offset === 0) { + child = children[0]; + isStart = true; + } else { + child = children[offset - 1]; + isStart = false; + } + if (!child) { + return range; + } + if (K(child).name === 'head') { + if (offset === 1) { + isStart = true; + } + if (offset === 2) { + isStart = false; + } + range.collapse(isStart); + return range; + } + if (child.nodeType == 1) { + var kchild = K(child), span; + if (kchild.isControl()) { + span = doc.createElement('span'); + if (isStart) { + kchild.before(span); + } else { + kchild.after(span); + } + child = span; + } + _moveToElementText(range, child); + range.collapse(isStart); + if (span) { + K(span).remove(); + } + return range; + } + node = child; + offset = isStart ? 0 : child.nodeValue.length; + } + var dummy = doc.createElement('span'); + K(node).before(dummy); + _moveToElementText(range, dummy); + range.moveStart('character', offset); + K(dummy).remove(); + return range; +} +function _toRange(rng) { + var doc, range; + function tr2td(start) { + if (K(start.node).name == 'tr') { + start.node = start.node.cells[start.offset]; + start.offset = 0; + } + } + if (_IERANGE) { + if (rng.item) { + doc = _getDoc(rng.item(0)); + range = new KRange(doc); + range.selectNode(rng.item(0)); + return range; + } + doc = rng.parentElement().ownerDocument; + var start = _getStartEnd(rng, true), + end = _getStartEnd(rng, false); + tr2td(start); + tr2td(end); + range = new KRange(doc); + range.setStart(start.node, start.offset); + range.setEnd(end.node, end.offset); + return range; + } + var startContainer = rng.startContainer; + doc = startContainer.ownerDocument || startContainer; + range = new KRange(doc); + range.setStart(startContainer, rng.startOffset); + range.setEnd(rng.endContainer, rng.endOffset); + return range; +} +function KRange(doc) { + this.init(doc); +} +_extend(KRange, { + init : function(doc) { + var self = this; + self.startContainer = doc; + self.startOffset = 0; + self.endContainer = doc; + self.endOffset = 0; + self.collapsed = true; + self.doc = doc; + }, + commonAncestor : function() { + function getParents(node) { + var parents = []; + while (node) { + parents.push(node); + node = node.parentNode; + } + return parents; + } + var parentsA = getParents(this.startContainer), + parentsB = getParents(this.endContainer), + i = 0, lenA = parentsA.length, lenB = parentsB.length, parentA, parentB; + while (++i) { + parentA = parentsA[lenA - i]; + parentB = parentsB[lenB - i]; + if (!parentA || !parentB || parentA !== parentB) { + break; + } + } + return parentsA[lenA - i + 1]; + }, + setStart : function(node, offset) { + var self = this, doc = self.doc; + self.startContainer = node; + self.startOffset = offset; + if (self.endContainer === doc) { + self.endContainer = node; + self.endOffset = offset; + } + return _updateCollapsed(this); + }, + setEnd : function(node, offset) { + var self = this, doc = self.doc; + self.endContainer = node; + self.endOffset = offset; + if (self.startContainer === doc) { + self.startContainer = node; + self.startOffset = offset; + } + return _updateCollapsed(this); + }, + setStartBefore : function(node) { + return this.setStart(node.parentNode || this.doc, K(node).index()); + }, + setStartAfter : function(node) { + return this.setStart(node.parentNode || this.doc, K(node).index() + 1); + }, + setEndBefore : function(node) { + return this.setEnd(node.parentNode || this.doc, K(node).index()); + }, + setEndAfter : function(node) { + return this.setEnd(node.parentNode || this.doc, K(node).index() + 1); + }, + selectNode : function(node) { + return this.setStartBefore(node).setEndAfter(node); + }, + selectNodeContents : function(node) { + var knode = K(node); + if (knode.type == 3 || knode.isSingle()) { + return this.selectNode(node); + } + var children = knode.children(); + if (children.length > 0) { + return this.setStartBefore(children[0]).setEndAfter(children[children.length - 1]); + } + return this.setStart(node, 0).setEnd(node, 0); + }, + collapse : function(toStart) { + if (toStart) { + return this.setEnd(this.startContainer, this.startOffset); + } + return this.setStart(this.endContainer, this.endOffset); + }, + compareBoundaryPoints : function(how, range) { + var rangeA = this.get(), rangeB = range.get(); + if (_IERANGE) { + var arr = {}; + arr[_START_TO_START] = 'StartToStart'; + arr[_START_TO_END] = 'EndToStart'; + arr[_END_TO_END] = 'EndToEnd'; + arr[_END_TO_START] = 'StartToEnd'; + var cmp = rangeA.compareEndPoints(arr[how], rangeB); + if (cmp !== 0) { + return cmp; + } + var nodeA, nodeB, nodeC, posA, posB; + if (how === _START_TO_START || how === _END_TO_START) { + nodeA = this.startContainer; + posA = this.startOffset; + } + if (how === _START_TO_END || how === _END_TO_END) { + nodeA = this.endContainer; + posA = this.endOffset; + } + if (how === _START_TO_START || how === _START_TO_END) { + nodeB = range.startContainer; + posB = range.startOffset; + } + if (how === _END_TO_END || how === _END_TO_START) { + nodeB = range.endContainer; + posB = range.endOffset; + } + if (nodeA === nodeB) { + var diff = posA - posB; + return diff > 0 ? 1 : (diff < 0 ? -1 : 0); + } + nodeC = nodeB; + while (nodeC && nodeC.parentNode !== nodeA) { + nodeC = nodeC.parentNode; + } + if (nodeC) { + return K(nodeC).index() >= posA ? -1 : 1; + } + nodeC = nodeA; + while (nodeC && nodeC.parentNode !== nodeB) { + nodeC = nodeC.parentNode; + } + if (nodeC) { + return K(nodeC).index() >= posB ? 1 : -1; + } + nodeC = K(nodeB).next(); + if (nodeC && nodeC.contains(nodeA)) { + return 1; + } + nodeC = K(nodeA).next(); + if (nodeC && nodeC.contains(nodeB)) { + return -1; + } + } else { + return rangeA.compareBoundaryPoints(how, rangeB); + } + }, + cloneRange : function() { + return new KRange(this.doc).setStart(this.startContainer, this.startOffset).setEnd(this.endContainer, this.endOffset); + }, + toString : function() { + var rng = this.get(), str = _IERANGE ? rng.text : rng.toString(); + return str.replace(/\r\n|\n|\r/g, ''); + }, + cloneContents : function() { + return _copyAndDelete(this, true, false); + }, + deleteContents : function() { + return _copyAndDelete(this, false, true); + }, + extractContents : function() { + return _copyAndDelete(this, true, true); + }, + insertNode : function(node) { + var self = this, + sc = self.startContainer, so = self.startOffset, + ec = self.endContainer, eo = self.endOffset, + firstChild, lastChild, c, nodeCount = 1; + if (node.nodeName.toLowerCase() === '#document-fragment') { + firstChild = node.firstChild; + lastChild = node.lastChild; + nodeCount = node.childNodes.length; + } + if (sc.nodeType == 1) { + c = sc.childNodes[so]; + if (c) { + sc.insertBefore(node, c); + if (sc === ec) { + eo += nodeCount; + } + } else { + sc.appendChild(node); + } + } else if (sc.nodeType == 3) { + if (so === 0) { + sc.parentNode.insertBefore(node, sc); + if (sc.parentNode === ec) { + eo += nodeCount; + } + } else if (so >= sc.nodeValue.length) { + if (sc.nextSibling) { + sc.parentNode.insertBefore(node, sc.nextSibling); + } else { + sc.parentNode.appendChild(node); + } + } else { + if (so > 0) { + c = sc.splitText(so); + } else { + c = sc; + } + sc.parentNode.insertBefore(node, c); + if (sc === ec) { + ec = c; + eo -= so; + } + } + } + if (firstChild) { + self.setStartBefore(firstChild).setEndAfter(lastChild); + } else { + self.selectNode(node); + } + if (self.compareBoundaryPoints(_END_TO_END, self.cloneRange().setEnd(ec, eo)) >= 1) { + return self; + } + return self.setEnd(ec, eo); + }, + surroundContents : function(node) { + node.appendChild(this.extractContents()); + return this.insertNode(node).selectNode(node); + }, + isControl : function() { + var self = this, + sc = self.startContainer, so = self.startOffset, + ec = self.endContainer, eo = self.endOffset, rng; + return sc.nodeType == 1 && sc === ec && so + 1 === eo && K(sc.childNodes[so]).isControl(); + }, + get : function(hasControlRange) { + var self = this, doc = self.doc, node, rng; + if (!_IERANGE) { + rng = doc.createRange(); + try { + rng.setStart(self.startContainer, self.startOffset); + rng.setEnd(self.endContainer, self.endOffset); + } catch (e) {} + return rng; + } + if (hasControlRange && self.isControl()) { + rng = doc.body.createControlRange(); + rng.addElement(self.startContainer.childNodes[self.startOffset]); + return rng; + } + var range = self.cloneRange().down(); + rng = doc.body.createTextRange(); + rng.setEndPoint('StartToStart', _getEndRange(range.startContainer, range.startOffset)); + rng.setEndPoint('EndToStart', _getEndRange(range.endContainer, range.endOffset)); + return rng; + }, + html : function() { + return K(this.cloneContents()).outer(); + }, + down : function() { + var self = this; + function downPos(node, pos, isStart) { + if (node.nodeType != 1) { + return; + } + var children = K(node).children(); + if (children.length === 0) { + return; + } + var left, right, child, offset; + if (pos > 0) { + left = children.eq(pos - 1); + } + if (pos < children.length) { + right = children.eq(pos); + } + if (left && left.type == 3) { + child = left[0]; + offset = child.nodeValue.length; + } + if (right && right.type == 3) { + child = right[0]; + offset = 0; + } + if (!child) { + return; + } + if (isStart) { + self.setStart(child, offset); + } else { + self.setEnd(child, offset); + } + } + downPos(self.startContainer, self.startOffset, true); + downPos(self.endContainer, self.endOffset, false); + return self; + }, + up : function() { + var self = this; + function upPos(node, pos, isStart) { + if (node.nodeType != 3) { + return; + } + if (pos === 0) { + if (isStart) { + self.setStartBefore(node); + } else { + self.setEndBefore(node); + } + } else if (pos == node.nodeValue.length) { + if (isStart) { + self.setStartAfter(node); + } else { + self.setEndAfter(node); + } + } + } + upPos(self.startContainer, self.startOffset, true); + upPos(self.endContainer, self.endOffset, false); + return self; + }, + enlarge : function(toBlock) { + var self = this; + self.up(); + function enlargePos(node, pos, isStart) { + var knode = K(node), parent; + if (knode.type == 3 || _NOSPLIT_TAG_MAP[knode.name] || !toBlock && knode.isBlock()) { + return; + } + if (pos === 0) { + while (!knode.prev()) { + parent = knode.parent(); + if (!parent || _NOSPLIT_TAG_MAP[parent.name] || !toBlock && parent.isBlock()) { + break; + } + knode = parent; + } + if (isStart) { + self.setStartBefore(knode[0]); + } else { + self.setEndBefore(knode[0]); + } + } else if (pos == knode.children().length) { + while (!knode.next()) { + parent = knode.parent(); + if (!parent || _NOSPLIT_TAG_MAP[parent.name] || !toBlock && parent.isBlock()) { + break; + } + knode = parent; + } + if (isStart) { + self.setStartAfter(knode[0]); + } else { + self.setEndAfter(knode[0]); + } + } + } + enlargePos(self.startContainer, self.startOffset, true); + enlargePos(self.endContainer, self.endOffset, false); + return self; + }, + shrink : function() { + var self = this, child, collapsed = self.collapsed; + while (self.startContainer.nodeType == 1 && (child = self.startContainer.childNodes[self.startOffset]) && child.nodeType == 1 && !K(child).isSingle()) { + self.setStart(child, 0); + } + if (collapsed) { + return self.collapse(collapsed); + } + while (self.endContainer.nodeType == 1 && self.endOffset > 0 && (child = self.endContainer.childNodes[self.endOffset - 1]) && child.nodeType == 1 && !K(child).isSingle()) { + self.setEnd(child, child.childNodes.length); + } + return self; + }, + createBookmark : function(serialize) { + var self = this, doc = self.doc, endNode, + startNode = K('', doc)[0]; + startNode.id = '__kindeditor_bookmark_start_' + (_BOOKMARK_ID++) + '__'; + if (!self.collapsed) { + endNode = startNode.cloneNode(true); + endNode.id = '__kindeditor_bookmark_end_' + (_BOOKMARK_ID++) + '__'; + } + if (endNode) { + self.cloneRange().collapse(false).insertNode(endNode).setEndBefore(endNode); + } + self.insertNode(startNode).setStartAfter(startNode); + return { + start : serialize ? '#' + startNode.id : startNode, + end : endNode ? (serialize ? '#' + endNode.id : endNode) : null + }; + }, + moveToBookmark : function(bookmark) { + var self = this, doc = self.doc, + start = K(bookmark.start, doc), end = bookmark.end ? K(bookmark.end, doc) : null; + if (!start || start.length < 1) { + return self; + } + self.setStartBefore(start[0]); + start.remove(); + if (end && end.length > 0) { + self.setEndBefore(end[0]); + end.remove(); + } else { + self.collapse(true); + } + return self; + }, + dump : function() { + console.log('--------------------'); + console.log(this.startContainer.nodeType == 3 ? this.startContainer.nodeValue : this.startContainer, this.startOffset); + console.log(this.endContainer.nodeType == 3 ? this.endContainer.nodeValue : this.endContainer, this.endOffset); + } +}); +function _range(mixed) { + if (!mixed.nodeName) { + return mixed.constructor === KRange ? mixed : _toRange(mixed); + } + return new KRange(mixed); +} +K.RangeClass = KRange; +K.range = _range; +K.START_TO_START = _START_TO_START; +K.START_TO_END = _START_TO_END; +K.END_TO_END = _END_TO_END; +K.END_TO_START = _END_TO_START; +function _nativeCommand(doc, key, val) { + try { + doc.execCommand(key, false, val); + } catch(e) {} +} +function _nativeCommandValue(doc, key) { + var val = ''; + try { + val = doc.queryCommandValue(key); + } catch (e) {} + if (typeof val !== 'string') { + val = ''; + } + return val; +} +function _getSel(doc) { + var win = _getWin(doc); + return _IERANGE ? doc.selection : win.getSelection(); +} +function _getRng(doc) { + var sel = _getSel(doc), rng; + try { + if (sel.rangeCount > 0) { + rng = sel.getRangeAt(0); + } else { + rng = sel.createRange(); + } + } catch(e) {} + if (_IERANGE && (!rng || (!rng.item && rng.parentElement().ownerDocument !== doc))) { + return null; + } + return rng; +} +function _singleKeyMap(map) { + var newMap = {}, arr, v; + _each(map, function(key, val) { + arr = key.split(','); + for (var i = 0, len = arr.length; i < len; i++) { + v = arr[i]; + newMap[v] = val; + } + }); + return newMap; +} +function _hasAttrOrCss(knode, map) { + return _hasAttrOrCssByKey(knode, map, '*') || _hasAttrOrCssByKey(knode, map); +} +function _hasAttrOrCssByKey(knode, map, mapKey) { + mapKey = mapKey || knode.name; + if (knode.type !== 1) { + return false; + } + var newMap = _singleKeyMap(map); + if (!newMap[mapKey]) { + return false; + } + var arr = newMap[mapKey].split(','); + for (var i = 0, len = arr.length; i < len; i++) { + var key = arr[i]; + if (key === '*') { + return true; + } + var match = /^(\.?)([^=]+)(?:=([^=]*))?$/.exec(key); + var method = match[1] ? 'css' : 'attr'; + key = match[2]; + var val = match[3] || ''; + if (val === '' && knode[method](key) !== '') { + return true; + } + if (val !== '' && knode[method](key) === val) { + return true; + } + } + return false; +} +function _removeAttrOrCss(knode, map) { + if (knode.type != 1) { + return; + } + _removeAttrOrCssByKey(knode, map, '*'); + _removeAttrOrCssByKey(knode, map); +} +function _removeAttrOrCssByKey(knode, map, mapKey) { + mapKey = mapKey || knode.name; + if (knode.type !== 1) { + return; + } + var newMap = _singleKeyMap(map); + if (!newMap[mapKey]) { + return; + } + var arr = newMap[mapKey].split(','), allFlag = false; + for (var i = 0, len = arr.length; i < len; i++) { + var key = arr[i]; + if (key === '*') { + allFlag = true; + break; + } + var match = /^(\.?)([^=]+)(?:=([^=]*))?$/.exec(key); + key = match[2]; + if (match[1]) { + key = _toCamel(key); + if (knode[0].style[key]) { + knode[0].style[key] = ''; + } + } else { + knode.removeAttr(key); + } + } + if (allFlag) { + knode.remove(true); + } +} +function _getInnerNode(knode) { + var inner = knode; + while (inner.first()) { + inner = inner.first(); + } + return inner; +} +function _isEmptyNode(knode) { + if (knode.type != 1 || knode.isSingle()) { + return false; + } + return knode.html().replace(/<[^>]+>/g, '') === ''; +} +function _mergeWrapper(a, b) { + a = a.clone(true); + var lastA = _getInnerNode(a), childA = a, merged = false; + while (b) { + while (childA) { + if (childA.name === b.name) { + _mergeAttrs(childA, b.attr(), b.css()); + merged = true; + } + childA = childA.first(); + } + if (!merged) { + lastA.append(b.clone(false)); + } + merged = false; + b = b.first(); + } + return a; +} +function _wrapNode(knode, wrapper) { + wrapper = wrapper.clone(true); + if (knode.type == 3) { + _getInnerNode(wrapper).append(knode.clone(false)); + knode.replaceWith(wrapper); + return wrapper; + } + var nodeWrapper = knode, child; + while ((child = knode.first()) && child.children().length == 1) { + knode = child; + } + child = knode.first(); + var frag = knode.doc.createDocumentFragment(); + while (child) { + frag.appendChild(child[0]); + child = child.next(); + } + wrapper = _mergeWrapper(nodeWrapper, wrapper); + if (frag.firstChild) { + _getInnerNode(wrapper).append(frag); + } + nodeWrapper.replaceWith(wrapper); + return wrapper; +} +function _mergeAttrs(knode, attrs, styles) { + _each(attrs, function(key, val) { + if (key !== 'style') { + knode.attr(key, val); + } + }); + _each(styles, function(key, val) { + knode.css(key, val); + }); +} +function _inPreElement(knode) { + while (knode && knode.name != 'body') { + if (_PRE_TAG_MAP[knode.name] || knode.name == 'div' && knode.hasClass('ke-script')) { + return true; + } + knode = knode.parent(); + } + return false; +} +function KCmd(range) { + this.init(range); +} +_extend(KCmd, { + init : function(range) { + var self = this, doc = range.doc; + self.doc = doc; + self.win = _getWin(doc); + self.sel = _getSel(doc); + self.range = range; + }, + selection : function(forceReset) { + var self = this, doc = self.doc, rng = _getRng(doc); + self.sel = _getSel(doc); + if (rng) { + self.range = _range(rng); + if (K(self.range.startContainer).name == 'html') { + self.range.selectNodeContents(doc.body).collapse(false); + } + return self; + } + if (forceReset) { + self.range.selectNodeContents(doc.body).collapse(false); + } + return self; + }, + select : function(hasDummy) { + hasDummy = _undef(hasDummy, true); + var self = this, sel = self.sel, range = self.range.cloneRange().shrink(), + sc = range.startContainer, so = range.startOffset, + ec = range.endContainer, eo = range.endOffset, + doc = _getDoc(sc), win = self.win, rng, hasU200b = false; + if (hasDummy && sc.nodeType == 1 && range.collapsed) { + if (_IERANGE) { + var dummy = K(' ', doc); + range.insertNode(dummy[0]); + rng = doc.body.createTextRange(); + try { + rng.moveToElementText(dummy[0]); + } catch(ex) {} + rng.collapse(false); + rng.select(); + dummy.remove(); + win.focus(); + return self; + } + if (_WEBKIT) { + var children = sc.childNodes; + if (K(sc).isInline() || so > 0 && K(children[so - 1]).isInline() || children[so] && K(children[so]).isInline()) { + range.insertNode(doc.createTextNode('\u200B')); + hasU200b = true; + } + } + } + if (_IERANGE) { + try { + rng = range.get(true); + rng.select(); + } catch(e) {} + } else { + if (hasU200b) { + range.collapse(false); + } + rng = range.get(true); + sel.removeAllRanges(); + sel.addRange(rng); + if (doc !== document) { + var pos = K(rng.endContainer).pos(); + win.scrollTo(pos.x, pos.y); + } + } + win.focus(); + return self; + }, + wrap : function(val) { + var self = this, doc = self.doc, range = self.range, wrapper; + wrapper = K(val, doc); + if (range.collapsed) { + range.shrink(); + range.insertNode(wrapper[0]).selectNodeContents(wrapper[0]); + return self; + } + if (wrapper.isBlock()) { + var copyWrapper = wrapper.clone(true), child = copyWrapper; + while (child.first()) { + child = child.first(); + } + child.append(range.extractContents()); + range.insertNode(copyWrapper[0]).selectNode(copyWrapper[0]); + return self; + } + range.enlarge(); + var bookmark = range.createBookmark(), ancestor = range.commonAncestor(), isStart = false; + K(ancestor).scan(function(node) { + if (!isStart && node == bookmark.start) { + isStart = true; + return; + } + if (isStart) { + if (node == bookmark.end) { + return false; + } + var knode = K(node); + if (_inPreElement(knode)) { + return; + } + if (knode.type == 3 && _trim(node.nodeValue).length > 0) { + var parent; + while ((parent = knode.parent()) && parent.isStyle() && parent.children().length == 1) { + knode = parent; + } + _wrapNode(knode, wrapper); + } + } + }); + range.moveToBookmark(bookmark); + return self; + }, + split : function(isStart, map) { + var range = this.range, doc = range.doc; + var tempRange = range.cloneRange().collapse(isStart); + var node = tempRange.startContainer, pos = tempRange.startOffset, + parent = node.nodeType == 3 ? node.parentNode : node, + needSplit = false, knode; + while (parent && parent.parentNode) { + knode = K(parent); + if (map) { + if (!knode.isStyle()) { + break; + } + if (!_hasAttrOrCss(knode, map)) { + break; + } + } else { + if (_NOSPLIT_TAG_MAP[knode.name]) { + break; + } + } + needSplit = true; + parent = parent.parentNode; + } + if (needSplit) { + var dummy = doc.createElement('span'); + range.cloneRange().collapse(!isStart).insertNode(dummy); + if (isStart) { + tempRange.setStartBefore(parent.firstChild).setEnd(node, pos); + } else { + tempRange.setStart(node, pos).setEndAfter(parent.lastChild); + } + var frag = tempRange.extractContents(), + first = frag.firstChild, last = frag.lastChild; + if (isStart) { + tempRange.insertNode(frag); + range.setStartAfter(last).setEndBefore(dummy); + } else { + parent.appendChild(frag); + range.setStartBefore(dummy).setEndBefore(first); + } + var dummyParent = dummy.parentNode; + if (dummyParent == range.endContainer) { + var prev = K(dummy).prev(), next = K(dummy).next(); + if (prev && next && prev.type == 3 && next.type == 3) { + range.setEnd(prev[0], prev[0].nodeValue.length); + } else if (!isStart) { + range.setEnd(range.endContainer, range.endOffset - 1); + } + } + dummyParent.removeChild(dummy); + } + return this; + }, + remove : function(map) { + var self = this, doc = self.doc, range = self.range; + range.enlarge(); + if (range.startOffset === 0) { + var ksc = K(range.startContainer), parent; + while ((parent = ksc.parent()) && parent.isStyle() && parent.children().length == 1) { + ksc = parent; + } + range.setStart(ksc[0], 0); + ksc = K(range.startContainer); + if (ksc.isBlock()) { + _removeAttrOrCss(ksc, map); + } + var kscp = ksc.parent(); + if (kscp && kscp.isBlock()) { + _removeAttrOrCss(kscp, map); + } + } + var sc, so; + if (range.collapsed) { + self.split(true, map); + sc = range.startContainer; + so = range.startOffset; + if (so > 0) { + var sb = K(sc.childNodes[so - 1]); + if (sb && _isEmptyNode(sb)) { + sb.remove(); + range.setStart(sc, so - 1); + } + } + var sa = K(sc.childNodes[so]); + if (sa && _isEmptyNode(sa)) { + sa.remove(); + } + if (_isEmptyNode(sc)) { + range.startBefore(sc); + sc.remove(); + } + range.collapse(true); + return self; + } + self.split(true, map); + self.split(false, map); + var startDummy = doc.createElement('span'), endDummy = doc.createElement('span'); + range.cloneRange().collapse(false).insertNode(endDummy); + range.cloneRange().collapse(true).insertNode(startDummy); + var nodeList = [], cmpStart = false; + K(range.commonAncestor()).scan(function(node) { + if (!cmpStart && node == startDummy) { + cmpStart = true; + return; + } + if (node == endDummy) { + return false; + } + if (cmpStart) { + nodeList.push(node); + } + }); + K(startDummy).remove(); + K(endDummy).remove(); + sc = range.startContainer; + so = range.startOffset; + var ec = range.endContainer, eo = range.endOffset; + if (so > 0) { + var startBefore = K(sc.childNodes[so - 1]); + if (startBefore && _isEmptyNode(startBefore)) { + startBefore.remove(); + range.setStart(sc, so - 1); + if (sc == ec) { + range.setEnd(ec, eo - 1); + } + } + var startAfter = K(sc.childNodes[so]); + if (startAfter && _isEmptyNode(startAfter)) { + startAfter.remove(); + if (sc == ec) { + range.setEnd(ec, eo - 1); + } + } + } + var endAfter = K(ec.childNodes[range.endOffset]); + if (endAfter && _isEmptyNode(endAfter)) { + endAfter.remove(); + } + var bookmark = range.createBookmark(true); + _each(nodeList, function(i, node) { + _removeAttrOrCss(K(node), map); + }); + range.moveToBookmark(bookmark); + return self; + }, + commonNode : function(map) { + var range = this.range; + var ec = range.endContainer, eo = range.endOffset, + node = (ec.nodeType == 3 || eo === 0) ? ec : ec.childNodes[eo - 1]; + function find(node) { + var child = node, parent = node; + while (parent) { + if (_hasAttrOrCss(K(parent), map)) { + return K(parent); + } + parent = parent.parentNode; + } + while (child && (child = child.lastChild)) { + if (_hasAttrOrCss(K(child), map)) { + return K(child); + } + } + return null; + } + var cNode = find(node); + if (cNode) { + return cNode; + } + if (node.nodeType == 1 || (ec.nodeType == 3 && eo === 0)) { + var prev = K(node).prev(); + if (prev) { + return find(prev); + } + } + return null; + }, + commonAncestor : function(tagName) { + var range = this.range, + sc = range.startContainer, so = range.startOffset, + ec = range.endContainer, eo = range.endOffset, + startNode = (sc.nodeType == 3 || so === 0) ? sc : sc.childNodes[so - 1], + endNode = (ec.nodeType == 3 || eo === 0) ? ec : ec.childNodes[eo - 1]; + function find(node) { + while (node) { + if (node.nodeType == 1) { + if (node.tagName.toLowerCase() === tagName) { + return node; + } + } + node = node.parentNode; + } + return null; + } + var start = find(startNode), end = find(endNode); + if (start && end && start === end) { + return K(start); + } + return null; + }, + state : function(key) { + var self = this, doc = self.doc, bool = false; + try { + bool = doc.queryCommandState(key); + } catch (e) {} + return bool; + }, + val : function(key) { + var self = this, doc = self.doc, range = self.range; + function lc(val) { + return val.toLowerCase(); + } + key = lc(key); + var val = '', knode; + if (key === 'fontfamily' || key === 'fontname') { + val = _nativeCommandValue(doc, 'fontname'); + val = val.replace(/['"]/g, ''); + return lc(val); + } + if (key === 'formatblock') { + val = _nativeCommandValue(doc, key); + if (val === '') { + knode = self.commonNode({'h1,h2,h3,h4,h5,h6,p,div,pre,address' : '*'}); + if (knode) { + val = knode.name; + } + } + if (val === 'Normal') { + val = 'p'; + } + return lc(val); + } + if (key === 'fontsize') { + knode = self.commonNode({'*' : '.font-size'}); + if (knode) { + val = knode.css('font-size'); + } + return lc(val); + } + if (key === 'forecolor') { + knode = self.commonNode({'*' : '.color'}); + if (knode) { + val = knode.css('color'); + } + val = _toHex(val); + if (val === '') { + val = 'default'; + } + return lc(val); + } + if (key === 'hilitecolor') { + knode = self.commonNode({'*' : '.background-color'}); + if (knode) { + val = knode.css('background-color'); + } + val = _toHex(val); + if (val === '') { + val = 'default'; + } + return lc(val); + } + return val; + }, + toggle : function(wrapper, map) { + var self = this; + if (self.commonNode(map)) { + self.remove(map); + } else { + self.wrap(wrapper); + } + return self.select(); + }, + bold : function() { + return this.toggle('', { + span : '.font-weight=bold', + strong : '*', + b : '*' + }); + }, + italic : function() { + return this.toggle('', { + span : '.font-style=italic', + em : '*', + i : '*' + }); + }, + underline : function() { + return this.toggle('', { + span : '.text-decoration=underline', + u : '*' + }); + }, + strikethrough : function() { + return this.toggle('', { + span : '.text-decoration=line-through', + s : '*' + }); + }, + forecolor : function(val) { + return this.wrap('').select(); + }, + hilitecolor : function(val) { + return this.wrap('').select(); + }, + fontsize : function(val) { + return this.wrap('').select(); + }, + fontname : function(val) { + return this.fontfamily(val); + }, + fontfamily : function(val) { + return this.wrap('').select(); + }, + removeformat : function() { + var map = { + '*' : '.font-weight,.font-style,.text-decoration,.color,.background-color,.font-size,.font-family,.text-indent' + }, + tags = _STYLE_TAG_MAP; + _each(tags, function(key, val) { + map[key] = '*'; + }); + this.remove(map); + return this.select(); + }, + inserthtml : function(val, quickMode) { + var self = this, range = self.range; + if (val === '') { + return self; + } + function pasteHtml(range, val) { + val = '' + val; + var rng = range.get(); + if (rng.item) { + rng.item(0).outerHTML = val; + } else { + rng.pasteHTML(val); + } + var temp = range.doc.getElementById('__kindeditor_temp_tag__'); + temp.parentNode.removeChild(temp); + var newRange = _toRange(rng); + range.setEnd(newRange.endContainer, newRange.endOffset); + range.collapse(false); + self.select(false); + } + function insertHtml(range, val) { + var doc = range.doc, + frag = doc.createDocumentFragment(); + K('@' + val, doc).each(function() { + frag.appendChild(this); + }); + range.deleteContents(); + range.insertNode(frag); + range.collapse(false); + self.select(false); + } + if (_IERANGE && quickMode) { + try { + pasteHtml(range, val); + } catch(e) { + insertHtml(range, val); + } + return self; + } + insertHtml(range, val); + return self; + }, + hr : function() { + return this.inserthtml('
                                                      '); + }, + print : function() { + this.win.print(); + return this; + }, + insertimage : function(url, title, width, height, border, align) { + title = _undef(title, ''); + border = _undef(border, 0); + var html = ''; + return self.inserthtml(html); + } + if (range.isControl()) { + var node = K(range.startContainer.childNodes[range.startOffset]); + html += '>'; + node.after(K(html, doc)); + node.next().append(node); + range.selectNode(node[0]); + return self.select(); + } + function setAttr(node, url, type) { + K(node).attr('href', url).attr('data-ke-src', url); + if (type) { + K(node).attr('target', type); + } else { + K(node).removeAttr('target'); + } + } + var sc = range.startContainer, so = range.startOffset, + ec = range.endContainer, eo = range.endOffset; + if (sc.nodeType == 1 && sc === ec && so + 1 === eo) { + var child = sc.childNodes[so]; + if (child.nodeName.toLowerCase() == 'a') { + setAttr(child, url, type); + return self; + } + } + _nativeCommand(doc, 'createlink', '__kindeditor_temp_url__'); + K('a[href="__kindeditor_temp_url__"]', doc).each(function() { + setAttr(this, url, type); + }); + return self; + }, + unlink : function() { + var self = this, doc = self.doc, range = self.range; + self.select(); + if (range.collapsed) { + var a = self.commonNode({ a : '*' }); + if (a) { + range.selectNode(a.get()); + self.select(); + } + _nativeCommand(doc, 'unlink', null); + if (_WEBKIT && K(range.startContainer).name === 'img') { + var parent = K(range.startContainer).parent(); + if (parent.name === 'a') { + parent.remove(true); + } + } + } else { + _nativeCommand(doc, 'unlink', null); + } + return self; + } +}); +_each(('formatblock,selectall,justifyleft,justifycenter,justifyright,justifyfull,insertorderedlist,' + + 'insertunorderedlist,indent,outdent,subscript,superscript').split(','), function(i, name) { + KCmd.prototype[name] = function(val) { + var self = this; + self.select(); + _nativeCommand(self.doc, name, val); + if (_IERANGE && _inArray(name, 'justifyleft,justifycenter,justifyright,justifyfull'.split(',')) >= 0) { + self.selection(); + } + if (!_IERANGE || _inArray(name, 'formatblock,selectall,insertorderedlist,insertunorderedlist'.split(',')) >= 0) { + self.selection(); + } + return self; + }; +}); +_each('cut,copy,paste'.split(','), function(i, name) { + KCmd.prototype[name] = function() { + var self = this; + if (!self.doc.queryCommandSupported(name)) { + throw 'not supported'; + } + self.select(); + _nativeCommand(self.doc, name, null); + return self; + }; +}); +function _cmd(mixed) { + if (mixed.nodeName) { + var doc = _getDoc(mixed); + mixed = _range(doc).selectNodeContents(doc.body).collapse(false); + } + return new KCmd(mixed); +} +K.CmdClass = KCmd; +K.cmd = _cmd; +function _drag(options) { + var moveEl = options.moveEl, + moveFn = options.moveFn, + clickEl = options.clickEl || moveEl, + beforeDrag = options.beforeDrag, + iframeFix = options.iframeFix === undefined ? true : options.iframeFix; + var docs = [document]; + if (iframeFix) { + K('iframe').each(function() { + var src = _formatUrl(this.src || '', 'absolute'); + if (/^https?:\/\//.test(src)) { + return; + } + var doc; + try { + doc = _iframeDoc(this); + } catch(e) {} + if (doc) { + var pos = K(this).pos(); + K(doc).data('pos-x', pos.x); + K(doc).data('pos-y', pos.y); + docs.push(doc); + } + }); + } + clickEl.mousedown(function(e) { + e.stopPropagation(); + var self = clickEl.get(), + x = _removeUnit(moveEl.css('left')), + y = _removeUnit(moveEl.css('top')), + width = moveEl.width(), + height = moveEl.height(), + pageX = e.pageX, + pageY = e.pageY; + if (beforeDrag) { + beforeDrag(); + } + function moveListener(e) { + e.preventDefault(); + var kdoc = K(_getDoc(e.target)); + var diffX = _round((kdoc.data('pos-x') || 0) + e.pageX - pageX); + var diffY = _round((kdoc.data('pos-y') || 0) + e.pageY - pageY); + moveFn.call(clickEl, x, y, width, height, diffX, diffY); + } + function selectListener(e) { + e.preventDefault(); + } + function upListener(e) { + e.preventDefault(); + K(docs).unbind('mousemove', moveListener) + .unbind('mouseup', upListener) + .unbind('selectstart', selectListener); + if (self.releaseCapture) { + self.releaseCapture(); + } + } + K(docs).mousemove(moveListener) + .mouseup(upListener) + .bind('selectstart', selectListener); + if (self.setCapture) { + self.setCapture(); + } + }); +} +function KWidget(options) { + this.init(options); +} +_extend(KWidget, { + init : function(options) { + var self = this; + self.name = options.name || ''; + self.doc = options.doc || document; + self.win = _getWin(self.doc); + self.x = _addUnit(options.x); + self.y = _addUnit(options.y); + self.z = options.z; + self.width = _addUnit(options.width); + self.height = _addUnit(options.height); + self.div = K('
                                                      '); + self.options = options; + self._alignEl = options.alignEl; + if (self.width) { + self.div.css('width', self.width); + } + if (self.height) { + self.div.css('height', self.height); + } + if (self.z) { + self.div.css({ + position : 'absolute', + left : self.x, + top : self.y, + 'z-index' : self.z + }); + } + if (self.z && (self.x === undefined || self.y === undefined)) { + self.autoPos(self.width, self.height); + } + if (options.cls) { + self.div.addClass(options.cls); + } + if (options.shadowMode) { + self.div.addClass('ke-shadow'); + } + if (options.css) { + self.div.css(options.css); + } + if (options.src) { + K(options.src).replaceWith(self.div); + } else { + K(self.doc.body).append(self.div); + } + if (options.html) { + self.div.html(options.html); + } + if (options.autoScroll) { + if (_IE && _V < 7 || _QUIRKS) { + var scrollPos = _getScrollPos(); + K(self.win).bind('scroll', function(e) { + var pos = _getScrollPos(), + diffX = pos.x - scrollPos.x, + diffY = pos.y - scrollPos.y; + self.pos(_removeUnit(self.x) + diffX, _removeUnit(self.y) + diffY, false); + }); + } else { + self.div.css('position', 'fixed'); + } + } + }, + pos : function(x, y, updateProp) { + var self = this; + updateProp = _undef(updateProp, true); + if (x !== null) { + x = x < 0 ? 0 : _addUnit(x); + self.div.css('left', x); + if (updateProp) { + self.x = x; + } + } + if (y !== null) { + y = y < 0 ? 0 : _addUnit(y); + self.div.css('top', y); + if (updateProp) { + self.y = y; + } + } + return self; + }, + autoPos : function(width, height) { + var self = this, + w = _removeUnit(width) || 0, + h = _removeUnit(height) || 0, + scrollPos = _getScrollPos(); + if (self._alignEl) { + var knode = K(self._alignEl), + pos = knode.pos(), + diffX = _round(knode[0].clientWidth / 2 - w / 2), + diffY = _round(knode[0].clientHeight / 2 - h / 2); + x = diffX < 0 ? pos.x : pos.x + diffX; + y = diffY < 0 ? pos.y : pos.y + diffY; + } else { + var docEl = _docElement(self.doc); + x = _round(scrollPos.x + (docEl.clientWidth - w) / 2); + y = _round(scrollPos.y + (docEl.clientHeight - h) / 2); + } + if (!(_IE && _V < 7 || _QUIRKS)) { + x -= scrollPos.x; + y -= scrollPos.y; + } + return self.pos(x, y); + }, + remove : function() { + var self = this; + if (_IE && _V < 7 || _QUIRKS) { + K(self.win).unbind('scroll'); + } + self.div.remove(); + _each(self, function(i) { + self[i] = null; + }); + return this; + }, + show : function() { + this.div.show(); + return this; + }, + hide : function() { + this.div.hide(); + return this; + }, + draggable : function(options) { + var self = this; + options = options || {}; + options.moveEl = self.div; + options.moveFn = function(x, y, width, height, diffX, diffY) { + if ((x = x + diffX) < 0) { + x = 0; + } + if ((y = y + diffY) < 0) { + y = 0; + } + self.pos(x, y); + }; + _drag(options); + return self; + } +}); +function _widget(options) { + return new KWidget(options); +} +K.WidgetClass = KWidget; +K.widget = _widget; +function _iframeDoc(iframe) { + iframe = _get(iframe); + return iframe.contentDocument || iframe.contentWindow.document; +} +var html, _direction = ''; +if ((html = document.getElementsByTagName('html'))) { + _direction = html[0].dir; +} +function _getInitHtml(themesPath, bodyClass, cssPath, cssData) { + var arr = [ + (_direction === '' ? '' : ''), + '', + '' + ]; + if (!_isArray(cssPath)) { + cssPath = [cssPath]; + } + _each(cssPath, function(i, path) { + if (path) { + arr.push(''); + } + }); + if (cssData) { + arr.push(''); + } + arr.push(''); + return arr.join('\n'); +} +function _elementVal(knode, val) { + if (knode.hasVal()) { + if (val === undefined) { + var html = knode.val(); + html = html.replace(/(<(?:p|p\s[^>]*)>) *(<\/p>)/ig, ''); + return html; + } + return knode.val(val); + } + return knode.html(val); +} +function KEdit(options) { + this.init(options); +} +_extend(KEdit, KWidget, { + init : function(options) { + var self = this; + KEdit.parent.init.call(self, options); + self.srcElement = K(options.srcElement); + self.div.addClass('ke-edit'); + self.designMode = _undef(options.designMode, true); + self.beforeGetHtml = options.beforeGetHtml; + self.beforeSetHtml = options.beforeSetHtml; + self.afterSetHtml = options.afterSetHtml; + var themesPath = _undef(options.themesPath, ''), + bodyClass = options.bodyClass, + cssPath = options.cssPath, + cssData = options.cssData, + isDocumentDomain = location.protocol != 'res:' && location.host.replace(/:\d+/, '') !== document.domain, + srcScript = ('document.open();' + + (isDocumentDomain ? 'document.domain="' + document.domain + '";' : '') + + 'document.close();'), + iframeSrc = _IE ? ' src="javascript:void(function(){' + encodeURIComponent(srcScript) + '}())"' : ''; + self.iframe = K('').css('width', '100%'); + self.textarea = K('').css('width', '100%'); + self.tabIndex = isNaN(parseInt(options.tabIndex, 10)) ? self.srcElement.attr('tabindex') : parseInt(options.tabIndex, 10); + self.iframe.attr('tabindex', self.tabIndex); + self.textarea.attr('tabindex', self.tabIndex); + if (self.width) { + self.setWidth(self.width); + } + if (self.height) { + self.setHeight(self.height); + } + if (self.designMode) { + self.textarea.hide(); + } else { + self.iframe.hide(); + } + function ready() { + var doc = _iframeDoc(self.iframe); + doc.open(); + if (isDocumentDomain) { + doc.domain = document.domain; + } + doc.write(_getInitHtml(themesPath, bodyClass, cssPath, cssData)); + doc.close(); + self.win = self.iframe[0].contentWindow; + self.doc = doc; + var cmd = _cmd(doc); + self.afterChange(function(e) { + cmd.selection(); + }); + if (_WEBKIT) { + K(doc).click(function(e) { + if (K(e.target).name === 'img') { + cmd.selection(true); + cmd.range.selectNode(e.target); + cmd.select(); + } + }); + } + if (_IE) { + self._mousedownHandler = function() { + var newRange = cmd.range.cloneRange(); + newRange.shrink(); + if (newRange.isControl()) { + self.blur(); + } + }; + K(document).mousedown(self._mousedownHandler); + K(doc).keydown(function(e) { + if (e.which == 8) { + cmd.selection(); + var rng = cmd.range; + if (rng.isControl()) { + rng.collapse(true); + K(rng.startContainer.childNodes[rng.startOffset]).remove(); + e.preventDefault(); + } + } + }); + } + self.cmd = cmd; + self.html(_elementVal(self.srcElement)); + if (_IE) { + doc.body.disabled = true; + doc.body.contentEditable = true; + doc.body.removeAttribute('disabled'); + } else { + doc.designMode = 'on'; + } + if (options.afterCreate) { + options.afterCreate.call(self); + } + } + if (isDocumentDomain) { + self.iframe.bind('load', function(e) { + self.iframe.unbind('load'); + if (_IE) { + ready(); + } else { + setTimeout(ready, 0); + } + }); + } + self.div.append(self.iframe); + self.div.append(self.textarea); + self.srcElement.hide(); + !isDocumentDomain && ready(); + }, + setWidth : function(val) { + var self = this; + val = _addUnit(val); + self.width = val; + self.div.css('width', val); + return self; + }, + setHeight : function(val) { + var self = this; + val = _addUnit(val); + self.height = val; + self.div.css('height', val); + self.iframe.css('height', val); + if ((_IE && _V < 8) || _QUIRKS) { + val = _addUnit(_removeUnit(val) - 2); + } + self.textarea.css('height', val); + return self; + }, + remove : function() { + var self = this, doc = self.doc; + K(doc.body).unbind(); + K(doc).unbind(); + K(self.win).unbind(); + if (self._mousedownHandler) { + K(document).unbind('mousedown', self._mousedownHandler); + } + _elementVal(self.srcElement, self.html()); + self.srcElement.show(); + doc.write(''); + self.iframe.unbind(); + self.textarea.unbind(); + KEdit.parent.remove.call(self); + }, + html : function(val, isFull) { + var self = this, doc = self.doc; + if (self.designMode) { + var body = doc.body; + if (val === undefined) { + if (isFull) { + val = '' + body.parentNode.innerHTML + ''; + } else { + val = body.innerHTML; + } + if (self.beforeGetHtml) { + val = self.beforeGetHtml(val); + } + if (_GECKO && val == '
                                                      ') { + val = ''; + } + return val; + } + if (self.beforeSetHtml) { + val = self.beforeSetHtml(val); + } + if (_IE && _V >= 9) { + val = val.replace(/(<.*?checked=")checked(".*>)/ig, '$1$2'); + } + K(body).html(val); + if (self.afterSetHtml) { + self.afterSetHtml(); + } + return self; + } + if (val === undefined) { + return self.textarea.val(); + } + self.textarea.val(val); + return self; + }, + design : function(bool) { + var self = this, val; + if (bool === undefined ? !self.designMode : bool) { + if (!self.designMode) { + val = self.html(); + self.designMode = true; + self.html(val); + self.textarea.hide(); + self.iframe.show(); + } + } else { + if (self.designMode) { + val = self.html(); + self.designMode = false; + self.html(val); + self.iframe.hide(); + self.textarea.show(); + } + } + return self.focus(); + }, + focus : function() { + var self = this; + self.designMode ? self.win.focus() : self.textarea[0].focus(); + return self; + }, + blur : function() { + var self = this; + if (_IE) { + var input = K('', self.div); + self.div.append(input); + input[0].focus(); + input.remove(); + } else { + self.designMode ? self.win.blur() : self.textarea[0].blur(); + } + return self; + }, + afterChange : function(fn) { + var self = this, doc = self.doc, body = doc.body; + K(doc).keyup(function(e) { + if (!e.ctrlKey && !e.altKey && _CHANGE_KEY_MAP[e.which]) { + fn(e); + } + }); + K(doc).mouseup(fn).contextmenu(fn); + K(self.win).blur(fn); + function timeoutHandler(e) { + setTimeout(function() { + fn(e); + }, 1); + } + K(body).bind('paste', timeoutHandler); + K(body).bind('cut', timeoutHandler); + return self; + } +}); +function _edit(options) { + return new KEdit(options); +} +K.EditClass = KEdit; +K.edit = _edit; +K.iframeDoc = _iframeDoc; +function _selectToolbar(name, fn) { + var self = this, + knode = self.get(name); + if (knode) { + if (knode.hasClass('ke-disabled')) { + return; + } + fn(knode); + } +} +function KToolbar(options) { + this.init(options); +} +_extend(KToolbar, KWidget, { + init : function(options) { + var self = this; + KToolbar.parent.init.call(self, options); + self.disableMode = _undef(options.disableMode, false); + self.noDisableItemMap = _toMap(_undef(options.noDisableItems, [])); + self._itemMap = {}; + self.div.addClass('ke-toolbar').bind('contextmenu,mousedown,mousemove', function(e) { + e.preventDefault(); + }).attr('unselectable', 'on'); + function find(target) { + var knode = K(target); + if (knode.hasClass('ke-outline')) { + return knode; + } + if (knode.hasClass('ke-toolbar-icon')) { + return knode.parent(); + } + } + function hover(e, method) { + var knode = find(e.target); + if (knode) { + if (knode.hasClass('ke-disabled')) { + return; + } + if (knode.hasClass('ke-selected')) { + return; + } + knode[method]('ke-on'); + } + } + self.div.mouseover(function(e) { + hover(e, 'addClass'); + }) + .mouseout(function(e) { + hover(e, 'removeClass'); + }) + .click(function(e) { + var knode = find(e.target); + if (knode) { + if (knode.hasClass('ke-disabled')) { + return; + } + self.options.click.call(this, e, knode.attr('data-name')); + } + }); + }, + get : function(name) { + if (this._itemMap[name]) { + return this._itemMap[name]; + } + return (this._itemMap[name] = K('span.ke-icon-' + name, this.div).parent()); + }, + select : function(name) { + _selectToolbar.call(this, name, function(knode) { + knode.addClass('ke-selected'); + }); + return self; + }, + unselect : function(name) { + _selectToolbar.call(this, name, function(knode) { + knode.removeClass('ke-selected').removeClass('ke-on'); + }); + return self; + }, + enable : function(name) { + var self = this, + knode = name.get ? name : self.get(name); + if (knode) { + knode.removeClass('ke-disabled'); + knode.opacity(1); + } + return self; + }, + disable : function(name) { + var self = this, + knode = name.get ? name : self.get(name); + if (knode) { + knode.removeClass('ke-selected').addClass('ke-disabled'); + knode.opacity(0.5); + } + return self; + }, + disableAll : function(bool, noDisableItems) { + var self = this, map = self.noDisableItemMap, item; + if (noDisableItems) { + map = _toMap(noDisableItems); + } + if (bool === undefined ? !self.disableMode : bool) { + K('span.ke-outline', self.div).each(function() { + var knode = K(this), + name = knode[0].getAttribute('data-name', 2); + if (!map[name]) { + self.disable(knode); + } + }); + self.disableMode = true; + } else { + K('span.ke-outline', self.div).each(function() { + var knode = K(this), + name = knode[0].getAttribute('data-name', 2); + if (!map[name]) { + self.enable(knode); + } + }); + self.disableMode = false; + } + return self; + } +}); +function _toolbar(options) { + return new KToolbar(options); +} +K.ToolbarClass = KToolbar; +K.toolbar = _toolbar; +function KMenu(options) { + this.init(options); +} +_extend(KMenu, KWidget, { + init : function(options) { + var self = this; + options.z = options.z || 811213; + KMenu.parent.init.call(self, options); + self.centerLineMode = _undef(options.centerLineMode, true); + self.div.addClass('ke-menu').bind('click,mousedown', function(e){ + e.stopPropagation(); + }).attr('unselectable', 'on'); + }, + addItem : function(item) { + var self = this; + if (item.title === '-') { + self.div.append(K('
                                                      ')); + return; + } + var itemDiv = K('
                                                      '), + leftDiv = K('
                                                      '), + rightDiv = K('
                                                      '), + height = _addUnit(item.height), + iconClass = _undef(item.iconClass, ''); + self.div.append(itemDiv); + if (height) { + itemDiv.css('height', height); + rightDiv.css('line-height', height); + } + var centerDiv; + if (self.centerLineMode) { + centerDiv = K('
                                                      '); + if (height) { + centerDiv.css('height', height); + } + } + itemDiv.mouseover(function(e) { + K(this).addClass('ke-menu-item-on'); + if (centerDiv) { + centerDiv.addClass('ke-menu-item-center-on'); + } + }) + .mouseout(function(e) { + K(this).removeClass('ke-menu-item-on'); + if (centerDiv) { + centerDiv.removeClass('ke-menu-item-center-on'); + } + }) + .click(function(e) { + item.click.call(K(this)); + e.stopPropagation(); + }) + .append(leftDiv); + if (centerDiv) { + itemDiv.append(centerDiv); + } + itemDiv.append(rightDiv); + if (item.checked) { + iconClass = 'ke-icon-checked'; + } + if (iconClass !== '') { + leftDiv.html(''); + } + rightDiv.html(item.title); + return self; + }, + remove : function() { + var self = this; + if (self.options.beforeRemove) { + self.options.beforeRemove.call(self); + } + K('.ke-menu-item', self.div[0]).unbind(); + KMenu.parent.remove.call(self); + return self; + } +}); +function _menu(options) { + return new KMenu(options); +} +K.MenuClass = KMenu; +K.menu = _menu; +function KColorPicker(options) { + this.init(options); +} +_extend(KColorPicker, KWidget, { + init : function(options) { + var self = this; + options.z = options.z || 811213; + KColorPicker.parent.init.call(self, options); + var colors = options.colors || [ + ['#E53333', '#E56600', '#FF9900', '#64451D', '#DFC5A4', '#FFE500'], + ['#009900', '#006600', '#99BB00', '#B8D100', '#60D978', '#00D5FF'], + ['#337FE5', '#003399', '#4C33E5', '#9933E5', '#CC33E5', '#EE33EE'], + ['#FFFFFF', '#CCCCCC', '#999999', '#666666', '#333333', '#000000'] + ]; + self.selectedColor = (options.selectedColor || '').toLowerCase(); + self._cells = []; + self.div.addClass('ke-colorpicker').bind('click,mousedown', function(e){ + e.stopPropagation(); + }).attr('unselectable', 'on'); + var table = self.doc.createElement('table'); + self.div.append(table); + table.className = 'ke-colorpicker-table'; + table.cellPadding = 0; + table.cellSpacing = 0; + table.border = 0; + var row = table.insertRow(0), cell = row.insertCell(0); + cell.colSpan = colors[0].length; + self._addAttr(cell, '', 'ke-colorpicker-cell-top'); + for (var i = 0; i < colors.length; i++) { + row = table.insertRow(i + 1); + for (var j = 0; j < colors[i].length; j++) { + cell = row.insertCell(j); + self._addAttr(cell, colors[i][j], 'ke-colorpicker-cell'); + } + } + }, + _addAttr : function(cell, color, cls) { + var self = this; + cell = K(cell).addClass(cls); + if (self.selectedColor === color.toLowerCase()) { + cell.addClass('ke-colorpicker-cell-selected'); + } + cell.attr('title', color || self.options.noColor); + cell.mouseover(function(e) { + K(this).addClass('ke-colorpicker-cell-on'); + }); + cell.mouseout(function(e) { + K(this).removeClass('ke-colorpicker-cell-on'); + }); + cell.click(function(e) { + e.stop(); + self.options.click.call(K(this), color); + }); + if (color) { + cell.append(K('
                                                      ').css('background-color', color)); + } else { + cell.html(self.options.noColor); + } + K(cell).attr('unselectable', 'on'); + self._cells.push(cell); + }, + remove : function() { + var self = this; + _each(self._cells, function() { + this.unbind(); + }); + KColorPicker.parent.remove.call(self); + return self; + } +}); +function _colorpicker(options) { + return new KColorPicker(options); +} +K.ColorPickerClass = KColorPicker; +K.colorpicker = _colorpicker; +function KUploadButton(options) { + this.init(options); +} +_extend(KUploadButton, { + init : function(options) { + var self = this, + button = K(options.button), + fieldName = options.fieldName || 'file', + url = options.url || '', + title = button.val(), + extraParams = options.extraParams || {}, + cls = button[0].className || '', + target = options.target || 'kindeditor_upload_iframe_' + new Date().getTime(); + options.afterError = options.afterError || function(str) { + alert(str); + }; + var hiddenElements = []; + for(var k in extraParams){ + hiddenElements.push(''); + } + var html = [ + '
                                                      ', + (options.target ? '' : ''), + (options.form ? '
                                                      ' : '
                                                      '), + '', + hiddenElements.join(''), + '', + '', + '', + (options.form ? '
                                                      ' : ''), + '
                                                      '].join(''); + var div = K(html, button.doc); + button.hide(); + button.before(div); + self.div = div; + self.button = button; + self.iframe = options.target ? K('iframe[name="' + target + '"]') : K('iframe', div); + self.form = options.form ? K(options.form) : K('form', div); + self.fileBox = K('.ke-upload-file', div); + var width = options.width || K('.ke-button-common', div).width(); + K('.ke-upload-area', div).width(width); + self.options = options; + }, + submit : function() { + var self = this, + iframe = self.iframe; + iframe.bind('load', function() { + iframe.unbind(); + var tempForm = document.createElement('form'); + self.fileBox.before(tempForm); + K(tempForm).append(self.fileBox); + tempForm.reset(); + K(tempForm).remove(true); + var doc = K.iframeDoc(iframe), + pre = doc.getElementsByTagName('pre')[0], + str = '', data; + if (pre) { + str = pre.innerHTML; + } else { + str = doc.body.innerHTML; + } + str = _unescape(str); + iframe[0].src = 'javascript:false'; + try { + data = K.json(str); + } catch (e) { + self.options.afterError.call(self, '' + doc.body.parentNode.innerHTML + ''); + } + if (data) { + self.options.afterUpload.call(self, data); + } + }); + self.form[0].submit(); + return self; + }, + remove : function() { + var self = this; + if (self.fileBox) { + self.fileBox.unbind(); + } + self.iframe.remove(); + self.div.remove(); + self.button.show(); + return self; + } +}); +function _uploadbutton(options) { + return new KUploadButton(options); +} +K.UploadButtonClass = KUploadButton; +K.uploadbutton = _uploadbutton; +function _createButton(arg) { + arg = arg || {}; + var name = arg.name || '', + span = K(''), + btn = K(''); + if (arg.click) { + btn.click(arg.click); + } + span.append(btn); + return span; +} +function KDialog(options) { + this.init(options); +} +_extend(KDialog, KWidget, { + init : function(options) { + var self = this; + var shadowMode = _undef(options.shadowMode, true); + options.z = options.z || 811213; + options.shadowMode = false; + options.autoScroll = _undef(options.autoScroll, true); + KDialog.parent.init.call(self, options); + var title = options.title, + body = K(options.body, self.doc), + previewBtn = options.previewBtn, + yesBtn = options.yesBtn, + noBtn = options.noBtn, + closeBtn = options.closeBtn, + showMask = _undef(options.showMask, true); + self.div.addClass('ke-dialog').bind('click,mousedown', function(e){ + e.stopPropagation(); + }); + var contentDiv = K('
                                                      ').appendTo(self.div); + if (_IE && _V < 7) { + self.iframeMask = K('').appendTo(self.div); + } else if (shadowMode) { + K('
                                                      ').appendTo(self.div); + } + var headerDiv = K('
                                                      '); + contentDiv.append(headerDiv); + headerDiv.html(title); + self.closeIcon = K('').click(closeBtn.click); + headerDiv.append(self.closeIcon); + self.draggable({ + clickEl : headerDiv, + beforeDrag : options.beforeDrag + }); + var bodyDiv = K('
                                                      '); + contentDiv.append(bodyDiv); + bodyDiv.append(body); + var footerDiv = K(''); + if (previewBtn || yesBtn || noBtn) { + contentDiv.append(footerDiv); + } + _each([ + { btn : previewBtn, name : 'preview' }, + { btn : yesBtn, name : 'yes' }, + { btn : noBtn, name : 'no' } + ], function() { + if (this.btn) { + var button = _createButton(this.btn); + button.addClass('ke-dialog-' + this.name); + footerDiv.append(button); + } + }); + if (self.height) { + bodyDiv.height(_removeUnit(self.height) - headerDiv.height() - footerDiv.height()); + } + self.div.width(self.div.width()); + self.div.height(self.div.height()); + self.mask = null; + if (showMask) { + var docEl = _docElement(self.doc), + docWidth = Math.max(docEl.scrollWidth, docEl.clientWidth), + docHeight = Math.max(docEl.scrollHeight, docEl.clientHeight); + self.mask = _widget({ + x : 0, + y : 0, + z : self.z - 1, + cls : 'ke-dialog-mask', + width : docWidth, + height : docHeight + }); + } + self.autoPos(self.div.width(), self.div.height()); + self.footerDiv = footerDiv; + self.bodyDiv = bodyDiv; + self.headerDiv = headerDiv; + self.isLoading = false; + }, + setMaskIndex : function(z) { + var self = this; + self.mask.div.css('z-index', z); + }, + showLoading : function(msg) { + msg = _undef(msg, ''); + var self = this, body = self.bodyDiv; + self.loading = K('
                                                      ' + msg + '
                                                      ') + .width(body.width()).height(body.height()) + .css('top', self.headerDiv.height() + 'px'); + body.css('visibility', 'hidden').after(self.loading); + self.isLoading = true; + return self; + }, + hideLoading : function() { + this.loading && this.loading.remove(); + this.bodyDiv.css('visibility', 'visible'); + this.isLoading = false; + return this; + }, + remove : function() { + var self = this; + if (self.options.beforeRemove) { + self.options.beforeRemove.call(self); + } + self.mask && self.mask.remove(); + self.iframeMask && self.iframeMask.remove(); + self.closeIcon.unbind(); + K('input', self.div).unbind(); + K('button', self.div).unbind(); + self.footerDiv.unbind(); + self.bodyDiv.unbind(); + self.headerDiv.unbind(); + K('iframe', self.div).each(function() { + K(this).remove(); + }); + KDialog.parent.remove.call(self); + return self; + } +}); +function _dialog(options) { + return new KDialog(options); +} +K.DialogClass = KDialog; +K.dialog = _dialog; +function _tabs(options) { + var self = _widget(options), + remove = self.remove, + afterSelect = options.afterSelect, + div = self.div, + liList = []; + div.addClass('ke-tabs') + .bind('contextmenu,mousedown,mousemove', function(e) { + e.preventDefault(); + }); + var ul = K('
                                                        '); + div.append(ul); + self.add = function(tab) { + var li = K('
                                                      • ' + tab.title + '
                                                      • '); + li.data('tab', tab); + liList.push(li); + ul.append(li); + }; + self.selectedIndex = 0; + self.select = function(index) { + self.selectedIndex = index; + _each(liList, function(i, li) { + li.unbind(); + if (i === index) { + li.addClass('ke-tabs-li-selected'); + K(li.data('tab').panel).show(''); + } else { + li.removeClass('ke-tabs-li-selected').removeClass('ke-tabs-li-on') + .mouseover(function() { + K(this).addClass('ke-tabs-li-on'); + }) + .mouseout(function() { + K(this).removeClass('ke-tabs-li-on'); + }) + .click(function() { + self.select(i); + }); + K(li.data('tab').panel).hide(); + } + }); + if (afterSelect) { + afterSelect.call(self, index); + } + }; + self.remove = function() { + _each(liList, function() { + this.remove(); + }); + ul.remove(); + remove.call(self); + }; + return self; +} +K.tabs = _tabs; +function _loadScript(url, fn) { + var head = document.getElementsByTagName('head')[0] || (_QUIRKS ? document.body : document.documentElement), + script = document.createElement('script'); + head.appendChild(script); + script.src = url; + script.charset = 'utf-8'; + script.onload = script.onreadystatechange = function() { + if (!this.readyState || this.readyState === 'loaded') { + if (fn) { + fn(); + } + script.onload = script.onreadystatechange = null; + head.removeChild(script); + } + }; +} +function _chopQuery(url) { + var index = url.indexOf('?'); + return index > 0 ? url.substr(0, index) : url; +} +function _loadStyle(url) { + var head = document.getElementsByTagName('head')[0] || (_QUIRKS ? document.body : document.documentElement), + link = document.createElement('link'), + absoluteUrl = _chopQuery(_formatUrl(url, 'absolute')); + var links = K('link[rel="stylesheet"]', head); + for (var i = 0, len = links.length; i < len; i++) { + if (_chopQuery(_formatUrl(links[i].href, 'absolute')) === absoluteUrl) { + return; + } + } + head.appendChild(link); + link.href = url; + link.rel = 'stylesheet'; +} +function _ajax(url, fn, method, param, dataType) { + method = method || 'GET'; + dataType = dataType || 'json'; + var xhr = window.XMLHttpRequest ? new window.XMLHttpRequest() : new ActiveXObject('Microsoft.XMLHTTP'); + xhr.open(method, url, true); + xhr.onreadystatechange = function () { + if (xhr.readyState == 4 && xhr.status == 200) { + if (fn) { + var data = _trim(xhr.responseText); + if (dataType == 'json') { + data = _json(data); + } + fn(data); + } + } + }; + if (method == 'POST') { + var params = []; + _each(param, function(key, val) { + params.push(encodeURIComponent(key) + '=' + encodeURIComponent(val)); + }); + try { + xhr.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded'); + } catch (e) {} + xhr.send(params.join('&')); + } else { + xhr.send(null); + } +} +K.loadScript = _loadScript; +K.loadStyle = _loadStyle; +K.ajax = _ajax; +var _plugins = {}; +function _plugin(name, fn) { + if (name === undefined) { + return _plugins; + } + if (!fn) { + return _plugins[name]; + } + _plugins[name] = fn; +} +var _language = {}; +function _parseLangKey(key) { + var match, ns = 'core'; + if ((match = /^(\w+)\.(\w+)$/.exec(key))) { + ns = match[1]; + key = match[2]; + } + return { ns : ns, key : key }; +} +function _lang(mixed, langType) { + langType = langType === undefined ? K.options.langType : langType; + if (typeof mixed === 'string') { + if (!_language[langType]) { + return 'no language'; + } + var pos = mixed.length - 1; + if (mixed.substr(pos) === '.') { + return _language[langType][mixed.substr(0, pos)]; + } + var obj = _parseLangKey(mixed); + return _language[langType][obj.ns][obj.key]; + } + _each(mixed, function(key, val) { + var obj = _parseLangKey(key); + if (!_language[langType]) { + _language[langType] = {}; + } + if (!_language[langType][obj.ns]) { + _language[langType][obj.ns] = {}; + } + _language[langType][obj.ns][obj.key] = val; + }); +} +function _getImageFromRange(range, fn) { + if (range.collapsed) { + return; + } + range = range.cloneRange().up(); + var sc = range.startContainer, so = range.startOffset; + if (!_WEBKIT && !range.isControl()) { + return; + } + var img = K(sc.childNodes[so]); + if (!img || img.name != 'img') { + return; + } + if (fn(img)) { + return img; + } +} +function _bindContextmenuEvent() { + var self = this, doc = self.edit.doc; + K(doc).contextmenu(function(e) { + if (self.menu) { + self.hideMenu(); + } + if (!self.useContextmenu) { + e.preventDefault(); + return; + } + if (self._contextmenus.length === 0) { + return; + } + var maxWidth = 0, items = []; + _each(self._contextmenus, function() { + if (this.title == '-') { + items.push(this); + return; + } + if (this.cond && this.cond()) { + items.push(this); + if (this.width && this.width > maxWidth) { + maxWidth = this.width; + } + } + }); + while (items.length > 0 && items[0].title == '-') { + items.shift(); + } + while (items.length > 0 && items[items.length - 1].title == '-') { + items.pop(); + } + var prevItem = null; + _each(items, function(i) { + if (this.title == '-' && prevItem.title == '-') { + delete items[i]; + } + prevItem = this; + }); + if (items.length > 0) { + e.preventDefault(); + var pos = K(self.edit.iframe).pos(), + menu = _menu({ + x : pos.x + e.clientX, + y : pos.y + e.clientY, + width : maxWidth, + css : { visibility: 'hidden' }, + shadowMode : self.shadowMode + }); + _each(items, function() { + if (this.title) { + menu.addItem(this); + } + }); + var docEl = _docElement(menu.doc), + menuHeight = menu.div.height(); + if (e.clientY + menuHeight >= docEl.clientHeight - 100) { + menu.pos(menu.x, _removeUnit(menu.y) - menuHeight); + } + menu.div.css('visibility', 'visible'); + self.menu = menu; + } + }); +} +function _bindNewlineEvent() { + var self = this, doc = self.edit.doc, newlineTag = self.newlineTag; + if (_IE && newlineTag !== 'br') { + return; + } + if (_GECKO && _V < 3 && newlineTag !== 'p') { + return; + } + if (_OPERA && _V < 9) { + return; + } + var brSkipTagMap = _toMap('h1,h2,h3,h4,h5,h6,pre,li'), + pSkipTagMap = _toMap('p,h1,h2,h3,h4,h5,h6,pre,li,blockquote'); + function getAncestorTagName(range) { + var ancestor = K(range.commonAncestor()); + while (ancestor) { + if (ancestor.type == 1 && !ancestor.isStyle()) { + break; + } + ancestor = ancestor.parent(); + } + return ancestor.name; + } + K(doc).keydown(function(e) { + if (e.which != 13 || e.shiftKey || e.ctrlKey || e.altKey) { + return; + } + self.cmd.selection(); + var tagName = getAncestorTagName(self.cmd.range); + if (tagName == 'marquee' || tagName == 'select') { + return; + } + if (newlineTag === 'br' && !brSkipTagMap[tagName]) { + e.preventDefault(); + self.insertHtml('
                                                        ' + (_IE && _V < 9 ? '' : '\u200B')); + return; + } + if (!pSkipTagMap[tagName]) { + _nativeCommand(doc, 'formatblock', '

                                                        '); + } + }); + K(doc).keyup(function(e) { + if (e.which != 13 || e.shiftKey || e.ctrlKey || e.altKey) { + return; + } + if (newlineTag == 'br') { + return; + } + if (_GECKO) { + var root = self.cmd.commonAncestor('p'); + var a = self.cmd.commonAncestor('a'); + if (a && a.text() == '') { + a.remove(true); + self.cmd.range.selectNodeContents(root[0]).collapse(true); + self.cmd.select(); + } + return; + } + self.cmd.selection(); + var tagName = getAncestorTagName(self.cmd.range); + if (tagName == 'marquee' || tagName == 'select') { + return; + } + if (!pSkipTagMap[tagName]) { + _nativeCommand(doc, 'formatblock', '

                                                        '); + } + var div = self.cmd.commonAncestor('div'); + if (div) { + var p = K('

                                                        '), + child = div[0].firstChild; + while (child) { + var next = child.nextSibling; + p.append(child); + child = next; + } + div.before(p); + div.remove(); + self.cmd.range.selectNodeContents(p[0]); + self.cmd.select(); + } + }); +} +function _bindTabEvent() { + var self = this, doc = self.edit.doc; + K(doc).keydown(function(e) { + if (e.which == 9) { + e.preventDefault(); + if (self.afterTab) { + self.afterTab.call(self, e); + return; + } + var cmd = self.cmd, range = cmd.range; + range.shrink(); + if (range.collapsed && range.startContainer.nodeType == 1) { + range.insertNode(K('@ ', doc)[0]); + cmd.select(); + } + self.insertHtml('    '); + } + }); +} +function _bindFocusEvent() { + var self = this; + K(self.edit.textarea[0], self.edit.win).focus(function(e) { + if (self.afterFocus) { + self.afterFocus.call(self, e); + } + }).blur(function(e) { + if (self.afterBlur) { + self.afterBlur.call(self, e); + } + }); +} +function _removeBookmarkTag(html) { + return _trim(html.replace(/]*id="?__kindeditor_bookmark_\w+_\d+__"?[^>]*><\/span>/ig, '')); +} +function _removeTempTag(html) { + return html.replace(/]+class="?__kindeditor_paste__"?[^>]*>[\s\S]*?<\/div>/ig, ''); +} +function _addBookmarkToStack(stack, bookmark) { + if (stack.length === 0) { + stack.push(bookmark); + return; + } + var prev = stack[stack.length - 1]; + if (_removeBookmarkTag(bookmark.html) !== _removeBookmarkTag(prev.html)) { + stack.push(bookmark); + } +} +function _undoToRedo(fromStack, toStack) { + var self = this, edit = self.edit, + body = edit.doc.body, + range, bookmark; + if (fromStack.length === 0) { + return self; + } + if (edit.designMode) { + range = self.cmd.range; + bookmark = range.createBookmark(true); + bookmark.html = body.innerHTML; + } else { + bookmark = { + html : body.innerHTML + }; + } + _addBookmarkToStack(toStack, bookmark); + var prev = fromStack.pop(); + if (_removeBookmarkTag(bookmark.html) === _removeBookmarkTag(prev.html) && fromStack.length > 0) { + prev = fromStack.pop(); + } + if (edit.designMode) { + edit.html(prev.html); + if (prev.start) { + range.moveToBookmark(prev); + self.select(); + } + } else { + K(body).html(_removeBookmarkTag(prev.html)); + } + return self; +} +function KEditor(options) { + var self = this; + self.options = {}; + function setOption(key, val) { + if (KEditor.prototype[key] === undefined) { + self[key] = val; + } + self.options[key] = val; + } + _each(options, function(key, val) { + setOption(key, options[key]); + }); + _each(K.options, function(key, val) { + if (self[key] === undefined) { + setOption(key, val); + } + }); + var se = K(self.srcElement || '', + '
                                                        '].join(''), + dialog = self.createDialog({ + name : name, + width : 450, + title : self.lang(name), + body : html, + yesBtn : { + name : self.lang('yes'), + click : function(e) { + var type = K('.ke-code-type', dialog.div).val(), + code = textarea.val(), + cls = type === '' ? '' : ' lang-' + type, + html = '
                                                        \n' + K.escape(code) + '
                                                        '; + if (K.trim(code) === '') { + alert(lang.pleaseInput); + textarea[0].focus(); + return; + } + self.insertHtml(html).hideDialog().focus(); + } + } + }), + textarea = K('textarea', dialog.div); + textarea[0].focus(); + }); +}); diff --git a/src/demo/manager/src/main/webapp/assets/js/kindeditor-4.1.10/plugins/code/prettify.css b/src/demo/manager/src/main/webapp/assets/js/kindeditor-4.1.10/plugins/code/prettify.css new file mode 100644 index 00000000..b8287e5f --- /dev/null +++ b/src/demo/manager/src/main/webapp/assets/js/kindeditor-4.1.10/plugins/code/prettify.css @@ -0,0 +1,13 @@ +.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} + +pre.prettyprint { + border: 0; + border-left: 3px solid rgb(204, 204, 204); + margin-left: 2em; + padding: 0.5em; + font-size: 110%; + display: block; + font-family: "Consolas", "Monaco", "Bitstream Vera Sans Mono", "Courier New", Courier, monospace; + margin: 1em 0px; + white-space: pre; +} diff --git a/src/demo/manager/src/main/webapp/assets/js/kindeditor-4.1.10/plugins/code/prettify.js b/src/demo/manager/src/main/webapp/assets/js/kindeditor-4.1.10/plugins/code/prettify.js new file mode 100644 index 00000000..eef5ad7e --- /dev/null +++ b/src/demo/manager/src/main/webapp/assets/js/kindeditor-4.1.10/plugins/code/prettify.js @@ -0,0 +1,28 @@ +var q=null;window.PR_SHOULD_USE_CONTINUATION=!0; +(function(){function L(a){function m(a){var f=a.charCodeAt(0);if(f!==92)return f;var b=a.charAt(1);return(f=r[b])?f:"0"<=b&&b<="7"?parseInt(a.substring(1),8):b==="u"||b==="x"?parseInt(a.substring(2),16):a.charCodeAt(1)}function e(a){if(a<32)return(a<16?"\\x0":"\\x")+a.toString(16);a=String.fromCharCode(a);if(a==="\\"||a==="-"||a==="["||a==="]")a="\\"+a;return a}function h(a){for(var f=a.substring(1,a.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),a= +[],b=[],o=f[0]==="^",c=o?1:0,i=f.length;c122||(d<65||j>90||b.push([Math.max(65,j)|32,Math.min(d,90)|32]),d<97||j>122||b.push([Math.max(97,j)&-33,Math.min(d,122)&-33]))}}b.sort(function(a,f){return a[0]-f[0]||f[1]-a[1]});f=[];j=[NaN,NaN];for(c=0;ci[0]&&(i[1]+1>i[0]&&b.push("-"),b.push(e(i[1])));b.push("]");return b.join("")}function y(a){for(var f=a.source.match(/\[(?:[^\\\]]|\\[\S\s])*]|\\u[\dA-Fa-f]{4}|\\x[\dA-Fa-f]{2}|\\\d+|\\[^\dux]|\(\?[!:=]|[()^]|[^()[\\^]+/g),b=f.length,d=[],c=0,i=0;c=2&&a==="["?f[c]=h(j):a!=="\\"&&(f[c]=j.replace(/[A-Za-z]/g,function(a){a=a.charCodeAt(0);return"["+String.fromCharCode(a&-33,a|32)+"]"}));return f.join("")}for(var t=0,s=!1,l=!1,p=0,d=a.length;p=5&&"lang-"===b.substring(0,5))&&!(o&&typeof o[1]==="string"))c=!1,b="src";c||(r[f]=b)}i=d;d+=f.length;if(c){c=o[1];var j=f.indexOf(c),k=j+c.length;o[2]&&(k=f.length-o[2].length,j=k-c.length);b=b.substring(5);B(l+i,f.substring(0,j),e,p);B(l+i+j,c,C(b,c),p);B(l+i+k,f.substring(k),e,p)}else p.push(l+i,b)}a.e=p}var h={},y;(function(){for(var e=a.concat(m), +l=[],p={},d=0,g=e.length;d=0;)h[n.charAt(k)]=r;r=r[1];n=""+r;p.hasOwnProperty(n)||(l.push(r),p[n]=q)}l.push(/[\S\s]/);y=L(l)})();var t=m.length;return e}function u(a){var m=[],e=[];a.tripleQuotedStrings?m.push(["str",/^(?:'''(?:[^'\\]|\\[\S\s]|''?(?=[^']))*(?:'''|$)|"""(?:[^"\\]|\\[\S\s]|""?(?=[^"]))*(?:"""|$)|'(?:[^'\\]|\\[\S\s])*(?:'|$)|"(?:[^"\\]|\\[\S\s])*(?:"|$))/,q,"'\""]):a.multiLineStrings?m.push(["str",/^(?:'(?:[^'\\]|\\[\S\s])*(?:'|$)|"(?:[^"\\]|\\[\S\s])*(?:"|$)|`(?:[^\\`]|\\[\S\s])*(?:`|$))/, +q,"'\"`"]):m.push(["str",/^(?:'(?:[^\n\r'\\]|\\.)*(?:'|$)|"(?:[^\n\r"\\]|\\.)*(?:"|$))/,q,"\"'"]);a.verbatimStrings&&e.push(["str",/^@"(?:[^"]|"")*(?:"|$)/,q]);var h=a.hashComments;h&&(a.cStyleComments?(h>1?m.push(["com",/^#(?:##(?:[^#]|#(?!##))*(?:###|$)|.*)/,q,"#"]):m.push(["com",/^#(?:(?:define|elif|else|endif|error|ifdef|include|ifndef|line|pragma|undef|warning)\b|[^\n\r]*)/,q,"#"]),e.push(["str",/^<(?:(?:(?:\.\.\/)*|\/?)(?:[\w-]+(?:\/[\w-]+)+)?[\w-]+\.h|[a-z]\w*)>/,q])):m.push(["com",/^#[^\n\r]*/, +q,"#"]));a.cStyleComments&&(e.push(["com",/^\/\/[^\n\r]*/,q]),e.push(["com",/^\/\*[\S\s]*?(?:\*\/|$)/,q]));a.regexLiterals&&e.push(["lang-regex",/^(?:^^\.?|[!+-]|!=|!==|#|%|%=|&|&&|&&=|&=|\(|\*|\*=|\+=|,|-=|->|\/|\/=|:|::|;|<|<<|<<=|<=|=|==|===|>|>=|>>|>>=|>>>|>>>=|[?@[^]|\^=|\^\^|\^\^=|{|\||\|=|\|\||\|\|=|~|break|case|continue|delete|do|else|finally|instanceof|return|throw|try|typeof)\s*(\/(?=[^*/])(?:[^/[\\]|\\[\S\s]|\[(?:[^\\\]]|\\[\S\s])*(?:]|$))+\/)/]);(h=a.types)&&e.push(["typ",h]);a=(""+a.keywords).replace(/^ | $/g, +"");a.length&&e.push(["kwd",RegExp("^(?:"+a.replace(/[\s,]+/g,"|")+")\\b"),q]);m.push(["pln",/^\s+/,q," \r\n\t\xa0"]);e.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",/^.[^\s\w"-$'./@\\`]*/,q]);return x(m,e)}function D(a,m){function e(a){switch(a.nodeType){case 1:if(k.test(a.className))break;if("BR"===a.nodeName)h(a), +a.parentNode&&a.parentNode.removeChild(a);else for(a=a.firstChild;a;a=a.nextSibling)e(a);break;case 3:case 4:if(p){var b=a.nodeValue,d=b.match(t);if(d){var c=b.substring(0,d.index);a.nodeValue=c;(b=b.substring(d.index+d[0].length))&&a.parentNode.insertBefore(s.createTextNode(b),a.nextSibling);h(a);c||a.parentNode.removeChild(a)}}}}function h(a){function b(a,d){var e=d?a.cloneNode(!1):a,f=a.parentNode;if(f){var f=b(f,1),g=a.nextSibling;f.appendChild(e);for(var h=g;h;h=g)g=h.nextSibling,f.appendChild(h)}return e} +for(;!a.nextSibling;)if(a=a.parentNode,!a)return;for(var a=b(a.nextSibling,0),e;(e=a.parentNode)&&e.nodeType===1;)a=e;d.push(a)}var k=/(?:^|\s)nocode(?:\s|$)/,t=/\r\n?|\n/,s=a.ownerDocument,l;a.currentStyle?l=a.currentStyle.whiteSpace:window.getComputedStyle&&(l=s.defaultView.getComputedStyle(a,q).getPropertyValue("white-space"));var p=l&&"pre"===l.substring(0,3);for(l=s.createElement("LI");a.firstChild;)l.appendChild(a.firstChild);for(var d=[l],g=0;g=0;){var h=m[e];A.hasOwnProperty(h)?window.console&&console.warn("cannot override language handler %s",h):A[h]=a}}function C(a,m){if(!a||!A.hasOwnProperty(a))a=/^\s*=o&&(h+=2);e>=c&&(a+=2)}}catch(w){"console"in window&&console.log(w&&w.stack?w.stack:w)}}var v=["break,continue,do,else,for,if,return,while"],w=[[v,"auto,case,char,const,default,double,enum,extern,float,goto,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"],F=[w,"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"],G=[w,"abstract,boolean,byte,extends,final,finally,implements,import,instanceof,null,native,package,strictfp,super,synchronized,throws,transient"], +H=[G,"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"],w=[w,"debugger,eval,export,function,get,null,set,undefined,var,with,Infinity,NaN"],I=[v,"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=[v,"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"],v=[v,"case,done,elif,esac,eval,fi,function,in,local,set,then,until"],K=/^(DIR|FILE|vector|(de|priority_)?queue|list|stack|(const_)?iterator|(multi)?(set|map)|bitset|u?(int|float)\d*)/,N=/\S/,O=u({keywords:[F,H,w,"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"+ +I,J,v],hashComments:!0,cStyleComments:!0,multiLineStrings:!0,regexLiterals:!0}),A={};k(O,["default-code"]);k(x([],[["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"]);k(x([["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"]);k(x([],[["atv",/^[\S\s]+/]]),["uq.val"]);k(u({keywords:F,hashComments:!0,cStyleComments:!0,types:K}),["c","cc","cpp","cxx","cyc","m"]);k(u({keywords:"null,true,false"}),["json"]);k(u({keywords:H,hashComments:!0,cStyleComments:!0,verbatimStrings:!0,types:K}),["cs"]);k(u({keywords:G,cStyleComments:!0}),["java"]);k(u({keywords:v,hashComments:!0,multiLineStrings:!0}),["bsh","csh","sh"]);k(u({keywords:I,hashComments:!0,multiLineStrings:!0,tripleQuotedStrings:!0}), +["cv","py"]);k(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:!0}),["perl","pl","pm"]);k(u({keywords:J,hashComments:!0,multiLineStrings:!0,regexLiterals:!0}),["rb"]);k(u({keywords:w,cStyleComments:!0,regexLiterals:!0}),["js"]);k(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,true,try,unless,until,when,while,yes", +hashComments:3,cStyleComments:!0,multilineStrings:!0,tripleQuotedStrings:!0,regexLiterals:!0}),["coffee"]);k(x([],[["str",/^[\S\s]+/]]),["regex"]);window.prettyPrintOne=function(a,m,e){var h=document.createElement("PRE");h.innerHTML=a;e&&D(h,e);E({g:m,i:e,h:h});return h.innerHTML};window.prettyPrint=function(a){function m(){for(var e=window.PR_SHOULD_USE_CONTINUATION?l.now()+250:Infinity;p=0){var k=k.match(g),f,b;if(b= +!k){b=n;for(var o=void 0,c=b.firstChild;c;c=c.nextSibling)var i=c.nodeType,o=i===1?o?b:c:i===3?N.test(c.nodeValue)?b:o:o;b=(f=o===b?void 0:o)&&"CODE"===f.tagName}b&&(k=f.className.match(g));k&&(k=k[1]);b=!1;for(o=n.parentNode;o;o=o.parentNode)if((o.tagName==="pre"||o.tagName==="code"||o.tagName==="xmp")&&o.className&&o.className.indexOf("prettyprint")>=0){b=!0;break}b||((b=(b=n.className.match(/\blinenums\b(?::(\d+))?/))?b[1]&&b[1].length?+b[1]:!0:!1)&&D(n,b),d={g:k,h:n,i:b},E(d))}}p +* @site http://www.kindsoft.net/ +* @licence http://www.kindsoft.net/license.php +*******************************************************************************/ + +KindEditor.plugin('emoticons', function(K) { + var self = this, name = 'emoticons', + path = (self.emoticonsPath || self.pluginsPath + 'emoticons/images/'), + allowPreview = self.allowPreviewEmoticons === undefined ? true : self.allowPreviewEmoticons, + currentPageNum = 1; + self.clickToolbar(name, function() { + var rows = 5, cols = 9, total = 135, startNum = 0, + cells = rows * cols, pages = Math.ceil(total / cells), + colsHalf = Math.floor(cols / 2), + wrapperDiv = K('
                                                        '), + elements = [], + menu = self.createMenu({ + name : name, + beforeRemove : function() { + removeEvent(); + } + }); + menu.div.append(wrapperDiv); + var previewDiv, previewImg; + if (allowPreview) { + previewDiv = K('
                                                        ').css('right', 0); + previewImg = K(''); + wrapperDiv.append(previewDiv); + previewDiv.append(previewImg); + } + function bindCellEvent(cell, j, num) { + if (previewDiv) { + cell.mouseover(function() { + if (j > colsHalf) { + previewDiv.css('left', 0); + previewDiv.css('right', ''); + } else { + previewDiv.css('left', ''); + previewDiv.css('right', 0); + } + previewImg.attr('src', path + num + '.gif'); + K(this).addClass('ke-on'); + }); + } else { + cell.mouseover(function() { + K(this).addClass('ke-on'); + }); + } + cell.mouseout(function() { + K(this).removeClass('ke-on'); + }); + cell.click(function(e) { + self.insertHtml('').hideMenu().focus(); + e.stop(); + }); + } + function createEmoticonsTable(pageNum, parentDiv) { + var table = document.createElement('table'); + parentDiv.append(table); + if (previewDiv) { + K(table).mouseover(function() { + previewDiv.show('block'); + }); + K(table).mouseout(function() { + previewDiv.hide(); + }); + elements.push(K(table)); + } + table.className = 'ke-table'; + table.cellPadding = 0; + table.cellSpacing = 0; + table.border = 0; + var num = (pageNum - 1) * cells + startNum; + for (var i = 0; i < rows; i++) { + var row = table.insertRow(i); + for (var j = 0; j < cols; j++) { + var cell = K(row.insertCell(j)); + cell.addClass('ke-cell'); + bindCellEvent(cell, j, num); + var span = K('') + .css('background-position', '-' + (24 * num) + 'px 0px') + .css('background-image', 'url(' + path + 'static.gif)'); + cell.append(span); + elements.push(cell); + num++; + } + } + return table; + } + var table = createEmoticonsTable(currentPageNum, wrapperDiv); + function removeEvent() { + K.each(elements, function() { + this.unbind(); + }); + } + var pageDiv; + function bindPageEvent(el, pageNum) { + el.click(function(e) { + removeEvent(); + table.parentNode.removeChild(table); + pageDiv.remove(); + table = createEmoticonsTable(pageNum, wrapperDiv); + createPageTable(pageNum); + currentPageNum = pageNum; + e.stop(); + }); + } + function createPageTable(currentPageNum) { + pageDiv = K('
                                                        '); + wrapperDiv.append(pageDiv); + for (var pageNum = 1; pageNum <= pages; pageNum++) { + if (currentPageNum !== pageNum) { + var a = K('[' + pageNum + ']'); + bindPageEvent(a, pageNum); + pageDiv.append(a); + elements.push(a); + } else { + pageDiv.append(K('@[' + pageNum + ']')); + } + pageDiv.append(K('@ ')); + } + } + createPageTable(currentPageNum); + }); +}); diff --git a/src/demo/manager/src/main/webapp/assets/js/kindeditor-4.1.10/plugins/emoticons/images/0.gif b/src/demo/manager/src/main/webapp/assets/js/kindeditor-4.1.10/plugins/emoticons/images/0.gif new file mode 100644 index 0000000000000000000000000000000000000000..5be27cb0ecf9a21240e151962f59f94a2ce361ad GIT binary patch literal 1810 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 Shl-B7SjC>-k*5?OVgCTyq&`gm literal 0 HcmV?d00001 diff --git a/src/demo/manager/src/main/webapp/assets/js/kindeditor-4.1.10/plugins/emoticons/images/10.gif b/src/demo/manager/src/main/webapp/assets/js/kindeditor-4.1.10/plugins/emoticons/images/10.gif new file mode 100644 index 0000000000000000000000000000000000000000..905c15be3cee3fca3e8f0e48f0ffcfeb911def34 GIT binary patch literal 3716 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 R>#ZWQrxckyZhN#X{wJwfMcn`Z literal 0 HcmV?d00001 diff --git a/src/demo/manager/src/main/webapp/assets/js/kindeditor-4.1.10/plugins/emoticons/images/100.gif b/src/demo/manager/src/main/webapp/assets/js/kindeditor-4.1.10/plugins/emoticons/images/100.gif new file mode 100644 index 0000000000000000000000000000000000000000..92ad35d2bf72018f7b5bec0b607625ccd29f42bd GIT binary patch literal 1780 zcmZwHdsLEV9Ki7x@Ri%Ef+C?=+)TlH%2JOmLGhM`nyy@Bd9PLLxN6Hv?bSM5|*tMqKmb=B#dWi@kY95vI!5>wMuCL?bhJwAUu|9(He=lO+4hWYuYPyhm?-PwZ?cV+Riot%>eBnKWr{ zZ@h?nmyvOfOfvZRv^;JxLeN!L_OldZf&`XK{^eq0VQu^YWvoWL9iK32 z6Ulgd79QVQh%Tc*$4ie+7z}NB0S{j36h%d6E6$zIjbFbd8NxtMG7vQ>Zn`RuU$c1q zl@8C^yZdyyuKw|-Ee%G4p}FaiPOsmcQ|jnI6&?~d|K0icg}$x3`{s>my~!C6%54Qt{{ zk;kQumybFJZ`a&>Kk=V&>d=jNL1;pJ2ro9&+rtZmFfq}`%&<5>1h|>*rXf)P0Ikar z!D2~Xet}dbFH|UtiltGB5SO#TRuvDO^n^IvPm36y0K^n9nE*3N=?*f57Xcv?icvav zGAY8fLJG6OUm@^Zg{)smG#3aqDwa55%`=Ez=2$12t%ZS35H^s|9j$jLkm8j(gqd1?R`b9U&P*SbPhKN#DNKv;F-h%RO)B680#`5Ib?)Zq$)QEzS?0>3!5k}r+Zgk)kehSk!?JYFX0 zfL6*UT!5FG(Gl2nw8i?{7xt@4j^uqLC|jK1(gK3YX@bUS0#o&@!83Qcsd>%-+(eOf zaRhS)f-X@0I6F?AoQuL*G^dxeY|okLPvdH!6q;Zdg_MPcZL5>Sc~|j|vbGhm<(fN1 zCCmhjR|zsSTQPj za933h!G%Y%Fq$jnRKi{$VdK91XvzwUs07)bb0s)NSWzs!mX9MXquYaa!QDAip%iO= zkAfZyn=kX$IBU?Ma!Z`IrVbV52nX5@(=gbm#A`d+?J-mJr1|gN__01OQ(mBuP^rn{ z83S>0N#14z6^@6_PD#L2#O8b<%bQ_gt0(A- zi+xi{Z@I;-kQbM^NGblod4LT&cAuozE*(>XTF-ZU&P|OVT=2=q*adu3r?~ufImthO zRi|KB5f4t%iH?`lXkJ8Jd&AAkFS#F-zy(`jRw-}qw}%S~>@)LCO0zG;q$Kh7XCHJH z#Y2^IPLcrDJSh?TXSUdx>J86YHO9d92&&lL*&d#+#mWZ{eefEZ@}htW(SUEZFZ7cP zxLd2l+Ti|8OUMbcz-JFcN2rovB*uv}c(;522Jsj|ETvCfOI~i69LVatk2J$tJgJp^ zcR#YwgKabnq~*e=PX}cr*Rxq-s+ncZI3ibK`6y_0ha?Vp-Sn4MmtCNxc4KUj(G}cB z#Lh2NbiQRGu_PTOqw`peO%z7O?smFQr}g1jN4=WnBM;0TFW{?w|FBGWx2n1xs+db~ HW3bjH9`VF z0A@izbRrT&p+2kC-1qYbfO;Z%Yqy$YNa;4Avz_^)qoZIQq%_e3 zi_&+rVBAmH{yPlbkss#nvejpsPje_alSBfE#IcqFkV3f*0IRH4(XjePWGYCeptSW! zNF~+xJ;vam-(vt6FS2?rwPhI5Dnr?2 zLY6|I@ZvjHRaCsor6eRJ73AkH%&J>yh7Hx_^CHnu+U}W&S7RVJn!ZP!khsv(AAe5q zrZ+8?N{vdqT3gfDEc1H)a%!~U+M8+hWR%e)2o4O7bc$%5Q4XQUB3k9!o^1fsUDg3B zSDs0d4>cFWQ1LAD6(L6=6fwuU=#eGf11 z5C)@Dy3UMl+S>MLxV3Nwj}HtHjlBD$qEOP8;qLQ*g0v&0rKKKxeo1jDSnlv;>gKqs z8#rwD?q&arnlrA;^==vA_t^lC0gErUm>opI^z`)j#6(klReM{9qn*R+)*I?(8rZ|C zy}0-7SOt5d+rmuA_1xPpp7yrhJ_R=Dl>tCSMp)0ipPs2A;{f2q(SSz?t)|TVB9UnJ zGSQM`SpCb6k1zAU8qC~C^2Edh_+r(R3>Y758|Z7zw#Ck60!kdNSRcD>i*Hw13L1lJ zQk@`Ta8r4V;{fnx;I1=AF!QbgysXi5)j#oU_{V!?%B#xRmX^LSO-DOk+V_I?Q2gYl zPfh8;(?Vg^aaYjH+{MXd=G4!J4g{)-iokD&2I_e5e7w1APu@x^YmLPr259pzI2-^0 z*5Z9}NeBRd00B^&A}CZ=#~}2V?`|y2s6B($4q2O0=;w%cJq-);mJ`=FBVwD96=zc~ z!r_tfc`dDr*S>Goy-W1n7pG(9K5CbSL1~pkS0C(kKs54FtxaoEJvkLB*w%G4BsSjEUV13(s< zuB0OX^A$UlrlU$KAnsG&j})TgXqwz5q&l`zP(`u7`UbZ%jxAGe_`xe19h;kMyqsWY zY&A@Wa~1D@zbVi4Iv_Ma?L+M?im6WEIO>{F=BPuuOdvk8icgZew+l8Q;jpiS+9qEK zApjgO0I-XMN52xzO-R`igg$cJxkIj3^g%zSd+)nC9M#+7h`=e3UX3!m)aNM7=fo~C zhWk3fvpFh#wY#ri{x&rJ=<3Qpl3j`=^$Gpq5hc?T-H-I|1Y#G2%~V(p>}>SBCIsIt z#%D`tVRvr!-1e`P8R@L1etU<;UquN!5$o+GZCH*$=p|2W^%rNmA2!5Ivd!q#1Y3b0 z(Iv+D91^`ANugy^$b4T)5eCYWxQZ*?lP+&l3DFRHmv&DKU7DbeL7`|691Umr#duw@ zf7MRuF-_LGtTCRBB4(G8kbxe=I2c=mhemvekzmYsp%03o^*+(S{InQ2mkoc;GA^h5 z*ptDH-#$B2ZNbfKX@#k+V3Yi`u*xO&;E)ORo@yg3=jDNc9}k?*X--+ar|%q5LjWUzfoaRJ_zQP`Xym*r#6E8JmV{Lt;2-?Udn1-idjxslx z2G@8(&tK&~M7)&)Wmbg4k{%$9FB?}Xqd&gDmGl#FEVGIhNonF@dY3s?{x2mvHO+l$A?SsBs5>;vCR#7@7zA>;qD3idVn0=SEh*V4-C!YI;0r`b>BD^usnSD`^mq_S&q%4jH~rJ5BvJ32mS7BmwXg!v4+UA&eI84`%eJnAN&9S literal 0 HcmV?d00001 diff --git a/src/demo/manager/src/main/webapp/assets/js/kindeditor-4.1.10/plugins/emoticons/images/102.gif b/src/demo/manager/src/main/webapp/assets/js/kindeditor-4.1.10/plugins/emoticons/images/102.gif new file mode 100644 index 0000000000000000000000000000000000000000..748ded1ac4351e1ee26715098281d70099355c20 GIT binary patch literal 1446 zcmV;X1zGw>Nk%w1VHf}y0Qdg@784Y{mRB1ZAO9H{F)lQU7Zer}8zdDL2nPub3=<V;{P+IG!Mo^*2l;e# zc!Gp_dwOkibpOc#(<399B_(%xdqGA=8xO7mPKijCsw>b-D5A{ZS> zMpE_g=?@VU|KBsxbRqEn|AQbG(~wS@LKFJ`|5{mUz{SVI!pGs6T=Dn*mYbdC@&BW# ztNbD&ZY3o;HAU5B0BCM>b$x-`nfW}~w076EcHqH|=EaGrr?36_$+nYD%b{ZC)xpc9X3A|E-@=ERo}T}^I7LWF z#-Cm0%&&135bD^O?Ax2pt8Zv4E4v;Zmlzevoo$~S79tfGm>3pBMM(DW=*AlwrWh8Z z8yo-s|NsC0A^!_bMO0HmK~P09E-(WD0000X`2-0l0RI3i000007yuXm00{p8{|OvO zu%N+%2oow?$dKW(VxAHz+u_5200M0ap6a6s;T}wdM6t7W?UJ-|`o1~hL~WEVTLo1} zfklWwEGKo=xH3d5-X>7BW_dG6g~WpgU>=Y#kRVJoc#)zhoRLTpuTZieJxGuM0mEI+ zkX1;Qs=@~iV;p#0SScT=3I|?kdy;0$87OoX-UE>99GN`El!Pb&!bOoQ3L8wZbj;nO z0tM*tn3#$Y2SiVi$U?$qGWrAi7oTD;KEfCLt3;6DKY03rDV1t>3Lg45qtk<{ zSQ8{b&`eoIJSP>^n4ovB%rY|gol?CLAcPcU}vEa3KAkf zE*L+40(c7(7EXxZ#^4tq5v(YT!A4FL9e9%5sllO3l@xGj@j^oc7HHss{{#d8JFMlS A?*IS* literal 0 HcmV?d00001 diff --git a/src/demo/manager/src/main/webapp/assets/js/kindeditor-4.1.10/plugins/emoticons/images/103.gif b/src/demo/manager/src/main/webapp/assets/js/kindeditor-4.1.10/plugins/emoticons/images/103.gif new file mode 100644 index 0000000000000000000000000000000000000000..be9eaa05445ef7dbb0c709fbca695bbf06c47ec3 GIT binary patch literal 2166 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 literal 0 HcmV?d00001 diff --git a/src/demo/manager/src/main/webapp/assets/js/kindeditor-4.1.10/plugins/emoticons/images/105.gif b/src/demo/manager/src/main/webapp/assets/js/kindeditor-4.1.10/plugins/emoticons/images/105.gif new file mode 100644 index 0000000000000000000000000000000000000000..2f353cadc85e447155e636b50ab392a99b36f664 GIT binary patch literal 1277 zcmc(e`%hB`6vrbhS8{tfMJMok#=|m6!5{*R&2Whm)qWZzoY&W`<|2UIX`~$$vHV% zb!ysY5kv$*Qv`e>77GO7v$w;yvfFr00WOR4W`S4noQm_Rz-hqckz_3vl6YDIkBp}` z^UP+BPKGy)XVSQZEnw2w`K`QX8@zJPBgaApyO05IHatp}$p)*2H;0{HbS=kd!Q}GZ zJTN+*G4LJ(+_AhX7XQX`&UkK4!p&~NoD{P%uS15p6woQGI~DX+xaEvPj#&lc%)-11 zb2*sJ^*FSkb*wuN^9Ia_@J7VhMR3KluM^-%gd-WQE%a3Cf;}CMOt_THj1n$2oEo@v ztW%HKe9Rhow-M9pF(u?Cgs^YqY#Z?^#ycJZyTmgsfjtc~Tj$4Bc$1461Dr^st2BpAfz;4E^gEYcvMM z7?imCHeome!)iRu!HCw;rzcx=%#&T**a3JZK!$R?D_L?S+w&eC3So`MKsu;wP)ZCa zU$=>Ew_;#TL7yDfEc7esk>j-EG1`{mj(~3u;@g59t>L&Q9%%d!q!isU^k(v2H*N>< z_Y~;Po-i+)ZjquZ16>MqD$%8UX=xy9rR~+iTfbL!-)?OAaqlmmMAVw3WUXoNF-6m~ z)9JL?Y$Qqgj_-d}6oU1t!tL3LeATAJB!9ofFi}iEU^hV#@xEZbHz5QdnuFGATFf0) zg7DZC5pj>jhF|4>f2>I=J|Caha!FA&Wo4@^s{}RjT^Ur41*~-rb?BDL8fg z^w5$r%SDO(+~x2rgUX!hAChpsbp?4mx1yn`#!zL_rNQ z>c!omYlk1z-z-@KSy1@bF;QGZk46v{jh{Qcj`dR0p_9u?i=Erw4LkIN=bB$%ZPj0{ zURhCW*)BHqn6-6XJI|Lre8lS;ddLcEf1_dG(x*QS$;ul~ge81lB>tlE%B~C7AJpB@ z-wo{jx>|QT<;dRNkl3o^`fm>II~;oD%>A40^6~=**ONuYou++{ip6XCe@Lp_eTLL* zsr#s)GakQ7ft_rb{x3^#1_qV3B(O literal 0 HcmV?d00001 diff --git a/src/demo/manager/src/main/webapp/assets/js/kindeditor-4.1.10/plugins/emoticons/images/106.gif b/src/demo/manager/src/main/webapp/assets/js/kindeditor-4.1.10/plugins/emoticons/images/106.gif new file mode 100644 index 0000000000000000000000000000000000000000..51935349b48efeac0e0d50a2cc809817015d32b8 GIT binary patch literal 1041 zcmeH`&ubG=5XWCMtq)V>HED1w9`Zt4UCm|b!9Ep?k0ec3@W&P{E)rX|C-+qLVC){$ zWE&!^+LVA+7Sup)#s(x3(S=x>A|BRy$+2KB>&X;6Y`hpZ{u}z8VP=@`=`%2sQ;7*O z#{dR6BIx!6+~@+(D}S3ivMj^0m{P*?R1kPk6fDb>Wl2>PUDqm=vSn=wJSwWt&`_-` zC^GF@pjLzx9h!!_XDC5!6WBGdX}Adu)wNJrLy~}Wg%NqADV!>EjtO)HO9E3fcugUS zh%{9ys)TTu#f(lN#YhuKciU?7utmT&g&GUnJgN{Rv&fN2OBJ1((I&ulT>^?MY*A!V zrfZozi*;3%CCPCd+qO;9Gz>%2G(}NF7s&;4@hIgu4r9zPOz#%|^)Foj|MGeO5J98| z-TMgue}Ec1lB_=ekcENck$idX<5K_H{AzO0w{dUi^+;iGPfp|NB7%@%i;Na zVdTPCJ#?Ao)`zb>Nj5wq`v5r9xOpkLCy^a{Hm!hn=f2$^2&N`F1D*`5ve)l)7E5m$ d2Zp27yXjJPDbROiqyFjr+n@GUu-^+#{{e{R)%O4Z literal 0 HcmV?d00001 diff --git a/src/demo/manager/src/main/webapp/assets/js/kindeditor-4.1.10/plugins/emoticons/images/107.gif b/src/demo/manager/src/main/webapp/assets/js/kindeditor-4.1.10/plugins/emoticons/images/107.gif new file mode 100644 index 0000000000000000000000000000000000000000..70d38d3bb278969ef82a3c666c5e85192ad65948 GIT binary patch literal 1058 zcmeHGL2DCX5S=8ge2Gm+HA2v~Br&$#SR^YR8mfhEOWLLsLJp-Yf`&zjZVs&rQrUtr zE|S73wth+v-yue#1zCvNKtL8+k+fbG@v!uuu|y$)$R1a{#Kga$?+x>YIn8@8lhe`R zNYV>lFz2D!2DI1&Xt%%88fBUF`@I+ogoqU7r)i4gSe8u)0*|q*C`C=H>KfNR@QCJ%uI8tR=9_76~u#43;^SAS{cT3}q1& zi7Ybiasp`yP*@rZTr~m)13cw6I9e@|W}{|Apw=qJZ6y3$j4^q}lsJ<}G(|;dnu$bs zjx$ZO(P-3aHC@-W)}hs^s;Y{j5JE71_lb_)OT?)nNgc zhoQFh_D=w6!VAX|1tLE*2k*tTSX#iE0#g$#XLVhx)u?4Pm;U9FZzu+N^W>%Kh7h!n# zbZc{=T=u6kdIxy@l|2vUc~4bI2O^{68x`Mtm>XIuXmgv3^}(1YamkyU3LTCQkK|w& z2aZPXjUZ1Irf$ZQ8uZj*mg8cHPyG{buRj)YKXSiADPLdU{PUMrtL6RvgX2-DrPj+q zj^_pz;%~n6#XcXn(EUTdy$+v@9BYZG%Fv;)Lg&o-#JNZQ8<|n>^6FMo-uQW<^Ys1J z$2;iAHE;LwQh)HuS1#M#dn>eWX07n7I>|MYvrp!3555Sl9#7rF*G;fQH_?ckSA>bLY+-J9cdE-o0D5Ze6=}?b4-7=ggTiWy+MEo}QML zmg?&2;^N}$?ChwhsGy)AkP}D2Xb8|C1QdU=FfuThGw6WK2IUC`j{gk#95Nmo794Em z5Y~!WaiNu4j62ZAM1q;2K}g$ZTZN#rTaUPI*aC?_B{xTL28R@f1|?PoVU2(p3I`vx zun95*&0*Pau&HT=YQiD~#^9r@TnqtkSQ0m~bO|Z@%&4%u!otR&&9!gCiBgvEZk0W5 zx{QkxdRE3?uH)5OynttYyt)Ca!9&MzVZAfUVlN0E=-`#xH|vDggtl(s_(DB~1q|z4 zMfCkHwJ>^g4+o{~w8VZ@rIoUZ2$_?t8T6tRxBBsoUJJeYEN+aYF?8Pc^ZSR#r|0(@C@@$90Ddaf2mk;8 literal 0 HcmV?d00001 diff --git a/src/demo/manager/src/main/webapp/assets/js/kindeditor-4.1.10/plugins/emoticons/images/11.gif b/src/demo/manager/src/main/webapp/assets/js/kindeditor-4.1.10/plugins/emoticons/images/11.gif new file mode 100644 index 0000000000000000000000000000000000000000..b512dd5da196b15a6fa31115da13cb24730c14ef GIT binary patch literal 8033 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 JL>v}y{2v!$l}-Qv literal 0 HcmV?d00001 diff --git a/src/demo/manager/src/main/webapp/assets/js/kindeditor-4.1.10/plugins/emoticons/images/110.gif b/src/demo/manager/src/main/webapp/assets/js/kindeditor-4.1.10/plugins/emoticons/images/110.gif new file mode 100644 index 0000000000000000000000000000000000000000..e253abcff6a046ec78559c5403e2e617a268ecb7 GIT binary patch literal 1082 zcmZ?wbhEHblwgox_&%NCKL{`Y;eQ4O5CNuuOnyGLqf7Z$Pm(ydLG{9B?Mqwr7xw6! zS|xREy~_Hj3KuqMUEHj5WQA6YzsSk823NM5T-{-Mb%)uN?WU*Jn_Syzadn6Jy6O5i z_SnftaNOKue{-+H&ApDd_BkD1WqoU(^X&s}ODCAt^Z=2loF`KT_e zb6ni$x~4aLdPBIMvq7l0MXaZWy^VQoRq6Zp?{D3@b@1T9UAuP8ojZ5Jgb5WD6^V(7 zhK7bpN=iaPLQG6dpeP&#WQBm@PZmZ7hUpACAl;xm!NBpKL7!8`W5a@j%^bp7F()=G zJlxdCWZNRaF=>8B<3EKXCkzFY85l%Z9~D3EbLnVhd%2QXy-&t#vI1j<$ciPN&5ay_ zw>}^DoozHx%X3zxhTuHw3O_y`6^;p>X4!`(6mH>Yn5&=sYf6Zg!Q;7h`P&LCo74Oj zyC+>*v9fYpBWyBoJToj z+fsJlEpTLRw6lnFN#xoFT{lJZs$-grm4O zARvc9sSFTK34k*FU7?gEl`$kG^*j;;v{V|M&+Rz`v_102l_x%h}660hDdZ$3HL+B)=NYPLRdA({W0gLfX#{_$M?ZdF%ZGd*kd zb;aH_9y>GsacSaP^~~eFFIn&AfKmsW8-L}W$M@WCJu>(TrPn&E>Atx(k~ma#xkiEU zzTLISnyJ{x{MN&!iORaB*!I|?e9dg_(9Ws8R63eFadUq%wI12|Qr|JZ6#uaP?AB`g z^{uVl#q%@M@W&^mr!of*K4}?Q=zKa|i_fv%mCe!WtC7wdDRtv@x}~Ww7g_wSr|uo@ RS#9k1S66;+R#bq~e*hcZ8%O{E literal 0 HcmV?d00001 diff --git a/src/demo/manager/src/main/webapp/assets/js/kindeditor-4.1.10/plugins/emoticons/images/112.gif b/src/demo/manager/src/main/webapp/assets/js/kindeditor-4.1.10/plugins/emoticons/images/112.gif new file mode 100644 index 0000000000000000000000000000000000000000..c8ddce88a45b7fe4703a663ef2e6a7044c977601 GIT binary patch literal 1111 zcmeH`-%C?r9LC={*WQ%rnTl*8wNq+NMUJD3ExVZ0X{MB$7O{q;laNGd9SfnGnj?+v z!p#Fo?!q6On?leyhY}{Zh!K>dAYTmX5U8B1T6EE|F3z`k)gMt0JlD_XdEn{jY_~fG zOvr>3Kaypc5W@3(I2;y5F%Sr3H)w~$0SZba67aJYG6-Y@cPZFnfX9%=uxtl`NpPIi zY9)jNwN{p!;1vS|ku*yPtH=~ch-5^s*9$^K;(b}3W?5DeUFme1q-OC*yE zhon7u!y{!f>Q<8QT!v?11;e}t_8G-zQWQ*9c(TGt(epBEh0lz-y#>H190e?;3bSg+ zLwr`4w@c9g%-UfCL&!;@BZ`k!lLFzQ5b6XDtJ_J)A{e1KmleJ-5VC`aA<2M`k|aq{ zlx#K&Pz!({=l}XQ7NDW|Ud#iqX1P~Y4*>>8rq z&eeE6^i8nU+B(C`j<8me3YGQTsXKjtb9Yu(Tu~JpwzN(anWJsuQY?ba#omPj&+^kv zlVcn|9K3ANXtV{D!*BLSKdp~`EkAHR>dGrP`Mcm)_m!K@zpy%_MFwQd!H(x(_ns}f zQU-15*gIQK;ma_k8w)b4uC~UjXYNr4%!x_8zoCEcN3gwP+T7b)r30;$27cO56K39^bAfM%|N=FE%vj HM9qHy)!-g@ literal 0 HcmV?d00001 diff --git a/src/demo/manager/src/main/webapp/assets/js/kindeditor-4.1.10/plugins/emoticons/images/113.gif b/src/demo/manager/src/main/webapp/assets/js/kindeditor-4.1.10/plugins/emoticons/images/113.gif new file mode 100644 index 0000000000000000000000000000000000000000..272710453f6b8f6fc9b6c34192c52dfe5a538293 GIT binary patch literal 1015 zcmeHG%}W(g6u;&($4Ikh#E>s^3ei_mjXcP~5}kaegGoLJ>z{|M6L!&N6c!Nc*kr>ARidJMy8`_K{CrDEGEwY;$Ds^3wc| Mo!79ZK>|I008m#NO#lD@ literal 0 HcmV?d00001 diff --git a/src/demo/manager/src/main/webapp/assets/js/kindeditor-4.1.10/plugins/emoticons/images/114.gif b/src/demo/manager/src/main/webapp/assets/js/kindeditor-4.1.10/plugins/emoticons/images/114.gif new file mode 100644 index 0000000000000000000000000000000000000000..53918e2ae600a026da6e13bd2c26cb49c309f026 GIT binary patch literal 1003 zcmeHGO=}ZT6n(KGi4cgk#UMqK_z|ZRX;jc)l{jf*8dR{<8bTMEtaMyhW}^&9Y@ean zp@cAtF5aRp9;omjiw=k|P!YydVW?n(ZU(W1Yzk9X)zxw0-_Ud6+{@uE&OLCij^{3< z??y?K>`oDMLHq(CUHaSnky3+mQ=>k0D8~eaV(h96k^)&nNk_$i#-SRnVIrlXKz-3u z7^r~8T%B2x>Th;b4o$$Ypy`}wi0hCUCOCo=Q5|W90*7cLZXo6B0;&bqgT#>LC(L4ip>IfzgJ_Z9`aX4;34l1HBFILUEuvV6Jb&=B7ot z=>d#$E(BwYQrf-$KmOGO;=lI>2$>>7-2l2jL4qwJf&=;H^1HcU@8C$Z{9b+*Pt+nm zcVhDkeW!+B=GSLy`wz?azpvh0u7!>bTq~yISH?pJb3@gTI=Z$m94S7op3U|zCWr6* zy2s~c2Pdn!`OM1JYVV=b=fs;mwQw{!l39A)q~W8P@@Pul?72-(PJe06^gPgyq#Kuy ze=ge#=K12zdWt8W_nn#ky76MO)kyZ=T6y?1+lrjHUXMv@k3Q5tWg8jk)sL}y?9x)~ X+xFzxfy9j``I(PzO=U3OUr8Il3G`5#Y1gbvsMo+n>l-EvovdIJ=A7p zv~(`4t*L1jyz(J@its6ZT)bfd;stLZ!UPqt=r8CG=$!4G^KhPiznzSuNA{#-v4IUP zA*}iVf4BIpE`fmjfOSEJlJe5*8w1J_2SVU^)V<5irSyaW+`kU}l4n z4L@06V8I{@`dOf7f|dyyCJ;-y9j(tCb6@SF*?!~j;z>z>BA6R81j*V z^sOgpLrF3UNfAP-Sx2g;1b&T=|DKW2my{qX%gb)J+vRdOolb|tVYl0DHrw3X-0bY^%*@Qx)Rfg~ot&JUn3xzJAGcU6 zqobo{v)N=a8I8t~k&)ryVS~XiG&D3gI5;pc(BI#$*XwmUomQ*WXfy;tsMYG8o}TXR zZXCx|DwR^HR45dkot+&W9T2+eeAQWlHLe?31B(M3!&IXKjSef7ubpA$+=EQl=G>go$mswvyx)f?+=wkUy6R2 zTE|Jr_iV@{cWFf1SJZ zI9fP3syR5W2?(4M5I80vuvb7}tAM~-0fD6g0`Daxo=Zr~5fHd1A#qJY;+%v;4^WMS z#9j%Btr8O76&2qrDy{{pQB=IAsCZ3L@xP|#dri&fnws}CHLn5LhKA1#4gXtOUIQ{L zE$>-c{&#YE@8q-=DCp(&KPc#)m)HBCpld)fD(YHL(DSIM|HZ}stE=A^7e5CwdV2m( zneuN zv0=f%W)5Mkm=hZo9&YDI-|)fE;COetV;_&CV6tbsh^B=J&mm{eN%B%E4J@5W3k4)O zMHm(?Japugh>Dd`%EP1+{nDC#F$V-5rLoOrm5hjBWKM7AmRGXjNNhUNDJ-fZ(KGSt zG3G@Q3OXGd9yT#^i#hmMNGxU+RP`vCQX#;|6v{6y72uGy!JU`IHKRe`pkgbhh)~jp tRO`bWeY4f9bo?Zek9ACy5^;_ZTI|{*JK4Nj&Ue?AmzP)Yv#~H(0|4z%v4#Ku literal 0 HcmV?d00001 diff --git a/src/demo/manager/src/main/webapp/assets/js/kindeditor-4.1.10/plugins/emoticons/images/117.gif b/src/demo/manager/src/main/webapp/assets/js/kindeditor-4.1.10/plugins/emoticons/images/117.gif new file mode 100644 index 0000000000000000000000000000000000000000..14611b6ef950a82aaf12e5c183b7c4f0edc7c243 GIT binary patch literal 1041 zcmeHG-)qxg6#XozMy)z2N`$J5n`l(Tf`VZBg605AVFPax6ph8|Y`-wv$ znF6SJ$X9oI? zvl$9dppgR2Hb9F_0NUkmYmLZM8$PxTUQ<|A1hz&YNV^7uHOAKCrpmx9?HH_U^0p!P zSavMg!)oAYF4mep!YV)tFlAt5fhGY(05&8og;Yh-h8>PZnF?iVG={XJGYB%S5w~^L zGkMPveI(h2=pot1N?^Bc>J8UudZwe%P@*toyw>E|_>^{lLqZO(@TW_rcti zSgtJ1Bnsm0;h}Tm`E9ZD&w9gCD+IZfh)$k(tT literal 0 HcmV?d00001 diff --git a/src/demo/manager/src/main/webapp/assets/js/kindeditor-4.1.10/plugins/emoticons/images/118.gif b/src/demo/manager/src/main/webapp/assets/js/kindeditor-4.1.10/plugins/emoticons/images/118.gif new file mode 100644 index 0000000000000000000000000000000000000000..8c255004ceea385e7d193d36f9791885db5de933 GIT binary patch literal 1012 zcmZ?wbhEHblwgox`0mQ^9|RbH@IM0shyYVS=KJsei(95_J$CKh`~S(+J=If|w#->O zXX~-O*Pb7{_ddI2N^#Geo~2u-tlhiy+`V(pzh8U*zh}N#tHdgkms*D_@eQ0w#W z|C3v$WcSQzS-Q2lXUdeNYv-)py7kz(d+)zjFWuU*c5iZZOUs<4QN`8SEj`6OQ>v%T znX-24+GFRop1XGL`TOcQOOsoAvU{c!PXU^+wrB0ubMLC&xRL7o`}qai?a2q^w!VPs%%WzYfX0Obh=j*AT495Nmo794Em z5Y`gWa6IJHDqM6V{5OiPc9rvnaF8oqH*EI zfrTeIbu%(1d~9evJ>AxAONQek^$T()ITE50i`ctFyt_^AGMZ-bOKYwYd->py>+xmw zK_4^@9XQf1$z%2H#l+H9W)^t^mk+-#xbw?vMrC{u_};|PqR+&?rSN-e8<)Dl58EGy z+#X0dvIwnv=)}y*Ef6KPMX}`p_b!vFJqZny@*E}DJXa`edc?+|AXzs_B1maf?qWtp G25SJxwBaxS literal 0 HcmV?d00001 diff --git a/src/demo/manager/src/main/webapp/assets/js/kindeditor-4.1.10/plugins/emoticons/images/119.gif b/src/demo/manager/src/main/webapp/assets/js/kindeditor-4.1.10/plugins/emoticons/images/119.gif new file mode 100644 index 0000000000000000000000000000000000000000..65bb468b950af19bb195dbfdc7f13c07d1006ae1 GIT binary patch literal 1101 zcmeHG-%C?b96#C?n-;BY<`PSWE8P-9=s}5ME?u*h#fl1_%K1?2A>l>@mtwlx72z1B z7m>J7qptSQ0Shh^b-|_{mE?wdxb{#7LGaW=U5elm6sNoXjOg=)?=L>^<@15>@veAl z+vNZV04ohx3BV2pKq>t#cB?7~3Q(36UXUb&GlC2ijTc}z#c>i6WYm^{Ej=8M^fXj5 z_6A|7>KwFbYFnD;kPa~orZQohqg%X21WYrs3N=I4sbZL%q#$BZi=_lv!UR)GHyI~D zgPNSddL#r1lXQwGOB*a>Fo7_cSPEqV(qwFC)WSBOFy5vSOQwuR8q{>nWW-_;Wr$j; z$#_}O2!-}&GQ(oJWuFizV;x0BO)vQdas2;9_9WRhyW3_$KG_Mf{CZ`MEpJ>1eP$H&9*^no16| z##cPm09;x17M?r?&8Vn@VVH1&v^d{_XK#7819`P9v|Izrluo5sB~8ydEo!N z3Pdq?wma}~W`4<6*O^StfOUsIckuS66dO2J`E-ADsWrB+yf#=m@`?ds_V;oR@d5hHSZA5zbyI=cwL_O52v^M?Zm7j|Lb*6sB5IQeR3Uq z-w^%v*W7XErN`H|@40nh@kPs)Xhq&ppC}vc7#jT$?S0>Ws?%KvH-W^}u~+IyAPy$M z-ftZ%4KZ&bGJ7wy>HfNP!L!^v7W%U7Q1EE>`Nn*;qv1w$_}#NdbK-Aj<9gO{cc%v& F{sWN6MD+jw literal 0 HcmV?d00001 diff --git a/src/demo/manager/src/main/webapp/assets/js/kindeditor-4.1.10/plugins/emoticons/images/12.gif b/src/demo/manager/src/main/webapp/assets/js/kindeditor-4.1.10/plugins/emoticons/images/12.gif new file mode 100644 index 0000000000000000000000000000000000000000..547529cab6ec7ccc19719487e644b132b40f9d9c GIT binary patch literal 2247 zcmZ9Lc~sKr9>#ydF9icZL{rBF+_Ky=9V|x?H(Z)rI!&34W=__$XtnE zBme@_0kc((U?pApOdUuriXUtq7Yu`OI#@gn)@}mv;qI(&xM7fNhz5G?K0I^>ADpT+ zU^!P~#tV8JL8xGQtqk4+(k0NKKaocOq91^q51!+|T-ZBr74V8wpGW|MyF}fGz?e4} zb{^7M0VnCxIki>%* zM6eVm9dMP6_;z2?Dhx#fd1qd*Dj1;w(E%_U47#o5LoR@)yH<<=ZDwG|S=4_Aw3{tA z*>+zwd!McN=q{N2e&(STXf*|M;VZvuNZ;&SZMW%QsmWVRMIH3sZ1u$&6CiK{!!BUR zN7Q@vwS$VN)fIGDw*3PIstC(mT~VdUa;0uXoIa2w07+~<76R3p(~k_nr2mVP*uJjz zzV6pk&Dn>IA<$*Dwz?|(I5^n%c6wrLsJ{nvTY;%PVDfND2(<9pwL6`rrSZ)pD-HMXb zdA46Rs!6hz%cQ@b)g2z_U2L+Kir)>~CXbc}O>=`LhC7Ro;iiRyg4!!fZH{HJ7WJ20 zilZ%G=KM6p&*{IZxh8lh9WUXtU8*vIfAfJ?``u@257xvJB~9D=%T9jeo?U7>DB&OK zV4xP}=l5_b9c{#|pjmaNZd?d^Ayzp zCii@LLK@1|7Cf>P@oWTnCZbv!@wHPq>d<_BITs6yeIao{29VyHKH~^zk*a=#XUdpLUL1}ES zW~*K+@T$IGSI+hkQ1|gN9FB{R@=Le*hK`5O{ZyVKPtBJ)LB=qAREa`PbbLCX1nCmv z0ys)MC4yQ}`1`m{+EZkh7HZnKUOCyqH=ex`P2cb4UGqrk0Mu-lYl?;!rc|TSbL?=t z)O$3i8EKC4(F(hKMDd`e_Wj1Y_Tv3&j;ik)(PJf97_DSQyRNr?6!c1`3Qu(K}5n@2WxJTw5Be;psTSkjGPvVH{F{9Xlw0;>V~cC&Qk04(kx- z@p(1+V7pH0R))Gah4-6_zej8{^{PKD6-kEby?rg7H#Qq+X9V(gbd1pO=CdfWw*!MQ zqJqXRcfB_FFi1_=ngciVQEwKWQ`Pp$I&p*>&TR7)P{#rm9elJsc@|&zQ>!zv(SiV zyK$jxSBf9JG>207vjgeyY_7RHi+9sXy&_YCA9fFGdFm6MqE+K8uGW|k_J~2!pB^?r2vUQM8OwEE|B2+ zEPaJ&(R)eR>!Q&k@JvRGSx9LB8Dgd(QCI>!oaTkoF(dQ`us_p1n5hLmUjk861}B{F z>OQNBb;mK$DD!Z4T1O*O_=lRub@nXP*n>z|juM95AR%hx7LqrU?v=`>mmCUzGJ2Ur z!x*5;B!+GE8BW^&o9reCRsgRfUsfbbEIbpQ!9*#LIRPUXHk;u^b+XvEQ9lxI%@E=` z2+Ut7^#eyDukak@K@}_Csy*~&ogRhf`;Il#-nRciZPwkqgLD#cYeDasJLh(iQ8BY2 zZ7eTyeRZ*Y0i?@MkTE7btGG039HMI5Y$uyVO^YnspQ@Cfug5ZZAK?(Rm=?lXB`CxH zFY9{q=^L_&RTRyGaUB$yTyG8-6yn7Z5;IfV{^uUP(UDs6H|_+Mq@;{>zES?| ztPp~-T_in}wNw3Ew+UDDF^8%CsU;!MhW0YaOFp$5C1g+%PW;HykXX0W#Yx3n#)zpw z&EEypMRm3@sVa$!X8vNfV7w7$(0=C&Be|iDvBBo`*O1n;i~TyJ&FgGVEn96pXe@pC ziHr2Puym3NjsKW}_r~lW36)wjbZJ^(RY=h{jwIjo+rK97WuIe3T({RploHIDMwi!z uq?0^>q-i1!UeQ3YIDcF^4%d(H%LZKu{)V)bX6ANJ@{hP;`ltg5+Wj9mJt^G) literal 0 HcmV?d00001 diff --git a/src/demo/manager/src/main/webapp/assets/js/kindeditor-4.1.10/plugins/emoticons/images/120.gif b/src/demo/manager/src/main/webapp/assets/js/kindeditor-4.1.10/plugins/emoticons/images/120.gif new file mode 100644 index 0000000000000000000000000000000000000000..5ce77c05f0a63219bbc4623ae223c5b8cd6942c6 GIT binary patch literal 1008 zcmZ?wbhEHblwgox_%6lp9|RbH@IM0shyYVS=J)U4-@kwV{Q2{H_wHT0cJ17`bH|Py z+q-w~)~#FDu3fuy>C!oK=1iF~rKhK-rKP31y1KZyI6FHVWY#Dc4S}H(0*XIb7#SF( z7<52R2IUC`jric2;GNIT{NWxps5tn=l;MsLa5k;HZ`{ z;h+K=o2Wp=9|<8xCRQ=I1dR$KM%I4aShW=w4jlApQfD;jIAE00v{*nvXrTT#wK%Ho4MA;I`y4g@(*OH)fU zROT%0uBZnftCad@eT>*FgOTI4RV;HDrf4vg@Q~Mh$>(;VpGM| z!P1Hv&eV$AAVo=21w-Mf7G?@i8HmgiMKBd$G8htIi8nO?$zdviF76-_uO$T{0v0(+ zDK5H1NZ0jJUjOm0BoN#z^8k#%q0&L6p8&1^AGtt$`tjSVT+P8i|M$TM*L~i*!p7nH z`IKb#f6ewLYHH()7hbi;K1@xWed14b%%!*Q_02@XFB;$94xAXb?yO{E*(SbgbS%4? zt_rjbEJgP;lxLfE@kcY!mARWw+lH5xfBss&&s9e+X4VEfs-86u*Rgef)?2wd(0Hz{ zT-G19K03cP<~h05>yHnzOa6CXs`qWQa$!%ZH_$%5m`P3h(iOFD%-H(3bnpIqeFK+$ zeb;t|j*b6Vm~0rzwA7zooB!0gaI3CowE6dz(5Z^o-7hOQC)FFVmj36_NY84z`arFB aVrF<-{7mSxZ{mu0WY*0uH-%oG&y8EHY_;U%pt60 z@+1G@p?U#Utpba}2hD6kDt}hL*s!pP1DNuEs3$f$v1+hR5|IpYYHs5b445JC>EMYT z1I@H44M9#!z1*33e>x{FXX>$(OiP)t@gVbbmDy^lKh`q__wXy&l)e;JKg8;@JME9; z)NGgLa8;WfCqf%8gfOk?B!X=!Oda^}pLX=!I>&isGo%;U$8&zu1=fdW7opiv-4jDpb+phE~K{$ycf zU@&CR0oeu06AT=G7?L?;JT@#i*vuiUrSfC_!$Zxy|9b-rlpZ-Z{ui2Y<3yoLQ$4@& zKjV!Fjhz#vwe|jNZ*b}8&=K$Xvmzj=gGH{;%w^$3H79}p1_=?0Q(kZia87FSInl^^ zQB+KW=dZfb!G@(A|JVMw&UDzG!EtX~&%uM*fua%t0!L>F9J{b6-*C#0=}8N@`6cH3 zOE$dH%pu6_Uy|`+kyERn=RpSYUC7{l9(b8==ga* z8?Ro4S!2RyF8&;Dw$zX12RSFnH?`fEaPz^XdIhs-5{XF+ZbBOstr9LYx^(fY7^s4q>gB69ozFd~yaAFD^__XycJE4q9{L zp>rF*oK3|Ufkg{BdSr|$R(vQ-a^{tf?DL5%N@Sm*Vfp8G!$bLwHW8P$FB2S<+Gg=6 zb}=X}TFJpCJvoVmae-EYfP~hhiVDNU?X!d=f*3w*&}k8nGV}3}SmeyXt+*y^uR&;H z6OW8W!UX9?=AdmtHVhdb7G!nIkMcB$c+;@)nt-y1#f&=%pE}xLdGaGq~K@=4-w2{e328CI)K&RF;t` literal 0 HcmV?d00001 diff --git a/src/demo/manager/src/main/webapp/assets/js/kindeditor-4.1.10/plugins/emoticons/images/125.gif b/src/demo/manager/src/main/webapp/assets/js/kindeditor-4.1.10/plugins/emoticons/images/125.gif new file mode 100644 index 0000000000000000000000000000000000000000..e2c3c11c92c14fa76e5ae842af7e4b51a4cdec70 GIT binary patch literal 1013 zcmZ?wbhEHblwgox_-?@P9|RbH@IM0shyYVS=JG{Ljg8aN(q=Lk&s0`XV=zu*jNXzq z^9*Cd7sc8m3^V_OC1=i@nRe#P%>Vz-oJnIiGc)b~nVCMGZma4-&!idu**xv{p*3fW z8TRhlDayxlvNB~R1A{RG!x^Bd#>W3aTGP(VoC(wl1YjOe*cjxRQ7{?;^a=sRpDc_F z3mEFS`IQE>2Bq8^hi0txX4jJ!e+yd4~Z>D8zrq6 zUR+2#+R7(scPL>)QfsR?kHDUSjSnApbBn3{S-fE(>zRHYyFbnsoEo`Bb<}E7KAu0+ zC8(np6Vd3T=_0BXmG!`Y=|~5+mQIw!$AwQ>g;net{z@dZv~3b+@Y%Ym$c0-})XyM5 zGoa-@566tI2d~Xp8xAw5@%+;`)XL4E*Y@kF_rrKj!T(~b|4cvN*euSg^r7{mzY{a3 ckV40^-HI*U?A-rOKC`ag^7b}6GZTX~02q&@4FCWD literal 0 HcmV?d00001 diff --git a/src/demo/manager/src/main/webapp/assets/js/kindeditor-4.1.10/plugins/emoticons/images/126.gif b/src/demo/manager/src/main/webapp/assets/js/kindeditor-4.1.10/plugins/emoticons/images/126.gif new file mode 100644 index 0000000000000000000000000000000000000000..24105c988898cc03bf21c4ef26df1f7fb6f34824 GIT binary patch literal 1030 zcmZ?wbhEHblwgox_-@GX9|RbH@IM0shyYVS=4(BZ{|v@IHlAO;XlYv7%rj^HE32rT z`TyV8m|^D3wEt%q&dg-^x1C{T8pHpY3}@09(u^5=Jl$5+h5k=t@KWQ=4RrmVX1sUT zPEkIdUmaCv7#LA%Ky& zr9)3hX@bT=&DLd%T7Q%q6%^T7nB81*v=o&(g*ieLdS)y-(!k=aTqV(Pz{RauQi+Md zAn8cM?sE4fC6SvKxG-pMT2=9}>0tLxhNwNNKf)V37!?J)@BKWV@U*@-P{F~V^4-Z( z?CxdL{wS<;5|VT~e>6erAuE@tRnN7AhfdkeqB<}31t=bBVincPSy8)t(Z|P(j11NQ D*;J>x literal 0 HcmV?d00001 diff --git a/src/demo/manager/src/main/webapp/assets/js/kindeditor-4.1.10/plugins/emoticons/images/127.gif b/src/demo/manager/src/main/webapp/assets/js/kindeditor-4.1.10/plugins/emoticons/images/127.gif new file mode 100644 index 0000000000000000000000000000000000000000..0cead364a05f031b024181e7c778f8b206763312 GIT binary patch literal 956 zcmZ?wbhEHblwgox_^!n89|RbH@IM0shyYVS=1d0TGzQ}{X*16N@yxU{XJ-EYf9C(0 zwEsIpugnjfnPz-uX4?NVGriP!|IbYOvw2!>pzH5LYxeHic?PK07^pEV&DeNmTH2YJ zAONys6pV(z;0po8pDc_F3`z_-Ag6)y1OvxR23HOlj|~eBHggDT$*frL(5aQfOrc`N z1!g9G5y7Y zXcctgg91|vhnSL%z^et0%xt`3IvlemHZcqEnlvmhNOU^RAHLCShrz>?V_Yhc>q=&Z m=|*qWaZdR%!9n$oK#^vhhrnf(dwWFwbFq2uC^*=_U=0BHNPF`D literal 0 HcmV?d00001 diff --git a/src/demo/manager/src/main/webapp/assets/js/kindeditor-4.1.10/plugins/emoticons/images/128.gif b/src/demo/manager/src/main/webapp/assets/js/kindeditor-4.1.10/plugins/emoticons/images/128.gif new file mode 100644 index 0000000000000000000000000000000000000000..3185861818bab566315b08e4484ebe313322d779 GIT binary patch literal 1022 zcmZ?wbhEHblwgox_-?`Q9|RbH@IM0shyYVS=JG{L(~Q%M8PaB^onc@AqL~Z~X$%a; zuI^Wijc2B%otZiFe_GniGiUxY7z5E6<1`>S(>U!+;kw_`w%ua@>H=z?`QI35z|1o< z&-`a>_@Y>Qgkk1?u#x|bff~>JPy7Er?aZ09nLzpfGl4dpnfd?!86Qu#+(6g=XU;r+ z{P+w|2q=*TR0wj}C>RX^>V|;gPZmZ71`7rqkg=dV!N75wp^!tyW5a@j%^bp7F()=W zbP_Ym*|R`#gB!23o{Uw+gNDOgeB5Ft1s#tWn*~+9mPiyPrZ}^kF(f!JHXQC0;x#fk zGokTt+XRQ`eP;@im{}Q&6FfQ=OipAIV{kbm@bTf{CTTe-GX}$l&8?Ci=_&;~4Val2 zWbJ%ds~2Y8~0`r&V*oVP;YD0ZwC$41r3PW^Mry6TcIO8hIEt=-x_rbD@=|!%X4W2FFd?-{0p0 HT4N0W2Y{>5 literal 0 HcmV?d00001 diff --git a/src/demo/manager/src/main/webapp/assets/js/kindeditor-4.1.10/plugins/emoticons/images/129.gif b/src/demo/manager/src/main/webapp/assets/js/kindeditor-4.1.10/plugins/emoticons/images/129.gif new file mode 100644 index 0000000000000000000000000000000000000000..ffd7c6ba331d56153f3366f181bd8ac78c845e98 GIT binary patch literal 972 zcmZ?wbhEHblwgox_%6lp9|RbH@IM0shyYVSCWG;RolVg}L*t?%3j>3SUB!h1O|6~W!VVua z4lZWpWbkY9;Yd_=n<5re<+8yjiFLACYE(snqLXivkhaT$hKngJQv}uisLXiKcwx4= zvP(fiV$-Eo?s;B!XNfd1xABX4gfJ|8eW^*3&q(05fb*@^e8F9^6^;*X?<(ehbajFl j^Syo5{J%sk$_pOu;$+W0;IQLkQpW^k?|FL+6d0@l-`aWZ literal 0 HcmV?d00001 diff --git a/src/demo/manager/src/main/webapp/assets/js/kindeditor-4.1.10/plugins/emoticons/images/13.gif b/src/demo/manager/src/main/webapp/assets/js/kindeditor-4.1.10/plugins/emoticons/images/13.gif new file mode 100644 index 0000000000000000000000000000000000000000..34753001ef80a38a08e8a75f23482f528313fd1b GIT binary patch literal 1736 zcmZ{jYgp3v0)YR-MNm`}RCJbMYG>ZXyfmGGC~8?#Ys0?8*@jT*?#g56@UTePd(20{{O z#Z`W}2Y^BFIt-{;@2m8|PKsvO9mo^Fo6|tk4Hju&=2Oi}zv2kEywhd(Dfa!sz|QJ; zHXWv!^4T3d4947~eP2jlgpN1lfi5eB(BXBZY2H!zbiSVWCp7Ph7t;fZIslCcJ0^yD zf$HbJg0rA=@5FE)SPKQ~$0ZXZg`qI88Vt1BnaR;t(&gO`AM!)@Xw|!5HDqZ{0yxG% znF`j9gXiY&8_cRAA@v6(5ZkIYmz&drz_4>msy*0FSZs{=&}rB8DB%tJn5qdcd%FR& z>Q_q=jq)|;I(D@L*HfLd@cb9)?BMRgAMFf+Li80Fu&;{301keo(r&4OFgHEk%`g?; zw3vB7lybe*&A8?H8EGW}{0BcfH8x*j12l~_v3S+y%B!`NRz_e;n&&Ha!~%;1RJmZ- zX=-$UlY6ou*`=C~``y@qP9^rxeT@472r7OyVO0YwVf zxw7=HeXBKA{aFSZLnmbAdQ%nt9XFhJ1TK%Gabtpix2BS1^;V$8u&wYydn#7`ZtKmn zNHF9iZ9XV%v6~#}2SO{rH3wolphyF=e#+L5z}DG~ZXeKVClydOL_SKkg+_7&%=l>< z^fV1vpzQ`4wRXx|{urwj*=l?2ly6s5Z<*uC~@ zX;?AyBqtK~O!sJvN>B4266^lj8fBMre8f2mQf*?a1D~l>_nb?r;Txr01 z5}r8)N96V!&3N9PF3Rj;@oISI0-2Y)Yeym6;~Y=3YjhKJS;!2MCQ6cL;9y}UNoM39 z$@lur%^5f82B{c#I)c)=4L)t%oa09QEwM9pz7F+S)|yOu8Igss{@+AXZIq?{P8~(HtPAx`6D%({k))w5yqYLlz}|G_KIJA z&kbD2Q1tI9%B2K(kk7jbD5dRXx#koK>`__`l*qK`3x)UWLoi`Mgx`sU>5l$~4rch# z)5C*&9aT=Ffq`@AJm26rI!qsa9m}8@ zV^oVGa!hksmZiC?Yv+MF^ts-EuXA}iq;CT<#f0(sXdO?ICKh8Bg3X|L9qDzepu%AP zO^W=#Nx|PI>l4da{yAtJ@||y%PC0+Uji17ei|K-l3yhffEPgsezdGf@lDu%}H#n)l zwWr%g^fSu7e(ham{jF;FO8jUv-2hgW?BCi`esv|y+-@gIgG zpU3GY@^ECzkNX2e;n|Yx&=M{)nVu6}W)zG|6lK6ZgM5iek?Xh$Sn*!h02A{n+dxA^ zw>3^i5$}D3?#9WX(!MU!b9Yd6XQY`DV>B#I(};r@PDy@(@U5$xeYZ1iP~CvyPkYw(=_<`$KeYvp9N1K_x-T& z?dR84XG=!DqaLN?TLxkiI)Q!ZW>`k)`BGCwO9o4AN3;``vgbN0(e6xnMy_qF7ugg1a6Ln4K`WNFu>9# zgmhwKo{xZU3}!)Nt_9uuy={yNUGg3Abcds&LKxiLcQJ3jFin2j?3|1mY%w%X&i3%0 b%wXQ%bA}&iOq(CqqD1myE4p=^k{ literal 0 HcmV?d00001 diff --git a/src/demo/manager/src/main/webapp/assets/js/kindeditor-4.1.10/plugins/emoticons/images/130.gif b/src/demo/manager/src/main/webapp/assets/js/kindeditor-4.1.10/plugins/emoticons/images/130.gif new file mode 100644 index 0000000000000000000000000000000000000000..d828e3da103099151b00c5e700302d8d9c69f6a7 GIT binary patch literal 980 zcmZ?wbhEHblwgox_%6@z9|RbH@IM0shyYU{CWG;RhBP2yoc2F$CXo5RaNTdl=q)qP z{AXsQAA^h@1*0J_ zh(kc}CkrD3gFJ%{$c>;p!N9SR!Jb3LW5a@j%^bp7F()=GJlw=7C*&gVk(sGcR6gy+ zf`!RV-F(6-4>l}(!p18ho24;R(bgC=GMei@e~5)T<0`WYlLN^S_McuW+QbYu9?fAIJ;4e50yD-}{sOym(}2-uKt z&~pyA?z=UWlO0dB^1A%%X>fSv-YF!@;Hq&&#e>~Yc-@v?fmvazVhod}aw)C|T_4x4 e)^cFM+UV`lp-vqJ+x23*Dn7rud)h#O!5RR?AYTyx literal 0 HcmV?d00001 diff --git a/src/demo/manager/src/main/webapp/assets/js/kindeditor-4.1.10/plugins/emoticons/images/132.gif b/src/demo/manager/src/main/webapp/assets/js/kindeditor-4.1.10/plugins/emoticons/images/132.gif new file mode 100644 index 0000000000000000000000000000000000000000..1b272a690b6740b94956037d021a9f0aa7136b64 GIT binary patch literal 936 zcmZ?wbhEHblwgox_%6=y9|RbH@IM0shyYVSrm}WOS{j3~F;L9-|NpfA*FFCq2>rh^ zGz};+)7Zz;%}b5<|I9Q|J|1I`K9IIiFd70wE(8>RvM@3*h%@MbTn@?;3>>Wt`W!MI z8x|aF<`CA3Ik92k;dbu-jwV0)n~rocYnx5rSg7p6Eh3{b!Qo+}YdeRNS;m6}2R+-w z6aq31EKqA^<5w`4^78>>Gpl|6tDF@HX$-TSq2ftn+(f` j_xE!N%K0cn1u;6V=hF@_=r&Bgy}jV^skzYx3Jlf&(}Y^Q literal 0 HcmV?d00001 diff --git a/src/demo/manager/src/main/webapp/assets/js/kindeditor-4.1.10/plugins/emoticons/images/133.gif b/src/demo/manager/src/main/webapp/assets/js/kindeditor-4.1.10/plugins/emoticons/images/133.gif new file mode 100644 index 0000000000000000000000000000000000000000..0d0e864264353800e362f1e7b160d9be9980a7b3 GIT binary patch literal 1012 zcmZ?wbhEHblwgox_^!SAHXQs{kf9Aik zids^TV45*d)_7)`@&7Y3eLUU%r!jb`@y;}6$PIKoW6U7R$MfHqA&r5-n1Lb97^n;c zjE#*!){KJD5Ex`3p!k!8k%2*(K?me6P@Z7mxX9qnA>*-O!NFz@VXc@G8xjxmO3OJ+ zc@gk{jZ@IX#FI38l=m9jD7vHZlyI$gk|qC&yxAv2r2Rmg$^lha$- zIVEabb|f|ia5301cyJ{&H?s)}ol4oTIsJTxoC=Sr#UiFQywg24xA!aQMV%C zt7AK#*crJqw-gVvua0MpyRhNvgVuT`*N}!CUmIJv_{zV@eq6XPK|n;U;RM5?MIB3R tr!$>+Ai&~scD8Fs-i*d34pt5kod%nQn=>y6YqYHJ*uCv-8zUowH30rSh)Dnd literal 0 HcmV?d00001 diff --git a/src/demo/manager/src/main/webapp/assets/js/kindeditor-4.1.10/plugins/emoticons/images/134.gif b/src/demo/manager/src/main/webapp/assets/js/kindeditor-4.1.10/plugins/emoticons/images/134.gif new file mode 100644 index 0000000000000000000000000000000000000000..cf48356e334edfac6890439290f2b5d8f109b594 GIT binary patch literal 968 zcmZ?wbhEHblwgox_%6lp9|RbH@IM0shyYVSrg7Stw3+{vRn&})8IpnoXQnZv88iGp zGt*0rccwAJpUu;916@V=c#IhsW*Qqme*E~%nKQ=5#vrps!Dt8!oe)s`$->CMAjO~q zaxy4SFmNnoFy)Z(*s$PWGl#HN%!v((hdBk5ok~_5WOU&aQt>PBP;6>p=Qr|7`LUkq z#AHchw}cHB4mS0xCtGz~n8bKyhJxmX5R1=@4fPC7Otl~Soldiv7yirs@u`t{Ccl)4 z3zyNMGt2pPELtX*JPGRhZ_s7x75Jcuhf86C?rg?}CU!1{lm#;u=0$TBy*0|IUbz15 dKJh1dIo*mH4J;g7>~o{HZG3#3otcTj8USjkX+Qt~ literal 0 HcmV?d00001 diff --git a/src/demo/manager/src/main/webapp/assets/js/kindeditor-4.1.10/plugins/emoticons/images/14.gif b/src/demo/manager/src/main/webapp/assets/js/kindeditor-4.1.10/plugins/emoticons/images/14.gif new file mode 100644 index 0000000000000000000000000000000000000000..6a788f8be067976a32bf37c13482a2d41d367ba6 GIT binary patch literal 4006 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 literal 0 HcmV?d00001 diff --git a/src/demo/manager/src/main/webapp/assets/js/kindeditor-4.1.10/plugins/emoticons/images/15.gif b/src/demo/manager/src/main/webapp/assets/js/kindeditor-4.1.10/plugins/emoticons/images/15.gif new file mode 100644 index 0000000000000000000000000000000000000000..debab8ed082d3e38ac6a824193311c20f9584a45 GIT binary patch literal 1562 zcmYL|YgCd47{^}`^hM1O2~ADG3y~M{R%x|F4R2Jk?3}D@YFo9nE?RDDCp+O~d5M~~ z*=1`>o3$)gP@RM>3pMdt0+A-EsNuCFED|p-JhQ&+`Sg7FpWm0?{~sG46BeHCj5s4k zK)`tT<>hGjun!tMs&y_KfnRo8hV*+@nCxXVAS8#x}xG9JKoiGhC)+LD2gd7_-16 z(Vn$|=Rq^|3^3gSbvSf{!gN7#f-Q_Cg46}fjWAmVH6)Obp=Q3a*lD8L0mgTlG|{*A zxJ*CxG0OZVA26^xB+#sxyl|f0Ji4o6XNchkNC- zO@2KU9#8qG=#bygMbemfqq0H#zE?QfREiDWe0Yqdt@gRPo%rwvO4H3VW3RfKO4i)m zMH+m#c3jNuFQ>m3ISpQ6H0Dyx?Muxj?1kvt>D!LVGa-|*Erxd!Q!T0W+4Fn5o@>+{ z#-?pu=jbKt5YVtk1_!XwT{pHO4S(+YP_v}D>iCoDJmZ5ECJd|I=L2SJ^6^q_U(byU z|C%GgFwE764}dmC*Bk*8X~ImpuEtx}d9Jm9E+ce`{zdDj3DUTPKa)C!t&ZY)X_IZ{tdMv^?(gMN*LEK zU0vrclF0g_ToYE)_H8}P#h+rurigj6b)5vt_rY|3DmTA?$@L{w3AHGh=#+dpGmDfX zVm=8L5IYe*f3HTS;xnogw{o+|J>kKT#Su%CJA~+PnL3oo#I5sWjvFS16x9!mk33ZcLSRF3$I_W!+UH0L8z(zzY5c01biQld~I2Jc@sOuPj#3c zl}oS+c1|v#Dc9q?nCW&uJw3<@l%BHhyA~>PoYCxc)z^67LZX4t$?$dD_cb z70F>qc1<=-7sbag^=SPMG!2`Gep%>nc6ogU-> literal 0 HcmV?d00001 diff --git a/src/demo/manager/src/main/webapp/assets/js/kindeditor-4.1.10/plugins/emoticons/images/16.gif b/src/demo/manager/src/main/webapp/assets/js/kindeditor-4.1.10/plugins/emoticons/images/16.gif new file mode 100644 index 0000000000000000000000000000000000000000..ed5d29f428799b04d07715ccec87fd504d5325b8 GIT binary patch literal 1413 zcmV;01$z2NNk%w1VHf}y0Qdg@)uKApq*VU24*&f2|J*wG#xVc66aUvW|MhL<#A^TW zUD?#n|J5QMjYNWGVJ>gVL+-`w2S)Bpef z`}+Fb*wl_?LI2`H|H~%-=uH3VP5(JBq9vBgh~AH*2{?+r(h7wiz4pAQhRSB&VUI2`t1z?Wz6?(Fu)SzcC=TGS6;@zAd{oh2%sfO;kHtok#^|>?j zrwj0~AI^jhy?-wM_H<@oCbMrE*s*Km;N9lp-~ayn{NF+U>QRk%9slc5^U*fhq(a=K zM5<#G(v~x~f_8G0;5OaKv7&)tw=$LMI%-PY9U$(r$DePSFBi3LWlqZRmS`v zoTjP3xFlK>WKp0ciI5BobSXP_&`_HTiB2F8@!=hUEJx0{`{5bYT(E$HTDS zG2Da=OeM(h5-DD8aVU|-pOhtr$?S15(9S%|PaOMw0@~jk1HX(69EPp0;|CaQss4cj z%PSxQIpL$G!&whYEdq4_fvOWPAJ$x*5wHfhKy5Mz2sx4kL5OuCo*uRlLI8;b2+5eq z78pq#gA78h<=olxCj%-Pu;h>xWuTlsp-@1;6iQTK#T7~f;Zi9T7;wWOUBp6A81+zb z06r9qphgiz1c3w<6+l1(DVXFU*g&7e@rVSFynsYMMNATe1R59s3?O+J!Nfsm%)$-~ zBy12w5NAMu#RS__0z?xDmGR6nrqp1-43bQ+#TSk&AdN+06w}QqgYdydA(sGw3ndl_ z?aW2REs12d6;^kND-;_ T1`??H&;{Fp8wOrI7!UwEF@MpF literal 0 HcmV?d00001 diff --git a/src/demo/manager/src/main/webapp/assets/js/kindeditor-4.1.10/plugins/emoticons/images/17.gif b/src/demo/manager/src/main/webapp/assets/js/kindeditor-4.1.10/plugins/emoticons/images/17.gif new file mode 100644 index 0000000000000000000000000000000000000000..85886fef9d4aab3f4b73d2d24866c444319c69f2 GIT binary patch literal 3366 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 literal 0 HcmV?d00001 diff --git a/src/demo/manager/src/main/webapp/assets/js/kindeditor-4.1.10/plugins/emoticons/images/18.gif b/src/demo/manager/src/main/webapp/assets/js/kindeditor-4.1.10/plugins/emoticons/images/18.gif new file mode 100644 index 0000000000000000000000000000000000000000..b6af2189c8c6e5edaee66142a76d2ca56b45e8bc GIT binary patch literal 8137 zcmeI1d03K(zQRB%Pxu&l9k3N=eB%e2fol^|}pV_MociEHL$ zxlP$j3o0(DO=xDet65rB?ujcGtY(@sGo5qpx%WQzxzGKNKY8Bo`}uvB*TvPDV(p_2 zr~{K?K>Xp5c)n5m()C&_qqjbA{+VO3H(Wftt@@~OOQin8v&50d0>R%@2d~l}wBHdA ztQFU4J?-ikyK3;}#gp;-dq+!E$65nlG)2Da9Fo9-y;^cHASlz`(heT z7|v8Fy}I{v-2vpx9n0*Mz{Jm1qJf67nkC{^(wqLimgDl`Hw^Jpn{Iwmui$V;qUuPK z=hIs|#r629k$&-e&qsxhPqT62sW|c6wf6dI@l0-C(W2L$KwsVWHxH>kuR8dkX!ms2 z*3Nvx)-%0;sYT5SgC##WP9O_S7_4Cl;*$?Br!lC+|r9t{PcEZa- zjNc2>r=Ns~=gP%xro;C#J_wdf);Jagn0F;B&P-4Dl{t$Vmd~iL@jK6#EtTRYE4mAx-Hk$vMStrS zc+JmE3*(oz6#DblLf`&?8!RS_ces=vz*R6|qN|$EtF7O)m$zp)KjasRnSfXt}hIlYQS#zW@Hi zfN=U<`{ZEQz>FlIshOfoXFznWxN^=LfHtJ zesVogcG2c7LZV9#f5{>`mc%P^GF3|RUF9WmZRea?3@s*PupM;`5ndS{wRsKf@2orv zc5`bqv6-+5vM;9fc_Fbnxj>_`L08?$f`=i|WjAZ7!k0{qP3Fn5OZRkixS6%aERQ_G zSXIo0H7ahK?|!zLXryB3guZluWm#4e1BWLcn}{{yL(5QGsS56{^;8{GokX*~A^X@C z>x+G(YHLQ2L>)b3l&W=bh9hVNgzoXOi7jBzR;q_{(gF9N!}`tK0C=*c)!W|t0_GJe zRHLJe-+nmoD$ur|Qw?$Ugt~Z_!v=ZioGSK;*}dyIS$gu*hN5G;ehFLFWj?ND zKys~^nLLHiypNj6Uz{hapJF?mC~Vn`Sk%>mn7+tjDJILNv$Wm14#e2e$62j0Hu#>q z2<)TW^^jw-mXS(UBs2R^@2W1}(8Wa*`=~{#JV($jL0Tn(`>PMg(zhqErkF(Mn%{Z33L4kww@hG3xCIM78sLG%Xd1c zibek?qzuUaij?*peAk`8o+2ePlNw?^H2bI8HW>^iwiV2QX^y@Xn7 zKoSafA&o?h1x}XWYAzmu?Sg~%rz+u%)@Gj2-KPJD?U$5w!U0Po*8(4sf|N=ZJm$!V3b(Y2$ENfn$>SCwAEm4s_@?^AlM`okY(`8{V`9A|Dz5f6 z7-y|P83^u6q#US>_63_UW0k_Pdr(R+y->W;d?Gnl8#!zxM7VYE1c_wW13?OM27Ge+W^kCioRmDhx9eN800i9wrWo-RTMG8ZZ5iQ~| zELzhsY_Osu0~V!PAIPBoyE1}RQ5)nK4o2XUwj0n_j4nhuC4nh>%INp?>eNVP3U7P_ zdYQLYy98^yhBA}v$niU=L`JI8MHv%C@6rAtClwj*2gMgA{6EXc`QfqSzH4b4AU&FJ zI#_FOcyKrUH^|_oc`?NWzW5Z?V+Xd}Zp#f(G_F=$e9lMU5XBba{a!y90&CQq+>uGJ z(cirw;|AgWnn*nuebRy<2(yEtEzMY_3|h#weZO*2D%z9@iHHt} zwZ(KBe3Go-KyGeKfqOs?0<_MPC6NrXTF#;X0fIOOnAgS`s4hr0>_EN>Y+z#uPjYMI zGKHQWCF9zzp~7uq)Q3TY@l5+hZnTK${;OopajMZ<{(Z^*@`(1x|Ne+tmwjlKu&AG=f8&lMe V_d|8L= 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 Mr@cCoVQ=Ms0K+&lfC4>M083F{Q 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 Rn>5}2?ku!H@QL_0{{v#zS@-|| literal 0 HcmV?d00001 diff --git a/src/demo/manager/src/main/webapp/assets/js/kindeditor-4.1.10/plugins/emoticons/images/2.gif b/src/demo/manager/src/main/webapp/assets/js/kindeditor-4.1.10/plugins/emoticons/images/2.gif new file mode 100644 index 0000000000000000000000000000000000000000..40cfda436f3087c561bbf0dfe60d2591f8f11e71 GIT binary patch literal 1804 zcmZvbcTm%L8pgkn0}}yB0t+GFLJ$#!aUtL$AP8Zpp$eW@DdK?z6~$3cT?oYxFQ)`GXd)(nQ%QF9i_n*Lx_l=G!?DD ze_+|cu>-MY04-H62qwU#6L5BPu(t!sI$@(O{HP1jYB=o**O_ac0FGG0wFq>=z0C~3 zl{xrY^?QLb>@|Z@4t%2qhpiS}0qiiIqJhbb?NE56F_H|I1Es!zdwmzI*J@_dA(xCw z#SnH(KH9ogw-e5K$wuwqsO`{wB?-?AqI_h~ZrL3`Bopbd5ViaaCAa3EX^44y##6MX zv+-~_2u}FJVOL>o4D2vjDmuDRYP9ssa^V@dzpEAc0~iGQyW60wX>xpIdAL!!u`&HV zQ#?O5I?y}P-?Qogp!mjI01#Hw%P*19c=xGihQhjlwHouq8q3wOlJTLws$10WE6aj< zHiZ4$M`1`&0xFrG`}Xx+^xkh{ou6*1wBEqMJ_~7&E!uBY{1?^bB4Sa*&M#$$y3@?3 zi}#8foYorXYgM~v`AId2egmmLEG;gy{!Rb=ZFP~a{Km>RsURO&>O-bpm0mS2IEmvw zw9B#q8?8T0*a0#BxTHC7u;jvc^`&>$)!SpXetZ(qmFh1V$msr9Ep85*n;a2vC{3{% zEiAIM#dI*8!he-E+g4n^`S{|Ik;7o7zjeA$7d|@Lco8QPxU83}jSYSlyiFFw=m;L1 zL|dJP@&Y$1sYtmE+C-Cf-bA{YuWRI8^p*0! z^DFS}52L|gfcu;mxrKKX*Lod0kxGz?S0KU}tGw582m5<%3Y2D}rAkb5P#*%|AE7`c zFDHLLM+YA#>RwZf8~}i_{wD=>0D;Noy*UyR09XhhPRF%`(-4PM+oMi#Kb%j$ZPK=a zcNf_EV95;7Aa`$viJwSvG`*QuLLxqKO>AJ?RXuUXNY8`AI7Yst!oBTlX5c|qQz`UJ ziR#4c_f8-q*qnSXl|1*jT25mj=P7oG{WW8GvVlpURhH+ zI}nM4a9>(s&N~qng5u?V_8>mE%%R1e*2G+Rsb$15dSAU+n@3M1*wb=8UuBT0J1b|lGLPigKH|oOJ6oV38f?{e3LrtqzFI3UBI>k|KcWA7$HjWVEB6rH3 z3UJmIj1H?eB|Z$N3OwK%<>ldVV1(oAp{IfS2iGuy&rnpl>d!s>IEtu_|Bp%xPyj@L z-&9!$V1zks*RjWnt+Ji;(`RCn6#Hau9vGGP53WV|p!6NvX#3g91~PMbM*9Or2U@ZP zYsJ};)#8)$S1uSm7)Cwog7Y_!@ z5aC>iBpV-HLZ-)Gix0E^Z+rqEY~p7Ec$SmKJB~4RlC5n`;r$YKu1AJqzWwGCr|VFG zyzpHPd8kQzt@X)#vMEj#hO)B=iw=qBVTi@~r3s!T2`=pB+{{(Rv!H+I{1V$!iM8Xd zexkg8PMWc4I+C*CO;6foXh4l%a1&qHFL$=bt*AdLuqXTC z=RH=d9pi*58q&}#RsA!OBPaL2yu?l3tp8UxO8?(7-W`SS`4ZR@O}74pw5uz={Y5~z zD4FjVcI2NHW%stzD~krp18xQFEZd`N#Ttkb*)#e~4zXOL41be$1mY@a$Vnrn#;Lcr JtTFPy=3jH@t1|!q literal 0 HcmV?d00001 diff --git a/src/demo/manager/src/main/webapp/assets/js/kindeditor-4.1.10/plugins/emoticons/images/20.gif b/src/demo/manager/src/main/webapp/assets/js/kindeditor-4.1.10/plugins/emoticons/images/20.gif new file mode 100644 index 0000000000000000000000000000000000000000..efd650f5598c031ec3a205351c95d9d83bada14b GIT binary patch literal 1808 zcmb8uSyWSZ0)X)ggph=U1c+&Xa7ZG^QUqj^MKEFCr9el}Dod@@gH^ORwWHWTB4QaW z3`oJT0xAqr2E$Saij@??8X-`WWdKPa?AnNIN$$;m@XVPxorigtx9|OTzTnUx56@&O zM1{5hv^?_p!Y>C_8Z5;eoRV*$>Tr;inmj&-ho_>!OP9^DQpJ6J^+?bV&rl_D9L{H~ zRPI7%V_w{#Xb@N~omL5~Ww-RF?wEtch{d1mL7x>o#$K&qs-D<_3D192`fHjDK&vs> zy0|cqAo`l{FvSR&@>Bh63+6+bvx3yaKFVe*<>X&mF1vJO8iV1z0Nw;^e_HJi1nOc< z7XxgZQTOcw%_M*{s9*SkX&>n=^6HOf&1txXlNfk1u>Yzl{K98^WKdqB504*&XQJTA zPWDrJakbi)lA9TJZY zKL;X<$2pQe6<-{^8tjrq&!oHzU3 zTXSP&4KdqYzOR3d-|9<+<&Uu?)Rci~#_R9L&+wHzYmDq84QQrQ2s_5<)wO?4(rQ2_` zy1aYlfh?vWvyswrM*kIz^x2;^OQ}x^KARqY@oM7bmM{>WIr65}eNir3?eU(kp~GFy zK$*Kb6a^0**cO<*so6DOW(dIOVyml07P-)5z0m5gHhA#eW5(NBL-00ny&B)~N8EZN zwfSr2LKl0!#sX}9xh7%#T5Qvt$y%E#>%B%rCJ$<+e35#6q#ln<$IB{c%d?Z>Z%CSz zPnC_v%0@CW6M;w%4dj^t02n|&DljhApB)|O?BJxM1wjx)iNfL_0NL;K&LmU_!T<E~Nv7hGSrv16dS*k% z8F%PQCFH$1#kmP7A$diPSl5fD7xG2cw$9rMt>~ZtLO_`CX?cNdjPRI9c1r4^4Ouw2 z+*YuQZXS}HwxAitk#JWTZjp}#ySewn^GtIlF2;ADw5|PgP8kaM0iAf-(T3B)eg2(B zc(3E|_~GygR+tyA;KPoq5tK6tccZm->om-fZb5{ADlT7&zBDbpWX!!)m|g&Q?ef$a zUE-NE*Yv_`VR(-}Ff+I<-}e$e$V5kll|NwXcwbzPug~5SX@1%V1?eo^em(V4v$u!}5_GXh6 zaCaw5ggB$PeP|RT!{zS`oNJ#K6qK8>E1Q`wl-_%h&ZUes--z^az}IeF*P}HRN|_fr$1Vde%AvMJI=x8miRO zMZIU&{eRg5rvEqln5*yQx`LzUt;`3`njW~})gvn;`{o8IY(hAk=lfDUk_$Aos9E$yPY9qqk}(4bE_*?@N=-JC?0y4nVoz+*Tkdw#P}Ky zM>V0gwQb*jRNRzR)JA3=&I#xG{C2nPy08!H?N#U>r|n8Az3CVJ%MP+$;=hosm4`5& zTtOdKaPIvZIVaKFW(PUxd`DneR-utiufoz|$5@5TjzLyC$S12fAsNSJ^x_g9L?=+B z!9Nh#27$@5%NT;a+{Wk*tEIY-g?>*=Qi@_C_4H^JLh^n~!w9<0()sI-zb8J&^N8T_ zS^6cgU%vD2iIa)Mh$Qx)UAu?z7>m^uOEl6=r?ZJZ0w**vmM7_jinkddY>m?lOAk%s zd`COqSwW!e$A6SF6O=S)_>bmu&!FWxv1f5 QBu;etXZK4eWD?~4PyES!QUCw| literal 0 HcmV?d00001 diff --git a/src/demo/manager/src/main/webapp/assets/js/kindeditor-4.1.10/plugins/emoticons/images/21.gif b/src/demo/manager/src/main/webapp/assets/js/kindeditor-4.1.10/plugins/emoticons/images/21.gif new file mode 100644 index 0000000000000000000000000000000000000000..cb8cf6d2a19857f6f6a13a16ce84b907da7b8500 GIT binary patch literal 1864 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 E0ebcLc>n+a literal 0 HcmV?d00001 diff --git a/src/demo/manager/src/main/webapp/assets/js/kindeditor-4.1.10/plugins/emoticons/images/23.gif b/src/demo/manager/src/main/webapp/assets/js/kindeditor-4.1.10/plugins/emoticons/images/23.gif new file mode 100644 index 0000000000000000000000000000000000000000..96516b8d9368ae6562b4da1541b41390d56e4931 GIT binary patch literal 1950 zcmd7Ri#rtP9>DQ27Y1XQF{VkvjB#0p+)`SXxwxlNN_MIZgZ8o6wzhUVQfu5ARwAu% zdUDC7qztyQU0nv#P&0|J>zZq-iAmF7_#N42&-0xB;JoiY@cn&$@9XRDv)MJAj36UE zNe~N9qG7phvLzZ83#KQ>;JNLaGE#Fvj6!G&V)J)*w}Ij~e2j%hHp_K7b0W_20DGur z-(X*NM>-8A{F>s4Fdd|N>8fb-yOZeK^StBQ0nLHSM$mae*1D7E%( z#Ef0is{PUCegp!BLZE-kl4K(+)x*2JFysM?MX)S|2E&dN5=`!Z`$QOUhna&gf3_oe zJNmPi_ToKbhg zP|^CeQhacFv|lw|t?13~{mq~+kFxM|(}H~Rjnk*o6AW-@vGsT@iJu{1^ zZbTBM;Z95`6Y;J=Obspn;h;42B-&h~m6ET&)uQQ$<*u`wQ+4U0sP)mo+vux8bZL&PX17&6mU?e3{6z`eF6u z99NM$vA*X`ygk_0eaG1>r{$@6CuUej{+`VqIZlm1+j#ZSL4!J}S7z5iAEyC-E;DFvfVVO{C_wuF5N z%hM~Q)G|bEG!qGZg~*KQ#p7Ez*i(FlXNZ*%b^)`_(bI9*(X@%c z+fUZ3oYjwD6>d%UVBagvW$fD-8gOn`1HbD==&b+{Si%z#r zycOS;RQc>)=U}>8M*K&LxGL52Un%;P?!TpUPpwMjhJKd99$l59pPayt8E5Klo$gD* zofGF+6+Ts7os{H$fw&`81!JOEuKKvxod`riqHSv2F(FkdbmCUToybcc%QWC^i11i! zIm)c%ZrkiKf*Q{!A8au-lq0#gbr(Zqrc5rMYj@~rDlb8VN?c{)EeuD^<_st{fX(P%s78eAQZ=|m7~pd$sDeyzJlx0My#!2 Ml_pW68Hlg`1F!UCz5oCK literal 0 HcmV?d00001 diff --git a/src/demo/manager/src/main/webapp/assets/js/kindeditor-4.1.10/plugins/emoticons/images/24.gif b/src/demo/manager/src/main/webapp/assets/js/kindeditor-4.1.10/plugins/emoticons/images/24.gif new file mode 100644 index 0000000000000000000000000000000000000000..5f925c7bc15698964c943551584ed856aafada3c GIT binary patch literal 2257 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 ZAe=XE=`EVhT6UAy5GOqlm1`-s@L$#RTl)Y2 literal 0 HcmV?d00001 diff --git a/src/demo/manager/src/main/webapp/assets/js/kindeditor-4.1.10/plugins/emoticons/images/27.gif b/src/demo/manager/src/main/webapp/assets/js/kindeditor-4.1.10/plugins/emoticons/images/27.gif new file mode 100644 index 0000000000000000000000000000000000000000..bb468901e4a9412da4f5fc0c4edeaa73b3acf570 GIT binary patch literal 2893 zcmdtjX;f2Z9tQCDE?EgAgaDDHULs&b#RObHC?^S9Si}^y!&q!1iVL8o7L``!n1n4L z+F$`u(E^I%N}^c6Wlk2L;8+co8F2vvir_jdvM-q+J*Uoe=F@zbp1JqjkMF(jd;Y)Y zxuIbpKECUjfC)?hn5HJOyus9~RTIt2?>FBz4R4=p4>|4!M$2udI>Jp8`^UBOhGby; z&+fx{gy9oZ)7aiAWAJbRdH5#VGKBjHutzJM z#wwjA3`@ICyHDQpF-_eat#lkZfE%oy`?R6TG*v%T%YL^Dyvcyan>ZIG^BXtdO#NSs zd`}zv26P)@rn;i8%0eDyQcXh%gV(%AA0K(y z58R(Fr2Sl9`=~syyPp5D``OE$t{2;ofhxDx$80r4oBO^cpW9&5Up~vI4S6AlYW{#e ztS)~25mPTdxttntJD1g{ z3^={gA}7**}PXs?qSqsuc}Vm#n`Gz%jWvh;E_XdA?YZ* z^8~6k>Jc}tWhcklMGmZRhj!9vP*56`ep-1g*g!ohN`OzvO0YDT7-1RH3(^YN>rhh> zlk+r83jEot8^Kbo6i*G9rz?-gimmWyt4K3P>cp^RFlaPa;2xC|eZYYkr^P`yFA=kY zjLV>SwP&`%e{9((D_BImB#lEm?VuB}F`~q~b3>x>V_P_w)`EDnYpuLjw;e&vyLaJ8 zatIb{l5bdwyU)L?P8a8k^0I4rtSCF_bp;3yiFRDSAMNWXLFv)$d-8k(<75h=cc+xD zJVV}3a`YDoD0>^_T3+hyJ|5Xdg~_4dSWLIiQD_8+Fv+XV8jb%%kJz|!`Liq*7!Iwp zKc{J=GXakVl3Oq>p6H{7NJI?dlPDENohvHYVsQAZRbGtDzo6Mb@mpL1Cv886Pl^e8|AH zD6UioS3>vSU+OO^ioYM79*Xk}WAjVN*+eD%b=g&{@RHaKkG|jg`%SQHR3Bg$?;(*0KjSS%9Od+yMq@loQOruMNxwZCNl|E9BG|iF^NX2!s})-WQv64xz7T93uld+qzZ!#lmftt7O1!{efb9;Z^ASf> zELI#spppz%CQVe14@sHP_OEQjAF_#URF&$pXmi4ggBgObgW+5UfuicE$zr0^xLoOrv+$})3AC&O1T z-xHtt=nNCP-vtwiw1@WZn9!Mvf5XJf2%qiS;7Il;VOrM&OIcqo`O3w35>lXxu%OQq zNji&~oz8V2P#o@RE~pYqaVUg#Y$0jcr7RnW6%~sVa9i+%i^1{{u?{rZ!W-`-U5>$6 zx?CUcf#f*udW6!pw@_^K?&jx^76iqbnV{pAR3Af|?Qfar_EIVgC>99*nTfgIGCajB zoGo>l$ydIho=nN7nVA?Q01#sPm9!n`J@c;wsB~7IRbssD$H0Khr_Iz;hj6Bz{OrCq zCuU12gh!Lk%B-&^H=PVkvI=S-sdcedJT;8C)u{q)j?zkGp@JLMLVFPa8uI(JFaHl|$N!pkzkdL5 C&j>*P literal 0 HcmV?d00001 diff --git a/src/demo/manager/src/main/webapp/assets/js/kindeditor-4.1.10/plugins/emoticons/images/28.gif b/src/demo/manager/src/main/webapp/assets/js/kindeditor-4.1.10/plugins/emoticons/images/28.gif new file mode 100644 index 0000000000000000000000000000000000000000..f59dd58257545068f230bb6515c053a38f47d5ae GIT binary patch literal 3262 zcmds(YgiL!8iv1_B$Lw+LI@B!nP7y7fC0ec03H(5HtV5HKwYY+v7(EpbtVZ1 zQEE_YEm94LUe;4_wcx3m5KdC6fS_n81dxJ4Yj9OS(QK%Dt?llw{kz}%|E}wu`+e@` zn;SPr5~=0^960o<-v=1$PbNjuF z5OA-t-mU^~x)#{q%(P$iw2v;Z_bBX_J?yVzUtaWh-5zhR64`G@)M)7K_gi`!rEktV zy=*JA-wY|+;Z^Ur>bJl2-kkeb3ErGzwCr-T-Rodz+a^EAqO}}+f8cg}kI}c*kl1}XxW9l=mcf61oN;3f+J9wcf!x(jXh?pW4P zo?VTwszK*ruijg8N3IHgyOL-h9U88f+j)Rv{hZlcUEbZ%_Po8c<-G3Iy_oxI(0*}E zpJjLBxvasTDtCQ6=UG?7EKBH4Eqg!*=C>KE0KNe4gJ+v@16I}e-l2ux}mQ`(BIuQ&|2TR z*YnMAzwJsw&DL=*ewzQxB&pdWGp*;mxHRd^nnf;ZdiMFujkOs_n!PHZO!x8K0nlUL;1^L?k`;(c3XP4`9w|LD*LO% zhbKj^A7B46hSE}o4SX}cLci?pv7mvrnYM5JhE6$mnAhGuI^S-e{-k+I`Nr8JHM54l z^8)|BM=(OBpr9NG?92tRix)|wCES*BB)V-nP@SA-;zVMY+^i(Bs1_zF_X4X zJTA5CQ=0{XBi(tlP%}<=!?Y5G$y#?9LWQ_41+uQdWvCfUz8 z`WZilyb(zW>9g+Nz9$g5ESQ=1X}B$}Y&c2@5{m`eMmj>K@io>D2z|7ZQtWB2&{GmN_@!n{!0&ylBDEmYi0Tl)4su8dCwT^I66_-P6}kHr+s-n$+b+ql`&9WxrD7TbM(AkMB(;XleTZY{M(&uZ9XsbW zO(E^N1<|PTi|XW(xawtd6EPek@C4Y`SxieR5x}#9=mrfLSxNI>=MK!3VVvvp*bhquLCQFNZBmVkQl^J6}6Pmo`a#JFg zyxH(HTqV$U(p`^mT9;X)#|6zSV<@p!js8mR&}xIYms)t1H=XVGFy-K}#u!QLbW3>! zof^TCi@3(JUw?vpLq&4I9ul^Y4+hn%DBA9ta`~eR1XRHM$h%afF;ek0Va?}i$zNQVs)Z@EFD0MQlE{8q?g82!p1|l&9OiLxLuHSH442lt zycEL}Fqb8&)%4_H)6@BEcDTwkk)+(Uc*!OZb|^WA_O~LFX75F>Qs)q&;)P9reyM3UvC&*;bJ|zBzd1O_;_$r>Tf? zGKPPYBl_^V!!u44;UR0c3U#IwfRv7N zJMb5-lo0&0#tL<&0AX-IZDJSkiW7(kbIwWY_qmssG&dMNB6EkFX@ZLFob*yN)0?kh z!c);Ai1hU(gGnDERA3ZGw`Y@vBg3Vf{ak}Nhr%87ddtM;KbV|p&Br#*gQVz;0V{$| zk(h{a&Tl>NyS#&7@JA%v^p%P+B>bDtIvY&c@M+mfibK%wPT>ci!1*c$ZRgB9HrBK# zkg-t9BXUd&V_~63tuPL+AY{vZKTC(9UtkjA4_5GTpeKFUPAk#%(lcFVJ30P)lt>Xz z6`oga>L-!Vu|PEhYVS`=j$_kG%u5^@;o?46u?1XkK`siyRA;sDs#2R=gFAABL|dKI z7{)s0$*3QJ=1SF&B4D0R#vsta0p86jqcI@P812N4$kh^hF$=hr&co5wUroKKT4IRO zdQgLManZU0;e41X$3?cxy}Hl{2A6?-f8{yIWXRqogMy#g;@KnpeCt1E$r>N&D#DBnEDR9)04)j3cui5`Q|?O09@nSZjM zeW9c(cv6JO2r=GwM4Jdf&0w?dSohP~v?f%VV!{zmk>hc}O#G`B-72wmL`@Zj#zEss yWM7j#tj6EFKi_qW$Xx5;w%o>Gg^hK8QDItw_aYP9!kTdjvM^a16(WToFyo(6p0-;6 literal 0 HcmV?d00001 diff --git a/src/demo/manager/src/main/webapp/assets/js/kindeditor-4.1.10/plugins/emoticons/images/29.gif b/src/demo/manager/src/main/webapp/assets/js/kindeditor-4.1.10/plugins/emoticons/images/29.gif new file mode 100644 index 0000000000000000000000000000000000000000..3c5227e8e7796fcbfdfb8aece35232df864f5f00 GIT binary patch literal 5861 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 literal 0 HcmV?d00001 diff --git a/src/demo/manager/src/main/webapp/assets/js/kindeditor-4.1.10/plugins/emoticons/images/3.gif b/src/demo/manager/src/main/webapp/assets/js/kindeditor-4.1.10/plugins/emoticons/images/3.gif new file mode 100644 index 0000000000000000000000000000000000000000..6d6f7629968d979878a2defb2d66ece81bdc2af2 GIT binary patch literal 1852 zcmZ9LdpOi-8^?d<;2eWdljJaISVoSuNQ~o*$U4js zWqFg+grS^<*C{5Zl|#}vGmUw6wC{Dj*Y!U4KhGbZ`@Zh)^}WAD2YVA!UkrqSHUYFa z-p!1V0sIy%W0Rvpx#tWvncg5Zr1X-!pdAZ1*8KJPu6WGIo2I!BY_NPCtVe*Z z+jV3$@R(d*@eH&nj~D8^2-*kU>IlY6Cu?s`)LtdK;JV|mJ3I#9p669cZ)BK)1>f-^ z8_ui5l>+&hXSkU>^bQjbzMP$Ix2cOIZkM@jJ-t3M@OJXC>iowKJyGKCN-k{tl?C`~ z^E3l6cPcB0AlTs#S5RJ_Jp$M#+LF(Mr+Q%K&YQCM_0<(ljn?A)4A@Q()S|$@(O}}z z#=_V}VT%15IAb(*uI^-#|BRq&giexPl2{ z7xe@Xu%3AxT>tYsz{>>b=Z5de^9FBhPyF6m{{qaA+HRRiOop%;D%tVX4rE^JQI|GKF%5h-!6!@C|mB$nC zszB38u=Hb3M+^JUqaZ0`zCsuDp4^;I7;AI_y?*>5lNC-8sJ2^rp$}?QR_Ka?3`a2G z1Kybd{^msOk6d=R>zmr zfXS-s^Gxc?yN2sI0qqpq{#4C{;r1^RoqcgAR;tqHdPn{YeY4f>3%jQw(LFbWSaw?G z>-1Aj-Q8Js|HkN}4yu1!RuFe-kS+0Mh=#>&Oc@Q6NK1cD&-Z3I#a0uWyK7ls4_LE-=c63Qfc zek)mALA!kU6GT6P@NbY~I8C?sA@bE(EjI96w8Pm}H%!-XF~R>@u|^HVdh|;vNBwOW zfn;f-Lzv@}<5T5L#+n+;5~YCpsY(GvwdTWmO~ zRxMfaw#I!q+heoE%Glco=A?~nud1O^wkM`DrjKwT5mwPIZXuCj@Go*^8Z;H%JKZQ995EL0{jFro(VGUS4)i|s zLg#-s>!=$DY>$PWl)fu6PNVTNB`C2aGn$yHM z@n7uCvB*+M*lb+^C<|cpWw<9O8?-rl7F#8%CdYB$ngRJZ6ucqBT0+~4TiAJ0x0-5= zOU=Ic2C_kUv{{_dmqTip|fqsEf?m@&ZDVQ!%|jQnF<$P8#2c zVpt7E44Fu(n1N(VB3vMN0CX?G@_-hIDyHrHt>^AQYaCJqdH6>%Wmg zB7CU?Q@jFEM6bw|piJzY53~{y`R1$tuCH(i0ihu|p|5=q*f|c}yWc{FjcH*#_Rv}+ z3eWJvw*HlXI(-V2{ODJjjIxcKvUZHSSUlr=N18NQp(2goxNmBT;1)Y#h53WOeSi~^ zonYZ?9?qlcraP_1>@1@1jH9cMHeP|@R z`)xzbY~SMuZZsNcY)yjoWm^<;1~nDSkT_Qw)?qgKn?}i9jS@nQV$dF;#{Ijud-HO> zRj{anwl|YbV^9RQOokrlt9_%3{n&pBwoGSjG;t7 zi}Ep+3tbJ)w~6&pkx@oCbDEV9cr$a6A2?R`Wc5tKSNn4q9x}dZsBAr1QVLI$e{Rza zTM^|LD_we}y7gGDQYTdF>0A7|!2aNw{wxnQilkAF!03BX2Y8C-HGEp4FFPe_UL(C> zBdL=STplNBd}w)`fdV-mTiW^w894=<(~t%={$0!uQ-Ye+YgP7Qlk%hce@;kY8`zv* TNrDGC#Y$|Xkx1CnqWKm_sF_!G;)K#=!I4 zFue6zksudd$WJ&4+DiNfo!&H!5_6TM|U_Nqw_Sy8fLLq;g?j=t0sa0a-D$+3e7d?LU}@l_MjAYM|GZinu6-H;+Em^0 zlcjox1_n{N*J+wUuxsJc8;VLM&nuGhX;e!1{Vy6gP3VyW5n z-Y3Sl|3s}h##>*R9j^KF{G3Yi{h`(2f9h+DyR%L%wfo*rjF}X3Ri%zgoq{(jue4nU z#zuz5pFVk0X8gS4LSuI5oNB6?iGj_2(42TwdHNBXuB)SO>UFTG+bAs5bRD{3hQG}= z9B=$;q=-8+HLg?alC?Lg8$M_wVt+Zo+^i#y6L6c8f|hRr6gPww35<=$-VIs7ug9vj zqgU1xC7{!QPJQ=65)>7|s2_|6z^el=8=)WC`MR9^>ZXZ0_2kS|dgqR9EA3vO6OWa- zz)aX$Eo1Et6Yep`E>ah82&lqgZ09`R6E=#W-v!2n@FH^TGV=izyDV{&Wi#R3xM1{$ z;62fTz{p?^S2rw*AP9F2M`9v?Y1iT$op`Z2)+zSelBTnX zUs~SC4Dhf~c;$?sEXUGC?xB$A?U@0q?)DuYMfiK+giOZK9LW`5DTRBfwwhBDF55y} z3@mhZ+eSv@^GHWBm}1KSwvVDd1pK ze=MYyq!{mc!VjSz-F+Pi>7F>-Xcxpzl<{fgE5|d35<`$Fq2ly`OKDBCSzI0twV6<{ z+hfJIcN2t&kZ$hAr7+C*ph6tsyyy)1sF!=B%l^+3GH^k(%s>*0Hp$2DSfJspwjCbm zalr**f($WUNHA{lJoX@}6(hO4vg)kxcr5u+hnY(v5@`5(0l^r!aFAS!6AK>Mbc3kY z5Zh1ZYOw~+96oBwi18#+MfSJ|3-9t;gxgZ+DYeT;@sN0sNWw6)VX-WS6MtlqOl=r6 zndP6%`>T+#(>McX8@c(Da}bLD%8dVQW(FZ}_|~OcqF#m2qy8TzQcgg##s4s~{_f2A zf9BuyiTtwKTtjR5b-7X3itfdH96cA4aSZ=+D2CCUZzoLG?Q9j4%6ZXW@*Q}ril`6M z5C2V9ZNTrMS|8S{i|OSQ>8D@xuD4zg-pXkRJtAH_aVDq20qgm^Gt(?L&f0RqZ&&fP z(|5h^5qka5bME^b^rzI(Cf*_kYIZZn!kLF5?DJjkOskPzSV;2?BhB&idJ8gRB)*Ny z8B#wpo>yhUL>7+jO#AWFL|cOR4k2j8A*BW3=hg3S`$SHcaj;p3`zwqp9R(Pg)0BpsDUH1x)r5y+|Imb k{n_ye)X-{yMt$E}oY2c`*&^xt4eO8Jx86gUe`mepKi~&fM*si- literal 0 HcmV?d00001 diff --git a/src/demo/manager/src/main/webapp/assets/js/kindeditor-4.1.10/plugins/emoticons/images/31.gif b/src/demo/manager/src/main/webapp/assets/js/kindeditor-4.1.10/plugins/emoticons/images/31.gif new file mode 100644 index 0000000000000000000000000000000000000000..073e743ce5f5611321cb04f9e6266024db0070e2 GIT binary patch literal 5174 zcmeH}YgAKb7KXob$;p*)0x<*#m_X17s1dCVig>~`;w>m@tachKt!TYOYpYdjPeQn; z*ak(#%3y*}X=OB8TxPT#PZH6H+ER-at(U|rVmqbQ0**)~1ZQcTwPt=yXU&?Kp7Z}* z`+N7Z-@P*@WGE7Ig+K_r2q+#2yg$6udr{%-?eVs&AAgnLy{+;(BbFvIzBzZ+dnDM~ zxx(A?p|@?4_h!aJ=OFLngWl7FygzC$fAe*@D!{7+k6dxR&BJSQkS&=kZ}%GOJmx2J zFmJER+uK~3g=`uFKm3$my)M!Fu=rvwXxD(=2JY?a*Dlqjx_3!$e=^Xqc0gl+=*S{Y z*S)KiW5N2DCElMG*XISdx81t1RoHgxdhfN=^E<-5k8NKV*gYK=9$w!0uu*>a?U2)Z z3;&SE_4agj9(|$nh^)CP_U3lh{k{CdYZ5MPVl`GR_I9m$P{;ZFZT?r=MmD|6uo)*@ zIyCLpnL}qR%Ubum*jl&p&V@5AhjxE^FzsHg;Lg?N8`m!Pv?vbgGrW(s?#rclsLU^` zM|PebeX=}m{}Q36aaLEO{D)8Fo@1qVU1jGQZ9TX4|7@Sw*}CKI-gs}1`Fq>M&(;ln zjEie_NMpPW|GToAoi>O|Kj+d(Bxg=%hj5eUS70pERe}hjpHq z-DOYz=|IRIOQyR_$t%-?54;(7W@FSY4ev_jz>5`#GniCX%O^mprw6TCL;tYxg)7^T*_+YH+V6GUH9*aOzwYo7g zhBUIerNRmoakqifdL)7uO+rHjT$yIX9CI~19dUngWQJo3#N$?Irila_=Q#)(6fJI`o{Ci!7ONaL&9k0-3bjfil(azy-64 zW~&L%*F~DIi}5I+0UQMST9)B&nNF)W_*#~eueCUf>5*BLbyldccxr;$dS6apu{j9} zO}-eA5CTwL+kvdDoVXCo=4<|@
                                                          WnIIQGm1g>+S$^r%K51EpgOZ}bv2#_;u(KG+ zev4FS?_z7oPXoGn!?mU6(FOS82U?H_S2GO&9I&3 z*R?{ag^`i0Qdqn5NKy zZ3aCAJzFpW7=G0xaOjDu&tv2HK98BZ^32*=ZJ)Kc6lf^`APh6BYqKyoYAFE3?k`UO zd2S&&0Do4H2KpTs?|0S;{Bt(9L=LBFG?7_(b-8w!$&AT!;cl}53y=YZ*lh-M6c)-= zR&pYn#}y~x({J0!r`{%mUPJ=KA%W|0{puWFKf`nj5#FyzTWFaGvE3)d` zQ2jGiG6CjeitDR#JP3JWB^E%%l2%Dd4mWzt+Rc)Jtp%ZVYKzv?PpM2OPTd+Cni0g& zApnHM(vum)$lKI&nwVd6G}!XD_T;{$a_RI%(h*Wlxk;Y_Gy#k}KoBILL$IQ+*QXdf zZNw^_8}ygQWc5wc(*SJrPt%hC^qW`^o)@3T!#vfIqXbdyl8?pu;qy?wR;Xpr46n*c zR>>S}8pA47lX{>`6~Eq7!GZ58vq&^R({SyNwb1Cs|#h{sz#fQ0g%{3sojI=U*L=yhRCi#;@Osz@|+MlRvU!~ZfEz+iyy?~isq zLpr&NNHNqcXh=Ot6(b(hV@W3)VS%x`3@I~5M2-%_g%>HZF(5&t6oHcTiZV#55-!kY z2Zp^V9(P%ZWd}}Rk78`%xi<-KRlg@$pG4S9~*)WD{2#j!{f zM7Mb|ih22Gz{b#38dEuFFHQ-G|~ZFM+d}5JWt*W^!lod6X%06fZM^S=n4hZ0mL#B_h-ElY-S!xiV%V zcN8U^JxO~D9o*8K?QhxhFmC@l7>n`ftV-1ZkZuSZwva{2jFuSt5PTn6oRkSyu@!$cjP z!ofiU95cH+K6cI2n~!kFLd(Qp{TmSnL(O7iP!w__p){!7{BiMMZu@!FlZg1W@In~` zMfry7HnG}Pz^RVhEXWsz6;L4~U>0A+n;@=Dz!<17MbAdC=o4z(WA??h%u2n4oFGVA z)MsiE=pmYrfirxWcO={UbZeXNNu8ML@VNfb{L)Ig6IfF ziHFf&eOCjIAw0U390 zz3+U$0VdYs1S8EQSHXi<+;m1J)=xV=2@-vkCVES%PR)d8Uv~;^Vk*uOV_Ey{iivHw(v?fi#yWql`?11E+_8bT$tH1>diiTkvMl&=Fr)F0_= z2Xrnv5LXk+JTN&GgbS8;GYN4v5DKpLF!#1i#YN?RS({yr*0YdUlj?|$Dh{bqV*J=0l0la%A3s_nVuYWn=7q-ECq8HOjf-fxKg&+f@6J6#ax q3u#Jh935TLptU&QRR5mz2iW+3=bk*P=--q5Vf)(|_TO@bjr}V#m8a?e literal 0 HcmV?d00001 diff --git a/src/demo/manager/src/main/webapp/assets/js/kindeditor-4.1.10/plugins/emoticons/images/32.gif b/src/demo/manager/src/main/webapp/assets/js/kindeditor-4.1.10/plugins/emoticons/images/32.gif new file mode 100644 index 0000000000000000000000000000000000000000..772eff23e345569189e0dd16516733f20d7b4442 GIT binary patch literal 7189 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 E4n1?-W&i*H literal 0 HcmV?d00001 diff --git a/src/demo/manager/src/main/webapp/assets/js/kindeditor-4.1.10/plugins/emoticons/images/34.gif b/src/demo/manager/src/main/webapp/assets/js/kindeditor-4.1.10/plugins/emoticons/images/34.gif new file mode 100644 index 0000000000000000000000000000000000000000..e9d42131a9bdb8556647e91fa3915425ab730102 GIT binary patch literal 2140 zcmZA1dpy+X9>DS6n86sDW=0pGq9WH-xvY_x8TUaUZFJe4N}aYgx03cmW6b1|S16Ri zBBbP$qWhL{ZPIcO-Q3F*k)5ewE`EOBGydwF^WXE|_x<{Qp6BuL^LD21F+dCuIUo}c z8~}X`b9baA`U7uz;PamMmu#ThR#X%Nm%CDH!qs$!>VOqc49cbXZS535R}1 zNyAQ%9RXQl)jsOn025SvwAbau>E)nI$68Hcwm{MLGvw~Nm+S+Dd{Mj=3~mBZ1_;l5 ztn&s{oO1L&$oInt3vJ)fk*o_-98^95=#282J&Xk^uLr?LU-Yq2W4a3{6XAuqcw|u7 zR{&GNFtQ19j)8O=JX!>=?WZ5wgE;L?cRMBygaK#hbD0}vL-BF=91LG~Lc2ep)ld}& zeY@sr7QnbK^zVhn<=8z6oXLT*DCj!`HxsdUn?Qa9p0Z)kA7)NZKX(LqJj|6t-wC*t z42nB26*zj4Bo#V;{xk|R1)$7>OBsNcd=Z_3ZvUBQJ3!2Y*(|7wh29IZH}#-%9ZYS9 zJRWrX2Cb1GJr4g$hYx!J&69W0LF@}tMesfVDt=eJ^8i%|^w_}@a~KVVZ;{xD546*v zWhI=A8m#i3ezFF}z2NInm}Eo8Ug&lJp&``xfIJ%NmVd3H$a7qv*lj3nCDiBiW>P;E zQ{b5`)NO)mZqT*uMIsRtWi~>LX@1 zqitkgrH@WJimoPf-H3l%lPG(2Vfwyh+wF^3u0QlJTPp>#BNeFlR&A7Fd%Bsp!UC@E zkxWf0THPL>+dqe*uRB^UvNVSKUSHd-1F134#s%34v#|+#8gSpBq4y;(j7;)vBbbq2x^ey^!UH`H9AQneAjMZ|Q6Bc@qo~wvLr8a6a5GUC zp;2ZIc@WyjF67v5KNkO)fVg|FVGosfroJrq&lA^&InRQ*&PcVT;>uqn?tpixM1EjP ziVb$$;r)o+z?G$hEUEO9$7y#m_LTVM!V zNVdschKi#jW7m=hI{AvS(cx<;n;o6>LiZ;vpmR9}4|2BW>-5KOX4pzoqxe=llAi0q zSn>7x#DJb?OYu&_t5j0-o_LDnq{%5!6e0kbjP8;L>4A*iHTlUNs$z08S0!I7!P(L$>m4xPL; z?xHRh@qlse*#!mbR(Y*TuTBocy9Y2^HS2562RSvnzSLNI!J#wBEJ8pF*gy}HwK@JJ z$j)$Dis-W(3B-Np7_S1FNH`BYCWGwNF{P}N;|^IZ)N&Uam4=x34L z>b_EMHM>xe(&WiI>8hBG&DN%HzZe?GBrU~=Kp*W5Go@rPxHv4vVa%@4-x>r8YK{rh z&qL$WuhQJlztFiFU(!h?LcV4>WXlj!$~MEe35VZ}#>R%0uhH!|VwA=nXsJDD^oQ;F zd$x^a8eZeOihvN*CbC-fn_7kX?Bf*kh}tYaQB7%6D*o;MBnwIVid20AmA^B4xRpEZ z8Y`8w{DSbpQ8T)rr8t*+6;l>08yTqx!3}{hw@%z8p#oOC{w+ z=}2YOIYELn!D5R;1Ej9BS4rOicr}2AP}G1@1mo;i z2gwOJ--b$gS3POR%4NlmT+N9j+QG_xp$o0{&_G+9brb*p?-K=Cs3shqC!{e=(s@L< zOOH+SZd~OZh8QR+x6oXOIWp7rM4zQRhvOE@@+2!4tzfXLJVj9zsYW{M6o4kLgs`o~iX4?aowTJ&_1)Az`3)J&Z z&Ceg>lr(UqdMs*KL&iluXvG;kXdGgY@wH*-_K0kT8q_?N}*?t3wv9piOvLKo;BwZu`Em$>Mf Xuxw23Rfpg9B+Sr_#wQz+kd6NVg=R#0 literal 0 HcmV?d00001 diff --git a/src/demo/manager/src/main/webapp/assets/js/kindeditor-4.1.10/plugins/emoticons/images/35.gif b/src/demo/manager/src/main/webapp/assets/js/kindeditor-4.1.10/plugins/emoticons/images/35.gif new file mode 100644 index 0000000000000000000000000000000000000000..d6da2c33ab4139ac5ec7becbb7221008e0805034 GIT binary patch literal 13392 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 literal 0 HcmV?d00001 diff --git a/src/demo/manager/src/main/webapp/assets/js/kindeditor-4.1.10/plugins/emoticons/images/37.gif b/src/demo/manager/src/main/webapp/assets/js/kindeditor-4.1.10/plugins/emoticons/images/37.gif new file mode 100644 index 0000000000000000000000000000000000000000..92efec6ae180c7e685512017cfd06f75c36afa39 GIT binary patch literal 1195 zcmZ?wbhEHblwgox_&$;0@87?dFJC@=`t<+*|EElu^6%fjA3uJqT)FbxxpNygZv6A- z&#zyC>k@d-fbTa%AVuo!`EFd-LYa#fukr?b@|{`}UC>lc)~tz$h?q5NmY0{;nKNfLZ{ECq{rWj`<}@@k z)Ya9^pFiKo$f&)&-PqXJ($aGO{{5+`sp{(Lp`oGApFdAXh`)LBrk=k3-o1NYzka=A z$Bv|=q*bd{ef|3N^XJbWK781^b?f8DkL~U4@87>492`7#>eSlWT2oV#l9G}~j~;n= zcvxFozkK;}_wL;X4<7XQ_s`DCii?l4w6NT;VZ-9Zi+}$7Ic?gswQJY<`uMoHxkZFW zn46g|U%uSg#pUG5lU-e1Yu2tgaNvN8i}UTg($h5)-nrvK$?q3=Is9g20g% zFJ8=^J$vTNnM;-|dHeRQm8IqR^XH#Dd17vEe&ND}@87@s`TI3CHMzODPM3wdmo6F@7{%A7JD8x|aF<`CBE zdE(f>%q75D5n*w`ZL*NOP0o*iM~%$vo?IF=0ZpAOoR%3XHw74+XK*ozD6|AVXK$Ai zv@n^#@W_cl-@s=DV?qE!6I+>>#)%CF7}zZoj-9Avc<9p5BwO&uz+l1a1|~_KF9t_G zAC_`aw-Puapy0$Js@JEH6_DV_yusE{TbT8J_d>nHhNeHmh_mc4ik6 z*m8l^J_Y51^#btaSU8O8%md{R15Ng4@zp9)F}8mbj6R0>L9 zwPSGMP&8B)oOk3<=WI{K2fa@kc@#osE^6@*(Xe8Zun3%cVJ3@3m_diejwI#=0qbuK zCmA}AG%;ICd=xm~-0aBWaN|thg_#b@%+6m9Iw){%DGYUFZDDW}Xn1mfh1c%K0S2Zz zhXPiv^Riny_{2qwjmzv|>R9_2Z`_!Vwl!lu)VeF`sLSe z|5_A!w53{JIQe7YVXuxB&daM-jQy^KXEWtp`voVB#;Z406=X_kw~a|8)x`yXw;6~+ zr`sdj(l!XQ(cp85pu1DtK?17k_oJ`CR9M}qV6d_elsrb-!hH`hKLXrytt~GGORT<@ z63~TNZt)fi5|nl3?}mC7Id1K@OYi=gcsV0_j^j90=P=iEQZ+xN>bnk93(F61V072T zSWhtQnVEb@^haMssz2zp1?s!tnH_jT27DVJ4P9DVT7JJ4>&u;{~3> z2acush1Z|gHZP8~j(45}voQ;OTV+GXWsOdXF8}$iV0jBpHn1ClplQJw<&zj0-(!@G zlMP=}D?d!O1PuP{q<*n;;C|KQ#JEf@_`$vA>gt1@bJiBui(}2kopk`bcTRl-^F(#b)yYv zwg{OpW+exfELaHZ7>)&FYNKrhrkBHWi4=I^@6SrfJbXT1nV zxI+Dq<0|OtO(5hHRHlOo2r{^C%p-G_djJqf2O;gS8OZxWc*wVBo`p~5+qx~{tO>JFf`N}x za+svK7CR7z9GEvJbQ`EY>v8h1tQ^3ye@l^gPmsvI(Y4!%d4695N?{7@Ph{ zeSbW-k_-<{rSWeySR^gJef#!-)Qv) zZDU@j4Hg(vP>cdy`O}^;Yf6IIMneP*%XK7A zsoa!QO|VWo*z_6;r}tC0wzavl$|o;Y^t*CV1>(peA3QstFZO$Jcs-(%xo(*1*oBYR zeol7aYV)@zjYMS_Z@vQ|5g)BQOv>5T6x&H3O^r%y93w{eZzJScR-7QU%tk9Q0egc9 zgMA5T^6!A)KLMF(&a_B*SnNe(9p_RmPA0bftRH-FPI45?aW0HNrLPHp(s>hwN0}d6@JJxY<(`I2ep-(*zF~B*V#H~d^Aee z+Xst#h`~FF*}Np1x=LxrG$o;_Eqmk@?l7Io@`+s53 z+jA@y8vQm#%RoC>(RUokLxE})2zLTyjPQc7qA47#Bm=P{5L$w@^I*V5{G;VaISp+6 z8}$49ddn1aQ9u(B$ip>*Udt7z6`?aw99wUu4EJ{f8C_k2nyGREeePhy11Mv`7!B~P z0G|L}VZnclL6eQ_w!zy=STGsLNihfNdeChT-iLrKHW>AiH+X@y?kY+w{sJG+U`RE~W zCup^w}G=%%>1H7MkaKgSnWk%}sGWuI(ba>$1t1q+iU!_GOzjokg{LYdAeI zIy%(XaS`2?Zd?@w$=}HY|3Yj`C-g8dU^Q*I(+6l;z-$2L8&fVT@MA4y{t<4a-mN`{ zq~us}Qb}uVr&a{PqUz%D;eij_U@(1TO>|s7H#75y%)fm~Qgd2dKoDOi|2EE9URr#4 z(N)~U<)s>~Hh;C=77N}5i;LY_n7G%4C*O_t)STP(<_D*W7zB79UiA;-!h_I8t*N5T zN2MH8ug|}0a8|suQO#5@568Xv9;;L=%)Idf^Wp7zgb%$>KMwKQb3fafdYY^gdbSkrVLQFg{r!DH{6VRU+K6d+NI>#%U-90|C)oL z-DAc0t#-<0r#p~*0Y>Oc&E6k7>0mxmK0ON7Gg_ZyZ}ocs@xG}SVRCL5m_96Ik;;x5 zf(c*n+Ds!0o)Lbn+TKj>9!=kF^(aj}K?9neRUUbQdq&>*boOVHi3iS;t&bN)k?ULw z^@un4GbDfvIS>&}qlO-Eb)x8KK@ddR&_!S&06A>;?UUdkNFP7|VHv<-3$pZ0?W09X zD|kfl+2KuE5*ij}cv35PwaQAD&|Wd%1`i}<`#H@b>Qks9Tl{>IL+N)$@r)p+u)44B z-OJ9#?I^Nir&`~r&%#F55p1UlC`h80Z)#d|$CGryf|<1rZG@2c}!eoO|3Q=M@n z(lx`ci`JR+QZBmy_ z93smWx1V@@?+F(j&&+4;+VSR*>dv>uHq4t2mzOSdKNpvBRpBuzrle zxZESPVCNM7a5}Mky(r;dNpbn;)kzD3$AZ~>~`E{M@9RVGZ+z1P-y7vZE6lVC|9=?z0J;OdHTE*QuGlpI->E^@2Fb8 z7!0LV3}0|cVG)uL7*VLs{Y!eMo)?wmGnr%gA+KOjwbMd>oOhVAoQm|FB>C_3mdO+HFD$KA+-5|2yC6$INQa9o4oo{f;fr(Bh7 zsHLcbeFEp!s0BAq%w*^rX&p?3tfD)pp%!Czr7{Gvj-hQ}CFTExjctUx$FNEbEyxrT x2->BLyW(_(N6e(g7IB0|H;fd~Kq literal 0 HcmV?d00001 diff --git a/src/demo/manager/src/main/webapp/assets/js/kindeditor-4.1.10/plugins/emoticons/images/4.gif b/src/demo/manager/src/main/webapp/assets/js/kindeditor-4.1.10/plugins/emoticons/images/4.gif new file mode 100644 index 0000000000000000000000000000000000000000..6ccdaa2c9cf1cb656c0306f6a396f1f765d01786 GIT binary patch literal 1977 zcmZ9Mdpy+X9>;&0!7$U#3?oA{Gm>LVE~(r)G1C|n#Yhn`E~jXTI=gAD#f)1cDQ%nF zHj|BMvo+Fb2gMk-iI#|R3*)kekh@`+XGdpy?dzO>p4anw{`q`ApZDkcIJwZQZ36KS z9$E&FzP9qawpVH27)wTnEKIgMV>!vC6YI~gi}kyfDvX;SCNEX)YhfYf>ucccUNCle zcBBK$3B?ce!AGA_aX*lXW(tw=0m|y!*xF1dJNXD$Tb$t$z|=|5z8j3YjdwN4h5BIW zGH5meLlhs+-SZ{bh56Z)>C(cVxqz<$mcHf&Vufi3!Kl-3v6e0A27P%1Ao~&Y9{{r4 zbsnm_qZLfJkCf~HE2-c=Xn$8NX@dpmvmMD&2i-Pcf)09Y!1@y~a~jA8L5BsX)C3L0 zu&}W8wmm?gJHBfwOZxY2H+nF(eCK&}1)7u8hfFI#xH)awG)3g-G^dNR~O z>&~hB7%)%n-+JHGF+9-M_wEf~ zKs|XzMP5o1-Vm7doSB}?$+`QYs`mSMmLTh_=*GdRD)0Gz9*sup@9tcwH+vCp`XU-9 z6YW}R@aei^5bcL6y6z{gPG4?1dnqRFQIv^?jp}&G?%6JyuQ%EEbcpEj?Y{fecMtsX z@;RviTZf*|C;0R-Uua^u&xdaLo(x!mHVuOjXk@}w^LIQ&; zGymm(Y+HLhe_WKw@U`cjR-1lvZJ_7v>ifL;p3p|tmS(nYNyH9TVq*CfPtIXz?TryF2bNHHRrFUP&u(Wp@ZbCW^aaN$?Pa z01!~qbLJJ)BqB6-_Cd`je}yB%y-wXGiv=f<_zPcI4m;g+Qp4;xB}r>bMq8baz5IHb za>FZ|Mhb`6sy7_;Q>Z%a;uNHYeaQvPH?Qy7Z%W(G;m~PRO{=Jk>^W6IKnY7_Eg$j{ z5sEc*LqfSfG~VeDdBhVrER&K!eQA6NN7jxL|t?pFwp!6u|oJG)Q#GEn$C zA6z=if4G^wf+VJ^osCr)%Hg;`rRTyc9LOYUdV;fo*&0a?8Oq z=CU;<;&9oa!4mVGta`LKp?kU2QUZo1BxTgSL{Bbwe{nwV;^&CXo580f&go;|``&FijrY?-Ho3IDIFq0sf*sFCy|tcD2Jyd>35Cb9{ib=gCv z8m^oRgEnlmkp^4hpcr7u*8f%U$6TvOc(r2`D>9oF4vu>tFPEJ&advQfc z>2Do41XK9KDRjaWIymcyqt}@T%`cuaXHtbs&21{*{?{LY(ro>ja3BNJJ@=Hbf-*KE ze)L{=V;1-u(+~G7Rx+fr&F+%Q(ub2FNgDcyT@IpWWuYE09f#v4J9!O`VV0IhC8~Re zaVX+lGPLqB>3@yFAdOE0#B3N9{rbB=u`m73qL~2I6novj0@hp)#2FI<(J54T5mtn9 zM6l=fuT{>s<})u}{8}&l;*7g}gm`tf_s%1d+JQ@~o;IT>7lhUpf9H~AwBC!j$O^YU z)q8zO@sTKAt~a^P{@kX31fC>#xO&r>6+;x_?>u0NJTQtxAjH{?ajYX+6yu=d@OVRx zK<$gIwx4+iq2`Dj409N6Al>6Z%ZSIwGrRT=5wjAbr$cJr)E=V2hVxtvRSj|-!s+S6 zNedpjz{xsOBry50TFu!B1bPtLsjnFB_?FW zYr_4VKX=IghKmRL0;qvjb0oShX!lqa|yEO_DAiF;S DKt8j- literal 0 HcmV?d00001 diff --git a/src/demo/manager/src/main/webapp/assets/js/kindeditor-4.1.10/plugins/emoticons/images/40.gif b/src/demo/manager/src/main/webapp/assets/js/kindeditor-4.1.10/plugins/emoticons/images/40.gif new file mode 100644 index 0000000000000000000000000000000000000000..24a8eb69149cc1b139e24d3ada04246c42e05c71 GIT binary patch literal 10092 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 literal 0 HcmV?d00001 diff --git a/src/demo/manager/src/main/webapp/assets/js/kindeditor-4.1.10/plugins/emoticons/images/41.gif b/src/demo/manager/src/main/webapp/assets/js/kindeditor-4.1.10/plugins/emoticons/images/41.gif new file mode 100644 index 0000000000000000000000000000000000000000..99139e1d1ebbb9123de502b7b8bc0127dc55334f GIT binary patch literal 3368 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

                                                          Kaq3uo-?qt=r07ZHuzSd&$te{jLzVY)vGIpo(|zV2&VW#0_3lio+h| zg23Kg(8G~0cu4YTha!aaX5Gem^) literal 0 HcmV?d00001 diff --git a/src/demo/manager/src/main/webapp/assets/js/kindeditor-4.1.10/plugins/emoticons/images/43.gif b/src/demo/manager/src/main/webapp/assets/js/kindeditor-4.1.10/plugins/emoticons/images/43.gif new file mode 100644 index 0000000000000000000000000000000000000000..43504910020ead31098a489ea1e2b6fa51e8314a GIT binary patch literal 4327 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 literal 0 HcmV?d00001 diff --git a/src/demo/manager/src/main/webapp/assets/js/kindeditor-4.1.10/plugins/emoticons/images/44.gif b/src/demo/manager/src/main/webapp/assets/js/kindeditor-4.1.10/plugins/emoticons/images/44.gif new file mode 100644 index 0000000000000000000000000000000000000000..650d3dd84026c33b31712f94d1c189db2b3e7295 GIT binary patch literal 1571 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 literal 0 HcmV?d00001 diff --git a/src/demo/manager/src/main/webapp/assets/js/kindeditor-4.1.10/plugins/emoticons/images/46.gif b/src/demo/manager/src/main/webapp/assets/js/kindeditor-4.1.10/plugins/emoticons/images/46.gif new file mode 100644 index 0000000000000000000000000000000000000000..f3cb0742d7f2c12475b1fdfca98a46ce3d1dffbc GIT binary patch literal 5162 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 MvAwGZTHVF}1D`W;)c^nh literal 0 HcmV?d00001 diff --git a/src/demo/manager/src/main/webapp/assets/js/kindeditor-4.1.10/plugins/emoticons/images/47.gif b/src/demo/manager/src/main/webapp/assets/js/kindeditor-4.1.10/plugins/emoticons/images/47.gif new file mode 100644 index 0000000000000000000000000000000000000000..5b3057ab7eceb885238c9308a9591b118213703a GIT binary patch literal 3685 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 literal 0 HcmV?d00001 diff --git a/src/demo/manager/src/main/webapp/assets/js/kindeditor-4.1.10/plugins/emoticons/images/5.gif b/src/demo/manager/src/main/webapp/assets/js/kindeditor-4.1.10/plugins/emoticons/images/5.gif new file mode 100644 index 0000000000000000000000000000000000000000..ab0b81ba4dd535bbfe38ddd6bc5b35ed85d22a0f GIT binary patch literal 1866 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 Khets$pML`I4Xz0Q literal 0 HcmV?d00001 diff --git a/src/demo/manager/src/main/webapp/assets/js/kindeditor-4.1.10/plugins/emoticons/images/51.gif b/src/demo/manager/src/main/webapp/assets/js/kindeditor-4.1.10/plugins/emoticons/images/51.gif new file mode 100644 index 0000000000000000000000000000000000000000..69f183f043a276acaf62658536b0c4561492578a GIT binary patch literal 3731 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 WTLS2#EB0uYB#v;55Kcmo4gUh0RX4N% literal 0 HcmV?d00001 diff --git a/src/demo/manager/src/main/webapp/assets/js/kindeditor-4.1.10/plugins/emoticons/images/53.gif b/src/demo/manager/src/main/webapp/assets/js/kindeditor-4.1.10/plugins/emoticons/images/53.gif new file mode 100644 index 0000000000000000000000000000000000000000..56352dde46f7f530c7f4e9cc71a49a8db2e5d525 GIT binary patch literal 2056 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 bLsE#_O3>i{wNn!EA3LMRFhuj(&iDTfDU)yz literal 0 HcmV?d00001 diff --git a/src/demo/manager/src/main/webapp/assets/js/kindeditor-4.1.10/plugins/emoticons/images/55.gif b/src/demo/manager/src/main/webapp/assets/js/kindeditor-4.1.10/plugins/emoticons/images/55.gif new file mode 100644 index 0000000000000000000000000000000000000000..e18da84c6e550fea8f3cc25d7d64188816f641fd GIT binary patch literal 1582 zcmciBYfMvT7{KxOwCA*kw$chMw-GLaMJ7xH12_;tEYw9tK^(3_L#J*)aPz*&l(Amu zg#s-FY+FC&!$op-4wsEBe%Tk#_w(faJ^%Mj z+>#KvUgQScz>^TbOU+1rSA+qOo^v!Jj=$}L1Id}W+js4KGW|^WQC?iqJ4rjUPhYfe zNf!+sL85s{F>j?#*>>D}G>Nsfg+<2;GIPH?b55nHEY#NxjXnDQ=7{}$Qun|JcKrD4 zeG-`%`4NN2ok4>~@@5eNnTjP(h#6--?t4FGqR+=B>>>CP;z?90#;E<0C zif(@b+q(NPCR0~$!?Lol&Q2^n9lY|-_c@HvfDrg%^tX9w+v4K{ywEp7$Pj*zAmT7Y zCP1|p2*nbqtWYjtausSR%%sA_Y9^pTeq}lt3oNUox>i*S0YrgJz+6-vO(!E1Is}5v zrxZa>Zz8s)v(1L$Fn83&!N#GRXw;~4va4%Dg08heXK5@ZTkZ5Zin~0_ifJT)3lgQ$fK| z2;JE;Zt0C!?N#rl+Hbjo$QN6`QWAGHb} z#hn|aR0%n<;37>CMO$9M(4;6KnTLj?HC0$nDZFKKKRXb6U$W%*#U)E&MUj-LF4btu z%7Cu&q~1_f&8@D{Gvtt|uD+qMNgE%bi{C797Jj8`k*pE(c_$-yB)+)4aLHT<_qhO9 z{7@srTqZ1$E0jXKT%k%M#M4pzO0{x4T{+cNZy?Iy$xUVzk*>Zm__UVj)1{pL!p;G6vVBe9Jzfg?K;gn-Weeg*Y3aMJ4?t3FDuM7NbtmTBQWVTbB`0Rz1W!3 z2o}vPHlnfQ3XZ;tTx=(v=6vKq1nQed_l();w-(V;t!)cvw=BC)aXJ}w6cjwA3Nlgp tnME>2kh>go3*_FHku9Mo?Cw@_GC%BdZl3SDl!}$BV`gT?rUgDA>M!*I5NrSd literal 0 HcmV?d00001 diff --git a/src/demo/manager/src/main/webapp/assets/js/kindeditor-4.1.10/plugins/emoticons/images/56.gif b/src/demo/manager/src/main/webapp/assets/js/kindeditor-4.1.10/plugins/emoticons/images/56.gif new file mode 100644 index 0000000000000000000000000000000000000000..edf96f0a63e79e6eb80e22a0774137dab2852e5d GIT binary patch literal 1170 zcmV;D1a13ANk%w1VHf}y0Qda>@av*qqBrpW$N!g+$mO5Z?W|4B#0*tze)hmpT_|3yUlL_hdNKmV|$sT~>iFE98yH~&{p|GKdMWmf-ZSI*zW zx+Wsc-oyXm-v5(~`#e1VuA#3oB>$9(|EZhrA|wBOXzd^%?ja)oZ(IMUnerkd|Dloa zAR+NNGVvxR|4T{#w5kN(%! z|GTmOcxU)AGx%O!_KSG&G%&r=ec0vD|Fx_C$ie@1VDu|3?y!8zT}$M6XYnT}|4m8% zva0`IRGrFow9R(^j(h!WYUc3a|Dl%uhjaggfA?f%|7=$OP)qM4B=IjT|ErwvNlBm( z4f;1Y_)SCqQsZR1JD*te3@H#p5%%J~cRsV;8|BH9O(tg23 zIPgYC|A1@%TT$=Ul>dQj|AcSDRsVQm z?I|gRvr_v_MsurC|C52sab)>AIng*W|9fWc9v}EzOaE0)h|9ob>JuctfQ1TsG&1rK zqCpSLQcQSM(c(ZpGc?)ALan34YA!TnlU0vfm=7NNEukYyM22$2Fvu8Xu|^d`*2IXz zqYq275XB&>k)Q)sDqXFhB_VPTF_KBEv}xM6g!VG2Ya{O$hX^C! zu;8(SSD9-Ep_yY41O^xib}X1tfk~N{F3zH$F*t?EK6cRD>4UJ<-=5z}LP6?q%$kLcHam$#1F$f60a`VE| zmTgiB$vLvZ8!BL0ED0zO;L1QN037&lDT3nCmqp_Q0g9)<9jEO9IuH!7AVGK^LvWqQ z7tB!$HbB7FL_tCXV2d6A0H6vN@cfZZ9H$T=009Oxa8Ni81dt0l_9dtd4o*y1p+bEi k(1`)}%(B1_rH~QJ0pxge1`>DdG6+5gJg`AbJO%^+JI{4q@c;k- literal 0 HcmV?d00001 diff --git a/src/demo/manager/src/main/webapp/assets/js/kindeditor-4.1.10/plugins/emoticons/images/57.gif b/src/demo/manager/src/main/webapp/assets/js/kindeditor-4.1.10/plugins/emoticons/images/57.gif new file mode 100644 index 0000000000000000000000000000000000000000..3f0e2b9af46c46a72bb935137f139294f16ab7eb GIT binary patch literal 5072 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 literal 0 HcmV?d00001 diff --git a/src/demo/manager/src/main/webapp/assets/js/kindeditor-4.1.10/plugins/emoticons/images/59.gif b/src/demo/manager/src/main/webapp/assets/js/kindeditor-4.1.10/plugins/emoticons/images/59.gif new file mode 100644 index 0000000000000000000000000000000000000000..918288b007a2b32426fdc06ab03f5567bea96e1f GIT binary patch literal 1533 zcmdUuSy0nw6vb~sfPYBDKmb!Un2-UHfDIZ)T!3us5m^H$Vh}5~wiXAW>VqaM3T}nM zP{(3TE$)K}T|ltXuo@gHn-vf!i9Qe!BTGmK2EIb4&wcNCxR2+Y`Q15T5upLw(rG{g zvj$KapuK?h1KJ1k34l_;91Eu1fZ9I(Q~Pcq5nhapS>iwu3g|U^E*2J&U?>D`u)%Nv zP%@xBV3mL+9>(68=HdXQz(^P@NZ{8m*i#W;ih>Ct^aa6(L}(0xmm+vt5w}N14_1FjfLCE)5Q4T*IUE9ACk1Z>&{`N`T}mGwGxSwkZaG^MphgI9q5$=I z)&)avAdCltDF!CPz;e@hw7vvA_e33@6C!wV|5SB6HWmTD@S%|pZ=<1K1gM44R-Aye z>~0ZQR8*v6KMR6)u~5f@;cueNH{@u+Ln~Lt$XayoWWoeEp1(fO*FfZ5Axn1m<)$HE=+umvnZ)E>9o01c5t4fvtq)}df9o{1iPtQ_xZm^k7!+w};c z`Poc58uYVN$wwQNbGN8NkCeJ5h&_7v`4+`f6k=$@nB{b7%p)Q zWtrOFm8jp#v zcxwZ)DCfE=3(iPWw&!*x`F*!8Msv#JCZ(DENq|$}p}cbc3~(86DszZ($=~-^mW=D# zg2&+>IC5;gR+M_#ZuOU`AfHGkx&f3(s`I4hF#I%6Ex1D{qPF^QWMA&jz@<{kvt_c& zX+M7UoK}0m;dT3ArjV(BO~~I8-)Su6=%3lGz|r2@$}(0q@fzG2DZ)Ha0miAQlI@e# zoOP36({b5qbv}6&rlO?d1P%_WE!fOVq4Xlf-LW#2QzGXdcjDf=t)1jYROIbFk$O)! zb}n0=iczE-yP|KM?TJl7ECg!~&t6H(0)Mfh)JBGVdQ9ZZGHPuwhDM>mPKlh`1?4oI z$bLon0MCB&KzGl1Uk?|`GH~1f1g=prHxV#N0Jlipbbcq5C`t9#NkZk=@Xo6Yrmm*! zYTC8*%?F>{Ub8ja%QtuWO0l>gMtw}naJ;^ah~R#4Iv;G;#aRCZ?k45PnN9eNcJNlQ z4!Kr%+dcYCH|ZfCBoq-a^>&%t6|U&2i?|h<@2(=b4G3&Oy{FcJTwV z1y7DUjaHMid5TIK!f{cN_Hcft&)3ZR*T{v8@2TXMV*kFdX2p&*v|s}Xp19}9vjTa& zX9>lBa4LL{S|18XY{II$+oW3lSrQ?+NToP&qA=xjBjut~bBmm6w}~T>ZOpUFaabGV z-4T}+bStHYIBOX*lpv^kTHa8 cmcA*HM#?!*K&5jT2W;q_(v~o)Edh4?4Hk?_%K!iX literal 0 HcmV?d00001 diff --git a/src/demo/manager/src/main/webapp/assets/js/kindeditor-4.1.10/plugins/emoticons/images/6.gif b/src/demo/manager/src/main/webapp/assets/js/kindeditor-4.1.10/plugins/emoticons/images/6.gif new file mode 100644 index 0000000000000000000000000000000000000000..ceab12242b28bf9746b67d7babfca3d5909985f8 GIT binary patch literal 3556 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 literal 0 HcmV?d00001 diff --git a/src/demo/manager/src/main/webapp/assets/js/kindeditor-4.1.10/plugins/emoticons/images/61.gif b/src/demo/manager/src/main/webapp/assets/js/kindeditor-4.1.10/plugins/emoticons/images/61.gif new file mode 100644 index 0000000000000000000000000000000000000000..034933ec3e3fed2ac2df7b7370289ec2e8feeb13 GIT binary patch literal 1136 zcmZ?wbhEHblwgox_`a6m?c2Ant{vZ5?zVL4(r4%Q-oJnUL>S|~RHcIl557FO_`-z? z*RNkcl<#;%i(%WgZKuK*F0_Ok*JU^t!F+i_=I!a3n>KB_P;R->n&I;0%XjuH{@P)_ zef#!52m4MNG8_+KJgUWTr$qB%GS7o}p4~BOhk_Viym;}s%l2mm!CagKM|zUJ%#FI?!E@4>;YI-0 ziv;0s$qYx29=#XC@aNB;r*+yl*3Z7SVe*$Q^UqBt-=}!Id-rZ@w8W=+t#c*}&-@vl z`ZD~PYIF7K)!R-CuYws~ma9H_^5oH@NAC;7zE5(z>BV#2l;K{X&hFj2za%oe&J}x< z!t*#!?6M`p1_y?>Gypc}*8I?G$PZk^9m zef8?qomkF4O-kG2^gl#1e5}{J>A>(Lne%hE?dwp6quLBttQj_EnS7t+wvLkY5y2ZBzagQT~KQ(AQS>1Hbl;K7s`>%C{=jXNkIoS0eo&U|7 zH~(sdA0~3%ym|AK0mFw6AMVHV+*#NAzT4s3?0{qOa-U)u=9@9ROp{rgp!Wa&e}<6? z6o0ZXGBB)V&;bPiC{HkO{AY;fl=0ZG;9xUzsDi_Z2@e|V*033PZB9&dZW8s{kffUB zFBlfb79%oaA=8T9HR~3N~;_Vt^(mTX?o!k(0; z{)~xX;{1kAZNlBopc-6MoFsO3%pv@W}euX#x|dYP0^%F znB@|eX+qr&&aV$!m5mY=WPB7>`iT3hGZjjfXgW0;mj%pWsx5Gm7OS5nF{yFIVMQsg zRXj5#Yk9-eac_b)o?5Ux9lG#InkulpQy*-gj zUjA)#F<2vXz~dcfK?6hZ8YP9sf1C~u3|xE`lN$LpF+FTz5lV4xkrX?U*sdTXBEVn` E0NRwC_W%F@ literal 0 HcmV?d00001 diff --git a/src/demo/manager/src/main/webapp/assets/js/kindeditor-4.1.10/plugins/emoticons/images/62.gif b/src/demo/manager/src/main/webapp/assets/js/kindeditor-4.1.10/plugins/emoticons/images/62.gif new file mode 100644 index 0000000000000000000000000000000000000000..8d5c4fd39a08d0315c14c963336f079fef8fb380 GIT binary patch literal 1269 zcmd6m`!|~h9L8V4P>%DW7u`{#Qr08djGoc;vPk3Bb)9x?$2P~MdTQztdO4-mlM5QD zOY}y>DxtyDjG|Mq_6t~j z35-`@7zTZXaECRX>J6$ocu*ow@rLd^Xg&`OX;5<#E9V*nrTQY#Xm1-d{VGe^3IH`b z5nV~~aPXE4F9aGhpp~t^asxh0$vR-N3M3cdX=_=KEesVI4F+h-hskO~nMguIV6;pe z_PHzsG3fR9-}fTi5Iz3}443F$zcTb)(*IUDU7CFV_~tr#@KQDX?VP4QIS_80$F%o* zS>bb9&HdxsbdN`7^1{aWsaRFPK)e_Jav0MoJ7UQOaUwLZ^cCrkC&yk3j$*e&n*1a9 zvpaLbcpS&!Lx-woE9p|+32A~aCcMxTO@dlxT_SBHnLL#p3ay#9*fF4P#_EdTNrR%c zaDW><*LGb}!dU6fmp0unmR~iB`7rgTu|}Y-WNK=%UX^FxjQtXNO0oGdV_BZQ?BwJA z+lIcDrK;q<6J*7?uX_{y-nKBL2|J8aN(ud|!4yB^^4poKQPYnmpqJNu`80H1TbO@= ztD5yK1=v*YV7%u9d+#KBubT7SOyOZIKXO_72v@bYN0RXQVQA!NxchNc!V9Q6Yit!O zxknzJq0AQi&>l(F@nhbV9z*_TaeZ(0pAqRJKYjwS1SHYYDY#xJVOu&l)4EWT?p^2N z$0!^%E%OK~U3Y*H626AoL^xC|Q@e0o+)1^v*jdGDYX^7BM|LiUL)e}fGY3^6H$MwvFr#;q{U=t=oN+xbj9NmDpxFF;rY6sJ zgMDa#H(Qiz`u#~_hI571#+9O~^*7h;cHuIe5rnZ*uXW4d*&zbuO>uo$x$D)6j_I9UK!l&7Nixjy}tCM{nU)*Y4+(k9>kR4(Y)+Y#+l)Gxt;M$!WR8p{UQO2@15sJFpd~(A=*GhIq4cK}$ zQF?4?on2BiU5f5?u-M=;h+Mxd>9daW>*0EQv*>MOPIt|;MzZ1>hEP*dO4esR2`&Lv dtCVPvgE%yFpQ%%=KXYBi((l#&CML*^e*q`iZGQj& literal 0 HcmV?d00001 diff --git a/src/demo/manager/src/main/webapp/assets/js/kindeditor-4.1.10/plugins/emoticons/images/63.gif b/src/demo/manager/src/main/webapp/assets/js/kindeditor-4.1.10/plugins/emoticons/images/63.gif new file mode 100644 index 0000000000000000000000000000000000000000..d58fcf671bdb51457baa9a88c599e5d4ae9be4e9 GIT binary patch literal 971 zcmZ?wbhEHblwgox_#VLEa6nefl~2-BK-N$6m5R!@&Mwmi743MX*D5MfUP4m^1p8Rd3Eyhr|j{yoTKQq((q<+v81Qq z-_!_(Q7{?;NFkv3lZBCiA%H;#BnHY83>+&M7IMgVY*=uxnL}8s<&ty4q(&AoF_%wA z4)(K2>A6g?5I8njU9^M2QK0#;gRuO3nZUrLCeKE@AiKa1j7PmSq*Kx?1Rtd}ipyI& zEI9B`Z3>e@-V%;WM>Isl#cVcMTsX8sKsBI1MdDC$d$5KjTaD}wheHtzCI%g)Tn9QB z1x-2J9-K&NWRwl)>WN@#ILNh}Dd&WO;p5c}8=2=Sh)EE6_t-lN_Pqi-^Is&^Kxt91a=6V0fmiyirBvdUp066&0)HGFJ=@Kf5~`HYsQ(Dzu4-#WsfbGBEU9t6U@}moz0( zFIMf0vT`2-!zT~VV-NPfS5mTEAYVJHQZruR|D?|8e0)v2N~QgT|EESUjDpb+z!3t9 zKUo+V7mEFVoq#Wc$k@a3XjEu2?`Ai%*+}qHJ&6L zWN?*HQ!Ko|&e-arWbpFh17;Rs7S1OT7Ke}VinzH*q-+pqZ0EH}2r*cZ(#XKbE;uJ* z(~`CpPD3s&!3|1`mzu<97|9-d)E=T{ZKPr_!|AnZQcSgF;c!J0ygXbcIFP z`VCk=GH|eRm+@OgEMjctlQH69F_UmnXm9M&4YP@GIGEDR#TBE+k?{G^S!r8i9u5X; E0PG>1$^ZZW literal 0 HcmV?d00001 diff --git a/src/demo/manager/src/main/webapp/assets/js/kindeditor-4.1.10/plugins/emoticons/images/65.gif b/src/demo/manager/src/main/webapp/assets/js/kindeditor-4.1.10/plugins/emoticons/images/65.gif new file mode 100644 index 0000000000000000000000000000000000000000..da23bfaac75af2b450692e93890435fde4225efb GIT binary patch literal 5285 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 literal 0 HcmV?d00001 diff --git a/src/demo/manager/src/main/webapp/assets/js/kindeditor-4.1.10/plugins/emoticons/images/68.gif b/src/demo/manager/src/main/webapp/assets/js/kindeditor-4.1.10/plugins/emoticons/images/68.gif new file mode 100644 index 0000000000000000000000000000000000000000..345cb439104d5227534ae2188471176cdff04264 GIT binary patch literal 4148 zcmeH}|63D>9mnr3-!379kOUGU$^}D+h!_wpL@JjM0$S=55fByoB$!gfFNKy-+Pe0V zKtMzq>{_W)8_+pLrbulcsuvk zVDS3AW5Ew@T^p^C_8EdlE;bIFMVuXx4=)DXyB0FM`qkT8(Hq&Uhll)s_z1eSpLu6y z)WBcqBdzmCd%hg%itN5HwTU(e6;`SP|ln|mGD9pW!Rt`S)DpmJ7c&d z&v|Br<8?-F>&hRtvxh$2_3*9DL#ICOEnn-L6Ef7f&;AjmYZui~%l^rz`sr2u(BHD| zZdouknV*rq0wfV%lE}ShJCS%sl+A4SSeXvWsT@6^ z=chKQFBwTBB7oy2!8qQLF^XCA1oo_$Y)K_X@bHl*}pO(JhtQ)*_I&JLyES&N>@RKY(no65BYToD)pA)%HHXWSQuJ92A0SHR=tHpk@pp z?1M^|Mbzp+<{m6B2fLL*NIjLguAgMw9!{mvC6+6w4vKuI5w%`F3x#B;yAL_dy#|`k zZsF$;()tuqnZt7n>p8?8g@TMc9(>b*wi$Vggv|7B(pzq@>56Sram`Y_2Un883%^Dv zoTo|=?gTRvNwkp;u3vN9GKPPIaL~$0>rz>D2xeCL%%^jhE|Ao5kWWG?cMoZXEw>8< zAi*L|V`j~n?Ysp!SFkU8#}95UG)(@6W$4^lK1Qi4K18M?V5I{`LO1-P<5Q!G|%0u96&Aw(6^BHu<_#fw4nYAggMrGNue9F{ZMtGZ0*0PZihMw*-l0r(L?y5j^|)MrV-X%;A8dIJ?Px^ zERI-hKC1itXNPh=eJCK(pVM^nQj6?+&qa9lRne%fon8dwnzeD|c4FqLE4fnHEe4~Z z6>+o}iaLp*g;f_Y9egz)G0B1f#U-8mY|8O(G#4u9Y>`%7VJ6Rr7H74~5@(C#L}_Pg zQ8i|MUhe@*v^J-}I&1P!r3@P2ihaB*_OIB`$=C-m^T=>kN}m-4!Re^te@xx1gV`df z$|R5#Gq_Nq5U}WqDV|4}h3Xnb8JGPQC)aeqvV-bHb~g5FCaEG07uC8*P3FrqU)ma& zn0b9E08`UGobyQpNF=SOKjGY|MlmoARIl5XDg)u=mXw9{sYk%0T2D0nas1Jasqs(2 zo`p7d(Gni(7Gmu3NjGFs3lMt!v@Yqr)*$e!R zLRp<@ayn$zjgW67Co$LhnZZk#i2nv_%SKPD2dB6G;d(DsZA0U>dy2R zO~NSzFchHphGaC`H8n;$Zjw^Tii9$nr--JmJTPt&{|zgqH3_RoJB>+}s?}&mZSrYl z@pwREvt0rGi|$kRfZF?}Gf5pT=Sh={%em4IK3u1bqt9T$hqly#gH&>$G|I*@6nS|a zPFM_dV`&=c*-6WU_@($XgGvHeO8Adcjb1n-&t+HEpx358luO}9(#w%&f!c}ge0G+6TOWak?(K(>Sb znyP(CRi!eiXu#EZ`{~7Zy=O;k?evy;aD29DFf3(eac{Mf$A5cRQvQ9*9yk2*^0nIU6NkU^>$yjS_K< zwuhO3g?A0d&ywhigr7^)WN}GU^jM-2wS6+C z=@n+Br>prgSM`Zfy!tMtZxgx9a$cpw;LbD?XBsoH$S~KdNf$>AVuH}qucjwEqR@Ru zaKxCprIJW*>2*H zIHno3p?gUsurSx8R2ibhqIr!R4PWoKn?Y1m*2-eHBK>{)ofRJ}QIJ`JzbBlTxeK0H zA0*cppKcxgc23WeTCkL3!beWWM@M&#dGnOZPO}bOqr)}0r>?`&Lyw)_;~1b`niNpU z<=T1KViN*xqKuCYv&-pgxP_BWXD6r(p5w1aZ+7+Kd>;)Yh~T|j9pl>B`S{L`5A;Kf zDP}alYhU2(!o)URoYKn0Z%XiX%?(D5+uRt(_~fR~yWbSwhGqbCZ9{xzOl(8j@%{KV f3_eP2t87+4lnp|byg{?0C}7R`Jzq-@VDWzdo}+Pu literal 0 HcmV?d00001 diff --git a/src/demo/manager/src/main/webapp/assets/js/kindeditor-4.1.10/plugins/emoticons/images/69.gif b/src/demo/manager/src/main/webapp/assets/js/kindeditor-4.1.10/plugins/emoticons/images/69.gif new file mode 100644 index 0000000000000000000000000000000000000000..e0f28a0736509c3e339f72c7f582db36bd52ad70 GIT binary patch literal 1015 zcmeH`>q}Ds9EQ(1+uG$Un@yLcAM64}7pW|ACAEvqOg|*JN~!RY6cV~zNNIvOCAG|3 zXj8+cXBThydwaHad&P#)*|=bmTb7`1BGr!uY6Mn}b_ znGX+gLK(JMb8hIi&Uja7#hbFOe65R{Dq;7QUjnoAM*)L;&VjdlsAt1BnI;Sa(xQvS zz;t4+ibGW~sjdz1PBy4s550026MHp`wsE2j3_hU6!Qcvg{I<-a{kQ14B&Mx|0kte!9iAmYKdSM%WcinLx*>tqS(cC` z!C=%MCUQIC=-DA&`4Ix3enK0!{vvIr8i)B$Kw0gN7)8O@;#e&JApiHz3v6AcqX?ox z_O6-NK7p`|2$St~N^7b}XYn_3c@m8wGwg={ZI8%wH!r?BCMwWKdoz*?%exOw$A}U6 z?#@xM!7M@oIHITmrm9bjw7Tsd2^`2T3obpcP-t>_VxPlCVPbS%8q@o1fTQrbD0`3Z z7QX|(?gVT`!*vez)$QC;&xio6H9t+_B@9XD5gsw8OLpSJj}%H%CcP*$|7JU%5aqe~ zbd$UEcL!1L=nF31%`z18kBN6_q7gZ$pXVW8LUTC-AHZUbXS!*NPXxy!bpis_Tg1wQ JNf#D!><`;@O+)|y literal 0 HcmV?d00001 diff --git a/src/demo/manager/src/main/webapp/assets/js/kindeditor-4.1.10/plugins/emoticons/images/7.gif b/src/demo/manager/src/main/webapp/assets/js/kindeditor-4.1.10/plugins/emoticons/images/7.gif new file mode 100644 index 0000000000000000000000000000000000000000..2f4539998426e7cbc4114eb8809b680566a70129 GIT binary patch literal 3929 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 S1FMLNz(F?Ns}TVX4AuY|FMf;w literal 0 HcmV?d00001 diff --git a/src/demo/manager/src/main/webapp/assets/js/kindeditor-4.1.10/plugins/emoticons/images/71.gif b/src/demo/manager/src/main/webapp/assets/js/kindeditor-4.1.10/plugins/emoticons/images/71.gif new file mode 100644 index 0000000000000000000000000000000000000000..a0ccf2edf5f3c1760323012456f57ddd8e31afd7 GIT binary patch literal 824 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 W!5gs$c6vc*pd+9Tgpv{jVEZ4jVr)SG literal 0 HcmV?d00001 diff --git a/src/demo/manager/src/main/webapp/assets/js/kindeditor-4.1.10/plugins/emoticons/images/73.gif b/src/demo/manager/src/main/webapp/assets/js/kindeditor-4.1.10/plugins/emoticons/images/73.gif new file mode 100644 index 0000000000000000000000000000000000000000..c0293c3ab0750b5a1f654fcd1851c5565dfd1199 GIT binary patch literal 2195 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 Cul<<- literal 0 HcmV?d00001 diff --git a/src/demo/manager/src/main/webapp/assets/js/kindeditor-4.1.10/plugins/emoticons/images/75.gif b/src/demo/manager/src/main/webapp/assets/js/kindeditor-4.1.10/plugins/emoticons/images/75.gif new file mode 100644 index 0000000000000000000000000000000000000000..9cb9aa7961f87230f198c3f85dbd14e5999af3ea GIT binary patch literal 1222 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 literal 0 HcmV?d00001 diff --git a/src/demo/manager/src/main/webapp/assets/js/kindeditor-4.1.10/plugins/emoticons/images/78.gif b/src/demo/manager/src/main/webapp/assets/js/kindeditor-4.1.10/plugins/emoticons/images/78.gif new file mode 100644 index 0000000000000000000000000000000000000000..d0d0856045d240cd96871afa4fca7c48d8d152d9 GIT binary patch literal 1565 zcmd7R`&ZIu00!_EfeBu}A|NX*Fcs#|(KL^C*}k9@nJ!Hy)>bFXm9^|tYp1qVBQMiZ z6gpX{HO-kawS{SA!%?=T$@*zioBEUtj^hf+HZUQg6BM+^Q>FH);~Z* z12kZ01JQlXl3^cm3xIPuju`+c2ee!Oe-*A#+avYBp&7uDP&mMg(a_0K0FAjTx^29> zth~F3OWU!C5*VLtnbU?wbSyHob72dUmJMJNoq7)RD7QL21Z{;IcJwnMo-QJl0#X5Z zlDrB|?hH5+0Ox0q>Db+QJa#b!z7$4Q@)(Z+QVHN}rm$~u-*Gn7AA-Zdw0uCi36N5- zkcmzu)I=k90I!4tr}uu^ycuZ#aCifpzYbM?x}pQn)QH>!P|Gv?#DHo)*zN@%`@F0Q zK&k+o+6!l;@R1i(uW&8{zm>BTNpIc}b9$;mkYZrc2u(x5CgV&;E_(6BN_rW#E5n{y zKpHG$&ZvWCdUEEc2OS@P7nQ6bxy$_Q)Y$EfCgW^hwj-SUgjNWsSwJ_`3WwGqS3&DZ z8f;k7ql_JI@F_TIH&(&q+^~LG9i4N)YDZ1@Wz~hA>aU^6I9U2Vy&cPF$F=3JnEQRI z=>$dJvYIRhy+5Xp{i24=%Up`VW*Oe_fYW!;ZRta-PELQ4Mb@j%vr6peCN$HPw9)&S ziSwI5a51wrFTh(Bvy%IJ*XBfY|A@86)TZu=i!DH;2e7c@&2AQ~xWz@)kswtB$1%p7E)C7&!;dH#dnFAp-TmGNIfYu-IBO?O2Vf=T!Iatg>H^vN(NCs_yZSHBl2_Qg_ zM|2h_@@o?<4HwXRVHzT*Xe4O)V4Ns0LBu1L)D$M+gR|&c56Ov%HbQL9y=X?t#%$ST zcGeM0EJ5nzzB66s`>55)13Oi-iITGJT2S%YFK=xcsJHzP-DjNPj)oScoyxc(ZP%W7 z+tc!tKQU>@)niwD)EQ0q0Gdm0+9bg>jtFE+n|E>ur!P5NlI^-CRJRomdFZU3k&5pXp#!Aai@{q?Zk=+&zd+Tow@0nZKVQJ_~H=NA``C2PNe$@;Jz1 zh@3h2zUzwZvQ5b97eUids>TyhY^>$itj}BRIeL?I8f7p!>{~UzPq*{ zg&S29rx^Q;$OmNLMi8K}NXbfHfxYT)=xZ&=s)E{b)3tQ24IkU+nw>SbovON8eW~fRsZhDIHu0s?W7;C9WAdel zR(%PZnvG;_eOv2Gq#6|@4MNc*XtkqRiV#%S)|Zyxwe}C_Z~I|;{rLRhdG~zWy?p(A zT=&pzkPUhzL+~J*AtKgO5IibestJU_bWkNJ&LWs-g2!b+S$3eiwIT@vZIv_%fimtk z4Z*lbL`AO}sGw^~zJv9|BbaI%_z^V(Ay6m6SOaJTpsj$Jt~fCUGo3>$B#%b%Vk}#O z{XFiLJLINHeN)m{HtE}&h?FU4U7ZH%w3QXZ`e06E*~k4%hqjYQQ?M^Zflaouqbr?Y zx&xkEA1xv2OTLB&S-QILi6W2TLekP?KMb*;{|q&Ed*d;bB*)geV(&1V{}vv5DPe%N zdcNlZXe(bXEPygzo#_D6cUJp2hW>oe%iu|sBpm6k`Ny|l%i`nk*Oj|Dl-_iQmov=`ft5$o$68{=NQYjQS$U&>9ZYa=n;g=uBCWC$A3v3OX^&bgZHlxjo?*PQCc4s zU4y0dVyA`Jq$r9tfW4j_9xL}BFFvr=9Rp+aOeF@7iaKM_gG}PAz@H((VEAHpvYoE> zgyGL?Fx5Jo>$q@_H+L%rCR?<8&$Tz9u6b6HtZ#~$yg^-EdbT*xH`m6v&)vSLbA5Fg0MP&W?7=d?n-X}y^N9EE&s|K6-fXd7-eA5N z$N#ttv$xZ?G<@kvoAvPFZ}v&-jmxfA5yiLK7VIHbEhw0av*8!I_sm!173?&j zQ^+VVyC=u3lO$ILm#fq~8ZihLTwUd-Vpp41?pheL?K8i= m&vHrPCKWlCX3;&!AxzpkmC0ZJ7nG0wo62TnN1hEH?fnN<0-_`U literal 0 HcmV?d00001 diff --git a/src/demo/manager/src/main/webapp/assets/js/kindeditor-4.1.10/plugins/emoticons/images/8.gif b/src/demo/manager/src/main/webapp/assets/js/kindeditor-4.1.10/plugins/emoticons/images/8.gif new file mode 100644 index 0000000000000000000000000000000000000000..f6c883447ca373fecdb60210e27c858844add470 GIT binary patch literal 4679 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 OtDG`%76yX`mj42tdy*3X literal 0 HcmV?d00001 diff --git a/src/demo/manager/src/main/webapp/assets/js/kindeditor-4.1.10/plugins/emoticons/images/81.gif b/src/demo/manager/src/main/webapp/assets/js/kindeditor-4.1.10/plugins/emoticons/images/81.gif new file mode 100644 index 0000000000000000000000000000000000000000..2329101a71efc84d76fcdc0e0acab11fa4b832fd GIT binary patch literal 1591 zcmaiz`CHR<0DwP}L&lIuF*#H&O|Aezlbj_?5G=)s#*<+N0zN*8c|ifW$T?*MMCdV={!Xi5#LG40e4#>0i)q@ALlpK5xW<{lTBaI{*i;3;}$} zo2&VJ?ru0bb{CFO;ar!l`5Sby0ghKma=hOt`_WMkPIQLXrf3z(gKut4Lv*C23L3|6&JQ*MX zbb<*roc1Ijyb9n=;j92^T1=v>f03ktRQuT~ z!a(*`lPFW)U9jAE(!f90bsoTHm9k6#ry32yV)(3TIM+jzr1oB2-*eq*vFSUwC=#Vv_T3;3rn%|c;?#vKVA_qQ5Eo}x7aX1H4K&+_?L8l#2dP@f#e< zg^Oa-XqBpx0B73ZGz%48LHn<-h>P`Ixy!9rjDwWL`_bA5F=$^3R6hm)xItW0__3q= zLW$vlegS5fcS>iDwFeORzU8-*H~?Vv_7m*JNTi0BW3|rvL=Qsi%(o6A;m>9tv*n);d&Gsf8@<-chbWwt5gg<#MUjXc8KAc(0k)( zO)d6)Qr7A$U;h-(9G0lO!Fkt?ix@Vq`U^lbAK^|N78ZYpzh+ezBIwy}gI6PxX_3o1 zms7oc2#-}<>beItmJkx7HsTH~s7(2%JDY<7@4Z22Ns-F-J-wdRN2h>Gwywx+-}LlB zrR=IpTuhzijrF@$ZFLQeCOdmOaW2aWa`}A922Ke{xP{p5d1N0r#|Ho^})r`0x6f!&nrKuefeESr>H6W;o@;$Sugb3eS`&?dI) zkJyjw*<@hHMEK_G5=*&OOJ%H8n>@s{$xtu4ozU4aDlWv@(w9K64zNO^2-XO971o3R zGaJ7cn##wtON!9qc?%A3|fKf8MozIWHuB(tmRpWu-7~ zzZolM?=PPg1PtVD->{Doe0;6i;{E+OWgPkMVUw86fMM_Hx+Nlen8k}Z0B3`65CIb|6Tc~Tad44 zKhCo6S)1Ek?GjzkUzk9{e%k?SPq4ZM^E);YFWF#{r!DLP*Yb}Ab0b_`Q@?3NF72p$ zJn#5kV*lkPq1^{QDds9e;MT)ieVV_wa#^$u4~X7dlJ34OGLGz@`h?+~I9ssfu}r;) z(Dyy35qDqFq&h|Vc6pm`7ysoRkkm)sY3oo{=*H(6$shS;Fr@C_V?t~e5{`3A7l-0b zRf-9rJ|xVIZRSkw;a%9Fc#*RYE%C$*;<$b{C^QfUv~fi literal 0 HcmV?d00001 diff --git a/src/demo/manager/src/main/webapp/assets/js/kindeditor-4.1.10/plugins/emoticons/images/82.gif b/src/demo/manager/src/main/webapp/assets/js/kindeditor-4.1.10/plugins/emoticons/images/82.gif new file mode 100644 index 0000000000000000000000000000000000000000..644748a96ca06c8518ed8618b9df99265748558b GIT binary patch literal 1547 zcmV+m2K4zyNk%w1VHf}y0Qdg@^Sy1*hbF{v7S)Oz(t{iAty=oLV&}GV>Zw-$>cr}z zLI3E%|Jjk&ls?LREU{Gp^s!d^%8LHYb?2c<|Jj!E!h6}4GymhV|KO+p)`_ll;@0_ST~O(V5nfGwsi#=d)|?uVUqw zHs6yv_Nr62T>!yq0J&cPy<`BpVgS>C0KaDd#B2c6fdIB!0L*p(v{?Y}(xcLT0RQB* z|L48Uc>vLU0LpX##%}=o(3bJ9Sk{jw|K+#;)Pcxy0J2vA|LDK{$7}!OwEx|o|K+ym z!H)Q{S?R=%+?PWC*o^qmnE&Cd|KhCAdjR;-n*Zm#`Mz)K#g6>KXaCT2_0N+0(wYC^ ztN+e%`M6*9t5o{Oh|Yr^@3?B}rAq(l!snkz>&&CoiYEWxquq)s`_7d9)Q-}NG~=#i z*OW8*$&9^W0{Ogf{L+&D;HdiZ>FmFK|JRV)n@9P#UdwkI(T_~-z8EW&PNq)}CDc(1QKep!Cm`^SENxi5BpnMc;@c-KuEtwO#$ncHgso`@m`7uzu{e zXU&2k>a%Onf++vjjPbg1{m5?kym;uLNYtNb>Y_}^b|B7v82{q0<(D|+m^t>fSJ;pz z{LhQtrd{gFqwAnO|JH}=%%#+cBKN~>{@}0Ws#NpNnCqrf%5DnSj2rE(R`bS$*o!an z%#r@ieCxPy?!R{a)Qs-1UjNsR(~dLOi80iTH2>9#`oM7W!+!k4Y5m1&*?SZ7tx(&e zSlgpq>6|+J&4d5vzWm2<_`Y}l<+%IEec`EI=crl!;jr$|qwK3w^wFF4)t48pl>h($A^!_bMO0HmK~P09E-(WD0000X`2-0R0RI3i000007yuXm00{p8{|OvO zu%N+%0-GdB(xjk5h6o25Nr1yhK_lr{Sd94336=y-3OZT9B_u~Fm$-ClGq6oDDB+}V z{CA~-8D;|pUNL0`&Xt*C27G`MWnh$QxgaAd(3JFso!WIbWQRoJ$ zI6@)|;dtc8882Rr%mWwUNHQpT5*$HD86T5LGr93^^Di--Zk*f{1Asf1-dZ6dRNU zIjBSl1PI(dDZyrFMVT_ZM0_*m;2@J-Oa#aTEwP-Ffe0qN!HOl2lycAv9{d8&2`j8X z!UiS0F-I2${IEqt4`gFa7uVQwLJ9^Lpn@12JTTJ(o&X`^j5E3j*Np)I03rDV1rz}P z04x9i000;O7ytkW{{a6997wRB!Gj3@HA#{LN5X*%lQbb{1Q-`14+R=YzyjkyCsm#} z$@ovojWrg`4U`g63P}r+o+$cMgO#Ds-eZ{KPnTz4B7_j6c#L0%<4iC0!jlUi@dBs;#7#= z9`P*E;|J z&>>HjAP1EwR}m0Ofe$5r9sy9bA&UqJq?8=w7mb7fCQLk};*_O?2@R9bLCFjVZBd6C x`_$qCGH+<0!5m%C!NC>}JphCwZlo}Q0UW9zMja23WFZhFmPlfVW~CSq06TQmCO`lH literal 0 HcmV?d00001 diff --git a/src/demo/manager/src/main/webapp/assets/js/kindeditor-4.1.10/plugins/emoticons/images/83.gif b/src/demo/manager/src/main/webapp/assets/js/kindeditor-4.1.10/plugins/emoticons/images/83.gif new file mode 100644 index 0000000000000000000000000000000000000000..fbf275ba500778d06fb2709e0e5556ae8afddc16 GIT binary patch literal 1591 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 K=l^qQlJ>@a;;dZdr&ZaN zGSi1F_Sd7YYjT%ZvZywA76? z@484A^aR9bq1GZfO|LxBI>c+xt0p6ZS?66+{*_{5@n$mq2{?wQE zv0(q}$o#~0{KIqJnl;;_T=%eE;gdbFS_J>>%m3=d|LDH|$Yj$jVIfQBI2Y*xn2PO->d!Bp7zzB^2dYlzIX1wb?&}$ z!g({#eh~JmSFv0K%5MVcnnlu#ILv<;vRwoAsaF5tt<-@4|IdT}&Vc{ovD1J6|Ivr~ zx@!N}nD)ea__uG&cL4wB!O3#~_P}xf->LuLtpDP$z-R!@c>wmmZMtOwuUZ88w`Kp{ zsN|bDykh|WB9EHcImx@`PQ5J)|>g!l>5||`_7Z^uvq`*y7Iqv z@wjQSR{-IYFYc;Y{@tne$Aj3BJ-%oG!)pNl<+}gdp#RK$|K6$p&4Ko;S?{r1^vQ_d zoJHflm*bW-?5a@uzjf1zGyKJQ>9u9ec^vAhQS7W$^2UJq!h_wKMf1ac_QQDRuv*@Z zI@*UG@w{*OxM%Uni0Pz9(1a_#Zx#REr~lfX!FD3tlseFRAmhTL=(1h>&5-}$u+NZ6 z|KF_CgCgw7m;K0l|I2;eqDs(o1<8Rk;+aD9%Zb~pegD;w;G8-6)}Z*eXxWoG#&sCn zmp#&%T==qJ`OuI5(~SAloBGt4`onzt#ee(9i2TQW_tBO3(U$tsl#}fSoW@5^2LDo&yd-ZF!|G%z>%A^!_bMO0HmK~P09E-(WD0000X`2-0R0RI3i000007yuXm00{p8{|OvO zu%N+%2oow?$grWqe_JB%iMXX9f-e|d*kJI51PP896Ix(ELV*n&OepBXaiNqM7fTu( zMBwBO1r98G4OzqI$P*2M?r=b0u#J*B4Gi!rcEx~(9u0gD(BQO98mPoIwEaVZrQeQJoG18L>#D29lW@UK~u>AfVEe1>MdaTf>MTn|y4>h}k_x zgaZg3Y9PY`C)oitYzX4XL=TTB6ez4XFk-}x^?D%mB$0!M;4K=)E^&RMLubGWR-PtJ zLc_k9D^$MDl22naz? z#WFBF^2!5>bm3taDgZ$PItf9c%?vQ`l0pI%wD<@M>=d%lEQLrCM>L0op(8Zm$k<_#wjDpLTDU{h1J=PKbgX(j|f<$IJ~c9t0f7 zHbwJ^MQb_~{DJMq7%`~Fc-SDsUyTJQTJccxqhOG7pQ!Lap~uPy2p(!6n*t{mDO^Dc zb^I zLOSg0cVth8u!9iD2SW-EbfHKW2zD`!3NJvAP$5;!FyI3TRAAvFEW}|71`0uefh2L% fa!42?rXo!ig)me=7Fm$NB8y~%QUF8^1q1*)ck41~ literal 0 HcmV?d00001 diff --git a/src/demo/manager/src/main/webapp/assets/js/kindeditor-4.1.10/plugins/emoticons/images/86.gif b/src/demo/manager/src/main/webapp/assets/js/kindeditor-4.1.10/plugins/emoticons/images/86.gif new file mode 100644 index 0000000000000000000000000000000000000000..8f09d336a30070add12af16be11397ac97436234 GIT binary patch literal 1519 zcmZ|OdpOg390%~PWrc;3Sn0@8opid;dgSt`7!HnvbR?0>=91i&lw86_Q_(tEDVJi! z2^HOp7RE3kw+@Sy%_WyOq#c*v=J!21|DXRp&-;1*@qS*<^ZC`@*2L5o5Aa|ff^W~f z<&EKRunbB{p`--;RD^yihM(?B?pVN&x7v~oVDB|vsD`W|W}z||sq&e7;@%z$+G4;| z$Fhkm%FYjW>yKchnc-R#SJEBEb4Und^ zo>YUjR3g%FMpjLcz73t?#z>w9O%=QMJUZVHiW|+f9L+g6nr%LE$E@cju_2!L!X3cj z*R9c@B^uNQfj54DcLr4X066*<;rhX`+Si`Tg;)Hu0FH3#LqJ0q;QE8NWbiHuG@k>F z;mdhNg%{{b05ySNvLdp~4SYxf(_L&h`K~$ubSHwP-h!q`0NbgH9B*lDe0K)1{5YsQ z4Fpusl}_Y%gU`23JLADnCJ~NQ$~tbtp%-wnRa$*P+Lbr=A$P9yIGk)*60&D2LqyDd zlNAx;59~YQz*65MR8kHHpTMD)@Cz4yW>51Iq%|?py2~#;z;yY^MSeIG-Gc)~vmC#< zH$Ku=rzZ+*;rqz<@!O}L9q-R^fZfTkJ!-zpYq-=K?a73qtm(27vu{G@YJz)jTMlMh zBfJPym@DH`Wlagv3g3YYlc{3YcKXigr>?LkeV~*qZ%cs_eEIuyc{}qvCs0~RMg-@P zx+pQr431ULmwUj$r^vfFwD+#8@dErngZ+1r<`{V!18u+5ebrFT4}p?rvsFQG;2|96 z&AjlNc}YfEljJRl9jUt!{-p&@Kvm%S%7BgB;Pq8O8_`y(v?g{u-%(x{D694#DDqlr zrizzm@Pp^x`Y$zw!0}os_q>!FJ(@>C``Pue#-e++P?Q7zN?mw$s*OS9#~F|2TJ_(v zlhucP%Cp&dJ8@ z7|GJvX5Sve6$(G1MMY&z0Ku;1d-+N504PBKl{eXyJ>b!l*6nmNvALRQfLnLcgWcp{ zO?L`gh@gHG=lpWuOVob60-1gjyRD;=U`a^dbe}396OI)o>6mKlbRpR^tL(S1c)6DS zP;K2dB_3Y^vr=Wv<|Ft0c&@2RT6Ei1j?wdx)HV8XVTMMSRqAW?m9Aw9+_(1KHMhB* zyVg~ar^;D%bWB*HulfoTziM>{ArL71v~uyE-zW+vS@wE|-3Z%?kF&J!vu;Kg`7U|q zqJJ+pFZkOI3wkof%)nO$Pgm7v=S{;kUEY*d z307E#FD0~l7U>CTOon^VExluefF(y|YMFXAl{vv<5bAZSEO*#ymaqtTD;?C8F*ak@ zpopC&`wEE7ZbMd9UJLc9T2BR50>UBr%wgm2N-vx>QF2!P_KnCotb;aI@dq&W|ABE% zH@8q6>aM`j(oTP@pViL?;!MgJ5v?p8e-qv7Ge*gFG>tJ4bB4K6Ex^R@Ib%b2t?DM_ zTYu*NLB?*()9qu}yI!%^pr0B95)781Ug%U4XFwXp)olw9?fOV12{aBK$l8@eyCTq_ zlN`o$wj2?p6FljL8&(zLr|L7Jj?}Bsyq#FHgFg3Z z{{b6KsqR(7aq*>*lNtrvh1pDJ=b%%MPdw{MIT1oNRH9Q7egF^Y?hce%GjWH5@pT7L zaf%o$13T@wUS?-%aCRBkc!BLeyt-8{ZLbH}S8bo>niVeEXjy)P`XO?yWW~uSo{J`$ P8RVDdk`v{67?}SHC9xom literal 0 HcmV?d00001 diff --git a/src/demo/manager/src/main/webapp/assets/js/kindeditor-4.1.10/plugins/emoticons/images/87.gif b/src/demo/manager/src/main/webapp/assets/js/kindeditor-4.1.10/plugins/emoticons/images/87.gif new file mode 100644 index 0000000000000000000000000000000000000000..df70756f0c74d0aa64c84efe026966e941f40aab GIT binary patch literal 1558 zcmV+x2I=`nNk%w1VHf}y0Qdg@{LPC0&vfLWPTihLp?a$?-P~o0N z@Y=oq+nUvdE$+mL`N4Vdzje=n9P7Go&Uqitdm+PZ3G1Fl*^@fhkvX|v0Mm*nvR45A zB7Wp0K;nlyJ7&kU;w{o0KR4bz-R!$Y5@P` zxc}07|Il{Kb^yyvBGyT?@{o1Ad+NSo_p!v97|LVm5;;{eJg#Xor|K_^?-JkK_%>UPo@ywX?)1dv< zm-f+@?7D6I#A)=^rsuI~`nq8K*rME(I?;?X|JjoN=)eEuwg23j{n(@b*pUC%jOVgz z|KqXuv047oiS*E#*N`^iz@GZLV*0*l|K6kj*p( z(R%;nvg@!{|K+v+=ez&sy#L&u|I>v3)Pw%nq3oke{>^j$&T;(6c>KzJ{?B;Wlt8y# z0RQK{1<|KYFx-mKx7LH^Es@VjyI#eDn9iQ>PW z^U#|8)}H&%mH*Ox+L%M#nnBBa9Ob7>?73_G$8GGlX#d}*{mOLz;H%u2KJTnk__}ZY z)QBG>3 zEB@T1|Ln~F)`#@GWA(mg`MF^DyK(={bN}6-*polgjx+4CTK?Uu|LVrljWh7PbMe1( z|KhRvxn%s#j{oGe@xgc1kTdwQS^ddx&3qiqeICqy9ov;a`o@C#$AtdNZ~3}s)Q>vw z-pux@Qvd(}A^!_bMO0HmK~P09E-(WD0000X`2-0R0RI3i000007yuXm00{p8{|OvO zu%N+%2ooy&S0qZ5A`24^p<`x9M1(L}B!OXY2@DuZ6f$|yf{8&USw@&lD1@XCgF-aE zOn8Lk5rZ{b+)Sth5E~^1m5^xxG+~S~HDV|YqcmEKIWuA?yppHE3OIJI#92@w-5noS z26A}vM9jb^UuF!dfd-ctFf~4i@bP5ejZ+IU+z@y}*EwGATKKtf!O@HxjrI=Y;Ym|A z9{+fZiR25K0|z_`Y{Og(GQl1AEcMy3;{h!bAQZ^ip#i{ZMmr1=QD9{Tf(Idp5J0AZ zh=5hooOK{#&7Qijd=A2?L@yNeHxV0J#)fwrpKM^@fXzgZ)Uf zqqJ+%8bQlc2@@nijhb!~5GFXlV4gT20A6AYfB}HwjWr3e;Ez0YU?IbUh{zDiHF$V% zi$YHL?bSMiA;K*}=6A>BV&xt3VfT9r>wfIj!03rDV1rz}P04x9i000;O7ytkW z{{a6997wRB!Gi>gM2S)ap~Hbg=$IMu@F9#ANnjXU0t3d9hfQ9zXkxHQmJuW!QV~hT zAQg-)9U>8l#Nf;pH5~>4#3qQrAY@wjbm*c?4HrnmAdTl@&I}h1tK@000*;+3aTZi4 zcgIJSfgGSf*)tHzml=ai@XDS zkm-Z2$G;xABH4qGhFy;fuF~{?<(Qz3e3)wJ&|yWL30Aho=+NL!^)MXT`If~}>3UtA7u!Mn8$|7`uH=q&JICun-~a#s literal 0 HcmV?d00001 diff --git a/src/demo/manager/src/main/webapp/assets/js/kindeditor-4.1.10/plugins/emoticons/images/88.gif b/src/demo/manager/src/main/webapp/assets/js/kindeditor-4.1.10/plugins/emoticons/images/88.gif new file mode 100644 index 0000000000000000000000000000000000000000..4d8b15e7e625ddb98838f58ca001f3163c5fad45 GIT binary patch literal 2134 zcmeIx*;f;08prWB5RxDfSu%0He1Jb%FN;&Z-_?>-+_ zw_pok0hZ=K-3id}C8!Mq;&AZzBzWH#(wjnQ3I+F%gNGrYB?8DYC>rT^16L{1R7xj{ z(tjCraVYIqD8i$l>KIsjS^-}c4KM+mt{-Fp*mrK`HVrD9;pDxJa{#J4;8Y!)Zh-wP zMXnc=XXxbFaO(bQ54R_g(i;oli=sE}iRw~cD2alyIK{*3us;sUVwc1x;Q)K(@p+Ae z|1y=JF7c9bw~z4Lmc_wK;!_&&Uw)|w)V7~qtfH&SKZWv4@!3sqC~b8x?Oo-u)y_++ zPfn@wUA2;A<-RRes3?OYg4U=_vIL;*h|oQ~ z230L^{D+>)HWLDG*caWMK!PK=P}Qoe30I`s!P!T{-%{qEHR&V?>hk^L0&k@-r0)_K z;eQNY)x2+Is~Y0r&k~*DC-|a7ReurAKGuzv!O8o-$eUD+T=;YESjmw$-C1z@!BD#G z@b$d|9HaN$SKH14Rqbg_4-d|Y`r-|jAH~a(i1X4S8Os<>)%S6U?`lu4_UEk*<#$B` z84Eiq@O)L5FkkuAo0lzfy+zA&W7=nhLp;h`S>78_oc3w{!f?~dlPg;Joz=mc8rgN# zLnc(Vs_HIi$Eug^oq1W4u=F5C-58^l3lu*Djplx=s*BNdXFkoM%>NiV%(qike?40n z2CMuOSE-xg22$;09D?peg;riP zRdE8&G-`)S-rYR{{)Zz%qeI?Dk9gAjy`6WE^$~xcBCa3}abONOtWQl%+TplGjvOm8%mS9{W_!dxdHu+9kJ*J6y1 z1sJpt(TxHW9KtmPAgnzDrU}AD?*jryFTeU_)2RYr^H*fb-m}(R1B+cd8A$hl=~kM1 zW+=$5o=qZb-QrTaaG2Vi&BX=L+AJ?E@VpV2<|=PfoRf>#-NeUX9EmbO{zDY}j;PDO zL=__CnyAAGcI0A#18VE9(Jrp(EPG#)Q7Pzjw58b-4maS-(`a`74L%<&NSU{`)9u2B zRP~^@_@L3o4CiBxN4?O-I3~~2kFR(9r+{trFluKqA~Br74i$-*HF;)t2t1TNN{?iH z%$lJzN&W=+9X=z{&V%&HH>-Gy^UQD4c3o6)U3nc0Hf^IB*?FM#Q?}W@uszIk&CO|O zleTCTWGLEUi@0rH4N>9~ETT$iL64H`(^N zabrv`9%Ju}?h1IOvi$Md`aQ^@uS4)|d?P8HbiW{|o?d*}J6b_SU?R%$w}E7A9w!l% z6K~;Po<#ljyXo05Gf4_q75d zM1-gsA;NkCV{0n2gO}rmiHJ8fFI#77w&Svwn*&I-L?~`z+=CH52eB5ct2wbzJPBzt zwbbbW(JvXb{)2d&^tBB!aeHWE6?#J;j`45KR|<~Fp~!!78vI_EPQT^+f0+Lv%r(i~ Fe*@T%#YO-C literal 0 HcmV?d00001 diff --git a/src/demo/manager/src/main/webapp/assets/js/kindeditor-4.1.10/plugins/emoticons/images/89.gif b/src/demo/manager/src/main/webapp/assets/js/kindeditor-4.1.10/plugins/emoticons/images/89.gif new file mode 100644 index 0000000000000000000000000000000000000000..05726dc4abb26afda444aa8b059006bff0af1bec GIT binary patch literal 1219 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 literal 0 HcmV?d00001 diff --git a/src/demo/manager/src/main/webapp/assets/js/kindeditor-4.1.10/plugins/emoticons/images/91.gif b/src/demo/manager/src/main/webapp/assets/js/kindeditor-4.1.10/plugins/emoticons/images/91.gif new file mode 100644 index 0000000000000000000000000000000000000000..608d0ad87c31a4e2ac8a28529c7af1a08a0abbbc GIT binary patch literal 654 zcmZ?wbhEHblwgoxc$UT>DJ1%zf#LuE|7&H%|I5nUHZsywQhm|M{`lRmIdkUxmy^A8 z=lzvb#)}s&|3AdY&B^)yLBzg8r@sCEAL1A2Z=n2oqh3UK`hOlCU+-uUK`9|VK}C7Z zoQ#59i8>Z$E+2mVDzz8-e%9^Gk?m*Cp1m}qOiEmF>5^qn=Eg=z$#k~1%SkIedi02! zgZBal`^yb=@0QDK(b4g9cb}@R{y#szt*ND@sYQ^ROGQcN$&;r?Sy@aBZGF9?q9U`N zudA)AX;zfel#)<9%*herAE+oQe)#a=V`r|pItT47a1x50c?DGz zbwd5aM0xlWgvGXR+qJ|*Xj0#Vv+Y*EuwtMdQ2fcl$iR@spaU`z6ekSquN%^unp;}i z+B-VCx_f#U)A~DO;yrW{485BfXV30PVi03kWX7-7G-qy`h19}D47^PIyvtX%nI^7V z#KgdFH>)!scISE~cE01?UQ&k_C9|LJGUf_mzIu&Wmzljg(24bP%N|W<4I=~A zH*dnimAjqH0$0LOp4Kfr?l^5_GZf?6uWBFp7VSD>Pz%Rrcsr<j!>0PZ-p&h<- zX*o@|TUafn=4EL+uT_U{=Sy9w)pgl6!I#vz3%A>}g!rxgf&Bsd{s*7WeZEP`#HeUJ z4sfvA1t5gO+5XE*i)6*&pBW&F1vtVJM$-t*cd42z;&L&R_hzd+EhWWrs$q04ootgH#g(^L02nzP)O zF1;(+a>JX;L}-0<>=lc(Uz^dznfuhJOxtqM`n5VeJew@1Eg3Ch}mhNAL15Eg{&+M|NeIJ0idGeT;#}DszeiZqn z3`B2>NmC?^U*HV(^}*$3Yc%~w1cN^yZWe1W6L@M*j^u*1Cz^64W9-Rvw-V?xvljkZ zow|C;s$;+8^ABd{6n$LuvXL`gQ`2&;^-yuigvAOsY*=1fb2e=C0MO9bG)tyrQQ4{S z3WsUS(?u67E1Q{_fzO_;x!urY`ukz`AAvzLFV>^{p6=#3^V9oGpJ~kqoR(*`ru$N@#0toiKM!T zh9%?;HEgPiI*_R|8VRH**+SJB1s!CBxgV*c9KGvQzEm~Aw%_YiY_-pIWwC=e|8V_R zJj1|Pr5CX{qr0b~ZEpq9jHd`5n~{nsto+tUe1V>Xlm=_<#(ep=6fCT}l5IH*BpBuL TdA22K#cA)aAqVW03PJ3@f(O+M literal 0 HcmV?d00001 diff --git a/src/demo/manager/src/main/webapp/assets/js/kindeditor-4.1.10/plugins/emoticons/images/93.gif b/src/demo/manager/src/main/webapp/assets/js/kindeditor-4.1.10/plugins/emoticons/images/93.gif new file mode 100644 index 0000000000000000000000000000000000000000..7f71a8c94cde07ca85f7e7880732cb41f02c053b GIT binary patch literal 1119 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 literal 0 HcmV?d00001 diff --git a/src/demo/manager/src/main/webapp/assets/js/kindeditor-4.1.10/plugins/emoticons/images/96.gif b/src/demo/manager/src/main/webapp/assets/js/kindeditor-4.1.10/plugins/emoticons/images/96.gif new file mode 100644 index 0000000000000000000000000000000000000000..2b709e15bade2f707632e1a4bdc2b7e97521b4d8 GIT binary patch literal 1796 zcmeH`{ZrC+0LMQ(2w!=SuRw}~^UG<@kQzF5nyo<4$TW2`Pn&CE+U#o0T4il!pkk(` zSX;B*F0klfs~_-Tsf;=_OdDIGS=losF3K%aNkz%;s&%)!tsi%{U-teB-tX7F-piK9 zMMlY3fCVOZ11{5R+&Me57dJLGcIu17XKbIM!jkDLTW?oL>@9_ZkEdrX!8V(1mKS_{ z4r4kzVy2+rLTA?x4En7?o)3f7*W2faPei}Rq7+J<7jrT%&(Yh|)ZBbk9#L0U_pHl% z;Et`Ty873%l{W@$ED{MdV~%N$4|6ygHsu1r&BR487>r^5eAJpg5FWvxdiGN(H?Q}j zZ5Z_C>XmVE=po!T8jPAS%92u^f8b5!B6}sVO|Pdww6FysdKtg7-O!(lxhsF`;qdUP zq%?{rJz%b%)9KtK|I#@**>a|B#^o9r8F|{Kw_LlwC_HiqMO`zlMs1~pU4kwkfKJ<*{Xd;gQ1n`arL%s_T+a{cg?PAH&7G#wjvC5xu%BtEth&v zgzzRNr_RH$!Pq%*EcVfUTF-XhhC^km(lbBLOn5RnT2)Z+IGEpUww$Renlzgyn#1)i zE$8$tGe0Lz7&BYmT|$8%^ku;R`A-ROQS!>z)c3`r^1UB^w)R%+Jq} zl`~mc(tH)S1jllF&uXtw5dq)}vhpleQAyN7z)aZ>gT0)@)RXx#5e^@nTxIxu23xIW zuw2rE9B?VS6!2gnZfBz!kQ!5gP6eQ_oIs*#i_(~^%vyvz2`#+{=KFtZuS;GhQ+biM z2Ix98@x>wJ)%c77QFqM)OMQ|(zd`?Wc;FNf|2h`q{~n95u(9lAd+G1wWWrgd@)!^n zsj(Nw$Pbdk@tS-qfT)1j1`rue%y#z(&B@ms5t0CCMI7L3Hv)yqUToQb5!S*au`RE- zUQU2MI9IC3#&^{!KXqm8u%6g51SD*_@H1>l?otdhrs*ZrC~Q?z=Evz4ENyA%7i*p}%uDzsKDluD1-j z?StU2k_V=WJ1Un1azb~=@a2B~MRG?*NTdK_>xu<^$>+r+BI3O20;0S@X){2M;L>@_N+$`Y&`YR_sB!dcmK*!#&H{qoLZhw1&@t@0K|2QP3zKhKEM844&N8Oa(yAmREKx56t1Hrs7 z6UM4tK_VO!I8yp@)!tD@1RK|nYik22N!Zb~CYtKN?&=_l?7UVzN18SjvL4qJ0|Ioq z48hv6!_gabAgEC#@ra`1Iq5$VS3v&2>l`w=%+2qOz{RDS@ja4EY-6 pdy_y~NrNP&ELe=khAb%N|AyH1Jm^usxwTxXZ+>{0fWw05KLB@?Q566H literal 0 HcmV?d00001 diff --git a/src/demo/manager/src/main/webapp/assets/js/kindeditor-4.1.10/plugins/emoticons/images/97.gif b/src/demo/manager/src/main/webapp/assets/js/kindeditor-4.1.10/plugins/emoticons/images/97.gif new file mode 100644 index 0000000000000000000000000000000000000000..cf29be87c890a6633eda84dacba996a29183c09e GIT binary patch literal 5300 zcmeI0YgE(s8OQ&@5E6nc2?+@yAy<+RLN1VmV1ncVA>2a{0tg`pB8p|v=@D9`34}`p z5kwRyR6&N;gDv31j^d64m{g}GMH$we0wY?SbI01XN@dO1&V0c+o}IpL-u+&G&iC{E zJk5yqKP5QaM_l4I-Z!Ck{=N!2=&S!Kcz#9Jcu0P7s66b8X%nC5dCRBIH|>(^3r>6kZmk zIYOc5=Ir^GotqLtd$n-Ob%znJ-sW1&4)7=W`w=5Ws-G71uO8i7F!R2y;xOr4ytnrf znRJ6rzsg`-B4Q;X)#&Kx+S==}v9VZ{R+qkmLFZDC$j}gx)A^|Ca7|zU^&n5&*WFXa z3r*J=eqfLt_SqFO>He%^?e*H~>M9l);DbcHUR(RpVZY-Au|vI@nwx*yKd}1prK>2z z6(_tpI_8o|Gt;tWXJ@yFB?0@$m^7eTL4sqoC}@)bz!H^K=5` zivY~E@$tOvdyp9H$0+pISWKN*5U0|at1KgzM`vbkR)&T?%Zzmyl1~QUPqv-vYH#oD z>AQvSd5py_E-d^YKf z3Z=EV$zgZwGaa~pe@-cl?#E*DIT7dasP_&XQ7TgAaQ;V0R0ok*keU4~gn67B^6Oo@ zGt#m@>^hs1nw}TKD=?G^_|im8+E!`eFb4hP$R*~S7xac4(QPiL1lIelvC#x#+*@`0CHnfUDK(+VnWWcYWnO0D^D z)vOQP8YV0*+^tb(>e7v4qo1cJ7uycsd3vfR0?feIG4W(1ONbK6%2y_ zE`YQCUY7(10MH)+7mT18Iy+GV^<(GF3>8i)jx6@$(r1pVEbnn!u9GKPTG59H&6VGJ zfGlKX6Am^q&vuVBt|W%}sq7taNh#S|NtOh!-apY{$6)eoUtk-L(Vh)l9<9(nH51rp9?{_Lp@ z<`IA|)xJ_%>io$p2o3BgnepPoB^5c!n#t;*-_V(dmzEUZqO_{gY{U}ibZvt1dg(}C zeG@VK0@;GxN%<8czNAe)d%FDW3JsgowUx?3SXN#~SA^mo0o0O@12=*G3#B z)<0W@RS*oF-^X!IIH4vK zG>dHR1$!T_jqG2vw-(jCBy2Gyd;flTczpG{mD^t6x8eDIBc7q&$$GD{{>k=G&rAD` z1vOWm0)ZefZ>v?_KiCU+@ie$>IlTc4FUF6)`)%JBH&3Dbx0OmPkKcquIk~;*K-`Z` zxZg#cGgp{*1#V`Sj~fJ=w6U|cy?^^}BnBUl!qxA{FF<24P-t=KS;Z3E6Q9esf`;de zeT75ahk?uHn$y8T2?wx!0J>m(SXWVjn3!)P;r(M*kmZ!o3{av;BhQ^~gMh7J$x0t} z8z#CKOqP4Xnpp5ke$-#Pz||P2k!7(JEo}~w9B_6_$m)Fw8Rhcs)N5l0>p-Blk#Kvn zp+?-^xV`yV-nfJEe}m$#l?}Dx{%_vQX>M=a-u(PA*6qz3Z`_5tp-|m5vav?IH*Ukf zTyH!BHj?;-d*jLa4-PN@27CeN`k6$(zWA>FxzN$@zUjq5oCKjiio{aC{M_7FcnvMm zecxDN`Ka;TO{<0DrsK=C{8vBS-u~dyAG?k)@}YlMXPilB=F0!HH=Wsd_e{=8!w}PM PZ8)cCg}lHb0O`L0!%Y2- literal 0 HcmV?d00001 diff --git a/src/demo/manager/src/main/webapp/assets/js/kindeditor-4.1.10/plugins/emoticons/images/98.gif b/src/demo/manager/src/main/webapp/assets/js/kindeditor-4.1.10/plugins/emoticons/images/98.gif new file mode 100644 index 0000000000000000000000000000000000000000..c70e7d339fca9d0d12b9e66a1fbb6a68f4c6f4b4 GIT binary patch literal 1629 zcmb``=~Gi@6bA5n69`%1hU^O_VUs1YNKo85LD@k-ML@-o;D$O{A}%mRNgzPbfT)au z0}6-&gS0Fv7O^6mK~ZB_+%Xtzp|n5|p@G0#=yayjPCxWRpFiN7Ilp<1ufLDS3JDWp zLQ?}!gG6XaV|MR`S>`mLjWjnUw>@ZN>^x2)IwKpi-t!8-M<`VRJ}05sRIi0VOO#5eH8u;CUP#ht3%q9cPeP0x|`S zLI*gQeFWfI>2+W*9FpZuPELYF7R6-b$D4_OKxk`uI35r(m}xQ>A3s-KQ9`AzboUr) zNPc_HtIC2gYiIvXA^P0g2m%8OzuH*l>M&<(_qK3Pe|}Wo#i*XH$0w6g-zz=U>W=y2 zXAFk-GUwTcj2Q~0_uW9h!dW*s{7&WDcT(7DEtqw4t4iNGr^*^Bovj&kvZ>jKqp*@MCS!|$$hXVp%_We+uykX;pNWES^<>uzL#1)jo`}Te*Ad~Me;w|R#oEAIA5eSo0 z`iA=YtH%PqYp8!}f&t&4T!bQoNE}p|lrUL_83Sm8iDYvtCTH?w^46H0mJD`RSC@Wj zDl02X^Yr;8F16m)wtzz$=J7xSJWQu2P^pbPUQ%>O3l1xwQqxiu8m!5&qsO~FR!~gI z2@!r@C#@fsNK|yj^vczsnfzwy(y7OfK><4dfFJlH^9cWM1b`6i9kywmXQ=m5Cl@q4 zKV6_V!kIw>kZ@ts!ka+YIj952^{Xy=kcy=^M5(KbTQaa^6E25!tr&M?w}$^g&;|*t zE_fW-P?Rc{^4eKra)tLgpA@mGMPt-*$I4bC>Wo4Arc3?X)0DraAe?jrAGS}^gcSMb zq>IPeLOZSas}A3k6$`L*r*^tS!u7S!h;~%F!SYYLjNLcmC`OUd{*SJ>ZvQ#I{jCvRc<%R5{3wV@EaJif%GTGVfWLEu@@p6Q94dGjdZS;=5-Ah>T*Ydo4ShRxFgp5eh7^;;mpsoo%SUuvcd2MZ zi4&3PUN)VTM4gigVjB6a=>i3+5fM!H+}K8& nf|?2vjZkXVvPb9>MGz{H?Jm^WG#qu_Ej(q+3%Q&mhF1L!e4&X{ literal 0 HcmV?d00001 diff --git a/src/demo/manager/src/main/webapp/assets/js/kindeditor-4.1.10/plugins/emoticons/images/99.gif b/src/demo/manager/src/main/webapp/assets/js/kindeditor-4.1.10/plugins/emoticons/images/99.gif new file mode 100644 index 0000000000000000000000000000000000000000..05c18635da1b3258e044e30de4f7a72058bfd6c8 GIT binary patch literal 2261 zcmeIy`&X0q9l-JLlRODYAQwm=PeKAoxCO`{gou$=7jgp>FkDo?C<%(As1z7g>V+j- zBt+CqprWWv0@YY*8>_OmoOa<-q)dBg#e(*@1?(JhdN$BbYfs@BP&VmK_aE%}`TP9v zeSJUgPjae8w#I+}1fbzyZfh< zePbt7dw*N`ZFKbGiJOHI3EBsBO8urE&kHzF(=hHE8297YJ#kPa9aQ3e#I(In| z9i-0R7B?L~Udv;mPoF+zG8YWaDCh;@kp~VQI2{%?HTCFrNC^5F^hXv8MUV(i@JAnh z%x5r4!@`D!{!~LEJ^I_!QHzyLB2^!*eLOqc)%EVy0zClGE$gQ0eN~3ctP(Dl$qnjb zu?jYA(Qe$>6B;pfB{fZ2dg$6@MaPZVkN&ETpuFIEi+!%_Bi;I=6 z630q=n9NhHXWmDU{8({^<6@bF?y$f0JH3zdXgv7;_df*q&tW11H~=5@&QRxME0eTp zNsJf^EgTmu{<4?}AfP}^7CabdaH6~^-??Q@RZU)dxupC%t z6tF4O?`5%GZuI_@2-eApB{jjO6p~PDOfuCHy@I6ts)!mReLt`=u49y@i?{%htc(Zu z(kU$^{vUt=BsRXn4aM2smj60hxAV^1sXUx${eaFit4?Rf@Ba4M_-#|xNkU~erM#k! zfa7Y~t~EZvlh0GQY@+n_@3N0VQYURZP5${V>Sp}S$Q@Rd1;QRGyW3~GPG)WEOJmu} zfW?>0F1~XBug27esODxyKyN7>RH^cEaVb_G*87N;Q9j@oxr$L@F7If-i8-=dCJm}j z^Cgp3rx4tqe0-1?C>VZoBdV8!fAcL^;TNQ+%T|o~2dO3^e)}P0$i?qx5Pb-~JbeQo z08UBh?>#06i_sMu_?{X~!%CU*@kg+F9cGJO=)UT%!Ff^YXjKBtrwj_nq4CNfbKLe_ z-x#rlMs4P)d6yH|qQTlyILqx&-SkHaMmyuK4rbV)(s}Dt)O4MjpK+XKxAha66UzT= z>y6hNg$=6rUZv)gI2+%_$?Yx1Wn#5W z#Ut*nv3Q~1S%yq8N~Mx%;|Y*4x#d2l3lLB8l>rlgX3iD7g|8sTm44>}N3dSrCYzNS z>42W&iO`o_1+j+yzZ+i|K?_FoC8H+`^E5Eq>4vef>j=6bt=j*TL62O4WJee}% zHbPL$H5aXn-ysjhF@$cLySENYJ=3-{H0{enqg?CDG3SHArc=!RM6p=Q(Dc z1rrcf_^$hVNBFVRt6oby1mv6Dw1{N0cEnJZ+Ae!_q>j6F-y+0gKWpO8AkaAnhA3COd8|^gBe+m(2*$cJY zOl+~1FYkV*Lv=RM_|M)V@7g~k?5rg2(4P<{gs`Q^Fw@OSNK`NOkW@equTuGLTJ8b= zQxDRC55DNfAQX-Wu2EbtA0hi;oZD~Z_Z?aB#4lFHre9bYA?wekWKJHnc!}5QvE>?y zHcSNpt%9aP3SK5wx|~XtqVdj-3nG&yx!w{t4%Q1$Pm9j%wW8jmT?BrW;mb zl}n<}IDI7l@Zu`Ey1a_YmsXK@8`t(2O6rkURLJfVMwP1Y-y>LX6t$O55EK%#)kl2`WNaZ!~XyP literal 0 HcmV?d00001 diff --git a/src/demo/manager/src/main/webapp/assets/js/kindeditor-4.1.10/plugins/emoticons/images/static.gif b/src/demo/manager/src/main/webapp/assets/js/kindeditor-4.1.10/plugins/emoticons/images/static.gif new file mode 100644 index 0000000000000000000000000000000000000000..b8c444b5a2e0e25d8bbc988d8d72d1582e15e904 GIT binary patch literal 35504 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

                                                          t3Hj4qW3n4s#rhJ^?0%bsPKV%ppqVcuW6u@^6I_YOe~OzFt)=Xj|Lg9c1L~ zuJgDw0$Oqv`tlB9|Jgd`l`nmPu-6;=OY%$k@Q|)?Q~~7ANBow5S*}3d|8**oSS+{` z>)Hh_U}L_DR|-~eT%XXLM3;*L2B+|XgM|8hh3?4KIZEQkAUKNzocX6OKr`3?wg`n5&d00%K{JF!A&n}B9s!$cS8M!? zCff}WVSIWpeqD@qo1QJ_WB;xMXHrO{1P-x=S`H9495_aA(KJGN9$9)S>vK$4>N!JB z0zp5avdHN#9#vji#epNZ3$@q_cQaj7?=5I4`Ew(ZwnXn@x$KXAdC;R@=c6b7l#!zI zvrAj7h^7Y#pRDP>Dld+_a#+5SNK?Au3dLIoLIo%OAJ`TF2?-YY3Hbn>j;oZ^7D1>6 z3e~j~11US`DL`vyS7*My``#4y`Q61}zbq z@nY?uJgNL2^d0vUDcR7KyY9_fQgx0QrqEV!h>30;f2 zCzjAtme3cSw>~1jwjFYQH=7qdvqxlnm$_wYEWOmV+%8mny9j`qk2cPK)*}Gw3ZY*|xR^ zRMB9(duyOk?l7Z)6(tWvd;xZl2n(YiG?^_izZ~ZG&#I=>V~Vcf$F~pi=vZqF)MQuJ z8$w_4(RT(-%Tb|=YIy!>D9K7ywzBVS;$?v7!W~a%T!`(I4E3?FYsDod6T{=^e8aH- zebu1RlPV#@hrY4rakwD1DOe2Q0aJ%{F|E1sv|{rmSZB~35{;aq*5{(~W! z%kTzs*+cf)-|Wzd*>!(muw5x3-?rW8Pf=rixloFNTxKY;@ca23miop;hiNW}HE=0I zU0SNas-pLQX4buTzn-iomSU_e(GYGY803jYvp#)o&w9@dVEGEq7NgAfoHuH1A31^h zD|Iw(?Yq&jko5j);uggtn5eJ^+0VMi*m-wfn0-xzzT-+e0?|(;cRWjA=)3CNy zTft)1Ah1>JQaCQ+m90%!00V!`C?Z_>R@#}9=>y80lG9pgukTcT{}l&AA_8A zdVy`v?eBeAOM%*B?a_{0fELH?jM-|Rv@v4w8EPYnf`{f!SoFhjLeN4=E?*GX^!#>u zA>rr>JwMpgV32loMy4dzZSg-1I-%Vgtr)fXn{}*wGs9QD%A8aC((**C7_umrRQ+=- z;b#uh%(!O_9>Ujj{Iwp0!`f1IIR+vhg+;y@Z9ccaWojD~WoRb_YOEy<#8Q$VW~@^F zhG4CgLUOe=U@GtIU%!@zxN#^oMk8t1Do4zPEkFibi*r!|H;E03?0>_wy+*-!{TvX}~t!i?Y34ja<~43D6lu5Zp)>ujdug zY&#x#JqoZL1)q@UHePTQ(dq5kkAzMr!1yFuJLorm;d&%W=Ta+Ns2f zV+No(9NlLUSKAE-E6uiyYowH~s+k;9bzIp^8oHP43hW?l3%l=h4PS227^9n)T?Ny< zAv0GJ1&1eS1M(nkX3B&!BbN`1yOqU4U$%O5uc&u34 z&}1bWg@yO#f@xTF0F=%uFwIJywwV*V6Bw)5kZ|6BO@IgKBn!~nXb9`5XF!c!TLAl zjN5IXo=jSF=Kd>Z&vH3*nnFJ@U%sj(hKav|#)X&L5sMxOR_QNn;DtbrnWyyPwcm!n ze_<#AZ-u;`M@JjYP?W2_$z%+Zt}J|48@6vvD_OYbY!Z-ejq213O6K$wF{pTT+uwp} z#?u!X&0Rqa&&805P~Sg85eR)wF19ATz^m z*G;}N_hGuZst)t`>(N9=1?J9DPt@EP;}>x0=Gp=9DOF4yYGKV8G~n5CT#hI|T-@fC zb9B=AAwJu-4Z7OHo&3cHJzO*@i}lQ*d@i_0eqA1_bVTe5O{3U_6*Qh| z>D|H|Pa}8Qi^qUa?25@}X*wzi!8ObO8b~qp zSHs&2}7gb?{|dFof8x0H2_oS)2Mn&3nLjN6;Oc zEx)|{=Zb>%ju(PccmQ`}ECs4@nMs^d<1o8B8w=-5C^zR*n-_QJY5`kR!h9rb)Vv6` zmm>BYIGm3y<)*pv%jVP}7;`O51}(P4vbbet2|?*hyLc&bQVYx$lq}2eGg9at>I00J z)Dj8ujtSy{a zdQ~iL*}!*^5ffVhz_A&i5dhy928Z;v1_gPA@TZeFqWQw}u{RtdEGd>FPBPG*@_OOr z88@*ap9JlNkU*m-D9%Ykfc`1-59frK$RT67h5rJ#5eqn6hB^vKh-Q=S?zb%f?mjM_ zUdkTo5YH9|!!lQ-KSD#M#3BLLLqSXyu>F2QkQ(19R;xJQrc!5gh89OP0)SK9fB=Q= z?U!bR7;cXRFXhfMd|Wm9BF#uvX=4{OC&B;CzEv;0 z)5Obk>VxC>+%SP&n1ER}NlTE18k!N~BGg^#tinOl!u59ST2a8nlGsEl2TJ8MxCE8(qr(U)W9f7Va*vhH4c0=0$>vM zfEHN05Ya4lbraYe6*WD_SDh@|5<)inNtf2`G-vB={r(l$p2~>r^Rs+inq;}Vc!X(yS{bh_YGN1#FZ?Dy+zzW%TdWrF|dgK9$D zbecB`@pT`jS0$K{oGpJ_UL?l(6e^HK8*NiZ-Hnct;Oja^hBW5=OT>es z5!^X`Jjii6fFd0MTw07^nJO3jp$+)xse*vxkpM7&yR1c`J0XN2uI3gt=0)b!iSd7R zihZ>}@iEvM0M>rM*gxTh0X6NEfuqmJ~?D>%`cL2ed#h8Z5(%IOq<+bWt%XpY#~X_7w498xqu% zBeOg}8zJn)k6-@^UQR+EgNVKK10D)6Z9NpB0G)*K8|QDWo&IWb_8rc~OoazE1(+g` zE_ww<1%cb@(+1{3dJ=m3gEZ|0z(3-Rn--|(%MTSOx|RXJGFcQ;gtZ4Ra_1m?G59Eg zI1oI&D8_=g$O;MICp$&hn6nc=I>%vduu@lXt zW~S40WZ~?p|5^F4ml!L+k6-bJY04#ua(tm|$!OY=g>u}C--~dUE``9pR4|PU?d?$6 zDogPXp}Vp5cg___@y%{bfh)D7h`Dyki(rxSR?mc4awuLv*Vak?@f~+BJ=#gaZcIS; z8=%GR>=a@w@jRas$wxV`DIZz17_re=21`yb;t^9aOQbNH2^`OK(6^eG^7V>f>Pd1$ zB+b3_L>;g!q_R&_oHUc2tet$aG=%omYom%gVS0+TgM%*jfiO0xeTQJ<(hX-4IK3rI ztIHT|U~JtviIOXPU0*9ihJ;9FSrHsYW3~ZMtPMiRqDZ z^~nVH>D7SXQVB=H2?Z_+c=@u0i2$0Wx4ejBHR6te0E{0Z=2P(7ZtPSjEkv4=O~Hy% zd<$RGI+5-|uJIcKjrnwIHri;d6)(JOEx>hdLQADWHV2yPqMgB~qXJCxyY`Jur#D>z z<^g!^{K05XnkySzAktZkq%JxLuXI^U`Vt)_*nBCpj>MGzo!9+Ex-U?!+a3xp;}3}@ zEz9N-+>IKy-=VREm>L@kJC$>A;A->&q8+%<;)28rRE`2?f+<9Ay7;%?8l=gQUYd!O zAuKpTC&5s;{{Q627iIA4ix+=px>Cp{DkH1b`n0yORhD77z&la>yN9cVL-1 zh&)In4t+75b>h~|osg~|DN7Ho7!9?19Bzc>WSNt;yXv}0Bv!4 z^?p0oSiqap6e$CCc$W2Z?^N4?TZ&!(JGU$;SLy02-Oh$&suX;<1RV%jw5I#Wrq-t9 zFQHcjvce$f&+j|M@<#e+D=Z;#-OkxQV)$>>U0rF#gTbiS(};Jq>z;&r4zosD*D`E7 zuxD#`G{iNV--05f!1;#ZQ$MWSW}*S4fFXl?6%zRm2RqFs-4cxe0nV2*bogj=TO*bi5bLd>c1xT!4Lr#}Ca)c`iEidb zKYDlb_D{wg@vTQqKL{aCBb|a{$&IO;M*AgqGLEt1NLP^^qQ|szmCX3-IHGJ1lb=Cs z;XN7>@W7wPpz${56=;)Ow)nL&O^*Vrjb$zO3!04eSyIe4`mw_w2il2c5}&3sp8-=z z%R%G&%C+U@UajiF>Z;tPL%Wf5{GLgiq&dJ|B4!Z_cH7&Nt{>f=5lp$~7sQ66ld|N_g5!SiY>B337(u#TN&Y7=hy;I( ztXsQd{pX0@A2>sQyekl1$Qf4&f27T?S&B(cAFs*hgMTiJI332eHaymZ_k?vkt$X3; za~PgUZsmO?tpwc!Q~%*^B-IfP^Mas~dZYokk)u~pqnKV2jGU84R%hV%UTmNo({B-Z&OdCcXf0U$fG%SsAtiD9d; z&wITsz14W<-l&Wj)L8p?sZkzi+t^R{BF=oVI)scy0nZMJtapurEK((3fM6WB22%Ch z?(asr2A2cciV#(1qmj&^-uqI&-U8@bnzU<4N2{;&vk7J7kyW+b&kjvP?t zG`ed9JNXOHNwY4&SaLwsC??QNk$><^X(Xrbf_T7Gede7|% zlhHT(Uw{`dlP%b@)u^51$GG z^C=~)vBGI0-AQG4y1~yk0`4MQ5xw!GK2fzVB`Ib(AAUawylQT*RRI5c32qUBOdLijHJ(bdbmxgEK1@$I{; zxdqSa8Ukcc0JAfW6A%b=TkQhTuLxsTH-`^v0{d1UK-RoFvH8Dm+$-x^`7xV+V)o1E zJ?q9x_&qK1Mn|EmVC;5;0`ZW06|h}@{2MR)8lU#{fOOM>ykNo>_;GYaypsg6U9sRv z86*-Xr%?b#;fGy*ZY{xerDz%lxUh-cfE)Gem+o59WJ@5I<1kXtDrU8$z>ZyE$w^&+Ug=ImpHN z(8cwC2X>)YZej@&I5c8g(;nzcTANFDfP4Z90siFyqbR{E;vowcBIQUyWmTn{kAY=4 z)6&vFm(Z?mX)Vx#!C)=7-Blg%v|_v8Nd?KwTv{0ntGj8lPJ*v;= zU*5~R|0cEY&6>LB*nIi1LZ~je9Fw3GRMi8Jd(|MNUoOzY?Js0mAc{$58)b;5NV|Sp zWQQ85n5@-Pn9uD$?&7K4Q!bH^0AL&n7~QSGs<-EF^Y0w#-9HZi?2?-{rQeKmRI}J1 z>zT{NEAAYKs?(bU>KW>WX%k_+DJH^DBX3#uOKvCt(d)D%l8Ak9!BE7iv+PxiQM)Jq zR$SNVop8zIJ>9w`4<3Q6#ELDR4El*6acOnOh{68SekK2ik?S6^0N3 zKZ2=hrZ@@c@ec`J(mn6knPdoKvU^y~N~wbfxDL3%P98BMOe z)qgo!U6pq?bTPnVHN2E)JOY&f(SLq*6TbaSTvKDwRNYaO29_F#M*;pWIaAWtNfv>kw z9~ES{#BOAl<1J5%fP}F!*imrtAHs3sNFNbZYxL=S$CJvV7Z-;*h6GuNd8Jw@8RwCh z*z!4AvgoX7OKoWT;nE=^q033SnF@JIcKp)TPl~n2MU(j(3q8CAP`+Lfyj@&^`iCwL zl>-oATXAZd$7)Idge?GQQ8zY5|Kh5a%Q3I0%UfXYe!Tqu5uiL5T=yIsTYeFEcz9FZ zL6LIY)2pk5Q5taWiN}#JR|$Br>j9>0+Eb+f zRW7+;rm$FZs*pf43?SRrv&UAwXK0KTYB0HnBpzh)&ai>|-@=+A5(i*{18M6_76%v{ z6Vtt4suSWe(<%X@^yXqUd&@oYpZ*TkVW6iOP&eY&@corc5 z`5+pk>&pviodQTNs!(%dt1%kI1U32cr7Fr*w&>>tg*^I)A{O;p!HIzU^62d89hlK;cOI~ zXu0&{+r`5JCvu+|W-4+Uk+^_ba)oW6{szvah%PpnkB$$9y$d;DT~B5Sz&L;^0-yc| zI#QJGM?sPAO}Uydp-Pr2^Ja9)iCt^Cne*7ifaBzJh8)n%;FrOp4^JM>j1HXHCenD^ z&oE8qmPHAnc2|k!pR+|ubeo`0k07B%0+J~ri&b;lQ6r#(DWjiWe}5eIS@F?Jb-P>hFV4q|fJX5NBxP>;3 zjgYO7r@|MCLf(fEA<;Z!8wtkh6zXac`${WsVD|j|n#dGrsr!~`PEM$5cz?8}SCq#@ zF+dvy2>WZ11`@$l20?0k{)uaqOG`pmlPXKf1*VN4IwyC)dJC}3bPDLlkMz?x+_cAj z;C26uLEKpgVv4q#XgS#ILE&z#Kj1Fz0D5+(wFU#Ajk1fOV?p%?zeIuVjRVJ5E5~sa z)w7!Oxif%~#gVfcU#Zcg5u4iN4bk^WFi1dk`{ei?^X^nb)ppM&PHNyeTF<(Xdsw%sEr zz#rVUd1H#QR>#$&s6d`zvnL3zf92oSB6#r zDu!V{-PGo3qCpavH34vi$6)s>64;)So$&09Ih@*wXS}0=_RQ5nTSGuCCb@5EZQ0=& z?M?~&$BU?OX8Uh_SO#Iq)9D30sQ=D z$WVxj=h82+l&BdKJ(q3CJLWJ~=5Tx*U#D=mv=a#V3>iz&+3k+;Lxy)Ymh2|=JcM94 zhZfFu`lDO)*cE#_;H)tQt)0UCm>?|HIzL(Z-n=YX5@|^;^yM#XSU=NIhW*fVf6xPJ z%W%75->HD@SO;ip1onZvS^4$PpV&2hi^Wp!JX;N61^X4t&%P#|n}B z6flWn^2vn_vEiKHcx6iLx^=W4_qKy6(}qrsFCYBS?`v=kyl5SQhyXP}o1Th(UyG@c z;I~)6?39{4osnAd)o%se9@dN2Lg@(ZXGT&Nmx&6#F0!3kF_q>5}w-4iZ5x*mqVC*wYmhl zE|S!VYXt7R5)B}pV=;{nW-5UHByeJcg=sCEC10&66Bf1sC+hG7j@7xs?iKHXjPDY8 zg5(65fuCUUIhTEth*h3&P9+!H(SsIXmsm~@)1KmY$bO?N~gxYR%>^VRk8Z|;{c8wHn-1cE9n~|L5{rhI858_ zVCnsY)2Yr`?Ic!I97tZTTCsn=j&x1@ zw0I}qgYj3I$eVxHHc$4%PyE<@|3~{e+7X9MM@sbLw{=CjKgKus=ngHB9k$Vw?KhHV%~Eq(8SC_GLmtbqHMY1+fYlb>iD(`G)`=2AAGJ%LO|_leIS z{u=ULFCbno4d7Q)36o;vSo?k4Mu6wGoU-8~2Cp$23e%ZON7#6Qq77i<+qlQ5uVxwo z+;xbk>-hj_F+Egnl{2+m~nZTBdKR<@)$QK``n)0SZ?s^uxiYR(?;1^53#P#`Tx zMmUKJ>bVd@if$2{Lz%QQmAI3PmOpLNZ!6E-X{|0?*D3^3#Gto}&c-s-N^n;6$PkrO zwur%H(xrh^#*$z8%WJydp{U;|vHf7C??Wx;v%noAq`#2$!cK&SwZpbeWv<$Tu2Uq6m40%gM*m3Q%~F-x^zd5d$X~H4>)G) z>hg3~d{wA?->~L7ML2U;v&i^}cdO+k@Z>l8v>f~oTb*UI`i}zK<2IoBUd@RKxV6Ip zOuGFe+DxwcPqu0>2cCV3rjp+K(t5C!Qunz!xHR?B&*fKaq}iI%gY9xPr#C*|fT34I zs;YM{zS3d(KUJB`M1$pf^hK&)B(yht#9L@Fs#v9|5PA#LT~Dof5f3^(rmcIVrJb>H zu{bBApJtqEre9P)=M8h+cSNtE9_1qc4bmE_%)HpZ@?>RRRU$p6M%Vu?IA38GYF4&C zG(GuLRST7~qcDAxdrfBmxYVVq)^?HOxw7tjPH~Mv0%z-}U}L@@CSq>6@mw@jq-RTQ zswP>NUqkVods71KFB8l)Qgn?FejX9BMs~~eDXrl9;iWZZ_;Bru-I z=lZYIEqZ=(FqhIcVc(gPtewC?mV7&Ft2jG{Euenm%O^2I0e*^SYC@5QlDt-C z#!U_E>=>TJ#LjCNSDz;Q6eh@i{No19osXspk#|?&@iFIW(j-?g^1e4zX$CI^Om`~^ z0B=)B2%jrcjTK@!m+>s7NjBT@X zs2*D+XKw2lMo+{(+F*?CFIQa;^hXOVqe+Ko1$183Xr09I#)xA)!L(yKsRCdfPv3xl zYqtWi>retP2b&m2hDJ56_n38!p%cgG6UVBwsg_k=+M%FXceGu=Bh$Mem5lWZr_W3z zE4oI{9Q~9ld0@x2eFa`OSUYVde{XzRe8y#_bmzId9Zu4*ZF$w31R$tr4|shzVrG;~YQ&qT6H#?QY6IMcfsH&0Ys-u8qUvEMIV3Xj~}v+CdJKn1U)dpYPtX{3`P1eI9uCj-jQcCyxi@uV6Y=s#u9P2H<-Y`?XVkLh+`4Du>s+aot*h_p1l3GqL-2WxaNP_WqISo1Fn~ zd{YpeW@wEBME^T_WlMKZbi%)X82-xHZhQCe?%U38e58LT(2^G2zZ8C=+hzIwr48>= z=cxTpn!626nJ7An656j#{!5@YUA4`qa%hngo*&56=s+DKqX+d0kP zz><*dJEt0XI=sA0!s90?u?9=%U9+VEG(BA@U3KFd3twO7Y-gqQbEO=PZLk3+^yin+ zTbE>h`ZSXNb3rFJ5Z2I$RVw6s1PL|Dv=M&94FZ|&Rm~|&o_eWFcMa|EH3FUyiy~Q( zmpMaMXzGM%;mVnDzbm^}bodsA%Sfmp`^t|WCbN}oed{|clft`+>J}?RXN<-%$wGM1 z?CfuV60Kh`w1G^wbalC^0?h~gV7;s;+j(~5U&ee>;}+AM%nzrui@syBot7Q*magdF z%VuZBqL!c?-V|h=JVB=3HH0Y_$&YyR_PjG(|?lM%Z@|p(Hb04w}MpwzsMyPa#-P4`Ja{I(_tIYiiuCAXPR`zy(0!-p2~8 z7q6hIIEm+W`XRhA_AHMV1;j`9q^qjP-RcimX#WgoiNE3^Aq;rxTD9WkJ?Wi>@A}Q# z=rUp7K}KW`a)7SH0;!&A16e((Q39^2MWpOa*D|w=Dw;|N&l`x8a9%n(ioV5Xep4ZhuAJs{h_PkileR|5Hw|G0ClvMG0!j63D*cqLfZwuxdh$&a!pSq(dwmm!ZBK@e&ng?Z5!F(%e z88Ie-R-v0{izC3#y%Fi5jJZW-H=|1epRuC7fnCqTHKv;e z4K3+BpH-VwRWCju<8wBe8?t5J^)l>br=Ml)4!%JgmE9(&nA=QM(CZ?0dAoU5CY8e~ z?YrFk0x~egZR0ho&&D@ z*^+rTjBxw1Jus0U!Lgqle(N5x&~p0eDLrqp)$4QXe5fa5paO>uK z(qg69@@WoXQnK$}Eof*Z8>0dIDphJ{B^i(?%Ker5cA=CIi9{_q(8t`D1DZ=(NFf4* zsm!4~jBCj{B*95+5DuxuFw@L^`EE9@B00YP{;rAH*7{}2t=`J+gdrr*0$eQM5?M0B zf35G(uvl+8S6u$z*AM7oqIa%r9$Gq_gKivtMwZmt+A89a(fOC)C&1C>E(cx`2qE-= zGCJdkCzvWgBS2T;S! zTrx_ZCG^ZuEf@lqr9r65xJH6CpBDLK@3z^88Hn|tS2kBzvn^X_Qo3880%p_>Yvd7qPHe|gWxAV`)g)u_`PBC)Q z&|^9d5=>Z$f~%hjW=V{V~eL`MClDG8*{uAYb&fr^nlY|q+;MKU9*qb2;~hNyqL4M4k>+ zHBQ-W3l8pjdgA0g*-@+E2d3HrCTYy?(2*TD$d};CpbSOK!z*+Z9O1G3zCOigmq!HA z2Ppj#!V7Q2^~gYf@QWPfcxL4uR6@?^2X@3tz{S4m>SbwV$RrapX&NJ|3&T$B`+6gx zVNp)-;C6}`h+Er;_)q%B7n3i->r+MK%}k~aOI{Nwfc@Jr(RT>+8)&G=^ZzXjRQ%h51=%mI*ZMEQjeV+x!`;#V`|G=)22=+ zL%!Cl`S82JeFv4Yr@!k!=L1XbY!%T0$CQ}+Ad|xT_nR~kbWOG(x~4mWrQ>(dCa_miq!yI=m5J`=QUF06v| zx|6XW8B;?50!~DTdbqomNLop^pF)Wo8@(BhD(ndaXiOiayz<$hUX*HP?OpdUqP%hU zi0@;w*71%3-Yd_Aa}UfbY--eB{jDyd^;oKofJ^H9s0revM=Qqa)i#PMr&cf*@!Y&) z91u;QVJbC!F!=O4iRQB3vQM+MbF2K1Yo2L+jwz3b&#o1#oiyqFYH0LGy;ek5V!!&P zIKz_feymiBsRn)4doTBpK`**u0Qw>Te%g(|NA^H_0>@Mnrx#boEp-KWUT(P#kS>GS zj`9y?iB-qei^j4V@dp#=-zsiP1JP4aW_>EG+zI0eXod=VXRh zEFtncL=qzX5lkkBsv_2P<3MVBUY&?IVTv8T1q5-ZdJvQ+SXw|sjlv1oxRH4)ZJxDY zY{~^Bv#4#LaW1Zc&=7ALp+pK8^36OC!fYtSP!yb06SKK0X4Q9)jw|3}k3Br8h! z*5}3-MeVYPwzM?lTW^LU=ULgl##LKhR86JpvYFuCadUM!sK$ah2Q5-8N#`8Em5o*B zxS%@^p>qmLg_Z{#$c{3rsIp21usm)av=&w^zimFx0~4n~4>q`?--OPBJzkjmsM+`l z35$6&=NTsKVFsEX{)|_fr|18WM)Yh6W!yq7-a%~ z)-*Ko(9uq(f5HvO%pERWz?xp5grmr6O6EA&sT`MY^UBWzE)PM?R1pv>L)!YNz5pRX zsP`+7`mVgdKvHUjQvg1zs@p#7uJ?bni1}`Xx?+jm+;&J}r{%cwzf9YExrED~%x$}X zikGf_FI`7fZTaBNC*ijAitS{U8{ZzFO3>Kdj07G^WqO{>u}O&l1}(O(5U{q25CvQr z1f)mdHrz;R;e@M|8{6+QcBx#&?YYJ%5V%!F(A>)gaL-Z+oF>3Bvw+OembE{CydLaL zg$j!a=iu)9RSAbC2wA%s8BC8slLep}TpG@VBhBG1#8K}y!Z?Vhj^=IuOxcQ|003l* zSw9GxceqHP0`k0M7aF1Aa|e zstEZ>lBGtX)+7-MI*|!95+G8K5OOy2P!(U)gi|uHj7ra^5kSaA2u7F#k^X6091)jW zjevxkBH&unn}7EMAvAR|2et3kGp}HK&<{)`DIR6(<>x@E2sPomnD5rxBrN*0N6(9A zpW@=~$48@CP~b+)QR){f@#oPXfs9}xGGuk(0tCvTqk=EyncV@KQ9n??%_&=ct9;L{}#WmfNKcW;HWm zEqI zPfIEb``0O4!^&l6G&;{^-8r z!Xpv&>v|^xU0RM-oUv>^6E|}vh&e}eVD%8CP?@5T?M76Q94ni^8k~F9i6C_xES5F! z9}xBYYF4sm>7ePq`CJU7y~hWnW-p#;G{S= zexRfNXshlq?Y9G%JlGL9^l;5lT`@-I^OTvc&T^zE?C97QFik?p5VWYUh`K!NnFe9O zbf8qOZ`xz_YIr#4Y!lV7r|BLqjTLEm8q487)KsnC_306Ol3BbYTbFhAcoZ zKPX3}=O8m-Gbze#%Ndkocg>FF@2jMUAb&B@_SXU-QML2-7U?*hC5_ zwpWyoA1<-p-8{>|csR0ImTtAiPDhrmNC7GlO?AE-0YRfUm^lvoa7W8sGHrN%8a%@^ zevq1YIrHM_s|6>{PYpH;P?2;)-*bW19Iv-&#UGPvSX+@P0p!mc_`?q})J$-b62Fd} zzkj9w$u@E48FAY_SdED~;uH;zSfF~S78P;Gez!U|~O*X|}GvaQF1K+n9zJ z=86X^_yCs{J1m*7@QBRvm@rxtnI<#+y=`(G4j6nV=vPh9#2A%@=ua6t6^$MENsf_( z`Ug{ecz_X*_moLe@OD5~{a-?=*Y~{FvgD1@WFh3VWc!DiiHpswrB1vjXipRr;Ad8?!bw%}O#-c~B{9lQs*{5fYO4>Ixl>4{&8x zfc!hTaSvm+ogBH-N58oRvXCKXt`&OF;yhTO2Yyx0QzbD;*Ywk7R!V8XnC-&=s)(?q zn6{v&Ce|`$Y2}UCb)7yL!!xwufG3Y2r?qZ0jsYPg&2)Uf;r8)>PZz1N!Hus7&OZdm6 zWxir;7CQYEv|6X@^V1~7p(-=BiY|pRmjJ7#%>$T-qo}v&P}TAi^`h4cCY)poWtM7` zv0j(lq`@J3Z@3pIv~1*?Z*DZJaRAoln)v~B3{i?S66BAY9SZz2Y8qtAO?D6;D$DMz zng`B(3I_4YI5x1G_^>{f+Pb|)a>69&Rq%i3>R0_^CMH^4FhyYb=p1MFs69quWtN=+ zl6!&I#yd;#ohkf0G7DYvoZur6_IBEA5^4Ufr`W#*TZoPJqYd(R*d?f&KL)Qc!kkPD zo;2!h|3Ub-A9%*Kb<7fOIB{U~If0BX{%LFQ;a`HqW}BujkDDr8$^0iTTWv0e0sL=- z$J0CJSQz`|URHB4x{u)`vI8b`U1_@)irKLu&Bx<*M^qPfe>=)hJ67~900~vN3h>2R zJ5(+~1tsbUb_GJ}q?2_G7+NP@SpV0Z(ihK=gnbd#qmk%(mUq$-jSRs@fz9@u;s4*`Y&zu zm(c{;{!&4P83(2SSEg?qyzU02y*lW@U+}z_wVy94(;e~Fm+trBb02tdqgXPN?zz7{ zA=qWFE9Gbj&ERt9xl|dN3Z(BkxWldF)MhF7)hfFm{}A3K+p3Dvd0BoTA~c$Z#FCC$fb6^ej4e;H*3V5pI;a%~H_LkqqhMFE z=Ij3mvBJk)isrY}v2FOC1@FT=AC0-!t-JQTOABnxfp###`Li>wh8GSwt^4=aXYW$o zWC6;c@k1|!UB{3E>*5P5yX`L@%|RlTo{znEG-)UAEcPX%G;S&_D7l@N`|N9} z2sVF`y+@8LEraN?*dqDoBo5VAddR8y@SwZak~C-+0GkS+0Iu%R!NUeQT85oP*amd< zvz3bf1HUl9UvMn9be<@NZ;+2l>tQny#7Ld*!oSU3jq8<1rI-HpIZl*Tl6-Fu9!ve5 zcr(cN_`KPp-;qnTzw)|n-|yettmPpic;F2#rKA-LUp!>s{o`Mbbi)Cn&n~ARSw42Q z^mmi6U^|(prG>?~5gGo*29R0+P%4b}kI~Y_thG#+neK6msc+aJENyJkHSMSM|3A_- zHtvk(${yTKQ47N#&p@ffduN*c70X$tQ_ZX(4_9#Rl?_f z)hE~LT3(T}BxI$elgNH5FC6TXcJX`lAgw5h6GXU3FyjhZNIaYA>Gn!-0K zp7Jq5{QhBO-;?aVNF4S8go}(5I=%J${mNJB%#4JCR8~LEF}h-8S&f)B29{g*Hw7A( zPP8_1$@fK{UZ5AmwRdgz&CVDE87Gd7*}o;t)su~ax)OEhlbN>*3AY{UR2lDNQ%c&` zWm8l}ZBmM@8c(9XOxsA>gXl{x%@_i7Q99;i;}Qfj@+HI+B|5))fBHh}pdYewHm*Y7 znI#xk%bm_KC%T9ReGOdjGK{$Mei(t+XfE~D?`oHnA$IwPAUy`rNEh0FhS#gvU|%t= zzQR{#eRzeo>09M%o@3g;=16ZJ4YMx~Yf_R@6{nk2DF@Tp4B$^Jxjcou^@w|fM4j$w zG`Uy!_|hGcg_0OnU61R%r#|kGD}%T_h`CMC6I;Kzi!7vO|Y%2YpmeAC^}pzWe#y_sHSuYillU43Qk8#7uG! znD+Q84sJd+=nv)y;y+k|kGsaHR&0TzsgtSs7pd=pg-f;G#^kLM&_v3axH;q1atYi7 z_)loXE|fU~t2rPFWb(IJoZsBb>)W^H{MdTK?Ap$9a?iNWA1fk@-CebB79&V=7^C$dMQ)vk0v{P358V{4-w*`BfJ3hw&3`hp5@vdK#F@L zE>X!EX}kFL=-EYQ&-zD-CM?B$&jVoi%lls+zz!BnSQ;Z4BVbAkpJ6tSIZ04Qc)nlM z>8cXaZ7l^7Z1|8`HRNjTioV=7QWT{1} ze%kmCj8pbHOk|}Yeo8WSAyYji3uWiG${sy6uRQ%6C{fB5{hZXoKPm6rI`{S|Qd?vD z*-wQ4&I3QZSm!iZJ0Zw(_s2u7URpckFmSiy@|$}EBSf-kX)29$)3}o0kPc=G{E@`` z8off1GCgoi|Eav%Hd1wE<=8l%DkC`mcuq;hA6imzbn(6}*x)sO^v#^s@W(|C5wVga zs<5@K2Uz#34tPlB54UXxD51RF`qw0YF}sWsD^|LzmWNYkMYaWaYAKyRMMn*B8R(x-DsK>jo<*J1~WID~?KHA7WE3f(dd_S)A`&}b> zWMa{#fvL&J=OKgz%QUzDIIs<}ZdWX?!q7zw=CxKWj_r?0?v_qLv7c4eyuNy!A+JhH zySi_7z5*`VXr2wdLM&?~NIwfv$Rn}vkq1krnDAB69UDTwR#G9qwY0GdiH+4ga()`-**~`_pSkh_qbu2)|05 zVI*>OZa2&pu+RTcUK1()=lbxrqgv-U$HQb?MWydg4d1b|t}kCK9pF@1bHFpaU@+E> zb#-z?1X|&5v@zDhu*c6&SqQlJ3hA>g%e|qF5dh(8j5;&q;GpHr0{=0_Uxlw}7dbeY zjpO}+Gws(tP6l@fDl(RMquL^z;K{^{+ATaZrpJP8a@wPdAcOoimZ|lEXUZG#K}a>Q z+&K1KGR^gpijP!sBV011&*vf~_*l)52^fBoV?)GK`-=F7s3Y^cH8ht|rz6darVFQR z?|(FG9jgB8?!2k0%TBieTt<I_d@uH3dp)W;1)nsN<=E#}d95uSWk6ZlK-% z8no*#Q&}%9qxW~hmaGaDvf}TIG6t4XKjs;86lAP5R98E+Z|@z9G&!llWdGpWA@ADd)HMb%dMocvss*b{?Wpnn~e-quI?Qto?jfD4eR?7=TKxxLU z?1VqbC?qj?_ug|bx$tk|E8lWj)4yHL@`KmiX=CINCca=C!M-?Iy{$nxr}j$cgQp(r zZv-J@+sY?4F9lXRmTwKwf6cKRUw!_&Bu`SdIdlBa2AL^coB1R1}kS&eIqk4fdUwqYE?Eo_r9a&siy|B#wBhX+X~KG+~Mg8!u%K` zNPPE2xolzsI~h&OYM0g0u3Yvj*`WHR5M&TtDbr&Givm3ssYq2_YLmO12`ddew&CPP zSzYM`Z8h!Mk3rda?KQiDh>UF=7560sSk`H~wzfi*zSwbRiG=*Q5@9*IY1<}ygC@*? z-MO{tfTUo(mdYoZzDi#?-9Ot@#y7DqT76q@=_R`hRW37-#j0`bD2=Kg z$x+TUOJ^}s%mMNQmM&t*PqyH!$jMyz@Gd{A11WHiBRP_Za3!E9+`Efwo%a&5=7*L7 z4n{-PN5bug%AtQ?Qrlo0K^AO=gFAK+bXZ74o=x*Dos4nJRI^U}3CYGc*+?*J0kZq~ zO0LxQNjSXal;fjMptA&nYuODS?cRSPECm+7hgQ#U1Ji}ju@^!Ao^Y`dfSLd}d7o@2 zw6K)Hi$0S6kONvAFaTUZA8Htzfzo9NF9ISt+Flo1FWTe!?gea5gAWT9xAUJ9(Tf08Q9?N!u59 z+5BQbDWk$gm5Fv3AqG-dw-;(3x7u$ET12OHAB4JiC`sn(BzN6vLZ~odcU4$rgd-|| zN;%I_!Id_BChIF0P8u)+L2V|H1$cE&gcYA(-RDR??u-uC2BoFv|v-woB_TEVC zSf21Df|d&RKO~{t zRwrzScR+?QvgSlx@32CjtS6qf`!VIG2OzJ+Kmv_t@RRU>&b#8YA8cOz)fg3B(taI@ zez|P7$F){lm^n)$EP4ex2ojbEdX|V1@8{d-O)ZFY_`Er3S1Ay-+y~QXhi;Zf?y!#9lp7WM)lp5bf-OA6mMIJhh$9mY|3sj(wl0kz zIEkV&aqP}0#FNEj96Vg)msl7zuv~&tXfE$^6%Q9$&50HDMYirbxO52KVP>_<4_h2% zZkp@3NitBzM&ejV)L%Q6M#Ps$EELGxEUp;ffb(0-Q*kt2Mj#2%Sy}ClL%@VzzQA;2#f0gqgF zsv1Fd_M4WSB{9UwzE_JI!YCaQ$X%dlb0HBpl8eCG#KizmEEGV=vVtoX29tjcCvL0v z3@+EAZSr8IiexAGda9ACG*%fz90Omfre%4MO9W89x3#iFQwuOVlwxfsR(Yd#G9}mq zrRz|{fJ`T;xXo(&;iBi?1*<404}fqoE9Fr?*m;$(5yJymr%Pp#wm7u-_Lx> z;;nBxJ2H&#CGwHh!+8(o!w)Hc&u&AxZW`RggP^aapI|tyDQDrVN;efkc$7#QJ#(GiI8{l>;9=&W46p zJfmEAaQIZ6oUaW8xeyl67v6XQkIzol{#Tt!{%P z+nDEThk${hiGPAkW(SL>6P2XM&k1P)+v78JU?sFIy4*)XUP=e49GP z(Vt+a))twU;Bd;LA^IgyS2&e#1db)u+;%Ot3MYEt#j{2r6#(A;8dbDVcQ7b50whv6 z5u-qv_^1XmAY?PrR<6(qw&f&{RB}%#sVb3e7Qh3*#TQAX2C|a@yWG$40R>=}s78p9 zQ%qiXKDelT`!uPIrC%<;?#7i0d3wwEz{o8#{Y{{u_BBjQ!kA#jr>Pn-CG?%a3JMxX zJ9+)q{~alJe%}d{8O6wl{|-47n$sZDJN@YwA^Gjt-d`2BJjv8Mw`__~r*~@dhBFxs zsO=RyWjXS%I%$glnm^G=99^s=sLJO69SW<*3^EyColb0O9FOi&NLv7vm`+Gz*0bj} zxT(UrVX)@fw9;_y%r#+Kqs10+w#{G9ISac8uIO&nG49@4m!zS;9P0_hb`vm07;ca7PJ1`l$#@B8Lx#{?b)LJEnrlI)s7(Y}r!=PGxErJzU3 z(5snFxusJq@7#E^k9MK=Sei`eO`1H!|dK^^T(4*ZY6-06Ez`h;+WGZ^en zHYoQuX6>aftJ&lOCf|ZPa?Q6oVnsAUE(gw$5X>H+xnft#&E}vK_#m0qP^P4n10LOO z?JwO#KC4J_s5`~IAq=d18_>6Is1$ zgcq>@-gJcNynR`ndvZuiUrtnKFJr=d&#iy_X(#o}xvahF*q-J80R&&r%UjVJon7Gt zWOQ=*q&*B_SyqmxvJ{%DupRgb=0^xNxWO^@Oye(LNZc#y+1J;Nk^SRK&cl1fbxY4r za9iu(wH;o)I(w6sdHvz&RZjXFaR5~Wvl-=J#^tu1KbBato-8~J{sj?ohM{76LJ12M zaF+7~n=>4s;<9CA=2&0qAg>2fQI(xnLJuB=9B;H3;9C=5Qc4*N{)hVTq2Wn8*)njW z46%y{6bK2ERA+M>xso6BZh3rnDq&r`&b#>&Git}`*h(NR(P-s4PQ#p@8Sb<5W{bgkb3SAIn)E7r1sLXSCs$3HSBe)q0& z0IL^WHTbaekj+d|=qp;-zG*wU>i$<^)g_!BS9L6=p0I?8y%dL>l)}x+Pw;;dbeH^w&k2(XPEMShg z5JD!F#Hz%Wmn!ZZtD$K48@n0nn(o%sHBi8|R3Ngxl&xlLy38$Rw{brNskNDPh+>S@ z=++Ddy`)54V;^v=o}Jtu1fzwR_NV)TmVdw0EzPABJZ&W^ii2J~fWMD@!$ z6RfDJ#``8(q;agskH>sx%GP|?kx;skageorT&8EqY#YAPs*6_Tb*<9Y*omO_-?upX zn0A&|7y6sd{LJQQ#9Wg)t#6utczoA(x5jt8U6T`um0ha#vz&Tc)3t(M#>tUmcP-UE z=7t14{d)6p>?SQ68ULRnpL|NVKLfMO|DJDJv_P5Bxn0m%Nj>!b$;6+X6Ux-=&{keP zH&&K>>xYXW8URRD6eBVd+en=XFVnJ;3n5M5oN@IktxP6H=vxK1TigWvxu}PT15ykQ zb-~cxBVl7GD^aAkK`n!IV3Hzs*6Ly8(>gd9fuk-S;Ae1S4FHe z4yfdI=WN)_oZD1tQ>nTu&B%4#X?JbKBE&!2(%ZA@Xt<>T*V5Qqr`kMB#a``8EQVg0 zTif4Bm;L&1VGn3ht;!HGl?hT)f=%A}9I4_yEyWc_dNCo$J9_CVRT@g9o3A^xjn%D6 zx)j-UEn-*DL6D%8nLm}qFu1Zn=Z_iZ|R2zWp5?m*}`?T8fV5v8!s^bVyu59F# zY33f`8)fA0uc}gYOg~pTWK_`{t9$75O;Toq3xKmFeEA7V> z-Dd&ttavALWI?7QZzn3ot>=JJws_2`a5Q8LqgoUR#^+jB{x?RbTc~e+Uc(1}zOGMI zwYXW#V@>q@x9T}J$+&iG99<{o`xTTn3F(ir7dv;fcALC_KLl>K15d1I$;$#5 z$xd?>&jX44D2*`_2;cj7)6G{e>)2vnot$ae6qw2o{%fc+3s(JFT?AHjL`m@}?KL}g z)foE(eykypYdKqtX^oHqko~o+!T9309R`Z~MO3o+@Df?MxW`tN5Qt-0v%GH@@p6q0O{>6C(TWPwIorz{`yv;Qqw;)B(Q>Zhl3mIek3f^ z$jfLfoT#I4a#J$P_Vlu+R6J#{vh1;vQeQb%xQrOh+)wRy0yI21=9%zvwztmk|s#67_s3HF)V0`&vyg&qb zzBSgo{Hk1s*a^Y0FZW=)G80QKu`rusyC%$KNxXfNp{%RDo>>`l@FS=pGS!U|)~;|- z+o_fb8Vsaf^uJ=Y2UqIRv$%ZKN5BWb%=FiH0l<;Z@t}ytpN;hHx5^fg2|V1`ffnlA zBcp!Yy;?)8yzq+4W$#J)QcWd*xztD-0J+l(l3!wxms<`8ppAssX}+mh z+~D2bl?TwzoRp%|H^DIv?p{Ufe|1qOIgJdzW=SeM+LtX?RDa~0K6g!}GIc<^oYbDi zRzFgCaHf46^cSCB_>p9$^mPLIt>vlS;O(Kbe>~{L)R09cK=65;Nvg(Sm6>2x0}j*4komp@b5y&9zgUla3~oAL|fs z^tNzfbsA(!wPuD%TV?p2%UMXOh|9|Z0d@KffyuOF^wo-X+QdB?ZXsB8=#qa*_5=9RLM<(XW$w!~ob z#eAZR*k?muTP?Y^$!Uv?56YItOFPT3OzjB$^V=|1Q4+ccsCb@9gY4$PKTH50Vzd}o zS}7U4`_EC`?6I;qIY&uNh_}-vuqP-A)hQg%pn4+CWuaiOh`YB|K)_fEuYx6)Tm*!5 z>;jjQcoDVw=gvEA*QOLqC$cTBN;T%Q@~sLd^n3w-xHG+ zjyKEg)58|J-x)l6>TLOGd#<13!)HC|dHa_peh{pD37vcW0reEFUGn+JpBJL*f-0Xh zCKFm9{^6U-rULkv(j@2+E1^ce(O~3@;!^E~BEG3+@T7a8XdNZO3mi2F1S!IB-vg@u z*6tbWdv^A}igKpq{*VD28Sp=S!DhE=ME5(_oUrB_E9cfZz5Ff6TOZZS*O>Q3WZ?2O z5}hN$cUB=1vb$s~Vf`I5#hq+WaqJDBKQ8_3D&L{BSsMgWcUC`m7OM)kHkn>wX>a*h zLh!c?*lS1|(4GSzH?f8pb6Tst%s928jx(mheI0U@gxRn=0PE+vn(x#zC>L;=!xx>X z!j%g_@uFr6o+)&W8LvYOK9>+Z*Y@*s{j8@4gx=quiDVz1-C_amVQzqD!1~YY?;Bx% zsqz0sy%or1OR`Qq4i51VU7;@H7E!A;nnh!%@km;MU{;lCG6z&+BAUeVH3b{|g^0L| zh4roJpqYJ?tUd*h-eWiy$ajAnX#%83=}M${7{NqXax?tHVOLjm)|AKKt86UXaXr zUxZupX9WTYdGMhN;j1@HI|eqbu4h5{fP1loWhwz_`D^wtx2@%XQT$@Ey(cQBuizQn zodU8afbN&@t3Ry^1?cRzoF7s!SpZjm2CezfR@N#V$(AQ3TO(v72Pq+gMo0u!mP%Zg zRAHNCUJMld2m=ZJJL;L}R?X1y7RV@v^Q4DU2fzjM)Zf!Pm&mBeRU6|)#ML72B`tsx zlaR~9a+zF{NW#cx0tOgrOme>^A$C$wna|DxpwCf+@H+^*$vGZ&_s?&%*jwL0^L5|= zj1<4fS+kCOC2M?H!d(Cp1w9IM-{HFuWX<&3HEXucR9)B|)WK1ynT7VG242qhJMo2J zpW|QF6wHtU(GP%AtboL1zfysJN_T*Q3FxE;tsuEaWd-}mL6K=QZo0gV*Q_E19GM}h zyMrSu1FKCCJ79PCvK0|~iRvOKue)WKPbuFVnEnMw%gSCu-yP}Oa!J}!&xagY$Z9db zcSaOW*03l@(;0CTrPXjy6Wm;~rzR{)F)w?0;ef7`z5Nc24D8&yYs}Xt;_stwQN*>qF zT%jX&?RJch-a_n7LykJfcdG-1ob?G0SDyLmddE4&oR0=DQFHM@&(F~1s)Vqv#H$)n z_9sIp`|Iyi!GE6A4ttKSk*$*XCDuq{ilP#Y0AT4MB7qOTpCgz{uu<^>KTTvUut7=@$$1@Y`iwT_}|51UHq8bt-(mu;O5Z z$pL2(yp{*71=e9Q<0~$(ItL06ZmH*pZ^UM~96r9%V<>U$ApcRYHEVGC#b8wKP(2L; z)5WXx1|7E^Pt_az`sRee;e*Vpmf<)7bYRL+=PgA4CC>gu z_)W~EKLQIp#ODCR#gB&4wh@zfC${I7fR9FN@Z!0E(=-q9gTB#)Eu%Io#Tbi((N2pL zx<8NMNf+^Hpn!rSk(a=y84ybhgyLcU$vM;GMcV^59^YzY|0%~t2CVDDzPIj7ZrgCW z^$ffSzGQ+`tMR+^7+j#d!+v2~U$xC4ql!QKhWhoeZVDQ}8fq4v1}QcUA5D{K`PC0r ze*kqq@Gu8eARz`iT(dpR0aIP(THpiMK0M<28N`^R+oxfK0K%tXRe|+)d}S@Ge7twrT)S>P!bi2tqYkoObq2#~pXd#CG zfNR%%MplU7%GV?X#{906=uyX9%|h~X>%U*bY;aIf#oykw&8;yqUW6%p8O~xiXB@8U zLVHGd-4iPxD_ZMa$O$%0{q4yU(_l2SYT59*^Ii2ytR>wM@Q+HHKWS?h;>C1)-Oz0D zA?-smwTiG17;PseDk77JuDcqm7yD&TV(5rFX8(qyDkMhnb|QTSrCW)2hdFc^q{eai zAfvXYmcJBu*8_k@zR<&k>yNod=N~Xs_*L?VVkdVaz-Pl2ACE{v?wUr+&38QSEHv7> zp_NU3ZJ+N%q&A5@?~eYv#pfT0D+SV;{I>r9(o_8|F)a>EQZDgayyN^dSXUb&{n~t7 z6v^MJyU?L8_vp;~vBSI8cLzB?*pvH1MYh zzx^U3!6?LkJZ^VS7??rXlj#H~%kJZc??&b~Z+SA4GXQi*B?=A`<>XvgMb>o)q{?7RKro*Sqoet23h_ zqc$1p#;T{)a|^<{FNVwc``;NYRmWlJI`%ncTVGT3e@om$n>*griT)`j!d_3XjwR8| z7)xt3%RR<{%l7qmNMb(qpgJ^&FO)8S8j;8^hoY08?w<9L9_kPQn*@Y6NfEbu4rP}R$@pO% zAw}6Aqohd>y1S=vLYYD!{dOoMf(VjiDt~m!dcne6_~g0@g^0>53WUUtiQtbyYfNE}H0`7>^F8+&Y|llKS=}6D4j{ zh!}5rPK^IAy$C}04iM|Pj)23?>#|Pk)(QhAaKm13>;R|;EDX)Ef&)72%hZm2#_j;R z-t5J$0&E}!Lcr{XQvv`$xHk;U-p)_Kg8^D#2hwLic3=W_BJ5faNdW)>Yk-q8&;V;t z2}w{14{!uHPy`SFio+fT;U4Yn?sTty>nb4a!9(ob{_QKw@Wwvt$Sx-qkLw&i?LngK z6z>UsYztxJ(ejZ@+&P8nE{09@@0Q{x)B9Hsr z4)QP@_?~bC;SS6u5C$)mz|imXKtF~LApa#u@bM162|@r5V$j`xP!DK!!xPW`C3ga$ zKvOLI?9#t~4`gXc@AGgE2mpVBgoT7uFb*s#94rnF0D^{-e~5}IDvpqnl!b^UEF5Z@ z090R{o{5W@kC9WTgA5piPJgwqg?(~z1iL|JRzbW&xL+V4AvPe(%QkfjxPwYsCTcr7 zQYKm@xDzTnPfsZ0DB(M76R1>qBV<*jR0|7KQ~*_E?Nrf!7;J2ul>7)Bhy(*QHrLpg za4-bGlz{@H{n)o}VzfSutf<1|h=Uj}ulD&6$AF?qR1(G7s3b^$B>@;_<(5!=?|z?R2G6t^@kZQTvT{Kn|5W;gC2aa%=@zyMxa&9 zXn@1=AJnx6=-z#M7DXW(KG2>pgSPSkq+zLUVEw~v+PgVK+b*4Ub=?hc6H?(KGp6?E zYkv@8WfF_pwt4GsP(j5JN)#ACfe;jEK*1mZ4wxV=I2fV90|zE0p&|YF0|Ofs2r&X7 zV|3z#S`(OHf)Jpv(ZLlEJpX}9fC%{G;)Rk;D5Hck;Gkk56!`ETB^BJ@qKi+sNE1aE zRDc5%CA?C?98d@$gmb7=fPeuARNzmLY_NC(Do_lO2R<}R73K&dpg~3+P~b9ygAx8w zpb;%Zv!;QBycwrS5**=xo_o&dr%py0CnKmaos0D%D>lR!ceBpC2O3j-)I0S-`3qVT%tt+ZS~U$M@@7m=)zGk z*toom?+y{|&`BSO5J&+FI2;j4z?B@0cF}))Ep^yhQ-Xm6Vu&Dy5L9S!2`ifv9QD>| zmoV_&gJ58V6(?K{gB4*Y!h$A891#W#nYU~R6=d`z>=)X)Z6pib;Avkbg{q-E+FyRyf>kU0B22VbA zCsg=df*&STO>@6cV6blqR$N~nB}Y(jM9=kWPssu&a6rNQ3vk%JtUv+l=>UDrE8o(_ z=Q6S7%Y6L`+_`Y}zJ0XJ4TB&8s3*Huz@qu^sNQxzyS!k z#tv8@1e-(y02#o?2uyGQGLazz0D#6m{4v5wKx7~bKtj;m=d&Y51Q*3ZltnJW0cbdF z2pljSE*Rhga2a9>C#ZoC%7FqQ_@D+SU?2h!6*Qd(&b69@zyOt67oC!vB0S*Vi_C_zS0XhI!A0InktzzaX{0s;PjgH>SSllt2X zCU!(5(L7)~s>x7faN!!=m}WH0QO|KyFrXP=rh2TQL}n^r%Q#8EmitlV{7mv2)EE;r zCm4V%DM20se4qu+9L+L2u^m`ibDBq}z;1>!10j@$HqM-8bx>oO_Hf{n=v09g2XO)l z#AyakH~~8;puHAQK%Tg0=RLi6k}-5hCpw_O6F4vfT(p2q{7fi610;e9oB#khJ3$4m zARvPdhy|0dX9f64pitI;0vp{&M+pJXkSg?~D3uTo8kN$Py7Z-nKm!;^1=E_^^rkq? zssB!Q%F~|u^rxZn!wGOe)EdA52Sz;s3}E0S92^y?LIkQ*r%KhTS``&S7=j;$kjtye zst>sA!ynYfw5g)cU-a-<36Ky~oH~dE5P(4KY!_D&Xg~v3$iYiYItUJ200ADLfL0&p z)xsL~u!seh6BtkcA`Idd;9|lBVjzGzShfxzU}R!r<;2c}Q#vIf0W9$)HdEA)V +* @site http://www.kindsoft.net/ +* @licence http://www.kindsoft.net/license.php +*******************************************************************************/ + +KindEditor.plugin('filemanager', function(K) { + var self = this, name = 'filemanager', + fileManagerJson = K.undef(self.fileManagerJson, self.basePath + 'php/file_manager_json.php'), + imgPath = self.pluginsPath + name + '/images/', + lang = self.lang(name + '.'); + function makeFileTitle(filename, filesize, datetime) { + return filename + ' (' + Math.ceil(filesize / 1024) + 'KB, ' + datetime + ')'; + } + function bindTitle(el, data) { + if (data.is_dir) { + el.attr('title', data.filename); + } else { + el.attr('title', makeFileTitle(data.filename, data.filesize, data.datetime)); + } + } + self.plugin.filemanagerDialog = function(options) { + var width = K.undef(options.width, 650), + height = K.undef(options.height, 510), + dirName = K.undef(options.dirName, ''), + viewType = K.undef(options.viewType, 'VIEW').toUpperCase(), // "LIST" or "VIEW" + clickFn = options.clickFn; + var html = [ + '

                                                          ', + // header start + '
                                                          ', + // left start + '
                                                          ', + ' ', + '' + lang.moveup + '', + '
                                                          ', + // right start + '
                                                          ', + lang.viewType + ' ', + lang.orderType + ' ', + '
                                                          ', + '
                                                          ', + '
                                                          ', + // body start + '
                                                          ', + '
                                                          ' + ].join(''); + var dialog = self.createDialog({ + name : name, + width : width, + height : height, + title : self.lang(name), + body : html + }), + div = dialog.div, + bodyDiv = K('.ke-plugin-filemanager-body', div), + moveupImg = K('[name="moveupImg"]', div), + moveupLink = K('[name="moveupLink"]', div), + viewServerBtn = K('[name="viewServer"]', div), + viewTypeBox = K('[name="viewType"]', div), + orderTypeBox = K('[name="orderType"]', div); + function reloadPage(path, order, func) { + var param = 'path=' + path + '&order=' + order + '&dir=' + dirName; + dialog.showLoading(self.lang('ajaxLoading')); + K.ajax(K.addParam(fileManagerJson, param + '&' + new Date().getTime()), function(data) { + dialog.hideLoading(); + func(data); + }); + } + var elList = []; + function bindEvent(el, result, data, createFunc) { + var fileUrl = K.formatUrl(result.current_url + data.filename, 'absolute'), + dirPath = encodeURIComponent(result.current_dir_path + data.filename + '/'); + if (data.is_dir) { + el.click(function(e) { + reloadPage(dirPath, orderTypeBox.val(), createFunc); + }); + } else if (data.is_photo) { + el.click(function(e) { + clickFn.call(this, fileUrl, data.filename); + }); + } else { + el.click(function(e) { + clickFn.call(this, fileUrl, data.filename); + }); + } + elList.push(el); + } + function createCommon(result, createFunc) { + // remove events + K.each(elList, function() { + this.unbind(); + }); + moveupLink.unbind(); + viewTypeBox.unbind(); + orderTypeBox.unbind(); + // add events + if (result.current_dir_path) { + moveupLink.click(function(e) { + reloadPage(result.moveup_dir_path, orderTypeBox.val(), createFunc); + }); + } + function changeFunc() { + if (viewTypeBox.val() == 'VIEW') { + reloadPage(result.current_dir_path, orderTypeBox.val(), createView); + } else { + reloadPage(result.current_dir_path, orderTypeBox.val(), createList); + } + } + viewTypeBox.change(changeFunc); + orderTypeBox.change(changeFunc); + bodyDiv.html(''); + } + function createList(result) { + createCommon(result, createList); + var table = document.createElement('table'); + table.className = 'ke-table'; + table.cellPadding = 0; + table.cellSpacing = 0; + table.border = 0; + bodyDiv.append(table); + var fileList = result.file_list; + for (var i = 0, len = fileList.length; i < len; i++) { + var data = fileList[i], row = K(table.insertRow(i)); + row.mouseover(function(e) { + K(this).addClass('ke-on'); + }) + .mouseout(function(e) { + K(this).removeClass('ke-on'); + }); + var iconUrl = imgPath + (data.is_dir ? 'folder-16.gif' : 'file-16.gif'), + img = K('' + data.filename + ''), + cell0 = K(row[0].insertCell(0)).addClass('ke-cell ke-name').append(img).append(document.createTextNode(' ' + data.filename)); + if (!data.is_dir || data.has_file) { + row.css('cursor', 'pointer'); + cell0.attr('title', data.filename); + bindEvent(cell0, result, data, createList); + } else { + cell0.attr('title', lang.emptyFolder); + } + K(row[0].insertCell(1)).addClass('ke-cell ke-size').html(data.is_dir ? '-' : Math.ceil(data.filesize / 1024) + 'KB'); + K(row[0].insertCell(2)).addClass('ke-cell ke-datetime').html(data.datetime); + } + } + function createView(result) { + createCommon(result, createView); + var fileList = result.file_list; + for (var i = 0, len = fileList.length; i < len; i++) { + var data = fileList[i], + div = K('
                                                          '); + bodyDiv.append(div); + var photoDiv = K('
                                                          ') + .mouseover(function(e) { + K(this).addClass('ke-on'); + }) + .mouseout(function(e) { + K(this).removeClass('ke-on'); + }); + div.append(photoDiv); + var fileUrl = result.current_url + data.filename, + iconUrl = data.is_dir ? imgPath + 'folder-64.gif' : (data.is_photo ? fileUrl : imgPath + 'file-64.gif'); + var img = K('' + data.filename + ''); + if (!data.is_dir || data.has_file) { + photoDiv.css('cursor', 'pointer'); + bindTitle(photoDiv, data); + bindEvent(photoDiv, result, data, createView); + } else { + photoDiv.attr('title', lang.emptyFolder); + } + photoDiv.append(img); + div.append('
                                                          ' + data.filename + '
                                                          '); + } + } + viewTypeBox.val(viewType); + reloadPage('', orderTypeBox.val(), viewType == 'VIEW' ? createView : createList); + return dialog; + } + +}); diff --git a/src/demo/manager/src/main/webapp/assets/js/kindeditor-4.1.10/plugins/filemanager/images/file-16.gif b/src/demo/manager/src/main/webapp/assets/js/kindeditor-4.1.10/plugins/filemanager/images/file-16.gif new file mode 100644 index 0000000000000000000000000000000000000000..2cf6e47ede1f2e26bd3452c23176ebaf79a5fd57 GIT binary patch literal 170 zcmZ?wbhEHb6krfw*v!B%b?Vgb-@jkGcJ0WKBYXGm{r~^}(&bC<-Mcq)=FG>BAFo)o z0w}_O1QdU=u!=BnGw6WCKxQzogcqFjTf`mx3xJ)z~&)qMzN*+PXmCFv_ zx|XjqoqOKda0QQ+4FQRnJd@^~*7*Emjpt%t9)?{u94s1A+Z8leL`2ty2pB}H2yFbl O_W%zE%L5fA25SIajYC=h literal 0 HcmV?d00001 diff --git a/src/demo/manager/src/main/webapp/assets/js/kindeditor-4.1.10/plugins/filemanager/images/file-64.gif b/src/demo/manager/src/main/webapp/assets/js/kindeditor-4.1.10/plugins/filemanager/images/file-64.gif new file mode 100644 index 0000000000000000000000000000000000000000..2e211da0eb40f61300841085bb83d410e8b5e741 GIT binary patch literal 1149 zcmcJ~jXTo`0KoCzm`y_}qBt8uDQ|hXyms7;@aPUtkL0{;m%N;phuP#M{8sbYHt(?! z!$KI7w>(+R%gFnCGd<@$PwZwZuSMssKjOasz~}kiaB;GHF#KwxT6A-^@PLZLf8 zUa3R7F~v_CJeX@q!_N0sAu{mcXla^#pmqZN@6f&?*$?O#O~)Qv-4>nE(GuE zzj1xN2!tKF^^#qlbIRop#imT%8k-7Nfiq^4NcGadj+!$X1T8*Qq^Y&pAa8=r_|Vf5 zm7#gJ2u1%an-1go-@LYB6@2m~7mAaWN?3>JD5+lmuTYK$GPBw_aoekABVGTIa;jyJk?A|UqY;AYaK&|{or7i-3stM3IABYFo{xmH#G0yG%N!i78}Mb62zj5%Njd|*ke?v3N;vm0}4V`GIc#) z`e&dJ)ys~T`a>$ScAG;kkfsOqR;e17Cs!!YF3VBsgPr2OY{6W$;A|+>jiU_TB z1-hli9N7?u+l-2SxaQJxT?;Sk+jTP7`N_h1HjbFb!aO+#Rv}CP2(15W9l*vuND!7` zH;3$@s<&p&LYuO*L;w$&=*d*_j)Ftv?1gm0<{7oHh>EiZ^vDiI=|}yNmt`61&lT)3 zL@3oXCzOqSONX%z+J8@v$^AKpCt8X97<}%c$$PH=o`k)=OTm zd2vA*WVRcwhrC%Ylvc3?9fplmJ#epQ^AO$8^O&6N(|Ab;zC}iJ352Q2Cy~0N&>SbY cie<#^tamVL_nq&3(Jmj8ZrDET001`s0_4gG<^TWy literal 0 HcmV?d00001 diff --git a/src/demo/manager/src/main/webapp/assets/js/kindeditor-4.1.10/plugins/filemanager/images/folder-16.gif b/src/demo/manager/src/main/webapp/assets/js/kindeditor-4.1.10/plugins/filemanager/images/folder-16.gif new file mode 100644 index 0000000000000000000000000000000000000000..850b5a350d8943232c10a12e42b3edf0c0d78472 GIT binary patch literal 226 zcmZ?wbhEHb6krfwIKsg2ezM@^&6}Ui^7?nQE{`KzUoAE%4&*|X=z-JL(SNB_Mr;oCgrA4~N9-P`o{c=fjh8he;ee>Up~G!%G< zIEnFf6rD`5l9;-p#46Rt=t_>Nv1J6;gAEcnmI*p9wnX(V)VTMdVos6ejrSFQT%BJ0 X{$DR7Ey&o~*4`?p+uhTn$Y2csGiPY9 literal 0 HcmV?d00001 diff --git a/src/demo/manager/src/main/webapp/assets/js/kindeditor-4.1.10/plugins/filemanager/images/folder-64.gif b/src/demo/manager/src/main/webapp/assets/js/kindeditor-4.1.10/plugins/filemanager/images/folder-64.gif new file mode 100644 index 0000000000000000000000000000000000000000..e8a1b09c04162bb4f2e9a2c195c61c9b753d30e1 GIT binary patch literal 1272 zcmd7PiC5AG0KoBIK*Yk8n%6QE<>%FOIcH_%YhXUZu!gf0Yp!dX8R~nqj#V~?gn6Ul znI|GDDml{@UKt))UV%E%npZJFg#-i-3i<8zU+nuAeBS#W4G!`XhFK1jKcv=ox&K*Maqa4{ri8N|8JAai|? zwecd}^!)bPb0*aD>v9icwd=M?6s;BAF+7RVbzC#GUxeDuPIs^kZNC^=E4em+~F7c{UslN0V*wCi%!z{C*aTm5`7S8yicb(Wq2v zL_`DxLBRhwCj(-$6+i+!KN>$i0k%MN65}p2;a*}=a!P7iIx8bHi=Ca5o0ng3zp$vd zq_m7v&aL28R#o$BYU_%S)|iHejTp;Kf?Vqzt!?dXJ0A<#&elE8dV8OCW;xpoy%b9v zME&VF$+!fA`)6`$dS-S8V_qnoP|PnZj$`KR)Ee!wPQS9M#}&G+88=KiSKn7;LIbDs zE^5c_@B+y_SLY+n$BKy$xzAGVyew;SI^l^K4go2`y0}5%;`b!h|%_raSgv%gv*kAIiF~ zgyJoS^AqO=3ciY(9&EX)=y1l~Y9_qDrx@jjUH#(sZaDbq-izbp<83!Cz1r)GZ>7g3 zs%J!Z(T*qDZ(f=fNpf++Z0^kO$O*9z{<>grIE69KRI8}2N)3Oi0bRgA_ukn#C9YyIzMp}VCV9}>*+2?HibTy9iDd!L{rXS`w(Czje(~1 zdMJvoNiQo(ek+y85o~_|hH~-qnCCEUsPpAXTfgrr+fE!2A?@!-4|h}wlM znftKGFm<#>!RO^s7i;)cwTnpggl#aamEt`hcqFANA3Q$8A;H+Y%n1l*;UWi_s!0;`xz{5LPy6#A!qc9xXYz*fop3hphZs15=!}PN3#nUbRUK5~;V_~l z9bqN-S^Z>PUZ?Ibz9td8*jDBN$j|gqnoiVA5dpOsq3X6Ef>}&UtJBfi@1EIR5@>sE zNohS6hkZT!U>=B2riFX8V7cE@s9GNIvb6}@il%%E!2A>f-An&9l}`M1YRHfz&^AUt fOmuso9|_t2PCrUM>b3Is$cTvXaLwRrlOX**u!PuS+2(IcSY)xF}7f9oC(wHtC;mR-I7&MR-0VMts5rYB~}i!-{mRnOY{?&FuHWjFR7K7Huy zT~ULmyq?vfT3)@&&X&zOUpi%5RQ)yqMX%t}CG0#RvzP7cT64-GvRlqF!76#}|Ns9P z1}jkf$-*ka;KQH;av&&97})z8e43hl92{CYT4dyOZ8|$Fy*>C%MEaW<4Vamkw5I#$ znX#*?va`7N8*wUWuGO^jV(k<)cH-I2W=jzf1_d#3N51(!5@OP(R`2F>iJ2-|alO|Oe(i8$cZw1- OH?vCJo@faU25SJW- +* @site http://www.kindsoft.net/ +* @licence http://www.kindsoft.net/license.php +*******************************************************************************/ + +KindEditor.plugin('flash', function(K) { + var self = this, name = 'flash', lang = self.lang(name + '.'), + allowFlashUpload = K.undef(self.allowFlashUpload, true), + allowFileManager = K.undef(self.allowFileManager, false), + formatUploadUrl = K.undef(self.formatUploadUrl, true), + extraParams = K.undef(self.extraFileUploadParams, {}), + filePostName = K.undef(self.filePostName, 'imgFile'), + uploadJson = K.undef(self.uploadJson, self.basePath + 'php/upload_json.php'); + self.plugin.flash = { + edit : function() { + var html = [ + '
                                                          ', + //url + '
                                                          ', + '', + '  ', + '  ', + '', + '', + '', + '
                                                          ', + //width + '
                                                          ', + '', + ' ', + '
                                                          ', + //height + '
                                                          ', + '', + ' ', + '
                                                          ', + '
                                                          ' + ].join(''); + var dialog = self.createDialog({ + name : name, + width : 450, + title : self.lang(name), + body : html, + yesBtn : { + name : self.lang('yes'), + click : function(e) { + var url = K.trim(urlBox.val()), + width = widthBox.val(), + height = heightBox.val(); + if (url == 'http://' || K.invalidUrl(url)) { + alert(self.lang('invalidUrl')); + urlBox[0].focus(); + return; + } + if (!/^\d*$/.test(width)) { + alert(self.lang('invalidWidth')); + widthBox[0].focus(); + return; + } + if (!/^\d*$/.test(height)) { + alert(self.lang('invalidHeight')); + heightBox[0].focus(); + return; + } + var html = K.mediaImg(self.themesPath + 'common/blank.gif', { + src : url, + type : K.mediaType('.swf'), + width : width, + height : height, + quality : 'high' + }); + self.insertHtml(html).hideDialog().focus(); + } + } + }), + div = dialog.div, + urlBox = K('[name="url"]', div), + viewServerBtn = K('[name="viewServer"]', div), + widthBox = K('[name="width"]', div), + heightBox = K('[name="height"]', div); + urlBox.val('http://'); + + if (allowFlashUpload) { + var uploadbutton = K.uploadbutton({ + button : K('.ke-upload-button', div)[0], + fieldName : filePostName, + extraParams : extraParams, + url : K.addParam(uploadJson, 'dir=flash'), + afterUpload : function(data) { + dialog.hideLoading(); + if (data.error === 0) { + var url = data.url; + if (formatUploadUrl) { + url = K.formatUrl(url, 'absolute'); + } + urlBox.val(url); + if (self.afterUpload) { + self.afterUpload.call(self, url, data, name); + } + alert(self.lang('uploadSuccess')); + } else { + alert(data.message); + } + }, + afterError : function(html) { + dialog.hideLoading(); + self.errorDialog(html); + } + }); + uploadbutton.fileBox.change(function(e) { + dialog.showLoading(self.lang('uploadLoading')); + uploadbutton.submit(); + }); + } else { + K('.ke-upload-button', div).hide(); + } + + if (allowFileManager) { + viewServerBtn.click(function(e) { + self.loadPlugin('filemanager', function() { + self.plugin.filemanagerDialog({ + viewType : 'LIST', + dirName : 'flash', + clickFn : function(url, title) { + if (self.dialogs.length > 1) { + K('[name="url"]', div).val(url); + if (self.afterSelectFile) { + self.afterSelectFile.call(self, url); + } + self.hideDialog(); + } + } + }); + }); + }); + } else { + viewServerBtn.hide(); + } + + var img = self.plugin.getSelectedFlash(); + if (img) { + var attrs = K.mediaAttrs(img.attr('data-ke-tag')); + urlBox.val(attrs.src); + widthBox.val(K.removeUnit(img.css('width')) || attrs.width || 0); + heightBox.val(K.removeUnit(img.css('height')) || attrs.height || 0); + } + urlBox[0].focus(); + urlBox[0].select(); + }, + 'delete' : function() { + self.plugin.getSelectedFlash().remove(); + // [IE] 删除图片后立即点击图片按钮出错 + self.addBookmark(); + } + }; + self.clickToolbar(name, self.plugin.flash.edit); +}); diff --git a/src/demo/manager/src/main/webapp/assets/js/kindeditor-4.1.10/plugins/image/image.js b/src/demo/manager/src/main/webapp/assets/js/kindeditor-4.1.10/plugins/image/image.js new file mode 100644 index 00000000..69029eda --- /dev/null +++ b/src/demo/manager/src/main/webapp/assets/js/kindeditor-4.1.10/plugins/image/image.js @@ -0,0 +1,328 @@ +/******************************************************************************* +* KindEditor - WYSIWYG HTML Editor for Internet +* Copyright (C) 2006-2011 kindsoft.net +* +* @author Roddy +* @site http://www.kindsoft.net/ +* @licence http://www.kindsoft.net/license.php +*******************************************************************************/ + +KindEditor.plugin('image', function(K) { + var self = this, name = 'image', + allowImageUpload = K.undef(self.allowImageUpload, true), + allowImageRemote = K.undef(self.allowImageRemote, true), + formatUploadUrl = K.undef(self.formatUploadUrl, true), + allowFileManager = K.undef(self.allowFileManager, false), + uploadJson = K.undef(self.uploadJson, self.basePath + 'php/upload_json.php'), + imageTabIndex = K.undef(self.imageTabIndex, 0), + imgPath = self.pluginsPath + 'image/images/', + extraParams = K.undef(self.extraFileUploadParams, {}), + filePostName = K.undef(self.filePostName, 'imgFile'), + fillDescAfterUploadImage = K.undef(self.fillDescAfterUploadImage, false), + lang = self.lang(name + '.'); + + self.plugin.imageDialog = function(options) { + var imageUrl = options.imageUrl, + imageWidth = K.undef(options.imageWidth, ''), + imageHeight = K.undef(options.imageHeight, ''), + imageTitle = K.undef(options.imageTitle, ''), + imageAlign = K.undef(options.imageAlign, ''), + showRemote = K.undef(options.showRemote, true), + showLocal = K.undef(options.showLocal, true), + tabIndex = K.undef(options.tabIndex, 0), + clickFn = options.clickFn; + var target = 'kindeditor_upload_iframe_' + new Date().getTime(); + var hiddenElements = []; + for(var k in extraParams){ + hiddenElements.push(''); + } + var html = [ + '
                                                          ', + //tabs + '
                                                          ', + //remote image - start + '', + //remote image - end + //local upload - start + '', + //local upload - end + '
                                                          ' + ].join(''); + var dialogWidth = showLocal || allowFileManager ? 450 : 400, + dialogHeight = showLocal && showRemote ? 300 : 250; + var dialog = self.createDialog({ + name : name, + width : dialogWidth, + height : dialogHeight, + title : self.lang(name), + body : html, + yesBtn : { + name : self.lang('yes'), + click : function(e) { + // Bugfix: http://code.google.com/p/kindeditor/issues/detail?id=319 + if (dialog.isLoading) { + return; + } + // insert local image + if (showLocal && showRemote && tabs && tabs.selectedIndex === 1 || !showRemote) { + if (uploadbutton.fileBox.val() == '') { + alert(self.lang('pleaseSelectFile')); + return; + } + dialog.showLoading(self.lang('uploadLoading')); + uploadbutton.submit(); + localUrlBox.val(''); + return; + } + // insert remote image + var url = K.trim(urlBox.val()), + width = widthBox.val(), + height = heightBox.val(), + title = titleBox.val(), + align = ''; + alignBox.each(function() { + if (this.checked) { + align = this.value; + return false; + } + }); + if (url == 'http://' || K.invalidUrl(url)) { + alert(self.lang('invalidUrl')); + urlBox[0].focus(); + return; + } + if (!/^\d*$/.test(width)) { + alert(self.lang('invalidWidth')); + widthBox[0].focus(); + return; + } + if (!/^\d*$/.test(height)) { + alert(self.lang('invalidHeight')); + heightBox[0].focus(); + return; + } + clickFn.call(self, url, title, width, height, 0, align); + } + }, + beforeRemove : function() { + viewServerBtn.unbind(); + widthBox.unbind(); + heightBox.unbind(); + refreshBtn.unbind(); + } + }), + div = dialog.div; + + var urlBox = K('[name="url"]', div), + localUrlBox = K('[name="localUrl"]', div), + viewServerBtn = K('[name="viewServer"]', div), + widthBox = K('.tab1 [name="width"]', div), + heightBox = K('.tab1 [name="height"]', div), + refreshBtn = K('.ke-refresh-btn', div), + titleBox = K('.tab1 [name="title"]', div), + alignBox = K('.tab1 [name="align"]', div); + + var tabs; + if (showRemote && showLocal) { + tabs = K.tabs({ + src : K('.tabs', div), + afterSelect : function(i) {} + }); + tabs.add({ + title : lang.remoteImage, + panel : K('.tab1', div) + }); + tabs.add({ + title : lang.localImage, + panel : K('.tab2', div) + }); + tabs.select(tabIndex); + } else if (showRemote) { + K('.tab1', div).show(); + } else if (showLocal) { + K('.tab2', div).show(); + } + + var uploadbutton = K.uploadbutton({ + button : K('.ke-upload-button', div)[0], + fieldName : filePostName, + form : K('.ke-form', div), + target : target, + width: 60, + afterUpload : function(data) { + dialog.hideLoading(); + if (data.error === 0) { + var url = data.url; + if (formatUploadUrl) { + url = K.formatUrl(url, 'absolute'); + } + if (self.afterUpload) { + self.afterUpload.call(self, url, data, name); + } + if (!fillDescAfterUploadImage) { + clickFn.call(self, url, data.title, data.width, data.height, data.border, data.align); + } else { + K(".ke-dialog-row #remoteUrl", div).val(url); + K(".ke-tabs-li", div)[0].click(); + K(".ke-refresh-btn", div).click(); + } + } else { + alert(data.message); + } + }, + afterError : function(html) { + dialog.hideLoading(); + self.errorDialog(html); + } + }); + uploadbutton.fileBox.change(function(e) { + localUrlBox.val(uploadbutton.fileBox.val()); + }); + if (allowFileManager) { + viewServerBtn.click(function(e) { + self.loadPlugin('filemanager', function() { + self.plugin.filemanagerDialog({ + viewType : 'VIEW', + dirName : 'image', + clickFn : function(url, title) { + if (self.dialogs.length > 1) { + K('[name="url"]', div).val(url); + if (self.afterSelectFile) { + self.afterSelectFile.call(self, url); + } + self.hideDialog(); + } + } + }); + }); + }); + } else { + viewServerBtn.hide(); + } + var originalWidth = 0, originalHeight = 0; + function setSize(width, height) { + widthBox.val(width); + heightBox.val(height); + originalWidth = width; + originalHeight = height; + } + refreshBtn.click(function(e) { + var tempImg = K('', document).css({ + position : 'absolute', + visibility : 'hidden', + top : 0, + left : '-1000px' + }); + tempImg.bind('load', function() { + setSize(tempImg.width(), tempImg.height()); + tempImg.remove(); + }); + K(document.body).append(tempImg); + }); + widthBox.change(function(e) { + if (originalWidth > 0) { + heightBox.val(Math.round(originalHeight / originalWidth * parseInt(this.value, 10))); + } + }); + heightBox.change(function(e) { + if (originalHeight > 0) { + widthBox.val(Math.round(originalWidth / originalHeight * parseInt(this.value, 10))); + } + }); + urlBox.val(options.imageUrl); + setSize(options.imageWidth, options.imageHeight); + titleBox.val(options.imageTitle); + alignBox.each(function() { + if (this.value === options.imageAlign) { + this.checked = true; + return false; + } + }); + if (showRemote && tabIndex === 0) { + urlBox[0].focus(); + urlBox[0].select(); + } + return dialog; + }; + self.plugin.image = { + edit : function() { + var img = self.plugin.getSelectedImage(); + self.plugin.imageDialog({ + imageUrl : img ? img.attr('data-ke-src') : 'http://', + imageWidth : img ? img.width() : '', + imageHeight : img ? img.height() : '', + imageTitle : img ? img.attr('title') : '', + imageAlign : img ? img.attr('align') : '', + showRemote : allowImageRemote, + showLocal : allowImageUpload, + tabIndex: img ? 0 : imageTabIndex, + clickFn : function(url, title, width, height, border, align) { + if (img) { + img.attr('src', url); + img.attr('data-ke-src', url); + img.attr('width', width); + img.attr('height', height); + img.attr('title', title); + img.attr('align', align); + img.attr('alt', title); + } else { + self.exec('insertimage', url, title, width, height, border, align); + } + // Bugfix: [Firefox] 上传图片后,总是出现正在加载的样式,需要延迟执行hideDialog + setTimeout(function() { + self.hideDialog().focus(); + }, 0); + } + }); + }, + 'delete' : function() { + var target = self.plugin.getSelectedImage(); + if (target.parent().name == 'a') { + target = target.parent(); + } + target.remove(); + // [IE] 删除图片后立即点击图片按钮出错 + self.addBookmark(); + } + }; + self.clickToolbar(name, self.plugin.image.edit); +}); diff --git a/src/demo/manager/src/main/webapp/assets/js/kindeditor-4.1.10/plugins/image/images/align_left.gif b/src/demo/manager/src/main/webapp/assets/js/kindeditor-4.1.10/plugins/image/images/align_left.gif new file mode 100644 index 0000000000000000000000000000000000000000..ab17f56797aa3d6e54901251faa46a1d6a82ecc2 GIT binary patch literal 639 zcmZ?wbhEHb6laiRc*Xz%|NsC0`0~w_!xw)2{{Q;@?_a&NfY0z5d|Swfi6U&e?h5*55TdugqP( zd*;H87jM76djIpEzyB>GCR#^MvW=c(7cI+l#-3m0}y zcJ59}OkpzDnv~J$$H>AGkq{Y`Dyz9*QTmegj1G+QjN!@AF|o4h>pJZ^-9ysiBZ<4U~gn1Eh#H-meJE9h{xDp##LCC|K?)G$u@y(readQX2D_;9K@9y+PT?P z0vw!B1o0RN>)3}#UYWYsacTM!QqbB%B71u_a>d%Vtz8! mdxmkb+nP*aA-}msk>9>>^1Sd_=q&ls=hvqR!OI&N7_0$|A|OKm literal 0 HcmV?d00001 diff --git a/src/demo/manager/src/main/webapp/assets/js/kindeditor-4.1.10/plugins/image/images/align_right.gif b/src/demo/manager/src/main/webapp/assets/js/kindeditor-4.1.10/plugins/image/images/align_right.gif new file mode 100644 index 0000000000000000000000000000000000000000..e8ebe6a6367b8f2abe19eab1e888f62b31ebcafa GIT binary patch literal 636 zcmZ?wbhEHb6laiRc*Xz%|NsC0`0~w_!xw)2{{Q;@?_a&NfY0z5d|Swfi6U&e?h5*55TdugqP( zd*;H87jM76djIpEzyB>GCR#^MvW=c(7cQXIJ30E;dRiOk=~#A7 z?se`?N=#ug*IJU%Ic>ThBMVDJLS$5`tmgWO4vg}Q;mOf4v9jv>r)*-h>vRuEi;rWL zRXx+|#po7bZ)74ZDJyVhQ#zxkMG%j%zl^J}F8{3_n?N>GF)3fOU~Z2&#bU}0?cD4t z0S-<_x;U!4<3x5eC@{8haZL;1G`tYRAgdkb;*iMH)GWyB;LxMO8D?B!Fqc*1=%lAh jW?1N-Es4Cm?DQOq@NY3C!WupcohPc<9@&zqz+epk_}(0^ literal 0 HcmV?d00001 diff --git a/src/demo/manager/src/main/webapp/assets/js/kindeditor-4.1.10/plugins/image/images/align_top.gif b/src/demo/manager/src/main/webapp/assets/js/kindeditor-4.1.10/plugins/image/images/align_top.gif new file mode 100644 index 0000000000000000000000000000000000000000..d8826a5bce1462216379abff027077225394620d GIT binary patch literal 625 zcmZ?wbhEHb6laiRc*Xz%|NsC0`0~w_!xw)2{{Q;@?_a&NfY0z5d|Swfi6U&e?h5*55TdugqP( zd*;H87jM76djIpEzyB>GCR#^MvW=c(7cI+i_?yPUg| z5>uGWwH9Rb_%X7uL?lE;rOIlq?r~t0XADn{j)|33-`Q=~=^m06AIB`KdaTQf(JjE< z$V6IFR^U>nr$rEtvA>L~urB|7Mw>u3Q!y!DvtVwOH-?OI;_N~q9vu;a2j96ia&rhJ ztXPoXIaT0I$(jg3##T-aJ~tDFgL;!x!WhqW$arpAa>8YyP1T%~O{$(#6hharyxgSb XGgB+_T27_#bNBi3{G7HT91PX~icA-s literal 0 HcmV?d00001 diff --git a/src/demo/manager/src/main/webapp/assets/js/kindeditor-4.1.10/plugins/image/images/refresh.png b/src/demo/manager/src/main/webapp/assets/js/kindeditor-4.1.10/plugins/image/images/refresh.png new file mode 100644 index 0000000000000000000000000000000000000000..77e12d1c6acb7ad8defd5410e695d603097fba04 GIT binary patch literal 800 zcmV+*1K<3KP);XHLv^X{MWe`Tlinj{a@#N-#PzxnA+M}IA}100Yb>4X_(gy!}zoRE}P9-Gcn=d zkLP%hWjQ4)@@JM~+i8G(XAfenZNtG5HYNzd8%dOYyWMWnOnF3+72tRd!jUi}2NK|K@I&8)OF&qx6p4}p zNk|SR-ebsy13*!0YHDW7YT0sZYHEb3naQ_!H+||v`?BIuOy6N2+`4@WqS457TO^h) zm&>rVwN(K?sZ?EUrDdq93cY>3t8LL(cd1me(hdXzFq59yt*$=OA8Cm$X{rYHyV)7A z#X?cQ`YiyT&v&O(EP<};pb-roKY8>C?|NIBLs@#ZUja+Twe?j%i2xe~G);pCbMras zNLeT#2A>Qz9?$BUE+N?{W;%*H`IOjtzBJ zbcqY1Brc%;m;*rB&UK$%qceTbLcVYjRapQA4pnLuP|^uxzK1(Rn)UJR(iAxgof;y1uelRaG_g>g8*| zAi&Pe?eA0t^n1W zX4Kl&3PZywBhVa}N1wF+SVMXH*LDTK>)l&an7)3`#Be)-7DtoN3TR7cbNHakwn95Q eJ67C30R{j{$`Q#a2a=)y0000 +* @site http://www.kindsoft.net/ +* @licence http://www.kindsoft.net/license.php +*******************************************************************************/ + +KindEditor.plugin('insertfile', function(K) { + var self = this, name = 'insertfile', + allowFileUpload = K.undef(self.allowFileUpload, true), + allowFileManager = K.undef(self.allowFileManager, false), + formatUploadUrl = K.undef(self.formatUploadUrl, true), + uploadJson = K.undef(self.uploadJson, self.basePath + 'php/upload_json.php'), + extraParams = K.undef(self.extraFileUploadParams, {}), + filePostName = K.undef(self.filePostName, 'imgFile'), + lang = self.lang(name + '.'); + self.plugin.fileDialog = function(options) { + var fileUrl = K.undef(options.fileUrl, 'http://'), + fileTitle = K.undef(options.fileTitle, ''), + clickFn = options.clickFn; + var html = [ + '
                                                          ', + '
                                                          ', + '', + '  ', + '  ', + '', + '', + '', + '
                                                          ', + //title + '
                                                          ', + '', + '
                                                          ', + '
                                                          ', + //form end + '', + '
                                                        ' + ].join(''); + var dialog = self.createDialog({ + name : name, + width : 450, + title : self.lang(name), + body : html, + yesBtn : { + name : self.lang('yes'), + click : function(e) { + var url = K.trim(urlBox.val()), + title = titleBox.val(); + if (url == 'http://' || K.invalidUrl(url)) { + alert(self.lang('invalidUrl')); + urlBox[0].focus(); + return; + } + if (K.trim(title) === '') { + title = url; + } + clickFn.call(self, url, title); + } + } + }), + div = dialog.div; + + var urlBox = K('[name="url"]', div), + viewServerBtn = K('[name="viewServer"]', div), + titleBox = K('[name="title"]', div); + + if (allowFileUpload) { + var uploadbutton = K.uploadbutton({ + button : K('.ke-upload-button', div)[0], + fieldName : filePostName, + url : K.addParam(uploadJson, 'dir=file'), + extraParams : extraParams, + afterUpload : function(data) { + dialog.hideLoading(); + if (data.error === 0) { + var url = data.url; + if (formatUploadUrl) { + url = K.formatUrl(url, 'absolute'); + } + urlBox.val(url); + if (self.afterUpload) { + self.afterUpload.call(self, url, data, name); + } + alert(self.lang('uploadSuccess')); + } else { + alert(data.message); + } + }, + afterError : function(html) { + dialog.hideLoading(); + self.errorDialog(html); + } + }); + uploadbutton.fileBox.change(function(e) { + dialog.showLoading(self.lang('uploadLoading')); + uploadbutton.submit(); + }); + } else { + K('.ke-upload-button', div).hide(); + } + if (allowFileManager) { + viewServerBtn.click(function(e) { + self.loadPlugin('filemanager', function() { + self.plugin.filemanagerDialog({ + viewType : 'LIST', + dirName : 'file', + clickFn : function(url, title) { + if (self.dialogs.length > 1) { + K('[name="url"]', div).val(url); + if (self.afterSelectFile) { + self.afterSelectFile.call(self, url); + } + self.hideDialog(); + } + } + }); + }); + }); + } else { + viewServerBtn.hide(); + } + urlBox.val(fileUrl); + titleBox.val(fileTitle); + urlBox[0].focus(); + urlBox[0].select(); + }; + self.clickToolbar(name, function() { + self.plugin.fileDialog({ + clickFn : function(url, title) { + var html = '' + title + ''; + self.insertHtml(html).hideDialog().focus(); + } + }); + }); +}); diff --git a/src/demo/manager/src/main/webapp/assets/js/kindeditor-4.1.10/plugins/lineheight/lineheight.js b/src/demo/manager/src/main/webapp/assets/js/kindeditor-4.1.10/plugins/lineheight/lineheight.js new file mode 100644 index 00000000..ae679d78 --- /dev/null +++ b/src/demo/manager/src/main/webapp/assets/js/kindeditor-4.1.10/plugins/lineheight/lineheight.js @@ -0,0 +1,38 @@ +/******************************************************************************* +* KindEditor - WYSIWYG HTML Editor for Internet +* Copyright (C) 2006-2011 kindsoft.net +* +* @author Roddy +* @site http://www.kindsoft.net/ +* @licence http://www.kindsoft.net/license.php +*******************************************************************************/ + +KindEditor.plugin('lineheight', function(K) { + var self = this, name = 'lineheight', lang = self.lang(name + '.'); + self.clickToolbar(name, function() { + var curVal = '', commonNode = self.cmd.commonNode({'*' : '.line-height'}); + if (commonNode) { + curVal = commonNode.css('line-height'); + } + var menu = self.createMenu({ + name : name, + width : 150 + }); + K.each(lang.lineHeight, function(i, row) { + K.each(row, function(key, val) { + menu.addItem({ + title : val, + checked : curVal === key, + click : function() { + self.cmd.toggle('', { + span : '.line-height=' + key + }); + self.updateState(); + self.addBookmark(); + self.hideMenu(); + } + }); + }); + }); + }); +}); diff --git a/src/demo/manager/src/main/webapp/assets/js/kindeditor-4.1.10/plugins/link/link.js b/src/demo/manager/src/main/webapp/assets/js/kindeditor-4.1.10/plugins/link/link.js new file mode 100644 index 00000000..352fa3c6 --- /dev/null +++ b/src/demo/manager/src/main/webapp/assets/js/kindeditor-4.1.10/plugins/link/link.js @@ -0,0 +1,66 @@ +/******************************************************************************* +* KindEditor - WYSIWYG HTML Editor for Internet +* Copyright (C) 2006-2011 kindsoft.net +* +* @author Roddy +* @site http://www.kindsoft.net/ +* @licence http://www.kindsoft.net/license.php +*******************************************************************************/ + +KindEditor.plugin('link', function(K) { + var self = this, name = 'link'; + self.plugin.link = { + edit : function() { + var lang = self.lang(name + '.'), + html = '
                                                        ' + + //url + '
                                                        ' + + '' + + '
                                                        ' + + //type + '
                                                        ' + + '' + + '' + + '
                                                        ' + + '
                                                        ', + dialog = self.createDialog({ + name : name, + width : 450, + title : self.lang(name), + body : html, + yesBtn : { + name : self.lang('yes'), + click : function(e) { + var url = K.trim(urlBox.val()); + if (url == 'http://' || K.invalidUrl(url)) { + alert(self.lang('invalidUrl')); + urlBox[0].focus(); + return; + } + self.exec('createlink', url, typeBox.val()).hideDialog().focus(); + } + } + }), + div = dialog.div, + urlBox = K('input[name="url"]', div), + typeBox = K('select[name="type"]', div); + urlBox.val('http://'); + typeBox[0].options[0] = new Option(lang.newWindow, '_blank'); + typeBox[0].options[1] = new Option(lang.selfWindow, ''); + self.cmd.selection(); + var a = self.plugin.getSelectedLink(); + if (a) { + self.cmd.range.selectNode(a[0]); + self.cmd.select(); + urlBox.val(a.attr('data-ke-src')); + typeBox.val(a.attr('target')); + } + urlBox[0].focus(); + urlBox[0].select(); + }, + 'delete' : function() { + self.exec('unlink', null); + } + }; + self.clickToolbar(name, self.plugin.link.edit); +}); diff --git a/src/demo/manager/src/main/webapp/assets/js/kindeditor-4.1.10/plugins/map/map.html b/src/demo/manager/src/main/webapp/assets/js/kindeditor-4.1.10/plugins/map/map.html new file mode 100644 index 00000000..1a9ad7d7 --- /dev/null +++ b/src/demo/manager/src/main/webapp/assets/js/kindeditor-4.1.10/plugins/map/map.html @@ -0,0 +1,57 @@ + + + + + + + + + +
                                                        + + \ No newline at end of file diff --git a/src/demo/manager/src/main/webapp/assets/js/kindeditor-4.1.10/plugins/map/map.js b/src/demo/manager/src/main/webapp/assets/js/kindeditor-4.1.10/plugins/map/map.js new file mode 100644 index 00000000..52908752 --- /dev/null +++ b/src/demo/manager/src/main/webapp/assets/js/kindeditor-4.1.10/plugins/map/map.js @@ -0,0 +1,137 @@ +/******************************************************************************* +* KindEditor - WYSIWYG HTML Editor for Internet +* Copyright (C) 2006-2011 kindsoft.net +* +* @author Roddy +* @site http://www.kindsoft.net/ +* @licence http://www.kindsoft.net/license.php +*******************************************************************************/ + +// Google Maps: http://code.google.com/apis/maps/index.html + +KindEditor.plugin('map', function(K) { + var self = this, name = 'map', lang = self.lang(name + '.'); + self.clickToolbar(name, function() { + var html = ['
                                                        ', + '
                                                        ', + lang.address + ' ', + '', + '', + '', + '
                                                        ', + '
                                                        ', + '
                                                        '].join(''); + var dialog = self.createDialog({ + name : name, + width : 600, + title : self.lang(name), + body : html, + yesBtn : { + name : self.lang('yes'), + click : function(e) { + var geocoder = win.geocoder, + map = win.map, + center = map.getCenter().lat() + ',' + map.getCenter().lng(), + zoom = map.getZoom(), + maptype = map.getMapTypeId(), + url = 'http://maps.googleapis.com/maps/api/staticmap'; + url += '?center=' + encodeURIComponent(center); + url += '&zoom=' + encodeURIComponent(zoom); + url += '&size=558x360'; + url += '&maptype=' + encodeURIComponent(maptype); + url += '&markers=' + encodeURIComponent(center); + url += '&language=' + self.langType; + url += '&sensor=false'; + self.exec('insertimage', url).hideDialog().focus(); + } + }, + beforeRemove : function() { + searchBtn.remove(); + if (doc) { + doc.write(''); + } + iframe.remove(); + } + }); + var div = dialog.div, + addressBox = K('[name="address"]', div), + searchBtn = K('[name="searchBtn"]', div), + win, doc; + var iframeHtml = ['', + '', + '', + '', + '', + '', + '', + '
                                                        ', + ''].join('\n'); + // TODO:用doc.write(iframeHtml)方式加载时,在IE6上第一次加载报错,暂时使用src方式 + var iframe = K(''); + function ready() { + win = iframe[0].contentWindow; + doc = K.iframeDoc(iframe); + //doc.open(); + //doc.write(iframeHtml); + //doc.close(); + } + iframe.bind('load', function() { + iframe.unbind('load'); + if (K.IE) { + ready(); + } else { + setTimeout(ready, 0); + } + }); + K('.ke-map', div).replaceWith(iframe); + // search map + searchBtn.click(function() { + win.search(addressBox.val()); + }); + }); +}); diff --git a/src/demo/manager/src/main/webapp/assets/js/kindeditor-4.1.10/plugins/media/media.js b/src/demo/manager/src/main/webapp/assets/js/kindeditor-4.1.10/plugins/media/media.js new file mode 100644 index 00000000..58034662 --- /dev/null +++ b/src/demo/manager/src/main/webapp/assets/js/kindeditor-4.1.10/plugins/media/media.js @@ -0,0 +1,170 @@ +/******************************************************************************* +* KindEditor - WYSIWYG HTML Editor for Internet +* Copyright (C) 2006-2011 kindsoft.net +* +* @author Roddy +* @site http://www.kindsoft.net/ +* @licence http://www.kindsoft.net/license.php +*******************************************************************************/ + +KindEditor.plugin('media', function(K) { + var self = this, name = 'media', lang = self.lang(name + '.'), + allowMediaUpload = K.undef(self.allowMediaUpload, true), + allowFileManager = K.undef(self.allowFileManager, false), + formatUploadUrl = K.undef(self.formatUploadUrl, true), + extraParams = K.undef(self.extraFileUploadParams, {}), + filePostName = K.undef(self.filePostName, 'imgFile'), + uploadJson = K.undef(self.uploadJson, self.basePath + 'php/upload_json.php'); + self.plugin.media = { + edit : function() { + var html = [ + '
                                                        ', + //url + '
                                                        ', + '', + '  ', + '  ', + '', + '', + '', + '
                                                        ', + //width + '
                                                        ', + '', + '', + '
                                                        ', + //height + '
                                                        ', + '', + '', + '
                                                        ', + //autostart + '
                                                        ', + '', + ' ', + '
                                                        ', + '
                                                        ' + ].join(''); + var dialog = self.createDialog({ + name : name, + width : 450, + height : 230, + title : self.lang(name), + body : html, + yesBtn : { + name : self.lang('yes'), + click : function(e) { + var url = K.trim(urlBox.val()), + width = widthBox.val(), + height = heightBox.val(); + if (url == 'http://' || K.invalidUrl(url)) { + alert(self.lang('invalidUrl')); + urlBox[0].focus(); + return; + } + if (!/^\d*$/.test(width)) { + alert(self.lang('invalidWidth')); + widthBox[0].focus(); + return; + } + if (!/^\d*$/.test(height)) { + alert(self.lang('invalidHeight')); + heightBox[0].focus(); + return; + } + var html = K.mediaImg(self.themesPath + 'common/blank.gif', { + src : url, + type : K.mediaType(url), + width : width, + height : height, + autostart : autostartBox[0].checked ? 'true' : 'false', + loop : 'true' + }); + self.insertHtml(html).hideDialog().focus(); + } + } + }), + div = dialog.div, + urlBox = K('[name="url"]', div), + viewServerBtn = K('[name="viewServer"]', div), + widthBox = K('[name="width"]', div), + heightBox = K('[name="height"]', div), + autostartBox = K('[name="autostart"]', div); + urlBox.val('http://'); + + if (allowMediaUpload) { + var uploadbutton = K.uploadbutton({ + button : K('.ke-upload-button', div)[0], + fieldName : filePostName, + extraParams : extraParams, + url : K.addParam(uploadJson, 'dir=media'), + afterUpload : function(data) { + dialog.hideLoading(); + if (data.error === 0) { + var url = data.url; + if (formatUploadUrl) { + url = K.formatUrl(url, 'absolute'); + } + urlBox.val(url); + if (self.afterUpload) { + self.afterUpload.call(self, url, data, name); + } + alert(self.lang('uploadSuccess')); + } else { + alert(data.message); + } + }, + afterError : function(html) { + dialog.hideLoading(); + self.errorDialog(html); + } + }); + uploadbutton.fileBox.change(function(e) { + dialog.showLoading(self.lang('uploadLoading')); + uploadbutton.submit(); + }); + } else { + K('.ke-upload-button', div).hide(); + } + + if (allowFileManager) { + viewServerBtn.click(function(e) { + self.loadPlugin('filemanager', function() { + self.plugin.filemanagerDialog({ + viewType : 'LIST', + dirName : 'media', + clickFn : function(url, title) { + if (self.dialogs.length > 1) { + K('[name="url"]', div).val(url); + if (self.afterSelectFile) { + self.afterSelectFile.call(self, url); + } + self.hideDialog(); + } + } + }); + }); + }); + } else { + viewServerBtn.hide(); + } + + var img = self.plugin.getSelectedMedia(); + if (img) { + var attrs = K.mediaAttrs(img.attr('data-ke-tag')); + urlBox.val(attrs.src); + widthBox.val(K.removeUnit(img.css('width')) || attrs.width || 0); + heightBox.val(K.removeUnit(img.css('height')) || attrs.height || 0); + autostartBox[0].checked = (attrs.autostart === 'true'); + } + urlBox[0].focus(); + urlBox[0].select(); + }, + 'delete' : function() { + self.plugin.getSelectedMedia().remove(); + // [IE] 删除图片后立即点击图片按钮出错 + self.addBookmark(); + } + }; + self.clickToolbar(name, self.plugin.media.edit); +}); diff --git a/src/demo/manager/src/main/webapp/assets/js/kindeditor-4.1.10/plugins/multiimage/images/image.png b/src/demo/manager/src/main/webapp/assets/js/kindeditor-4.1.10/plugins/multiimage/images/image.png new file mode 100644 index 0000000000000000000000000000000000000000..fe79cf0ad566d774635ae23fcd10722361d4b56d GIT binary patch literal 1862 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 +* @site http://www.kindsoft.net/ +* @licence http://www.kindsoft.net/license.php +*******************************************************************************/ + + +(function(K) { + +function KSWFUpload(options) { + this.init(options); +} +K.extend(KSWFUpload, { + init : function(options) { + var self = this; + options.afterError = options.afterError || function(str) { + alert(str); + }; + self.options = options; + self.progressbars = {}; + // template + self.div = K(options.container).html([ + '
                                                        ', + '
                                                        ', + '
                                                        ', + '', + '
                                                        ', + '
                                                        ' + options.uploadDesc + '
                                                        ', + '', + '', + '', + '
                                                        ', + '
                                                        ', + '
                                                        ' + ].join('')); + self.bodyDiv = K('.ke-swfupload-body', self.div); + + function showError(itemDiv, msg) { + K('.ke-status > div', itemDiv).hide(); + K('.ke-message', itemDiv).addClass('ke-error').show().html(K.escape(msg)); + } + + var settings = { + debug : false, + upload_url : options.uploadUrl, + flash_url : options.flashUrl, + file_post_name : options.filePostName, + button_placeholder : K('.ke-swfupload-button > input', self.div)[0], + button_image_url: options.buttonImageUrl, + button_width: options.buttonWidth, + button_height: options.buttonHeight, + button_cursor : SWFUpload.CURSOR.HAND, + file_types : options.fileTypes, + file_types_description : options.fileTypesDesc, + file_upload_limit : options.fileUploadLimit, + file_size_limit : options.fileSizeLimit, + post_params : options.postParams, + file_queued_handler : function(file) { + file.url = self.options.fileIconUrl; + self.appendFile(file); + }, + file_queue_error_handler : function(file, errorCode, message) { + var errorName = ''; + switch (errorCode) { + case SWFUpload.QUEUE_ERROR.QUEUE_LIMIT_EXCEEDED: + errorName = options.queueLimitExceeded; + break; + case SWFUpload.QUEUE_ERROR.FILE_EXCEEDS_SIZE_LIMIT: + errorName = options.fileExceedsSizeLimit; + break; + case SWFUpload.QUEUE_ERROR.ZERO_BYTE_FILE: + errorName = options.zeroByteFile; + break; + case SWFUpload.QUEUE_ERROR.INVALID_FILETYPE: + errorName = options.invalidFiletype; + break; + default: + errorName = options.unknownError; + break; + } + K.DEBUG && alert(errorName); + }, + upload_start_handler : function(file) { + var self = this; + var itemDiv = K('div[data-id="' + file.id + '"]', self.bodyDiv); + K('.ke-status > div', itemDiv).hide(); + K('.ke-progressbar', itemDiv).show(); + }, + upload_progress_handler : function(file, bytesLoaded, bytesTotal) { + var percent = Math.round(bytesLoaded * 100 / bytesTotal); + var progressbar = self.progressbars[file.id]; + progressbar.bar.css('width', Math.round(percent * 80 / 100) + 'px'); + progressbar.percent.html(percent + '%'); + }, + upload_error_handler : function(file, errorCode, message) { + if (file && file.filestatus == SWFUpload.FILE_STATUS.ERROR) { + var itemDiv = K('div[data-id="' + file.id + '"]', self.bodyDiv).eq(0); + showError(itemDiv, self.options.errorMessage); + } + }, + upload_success_handler : function(file, serverData) { + var itemDiv = K('div[data-id="' + file.id + '"]', self.bodyDiv).eq(0); + var data = {}; + try { + data = K.json(serverData); + } catch (e) { + self.options.afterError.call(this, '' + serverData + ''); + } + if (data.error !== 0) { + showError(itemDiv, K.DEBUG ? data.message : self.options.errorMessage); + return; + } + file.url = data.url; + K('.ke-img', itemDiv).attr('src', file.url).attr('data-status', file.filestatus).data('data', data); + K('.ke-status > div', itemDiv).hide(); + } + }; + self.swfu = new SWFUpload(settings); + + K('.ke-swfupload-startupload input', self.div).click(function() { + self.swfu.startUpload(); + }); + }, + getUrlList : function() { + var list = []; + K('.ke-img', self.bodyDiv).each(function() { + var img = K(this); + var status = img.attr('data-status'); + if (status == SWFUpload.FILE_STATUS.COMPLETE) { + list.push(img.data('data')); + } + }); + return list; + }, + removeFile : function(fileId) { + var self = this; + self.swfu.cancelUpload(fileId); + var itemDiv = K('div[data-id="' + fileId + '"]', self.bodyDiv); + K('.ke-photo', itemDiv).unbind(); + K('.ke-delete', itemDiv).unbind(); + itemDiv.remove(); + }, + removeFiles : function() { + var self = this; + K('.ke-item', self.bodyDiv).each(function() { + self.removeFile(K(this).attr('data-id')); + }); + }, + appendFile : function(file) { + var self = this; + var itemDiv = K('
                                                        '); + self.bodyDiv.append(itemDiv); + var photoDiv = K('
                                                        ') + .mouseover(function(e) { + K(this).addClass('ke-on'); + }) + .mouseout(function(e) { + K(this).removeClass('ke-on'); + }); + itemDiv.append(photoDiv); + + var img = K('' + file.name + ''); + photoDiv.append(img); + K('').appendTo(photoDiv).click(function() { + self.removeFile(file.id); + }); + var statusDiv = K('
                                                        ').appendTo(photoDiv); + // progressbar + K(['
                                                        ', + '
                                                        ', + '
                                                        0%
                                                        '].join('')).hide().appendTo(statusDiv); + // message + K('
                                                        ' + self.options.pendingMessage + '
                                                        ').appendTo(statusDiv); + + itemDiv.append('
                                                        ' + file.name + '
                                                        '); + + self.progressbars[file.id] = { + bar : K('.ke-progressbar-bar-inner', photoDiv), + percent : K('.ke-progressbar-percent', photoDiv) + }; + }, + remove : function() { + this.removeFiles(); + this.swfu.destroy(); + this.div.html(''); + } +}); + +K.swfupload = function(element, options) { + return new KSWFUpload(element, options); +}; + +})(KindEditor); + +KindEditor.plugin('multiimage', function(K) { + var self = this, name = 'multiimage', + formatUploadUrl = K.undef(self.formatUploadUrl, true), + uploadJson = K.undef(self.uploadJson, self.basePath + 'php/upload_json.php'), + imgPath = self.pluginsPath + 'multiimage/images/', + imageSizeLimit = K.undef(self.imageSizeLimit, '1MB'), + imageFileTypes = K.undef(self.imageFileTypes, '*.jpg;*.gif;*.png'), + imageUploadLimit = K.undef(self.imageUploadLimit, 20), + filePostName = K.undef(self.filePostName, 'imgFile'), + lang = self.lang(name + '.'); + + self.plugin.multiImageDialog = function(options) { + var clickFn = options.clickFn, + uploadDesc = K.tmpl(lang.uploadDesc, {uploadLimit : imageUploadLimit, sizeLimit : imageSizeLimit}); + var html = [ + '
                                                        ', + '
                                                        ', + '
                                                        ', + '
                                                        ' + ].join(''); + var dialog = self.createDialog({ + name : name, + width : 650, + height : 510, + title : self.lang(name), + body : html, + previewBtn : { + name : lang.insertAll, + click : function(e) { + clickFn.call(self, swfupload.getUrlList()); + } + }, + yesBtn : { + name : lang.clearAll, + click : function(e) { + swfupload.removeFiles(); + } + }, + beforeRemove : function() { + // IE9 bugfix: https://github.com/kindsoft/kindeditor/issues/72 + if (!K.IE || K.V <= 8) { + swfupload.remove(); + } + } + }), + div = dialog.div; + + var swfupload = K.swfupload({ + container : K('.swfupload', div), + buttonImageUrl : imgPath + (self.langType == 'zh_CN' ? 'select-files-zh_CN.png' : 'select-files-en.png'), + buttonWidth : self.langType == 'zh_CN' ? 72 : 88, + buttonHeight : 23, + fileIconUrl : imgPath + 'image.png', + uploadDesc : uploadDesc, + startButtonValue : lang.startUpload, + uploadUrl : K.addParam(uploadJson, 'dir=image'), + flashUrl : imgPath + 'swfupload.swf', + filePostName : filePostName, + fileTypes : '*.jpg;*.jpeg;*.gif;*.png;*.bmp', + fileTypesDesc : 'Image Files', + fileUploadLimit : imageUploadLimit, + fileSizeLimit : imageSizeLimit, + postParams : K.undef(self.extraFileUploadParams, {}), + queueLimitExceeded : lang.queueLimitExceeded, + fileExceedsSizeLimit : lang.fileExceedsSizeLimit, + zeroByteFile : lang.zeroByteFile, + invalidFiletype : lang.invalidFiletype, + unknownError : lang.unknownError, + pendingMessage : lang.pending, + errorMessage : lang.uploadError, + afterError : function(html) { + self.errorDialog(html); + } + }); + + return dialog; + }; + self.clickToolbar(name, function() { + self.plugin.multiImageDialog({ + clickFn : function (urlList) { + if (urlList.length === 0) { + return; + } + K.each(urlList, function(i, data) { + if (self.afterUpload) { + self.afterUpload.call(self, data.url, data, 'multiimage'); + } + self.exec('insertimage', data.url, data.title, data.width, data.height, data.border, data.align); + }); + // Bugfix: [Firefox] 上传图片后,总是出现正在加载的样式,需要延迟执行hideDialog + setTimeout(function() { + self.hideDialog().focus(); + }, 0); + } + }); + }); +}); + + +/** + * SWFUpload: http://www.swfupload.org, http://swfupload.googlecode.com + * + * mmSWFUpload 1.0: Flash upload dialog - http://profandesign.se/swfupload/, http://www.vinterwebb.se/ + * + * SWFUpload is (c) 2006-2007 Lars Huring, Olov Nilz閚 and Mammon Media and is released under the MIT License: + * http://www.opensource.org/licenses/mit-license.php + * + * SWFUpload 2 is (c) 2007-2008 Jake Roberts and is released under the MIT License: + * http://www.opensource.org/licenses/mit-license.php + * + */ + + +/* ******************* */ +/* Constructor & Init */ +/* ******************* */ + +(function() { + +window.SWFUpload = function (settings) { + this.initSWFUpload(settings); +}; + +SWFUpload.prototype.initSWFUpload = function (settings) { + try { + this.customSettings = {}; // A container where developers can place their own settings associated with this instance. + this.settings = settings; + this.eventQueue = []; + this.movieName = "KindEditor_SWFUpload_" + SWFUpload.movieCount++; + this.movieElement = null; + + + // Setup global control tracking + SWFUpload.instances[this.movieName] = this; + + // Load the settings. Load the Flash movie. + this.initSettings(); + this.loadFlash(); + this.displayDebugInfo(); + } catch (ex) { + delete SWFUpload.instances[this.movieName]; + throw ex; + } +}; + +/* *************** */ +/* Static Members */ +/* *************** */ +SWFUpload.instances = {}; +SWFUpload.movieCount = 0; +SWFUpload.version = "2.2.0 2009-03-25"; +SWFUpload.QUEUE_ERROR = { + QUEUE_LIMIT_EXCEEDED : -100, + FILE_EXCEEDS_SIZE_LIMIT : -110, + ZERO_BYTE_FILE : -120, + INVALID_FILETYPE : -130 +}; +SWFUpload.UPLOAD_ERROR = { + HTTP_ERROR : -200, + MISSING_UPLOAD_URL : -210, + IO_ERROR : -220, + SECURITY_ERROR : -230, + UPLOAD_LIMIT_EXCEEDED : -240, + UPLOAD_FAILED : -250, + SPECIFIED_FILE_ID_NOT_FOUND : -260, + FILE_VALIDATION_FAILED : -270, + FILE_CANCELLED : -280, + UPLOAD_STOPPED : -290 +}; +SWFUpload.FILE_STATUS = { + QUEUED : -1, + IN_PROGRESS : -2, + ERROR : -3, + COMPLETE : -4, + CANCELLED : -5 +}; +SWFUpload.BUTTON_ACTION = { + SELECT_FILE : -100, + SELECT_FILES : -110, + START_UPLOAD : -120 +}; +SWFUpload.CURSOR = { + ARROW : -1, + HAND : -2 +}; +SWFUpload.WINDOW_MODE = { + WINDOW : "window", + TRANSPARENT : "transparent", + OPAQUE : "opaque" +}; + +// Private: takes a URL, determines if it is relative and converts to an absolute URL +// using the current site. Only processes the URL if it can, otherwise returns the URL untouched +SWFUpload.completeURL = function(url) { + if (typeof(url) !== "string" || url.match(/^https?:\/\//i) || url.match(/^\//)) { + return url; + } + + var currentURL = window.location.protocol + "//" + window.location.hostname + (window.location.port ? ":" + window.location.port : ""); + + var indexSlash = window.location.pathname.lastIndexOf("/"); + if (indexSlash <= 0) { + path = "/"; + } else { + path = window.location.pathname.substr(0, indexSlash) + "/"; + } + + return /*currentURL +*/ path + url; + +}; + + +/* ******************** */ +/* Instance Members */ +/* ******************** */ + +// Private: initSettings ensures that all the +// settings are set, getting a default value if one was not assigned. +SWFUpload.prototype.initSettings = function () { + this.ensureDefault = function (settingName, defaultValue) { + this.settings[settingName] = (this.settings[settingName] == undefined) ? defaultValue : this.settings[settingName]; + }; + + // Upload backend settings + this.ensureDefault("upload_url", ""); + this.ensureDefault("preserve_relative_urls", false); + this.ensureDefault("file_post_name", "Filedata"); + this.ensureDefault("post_params", {}); + this.ensureDefault("use_query_string", false); + this.ensureDefault("requeue_on_error", false); + this.ensureDefault("http_success", []); + this.ensureDefault("assume_success_timeout", 0); + + // File Settings + this.ensureDefault("file_types", "*.*"); + this.ensureDefault("file_types_description", "All Files"); + this.ensureDefault("file_size_limit", 0); // Default zero means "unlimited" + this.ensureDefault("file_upload_limit", 0); + this.ensureDefault("file_queue_limit", 0); + + // Flash Settings + this.ensureDefault("flash_url", "swfupload.swf"); + this.ensureDefault("prevent_swf_caching", true); + + // Button Settings + this.ensureDefault("button_image_url", ""); + this.ensureDefault("button_width", 1); + this.ensureDefault("button_height", 1); + this.ensureDefault("button_text", ""); + this.ensureDefault("button_text_style", "color: #000000; font-size: 16pt;"); + this.ensureDefault("button_text_top_padding", 0); + this.ensureDefault("button_text_left_padding", 0); + this.ensureDefault("button_action", SWFUpload.BUTTON_ACTION.SELECT_FILES); + this.ensureDefault("button_disabled", false); + this.ensureDefault("button_placeholder_id", ""); + this.ensureDefault("button_placeholder", null); + this.ensureDefault("button_cursor", SWFUpload.CURSOR.ARROW); + this.ensureDefault("button_window_mode", SWFUpload.WINDOW_MODE.WINDOW); + + // Debug Settings + this.ensureDefault("debug", false); + this.settings.debug_enabled = this.settings.debug; // Here to maintain v2 API + + // Event Handlers + this.settings.return_upload_start_handler = this.returnUploadStart; + this.ensureDefault("swfupload_loaded_handler", null); + this.ensureDefault("file_dialog_start_handler", null); + this.ensureDefault("file_queued_handler", null); + this.ensureDefault("file_queue_error_handler", null); + this.ensureDefault("file_dialog_complete_handler", null); + + this.ensureDefault("upload_start_handler", null); + this.ensureDefault("upload_progress_handler", null); + this.ensureDefault("upload_error_handler", null); + this.ensureDefault("upload_success_handler", null); + this.ensureDefault("upload_complete_handler", null); + + this.ensureDefault("debug_handler", this.debugMessage); + + this.ensureDefault("custom_settings", {}); + + // Other settings + this.customSettings = this.settings.custom_settings; + + // Update the flash url if needed + if (!!this.settings.prevent_swf_caching) { + this.settings.flash_url = this.settings.flash_url + (this.settings.flash_url.indexOf("?") < 0 ? "?" : "&") + "preventswfcaching=" + new Date().getTime(); + } + + if (!this.settings.preserve_relative_urls) { + //this.settings.flash_url = SWFUpload.completeURL(this.settings.flash_url); // Don't need to do this one since flash doesn't look at it + this.settings.upload_url = SWFUpload.completeURL(this.settings.upload_url); + this.settings.button_image_url = SWFUpload.completeURL(this.settings.button_image_url); + } + + delete this.ensureDefault; +}; + +// Private: loadFlash replaces the button_placeholder element with the flash movie. +SWFUpload.prototype.loadFlash = function () { + var targetElement, tempParent; + + // Make sure an element with the ID we are going to use doesn't already exist + if (document.getElementById(this.movieName) !== null) { + throw "ID " + this.movieName + " is already in use. The Flash Object could not be added"; + } + + // Get the element where we will be placing the flash movie + targetElement = document.getElementById(this.settings.button_placeholder_id) || this.settings.button_placeholder; + + if (targetElement == undefined) { + throw "Could not find the placeholder element: " + this.settings.button_placeholder_id; + } + + // Append the container and load the flash + tempParent = document.createElement("div"); + tempParent.innerHTML = this.getFlashHTML(); // Using innerHTML is non-standard but the only sensible way to dynamically add Flash in IE (and maybe other browsers) + targetElement.parentNode.replaceChild(tempParent.firstChild, targetElement); + + // Fix IE Flash/Form bug + if (window[this.movieName] == undefined) { + window[this.movieName] = this.getMovieElement(); + } + +}; + +// Private: getFlashHTML generates the object tag needed to embed the flash in to the document +SWFUpload.prototype.getFlashHTML = function () { + // Flash Satay object syntax: http://www.alistapart.com/articles/flashsatay + // Fix bug for IE9 + // http://www.kindsoft.net/view.php?bbsid=7&postid=5825&pagenum=1 + var classid = ''; + if (KindEditor.IE && KindEditor.V > 8) { + classid = ' classid = "clsid:d27cdb6e-ae6d-11cf-96b8-444553540000"'; + } + return ['', + '', + '', + '', + '', + '', + '', + ''].join(""); +}; + +// Private: getFlashVars builds the parameter string that will be passed +// to flash in the flashvars param. +SWFUpload.prototype.getFlashVars = function () { + // Build a string from the post param object + var paramString = this.buildParamString(); + var httpSuccessString = this.settings.http_success.join(","); + + // Build the parameter string + return ["movieName=", encodeURIComponent(this.movieName), + "&uploadURL=", encodeURIComponent(this.settings.upload_url), + "&useQueryString=", encodeURIComponent(this.settings.use_query_string), + "&requeueOnError=", encodeURIComponent(this.settings.requeue_on_error), + "&httpSuccess=", encodeURIComponent(httpSuccessString), + "&assumeSuccessTimeout=", encodeURIComponent(this.settings.assume_success_timeout), + "&params=", encodeURIComponent(paramString), + "&filePostName=", encodeURIComponent(this.settings.file_post_name), + "&fileTypes=", encodeURIComponent(this.settings.file_types), + "&fileTypesDescription=", encodeURIComponent(this.settings.file_types_description), + "&fileSizeLimit=", encodeURIComponent(this.settings.file_size_limit), + "&fileUploadLimit=", encodeURIComponent(this.settings.file_upload_limit), + "&fileQueueLimit=", encodeURIComponent(this.settings.file_queue_limit), + "&debugEnabled=", encodeURIComponent(this.settings.debug_enabled), + "&buttonImageURL=", encodeURIComponent(this.settings.button_image_url), + "&buttonWidth=", encodeURIComponent(this.settings.button_width), + "&buttonHeight=", encodeURIComponent(this.settings.button_height), + "&buttonText=", encodeURIComponent(this.settings.button_text), + "&buttonTextTopPadding=", encodeURIComponent(this.settings.button_text_top_padding), + "&buttonTextLeftPadding=", encodeURIComponent(this.settings.button_text_left_padding), + "&buttonTextStyle=", encodeURIComponent(this.settings.button_text_style), + "&buttonAction=", encodeURIComponent(this.settings.button_action), + "&buttonDisabled=", encodeURIComponent(this.settings.button_disabled), + "&buttonCursor=", encodeURIComponent(this.settings.button_cursor) + ].join(""); +}; + +// Public: getMovieElement retrieves the DOM reference to the Flash element added by SWFUpload +// The element is cached after the first lookup +SWFUpload.prototype.getMovieElement = function () { + if (this.movieElement == undefined) { + this.movieElement = document.getElementById(this.movieName); + } + + if (this.movieElement === null) { + throw "Could not find Flash element"; + } + + return this.movieElement; +}; + +// Private: buildParamString takes the name/value pairs in the post_params setting object +// and joins them up in to a string formatted "name=value&name=value" +SWFUpload.prototype.buildParamString = function () { + var postParams = this.settings.post_params; + var paramStringPairs = []; + + if (typeof(postParams) === "object") { + for (var name in postParams) { + if (postParams.hasOwnProperty(name)) { + paramStringPairs.push(encodeURIComponent(name.toString()) + "=" + encodeURIComponent(postParams[name].toString())); + } + } + } + + return paramStringPairs.join("&"); +}; + +// Public: Used to remove a SWFUpload instance from the page. This method strives to remove +// all references to the SWF, and other objects so memory is properly freed. +// Returns true if everything was destroyed. Returns a false if a failure occurs leaving SWFUpload in an inconsistant state. +// Credits: Major improvements provided by steffen +SWFUpload.prototype.destroy = function () { + try { + // Make sure Flash is done before we try to remove it + this.cancelUpload(null, false); + + + // Remove the SWFUpload DOM nodes + var movieElement = null; + movieElement = this.getMovieElement(); + + if (movieElement && typeof(movieElement.CallFunction) === "unknown") { // We only want to do this in IE + // Loop through all the movie's properties and remove all function references (DOM/JS IE 6/7 memory leak workaround) + for (var i in movieElement) { + try { + if (typeof(movieElement[i]) === "function") { + movieElement[i] = null; + } + } catch (ex1) {} + } + + // Remove the Movie Element from the page + try { + movieElement.parentNode.removeChild(movieElement); + } catch (ex) {} + } + + // Remove IE form fix reference + window[this.movieName] = null; + + // Destroy other references + SWFUpload.instances[this.movieName] = null; + delete SWFUpload.instances[this.movieName]; + + this.movieElement = null; + this.settings = null; + this.customSettings = null; + this.eventQueue = null; + this.movieName = null; + + + return true; + } catch (ex2) { + return false; + } +}; + + +// Public: displayDebugInfo prints out settings and configuration +// information about this SWFUpload instance. +// This function (and any references to it) can be deleted when placing +// SWFUpload in production. +SWFUpload.prototype.displayDebugInfo = function () { + this.debug( + [ + "---SWFUpload Instance Info---\n", + "Version: ", SWFUpload.version, "\n", + "Movie Name: ", this.movieName, "\n", + "Settings:\n", + "\t", "upload_url: ", this.settings.upload_url, "\n", + "\t", "flash_url: ", this.settings.flash_url, "\n", + "\t", "use_query_string: ", this.settings.use_query_string.toString(), "\n", + "\t", "requeue_on_error: ", this.settings.requeue_on_error.toString(), "\n", + "\t", "http_success: ", this.settings.http_success.join(", "), "\n", + "\t", "assume_success_timeout: ", this.settings.assume_success_timeout, "\n", + "\t", "file_post_name: ", this.settings.file_post_name, "\n", + "\t", "post_params: ", this.settings.post_params.toString(), "\n", + "\t", "file_types: ", this.settings.file_types, "\n", + "\t", "file_types_description: ", this.settings.file_types_description, "\n", + "\t", "file_size_limit: ", this.settings.file_size_limit, "\n", + "\t", "file_upload_limit: ", this.settings.file_upload_limit, "\n", + "\t", "file_queue_limit: ", this.settings.file_queue_limit, "\n", + "\t", "debug: ", this.settings.debug.toString(), "\n", + + "\t", "prevent_swf_caching: ", this.settings.prevent_swf_caching.toString(), "\n", + + "\t", "button_placeholder_id: ", this.settings.button_placeholder_id.toString(), "\n", + "\t", "button_placeholder: ", (this.settings.button_placeholder ? "Set" : "Not Set"), "\n", + "\t", "button_image_url: ", this.settings.button_image_url.toString(), "\n", + "\t", "button_width: ", this.settings.button_width.toString(), "\n", + "\t", "button_height: ", this.settings.button_height.toString(), "\n", + "\t", "button_text: ", this.settings.button_text.toString(), "\n", + "\t", "button_text_style: ", this.settings.button_text_style.toString(), "\n", + "\t", "button_text_top_padding: ", this.settings.button_text_top_padding.toString(), "\n", + "\t", "button_text_left_padding: ", this.settings.button_text_left_padding.toString(), "\n", + "\t", "button_action: ", this.settings.button_action.toString(), "\n", + "\t", "button_disabled: ", this.settings.button_disabled.toString(), "\n", + + "\t", "custom_settings: ", this.settings.custom_settings.toString(), "\n", + "Event Handlers:\n", + "\t", "swfupload_loaded_handler assigned: ", (typeof this.settings.swfupload_loaded_handler === "function").toString(), "\n", + "\t", "file_dialog_start_handler assigned: ", (typeof this.settings.file_dialog_start_handler === "function").toString(), "\n", + "\t", "file_queued_handler assigned: ", (typeof this.settings.file_queued_handler === "function").toString(), "\n", + "\t", "file_queue_error_handler assigned: ", (typeof this.settings.file_queue_error_handler === "function").toString(), "\n", + "\t", "upload_start_handler assigned: ", (typeof this.settings.upload_start_handler === "function").toString(), "\n", + "\t", "upload_progress_handler assigned: ", (typeof this.settings.upload_progress_handler === "function").toString(), "\n", + "\t", "upload_error_handler assigned: ", (typeof this.settings.upload_error_handler === "function").toString(), "\n", + "\t", "upload_success_handler assigned: ", (typeof this.settings.upload_success_handler === "function").toString(), "\n", + "\t", "upload_complete_handler assigned: ", (typeof this.settings.upload_complete_handler === "function").toString(), "\n", + "\t", "debug_handler assigned: ", (typeof this.settings.debug_handler === "function").toString(), "\n" + ].join("") + ); +}; + +/* Note: addSetting and getSetting are no longer used by SWFUpload but are included + the maintain v2 API compatibility +*/ +// Public: (Deprecated) addSetting adds a setting value. If the value given is undefined or null then the default_value is used. +SWFUpload.prototype.addSetting = function (name, value, default_value) { + if (value == undefined) { + return (this.settings[name] = default_value); + } else { + return (this.settings[name] = value); + } +}; + +// Public: (Deprecated) getSetting gets a setting. Returns an empty string if the setting was not found. +SWFUpload.prototype.getSetting = function (name) { + if (this.settings[name] != undefined) { + return this.settings[name]; + } + + return ""; +}; + + + +// Private: callFlash handles function calls made to the Flash element. +// Calls are made with a setTimeout for some functions to work around +// bugs in the ExternalInterface library. +SWFUpload.prototype.callFlash = function (functionName, argumentArray) { + argumentArray = argumentArray || []; + + var movieElement = this.getMovieElement(); + var returnValue, returnString; + + // Flash's method if calling ExternalInterface methods (code adapted from MooTools). + try { + returnString = movieElement.CallFunction('' + __flash__argumentsToXML(argumentArray, 0) + ''); + returnValue = eval(returnString); + } catch (ex) { + throw "Call to " + functionName + " failed"; + } + + // Unescape file post param values + if (returnValue != undefined && typeof returnValue.post === "object") { + returnValue = this.unescapeFilePostParams(returnValue); + } + + return returnValue; +}; + +/* ***************************** + -- Flash control methods -- + Your UI should use these + to operate SWFUpload + ***************************** */ + +// WARNING: this function does not work in Flash Player 10 +// Public: selectFile causes a File Selection Dialog window to appear. This +// dialog only allows 1 file to be selected. +SWFUpload.prototype.selectFile = function () { + this.callFlash("SelectFile"); +}; + +// WARNING: this function does not work in Flash Player 10 +// Public: selectFiles causes a File Selection Dialog window to appear/ This +// dialog allows the user to select any number of files +// Flash Bug Warning: Flash limits the number of selectable files based on the combined length of the file names. +// If the selection name length is too long the dialog will fail in an unpredictable manner. There is no work-around +// for this bug. +SWFUpload.prototype.selectFiles = function () { + this.callFlash("SelectFiles"); +}; + + +// Public: startUpload starts uploading the first file in the queue unless +// the optional parameter 'fileID' specifies the ID +SWFUpload.prototype.startUpload = function (fileID) { + this.callFlash("StartUpload", [fileID]); +}; + +// Public: cancelUpload cancels any queued file. The fileID parameter may be the file ID or index. +// If you do not specify a fileID the current uploading file or first file in the queue is cancelled. +// If you do not want the uploadError event to trigger you can specify false for the triggerErrorEvent parameter. +SWFUpload.prototype.cancelUpload = function (fileID, triggerErrorEvent) { + if (triggerErrorEvent !== false) { + triggerErrorEvent = true; + } + this.callFlash("CancelUpload", [fileID, triggerErrorEvent]); +}; + +// Public: stopUpload stops the current upload and requeues the file at the beginning of the queue. +// If nothing is currently uploading then nothing happens. +SWFUpload.prototype.stopUpload = function () { + this.callFlash("StopUpload"); +}; + +/* ************************ + * Settings methods + * These methods change the SWFUpload settings. + * SWFUpload settings should not be changed directly on the settings object + * since many of the settings need to be passed to Flash in order to take + * effect. + * *********************** */ + +// Public: getStats gets the file statistics object. +SWFUpload.prototype.getStats = function () { + return this.callFlash("GetStats"); +}; + +// Public: setStats changes the SWFUpload statistics. You shouldn't need to +// change the statistics but you can. Changing the statistics does not +// affect SWFUpload accept for the successful_uploads count which is used +// by the upload_limit setting to determine how many files the user may upload. +SWFUpload.prototype.setStats = function (statsObject) { + this.callFlash("SetStats", [statsObject]); +}; + +// Public: getFile retrieves a File object by ID or Index. If the file is +// not found then 'null' is returned. +SWFUpload.prototype.getFile = function (fileID) { + if (typeof(fileID) === "number") { + return this.callFlash("GetFileByIndex", [fileID]); + } else { + return this.callFlash("GetFile", [fileID]); + } +}; + +// Public: addFileParam sets a name/value pair that will be posted with the +// file specified by the Files ID. If the name already exists then the +// exiting value will be overwritten. +SWFUpload.prototype.addFileParam = function (fileID, name, value) { + return this.callFlash("AddFileParam", [fileID, name, value]); +}; + +// Public: removeFileParam removes a previously set (by addFileParam) name/value +// pair from the specified file. +SWFUpload.prototype.removeFileParam = function (fileID, name) { + this.callFlash("RemoveFileParam", [fileID, name]); +}; + +// Public: setUploadUrl changes the upload_url setting. +SWFUpload.prototype.setUploadURL = function (url) { + this.settings.upload_url = url.toString(); + this.callFlash("SetUploadURL", [url]); +}; + +// Public: setPostParams changes the post_params setting +SWFUpload.prototype.setPostParams = function (paramsObject) { + this.settings.post_params = paramsObject; + this.callFlash("SetPostParams", [paramsObject]); +}; + +// Public: addPostParam adds post name/value pair. Each name can have only one value. +SWFUpload.prototype.addPostParam = function (name, value) { + this.settings.post_params[name] = value; + this.callFlash("SetPostParams", [this.settings.post_params]); +}; + +// Public: removePostParam deletes post name/value pair. +SWFUpload.prototype.removePostParam = function (name) { + delete this.settings.post_params[name]; + this.callFlash("SetPostParams", [this.settings.post_params]); +}; + +// Public: setFileTypes changes the file_types setting and the file_types_description setting +SWFUpload.prototype.setFileTypes = function (types, description) { + this.settings.file_types = types; + this.settings.file_types_description = description; + this.callFlash("SetFileTypes", [types, description]); +}; + +// Public: setFileSizeLimit changes the file_size_limit setting +SWFUpload.prototype.setFileSizeLimit = function (fileSizeLimit) { + this.settings.file_size_limit = fileSizeLimit; + this.callFlash("SetFileSizeLimit", [fileSizeLimit]); +}; + +// Public: setFileUploadLimit changes the file_upload_limit setting +SWFUpload.prototype.setFileUploadLimit = function (fileUploadLimit) { + this.settings.file_upload_limit = fileUploadLimit; + this.callFlash("SetFileUploadLimit", [fileUploadLimit]); +}; + +// Public: setFileQueueLimit changes the file_queue_limit setting +SWFUpload.prototype.setFileQueueLimit = function (fileQueueLimit) { + this.settings.file_queue_limit = fileQueueLimit; + this.callFlash("SetFileQueueLimit", [fileQueueLimit]); +}; + +// Public: setFilePostName changes the file_post_name setting +SWFUpload.prototype.setFilePostName = function (filePostName) { + this.settings.file_post_name = filePostName; + this.callFlash("SetFilePostName", [filePostName]); +}; + +// Public: setUseQueryString changes the use_query_string setting +SWFUpload.prototype.setUseQueryString = function (useQueryString) { + this.settings.use_query_string = useQueryString; + this.callFlash("SetUseQueryString", [useQueryString]); +}; + +// Public: setRequeueOnError changes the requeue_on_error setting +SWFUpload.prototype.setRequeueOnError = function (requeueOnError) { + this.settings.requeue_on_error = requeueOnError; + this.callFlash("SetRequeueOnError", [requeueOnError]); +}; + +// Public: setHTTPSuccess changes the http_success setting +SWFUpload.prototype.setHTTPSuccess = function (http_status_codes) { + if (typeof http_status_codes === "string") { + http_status_codes = http_status_codes.replace(" ", "").split(","); + } + + this.settings.http_success = http_status_codes; + this.callFlash("SetHTTPSuccess", [http_status_codes]); +}; + +// Public: setHTTPSuccess changes the http_success setting +SWFUpload.prototype.setAssumeSuccessTimeout = function (timeout_seconds) { + this.settings.assume_success_timeout = timeout_seconds; + this.callFlash("SetAssumeSuccessTimeout", [timeout_seconds]); +}; + +// Public: setDebugEnabled changes the debug_enabled setting +SWFUpload.prototype.setDebugEnabled = function (debugEnabled) { + this.settings.debug_enabled = debugEnabled; + this.callFlash("SetDebugEnabled", [debugEnabled]); +}; + +// Public: setButtonImageURL loads a button image sprite +SWFUpload.prototype.setButtonImageURL = function (buttonImageURL) { + if (buttonImageURL == undefined) { + buttonImageURL = ""; + } + + this.settings.button_image_url = buttonImageURL; + this.callFlash("SetButtonImageURL", [buttonImageURL]); +}; + +// Public: setButtonDimensions resizes the Flash Movie and button +SWFUpload.prototype.setButtonDimensions = function (width, height) { + this.settings.button_width = width; + this.settings.button_height = height; + + var movie = this.getMovieElement(); + if (movie != undefined) { + movie.style.width = width + "px"; + movie.style.height = height + "px"; + } + + this.callFlash("SetButtonDimensions", [width, height]); +}; +// Public: setButtonText Changes the text overlaid on the button +SWFUpload.prototype.setButtonText = function (html) { + this.settings.button_text = html; + this.callFlash("SetButtonText", [html]); +}; +// Public: setButtonTextPadding changes the top and left padding of the text overlay +SWFUpload.prototype.setButtonTextPadding = function (left, top) { + this.settings.button_text_top_padding = top; + this.settings.button_text_left_padding = left; + this.callFlash("SetButtonTextPadding", [left, top]); +}; + +// Public: setButtonTextStyle changes the CSS used to style the HTML/Text overlaid on the button +SWFUpload.prototype.setButtonTextStyle = function (css) { + this.settings.button_text_style = css; + this.callFlash("SetButtonTextStyle", [css]); +}; +// Public: setButtonDisabled disables/enables the button +SWFUpload.prototype.setButtonDisabled = function (isDisabled) { + this.settings.button_disabled = isDisabled; + this.callFlash("SetButtonDisabled", [isDisabled]); +}; +// Public: setButtonAction sets the action that occurs when the button is clicked +SWFUpload.prototype.setButtonAction = function (buttonAction) { + this.settings.button_action = buttonAction; + this.callFlash("SetButtonAction", [buttonAction]); +}; + +// Public: setButtonCursor changes the mouse cursor displayed when hovering over the button +SWFUpload.prototype.setButtonCursor = function (cursor) { + this.settings.button_cursor = cursor; + this.callFlash("SetButtonCursor", [cursor]); +}; + +/* ******************************* + Flash Event Interfaces + These functions are used by Flash to trigger the various + events. + + All these functions a Private. + + Because the ExternalInterface library is buggy the event calls + are added to a queue and the queue then executed by a setTimeout. + This ensures that events are executed in a determinate order and that + the ExternalInterface bugs are avoided. +******************************* */ + +SWFUpload.prototype.queueEvent = function (handlerName, argumentArray) { + // Warning: Don't call this.debug inside here or you'll create an infinite loop + + if (argumentArray == undefined) { + argumentArray = []; + } else if (!(argumentArray instanceof Array)) { + argumentArray = [argumentArray]; + } + + var self = this; + if (typeof this.settings[handlerName] === "function") { + // Queue the event + this.eventQueue.push(function () { + this.settings[handlerName].apply(this, argumentArray); + }); + + // Execute the next queued event + setTimeout(function () { + self.executeNextEvent(); + }, 0); + + } else if (this.settings[handlerName] !== null) { + throw "Event handler " + handlerName + " is unknown or is not a function"; + } +}; + +// Private: Causes the next event in the queue to be executed. Since events are queued using a setTimeout +// we must queue them in order to garentee that they are executed in order. +SWFUpload.prototype.executeNextEvent = function () { + // Warning: Don't call this.debug inside here or you'll create an infinite loop + + var f = this.eventQueue ? this.eventQueue.shift() : null; + if (typeof(f) === "function") { + f.apply(this); + } +}; + +// Private: unescapeFileParams is part of a workaround for a flash bug where objects passed through ExternalInterface cannot have +// properties that contain characters that are not valid for JavaScript identifiers. To work around this +// the Flash Component escapes the parameter names and we must unescape again before passing them along. +SWFUpload.prototype.unescapeFilePostParams = function (file) { + var reg = /[$]([0-9a-f]{4})/i; + var unescapedPost = {}; + var uk; + + if (file != undefined) { + for (var k in file.post) { + if (file.post.hasOwnProperty(k)) { + uk = k; + var match; + while ((match = reg.exec(uk)) !== null) { + uk = uk.replace(match[0], String.fromCharCode(parseInt("0x" + match[1], 16))); + } + unescapedPost[uk] = file.post[k]; + } + } + + file.post = unescapedPost; + } + + return file; +}; + +// Private: Called by Flash to see if JS can call in to Flash (test if External Interface is working) +SWFUpload.prototype.testExternalInterface = function () { + try { + return this.callFlash("TestExternalInterface"); + } catch (ex) { + return false; + } +}; + +// Private: This event is called by Flash when it has finished loading. Don't modify this. +// Use the swfupload_loaded_handler event setting to execute custom code when SWFUpload has loaded. +SWFUpload.prototype.flashReady = function () { + // Check that the movie element is loaded correctly with its ExternalInterface methods defined + var movieElement = this.getMovieElement(); + + if (!movieElement) { + this.debug("Flash called back ready but the flash movie can't be found."); + return; + } + + this.cleanUp(movieElement); + + this.queueEvent("swfupload_loaded_handler"); +}; + +// Private: removes Flash added fuctions to the DOM node to prevent memory leaks in IE. +// This function is called by Flash each time the ExternalInterface functions are created. +SWFUpload.prototype.cleanUp = function (movieElement) { + // Pro-actively unhook all the Flash functions + try { + if (this.movieElement && typeof(movieElement.CallFunction) === "unknown") { // We only want to do this in IE + this.debug("Removing Flash functions hooks (this should only run in IE and should prevent memory leaks)"); + for (var key in movieElement) { + try { + if (typeof(movieElement[key]) === "function") { + movieElement[key] = null; + } + } catch (ex) { + } + } + } + } catch (ex1) { + + } + + // Fix Flashes own cleanup code so if the SWFMovie was removed from the page + // it doesn't display errors. + window["__flash__removeCallback"] = function (instance, name) { + try { + if (instance) { + instance[name] = null; + } + } catch (flashEx) { + + } + }; + +}; + + +/* This is a chance to do something before the browse window opens */ +SWFUpload.prototype.fileDialogStart = function () { + this.queueEvent("file_dialog_start_handler"); +}; + + +/* Called when a file is successfully added to the queue. */ +SWFUpload.prototype.fileQueued = function (file) { + file = this.unescapeFilePostParams(file); + this.queueEvent("file_queued_handler", file); +}; + + +/* Handle errors that occur when an attempt to queue a file fails. */ +SWFUpload.prototype.fileQueueError = function (file, errorCode, message) { + file = this.unescapeFilePostParams(file); + this.queueEvent("file_queue_error_handler", [file, errorCode, message]); +}; + +/* Called after the file dialog has closed and the selected files have been queued. + You could call startUpload here if you want the queued files to begin uploading immediately. */ +SWFUpload.prototype.fileDialogComplete = function (numFilesSelected, numFilesQueued, numFilesInQueue) { + this.queueEvent("file_dialog_complete_handler", [numFilesSelected, numFilesQueued, numFilesInQueue]); +}; + +SWFUpload.prototype.uploadStart = function (file) { + file = this.unescapeFilePostParams(file); + this.queueEvent("return_upload_start_handler", file); +}; + +SWFUpload.prototype.returnUploadStart = function (file) { + var returnValue; + if (typeof this.settings.upload_start_handler === "function") { + file = this.unescapeFilePostParams(file); + returnValue = this.settings.upload_start_handler.call(this, file); + } else if (this.settings.upload_start_handler != undefined) { + throw "upload_start_handler must be a function"; + } + + // Convert undefined to true so if nothing is returned from the upload_start_handler it is + // interpretted as 'true'. + if (returnValue === undefined) { + returnValue = true; + } + + returnValue = !!returnValue; + + this.callFlash("ReturnUploadStart", [returnValue]); +}; + + + +SWFUpload.prototype.uploadProgress = function (file, bytesComplete, bytesTotal) { + file = this.unescapeFilePostParams(file); + this.queueEvent("upload_progress_handler", [file, bytesComplete, bytesTotal]); +}; + +SWFUpload.prototype.uploadError = function (file, errorCode, message) { + file = this.unescapeFilePostParams(file); + this.queueEvent("upload_error_handler", [file, errorCode, message]); +}; + +SWFUpload.prototype.uploadSuccess = function (file, serverData, responseReceived) { + file = this.unescapeFilePostParams(file); + this.queueEvent("upload_success_handler", [file, serverData, responseReceived]); +}; + +SWFUpload.prototype.uploadComplete = function (file) { + file = this.unescapeFilePostParams(file); + this.queueEvent("upload_complete_handler", file); +}; + +/* Called by SWFUpload JavaScript and Flash functions when debug is enabled. By default it writes messages to the + internal debug console. You can override this event and have messages written where you want. */ +SWFUpload.prototype.debug = function (message) { + this.queueEvent("debug_handler", message); +}; + + +/* ********************************** + Debug Console + The debug console is a self contained, in page location + for debug message to be sent. The Debug Console adds + itself to the body if necessary. + + The console is automatically scrolled as messages appear. + + If you are using your own debug handler or when you deploy to production and + have debug disabled you can remove these functions to reduce the file size + and complexity. +********************************** */ + +// Private: debugMessage is the default debug_handler. If you want to print debug messages +// call the debug() function. When overriding the function your own function should +// check to see if the debug setting is true before outputting debug information. +SWFUpload.prototype.debugMessage = function (message) { + if (this.settings.debug) { + var exceptionMessage, exceptionValues = []; + + // Check for an exception object and print it nicely + if (typeof message === "object" && typeof message.name === "string" && typeof message.message === "string") { + for (var key in message) { + if (message.hasOwnProperty(key)) { + exceptionValues.push(key + ": " + message[key]); + } + } + exceptionMessage = exceptionValues.join("\n") || ""; + exceptionValues = exceptionMessage.split("\n"); + exceptionMessage = "EXCEPTION: " + exceptionValues.join("\nEXCEPTION: "); + SWFUpload.Console.writeLine(exceptionMessage); + } else { + SWFUpload.Console.writeLine(message); + } + } +}; + +SWFUpload.Console = {}; +SWFUpload.Console.writeLine = function (message) { + var console, documentForm; + + try { + console = document.getElementById("SWFUpload_Console"); + + if (!console) { + documentForm = document.createElement("form"); + document.getElementsByTagName("body")[0].appendChild(documentForm); + + console = document.createElement("textarea"); + console.id = "SWFUpload_Console"; + console.style.fontFamily = "monospace"; + console.setAttribute("wrap", "off"); + console.wrap = "off"; + console.style.overflow = "auto"; + console.style.width = "700px"; + console.style.height = "350px"; + console.style.margin = "5px"; + documentForm.appendChild(console); + } + + console.value += message + "\n"; + + console.scrollTop = console.scrollHeight - console.clientHeight; + } catch (ex) { + alert("Exception: " + ex.name + " Message: " + ex.message); + } +}; + +})(); + +(function() { +/* + Queue Plug-in + + Features: + *Adds a cancelQueue() method for cancelling the entire queue. + *All queued files are uploaded when startUpload() is called. + *If false is returned from uploadComplete then the queue upload is stopped. + If false is not returned (strict comparison) then the queue upload is continued. + *Adds a QueueComplete event that is fired when all the queued files have finished uploading. + Set the event handler with the queue_complete_handler setting. + + */ + +if (typeof(SWFUpload) === "function") { + SWFUpload.queue = {}; + + SWFUpload.prototype.initSettings = (function (oldInitSettings) { + return function () { + if (typeof(oldInitSettings) === "function") { + oldInitSettings.call(this); + } + + this.queueSettings = {}; + + this.queueSettings.queue_cancelled_flag = false; + this.queueSettings.queue_upload_count = 0; + + this.queueSettings.user_upload_complete_handler = this.settings.upload_complete_handler; + this.queueSettings.user_upload_start_handler = this.settings.upload_start_handler; + this.settings.upload_complete_handler = SWFUpload.queue.uploadCompleteHandler; + this.settings.upload_start_handler = SWFUpload.queue.uploadStartHandler; + + this.settings.queue_complete_handler = this.settings.queue_complete_handler || null; + }; + })(SWFUpload.prototype.initSettings); + + SWFUpload.prototype.startUpload = function (fileID) { + this.queueSettings.queue_cancelled_flag = false; + this.callFlash("StartUpload", [fileID]); + }; + + SWFUpload.prototype.cancelQueue = function () { + this.queueSettings.queue_cancelled_flag = true; + this.stopUpload(); + + var stats = this.getStats(); + while (stats.files_queued > 0) { + this.cancelUpload(); + stats = this.getStats(); + } + }; + + SWFUpload.queue.uploadStartHandler = function (file) { + var returnValue; + if (typeof(this.queueSettings.user_upload_start_handler) === "function") { + returnValue = this.queueSettings.user_upload_start_handler.call(this, file); + } + + // To prevent upload a real "FALSE" value must be returned, otherwise default to a real "TRUE" value. + returnValue = (returnValue === false) ? false : true; + + this.queueSettings.queue_cancelled_flag = !returnValue; + + return returnValue; + }; + + SWFUpload.queue.uploadCompleteHandler = function (file) { + var user_upload_complete_handler = this.queueSettings.user_upload_complete_handler; + var continueUpload; + + if (file.filestatus === SWFUpload.FILE_STATUS.COMPLETE) { + this.queueSettings.queue_upload_count++; + } + + if (typeof(user_upload_complete_handler) === "function") { + continueUpload = (user_upload_complete_handler.call(this, file) === false) ? false : true; + } else if (file.filestatus === SWFUpload.FILE_STATUS.QUEUED) { + // If the file was stopped and re-queued don't restart the upload + continueUpload = false; + } else { + continueUpload = true; + } + + if (continueUpload) { + var stats = this.getStats(); + if (stats.files_queued > 0 && this.queueSettings.queue_cancelled_flag === false) { + this.startUpload(); + } else if (this.queueSettings.queue_cancelled_flag === false) { + this.queueEvent("queue_complete_handler", [this.queueSettings.queue_upload_count]); + this.queueSettings.queue_upload_count = 0; + } else { + this.queueSettings.queue_cancelled_flag = false; + this.queueSettings.queue_upload_count = 0; + } + } + }; +} + +})(); diff --git a/src/demo/manager/src/main/webapp/assets/js/kindeditor-4.1.10/plugins/pagebreak/pagebreak.js b/src/demo/manager/src/main/webapp/assets/js/kindeditor-4.1.10/plugins/pagebreak/pagebreak.js new file mode 100644 index 00000000..dfa883af --- /dev/null +++ b/src/demo/manager/src/main/webapp/assets/js/kindeditor-4.1.10/plugins/pagebreak/pagebreak.js @@ -0,0 +1,27 @@ +/******************************************************************************* +* KindEditor - WYSIWYG HTML Editor for Internet +* Copyright (C) 2006-2011 kindsoft.net +* +* @author Roddy +* @site http://www.kindsoft.net/ +* @licence http://www.kindsoft.net/license.php +*******************************************************************************/ + +KindEditor.plugin('pagebreak', function(K) { + var self = this; + var name = 'pagebreak'; + var pagebreakHtml = K.undef(self.pagebreakHtml, '
                                                        '); + + self.clickToolbar(name, function() { + var cmd = self.cmd, range = cmd.range; + self.focus(); + var tail = self.newlineTag == 'br' || K.WEBKIT ? '' : ''; + self.insertHtml(pagebreakHtml + tail); + if (tail !== '') { + var p = K('#__kindeditor_tail_tag__', self.edit.doc); + range.selectNodeContents(p[0]); + p.removeAttr('id'); + cmd.select(); + } + }); +}); diff --git a/src/demo/manager/src/main/webapp/assets/js/kindeditor-4.1.10/plugins/plainpaste/plainpaste.js b/src/demo/manager/src/main/webapp/assets/js/kindeditor-4.1.10/plugins/plainpaste/plainpaste.js new file mode 100644 index 00000000..8f7bed80 --- /dev/null +++ b/src/demo/manager/src/main/webapp/assets/js/kindeditor-4.1.10/plugins/plainpaste/plainpaste.js @@ -0,0 +1,41 @@ +/******************************************************************************* +* KindEditor - WYSIWYG HTML Editor for Internet +* Copyright (C) 2006-2011 kindsoft.net +* +* @author Roddy +* @site http://www.kindsoft.net/ +* @licence http://www.kindsoft.net/license.php +*******************************************************************************/ + +KindEditor.plugin('plainpaste', function(K) { + var self = this, name = 'plainpaste'; + self.clickToolbar(name, function() { + var lang = self.lang(name + '.'), + html = '
                                                        ' + + '
                                                        ' + lang.comment + '
                                                        ' + + '' + + '
                                                        ', + dialog = self.createDialog({ + name : name, + width : 450, + title : self.lang(name), + body : html, + yesBtn : { + name : self.lang('yes'), + click : function(e) { + var html = textarea.val(); + html = K.escape(html); + html = html.replace(/ {2}/g, '  '); + if (self.newlineTag == 'p') { + html = html.replace(/^/, '

                                                        ').replace(/$/, '

                                                        ').replace(/\n/g, '

                                                        '); + } else { + html = html.replace(/\n/g, '
                                                        $&'); + } + self.insertHtml(html).hideDialog().focus(); + } + } + }), + textarea = K('textarea', dialog.div); + textarea[0].focus(); + }); +}); diff --git a/src/demo/manager/src/main/webapp/assets/js/kindeditor-4.1.10/plugins/preview/preview.js b/src/demo/manager/src/main/webapp/assets/js/kindeditor-4.1.10/plugins/preview/preview.js new file mode 100644 index 00000000..ef6e2cf1 --- /dev/null +++ b/src/demo/manager/src/main/webapp/assets/js/kindeditor-4.1.10/plugins/preview/preview.js @@ -0,0 +1,31 @@ +/******************************************************************************* +* KindEditor - WYSIWYG HTML Editor for Internet +* Copyright (C) 2006-2011 kindsoft.net +* +* @author Roddy +* @site http://www.kindsoft.net/ +* @licence http://www.kindsoft.net/license.php +*******************************************************************************/ + +KindEditor.plugin('preview', function(K) { + var self = this, name = 'preview', undefined; + self.clickToolbar(name, function() { + var lang = self.lang(name + '.'), + html = '

                                                        ' + + '' + + '
                                                        ', + dialog = self.createDialog({ + name : name, + width : 750, + title : self.lang(name), + body : html + }), + iframe = K('iframe', dialog.div), + doc = K.iframeDoc(iframe); + doc.open(); + doc.write(self.fullHtml()); + doc.close(); + K(doc.body).css('background-color', '#FFF'); + iframe[0].contentWindow.focus(); + }); +}); diff --git a/src/demo/manager/src/main/webapp/assets/js/kindeditor-4.1.10/plugins/quickformat/quickformat.js b/src/demo/manager/src/main/webapp/assets/js/kindeditor-4.1.10/plugins/quickformat/quickformat.js new file mode 100644 index 00000000..5b98c722 --- /dev/null +++ b/src/demo/manager/src/main/webapp/assets/js/kindeditor-4.1.10/plugins/quickformat/quickformat.js @@ -0,0 +1,81 @@ +/******************************************************************************* +* KindEditor - WYSIWYG HTML Editor for Internet +* Copyright (C) 2006-2011 kindsoft.net +* +* @author Roddy +* @site http://www.kindsoft.net/ +* @licence http://www.kindsoft.net/license.php +*******************************************************************************/ + +KindEditor.plugin('quickformat', function(K) { + var self = this, name = 'quickformat', + blockMap = K.toMap('blockquote,center,div,h1,h2,h3,h4,h5,h6,p'); + function getFirstChild(knode) { + var child = knode.first(); + while (child && child.first()) { + child = child.first(); + } + return child; + } + self.clickToolbar(name, function() { + self.focus(); + var doc = self.edit.doc, + range = self.cmd.range, + child = K(doc.body).first(), next, + nodeList = [], subList = [], + bookmark = range.createBookmark(true); + while(child) { + next = child.next(); + var firstChild = getFirstChild(child); + if (!firstChild || firstChild.name != 'img') { + if (blockMap[child.name]) { + child.html(child.html().replace(/^(\s| | )+/ig, '')); + child.css('text-indent', '2em'); + } else { + subList.push(child); + } + if (!next || (blockMap[next.name] || blockMap[child.name] && !blockMap[next.name])) { + if (subList.length > 0) { + nodeList.push(subList); + } + subList = []; + } + } + child = next; + } + K.each(nodeList, function(i, subList) { + var wrapper = K('

                                                        ', doc); + subList[0].before(wrapper); + K.each(subList, function(i, knode) { + wrapper.append(knode); + }); + }); + range.moveToBookmark(bookmark); + self.addBookmark(); + }); +}); + +/** +-------------------------- +abcd
                                                        +1234
                                                        + +to + +

                                                        + abcd
                                                        + 1234
                                                        +

                                                        + +-------------------------- + +  abcd1233 +

                                                        1234

                                                        + +to + +

                                                        abcd1233

                                                        +

                                                        1234

                                                        + +-------------------------- +*/ \ No newline at end of file diff --git a/src/demo/manager/src/main/webapp/assets/js/kindeditor-4.1.10/plugins/table/table.js b/src/demo/manager/src/main/webapp/assets/js/kindeditor-4.1.10/plugins/table/table.js new file mode 100644 index 00000000..4033b6ae --- /dev/null +++ b/src/demo/manager/src/main/webapp/assets/js/kindeditor-4.1.10/plugins/table/table.js @@ -0,0 +1,712 @@ +/******************************************************************************* +* KindEditor - WYSIWYG HTML Editor for Internet +* Copyright (C) 2006-2011 kindsoft.net +* +* @author Roddy +* @site http://www.kindsoft.net/ +* @licence http://www.kindsoft.net/license.php +*******************************************************************************/ + +KindEditor.plugin('table', function(K) { + var self = this, name = 'table', lang = self.lang(name + '.'), zeroborder = 'ke-zeroborder'; + // 设置颜色 + function _setColor(box, color) { + color = color.toUpperCase(); + box.css('background-color', color); + box.css('color', color === '#000000' ? '#FFFFFF' : '#000000'); + box.html(color); + } + // 初始化取色器 + var pickerList = []; + function _initColorPicker(dialogDiv, colorBox) { + colorBox.bind('click,mousedown', function(e){ + e.stopPropagation(); + }); + function removePicker() { + K.each(pickerList, function() { + this.remove(); + }); + pickerList = []; + K(document).unbind('click,mousedown', removePicker); + dialogDiv.unbind('click,mousedown', removePicker); + } + colorBox.click(function(e) { + removePicker(); + var box = K(this), + pos = box.pos(); + var picker = K.colorpicker({ + x : pos.x, + y : pos.y + box.height(), + z : 811214, + selectedColor : K(this).html(), + colors : self.colorTable, + noColor : self.lang('noColor'), + shadowMode : self.shadowMode, + click : function(color) { + _setColor(box, color); + removePicker(); + } + }); + pickerList.push(picker); + K(document).bind('click,mousedown', removePicker); + dialogDiv.bind('click,mousedown', removePicker); + }); + } + // 取得下一行cell的index + function _getCellIndex(table, row, cell) { + var rowSpanCount = 0; + for (var i = 0, len = row.cells.length; i < len; i++) { + if (row.cells[i] == cell) { + break; + } + rowSpanCount += row.cells[i].rowSpan - 1; + } + return cell.cellIndex - rowSpanCount; + } + self.plugin.table = { + //insert or modify table + prop : function(isInsert) { + var html = [ + '
                                                        ', + //rows, cols + '
                                                        ', + '', + lang.rows + '   ', + lang.cols + ' ', + '
                                                        ', + //width, height + '
                                                        ', + '', + lang.width + '   ', + '   ', + lang.height + '   ', + '', + '
                                                        ', + //space, padding + '
                                                        ', + '', + lang.padding + '   ', + lang.spacing + ' ', + '
                                                        ', + //align + '
                                                        ', + '', + '', + '
                                                        ', + //border + '
                                                        ', + '', + lang.borderWidth + '   ', + lang.borderColor + ' ', + '
                                                        ', + //background color + '
                                                        ', + '', + '', + '
                                                        ', + '
                                                        ' + ].join(''); + var bookmark = self.cmd.range.createBookmark(); + var dialog = self.createDialog({ + name : name, + width : 500, + title : self.lang(name), + body : html, + beforeRemove : function() { + colorBox.unbind(); + }, + yesBtn : { + name : self.lang('yes'), + click : function(e) { + var rows = rowsBox.val(), + cols = colsBox.val(), + width = widthBox.val(), + height = heightBox.val(), + widthType = widthTypeBox.val(), + heightType = heightTypeBox.val(), + padding = paddingBox.val(), + spacing = spacingBox.val(), + align = alignBox.val(), + border = borderBox.val(), + borderColor = K(colorBox[0]).html() || '', + bgColor = K(colorBox[1]).html() || ''; + if (rows == 0 || !/^\d+$/.test(rows)) { + alert(self.lang('invalidRows')); + rowsBox[0].focus(); + return; + } + if (cols == 0 || !/^\d+$/.test(cols)) { + alert(self.lang('invalidRows')); + colsBox[0].focus(); + return; + } + if (!/^\d*$/.test(width)) { + alert(self.lang('invalidWidth')); + widthBox[0].focus(); + return; + } + if (!/^\d*$/.test(height)) { + alert(self.lang('invalidHeight')); + heightBox[0].focus(); + return; + } + if (!/^\d*$/.test(padding)) { + alert(self.lang('invalidPadding')); + paddingBox[0].focus(); + return; + } + if (!/^\d*$/.test(spacing)) { + alert(self.lang('invalidSpacing')); + spacingBox[0].focus(); + return; + } + if (!/^\d*$/.test(border)) { + alert(self.lang('invalidBorder')); + borderBox[0].focus(); + return; + } + //modify table + if (table) { + if (width !== '') { + table.width(width + widthType); + } else { + table.css('width', ''); + } + if (table[0].width !== undefined) { + table.removeAttr('width'); + } + if (height !== '') { + table.height(height + heightType); + } else { + table.css('height', ''); + } + if (table[0].height !== undefined) { + table.removeAttr('height'); + } + table.css('background-color', bgColor); + if (table[0].bgColor !== undefined) { + table.removeAttr('bgColor'); + } + if (padding !== '') { + table[0].cellPadding = padding; + } else { + table.removeAttr('cellPadding'); + } + if (spacing !== '') { + table[0].cellSpacing = spacing; + } else { + table.removeAttr('cellSpacing'); + } + if (align !== '') { + table[0].align = align; + } else { + table.removeAttr('align'); + } + if (border !== '') { + table.attr('border', border); + } else { + table.removeAttr('border'); + } + if (border === '' || border === '0') { + table.addClass(zeroborder); + } else { + table.removeClass(zeroborder); + } + if (borderColor !== '') { + table.attr('borderColor', borderColor); + } else { + table.removeAttr('borderColor'); + } + self.hideDialog().focus(); + self.cmd.range.moveToBookmark(bookmark); + self.cmd.select(); + self.addBookmark(); + return; + } + //insert new table + var style = ''; + if (width !== '') { + style += 'width:' + width + widthType + ';'; + } + if (height !== '') { + style += 'height:' + height + heightType + ';'; + } + if (bgColor !== '') { + style += 'background-color:' + bgColor + ';'; + } + var html = '') + ''; + } + html += ''; + } + html += ''; + if (!K.IE) { + html += '
                                                        '; + } + self.insertHtml(html); + self.select().hideDialog().focus(); + self.addBookmark(); + } + } + }), + div = dialog.div, + rowsBox = K('[name="rows"]', div).val(3), + colsBox = K('[name="cols"]', div).val(2), + widthBox = K('[name="width"]', div).val(100), + heightBox = K('[name="height"]', div), + widthTypeBox = K('[name="widthType"]', div), + heightTypeBox = K('[name="heightType"]', div), + paddingBox = K('[name="padding"]', div).val(2), + spacingBox = K('[name="spacing"]', div).val(0), + alignBox = K('[name="align"]', div), + borderBox = K('[name="border"]', div).val(1), + colorBox = K('.ke-input-color', div); + _initColorPicker(div, colorBox.eq(0)); + _initColorPicker(div, colorBox.eq(1)); + _setColor(colorBox.eq(0), '#000000'); + _setColor(colorBox.eq(1), ''); + // foucs and select + rowsBox[0].focus(); + rowsBox[0].select(); + var table; + if (isInsert) { + return; + } + //get selected table node + table = self.plugin.getSelectedTable(); + if (table) { + rowsBox.val(table[0].rows.length); + colsBox.val(table[0].rows.length > 0 ? table[0].rows[0].cells.length : 0); + rowsBox.attr('disabled', true); + colsBox.attr('disabled', true); + var match, + tableWidth = table[0].style.width || table[0].width, + tableHeight = table[0].style.height || table[0].height; + if (tableWidth !== undefined && (match = /^(\d+)((?:px|%)*)$/.exec(tableWidth))) { + widthBox.val(match[1]); + widthTypeBox.val(match[2]); + } else { + widthBox.val(''); + } + if (tableHeight !== undefined && (match = /^(\d+)((?:px|%)*)$/.exec(tableHeight))) { + heightBox.val(match[1]); + heightTypeBox.val(match[2]); + } + paddingBox.val(table[0].cellPadding || ''); + spacingBox.val(table[0].cellSpacing || ''); + alignBox.val(table[0].align || ''); + borderBox.val(table[0].border === undefined ? '' : table[0].border); + _setColor(colorBox.eq(0), K.toHex(table.attr('borderColor') || '')); + _setColor(colorBox.eq(1), K.toHex(table[0].style.backgroundColor || table[0].bgColor || '')); + widthBox[0].focus(); + widthBox[0].select(); + } + }, + //modify cell + cellprop : function() { + var html = [ + '
                                                        ', + //width, height + '
                                                        ', + '', + lang.width + '   ', + '   ', + lang.height + '   ', + '', + '
                                                        ', + //align + '
                                                        ', + '', + lang.textAlign + ' ', + lang.verticalAlign + ' ', + '
                                                        ', + //border + '
                                                        ', + '', + lang.borderWidth + '   ', + lang.borderColor + ' ', + '
                                                        ', + //background color + '
                                                        ', + '', + '', + '
                                                        ', + '
                                                        ' + ].join(''); + var bookmark = self.cmd.range.createBookmark(); + var dialog = self.createDialog({ + name : name, + width : 500, + title : self.lang('tablecell'), + body : html, + beforeRemove : function() { + colorBox.unbind(); + }, + yesBtn : { + name : self.lang('yes'), + click : function(e) { + var width = widthBox.val(), + height = heightBox.val(), + widthType = widthTypeBox.val(), + heightType = heightTypeBox.val(), + padding = paddingBox.val(), + spacing = spacingBox.val(), + textAlign = textAlignBox.val(), + verticalAlign = verticalAlignBox.val(), + border = borderBox.val(), + borderColor = K(colorBox[0]).html() || '', + bgColor = K(colorBox[1]).html() || ''; + if (!/^\d*$/.test(width)) { + alert(self.lang('invalidWidth')); + widthBox[0].focus(); + return; + } + if (!/^\d*$/.test(height)) { + alert(self.lang('invalidHeight')); + heightBox[0].focus(); + return; + } + if (!/^\d*$/.test(border)) { + alert(self.lang('invalidBorder')); + borderBox[0].focus(); + return; + } + cell.css({ + width : width !== '' ? (width + widthType) : '', + height : height !== '' ? (height + heightType) : '', + 'background-color' : bgColor, + 'text-align' : textAlign, + 'vertical-align' : verticalAlign, + 'border-width' : border, + 'border-style' : border !== '' ? 'solid' : '', + 'border-color' : borderColor + }); + self.hideDialog().focus(); + self.cmd.range.moveToBookmark(bookmark); + self.cmd.select(); + self.addBookmark(); + } + } + }), + div = dialog.div, + widthBox = K('[name="width"]', div).val(100), + heightBox = K('[name="height"]', div), + widthTypeBox = K('[name="widthType"]', div), + heightTypeBox = K('[name="heightType"]', div), + paddingBox = K('[name="padding"]', div).val(2), + spacingBox = K('[name="spacing"]', div).val(0), + textAlignBox = K('[name="textAlign"]', div), + verticalAlignBox = K('[name="verticalAlign"]', div), + borderBox = K('[name="border"]', div).val(1), + colorBox = K('.ke-input-color', div); + _initColorPicker(div, colorBox.eq(0)); + _initColorPicker(div, colorBox.eq(1)); + _setColor(colorBox.eq(0), '#000000'); + _setColor(colorBox.eq(1), ''); + // foucs and select + widthBox[0].focus(); + widthBox[0].select(); + // get selected cell + var cell = self.plugin.getSelectedCell(); + var match, + cellWidth = cell[0].style.width || cell[0].width || '', + cellHeight = cell[0].style.height || cell[0].height || ''; + if ((match = /^(\d+)((?:px|%)*)$/.exec(cellWidth))) { + widthBox.val(match[1]); + widthTypeBox.val(match[2]); + } else { + widthBox.val(''); + } + if ((match = /^(\d+)((?:px|%)*)$/.exec(cellHeight))) { + heightBox.val(match[1]); + heightTypeBox.val(match[2]); + } + textAlignBox.val(cell[0].style.textAlign || ''); + verticalAlignBox.val(cell[0].style.verticalAlign || ''); + var border = cell[0].style.borderWidth || ''; + if (border) { + border = parseInt(border); + } + borderBox.val(border); + _setColor(colorBox.eq(0), K.toHex(cell[0].style.borderColor || '')); + _setColor(colorBox.eq(1), K.toHex(cell[0].style.backgroundColor || '')); + widthBox[0].focus(); + widthBox[0].select(); + }, + insert : function() { + this.prop(true); + }, + 'delete' : function() { + var table = self.plugin.getSelectedTable(); + self.cmd.range.setStartBefore(table[0]).collapse(true); + self.cmd.select(); + table.remove(); + self.addBookmark(); + }, + colinsert : function(offset) { + var table = self.plugin.getSelectedTable()[0], + row = self.plugin.getSelectedRow()[0], + cell = self.plugin.getSelectedCell()[0], + index = cell.cellIndex + offset; + // 取得第一行的index + index += table.rows[0].cells.length - row.cells.length; + + for (var i = 0, len = table.rows.length; i < len; i++) { + var newRow = table.rows[i], + newCell = newRow.insertCell(index); + newCell.innerHTML = K.IE ? '' : '
                                                        '; + // 调整下一行的单元格index + index = _getCellIndex(table, newRow, newCell); + } + self.cmd.range.selectNodeContents(cell).collapse(true); + self.cmd.select(); + self.addBookmark(); + }, + colinsertleft : function() { + this.colinsert(0); + }, + colinsertright : function() { + this.colinsert(1); + }, + rowinsert : function(offset) { + var table = self.plugin.getSelectedTable()[0], + row = self.plugin.getSelectedRow()[0], + cell = self.plugin.getSelectedCell()[0]; + var rowIndex = row.rowIndex; + if (offset === 1) { + rowIndex = row.rowIndex + (cell.rowSpan - 1) + offset; + } + var newRow = table.insertRow(rowIndex); + + for (var i = 0, len = row.cells.length; i < len; i++) { + // 调整cell个数 + if (row.cells[i].rowSpan > 1) { + len -= row.cells[i].rowSpan - 1; + } + var newCell = newRow.insertCell(i); + // copy colspan + if (offset === 1 && row.cells[i].colSpan > 1) { + newCell.colSpan = row.cells[i].colSpan; + } + newCell.innerHTML = K.IE ? '' : '
                                                        '; + } + // 调整rowspan + for (var j = rowIndex; j >= 0; j--) { + var cells = table.rows[j].cells; + if (cells.length > i) { + for (var k = cell.cellIndex; k >= 0; k--) { + if (cells[k].rowSpan > 1) { + cells[k].rowSpan += 1; + } + } + break; + } + } + self.cmd.range.selectNodeContents(cell).collapse(true); + self.cmd.select(); + self.addBookmark(); + }, + rowinsertabove : function() { + this.rowinsert(0); + }, + rowinsertbelow : function() { + this.rowinsert(1); + }, + rowmerge : function() { + var table = self.plugin.getSelectedTable()[0], + row = self.plugin.getSelectedRow()[0], + cell = self.plugin.getSelectedCell()[0], + rowIndex = row.rowIndex, // 当前行的index + nextRowIndex = rowIndex + cell.rowSpan, // 下一行的index + nextRow = table.rows[nextRowIndex]; // 下一行 + // 最后一行不能合并 + if (table.rows.length <= nextRowIndex) { + return; + } + var cellIndex = cell.cellIndex; // 下一行单元格的index + if (nextRow.cells.length <= cellIndex) { + return; + } + var nextCell = nextRow.cells[cellIndex]; // 下一行单元格 + // 上下行的colspan不一致时不能合并 + if (cell.colSpan !== nextCell.colSpan) { + return; + } + cell.rowSpan += nextCell.rowSpan; + nextRow.deleteCell(cellIndex); + self.cmd.range.selectNodeContents(cell).collapse(true); + self.cmd.select(); + self.addBookmark(); + }, + colmerge : function() { + var table = self.plugin.getSelectedTable()[0], + row = self.plugin.getSelectedRow()[0], + cell = self.plugin.getSelectedCell()[0], + rowIndex = row.rowIndex, // 当前行的index + cellIndex = cell.cellIndex, + nextCellIndex = cellIndex + 1; + // 最后一列不能合并 + if (row.cells.length <= nextCellIndex) { + return; + } + var nextCell = row.cells[nextCellIndex]; + // 左右列的rowspan不一致时不能合并 + if (cell.rowSpan !== nextCell.rowSpan) { + return; + } + cell.colSpan += nextCell.colSpan; + row.deleteCell(nextCellIndex); + self.cmd.range.selectNodeContents(cell).collapse(true); + self.cmd.select(); + self.addBookmark(); + }, + rowsplit : function() { + var table = self.plugin.getSelectedTable()[0], + row = self.plugin.getSelectedRow()[0], + cell = self.plugin.getSelectedCell()[0], + rowIndex = row.rowIndex; + // 不是可分割单元格 + if (cell.rowSpan === 1) { + return; + } + var cellIndex = _getCellIndex(table, row, cell); + for (var i = 1, len = cell.rowSpan; i < len; i++) { + var newRow = table.rows[rowIndex + i], + newCell = newRow.insertCell(cellIndex); + if (cell.colSpan > 1) { + newCell.colSpan = cell.colSpan; + } + newCell.innerHTML = K.IE ? '' : '
                                                        '; + // 调整下一行的单元格index + cellIndex = _getCellIndex(table, newRow, newCell); + } + K(cell).removeAttr('rowSpan'); + self.cmd.range.selectNodeContents(cell).collapse(true); + self.cmd.select(); + self.addBookmark(); + }, + colsplit : function() { + var table = self.plugin.getSelectedTable()[0], + row = self.plugin.getSelectedRow()[0], + cell = self.plugin.getSelectedCell()[0], + cellIndex = cell.cellIndex; + // 不是可分割单元格 + if (cell.colSpan === 1) { + return; + } + for (var i = 1, len = cell.colSpan; i < len; i++) { + var newCell = row.insertCell(cellIndex + i); + if (cell.rowSpan > 1) { + newCell.rowSpan = cell.rowSpan; + } + newCell.innerHTML = K.IE ? '' : '
                                                        '; + } + K(cell).removeAttr('colSpan'); + self.cmd.range.selectNodeContents(cell).collapse(true); + self.cmd.select(); + self.addBookmark(); + }, + coldelete : function() { + var table = self.plugin.getSelectedTable()[0], + row = self.plugin.getSelectedRow()[0], + cell = self.plugin.getSelectedCell()[0], + index = cell.cellIndex; + for (var i = 0, len = table.rows.length; i < len; i++) { + var newRow = table.rows[i], + newCell = newRow.cells[index]; + if (newCell.colSpan > 1) { + newCell.colSpan -= 1; + if (newCell.colSpan === 1) { + K(newCell).removeAttr('colSpan'); + } + } else { + newRow.deleteCell(index); + } + // 跳过不需要删除的行 + if (newCell.rowSpan > 1) { + i += newCell.rowSpan - 1; + } + } + if (row.cells.length === 0) { + self.cmd.range.setStartBefore(table).collapse(true); + self.cmd.select(); + K(table).remove(); + } else { + self.cmd.selection(true); + } + self.addBookmark(); + }, + rowdelete : function() { + var table = self.plugin.getSelectedTable()[0], + row = self.plugin.getSelectedRow()[0], + cell = self.plugin.getSelectedCell()[0], + rowIndex = row.rowIndex; + // 从下到上删除 + for (var i = cell.rowSpan - 1; i >= 0; i--) { + table.deleteRow(rowIndex + i); + } + if (table.rows.length === 0) { + self.cmd.range.setStartBefore(table).collapse(true); + self.cmd.select(); + K(table).remove(); + } else { + self.cmd.selection(true); + } + self.addBookmark(); + } + }; + self.clickToolbar(name, self.plugin.table.prop); +}); diff --git a/src/demo/manager/src/main/webapp/assets/js/kindeditor-4.1.10/plugins/template/html/1.html b/src/demo/manager/src/main/webapp/assets/js/kindeditor-4.1.10/plugins/template/html/1.html new file mode 100644 index 00000000..034126b7 --- /dev/null +++ b/src/demo/manager/src/main/webapp/assets/js/kindeditor-4.1.10/plugins/template/html/1.html @@ -0,0 +1,14 @@ + + + + + + +

                                                        + 在此处输入标题 +

                                                        +

                                                        + 在此处输入内容 +

                                                        + + \ No newline at end of file diff --git a/src/demo/manager/src/main/webapp/assets/js/kindeditor-4.1.10/plugins/template/html/2.html b/src/demo/manager/src/main/webapp/assets/js/kindeditor-4.1.10/plugins/template/html/2.html new file mode 100644 index 00000000..dc2584a0 --- /dev/null +++ b/src/demo/manager/src/main/webapp/assets/js/kindeditor-4.1.10/plugins/template/html/2.html @@ -0,0 +1,42 @@ + + + + + + +

                                                        + 标题 +

                                                        + + + + + + + + + + + + + + + +
                                                        +

                                                        标题1

                                                        +
                                                        +

                                                        标题1

                                                        +
                                                        + 内容1 + + 内容2 +
                                                        + 内容3 + + 内容4 +
                                                        +

                                                        + 表格说明 +

                                                        + + \ No newline at end of file diff --git a/src/demo/manager/src/main/webapp/assets/js/kindeditor-4.1.10/plugins/template/html/3.html b/src/demo/manager/src/main/webapp/assets/js/kindeditor-4.1.10/plugins/template/html/3.html new file mode 100644 index 00000000..873f0c65 --- /dev/null +++ b/src/demo/manager/src/main/webapp/assets/js/kindeditor-4.1.10/plugins/template/html/3.html @@ -0,0 +1,36 @@ + + + + + + +

                                                        + 在此处输入内容 +

                                                        +
                                                          +
                                                        1. + 描述1 +
                                                        2. +
                                                        3. + 描述2 +
                                                        4. +
                                                        5. + 描述3 +
                                                        6. +
                                                        +

                                                        + 在此处输入内容 +

                                                        +
                                                          +
                                                        • + 描述1 +
                                                        • +
                                                        • + 描述2 +
                                                        • +
                                                        • + 描述3 +
                                                        • +
                                                        + + \ No newline at end of file diff --git a/src/demo/manager/src/main/webapp/assets/js/kindeditor-4.1.10/plugins/template/template.js b/src/demo/manager/src/main/webapp/assets/js/kindeditor-4.1.10/plugins/template/template.js new file mode 100644 index 00000000..4029e871 --- /dev/null +++ b/src/demo/manager/src/main/webapp/assets/js/kindeditor-4.1.10/plugins/template/template.js @@ -0,0 +1,58 @@ +/******************************************************************************* +* KindEditor - WYSIWYG HTML Editor for Internet +* Copyright (C) 2006-2011 kindsoft.net +* +* @author Roddy +* @site http://www.kindsoft.net/ +* @licence http://www.kindsoft.net/license.php +*******************************************************************************/ + +KindEditor.plugin('template', function(K) { + var self = this, name = 'template', lang = self.lang(name + '.'), + htmlPath = self.pluginsPath + name + '/html/'; + function getFilePath(fileName) { + return htmlPath + fileName + '?ver=' + encodeURIComponent(K.DEBUG ? K.TIME : K.VERSION); + } + self.clickToolbar(name, function() { + var lang = self.lang(name + '.'), + arr = ['
                                                        ', + '
                                                        ', + // left start + '
                                                        ', + lang. selectTemplate + '
                                                        ', + // right start + '
                                                        ', + ' ', + '
                                                        ', + '
                                                        ', + '
                                                        ', + '', + '
                                                        '].join(''); + var dialog = self.createDialog({ + name : name, + width : 500, + title : self.lang(name), + body : html, + yesBtn : { + name : self.lang('yes'), + click : function(e) { + var doc = K.iframeDoc(iframe); + self[checkbox[0].checked ? 'html' : 'insertHtml'](doc.body.innerHTML).hideDialog().focus(); + } + } + }); + var selectBox = K('select', dialog.div), + checkbox = K('[name="replaceFlag"]', dialog.div), + iframe = K('iframe', dialog.div); + checkbox[0].checked = true; + iframe.attr('src', getFilePath(selectBox.val())); + selectBox.change(function() { + iframe.attr('src', getFilePath(this.value)); + }); + }); +}); diff --git a/src/demo/manager/src/main/webapp/assets/js/kindeditor-4.1.10/plugins/wordpaste/wordpaste.js b/src/demo/manager/src/main/webapp/assets/js/kindeditor-4.1.10/plugins/wordpaste/wordpaste.js new file mode 100644 index 00000000..22061e15 --- /dev/null +++ b/src/demo/manager/src/main/webapp/assets/js/kindeditor-4.1.10/plugins/wordpaste/wordpaste.js @@ -0,0 +1,51 @@ +/******************************************************************************* +* KindEditor - WYSIWYG HTML Editor for Internet +* Copyright (C) 2006-2011 kindsoft.net +* +* @author Roddy +* @site http://www.kindsoft.net/ +* @licence http://www.kindsoft.net/license.php +*******************************************************************************/ + +KindEditor.plugin('wordpaste', function(K) { + var self = this, name = 'wordpaste'; + self.clickToolbar(name, function() { + var lang = self.lang(name + '.'), + html = '
                                                        ' + + '
                                                        ' + lang.comment + '
                                                        ' + + '' + + '
                                                        ', + dialog = self.createDialog({ + name : name, + width : 450, + title : self.lang(name), + body : html, + yesBtn : { + name : self.lang('yes'), + click : function(e) { + var str = doc.body.innerHTML; + str = K.clearMsWord(str, self.filterMode ? self.htmlTags : K.options.htmlTags); + self.insertHtml(str).hideDialog().focus(); + } + } + }), + div = dialog.div, + iframe = K('iframe', div), + doc = K.iframeDoc(iframe); + if (!K.IE) { + doc.designMode = 'on'; + } + doc.open(); + doc.write('WordPaste'); + doc.write(''); + if (!K.IE) { + doc.write('
                                                        '); + } + doc.write(''); + doc.close(); + if (K.IE) { + doc.body.contentEditable = 'true'; + } + iframe[0].contentWindow.focus(); + }); +}); diff --git a/src/demo/manager/src/main/webapp/assets/js/kindeditor-4.1.10/themes/common/anchor.gif b/src/demo/manager/src/main/webapp/assets/js/kindeditor-4.1.10/themes/common/anchor.gif new file mode 100644 index 0000000000000000000000000000000000000000..61145ea78138f12df43b666409bcc4b8e3231a60 GIT binary patch literal 371 zcmZ?wbhEHb6krfwxN6QYDW2i~>#Uh+4FA{5|NoTr{}#jK1cv|r8K$Q&OaU@(FieVN zn48I*>dcU0&(ImhkmAVj|0cu#%M2+_4F5kfq&hJ~TQO9G2;_J&L|HM+%VPe&MQ&C) z)BiVF|KBtGUnBJY9mD^(IUOMk|2NBZhcf(sRXQn=;s4jN|DPBp#xP8bXXprI=#FCe zf19B@45+gB{|AQI=^Wh=4F5Ms{Qp)u1*rHM&^`YdZ~(=hEQ|~c<_tO@d61tN*d`p9 zUBIEi)aIe0aDYcB+&yV9KvzU~I(C$-u_p#Ky|bWX>%jt!B=|&dL_YB{V~Gw$?l$E`JVT wW>zLW4P_lBR%X%3<`U-X1)1cSnFM$4@f6r##-+BwLW0RJL(*8l(j literal 0 HcmV?d00001 diff --git a/src/demo/manager/src/main/webapp/assets/js/kindeditor-4.1.10/themes/common/blank.gif b/src/demo/manager/src/main/webapp/assets/js/kindeditor-4.1.10/themes/common/blank.gif new file mode 100644 index 0000000000000000000000000000000000000000..5bfd67a2d6f72ac3a55cbfcea5866e841d22f5d9 GIT binary patch literal 43 mcmZ?wbhEHbWMp7uXkdT>#h)yUAf^t80Ld^gF}W}@SOWlZ0R#L1 literal 0 HcmV?d00001 diff --git a/src/demo/manager/src/main/webapp/assets/js/kindeditor-4.1.10/themes/common/flash.gif b/src/demo/manager/src/main/webapp/assets/js/kindeditor-4.1.10/themes/common/flash.gif new file mode 100644 index 0000000000000000000000000000000000000000..2cb12b28429f8c2e5294a177e14dfda6f533e6fc GIT binary patch literal 1089 zcmV-H1it%6Nk%w1VITk?0OkMy03afP|W&d}4=YJZZjyvFwT_~zc`k)Er>%FkqZjiIl;5K(o%zrQM3b^te9 zd4`jDi=FT9?{#&eq?= z&Da1aLZ`OBD`bS6tF=*bg7@$DY?G-hUVMa=piygoaD&NUadR3gv@04*cpk2HtAZvUIW`(NU|>7P#~?T>bqX|Nt1v+(S;PTf64}~3U<`K* zQ47$GNYff1*Ai|w>^DYkFnuK@BVh*%D~w4xavESj>TdAhksv{a02d;V89-(NkSuI; z@L1#^M-~tO-3&CsF~bdc0~it*00hhu2Mr1pabN>S0CfZnW|*lULdY2te1viHB@CVg z1qgY7;qQyaf-`3(IU!=e3^X@bV92&33(G+gUc?FW@&?kR8L&(l;AaAlsoK7*fT3iN z0U~q%z!>FW1nj{GBFO03AO)K?31H&ra3iS90S#U0+HDYFh8`v}B6JudMca-!L3sT^ zB4-6QuXZzBP@(6_l|57_pkSd5ND(Cl1R*iu`HMTd2E>>~fPf1Z)vU7t(V(D)Y}#Lv z-%h%q%M}DvqCe@fy0r!+#{ZCzBP6+ZHyZ7Ti2>ch3OeWm$Y^af)1M-T0sfWn#*7#Q z57J1*z<<5vB_D7g$Pfy|HD3m001!hA6j%`4eA$42M_Yq1qe%EK|&)k zXh97SJe+Zc4BqwW9T;;c;l(B#Xc2{!1+=56qF~s7#h|Om(1QYaXaIyvU>PAn5irQv z%OD}Npnx28(D6@68rYBn78UUL=^z+{(1R8VC{e2eSZKkAtFJC1!w^jb+eRKz^lI#< HfdBwIq8;my literal 0 HcmV?d00001 diff --git a/src/demo/manager/src/main/webapp/assets/js/kindeditor-4.1.10/themes/common/loading.gif b/src/demo/manager/src/main/webapp/assets/js/kindeditor-4.1.10/themes/common/loading.gif new file mode 100644 index 0000000000000000000000000000000000000000..c69e937232b24ea30f01c68bbd2ebc798dcecfcb GIT binary patch literal 2608 zcmdVcdr(tX9tZGC9yiG~=H_*Q-0%n(kWqP*D#hw{AQu8;1%gl-Hrf&{2?48KX;hHy z3Ze*zEz4t3XdUFyLbNPUYlA`|B}P=N1fqtL1*}S;87#|-W9v<#G;ul(e%d3)N(^9c$d2Dz{7}?ErjNd;{EMKkCsk21~b9Gvg zDo<7L=3Z5HNbVlZUcm1eg#o#CZCJU`3IYHwM->zCd?uYrF3vKFeM}v?f+%s?E>ly|3W25ry9#NNbTx-}0ON58dTrs^ix{_1O0Wh~SVSBlH)Ajn zPn^Gbjz}PCtN@#keR&hK&Dhl-b$kZ8^S)x#dh0{7X=X%CCJk7P1PSO>T&S8I4{#Lg zb5#)o=;!ZP*1nM{cI4@(x7o27*SA()NHmrn67aN@Pmi~(i_SnrjYnwh36aG%!@i0d zqbvfa44f|?OG4ntP|nbjhEl1)Yp6ZN@yjy zy4==QmLy%t;ps3R?~f2KfTTI|2?q8dFd6^z5GF+Xa&Y)sjG)hxit80pPcOP zJ z*LW{SyGHD%hUotV+W%I}fBLAIx!8|7#}$;clKQ+{&FjDqGQ2ZNx(lYM3*%~}ILnao zM`aui55~ZFJlu^!5rdA9Q_7H68H_;##u{x(Yn-vSfIRCb^Nqsg zGRS!Egm>h+o<}LeV4&CLReo9FrDjDvs}8?JwC)#Qs|ie=r?~xUh)&*d`Fx>FG}%X# zNdtDHBKhLPC0wpooFDAQKL%*6T|ULH$=wX!NhcasgD3d;-d$I6yRK3yN+E~C1335_iLOt+*9uvSZ`>*KA}vm}08wRq=>5l|t*Na&jR z-C1&C`nkEk#sB|@yyt-#fXngP04My zm7u$Q%EJbHp`>~`5W&L{W!6`y&}LMS;jfUpgO~7TLVMRZ9IC)IZp0A${`yp0{&wco z#1nx@XMkhqeK%7?RE7JdLr1^nwFfaJ0Q&Lv?WNJ%9}VSJsNY2+UYs2%EU0J~ayFXv zi*?7KCXQHkD)O6!0Q%4N+HTODHxJ{kQSuQX$l-rSwkwh(zMkdfzxyGwl@yHC)C4p< z&n2%8#M?)Q@mgHL1ot8`SFdSEj9ye|jHy+U8#@HoUExG=@AVkRAe_qYm4EpzK6L*& zh`)26?V#f4#_h^P9G^%>h2-H3)$QP zQovu6J9qDvsxqweDdNNa!Lb?L4_UF{tLX_nN7r0U_vF14YKcGR-*Gl} zx3oG)bzf|65dBxD-;2ZCp??K;+TuQ9onnK?==5hzbkb^r_g>z4#D8mcv8(+XdoszA zCx-qhdgxMNMotj}SiL_6V(tLcsK7(M(r(%u<}QrVfOvyK6_;~NOTlPGfX@M7S5YQF z&*$(ylJMHJt^_aQeu{C6NaTE$G3HNN@_SnN8YcaKn%`)F@~L1x+ah7-gEJPpc6w%3 zyX}r+Qk$4RHZzfH){e~F*qJ{d*L8a6n4;U?+{de0-t)mal#TVxe)3F}^UBh+zd T)6_**#cgp_+?JL9(ew3BlNF>u literal 0 HcmV?d00001 diff --git a/src/demo/manager/src/main/webapp/assets/js/kindeditor-4.1.10/themes/common/media.gif b/src/demo/manager/src/main/webapp/assets/js/kindeditor-4.1.10/themes/common/media.gif new file mode 100644 index 0000000000000000000000000000000000000000..e1c0e30afb2587f6d4ed4f8bd90bd4f865a98aa6 GIT binary patch literal 1036 zcmV+n1oQhxNk%w1VITk?0OkMy0A@37!Q*M$LcQvWmF_2mBqn_S(Z}jxMfqHi`g}=qph8>ajebfv(>`m;o;&^Lc|^(|NrX%akkXw-P74|0GZ6czP`)p_nDcQGnvdD zc0~XGnV{C}vBAMgeD0s2|`x$DghH8$$U7>xK#;fx3!ne0y#NE=_*_PMt z_y>GB^Uu$Ge1HG_;FiYa=8%l{_V#|d-OC&c_xDxA;Ovc%k|v_lc$J`Bwb{dadH?@r z@x;Xc|NqR)%}29%<|$If5zj<+@0oSRV;#1JEGEmvzHHo zK^dCR=H%o1@9)CL*8l%AwbJdn)bQZ%_W*P=|NlRu%(O41eiycq}AUsoyi)CnB1Zg8JKLBrW4U~m-5(Hdm1!Wys z4Ipt4096R0e^4V_5gm0MWn~S&2w8n^EmxFg1QETHV3Fir9=USl7#n1P3KbeR3g1gYqk`oMXDUdJ zg6G5<1`H+;N>ZXUoIFKRM`?WK43#rR-li^s2Z;d#4Ac+;Q@Vtg4^vcISU~)S9(%L( zWLR^X0f|Bt4oEkWMfidX7Ld;_BBsr40~!n&k?v(lk}OlwTaZ0F{ggZ!u-tZFNROBM zUII+Xg1(6R|5=FP02TxqAjBatc!2^6bG#4?e-QFV2OWA$Py>NjJb?%pb1?XT9|=uC zM+hX6s0SDm@Nvh5H9Uui3Ue%xR$D%Rv0V{DxbVaieAG~bZi-m(VE{u6@xoO;2%!dP z87{~m1CMu*K}ix#5P6jfD)^wrmPuopT&2f}B#@w_3l8kC!dHw;kpcxC zFu_3*$Ei6%4`Fx^L<(@mDTM+`1d)IeE3BYI0zoLDfE0n!l0^toq+n?ZQiPBNEu1nE G2mm`UjPBh4 literal 0 HcmV?d00001 diff --git a/src/demo/manager/src/main/webapp/assets/js/kindeditor-4.1.10/themes/common/rm.gif b/src/demo/manager/src/main/webapp/assets/js/kindeditor-4.1.10/themes/common/rm.gif new file mode 100644 index 0000000000000000000000000000000000000000..d013d551de909a5588a7d81be96aba60089a846b GIT binary patch literal 989 zcmV<310wuKNk%w1VITk?0OkMy0!fO7(d!x1vrw+q9#)Y6nas=J??8L1wang{j*6Pl=&;@Hf}+8--sXvYcn4dU zBZIas|JI-=;-JdPm1R7 z_XtOZ$=c^+!QzqB>;;U(l*HkTz1wT0#bS`RMUul|e~QY(!2kdMA^8La6aaq!EC2ui z03ZM$000O7fPaF6goTEOh>41ei!?V?RW~$@i!&HvFmVtNaWG;SGn9o&UUMfHRWmd+ zGgTNTb6!fKe>V^(Kr~9MGrhVrKqnA4lvV%^Sy?yB%+1LT09K1P0DE**6clA;Of@x3 z+u0O!djQ0UN@EigKM1Af(LLXatAr11&%Z_h6`n=>lNV z^yR^)?+hs*-k51&=*gSwS6oPNys-?J0@t4$no{7-ofRFn=RGLr!Ik$@5FIFD9txBn z7M?WOueJ%1BS+j(!~uzL0pNXFXt9P6FFe80K`&@QMu1!_ase4+D7eNCYj9!J0d{nt zMFeDAKuH55?C?V!b#MU{14O9s!ww@fAW8`zEI@_;P6WUJ16{~Y*f4+wG9-Cp2n1B1!4Q40z(OBGXixzGA!td9AaI}%LI{5N@g@pz LtZAnrfdBwIov+u= literal 0 HcmV?d00001 diff --git a/src/demo/manager/src/main/webapp/assets/js/kindeditor-4.1.10/themes/default/background.png b/src/demo/manager/src/main/webapp/assets/js/kindeditor-4.1.10/themes/default/background.png new file mode 100644 index 0000000000000000000000000000000000000000..bbfb056bd3e3bc7e7ada31f2ac3cb6ea37fc58b9 GIT binary patch literal 788 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 literal 0 HcmV?d00001 diff --git a/src/demo/manager/src/main/webapp/assets/js/kindeditor-4.1.10/themes/qq/editor.gif b/src/demo/manager/src/main/webapp/assets/js/kindeditor-4.1.10/themes/qq/editor.gif new file mode 100644 index 0000000000000000000000000000000000000000..b256841f3088117a98b969499784042bab41aeca GIT binary patch literal 1449 zcmV;a1y=e;Nk%w1VL$>90M$PLQia8GoX|62nLBW?f~M5g+~Q1v!`Ir}#@Fmee!?zP zh+U1zmb2M1O>e8g;1W5WgsIkUn$Ip`%2$fVXMn^#bhsNcP%c~9LU_GjdBU~IL&`rMETD?m}ueX??hjiOzpp!m?j@drmO88u=IIcuapktQofL6Om9 zlnpU3=)x$aWkr|!ZjLRGtHu(6ln;RftGGxJA%N`& zB3!hPVK$<~K3mqbjTQ**Wh4;j?t!p}uD+aU3*p3)vL@2CO@zgW@33^N#Dz#wk2xug@*QIr;sbl%D3g@yevA{5qO(~K1eoM}ioR&X#O0XO)7 zC>}k1iN$(*CgI+kSUe&`4IOx}g9rC5+2j>lWz-reRe*J%2q`SIzyw-Cq+p#->}Q4# zF}^iMr9Y_9g9^Z^K!X7^1nVmeT%t%#6@roYClqeYl;aaH$uuS}8eNzxIp6R)VWWYR zQ|WoS0bydH7?X}U^)0D=w|T#%%iqME>NYuB9`8x$>wa8RoXF$6%Ydp?LATGHbA zgs*#?s|T{yMQ10C)X~ZW1B4l-Fd9ganG+En>$q9DlM2PI5qYfe0|!A?Q2+)+((phA z2T(9Cy%~)vg?|DJ!LvY8oU&@a2f`vNN+Cy~1s7}h0+)0hWBbIj%qqK#)e#@;#5mlE zV@}s153=!Ol48N~9_(Qu015=H@PGmZ+|16LV>f|q(o0P6!UCwYus~S`I3RezUZ%57 z7JpRs+u;ZkwF~2oSUjubjZ6FlG<~8G$s}!DL~*S;P0PgR6Wdy`=}{=4z+)>k5W)dT zLf%Bn=%v%f#0a?OuKNhJL+FG<6UZREE3X7DdlGu0SN9MABrrh2wOCf3(R2Ag z1jrcz4&fr|GN2ohS30~+PHIoc9OaS_0{~d-2c)yx0d;aK4zBMF69nDZ&}Anikgy3S zNTCW>s6s&~@EkAPN9PRl!5Yc|V;EEe>TJlv9@5YvNOQ@_kmti98u5rnh#?ZO69fP| DK<${p literal 0 HcmV?d00001 diff --git a/src/demo/manager/src/main/webapp/assets/js/kindeditor-4.1.10/themes/qq/qq.css b/src/demo/manager/src/main/webapp/assets/js/kindeditor-4.1.10/themes/qq/qq.css new file mode 100644 index 00000000..a45e08c6 --- /dev/null +++ b/src/demo/manager/src/main/webapp/assets/js/kindeditor-4.1.10/themes/qq/qq.css @@ -0,0 +1,143 @@ +/* container */ +.ke-container-qq { + display: block; + border: 1px solid #c3c3c3; + background-color: #FFF; + overflow: hidden; + margin: 0; + padding: 0; +} +/* toolbar */ +.ke-container-qq .ke-toolbar { + border-bottom: 1px solid #c3c3c3; + background-color: #FFFFFF; + padding: 2px 5px; + text-align: left; + overflow: hidden; + zoom: 1; +} +.ke-toolbar-icon-url { + background-image: url(editor.gif); + width:18px; + *xwidth:20px; + height:18px; + *xheight:20px; +} +.ke-icon-checked{ + background-image: url(../default/default.png); + width:16px; + height:16px; +} +.ke-container-qq .ke-icon-bold{ + background-position: 4px 1px; +} +.ke-container-qq .ke-icon-italic{ + background-position: -27px 1px; +} +.ke-container-qq .ke-icon-italic{ + background-position: -28px 1px; +} +.ke-container-qq .ke-icon-underline{ + background-position: -60px 1px; +} +.ke-container-qq .ke-icon-fontname{ + background-position: -95px 1px; +} +.ke-container-qq .ke-icon-fontsize{ + background-position: -128px 1px; +} +.ke-container-qq .ke-icon-forecolor{ + background-position: -159px 1px; +} +.ke-container-qq .ke-icon-hilitecolor{ + background-position: -190px 1px; +} +.ke-container-qq .ke-icon-plug-align{ + background-position: -223px 1px; +} +.plug-align-justifyleft{ + background-position: -350px 1px; +} +.plug-align-justifycenter{ + background-position: -382px 1px; +} +.plug-align-justifyright{ + background-position: -414px 1px; +} +.plug-order-insertorderedlist{ + background-position: -446px 1px; +} +.plug-order-insertunorderedlist{ + background-position: -477px 1px; +} +.plug-indent-indent{ + background-position: -513px 1px; +} +.plug-indent-outdent{ + background-position: -545px 1px; +} +.ke-container-qq .ke-icon-plug-order{ + background-position: -255px 1px; +} +.ke-container-qq .ke-icon-plug-indent{ + background-position: -287px 1px; +} +.ke-container-qq .ke-icon-link{ + background-position: -319px 1px; +} + +.ke-container-qq .ke-toolbar .ke-outline { + cursor: default; + padding:0px; + border:1px solid #fff; +} +.ke-container-qq .ke-toolbar .ke-on { + border-left:1px solid white; + border-top:1px solid white; + border-right:1px solid gray; + border-bottom:1px solid gray; + background-color: #FFFFFF; +} +.ke-container-qq .ke-toolbar .ke-selected { + border-left:1px solid gray; + border-top:1px solid gray; + border-right:1px solid white; + border-bottom:1px solid white; + background-color: #FFFFFF; +} +.ke-container-qq .ke-toolbar .ke-disabled { + cursor: default; +} + +.ke-colorpicker-qq{ + background:#fff; +} +/* statusbar */ +.ke-container-qq .ke-statusbar { + display:none; +} +/* menu */ +.ke-menu-qq { + border:1px solid #a6a6a6; + position:absolute; + background:#fff; + -moz-box-shadow:2px 2px 4px #DDDDDD; + z-index:999; + left:-400px; + top:-386px; + right:218px; + width:130px; +} +.ke-menu-qq .ke-menu-item { + padding:0px; + background:#fff; +} +.ke-menu-qq .ke-menu-item-on { + border:1px solid #000080;background:#FFEEC2;color:#036; +} +.ke-menu-qq .ke-toolbar .ke-selected { + border:1px solid #9a9afb; +} +.ke-menu-qq .ke-menu-item-left{ + width:auto; +} diff --git a/src/demo/manager/src/main/webapp/assets/js/kindeditor-4.1.10/themes/simple/simple.css b/src/demo/manager/src/main/webapp/assets/js/kindeditor-4.1.10/themes/simple/simple.css new file mode 100644 index 00000000..4c76cf9d --- /dev/null +++ b/src/demo/manager/src/main/webapp/assets/js/kindeditor-4.1.10/themes/simple/simple.css @@ -0,0 +1,100 @@ +/* container */ +.ke-container-simple { + display: block; + border: 1px solid #CCC; + background-color: #FFF; + overflow: hidden; +} +/* toolbar */ +.ke-container-simple .ke-toolbar { + border-bottom: 1px solid #CCC; + background-color: #FFF; + padding: 2px 5px; + overflow: hidden; +} +.ke-container-simple .ke-toolbar .ke-outline { + border: 1px solid #FFF; + background-color: transparent; + margin: 1px; + padding: 1px 2px; + font-size: 0; + line-height: 0; + overflow: hidden; + cursor: pointer; +} +.ke-container-simple .ke-toolbar .ke-on { + border: 1px solid #5690D2; +} +.ke-container-simple .ke-toolbar .ke-selected { + border: 1px solid #5690D2; + background-color: #E9EFF6; +} +.ke-container-simple .ke-toolbar .ke-disabled { + cursor: default; +} +/* statusbar */ +.ke-container-simple .ke-statusbar { + position: relative; + background-color: #FFF; + border-top: 1px solid #CCCCCC; + font-size: 0; + line-height: 0; + *height: 12px; + overflow: hidden; + text-align: center; + cursor: s-resize; +} +/* menu */ +.ke-menu-simple { + border: 1px solid #A0A0A0; + background-color: #FFF; + color: #222222; + padding: 2px; + font-family: "sans serif",tahoma,verdana,helvetica; + font-size: 12px; + text-align: left; + overflow: hidden; +} +.ke-menu-simple .ke-menu-item { + border: 1px solid #FFF; + background-color: #FFF; + color: #222222; + height: 24px; + overflow: hidden; + cursor: pointer; +} +.ke-menu-simple .ke-menu-item-on { + border: 1px solid #5690D2; + background-color: #FFF; +} +/* colorpicker */ +.ke-colorpicker-simple { + border: 1px solid #A0A0A0; + background-color: #FEFEFE; + color: #222222; + padding: 2px; +} +.ke-colorpicker-simple .ke-colorpicker-cell { + font-size: 0; + line-height: 0; + border: 1px solid #FEFEFE; + cursor: pointer; + margin:3px; + padding:0; +} +.ke-colorpicker-simple .ke-colorpicker-cell-top { + font-family: "sans serif",tahoma,verdana,helvetica; + font-size: 12px; + line-height: 24px; + border: 1px solid #FEFEFE; + cursor: pointer; + margin:0; + padding:0; + text-align: center; +} +.ke-colorpicker-simple .ke-colorpicker-cell-on { + border: 1px solid #5690D2; +} +.ke-colorpicker-simple .ke-colorpicker-cell-selected { + border: 1px solid #2446AB; +} diff --git a/src/demo/manager/src/main/webapp/assets/js/metisMenu.min.js b/src/demo/manager/src/main/webapp/assets/js/metisMenu.min.js new file mode 100644 index 00000000..8a590e75 --- /dev/null +++ b/src/demo/manager/src/main/webapp/assets/js/metisMenu.min.js @@ -0,0 +1,9 @@ +/* + * metismenu - v1.1.3 + * Easy menu jQuery plugin for Twitter Bootstrap 3 + * https://github.com/onokumus/metisMenu + * + * Made by Osman Nuri Okumus + * Under MIT License + */ +!function(a,b,c){function d(b,c){this.element=a(b),this.settings=a.extend({},f,c),this._defaults=f,this._name=e,this.init()}var e="metisMenu",f={toggle:!0,doubleTapToGo:!1};d.prototype={init:function(){var b=this.element,d=this.settings.toggle,f=this;this.isIE()<=9?(b.find("li.active").has("ul").children("ul").collapse("show"),b.find("li").not(".active").has("ul").children("ul").collapse("hide")):(b.find("li.active").has("ul").children("ul").addClass("collapse in"),b.find("li").not(".active").has("ul").children("ul").addClass("collapse")),f.settings.doubleTapToGo&&b.find("li.active").has("ul").children("a").addClass("doubleTapToGo"),b.find("li").has("ul").children("a").on("click."+e,function(b){return b.preventDefault(),f.settings.doubleTapToGo&&f.doubleTapToGo(a(this))&&"#"!==a(this).attr("href")&&""!==a(this).attr("href")?(b.stopPropagation(),void(c.location=a(this).attr("href"))):(a(this).parent("li").toggleClass("active").children("ul").collapse("toggle"),void(d&&a(this).parent("li").siblings().removeClass("active").children("ul.in").collapse("hide")))})},isIE:function(){for(var a,b=3,d=c.createElement("div"),e=d.getElementsByTagName("i");d.innerHTML="",e[0];)return b>4?b:a},doubleTapToGo:function(a){var b=this.element;return a.hasClass("doubleTapToGo")?(a.removeClass("doubleTapToGo"),!0):a.parent().children("ul").length?(b.find(".doubleTapToGo").removeClass("doubleTapToGo"),a.addClass("doubleTapToGo"),!1):void 0},remove:function(){this.element.off("."+e),this.element.removeData(e)}},a.fn[e]=function(b){return this.each(function(){var c=a(this);c.data(e)&&c.data(e).remove(),c.data(e,new d(this,b))}),this}}(jQuery,window,document); \ No newline at end of file diff --git a/src/demo/manager/src/main/webapp/assets/js/moment/moment.min.js b/src/demo/manager/src/main/webapp/assets/js/moment/moment.min.js new file mode 100644 index 00000000..9eb14ece --- /dev/null +++ b/src/demo/manager/src/main/webapp/assets/js/moment/moment.min.js @@ -0,0 +1,492 @@ +//! moment.js +//! version : 2.14.1 +//! authors : Tim Wood, Iskren Chernev, Moment.js contributors +//! license : MIT +//! momentjs.com +!function(a,b){"object"==typeof exports&&"undefined"!=typeof module?module.exports=b():"function"==typeof define&&define.amd?define(b):a.moment=b()}(this,function(){"use strict";function a(){return md.apply(null,arguments)} +// This is done to register the method called with moment() +// without creating circular dependencies. +function b(a){md=a}function c(a){return a instanceof Array||"[object Array]"===Object.prototype.toString.call(a)}function d(a){return"[object Object]"===Object.prototype.toString.call(a)}function e(a){var b;for(b in a) +// even if its not own property I'd still call it non-empty +return!1;return!0}function f(a){return a instanceof Date||"[object Date]"===Object.prototype.toString.call(a)}function g(a,b){var c,d=[];for(c=0;c0)for(c in od)d=od[c],e=b[d],o(e)||(a[d]=e);return a} +// Moment prototype object +function q(b){p(this,b),this._d=new Date(null!=b._d?b._d.getTime():NaN),pd===!1&&(pd=!0,a.updateOffset(this),pd=!1)}function r(a){return a instanceof q||null!=a&&null!=a._isAMomentObject}function s(a){return 0>a?Math.ceil(a)||0:Math.floor(a)}function t(a){var b=+a,c=0;return 0!==b&&isFinite(b)&&(c=s(b)),c} +// compare two arrays, return the number of differences +function u(a,b,c){var d,e=Math.min(a.length,b.length),f=Math.abs(a.length-b.length),g=0;for(d=0;e>d;d++)(c&&a[d]!==b[d]||!c&&t(a[d])!==t(b[d]))&&g++;return g+f}function v(b){a.suppressDeprecationWarnings===!1&&"undefined"!=typeof console&&console.warn&&console.warn("Deprecation warning: "+b)}function w(b,c){var d=!0;return i(function(){return null!=a.deprecationHandler&&a.deprecationHandler(null,b),d&&(v(b+"\nArguments: "+Array.prototype.slice.call(arguments).join(", ")+"\n"+(new Error).stack),d=!1),c.apply(this,arguments)},c)}function x(b,c){null!=a.deprecationHandler&&a.deprecationHandler(b,c),qd[b]||(v(c),qd[b]=!0)}function y(a){return a instanceof Function||"[object Function]"===Object.prototype.toString.call(a)}function z(a){var b,c;for(c in a)b=a[c],y(b)?this[c]=b:this["_"+c]=b;this._config=a, +// Lenient ordinal parsing accepts just a number in addition to +// number + (possibly) stuff coming from _ordinalParseLenient. +this._ordinalParseLenient=new RegExp(this._ordinalParse.source+"|"+/\d{1,2}/.source)}function A(a,b){var c,e=i({},a);for(c in b)h(b,c)&&(d(a[c])&&d(b[c])?(e[c]={},i(e[c],a[c]),i(e[c],b[c])):null!=b[c]?e[c]=b[c]:delete e[c]);for(c in a)h(a,c)&&!h(b,c)&&d(a[c])&&( +// make sure changes to properties don't modify parent config +e[c]=i({},e[c]));return e}function B(a){null!=a&&this.set(a)}function C(a,b,c){var d=this._calendar[a]||this._calendar.sameElse;return y(d)?d.call(b,c):d}function D(a){var b=this._longDateFormat[a],c=this._longDateFormat[a.toUpperCase()];return b||!c?b:(this._longDateFormat[a]=c.replace(/MMMM|MM|DD|dddd/g,function(a){return a.slice(1)}),this._longDateFormat[a])}function E(){return this._invalidDate}function F(a){return this._ordinal.replace("%d",a)}function G(a,b,c,d){var e=this._relativeTime[c];return y(e)?e(a,b,c,d):e.replace(/%d/i,a)}function H(a,b){var c=this._relativeTime[a>0?"future":"past"];return y(c)?c(b):c.replace(/%s/i,b)}function I(a,b){var c=a.toLowerCase();zd[c]=zd[c+"s"]=zd[b]=a}function J(a){return"string"==typeof a?zd[a]||zd[a.toLowerCase()]:void 0}function K(a){var b,c,d={};for(c in a)h(a,c)&&(b=J(c),b&&(d[b]=a[c]));return d}function L(a,b){Ad[a]=b}function M(a){var b=[];for(var c in a)b.push({unit:c,priority:Ad[c]});return b.sort(function(a,b){return a.priority-b.priority}),b}function N(b,c){return function(d){return null!=d?(P(this,b,d),a.updateOffset(this,c),this):O(this,b)}}function O(a,b){return a.isValid()?a._d["get"+(a._isUTC?"UTC":"")+b]():NaN}function P(a,b,c){a.isValid()&&a._d["set"+(a._isUTC?"UTC":"")+b](c)} +// MOMENTS +function Q(a){return a=J(a),y(this[a])?this[a]():this}function R(a,b){if("object"==typeof a){a=K(a);for(var c=M(a),d=0;d=0;return(f?c?"+":"":"-")+Math.pow(10,Math.max(0,e)).toString().substr(1)+d} +// token: 'M' +// padded: ['MM', 2] +// ordinal: 'Mo' +// callback: function () { this.month() + 1 } +function T(a,b,c,d){var e=d;"string"==typeof d&&(e=function(){return this[d]()}),a&&(Ed[a]=e),b&&(Ed[b[0]]=function(){return S(e.apply(this,arguments),b[1],b[2])}),c&&(Ed[c]=function(){return this.localeData().ordinal(e.apply(this,arguments),a)})}function U(a){return a.match(/\[[\s\S]/)?a.replace(/^\[|\]$/g,""):a.replace(/\\/g,"")}function V(a){var b,c,d=a.match(Bd);for(b=0,c=d.length;c>b;b++)Ed[d[b]]?d[b]=Ed[d[b]]:d[b]=U(d[b]);return function(b){var e,f="";for(e=0;c>e;e++)f+=d[e]instanceof Function?d[e].call(b,a):d[e];return f}} +// format date using native date object +function W(a,b){return a.isValid()?(b=X(b,a.localeData()),Dd[b]=Dd[b]||V(b),Dd[b](a)):a.localeData().invalidDate()}function X(a,b){function c(a){return b.longDateFormat(a)||a}var d=5;for(Cd.lastIndex=0;d>=0&&Cd.test(a);)a=a.replace(Cd,c),Cd.lastIndex=0,d-=1;return a}function Y(a,b,c){Wd[a]=y(b)?b:function(a,d){return a&&c?c:b}}function Z(a,b){return h(Wd,a)?Wd[a](b._strict,b._locale):new RegExp($(a))} +// Code from http://stackoverflow.com/questions/3561493/is-there-a-regexp-escape-function-in-javascript +function $(a){return _(a.replace("\\","").replace(/\\(\[)|\\(\])|\[([^\]\[]*)\]|\\(.)/g,function(a,b,c,d,e){return b||c||d||e}))}function _(a){return a.replace(/[-\/\\^$*+?.()|[\]{}]/g,"\\$&")}function aa(a,b){var c,d=b;for("string"==typeof a&&(a=[a]),"number"==typeof b&&(d=function(a,c){c[b]=t(a)}),c=0;cd;++d)f=j([2e3,d]),this._shortMonthsParse[d]=this.monthsShort(f,"").toLocaleLowerCase(),this._longMonthsParse[d]=this.months(f,"").toLocaleLowerCase();return c?"MMM"===b?(e=sd.call(this._shortMonthsParse,g),-1!==e?e:null):(e=sd.call(this._longMonthsParse,g),-1!==e?e:null):"MMM"===b?(e=sd.call(this._shortMonthsParse,g),-1!==e?e:(e=sd.call(this._longMonthsParse,g),-1!==e?e:null)):(e=sd.call(this._longMonthsParse,g),-1!==e?e:(e=sd.call(this._shortMonthsParse,g),-1!==e?e:null))}function ha(a,b,c){var d,e,f;if(this._monthsParseExact)return ga.call(this,a,b,c); +// TODO: add sorting +// Sorting makes sure if one month (or abbr) is a prefix of another +// see sorting in computeMonthsParse +for(this._monthsParse||(this._monthsParse=[],this._longMonthsParse=[],this._shortMonthsParse=[]),d=0;12>d;d++){ +// test the regex +if(e=j([2e3,d]),c&&!this._longMonthsParse[d]&&(this._longMonthsParse[d]=new RegExp("^"+this.months(e,"").replace(".","")+"$","i"),this._shortMonthsParse[d]=new RegExp("^"+this.monthsShort(e,"").replace(".","")+"$","i")),c||this._monthsParse[d]||(f="^"+this.months(e,"")+"|^"+this.monthsShort(e,""),this._monthsParse[d]=new RegExp(f.replace(".",""),"i")),c&&"MMMM"===b&&this._longMonthsParse[d].test(a))return d;if(c&&"MMM"===b&&this._shortMonthsParse[d].test(a))return d;if(!c&&this._monthsParse[d].test(a))return d}} +// MOMENTS +function ia(a,b){var c;if(!a.isValid()) +// No op +return a;if("string"==typeof b)if(/^\d+$/.test(b))b=t(b);else +// TODO: Another silent failure? +if(b=a.localeData().monthsParse(b),"number"!=typeof b)return a;return c=Math.min(a.date(),da(a.year(),b)),a._d["set"+(a._isUTC?"UTC":"")+"Month"](b,c),a}function ja(b){return null!=b?(ia(this,b),a.updateOffset(this,!0),this):O(this,"Month")}function ka(){return da(this.year(),this.month())}function la(a){return this._monthsParseExact?(h(this,"_monthsRegex")||na.call(this),a?this._monthsShortStrictRegex:this._monthsShortRegex):(h(this,"_monthsShortRegex")||(this._monthsShortRegex=ie),this._monthsShortStrictRegex&&a?this._monthsShortStrictRegex:this._monthsShortRegex)}function ma(a){return this._monthsParseExact?(h(this,"_monthsRegex")||na.call(this),a?this._monthsStrictRegex:this._monthsRegex):(h(this,"_monthsRegex")||(this._monthsRegex=je),this._monthsStrictRegex&&a?this._monthsStrictRegex:this._monthsRegex)}function na(){function a(a,b){return b.length-a.length}var b,c,d=[],e=[],f=[];for(b=0;12>b;b++)c=j([2e3,b]),d.push(this.monthsShort(c,"")),e.push(this.months(c,"")),f.push(this.months(c,"")),f.push(this.monthsShort(c,""));for( +// Sorting makes sure if one month (or abbr) is a prefix of another it +// will match the longer piece. +d.sort(a),e.sort(a),f.sort(a),b=0;12>b;b++)d[b]=_(d[b]),e[b]=_(e[b]);for(b=0;24>b;b++)f[b]=_(f[b]);this._monthsRegex=new RegExp("^("+f.join("|")+")","i"),this._monthsShortRegex=this._monthsRegex,this._monthsStrictRegex=new RegExp("^("+e.join("|")+")","i"),this._monthsShortStrictRegex=new RegExp("^("+d.join("|")+")","i")} +// HELPERS +function oa(a){return pa(a)?366:365}function pa(a){return a%4===0&&a%100!==0||a%400===0}function qa(){return pa(this.year())}function ra(a,b,c,d,e,f,g){ +//can't just apply() to create a date: +//http://stackoverflow.com/questions/181348/instantiating-a-javascript-object-by-calling-prototype-constructor-apply +var h=new Date(a,b,c,d,e,f,g); +//the date constructor remaps years 0-99 to 1900-1999 +return 100>a&&a>=0&&isFinite(h.getFullYear())&&h.setFullYear(a),h}function sa(a){var b=new Date(Date.UTC.apply(null,arguments)); +//the Date.UTC function remaps years 0-99 to 1900-1999 +return 100>a&&a>=0&&isFinite(b.getUTCFullYear())&&b.setUTCFullYear(a),b} +// start-of-first-week - start-of-year +function ta(a,b,c){var// first-week day -- which january is always in the first week (4 for iso, 1 for other) +d=7+b-c, +// first-week day local weekday -- which local weekday is fwd +e=(7+sa(a,0,d).getUTCDay()-b)%7;return-e+d-1} +//http://en.wikipedia.org/wiki/ISO_week_date#Calculating_a_date_given_the_year.2C_week_number_and_weekday +function ua(a,b,c,d,e){var f,g,h=(7+c-d)%7,i=ta(a,d,e),j=1+7*(b-1)+h+i;return 0>=j?(f=a-1,g=oa(f)+j):j>oa(a)?(f=a+1,g=j-oa(a)):(f=a,g=j),{year:f,dayOfYear:g}}function va(a,b,c){var d,e,f=ta(a.year(),b,c),g=Math.floor((a.dayOfYear()-f-1)/7)+1;return 1>g?(e=a.year()-1,d=g+wa(e,b,c)):g>wa(a.year(),b,c)?(d=g-wa(a.year(),b,c),e=a.year()+1):(e=a.year(),d=g),{week:d,year:e}}function wa(a,b,c){var d=ta(a,b,c),e=ta(a+1,b,c);return(oa(a)-d+e)/7} +// HELPERS +// LOCALES +function xa(a){return va(a,this._week.dow,this._week.doy).week}function ya(){return this._week.dow}function za(){return this._week.doy} +// MOMENTS +function Aa(a){var b=this.localeData().week(this);return null==a?b:this.add(7*(a-b),"d")}function Ba(a){var b=va(this,1,4).week;return null==a?b:this.add(7*(a-b),"d")} +// HELPERS +function Ca(a,b){return"string"!=typeof a?a:isNaN(a)?(a=b.weekdaysParse(a),"number"==typeof a?a:null):parseInt(a,10)}function Da(a,b){return"string"==typeof a?b.weekdaysParse(a)%7||7:isNaN(a)?null:a}function Ea(a,b){return c(this._weekdays)?this._weekdays[a.day()]:this._weekdays[this._weekdays.isFormat.test(b)?"format":"standalone"][a.day()]}function Fa(a){return this._weekdaysShort[a.day()]}function Ga(a){return this._weekdaysMin[a.day()]}function Ha(a,b,c){var d,e,f,g=a.toLocaleLowerCase();if(!this._weekdaysParse)for(this._weekdaysParse=[],this._shortWeekdaysParse=[],this._minWeekdaysParse=[],d=0;7>d;++d)f=j([2e3,1]).day(d),this._minWeekdaysParse[d]=this.weekdaysMin(f,"").toLocaleLowerCase(),this._shortWeekdaysParse[d]=this.weekdaysShort(f,"").toLocaleLowerCase(),this._weekdaysParse[d]=this.weekdays(f,"").toLocaleLowerCase();return c?"dddd"===b?(e=sd.call(this._weekdaysParse,g),-1!==e?e:null):"ddd"===b?(e=sd.call(this._shortWeekdaysParse,g),-1!==e?e:null):(e=sd.call(this._minWeekdaysParse,g),-1!==e?e:null):"dddd"===b?(e=sd.call(this._weekdaysParse,g),-1!==e?e:(e=sd.call(this._shortWeekdaysParse,g),-1!==e?e:(e=sd.call(this._minWeekdaysParse,g),-1!==e?e:null))):"ddd"===b?(e=sd.call(this._shortWeekdaysParse,g),-1!==e?e:(e=sd.call(this._weekdaysParse,g),-1!==e?e:(e=sd.call(this._minWeekdaysParse,g),-1!==e?e:null))):(e=sd.call(this._minWeekdaysParse,g),-1!==e?e:(e=sd.call(this._weekdaysParse,g),-1!==e?e:(e=sd.call(this._shortWeekdaysParse,g),-1!==e?e:null)))}function Ia(a,b,c){var d,e,f;if(this._weekdaysParseExact)return Ha.call(this,a,b,c);for(this._weekdaysParse||(this._weekdaysParse=[],this._minWeekdaysParse=[],this._shortWeekdaysParse=[],this._fullWeekdaysParse=[]),d=0;7>d;d++){ +// test the regex +if(e=j([2e3,1]).day(d),c&&!this._fullWeekdaysParse[d]&&(this._fullWeekdaysParse[d]=new RegExp("^"+this.weekdays(e,"").replace(".",".?")+"$","i"),this._shortWeekdaysParse[d]=new RegExp("^"+this.weekdaysShort(e,"").replace(".",".?")+"$","i"),this._minWeekdaysParse[d]=new RegExp("^"+this.weekdaysMin(e,"").replace(".",".?")+"$","i")),this._weekdaysParse[d]||(f="^"+this.weekdays(e,"")+"|^"+this.weekdaysShort(e,"")+"|^"+this.weekdaysMin(e,""),this._weekdaysParse[d]=new RegExp(f.replace(".",""),"i")),c&&"dddd"===b&&this._fullWeekdaysParse[d].test(a))return d;if(c&&"ddd"===b&&this._shortWeekdaysParse[d].test(a))return d;if(c&&"dd"===b&&this._minWeekdaysParse[d].test(a))return d;if(!c&&this._weekdaysParse[d].test(a))return d}} +// MOMENTS +function Ja(a){if(!this.isValid())return null!=a?this:NaN;var b=this._isUTC?this._d.getUTCDay():this._d.getDay();return null!=a?(a=Ca(a,this.localeData()),this.add(a-b,"d")):b}function Ka(a){if(!this.isValid())return null!=a?this:NaN;var b=(this.day()+7-this.localeData()._week.dow)%7;return null==a?b:this.add(a-b,"d")}function La(a){if(!this.isValid())return null!=a?this:NaN; +// behaves the same as moment#day except +// as a getter, returns 7 instead of 0 (1-7 range instead of 0-6) +// as a setter, sunday should belong to the previous week. +if(null!=a){var b=Da(a,this.localeData());return this.day(this.day()%7?b:b-7)}return this.day()||7}function Ma(a){return this._weekdaysParseExact?(h(this,"_weekdaysRegex")||Pa.call(this),a?this._weekdaysStrictRegex:this._weekdaysRegex):(h(this,"_weekdaysRegex")||(this._weekdaysRegex=pe),this._weekdaysStrictRegex&&a?this._weekdaysStrictRegex:this._weekdaysRegex)}function Na(a){return this._weekdaysParseExact?(h(this,"_weekdaysRegex")||Pa.call(this),a?this._weekdaysShortStrictRegex:this._weekdaysShortRegex):(h(this,"_weekdaysShortRegex")||(this._weekdaysShortRegex=qe),this._weekdaysShortStrictRegex&&a?this._weekdaysShortStrictRegex:this._weekdaysShortRegex)}function Oa(a){return this._weekdaysParseExact?(h(this,"_weekdaysRegex")||Pa.call(this),a?this._weekdaysMinStrictRegex:this._weekdaysMinRegex):(h(this,"_weekdaysMinRegex")||(this._weekdaysMinRegex=re),this._weekdaysMinStrictRegex&&a?this._weekdaysMinStrictRegex:this._weekdaysMinRegex)}function Pa(){function a(a,b){return b.length-a.length}var b,c,d,e,f,g=[],h=[],i=[],k=[];for(b=0;7>b;b++)c=j([2e3,1]).day(b),d=this.weekdaysMin(c,""),e=this.weekdaysShort(c,""),f=this.weekdays(c,""),g.push(d),h.push(e),i.push(f),k.push(d),k.push(e),k.push(f);for( +// Sorting makes sure if one weekday (or abbr) is a prefix of another it +// will match the longer piece. +g.sort(a),h.sort(a),i.sort(a),k.sort(a),b=0;7>b;b++)h[b]=_(h[b]),i[b]=_(i[b]),k[b]=_(k[b]);this._weekdaysRegex=new RegExp("^("+k.join("|")+")","i"),this._weekdaysShortRegex=this._weekdaysRegex,this._weekdaysMinRegex=this._weekdaysRegex,this._weekdaysStrictRegex=new RegExp("^("+i.join("|")+")","i"),this._weekdaysShortStrictRegex=new RegExp("^("+h.join("|")+")","i"),this._weekdaysMinStrictRegex=new RegExp("^("+g.join("|")+")","i")} +// FORMATTING +function Qa(){return this.hours()%12||12}function Ra(){return this.hours()||24}function Sa(a,b){T(a,0,0,function(){return this.localeData().meridiem(this.hours(),this.minutes(),b)})} +// PARSING +function Ta(a,b){return b._meridiemParse} +// LOCALES +function Ua(a){ +// IE8 Quirks Mode & IE7 Standards Mode do not allow accessing strings like arrays +// Using charAt should be more compatible. +return"p"===(a+"").toLowerCase().charAt(0)}function Va(a,b,c){return a>11?c?"pm":"PM":c?"am":"AM"}function Wa(a){return a?a.toLowerCase().replace("_","-"):a} +// pick the locale from the array +// try ['en-au', 'en-gb'] as 'en-au', 'en-gb', 'en', as in move through the list trying each +// substring from most specific to least, but move to the next array item if it's a more specific variant than the current root +function Xa(a){for(var b,c,d,e,f=0;f0;){if(d=Ya(e.slice(0,b).join("-")))return d;if(c&&c.length>=b&&u(e,c,!0)>=b-1) +//the next array item is better than a shallower substring of this one +break;b--}f++}return null}function Ya(a){var b=null; +// TODO: Find a better way to register and load all the locales in Node +if(!we[a]&&"undefined"!=typeof module&&module&&module.exports)try{b=se._abbr,require("./locale/"+a), +// because defineLocale currently also sets the global locale, we +// want to undo that for lazy loaded locales +Za(b)}catch(c){}return we[a]} +// This function will load locale and then set the global locale. If +// no arguments are passed in, it will simply return the current global +// locale key. +function Za(a,b){var c; +// moment.duration._locale = moment._locale = data; +return a&&(c=o(b)?ab(a):$a(a,b),c&&(se=c)),se._abbr}function $a(a,b){if(null!==b){var c=ve; +// treat as if there is no base config +// backwards compat for now: also set the locale +return b.abbr=a,null!=we[a]?(x("defineLocaleOverride","use moment.updateLocale(localeName, config) to change an existing locale. moment.defineLocale(localeName, config) should only be used for creating a new locale See http://momentjs.com/guides/#/warnings/define-locale/ for more info."),c=we[a]._config):null!=b.parentLocale&&(null!=we[b.parentLocale]?c=we[b.parentLocale]._config:x("parentLocaleUndefined","specified parentLocale is not defined yet. See http://momentjs.com/guides/#/warnings/parent-locale/")),we[a]=new B(A(c,b)),Za(a),we[a]} +// useful for testing +return delete we[a],null}function _a(a,b){if(null!=b){var c,d=ve; +// MERGE +null!=we[a]&&(d=we[a]._config),b=A(d,b),c=new B(b),c.parentLocale=we[a],we[a]=c, +// backwards compat for now: also set the locale +Za(a)}else +// pass null for config to unupdate, useful for tests +null!=we[a]&&(null!=we[a].parentLocale?we[a]=we[a].parentLocale:null!=we[a]&&delete we[a]);return we[a]} +// returns locale data +function ab(a){var b;if(a&&a._locale&&a._locale._abbr&&(a=a._locale._abbr),!a)return se;if(!c(a)){if(b=Ya(a))return b;a=[a]}return Xa(a)}function bb(){return rd(we)}function cb(a){var b,c=a._a;return c&&-2===l(a).overflow&&(b=c[Zd]<0||c[Zd]>11?Zd:c[$d]<1||c[$d]>da(c[Yd],c[Zd])?$d:c[_d]<0||c[_d]>24||24===c[_d]&&(0!==c[ae]||0!==c[be]||0!==c[ce])?_d:c[ae]<0||c[ae]>59?ae:c[be]<0||c[be]>59?be:c[ce]<0||c[ce]>999?ce:-1,l(a)._overflowDayOfYear&&(Yd>b||b>$d)&&(b=$d),l(a)._overflowWeeks&&-1===b&&(b=de),l(a)._overflowWeekday&&-1===b&&(b=ee),l(a).overflow=b),a} +// date from iso format +function db(a){var b,c,d,e,f,g,h=a._i,i=xe.exec(h)||ye.exec(h);if(i){for(l(a).iso=!0,b=0,c=Ae.length;c>b;b++)if(Ae[b][1].exec(i[1])){e=Ae[b][0],d=Ae[b][2]!==!1;break}if(null==e)return void(a._isValid=!1);if(i[3]){for(b=0,c=Be.length;c>b;b++)if(Be[b][1].exec(i[3])){ +// match[2] should be 'T' or space +f=(i[2]||" ")+Be[b][0];break}if(null==f)return void(a._isValid=!1)}if(!d&&null!=f)return void(a._isValid=!1);if(i[4]){if(!ze.exec(i[4]))return void(a._isValid=!1);g="Z"}a._f=e+(f||"")+(g||""),jb(a)}else a._isValid=!1} +// date from iso format or fallback +function eb(b){var c=Ce.exec(b._i);return null!==c?void(b._d=new Date(+c[1])):(db(b),void(b._isValid===!1&&(delete b._isValid,a.createFromInputFallback(b))))} +// Pick the first defined of two or three arguments. +function fb(a,b,c){return null!=a?a:null!=b?b:c}function gb(b){ +// hooks is actually the exported moment object +var c=new Date(a.now());return b._useUTC?[c.getUTCFullYear(),c.getUTCMonth(),c.getUTCDate()]:[c.getFullYear(),c.getMonth(),c.getDate()]} +// convert an array to a date. +// the array should mirror the parameters below +// note: all values past the year are optional and will default to the lowest possible value. +// [year, month, day , hour, minute, second, millisecond] +function hb(a){var b,c,d,e,f=[];if(!a._d){ +// Default to current date. +// * if no year, month, day of month are given, default to today +// * if day of month is given, default month and year +// * if month is given, default only year +// * if year is given, don't default anything +for(d=gb(a),a._w&&null==a._a[$d]&&null==a._a[Zd]&&ib(a),a._dayOfYear&&(e=fb(a._a[Yd],d[Yd]),a._dayOfYear>oa(e)&&(l(a)._overflowDayOfYear=!0),c=sa(e,0,a._dayOfYear),a._a[Zd]=c.getUTCMonth(),a._a[$d]=c.getUTCDate()),b=0;3>b&&null==a._a[b];++b)a._a[b]=f[b]=d[b]; +// Zero out whatever was not defaulted, including time +for(;7>b;b++)a._a[b]=f[b]=null==a._a[b]?2===b?1:0:a._a[b]; +// Check for 24:00:00.000 +24===a._a[_d]&&0===a._a[ae]&&0===a._a[be]&&0===a._a[ce]&&(a._nextDay=!0,a._a[_d]=0),a._d=(a._useUTC?sa:ra).apply(null,f), +// Apply timezone offset from input. The actual utcOffset can be changed +// with parseZone. +null!=a._tzm&&a._d.setUTCMinutes(a._d.getUTCMinutes()-a._tzm),a._nextDay&&(a._a[_d]=24)}}function ib(a){var b,c,d,e,f,g,h,i;b=a._w,null!=b.GG||null!=b.W||null!=b.E?(f=1,g=4,c=fb(b.GG,a._a[Yd],va(rb(),1,4).year),d=fb(b.W,1),e=fb(b.E,1),(1>e||e>7)&&(i=!0)):(f=a._locale._week.dow,g=a._locale._week.doy,c=fb(b.gg,a._a[Yd],va(rb(),f,g).year),d=fb(b.w,1),null!=b.d?(e=b.d,(0>e||e>6)&&(i=!0)):null!=b.e?(e=b.e+f,(b.e<0||b.e>6)&&(i=!0)):e=f),1>d||d>wa(c,f,g)?l(a)._overflowWeeks=!0:null!=i?l(a)._overflowWeekday=!0:(h=ua(c,d,e,f,g),a._a[Yd]=h.year,a._dayOfYear=h.dayOfYear)} +// date from string and format string +function jb(b){ +// TODO: Move this to another part of the creation flow to prevent circular deps +if(b._f===a.ISO_8601)return void db(b);b._a=[],l(b).empty=!0; +// This array is used to make a Date, either with `new Date` or `Date.UTC` +var c,d,e,f,g,h=""+b._i,i=h.length,j=0;for(e=X(b._f,b._locale).match(Bd)||[],c=0;c0&&l(b).unusedInput.push(g),h=h.slice(h.indexOf(d)+d.length),j+=d.length),Ed[f]?(d?l(b).empty=!1:l(b).unusedTokens.push(f),ca(f,d,b)):b._strict&&!d&&l(b).unusedTokens.push(f); +// add remaining unparsed input length to the string +l(b).charsLeftOver=i-j,h.length>0&&l(b).unusedInput.push(h), +// clear _12h flag if hour is <= 12 +b._a[_d]<=12&&l(b).bigHour===!0&&b._a[_d]>0&&(l(b).bigHour=void 0),l(b).parsedDateParts=b._a.slice(0),l(b).meridiem=b._meridiem, +// handle meridiem +b._a[_d]=kb(b._locale,b._a[_d],b._meridiem),hb(b),cb(b)}function kb(a,b,c){var d; +// Fallback +return null==c?b:null!=a.meridiemHour?a.meridiemHour(b,c):null!=a.isPM?(d=a.isPM(c),d&&12>b&&(b+=12),d||12!==b||(b=0),b):b} +// date from string and array of format strings +function lb(a){var b,c,d,e,f;if(0===a._f.length)return l(a).invalidFormat=!0,void(a._d=new Date(NaN));for(e=0;ef)&&(d=f,c=b));i(a,c||b)}function mb(a){if(!a._d){var b=K(a._i);a._a=g([b.year,b.month,b.day||b.date,b.hour,b.minute,b.second,b.millisecond],function(a){return a&&parseInt(a,10)}),hb(a)}}function nb(a){var b=new q(cb(ob(a))); +// Adding is smart enough around DST +return b._nextDay&&(b.add(1,"d"),b._nextDay=void 0),b}function ob(a){var b=a._i,d=a._f;return a._locale=a._locale||ab(a._l),null===b||void 0===d&&""===b?n({nullInput:!0}):("string"==typeof b&&(a._i=b=a._locale.preparse(b)),r(b)?new q(cb(b)):(c(d)?lb(a):f(b)?a._d=b:d?jb(a):pb(a),m(a)||(a._d=null),a))}function pb(b){var d=b._i;void 0===d?b._d=new Date(a.now()):f(d)?b._d=new Date(d.valueOf()):"string"==typeof d?eb(b):c(d)?(b._a=g(d.slice(0),function(a){return parseInt(a,10)}),hb(b)):"object"==typeof d?mb(b):"number"==typeof d? +// from milliseconds +b._d=new Date(d):a.createFromInputFallback(b)}function qb(a,b,f,g,h){var i={}; +// object construction must be done this way. +// https://github.com/moment/moment/issues/1423 +return"boolean"==typeof f&&(g=f,f=void 0),(d(a)&&e(a)||c(a)&&0===a.length)&&(a=void 0),i._isAMomentObject=!0,i._useUTC=i._isUTC=h,i._l=f,i._i=a,i._f=b,i._strict=g,nb(i)}function rb(a,b,c,d){return qb(a,b,c,d,!1)} +// Pick a moment m from moments so that m[fn](other) is true for all +// other. This relies on the function fn to be transitive. +// +// moments should either be an array of moment objects or an array, whose +// first element is an array of moment objects. +function sb(a,b){var d,e;if(1===b.length&&c(b[0])&&(b=b[0]),!b.length)return rb();for(d=b[0],e=1;ea&&(a=-a,c="-"),c+S(~~(a/60),2)+b+S(~~a%60,2)})}function yb(a,b){var c=(b||"").match(a)||[],d=c[c.length-1]||[],e=(d+"").match(Ge)||["-",0,0],f=+(60*e[1])+t(e[2]);return"+"===e[0]?f:-f} +// Return a moment from input, that is local/utc/zone equivalent to model. +function zb(b,c){var d,e; +// Use low-level api, because this fn is low-level api. +return c._isUTC?(d=c.clone(),e=(r(b)||f(b)?b.valueOf():rb(b).valueOf())-d.valueOf(),d._d.setTime(d._d.valueOf()+e),a.updateOffset(d,!1),d):rb(b).local()}function Ab(a){ +// On Firefox.24 Date#getTimezoneOffset returns a floating point. +// https://github.com/moment/moment/pull/1871 +return 15*-Math.round(a._d.getTimezoneOffset()/15)} +// MOMENTS +// keepLocalTime = true means only change the timezone, without +// affecting the local hour. So 5:31:26 +0300 --[utcOffset(2, true)]--> +// 5:31:26 +0200 It is possible that 5:31:26 doesn't exist with offset +// +0200, so we adjust the time as needed, to be valid. +// +// Keeping the time actually adds/subtracts (one hour) +// from the actual represented time. That is why we call updateOffset +// a second time. In case it wants us to change the offset again +// _changeInProgress == true case, then we have to adjust, because +// there is no such time in the given timezone. +function Bb(b,c){var d,e=this._offset||0;return this.isValid()?null!=b?("string"==typeof b?b=yb(Td,b):Math.abs(b)<16&&(b=60*b),!this._isUTC&&c&&(d=Ab(this)),this._offset=b,this._isUTC=!0,null!=d&&this.add(d,"m"),e!==b&&(!c||this._changeInProgress?Sb(this,Mb(b-e,"m"),1,!1):this._changeInProgress||(this._changeInProgress=!0,a.updateOffset(this,!0),this._changeInProgress=null)),this):this._isUTC?e:Ab(this):null!=b?this:NaN}function Cb(a,b){return null!=a?("string"!=typeof a&&(a=-a),this.utcOffset(a,b),this):-this.utcOffset()}function Db(a){return this.utcOffset(0,a)}function Eb(a){return this._isUTC&&(this.utcOffset(0,a),this._isUTC=!1,a&&this.subtract(Ab(this),"m")),this}function Fb(){return this._tzm?this.utcOffset(this._tzm):"string"==typeof this._i&&this.utcOffset(yb(Sd,this._i)),this}function Gb(a){return this.isValid()?(a=a?rb(a).utcOffset():0,(this.utcOffset()-a)%60===0):!1}function Hb(){return this.utcOffset()>this.clone().month(0).utcOffset()||this.utcOffset()>this.clone().month(5).utcOffset()}function Ib(){if(!o(this._isDSTShifted))return this._isDSTShifted;var a={};if(p(a,this),a=ob(a),a._a){var b=a._isUTC?j(a._a):rb(a._a);this._isDSTShifted=this.isValid()&&u(a._a,b.toArray())>0}else this._isDSTShifted=!1;return this._isDSTShifted}function Jb(){return this.isValid()?!this._isUTC:!1}function Kb(){return this.isValid()?this._isUTC:!1}function Lb(){return this.isValid()?this._isUTC&&0===this._offset:!1}function Mb(a,b){var c,d,e,f=a, +// matching against regexp is expensive, do it on demand +g=null;// checks for null or undefined +return wb(a)?f={ms:a._milliseconds,d:a._days,M:a._months}:"number"==typeof a?(f={},b?f[b]=a:f.milliseconds=a):(g=He.exec(a))?(c="-"===g[1]?-1:1,f={y:0,d:t(g[$d])*c,h:t(g[_d])*c,m:t(g[ae])*c,s:t(g[be])*c,ms:t(g[ce])*c}):(g=Ie.exec(a))?(c="-"===g[1]?-1:1,f={y:Nb(g[2],c),M:Nb(g[3],c),w:Nb(g[4],c),d:Nb(g[5],c),h:Nb(g[6],c),m:Nb(g[7],c),s:Nb(g[8],c)}):null==f?f={}:"object"==typeof f&&("from"in f||"to"in f)&&(e=Pb(rb(f.from),rb(f.to)),f={},f.ms=e.milliseconds,f.M=e.months),d=new vb(f),wb(a)&&h(a,"_locale")&&(d._locale=a._locale),d}function Nb(a,b){ +// We'd normally use ~~inp for this, but unfortunately it also +// converts floats to ints. +// inp may be undefined, so careful calling replace on it. +var c=a&&parseFloat(a.replace(",",".")); +// apply sign while we're at it +return(isNaN(c)?0:c)*b}function Ob(a,b){var c={milliseconds:0,months:0};return c.months=b.month()-a.month()+12*(b.year()-a.year()),a.clone().add(c.months,"M").isAfter(b)&&--c.months,c.milliseconds=+b-+a.clone().add(c.months,"M"),c}function Pb(a,b){var c;return a.isValid()&&b.isValid()?(b=zb(b,a),a.isBefore(b)?c=Ob(a,b):(c=Ob(b,a),c.milliseconds=-c.milliseconds,c.months=-c.months),c):{milliseconds:0,months:0}}function Qb(a){return 0>a?-1*Math.round(-1*a):Math.round(a)} +// TODO: remove 'name' arg after deprecation is removed +function Rb(a,b){return function(c,d){var e,f; +//invert the arguments, but complain about it +return null===d||isNaN(+d)||(x(b,"moment()."+b+"(period, number) is deprecated. Please use moment()."+b+"(number, period). See http://momentjs.com/guides/#/warnings/add-inverted-param/ for more info."),f=c,c=d,d=f),c="string"==typeof c?+c:c,e=Mb(c,d),Sb(this,e,a),this}}function Sb(b,c,d,e){var f=c._milliseconds,g=Qb(c._days),h=Qb(c._months);b.isValid()&&(e=null==e?!0:e,f&&b._d.setTime(b._d.valueOf()+f*d),g&&P(b,"Date",O(b,"Date")+g*d),h&&ia(b,O(b,"Month")+h*d),e&&a.updateOffset(b,g||h))}function Tb(a,b){var c=a.diff(b,"days",!0);return-6>c?"sameElse":-1>c?"lastWeek":0>c?"lastDay":1>c?"sameDay":2>c?"nextDay":7>c?"nextWeek":"sameElse"}function Ub(b,c){ +// We want to compare the start of today, vs this. +// Getting start-of-today depends on whether we're local/utc/offset or not. +var d=b||rb(),e=zb(d,this).startOf("day"),f=a.calendarFormat(this,e)||"sameElse",g=c&&(y(c[f])?c[f].call(this,d):c[f]);return this.format(g||this.localeData().calendar(f,this,rb(d)))}function Vb(){return new q(this)}function Wb(a,b){var c=r(a)?a:rb(a);return this.isValid()&&c.isValid()?(b=J(o(b)?"millisecond":b),"millisecond"===b?this.valueOf()>c.valueOf():c.valueOf()b-f?(c=a.clone().add(e-1,"months"),d=(b-f)/(f-c)):(c=a.clone().add(e+1,"months"),d=(b-f)/(c-f)),-(e+d)||0}function cc(){return this.clone().locale("en").format("ddd MMM DD YYYY HH:mm:ss [GMT]ZZ")}function dc(){var a=this.clone().utc();return 0f&&(b=f),Dc.call(this,a,b,c,d,e))}function Dc(a,b,c,d,e){var f=ua(a,b,c,d,e),g=sa(f.year,0,f.dayOfYear);return this.year(g.getUTCFullYear()),this.month(g.getUTCMonth()),this.date(g.getUTCDate()),this} +// MOMENTS +function Ec(a){return null==a?Math.ceil((this.month()+1)/3):this.month(3*(a-1)+this.month()%3)} +// HELPERS +// MOMENTS +function Fc(a){var b=Math.round((this.clone().startOf("day")-this.clone().startOf("year"))/864e5)+1;return null==a?b:this.add(a-b,"d")}function Gc(a,b){b[ce]=t(1e3*("0."+a))} +// MOMENTS +function Hc(){return this._isUTC?"UTC":""}function Ic(){return this._isUTC?"Coordinated Universal Time":""}function Jc(a){return rb(1e3*a)}function Kc(){return rb.apply(null,arguments).parseZone()}function Lc(a){return a}function Mc(a,b,c,d){var e=ab(),f=j().set(d,b);return e[c](f,a)}function Nc(a,b,c){if("number"==typeof a&&(b=a,a=void 0),a=a||"",null!=b)return Mc(a,b,c,"month");var d,e=[];for(d=0;12>d;d++)e[d]=Mc(a,d,c,"month");return e} +// () +// (5) +// (fmt, 5) +// (fmt) +// (true) +// (true, 5) +// (true, fmt, 5) +// (true, fmt) +function Oc(a,b,c,d){"boolean"==typeof a?("number"==typeof b&&(c=b,b=void 0),b=b||""):(b=a,c=b,a=!1,"number"==typeof b&&(c=b,b=void 0),b=b||"");var e=ab(),f=a?e._week.dow:0;if(null!=c)return Mc(b,(c+f)%7,d,"day");var g,h=[];for(g=0;7>g;g++)h[g]=Mc(b,(g+f)%7,d,"day");return h}function Pc(a,b){return Nc(a,b,"months")}function Qc(a,b){return Nc(a,b,"monthsShort")}function Rc(a,b,c){return Oc(a,b,c,"weekdays")}function Sc(a,b,c){return Oc(a,b,c,"weekdaysShort")}function Tc(a,b,c){return Oc(a,b,c,"weekdaysMin")}function Uc(){var a=this._data;return this._milliseconds=Ue(this._milliseconds),this._days=Ue(this._days),this._months=Ue(this._months),a.milliseconds=Ue(a.milliseconds),a.seconds=Ue(a.seconds),a.minutes=Ue(a.minutes),a.hours=Ue(a.hours),a.months=Ue(a.months),a.years=Ue(a.years),this}function Vc(a,b,c,d){var e=Mb(b,c);return a._milliseconds+=d*e._milliseconds,a._days+=d*e._days,a._months+=d*e._months,a._bubble()} +// supports only 2.0-style add(1, 's') or add(duration) +function Wc(a,b){return Vc(this,a,b,1)} +// supports only 2.0-style subtract(1, 's') or subtract(duration) +function Xc(a,b){return Vc(this,a,b,-1)}function Yc(a){return 0>a?Math.floor(a):Math.ceil(a)}function Zc(){var a,b,c,d,e,f=this._milliseconds,g=this._days,h=this._months,i=this._data; +// if we have a mix of positive and negative values, bubble down first +// check: https://github.com/moment/moment/issues/2166 +// The following code bubbles up values, see the tests for +// examples of what that means. +// convert days to months +// 12 months -> 1 year +return f>=0&&g>=0&&h>=0||0>=f&&0>=g&&0>=h||(f+=864e5*Yc(_c(h)+g),g=0,h=0),i.milliseconds=f%1e3,a=s(f/1e3),i.seconds=a%60,b=s(a/60),i.minutes=b%60,c=s(b/60),i.hours=c%24,g+=s(c/24),e=s($c(g)),h+=e,g-=Yc(_c(e)),d=s(h/12),h%=12,i.days=g,i.months=h,i.years=d,this}function $c(a){ +// 400 years have 146097 days (taking into account leap year rules) +// 400 years have 12 months === 4800 +return 4800*a/146097}function _c(a){ +// the reverse of daysToMonths +return 146097*a/4800}function ad(a){var b,c,d=this._milliseconds;if(a=J(a),"month"===a||"year"===a)return b=this._days+d/864e5,c=this._months+$c(b),"month"===a?c:c/12;switch(b=this._days+Math.round(_c(this._months)),a){case"week":return b/7+d/6048e5;case"day":return b+d/864e5;case"hour":return 24*b+d/36e5;case"minute":return 1440*b+d/6e4;case"second":return 86400*b+d/1e3; +// Math.floor prevents floating point math errors here +case"millisecond":return Math.floor(864e5*b)+d;default:throw new Error("Unknown unit "+a)}} +// TODO: Use this.as('ms')? +function bd(){return this._milliseconds+864e5*this._days+this._months%12*2592e6+31536e6*t(this._months/12)}function cd(a){return function(){return this.as(a)}}function dd(a){return a=J(a),this[a+"s"]()}function ed(a){return function(){return this._data[a]}}function fd(){return s(this.days()/7)} +// helper function for moment.fn.from, moment.fn.fromNow, and moment.duration.fn.humanize +function gd(a,b,c,d,e){return e.relativeTime(b||1,!!c,a,d)}function hd(a,b,c){var d=Mb(a).abs(),e=jf(d.as("s")),f=jf(d.as("m")),g=jf(d.as("h")),h=jf(d.as("d")),i=jf(d.as("M")),j=jf(d.as("y")),k=e=f&&["m"]||f=g&&["h"]||g=h&&["d"]||h=i&&["M"]||i=j&&["y"]||["yy",j];return k[2]=b,k[3]=+a>0,k[4]=c,gd.apply(null,k)} +// This function allows you to set the rounding function for relative time strings +function id(a){return void 0===a?jf:"function"==typeof a?(jf=a,!0):!1} +// This function allows you to set a threshold for relative time strings +function jd(a,b){return void 0===kf[a]?!1:void 0===b?kf[a]:(kf[a]=b,!0)}function kd(a){var b=this.localeData(),c=hd(this,!a,b);return a&&(c=b.pastFuture(+this,c)),b.postformat(c)}function ld(){ +// for ISO strings we do not use the normal bubbling rules: +// * milliseconds bubble up until they become hours +// * days do not bubble at all +// * months bubble up until they become years +// This is because there is no context-free conversion between hours and days +// (think of clock changes) +// and also not between days and months (28-31 days per month) +var a,b,c,d=lf(this._milliseconds)/1e3,e=lf(this._days),f=lf(this._months);a=s(d/60),b=s(a/60),d%=60,a%=60,c=s(f/12),f%=12; +// inspired by https://github.com/dordille/moment-isoduration/blob/master/moment.isoduration.js +var g=c,h=f,i=e,j=b,k=a,l=d,m=this.asSeconds();return m?(0>m?"-":"")+"P"+(g?g+"Y":"")+(h?h+"M":"")+(i?i+"D":"")+(j||k||l?"T":"")+(j?j+"H":"")+(k?k+"M":"")+(l?l+"S":""):"P0D"}var md,nd;nd=Array.prototype.some?Array.prototype.some:function(a){for(var b=Object(this),c=b.length>>>0,d=0;c>d;d++)if(d in b&&a.call(this,b[d],d,b))return!0;return!1}; +// Plugins that add properties should also add the key here (null value), +// so we can properly clone ourselves. +var od=a.momentProperties=[],pd=!1,qd={};a.suppressDeprecationWarnings=!1,a.deprecationHandler=null;var rd;rd=Object.keys?Object.keys:function(a){var b,c=[];for(b in a)h(a,b)&&c.push(b);return c};var sd,td={sameDay:"[Today at] LT",nextDay:"[Tomorrow at] LT",nextWeek:"dddd [at] LT",lastDay:"[Yesterday at] LT",lastWeek:"[Last] dddd [at] LT",sameElse:"L"},ud={LTS:"h:mm:ss A",LT:"h:mm A",L:"MM/DD/YYYY",LL:"MMMM D, YYYY",LLL:"MMMM D, YYYY h:mm A",LLLL:"dddd, MMMM D, YYYY h:mm A"},vd="Invalid date",wd="%d",xd=/\d{1,2}/,yd={future:"in %s",past:"%s ago",s:"a few seconds",m:"a minute",mm:"%d minutes",h:"an hour",hh:"%d hours",d:"a day",dd:"%d days",M:"a month",MM:"%d months",y:"a year",yy:"%d years"},zd={},Ad={},Bd=/(\[[^\[]*\])|(\\)?([Hh]mm(ss)?|Mo|MM?M?M?|Do|DDDo|DD?D?D?|ddd?d?|do?|w[o|w]?|W[o|W]?|Qo?|YYYYYY|YYYYY|YYYY|YY|gg(ggg?)?|GG(GGG?)?|e|E|a|A|hh?|HH?|kk?|mm?|ss?|S{1,9}|x|X|zz?|ZZ?|.)/g,Cd=/(\[[^\[]*\])|(\\)?(LTS|LT|LL?L?L?|l{1,4})/g,Dd={},Ed={},Fd=/\d/,Gd=/\d\d/,Hd=/\d{3}/,Id=/\d{4}/,Jd=/[+-]?\d{6}/,Kd=/\d\d?/,Ld=/\d\d\d\d?/,Md=/\d\d\d\d\d\d?/,Nd=/\d{1,3}/,Od=/\d{1,4}/,Pd=/[+-]?\d{1,6}/,Qd=/\d+/,Rd=/[+-]?\d+/,Sd=/Z|[+-]\d\d:?\d\d/gi,Td=/Z|[+-]\d\d(?::?\d\d)?/gi,Ud=/[+-]?\d+(\.\d{1,3})?/,Vd=/[0-9]*['a-z\u00A0-\u05FF\u0700-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]+|[\u0600-\u06FF\/]+(\s*?[\u0600-\u06FF]+){1,2}/i,Wd={},Xd={},Yd=0,Zd=1,$d=2,_d=3,ae=4,be=5,ce=6,de=7,ee=8;sd=Array.prototype.indexOf?Array.prototype.indexOf:function(a){ +// I know +var b;for(b=0;b=a?""+a:"+"+a}),T(0,["YY",2],0,function(){return this.year()%100}),T(0,["YYYY",4],0,"year"),T(0,["YYYYY",5],0,"year"),T(0,["YYYYYY",6,!0],0,"year"), +// ALIASES +I("year","y"), +// PRIORITIES +L("year",1), +// PARSING +Y("Y",Rd),Y("YY",Kd,Gd),Y("YYYY",Od,Id),Y("YYYYY",Pd,Jd),Y("YYYYYY",Pd,Jd),aa(["YYYYY","YYYYYY"],Yd),aa("YYYY",function(b,c){c[Yd]=2===b.length?a.parseTwoDigitYear(b):t(b)}),aa("YY",function(b,c){c[Yd]=a.parseTwoDigitYear(b)}),aa("Y",function(a,b){b[Yd]=parseInt(a,10)}), +// HOOKS +a.parseTwoDigitYear=function(a){return t(a)+(t(a)>68?1900:2e3)}; +// MOMENTS +var ke=N("FullYear",!0); +// FORMATTING +T("w",["ww",2],"wo","week"),T("W",["WW",2],"Wo","isoWeek"), +// ALIASES +I("week","w"),I("isoWeek","W"), +// PRIORITIES +L("week",5),L("isoWeek",5), +// PARSING +Y("w",Kd),Y("ww",Kd,Gd),Y("W",Kd),Y("WW",Kd,Gd),ba(["w","ww","W","WW"],function(a,b,c,d){b[d.substr(0,1)]=t(a)});var le={dow:0,// Sunday is the first day of the week. +doy:6}; +// FORMATTING +T("d",0,"do","day"),T("dd",0,0,function(a){return this.localeData().weekdaysMin(this,a)}),T("ddd",0,0,function(a){return this.localeData().weekdaysShort(this,a)}),T("dddd",0,0,function(a){return this.localeData().weekdays(this,a)}),T("e",0,0,"weekday"),T("E",0,0,"isoWeekday"), +// ALIASES +I("day","d"),I("weekday","e"),I("isoWeekday","E"), +// PRIORITY +L("day",11),L("weekday",11),L("isoWeekday",11), +// PARSING +Y("d",Kd),Y("e",Kd),Y("E",Kd),Y("dd",function(a,b){return b.weekdaysMinRegex(a)}),Y("ddd",function(a,b){return b.weekdaysShortRegex(a)}),Y("dddd",function(a,b){return b.weekdaysRegex(a)}),ba(["dd","ddd","dddd"],function(a,b,c,d){var e=c._locale.weekdaysParse(a,d,c._strict); +// if we didn't get a weekday name, mark the date as invalid +null!=e?b.d=e:l(c).invalidWeekday=a}),ba(["d","e","E"],function(a,b,c,d){b[d]=t(a)}); +// LOCALES +var me="Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),ne="Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),oe="Su_Mo_Tu_We_Th_Fr_Sa".split("_"),pe=Vd,qe=Vd,re=Vd;T("H",["HH",2],0,"hour"),T("h",["hh",2],0,Qa),T("k",["kk",2],0,Ra),T("hmm",0,0,function(){return""+Qa.apply(this)+S(this.minutes(),2)}),T("hmmss",0,0,function(){return""+Qa.apply(this)+S(this.minutes(),2)+S(this.seconds(),2)}),T("Hmm",0,0,function(){return""+this.hours()+S(this.minutes(),2)}),T("Hmmss",0,0,function(){return""+this.hours()+S(this.minutes(),2)+S(this.seconds(),2)}),Sa("a",!0),Sa("A",!1), +// ALIASES +I("hour","h"), +// PRIORITY +L("hour",13),Y("a",Ta),Y("A",Ta),Y("H",Kd),Y("h",Kd),Y("HH",Kd,Gd),Y("hh",Kd,Gd),Y("hmm",Ld),Y("hmmss",Md),Y("Hmm",Ld),Y("Hmmss",Md),aa(["H","HH"],_d),aa(["a","A"],function(a,b,c){c._isPm=c._locale.isPM(a),c._meridiem=a}),aa(["h","hh"],function(a,b,c){b[_d]=t(a),l(c).bigHour=!0}),aa("hmm",function(a,b,c){var d=a.length-2;b[_d]=t(a.substr(0,d)),b[ae]=t(a.substr(d)),l(c).bigHour=!0}),aa("hmmss",function(a,b,c){var d=a.length-4,e=a.length-2;b[_d]=t(a.substr(0,d)),b[ae]=t(a.substr(d,2)),b[be]=t(a.substr(e)),l(c).bigHour=!0}),aa("Hmm",function(a,b,c){var d=a.length-2;b[_d]=t(a.substr(0,d)),b[ae]=t(a.substr(d))}),aa("Hmmss",function(a,b,c){var d=a.length-4,e=a.length-2;b[_d]=t(a.substr(0,d)),b[ae]=t(a.substr(d,2)),b[be]=t(a.substr(e))});var se,te=/[ap]\.?m?\.?/i,ue=N("Hours",!0),ve={calendar:td,longDateFormat:ud,invalidDate:vd,ordinal:wd,ordinalParse:xd,relativeTime:yd,months:ge,monthsShort:he,week:le,weekdays:me,weekdaysMin:oe,weekdaysShort:ne,meridiemParse:te},we={},xe=/^\s*((?:[+-]\d{6}|\d{4})-(?:\d\d-\d\d|W\d\d-\d|W\d\d|\d\d\d|\d\d))(?:(T| )(\d\d(?::\d\d(?::\d\d(?:[.,]\d+)?)?)?)([\+\-]\d\d(?::?\d\d)?|\s*Z)?)?/,ye=/^\s*((?:[+-]\d{6}|\d{4})(?:\d\d\d\d|W\d\d\d|W\d\d|\d\d\d|\d\d))(?:(T| )(\d\d(?:\d\d(?:\d\d(?:[.,]\d+)?)?)?)([\+\-]\d\d(?::?\d\d)?|\s*Z)?)?/,ze=/Z|[+-]\d\d(?::?\d\d)?/,Ae=[["YYYYYY-MM-DD",/[+-]\d{6}-\d\d-\d\d/],["YYYY-MM-DD",/\d{4}-\d\d-\d\d/],["GGGG-[W]WW-E",/\d{4}-W\d\d-\d/],["GGGG-[W]WW",/\d{4}-W\d\d/,!1],["YYYY-DDD",/\d{4}-\d{3}/],["YYYY-MM",/\d{4}-\d\d/,!1],["YYYYYYMMDD",/[+-]\d{10}/],["YYYYMMDD",/\d{8}/], +// YYYYMM is NOT allowed by the standard +["GGGG[W]WWE",/\d{4}W\d{3}/],["GGGG[W]WW",/\d{4}W\d{2}/,!1],["YYYYDDD",/\d{7}/]],Be=[["HH:mm:ss.SSSS",/\d\d:\d\d:\d\d\.\d+/],["HH:mm:ss,SSSS",/\d\d:\d\d:\d\d,\d+/],["HH:mm:ss",/\d\d:\d\d:\d\d/],["HH:mm",/\d\d:\d\d/],["HHmmss.SSSS",/\d\d\d\d\d\d\.\d+/],["HHmmss,SSSS",/\d\d\d\d\d\d,\d+/],["HHmmss",/\d\d\d\d\d\d/],["HHmm",/\d\d\d\d/],["HH",/\d\d/]],Ce=/^\/?Date\((\-?\d+)/i;a.createFromInputFallback=w("moment construction falls back to js Date. This is discouraged and will be removed in upcoming major release. Please refer to http://momentjs.com/guides/#/warnings/js-date/ for more info.",function(a){a._d=new Date(a._i+(a._useUTC?" UTC":""))}), +// constant that refers to the ISO standard +a.ISO_8601=function(){};var De=w("moment().min is deprecated, use moment.max instead. http://momentjs.com/guides/#/warnings/min-max/",function(){var a=rb.apply(null,arguments);return this.isValid()&&a.isValid()?this>a?this:a:n()}),Ee=w("moment().max is deprecated, use moment.min instead. http://momentjs.com/guides/#/warnings/min-max/",function(){var a=rb.apply(null,arguments);return this.isValid()&&a.isValid()?a>this?this:a:n()}),Fe=function(){return Date.now?Date.now():+new Date};xb("Z",":"),xb("ZZ",""), +// PARSING +Y("Z",Td),Y("ZZ",Td),aa(["Z","ZZ"],function(a,b,c){c._useUTC=!0,c._tzm=yb(Td,a)}); +// HELPERS +// timezone chunker +// '+10:00' > ['10', '00'] +// '-1530' > ['-15', '30'] +var Ge=/([\+\-]|\d\d)/gi; +// HOOKS +// This function will be called whenever a moment is mutated. +// It is intended to keep the offset in sync with the timezone. +a.updateOffset=function(){}; +// ASP.NET json date format regex +var He=/^(\-)?(?:(\d*)[. ])?(\d+)\:(\d+)(?:\:(\d+)\.?(\d{3})?\d*)?$/,Ie=/^(-)?P(?:(-?[0-9,.]*)Y)?(?:(-?[0-9,.]*)M)?(?:(-?[0-9,.]*)W)?(?:(-?[0-9,.]*)D)?(?:T(?:(-?[0-9,.]*)H)?(?:(-?[0-9,.]*)M)?(?:(-?[0-9,.]*)S)?)?$/;Mb.fn=vb.prototype;var Je=Rb(1,"add"),Ke=Rb(-1,"subtract");a.defaultFormat="YYYY-MM-DDTHH:mm:ssZ",a.defaultFormatUtc="YYYY-MM-DDTHH:mm:ss[Z]";var Le=w("moment().lang() is deprecated. Instead, use moment().localeData() to get the language configuration. Use moment().locale() to change languages.",function(a){return void 0===a?this.localeData():this.locale(a)}); +// FORMATTING +T(0,["gg",2],0,function(){return this.weekYear()%100}),T(0,["GG",2],0,function(){return this.isoWeekYear()%100}),xc("gggg","weekYear"),xc("ggggg","weekYear"),xc("GGGG","isoWeekYear"),xc("GGGGG","isoWeekYear"), +// ALIASES +I("weekYear","gg"),I("isoWeekYear","GG"), +// PRIORITY +L("weekYear",1),L("isoWeekYear",1), +// PARSING +Y("G",Rd),Y("g",Rd),Y("GG",Kd,Gd),Y("gg",Kd,Gd),Y("GGGG",Od,Id),Y("gggg",Od,Id),Y("GGGGG",Pd,Jd),Y("ggggg",Pd,Jd),ba(["gggg","ggggg","GGGG","GGGGG"],function(a,b,c,d){b[d.substr(0,2)]=t(a)}),ba(["gg","GG"],function(b,c,d,e){c[e]=a.parseTwoDigitYear(b)}), +// FORMATTING +T("Q",0,"Qo","quarter"), +// ALIASES +I("quarter","Q"), +// PRIORITY +L("quarter",7), +// PARSING +Y("Q",Fd),aa("Q",function(a,b){b[Zd]=3*(t(a)-1)}), +// FORMATTING +T("D",["DD",2],"Do","date"), +// ALIASES +I("date","D"), +// PRIOROITY +L("date",9), +// PARSING +Y("D",Kd),Y("DD",Kd,Gd),Y("Do",function(a,b){return a?b._ordinalParse:b._ordinalParseLenient}),aa(["D","DD"],$d),aa("Do",function(a,b){b[$d]=t(a.match(Kd)[0],10)}); +// MOMENTS +var Me=N("Date",!0); +// FORMATTING +T("DDD",["DDDD",3],"DDDo","dayOfYear"), +// ALIASES +I("dayOfYear","DDD"), +// PRIORITY +L("dayOfYear",4), +// PARSING +Y("DDD",Nd),Y("DDDD",Hd),aa(["DDD","DDDD"],function(a,b,c){c._dayOfYear=t(a)}), +// FORMATTING +T("m",["mm",2],0,"minute"), +// ALIASES +I("minute","m"), +// PRIORITY +L("minute",14), +// PARSING +Y("m",Kd),Y("mm",Kd,Gd),aa(["m","mm"],ae); +// MOMENTS +var Ne=N("Minutes",!1); +// FORMATTING +T("s",["ss",2],0,"second"), +// ALIASES +I("second","s"), +// PRIORITY +L("second",15), +// PARSING +Y("s",Kd),Y("ss",Kd,Gd),aa(["s","ss"],be); +// MOMENTS +var Oe=N("Seconds",!1); +// FORMATTING +T("S",0,0,function(){return~~(this.millisecond()/100)}),T(0,["SS",2],0,function(){return~~(this.millisecond()/10)}),T(0,["SSS",3],0,"millisecond"),T(0,["SSSS",4],0,function(){return 10*this.millisecond()}),T(0,["SSSSS",5],0,function(){return 100*this.millisecond()}),T(0,["SSSSSS",6],0,function(){return 1e3*this.millisecond()}),T(0,["SSSSSSS",7],0,function(){return 1e4*this.millisecond()}),T(0,["SSSSSSSS",8],0,function(){return 1e5*this.millisecond()}),T(0,["SSSSSSSSS",9],0,function(){return 1e6*this.millisecond()}), +// ALIASES +I("millisecond","ms"), +// PRIORITY +L("millisecond",16), +// PARSING +Y("S",Nd,Fd),Y("SS",Nd,Gd),Y("SSS",Nd,Hd);var Pe;for(Pe="SSSS";Pe.length<=9;Pe+="S")Y(Pe,Qd);for(Pe="S";Pe.length<=9;Pe+="S")aa(Pe,Gc); +// MOMENTS +var Qe=N("Milliseconds",!1); +// FORMATTING +T("z",0,0,"zoneAbbr"),T("zz",0,0,"zoneName");var Re=q.prototype;Re.add=Je,Re.calendar=Ub,Re.clone=Vb,Re.diff=ac,Re.endOf=mc,Re.format=ec,Re.from=fc,Re.fromNow=gc,Re.to=hc,Re.toNow=ic,Re.get=Q,Re.invalidAt=vc,Re.isAfter=Wb,Re.isBefore=Xb,Re.isBetween=Yb,Re.isSame=Zb,Re.isSameOrAfter=$b,Re.isSameOrBefore=_b,Re.isValid=tc,Re.lang=Le,Re.locale=jc,Re.localeData=kc,Re.max=Ee,Re.min=De,Re.parsingFlags=uc,Re.set=R,Re.startOf=lc,Re.subtract=Ke,Re.toArray=qc,Re.toObject=rc,Re.toDate=pc,Re.toISOString=dc,Re.toJSON=sc,Re.toString=cc,Re.unix=oc,Re.valueOf=nc,Re.creationData=wc, +// Year +Re.year=ke,Re.isLeapYear=qa, +// Week Year +Re.weekYear=yc,Re.isoWeekYear=zc, +// Quarter +Re.quarter=Re.quarters=Ec, +// Month +Re.month=ja,Re.daysInMonth=ka, +// Week +Re.week=Re.weeks=Aa,Re.isoWeek=Re.isoWeeks=Ba,Re.weeksInYear=Bc,Re.isoWeeksInYear=Ac, +// Day +Re.date=Me,Re.day=Re.days=Ja,Re.weekday=Ka,Re.isoWeekday=La,Re.dayOfYear=Fc, +// Hour +Re.hour=Re.hours=ue, +// Minute +Re.minute=Re.minutes=Ne, +// Second +Re.second=Re.seconds=Oe, +// Millisecond +Re.millisecond=Re.milliseconds=Qe, +// Offset +Re.utcOffset=Bb,Re.utc=Db,Re.local=Eb,Re.parseZone=Fb,Re.hasAlignedHourOffset=Gb,Re.isDST=Hb,Re.isLocal=Jb,Re.isUtcOffset=Kb,Re.isUtc=Lb,Re.isUTC=Lb, +// Timezone +Re.zoneAbbr=Hc,Re.zoneName=Ic, +// Deprecations +Re.dates=w("dates accessor is deprecated. Use date instead.",Me),Re.months=w("months accessor is deprecated. Use month instead",ja),Re.years=w("years accessor is deprecated. Use year instead",ke),Re.zone=w("moment().zone is deprecated, use moment().utcOffset instead. http://momentjs.com/guides/#/warnings/zone/",Cb),Re.isDSTShifted=w("isDSTShifted is deprecated. See http://momentjs.com/guides/#/warnings/dst-shifted/ for more information",Ib);var Se=Re,Te=B.prototype;Te.calendar=C,Te.longDateFormat=D,Te.invalidDate=E,Te.ordinal=F,Te.preparse=Lc,Te.postformat=Lc,Te.relativeTime=G,Te.pastFuture=H,Te.set=z, +// Month +Te.months=ea,Te.monthsShort=fa,Te.monthsParse=ha,Te.monthsRegex=ma,Te.monthsShortRegex=la, +// Week +Te.week=xa,Te.firstDayOfYear=za,Te.firstDayOfWeek=ya, +// Day of Week +Te.weekdays=Ea,Te.weekdaysMin=Ga,Te.weekdaysShort=Fa,Te.weekdaysParse=Ia,Te.weekdaysRegex=Ma,Te.weekdaysShortRegex=Na,Te.weekdaysMinRegex=Oa, +// Hours +Te.isPM=Ua,Te.meridiem=Va,Za("en",{ordinalParse:/\d{1,2}(th|st|nd|rd)/,ordinal:function(a){var b=a%10,c=1===t(a%100/10)?"th":1===b?"st":2===b?"nd":3===b?"rd":"th";return a+c}}), +// Side effect imports +a.lang=w("moment.lang is deprecated. Use moment.locale instead.",Za),a.langData=w("moment.langData is deprecated. Use moment.localeData instead.",ab);var Ue=Math.abs,Ve=cd("ms"),We=cd("s"),Xe=cd("m"),Ye=cd("h"),Ze=cd("d"),$e=cd("w"),_e=cd("M"),af=cd("y"),bf=ed("milliseconds"),cf=ed("seconds"),df=ed("minutes"),ef=ed("hours"),ff=ed("days"),gf=ed("months"),hf=ed("years"),jf=Math.round,kf={s:45,// seconds to minute +m:45,// minutes to hour +h:22,// hours to day +d:26,// days to month +M:11},lf=Math.abs,mf=vb.prototype;mf.abs=Uc,mf.add=Wc,mf.subtract=Xc,mf.as=ad,mf.asMilliseconds=Ve,mf.asSeconds=We,mf.asMinutes=Xe,mf.asHours=Ye,mf.asDays=Ze,mf.asWeeks=$e,mf.asMonths=_e,mf.asYears=af,mf.valueOf=bd,mf._bubble=Zc,mf.get=dd,mf.milliseconds=bf,mf.seconds=cf,mf.minutes=df,mf.hours=ef,mf.days=ff,mf.weeks=fd,mf.months=gf,mf.years=hf,mf.humanize=kd,mf.toISOString=ld,mf.toString=ld,mf.toJSON=ld,mf.locale=jc,mf.localeData=kc, +// Deprecations +mf.toIsoString=w("toIsoString() is deprecated. Please use toISOString() instead (notice the capitals)",ld),mf.lang=Le, +// Side effect imports +// FORMATTING +T("X",0,0,"unix"),T("x",0,0,"valueOf"), +// PARSING +Y("x",Rd),Y("X",Ud),aa("X",function(a,b,c){c._d=new Date(1e3*parseFloat(a,10))}),aa("x",function(a,b,c){c._d=new Date(t(a))}), +// Side effect imports +a.version="2.14.1",b(rb),a.fn=Se,a.min=tb,a.max=ub,a.now=Fe,a.utc=j,a.unix=Jc,a.months=Pc,a.isDate=f,a.locale=Za,a.invalid=n,a.duration=Mb,a.isMoment=r,a.weekdays=Rc,a.parseZone=Kc,a.localeData=ab,a.isDuration=wb,a.monthsShort=Qc,a.weekdaysMin=Tc,a.defineLocale=$a,a.updateLocale=_a,a.locales=bb,a.weekdaysShort=Sc,a.normalizeUnits=J,a.relativeTimeRounding=id,a.relativeTimeThreshold=jd,a.calendarFormat=Tb,a.prototype=Se;var nf=a;return nf}); \ No newline at end of file diff --git a/src/demo/manager/src/main/webapp/assets/js/moment/zh-cn.js b/src/demo/manager/src/main/webapp/assets/js/moment/zh-cn.js new file mode 100644 index 00000000..cee6160f --- /dev/null +++ b/src/demo/manager/src/main/webapp/assets/js/moment/zh-cn.js @@ -0,0 +1,127 @@ +//! moment.js locale configuration +//! locale : Chinese (China) [zh-cn] +//! author : suupic : https://github.com/suupic +//! author : Zeno Zeng : https://github.com/zenozeng + +;(function (global, factory) { + typeof exports === 'object' && typeof module !== 'undefined' + && typeof require === 'function' ? factory(require('../moment')) : + typeof define === 'function' && define.amd ? define(['../moment'], factory) : + factory(global.moment) +}(this, function (moment) { 'use strict'; + + + var zh_cn = moment.defineLocale('zh-cn', { + months : '一月_二月_三月_四月_五月_六月_七月_八月_九月_十月_十一月_十二月'.split('_'), + monthsShort : '1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月'.split('_'), + weekdays : '星期日_星期一_星期二_星期三_星期四_星期五_星期六'.split('_'), + weekdaysShort : '周日_周一_周二_周三_周四_周五_周六'.split('_'), + weekdaysMin : '日_一_二_三_四_五_六'.split('_'), + longDateFormat : { + LT : 'Ah点mm分', + LTS : 'Ah点m分s秒', + L : 'YYYY-MM-DD', + LL : 'YYYY年MMMD日', + LLL : 'YYYY年MMMD日Ah点mm分', + LLLL : 'YYYY年MMMD日ddddAh点mm分', + l : 'YYYY-MM-DD', + ll : 'YYYY年MMMD日', + lll : 'YYYY年MMMD日Ah点mm分', + llll : 'YYYY年MMMD日ddddAh点mm分' + }, + meridiemParse: /凌晨|早上|上午|中午|下午|晚上/, + meridiemHour: function (hour, meridiem) { + if (hour === 12) { + hour = 0; + } + if (meridiem === '凌晨' || meridiem === '早上' || + meridiem === '上午') { + return hour; + } else if (meridiem === '下午' || meridiem === '晚上') { + return hour + 12; + } else { + // '中午' + return hour >= 11 ? hour : hour + 12; + } + }, + meridiem : function (hour, minute, isLower) { + var hm = hour * 100 + minute; + if (hm < 600) { + return '凌晨'; + } else if (hm < 900) { + return '早上'; + } else if (hm < 1130) { + return '上午'; + } else if (hm < 1230) { + return '中午'; + } else if (hm < 1800) { + return '下午'; + } else { + return '晚上'; + } + }, + calendar : { + sameDay : function () { + return this.minutes() === 0 ? '[今天]Ah[点整]' : '[今天]LT'; + }, + nextDay : function () { + return this.minutes() === 0 ? '[明天]Ah[点整]' : '[明天]LT'; + }, + lastDay : function () { + return this.minutes() === 0 ? '[昨天]Ah[点整]' : '[昨天]LT'; + }, + nextWeek : function () { + var startOfWeek, prefix; + startOfWeek = moment().startOf('week'); + prefix = this.diff(startOfWeek, 'days') >= 7 ? '[下]' : '[本]'; + return this.minutes() === 0 ? prefix + 'dddAh点整' : prefix + 'dddAh点mm'; + }, + lastWeek : function () { + var startOfWeek, prefix; + startOfWeek = moment().startOf('week'); + prefix = this.unix() < startOfWeek.unix() ? '[上]' : '[本]'; + return this.minutes() === 0 ? prefix + 'dddAh点整' : prefix + 'dddAh点mm'; + }, + sameElse : 'LL' + }, + ordinalParse: /\d{1,2}(日|月|周)/, + ordinal : function (number, period) { + switch (period) { + case 'd': + case 'D': + case 'DDD': + return number + '日'; + case 'M': + return number + '月'; + case 'w': + case 'W': + return number + '周'; + default: + return number; + } + }, + relativeTime : { + future : '%s内', + past : '%s前', + s : '几秒', + m : '1 分钟', + mm : '%d 分钟', + h : '1 小时', + hh : '%d 小时', + d : '1 天', + dd : '%d 天', + M : '1 个月', + MM : '%d 个月', + y : '1 年', + yy : '%d 年' + }, + week : { + // GB/T 7408-1994《数据元和交换格式·信息交换·日期和时间表示法》与ISO 8601:1988等效 + dow : 1, // Monday is the first day of the week. + doy : 4 // The week that contains Jan 4th is the first week of the year. + } + }); + + return zh_cn; + +})); \ No newline at end of file diff --git a/src/demo/manager/src/main/webapp/assets/js/passport.common.js b/src/demo/manager/src/main/webapp/assets/js/passport.common.js new file mode 100644 index 00000000..dab13167 --- /dev/null +++ b/src/demo/manager/src/main/webapp/assets/js/passport.common.js @@ -0,0 +1,320 @@ +/* version 2.0 + * Author zhaoyinfan + * date 2014-04-30 +*/ +var hostUrl = document.location.host; +var urlArr = hostUrl.split('.'); +var domain = urlArr[1]+'.'+urlArr[2]; +var SF_STATIC_BASE_URL='http://i.'+domain+'/com'; +var SF_STATIC_HTML_URL='http://i.'+domain+'/html'; +var SF_PASSPORT_URL = 'http://passport.'+domain; +var SF_HOME_URL = 'http://home.'+domain; +var SF_WWW_URL = 'http://www.'+domain; +function reloadValidate(){ + var src = document.getElementById('validateIMG').getAttribute('src') + "?new=" + Math.random(1000); + document.getElementById('validateIMG').setAttribute('src', src); +} +String.prototype.getBytes = function() { + var cArr = this.match(/[^\x00-\xff]/ig); + return this.length + 2 * (cArr == null ? 0 : cArr.length); +} +function image_path(path, server_id){ + server_list = new Array(); + server_list[1] = 'http://p.'+domain; + if(!server_list[server_id]) return path; + return server_list[server_id] + path; +} +/* + * 遮罩层 +*/ +var Shade=new function(){ + var handle={}; + var shade; + handle.show=function(func){ + if(!shade){ + shade=document.createElement('div'); + shade.style.display = 'none'; + shade.style.zIndex = 2000; + shade.style.filter = 'alpha(opacity = 60)'; + shade.style.left = 0; + shade.style.width = '100%'; + shade.style.position = 'absolute'; + shade.style.top = 0; + shade.style.backgroundColor = '#666'; + shade.style.opacity = .6; + document.body.appendChild(shade); + } + with((document.compatMode=='CSS1Compat')?document.documentElement:document.body){ + var ch=clientHeight,sh=scrollHeight; + shade.style.height=(sh>ch?sh:ch)+'px'; + var cw = clientWidth,sw = scrollWidth, ow=offsetWidth; + var width = cw > sw ? cw : sw; + width = width > ow ? width : ow; + shade.style.width=width+'px'; + shade.style.display='block'; + } + if(func){ func(); } + }; + handle.hide=function(func){ + shade.style.display='none'; + if(func){ func(); } + }; + return handle; +} +function weblogin(userId,userType){ + var pageConfig = { + linkTrack :"link", + heatmap :"1" + }; + var wt = new webtrekkV3(pageConfig); + + wt.contentId = "WEB:登录流程:登录成功"; + wt.contentGroup = { + 1 :"WEB:登录流程",2 :"网站",3 :"登录成功" //如网站,登录类型为网站(意思是来源宜立方商城的注册用户)、QQ、新浪微博、腾讯微博、支付宝。 + }; + wt.customerId = userId;//用户 ID,该ID是跟CRM 用户打通的主键 + wt.customSessionParameter = { + 1 :"登录用户",//跟踪用户是登录产生 + 2 :userType //跟踪用户是个人用户还是企业用户,如“个人用户” + + }; + wt.sendinfo(); +} +/* + *弹出框 + */ +var Win = new function(){ + var handler = {}; + var win; + var closebtn; + handler.show = function(html, func, closebtn){ + Shade.show(); + if(!win){ + win = document.createElement('div'); + win.style.display = 'none'; + win.style.zIndex = 2011; + win.style.position = 'absolute'; + win.style.left = 0; + win.style.top = 0; + document.body.appendChild(win); + + if(closebtn){ + closebtn = document.createElement('div'); + closebtn.style.width = '11px'; + closebtn.style.height = '11px'; + closebtn.style.border = '1px solid #666'; + closebtn.style.position = 'absolute'; + closebtn.style.zIndex = 2011; + closebtn.style.fontSize = '10px'; + closebtn.style.color = '#333'; + closebtn.innerHTML = "×"; + document.body.appendChild(closebtn); + } + } + with((document.compatMode=='CSS1Compat')?document.documentElement:document.body){ + win.style.display = 'block'; + win.innerHTML = html; + var ch=clientHeight,sh=scrollHeight, oh=offsetHeight; + var height = ch; + var cw = clientWidth,sw = scrollWidth, ow=offsetWidth; + var width = cw < sw ? cw : sw; + + if (document.documentElement && document.documentElement.scrollTop) { + dh = document.documentElement.scrollTop; + dw = document.documentElement.scrollLeft; + }else if (document.body){ + dh = document.body.scrollTop; + dw = document.body.scrollLeft; + }else{ + dh = document.documentElement.scrollTop; + dw = document.documentElement.scrollLeft; + } + + win.style.left = (width - win.offsetWidth) / 2 + dw + 'px'; + win.style.top = (height - win.offsetHeight) / 2 + dh + 'px'; + + if(closebtn){ + closebtn.style.display = 'block'; + closebtn.style.left = (width -((width - win.offsetWidth) / 2 + dw)- 14) + 'px'; + closebtn.style.top = (height - win.offsetHeight) / 2 + dh + 'px'; + } + } + + if(func){ + func(); + } + } + + handler.iframe = function(title, url, func){ + var html = title + ""; + Win.show(html, func); + } + + handler.hide = function(func){ + win.style.display = 'none'; + if(closebtn) closebtn.style.display = 'none'; + Shade.hide(); + + if(func){ + func(); + } + } + + handler.resize = function(){ + + var iframename = 'winiframe'; + var FFextraHeight = 16; + var FFextraWidth = 16; + if(window.chrome) return; + var pTar = null; + if (document.getElementById){ + pTar = document.getElementById(iframename); + }else{ + eval('pTar = ' + iframename + ';'); + } + if (pTar && !window.opera){ + pTar.style.display="block" + + if (pTar.contentDocument && pTar.contentDocument.body.offsetHeight){ + //ns6 syntax + pTar.height = pTar.contentDocument.body.offsetHeight+FFextraHeight; + pTar.width = pTar.contentDocument.body.offsetWidth+FFextraWidth; + } + else if (pTar.Document && pTar.Document.body.scrollHeight){ + //ie5+ syntax + pTar.height = pTar.Document.body.scrollHeight; + pTar.width = pTar.Document.body.scrollWidth; + } + + if(win){ + win.width = win.width > pTar.width ? win.width : pTar.width; + win.height = win.height > pTar.height ? win.height : pTar.height; + + with((document.compatMode=='CSS1Compat')?document.documentElement:document.body){ + var ch=clientHeight,sh=scrollHeight; + var height=(sh sw ? cw : sw; + width = width > ow ? width : ow; + + win.style.left = (Math.floor((width - win.width) / 2) > 0 ? Math.floor((width - win.width) / 2) : 0) + 'px'; + win.style.top = (Math.floor((height - win.height) / 2) > 0 ? Math.floor((height - win.height) / 2) : 0) + 'px'; + + if(closebtn){ + closebtn.style.display = 'block'; + closebtn.style.left = (width -(Math.floor((width - win.width) / 2) > 0 ? Math.floor((width - win.width) / 2) : 0)- 14) + 'px'; + closebtn.style.top = (Math.floor((height - win.height) / 2) > 0 ? Math.floor((height - win.height) / 2) : 0) + 'px'; + } + } + } + } + } + return handler; +} + +Login = new function(){ + var handler = {}; + var login; + var functions; + handler.submit = function(functions){ + var uNameObj = $("#uName"); + var uPwdObj = $("#uPassword"); + var imgCodeId='logincode'; + var validate = document.getElementById(imgCodeId); + if(!jQuery) return; + var loginCkval = true; + var passportName = uNameObj.val(); + if( !passportName){ + $("#uNameErr").attr("class","error").html("请输入邮箱/验证手机/用户名").prev().attr("class","border-error"); + loginCkval=false; + }else{ + $("#uNameErr").attr("class","").html("").prev().attr("class","border"); + } + regex = /^\S{6,45}$/; + var passportPswd = uPwdObj.val(); + if(passportPswd.length <= 0){ + $("#pwdErr").attr("class","error").html("请输入登录密码").prev().attr("class","border-error"); + loginCkval=false; + }else if(!regex.test(passportPswd)){ + $("#pwdErr").attr("class","error").html("密码与用户名不匹配,请重新输入").prev().attr("class","border-error"); + loginCkval=false; + }else{ + $("#pwdErr").attr("class","").html("").prev().attr("class","border"); + } + var code_val = ""; + if(validate){ + var code_val = validate.value.replace(/\s/g,""); + if(code_val.length <= 0){ + $("#"+imgCodeId).css("border","1px solid #FA9600"); + $("#codeErr").attr("class","error1").html("请输入验证码"); + loginCkval=false; + }else if(code_val.length !=4){ + $("#"+imgCodeId).css("border","1px solid #FA9600"); + $("#codeErr").attr("class","error1").html("验证码错误"); + loginCkval=false; + }else{ + $("#"+imgCodeId).css("border","1px solid #CDCDCD"); + $("#codeErr").attr("class","").html(""); + } + } + if(loginCkval==false){ + return false; + } + $("#btn_sub").html(''); + $("#uNameErr").attr("class","").html(""); + $.post('/ajax/doLogin/', {"passportName":passportName, "passportPswd":passportPswd, "validate":code_val}, function(data){ + switch(data.types){ + case 1: + if(functions) functions(passportName);weblogin(data.userId,data.userType); + break; + case 2: + location.href = data.links; + weblogin(data.userId,data.userType); + break; + case -1: + $("#btn_sub").html(''); + var codeImg=document.getElementById('login_validateIMG'); + if (codeImg){ + document.getElementById('login_validateIMG').src += "?new=" + Math.random(); + $("#"+imgCodeId).val(''); + } + if(data.msg.indexOf("验证码")!=-1){ + $("#codeErr").attr("class","error1").html(data.msg); + $("#"+imgCodeId).css("border","1px solid #FA9600").val(''); + }else{ + $("#pwdErr").attr("class","error").html(data.msg).prev().attr("class","border-error"); + } + if( data.show==1){ + //显示验证码 + $('#shosCode').html(''+ + '看不清?点一下!'+ + '
                                                        看不清?换一换
                                                        '+ + '').show(); + } + break; + default: + $("#btn_sub").html(''); + //通用处理 + $('#login_validateIMG').src += "?new=" + Math.random(); + $("#"+imgCodeId).val(''); + $('#pwdErr').html('网络错误'); + break; + } + }, "json"); + } + + handler.checkOnLoad = function(func){ + if(!jQuery) return; + if(!func) return; + $.post('/ajax/checkLogin/', {}, function(data){ + if(data != 0){ func(data); } + }); + } + return handler; +} +var uplcode =function(id){ + if(document.getElementById(id)){ + document.getElementById(id).src += "?new=" + Math.random(); + } +} \ No newline at end of file diff --git a/src/demo/manager/src/main/webapp/assets/js/png.js b/src/demo/manager/src/main/webapp/assets/js/png.js new file mode 100644 index 00000000..73f14f09 --- /dev/null +++ b/src/demo/manager/src/main/webapp/assets/js/png.js @@ -0,0 +1,36 @@ +function correctPNG() // correctly handle PNG transparency in Win IE 5.5 & 6. +{ + var arVersion = navigator.appVersion.split("MSIE") + var version = parseFloat(arVersion[1]) + if ((version >= 5.5) && (document.body.filters)) + { + for(var j=0; j" + img.outerHTML = strNewHTML + j = j-1 + } + } + } +} +if (window.addEventListener) { + window.addEventListener('DOMContentLoaded', correctPNG, false); //firefox + window.addEventListener('load', correctPNG, false); +} else if (window.attachEvent) { + window.attachEvent('onload', correctPNG); //IE +} + diff --git a/src/demo/manager/src/main/webapp/assets/js/reg.js b/src/demo/manager/src/main/webapp/assets/js/reg.js new file mode 100644 index 00000000..f5c27687 --- /dev/null +++ b/src/demo/manager/src/main/webapp/assets/js/reg.js @@ -0,0 +1,990 @@ +/*Author: zhaoyinfan Date:2014-05-05 version 2.0*/ +var upcode =function(id,ls){ + if(document.getElementById(id)){ + document.getElementById(id).src += "?new=" + Math.random(); + $("#"+id).prev().attr("class",""); + $("#"+id).prev().prev().val(''); + } +} +var comMsg=function(msg){ + return GetLen(msg)>=38? ""+msg+"":""+msg+""; +} +var email2val =function(id,obj){ + document.getElementById(id).value=obj.innerHTML; + $("#person_mail").hide(); + $("#person_mail").html(''); + ckmem(); +} +//show error massage +var showError =function(inputid,errid,msg){ + $("#"+inputid).parent().attr("class","").addClass("regM errorBorder"); + $("#"+inputid).next().attr("class",""); + $("#"+errid).attr("class","reg_error").html(comMsg(msg)); +} +//show success massage +var showSuccess = function(inputid,errid,msg){ + $("#"+inputid).parent().attr("class","").addClass("regM defaultBorder"); + $("#"+inputid).next().attr("class","regOk"); + $("#"+errid).attr("class","").html(""); +} +var showRestore =function(inputid,errid){ + $("#"+inputid).parent().attr("class","").addClass("regM defaultBorder"); + $("#"+inputid).next().attr("class",""); + $("#"+errid).attr("class","").html(''); +} +/*----------------------个人注册JS------------------------------*/ +var showcodeDiv =function(num){ + var code_1 = ''+ + ''+ + ''+ + ''; + var code_2 =''+ + ''+ + '看不清?点一下!'+ + '看不清?换一换'+ + ''; + //if(num==1&& !$.trim( $("#yzcode_1").html() )){ + if(num==1){ + //$("#yzcode_2").html(code_1).show(); + } + if(num==2 ){ + $("#yzcode_2").html('').hide(); + $("#yzcode_3").show(); + } + if(num==3 && !$.trim( $("#yzcode_2").html() )){ + $("#yzcode_2").html(code_1).show() + $("#yzcode_3").show(); + + } +} + +var showtip =function(inputid,spanid,key){ + var ms = defaultArr[key]; + $("#"+inputid).parent().attr("class","").addClass("regM okBorder"); + $("#"+inputid).next().attr("class",""); + $("#"+spanid).attr("class","reg_error1").html(comMsg(ms)); + return ; +} +var showPwdtip =function(inputid,spanid,key){ + var ms = defaultArr[key]; + $("#"+inputid).parent().attr("class","").addClass("regM okBorder"); + $("#"+inputid).next().attr("class",""); + $("#"+spanid).attr("class","reg_error2").html(comMsg(ms)); + return ; +} +var showCodetip =function(inputid,spanid,key){ + var ms = defaultArr[key]; + $("#"+inputid).attr("class","").addClass("regCodeInput okBorder"); + $("#"+spanid).attr("class","reg_error1").html(comMsg(ms)); + return ; +} +var showCodeError =function(inputid,errid,msg){ + $("#"+inputid).attr("class","").addClass("regCodeInput errorBorder"); + $("#"+errid).attr("class","reg_error").html(comMsg(msg)); +} +var tsmail_Arr =Array(); +tsmail_Arr[0] = "qq.com"; +tsmail_Arr[1] = "163.com"; +tsmail_Arr[2] = "126.com"; +tsmail_Arr[3] = "189.cn"; +tsmail_Arr[4] = "sina.com"; +tsmail_Arr[5] = "hotmail.com"; +tsmail_Arr[6] = "gmail.com"; +var mail_div =function(e){ + var event = e ? e : window.event; + var keyCode = event.keyCode; + var vschool = $(".accountSearch"); + + if (keyCode == 40 || keyCode == 38 || keyCode == 13) { + var tipindex = $("#hnseli").val() == "" ? -1 : $("#hnseli").val(); + var fobj; + if (keyCode == 40) { + tipindex++; + if (tipindex == vschool.find("span").length) { + tipindex = 0; + vschool.find("span").eq(vschool.find("span").length - 1).css("background-color", ""); + } + fobj = vschool.find("span").eq(tipindex); + vschool.find("span").eq(tipindex - 1).css("background-color", ""); + fobj.css("background-color", "#E6E6E6"); + $("#userMam").val(fobj.html().replace(/<(\S*?)[^>]*>|<.*? \/>/g, "")); + $("#schoolid").val(fobj.attr("value")); + $("#hnseli").val(tipindex); + return; + } else if (keyCode == 38) { + tipindex--; + if (tipindex <= -1) { + tipindex = vschool.find("span").length - 1; + vschool.find("span").eq(0).css("background-color", ""); + } + vschool.find("span").eq(tipindex + 1).css("background-color", ""); + fobj = vschool.find("span").eq(tipindex); + fobj.css("background-color", "#E6E6E6"); + if (fobj.html() != null) { + $("#userMam").val(fobj.html().replace(/<(\S*?)[^>]*>|<.*? \/>/g, "")); + $("#schoolid").val(fobj.attr("value")); + } + $("#hnseli").val(tipindex); + return; + } else if (keyCode == 13) { + if ($("#userMam").val().length >= 1) { + var combinedValue = vschool.find("span").eq(tipindex).html(); + if (combinedValue != null) { + $("#userMam").val(combinedValue.replace(/<(\S*?)[^>]*>|<.*? \/>/g, "")); + } + vschool.hide(); + if ($("#schoolid").val() != "") { + $("#hnschool").val("1"); + $("#hnschool").attr("sta", 2); + $("#userMam").blur(); + } else { + $("#hnschool").val("-1"); + $("#hnschool").attr("sta", 0); + } + $("#hnseli").val(tipindex); + return; + } + } + } + + $("#person_mail").hide(); + var val = $.trim( $("#"+MailMId).val() ); + if(val==''){ return false; } + showcodeDiv(2); + var mLoArr = val.split('@'); + var mlogoNum = mLoArr.length-1; + var mailist=''; + + if(mlogoNum==1){ + //请输入您的常用邮箱 + showtip('userMam','userMamErr',1); + var rightMstr = mLoArr[1]; + var leftMstr = mLoArr[0]; + for(var i=0;i'+mail+''; + } + if(rightMstr==''){ + var mail = val + tsmail_Arr[i]; + mailist +=''+mail+''; + } + } + if(mailist){ + var html =mailist; + $("#person_mail").html(html).show(); + } + } + +} +//check mobile email +var mb; mb=0; +var ckmem =function(isCk){ + var val = $.trim( $("#"+MailMId).val() ); + $("#nameRegOk").val(""); + if(!isCk && !val){ + showRestore(MailMId,MailMErrId); + return false; + }/* + if(val==''){ + showError(MailMId,MailMErrId,memArr[0]); + $("#person_mail").hide().html(''); + return false; + }*/ + if( !mobile_preg(val) ){ + showError(MailMId,MailMErrId,memArr[1]); + $("#person_mail").hide().html(''); + return false; + } + var num_preg = /^[0-9]{1,}$/; + if( num_preg.test(val) ){ + showcodeDiv(1); + mb=1; + if( !mobile_preg(val) ){ + showError(MailMId,MailMErrId,memArr[1]); + $("#person_mail").hide().html(''); + return false; + } + $("#person_mail").hide().html(''); + //校验中 + $.ajaxSetup({async:false }); + var bol=false; + $("#"+MailMErrId).attr("class","").addClass("reg_error1").html(comMsg("检测中....")); + $.post("/ajax/verifmobile/",{"name":"userMobile","param":val},function(data){ + if(data!="y"){ + if(data.indexOf("请直接登录")>=0){ + var newData = comMsg(data).replace("请直接登录","请直接登录"); + if(data.indexOf("宜立方速运")>-1){ + newData = "该手机在宜立方速运已注册,请直接登录>找回密码>"; + } + $("#"+MailMId).parent().attr("class","").addClass("regM errorBorder").next().attr("class",""); + $("#"+MailMErrId).attr("class","reg_error").html(newData); + }else{ + showError(MailMId,MailMErrId,data); + } + return false; + } + $("#nameRegOk").val(1); + showSuccess(MailMId,MailMErrId,OkArr[0]); + bol=true; + }); + return bol; + } + /*else { + mb=0; + showcodeDiv(2); + if( !mail_preg(val) ){ + showError(MailMId,MailMErrId,memArr[2]); + $("#person_mail").hide().html(''); + return false; + } + $("#person_mail").hide().html(''); + $.ajaxSetup({async:false }); + $("#"+MailMErrId).attr("class","").addClass("reg_error1").html(comMsg("检测中....")); + var bol=false; + $.post("/ajax/verifemails/",{"name":"outemail","param":val},function(data){ + if(data!="y"){ + if(data.indexOf("请直接登录")>=0){ + var newData = comMsg(data).replace("请直接登录","请直接登录"); + if(data.indexOf("宜立方速运")>-1){ + newData = "该邮箱在宜立方速运已注册,请直接登录>找回密码>"; + } + $("#"+MailMId).parent().attr("class","").addClass("regM errorBorder").next().attr("class",""); + $("#"+MailMErrId).attr("class","reg_error").html(newData); + }else{ + showError(MailMId,MailMErrId,data); + } + return false; + } + $("#nameRegOk").val(1); + showSuccess(MailMId,MailMErrId,OkArr[0]); + bol=true; + }); + return bol; + }*/ +} +//密码强度显示 +var showStrong=function(errid,rankid,rank){ + var def ="安全程度:"; + var midstr=''; + if(parseInt(rank)==1){ + midstr =''; + $("#"+rankid).html(def+midstr); + $("#"+errid).attr("class","reg_error2").html(pwdArr[2]); + return; + } + if(parseInt(rank)==2){ + midstr =''; + } + if(parseInt(rank)==3){ + midstr =''; + } + $("#"+rankid).html(def+midstr); +} + +//check password +var ckpwd=function(isCk,keyup){ + var val =$.trim( $("#"+PwdId).val() ); + if(val.length<6&&keyup==1){ + showStrong(PwdErrId,pwdStrong,0); + showRestore(PwdId,PwdErrId); + return false; + } + if(!isCk && !val){ + showRestore(PwdId,PwdErrId); + return false; + } + if(val == ""){ + showError(PwdId,PwdErrId,pwdArr[0]); + return false; + }else if( pwdTotal(val) ==0){ + showError(PwdId,PwdErrId,pwdArr[3]); + return false; + }else if( pwdTotal(val) ==-1){ + showError(PwdId,PwdErrId,pwdArr[3]); + return false; + }else if( pwdTotal(val) <=50){ + $("#"+PwdId).parent().attr("class","").addClass("regM defaultBorder"); + $("#"+PwdId).next().attr("class","regOk"); + showStrong(PwdErrId,pwdStrong,1); + return 1; + }else if( pwdTotal(val)>51&&pwdTotal(val) <=60){ + showStrong(PwdErrId,pwdStrong,2); + showSuccess(PwdId,PwdErrId,OkArr[0]); + return 1; + }else if( pwdTotal(val)>60){ + showStrong(PwdErrId,pwdStrong,3); + showSuccess(PwdId,PwdErrId,OkArr[0]); + return 1; + } + return false; +} +// check password 2 +var ckpwd2=function(isCk){ + var val =$.trim( $("#"+PwdId).val() ); + var val2 =$.trim( $("#"+PwdId2).val() ); + if(!isCk && !val2){ + showRestore(PwdId2,PwdErrId2); + return false; + } + if(val2 == ''){ + showError(PwdId2,PwdErrId2,pwd2Arr[0]); + return false; + }else if(val2!= val){ + showError(PwdId2,PwdErrId2,pwd2Arr[1]); + return false; + } + showSuccess(PwdId2,PwdErrId2,OkArr[0]); + return 1; +} +var ckmcode=function(isCk,keyup){ + var mcode =clsTrim($.trim( $("#"+MobileCodeId).val() )); + if(mcode.length<6&&keyup==1){ + $("#"+MobileCodeId).next().attr("class",""); + return false; + } + if(!isCk && !mcode){ + $("#"+MobileCodeId).attr("class","").addClass("regCodeInput defaultBorder"); + $("#"+MobileCodeId).next().attr("class",""); + $("#"+MobileCodeErrId).attr("class","").html(""); + return false; + } + if(mcode==''){ + showCodeError(MobileCodeId,MobileCodeErrId,mcodeArr[0]); + return false; + } + var mobileNum = $.trim( $("#"+MailMId).val() ); + $.ajaxSetup({async:false }); + $("#"+MobileCodeErrId).attr("class","").addClass("reg_error1").html(comMsg("检测中....")); + var bol=false; + $.post("/ajax/VerifSmscode/",{"mobile":mobileNum,"param":mcode},function(data){ + if(data!='y'){ + $("#"+MobileCodeId).next().attr("class",""); + showCodeError(MobileCodeId,MobileCodeErrId,data); + return false; + } + $("#"+MobileCodeId).attr("class","regCodeInput defaultBorder").next().attr("class","regOk1").css("left","246px"); + $("#"+MobileCodeErrId).html("").attr("class",""); + bol=true; + }); + return bol; +} + +var ckcode =function(isCk,keyup){ + var Authcode =clsTrim($.trim( $("#"+pageCodeId).val() )); + if(Authcode.length<4&&keyup==1){ + $("#"+pageCodeId).attr("class","").addClass("regCodeInput defaultBorder").next().attr("class",""); + $("#"+pageCodeErrId).attr("class","").html(""); + return false; + } + if(!isCk && !Authcode ){ + $("#"+pageCodeId).attr("class","").addClass("regCodeInput defaultBorder"); + $("#"+pageCodeErrId).attr("class","").html(""); + return false; + } + if(Authcode==''){ + showCodeError(pageCodeId,pageCodeErrId,codeArr[0]); + return false; + }else if(Authcode.length!=4){ + upcode(codeimgid); + showCodeError(pageCodeId,pageCodeErrId,codeArr[1]); + return false; + } + $.ajaxSetup({async:false }); + $("#"+pageCodeErrId).attr("class","").addClass("reg_error1").html(comMsg("检测中....")); + var bol=false; + $.post("/reg/codes/",{"name":"auth_code","param":Authcode},function(data){ + if(data!='y'){ + showCodeError(pageCodeId,pageCodeErrId,data); + upcode(codeimgid); + return false; + }else{ + + if( mb==1 && $("#yzcode_2").css("display")=='none'){ + showcodeDiv(3); + $("#auth_code").val(Authcode); + } + $("#"+pageCodeId).attr("class","").addClass("regCodeInput defaultBorder").next().attr("class","regOk1"); + $("#"+pageCodeErrId).html("").attr("class",""); + bol=true; + + } + }); + return bol; +} + +var getmcode =function(){ + var mobileNum = $.trim( $("#"+MailMId).val() ); + var myzm=$("#auth_code").val(); //图片验证码 + var a1= $("#"+MailMErrId).html(); + if( !a1 ){ + $.post("/other/getsms/",{"mobile":mobileNum,'auth_code':myzm},function(data){ + if(data!='y'){ + upcode(codeimgid); + showCodeError(MobileCodeId,MobileCodeErrId,data); + return false; + } + if(data=='验证码不正确'){ + showCodeError(pageCodeId,pageCodeErrId,data); + upcode(codeimgid); + return false; + } + if(data=='y'){ + ctDown('send'); + $("#"+MobileCodeErrId).attr("class","reg_error1").html(comMsg("短信验证码已发送,请查收。"));return ; + } + }); + }else{ + showCodeError(MobileCodeId,MobileCodeErrId,comMsg(a1)); + } +} +var showDmtip=function(){ + $("#"+sfCodeId).attr("class","regInvitationInput okBorder floatleft"); + $("#"+sfCodeErrId).attr("class","reg_error1").html(comMsg("请输入优选单邀请码")); +} +var ckdmcode =function(isCk,keyup){ + var dmNum=clsTrim($.trim( $("#"+sfCodeId).val() )); + if(dmNum.length<6&&keyup==1){ + $("#"+sfCodeId).attr("class","regInvitationInput defaultBorder floatleft").next().attr("class",""); + $("#"+sfCodeErrId).attr("class","").html(""); + return false; + } + if(!isCk && !dmNum){ + $("#"+sfCodeId).attr("class","regInvitationInput defaultBorder floatleft"); + $("#"+sfCodeErrId).attr("class","").html(""); + } + if(dmNum){ + if( dmNum.length!=6 && dmNum.length!=12 && dmNum.length!=14 ){ + $("#"+sfCodeId).attr("class","regInvitationInput errorBorder floatleft"); + $("#"+sfCodeErrId).attr("class","reg_error").html(comMsg("邀请码错误")); + return false; + } + $.ajaxSetup({async:false }); + $("#"+sfCodeErrId).attr("class","").addClass("reg_error1").html(comMsg("检测中....")); + var bol=false; + $.post("/ajax/validatedm/",{"name":sfCodeId,"param":dmNum},function(data){ + if(data!="y"){ + $("#"+sfCodeId).attr("class","regInvitationInput errorBorder floatleft"); + $("#"+sfCodeErrId).attr("class","reg_error").html(comMsg(data)); + return false; + }else{ + $("#"+sfCodeId).next().attr("class","regOk1").css("left","243px"); + $("#"+sfCodeId).attr("class","regInvitationInput defaultBorder floatleft"); + $("#"+sfCodeErrId).html("").attr("class",""); + bol=true; + } + }); + return bol; + } +} +var ckAgree =function(){ + var Agreestat = document.getElementById(AgreementId).checked; + if(Agreestat==false){ + $("#"+AgreementErrId).attr("class","").addClass("reg_error").html( comMsg(agreeArr[0]) ); + return false; + } + $("#"+AgreementErrId).attr("class","").html(''); + return 1; +} +$("#"+pageCodeId).live("keyup",function(event){ + if (event.keyCode == 13) { + sub_data(); + } +}); +$("#"+MobileCodeId).live("keyup",function(event){ + if (event.keyCode == 13) { + sub_data(); + } +}); + +var sub_data =function(){ + var mem = $.trim( $("#"+MailMId).val() ); + var cknameval = $.trim( $("#nameRegOk").val() ); + var a1= cknameval==1?true:false; + var a2 = ckpwd(1); + var a3 = ckpwd2(1); + var a4 = false; + var tjuid=$("#tjuid").val(); + var a5 = ckAgree(1); + if(mobile_preg(mem)){ + var a41= ckmcode(1); + var a42=ckcode(1); + if(a41==true&&a42==true){ + var a4 = true; + }else{ + var a4 = false; + } + }else{ + var a4 =ckcode(1); + } + var a6 = true; + if($("#"+sfCodeId).val()){ + ckdmcode(1); + var a6 = !$("#"+sfCodeErrId).html()?true:false; + } + if(!a1|| a2==false ||a3==false||a4==false||a5==false||a6==false){ + return false; + } + $("#sub_per").html(''); + $.post("/register/Regperson/",$('#regForm_mod').serialize().replace(/\+/g,"")+"&tjuid="+tjuid,function(data){ + if(data=="y"){ + //跳转到注册成功页面 + $("#"+pageCodeId).attr("disabled", true); + $("#"+MobileCodeId).attr("disabled", true); + location.href="/reg/success/"; + return false; + } + if(data=="yy"){// 推荐 + $("#"+pageCodeId).attr("disabled", true); + $("#"+MobileCodeId).attr("disabled", true); + location.href="/recommend/?uid="+tjuid; + return false; + } + $("#sub_per").html('立即注册'); + $("#"+pageCodeId).attr("disabled", false); + $("#"+MobileCodeId).attr("disabled", false); + upcode(codeimgid); + jAlert('注册失败:' + data); + }); +} + +//$("#reg_per_data").live("click",function(){sub_data();}); +/*----------------------企业注册JS------------------------------*/ +var showcpyError =function(inputid,errid,msg){ + $("#"+inputid).parent().attr("class","regM errorBorder"); + $("#"+inputid).next().attr("class",""); + var msg_new =comMsg(msg); + $("#"+errid).attr("class","reg_error3 f-color").html(msg_new); +} +var showCodecpyError =function(inputid,errid,msg){ + $("#"+inputid).attr("class","regCodeInput errorBorder"); + $("#"+inputid).next().attr("class",""); + var msg_new = comMsg(msg); + $("#"+errid).attr("class","reg_error3 f-color").html(msg_new); +} +var showcpytip =function(inputid,spanid,key){ + var msg = cpyDefaultArr[key]; + $("#"+inputid).parent().attr("class","").addClass("regM okBorder"); + $("#"+inputid).next().attr("class",""); + var msg_new = comMsg(msg); + $("#"+spanid).attr("class","reg_error3").html(msg_new); + return ; +} +var showCodecpytip =function(inputid,spanid,key){ + var msg = cpyDefaultArr[key]; + $("#"+inputid).attr("class","").addClass("regCodeInput okBorder"); + var msg_new =comMsg(msg); + $("#"+spanid).attr("class","reg_error3").html(msg_new); + return ; +} + +var ckcpyname =function(isCk){ + var val = $.trim( $("#"+cpyUserNameId).val() ); + if(!isCk&&!val){ + showRestore(cpyUserNameId,cpyUserNameErrId); + return false; + } + if(val==''){ + showcpyError(cpyUserNameId,cpyUserNameErrId,cpyUserNameArr[0]); + return false; + }else if( val.match(/^(sf)/i) ){ + showcpyError(cpyUserNameId,cpyUserNameErrId,cpyUserNameArr[1]); + return false; + }else if( val.match(/^(tmall)/i) ){ + showcpyError(cpyUserNameId,cpyUserNameErrId,cpyUserNameArr[4]); + return false; + }else if( val.match(/^(jd)/i) ){ + showcpyError(cpyUserNameId,cpyUserNameErrId,cpyUserNameArr[5]); + return false; + }else if( val.match(/^[0-9]{1,}$/) ){ + showcpyError(cpyUserNameId,cpyUserNameErrId,cpyUserNameArr[2]); + return false; + }else if(GetLen(val)<4 || GetLen(val)>20){ + showcpyError(cpyUserNameId,cpyUserNameErrId,cpyUserNameArr[3]); + return false; + } + $.ajaxSetup({async:false }); + var bol=false; + $.post("/ajax/verifUsername/",{"name":"userName","param":val},function(data){ + if(data!="y"){ + if(data.indexOf("请直接登录")>=0){ + $("#"+cpyUserNameId).parent().attr("class","regM errorBorder").next().attr("class",""); + var msg_new =comMsg(data).replace("请直接登录","请直接登录"); + $("#"+cpyUserNameErrId).attr("class","reg_error3 f-color").html(msg_new); + }else{ + showcpyError(cpyUserNameId,cpyUserNameErrId,data); + } + return false; + } + showSuccess(cpyUserNameId,cpyUserNameErrId); + bol=true; + }); + return bol; +} + +var ckcpypwd =function(isCk){ + var val =$.trim( $("#"+cpyPwdId).val() ); + var pwd_p1 = /\s/; + var pwd_p2 = /^(.)\1+$/; + var pwd_p3 = /^[a-zA-Z]+$/; + var pwd_p4 = /^[0-9]+$/; + var pwd_p5 = /^[a-zA-Z0-9_]{6,20}$/; + if(!isCk&&!val){ + showRestore(cpyPwdId,cpyPwdIdErrId); + return false; + } + if(val == ""){ + showcpyError(cpyPwdId,cpyPwdIdErrId,cpyPwdArr[0]); + return false; + }else if(val.length<6 || val.length>20){ + showcpyError(cpyPwdId,cpyPwdIdErrId,cpyPwdArr[1]); + return false; + }else if( pwdTotal(val) ==0){ + showcpyError(cpyPwdId,cpyPwdIdErrId,cpyPwdArr[2]); + return false; + }else if( pwdTotal(val) ==-1){ + showcpyError(cpyPwdId,cpyPwdIdErrId,cpyPwdArr[2]); + return false; + } + showSuccess(cpyPwdId,cpyPwdIdErrId); + return 1; +} + +var ckcpypwd2 =function(isCk){ + var val =$.trim( $("#"+cpyPwdId).val() ); + var val2 =$.trim( $("#"+cpyPwd2Id).val() ); + if(!isCk&&!val2){ + showRestore(cpyPwd2Id,cpyPwd2ErrId); + return false; + } + if(val2 == ''){ + showcpyError(cpyPwd2Id,cpyPwd2ErrId,cpyPwd2Arr[0]); + return false; + }else if(val2!= val){ + showcpyError(cpyPwd2Id,cpyPwd2ErrId,cpyPwd2Arr[1]); + return false; + } + showSuccess(cpyPwd2Id,cpyPwd2ErrId); + return 1; +} + +var ckcpyrealName =function(isCk){ + var realName = $.trim( $("#"+cpyRealNameId).val() ); + if(!isCk&&!realName){ + showRestore(cpyRealNameId,cpyRealNameErrId); + return false; + } + if(realName==''){ + showcpyError(cpyRealNameId,cpyRealNameErrId,cpyRealNameArr[0]); + return false; + } + if ( GetLen(realName)<4 ||GetLen(realName)>20 ){ + showcpyError(cpyRealNameId,cpyRealNameErrId,cpyRealNameArr[1]); + return false; + } + showSuccess(cpyRealNameId,cpyRealNameErrId); + return 1; +} + +var ckcpytel =function(isCk){ + var telNum = $.trim( $("#"+cpyTelphoneId).val() ); + if(!isCk&&!telNum){ + showRestore(cpyTelphoneId,cpyTelphoneErrId); + return false; + } + if(telNum==''){ + showcpyError(cpyTelphoneId,cpyTelphoneErrId,cpyTelArr[0]); + return false; + } + if ( tel_preg(telNum)==false){ + showcpyError(cpyTelphoneId,cpyTelphoneErrId,cpyTelArr[1]); + return false; + } + showSuccess(cpyTelphoneId,cpyTelphoneErrId); + return 1; +} + +var ckcpymobile =function(){ + var cpymobile = $.trim( $("#"+cpyMobileId).val() ); + if(cpymobile==''){ + showRestore(cpyMobileId,cpyMobileErrId); + return false; + } + if ( cpymobile && mobile_preg(cpymobile)==false){ + showcpyError(cpyMobileId,cpyMobileErrId,cpyMobArr[0]); + return false; + } + $.ajaxSetup({async:false }); + var bol=false; + $.post("/ajax/verifmobile/",{"name":"userMobile","param":cpymobile},function(data){ + if(data!="y"){ + if(data.indexOf("请直接登录")>=0){ + $("#"+cpyMobileId).parent().attr("class","regM errorBorder").next().attr("class",""); + var msg_new =comMsg(data).replace("请直接登录","请直接登录"); + if(data.indexOf("宜立方速运")>-1){ + msg_new = comMsg("该手机在宜立方速运已注册,请直接登录>找回密码>"); + } + $("#"+cpyMobileErrId).attr("class","reg_error3 f-color").html(msg_new); + }else{ + showcpyError(cpyMobileId,cpyMobileErrId,data); + } + return false; + } + showSuccess(cpyMobileId,cpyMobileErrId); + bol=true; + }); + return bol; +} + +var ckcpymail =function(){ + var cpymail = $.trim( $("#"+cpyEmailId).val() ); + if(cpymail==''){ + showRestore(cpyEmailId,cpyEmailErrId); + return false; + } + if ( cpymail && mail_preg(cpymail)==false){ + showcpyError(cpyEmailId,cpyEmailErrId,cpyMaArr[0]); + return false; + } + $.ajaxSetup({async:false }); + var bol=false; + $.post("/ajax/verifemails/",{"name":"outemail","param":cpymail},function(data){ + if(data!="y"){ + if(data.indexOf("请直接登录")>=0){ + $("#"+cpyEmailId).parent().attr("class","regM errorBorder").next().attr("class",""); + var msg_new =comMsg(data).replace("请直接登录","请直接登录"); + if(data.indexOf("宜立方速运")>-1){ + msg_new = comMsg("该邮箱在宜立方速运已注册,请直接登录>找回密码>"); + } + $("#"+cpyEmailErrId).attr("class","reg_error3 f-color").html(msg_new); + }else{ + showcpyError(cpyEmailId,cpyEmailErrId,data); + } + return false; + } + showSuccess(cpyEmailId,cpyEmailErrId); + bol=true; + }); + return bol; +} + +//公司名 +var ckcpy_name =function(isCk){ + var val = $.trim( $("#"+cpyNameId).val() ); + if(!isCk&&!val){ + showRestore(cpyNameId,cpyNameErrId); + return false; + } + if(val==''){ + showcpyError(cpyNameId,cpyNameErrId,cpyNameArr[0]); + return false; + } + if(GetLen(val)<4||GetLen(val)>40){ + showcpyError(cpyNameId,cpyNameErrId,cpyNameArr[1]); + return false; + } + showSuccess(cpyNameId,cpyNameErrId); + return 1; +} + +//公司省获取市 +var ckcpy_province =function(isCk){ + var proId = $.trim( $("#"+cpyProvinceId).val() ); + if(!isCk&&!proId){ + showRestore(cpyAddressId,cpyAddressErrId); + return false; + } + if(proId==0){ + showcpyError(cpyAddressId,cpyAddressErrId,cpyAddressArr[0]); + return false; + } + var bol=false; + $.post("/reg/getcity/",{"cid":proId},function(data){ + if(data=='-1'){ + showcpyError(cpyAddressId,cpyAddressErrId,comArr[0]); + return false; + } + $("#"+cpyCitiesId).html(''+data); + showRestore(cpyAddressId,cpyAddressErrId); + bol=true; + }); + return bol; +} + +var ckcpy_cities =function(isCk){ + var proId = $.trim( $("#"+cpyCitiesId).val() ); + if(!isCk&&!proId){ + showRestore(cpyAddressId,cpyAddressErrId); + return false; + } + if(proId==0){ + showcpyError(cpyAddressId,cpyAddressErrId,cpyAddressArr[1]); + return false; + } + showRestore(cpyAddressId,cpyAddressErrId); + return false; +} + +//详细地址 +var ckcpy_address =function(isCk){ + var proId = $.trim( $("#"+cpyProvinceId).val() ); + var cityId = $.trim( $("#"+cpyCitiesId).val() ); + var val = $.trim( $("#"+cpyAddressId).val() ); + if(!isCk&&!val){ + showRestore(cpyAddressId,cpyAddressErrId); + return false; + } + if(proId==0){ + showcpyError(cpyAddressId,cpyAddressErrId,cpyAddressArr[0]); + return false; + } + if(cityId==0){ + showcpyError(cpyAddressId,cpyAddressErrId,cpyAddressArr[1]); + return false; + } + if(val==''){ + showcpyError(cpyAddressId,cpyAddressErrId,cpyAddressArr[2]); + return false; + } + if(GetLen(val)<4||GetLen(val)>50){ + showcpyError(cpyAddressId,cpyAddressErrId,cpyAddressArr[3]); + return false; + } + showSuccess(cpyAddressId,cpyAddressErrId); + return 1; +} + +//购买用途 +var ckcpy_buyuse =function(isCk){ + var str=document.getElementsByName("cpybuyuse[]"); + + var objarray=str.length; + var chestr=""; + for (i=0;i 0) ? this.window.innerWidth : this.screen.width; + if (width < 768) { + $('div.navbar-collapse').addClass('collapse'); + topOffset = 100; // 2-row-menu + } else { + $('div.navbar-collapse').removeClass('collapse'); + } + + height = ((this.window.innerHeight > 0) ? this.window.innerHeight : this.screen.height) - 1; + height = height - topOffset; + if (height < 1) height = 1; + if (height > topOffset) { + $("#page-wrapper").css("min-height", (height) + "px"); + } + }); + + var url = window.location; + var element = $('ul.nav a').filter(function() { + return this.href == url || url.href.indexOf(this.href) == 0; + }).addClass('active').parent().parent().addClass('in').parent(); + if (element.is('li')) { + element.addClass('active'); + } +}); diff --git a/src/demo/manager/src/main/webapp/assets/js/star-rating.js b/src/demo/manager/src/main/webapp/assets/js/star-rating.js new file mode 100644 index 00000000..0e4c3579 --- /dev/null +++ b/src/demo/manager/src/main/webapp/assets/js/star-rating.js @@ -0,0 +1,396 @@ +/*! + * @copyright © Kartik Visweswaran, Krajee.com, 2014 + * @version 2.5.0 + * + * A simple yet powerful JQuery star rating plugin that allows rendering + * fractional star ratings and supports Right to Left (RTL) input. + * + * For more JQuery plugins visit http://plugins.krajee.com + * For more Yii related demos visit http://demos.krajee.com + */ +(function ($) { + var DEFAULT_MIN = 0; + var DEFAULT_MAX = 5; + var DEFAULT_STEP = 0.5; + + var isEmpty = function (value, trim) { + return typeof value === 'undefined' || value === null || value === undefined || value == [] + || value === '' || trim && $.trim(value) === ''; + }; + + var validateAttr = function ($input, vattr, options) { + var chk = isEmpty($input.data(vattr)) ? $input.attr(vattr) : $input.data(vattr); + if (chk) { + return chk; + } + return options[vattr]; + }; + + var getDecimalPlaces = function (num) { + var match = ('' + num).match(/(?:\.(\d+))?(?:[eE]([+-]?\d+))?$/); + if (!match) { + return 0; + } + return Math.max(0, (match[1] ? match[1].length : 0) - (match[2] ? +match[2] : 0)); + }; + + var applyPrecision = function (val, precision) { + return parseFloat(val.toFixed(precision)); + }; + + // Rating public class definition + var Rating = function (element, options) { + this.$element = $(element); + this.init(options); + }; + + Rating.prototype = { + constructor: Rating, + _parseAttr: function (vattr, options) { + var self = this, $input = self.$element; + if ($input.attr('type') === 'range' || $input.attr('type') === 'number') { + var val = validateAttr($input, vattr, options); + var chk = DEFAULT_STEP; + if (vattr === 'min') { + chk = DEFAULT_MIN; + } + else if (vattr === 'max') { + chk = DEFAULT_MAX; + } + else if (vattr === 'step') { + chk = DEFAULT_STEP; + } + var final = isEmpty(val) ? chk : val; + return parseFloat(final); + } + return parseFloat(options[vattr]); + }, + /** + * Listens to events + */ + listen: function () { + var self = this; + self.$rating.on("click", function (e) { + if (!self.inactive) { + w = e.pageX - self.$rating.offset().left; + self.setStars(w); + self.$element.trigger('change'); + self.$element.trigger('rating.change', [self.$element.val(), self.$caption.html()]); + } + }); + self.$clear.on("click", function (e) { + if (!self.inactive) { + self.clear(); + } + }); + $(self.$element[0].form).on("reset", function (e) { + if (!self.inactive) { + self.reset(); + } + }); + }, + initSlider: function (options) { + var self = this; + if (isEmpty(self.$element.val())) { + self.$element.val(0); + } + self.initialValue = self.$element.val(); + self.min = (typeof options.min !== 'undefined') ? options.min : self._parseAttr('min', options); + self.max = (typeof options.max !== 'undefined') ? options.max : self._parseAttr('max', options); + self.step = (typeof options.step !== 'undefined') ? options.step : self._parseAttr('step', options); + if (isNaN(self.min) || isEmpty(self.min)) { + self.min = DEFAULT_MIN; + } + if (isNaN(self.max) || isEmpty(self.max)) { + self.max = DEFAULT_MAX; + } + if (isNaN(self.step) || isEmpty(self.step) || self.step == 0) { + self.step = DEFAULT_STEP; + } + self.diff = self.max - self.min; + }, + /** + * Initializes the plugin + */ + init: function (options) { + var self = this; + self.options = options; + self.initSlider(options); + self.checkDisabled(); + $element = self.$element; + self.containerClass = options.containerClass; + self.glyphicon = options.glyphicon; + var defaultStar = (self.glyphicon) ? '\ue006' : '\u2605'; + self.symbol = isEmpty(options.symbol) ? defaultStar : options.symbol; + self.rtl = options.rtl || self.$element.attr('dir'); + if (self.rtl) { + self.$element.attr('dir', 'rtl'); + } + self.showClear = options.showClear; + self.showCaption = options.showCaption; + self.size = options.size; + self.stars = options.stars; + self.defaultCaption = options.defaultCaption; + self.starCaptions = options.starCaptions; + self.starCaptionClasses = options.starCaptionClasses; + self.clearButton = options.clearButton; + self.clearButtonTitle = options.clearButtonTitle; + self.clearButtonBaseClass = !isEmpty(options.clearButtonBaseClass) ? options.clearButtonBaseClass : 'clear-rating'; + self.clearButtonActiveClass = !isEmpty(options.clearButtonActiveClass) ? options.clearButtonActiveClass : 'clear-rating-active'; + self.clearCaption = options.clearCaption; + self.clearCaptionClass = options.clearCaptionClass; + self.clearValue = options.clearValue; + self.$element.removeClass('form-control').addClass('form-control'); + self.$clearElement = isEmpty(options.clearElement) ? null : $(options.clearElement); + self.$captionElement = isEmpty(options.captionElement) ? null : $(options.captionElement); + if (typeof self.$rating == 'undefined' && typeof self.$container == 'undefined') { + self.$rating = $(document.createElement("div")).html('
                                                        '); + self.$container = $(document.createElement("div")); + self.$container.before(self.$rating); + self.$container.append(self.$rating); + self.$element.before(self.$container).appendTo(self.$rating); + } + self.$stars = self.$rating.find('.rating-stars'); + self.generateRating(); + self.$clear = !isEmpty(self.$clearElement) ? self.$clearElement : self.$container.find('.' + self.clearButtonBaseClass); + self.$caption = !isEmpty(self.$captionElement) ? self.$captionElement : self.$container.find(".caption"); + self.setStars(); + self.$element.hide(); + self.listen(); + if (self.showClear) { + self.$clear.attr({"class": self.getClearClass()}); + } + }, + checkDisabled: function () { + var self = this; + self.disabled = validateAttr(self.$element, 'disabled', self.options); + self.readonly = validateAttr(self.$element, 'readonly', self.options); + self.inactive = (self.disabled || self.readonly); + }, + getClearClass: function () { + return this.clearButtonBaseClass + ' ' + ((this.inactive) ? '' : this.clearButtonActiveClass); + }, + generateRating: function () { + var self = this, clear = self.renderClear(), caption = self.renderCaption(), + css = (self.rtl) ? 'rating-container-rtl' : 'rating-container', + stars = self.getStars(); + css += (self.glyphicon) ? ((self.symbol == '\ue006') ? ' rating-gly-star' : ' rating-gly') : ' rating-uni'; + self.$rating.attr('class', css); + self.$rating.attr('data-content', stars); + self.$stars.attr('data-content', stars); + var css = self.rtl ? 'star-rating-rtl' : 'star-rating'; + self.$container.attr('class', css + ' rating-' + self.size); + + if (self.inactive) { + self.$container.removeClass('rating-active').addClass('rating-disabled'); + } + else { + self.$container.removeClass('rating-disabled').addClass('rating-active'); + } + + if (typeof self.$caption == 'undefined' && typeof self.$clear == 'undefined') { + if (self.rtl) { + self.$container.prepend(caption).append(clear); + } + else { + self.$container.prepend(clear).append(caption); + } + } + if (!isEmpty(self.containerClass)) { + self.$container.removeClass(self.containerClass).addClass(self.containerClass); + } + }, + getStars: function () { + var self = this, numStars = self.stars, stars = ''; + for (var i = 1; i <= numStars; i++) { + stars += self.symbol; + } + return stars; + }, + renderClear: function () { + var self = this; + if (!self.showClear) { + return ''; + } + var css = self.getClearClass(); + if (!isEmpty(self.$clearElement)) { + self.$clearElement.removeClass(css).addClass(css).attr({"title": self.clearButtonTitle}); + self.$clearElement.html(self.clearButton); + return ''; + } + return '
                                                        ' + self.clearButton + '
                                                        '; + }, + renderCaption: function () { + var self = this, val = self.$element.val(); + if (!self.showCaption) { + return ''; + } + var html = self.fetchCaption(val); + if (!isEmpty(self.$captionElement)) { + self.$captionElement.removeClass('caption').addClass('caption').attr({"title": self.clearCaption}); + self.$captionElement.html(html); + return ''; + } + return '
                                                        ' + html + '
                                                        '; + }, + fetchCaption: function (rating) { + var self = this; + var val = parseFloat(rating); + var css = isEmpty(self.starCaptionClasses[val]) ? self.clearCaptionClass : self.starCaptionClasses[val]; + var cap = !isEmpty(self.starCaptions[val]) ? self.starCaptions[val] : self.defaultCaption.replace(/\{rating\}/g, val); + var caption = (val == self.clearValue) ? self.clearCaption : cap; + return '' + caption + ''; + }, + getValueFromPosition: function (pos) { + var self = this, precision = getDecimalPlaces(self.step), + percentage, val, maxWidth = self.$rating.width(); + percentage = (pos / maxWidth); + val = (self.min + Math.ceil(self.diff * percentage / self.step) * self.step); + if (val < self.min) { + val = self.min; + } + else if (val > self.max) { + val = self.max; + } + val = applyPrecision(parseFloat(val), precision); + if (self.rtl) { + val = self.max - val; + } + return val; + }, + setStars: function (pos) { + var self = this, min = self.min, max = self.max, step = self.step, + val = arguments.length ? self.getValueFromPosition(pos) : (isEmpty(self.$element.val()) ? 0 : self.$element.val()), + width = 0, maxWidth = self.$rating.width(), caption = self.fetchCaption(val); + width = (val - min) / max * 100; + if (self.rtl) { + width = 100 - width; + } + self.$element.val(val); + width += '%'; + self.$stars.css('width', width); + self.$caption.html(caption); + }, + clear: function () { + var self = this; + var title = '' + self.clearCaption + ''; + self.$stars.removeClass('rated'); + if (!self.inactive) { + self.$caption.html(title); + } + self.$element.val(self.clearValue); + self.setStars(); + self.$element.trigger('rating.clear'); + }, + reset: function () { + var self = this; + self.$element.val(self.initialValue); + self.setStars(); + self.$element.trigger('rating.reset'); + }, + update: function (val) { + if (arguments.length > 0) { + var self = this; + self.$element.val(val); + self.setStars(); + } + }, + refresh: function (options) { + var self = this; + if (arguments.length) { + var cap = ''; + self.init($.extend(self.options, options)); + if (self.showClear) { + self.$clear.show(); + } + else { + self.$clear.hide(); + } + if (self.showCaption) { + self.$caption.show(); + } + else { + self.$caption.hide(); + } + } + } + }; + + //Star rating plugin definition + $.fn.rating = function (option) { + var args = Array.apply(null, arguments); + args.shift(); + return this.each(function () { + var $this = $(this), + data = $this.data('rating'), + options = typeof option === 'object' && option; + + if (!data) { + $this.data('rating', (data = new Rating(this, $.extend({}, $.fn.rating.defaults, options, $(this).data())))); + } + + if (typeof option === 'string') { + data[option].apply(data, args); + } + }); + }; + + $.fn.rating.defaults = { + stars: 5, + glyphicon: true, + symbol: null, + disabled: false, + readonly: false, + rtl: false, + size: 'md', + showClear: true, + showCaption: true, + defaultCaption: '{rating} Stars', + starCaptions: { + 0.5: 'Half Star', + 1: 'One Star', + 1.5: 'One & Half Star', + 2: 'Two Stars', + 2.5: 'Two & Half Stars', + 3: 'Three Stars', + 3.5: 'Three & Half Stars', + 4: 'Four Stars', + 4.5: 'Four & Half Stars', + 5: 'Five Stars' + }, + starCaptionClasses: { + 0.5: 'label label-danger', + 1: 'label label-danger', + 1.5: 'label label-warning', + 2: 'label label-warning', + 2.5: 'label label-info', + 3: 'label label-info', + 3.5: 'label label-primary', + 4: 'label label-primary', + 4.5: 'label label-success', + 5: 'label label-success' + }, + clearButton: '', + clearButtonTitle: 'Clear', + clearButtonBaseClass: 'clear-rating', + clearButtonActiveClass: 'clear-rating-active', + clearCaption: 'Not Rated', + clearCaptionClass: 'label label-default', + clearValue: 0, + captionElement: null, + clearElement: null, + containerClass: null + }; + + /** + * Convert automatically number inputs with class 'rating' + * into the star rating control. + */ + + $(document).ready(function () { + var $input = $('input.rating'), count = Object.keys($input).length; + if (count > 0) { + $input.rating(); + } + }); +}(jQuery)); \ No newline at end of file diff --git a/src/demo/manager/src/main/webapp/assets/js/star-rating.min.js b/src/demo/manager/src/main/webapp/assets/js/star-rating.min.js new file mode 100644 index 00000000..44892257 --- /dev/null +++ b/src/demo/manager/src/main/webapp/assets/js/star-rating.min.js @@ -0,0 +1,10 @@ +/*! + * @copyright © Kartik Visweswaran, Krajee.com, 2014 + * @version 2.5.0 + * + * A simple yet powerful JQuery star rating plugin that allows rendering + * fractional star ratings and supports Right to Left (RTL) input. + * + * For more JQuery plugins visit http://plugins.krajee.com + * For more Yii related demos visit http://demos.krajee.com + */!function(t){var e=0,a=5,n=.5,r=function(e,a){return"undefined"==typeof e||null===e||void 0===e||e==[]||""===e||a&&""===t.trim(e)},l=function(t,e,a){var n=r(t.data(e))?t.attr(e):t.data(e);return n?n:a[e]},i=function(t){var e=(""+t).match(/(?:\.(\d+))?(?:[eE]([+-]?\d+))?$/);return e?Math.max(0,(e[1]?e[1].length:0)-(e[2]?+e[2]:0)):0},s=function(t,e){return parseFloat(t.toFixed(e))},o=function(e,a){this.$element=t(e),this.init(a)};o.prototype={constructor:o,_parseAttr:function(t,i){var s=this,o=s.$element;if("range"===o.attr("type")||"number"===o.attr("type")){var c=l(o,t,i),p=n;"min"===t?p=e:"max"===t?p=a:"step"===t&&(p=n);var u=r(c)?p:c;return parseFloat(u)}return parseFloat(i[t])},listen:function(){var e=this;e.$rating.on("click",function(t){e.inactive||(w=t.pageX-e.$rating.offset().left,e.setStars(w),e.$element.trigger("change"),e.$element.trigger("rating.change",[e.$element.val(),e.$caption.html()]))}),e.$clear.on("click",function(){e.inactive||e.clear()}),t(e.$element[0].form).on("reset",function(){e.inactive||e.reset()})},initSlider:function(t){var l=this;r(l.$element.val())&&l.$element.val(0),l.initialValue=l.$element.val(),l.min="undefined"!=typeof t.min?t.min:l._parseAttr("min",t),l.max="undefined"!=typeof t.max?t.max:l._parseAttr("max",t),l.step="undefined"!=typeof t.step?t.step:l._parseAttr("step",t),(isNaN(l.min)||r(l.min))&&(l.min=e),(isNaN(l.max)||r(l.max))&&(l.max=a),(isNaN(l.step)||r(l.step)||0==l.step)&&(l.step=n),l.diff=l.max-l.min},init:function(e){var a=this;a.options=e,a.initSlider(e),a.checkDisabled(),$element=a.$element,a.containerClass=e.containerClass,a.glyphicon=e.glyphicon;var n=a.glyphicon?"":"★";a.symbol=r(e.symbol)?n:e.symbol,a.rtl=e.rtl||a.$element.attr("dir"),a.rtl&&a.$element.attr("dir","rtl"),a.showClear=e.showClear,a.showCaption=e.showCaption,a.size=e.size,a.stars=e.stars,a.defaultCaption=e.defaultCaption,a.starCaptions=e.starCaptions,a.starCaptionClasses=e.starCaptionClasses,a.clearButton=e.clearButton,a.clearButtonTitle=e.clearButtonTitle,a.clearButtonBaseClass=r(e.clearButtonBaseClass)?"clear-rating":e.clearButtonBaseClass,a.clearButtonActiveClass=r(e.clearButtonActiveClass)?"clear-rating-active":e.clearButtonActiveClass,a.clearCaption=e.clearCaption,a.clearCaptionClass=e.clearCaptionClass,a.clearValue=e.clearValue,a.$element.removeClass("form-control").addClass("form-control"),a.$clearElement=r(e.clearElement)?null:t(e.clearElement),a.$captionElement=r(e.captionElement)?null:t(e.captionElement),"undefined"==typeof a.$rating&&"undefined"==typeof a.$container&&(a.$rating=t(document.createElement("div")).html('
                                                        '),a.$container=t(document.createElement("div")),a.$container.before(a.$rating),a.$container.append(a.$rating),a.$element.before(a.$container).appendTo(a.$rating)),a.$stars=a.$rating.find(".rating-stars"),a.generateRating(),a.$clear=r(a.$clearElement)?a.$container.find("."+a.clearButtonBaseClass):a.$clearElement,a.$caption=r(a.$captionElement)?a.$container.find(".caption"):a.$captionElement,a.setStars(),a.$element.hide(),a.listen(),a.showClear&&a.$clear.attr({"class":a.getClearClass()})},checkDisabled:function(){var t=this;t.disabled=l(t.$element,"disabled",t.options),t.readonly=l(t.$element,"readonly",t.options),t.inactive=t.disabled||t.readonly},getClearClass:function(){return this.clearButtonBaseClass+" "+(this.inactive?"":this.clearButtonActiveClass)},generateRating:function(){var t=this,e=t.renderClear(),a=t.renderCaption(),n=t.rtl?"rating-container-rtl":"rating-container",l=t.getStars();n+=t.glyphicon?""==t.symbol?" rating-gly-star":" rating-gly":" rating-uni",t.$rating.attr("class",n),t.$rating.attr("data-content",l),t.$stars.attr("data-content",l);var n=t.rtl?"star-rating-rtl":"star-rating";t.$container.attr("class",n+" rating-"+t.size),t.inactive?t.$container.removeClass("rating-active").addClass("rating-disabled"):t.$container.removeClass("rating-disabled").addClass("rating-active"),"undefined"==typeof t.$caption&&"undefined"==typeof t.$clear&&(t.rtl?t.$container.prepend(a).append(e):t.$container.prepend(e).append(a)),r(t.containerClass)||t.$container.removeClass(t.containerClass).addClass(t.containerClass)},getStars:function(){for(var t=this,e=t.stars,a="",n=1;e>=n;n++)a+=t.symbol;return a},renderClear:function(){var t=this;if(!t.showClear)return"";var e=t.getClearClass();return r(t.$clearElement)?'
                                                        '+t.clearButton+"
                                                        ":(t.$clearElement.removeClass(e).addClass(e).attr({title:t.clearButtonTitle}),t.$clearElement.html(t.clearButton),"")},renderCaption:function(){var t=this,e=t.$element.val();if(!t.showCaption)return"";var a=t.fetchCaption(e);return r(t.$captionElement)?'
                                                        '+a+"
                                                        ":(t.$captionElement.removeClass("caption").addClass("caption").attr({title:t.clearCaption}),t.$captionElement.html(a),"")},fetchCaption:function(t){var e=this,a=parseFloat(t),n=r(e.starCaptionClasses[a])?e.clearCaptionClass:e.starCaptionClasses[a],l=r(e.starCaptions[a])?e.defaultCaption.replace(/\{rating\}/g,a):e.starCaptions[a],i=a==e.clearValue?e.clearCaption:l;return''+i+""},getValueFromPosition:function(t){var e,a,n=this,r=i(n.step),l=n.$rating.width();return e=t/l,a=n.min+Math.ceil(n.diff*e/n.step)*n.step,an.max&&(a=n.max),a=s(parseFloat(a),r),n.rtl&&(a=n.max-a),a},setStars:function(t){var e=this,a=e.min,n=e.max,l=(e.step,arguments.length?e.getValueFromPosition(t):r(e.$element.val())?0:e.$element.val()),i=0,s=(e.$rating.width(),e.fetchCaption(l));i=(l-a)/n*100,e.rtl&&(i=100-i),e.$element.val(l),i+="%",e.$stars.css("width",i),e.$caption.html(s)},clear:function(){var t=this,e=''+t.clearCaption+"";t.$stars.removeClass("rated"),t.inactive||t.$caption.html(e),t.$element.val(t.clearValue),t.setStars(),t.$element.trigger("rating.clear")},reset:function(){var t=this;t.$element.val(t.initialValue),t.setStars(),t.$element.trigger("rating.reset")},update:function(t){if(arguments.length>0){var e=this;e.$element.val(t),e.setStars()}},refresh:function(e){var a=this;if(arguments.length){a.init(t.extend(a.options,e)),a.showClear?a.$clear.show():a.$clear.hide(),a.showCaption?a.$caption.show():a.$caption.hide()}}},t.fn.rating=function(e){var a=Array.apply(null,arguments);return a.shift(),this.each(function(){var n=t(this),r=n.data("rating"),l="object"==typeof e&&e;r||n.data("rating",r=new o(this,t.extend({},t.fn.rating.defaults,l,t(this).data()))),"string"==typeof e&&r[e].apply(r,a)})},t.fn.rating.defaults={stars:5,glyphicon:!0,symbol:null,disabled:!1,readonly:!1,rtl:!1,size:"md",showClear:!0,showCaption:!0,defaultCaption:"{rating} Stars",starCaptions:{.5:"Half Star",1:"One Star",1.5:"One & Half Star",2:"Two Stars",2.5:"Two & Half Stars",3:"Three Stars",3.5:"Three & Half Stars",4:"Four Stars",4.5:"Four & Half Stars",5:"Five Stars"},starCaptionClasses:{.5:"label label-danger",1:"label label-danger",1.5:"label label-warning",2:"label label-warning",2.5:"label label-info",3:"label label-info",3.5:"label label-primary",4:"label label-primary",4.5:"label label-success",5:"label label-success"},clearButton:'',clearButtonTitle:"Clear",clearButtonBaseClass:"clear-rating",clearButtonActiveClass:"clear-rating-active",clearCaption:"Not Rated",clearCaptionClass:"label label-default",clearValue:0,captionElement:null,clearElement:null,containerClass:null},t(document).ready(function(){var e=t("input.rating"),a=Object.keys(e).length;a>0&&e.rating()})}(jQuery); \ No newline at end of file diff --git a/src/demo/manager/src/main/webapp/assets/js/tableExport.js b/src/demo/manager/src/main/webapp/assets/js/tableExport.js new file mode 100644 index 00000000..75df5c79 --- /dev/null +++ b/src/demo/manager/src/main/webapp/assets/js/tableExport.js @@ -0,0 +1,1528 @@ +/** + * @preserve tableExport.jquery.plugin + * + * Copyright (c) 2015,2016 hhurz, https://github.com/hhurz/tableExport.jquery.plugin + * Original work Copyright (c) 2014 Giri Raj, https://github.com/kayalshri/ + * + * Licensed under the MIT License, http://opensource.org/licenses/mit-license + */ + +(function ($) { + $.fn.extend({ + tableExport: function (options) { + var defaults = { + consoleLog: false, + csvEnclosure: '"', + csvSeparator: ',', + csvUseBOM: true, + displayTableName: false, + escape: false, + excelstyles: [], // e.g. ['border-bottom', 'border-top', 'border-left', 'border-right'] + fileName: 'tableExport', + htmlContent: false, + ignoreColumn: [], + ignoreRow:[], + jsonScope: 'all', // head, data, all + jspdf: {orientation: 'p', + unit: 'pt', + format: 'a4', // jspdf page format or 'bestfit' for autmatic paper format selection + margins: {left: 20, right: 10, top: 10, bottom: 10}, + autotable: {styles: {cellPadding: 2, + rowHeight: 12, + fontSize: 8, + fillColor: 255, // color value or 'inherit' to use css background-color from html table + textColor: 50, // color value or 'inherit' to use css color from html table + fontStyle: 'normal', // normal, bold, italic, bolditalic or 'inherit' to use css font-weight and fonst-style from html table + overflow: 'ellipsize', // visible, hidden, ellipsize or linebreak + halign: 'left', // left, center, right + valign: 'middle' // top, middle, bottom + }, + headerStyles: {fillColor: [52, 73, 94], + textColor: 255, + fontStyle: 'bold', + halign: 'center' + }, + alternateRowStyles: {fillColor: 245 + }, + tableExport: {onAfterAutotable: null, + onBeforeAutotable: null, + onTable: null + } + } + }, + numbers: {html: {decimalMark: '.', + thousandsSeparator: ',' + }, + output: {decimalMark: '.', + thousandsSeparator: ',' + } + }, + onCellData: null, + onCellHtmlData: null, + outputMode: 'file', // 'file', 'string' or 'base64' + pdfmake: {enabled: false}, // true: use pdfmake instead of jspdf(-autotable) + tbodySelector: 'tr', + tfootSelector: 'tr', // set empty ('') to prevent export of tfoot rows + theadSelector: 'tr', + tableName: 'myTableName', + type: 'csv', // 'csv', 'txt', 'sql', 'json', 'xml', 'excel', 'doc', 'png' or 'pdf' + worksheetName: 'xlsWorksheetName' + }; + + var FONT_ROW_RATIO = 1.15; + var el = this; + var DownloadEvt = null; + var $hrows = []; + var $rows = []; + var rowIndex = 0; + var rowspans = []; + var trData = ''; + var colNames = []; + + $.extend(true, defaults, options); + + colNames = GetColumnNames (el); + + if (defaults.type == 'csv' || defaults.type == 'txt') { + + var csvData = ""; + var rowlength = 0; + rowIndex = 0; + + function CollectCsvData (tgroup, tselector, rowselector, length) { + + $rows = $(el).find(tgroup).first().find(tselector); + $rows.each(function () { + trData = ""; + ForEachVisibleCell(this, rowselector, rowIndex, length + $rows.length, + function (cell, row, col) { + trData += csvString(cell, row, col) + defaults.csvSeparator; + }); + trData = $.trim(trData).substring(0, trData.length - 1); + if (trData.length > 0) { + + if (csvData.length > 0) + csvData += "\n"; + + csvData += trData; + } + rowIndex++; + }); + + return $rows.length; + } + + rowlength += CollectCsvData ('thead', defaults.theadSelector, 'th,td', rowlength); + rowlength += CollectCsvData ('tbody', defaults.tbodySelector, 'td', rowlength); + if (defaults.tfootSelector.length) + CollectCsvData ('tfoot', defaults.tfootSelector, 'td', rowlength); + + csvData += "\n"; + + //output + if (defaults.consoleLog === true) + console.log(csvData); + + if (defaults.outputMode === 'string') + return csvData; + + if (defaults.outputMode === 'base64') + return base64encode(csvData); + + try { + var blob = new Blob([csvData], {type: "text/" + (defaults.type == 'csv' ? 'csv' : 'plain') + ";charset=utf-8"}); + saveAs(blob, defaults.fileName + '.' + defaults.type, (defaults.type != 'csv' || defaults.csvUseBOM === false)); + } + catch (e) { + downloadFile(defaults.fileName + '.' + defaults.type, + 'data:text/' + (defaults.type == 'csv' ? 'csv' : 'plain') + ';charset=utf-8,' + ((defaults.type == 'csv' && defaults.csvUseBOM)? '\ufeff' : ''), + csvData); + } + + } else if (defaults.type == 'sql') { + + // Header + rowIndex = 0; + var tdData = "INSERT INTO `" + defaults.tableName + "` ("; + $hrows = $(el).find('thead').first().find(defaults.theadSelector); + $hrows.each(function () { + ForEachVisibleCell(this, 'th,td', rowIndex, $hrows.length, + function (cell, row, col) { + tdData += "'" + parseString(cell, row, col) + "',"; + }); + rowIndex++; + tdData = $.trim(tdData); + tdData = $.trim(tdData).substring(0, tdData.length - 1); + }); + tdData += ") VALUES "; + // Row vs Column + $rows = $(el).find('tbody').first().find(defaults.tbodySelector); + if (defaults.tfootSelector.length) + $rows.push.apply ($rows, $(el).find('tfoot').find(defaults.tfootSelector)); + $rows.each(function () { + trData = ""; + ForEachVisibleCell(this, 'td', rowIndex, $hrows.length + $rows.length, + function (cell, row, col) { + trData += "'" + parseString(cell, row, col) + "',"; + }); + if (trData.length > 3) { + tdData += "(" + trData; + tdData = $.trim(tdData).substring(0, tdData.length - 1); + tdData += "),"; + } + rowIndex++; + }); + + tdData = $.trim(tdData).substring(0, tdData.length - 1); + tdData += ";"; + + //output + if (defaults.consoleLog === true) + console.log(tdData); + + if (defaults.outputMode === 'string') + return tdData; + + if (defaults.outputMode === 'base64') + return base64encode(tdData); + + try { + var blob = new Blob([tdData], {type: "text/plain;charset=utf-8"}); + saveAs(blob, defaults.fileName + '.sql'); + } + catch (e) { + downloadFile(defaults.fileName + '.sql', + 'data:application/sql;charset=utf-8,', + tdData); + } + + } else if (defaults.type == 'json') { + + var jsonHeaderArray = []; + $hrows = $(el).find('thead').first().find(defaults.theadSelector); + $hrows.each(function () { + var jsonArrayTd = []; + + ForEachVisibleCell(this, 'th,td', rowIndex, $hrows.length, + function (cell, row, col) { + jsonArrayTd.push(parseString(cell, row, col)); + }); + jsonHeaderArray.push(jsonArrayTd); + }); + + var jsonArray = []; + $rows = $(el).find('tbody').first().find(defaults.tbodySelector); + if (defaults.tfootSelector.length) + $rows.push.apply ($rows, $(el).find('tfoot').find(defaults.tfootSelector)); + $rows.each(function () { + var jsonObjectTd = {}; + + var colIndex = 0; + ForEachVisibleCell(this, 'td', rowIndex, $hrows.length + $rows.length, + function (cell, row, col) { + if (jsonHeaderArray.length) { + jsonObjectTd[jsonHeaderArray[jsonHeaderArray.length-1][colIndex]] = parseString(cell, row, col); + } else { + jsonObjectTd[colIndex] = parseString(cell, row, col); + } + colIndex++; + }); + if ($.isEmptyObject(jsonObjectTd) == false) + jsonArray.push(jsonObjectTd); + + rowIndex++; + }); + + var sdata = ""; + + if (defaults.jsonScope == 'head') + sdata = JSON.stringify(jsonHeaderArray); + else if (defaults.jsonScope == 'data') + sdata = JSON.stringify(jsonArray); + else // all + sdata = JSON.stringify({header: jsonHeaderArray, data: jsonArray}); + + if (defaults.consoleLog === true) + console.log(sdata); + + if (defaults.outputMode === 'string') + return sdata; + + if (defaults.outputMode === 'base64') + return base64encode(sdata); + + try { + var blob = new Blob([sdata], {type: "application/json;charset=utf-8"}); + saveAs(blob, defaults.fileName + '.json'); + } + catch (e) { + downloadFile(defaults.fileName + '.json', + 'data:application/json;charset=utf-8;base64,', + sdata); + } + + } else if (defaults.type === 'xml') { + + rowIndex = 0; + var xml = ''; + xml += ''; + + // Header + $hrows = $(el).find('thead').first().find(defaults.theadSelector); + $hrows.each(function () { + + ForEachVisibleCell(this, 'th,td', rowIndex, $rows.length, + function (cell, row, col) { + xml += "" + parseString(cell, row, col) + ""; + }); + rowIndex++; + }); + xml += ''; + + // Row Vs Column + var rowCount = 1; + $rows = $(el).find('tbody').first().find(defaults.tbodySelector); + if (defaults.tfootSelector.length) + $rows.push.apply ($rows, $(el).find('tfoot').find(defaults.tfootSelector)); + $rows.each(function () { + var colCount = 1; + trData = ""; + ForEachVisibleCell(this, 'td', rowIndex, $hrows.length + $rows.length, + function (cell, row, col) { + trData += "" + parseString(cell, row, col) + ""; + colCount++; + }); + if (trData.length > 0 && trData != "") { + xml += '' + trData + ''; + rowCount++; + } + + rowIndex++; + }); + xml += ''; + + //output + if (defaults.consoleLog === true) + console.log(xml); + + if (defaults.outputMode === 'string') + return xml; + + if (defaults.outputMode === 'base64') + return base64encode(xml); + + try { + var blob = new Blob([xml], {type: "application/xml;charset=utf-8"}); + saveAs(blob, defaults.fileName + '.xml'); + } + catch (e) { + downloadFile(defaults.fileName + '.xml', + 'data:application/xml;charset=utf-8;base64,', + xml); + } + + } else if (defaults.type == 'excel' || defaults.type == 'xls' || defaults.type == 'word' || defaults.type == 'doc') { + + var MSDocType = (defaults.type == 'excel' || defaults.type == 'xls') ? 'excel' : 'word'; + var MSDocExt = (MSDocType == 'excel') ? 'xls' : 'doc'; + var MSDocSchema = 'xmlns:x="urn:schemas-microsoft-com:office:' + MSDocType + '"'; + var $tables = $(el).filter(function() { + return $(this).data("tableexport-display") != 'none' && + ($(this).is(':visible') || + $(this).data("tableexport-display") == 'always'); + }); + var docData = ''; + + $tables.each(function(){ + rowIndex = 0; + + colNames = GetColumnNames (this); + + docData += ''; + // Header + $hrows = $(this).find('thead').first().find(defaults.theadSelector); + $hrows.each(function() { + trData = ""; + ForEachVisibleCell(this, 'th,td', rowIndex, $hrows.length, + function(cell, row, col) { + if (cell != null) { + var thstyle = ''; + trData += ''; + } + }); + if (trData.length > 0) + docData += '' + trData + ''; + rowIndex++; + }); + + docData += ''; + // Row Vs Column + $rows = $(this).find('tbody').first().find(defaults.tbodySelector); + if (defaults.tfootSelector.length) + $rows.push.apply ($rows, $(el).find('tfoot').find(defaults.tfootSelector)); + $rows.each(function() { + trData = ""; + ForEachVisibleCell(this, 'td', rowIndex, $hrows.length + $rows.length, + function(cell, row, col) { + if (cell != null) { + var tdstyle = ''; + var tdcss = $(cell).data("tableexport-msonumberformat"); + + if (typeof tdcss == 'undefined' && typeof defaults.onMsoNumberFormat === 'function') + tdcss = defaults.onMsoNumberFormat(cell, row, col); + + if (typeof tdcss != 'undefined' && tdcss != '') { + if (tdstyle == '') + tdstyle = 'style="'; + tdstyle = 'style="mso-number-format:\'' + tdcss + '\''; + } + + trData += ''; + } + }); + if (trData.length > 0) + docData += '' + trData + ''; + rowIndex++; + }); + + if (defaults.displayTableName) + docData += ''; + + docData += '
                                                        ' + parseString($('

                                                        ' + defaults.tableName + '

                                                        ')) + '
                                                        '; + + if (defaults.consoleLog === true) + console.log(docData); + }); + + var docFile = ''; + docFile += ''; + docFile += ""; + if (MSDocType === 'excel') { + docFile += ""; + } + docFile += ""; + docFile += ""; + docFile += docData; + docFile += ""; + docFile += ""; + + if (defaults.consoleLog === true) + console.log(docFile); + + if (defaults.outputMode === 'string') + return docFile; + + if (defaults.outputMode === 'base64') + return base64encode(docFile); + + try { + var blob = new Blob([docFile], {type: 'application/vnd.ms-' + defaults.type}); + saveAs(blob, defaults.fileName + '.' + MSDocExt); + } + catch (e) { + downloadFile(defaults.fileName + '.' + MSDocExt, + 'data:application/vnd.ms-' + MSDocType + ';base64,', + docFile); + } + + } else if (defaults.type == 'xlsx') { + + var data = []; + var ranges = []; + rowIndex = 0; + + $rows = $(el).find('thead').first().find(defaults.theadSelector); + $rows.push.apply ($rows, $(el).find('tbody').first().find(defaults.tbodySelector)); + if (defaults.tfootSelector.length) + $rows.push.apply ($rows, $(el).find('tfoot').find(defaults.tfootSelector)); + + $rows.each(function () { + var cols = []; + ForEachVisibleCell(this, 'th,td', rowIndex, $rows.length, + function (cell, row, col) { + if (typeof cell !== 'undefined' && cell != null) { + + var colspan = cell.getAttribute('colspan'); + var rowspan = cell.getAttribute('rowspan'); + + var cellValue = parseString(cell, row, col); + + if(cellValue !== "" && cellValue == +cellValue) cellValue = +cellValue; + + //Skip ranges + ranges.forEach(function(range) { + if(rowIndex >= range.s.r && rowIndex <= range.e.r && cols.length >= range.s.c && cols.length <= range.e.c) { + for(var i = 0; i <= range.e.c - range.s.c; ++i) cols.push(null); + } + }); + + //Handle Row Span + if (rowspan || colspan) { + rowspan = rowspan || 1; + colspan = colspan || 1; + ranges.push({s:{r:rowIndex, c:cols.length},e:{r:rowIndex+rowspan-1, c:cols.length+colspan-1}}); + }; + + //Handle Value + cols.push(cellValue !== "" ? cellValue : null); + + //Handle Colspan + if (colspan) for (var k = 0; k < colspan - 1; ++k) cols.push(null); + } + }); + data.push(cols); + rowIndex++; + }); + console.log(data); + + var wb = new jx_Workbook(), + ws = jx_createSheet(data); + + // add ranges to worksheet + ws['!merges'] = ranges; + + // add worksheet to workbook + wb.SheetNames.push(defaults.worksheetName); + wb.Sheets[defaults.worksheetName] = ws; + + var wbout = XLSX.write(wb, {bookType: defaults.type, bookSST: false, type: 'binary'}); + + try { + var blob = new Blob([jx_s2ab(wbout)], {type: 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet; charset=UTF-8'}); + saveAs(blob, defaults.fileName + '.' + defaults.type); + } + catch (e) { + downloadFile(defaults.fileName + '.' + defaults.type, + 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet; charset=UTF-8', + data); + } + + } else if (defaults.type == 'png') { + //html2canvas($(el)[0], { + // onrendered: function (canvas) { + html2canvas($(el)[0]).then( + function (canvas) { + + var image = canvas.toDataURL(); + image = image.substring(22); // remove data stuff + + var byteString = atob(image); + var buffer = new ArrayBuffer(byteString.length); + var intArray = new Uint8Array(buffer); + + for (var i = 0; i < byteString.length; i++) + intArray[i] = byteString.charCodeAt(i); + + if (defaults.consoleLog === true) + console.log(byteString); + + if (defaults.outputMode === 'string') + return byteString; + + if (defaults.outputMode === 'base64') + return base64encode(image); + + try { + var blob = new Blob([buffer], {type: "image/png"}); + saveAs(blob, defaults.fileName + '.png'); + } + catch (e) { + downloadFile(defaults.fileName + '.png', + 'data:image/png,', + image); + } + //} + }); + + } else if (defaults.type == 'pdf') { + + if (defaults.pdfmake.enabled === true) { + // pdf output using pdfmake + // https://github.com/bpampuch/pdfmake + + var widths = []; + var body = []; + rowIndex = 0; + + $hrows = $(this).find('thead').find(defaults.theadSelector); + $hrows.each(function () { + var h = []; + + ForEachVisibleCell(this, 'th,td', rowIndex, $hrows.length, + function (cell, row, col) { + h.push(parseString(cell, row, col)); + }); + + if (h.length) + body.push(h); + + for(var i = widths.length; i < h.length;i++) + widths.push("*"); + + rowIndex++; + }); + + $rows = $(this).find('tbody').find(defaults.tbodySelector); + if (defaults.tfootSelector.length) + $rows.push.apply ($rows, $(el).find('tfoot').find(defaults.tfootSelector)); + + $rows.each(function () { + var r = []; + + ForEachVisibleCell(this, 'td', rowIndex, $hrows.length + $rows.length, + function (cell, row, col) { + r.push(parseString(cell, row, col)); + }); + + if (r.length) + body.push(r); + rowIndex++; + }); + + var docDefinition = { + pageOrientation: 'landscape', + content: [ + { + table: { + headerRows: $hrows.length, + widths: widths, + body: body + } + } + ] + }; + pdfMake.createPdf(docDefinition).getBuffer(function (buffer) { + + try { + var blob = new Blob([buffer], {type: "application/pdf"}); + saveAs(blob, defaults.fileName + '.pdf'); + } + catch (e) { + downloadFile(defaults.fileName + '.pdf', + 'data:application/pdf;base64,', + buffer); + } + }); + + } + else if (defaults.jspdf.autotable === false) { + // pdf output using jsPDF's core html support + + var addHtmlOptions = { + dim: { + w: getPropertyUnitValue($(el).first().get(0), 'width', 'mm'), + h: getPropertyUnitValue($(el).first().get(0), 'height', 'mm') + }, + pagesplit: false + }; + + var doc = new jsPDF(defaults.jspdf.orientation, defaults.jspdf.unit, defaults.jspdf.format); + doc.addHTML($(el).first(), + defaults.jspdf.margins.left, + defaults.jspdf.margins.top, + addHtmlOptions, + function () { + jsPdfOutput(doc); + }); + //delete doc; + } + else { + // pdf output using jsPDF AutoTable plugin + // https://github.com/simonbengtsson/jsPDF-AutoTable + + var teOptions = defaults.jspdf.autotable.tableExport; + + // When setting jspdf.format to 'bestfit' tableExport tries to choose + // the minimum required paper format and orientation in which the table + // (or tables in multitable mode) completely fits without column adjustment + if (typeof defaults.jspdf.format === 'string' && defaults.jspdf.format.toLowerCase() === 'bestfit') { + var pageFormats = { + 'a0': [2383.94, 3370.39], 'a1': [1683.78, 2383.94], + 'a2': [1190.55, 1683.78], 'a3': [841.89, 1190.55], + 'a4': [595.28, 841.89] + }; + var rk = '', ro = ''; + var mw = 0; + + $(el).filter(':visible').each(function () { + if ($(this).css('display') != 'none') { + var w = getPropertyUnitValue($(this).get(0), 'width', 'pt'); + + if (w > mw) { + if (w > pageFormats['a0'][0]) { + rk = 'a0'; + ro = 'l'; + } + for (var key in pageFormats) { + if (pageFormats.hasOwnProperty(key)) { + if (pageFormats[key][1] > w) { + rk = key; + ro = 'l'; + if (pageFormats[key][0] > w) + ro = 'p'; + } + } + } + mw = w; + } + } + }); + defaults.jspdf.format = (rk == '' ? 'a4' : rk); + defaults.jspdf.orientation = (ro == '' ? 'w' : ro); + } + + // The jsPDF doc object is stored in defaults.jspdf.autotable.tableExport, + // thus it can be accessed from any callback function + teOptions.doc = new jsPDF(defaults.jspdf.orientation, + defaults.jspdf.unit, + defaults.jspdf.format); + + $(el).filter(function() { + return $(this).data("tableexport-display") != 'none' && + ($(this).is(':visible') || + $(this).data("tableexport-display") == 'always'); + }).each(function () { + var colKey; + var rowIndex = 0; + + colNames = GetColumnNames (this); + + teOptions.columns = []; + teOptions.rows = []; + teOptions.rowoptions = {}; + + // onTable: optional callback function for every matching table that can be used + // to modify the tableExport options or to skip the output of a particular table + // if the table selector targets multiple tables + if (typeof teOptions.onTable === 'function') + if (teOptions.onTable($(this), defaults) === false) + return true; // continue to next iteration step (table) + + // each table works with an own copy of AutoTable options + defaults.jspdf.autotable.tableExport = null; // avoid deep recursion error + var atOptions = $.extend(true, {}, defaults.jspdf.autotable); + defaults.jspdf.autotable.tableExport = teOptions; + + atOptions.margin = {}; + $.extend(true, atOptions.margin, defaults.jspdf.margins); + atOptions.tableExport = teOptions; + + // Fix jsPDF Autotable's row height calculation + if (typeof atOptions.beforePageContent !== 'function') { + atOptions.beforePageContent = function (data) { + if (data.pageCount == 1) { + var all = data.table.rows.concat(data.table.headerRow); + all.forEach(function (row) { + if ( row.height > 0 ) { + row.height += (2 - FONT_ROW_RATIO) / 2 * row.styles.fontSize; + data.table.height += (2 - FONT_ROW_RATIO) / 2 * row.styles.fontSize; + } + }); + } + } + } + + if (typeof atOptions.createdHeaderCell !== 'function') { + // apply some original css styles to pdf header cells + atOptions.createdHeaderCell = function (cell, data) { + + // jsPDF AutoTable plugin v2.0.14 fix: each cell needs its own styles object + cell.styles = $.extend({}, data.row.styles); + + if (typeof teOptions.columns [data.column.dataKey] != 'undefined') { + var col = teOptions.columns [data.column.dataKey]; + + if (typeof col.rect != 'undefined') { + var rh; + + cell.contentWidth = col.rect.width; + + if (typeof teOptions.heightRatio == 'undefined' || teOptions.heightRatio == 0) { + if (data.row.raw [data.column.dataKey].rowspan) + rh = data.row.raw [data.column.dataKey].rect.height / data.row.raw [data.column.dataKey].rowspan; + else + rh = data.row.raw [data.column.dataKey].rect.height; + + teOptions.heightRatio = cell.styles.rowHeight / rh; + } + + rh = data.row.raw [data.column.dataKey].rect.height * teOptions.heightRatio; + if (rh > cell.styles.rowHeight) + cell.styles.rowHeight = rh; + } + + if (typeof col.style != 'undefined' && col.style.hidden !== true) { + cell.styles.halign = col.style.align; + if (atOptions.styles.fillColor === 'inherit') + cell.styles.fillColor = col.style.bcolor; + if (atOptions.styles.textColor === 'inherit') + cell.styles.textColor = col.style.color; + if (atOptions.styles.fontStyle === 'inherit') + cell.styles.fontStyle = col.style.fstyle; + } + } + } + } + + if (typeof atOptions.createdCell !== 'function') { + // apply some original css styles to pdf table cells + atOptions.createdCell = function (cell, data) { + var rowopt = teOptions.rowoptions [data.row.index + ":" + data.column.dataKey]; + + if (typeof rowopt != 'undefined' && + typeof rowopt.style != 'undefined' && + rowopt.style.hidden !== true) { + cell.styles.halign = rowopt.style.align; + if (atOptions.styles.fillColor === 'inherit') + cell.styles.fillColor = rowopt.style.bcolor; + if (atOptions.styles.textColor === 'inherit') + cell.styles.textColor = rowopt.style.color; + if (atOptions.styles.fontStyle === 'inherit') + cell.styles.fontStyle = rowopt.style.fstyle; + } + } + } + + if (typeof atOptions.drawHeaderCell !== 'function') { + atOptions.drawHeaderCell = function (cell, data) { + var colopt = teOptions.columns [data.column.dataKey]; + + if ((colopt.style.hasOwnProperty("hidden") != true || colopt.style.hidden !== true) && + colopt.rowIndex >= 0 ) + return prepareAutoTableText (cell, data, colopt); + else + return false; // cell is hidden + } + } + + if (typeof atOptions.drawCell !== 'function') { + atOptions.drawCell = function (cell, data) { + var rowopt = teOptions.rowoptions [data.row.index + ":" + data.column.dataKey]; + if ( prepareAutoTableText (cell, data, rowopt) ) { + + teOptions.doc.rect(cell.x, cell.y, cell.width, cell.height, cell.styles.fillStyle); + + if (typeof rowopt != 'undefined' && typeof rowopt.kids != 'undefined' && rowopt.kids.length > 0) { + + var dh = cell.height / rowopt.rect.height; + if ( dh > teOptions.dh || typeof teOptions.dh == 'undefined' ) + teOptions.dh = dh; + teOptions.dw = cell.width / rowopt.rect.width; + + drawCellElements (cell, rowopt.kids, teOptions); + } + teOptions.doc.autoTableText(cell.text, cell.textPos.x, cell.textPos.y, { + halign: cell.styles.halign, + valign: cell.styles.valign + }); + } + return false; + } + } + + // collect header and data rows + teOptions.headerrows = []; + $hrows = $(this).find('thead').find(defaults.theadSelector); + $hrows.each(function () { + colKey = 0; + + teOptions.headerrows[rowIndex] = []; + + ForEachVisibleCell(this, 'th,td', rowIndex, $hrows.length, + function (cell, row, col) { + var obj = getCellStyles (cell); + obj.title = parseString(cell, row, col); + obj.key = colKey++; + obj.rowIndex = rowIndex; + teOptions.headerrows[rowIndex].push(obj); + }); + rowIndex++; + }); + + if (rowIndex > 0) { + // iterate through last row + $.each(teOptions.headerrows[rowIndex-1], function () { + if (rowIndex > 1 && this.rect == null) + obj = teOptions.headerrows[rowIndex-2][this.key]; + else + obj = this; + + if (obj != null) + teOptions.columns.push(obj); + }); + } + + var rowCount = 0; + $rows = $(this).find('tbody').find(defaults.tbodySelector); + if (defaults.tfootSelector.length) + $rows.push.apply ($rows, $(el).find('tfoot').find(defaults.tfootSelector)); + $rows.each(function () { + var rowData = []; + colKey = 0; + + ForEachVisibleCell(this, 'td', rowIndex, $hrows.length + $rows.length, + function (cell, row, col) { + if (typeof teOptions.columns[colKey] === 'undefined') { + // jsPDF-Autotable needs columns. Thus define hidden ones for tables without thead + var obj = { + title: '', + key: colKey, + style: { + hidden: true + } + }; + teOptions.columns.push(obj); + } + if (typeof cell !== 'undefined' && cell != null) { + var obj = getCellStyles (cell); + obj.kids = $(cell).children(); + teOptions.rowoptions [rowCount + ":" + colKey++] = obj; + } + else { + var obj = $.extend(true, {}, teOptions.rowoptions [rowCount + ":" + (colKey-1)]); + obj.colspan = -1; + teOptions.rowoptions [rowCount + ":" + colKey++] = obj; + } + + rowData.push(parseString(cell, row, col)); + }); + if (rowData.length) { + teOptions.rows.push(rowData); + rowCount++ + } + rowIndex++; + }); + + // onBeforeAutotable: optional callback function before calling + // jsPDF AutoTable that can be used to modify the AutoTable options + if (typeof teOptions.onBeforeAutotable === 'function') + teOptions.onBeforeAutotable($(this), teOptions.columns, teOptions.rows, atOptions); + + teOptions.doc.autoTable(teOptions.columns, teOptions.rows, atOptions); + + // onAfterAutotable: optional callback function after returning + // from jsPDF AutoTable that can be used to modify the AutoTable options + if (typeof teOptions.onAfterAutotable === 'function') + teOptions.onAfterAutotable($(this), atOptions); + + // set the start position for the next table (in case there is one) + defaults.jspdf.autotable.startY = teOptions.doc.autoTableEndPosY() + atOptions.margin.top; + }); + + jsPdfOutput(teOptions.doc); + + if (typeof teOptions.headerrows != 'undefined') + teOptions.headerrows.length = 0; + if (typeof teOptions.columns != 'undefined') + teOptions.columns.length = 0; + if (typeof teOptions.rows != 'undefined') + teOptions.rows.length = 0; + delete teOptions.doc; + teOptions.doc = null; + } + } + + function FindColObject (objects, colIndex, rowIndex) { + var result = null; + $.each(objects, function () { + if (this.rowIndex == rowIndex && this.key == colIndex) { + result = this; + return false; + } + }); + return result; + } + + function GetColumnNames (table) { + var result = []; + $(table).find('thead').first().find('th').each(function(index, el) { + if ($(el).attr("data-field") !== undefined) + result[index] = $(el).attr("data-field"); + else + result[index] = index.toString(); + }); + return result; + } + + function isColumnIgnored($row, colIndex) { + var result = false; + if (defaults.ignoreColumn.length > 0) { + if (typeof defaults.ignoreColumn[0] == 'string') { + if (colNames.length > colIndex && typeof colNames[colIndex] != 'undefined') + if ($.inArray(colNames[colIndex], defaults.ignoreColumn) != -1) + result = true; + } + else if (typeof defaults.ignoreColumn[0] == 'number') { + if ($.inArray(colIndex, defaults.ignoreColumn) != -1 || + $.inArray(colIndex-$row.length, defaults.ignoreColumn) != -1) + result = true; + } + } + return result; + } + + function ForEachVisibleCell(tableRow, selector, rowIndex, rowCount, cellcallback) { + if ($.inArray(rowIndex, defaults.ignoreRow) == -1 && + $.inArray(rowIndex-rowCount, defaults.ignoreRow) == -1) { + + var $row = $(tableRow).filter(function() { + return $(this).data("tableexport-display") != 'none' && + ($(this).is(':visible') || + $(this).data("tableexport-display") == 'always' || + $(this).closest('table').data("tableexport-display") == 'always'); + }).find(selector); + + var rowColspan = 0; + var rowColIndex = 0; + + $row.each(function (colIndex) { + if ($(this).data("tableexport-display") == 'always' || + ($(this).css('display') != 'none' && + $(this).css('visibility') != 'hidden' && + $(this).data("tableexport-display") != 'none')) { + if (isColumnIgnored($row, colIndex) == false) { + if (typeof (cellcallback) === "function") { + var c, Colspan = 0; + var r, Rowspan = 0; + + // handle rowspans from previous rows + if (typeof rowspans[rowIndex] != 'undefined' && rowspans[rowIndex].length > 0) { + for (c = 0; c <= colIndex; c++) { + if (typeof rowspans[rowIndex][c] != 'undefined') { + cellcallback(null, rowIndex, c); + delete rowspans[rowIndex][c]; + colIndex++; + } + } + } + rowColIndex = colIndex; + + if ($(this).is("[colspan]")) { + Colspan = parseInt($(this).attr('colspan')); + rowColspan += Colspan > 0 ? Colspan - 1 : 0; + } + + if ($(this).is("[rowspan]")) + Rowspan = parseInt($(this).attr('rowspan')); + + // output content of current cell + cellcallback(this, rowIndex, colIndex); + + // handle colspan of current cell + for (c = 0; c < Colspan - 1; c++) + cellcallback(null, rowIndex, colIndex + c); + + // store rowspan for following rows + if (Rowspan) { + for (r = 1; r < Rowspan; r++) { + if (typeof rowspans[rowIndex + r] == 'undefined') + rowspans[rowIndex + r] = []; + + rowspans[rowIndex + r][colIndex + rowColspan] = ""; + + for (c = 1; c < Colspan; c++) + rowspans[rowIndex + r][colIndex + rowColspan - c] = ""; + } + } + } + } + } + }); + // handle rowspans from previous rows + if (typeof rowspans[rowIndex] != 'undefined' && rowspans[rowIndex].length > 0) { + for (c = 0; c <= rowspans[rowIndex].length; c++) { + if (typeof rowspans[rowIndex][c] != 'undefined') { + cellcallback(null, rowIndex, c); + delete rowspans[rowIndex][c]; + } + } + } + } + } + + function jsPdfOutput(doc) { + if (defaults.consoleLog === true) + console.log(doc.output()); + + if (defaults.outputMode === 'string') + return doc.output(); + + if (defaults.outputMode === 'base64') + return base64encode(doc.output()); + + try { + var blob = doc.output('blob'); + saveAs(blob, defaults.fileName + '.pdf'); + } + catch (e) { + downloadFile(defaults.fileName + '.pdf', + 'data:application/pdf;base64,', + doc.output()); + } + } + + function prepareAutoTableText (cell, data, cellopt) { + var cs = 0; + if ( typeof cellopt != 'undefined' ) + cs = cellopt.colspan; + + if ( cs >= 0 ) { + // colspan handling + var cellWidth = cell.width; + var textPosX = cell.textPos.x; + var i = data.table.columns.indexOf(data.column); + + for (var c = 1; c < cs; c++) { + var column = data.table.columns[i+c]; + cellWidth += column.width; + } + + if ( cs > 1 ) { + if ( cell.styles.halign === 'right' ) + textPosX = cell.textPos.x + cellWidth - cell.width; + else if ( cell.styles.halign === 'center' ) + textPosX = cell.textPos.x + (cellWidth - cell.width) / 2; + } + + cell.width = cellWidth; + cell.textPos.x = textPosX; + + if ( typeof cellopt != 'undefined' && cellopt.rowspan > 1 ) + cell.height = cell.height * cellopt.rowspan; + + // fix jsPDF's calculation of text position + if ( cell.styles.valign === 'middle' || cell.styles.valign === 'bottom' ) { + var splittedText = typeof cell.text === 'string' ? cell.text.split(/\r\n|\r|\n/g) : cell.text; + var lineCount = splittedText.length || 1; + if (lineCount > 2) + cell.textPos.y -= ((2 - FONT_ROW_RATIO) / 2 * data.row.styles.fontSize) * (lineCount-2) / 3 ; + } + return true; + } + else + return false; // cell is hidden (colspan = -1), don't draw it + } + + function drawCellElements (cell, elements, teOptions) { + elements.each(function () { + var kids = $(this).children(); + + if ( $(this).is("div") ) { + var bcolor = rgb2array(getStyle(this, 'background-color'), [255, 255, 255]); + var lcolor = rgb2array(getStyle(this, 'border-top-color'), [0, 0, 0]); + var lwidth = getPropertyUnitValue(this, 'border-top-width', defaults.jspdf.unit); + + var r = this.getBoundingClientRect(); + var ux = this.offsetLeft * teOptions.dw; + var uy = this.offsetTop * teOptions.dh; + var uw = r.width * teOptions.dw; + var uh = r.height * teOptions.dh; + + teOptions.doc.setDrawColor.apply (undefined, lcolor); + teOptions.doc.setFillColor.apply (undefined, bcolor); + teOptions.doc.setLineWidth (lwidth); + teOptions.doc.rect(cell.x + ux, cell.y + uy, uw, uh, lwidth ? "FD" : "F"); + } + + if (typeof kids != 'undefined' && kids.length > 0) + drawCellElements (cell, kids, teOptions); + }); + } + + function escapeRegExp(string) { + return string.replace(/([.*+?^=!:${}()|\[\]\/\\])/g, "\\$1"); + } + + function replaceAll(string, find, replace) { + return string.replace(new RegExp(escapeRegExp(find), 'g'), replace); + } + + // Takes a string and encapsulates it (by default in double-quotes) if it + // contains the csv field separator, spaces, or linebreaks. + function csvString(cell, rowIndex, colIndex) { + var result = ''; + + if (cell != null) { + var dataString = parseString(cell, rowIndex, colIndex); + + var csvValue = (dataString === null || dataString == '') ? '' : dataString.toString(); + + if (dataString instanceof Date) + result = defaults.csvEnclosure + dataString.toLocaleString() + defaults.csvEnclosure; + else { + result = replaceAll(csvValue, defaults.csvEnclosure, defaults.csvEnclosure + defaults.csvEnclosure); + + if (result.indexOf(defaults.csvSeparator) >= 0 || /[\r\n ]/g.test(result)) + result = defaults.csvEnclosure + result + defaults.csvEnclosure; + } + } + + return result; + } + + function parseNumber(value) { + value = value || "0"; + value = replaceAll(value, defaults.numbers.html.decimalMark, '.'); + value = replaceAll(value, defaults.numbers.html.thousandsSeparator, ''); + + return typeof value === "number" || jQuery.isNumeric(value) !== false ? value : false; + } + + + function parseString(cell, rowIndex, colIndex) { + var result = ''; + + if (cell != null) { + var $cell = $(cell); + var htmlData; + + if ($cell[0].hasAttribute("data-tableexport-value")) + htmlData = $cell.data("tableexport-value"); + else + htmlData = $cell.html(); + + if (typeof defaults.onCellHtmlData === 'function') + htmlData = defaults.onCellHtmlData($cell, rowIndex, colIndex, htmlData); + + if (defaults.htmlContent === true) { + result = $.trim(htmlData); + } + else { + var text = htmlData.replace(/\n/g,'\u2028').replace(//gi, '\u2060'); + var obj = $('
                                                        ').html(text).contents(); + text = ''; + $.each(obj.text().split("\u2028"), function(i, v) { + if (i > 0) + text += " "; + text += $.trim(v); + }); + + $.each(text.split("\u2060"), function(i, v) { + if (i > 0) + result += "\n"; + result += $.trim(v).replace(/\u00AD/g, ""); // remove soft hyphens + }); + + if (defaults.numbers.html.decimalMark != defaults.numbers.output.decimalMark || + defaults.numbers.html.thousandsSeparator != defaults.numbers.output.thousandsSeparator) { + var number = parseNumber (result); + + if ( number !== false ) { + var frac = ("" + number).split('.'); + if ( frac.length == 1 ) + frac[1] = ""; + var mod = frac[0].length > 3 ? frac[0].length % 3 : 0; + + result = (number < 0 ? "-" : "") + + (defaults.numbers.output.thousandsSeparator ? ((mod ? frac[0].substr(0, mod) + defaults.numbers.output.thousandsSeparator : "") + frac[0].substr(mod).replace(/(\d{3})(?=\d)/g, "$1" + defaults.numbers.output.thousandsSeparator)) : frac[0]) + + (frac[1].length ? defaults.numbers.output.decimalMark + frac[1] : ""); + } + } + } + + if (defaults.escape === true) { + result = escape(result); + } + + if (typeof defaults.onCellData === 'function') { + result = defaults.onCellData($cell, rowIndex, colIndex, result); + } + } + + return result; + } + + function hyphenate(a, b, c) { + return b + "-" + c.toLowerCase(); + } + + function rgb2array(rgb_string, default_result) { + var re = /^rgb\((\d{1,3}),\s*(\d{1,3}),\s*(\d{1,3})\)$/; + var bits = re.exec(rgb_string); + var result = default_result; + if (bits) + result = [ parseInt(bits[1]), parseInt(bits[2]), parseInt(bits[3]) ]; + return result; + } + + function getCellStyles (cell) { + var a = getStyle(cell, 'text-align'); + var fw = getStyle(cell, 'font-weight'); + var fs = getStyle(cell, 'font-style'); + var f = ''; + if (a == 'start') + a = getStyle(cell, 'direction') == 'rtl' ? 'right' : 'left'; + if (fw >= 700) + f = 'bold'; + if (fs == 'italic') + f += fs; + if (f == '') + f = 'normal'; + + var result = { + style: { + align: a, + bcolor: rgb2array(getStyle(cell, 'background-color'), [255, 255, 255]), + color: rgb2array(getStyle(cell, 'color'), [0, 0, 0]), + fstyle: f + }, + colspan: (parseInt($(cell).attr('colspan')) || 0), + rowspan: (parseInt($(cell).attr('rowspan')) || 0) + }; + + if (cell !== null) { + var r = cell.getBoundingClientRect(); + result.rect = { + width: r.width, + height: r.height + }; + } + + return result; + } + + // get computed style property + function getStyle(target, prop) { + try { + if (window.getComputedStyle) { // gecko and webkit + prop = prop.replace(/([a-z])([A-Z])/, hyphenate); // requires hyphenated, not camel + return window.getComputedStyle(target, null).getPropertyValue(prop); + } + if (target.currentStyle) { // ie + return target.currentStyle[prop]; + } + return target.style[prop]; + } + catch (e) { + } + return ""; + } + + function getUnitValue(parent, value, unit) { + var baseline = 100; // any number serves + + var temp = document.createElement("div"); // create temporary element + temp.style.overflow = "hidden"; // in case baseline is set too low + temp.style.visibility = "hidden"; // no need to show it + + parent.appendChild(temp); // insert it into the parent for em, ex and % + + temp.style.width = baseline + unit; + var factor = baseline / temp.offsetWidth; + + parent.removeChild(temp); // clean up + + return (value * factor); + } + + function getPropertyUnitValue(target, prop, unit) { + var value = getStyle(target, prop); // get the computed style value + + var numeric = value.match(/\d+/); // get the numeric component + if (numeric !== null) { + numeric = numeric[0]; // get the string + + return getUnitValue (target.parentElement, numeric, unit); + } + return 0; + } + + function jx_Workbook() { + if(!(this instanceof jx_Workbook)) return new jx_Workbook(); + this.SheetNames = []; + this.Sheets = {}; + } + + function jx_s2ab(s) { + var buf = new ArrayBuffer(s.length); + var view = new Uint8Array(buf); + for (var i=0; i!=s.length; ++i) view[i] = s.charCodeAt(i) & 0xFF; + return buf; + } + + function jx_datenum(v, date1904) { + if(date1904) v+=1462; + var epoch = Date.parse(v); + return (epoch - new Date(Date.UTC(1899, 11, 30))) / (24 * 60 * 60 * 1000); + } + + function jx_createSheet(data) { + var ws = {}; + var range = {s: {c:10000000, r:10000000}, e: {c:0, r:0 }}; + for(var R = 0; R != data.length; ++R) { + for(var C = 0; C != data[R].length; ++C) { + if(range.s.r > R) range.s.r = R; + if(range.s.c > C) range.s.c = C; + if(range.e.r < R) range.e.r = R; + if(range.e.c < C) range.e.c = C; + var cell = {v: data[R][C] }; + if(cell.v == null) continue; + var cell_ref = XLSX.utils.encode_cell({c:C,r:R}); + + if(typeof cell.v === 'number') cell.t = 'n'; + else if(typeof cell.v === 'boolean') cell.t = 'b'; + else if(cell.v instanceof Date) { + cell.t = 'n'; cell.z = XLSX.SSF._table[14]; + cell.v = datenum(cell.v); + } + else cell.t = 's'; + ws[cell_ref] = cell; + } + } + + if(range.s.c < 10000000) ws['!ref'] = XLSX.utils.encode_range(range); + return ws; + } + + function downloadFile(filename, header, data) { + + var ua = window.navigator.userAgent; + if (ua.indexOf("MSIE ") > 0 || !!ua.match(/Trident.*rv\:11\./)) { + // Internet Explorer (<= 9) workaround by Darryl (https://github.com/dawiong/tableExport.jquery.plugin) + // based on sampopes answer on http://stackoverflow.com/questions/22317951 + // ! Not working for json and pdf format ! + var frame = document.createElement("iframe"); + + if (frame) { + document.body.appendChild(frame); + frame.setAttribute("style", "display:none"); + frame.contentDocument.open("txt/html", "replace"); + frame.contentDocument.write(data); + frame.contentDocument.close(); + frame.focus(); + + frame.contentDocument.execCommand("SaveAs", true, filename); + document.body.removeChild(frame); + } + } + else { + var DownloadLink = document.createElement('a'); + + if (DownloadLink) { + DownloadLink.style.display = 'none'; + DownloadLink.download = filename; + + if (header.toLowerCase().indexOf("base64,") >= 0) + DownloadLink.href = header + base64encode(data); + else + DownloadLink.href = header + encodeURIComponent(data); + + document.body.appendChild(DownloadLink); + + if (document.createEvent) { + if (DownloadEvt == null) + DownloadEvt = document.createEvent('MouseEvents'); + + DownloadEvt.initEvent('click', true, false); + DownloadLink.dispatchEvent(DownloadEvt); + } + else if (document.createEventObject) + DownloadLink.fireEvent('onclick'); + else if (typeof DownloadLink.onclick == 'function') + DownloadLink.onclick(); + + document.body.removeChild(DownloadLink); + } + } + } + + function utf8Encode(string) { + string = string.replace(/\x0d\x0a/g, "\x0a"); + var utftext = ""; + for (var n = 0; n < string.length; n++) { + var c = string.charCodeAt(n); + if (c < 128) { + utftext += String.fromCharCode(c); + } + else if ((c > 127) && (c < 2048)) { + utftext += String.fromCharCode((c >> 6) | 192); + utftext += String.fromCharCode((c & 63) | 128); + } + else { + utftext += String.fromCharCode((c >> 12) | 224); + utftext += String.fromCharCode(((c >> 6) & 63) | 128); + utftext += String.fromCharCode((c & 63) | 128); + } + } + return utftext; + } + + function base64encode(input) { + var keyStr = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/="; + var output = ""; + var chr1, chr2, chr3, enc1, enc2, enc3, enc4; + var i = 0; + input = utf8Encode(input); + while (i < input.length) { + chr1 = input.charCodeAt(i++); + chr2 = input.charCodeAt(i++); + chr3 = input.charCodeAt(i++); + enc1 = chr1 >> 2; + enc2 = ((chr1 & 3) << 4) | (chr2 >> 4); + enc3 = ((chr2 & 15) << 2) | (chr3 >> 6); + enc4 = chr3 & 63; + if (isNaN(chr2)) { + enc3 = enc4 = 64; + } else if (isNaN(chr3)) { + enc4 = 64; + } + output = output + + keyStr.charAt(enc1) + keyStr.charAt(enc2) + + keyStr.charAt(enc3) + keyStr.charAt(enc4); + } + return output; + } + + return this; + } + }); +})(jQuery); \ No newline at end of file diff --git a/src/demo/manager/src/main/webapp/assets/lineicons/fonts/linecons.eot b/src/demo/manager/src/main/webapp/assets/lineicons/fonts/linecons.eot new file mode 100644 index 0000000000000000000000000000000000000000..947c4b6ecca0a326930d18397ef8e373d7327c79 GIT binary patch literal 15572 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 literal 0 HcmV?d00001 diff --git a/src/demo/manager/src/main/webapp/assets/lineicons/fonts/linecons.svg b/src/demo/manager/src/main/webapp/assets/lineicons/fonts/linecons.svg new file mode 100644 index 00000000..7b726668 --- /dev/null +++ b/src/demo/manager/src/main/webapp/assets/lineicons/fonts/linecons.svg @@ -0,0 +1,469 @@ + + + + +This is a custom SVG font generated by IcoMoon. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/src/demo/manager/src/main/webapp/assets/lineicons/fonts/linecons.ttf b/src/demo/manager/src/main/webapp/assets/lineicons/fonts/linecons.ttf new file mode 100644 index 0000000000000000000000000000000000000000..228853121f749614bd21ce2193f246a9ce96bcd3 GIT binary patch literal 15404 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 NV_;^$3jhFp00azY7ry`i literal 0 HcmV?d00001 diff --git a/src/demo/manager/src/main/webapp/assets/lineicons/index.html b/src/demo/manager/src/main/webapp/assets/lineicons/index.html new file mode 100644 index 00000000..ec064a71 --- /dev/null +++ b/src/demo/manager/src/main/webapp/assets/lineicons/index.html @@ -0,0 +1,542 @@ + + + +LINECONS - 48 Fully Scalable Vector Icons + + + + + + + + + + +
                                                        +
                                                        +
                                                        +

                                                        LINECONS

                                                        +

                                                        48 FULLY SCALABLE VECTOR ICONS

                                                        +
                                                        +
                                                        + + +
                                                        +
                                                        + + +
                                                        +
                                                        + + +
                                                        +
                                                        + + +
                                                        +
                                                        + + +
                                                        +
                                                        + + +
                                                        +
                                                        + + +
                                                        +
                                                        + + +
                                                        +
                                                        + + +
                                                        +
                                                        + + +
                                                        +
                                                        + + +
                                                        +
                                                        + + +
                                                        +
                                                        + + +
                                                        +
                                                        + + +
                                                        +
                                                        + + +
                                                        +
                                                        + + +
                                                        +
                                                        + + +
                                                        +
                                                        + + +
                                                        +
                                                        + + +
                                                        +
                                                        + + +
                                                        +
                                                        + + +
                                                        +
                                                        + + +
                                                        +
                                                        + + +
                                                        +
                                                        + + +
                                                        +
                                                        + + +
                                                        +
                                                        + + +
                                                        +
                                                        + + +
                                                        +
                                                        + + +
                                                        +
                                                        + + +
                                                        +
                                                        + + +
                                                        +
                                                        + + +
                                                        +
                                                        + + +
                                                        +
                                                        + + +
                                                        +
                                                        + + +
                                                        +
                                                        + + +
                                                        +
                                                        + + +
                                                        +
                                                        + + +
                                                        +
                                                        + + +
                                                        +
                                                        + + +
                                                        +
                                                        + + +
                                                        +
                                                        + + +
                                                        +
                                                        + + +
                                                        +
                                                        + + +
                                                        +
                                                        + + +
                                                        +
                                                        + + +
                                                        +
                                                        + + +
                                                        +
                                                        + + +
                                                        +
                                                        + + +
                                                        +
                                                        +
                                                        +
                                                        +
                                                        +

                                                        CSS Class Names

                                                        +
                                                        + + +  li_heart + + + +  li_cloud + + + +  li_star + + + +  li_tv + + + +  li_sound + + + +  li_video + + + +  li_trash + + + +  li_user + + + +  li_key + + + +  li_search + + + +  li_settings + + + +  li_camera + + + +  li_tag + + + +  li_lock + + + +  li_bulb + + + +  li_pen + + + +  li_diamond + + + +  li_display + + + +  li_location + + + +  li_eye + + + +  li_bubble + + + +  li_stack + + + +  li_cup + + + +  li_phone + + + +  li_news + + + +  li_mail + + + +  li_like + + + +  li_photo + + + +  li_note + + + +  li_clock + + + +  li_paperplane + + + +  li_params + + + +  li_banknote + + + +  li_data + + + +  li_music + + + +  li_megaphone + + + +  li_study + + + +  li_lab + + + +  li_food + + + +  li_t-shirt + + + +  li_fire + + + +  li_clip + + + +  li_shop + + + +  li_calendar + + + +  li_vallet + + + +  li_vynil + + + +  li_truck + + + +  li_world + +
                                                        + +
                                                        + + + \ No newline at end of file diff --git a/src/demo/manager/src/main/webapp/assets/lineicons/lte-ie7.js b/src/demo/manager/src/main/webapp/assets/lineicons/lte-ie7.js new file mode 100644 index 00000000..e912b321 --- /dev/null +++ b/src/demo/manager/src/main/webapp/assets/lineicons/lte-ie7.js @@ -0,0 +1,72 @@ +/* Use this script if you need to support IE 7 and IE 6. */ + +window.onload = function() { + function addIcon(el, entity) { + var html = el.innerHTML; + el.innerHTML = '' + entity + '' + html; + } + var icons = { + 'li_heart' : '', + 'li_cloud' : '', + 'li_star' : '', + 'li_tv' : '', + 'li_sound' : '', + 'li_video' : '', + 'li_trash' : '', + 'li_user' : '', + 'li_key' : '', + 'li_search' : '', + 'li_settings' : '', + 'li_camera' : '', + 'li_tag' : '', + 'li_lock' : '', + 'li_bulb' : '', + 'li_pen' : '', + 'li_diamond' : '', + 'li_display' : '', + 'li_location' : '', + 'li_eye' : '', + 'li_bubble' : '', + 'li_stack' : '', + 'li_cup' : '', + 'li_phone' : '', + 'li_news' : '', + 'li_mail' : '', + 'li_like' : '', + 'li_photo' : '', + 'li_note' : '', + 'li_clock' : '', + 'li_paperplane' : '', + 'li_params' : '', + 'li_banknote' : '', + 'li_data' : '', + 'li_music' : '', + 'li_megaphone' : '', + 'li_study' : '', + 'li_lab' : '', + 'li_food' : '', + 'li_t-shirt' : '', + 'li_fire' : '', + 'li_clip' : '', + 'li_shop' : '', + 'li_calendar' : '', + 'li_vallet' : '', + 'li_vynil' : '', + 'li_truck' : '', + 'li_world' : '' + }, + els = document.getElementsByTagName('*'), + i, attr, html, c, el; + for (i = 0; i < els.length; i += 1) { + el = els[i]; + attr = el.getAttribute('data-icon'); + if (attr) { + addIcon(el, attr); + } + c = el.className; + c = c.match(/li_[^\s'"]+/); + if (c && icons[c[0]]) { + addIcon(el, icons[c[0]]); + } + } +}; \ No newline at end of file diff --git a/src/demo/manager/src/main/webapp/assets/lineicons/style.css b/src/demo/manager/src/main/webapp/assets/lineicons/style.css new file mode 100644 index 00000000..48a5d875 --- /dev/null +++ b/src/demo/manager/src/main/webapp/assets/lineicons/style.css @@ -0,0 +1,175 @@ +@font-face { + font-family: 'linecons'; + src:url('fonts/linecons.eot'); +} +@font-face { + font-family: 'linecons'; + src: url(data:font/svg;charset=utf-8;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBzdGFuZGFsb25lPSJubyI/Pgo8IURPQ1RZUEUgc3ZnIFBVQkxJQyAiLS8vVzNDLy9EVEQgU1ZHIDEuMS8vRU4iICJodHRwOi8vd3d3LnczLm9yZy9HcmFwaGljcy9TVkcvMS4xL0RURC9zdmcxMS5kdGQiID4KPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPgo8bWV0YWRhdGE+ClRoaXMgaXMgYSBjdXN0b20gU1ZHIGZvbnQgZ2VuZXJhdGVkIGJ5IEljb01vb24uCjxpY29uc2V0IGlkPSJsaW5lY29ucyIgbmFtZT0ibGluZWNvbnMiIGhyZWY9Imh0dHA6Ly9kZXNpZ25tb2RvLmNvbS9saW5lY29ucyI+PC9pY29uc2V0PjxhdXRob3IgbmFtZT0iU2VyZ2V5IFNobWlkdCIgaHJlZj0iaHR0cDovL3NobWlkdC5pbiI+PC9hdXRob3I+PGxpY2Vuc2UgbmFtZT0iQ3JlYXRpdmUgQ29tbW9ucyBBdHRyaWJ1dGlvbi1TaGFyZUFsaWtlIDMuMCIgaHJlZj0iaHR0cDovL2NyZWF0aXZlY29tbW9ucy5vcmcvbGljZW5zZXMvYnktc2EvMy4wLyI+PC9saWNlbnNlPgo8L21ldGFkYXRhPgo8ZGVmcz4KPGZvbnQgaWQ9ImxpbmVjb25zIiBob3Jpei1hZHYteD0iNTEyIiA+Cjxmb250LWZhY2UgdW5pdHMtcGVyLWVtPSI1MTIiIGFzY2VudD0iNDgwIiBkZXNjZW50PSItMzIiIC8+CjxtaXNzaW5nLWdseXBoIGhvcml6LWFkdi14PSI1MTIiIC8+CjxnbHlwaCB1bmljb2RlPSImI3hlMDAwOyIgZD0iTSA0NjcuMDg4LDM5NS43NmMtNTguMDY0LDU3LjUzNi0xNTAuOTEyLDU4LjczNi0yMTEuMDU2LDQuNjA4CgkJQyAxOTUuODcyLDQ1NC40OTYsIDEwMy4wNTYsNDUzLjI5NiwgNDQuOTYsMzk1Ljc2Yy01OS44NTYtNTkuMjY0LTU5Ljg1Ni0xNTUuMzQ0LDAuMDAtMjE0LjY0YyAxNy4xMDQtMTYuOTQ0LCAxNzYuODQ4LTE3NS4wNTYsIDE3Ni44NDgtMTc1LjA1NgoJCWMgMTguOTI4LTE4Ljc1MiwgNDkuNTM2LTE4Ljc1MiwgNjguNDQ4LDAuMDBjMC4wMCwwLjAwLCAxNzQuOTEyLDE3My4xNTIsIDE3Ni44NDgsMTc1LjA1NkMgNTI2Ljk3NiwyNDAuNDE2LCA1MjYuOTc2LDMzNi40OTYsIDQ2Ny4wODgsMzk1Ljc2eiBNIDQ0NC4yODgsMjAzLjcxMgoJCUwgMjY3LjQ0LDI4LjY1NmMtNi4yODgtNi4yNTYtMTYuNTQ0LTYuMjU2LTIyLjgwLDAuMDBMIDY3Ljc5MiwyMDMuNzEyYy00Ny4yMCw0Ni43Mi00Ny4yMCwxMjIuNzM2LDAuMDAsMTY5LjQ1NgoJCWMgNDUuNTA0LDQ1LjA0LCAxMTguNjU2LDQ2LjYyNCwgMTY2LjU0NCwzLjU1MmwgMjEuNjk2LTE5LjUybCAyMS42OCwxOS41MmMgNDcuOTA0LDQzLjA3MiwgMTIxLjA1Niw0MS41MDQsIDE2Ni41Ni0zLjU1MgoJCUMgNDkxLjQ3MiwzMjYuNDY0LCA0OTEuNDcyLDI1MC40NDgsIDQ0NC4yODgsMjAzLjcxMnpNIDE0OC4wNDgsMzU5Ljk4NCBDIDE1Mi40OCwzNTkuOTg0IDE1Ni4wNDgsMzU2LjQwIDE1Ni4wNDgsMzUxLjk4NCBDIDE1Ni4wNDgsMzQ3LjU2OCAxNTIuNDY0LDM0My45ODQgMTQ4LjA0OCwzNDMuOTg0IEwgMTQ4LjAzMiwzNDMuOTg0IEMgMTE5LjMyOCwzNDMuOTg0IDk2LjA0OCwzMjAuNzA0IDk2LjA0OCwyOTIuMDAgTCA5Ni4wNDgsMjkxLjk4NCBDIDk2LjA0OCwyODcuNTY4IDkyLjQ2NCwyODMuOTg0IDg4LjA0OCwyODMuOTg0IEMgODMuNjMyLDI4My45ODQgODAuMDQ4LDI4Ny41NjggODAuMDQ4LDI5MS45ODQgTCA4MC4wNDgsMjkxLjk4NCBDIDgwLjA0OCwzMjkuNTIgMTEwLjQ2NCwzNTkuOTM2IDE0Ny45ODQsMzU5Ljk2OCBDIDE0OC4wMTYsMzU5Ljk2OCAxNDguMDE2LDM1OS45ODQgMTQ4LjA0OCwzNTkuOTg0IFoiIGRhdGEtdGFncz0iaGVhcnQiIC8+CjxnbHlwaCB1bmljb2RlPSImI3hlMDAxOyIgZD0iTSA0MTQuNjI0LDI2OS43MTJDIDQwNy42MzIsMzQyLjcyLCAzNDYuODQ4LDQwMC4wMCwgMjcyLjAwLDQwMC4wMAoJYy01Ny45MDQsMC4wMC0xMDcuNDcyLTM0LjM2OC0xMzAuMzM2LTgzLjY4QyAxMzQuNzg0LDMxOC40OTYsIDEyNy42MTYsMzIwLjAwLCAxMjAuMDE2LDMyMC4wMGMtMzkuNzYsMC4wMC03Mi4wMC0zMi4yNTYtNzIuMDAtNzIuMDBjMC4wMC03LjkwNCwgMS41ODQtMTUuMzc2LCAzLjkzNi0yMi40NjQKCWMtMzAuOTI4LTE4LjAzMi01MS45MzYtNTEuMTItNTEuOTM2LTg5LjUwNGMwLjAwLTU3LjQ0LCA0Ni41Ni0xMDQuMDAsIDEwNC4wMC0xMDQuMDBMIDEwNC4wMTYsMzIuMDAgTCAzOTIuMDAsMzIuMDAgbDAuMDAsMC4wMzIgYyA2Ni4yODgsMC4wMCwgMTIwLjAwLDUzLjcxMiwgMTIwLjAwLDEyMC4wMAoJQyA1MTIuMDAsMjEwLjUyOCwgNDcwLjA2NCwyNTkuMTIsIDQxNC42MjQsMjY5LjcxMnogTSAzOTIuMDAsNjQuMDMyTCAzOTIuMDAsNjQuMDAgTCAxMDQuMDE2LDY0LjAwIGMtMzkuNjk2LDAuMDMyLTcyLjAwLDMyLjMyLTcyLjAwLDcyLjAzMmMwLjAwLDI1LjYwLCAxMy40ODgsNDguNzIsIDM2LjA2NCw2MS44NzIKCWMgMjEuOTM2LDEyLjU5MiwgMjMuNDQsMTUuMDg4LCAxNC4yNCwzNy43MTJjLTEuNTUyLDQuNjU2LTIuMzA0LDguNzA0LTIuMzA0LDEyLjM2OGMwLjAwLDIyLjA2NCwgMTcuOTM2LDQwLjAwLCA0MC4wMCw0MC4wMGMwLjAwLDAuMDAsIDEwLjQ5NiwwLjc1MiwgMjEuNjQ4LTMuNjgKCWMgMTguMzUyLTcuMzEyLCAyMC4zNTItMC4zMiwgMjkuMDI0LDE4LjU0NEMgMTg5LjA0LDM0Mi40MTYsIDIyOC44MCwzNjguMDAsIDI3Mi4wMCwzNjguMDBjIDU3LjYwLDAuMDAsIDEwNS4yMTYtNDMuNTY4LCAxMTAuNzg0LTEwMS4zNDRjIDEuOTY4LTIyLjkxMiwgMS45NjgtMjIuOTEyLCAyNS44NC0yOC4zNjgKCUMgNDUwLjAwLDIzMC4zODQsIDQ4MC4wMCwxOTQuMDk2LCA0ODAuMDAsMTUyLjAzMkMgNDgwLjAwLDEwMy41MDQsIDQ0MC41MjgsNjQuMDMyLCAzOTIuMDAsNjQuMDMyeiIgZGF0YS10YWdzPSJjbG91ZCIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUwMDI7IiBkPSJNIDUxMC4wOTYsMjc5LjA4OGMtNC40MzIsMTIuNzg0LTE1LjgwOCwyMi4xNDQtMjkuNTA0LDI0LjE3NmwtMTMzLjIxNiwxOS44MDhsLTU3LjkwNCwxMjAuMjI0CglDIDI4My4zNzYsNDU1LjkyLCAyNzAuMzM2LDQ2NC4wMCwgMjU2LjAwLDQ2NC4wMGMtMTQuMzM2LDAuMDAtMjcuMzc2LTguMDgtMzMuNDcyLTIwLjcwNGwtNTcuOTA0LTEyMC4yMjRsLTEzMy4yMzItMTkuODA4Yy0xMy42OC0yLjAzMi0yNS4wNTYtMTEuMzkyLTI5LjQ3Mi0yNC4xNzYKCWMtNC40MC0xMi44MTYtMS4wNzItMjYuOTI4LCA4LjU5Mi0zNi41NmwgOTcuNjMyLTk3LjQ3MmwtMjIuNjQtMTM1LjIxNkMgODMuMjAtMy43NzYsIDg5LjEwNC0xNy40NCwgMTAwLjY3Mi0yNS40MDgKCUMgMTA3LjAyNC0yOS43NzYsIDExNC40OTYtMzIuMDAsIDEyMS45NjgtMzIuMDBjIDYuMTQ0LDAuMDAsIDEyLjMwNCwxLjUwNCwgMTcuODg4LDQuNDk2TCAyNTYuMDAsMzUuMDI0bCAxMTYuMTYtNjIuNTI4QyAzNzcuNzQ0LTMwLjQ5NiwgMzgzLjkwNC0zMi4wMCwgMzkwLjAzMi0zMi4wMAoJYyA3LjQ3MiwwLjAwLCAxNC45NDQsMi4yMjQsIDIxLjMxMiw2LjU5MmMgMTEuNTY4LDcuOTY4LCAxNy40NCwyMS42MzIsIDE1LjE1MiwzNS4yNDhsLTIyLjY1NiwxMzUuMjE2bCA5Ny42NjQsOTcuNDcyCglDIDUxMS4xNTIsMjUyLjE3NiwgNTE0LjQ2NCwyNjYuMjg4LCA1MTAuMDk2LDI3OS4wODh6IE0gMzc3LjQwOCwxNzAuMTkyYy04LjE5Mi04LjE2LTExLjkwNC0xOS42NjQtMTAuMDMyLTMwLjk0NGwgMjIuNjU2LTEzNS4yMTZsLTExNi4xNiw2Mi40OTYKCWMtNS41NjgsMy4wMDgtMTEuNzEyLDQuNDk2LTE3Ljg4OCw0LjQ5NmMtNi4xNDQsMC4wMC0xMi4zMDQtMS41MDQtMTcuODcyLTQuNDk2bC0xMTYuMTYtNjIuNDk2bCAyMi42NTYsMTM1LjIxNgoJYyAxLjg4OCwxMS4yOC0xLjgyNCwyMi43ODQtMTAuMDE2LDMwLjk0NGwtOTcuNjMyLDk3LjQ3MmwgMTMzLjIxNiwxOS44NGMgMTIuMTc2LDEuODA4LCAyMi42NTYsOS40MjQsIDI3Ljg4OCwyMC4yODhMIDI1Ni4wMCw0MjcuOTg0bCA1Ny45Mi0xMjAuMjA4CgljIDUuMjQ4LTEwLjg2NCwgMTUuNzEyLTE4LjQ2NCwgMjcuODcyLTIwLjI4OGwgMTMzLjI0OC0xOS44NEwgMzc3LjQwOCwxNzAuMTkyeiIgZGF0YS10YWdzPSJzdGFyIiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTAwMzsiIGQ9Ik0gMzU0LjcyLDM0Mi4wMTZjLTQzLjMxMiw4LjkxMi04Ny4yOCwxMy40MjQtMTMwLjY0LDEzLjQyNGMtNDMuMzYsMC4wMC04Ny4zMTItNC41MTItMTMwLjY0LTEzLjQyNAoJCUMgODcuODQsMzQwLjg2NCwgODMuMjY0LDMzNi44MCwgODEuNDU2LDMzMS4zNDRjLTIzLjA3Mi03MC4wOTYtMjMuMDcyLTE0MS4xNjgsMC4wMC0yMTEuMjY0YyAxLjc5Mi01LjQ0LCA2LjM2OC05LjUwNCwgMTEuOTg0LTEwLjY1NgoJCUMgMTM2Ljc2OCwxMDAuNTI4LCAxODAuNzIsOTYuMDAsIDIyNC4wOCw5Ni4wMGMgNDMuMzQ0LDAuMDAsIDg3LjMyOCw0LjUyOCwgMTMwLjY0LDEzLjQ0YyA1LjYzMiwxLjE1MiwgMTAuMTkyLDUuMjE2LCAxMi4wMCwxMC42NTYKCQljIDIzLjA1Niw3MC4wOTYsIDIzLjA1NiwxNDEuMTY4LDAuMDAsMjExLjI2NEMgMzY0LjkxMiwzMzYuODAsIDM2MC4zMzYsMzQwLjg2NCwgMzU0LjcyLDM0Mi4wMTZ6IE0gMzUxLjUwNCwxMjUuMDg4Yy04NC45NDQtMTcuNDQtMTY5LjkwNC0xNy40NC0yNTQuODMyLDAuMDAKCQljLTIyLjA5Niw2Ny4wODgtMjIuMDk2LDEzNC4xNiwwLjAwLDIwMS4yNjRjIDg0Ljk0NCwxNy40NTYsIDE2OS45MDQsMTcuNDU2LCAyNTQuODMyLDAuMDBDIDM3My42MCwyNTkuMjY0LCAzNzMuNjAsMTkyLjE5MiwgMzUxLjUwNCwxMjUuMDg4ek0gNDkzLjY2NCwzNzguODhjLTMuMDg4LDEzLjAyNC0xNC4wMCwyMi43NTItMjcuMjgsMjQuMzUyQyAzOTYuNjI0LDQxMS43MTIsIDMyNS44NzIsNDE2LjAwLCAyNTYuMDgsNDE2LjAwCgkJQyAxODYuMzA0LDQxNi4wMCwgMTE1LjU1Miw0MTEuNzEyLCA0NS43OTIsNDAzLjI0OEMgMzIuNTEyLDQwMS42MzIsIDIxLjYxNiwzOTEuOTIsIDE4LjUyOCwzNzguODhjLTI0LjQ2NC0xMDIuNzY4LTI0LjQ2NC0yMDYuOTc2LDAuMDAtMzA5Ljc2CgkJYyAzLjA4OC0xMy4wMjQsIDEzLjk4NC0yMi43NTIsIDI3LjI2NC0yNC4zMzZjIDMzLjYxNi00LjA5NiwgNjcuNDU2LTcuMDg4LCAxMDEuMjk2LTkuMjE2QyAxNDUuMjY0LDM0LjQwLCAxNDQuMDgsMzMuMjE2LCAxNDQuMDgsMzIuMDBjMC4wMC04Ljg0OCwgNTAuMTQ0LTE2LjAwLCAxMTIuMDAtMTYuMDAKCQljIDYxLjg1NiwwLjAwLCAxMTIuMDAsNy4xNTIsIDExMi4wMCwxNi4wMGMwLjAwLDEuMjE2LTEuMTg0LDIuNDAtMy4wMDgsMy41NjhjIDMzLjg0LDIuMTI4LCA2Ny42OCw1LjEyLCAxMDEuMjgsOS4yMTZjIDEzLjI4LDEuNjAsIDI0LjE5MiwxMS4zMTIsIDI3LjI4LDI0LjMzNgoJCUMgNTE4LjEyOCwxNzEuOTA0LCA1MTguMTI4LDI3Ni4xMTIsIDQ5My42NjQsMzc4Ljg4eiBNIDQ2Mi41MjgsNzYuNTI4Yy0xMzcuNjMyLTE2LjY4OC0yNzUuMjY0LTE2LjY4OC00MTIuODgsMC4wMGMtMjMuNDA4LDk4LjMyLTIzLjQwOCwxOTYuNjQsMC4wMCwyOTQuOTQ0CgkJYyAxMzcuNjMyLDE2LjcwNCwgMjc1LjI2NCwxNi43MDQsIDQxMi44OCwwLjAwQyA0ODUuOTM2LDI3My4xNjgsIDQ4NS45MzYsMTc0Ljg0OCwgNDYyLjUyOCw3Ni41Mjh6TSA0MjQuMDk2LDI4OC4wMGMgMTMuMjQ4LDAuMDAsIDI0LjAwLDEwLjc1MiwgMjQuMDAsMjQuMDBTIDQzNy4zNDQsMzM2LjAwLCA0MjQuMDk2LDMzNi4wMHMtMjQuMDAtMTAuNzUyLTI0LjAwLTI0LjAwUyA0MTAuODQ4LDI4OC4wMCwgNDI0LjA5NiwyODguMDB6CgkJIE0gNDI0LjA5NiwzMjAuMDBjIDQuNDAsMC4wMCwgOC4wMC0zLjYwLCA4LjAwLTguMDBzLTMuNjAtOC4wMC04LjAwLTguMDBzLTguMDAsMy42MC04LjAwLDguMDBTIDQxOS42OCwzMjAuMDAsIDQyNC4wOTYsMzIwLjAwek0gNDQwLjA5NiwxMjguMDAgQyA0NDQuNDk2LDEyOC4wMCA0NDguMDk2LDEyNC40MzIgNDQ4LjA5NiwxMjAuMDAgQyA0NDguMDk2LDExNS42MCA0NDQuNDk2LDExMi4wMCA0NDAuMDk2LDExMi4wMCBMIDM5Mi4wOTYsMTEyLjAwIEMgMzg3LjY2NCwxMTIuMDAgMzg0LjA5NiwxMTUuNjAgMzg0LjA5NiwxMjAuMDAgQyAzODQuMDk2LDEyNC40MzIgMzg3LjY2NCwxMjguMDAgMzkyLjA5NiwxMjguMDAgTCA0NDAuMDk2LDEyOC4wMCBaTSA0NTYuMDk2LDE3Ni4wMCBDIDQ2MC40OTYsMTc2LjAwIDQ2NC4wOTYsMTcyLjQzMiA0NjQuMDk2LDE2OC4wMCBDIDQ2NC4wOTYsMTYzLjYwIDQ2MC40OTYsMTYwLjAwIDQ1Ni4wOTYsMTYwLjAwIEwgNDA4LjA5NiwxNjAuMDAgQyA0MDMuNjY0LDE2MC4wMCA0MDAuMDk2LDE2My42MCA0MDAuMDk2LDE2OC4wMCBDIDQwMC4wOTYsMTcyLjQzMiA0MDMuNjY0LDE3Ni4wMCA0MDguMDk2LDE3Ni4wMCBMIDQ1Ni4wOTYsMTc2LjAwIFpNIDQ1Ni4wOTYsMjI0LjAwIEMgNDYwLjQ5NiwyMjQuMDAgNDY0LjA5NiwyMjAuNDE2IDQ2NC4wOTYsMjE2LjAwIEMgNDY0LjA5NiwyMTEuNTg0IDQ2MC40OTYsMjA4LjAwIDQ1Ni4wOTYsMjA4LjAwIEwgNDA4LjA5NiwyMDguMDAgQyA0MDMuNjY0LDIwOC4wMCA0MDAuMDk2LDIxMS41ODQgNDAwLjA5NiwyMTYuMDAgQyA0MDAuMDk2LDIyMC40MTYgNDAzLjY2NCwyMjQuMDAgNDA4LjA5NiwyMjQuMDAgTCA0NTYuMDk2LDIyNC4wMCBaTSAyMTYuMDgsMjkxLjEzNiBDIDIyMC40OTYsMjkxLjMxMiAyMjQuMDgsMjg3Ljg3MiAyMjQuMDgsMjgzLjQ1NiBDIDIyNC4wOCwyNzkuMDQgMjIwLjQ4LDI3NS4zMjggMjE2LjA4LDI3NS4xNjggTCAxNTYuMDk2LDI3MS4wNTYgQyAxNTEuNzI4LDI3MC42MDggMTQ3LjY2NCwyNjYuNjcyIDE0Ny4wNzIsMjYyLjMyIEwgMTQ0LjQwLDIzMi4wMCBDIDE0NC4yMjQsMjI3LjYwIDE0MC40OCwyMjQuMDAgMTM2LjExMiwyMjQuMDAgQyAxMzEuNzI4LDIyNC4wMCAxMjguMzIsMjI3LjYwIDEyOC41NDQsMjMyLjAwIEwgMTMzLjQyNCwyNzYuNTc2IEMgMTM0LjE2LDI4MC45MjggMTM4LjMzNiwyODQuODk2IDE0Mi43MDQsMjg1LjM5MiBMIDIxNi4wOCwyOTEuMTM2IFoiIGRhdGEtdGFncz0idHYiIC8+CjxnbHlwaCB1bmljb2RlPSImI3hlMDA0OyIgZD0iTSA0MzEuOTY4LDI1NS45NTIgQyA0MzEuOTY4LDMzNS4zNDQgMzY3LjM3NiwzOTkuOTUyIDI4Ny45NjgsMzk5LjkzNiBMIDI4Ny45NjgsNDAwLjAwIEMgMjgzLjU2OCw0MDAuMDE2IDI4MC4wMCw0MDMuNjAgMjgwLjAwLDQwOC4wMCBDIDI4MC4wMCw0MTIuNDE2IDI4My41NjgsNDE2LjAwIDI4OC4wMCw0MTYuMDAgQyAyODguMTYsNDE2LjAwIDI4OC4yODgsNDE1LjkzNiAyODguNDAsNDE1LjkwNCBDIDM3Ni41MjgsNDE1LjY5NiA0NDcuODcyLDM0NC4yNzIgNDQ3Ljk2OCwyNTYuMTI4IEMgNDQ3Ljk2OCwyNTYuMDggNDQ4LjAwLDI1Ni4wNDggNDQ4LjAwLDI1Ni4wMCBDIDQ0OC4wMCwyNTEuNTg0IDQ0NC40MCwyNDguMDE2IDQ0MC4wMCwyNDguMDE2IEMgNDM1LjYwLDI0OC4wMTYgNDMyLjAzMiwyNTEuNTY4IDQzMi4wMCwyNTUuOTUyIEwgNDMxLjk2OCwyNTUuOTUyIFpNIDE0NS45MzYsNDY1Ljk1MkMgMTM2Ljc2OCw0NzUuMTM2LCAxMjQuNDgsNDgwLjAwLCAxMTEuOTg0LDQ4MC4wMEMgMTA1LjgwOCw0ODAuMDAsIDk5LjU4NCw0NzguODE2LCA5My42NDgsNDc2LjM1MkMgNzUuNjk2LDQ2OC45MjgsIDY0LjAwLDQ1MS40MjQsIDY0LjAwLDQzMi4wMAoJCUwgNjMuOTg0LDIxMS44ODhsLTQ5LjkyLTQ5Ljk1MmMtMTguNzUyLTE4LjcyLTE4Ljc1Mi00OS4xMiwwLjAwLTY3Ljg3MmwgMTEyLjAwLTExMi4wMEMgMTM1LjQ0LTI3LjMxMiwgMTQ3LjcxMi0zMi4wMCwgMTYwLjAwLTMyLjAwcyAyNC41Niw0LjY4OCwgMzMuOTM2LDE0LjA2NEwgMjQzLjg3MiwzMi4wMAoJCWwgMjIwLjA5NiwwLjAwIGMgMTkuNDQsMC4wMCwgMzYuOTQ0LDExLjY4LCA0NC4zMzYsMjkuNjMyYyA3LjQ0LDE3LjkzNiwgMy4zNDQsMzguNTkyLTEwLjQwLDUyLjMyTCAxNDUuOTM2LDQ2NS45NTJ6IE0gMjIxLjI0OCw1NC42MjRsLTQ5LjkzNi00OS45MzYKCQlDIDE2Ny4yMzIsMC42MjQsIDE2Mi40NjQsMC4wMCwgMTYwLjAwLDAuMDBzLTcuMjMyLDAuNjI0LTExLjMxMiw0LjY4OGwtMTEyLjAwLDExMi4wMEMgMzIuNjA4LDEyMC43ODQsIDMyLjAwLDEyNS41MzYsIDMyLjAwLDEyOC4wMHMgMC42MDgsNy4yNDgsIDQuNjg4LDExLjMxMmwgNDkuOTIsNDkuOTM2CgkJYyAwLjE0NCwwLjE2LCAwLjE5MiwwLjMzNiwgMC4zMzYsMC40OTZsIDEzNC44MC0xMzQuODE2QyAyMjEuNjAsNTQuODE2LCAyMjEuMzkyLDU0Ljc4NCwgMjIxLjI0OCw1NC42MjR6IE0gMjQzLjg3Miw2NC4wMAoJCWMtMi40OCwwLjAwLTQuNzg0LTAuODgtNy4xNTItMS40MDhMIDk0LjU2LDIwNC43NTJjIDAuNTQ0LDIuMzY4LCAxLjQyNCw0LjY3MiwgMS40MjQsNy4xMzZMIDk2LjAwLDQwNC42MjRMIDQzNi41OTIsNjQuMDBMIDI0My44NzIsNjQuMDAgeiBNIDQ3OC43NTIsNzMuODcyCgkJQyA0NzYuMjg4LDY3Ljg3MiwgNDcwLjQ2NCw2NC4wMCwgNDYzLjk2OCw2NC4wMGwtNC43NTIsMC4wMCBMIDk2LjAwLDQyNy4yNDhMIDk2LjAwLDQzMi4wMCBjMC4wMCw2LjQ5NiwgMy44NzIsMTIuMzA0LCA5Ljg3MiwxNC43ODRDIDEwNy44NCw0NDcuNjAsIDEwOS44ODgsNDQ4LjAwLCAxMTEuOTg0LDQ0OC4wMAoJCWMgNC4yODgsMC4wMCwgOC4zMDQtMS42NjQsIDExLjMxMi00LjY3MmwgMzUxLjk4NC0zNTIuMDE2QyA0NzkuODcyLDg2LjcyLCA0ODEuMjQ4LDc5Ljg3MiwgNDc4Ljc1Miw3My44NzJ6TSAyODcuOTY4LDQ0OC4wMCBDIDI3OS4xNTIsNDQ4LjAxNiAyNzIuMDAsNDU1LjE4NCAyNzIuMDAsNDY0LjAwIEMgMjcyLjAwLDQ3Mi44NDggMjc5LjE1Miw0ODAuMDAgMjg4LjAwLDQ4MC4wMCBDIDI4OC4xNiw0ODAuMDAgMjg4LjI4OCw0NzkuOTM2IDI4OC40MCw0NzkuOTIgQyA0MTEuODcyLDQ3OS42OTYgNTExLjg3MiwzNzkuNjE2IDUxMS45NjgsMjU2LjEyOCBDIDUxMS45NjgsMjU2LjA4IDUxMi4wMCwyNTYuMDQ4IDUxMi4wMCwyNTYuMDAgQyA1MTIuMDAsMjQ3LjE1MiA1MDQuODQ4LDI0MC4wMCA0OTYuMDAsMjQwLjAwIEMgNDg3LjE4NCwyNDAuMDAgNDgwLjAzMiwyNDcuMTM2IDQ4MC4wMCwyNTUuOTM2IEwgNDc5Ljk2OCwyNTUuOTM2IEMgNDc5Ljk2OCwzNjEuODA4IDM5My44NCw0NDcuOTM2IDI4Ny45NjgsNDQ3LjkzNiBMIDI4Ny45NjgsNDQ4LjAwIFoiIGRhdGEtdGFncz0ic291bmQiIC8+CjxnbHlwaCB1bmljb2RlPSImI3hlMDA1OyIgZD0iTSA0ODAuMDAsMzg0LjAwbC0xNC4xOTIsMC4wMCBjLTguNDAsMC4wMC0xNi40NjQtMy4zMTItMjIuNDY0LTkuMjE2TCA0MDAuMDAsMzMyLjAzMkwgNDAwLjAwLDM1Mi4wMCBjMC4wMCwyNi41MTItMjEuNTA0LDQ4LjAwLTQ4LjAwLDQ4LjAwTCA0OC4wMCw0MDAuMDAgCglDIDIxLjUzNiw0MDAuMDAsMC4wMCwzNzguNDgsMC4wMCwzNTIuMDBsMC4wMC0xMTEuNTUyIEwwLjAwLDk2LjAwIGMwLjAwLTI2LjQ5NiwgMjEuNDg4LTQ4LjAwLCA0OC4wMC00OC4wMGwgMzA0LjAwLDAuMDAgYyAyNi40OTYsMC4wMCwgNDguMDAsMjEuNTA0LCA0OC4wMCw0OC4wMGwwLjAwLDE5LjUzNiBsIDQzLjM0NC00Mi43NTJjIDYuMDAtNS45MDQsIDE0LjA2NC05LjIxNiwgMjIuNDY0LTkuMjE2CglMIDQ4MC4wMCw2My41NjggYyAxNy42NjQsMC4wMCwgMzIuMDAsMTQuMzIsIDMyLjAwLDMyLjAwTCA1MTIuMDAsMzUyLjAwIEMgNTEyLjAwLDM2OS42OCwgNDk3LjY2NCwzODQuMDAsIDQ4MC4wMCwzODQuMDB6IE0gNDguMDAsODAuMDBjLTguODMyLDAuMDAtMTYuMDAsNy4xODQtMTYuMDAsMTYuMDBMIDMyLjAwLDM1Mi4wMCBjMC4wMCw4Ljg0OCwgNy4xNTIsMTYuMDAsIDE2LjAwLDE2LjAwbCAzMDQuMDAsMC4wMCBjIDguODE2LDAuMDAsIDE2LjAwLTcuMTY4LCAxNi4wMC0xNi4wMGwwLjAwLTI1Ni4wMCAKCWMwLjAwLTguODE2LTcuMTg0LTE2LjAwLTE2LjAwLTE2LjAwTCA0OC4wMCw4MC4wMCB6IE0gNDgwLjAwLDk1LjU2OGwtMTQuMTkyLDAuMDAgTCA0NjQuMDAsOTUuNTY4IGwtNjQuMDAsNjQuMDBMIDQwMC4wMCwxNjAuMDAgbC0xNi4wMCwxNi4wMGwwLjAwLDk2LjAwIGwgODAuMDAsODAuMDBsIDEuODA4LDAuMDAgTCA0ODAuMDAsMzUyLjAwIEwgNDgwLjAwLDk1LjU2OCB6IiBkYXRhLXRhZ3M9InZpZGVvIiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTAwNjsiIGQ9Ik0gNDc5LjY4LDM3MC44OTZjLTEuNTM2LDI1LjEyLTIyLjE5Miw0NS4wNTYtNDcuNjgsNDUuMDU2bC00OC4wMCwwLjAwIGwwLjAwLDE2LjAwIEwgMzg0LjAwLDQzMS45ODQgCgkJYzAuMDAsMjYuNTEyLTIxLjUwNCw0OC4wMC00OC4wMCw0OC4wMEwgMTc2LjAwLDQ3OS45ODQgYy0yNi41MTIsMC4wMC00OC4wMC0yMS40ODgtNDguMDAtNDguMDBsMC4wMC0wLjAxNiBsMC4wMC0xNi4wMCBMIDgwLjAwLDQxNS45NjggYy0yNS41MiwwLjAwLTQ2LjE2LTE5LjkzNi00Ny42OTYtNDUuMDU2TCAzMi4wMCwzNzAuOTEyIGwwLjAwLTE4LjkyOCBsMC4wMC0xNi4wMCBjMC4wMC0xNy42NjQsIDE0LjMzNi0zMi4wMCwgMzIuMDAtMzIuMDBsMC4wMCwwLjAwbDAuMDAtMjcyLjAwIAoJCWMwLjAwLTM1LjM0NCwgMjguNjU2LTY0LjAwLCA2NC4wMC02NC4wMGwgMjU2LjAwLDAuMDAgYyAzNS4zNDQsMC4wMCwgNjQuMDAsMjguNjU2LCA2NC4wMCw2NC4wMGwwLjAwLDI3Mi4wMCBsMC4wMCwwLjAwYyAxNy42NjQsMC4wMCwgMzIuMDAsMTQuMzM2LCAzMi4wMCwzMi4wMGwwLjAwLDE2LjAwIEwgNDgwLjAwLDM3MC44OTYgTCA0NzkuNjgsMzcwLjg5NiB6IE0gMTYwLjAwLDQzMS45NjhjMC4wMCw4Ljg0OCwgNy4xNTIsMTYuMDAsIDE2LjAwLDE2LjAwbCAxNjAuMDAsMC4wMCAKCQljIDguODQ4LDAuMDAsIDE2LjAwLTcuMTUyLCAxNi4wMC0xNi4wMGwwLjAwLTE2LjAwIEwgMTYwLjAwLDQxNS45NjggTCAxNjAuMDAsNDMxLjk2OCB6IE0gNDE2LjAwLDMxLjk2OGMwLjAwLTE3LjYzMi0xNC4zNjgtMzIuMDAtMzIuMDAtMzIuMDBMIDEyOC4wMC0wLjAzMiBjLTE3LjY0OCwwLjAwLTMyLjAwLDE0LjM2OC0zMi4wMCwzMi4wMGwwLjAwLDI3Mi4wMCBsIDMyMC4wMCwwLjAwIEwgNDE2LjAwLDMxLjk2OCB6IE0gNDQ4LjAwLDM1MS45ODRsMC4wMC0xNi4wMCBMIDY0LjAwLDMzNS45ODQgbDAuMDAsMTYuMDAgTCA2NC4wMCwzNjcuOTY4IAoJCWMwLjAwLDguODQ4LCA3LjE1MiwxNi4wMCwgMTYuMDAsMTYuMDBsIDM1Mi4wMCwwLjAwIGMgOC44NDgsMC4wMCwgMTYuMDAtNy4xNTIsIDE2LjAwLTE2LjAwTCA0NDguMDAsMzUxLjk4NCB6TSAxNDQuMDAsMzEuOTA0bCAzMi4wMCwwLjAwIGMgOC44NDgsMC4wMCwgMTYuMDAsNy4xNTIsIDE2LjAwLDE2LjAwbDAuMDAsMjA4LjAwIGMwLjAwLDguODQ4LTcuMTUyLDE2LjAwLTE2LjAwLDE2LjAwTCAxNDQuMDAsMjcxLjkwNCAKCQljLTguODQ4LDAuMDAtMTYuMDAtNy4xNTItMTYuMDAtMTYuMDBsMC4wMC0yMDguMDAgQyAxMjguMDAsMzkuMDU2LCAxMzUuMTUyLDMxLjkwNCwgMTQ0LjAwLDMxLjkwNHogTSAxNDQuMDAsMjU1LjkybCAzMi4wMCwwLjAwIGwwLjAwLTIwOC4wMCBMIDE0NC4wMCw0Ny45MiBMIDE0NC4wMCwyNTUuOTIgek0gMjQwLjAwLDMxLjkwNGwgMzIuMDAsMC4wMCBjIDguODQ4LDAuMDAsIDE2LjAwLDcuMTUyLCAxNi4wMCwxNi4wMGwwLjAwLDIwOC4wMCBjMC4wMCw4Ljg0OC03LjE1MiwxNi4wMC0xNi4wMCwxNi4wMGwtMzIuMDAsMC4wMCAKCQljLTguODQ4LDAuMDAtMTYuMDAtNy4xNTItMTYuMDAtMTYuMDBsMC4wMC0yMDguMDAgQyAyMjQuMDAsMzkuMDU2LCAyMzEuMTUyLDMxLjkwNCwgMjQwLjAwLDMxLjkwNHogTSAyNDAuMDAsMjU1LjkybCAzMi4wMCwwLjAwIGwwLjAwLTIwOC4wMCBsLTMyLjAwLDAuMDAgTCAyNDAuMDAsMjU1LjkyIHpNIDMzNi4wMCwzMS45MDRsIDMyLjAwLDAuMDAgYyA4Ljg0OCwwLjAwLCAxNi4wMCw3LjE1MiwgMTYuMDAsMTYuMDBsMC4wMCwyMDguMDAgYzAuMDAsOC44NDgtNy4xNTIsMTYuMDAtMTYuMDAsMTYuMDBsLTMyLjAwLDAuMDAgCgkJYy04Ljg0OCwwLjAwLTE2LjAwLTcuMTUyLTE2LjAwLTE2LjAwbDAuMDAtMjA4LjAwIEMgMzIwLjAwLDM5LjA1NiwgMzI3LjE1MiwzMS45MDQsIDMzNi4wMCwzMS45MDR6IE0gMzM2LjAwLDI1NS45MmwgMzIuMDAsMC4wMCBsMC4wMC0yMDguMDAgbC0zMi4wMCwwLjAwIEwgMzM2LjAwLDI1NS45MiB6IiBkYXRhLXRhZ3M9InRyYXNoIiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTAwNzsiIGQ9Ik0gNDk3Ljc2LDI2LjYyNGMtMy4yMTYsMi4xMjgtNjEuNTY4LDQwLjQwLTE0OC4zNjgsNTkuMTg0YyAzMS44NCw0MC4zMzYsIDUyLjI4OCw5NC41OTIsIDYwLjk3NiwxMzAuNzA0CgljIDEyLjA2NCw1MC4wNDgsIDcuMzc2LDE0Ny45NjgtNDAuNjg4LDIwOC45OTJDIDM0MS41ODQsNDYxLjE2OCwgMzAyLjI3Miw0ODAuMDAsIDI1Ni4wMCw0ODAuMDBjLTQ2LjI3MiwwLjAwLTg1LjU4NC0xOC44NDgtMTEzLjY2NC01NC40OTYKCUMgOTQuMjcyLDM2NC40OTYsIDg5LjYwLDI2Ni41NzYsIDEwMS42NDgsMjE2LjUyOGMgOC42ODgtMzYuMTEyLCAyOS4xMi05MC4zNjgsIDYwLjk3Ni0xMzAuNzA0Yy04Ni44MC0xOC43ODQtMTQ1LjE1Mi01Ny4wNTYtMTQ4LjM1Mi01OS4xODQKCWMtMTEuNzI4LTcuODA4LTE2Ljk3Ni0yMi40MC0xMi44OC0zNS44NzJDIDUuNDU2LTIyLjc1MiwgMTcuOTItMzIuMDAsIDMyLjAwLTMyLjAwbCA0NDguMDAsMC4wMCBjIDE0LjA5NiwwLjAwLCAyNi41MjgsOS4yNDgsIDMwLjYyNCwyMi43NTIKCUMgNTE0LjczNiw0LjIyNCwgNTA5LjQ4OCwxOC44MTYsIDQ5Ny43NiwyNi42MjR6IE0gMzI0LjI3MiwxMDUuNjMybC01LjIxNi02LjYyNGMtMzguMTYtNDMuODQtODcuOTItNDMuODQtMTI2LjA2NCwwLjAwbC01LjIzMiw2LjYyNAoJYy00NC41Niw1Ni40NjQtNjYuNjcyLDEzMS4xNTItNTcuMTUyLDIwMi40MEMgMTM5LjMyOCwzNzYuNDk2LCAxNzguNTYsNDQ4LjAwLCAyNTYuMDAsNDQ4LjAwYyA3Ny40NCwwLjAwLCAxMTYuNjg4LTcxLjUyLCAxMjUuNDA4LTEzOS45ODQKCUMgMzkwLjg5NiwyMzYuNzM2LCAzNjguODY0LDE2Mi4xMjgsIDMyNC4yNzIsMTA1LjYzMnogTSAzMi4wMCwwLjAwYyAyLjIwOCwxLjQ3MiwgNTYuNDE2LDM3LjAyNCwgMTM3LjM3Niw1NC41MjhsIDM5Ljc0NCw4LjU5MkMgMjIzLjMxMiw1My44MDgsIDIzOC44OCw0OC4wMCwgMjU2LjAwLDQ4LjAwCgljIDE3LjEzNiwwLjAwLCAzMi42ODgsNS44MDgsIDQ2Ljg4LDE1LjEybCAzOS43NDQtOC41OTJjIDgwLjMyLTE3LjM3NiwgMTM0LjMzNi01Mi41MjgsIDEzNy4zNzYtNTQuNTI4TCAzMi4wMCwwLjAwIHoiIGRhdGEtdGFncz0idXNlciIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUwMDg7IiBkPSJNIDM1Mi4wNjQsNDgwLjAwYy04OC4zNjgsMC4wMC0xNjAuMDAtNzEuNjQ4LTE2MC4wMC0xNjAuMDBjMC4wMC0yMC41NiwgNC4zMDQtNDAuMDE2LCAxMS40MDgtNTguMDY0TCA5LjA4OCw2Ny41NjgKCQlDIDMuNDcyLDYxLjkzNiwgMC4wMCw1Ni41OTIsIDAuMDAsNDguMDBsMC4wMC00OC4wMCBjMC4wMC0xNy4xMiwgMTQuODY0LTMyLjAwLCAzMi4wMC0zMi4wMGwgNDguMDAsMC4wMCBjIDguNTc2LDAuMDAsIDE0LjAwLDMuNDQsIDE5LjYxNiw5LjAyNEwgMTIyLjU3NiwwLjAwbCAzNy40ODgsMC4wMCBjIDE3LjY2NCwwLjAwLCAzMi4wMCwxNC4zMzYsIDMyLjAwLDMyLjAwbDAuMDAsMzIuMDAgbCAzMi4wMCwwLjAwIAoJCWMgMTcuNjY0LDAuMDAsIDMyLjAwLDE0LjMzNiwgMzIuMDAsMzIuMDBsMC4wMCwzNy41MDQgbCAzNy45MDQsMzcuOTM2QyAzMTIuMDMyLDE2NC4zMiwgMzMxLjQ3MiwxNjAuMDAsIDM1Mi4wNjQsMTYwLjAwYyA4OC4zMzYsMC4wMCwgMTYwLjAwLDcxLjY0OCwgMTYwLjAwLDE2MC4wMFMgNDQwLjQwLDQ4MC4wMCwgMzUyLjA2NCw0ODAuMDB6IE0gMzUyLjA2NCwxOTIuMDAKCQljLTIzLjY4LDAuMDAtNDUuNjMyLDYuODgtNjQuNjU2LDE4LjExMmwtNS41MDQtNS40ODhsLTE4LjAwLTE4LjAwbC0zMC40OC0zMC40OTZjLTYuMDAtNi4wMC05LjM3Ni0xNC4xMjgtOS4zNzYtMjIuNjI0TCAyMjQuMDQ4LDk2LjAwIGwtMzIuMDAsMC4wMCAKCQljLTE3LjY2NCwwLjAwLTMyLjAwLTE0LjMyLTMyLjAwLTMyLjAwbDAuMDAtMzIuMDAgTCAxMjIuNTc2LDMyLjAwIGMtOC40OCwwLjAwLTE2LjYyNC0zLjM3Ni0yMi42MjQtOS4zNzZsLTIyLjY4OC0yMi42ODhMIDMyLjA0OCwwLjAwTCAzMi4wMCw0NS42MGwgMTg2LjY0LDE4Ni4zMDQKCQljMC4wMCwwLjAwLDAuMDAtMC4wMTYsIDAuMDE2LTAuMDMybCAyMy41MDQsMjMuNTA0Yy0xMS4yMzIsMTkuMDI0LTE4LjExMiw0MC45Ni0xOC4xMTIsNjQuNjRjMC4wMCw3MC42ODgsIDU3LjMyOCwxMjguMDAsIDEyOC4wMCwxMjguMDBzIDEyOC4wMC01Ny4zMTIsIDEyOC4wMC0xMjguMDBTIDQyMi43NTIsMTkyLjAwLCAzNTIuMDY0LDE5Mi4wMHpNIDQ0NS4xMiwzNDguMTc2Yy0xNy45MzYsMjQuOTkyLTM5Ljc3Niw0Ni44MC02NC44OCw2NC44NjRDIDM3Ni4xNiw0MTYuMDAsIDM3MC44OCw0MTYuNzM2LCAzNjYuMTI4LDQxNS4wNzIKCQljLTIyLjIyNC03LjgyNC0zNy40NC0yMy4wMjQtNDUuMjE2LTQ1LjI0OGMtMC41OTItMS42NjQtMC44OC0zLjM5Mi0wLjg4LTUuMTA0YzAuMDAtMy4xODQsIDAuOTkyLTYuMzM2LCAyLjkxMi05LjAwOAoJCWMgMTguMDAtMjUuMDI0LCAzOS44MDgtNDYuODQ4LCA2NC44NDgtNjQuODQ4YyA0LjA5Ni0yLjk0NCwgOS4zNDQtMy42OTYsIDE0LjA5Ni0yLjA0OGMgMjIuMjU2LDcuNzc2LCAzNy40NzIsMjMuMDA4LCA0NS4yOCw0NS4yNDgKCQljIDAuNTkyLDEuNjY0LCAwLjg4LDMuMzkyLCAwLjg4LDUuMTA0QyA0NDguMDMyLDM0Mi4zNTIsIDQ0Ny4wMjQsMzQ1LjUwNCwgNDQ1LjEyLDM0OC4xNzZ6IE0gMzk3LjEyLDMwMy44NEMgMzczLjQ3MiwzMjAuODQ4LCAzNTIuODgsMzQxLjQ0LCAzMzYuMDAsMzY0LjUyOAoJCWMgNi4xOTIsMTcuNjQ4LCAxNy43NzYsMjkuMjMyLCAzNC45MTIsMzUuNTM2YyAyMy42NjQtMTcuMDQsIDQ0LjIyNC0zNy41ODQsIDYxLjA1Ni02MC45NzZDIDQyNS43MTIsMzIxLjU2OCwgNDE0LjE2LDMxMC4wNDgsIDM5Ny4xMiwzMDMuODR6IiBkYXRhLXRhZ3M9ImtleSIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUwMDk7IiBkPSJNIDMyMC4wMCw0NzkuOTJjLTEwNi4wMzIsMC4wMC0xOTIuMDAtODUuOTY4LTE5Mi4wMC0xOTIuMDBjMC4wMC0zMi40MTYsIDguMTEyLTYyLjkyOCwgMjIuMzItODkuNzI4bC0xMzMuNTA0LTEzMy40NzJsIDAuMTEyLTAuMDk2CgkJQyA2LjQ5Niw1NC4zNjgsMC4wMCw0MC4xNiwwLjAwLDI0LjM2OGMwLjAwLTMxLjE4NCwgMjUuMjgtNTYuNDY0LCA1Ni40NjQtNTYuNDY0YyAxNS43NiwwLjAwLCAyOS45ODQsNi40OTYsIDQwLjI0LDE2Ljk0NGwtMC4wMzIsMC4wMzJsIDEzMy40NTYsMTMzLjQ0CgkJYyAyNi44MTYtMTQuMjU2LCA1Ny4zNzYtMjIuNDAsIDg5Ljg3Mi0yMi40MGMgMTA2LjAzMiwwLjAwLCAxOTIuMDAsODUuOTY4LCAxOTIuMDAsMTkyLjAwQyA1MTIuMDAsMzkzLjk1MiwgNDI2LjAzMiw0NzkuOTIsIDMyMC4wMCw0NzkuOTJ6IE0gNzYuNzIsNC44NDgKCQljLTUuMTUyLTUuMzQ0LTEyLjI4OC04LjY4OC0yMC4yNTYtOC42ODhjLTE1LjYwLDAuMDAtMjguMjQsMTIuNjI0LTI4LjI0LDI4LjIyNGMwLjAwLDcuOTY4LCAzLjM2LDE1LjA4OCwgOC42ODgsMjAuMjU2bC0wLjE0NCwwLjEyOGwgMTI5LjA1NiwxMjkuMDU2CgkJYyAxMS4yOC0xNS4yMTYsIDI0LjcyLTI4LjY1NiwgMzkuOTA0LTM5Ljk2OEwgNzYuNzIsNC44NDh6IE0gMzIwLjAwLDEyNy45MDRjLTg4LjM1MiwwLjAwLTE2MC4wMCw3MS42NjQtMTYwLjAwLDE2MC4wMGMwLjAwLDg4LjM1MiwgNzEuNjQ4LDE2MC4wMCwgMTYwLjAwLDE2MC4wMAoJCWMgODguMzM2LDAuMDAsIDE2MC4wMC03MS42NDgsIDE2MC4wMC0xNjAuMDBDIDQ4MC4wMCwxOTkuNTY4LCA0MDguMzM2LDEyNy45MDQsIDMyMC4wMCwxMjcuOTA0ek0gMzIwLjAwLDM5OS45MiBDIDMyNC40MCwzOTkuOTIgMzI4LjAwLDM5Ni4zMzYgMzI4LjAwLDM5MS45MiBDIDMyOC4wMCwzODcuNTA0IDMyNC40MCwzODMuOTIgMzIwLjAwLDM4My45MiBDIDI2Ni45NzYsMzgzLjkyIDIyNC4wMCwzNDAuOTI4IDIyNC4wMCwyODcuOTIgQyAyMjQuMDAsMjgzLjUwNCAyMjAuNDE2LDI3OS45MiAyMTYuMDAsMjc5LjkyIEMgMjExLjU4NCwyNzkuOTIgMjA4LjAwLDI4My41MDQgMjA4LjAwLDI4Ny45MiBDIDIwOC4wMCwzNDkuNzc2IDI1OC4xMjgsMzk5LjkyIDMyMC4wMCwzOTkuOTIgWiIgZGF0YS10YWdzPSJzZWFyY2giIC8+CjxnbHlwaCB1bmljb2RlPSImI3hlMDBhOyIgZD0iTSA0ODYuMjU2LDI3Ny4xMmwtNDkuMDI0LDkuODI0Yy0yLjQ2NCw3LjA4OC01LjM3NiwxMy45NjgtOC41OTIsMjAuNjI0bCAyNy43NzYsNDEuNjY0CgkJYyA4LjQ2NCwxMi42ODgsIDYuNzg0LDI5LjYwLTQuMDAsNDAuMzY4bC0zMC43ODQsMzAuNzg0Yy02LjE5Miw2LjE5Mi0xNC4zNjgsOS4zNzYtMjIuNjU2LDkuMzc2Yy02LjEyOCwwLjAwLTEyLjMyLTEuNzYtMTcuNzEyLTUuMzc2CgkJbC00MS42NjQtMjcuNzZjLTYuNjg4LDMuMjMyLTEzLjU2OCw2LjExMi0yMC42NTYsOC41NzZMIDMwOS4xMiw0NTQuMjRjLTIuOTc2LDE0Ljk3Ni0xNi4xMjgsMjUuNzI4LTMxLjM3NiwyNS43MjhsLTQzLjUyLDAuMDAgCgkJYy0xNS4yNDgsMC4wMC0yOC4zODQtMTAuNzY4LTMxLjM3Ni0yNS43MjhsLTkuODI0LTQ5LjA0Yy03LjA4OC0yLjQ2NC0xMy45NjgtNS4zNi0yMC42MjQtOC41NzZMIDEzMC43NTIsNDI0LjM4NAoJCUMgMTI1LjMyOCw0MjguMDAsIDExOS4xNTIsNDI5Ljc2LCAxMTMuMDA4LDQyOS43NmMtOC4yNzIsMC4wMC0xNi40NDgtMy4xODQtMjIuNjQtOS4zNzZMIDU5LjYwLDM4OS42MGMtMTAuNzg0LTEwLjc4NC0xMi40NjQtMjcuNjgtNC4wMC00MC4zNjhsIDI3Ljc2LTQxLjY2NAoJCWMtMy4yMzItNi42NzItNi4xMTItMTMuNTUyLTguNTc2LTIwLjY0TCAyNS43MjgsMjc3LjEyQyAxMC43NjgsMjc0LjEyOCwwLjAwLDI2MC45OTIsMC4wMCwyNDUuNzQ0bDAuMDAtNDMuNTIgYzAuMDAtMTUuMjQ4LCAxMC43NjgtMjguNDAsIDI1LjcyOC0zMS4zNzYKCQlsIDQ5LjA0LTkuODRjIDIuNDY0LTcuMDg4LCA1LjM2LTEzLjk2OCwgOC41NzYtMjAuNjI0TCA1NS42MCw5OC43MmMtOC40NjQtMTIuNjg4LTYuNzg0LTI5LjYwLCA0LjAwLTQwLjM2OGwgMzAuNzg0LTMwLjc4NAoJCWMgNi4xOTItNi4xOTIsIDE0LjM2OC05LjM3NiwgMjIuNjQtOS4zNzZjIDYuMTQ0LDAuMDAsIDEyLjMzNiwxLjc3NiwgMTcuNzI4LDUuMzc2bCA0MS42NjQsMjcuNzc2YyA2LjY3Mi0zLjI0OCwgMTMuNTUyLTYuMTI4LCAyMC42NC04LjU5MgoJCWwgOS44MDgtNDkuMDI0YyAyLjk5Mi0xNC45NzYsIDE2LjEyOC0yNS43NDQsIDMxLjM3Ni0yNS43NDRsIDQzLjUyLDAuMDAgYyAxNS4yNDgsMC4wMCwgMjguNDAsMTAuNzg0LCAzMS4zNzYsMjUuNzQ0bCA5Ljg0LDQ5LjAyNAoJCWMgNy4wODgsMi40NjQsIDEzLjk2OCw1LjM3NiwgMjAuNjI0LDguNTkybCA0MS42NjQtMjcuNzc2YyA1LjQwOC0zLjYwLCAxMS42MC01LjM3NiwgMTcuNzEyLTUuMzc2YyA4LjI4OCwwLjAwLCAxNi40NjQsMy4xODQsIDIyLjY1Niw5LjM3NgoJCWwgMzAuNzg0LDMwLjc4NGMgMTAuNzg0LDEwLjc4NCwgMTIuNDY0LDI3LjY4LCA0LjAwLDQwLjM2OGwtMjcuNzc2LDQxLjY2NGMgMy4yNDgsNi42ODgsIDYuMTI4LDEzLjU2OCwgOC41OTIsMjAuNjU2bCA0OS4wMjQsOS44MDgKCQlDIDUwMS4yMTYsMTczLjgwOCwgNTEyLjAwLDE4Ni45NzYsIDUxMi4wMCwyMDIuMjI0bDAuMDAsNDMuNTIgQyA1MTIuMDAsMjYwLjk5MiwgNTAxLjIxNiwyNzQuMTI4LCA0ODYuMjU2LDI3Ny4xMnogTSA0MzAuOTQ0LDE5Mi40MAoJCWMtMTEuMTItMi4yMjQtMjAuMjI0LTEwLjE2LTIzLjkzNi0yMC44OGMtMi4wNjQtNS45MDQtNC40NjQtMTEuNjMyLTcuMTUyLTE3LjE4NGMtNC45NzYtMTAuMjI0LTQuMTI4LTIyLjI4OCwgMi4xNi0zMS43MTJsIDI3Ljc3Ni00MS42NjQKCQlsLTMwLjc4NC0zMC43ODRsLTQxLjY2NCwyNy43NzZjLTUuMzQ0LDMuNTY4LTExLjUzNiw1LjM3Ni0xNy43NDQsNS4zNzZjLTQuNzUyLDAuMDAtOS41MzYtMS4wNTYtMTMuOTM2LTMuMTg0CgkJYy01LjU2OC0yLjY4OC0xMS4yOC01LjEyLTE3LjIxNi03LjE4NGMtMTAuNjg4LTMuNzEyLTE4LjYyNC0xMi44MTYtMjAuODQ4LTIzLjkzNmwtOS44NC00OS4wNTZsLTQzLjUyLDAuMDAgbC05LjgwOCw0OS4wNTYKCQljLTIuMjI0LDExLjEyLTEwLjE2LDIwLjIyNC0yMC44NjQsMjMuOTM2Yy01LjkwNCwyLjA2NC0xMS42NDgsNC40NjQtMTcuMjAsNy4xNTJjLTQuNDE2LDIuMTYtOS4xODQsMy4yMTYtMTMuOTUyLDMuMjE2CgkJYy02LjIyNCwwLjAwLTEyLjQwLTEuODA4LTE3Ljc0NC01LjM3NmwtNDEuNjY0LTI3Ljc3NmwtMzAuNzg0LDMwLjc4NGwgMjcuNzYsNDEuNjY0YyA2LjI4OCw5LjQ0LCA3LjEwNCwyMS41MDQsIDIuMTkyLDMxLjY4CgkJYy0yLjY4OCw1LjU2OC01LjEwNCwxMS4yOC03LjE2OCwxNy4yMTZjLTMuNzEyLDEwLjY4OC0xMi44MzIsMTguNjI0LTIzLjkzNiwyMC44NDhsLTQ5LjA0LDkuODRMIDMyLjAwLDI0NS43NDRsIDQ5LjA1Niw5LjgwOAoJCWMgMTEuMTA0LDIuMjI0LCAyMC4yMjQsMTAuMTYsIDIzLjkzNiwyMC44NjRjIDIuMDY0LDUuOTA0LCA0LjQ0OCwxMS42NDgsIDcuMTUyLDE3LjIwYyA0Ljk2LDEwLjIwOCwgNC4xMjgsMjIuMjcyLTIuMTc2LDMxLjY5NkwgODIuMjI0LDM2Ni45NzYKCQlMIDExMi45OTIsMzk3Ljc2bCA0MS42NjQtMjcuNzZDIDE2MC4wMCwzNjYuNDMyLCAxNjYuMTkyLDM2NC42MjQsIDE3Mi40MCwzNjQuNjI0YyA0Ljc1MiwwLjAwLCA5LjUyLDEuMDU2LCAxMy45MzYsMy4xODRjIDUuNTUyLDIuNjg4LCAxMS4yOCw1LjEwNCwgMTcuMjAsNy4xNjgKCQljIDEwLjcwNCwzLjcxMiwgMTguNjQsMTIuODMyLCAyMC44NjQsMjMuOTM2bCA5LjgyNCw0OS4wNGwgNDMuNTIsMC4wMTZsIDkuODA4LTQ5LjA1NmMgMi4yMjQtMTEuMTA0LCAxMC4xNi0yMC4yMjQsIDIwLjg4LTIzLjkzNgoJCWMgNS45MDQtMi4wNjQsIDExLjYzMi00LjQ0OCwgMTcuMTg0LTcuMTUyYyA0LjQzMi0yLjE0NCwgOS4xODQtMy4yMCwgMTMuOTY4LTMuMjBjIDYuMjI0LDAuMDAsIDEyLjQwLDEuODA4LCAxNy43NDQsNS4zNzZsIDQxLjY2NCwyNy43NmwgMzAuNzg0LTMwLjc4NAoJCWwtMjcuNzc2LTQxLjY2NGMtNi4yODgtOS40NC03LjA4OC0yMS40ODgtMi4xOTItMzEuNjhjIDIuNjg4LTUuNTUyLCA1LjEyLTExLjI4LCA3LjE4NC0xNy4yMGMgMy43MTItMTAuNzA0LCAxMi44MTYtMTguNjQsIDIzLjkzNi0yMC44NjQKCQlsIDQ5LjAyNC05LjgyNEwgNDgwLjAwLDIwMi4yMjRMIDQzMC45NDQsMTkyLjQwek0gMjU2LjAwLDMzNS45ODRjLTYxLjg0LDAuMDAtMTEyLjAwLTUwLjE2LTExMi4wMC0xMTIuMDBjMC4wMC02MS44NTYsIDUwLjE2LTExMi4wMCwgMTEyLjAwLTExMi4wMHMgMTEyLjAwLDUwLjE2LCAxMTIuMDAsMTEyLjAwQyAzNjguMDAsMjg1LjgyNCwgMzE3Ljg0LDMzNS45ODQsIDI1Ni4wMCwzMzUuOTg0egoJCSBNIDI1Ni4wMCwxMjUuOTY4Yy01NC4xMTIsMC4wMC05OC4wMCw0My45MDQtOTguMDAsOTguMDBjMC4wMCw1NC4xMTIsIDQzLjg4OCw5OC4wMCwgOTguMDAsOTguMDBjIDU0LjA5NiwwLjAwLCA5OC4wMC00My44ODgsIDk4LjAwLTk4LjAwCgkJQyAzNTQuMDAsMTY5Ljg3MiwgMzEwLjA5NiwxMjUuOTY4LCAyNTYuMDAsMTI1Ljk2OHpNIDI1Ni4wMCwyODcuOTg0Yy0zNS4zNiwwLjAwLTY0LjAwLTI4LjY0LTY0LjAwLTY0LjAwYzAuMDAtMzUuMzQ0LCAyOC42NC02NC4wMCwgNjQuMDAtNjQuMDBjIDM1LjM0NCwwLjAwLCA2NC4wMCwyOC42NTYsIDY0LjAwLDY0LjAwQyAzMjAuMDAsMjU5LjMyOCwgMjkxLjM0NCwyODcuOTg0LCAyNTYuMDAsMjg3Ljk4NHoKCQkgTSAyNTYuMDAsMTc1Ljk2OGMtMjYuNDk2LDAuMDAtNDguMDAsMjEuNTA0LTQ4LjAwLDQ4LjAwYzAuMDAsMjYuNDk2LCAyMS41MDQsNDguMDAsIDQ4LjAwLDQ4LjAwcyA0OC4wMC0yMS41MDQsIDQ4LjAwLTQ4LjAwQyAzMDQuMDAsMTk3LjQ3MiwgMjgyLjQ5NiwxNzUuOTY4LCAyNTYuMDAsMTc1Ljk2OHoiIGRhdGEtdGFncz0ic2V0dGluZ3MiIC8+CjxnbHlwaCB1bmljb2RlPSImI3hlMDBiOyIgZD0iTSAyNTYuMDAsMzE5Ljk4NGMtNzAuNzA0LDAuMDAtMTI4LjAwLTU3LjI5Ni0xMjguMDAtMTI4LjAwYzAuMDAtNzAuNjg4LCA1Ny4yOTYtMTI4LjAwLCAxMjguMDAtMTI4LjAwCgkJYyA3MC42ODgsMC4wMCwgMTI4LjAwLDU3LjMxMiwgMTI4LjAwLDEyOC4wMEMgMzg0LjAwLDI2Mi42NzIsIDMyNi42ODgsMzE5Ljk4NCwgMjU2LjAwLDMxOS45ODR6IE0gMzI4Ljg4LDEyOS41MDRjLTM0LjQ5Ni00MC4yNTYtOTUuMDg4LTQ0LjkxMi0xMzUuMzQ0LTEwLjQwCgkJYy00MC4yNzIsMzQuNDk2LTQ0LjkxMiw5NS4xMDQtMTAuNDAsMTM1LjM0NGMgMzQuNDgsNDAuMjcyLCA5NS4wODgsNDQuOTEyLCAxMzUuMzQ0LDEwLjQwQyAzNTguNzIsMjMwLjM2OCwgMzYzLjM3NiwxNjkuNzQ0LCAzMjguODgsMTI5LjUwNHpNIDI1Ni4wMCwyNTUuOTg0IEMgMjYwLjQxNiwyNTUuOTg0IDI2NC4wMCwyNTIuNDAgMjY0LjAwLDI0Ny45ODQgQyAyNjQuMDAsMjQzLjU2OCAyNjAuNDE2LDIzOS45ODQgMjU2LjAwLDIzOS45ODQgQyAyMjkuNDg4LDIzOS45ODQgMjA4LjAxNiwyMTguNDk2IDIwOC4wMCwxOTIuMDAgTCAyMDguMDAsMTkxLjk2OCBDIDIwOC4wMCwxODcuNTY4IDIwNC40MTYsMTgzLjk2OCAyMDAuMDAsMTgzLjk2OCBDIDE5NS41ODQsMTgzLjk2OCAxOTIuMDAsMTg3LjU2OCAxOTIuMDAsMTkxLjk2OCBMIDE5Mi4wMCwxOTIuMDAgQyAxOTIuMDE2LDIyNy4zMjggMjIwLjY1NiwyNTUuOTg0IDI1Ni4wMCwyNTUuOTg0IFpNIDQ3MS44NzIsMzM1LjMyOGwtNjkuMzQ0LDExLjU2OGwtMjEuOTY4LDU0Ljk0NAoJCUMgMzczLjIxNiw0MjAuMTYsIDM1NS43MTIsNDMyLjAwLCAzMzYuMDAsNDMyLjAwTCAxNzYuMDAsNDMyLjAwIEMgMTU2LjI4OCw0MzIuMDAsIDEzOC43ODQsNDIwLjE2LCAxMzEuNDI0LDQwMS44MjRMIDEwOS40NzIsMzQ2Ljg5NkwgNDAuMTQ0LDMzNS4zMjhDIDE2Ljg4LDMzMS40NzIsMC4wMCwzMTEuNTY4LDAuMDAsMjg4LjAwbDAuMDAtMjQwLjAwIAoJCWMwLjAwLTI2LjQ2NCwgMjEuNTM2LTQ4LjAwLCA0OC4wMC00OC4wMGwgNDE2LjAwLDAuMDAgYyAyNi40NjQsMC4wMCwgNDguMDAsMjEuNTM2LCA0OC4wMCw0OC4wMEwgNTEyLjAwLDI4OC4wMCBDIDUxMi4wMCwzMTEuNTY4LCA0OTUuMTIsMzMxLjQ3MiwgNDcxLjg3MiwzMzUuMzI4eiBNIDQ4MC4wMCw0OC4wMGMwLjAwLTguODQ4LTcuMTUyLTE2LjAwLTE2LjAwLTE2LjAwTCA0OC4wMCwzMi4wMCAKCQljLTguODQ4LDAuMDAtMTYuMDAsNy4xNTItMTYuMDAsMTYuMDBMIDMyLjAwLDI4OC4wMCBjMC4wMCw3LjgyNCwgNS42NjQsMTQuNDk2LCAxMy4zNzYsMTUuNzc2bCA4Ny4xMDQsMTQuNTEybCAyOC42NTYsNzEuNjQ4QyAxNjMuNTg0LDM5Ni4wMCwgMTY5LjQ1Niw0MDAuMDAsIDE3Ni4wMCw0MDAuMDBsIDE2MC4wMCwwLjAwIAoJCWMgNi41MjgsMC4wMCwgMTIuNDAtMy45ODQsIDE0Ljg0OC0xMC4wNjRsIDI4LjY1Ni03MS42NDhsIDg3LjEyLTE0LjUxMkMgNDc0LjMzNiwzMDIuNDk2LCA0ODAuMDAsMjk1LjgyNCwgNDgwLjAwLDI4OC4wMEwgNDgwLjAwLDQ4LjAwIHoiIGRhdGEtdGFncz0iY2FtZXJhIiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTAwYzsiIGQ9Ik0gNTAyLjI1NiwyNTcuODcybC04MC4wMCwxMjguMDBjLTExLjY4LDE4LjcwNC0zMi4xOTIsMzAuMDgtNTQuMjU2LDMwLjA4TCA2NC4wMCw0MTUuOTUyIAoJCWMtMzUuMzQ0LDAuMDAtNjQuMDAtMjguNjU2LTY0LjAwLTY0LjAwbDAuMDAtMjU2LjAwIGMwLjAwLTM1LjM0NCwgMjguNjU2LTY0LjAwLCA2NC4wMC02NC4wMGwgMzA0LjAwLDAuMDAgYyAyMi4wNjQsMC4wMCwgNDIuNTYsMTEuMzc2LCA1NC4yNTYsMzAuMDk2bCA4MC4wMCwxMjguMDBDIDUxNS4yNDgsMjEwLjc2OCwgNTE1LjI0OCwyMzcuMTIsIDUwMi4yNTYsMjU3Ljg3MnoKCQkgTSA0NzUuMTIsMjA3LjAwOGwtODAuMDAtMTI4LjAzMmMtNS44NzItOS40MDgtMTYuMDMyLTE1LjAyNC0yNy4xMi0xNS4wMjRMIDY0LjAwLDYzLjk1MiBjLTE3LjY0OCwwLjAwLTMyLjAwLDE0LjM2OC0zMi4wMCwzMi4wMGwwLjAwLDI1Ni4wMCBjMC4wMCwxNy42NDgsIDE0LjM1MiwzMi4wMCwgMzIuMDAsMzIuMDBsIDMwNC4wMCwwLjAwIAoJCWMgMTEuMDg4LDAuMDAsIDIxLjI0OC01LjYzMiwgMjcuMTItMTUuMDI0bCA4MC4wMC0xMjguMDBDIDQ4MS41NjgsMjMwLjYwOCwgNDgxLjU2OCwyMTcuMjk2LCA0NzUuMTIsMjA3LjAwOHpNIDM2OC4wMCwyNzEuOTUyYy0yNi41MjgsMC4wMC00OC4wMC0yMS40ODgtNDguMDAtNDguMDBjMC4wMC0yNi41MTIsIDIxLjQ3Mi00OC4wMCwgNDguMDAtNDguMDAKCQljIDI2LjQ5NiwwLjAwLCA0OC4wMCwyMS41MDQsIDQ4LjAwLDQ4LjAwQyA0MTYuMDAsMjUwLjQ2NCwgMzk0LjQ5NiwyNzEuOTUyLCAzNjguMDAsMjcxLjk1MnogTSAzNjguMDAsMTkxLjkzNmMtMTcuNjgsMC4wMC0zMi4wMCwxNC4zMzYtMzIuMDAsMzIuMDBjMC4wMCwxNy42NjQsIDE0LjMyLDMyLjAwLCAzMi4wMCwzMi4wMAoJCWMgMTcuNjY0LDAuMDAsIDMyLjAwLTE0LjMzNiwgMzIuMDAtMzIuMDBDIDQwMC4wMCwyMDYuMjg4LCAzODUuNjY0LDE5MS45MzYsIDM2OC4wMCwxOTEuOTM2eiIgZGF0YS10YWdzPSJ0YWciIC8+CjxnbHlwaCB1bmljb2RlPSImI3hlMDBkOyIgZD0iTSA0MDAuMDAsMjcyLjAwTCA0MDAuMDAsMzM2LjAwIGMwLjAwLDc5LjUzNi02NC40NjQsMTQ0LjAwLTE0NC4wMCwxNDQuMDBjLTc5LjUzNiwwLjAwLTE0NC4wMC02NC40NjQtMTQ0LjAwLTE0NC4wMGwwLjAwLTY0LjAwIGMtMjYuNTEyLDAuMDAtNDguMDAtMjEuNDg4LTQ4LjAwLTQ4LjAwbDAuMDAtNDguMDAgbDAuMDAtMTYuMDAgbDAuMDAtMzIuMDAgbDAuMDAtMTYuMDAgYzAuMDAtNzkuNTM2LCA2NC40NjQtMTQ0LjAwLCAxNDQuMDAtMTQ0LjAwbCA5Ni4wMCwwLjAwIAoJCWMgNzkuNTM2LDAuMDAsIDE0NC4wMCw2NC40NjQsIDE0NC4wMCwxNDQuMDBsMC4wMCwxNi4wMCBsMC4wMCwzMi4wMCBsMC4wMCwxNi4wMCBsMC4wMCw0OC4wMCBDIDQ0OC4wMCwyNTAuNTI4LCA0MjYuNDk2LDI3Mi4wMCwgNDAwLjAwLDI3Mi4wMHogTSAxNDQuMDAsMzM2LjAwYzAuMDAsNjEuODU2LCA1MC4xNDQsMTEyLjAwLCAxMTIuMDAsMTEyLjAwYyA2MS44NTYsMC4wMCwgMTEyLjAwLTUwLjE0NCwgMTEyLjAwLTExMi4wMGwwLjAwLTY0LjAwIGwtMzIuMDAsMC4wMCBMIDMzNi4wMCwzMzUuOTY4IAoJCWMwLjAwLDQ0LjE5Mi0zNS44MDgsODAuMDAtODAuMDAsODAuMDBjLTQ0LjE5MiwwLjAwLTgwLjAwLTM1LjgwOC04MC4wMC04MC4wMEwgMTc2LjAwLDI3Mi4wMCBMIDE0NC4wMCwyNzIuMDAgTCAxNDQuMDAsMzM2LjAwIHogTSAzMjAuMDAsMzM2LjAwbDAuMDAtMC4wNDggTCAzMjAuMDAsMjcyLjAwIGwtMTI4LjAwLDAuMDAgTCAxOTIuMDAsMzM1Ljk2OCBMIDE5Mi4wMCwzMzYuMDAgYzAuMDAsMzUuMzQ0LCAyOC42NTYsNjQuMDAsIDY0LjAwLDY0LjAwQyAyOTEuMzQ0LDQwMC4wMCwgMzIwLjAwLDM3MS4zNDQsIDMyMC4wMCwzMzYuMDB6IE0gNDE2LjAwLDE3Ni4wMAoJCWwwLjAwLTE2LjAwIGwwLjAwLTMyLjAwIGwwLjAwLTE2LjAwIGMwLjAwLTYxLjc0NC01MC4yNTYtMTEyLjAwLTExMi4wMC0xMTIuMDBsLTk2LjAwLDAuMDAgYy02MS43NDQsMC4wMC0xMTIuMDAsNTAuMjU2LTExMi4wMCwxMTIuMDBsMC4wMCwxNi4wMCBsMC4wMCwzMi4wMCBsMC4wMCwxNi4wMCBsMC4wMCw0OC4wMCBjMC4wMCw4LjgzMiwgNy4xNjgsMTYuMDAsIDE2LjAwLDE2LjAwYyAxMC42NzIsMC4wMCwgMjEuMzI4LDAuMDAsIDMyLjAwLDAuMDBsIDIyNC4wMCwwLjAwIGMgMTAuNjU2LDAuMDAsIDIxLjMxMiwwLjAwLCAzMi4wMCwwLjAwCgkJYyA4LjgxNiwwLjAwLCAxNi4wMC03LjE2OCwgMTYuMDAtMTYuMDBMIDQxNi4wMCwxNzYuMDAgek0gMjU2LjAwLDE3Ni4wMCBDIDI3My42NjQsMTc2LjAwIDI4OC4wMCwxNjEuNjggMjg4LjAwLDE0NC4wMCBDIDI4OC4wMCwxMzQuMjU2IDI4Mi43NTIsMTE1LjcxMiAyNzcuMzQ0LDEwMS4wODggQyAyNzIuOTc2LDg5LjI4IDI2OC41MTIsODAuMDMyIDI1Ni4wMCw4MC4wMzIgQyAyNDQuNDk2LDgwLjAzMiAyMzkuMDI0LDg5LjM3NiAyMzQuNjcyLDEwMS4yNDggQyAyMjkuMzI4LDExNS44NCAyMjQuMDAsMTM0LjI4OCAyMjQuMDAsMTQ0LjAwIEMgMjI0LjAwLDE2MS42OCAyMzguMzM2LDE3Ni4wMCAyNTYuMDAsMTc2LjAwIFoiIGRhdGEtdGFncz0ibG9jayIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUwMGU7IiBkPSJNIDI1Ni4wMCw0ODAuMDBDIDE1OC43ODQsNDgwLjAwLCA4MC4wMCw0MDEuMjE2LCA4MC4wMCwzMDQuMDBjMC4wMC02NC40OTYsIDU5LjAwOC0xMzIuODQ4LCA4MC40OTYtMTkyLjg4QyAxOTIuNTQ0LDIxLjYwLCAxODguOTkyLTMyLjAwLCAyNTYuMDAtMzIuMDAKCQljIDY4LjAwLDAuMDAsIDYzLjQ0LDUzLjM0NCwgOTUuNTA0LDE0Mi43NTJDIDM3My4wNTYsMTcwLjkxMiwgNDMyLjAwLDI0MC4wMCwgNDMyLjAwLDMwNC4wMEMgNDMyLjAwLDQwMS4yMTYsIDM1My4xODQsNDgwLjAwLCAyNTYuMDAsNDgwLjAweiBNIDI5Ny40NzIsNDUuMTg0bC03OS4zMjgtOS45MDQKCQljLTIuODMyLDguMTkyLTUuODcyLDE3Ljc3Ni05LjU2OCwzMC4yODhjLTAuMDQ4LDAuMTYtMC4xMTIsMC4zMzYtMC4xNDQsMC40OTZsIDk5LjAwOCwxMi4zNjhjLTEuNDA4LTQuNzItMi45MTItOS42OC00LjIyNC0xNC4xMjgKCQlDIDMwMS4xMiw1Ny4xMiwgMjk5LjI0OCw1MC44OCwgMjk3LjQ3Miw0NS4xODR6IE0gMjAzLjc3Niw4MS40NzJjLTIuOTEyLDkuNjMyLTYuMTkyLDE5Ljc3Ni05Ljg0LDMwLjUyOGwgMTI0LjI1NiwwLjAwIAoJCWMtMS45NjgtNS43NDQtMy45MzYtMTEuNTA0LTUuNjMyLTE2Ljk0NEwgMjAzLjc3Niw4MS40NzJ6IE0gMjU2LjAwLDAuMDBjLTE2LjIwOCwwLjAwLTIzLjY2NCwxLjg3Mi0zMS45NTIsMjAuMDBsIDY3LjgwOCw4LjQ5NgoJCUMgMjgyLjAzMiwyLjAzMiwgMjc0Ljg4LDAuMDAsIDI1Ni4wMCwwLjAweiBNIDMzMC43NTIsMTQ0LjAwbC0xNDkuMzI4LDAuMDAgYy03Ljk2OCwxNy4yOC0xNy41MzYsMzQuNTYtMjYuOTc2LDUxLjQ3MkMgMTMzLjU2OCwyMzIuODMyLCAxMTIuMDAsMjcxLjQ3MiwgMTEyLjAwLDMwNC4wMAoJCWMwLjAwLDc5LjQwOCwgNjQuNTkyLDE0NC4wMCwgMTQ0LjAwLDE0NC4wMGMgNzkuNDA4LDAuMDAsIDE0NC4wMC02NC41OTIsIDE0NC4wMC0xNDQuMDBjMC4wMC0zMi4yODgtMjEuNjAtNzEuMTM2LTQyLjQ5Ni0xMDguNzJDIDM0OC4xNiwxNzguNDMyLCAzMzguNjU2LDE2MS4xODQsIDMzMC43NTIsMTQ0LjAwek0gMjU2LjAwLDQwMC4wMCBDIDI2MC40MCw0MDAuMDAgMjY0LjAwLDM5Ni40MTYgMjY0LjAwLDM5Mi4wMCBDIDI2NC4wMCwzODcuNTg0IDI2MC40MTYsMzg0LjAwIDI1Ni4wMCwzODQuMDAgQyAyMTEuODg4LDM4NC4wMCAxNzYuMDAsMzQ4LjExMiAxNzYuMDAsMzA0LjAwIEMgMTc2LjAwLDI5OS41ODQgMTcyLjQxNiwyOTYuMDAgMTY4LjAwLDI5Ni4wMCBDIDE2My41ODQsMjk2LjAwIDE2MC4wMCwyOTkuNTg0IDE2MC4wMCwzMDQuMDAgQyAxNjAuMDAsMzU2Ljk0NCAyMDMuMDU2LDQwMC4wMCAyNTYuMDAsNDAwLjAwIFoiIGRhdGEtdGFncz0iYnVsYiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUwMGY7IiBkPSJNIDQ3MC4zMiw0MzguNzJDIDQ0NC4wMCw0NjUuMDA4LCA0MDkuMzQ0LDQ4MC4wMCwgMzc1LjE4NCw0ODAuMDBjLTI4LjgxNiwwLjAwLTU1LjM0NC0xMC42ODgtNzQuNzItMzAuMDMybC03Ny44NzItNzguNDY0CgljLTAuMjQtMC4yMjQtMC41MTItMC4zNjgtMC43NTItMC42MDhjLTAuMTI4LTAuMTI4LTAuMjA4LTAuMzA0LTAuMzM2LTAuNDE2bCAwLjAzMi0wLjAzMkwgNTYuMjcyLDIwMy45MDQKCWMtNy42MTYtNy41NjgtMTMuMTM2LTE2Ljk5Mi0xNi4yMDgtMjcuMjhsLTM3LjU4NC0xMzYuMTI4QyAyLjQ0OCw0MC4xMjgsMC4wMCwyOS40NCwwLjAwLDI0LjAwQzAuMDAtNi45MTIsIDI1LjEwNC0zMi4wMCwgNTYuMDY0LTMyLjAwCgljIDYuMTYsMC4wMCwgMTguMDgsMi45NDQsIDE4LjUxMiwzLjAwOGwgMTM1LjY0OCwzNS42NjRjIDEwLjMwNCwzLjA1NiwgMTkuNjY0LDguNjI0LCAyNy4yOCwxNi4yNTZsIDI0NC4yMDgsMjQ2LjEyOAoJQyA1MjYuMTI4LDMxMy41MDQsIDUyMS4xMiwzODguMDAsIDQ3MC4zMiw0MzguNzJ6IE0gMjU2LjIyNCw5OS4yOGMtMS4zMTIsMTQuNDMyLTUuMzkyLDI4LjU5Mi0xMS41MDQsNDIuMDMybCAxNTEuMjgsMTUxLjI2NAoJYyA5LjI0OC0yOS4yMTYsIDQuNDk2LTU5Ljc3Ni0xNS43NzYtODAuMDY0Yy0wLjEyOC0wLjEyOC0wLjI4OC0wLjIwOC0wLjQwLTAuMzM2bCAwLjIyNC0wLjIwOGwtMTIzLjY0OC0xMjQuNjQKCUMgMjU2LjQwLDkxLjMxMiwgMjU2LjU5Miw5NS4yMTYsIDI1Ni4yMjQsOTkuMjh6IE0gMjM2LjY4OCwxNTUuOTA0Yy01Ljk2OCw5LjgwOC0xMi43NTIsMTkuMjgtMjEuMTUyLDI3LjY2NAoJYy05Ljc3Niw5Ljc3Ni0yMC45OTIsMTcuNDQtMzIuNzA0LDIzLjg3MmwgMTUyLjUxMiwxNTIuNTEyYyAxMS45NjgtNS4zMTIsIDIzLjQ0LTEyLjg4LCAzMy41NjgtMjMuMDA4YyA4LjY1Ni04LjYyNCwgMTUuMzQ0LTE4LjI4OCwgMjAuNDk2LTI4LjMzNgoJTCAyMzYuNjg4LDE1NS45MDR6IE0gMTY3Ljc3NiwyMTUuMDA4Yy0xNC44MTYsNS45NjgtMzAuMzM2LDkuMzc2LTQ1Ljg4OCw5LjU4NGwgMTIzLjI0OCwxMjQuMTkyYyAxOC44NjQsMTguNDAsIDQ2LjMzNiwyMy42OTYsIDczLjM5MiwxNi45OTIKCUwgMTY3Ljc3NiwyMTUuMDA4eiBNIDY2LjY3MiwyLjAzMkMgNjQuOTI4LDEuNjMyLCA1OS41MDQsMC4yNTYsIDU1LjgyNCwwLjAwQyA0Mi42NzIsMC4xNiwgMzIuMDAsMTAuODQ4LCAzMi4wMCwyNC4wMAoJYyAwLjE5MiwyLjY4OCwgMS4yNjQsNy4zMTIsIDEuNjMyLDguOTkybCAxNi44NDgsNjEuMDI0YyAxOC4yODgsMC40OTYsIDM3Ljk2OC02LjYyNCwgNTMuNDQtMjIuMTI4YyAxNS43MTItMTUuNjgsIDIzLjEwNC0zNS43NDQsIDIyLjMwNC01NC4yNTYKCUwgNjYuNjcyLDIuMDMyeiBNIDE0MS45ODQsMjEuODA4Yy0wLjM4NCwyMS40NzItOS4xMiw0My44MDgtMjYuNzUyLDYxLjQwOEMgOTguNTYsOTkuOTA0LCA3Ni43MzYsMTA5LjUzNiwgNTQuOTc2LDExMC40MGwgMTUuOTM2LDU3LjcxMgoJYyAxLjE1MiwzLjg0LCAzLjQ0LDcuNjMyLCA2LjI1NiwxMC45NDRjIDMyLjA5NiwyMi45NzYsIDgxLjQ1NiwxNi4xOTIsIDExNS43NDQtMTguMTI4YyAzNi4yNzItMzYuMjU2LCA0MS44NzItODkuMzc2LCAxMy45MzYtMTIxLjA4OAoJYy0xLjg1Ni0wLjk3Ni0zLjcyOC0xLjkwNC01Ljc0NC0yLjQ5NkwgMTQxLjk4NCwyMS44MDh6IE0gNDU5LjA1NiwyOTEuNjQ4bC0yNi45NDQtMjcuMTUyYzAuMDAsMy42MTYsIDAuNDMyLDcuMDg4LCAwLjA5NiwxMC43ODQKCWMtMi44MTYsMzAuOTYtMTcuMjQ4LDYwLjg5Ni00MC42ODgsODQuMzA0Yy0yNi4wNjQsMjYuMDgtNjAuNjI0LDQxLjA0LTk0Ljg0OCw0MS4xMzZsIDI2LjQ5NiwyNi43MkMgMzM2LjQzMiw0NDAuNjcyLCAzNTQuOTQ0LDQ0OC4wMCwgMzc1LjE4NCw0NDguMDAKCWMgMjUuNzQ0LDAuMDAsIDUyLjE5Mi0xMS42NDgsIDcyLjUyOC0zMS45MmMgMTkuMDg4LTE5LjA1NiwgMzAuNDY0LTQyLjczNiwgMzIuMDk2LTY2LjY4OEMgNDgxLjMxMiwzMjcuMDQsIDQ3My45MzYsMzA2LjU0NCwgNDU5LjA1NiwyOTEuNjQ4eiIgZGF0YS10YWdzPSJwZW4iIC8+CjxnbHlwaCB1bmljb2RlPSImI3hlMDEwOyIgZD0iTSA1MDIuNjI0LDMyNS4xNjhsLTgxLjI4LDgxLjI5NkMgNDE1LjM0NCw0MTIuNDY0LCA0MDcuMTg0LDQxNS44NCwgMzk4LjcyLDQxNS44NEwgMTEzLjI5Niw0MTUuODQgCgljLTguNDgsMC4wMC0xNi42MjQtMy4zNzYtMjIuNjI0LTkuMzc2bC04MS4yOC04MS4yOTZDIDMuMTA0LDMxOC44OTYtMC4wMzIsMzEwLjYyNCwwLjAwLDMwMi4zMzZjIDAuMDQ4LTcuNTIsIDIuNzM2LTE1LjAyNCwgOC4wOTYtMjEuMDU2CglsIDIyMy45ODQtMjM4LjUyOEMgMjM4LjE2LDM1LjkwNCwgMjQ2Ljg2NCwzMi4wMCwgMjU2LjAwLDMyLjAwYyA5LjEzNiwwLjAwLCAxNy44NCwzLjkwNCwgMjMuOTA0LDEwLjc1MmwgMjI0LjAwLDIzOC41MjhjIDUuNDcyLDYuMTYsIDguMTYsMTMuODcyLCA4LjA5NiwyMS41NjgKCUMgNTExLjkzNiwzMTAuOTQ0LCA1MDguNzg0LDMxOS4wMDgsIDUwMi42MjQsMzI1LjE2OHogTSAyOTEuNTA0LDMwMy44NEwgMjIwLjQ4LDMwMy44NCBMIDI1Ni4wMCwzMzMuNDI0TCAyOTEuNTA0LDMwMy44NHogTSAyNjguNTEyLDM0My44NGwgNDMuNzEyLDM2LjQ0OGwgMzIuMjg4LTMyLjI4OAoJTCAzMDQuMDAsMzE0LjI1NkwgMjY4LjUxMiwzNDMuODR6IE0gMjA4LjAwLDMxNC4yNTZMIDE2Ny40ODgsMzQ4LjAwbCAzMi4yODgsMzIuMjg4bCA0My43MjgtMzYuNDQ4TCAyMDguMDAsMzE0LjI1NnogTSAyOTUuODQsMjg3Ljg0TCAyNTYuMDAsODguNTkyTCAyMTYuMTYsMjg3Ljg0TCAyOTUuODQsMjg3Ljg0IHoKCSBNIDMxMi4xNiwyODcuODRsIDc4LjQ5NiwwLjAwIGwtMTE3Ljc0NC0xOTYuMzA0TCAzMTIuMTYsMjg3Ljg0eiBNIDMxNi40NjQsMzAzLjg0bCAzOS40MDgsMzIuODE2bCAzMi44MTYtMzIuODE2TCAzMTYuNDY0LDMwMy44NCB6IE0gMzMxLjMxMiwzODMuODRsIDU2LjE5MiwwLjAwIGwtMzAuNjU2LTI1LjU1MgoJTCAzMzEuMzEyLDM4My44NHogTSAyNTYuMDAsMzU0LjI0bC0zNS41MiwyOS42MGwgNzEuMDA4LDAuMDAgTCAyNTYuMDAsMzU0LjI0eiBNIDE1NS4xMzYsMzU4LjI4OEwgMTI0LjQ4LDM4My44NGwgNTYuMjA4LDAuMDAgTCAxNTUuMTM2LDM1OC4yODh6IE0gMTU2LjEyOCwzMzYuNjU2bCAzOS4zOTItMzIuODE2TCAxMjMuMzEyLDMwMy44NCAKCUwgMTU2LjEyOCwzMzYuNjU2eiBNIDE5OS44NCwyODcuODRsIDM5LjI0OC0xOTYuMzA0TCAxMjEuMzI4LDI4Ny44NEwgMTk5Ljg0LDI4Ny44NCB6IE0gMjAzLjI2NCwxMjAuMTkyTCA0NS44MjQsMjg3Ljg0bCA1Ni44NjQsMC4wMCBMIDIwMy4yNjQsMTIwLjE5MnogTSA0MDkuMzEyLDI4Ny44NGwgNTYuODgsMC4wMCAKCWwtMTU3LjQ3Mi0xNjcuNjhMIDQwOS4zMTIsMjg3Ljg0eiBNIDQxMS4zMTIsMzAzLjg0bC00My4wODgsNDMuMDg4bCAzNi43NTIsMzAuNjRsIDczLjcxMi03My43MjhMIDQxMS4zMTIsMzAzLjg0IHogTSAxMDYuOTc2LDM3Ny42MGwgMzYuODE2LTMwLjY3MkwgMTAwLjY4OCwzMDMuODRMIDMyLjA5NiwzMDMuODQgCglMIDEwNi45NzYsMzc3LjYweiIgZGF0YS10YWdzPSJkaWFtb25kIiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTAxMTsiIGQ9Ik0gNDMyLjAwLDQwMC4wNjRMIDgwLjAwLDQwMC4wMEMgNzEuMTUyLDQwMC4wMCwgNjQuMDAsMzkyLjkxMiwgNjQuMDAsMzg0LjA2NGwwLjAwLTIyNC4wMCBjMC4wMC04Ljg0OCwgNy4xNTItMTYuMDAsIDE2LjAwLTE2LjAwbCAzNTIuMDAsMC4wMCBjIDguODQ4LDAuMDAsIDE2LjAwLDcuMTUyLCAxNi4wMCwxNi4wMGwwLjAwLDIyNC4wMCAKCQlDIDQ0OC4wMCwzOTIuOTEyLCA0NDAuODQ4LDQwMC4wNjQsIDQzMi4wMCw0MDAuMDY0eiBNIDQzMi4wMCwxNjAuMDBMIDgwLjAwLDE2MC4wMCBMIDgwLjAwLDM4NC4wNjQgbCAzNTIuMDAsMC4wMCBMIDQzMi4wMCwxNjAuMDAgek0gNDY0LjAwLDQ2NC4wMEwgNDguMDAsNDY0LjAwIEMgMjEuNDg4LDQ2NC4wMCwwLjAwLDQ0Mi41MjgsMC4wMCw0MTYuMDBsMC4wMC0zMjAuMDAgYzAuMDAtMjYuNDY0LCAyMS40MDgtNDcuOTA0LCA0Ny44NC00Ny45NjhMIDIwOC4wMCw0OC4wMzIgbDAuMDAtMTkuNDcyIGwtOTkuODcyLTEyLjk3NgoJCUMgMTAwLjk5MiwxMy44MDgsIDk2LjAwLDcuNDA4LCA5Ni4wMCwwLjA2NGMwLjAwLTguODQ4LCA3LjE1Mi0xNi4wMCwgMTYuMDAtMTYuMDBsIDI4OC4wMCwwLjAwIGMgOC44NDgsMC4wMCwgMTYuMDAsNy4xNTIsIDE2LjAwLDE2LjAwYzAuMDAsNy4zNDQtNC45OTIsMTMuNzQ0LTEyLjEyOCwxNS41MzZMIDMwNC4wMCwyOC41NmwwLjAwLDE5LjQ3MiAKCQlsIDE2MC4xNiwwLjAwIEMgNDkwLjU5Miw0OC4wOTYsIDUxMi4wMCw2OS41MzYsIDUxMi4wMCw5Ni4wMEwgNTEyLjAwLDQxNi4wMCBDIDUxMi4wMCw0NDIuNTI4LCA0OTAuNDk2LDQ2NC4wMCwgNDY0LjAwLDQ2NC4wMHogTSA0ODAuMDAsOTYuMDBjMC4wMC04LjgxNi03LjE4NC0xNi4wMC0xNi4wMC0xNi4wMGwtMTQ0LjAwLDAuMDAgbC0xMjguMDAsMC4wMCBMIDQ4LjAwLDgwLjAwIGMtOC44MzIsMC4wMC0xNi4wMCw3LjE4NC0xNi4wMCwxNi4wMEwgMzIuMDAsNDE2LjAwIAoJCWMwLjAwLDguODMyLCA3LjE2OCwxNi4wMCwgMTYuMDAsMTYuMDBsIDQxNi4wMCwwLjAwIGMgOC44MTYsMC4wMCwgMTYuMDAtNy4xNjgsIDE2LjAwLTE2LjAwTCA0ODAuMDAsOTYuMDAgeiIgZGF0YS10YWdzPSJkaXNwbGF5IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTAxMjsiIGQ9Ik0gMjU2LjAzMiwxOTYuMDY0YyA1Mi45NDQsMC4wMCwgOTYuMDAsNDMuMDcyLCA5Ni4wMCw5Ni4wMHMtNDMuMDU2LDk2LjAwLTk2LjAwLDk2LjAwCgkJYy01Mi45NDQsMC4wMC05Ni4wMC00My4wNTYtOTYuMDAtOTYuMDBTIDIwMy4wODgsMTk2LjA2NCwgMjU2LjAzMiwxOTYuMDY0eiBNIDI1Ni4wMzIsMzcyLjA2NGMgNDQuMTI4LDAuMDAsIDgwLjAwLTM1Ljg3MiwgODAuMDAtODAuMDBzLTM1Ljg3Mi04MC4wMC04MC4wMC04MC4wMGMtNDQuMTI4LDAuMDAtODAuMDAsMzUuODcyLTgwLjAwLDgwLjAwCgkJUyAyMTEuOTA0LDM3Mi4wNjQsIDI1Ni4wMzIsMzcyLjA2NHpNIDI1Ni4wMCw0ODAuMDBDIDE1MC4xMTIsNDgwLjAwLCA2NC4wMCwzOTQuOTQ0LCA2NC4wMCwyODcuOTg0YzAuMDAtMTEyLjAwLCA5Ni4wMTYtMjI2LjU3NiwgMTY2LjAxNi0zMDcuMTA0CgkJQyAyMzAuMjcyLTE5LjQ0LCAyNDEuNTA0LTMyLjAwLCAyNTUuMzkyLTMyLjAwYyAwLjAzMiwwLjAwLCAxLjE2OCwwLjAwLCAxLjIzMiwwLjAwYyAxMy44NzIsMC4wMCwgMjUuMTIsMTIuNTYsIDI1LjM3NiwxMi44OAoJCWMgNzAuMDMyLDgwLjUyOCwgMTY2LjAzMiwxOTUuMDg4LCAxNjYuMDMyLDMwNy4xMDRDIDQ0OC4wMzIsMzk0Ljk0NCwgMzYxLjkwNCw0ODAuMDAsIDI1Ni4wMCw0ODAuMDB6IE0gMjU3Ljg3MiwxLjg3MmMtMC4zMzYtMC4zMi0xLjMxMi0xLjAyNC0yLjE2LTEuNTY4CgkJYy0wLjE2LDAuNDMyLTEuMzQ0LDEuMzc2LTIuMDY0LDIuMTI4QyAxOTUuMDA4LDY5LjkwNCwgOTYuMDAsMTgzLjc3NiwgOTYuMDAsMjg3Ljk4NEMgOTYuMDAsMzc2LjIwOCwgMTY3Ljc5Miw0NDguMDAsIDI1Ni4wMCw0NDguMDBjIDg4LjI1NiwwLjAwLCAxNjAuMDMyLTcxLjc5MiwgMTYwLjAzMi0xNjAuMDMyCgkJQyA0MTYuMDMyLDE4My43NzYsIDMxNy4wMjQsNjkuOTA0LCAyNTcuODcyLDEuODcyeiIgZGF0YS10YWdzPSJsb2NhdGlvbiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUwMTM7IiBkPSJNIDUxMS40NCwyMjcuNTg0Yy0wLjE2LDAuNjcyLTAuMDY0LDEuMzkyLTAuMzIsMi4wNDhjLTAuMDk2LDAuMjcyLTAuMzM2LDAuNDE2LTAuNDMyLDAuNjcyCgkJYy0wLjE2LDAuMzg0LTAuMTI4LDAuODE2LTAuMzM2LDEuMTg0Yy00Ni40MCw4OC44MTYtMTQ3LjQwOCwxNTIuNDQ4LTI1My45NjgsMTUyLjQ0OGMtMTA2LjU3NiwwLjAwLTIwNy41NjgtNjMuNTM2LTI1NC4wMC0xNTIuMzM2CgkJYy0wLjIwOC0wLjM2OC0wLjE3Ni0wLjgwLTAuMzM2LTEuMTg0Yy0wLjExMi0wLjI1Ni0wLjMzNi0wLjQwLTAuNDMyLTAuNjcyYy0wLjI1Ni0wLjY1Ni0wLjE2LTEuMzc2LTAuMzItMi4wNDgKCQljLTAuMjg4LTEuMjAtMC41Ni0yLjM1Mi0wLjU2LTMuNTg0cyAwLjI4OC0yLjM2OCwgMC41Ni0zLjU4NGMgMC4xNi0wLjY3MiwgMC4wNjQtMS4zOTIsIDAuMzItMi4wNDgKCQljIDAuMDk2LTAuMjcyLCAwLjMzNi0wLjQxNiwgMC40MzItMC42NzJjIDAuMTYtMC4zODQsIDAuMTI4LTAuODE2LCAwLjMzNi0xLjE4NGMgNDYuNDE2LTg4LjgxNiwgMTQ3LjQyNC0xNTIuNDQ4LCAyNTQuMDAtMTUyLjQ0OAoJCWMgMTA2LjU2LDAuMDAsIDIwNy41NjgsNjMuNTM2LCAyNTMuOTY4LDE1Mi4zMzZjIDAuMjI0LDAuMzY4LCAwLjE5MiwwLjgwLCAwLjMzNiwxLjE4NGMgMC4wOTYsMC4yNTYsIDAuMzM2LDAuNDAsIDAuNDMyLDAuNjcyCgkJYyAwLjI1NiwwLjY1NiwgMC4xNiwxLjM3NiwgMC4zMiwyLjA0OEMgNTExLjcxMiwyMjEuNjMyLCA1MTIuMDAsMjIyLjc4NCwgNTEyLjAwLDIyNC4wMFMgNTExLjcxMiwyMjYuMzg0LCA1MTEuNDQsMjI3LjU4NHogTSAyNTYuMzY4LDk2LjE5MgoJCWMtODkuODQsMC4wMC0xNzcuNzkyLDUxLjA1Ni0yMjEuNjE2LDEyNy45MmMgNDQuMDY0LDc2Ljk2LCAxMzEuODg4LDEyNy44NCwgMjIxLjYxNiwxMjcuODRjIDg5LjgwOCwwLjAwLCAxNzcuNzc2LTUxLjA3MiwgMjIxLjYwLTEyNy45MgoJCUMgNDMzLjkwNCwxNDcuMDU2LCAzNDYuMDk2LDk2LjE5MiwgMjU2LjM2OCw5Ni4xOTJ6TSAyNTYuMzY4LDI4OC4wMTYgQyAyNjAuNzg0LDI4OC4wMTYgMjY0LjMzNiwyODQuNDQ4IDI2NC4zMzYsMjgwLjAxNiBDIDI2NC4zMzYsMjc1LjYxNiAyNjAuNzY4LDI3Mi4wMzIgMjU2LjM2OCwyNzIuMDMyIEwgMjU2LjM2OCwyNzIuMDE2IEMgMjI5LjkwNCwyNzIuMDE2IDIwOC4zODQsMjUwLjQ5NiAyMDguMzg0LDIyNC4wNjQgQyAyMDguMzg0LDIxOS42NDggMjA0LjgwLDIxNi4wNjQgMjAwLjQwLDIxNi4wNjQgQyAxOTUuOTg0LDIxNi4wNjQgMTkyLjQwLDIxOS42NDggMTkyLjQwLDIyNC4wNjQgQyAxOTIuNDAsMjU5LjM0NCAyMjAuOTkyLDI4Ny45MzYgMjU2LjI3MiwyODguMDAgQyAyNTYuMzA0LDI4OC4wMCAyNTYuMzM2LDI4OC4wMTYgMjU2LjM2OCwyODguMDE2IFpNIDI1Ni4wMCwzMzYuMDBjLTYxLjg3MiwwLjAwLTExMi4wMC01MC4xNDQtMTEyLjAwLTExMi4wMGMwLjAwLTYxLjg1NiwgNTAuMTQ0LTExMi4wMCwgMTEyLjAwLTExMi4wMGMgNjEuODQsMC4wMCwgMTEyLjAwLDUwLjE2LCAxMTIuMDAsMTEyLjAwQyAzNjguMDAsMjg1Ljg3MiwgMzE3Ljg0LDMzNi4wMCwgMjU2LjAwLDMzNi4wMHogTSAyNTYuMDAsMTI4LjAwCgkJYy01Mi45NDQsMC4wMC05Ni4wMCw0My4wNTYtOTYuMDAsOTYuMDBjMC4wMCw1Mi45NDQsIDQzLjA1Niw5Ni4wMCwgOTYuMDAsOTYuMDBjIDUyLjk0NCwwLjAwLCA5Ni4wMC00My4wNTYsIDk2LjAwLTk2LjAwQyAzNTIuMDAsMTcxLjA1NiwgMzA4Ljk0NCwxMjguMDAsIDI1Ni4wMCwxMjguMDB6IiBkYXRhLXRhZ3M9ImV5ZSIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUwMTQ7IiBkPSJNIDI1Ni4wMCwzNjguMDAgQyAyNjAuNDE2LDM2OC4wMCAyNjQuMDAsMzY0LjQxNiAyNjQuMDAsMzYwLjAwIEMgMjY0LjAwLDM1NS41ODQgMjYwLjQwLDM1Mi4wMCAyNTYuMDAsMzUyLjAwIEMgMTcwLjc2OCwzNTIuMDAgOTYuMDAsMzA3LjEzNiA5Ni4wMCwyNTYuMDAgQyA5Ni4wMCwyNTEuNTg0IDkyLjQxNiwyNDguMDAgODguMDAsMjQ4LjAwIEMgODMuNTg0LDI0OC4wMCA4MC4wMCwyNTEuNTg0IDgwLjAwLDI1Ni4wMCBDIDgwLjAwLDMxNi43MDQgMTYwLjU5MiwzNjguMDAgMjU2LjAwLDM2OC4wMCBaTSAyNTYuMDAsNDQ4LjAwQyAxMTQuNjA4LDQ0OC4wMCwwLjAwLDM2Mi4wMzIsMC4wMCwyNTYuMDBjMC4wMC02Ni4wMzIsIDQ0LjQ2NC0xMjQuMjU2LCAxMTIuMTI4LTE1OC44MTYKCQlDIDExMi4xMjgsOTYuNzUyLCAxMTIuMDAsOTYuNDY0LCAxMTIuMDAsOTYuMDBjMC4wMC0yOC42ODgtMjEuNDI0LTU5LjU2OC0zMC44NDgtNzUuNzc2YyAwLjAxNiwwLjAwLCAwLjAzMiwwLjAwLCAwLjAzMiwwLjAwQyA4MC40MzIsMTguNDY0LCA4MC4wMCwxNi41MjgsIDgwLjAwLDE0LjQ5NgoJCUMgODAuMDAsNi40OTYsIDg2LjQ4LDAuMDAsIDk0LjQ5NiwwLjAwQyA5Ni4wMCwwLjAwLCA5OC42NCwwLjQwLCA5OC41NzYsMC4yMjRjIDUwLjAwLDguMTkyLCA5Ny4xMDQsNTQuMTI4LCAxMDguMDQ4LDY3LjQ0QyAyMjIuNjA4LDY1LjMxMiwgMjM5LjA4OCw2NC4wMCwgMjU2LjAwLDY0LjAwCgkJYyAxNDEuMzYsMC4wMCwgMjU2LjAwLDg1Ljk2OCwgMjU2LjAwLDE5Mi4wMEMgNTEyLjAwLDM2Mi4wMzIsIDM5Ny4zNzYsNDQ4LjAwLCAyNTYuMDAsNDQ4LjAweiBNIDI1Ni4wMCw5Ni4wMGMtMTQuNjcyLDAuMDAtMjkuNzI4LDEuMTItNDQuNzM2LDMuMzEyYy0xLjU1MiwwLjI1Ni0zLjEwNCwwLjMzNi00LjY0LDAuMzM2CgkJYy05LjUwNCwwLjAwLTE4LjYwOC00LjIyNC0yNC43MzYtMTEuNjhjLTYuODQ4LTguMzM2LTI2LjMzNi0yNi45NDQtNDkuMzYtNDAuNjI0YyA2LjI0LDE0LjMyLCAxMS4xMiwzMC4zNjgsIDExLjQ1Niw0Ni45MTIKCQljIDAuMDk2LDEuMDI0LCAwLjE0NCwyLjA2NCwgMC4xNDQsMi45NDRjMC4wMCwxMi4wMzItNi43MzYsMjMuMDI0LTE3LjQ0LDI4LjQ5NkMgNjcuMzkyLDE1NS45NjgsIDMyLjAwLDIwNC42ODgsIDMyLjAwLDI1Ni4wMEMgMzIuMDAsMzQ0LjIyNCwgMTMyLjQ4LDQxNi4wMCwgMjU2LjAwLDQxNi4wMAoJCWMgMTIzLjQ4OCwwLjAwLCAyMjQuMDAtNzEuNzc2LCAyMjQuMDAtMTYwLjAwQyA0ODAuMDAsMTY3Ljc3NiwgMzc5LjUwNCw5Ni4wMCwgMjU2LjAwLDk2LjAweiIgZGF0YS10YWdzPSJidWJibGUiIC8+CjxnbHlwaCB1bmljb2RlPSImI3hlMDE1OyIgZD0iTSA1MTAuNzg0LDE4NC43MkwgNDQ2Ljc1Miw0MjQuODE2QyA0NDIuODgsNDM4LjQ2NCwgNDMwLjIyNCw0NDguMDAsIDQxNi4wMCw0NDguMDBMIDI1Ni4wMCw0NDguMDAgTCA5Ni4wMCw0NDguMDAgQyA4MS43Niw0NDguMDAsIDY5LjEyLDQzOC40NjQsIDY1LjI0OCw0MjQuODE2TCAxLjIxNiwxODQuNzIKCQlDIDAuNDAsMTgxLjgwOCwwLjAwLDE3OC44OCwwLjAwLDE3Ni4wMGwwLjAwLTExMi4wMCBjMC4wMC0zNS4zNDQsIDI4LjY1Ni02NC4wMCwgNjQuMDAtNjQuMDBsIDM4NC4wMCwwLjAwIGMgMzUuMzQ0LDAuMDAsIDY0LjAwLDI4LjY1NiwgNjQuMDAsNjQuMDBsMC4wMCwxMTIuMDAgQyA1MTIuMDAsMTc4Ljg4LCA1MTEuNjAsMTgxLjgwOCwgNTEwLjc4NCwxODQuNzJ6IE0gNDgwLjAwLDY0LjAwCgkJYzAuMDAtMTcuNjMyLTE0LjM2OC0zMi4wMC0zMi4wMC0zMi4wMEwgNjQuMDAsMzIuMDAgYy0xNy42NDgsMC4wMC0zMi4wMCwxNC4zNjgtMzIuMDAsMzIuMDBsMC4wMCwxMTIuMDAgTCA5Ni4wMTYsNDE2LjAxNmwgMzE5Ljk1MiwwLjAwIEwgNDgwLjAwLDE3Ni4wMEwgNDgwLjAwLDY0LjAwIHpNIDM3OS44NzIsMzg0LjAwTCAxMzIuMTI4LDM4NC4wMCBjLTcuMjQ4LDAuMDAtMTMuNjAtNC44OC0xNS40NzItMTEuODg4bC01NS4xMi0xOTIuMDBjLTEuMjY0LTQuODE2LTAuMjU2LTkuOTM2LCAyLjc4NC0xMy44NzIKCQlTIDcyLjAzMiwxNjAuMDAsIDc2Ljk5MiwxNjAuMDBsIDQ2LjQ5NiwwLjAwIGwgMTguMjU2LDAuMDAgbCA4LjMzNiwwLjAwIGwgMjMuMTUyLTQ2LjMyQyAxNzguNjcyLDEwMi44NDgsIDE4OS43NDQsOTYuMDAsIDIwMS44NzIsOTYuMDBsIDEwOC4yNTYsMC4wMCBjIDEyLjEyOCwwLjAwLCAyMy4xODQsNi44NDgsIDI4LjYyNCwxNy42OAoJCUwgMzYxLjkwNCwxNjAuMDBsIDguMzM2LDAuMDAgbCAxOC4yNTYsMC4wMCBsIDQ2LjQ5NiwwLjAwIGMgNC45NzYsMC4wMCwgOS42NjQsMi4zMiwgMTIuNjg4LDYuMjU2cyA0LjAzMiw5LjA1NiwgMi43ODQsMTMuODcybC01NS4xMiwxOTIuMDBDIDM5My40NzIsMzc5LjEzNiwgMzg3LjEyLDM4NC4wMCwgMzc5Ljg3MiwzODQuMDB6CgkJIE0gMzg4LjQ5NiwxOTIuMDBsLTI2LjU5MiwwLjAwIGMtMTIuMTkyLDAuMDAtMjMuMTUyLTYuNzUyLTI4LjYyNC0xNy42OEwgMzEwLjEyOCwxMjguMDBsLTEwOC4yNTYsMC4wMCBsLTIzLjE1Miw0Ni4zMkMgMTczLjI0OCwxODUuMjQ4LCAxNjIuMjg4LDE5Mi4wMCwgMTUwLjA5NiwxOTIuMDBMIDEyMy41MDQsMTkyLjAwIEwgODUuMzQ0LDE5Mi4wMCAKCQlMIDEzMi4xMjgsMzY4LjAwbCAyNDcuNzQ0LDAuMDAgbCA0Ni43ODQtMTc2LjAwTCAzODguNDk2LDE5Mi4wMCB6IiBkYXRhLXRhZ3M9InN0YWNrIiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTAxNjsiIGQ9Ik0gNDQ5Ljc3NiwzOTkuNjQ4bC0xOS40NCw1OC40OEMgNDI2LjAwLDQ3MS4yMCwgNDEzLjc3Niw0ODAuMDAsIDQwMC4wMCw0ODAuMDBMIDExMi4wMCw0ODAuMDAgQyA5OC4yMDgsNDgwLjAwLCA4Ni4wMCw0NzEuMjAsIDgxLjYzMiw0NTguMTI4CglMIDYyLjAzMiwzOTkuNjE2QyA0NS4zMjgsMzk4LjU0NCwgMzIuMDAsMzg0Ljk3NiwgMzIuMDAsMzY4LjAwbDAuMDAtNDguMDAgYzAuMDAtMTcuNjY0LCAxNC4zMzYtMzIuMDAsIDMyLjAwLTMyLjAwbCAxNi41NDQsMC4wMCBjMC4wMC0xLjIwLTAuNDgtMi4zMzYtMC4zMzYtMy41MzZsIDMyLjAwLTI4OC4wMEMgMTE0LjAwLTE5LjcxMiwgMTI3LjY4LTMyLjAwLCAxNDQuMDAtMzIuMDAKCWwgMjI0LjAwLDAuMDAgYyAxNi4zMiwwLjAwLCAzMC4wMCwxMi4yODgsIDMxLjc3NiwyOC40NjRsIDMyLjAwLDI4OC4wMGMgMC4xNiwxLjIwLTAuMzM2LDIuMzM2LTAuMzM2LDMuNTM2TCA0NDguMDAsMjg4LjAwIGMgMTcuNjY0LDAuMDAsIDMyLjAwLDE0LjMzNiwgMzIuMDAsMzIuMDBMIDQ4MC4wMCwzNjguMDAgCglDIDQ4MC4wMCwzODUuMDQsIDQ2Ni41NiwzOTguNjcyLCA0NDkuNzc2LDM5OS42NDh6IE0gMTEyLjAwLDQ0OC4wMGwgMjg4LjAwLDAuMDAgbCAxNi4wMC00OC4wMEwgOTYuMDAsNDAwLjAwIEwgMTEyLjAwLDQ0OC4wMHogTSAxNDQuMDAsMC4wMGwtNS4zMjgsNDguMDBsIDIzNC42NTYsMC4wMCBMIDM2OC4wMCwwLjAwTCAxNDQuMDAsMC4wMCB6IE0gMzc1LjA4OCw2NC4wMEwgMTM2Ljg4LDY0LjAwIEwgMTE5LjEwNCwyMjQuMDBsIDI3My43NzYsMC4wMCAKCUwgMzc1LjA4OCw2NC4wMHogTSAzOTQuNjU2LDI0MC4wMEwgMTE3LjMyOCwyNDAuMDAgTCAxMTIuMDAsMjg4LjAwbCAyODguMDAsMC4wMCBMIDM5NC42NTYsMjQwLjAweiBNIDQ0OC4wMCwzMjAuMDBMIDY0LjAwLDMyMC4wMCBMIDY0LjAwLDM2OC4wMCBsIDM4NC4wMCwwLjAwIEwgNDQ4LjAwLDMyMC4wMCB6IiBkYXRhLXRhZ3M9ImN1cCIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUwMTc7IiBkPSJNIDM4NC4wMCw0ODAuMDBMIDEyOC4wMCw0ODAuMDBDIDEwMS40NzIsNDgwLjAwLCA4MC4wMCw0NTguNTEyLCA4MC4wMCw0MzIuMDBsMC4wMC00MTYuMDAgYzAuMDAtMjYuNTI4LCAyMS40ODgtNDguMDAsIDQ4LjAwLTQ4LjAwbCAyNTYuMDAsMC4wMCBjIDI2LjQ5NiwwLjAwLCA0OC4wMCwyMS41MDQsIDQ4LjAwLDQ4LjAwTCA0MzIuMDAsNDMyLjAwIEMgNDMyLjAwLDQ1OC41MjgsIDQxMC40OTYsNDgwLjAwLCAzODQuMDAsNDgwLjAwegoJCSBNIDQwMC4wMCwxNi4wMGMwLjAwLTguODE2LTcuMTg0LTE2LjAwLTE2LjAwLTE2LjAwTCAxMjguMDAsMC4wMCBjLTguODMyLDAuMDAtMTYuMDAsNy4xNTItMTYuMDAsMTYuMDBsMC4wMCwzMi4wNjQgbCAyODguMDAsMC4wMCBMIDQwMC4wMCwxNi4wMCB6IE0gNDAwLjAwLDY0LjA2NEwgMTEyLjAwLDY0LjA2NCBMIDExMi4wMCwzODQuMDAgTCA0MDAuMDAsMzg0LjAwTCA0MDAuMDAsNjQuMDY0IHogTSA0MDAuMDAsNDAwLjAwTCAxMTIuMDAsNDAwLjAwTCAxMTIuMDAsNDMyLjAwIGMwLjAwLDguODMyLCA3LjE2OCwxNi4wMCwgMTYuMDAsMTYuMDAKCQlMIDM4NC4wMCw0NDguMDBjIDguODE2LDAuMDAsIDE2LjAwLTcuMTY4LCAxNi4wMC0xNi4wMEwgNDAwLjAwLDQwMC4wMCB6TSAyODguMDAsNDI0LjAwQyAyODguMDAsNDE5LjU4NCwgMjg0LjQwLDQxNi4wMCwgMjgwLjAwLDQxNi4wMGwtNDguMDAsMC4wMCBDIDIyNy41NjgsNDE2LjAwLCAyMjQuMDAsNDE5LjU4NCwgMjI0LjAwLDQyNC4wMGwwLjAwLDAuMDBDIDIyNC4wMCw0MjguNDMyLCAyMjcuNTY4LDQzMi4wMCwgMjMyLjAwLDQzMi4wMGwgNDguMDAsMC4wMCAKCQlDIDI4NC40MCw0MzIuMDAsIDI4OC4wMCw0MjguNDMyLCAyODguMDAsNDI0LjAwTCAyODguMDAsNDI0LjAwek0gMjcyLjAwLDI0LjA2NGMwLjAwLTQuNDAtMy42MC04LjAwLTguMDAtOC4wMGwtMTYuMDAsMC4wMCBjLTQuNDE2LDAuMDAtOC4wMCwzLjYwLTguMDAsOC4wMGwwLjAwLDAuMDBjMC4wMCw0LjQzMiwgMy41ODQsOC4wMCwgOC4wMCw4LjAwbCAxNi4wMCwwLjAwIAoJCUMgMjY4LjQwLDMyLjA2NCwgMjcyLjAwLDI4LjQ5NiwgMjcyLjAwLDI0LjA2NEwgMjcyLjAwLDI0LjA2NHoiIGRhdGEtdGFncz0icGhvbmUiIC8+CjxnbHlwaCB1bmljb2RlPSImI3hlMDE4OyIgZD0iTSA0NjQuMDAsNDgwLjAwTCAxMTIuMDAsNDgwLjAwIEMgODUuNDg4LDQ4MC4wMCwgNjQuMDAsNDU4LjUyOCwgNjQuMDAsNDMyLjAwbDAuMDAtMzIuMDAgTCA0OC4wMCw0MDAuMDAgQyAyMS40ODgsNDAwLjAwLDAuMDAsMzc4LjUyOCwwLjAwLDM1Mi4wMGwwLjAwLTMyMC4wMCAKCQljMC4wMC0zNS4zNDQsIDI4LjY1Ni02NC4wMCwgNjQuMDAtNjQuMDBsIDM4NC4wMCwwLjAwIGMgMzUuMzQ0LDAuMDAsIDY0LjAwLDI4LjY1NiwgNjQuMDAsNjQuMDBMIDUxMi4wMCw0MzIuMDAgQyA1MTIuMDAsNDU4LjUyOCwgNDkwLjQ5Niw0ODAuMDAsIDQ2NC4wMCw0ODAuMDB6IE0gNDgwLjAwLDMyLjAwYzAuMDAtMTcuNjMyLTE0LjM2OC0zMi4wMC0zMi4wMC0zMi4wMEwgNjQuMDAsMC4wMCBjLTE3LjY0OCwwLjAwLTMyLjAwLDE0LjM2OC0zMi4wMCwzMi4wMEwgMzIuMDAsMzUyLjAwIAoJCWMwLjAwLDguODMyLCA3LjE2OCwxNi4wMCwgMTYuMDAsMTYuMDBsIDE2LjAwLDAuMDAgbDAuMDAtMzIwLjAwIGMwLjAwLTguODQ4LCA3LjE1Mi0xNi4wMCwgMTYuMDAtMTYuMDBzIDE2LjAwLDcuMTUyLCAxNi4wMCwxNi4wMEwgOTYuMDAsNDMyLjAwIGMwLjAwLDguODMyLCA3LjE2OCwxNi4wMCwgMTYuMDAsMTYuMDBsIDM1Mi4wMCwwLjAwIGMgOC44MTYsMC4wMCwgMTYuMDAtNy4xNjgsIDE2LjAwLTE2LjAwTCA0ODAuMDAsMzIuMDAgek0gMzExLjk2OCwyNzEuOTIgQyAzMDcuNTY4LDI3MS45MiAzMDMuOTY4LDI3NS41MDQgMzAzLjk2OCwyNzkuOTIgQyAzMDMuOTY4LDI4NC4zMzYgMzA3LjU2OCwyODcuOTIgMzExLjk2OCwyODcuOTIgTCA0MzkuOTY4LDI4Ny45MiBDIDQ0NC40MCwyODcuOTIgNDQ3Ljk2OCwyODQuMzM2IDQ0Ny45NjgsMjc5LjkyIEMgNDQ3Ljk2OCwyNzUuNTA0IDQ0NC40MCwyNzEuOTIgNDM5Ljk2OCwyNzEuOTIgTCAzMTEuOTY4LDI3MS45MiBaTSAzMTEuOTY4LDMxOS45MiBDIDMwNy41NjgsMzE5LjkyIDMwMy45NjgsMzIzLjUwNCAzMDMuOTY4LDMyNy45MiBDIDMwMy45NjgsMzMyLjMzNiAzMDcuNTY4LDMzNS45MiAzMTEuOTY4LDMzNS45MiBMIDQzOS45NjgsMzM1LjkyIEMgNDQ0LjQwLDMzNS45MiA0NDcuOTY4LDMzMi4zMzYgNDQ3Ljk2OCwzMjcuOTIgQyA0NDcuOTY4LDMyMy41MDQgNDQ0LjQwLDMxOS45MiA0MzkuOTY4LDMxOS45MiBMIDMxMS45NjgsMzE5LjkyIFpNIDMxMS45NjgsMzY3LjkyIEMgMzA3LjU2OCwzNjcuOTIgMzAzLjk2OCwzNzEuNTA0IDMwMy45NjgsMzc1LjkyIEMgMzAzLjk2OCwzODAuMzM2IDMwNy41NjgsMzgzLjkyIDMxMS45NjgsMzgzLjkyIEwgNDM5Ljk2OCwzODMuOTIgQyA0NDQuNDAsMzgzLjkyIDQ0Ny45NjgsMzgwLjMzNiA0NDcuOTY4LDM3NS45MiBDIDQ0Ny45NjgsMzcxLjUwNCA0NDQuNDAsMzY3LjkyIDQzOS45NjgsMzY3LjkyIEwgMzExLjk2OCwzNjcuOTIgWk0gMjY0LjAwLDQ3LjkzNiBDIDI2OC40MTYsNDcuOTM2IDI3Mi4wMCw0NC4zMzYgMjcyLjAwLDM5LjkzNiBDIDI3Mi4wMCwzNS41MDQgMjY4LjQwLDMxLjkzNiAyNjQuMDAsMzEuOTM2IEwgMTM2LjAwLDMxLjkzNiBDIDEzMS41ODQsMzEuOTM2IDEyOC4wMCwzNS41MDQgMTI4LjAwLDM5LjkzNiBDIDEyOC4wMCw0NC4zMzYgMTMxLjU4NCw0Ny45MzYgMTM2LjAwLDQ3LjkzNiBMIDI2NC4wMCw0Ny45MzYgWk0gMjY0LjAwLDk1LjkzNiBDIDI2OC40MTYsOTUuOTM2IDI3Mi4wMCw5Mi4zMzYgMjcyLjAwLDg3LjkzNiBDIDI3Mi4wMCw4My41MDQgMjY4LjQwLDc5LjkzNiAyNjQuMDAsNzkuOTM2IEwgMTM2LjAwLDc5LjkzNiBDIDEzMS41ODQsNzkuOTM2IDEyOC4wMCw4My41MDQgMTI4LjAwLDg3LjkzNiBDIDEyOC4wMCw5Mi4zMzYgMTMxLjU4NCw5NS45MzYgMTM2LjAwLDk1LjkzNiBMIDI2NC4wMCw5NS45MzYgWk0gMjY0LjAwLDE0My45MzYgQyAyNjguNDE2LDE0My45MzYgMjcyLjAwLDE0MC4zMzYgMjcyLjAwLDEzNS45MzYgQyAyNzIuMDAsMTMxLjUwNCAyNjguNDAsMTI3LjkzNiAyNjQuMDAsMTI3LjkzNiBMIDEzNi4wMCwxMjcuOTM2IEMgMTMxLjU4NCwxMjcuOTM2IDEyOC4wMCwxMzEuNTA0IDEyOC4wMCwxMzUuOTM2IEMgMTI4LjAwLDE0MC4zMzYgMTMxLjU4NCwxNDMuOTM2IDEzNi4wMCwxNDMuOTM2IEwgMjY0LjAwLDE0My45MzYgWk0gNDQwLjAwLDQ3LjkzNiBDIDQ0NC40MCw0Ny45MzYgNDQ4LjAwLDQ0LjMzNiA0NDguMDAsMzkuOTM2IEMgNDQ4LjAwLDM1LjUwNCA0NDQuNDAsMzEuOTM2IDQ0MC4wMCwzMS45MzYgTCAzMTIuMDAsMzEuOTM2IEMgMzA3LjU2OCwzMS45MzYgMzA0LjAwLDM1LjUwNCAzMDQuMDAsMzkuOTM2IEMgMzA0LjAwLDQ0LjMzNiAzMDcuNTY4LDQ3LjkzNiAzMTIuMDAsNDcuOTM2IEwgNDQwLjAwLDQ3LjkzNiBaTSA0NDAuMDAsOTUuOTM2IEMgNDQ0LjQwLDk1LjkzNiA0NDguMDAsOTIuMzM2IDQ0OC4wMCw4Ny45MzYgQyA0NDguMDAsODMuNTA0IDQ0NC40MCw3OS45MzYgNDQwLjAwLDc5LjkzNiBMIDMxMi4wMCw3OS45MzYgQyAzMDcuNTY4LDc5LjkzNiAzMDQuMDAsODMuNTA0IDMwNC4wMCw4Ny45MzYgQyAzMDQuMDAsOTIuMzM2IDMwNy41NjgsOTUuOTM2IDMxMi4wMCw5NS45MzYgTCA0NDAuMDAsOTUuOTM2IFpNIDQ0MC4wMCwxNDMuOTM2IEMgNDQ0LjQwLDE0My45MzYgNDQ4LjAwLDE0MC4zMzYgNDQ4LjAwLDEzNS45MzYgQyA0NDguMDAsMTMxLjUwNCA0NDQuNDAsMTI3LjkzNiA0NDAuMDAsMTI3LjkzNiBMIDMxMi4wMCwxMjcuOTM2IEMgMzA3LjU2OCwxMjcuOTM2IDMwNC4wMCwxMzEuNTA0IDMwNC4wMCwxMzUuOTM2IEMgMzA0LjAwLDE0MC4zMzYgMzA3LjU2OCwxNDMuOTM2IDMxMi4wMCwxNDMuOTM2IEwgNDQwLjAwLDE0My45MzYgWk0gNDQwLjAwLDIzOS45MzYgQyA0NDQuNDAsMjM5LjkzNiA0NDguMDAsMjM2LjM1MiA0NDguMDAsMjMxLjkzNiBDIDQ0OC4wMCwyMjcuNTIgNDQ0LjQwLDIyMy45MzYgNDQwLjAwLDIyMy45MzYgTCAxMzYuMDAsMjIzLjkzNiBDIDEzMS41ODQsMjIzLjkzNiAxMjguMDAsMjI3LjUyIDEyOC4wMCwyMzEuOTM2IEMgMTI4LjAwLDIzNi4zNTIgMTMxLjU4NCwyMzkuOTM2IDEzNi4wMCwyMzkuOTM2IEwgNDQwLjAwLDIzOS45MzYgWk0gNDQwLjAwLDE5MS45MzYgQyA0NDQuNDAsMTkxLjkzNiA0NDguMDAsMTg4LjMzNiA0NDguMDAsMTgzLjkzNiBDIDQ0OC4wMCwxNzkuNTA0IDQ0NC40MCwxNzUuOTM2IDQ0MC4wMCwxNzUuOTM2IEwgMTM2LjAwLDE3NS45MzYgQyAxMzEuNTg0LDE3NS45MzYgMTI4LjAwLDE3OS41MDQgMTI4LjAwLDE4My45MzYgQyAxMjguMDAsMTg4LjMzNiAxMzEuNTg0LDE5MS45MzYgMTM2LjAwLDE5MS45MzYgTCA0NDAuMDAsMTkxLjkzNiBaTSAxNDQuMDAsMjcyLjAwbCAxMTIuMDAsMC4wMCBjIDguODQ4LDAuMDAsIDE2LjAwLDcuMTUyLCAxNi4wMCwxNi4wMEwgMjcyLjAwLDM5OS45MzYgYzAuMDAsOC44NDgtNy4xNTIsMTYuMDAtMTYuMDAsMTYuMDBMIDE0NC4wMCw0MTUuOTM2IAoJCWMtOC44NDgsMC4wMC0xNi4wMC03LjE1Mi0xNi4wMC0xNi4wMEwgMTI4LjAwLDI4OC4wMCBDIDEyOC4wMCwyNzkuMTY4LCAxMzUuMTUyLDI3Mi4wMCwgMTQ0LjAwLDI3Mi4wMHogTSAxNjAuMDAsMzg0LjAwbCA4MC4wMCwwLjAwIGwwLjAwLTgwLjAwIGwtODAuMDAsMC4wMCBMIDE2MC4wMCwzODQuMDAgeiIgZGF0YS10YWdzPSJuZXdzIiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTAxOTsiIGQ9Ik0gNDQ4LjAwLDQwMC4wMEwgNjQuMDAsNDAwLjAwIEMgMjguNjU2LDQwMC4wMCwwLjAwLDM3MS4zMjgsMC4wMCwzMzYuMDBsMC4wMC0yMDguMDAgYzAuMDAtMzUuMzQ0LCAyOC42NTYtNjQuMDAsIDY0LjAwLTY0LjAwbCAzODQuMDAsMC4wMCBjIDM1LjM0NCwwLjAwLCA2NC4wMCwyOC42NTYsIDY0LjAwLDY0LjAwTCA1MTIuMDAsMzM2LjAwIAoJQyA1MTIuMDAsMzcxLjMyOCwgNDgzLjM0NCw0MDAuMDAsIDQ0OC4wMCw0MDAuMDB6IE0gMzIuMDAsMzE2LjAwbCAxMTEuOTg0LTg0LjAwTCAzMi4wMCwxNDguMDBMIDMyLjAwLDMxNi4wMCB6IE0gNDgwLjAwLDEyOC4wMGMwLjAwLTE3LjY2NC0xNC4zNjgtMzIuMDAtMzIuMDAtMzIuMDBMIDY0LjAwLDk2LjAwIGMtMTcuNjQ4LDAuMDAtMzIuMDAsMTQuMzM2LTMyLjAwLDMyLjAwbCAxMjUuMzEyLDk0LjAwCglsIDY5Ljg4OC01Mi40MzJjIDguNTI4LTYuMzY4LCAxOC42NTYtOS42MCwgMjguODAtOS42MGMgMTAuMTI4LDAuMDAsIDIwLjI1NiwzLjIxNiwgMjguNzg0LDkuNjBsIDY5LjkwNCw1Mi40MzJMIDQ4MC4wMCwxMjguMDBMIDQ4MC4wMCwxMjguMDB6IE0gNDgwLjAwLDE0OC4wMGwtMTEyLjAwLDg0LjAwbCAxMTIuMDAsODQuMDAKCUwgNDgwLjAwLDE0OC4wMCB6IE0gMjc1LjE4NCwxODIuMzY4Yy01LjU4NC00LjE5Mi0xMi4yMDgtNi40MC0xOS4xODQtNi40MGMtNi45NzYsMC4wMC0xMy42MTYsMi4yMjQtMTkuMjAsNi40MEwgMTcwLjY0LDIzMi4wMGwtMTMuMzI4LDEwLjAwTCAzMi4wMCwzMzUuOTg0TCAzMi4wMCwzMzYuMDAgCgljMC4wMCwxNy42NDgsIDE0LjM1MiwzMi4wMCwgMzIuMDAsMzIuMDBsIDM4NC4wMCwwLjAwIGMgMTcuNjMyLDAuMDAsIDMyLjAwLTE0LjM1MiwgMzIuMDAtMzIuMDBMIDI3NS4xODQsMTgyLjM2OHoiIGRhdGEtdGFncz0ibWFpbCIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUwMWE7IiBkPSJNIDQ2Ni42MjQsMzEyLjQ0OGMtMjAuMDAsNS4yNDgtNjcuMDI0LDUuMTg0LTEzNS44MDgsNy4wMDgKCQljIDMuMjQ4LDE1LjAwOCwgNC4wMCwyOC41NDQsIDQuMDAsNTIuNTc2QyAzMzQuODE2LDQyOS40NCwgMjkyLjk5Miw0ODAuMDAsIDI1Ni4wMCw0ODAuMDBjLTI2LjEyOCwwLjAwLTQ3LjY2NC0yMS4zNi00OC4wMC00Ny42MzJjLTAuMzUyLTMyLjIyNC0xMC4zMi04Ny44NzItNjQuMDAtMTE2LjA5NgoJCWMtMy45MzYtMi4wOC0xNS4yMC03LjYzMi0xNi44NDgtOC4zNTJMIDEyOC4wMCwzMDcuMjBDIDExOS42MCwzMTQuNDQ4LCAxMDcuOTUyLDMyMC4wMCwgOTYuMDAsMzIwLjAwTCA0OC4wMCwzMjAuMDAgYy0yNi40NjQsMC4wMC00OC4wMC0yMS41MzYtNDguMDAtNDguMDBsMC4wMC0yNTYuMDAgYzAuMDAtMjYuNDY0LCAyMS41MzYtNDguMDAsIDQ4LjAwLTQ4LjAwbCA0OC4wMCwwLjAwIAoJCWMgMTkuMDQsMC4wMCwgMzQuOTc2LDExLjUwNCwgNDIuNjg4LDI3LjYzMmMgMC4xOTItMC4wNjQsIDAuNTI4LTAuMTYsIDAuNzUyLTAuMTkyYyAxLjA1Ni0wLjI4OCwgMi4zMDQtMC41OTIsIDMuODI0LTAuOTkyCgkJQyAxNDMuNTUyLTUuNjMyLCAxNDMuNjk2LTUuNjY0LCAxNDQuMDAtNS43NDRjIDkuMjE2LTIuMjg4LCAyNi45Ni02LjUyOCwgNjQuODgtMTUuMjQ4QyAyMTcuMDA4LTIyLjg0OCwgMjU5Ljk1Mi0zMi4wMCwgMzA0LjQzMi0zMi4wMGwgODcuNDcyLDAuMDAgCgkJYyAyNi42NTYsMC4wMCwgNDUuODcyLDEwLjI1NiwgNTcuMzEyLDMwLjg0OGMgMC4xNiwwLjMyLCAzLjg0LDcuNTA0LCA2Ljg0OCwxNy4yMTZjIDIuMjU2LDcuMzEyLCAzLjA4OCwxNy42NjQsIDAuMzY4LDI4LjE2CgkJYyAxNy4xODQsMTEuODA4LCAyMi43MiwyOS42NjQsIDI2LjMyLDQxLjI4YyA2LjAzMiwxOS4wNTYsIDQuMjI0LDMzLjM3NiwgMC4wMzIsNDMuNjMyYyA5LjY2NCw5LjEyLCAxNy45MDQsMjMuMDI0LCAyMS4zNzYsNDQuMjU2CgkJYyAyLjE2LDEzLjE1Mi0wLjE2LDI2LjY4OC02LjIyNCwzNy45NTJjIDkuMDU2LDEwLjE3NiwgMTMuMTg0LDIyLjk3NiwgMTMuNjY0LDM0LjgxNmwgMC4xOTIsMy4zNDRDIDUxMS45MDQsMjUxLjYwLCA1MTIuMDAsMjUyLjg5NiwgNTEyLjAwLDI1Ny41MDQKCQlDIDUxMi4wMCwyNzcuNzEyLCA0OTguMDAsMzAzLjQ4OCwgNDY2LjYyNCwzMTIuNDQ4eiBNIDExMi4wMCwxNi4wMGMwLjAwLTguODQ4LTcuMTUyLTE2LjAwLTE2LjAwLTE2LjAwTCA0OC4wMCwwLjAwIGMtOC44NDgsMC4wMC0xNi4wMCw3LjE1Mi0xNi4wMCwxNi4wMEwgMzIuMDAsMjcyLjAwIGMwLjAwLDguODQ4LCA3LjE1MiwxNi4wMCwgMTYuMDAsMTYuMDBsIDQ4LjAwLDAuMDAgCgkJYyA4Ljg0OCwwLjAwLCAxNi4wMC03LjE1MiwgMTYuMDAtMTYuMDBMIDExMi4wMCwxNi4wMCB6IE0gNDc5LjYzMiwyNDcuNDRDIDQ3OS4zMTIsMjM5LjUzNiwgNDc2LjAwLDIyNC4wMCwgNDQ4LjAwLDIyNC4wMGMtMjQuMDAsMC4wMC0zMi4wMCwwLjAwLTMyLjAwLDAuMDBjLTQuNDMyLDAuMDAtOC4wMC0zLjU4NC04LjAwLTguMDBTIDQxMS41NjgsMjA4LjAwLCA0MTYuMDAsMjA4LjAwCgkJYzAuMDAsMC4wMCwgNy4wMDgsMC4wMCwgMzEuMDA4LDAuMDBzIDI3LjE1Mi0xOS45MDQsIDI1LjYwLTI5LjUwNEMgNDcwLjYyNCwxNjYuNTYsIDQ2NS4wMjQsMTQ0LjAwLCA0MzguMDAsMTQ0LjAwQyA0MTEuMDA4LDE0NC4wMCwgNDAwLjAwLDE0NC4wMCwgNDAwLjAwLDE0NC4wMGMtNC40MzIsMC4wMC04LjAwLTMuNTY4LTguMDAtOC4wMAoJCWMwLjAwLTQuNDAsIDMuNTY4LTguMDAsIDguMDAtOC4wMGMwLjAwLDAuMDAsIDE5LjAwOCwwLjAwLCAzMS41MDQsMC4wMGMgMjcuMDA4LDAuMDAsIDI0LjYyNC0yMC41OTIsIDIwLjc1Mi0zMi44OEMgNDQ3LjE1Miw3OC45NzYsIDQ0NC4wMzIsNjQuMDAsIDQxMC4wMCw2NC4wMAoJCWMtMTEuNTA0LDAuMDAtMjYuMDk2LDAuMDAtMjYuMDk2LDAuMDBjLTQuNDMyLDAuMDAtOC4wMC0zLjU2OC04LjAwLTguMDBjMC4wMC00LjQwLCAzLjU2OC04LjAwLCA4LjAwLTguMDBjMC4wMCwwLjAwLCAxMS4wODgsMC4wMCwgMjUuMDg4LDAuMDAKCQljIDE3LjUwNCwwLjAwLCAxOC4zMi0xNi41NiwgMTYuNDk2LTIyLjQ5NmMtMi4wMC02LjQ5Ni00LjM2OC0xMS4zMTItNC40NjQtMTEuNTM2QyA0MTYuMTkyLDUuMjQ4LCA0MDguNDAsMC4wMCwgMzkxLjkwNCwwLjAwbC04Ny40NzIsMC4wMCAKCQljLTQzLjkzNiwwLjAwLTg3LjUyLDkuOTY4LTg4LjY0LDEwLjIyNGMtNjYuNDY0LDE1LjMxMi02OS45NjgsMTYuNDk2LTc0LjE0NCwxNy42OGMwLjAwLDAuMDAtMTMuNTM2LDIuMjg4LTEzLjUzNiwxNC4wOTZMIDEyOC4wMCwyNjIuOTkyCgkJYzAuMDAsNy41MDQsIDQuNzg0LDE0LjI4OCwgMTIuNzA0LDE2LjY3MmMgMC45OTIsMC4zODQsIDIuMzM2LDAuODAsIDMuMjk2LDEuMjBjIDczLjA4OCwzMC4yNzIsIDk1LjM0NCw5Ni42NCwgOTYuMDAsMTUxLjEzNmMgMC4wOTYsNy42NjQsIDYuMDAsMTYuMDAsIDE2LjAwLDE2LjAwCgkJYyAxNi45MTIsMC4wMCwgNDYuODE2LTMzLjk1MiwgNDYuODE2LTc1Ljk2OEMgMzAyLjgxNiwzMzQuMDk2LCAzMDEuMjgsMzI3LjUzNiwgMjg4LjAwLDI4OC4wMGMgMTYwLjAwLDAuMDAsIDE1OC44OC0yLjMwNCwgMTcyLjk5Mi02LjAwQyA0NzguNDk2LDI3Ni45OTIsIDQ4MC4wMCwyNjIuNDk2LCA0ODAuMDAsMjU3LjUwNAoJCUMgNDgwLjAwLDI1Mi4wMTYsIDQ3OS44NCwyNTIuODE2LCA0NzkuNjMyLDI0Ny40NHpNIDcyLjAwLDY0LjAwQyA1OC43NTIsNjQuMDAsIDQ4LjAwLDUzLjI0OCwgNDguMDAsNDAuMDBTIDU4Ljc1MiwxNi4wMCwgNzIuMDAsMTYuMDAKCQlTIDk2LjAwLDI2Ljc1MiwgOTYuMDAsNDAuMDBTIDg1LjI0OCw2NC4wMCwgNzIuMDAsNjQuMDB6IE0gNzIuMDAsMzIuMDBDIDY3LjYwLDMyLjAwLCA2NC4wMCwzNS42MCwgNjQuMDAsNDAuMDBTIDY3LjYwLDQ4LjAwLCA3Mi4wMCw0OC4wMFMgODAuMDAsNDQuNDAsIDgwLjAwLDQwLjAwUyA3Ni40MCwzMi4wMCwgNzIuMDAsMzIuMDB6IiBkYXRhLXRhZ3M9Imxpa2UiIC8+CjxnbHlwaCB1bmljb2RlPSImI3hlMDFiOyIgZD0iTSA0MzIuMDAsNDgwLjAwTCA4MC4wMCw0ODAuMDAgQyA0NC42NTYsNDgwLjAwLCAxNi4wMCw0NTEuMzQ0LCAxNi4wMCw0MTYuMDBsMC4wMC0zODQuMDAgYzAuMDAtMzUuMzQ0LCAyOC42NTYtNjQuMDAsIDY0LjAwLTY0LjAwbCAzNTIuMDAsMC4wMCBjIDM1LjM0NCwwLjAwLCA2NC4wMCwyOC42NTYsIDY0LjAwLDY0LjAwTCA0OTYuMDAsNDE2LjAwIEMgNDk2LjAwLDQ1MS4zNDQsIDQ2Ny4zNDQsNDgwLjAwLCA0MzIuMDAsNDgwLjAwegoJCSBNIDQ2NC4wMCwzMi4wMGMwLjAwLTE3LjYzMi0xNC4zNjgtMzIuMDAtMzIuMDAtMzIuMDBMIDgwLjAwLDAuMDAgYy0xNy42NDgsMC4wMC0zMi4wMCwxNC4zNjgtMzIuMDAsMzIuMDBMIDQ4LjAwLDQxNi4wMCBjMC4wMCwxNy42NDgsIDE0LjM1MiwzMi4wMCwgMzIuMDAsMzIuMDBsIDM1Mi4wMCwwLjAwIGMgMTcuNjMyLDAuMDAsIDMyLjAwLTE0LjM1MiwgMzIuMDAtMzIuMDBMIDQ2NC4wMCwzMi4wMCB6TSA0MTYuMDAsNDE2LjAwTCA5Ni4wMCw0MTYuMDAgQyA4Ny4xNTIsNDE2LjAwLCA4MC4wMCw0MDguODQ4LCA4MC4wMCw0MDAuMDBsMC4wMC0yODguMDAgYzAuMDAtOC44NDgsIDcuMTUyLTE2LjAwLCAxNi4wMC0xNi4wMGwgMzIwLjAwLDAuMDAgYyA4Ljg0OCwwLjAwLCAxNi4wMCw3LjE1MiwgMTYuMDAsMTYuMDBMIDQzMi4wMCw0MDAuMDAgQyA0MzIuMDAsNDA4Ljg0OCwgNDI0Ljg0OCw0MTYuMDAsIDQxNi4wMCw0MTYuMDB6CgkJIE0gNDE2LjAwLDQwMC4wMGwwLjAwLTIyMS45MDQgbC01Mi4wMCw1Ni40OEMgMzYwLjk0NCwyMzguMDMyLCAzNTYuNTkyLDI0MC4wMCwgMzUyLjAwLDI0MC4wMHMtOC45NzYtMS45NjgtMTIuMDAtNS40MjRsLTQxLjY2NC00Ny4yMGwtMTI2LjMzNiwxNDMuMjAKCQlDIDE2OC45NiwzMzQuMDMyLCAxNjQuNTkyLDMzNi4wMCwgMTYwLjAwLDMzNi4wMFMgMTUxLjA0LDMzNC4wMzIsIDE0OC4wMCwzMzAuNTc2TCA5Ni4wMCwyNzAuNjA4TCA5Ni4wMCw0MDAuMDAgTCA0MTYuMDAsNDAwLjAwIHogTSA5Ni4wMCwyNDYuNDBsIDY0LjAwLDczLjYwbCAxMjkuMDU2LTE0Ni4yODhsIDkuMjgtMTAuNTI4TCAzNDIuNTI4LDExMi4wMEwgOTYuMDAsMTEyLjAwIEwgOTYuMDAsMjQ2LjQwIHoKCQkgTSAzNjMuODQsMTEyLjAwbC01NC44NDgsNjMuMjhMIDM1Mi4wMCwyMjQuMDBsIDY0LjAwLTcwLjA2NEwgNDE2LjAwLDExMi4wMCBMIDM2My44NCwxMTIuMDAgek0gMzIwLjAwLDI3Mi4wMGMgMjYuNDk2LDAuMDAsIDQ4LjAwLDIxLjQ4OCwgNDguMDAsNDguMDBzLTIxLjUwNCw0OC4wMC00OC4wMCw0OC4wMGMtMjYuNTI4LDAuMDAtNDguMDAtMjEuNDg4LTQ4LjAwLTQ4LjAwUyAyOTMuNDcyLDI3Mi4wMCwgMzIwLjAwLDI3Mi4wMHogTSAzMjAuMDAsMzUyLjAwYyAxNy42MzIsMC4wMCwgMzIuMDAtMTQuMzUyLCAzMi4wMC0zMi4wMAoJCXMtMTQuMzY4LTMyLjAwLTMyLjAwLTMyLjAwYy0xNy42NjQsMC4wMC0zMi4wMCwxNC4zNTItMzIuMDAsMzIuMDBTIDMwMi4zMzYsMzUyLjAwLCAzMjAuMDAsMzUyLjAweiIgZGF0YS10YWdzPSJwaG90byIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUwMWM7IiBkPSJNIDUwMi42MjQsMzU4LjY0bC05Ni4wMCw5Ni4wMEMgNDAwLjYyNCw0NjAuNjQsIDM5Mi40NjQsNDY0LjAwLCAzODQuMDAsNDY0LjAwTCA0OC4wMCw0NjQuMDAgCgkJQyAyMS41MzYsNDY0LjAwLDAuMDAsNDQyLjQ4LDAuMDAsNDE2LjAwbDAuMDAtMzg0LjAwIGMwLjAwLTI2LjQ2NCwgMjEuNTM2LTQ4LjAwLCA0OC4wMC00OC4wMGwgNDE2LjAwLDAuMDAgYyAyNi40NjQsMC4wMCwgNDguMDAsMjEuNTM2LCA0OC4wMCw0OC4wMEwgNTEyLjAwLDMzNi4wMCBDIDUxMi4wMCwzNDQuNDk2LCA1MDguNjI0LDM1Mi42NCwgNTAyLjYyNCwzNTguNjR6IE0gNDgwLjAwLDMyLjAwCgkJYzAuMDAtOC44NDgtNy4xNTItMTYuMDAtMTYuMDAtMTYuMDBMIDQ4LjAwLDE2LjAwIGMtOC44NDgsMC4wMC0xNi4wMCw3LjE1Mi0xNi4wMCwxNi4wMEwgMzIuMDAsNDE2LjAwIGMwLjAwLDguODQ4LCA3LjE1MiwxNi4wMCwgMTYuMDAsMTYuMDBsIDMyMC4wMCwwLjAwIGwwLjAwLTY0LjAwIGwtMC4wMzIsMC4wMCBjMC4wMC0yNi41MTIsIDIxLjUwNC00OC4wMCwgNDguMDAtNDguMDBsIDE2LjAwLDAuMDAgTCA0ODAuMDAsMzIwLjAwIEwgNDgwLjAwLDMyLjAwIHogTSA0MzEuOTY4LDMzNi4wMGwtMTYuMDAsMC4wMCAKCQljLTE3LjYzMiwwLjAwLTMyLjAwLDE0LjM1Mi0zMi4wMCwzMi4wMEwgMzg0LjAwLDM2OC4wMCBMIDM4NC4wMCw0MzIuMDAgbCA5Ni4wMC05Ni4wMEwgNDMxLjk2OCwzMzYuMDAgek0gMjQ4LjAwLDM1Mi4wMCBDIDI0My41ODQsMzUyLjAwIDI0MC4wMCwzNTUuNTY4IDI0MC4wMCwzNjAuMDAgQyAyNDAuMDAsMzY0LjQzMiAyNDMuNTg0LDM2OC4wMCAyNDguMDAsMzY4LjAwIEwgMzI4LjAwLDM2OC4wMCBDIDMzMi40MCwzNjguMDAgMzM2LjAwLDM2NC40MTYgMzM2LjAwLDM2MC4wMCBDIDMzNi4wMCwzNTUuNTg0IDMzMi40MCwzNTIuMDAgMzI4LjAwLDM1Mi4wMCBMIDI0OC4wMCwzNTIuMDAgWk0gMjQ4LjAwLDMwNC4wMCBDIDI0My41ODQsMzA0LjAwIDI0MC4wMCwzMDcuNTg0IDI0MC4wMCwzMTIuMDAgQyAyNDAuMDAsMzE2LjQxNiAyNDMuNTg0LDMyMC4wMCAyNDguMDAsMzIwLjAwIEwgMzI4LjAwLDMyMC4wMCBDIDMzMi40MCwzMjAuMDAgMzM2LjAwLDMxNi40MTYgMzM2LjAwLDMxMi4wMCBDIDMzNi4wMCwzMDcuNTg0IDMzMi40MCwzMDQuMDAgMzI4LjAwLDMwNC4wMCBMIDI0OC4wMCwzMDQuMDAgWk0gMjQwLjAwLDI2NC4wMCBDIDI0MC4wMCwyNjguNDMyIDI0My41ODQsMjcyLjAwIDI0OC4wMCwyNzIuMDAgTCA0NDAuMDAsMjcyLjAwIEMgNDQ0LjQwLDI3Mi4wMCA0NDguMDAsMjY4LjQxNiA0NDguMDAsMjY0LjAwIEMgNDQ4LjAwLDI1OS41ODQgNDQ0LjQwLDI1Ni4wMCA0NDAuMDAsMjU2LjAwIEwgMjQ4LjAwLDI1Ni4wMCBDIDI0My41ODQsMjU2LjAwIDI0MC4wMCwyNTkuNTg0IDI0MC4wMCwyNjQuMDAgWk0gNDQwLjAwLDE3Ni4wMCBDIDQ0NC40MCwxNzYuMDAgNDQ4LjAwLDE3Mi40MzIgNDQ4LjAwLDE2OC4wMCBDIDQ0OC4wMCwxNjMuNjAgNDQ0LjQwLDE2MC4wMCA0NDAuMDAsMTYwLjAwIEwgNzIuMDAsMTYwLjAwIEMgNjcuNTg0LDE2MC4wMCA2NC4wMCwxNjMuNjAgNjQuMDAsMTY4LjAwIEMgNjQuMDAsMTcyLjQzMiA2Ny41ODQsMTc2LjAwIDcyLjAwLDE3Ni4wMCBMIDQ0MC4wMCwxNzYuMDAgWk0gNDQwLjAwLDEyOC4wMCBDIDQ0NC40MCwxMjguMDAgNDQ4LjAwLDEyNC40MzIgNDQ4LjAwLDEyMC4wMCBDIDQ0OC4wMCwxMTUuNjAgNDQ0LjQwLDExMi4wMCA0NDAuMDAsMTEyLjAwIEwgNzIuMDAsMTEyLjAwIEMgNjcuNTg0LDExMi4wMCA2NC4wMCwxMTUuNjAgNjQuMDAsMTIwLjAwIEMgNjQuMDAsMTI0LjQzMiA2Ny41ODQsMTI4LjAwIDcyLjAwLDEyOC4wMCBMIDQ0MC4wMCwxMjguMDAgWk0gNDQwLjAwLDgwLjAwIEMgNDQ0LjQwLDgwLjAwIDQ0OC4wMCw3Ni40MzIgNDQ4LjAwLDcyLjAwIEMgNDQ4LjAwLDY3LjYwIDQ0NC40MCw2NC4wMCA0NDAuMDAsNjQuMDAgTCA3Mi4wMCw2NC4wMCBDIDY3LjU4NCw2NC4wMCA2NC4wMCw2Ny42MCA2NC4wMCw3Mi4wMCBDIDY0LjAwLDc2LjQzMiA2Ny41ODQsODAuMDAgNzIuMDAsODAuMDAgTCA0NDAuMDAsODAuMDAgWk0gNDQwLjAwLDIyNC4wMCBDIDQ0NC40MCwyMjQuMDAgNDQ4LjAwLDIyMC40MTYgNDQ4LjAwLDIxNi4wMCBDIDQ0OC4wMCwyMTEuNTg0IDQ0NC40MCwyMDguMDAgNDQwLjAwLDIwOC4wMCBMIDcyLjAwLDIwOC4wMCBDIDY3LjU4NCwyMDguMDAgNjQuMDAsMjExLjU2OCA2NC4wMCwyMTYuMDAgQyA2NC4wMCwyMjAuNDMyIDY3LjU4NCwyMjQuMDAgNzIuMDAsMjI0LjAwIEwgNDQwLjAwLDIyNC4wMCBaTSA4MC4wMCwyNTYuMDBsIDExMi4wMCwwLjAwIGMgOC44NDgsMC4wMCwgMTYuMDAsNy4xNTIsIDE2LjAwLDE2LjAwTCAyMDguMDAsMzY4LjAwIGMwLjAwLDguODQ4LTcuMTUyLDE2LjAwLTE2LjAwLDE2LjAwTCA4MC4wMCwzODQuMDAgCgkJQyA3MS4xNTIsMzg0LjAwLCA2NC4wMCwzNzYuODQ4LCA2NC4wMCwzNjguMDBsMC4wMC05Ni4wMCBDIDY0LjAwLDI2My4xNjgsIDcxLjE1MiwyNTYuMDAsIDgwLjAwLDI1Ni4wMHogTSA5Ni4wMCwzNTIuMDBsIDgwLjAwLDAuMDAgbDAuMDAtNjQuMDAgTCA5Ni4wMCwyODguMDAgTCA5Ni4wMCwzNTIuMDAgeiIgZGF0YS10YWdzPSJub3RlIiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTAxZDsiIGQ9Ik0gMjQwLjAwLDMyMC4wMEExNi4wMCwxNi4wMCAxODAuMDAgMSwwIDI3Mi4wMCwzMjBBMTYuMDAsMTYuMDAgMTgwLjAwIDEsMCAyNDAuMDAsMzIwek0gMjQwLjAwLDEyOC4wMEExNi4wMCwxNi4wMCAxODAuMDAgMSwwIDI3Mi4wMCwxMjhBMTYuMDAsMTYuMDAgMTgwLjAwIDEsMCAyNDAuMDAsMTI4ek0gMTQ0LjAwLDIyNC4wMEExNi4wMCwxNi4wMCAxODAuMDAgMSwwIDE3Ni4wMCwyMjRBMTYuMDAsMTYuMDAgMTgwLjAwIDEsMCAxNDQuMDAsMjI0ek0gMzM2LjAwLDIyNC4wMEExNi4wMCwxNi4wMCAxODAuMDAgMSwwIDM2OC4wMCwyMjRBMTYuMDAsMTYuMDAgMTgwLjAwIDEsMCAzMzYuMDAsMjI0ek0gMTcyLjExMiwxNTYuMTI4QTE2LjAwLDE2LjAwIDE4MC4wMCAxLDAgMjA0LjExMiwxNTYuMTI4QTE2LjAwLDE2LjAwIDE4MC4wMCAxLDAgMTcyLjExMiwxNTYuMTI4ek0gMTcyLjExMiwyOTEuODg4QTE2LjAwLDE2LjAwIDE4MC4wMCAxLDAgMjA0LjExMiwyOTEuODg4MDAwMDAwMDAwMDNBMTYuMDAsMTYuMDAgMTgwLjAwIDEsMCAxNzIuMTEyLDI5MS44ODgwMDAwMDAwMDAwM3pNIDMwNy44NzIsMTU2LjEyOEExNi4wMCwxNi4wMCAxODAuMDAgMSwwIDMzOS44NzIsMTU2LjEyOEExNi4wMCwxNi4wMCAxODAuMDAgMSwwIDMwNy44NzIsMTU2LjEyOHpNIDQxNi4wMCwyNTYuMDBjLTEuMTIsMC4wMC0yLjA2NC0wLjUyOC0zLjE1Mi0wLjY0Yy01LjU2OCwyNy45Mi0xOC43Miw1Mi44OTYtMzYuNzUyLDczLjUwNEwgMzUzLjEyLDQ1My44NTYKCQlDIDM1MC4zMiw0NjkuMDA4LCAzMzcuMDg4LDQ4MC4wMCwgMzIxLjY2NCw0ODAuMDBsLTEyOC4wMCwwLjAwIGMtMTUuNDI0LDAuMDAtMjguNjQtMTEuMDA4LTMxLjQ3Mi0yNi4xNmwtMjIuNDAtMTIwLjc4NEMgMTEyLjkxMiwzMDQuNDY0LCA5Ni4wMCwyNjYuMzY4LCA5Ni4wMCwyMjQuMDAKCQljMC4wMC00MS4zMjgsIDE2LjIyNC03OC40OCwgNDEuOTM2LTEwNi44NDhsIDIyLjU5Mi0xMjMuMDA4QyAxNjMuMzQ0LTIwLjk5MiwgMTc2LjU3Ni0zMi4wMCwgMTkyLjAwLTMyLjAwbCAxMjguMDAsMC4wMCBjIDE1LjQwOCwwLjAwLCAyOC42MjQsMTEuMDA4LCAzMS40NzIsMjYuMTZsIDIyLjc4NCwxMjIuOTEyCgkJYyAxOS4wMjQsMjAuOTc2LCAzMi44NDgsNDYuNzIsIDM4LjU5Miw3NS42MEMgNDEzLjkzNiwxOTIuNTI4LCA0MTQuODgsMTkyLjAwLCA0MTYuMDAsMTkyLjAwYyAxNy42NjQsMC4wMCwgMzIuMDAsMTQuMzM2LCAzMi4wMCwzMi4wMEMgNDQ4LjAwLDI0MS42OCwgNDMzLjY2NCwyNTYuMDAsIDQxNi4wMCwyNTYuMDB6IE0gMTkzLjY2NCw0NDguMDBsIDEyOC4wMCwwLjAwIAoJCWwgMTYuMDAtODYuMTkyQyAzMTQuMDMyLDM3NS41NTIsIDI4Ni45NzYsMzg0LjAwLCAyNTcuNjY0LDM4NC4wMGMtMjkuMjk2LDAuMDAtNTYuMzY4LTguNDQ4LTgwLjAwLTIyLjE5MkwgMTkzLjY2NCw0NDguMDB6IE0gMzIwLjAwLDAuMDBsLTEyOC4wMCwwLjAwIGwtMTYuMDAsODYuMTkyCgkJQyAxOTkuNjE2LDcyLjQ2NCwgMjI2LjY4OCw2NC4wMCwgMjU2LjAwLDY0LjAwYyAyOS4yOTYsMC4wMCwgNTYuMzg0LDguNDY0LCA4MC4wMCwyMi4xOTJMIDMyMC4wMCwwLjAweiBNIDI1Ni4wMCw5Ni4wMGMtNzAuNTc2LDAuMDAtMTI4LjAwLDU3LjQ0LTEyOC4wMCwxMjguMDBjMC4wMCw3MC41NzYsIDU3LjQyNCwxMjguMDAsIDEyOC4wMCwxMjguMDAKCQljIDcwLjU3NiwwLjAwLCAxMjguMDAtNTcuNDI0LCAxMjguMDAtMTI4LjAwQyAzODQuMDAsMTUzLjQ0LCAzMjYuNTYsOTYuMDAsIDI1Ni4wMCw5Ni4wMHpNIDMzNS4wNTYsMzAzLjU4NCBDIDMzNi45OTIsMzAxLjY0OCAzMzcuMTg0LDI5OC41MjggMzM1LjUwNCwyOTYuNDAgTCAyOTYuNjg4LDI0OC4wNjQgTCAyNjcuMTIsMjEyLjQ2NCBDIDI2NC4wOTYsMjA5LjU1MiAyNTkuOTM2LDIwOC4wNjQgMjU1LjkzNiwyMDguMDMyIEMgMjUxLjYzMiwyMDguMDY0IDI0Ny42MTYsMjA5LjcyOCAyNDQuNjI0LDIxMi43MDQgQyAyNDEuNjMyLDIxNS42OCAyNDAuMDAsMjE5LjY2NCAyNDAuMDAsMjIzLjg3MiBDIDI0MC4wMCwyMjguMjI0IDI0MS42OCwyMzIuMjg4IDI0NC43MzYsMjM1LjM2IEwgMzI3LjgwOCwzMDMuOTIgQyAzMzAuMDAsMzA1LjY4IDMzMy4xMiwzMDUuNTIgMzM1LjA1NiwzMDMuNTg0IFoiIGRhdGEtdGFncz0iY2xvY2siIC8+CjxnbHlwaCB1bmljb2RlPSImI3hlMDFlOyIgZD0iTSA1MDQuNjg4LDQ3Ny40NEMgNTAyLjAzMiw0NzkuMTUyLCA0OTkuMDA4LDQ4MC4wMCwgNDk2LjAwLDQ4MC4wMGMtMy4wODgsMC4wMC02LjE5Mi0wLjg4LTguODgtMi42ODhsLTQ4MC4wMC0zMjAuMDAKCWMtNC45NDQtMy4yOC03LjY2NC05LjA1Ni03LjAyNC0xNC45NzZjIDAuNjA4LTUuOTA0LCA0LjQ0OC0xMS4wMDgsIDkuOTY4LTEzLjE4NGwgMTI1LjE4NC01MC4wOTZsIDU4Ljg2NC0xMDMuMDA4CgljIDIuODE2LTQuOTQ0LCA4LjA0OC04LjAwLCAxMy43MTItOC4wNjRjIDAuMDY0LDAuMDAsIDAuMTEyLDAuMDAsIDAuMTc2LDAuMDBjIDUuNjE2LDAuMDAsIDEwLjgzMiwyLjk3NiwgMTMuNzEyLDcuNzc2bCAzMy4yMzIsNTUuNDA4bCAxNTUuMTItNjIuMDMyCglDIDQxMS45NjgtMzEuNjMyLCA0MTMuOTY4LTMyLjAwLCA0MTYuMDAtMzIuMDBjIDIuNzIsMC4wMCwgNS40MDgsMC42ODgsIDcuODQsMi4wNjRjIDQuMjI0LDIuMzY4LCA3LjEyLDYuNTI4LCA3LjkzNiwxMS4zMTJsIDgwLjAwLDQ4MC4wMAoJQyA1MTIuODE2LDQ2Ny42NjQsIDUxMC4wMzIsNDczLjk2OCwgNTA0LjY4OCw0NzcuNDR6IE0gNTAuMTc2LDE0Ny41NjhMIDQyMC45NzYsMzk0Ljc4NEwgMTUxLjM3NiwxMDYuMTkyYy0xLjQyNCwwLjg0OC0yLjY4OCwxLjk2OC00LjI1NiwyLjU5MgoJTCA1MC4xNzYsMTQ3LjU2OHogTSAxNjMuMDI0LDk0Ljk0NGMtMC4wMzIsMC4wNjQtMC4wOCwwLjA5Ni0wLjExMiwwLjE2TCA0NjYuMDAsNDE5LjUwNEwgMjA3LjYxNiwxNi45MTJMIDE2My4wMjQsOTQuOTQ0eiBNIDQwMy40NzIsNi4yNTYKCWwtMTM2LjY1Niw1NC42NTZjLTMuMjQ4LDEuMjgtNi42MjQsMS43MTItOS45NjgsMS45MDRMIDQ2Ny4yOCwzODkuMDI0TCA0MDMuNDcyLDYuMjU2eiIgZGF0YS10YWdzPSJwYXBlcnBsYW5lIiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTAxZjsiIGQ9Ik0gMTI4LjAwLDM4My42NjRMIDEyOC4wMCw0MzIuMDAgYzAuMDAsMjYuNDY0LTIxLjUzNiw0OC4wMC00OC4wMCw0OC4wMFMgMzIuMDAsNDU4LjQ2NCwgMzIuMDAsNDMyLjAwbDAuMDAtNDguMzM2IAoJCUMgMTIuNjcyLDM2OS4wMjQsMC4wMCwzNDYuMDk2LDAuMDAsMzIwLjAwcyAxMi42NzItNDkuMDI0LCAzMi4wMC02My42MzJMIDMyLjAwLDE2LjAwIGMwLjAwLTI2LjQ2NCwgMjEuNTM2LTQ4LjAwLCA0OC4wMC00OC4wMHMgNDguMDAsMjEuNTM2LCA0OC4wMCw0OC4wMEwgMTI4LjAwLDI1Ni4zNjggYyAxOS4zMjgsMTQuNTkyLCAzMi4wMCwzNy41MzYsIDMyLjAwLDYzLjYzMgoJCVMgMTQ3LjMyOCwzNjkuMDI0LCAxMjguMDAsMzgzLjY2NHogTSA2NC4wMCw0MzIuMDBjMC4wMCw4Ljg0OCwgNy4xNTIsMTYuMDAsIDE2LjAwLDE2LjAwcyAxNi4wMC03LjE1MiwgMTYuMDAtMTYuMDBsMC4wMC0zMy42MCBDIDkwLjgzMiwzOTkuNDQsIDg1LjQ4OCw0MDAuMDAsIDgwLjAwLDQwMC4wMFMgNjkuMTY4LDM5OS40NCwgNjQuMDAsMzk4LjQwTCA2NC4wMCw0MzIuMDAgeiBNIDk2LjAwLDE2LjAwCgkJYzAuMDAtOC44NDgtNy4xNTItMTYuMDAtMTYuMDAtMTYuMDBzLTE2LjAwLDcuMTUyLTE2LjAwLDE2LjAwTCA2NC4wMCwyNDEuNjMyIEMgNjkuMTY4LDI0MC41NiwgNzQuNTEyLDI0MC4wMCwgODAuMDAsMjQwLjAwcyAxMC44MzIsMC41NiwgMTYuMDAsMS42MzJMIDk2LjAwLDE2LjAwIHogTSAxMjUuODQsMzA2LjU2CgkJYy0wLjI1Ni0wLjg0OC0wLjQ4LTEuNjgtMC43ODQtMi41MjhjLTEuNTItNC4yMjQtMy40NzItOC4yMjQtNi4wNDgtMTEuNzc2Yy0wLjA2NC0wLjA5Ni0wLjE2LTAuMTYtMC4yMjQtMC4yNTYKCQljLTIuNzg0LTMuODA4LTYuMDk2LTcuMTg0LTkuODU2LTEwLjAzMmMtMC4wNjQtMC4wNjQtMC4xMTItMC4wOTYtMC4xNi0wLjEyOGMtMy44NTYtMi45MTItOC4xNi01LjI0OC0xMi43ODQtNi44OAoJCUMgOTAuOTc2LDI3My4xNTIsIDg1LjY0OCwyNzIuMDAsIDgwLjAwLDI3Mi4wMHMtMTAuOTc2LDEuMTUyLTE2LjAwLDIuOTc2Yy00LjYyNCwxLjYzMi04LjkyOCwzLjk2OC0xMi43ODQsNi44OGMtMC4wNDgsMC4wMzItMC4wOTYsMC4wNjQtMC4xNiwwLjEyOAoJCWMtMy43NiwyLjg0OC03LjA3Miw2LjIyNC05Ljg1NiwxMC4wMzJjLTAuMDY0LDAuMDk2LTAuMTYsMC4xNi0wLjIyNCwwLjI1NmMtMi41NzYsMy41NjgtNC41MjgsNy41NjgtNi4wNDgsMTEuNzc2CgkJYy0wLjMwNCwwLjg0OC0wLjUyOCwxLjY4LTAuNzg0LDIuNTI4QyAzMi44OCwzMTAuODQ4LCAzMi4wMCwzMTUuMzEyLCAzMi4wMCwzMjAuMDBjMC4wMCw0LjcyLCAwLjg4LDkuMTg0LCAyLjE2LDEzLjQ3MgoJCWMgMC4yNTYsMC44NDgsIDAuNDgsMS42OCwgMC43ODQsMi40OTZDIDM2LjQ0OCwzNDAuMTkyLCAzOC40MCwzNDQuMTkyLCA0MC45OTIsMzQ3Ljc3NmMgMC4wNjQsMC4wOTYsIDAuMTYsMC4xNiwgMC4yMjQsMC4yNTYKCQljIDIuNzg0LDMuNzc2LCA2LjA5Niw3LjE4NCwgOS44NTYsMTAuMDMyYyAwLjA2NCwwLjAzMiwgMC4xMTIsMC4wOTYsIDAuMTYsMC4xMjhDIDU1LjA3MiwzNjEuMDU2LCA1OS4zNzYsMzYzLjQwOCwgNjQuMDAsMzY1LjA1NgoJCUMgNjkuMDI0LDM2Ni44NDgsIDc0LjM1MiwzNjguMDAsIDgwLjAwLDM2OC4wMHMgMTAuOTc2LTEuMTUyLCAxNi4wMC0yLjk0NGMgNC42MjQtMS42NjQsIDguOTI4LTQuMDAsIDEyLjc4NC02Ljg4YyAwLjA0OC0wLjAzMiwgMC4wOTYtMC4wOTYsIDAuMTYtMC4xMjgKCQljIDMuNzYtMi44NDgsIDcuMDcyLTYuMjU2LCA5Ljg1Ni0xMC4wMzJjIDAuMDY0LTAuMDk2LCAwLjE2LTAuMTYsIDAuMjI0LTAuMjU2QyAxMjEuNjAsMzQ0LjE5MiwgMTIzLjU1MiwzNDAuMTkyLCAxMjUuMDU2LDMzNS45NjgKCQlDIDEyNS4zNiwzMzUuMTUyLCAxMjUuNjAsMzM0LjMyLCAxMjUuODQsMzMzLjQ3MkMgMTI3LjEyLDMyOS4xODQsIDEyOC4wMCwzMjQuNzIsIDEyOC4wMCwzMjAuMDBDIDEyOC4wMCwzMTUuMzEyLCAxMjcuMTIsMzEwLjg0OCwgMTI1Ljg0LDMwNi41NnpNIDQ4MC4wMCwzODMuNjY0TCA0ODAuMDAsNDMyLjAwIGMwLjAwLDI2LjQ2NC0yMS41MzYsNDguMDAtNDguMDAsNDguMDBzLTQ4LjAwLTIxLjUzNi00OC4wMC00OC4wMGwwLjAwLTQ4LjMzNiAKCQlDIDM2NC42NTYsMzY5LjAyNCwgMzUyLjAwLDM0Ni4wOTYsIDM1Mi4wMCwzMjAuMDBzIDEyLjY1Ni00OS4wMjQsIDMyLjAwLTYzLjYzMkwgMzg0LjAwLDE2LjAwIGMwLjAwLTI2LjQ2NCwgMjEuNTM2LTQ4LjAwLCA0OC4wMC00OC4wMHMgNDguMDAsMjEuNTM2LCA0OC4wMCw0OC4wMEwgNDgwLjAwLDI1Ni4zNjggYyAxOS4zMTIsMTQuNTkyLCAzMi4wMCwzNy41MzYsIDMyLjAwLDYzLjYzMgoJCVMgNDk5LjMxMiwzNjkuMDI0LCA0ODAuMDAsMzgzLjY2NHogTSA0MTYuMDAsNDMyLjAwYzAuMDAsOC44NDgsIDcuMTUyLDE2LjAwLCAxNi4wMCwxNi4wMHMgMTYuMDAtNy4xNTIsIDE2LjAwLTE2LjAwbDAuMDAtMzMuNjAgQyA0NDIuODE2LDM5OS40NCwgNDM3LjQ3Miw0MDAuMDAsIDQzMi4wMCw0MDAuMDBjLTUuNTA0LDAuMDAtMTAuODQ4LTAuNTYtMTYuMDAtMS42MEwgNDE2LjAwLDQzMi4wMCB6CgkJIE0gNDQ4LjAwLDE2LjAwYzAuMDAtOC44NDgtNy4xNTItMTYuMDAtMTYuMDAtMTYuMDBzLTE2LjAwLDcuMTUyLTE2LjAwLDE2LjAwTCA0MTYuMDAsMjQxLjYzMiBDIDQyMS4xNTIsMjQwLjU2LCA0MjYuNDk2LDI0MC4wMCwgNDMyLjAwLDI0MC4wMGMgNS40NzIsMC4wMCwgMTAuODE2LDAuNTYsIDE2LjAwLDEuNjMyTCA0NDguMDAsMTYuMDAgeiBNIDQ3Ny44NCwzMDYuNTYKCQljLTAuMjU2LTAuODQ4LTAuNDk2LTEuNjgtMC43ODQtMi41MjhjLTEuNTM2LTQuMjI0LTMuNDcyLTguMjI0LTYuMDY0LTExLjc3NmMtMC4wNjQtMC4wOTYtMC4xNi0wLjE2LTAuMjI0LTAuMjU2CgkJYy0yLjc4NC0zLjgwOC02LjA5Ni03LjE4NC05Ljg0LTEwLjAzMmMtMC4wNjQtMC4wNjQtMC4xMjgtMC4wOTYtMC4xNi0wLjEyOGMtMy44NzItMi45MTItOC4xNi01LjI0OC0xMi43ODQtNi44OAoJCUMgNDQyLjk3NiwyNzMuMTUyLCA0MzcuNjMyLDI3Mi4wMCwgNDMyLjAwLDI3Mi4wMGMtNS42NjQsMC4wMC0xMC45NzYsMS4xNTItMTYuMDAsMi45NzZjLTQuNjI0LDEuNjMyLTguOTQ0LDMuOTY4LTEyLjc4NCw2Ljg4CgkJYy0wLjA2NCwwLjAzMi0wLjA5NiwwLjA2NC0wLjE2LDAuMTI4Yy0zLjc3NiwyLjg0OC03LjA4OCw2LjIyNC05Ljg3MiwxMC4wMzJjLTAuMDY0LDAuMDk2LTAuMTYsMC4xNi0wLjIyNCwwLjI1NgoJCWMtMi41NiwzLjU2OC00LjUyOCw3LjU2OC02LjAzMiwxMS43NzZjLTAuMzIsMC44NDgtMC41MjgsMS42OC0wLjc4NCwyLjUyOEMgMzg0Ljg4LDMxMC44NDgsIDM4NC4wMCwzMTUuMzEyLCAzODQuMDAsMzIwLjAwCgkJYzAuMDAsNC43MiwgMC44OCw5LjE4NCwgMi4xNiwxMy40NzJjIDAuMjU2LDAuODQ4LCAwLjQ2NCwxLjY4LCAwLjc4NCwyLjQ5NmMgMS41MDQsNC4yMjQsIDMuNDcyLDguMjI0LCA2LjAzMiwxMS44MDgKCQljIDAuMDY0LDAuMDk2LCAwLjE2LDAuMTYsIDAuMjI0LDAuMjU2YyAyLjc4NCwzLjc3NiwgNi4wOTYsNy4xODQsIDkuODcyLDEwLjAzMmMgMC4wNjQsMC4wMzIsIDAuMDk2LDAuMDk2LCAwLjE2LDAuMTI4CgkJYyAzLjg0LDIuODgsIDguMTYsNS4yMTYsIDEyLjc4NCw2Ljg4QyA0MjEuMDI0LDM2Ni44NDgsIDQyNi4zMzYsMzY4LjAwLCA0MzIuMDAsMzY4LjAwYyA1LjYzMiwwLjAwLCAxMC45NzYtMS4xNTIsIDE2LjAwLTIuOTQ0YyA0LjYyNC0xLjY2NCwgOC45MTItNC4wMCwgMTIuNzg0LTYuODgKCQljIDAuMDMyLTAuMDMyLCAwLjA5Ni0wLjA5NiwgMC4xNi0wLjEyOGMgMy43NDQtMi44NDgsIDcuMDU2LTYuMjU2LCA5Ljg0LTEwLjAzMmMgMC4wNjQtMC4wOTYsIDAuMTYtMC4xNiwgMC4yMjQtMC4yNTYKCQljIDIuNTkyLTMuNjAsIDQuNTI4LTcuNjAsIDYuMDY0LTExLjgwOGMgMC4yODgtMC44MTYsIDAuNTI4LTEuNjY0LCAwLjc4NC0yLjQ5NkMgNDc5LjEyLDMyOS4xODQsIDQ4MC4wMCwzMjQuNzIsIDQ4MC4wMCwzMjAuMDAKCQlDIDQ4MC4wMCwzMTUuMzEyLCA0NzkuMTIsMzEwLjg0OCwgNDc3Ljg0LDMwNi41NnpNIDMwNC4wMCwxOTEuNjY0TCAzMDQuMDAsNDMyLjAwIGMwLjAwLDI2LjQ2NC0yMS41MzYsNDguMDAtNDguMDAsNDguMDBzLTQ4LjAwLTIxLjUzNi00OC4wMC00OC4wMGwwLjAwLTI0MC4zMzYgCgkJYy0xOS4zMjgtMTQuNjI0LTMyLjAwLTM3LjU2OC0zMi4wMC02My42NjRzIDEyLjY3Mi00OS4wMjQsIDMyLjAwLTYzLjYzMkwgMjA4LjAwLDE2LjAwIGMwLjAwLTI2LjQ2NCwgMjEuNTM2LTQ4LjAwLCA0OC4wMC00OC4wMHMgNDguMDAsMjEuNTM2LCA0OC4wMCw0OC4wMGwwLjAwLDQ4LjM2OCBjIDE5LjMxMiwxNC41OTIsIDMyLjAwLDM3LjUzNiwgMzIuMDAsNjMuNjMyCgkJUyAzMjMuMzEyLDE3Ny4wMjQsIDMwNC4wMCwxOTEuNjY0eiBNIDI0MC4wMCw0MzIuMDBjMC4wMCw4Ljg0OCwgNy4xNTIsMTYuMDAsIDE2LjAwLDE2LjAwYyA4Ljg0OCwwLjAwLCAxNi4wMC03LjE1MiwgMTYuMDAtMTYuMDBsMC4wMC0yMjUuNjAgYy01LjE4NCwxLjAyNC0xMC41MjgsMS42MC0xNi4wMCwxLjYwCgkJYy01LjQ4OCwwLjAwLTEwLjgzMi0wLjU2LTE2LjAwLTEuNjBMIDI0MC4wMCw0MzIuMDAgeiBNIDI3Mi4wMCwxNi4wMGMwLjAwLTguODQ4LTcuMTUyLTE2LjAwLTE2LjAwLTE2LjAwYy04Ljg0OCwwLjAwLTE2LjAwLDcuMTUyLTE2LjAwLDE2LjAwbDAuMDAsMzMuNjMyIEMgMjQ1LjE2OCw0OC41NiwgMjUwLjUxMiw0OC4wMCwgMjU2LjAwLDQ4LjAwCgkJYyA1LjQ3MiwwLjAwLCAxMC44MTYsMC41NiwgMTYuMDAsMS42MzJMIDI3Mi4wMCwxNi4wMCB6IE0gMzAxLjg0LDExNC41NmMtMC4yNTYtMC44NDgtMC40OTYtMS42OC0wLjc4NC0yLjUyOGMtMS41MzYtNC4yMjQtMy40NzItOC4yMjQtNi4wNjQtMTEuNzc2CgkJYy0wLjA2NC0wLjA5Ni0wLjE2LTAuMTYtMC4yMjQtMC4yNTZjLTIuNzg0LTMuODA4LTYuMDk2LTcuMTg0LTkuODQtMTAuMDMyYy0wLjA2NC0wLjA2NC0wLjEyOC0wLjA5Ni0wLjE2LTAuMTI4CgkJYy0zLjg3Mi0yLjkxMi04LjE2LTUuMjQ4LTEyLjc4NC02Ljg4QyAyNjYuOTc2LDgxLjE1MiwgMjYxLjYzMiw4MC4wMCwgMjU2LjAwLDgwLjAwYy01LjY0OCwwLjAwLTEwLjk3NiwxLjE1Mi0xNi4wMCwyLjk3NgoJCWMtNC42MjQsMS42MzItOC45MjgsMy45NjgtMTIuNzg0LDYuODhjLTAuMDQ4LDAuMDMyLTAuMDk2LDAuMDY0LTAuMTYsMC4xMjhjLTMuNzYsMi44NDgtNy4wNzIsNi4yMjQtOS44NTYsMTAuMDMyCgkJYy0wLjA2NCwwLjA5Ni0wLjE2LDAuMTYtMC4yMjQsMC4yNTZjLTIuNTc2LDMuNTY4LTQuNTI4LDcuNTY4LTYuMDQ4LDExLjc3NmMtMC4zMDQsMC44NDgtMC41MjgsMS42OC0wLjc4NCwyLjUyOAoJCUMgMjA4Ljg4LDExOC44NDgsIDIwOC4wMCwxMjMuMzEyLCAyMDguMDAsMTI4LjAwYzAuMDAsNC43MiwgMC44OCw5LjE4NCwgMi4xNiwxMy40NzJjIDAuMjU2LDAuODQ4LCAwLjQ4LDEuNjgsIDAuNzg0LDIuNDk2CgkJYyAxLjUyLDQuMjI0LCAzLjQ3Miw4LjIyNCwgNi4wNDgsMTEuODA4YyAwLjA2NCwwLjA5NiwgMC4xNiwwLjE2LCAwLjIyNCwwLjI1NmMgMi43ODQsMy43NzYsIDYuMDk2LDcuMTg0LCA5Ljg1NiwxMC4wMzIKCQljIDAuMDY0LDAuMDMyLCAwLjExMiwwLjA5NiwgMC4xNiwwLjEyOGMgMy44NTYsMi44OCwgOC4xNiw1LjIxNiwgMTIuNzg0LDYuODhDIDI0NS4wMjQsMTc0Ljg0OCwgMjUwLjM1MiwxNzYuMDAsIDI1Ni4wMCwxNzYuMDBjIDUuNjMyLDAuMDAsIDEwLjk3Ni0xLjE1MiwgMTYuMDAtMi45NDQKCQljIDQuNjI0LTEuNjY0LCA4LjkxMi00LjAwLCAxMi43ODQtNi44OGMgMC4wMzItMC4wMzIsIDAuMDk2LTAuMDk2LCAwLjE2LTAuMTI4YyAzLjc0NC0yLjg0OCwgNy4wNTYtNi4yNTYsIDkuODQtMTAuMDMyCgkJYyAwLjA2NC0wLjA5NiwgMC4xNi0wLjE2LCAwLjIyNC0wLjI1NmMgMi41OTItMy42MCwgNC41MjgtNy42MCwgNi4wNjQtMTEuODA4YyAwLjI4OC0wLjgxNiwgMC41MjgtMS42NjQsIDAuNzg0LTIuNDk2CgkJQyAzMDMuMTIsMTM3LjE4NCwgMzA0LjAwLDEzMi43MiwgMzA0LjAwLDEyOC4wMEMgMzA0LjAwLDEyMy4zMTIsIDMwMy4xMiwxMTguODQ4LCAzMDEuODQsMTE0LjU2eiIgZGF0YS10YWdzPSJwYXJhbXMiIC8+CjxnbHlwaCB1bmljb2RlPSImI3hlMDIwOyIgZD0iTSA1MDIuNjQsMzEwLjYyNGwtMTYwLjAwLDE2MC4wMEMgMzM0LjcwNCw0NzguNTYsIDMyMy4yMCw0ODEuNzQ0LCAzMTIuMzA0LDQ3OS4wNTYKCQljLTUuNzQ0LTEuNDA4LTEwLjg4LTQuMzY4LTE0Ljk0NC04LjQzMmMtMy42MzItMy42MzItNi4zNjgtOC4xMjgtNy45MzYtMTMuMTUyYy03LjI0OC0yMy41MDQtMTkuNzc2LTQzLjkzNi0zOC4zMi02Mi40NjQKCQlDIDIyNi4zMzYsMzcwLjI1NiwgMTk0LjA4LDM1MS41MDQsIDE1OS45NTIsMzMxLjY4Yy0zNi4yMjQtMjAuOTkyLTczLjY0OC00Mi43NTItMTA0LjMyLTczLjQwOGMtMjYuMDY0LTI2LjA5Ni00My44MDgtNTUuMTItNTQuMjA4LTg4LjgxNgoJCWMtMy41MDQtMTEuMzc2LTAuNDQ4LTIzLjY4LCA3LjkzNi0zMi4wOTZsIDE2MC4wMC0xNjAuMDBjIDcuOTM2LTcuOTM2LCAxOS40NC0xMS4xMiwgMzAuMzM2LTguNDMyYyA1Ljc0NCwxLjQ0LCAxMC44OCw0LjM2OCwgMTQuOTQ0LDguNDMyCgkJYyAzLjYzMiwzLjYzMiwgNi4zNjgsOC4xMjgsIDcuOTM2LDEzLjE4NGMgNy4yNjQsMjMuNTA0LCAxOS43OTIsNDMuOTM2LCAzOC4zNTIsNjIuNDY0YyAyNC43NTIsMjQuNzUyLCA1Ni45OTIsNDMuNDcyLCA5MS4xNTIsNjMuMjgKCQljIDM2LjE5MiwyMS4wMjQsIDczLjYzMiw0Mi43ODQsIDEwNC4yODgsNzMuNDRjIDI2LjA2NCwyNi4wNjQsIDQzLjgwOCw1NS4xMiwgNTQuMjI0LDg4LjgxNkMgNTE0LjA4LDI4OS45MDQsIDUxMS4wMDgsMzAyLjI1NiwgNTAyLjY0LDMxMC42MjR6IE0gMTkyLjAwLDAuMDAKCQlDIDEzOS4wMDgsNTIuOTkyLCA4NC45OTIsMTA3LjAyNCwgMzIuMDAsMTYwLjAwYyA0NS40NzIsMTQ3LjIxNiwgMjQyLjU2LDE0MC43ODQsIDI4OC4wMCwyODguMDBjIDUyLjk5Mi01Mi45NzYsIDEwNy4wMjQtMTA3LjAwOCwgMTYwLjAzMi0xNjAuMDAKCQlDIDQzNC41NDQsMTQwLjgxNiwgMjM3LjQ1NiwxNDcuMjE2LCAxOTIuMDAsMC4wMHpNIDMxMi45OTIsMjQxLjYwYy01LjIxNiw0LjM2OC0xMC40NjQsNy4zNDQtMTUuNzQ0LDguODE2CgkJYy01LjI0OCwxLjQ3Mi0xMC40OTYsMi4wNjQtMTUuODA4LDEuNjhjLTUuMjQ4LTAuNDAtMTAuNjI0LTEuNjAtMTYuMDAtMy42NjRjLTUuMzc2LTIuMDk2LTEwLjc4NC00LjM2OC0xNi4yMjQtNy4wMDgKCQljLTguNTkyLDkuODcyLTE3LjE4NCwxOS42MzItMjUuNzc2LDI4LjY4OGMgMy44NzIsMy41MDQsIDcuNjMyLDUuMjgsIDExLjI0OCw1LjQwOGMgMy42MzIsMC4xNiwgNy4xMi0wLjIyNCwgMTAuNDMyLTEuMDU2CgkJYyAzLjM3Ni0wLjg0OCwgNi40NjQtMS41NjgsIDkuMzEyLTIuMTI4YyAyLjg4LTAuNTYsIDUuMzc2LDAuMDY0LCA3LjU2OCwxLjkwNGMgMi4zMiwyLjAwLCAzLjYwLDQuNTkyLCAzLjc3Niw3LjcxMgoJCWMgMC4xNiwzLjE1Mi0xLjAyNCw2LjIyNC0zLjY2NCw5LjIxNmMtMy4zNzYsMy44NzItNy40NCw2LjIyNC0xMi4zMiw3LjA4OGMtNC44MTYsMC44NDgtOS43NDQsMC43ODQtMTQuODgtMC4zMzYKCQljLTUuMDU2LTEuMTUyLTkuODcyLTMuMDU2LTE0LjQzMi01Ljc0NHMtOC4yMjQtNS40NC0xMC45NDQtOC4xMjhjLTEuMDQsMC45OTItMi4wOCwxLjk2OC0zLjEyLDIuOTQ0CgkJYy0xLjE1MiwxLjA1Ni0yLjU5MiwxLjYzMi00LjMyLDEuNjBjLTEuNzQ0LDAuMDAtMy4xODQtMC43NTItNC4zNjgtMi4xMjhjLTEuMTUyLTEuMzQ0LTEuNjgtMi45MTItMS40NzItNC41NgoJCWMgMC4xNi0xLjcxMiwgMC44NDgtMy4wMjQsIDIuMDMyLTQuMDMyYyAxLjA0LTAuODgsIDIuMDgtMS43NDQsIDMuMTItMi42NTZjLTQuMDk2LTQuOTQ0LTcuNDcyLTEwLjQwLTEwLjEyOC0xNi4xNgoJCWMtMi42ODgtNS43NzYtNC4yODgtMTEuNTA0LTQuODgtMTcuMDU2Yy0wLjYyNC01LjYwLTAuMDMyLTEwLjcyLCAxLjY4LTE1LjQ3MmMgMS43MTItNC43ODQsIDQuODgtOC44NDgsIDkuNTA0LTEyLjY4OAoJCWMgNy41MzYtNi4yNTYsIDE2LjQwLTguOTEyLCAyNi42ODgtOC4zMmMgMTAuMjU2LDAuNjI0LCAyMS4zMTIsMy42OCwgMzMuMjAsMTAuMDY0YyA5LjQ0LTEwLjkxMiwgMTguOTEyLTIxLjc0NCwgMjguMzY4LTMxLjgwOAoJCWMtNC4wMC0zLjM3Ni03LjUwNC01LjMxMi0xMC41OTItNS45MzZjLTMuMDg4LTAuNjU2LTUuODQtMC41OTItOC4zMzYsMC4xNmMtMi40OTYsMC43ODQtNC44MTYsMS45MDQtNi45NDQsMy4zNDQKCQljLTIuMTI4LDEuNDcyLTQuMjI0LDIuNzItNi4zMiwzLjc0NGMtMi4wNjQsMS4wMjQtNC4xOTIsMS42MC02LjM2OCwxLjYzMnMtNC40OTYtMS4wMjQtNy4wNTYtMy4yMTYKCQljLTIuNjI0LTIuMjg4LTMuOTM2LTQuOTQ0LTMuOTM2LTcuOTM2YzAuMDAtMi45NzYsIDEuMzc2LTYuMDAsIDQuMDY0LTkuMDU2YyAyLjcyLTMuMDU2LCA2LjI1Ni01LjYzMiwgMTAuNTI4LTcuNjY0CgkJcyA5LjEwNC0zLjMxMiwgMTQuNDE2LTMuNjY0YyA1LjMxMi0wLjM2OCwgMTAuOTEyLDAuNDMyLCAxNi44MTYsMi42MjRjIDUuOTM2LDIuMTYsIDExLjgwOCw2LjA2NCwgMTcuNjAsMTEuODcyCgkJYyAyLjc4NC0yLjcyLCA1LjYwLTUuMzEyLCA4LjQwLTcuODA4YyAxLjE4NC0xLjAyNCwgMi42MjQtMS41MzYsIDQuMzY4LTEuNDA4YyAxLjY4LDAuMDY0LCAzLjE1MiwwLjg0OCwgNC4zMiwyLjI1NgoJCWMgMS4xODQsMS40NCwgMS42OCwzLjAyNCwgMS41MDQsNC42ODhjLTAuMTYsMS42OC0wLjg0OCwyLjk3Ni0yLjAwLDMuOTA0Yy0yLjgxNiwyLjI1Ni01LjYzMiw0LjYyNC04LjQzMiw3LjEyCgkJYyA0Ljc4NCw1Ljg3MiwgOC42MjQsMTIuMDY0LCAxMS40NzIsMTguMTkyYyAyLjg0OCw2LjE2LCA0LjUyOCwxMi4wOTYsIDUuMDg4LDE3LjYwYyAwLjU2LDUuNTM2LTAuMDk2LDEwLjUyOC0xLjkwNCwxNS4wNTYKCQlDIDMyMC43MzYsMjMzLjg3MiwgMzE3LjU1MiwyMzcuODA4LCAzMTIuOTkyLDI0MS42MHogTSAyMjMuNTM2LDIzMC43NTJjLTQuNTI4LTAuMTkyLTguNDgsMS4zMTItMTEuOTM2LDQuNjU2CgkJYy0xLjQ3MiwxLjQwOC0yLjQ5NiwzLjEyLTMuMTIsNS4xNTJjLTAuNjU2LDIuMDMyLTAuODgsNC4yNTYtMC42MjQsNi42ODhjIDAuMjI0LDIuNDAsIDAuOTQ0LDQuOTEyLCAyLjE5Miw3LjQ0CgkJYyAxLjE4NCwyLjUyOCwgMi45NDQsNS4wNTYsIDUuMTg0LDcuNTA0YyA4LjExMi04LjA2NCwgMTYuMjA4LTE2LjkxMiwgMjQuMzItMjYuMDY0QyAyMzMuNDA4LDIzMi43NTIsIDIyOC4wNjQsMjMwLjk0NCwgMjIzLjUzNiwyMzAuNzUyegoJCSBNIDI5OS4wMDgsMTk4LjcyYy0xLjQ0LTIuNjU2LTMuMDg4LTUuMDI0LTUuMDI0LTcuMDg4Yy04Ljk3Niw5LjA1Ni0xNy45MzYsMTkuMDA4LTI2Ljg4LDI5LjIxNmMgMi4yODgsMS4wMjQsIDQuNjg4LDIuMDk2LCA3LjI4LDMuMTg0CgkJcyA1LjE4NCwxLjgwOCwgNy43NzYsMi4yNTZjIDIuNjU2LDAuNDAsIDUuMjgsMC4yODgsIDcuOTA0LTAuMzM2YyAyLjU5Mi0wLjY1NiwgNS4wNTYtMi4wNjQsIDcuMzQ0LTQuMjg4CgkJYyAyLjI1Ni0yLjI1NiwgMy42OC00LjU5MiwgNC4yNTYtNy4xMmMgMC42MjQtMi41NiwgMC42NTYtNS4xNTIsIDAuMjI0LTcuODA4QyAzMDEuNDI0LDIwNC4wNjQsIDMwMC40OCwyMDEuNDA4LCAyOTkuMDA4LDE5OC43MnpNIDIzNS40NzIsMTI1LjEyIEMgMjM4LjYyNCwxMjcuNjY0IDI0My4yNjQsMTI3LjUzNiAyNDYuMTYsMTI0LjU5MiBDIDI0OS4yOTYsMTIxLjQ3MiAyNDkuMjk2LDExNi4zNjggMjQ2LjE2LDExMy4yNDggQyAyNDUuOTA0LDExMi45OTIgMjQ1LjYzMiwxMTIuODE2IDI0NS4zNDQsMTEyLjU5MiBMIDI0NS4zNzYsMTEyLjU2IEMgMjM1LjI0OCwxMDQuODY0IDIyNi45MjgsOTcuOTM2IDIxNy45NTIsODguOTYgQyAyMDkuODQsODAuODY0IDIwMi41MTIsNzIuMzM2IDE5Ni4xNzYsNjMuNjggTCAxODUuOTUyLDQ5LjY4IEMgMTg1LjYzMiw0OS4xMDQgMTg1LjI0OCw0OC41NzYgMTg0Ljc2OCw0OC4wOCBDIDE4MS42MzIsNDQuOTYgMTc2LjUyOCw0NC45NiAxNzMuNDA4LDQ4LjA4IEMgMTcwLjY4OCw1MC44MCAxNzAuMzUyLDU0Ljk5MiAxNzIuMzUyLDU4LjExMiBMIDE3Mi4zMiw1OC4xNDQgTCAxODMuMjY0LDczLjA4OCBDIDE5MC4wOTYsODIuNDMyIDE5Ny45NTIsOTEuNTg0IDIwNi42NCwxMDAuMjcyIEMgMjE1LjY4LDEwOS4zNDQgMjI1LjQ0LDExNy40NCAyMzUuNDQsMTI1LjEyIEwgMjM1LjQ3MiwxMjUuMTIgWk0gMjk0LjA0OCwzNTYuNTYgQyAzMDIuMTQ0LDM2NC42NTYgMzA5LjQ1NiwzNzMuMTUyIDMxNS44MDgsMzgxLjg1NiBMIDMyNi40MzIsMzk2LjQxNiBDIDMyNi44MTYsMzk3LjEwNCAzMjcuMjQ4LDM5Ny43OTIgMzI3Ljg0LDM5OC4zODQgQyAzMzAuOTkyLDQwMS41MzYgMzM2LjA5Niw0MDEuNTM2IDMzOS4yNDgsMzk4LjM4NCBDIDM0Mi4yNCwzOTUuMzc2IDM0Mi4zNjgsMzkwLjYyNCAzMzkuNjQ4LDM4Ny40NCBMIDMzOS42OCwzODcuNDA4IEwgMzI4LjczNiwzNzIuNDAgQyAzMjEuODg4LDM2My4wNTYgMzE0LjA0OCwzNTMuOTM2IDMwNS4zNiwzNDUuMjQ4IEMgMjk2LjMyLDMzNi4yMDggMjg2LjU3NiwzMjguMDggMjc2LjU3NiwzMjAuNDAgTCAyNzYuNTEyLDMyMC40MzIgQyAyNzMuMzI4LDMxNy41MDQgMjY4LjM4NCwzMTcuNTY4IDI2NS4zMjgsMzIwLjY1NiBDIDI2Mi4xNzYsMzIzLjgwOCAyNjIuMTc2LDMyOC45NDQgMjY1LjMyOCwzMzIuMDk2IEMgMjY1Ljg4OCwzMzIuNjg4IDI2Ni41NDQsMzMzLjEwNCAyNjcuMjAsMzMzLjQ3MiBDIDI3Ni42MDgsMzQwLjY1NiAyODUuNjgsMzQ4LjE5MiAyOTQuMDQ4LDM1Ni41NiBaIiBkYXRhLXRhZ3M9ImJhbmtub3RlIiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTAyMTsiIGQ9Ik0gMjU2LjAwLDQ4MC4wMEMgMTQ4LjA5Niw0ODAuMDAsIDMyLjAwLDQ0Ny40NzIsIDMyLjAwLDM3Ni4wMGwwLjAwLTMwNC4wMCBDIDMyLjAwLDAuNTYsIDE0OC4wOTYtMzIuMDAsIDI1Ni4wMC0zMi4wMGMgMTA3Ljg4OCwwLjAwLCAyMjQuMDAsMzIuNTYsIDIyNC4wMCwxMDQuMDBsMC4wMCwzMDQuMDAgCgkJQyA0ODAuMDAsNDQ3LjQ3MiwgMzYzLjg3Miw0ODAuMDAsIDI1Ni4wMCw0ODAuMDB6IE0gNDQ4LjAwLDcyLjAwYzAuMDAtMzkuNzQ0LTg1Ljk2OC03Mi4wMC0xOTIuMDAtNzIuMDBjLTEwNi4wNDgsMC4wMC0xOTIuMDAsMzIuMjU2LTE5Mi4wMCw3Mi4wMGwwLjAwLDU5Ljc3NiBDIDk3LjA1Niw5Ny43MTIsIDE3Ni44MCw4MC4wMCwgMjU2LjAwLDgwLjAwCgkJYyA3OS4yMCwwLjAwLCAxNTguOTQ0LDE3LjcxMiwgMTkyLjAwLDUxLjc3NkwgNDQ4LjAwLDcyLjAwIHogTSA0NDguMDAsMTY4LjAwbC0wLjA2NCwwLjAwIGMwLjAwLTAuMTYsIDAuMDY0LTAuMzM2LCAwLjA2NC0wLjQ5NkMgNDQ4LjAwLDEyOC4wMCwgMzYyLjAzMiw5Ni4wMCwgMjU2LjAwLDk2LjAwYy0xMDYuMDMyLDAuMDAtMTkyLjAwLDMyLjAwLTE5Mi4wMCw3MS41MDQKCQljMC4wMCwwLjE2LCAwLjA2NCwwLjMzNiwgMC4wNjQsMC40OTZMIDY0LjAwLDE2OC4wMCBsMC4wMCw1OS43NzYgQyA5Ny4wNTYsMTkzLjcxMiwgMTc2LjgwLDE3Ni4wMCwgMjU2LjAwLDE3Ni4wMGMgNzkuMjAsMC4wMCwgMTU4Ljk0NCwxNy43MTIsIDE5Mi4wMCw1MS43NzZMIDQ0OC4wMCwxNjguMDAgeiBNIDQ0OC4wMCwyNjQuMDBsLTAuMDY0LDAuMDAgCgkJYzAuMDAtMC4xNiwgMC4wNjQtMC4zMzYsIDAuMDY0LTAuNDk2QyA0NDguMDAsMjI0LjAwLCAzNjIuMDMyLDE5Mi4wMCwgMjU2LjAwLDE5Mi4wMGMtMTA2LjAzMiwwLjAwLTE5Mi4wMCwzMi4wMC0xOTIuMDAsNzEuNTA0YzAuMDAsMC4xNiwgMC4wNjQsMC4zMzYsIDAuMDY0LDAuNDk2TCA2NC4wMCwyNjQuMDAgbDAuMDAsNTQuOTc2IAoJCUMgMTA1LjkzNiwyODcuMDI0LCAxODIuODAsMjcyLjAwLCAyNTYuMDAsMjcyLjAwYyA3My4yMCwwLjAwLCAxNTAuMDY0LDE1LjAyNCwgMTkyLjAwLDQ2Ljk3NkwgNDQ4LjAwLDI2NC4wMCB6IE0gMjU2LjAwLDMwNC4wMEMgMTQ5Ljk1MiwzMDQuMDAsIDY0LjAwLDMzNi4yNTYsIDY0LjAwLDM3Ni4wMEMgNjQuMDAsNDE1Ljc3NiwgMTQ5Ljk1Miw0NDguMDAsIDI1Ni4wMCw0NDguMDAKCQljIDEwNi4wMzIsMC4wMCwgMTkyLjAwLTMyLjIyNCwgMTkyLjAwLTcyLjAwQyA0NDguMDAsMzM2LjI1NiwgMzYyLjAzMiwzMDQuMDAsIDI1Ni4wMCwzMDQuMDB6TSAzODQuMDAsNjQuMDBBMTYuMDAsMTYuMDAgMTgwLjAwIDEsMCA0MTYuMDAsNjRBMTYuMDAsMTYuMDAgMTgwLjAwIDEsMCAzODQuMDAsNjR6TSAzODQuMDAsMTYwLjAwQTE2LjAwLDE2LjAwIDE4MC4wMCAxLDAgNDE2LjAwLDE2MEExNi4wMCwxNi4wMCAxODAuMDAgMSwwIDM4NC4wMCwxNjB6TSAzODQuMDAsMjU2LjAwQTE2LjAwLDE2LjAwIDE4MC4wMCAxLDAgNDE2LjAwLDI1NkExNi4wMCwxNi4wMCAxODAuMDAgMSwwIDM4NC4wMCwyNTZ6IiBkYXRhLXRhZ3M9ImRhdGEiIC8+CjxnbHlwaCB1bmljb2RlPSImI3hlMDIyOyIgZD0iTSA1MDAuNTc2LDQ3Mi40OTZDIDQ5NC43NjgsNDc3LjM3NiwgNDg3LjQ4OCw0ODAuMDAsIDQ4MC4wMTYsNDgwLjAwYy0xLjg0LDAuMDAtMy43MTItMC4xNi01LjU2OC0wLjQ5NmwtMjcyLjAzMi00OC4wMAoJQyAxODcuMTIsNDI4LjgxNiwgMTc1Ljk4NCw0MTUuNTM2LCAxNzUuOTg0LDQwMC4wMGwwLjAwLTMyLjAwIGwwLjAwLTE2LjAwIGwwLjAwLTIyNi43MiBDIDE1OS43NDQsMTM3LjA1NiwgMTM4LjY3MiwxNDQuMDAsIDExNS4yOCwxNDQuMDBjLTEzLjYwLDAuMDAtMjcuMjAtMi4yNTYtNDAuNDY0LTYuNjU2CglDIDQ0LjQ0OCwxMjcuMjE2LCAyMC4wOTYsMTA2LjkxMiwgOC4wMCw4MS42MGMtOS4zNDQtMTkuNTY4LTEwLjU0NC00MC44NDgtMy40MjQtNTkuOTM2QyAxNi43NTItMTAuOTQ0LCA1MS4zNDQtMzIuMDAsIDkyLjcwNC0zMi4wMAoJYyAxMy42MCwwLjAwLCAyNy4yMCwyLjIyNCwgNDAuNDQ4LDYuNjU2YyAzMC4zNTIsMTAuMDk2LCA1NC43MDQsMzAuNDAsIDY2LjgwLDU1LjY4YyA1LjIwLDEwLjkxMiwgNy42MzIsMjIuMzM2LCA3LjcyOCwzMy42NjRsIDAuMjg4LDAuMDAgTCAyMDcuOTY4LDMyMC4wMCAKCWMgMS44NCwwLjAwLCAzLjcxMiwwLjE2LCA1LjU2OCwwLjQ2NGwgMjY2LjQ4LDQ3LjAyNEwgNDgwLjAxNiwxNzMuMjggQyA0NjMuNzYsMTg1LjA1NiwgNDQyLjcwNCwxOTIuMDAsIDQxOS4yOTYsMTkyLjAwYy0xMy42MCwwLjAwLTI3LjIxNi0yLjI1Ni00MC40NjQtNi42NTYKCWMtMzAuMzY4LTEwLjEyOC01NC43Mi0zMC40MzItNjYuNzg0LTU1Ljc0NGMtOS4zNDQtMTkuNTY4LTEwLjU2LTQwLjg0OC0zLjQ0LTU5LjkzNkMgMzIwLjgwLDM3LjA1NiwgMzU1LjM2LDE2LjAwLCAzOTYuNzM2LDE2LjAwCgljIDEzLjYwLDAuMDAsIDI3LjIxNiwyLjIyNCwgNDAuNDY0LDYuNjU2YyAzMC4zMzYsMTAuMDk2LCA1NC42ODgsMzAuNDAsIDY2Ljc4NCw1NS42OGMgNS4yMTYsMTAuOTEyLCA3LjYzMiwyMi4zMzYsIDcuNzQ0LDMzLjY2NGwgMC4yODgsMC4wMCBMIDUxMi4wMTYsNDAwLjAwIEwgNTEyLjAxNiw0MTYuMDAgTCA1MTIuMDE2LDQ0OC4wMCAKCUMgNTEyLjAxNiw0NTcuNDQsIDUwNy44MjQsNDY2LjQzMiwgNTAwLjU3Niw0NzIuNDk2eiBNIDEyMy4wMDgsNC45OTJjLTM4LjMzNi0xMi43ODQtNzcuOTY4LTAuMjg4LTg4LjQ2NCwyNy44NGMtMTAuNTI4LDI4LjE2LCAxMi4wMTYsNjEuMzQ0LCA1MC4zMzYsNzQuMTI4CgljIDM4LjMzNiwxMi43ODQsIDc3Ljk2OCwwLjMyLCA4OC40NjQtMjcuODRDIDE4My44ODgsNTAuOTc2LCAxNjEuMzQ0LDE3Ljc3NiwgMTIzLjAwOCw0Ljk5MnogTSA0MjYuNDQ4LDUyLjk5MmMtMzguMzY4LTEyLjc4NC03OC4wMC0wLjI4OC04OC40OTYsMjcuODQKCWMtMTAuNTI4LDI4LjE2LCAxMi4wMzIsNjEuMzQ0LCA1MC4zMzYsNzQuMTI4YyAzOC4zNjgsMTIuNzg0LCA3OC4wMCwwLjMyLCA4OC40OTYtMjcuODRDIDQ4Ny4zMjgsOTguOTc2LCA0NjQuODAsNjUuNzc2LCA0MjYuNDQ4LDUyLjk5MnogTSA0NzkuMzYsNDAwLjAwCglMIDIwNy4zMjgsMzUyLjAwTCAyMDcuMzI4LDM2OC4wMCBMIDIwNy4zMjgsNDAwLjAwIEwgNDc5LjM2LDQ0OC4wMGwwLjAwLTMyLjAwIEwgNDc5LjM2LDQwMC4wMCB6IiBkYXRhLXRhZ3M9Im11c2ljIiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTAyMzsiIGQ9Ik0gNDAwLjAwLDQ4MC4wMGMtMzIuODQ4LDAuMDAtNTguNjU2LTIyLjU2LTc3LjE4NC01Ny4zNzZsLTAuMzM2LDAuMTkyQyAyOTUuNTY4LDM3MC4xMjgsIDI1NS41MDQsMzM2LjAwLCAyMTEuNjE2LDMzNi4wMGwtMTAuNjA4LDAuMDAgCglMIDEzMC40OTYsMzM2LjAwIEwgNjQuMDAsMzM2LjAwIGMtMzUuODg4LDAuMDAtNjQuMDAtMzUuMTUyLTY0LjAwLTgwLjAwYzAuMDAtNDQuODgsIDI4LjExMi04MC4wMCwgNjQuMDAtODAuMDBjIDE3LjY0OC0wLjA2NCwgMzEuOTItMTQuMzM2LCAzMS45Mi0zMi4wMGwwLjAwLTE0NC4wMCBjMC4wMC0xNy42OCwgMTQuMzM2LTMyLjAwLCAzMi4wMC0zMi4wMGwgNjQuMDAsMC4wMCBjIDE3LjY2NCwwLjAwLCAzMi4wMCwxNC4zMiwgMzIuMDAsMzIuMDAKCWwwLjAwLDE2LjAwIGMwLjAwLDE2LjAwLTE2LjAwLDIzLjE1Mi0xNi4wMCwzMi4wMGwwLjAwLDExMi4wMCBjMC4wMCwwLjM2OCwgMC4yNTYsMC42MjQsIDAuMjg4LDAuOTkyYyAwLjE2LDIuMjg4LCAwLjc4NCw0LjQwLCAxLjc5Miw2LjMyYyAwLjI4OCwwLjUyOCwgMC41OTIsMC45NDQsIDAuOTQ0LDEuNDA4CgljIDEuMjgsMS45MDQsIDIuODk2LDMuNDcyLCA0Ljg2NCw0LjY4OGMgMC4wOTYsMC4wNjQsIDAuMTI4LDAuMTYsIDAuMjI0LDAuMjI0YyAwLjA2NCwwLjAwLCAwLjExMiwwLjA2NCwgMC4xNzYsMC4wNjQKCWMgMS4yOCwwLjcyLCAyLjgxNiwwLjg4LCA0LjI1NiwxLjI4YyA0MC4zODQtNC4yODgsIDc2Ljk0NC0zNi44OCwgMTAyLjAzMi04NS45NjhsIDAuNDAsMC4xOTJDIDM0MS40NCw1NC40OTYsIDM2Ny4xODQsMzIuMDAsIDQwMC4wMCwzMi4wMAoJYyA3My41MzYsMC4wMCwgMTEyLjAwLDExMi42ODgsIDExMi4wMCwyMjQuMDBTIDQ3My41MzYsNDgwLjAwLCA0MDAuMDAsNDgwLjAweiBNIDMyMC4wMCwyNTYuMDBjMC4wMCwxNi41OTIsIDAuOTc2LDMyLjYyNCwgMi42MjQsNDguMDBMIDM2OC4wMCwzMDQuMDAgYyAxNy42NjQsMC4wMCwgMzIuMDAtMjEuNTA0LCAzMi4wMC00OC4wMGMwLjAwLTI2LjUyOC0xNC4zMzYtNDguMDAtMzIuMDAtNDguMDBsLTQ1LjM3NiwwLjAwIAoJQyAzMjAuOTc2LDIyMy4zNzYsIDMyMC4wMCwyMzkuMzc2LCAzMjAuMDAsMjU2LjAweiBNIDMyLjAwLDI1Ni4wMGMwLjAwLDI2LjQ5NiwgMTQuMzM2LDQ4LjAwLCAzMi4wMCw0OC4wMGwgNjYuNDk2LDAuMDAgTCAxNDQuMDAsMzA0LjAwIGwgMzIuMjI0LDAuMDAgQyAxNjYuMzA0LDI5Mi4zMzYsIDE2MC4wMCwyNzUuNDA4LCAxNjAuMDAsMjU2LjAwCgljMC4wMC0xOS40NCwgNi4zMDQtMzYuMzY4LCAxNi4yMjQtNDguMDBMIDE0NC4wMCwyMDguMDAgTCA2NC4wMCwyMDguMDAgQyA0Ni4zMzYsMjA4LjAwLCAzMi4wMCwyMjkuNDcyLCAzMi4wMCwyNTYuMDB6IE0gMTkxLjkyLDAuMDBsLTY0LjAwLDAuMDAgbDAuMDAsMTQ0LjAwIGMwLjAwLDExLjY2NC0zLjEyLDIyLjU2LTguNTkyLDMyLjAwbCAxMS4xNjgsMC4wMCBsMC4wMC0wLjE5MiBsIDQ4LjEyOCwwLjAwIAoJYy0xLjcxMi00Ljk3Ni0yLjcwNC0xMC4yNTYtMi43MDQtMTUuODA4bDAuMDAtMTEyLjAwIGMwLjAwLTE1LjQwOCwgOC42MDgtMjUuNjY0LCAxMy43NDQtMzEuNzc2YyAwLjcwNC0wLjg0OCwgMS41MzYtMS43MTIsIDIuMjU2LTIuNjU2TCAxOTEuOTIsMC4wMCB6IE0gMjExLjYxNiwyMDcuODA4CglMIDIwOC4wMCwyMDcuODA4IEwgMjA4LjAwLDIwOC4wMCBjLTE3LjY2NCwwLjAwLTMyLjAwLDIxLjQ3Mi0zMi4wMCw0OC4wMGMwLjAwLDI2LjQ5NiwgMTQuMzM2LDQ4LjAwLCAzMi4wMCw0OC4wMGwgMy42MTYsMC4wMCBjIDMwLjE3NiwwLjAwLCA1OC40MzIsMTEuODcyLCA4My4yOTYsMzIuMjg4QyAyOTAuMzM2LDMxMC41MjgsIDI4OC4wMCwyODMuMjQ4LCAyODguMDAsMjU2LjAwCgljMC4wMC0yNy4zNDQsIDIuMzM2LTU0LjcyLCA2Ljk0NC04MC40OTZDIDI3MC4wNjQsMTk1LjkzNiwgMjQxLjc5MiwyMDcuODA4LCAyMTEuNjE2LDIwNy44MDh6IE0gNDAwLjAwLDY0LjAwYy0zMi4yODgsMC4wMC02MC4wMCw0NS45MzYtNzIuNjU2LDExMi4wMEwgMzY4LjAwLDE3Ni4wMCAKCWMgMzUuODcyLDAuMDAsIDY0LjAwLDM1LjEyLCA2NC4wMCw4MC4wMGMwLjAwLDQ0Ljg0OC0yOC4xMjgsODAuMDAtNjQuMDAsODAuMDBsLTQwLjY1NiwwLjAwIEMgMzQwLjAwLDQwMi4wMzIsIDM2Ny43MTIsNDQ4LjAwLCA0MDAuMDAsNDQ4LjAwYyA0NC4xOTIsMC4wMCwgODAuMDAtODUuOTY4LCA4MC4wMC0xOTIuMDBTIDQ0NC4xOTIsNjQuMDAsIDQwMC4wMCw2NC4wMHoiIGRhdGEtdGFncz0ibWVnYXBob25lIiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTAyNDsiIGQ9Ik0gNTEyLjAwLDM1Mi4wMGMwLjAwLDIyLjQ5Ni0xNS4zMTIsNDEuNzI4LTM3LjIxNiw0Ni43ODRMIDI2Ni41NzYsNDQ2LjgzMkMgMjYzLjA4OCw0NDcuNjE2LCAyNTkuNTM2LDQ0OC4wMCwgMjU2LjAwLDQ0OC4wMAoJCWMtMy41MzYsMC4wMC03LjA4OC0wLjM4NC0xMC44MC0xLjIxNmwtMjA3Ljk4NC00OC4wMEMgMTUuMjk2LDM5My43MjgsMC4wMCwzNzQuNDk2LDAuMDAsMzUyLjAwcyAxNS4zMTItNDEuNzI4LCAzNy4yMC00Ni43ODRMIDgwLjAwLDI5NS4zNDRMIDgwLjAwLDE2MC4wMCBjMC4wMC00Mi40NjQsIDQ4LjYwOC04MC4wMCwgMTc2LjAwLTgwLjAwCgkJcyAxNzYuMDAsMzcuNTM2LCAxNzYuMDAsODAuMDBsMC4wMCwxMzUuMzQ0IGwgNDIuNzg0LDkuODcyQyA0OTYuNjg4LDMxMC4yNzIsIDUxMi4wMCwzMjkuNTA0LCA1MTIuMDAsMzUyLjAweiBNIDQwMC4wMCwxNjAuMDBjMC4wMC0xNy42OC00OC4wMC00OC4wMC0xNDQuMDAtNDguMDBjLTk2LjAwLDAuMDAtMTQ0LjAwLDMwLjMyLTE0NC4wMCw0OC4wMGwwLjAwLDEyNy45NTIgbCAxMzMuNDA4LTMwLjc4NAoJCUMgMjQ4Ljg5NiwyNTYuMzg0LCAyNTIuNDY0LDI1Ni4wMCwgMjU2LjAwLDI1Ni4wMGMgMy41MzYsMC4wMCwgNy4xMDQsMC4zODQsIDEwLjc4NCwxLjIxNkwgNDAwLjAwLDI4Ny45NTJMIDQwMC4wMCwxNjAuMDAgeiBNIDI1OS42MCwyODguNDBDIDI1OC40MCwyODguMTQ0LCAyNTcuMjAsMjg4LjAwLCAyNTYuMDAsMjg4LjAwCgkJcy0yLjQxNiwwLjE0NC0zLjYwLDAuNDBsLTIwOC4wMCw0OC4wMEMgMzcuMTM2LDMzOC4wOCwgMzIuMDAsMzQ0LjU0NCwgMzIuMDAsMzUyLjAwcyA1LjEzNiwxMy45MiwgMTIuNDAsMTUuNjBsIDIwOC4wMCw0OC4wMEMgMjUzLjU4NCw0MTUuODU2LCAyNTQuNzg0LDQxNi4wMCwgMjU2LjAwLDQxNi4wMAoJCXMgMi40MTYtMC4xNDQsIDMuNjAtMC40MGwgMjA4LjAwLTQ4LjAwQyA0NzQuODQ4LDM2NS45MiwgNDgwLjAwLDM1OS40NTYsIDQ4MC4wMCwzNTIuMDBzLTUuMTUyLTEzLjkyLTEyLjQwLTE1LjYwTCAyNTkuNjAsMjg4LjQwek0gNDY0LjAwLDI3Mi4wMCBDIDQ2NC4wMCwyODAuODQ4IDQ3MS4xNTIsMjg4LjAwIDQ4MC4wMCwyODguMDAgQyA0ODguODMyLDI4OC4wMCA0OTYuMDAsMjgwLjg0OCA0OTYuMDAsMjcyLjAwIEwgNDk2LjAwLDEyOC4wMCBDIDQ5Ni4wMCwxMTkuMTUyIDQ4OC44MzIsMTEyLjAwIDQ4MC4wMCwxMTIuMDAgQyA0NzEuMTUyLDExMi4wMCA0NjQuMDAsMTE5LjE1MiA0NjQuMDAsMTI4LjAwIEwgNDY0LjAwLDI3Mi4wMCBaTSA0ODAuMDAsOTYuMDAgQyA0OTcuNjY0LDk2LjAwIDUxMi4wMCw0OS42NjQgNTEyLjAwLDMyLjAwIEMgNTEyLjAwLDE0LjMzNiA0OTcuNjY0LDAuMDAgNDgwLjAwLDAuMDAgQyA0NjIuMzIsMC4wMCA0NDguMDAsMTQuMzM2IDQ0OC4wMCwzMi4wMCBDIDQ0OC4wMCw0OS42NjQgNDYyLjMyLDk2LjAwIDQ4MC4wMCw5Ni4wMCBaIiBkYXRhLXRhZ3M9InN0dWR5IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTAyNTsiIGQ9Ik0gMzMwLjkxMiw0MjAuMjg4QyAzMjMuMzQ0LDQyNy44NCwgMzEzLjMxMiw0MzIuMDAsIDMwMi42MjQsNDMyLjAwcy0yMC43Mi00LjE2LTI4LjMyLTExLjcyOGwtMjIuNTYtMjIuNTkyCgkJQyAyNDQuMTc2LDM5MC4xMjgsIDI0MC4wMCwzODAuMDgsIDI0MC4wMCwzNjkuMzc2YzAuMDAtNy41MzYsIDIuMDY0LTE0Ljc1MiwgNS45MzYtMjEuMDA4TCAyOC43MDQsMjYxLjM0NGMtMTQuNTI4LTYuMzg0LTI0Ljk0NC0xOS40ODgtMjcuODcyLTM1LjAyNAoJCWMtMi45Ni0xNS42MzIsIDIuMDAtMzEuNjY0LCAxMy4zNDQtNDIuOTkybCAyMDMuNTItMjAxLjI4YyA4Ljc2OC04Ljc2OCwgMjAuNDE2LTEzLjc0NCwgMzIuNzItMTQuMDMyQyAyNTAuNzA0LTMyLjAwLCAyNTEuMzc2LTMyLjAwLCAyNTEuNjY0LTMyLjAwCgkJYyAzLjIzMiwwLjAwLCA2LjUxMiwwLjMzNiwgOS43NiwwLjk5MmMgMTUuOTA0LDMuMjk2LCAyOC45MjgsMTQuMjg4LCAzNC44MzIsMjkuMjQ4bCA4NS40NzIsMjE0LjAxNmMgNi40MzItNC4yNCwgMTQuMDAtNi41MTIsIDIxLjg3Mi02LjUxMgoJCWMgMTAuNzIsMC4wMCwgMjAuNzUyLDQuMTc2LCAyOC4yODgsMTEuNzI4TCA0NTQuNDAsMjQwLjAwYyA3LjYzMiw3LjU4NCwgMTEuODA4LDE3LjY0OCwgMTEuODA4LDI4LjM2OHMtNC4xOTIsMjAuODAtMTEuNzEyLDI4LjI4OEwgMzMwLjkxMiw0MjAuMjg4egoJCSBNIDI2Ni41NDQsMTAuMTI4Yy0xLjk4NC01LjAwOC02LjM1Mi04LjcwNC0xMS42MzItOS43OTJjLTEuMjE2LTAuMjU2LTIuNDQ4LTAuMzUyLTMuNjY0LTAuMzM2Yy00LjA2NCwwLjA5Ni03Ljk4NCwxLjcyOC0xMC45MTIsNC42NzIKCQlMIDM2LjY4OCwyMDYuMDhjLTMuNzQ0LDMuNzI4LTUuMzkyLDkuMDcyLTQuNDAsMTQuMjg4YyAwLjk3Niw1LjE4NCwgNC40NjQsOS41NjgsIDkuMzEyLDExLjY4bCA5OS40NzIsMzkuODQKCQljIDY3LjAyNC0yMi4yODgsIDEzNC4wNjQtMC44MTYsIDIwMS4xMi03Mi4zNTJMIDI2Ni41NDQsMTAuMTI4eiBNIDQzMS44NzIsMjYyLjcybC0yMi42MjQtMjIuNjA4Yy0zLjEyLTMuMTM2LTguMTkyLTMuMTM2LTExLjMxMiwwLjAwbC0yOC4yODgsMjguMjcyCgkJbC0yMi45MTItNTcuNDI0bCAxLjkwNCw0Ljg0OGMtNDguMTYsNDguMDgtOTcuMTA0LDU0LjE0NC0xNDEuMjY0LDU5LjU2OGMtMTQuMTkyLDEuNzQ0LTI3Ljk1MiwzLjU2OC00MS40NzIsNi40OGwgMTM1Ljg1Niw1NC40MTZsLTI3LjQ0LDI3LjQ0CgkJYy0zLjEyLDMuMTItMy4xMiw4LjE5MiwwLjAwLDExLjMxMmwgMjIuNjI0LDIyLjY0YyAzLjEyLDMuMTIsIDguMTkyLDMuMTIsIDExLjMxMiwwLjAwbCAxMjMuNjAtMTIzLjYzMgoJCUMgNDM1LjAyNCwyNzAuOTEyLCA0MzUuMDI0LDI2NS44NCwgNDMxLjg3MiwyNjIuNzJ6TSAyNjQuMDAsMTQ0LjAwYyAyMi4wNDgsMC4wMCwgNDAuMDAsMTcuOTM2LCA0MC4wMCw0MC4wMFMgMjg2LjA2NCwyMjQuMDAsIDI2NC4wMCwyMjQuMDBjLTIyLjA2NCwwLjAwLTQwLjAwLTE3LjkzNi00MC4wMC00MC4wMFMgMjQxLjk1MiwxNDQuMDAsIDI2NC4wMCwxNDQuMDB6CgkJIE0gMjY0LjAwLDIwOC4wMGMgMTMuMjQ4LDAuMDAsIDI0LjAwLTEwLjc1MiwgMjQuMDAtMjQuMDBTIDI3Ny4yNDgsMTYwLjAwLCAyNjQuMDAsMTYwLjAwYy0xMy4yNjQsMC4wMC0yNC4wMCwxMC43NTItMjQuMDAsMjQuMDBTIDI1MC43MzYsMjA4LjAwLCAyNjQuMDAsMjA4LjAwek0gNDcyLjAwLDQ4MC4wMEMgNDQ5LjkzNiw0ODAuMDAsIDQzMi4wMCw0NjIuMDY0LCA0MzIuMDAsNDQwLjAwUyA0NDkuOTM2LDQwMC4wMCwgNDcyLjAwLDQwMC4wMFMgNTEyLjAwLDQxNy45MzYsIDUxMi4wMCw0NDAuMDBTIDQ5NC4wNjQsNDgwLjAwLCA0NzIuMDAsNDgwLjAweiBNIDQ3Mi4wMCw0MTYuMDAKCQlDIDQ1OC43NTIsNDE2LjAwLCA0NDguMDAsNDI2Ljc1MiwgNDQ4LjAwLDQ0MC4wMFMgNDU4Ljc1Miw0NjQuMDAsIDQ3Mi4wMCw0NjQuMDBTIDQ5Ni4wMCw0NTMuMjQ4LCA0OTYuMDAsNDQwLjAwUyA0ODUuMjQ4LDQxNi4wMCwgNDcyLjAwLDQxNi4wMHpNIDEyOC4wMCwyMDguMDBjMC4wMC0xNy42NDgsIDE0LjM1Mi0zMi4wMCwgMzIuMDAtMzIuMDBzIDMyLjAwLDE0LjM1MiwgMzIuMDAsMzIuMDBzLTE0LjM1MiwzMi4wMC0zMi4wMCwzMi4wMFMgMTI4LjAwLDIyNS42NDgsIDEyOC4wMCwyMDguMDB6IE0gMTYwLjAwLDIyNC4wMGMgOC44MzIsMC4wMCwgMTYuMDAtNy4xNTIsIDE2LjAwLTE2LjAwCgkJcy03LjE2OC0xNi4wMC0xNi4wMC0xNi4wMHMtMTYuMDAsNy4xNTItMTYuMDAsMTYuMDBTIDE1MS4xNjgsMjI0LjAwLCAxNjAuMDAsMjI0LjAwek0gMTkyLjAwLDExMi4wMEExNi4wMCwxNi4wMCAxODAuMDAgMSwwIDIyNC4wMCwxMTJBMTYuMDAsMTYuMDAgMTgwLjAwIDEsMCAxOTIuMDAsMTEyek0gNDQ4LjAwLDM1Mi4wMEExNi4wMCwxNi4wMCAxODAuMDAgMSwwIDQ4MC4wMCwzNTJBMTYuMDAsMTYuMDAgMTgwLjAwIDEsMCA0NDguMDAsMzUyeiIgZGF0YS10YWdzPSJsYWIiIC8+CjxnbHlwaCB1bmljb2RlPSImI3hlMDI2OyIgZD0iTSA0NzIuMDAsMTQ0LjAwbC00My4wNTYsMC4wMCBjLTAuNzIsMy44MjQtMS42MCw3LjU2OC0yLjU2LDExLjI5NmwgNzYuNzg0LDM4LjM4NGMgNy45MDQsMy45NTIsIDExLjA4OCwxMy41NjgsIDcuMTUyLDIxLjQ3MgoJCWMtMy45NjgsNy45MDQtMTMuNTM2LDExLjA3Mi0yMS40NzIsNy4xNTJsLTczLjI0OC0zNi42MDhDIDM4Ny42NjQsMjQ1Ljk4NCwgMzI2LjcyLDI4OC4wMCwgMjU2LjAwLDI4OC4wMGMtODYuMTEyLDAuMDAtMTU3Ljg0LTYyLjIwOC0xNzIuOTQ0LTE0NC4wMEwgNDAuMDAsMTQ0LjAwIAoJCUMgMTcuOTUyLDE0NC4wMCwwLjAwLDEyNi4wNjQsMC4wMCwxMDQuMDBjMC4wMC03Ljg0LCAyLjg4LTE1LjQwOCwgOC4wOC0yMS4yNjRMIDY0LjAwLDE5LjgyNEwgNjQuMDAsOC4wMCBDIDY0LjAwLTE0LjA2NCwgODEuOTUyLTMyLjAwLCAxMDQuMDAtMzIuMDBsIDMwNC4wMCwwLjAwIGMgMjIuMDY0LDAuMDAsIDQwLjAwLDE3LjkzNiwgNDAuMDAsNDAuMDAKCQlsMC4wMCwxMS44MjQgbCA1NS45MDQsNjIuOTEyQyA1MDkuMTIsODguNTkyLCA1MTIuMDAsOTYuMTYsIDUxMi4wMCwxMDQuMDBDIDUxMi4wMCwxMjYuMDY0LCA0OTQuMDY0LDE0NC4wMCwgNDcyLjAwLDE0NC4wMHogTSA0MTIuNzg0LDE0NC4wMGwtOC45OTIsMC4wMCBsIDcuOTY4LDQuMDAKCQlDIDQxMi4wNjQsMTQ2LjY1NiwgNDEyLjQ5NiwxNDUuMzYsIDQxMi43ODQsMTQ0LjAweiBNIDI1Ni4wMCwyNzIuMDBjIDY0LjQ2NCwwLjAwLCAxMjAuMDAtMzguNDAsIDE0NS4zMTItOTMuNDU2bC0xNC4yNTYtNy4xMkMgMzY0LjQwLDIyMS4yNjQsIDMxNC4zMiwyNTYuMDAsIDI1Ni4wMCwyNTYuMDAKCQljLTY4LjUxMiwwLjAwLTEyNS43NDQtNDcuODg4LTE0MC4zMi0xMTIuMDBMIDk5LjIzMiwxNDQuMDAgQyAxMTQuMDk2LDIxNi45NDQsIDE3OC43MzYsMjcyLjAwLCAyNTYuMDAsMjcyLjAweiBNIDMyOS4yMTYsMTQ0LjAwYy0xMi4zNjgsMjguMjA4LTQwLjQ5Niw0OC4wMC03My4yMTYsNDguMDBzLTYwLjgzMi0xOS43OTItNzMuMjE2LTQ4LjAwCgkJTCAxNjUuNjAsMTQ0LjAwIGMgMTMuMjE2LDM3LjIxNiwgNDguNjg4LDY0LjAwLCA5MC40MCw2NC4wMGMgMzkuNDQsMC4wMCwgNzMuNDA4LTIzLjkzNiwgODguMTI4LTU4LjAzMkwgMzMyLjIyNCwxNDQuMDBMIDMyOS4yMTYsMTQ0LjAwIHogTSAyNTYuMDAsMTYwLjAwYy0xNC4xMjgsMC4wMC0yNi43Mi02LjI1Ni0zNS41Mi0xNi4wMGwtMTkuNTg0LDAuMDAgCgkJYyAxMS4xMDQsMTkuMDI0LCAzMS41MiwzMi4wMCwgNTUuMTA0LDMyLjAwYyAyMy41NjgsMC4wMCwgNDQuMDAtMTIuOTc2LCA1NS4wODgtMzIuMDBsLTE5LjYwLDAuMDAgQyAyODIuNzIsMTUzLjc0NCwgMjcwLjEyOCwxNjAuMDAsIDI1Ni4wMCwxNjAuMDB6IE0gMjU2LjAwLDIyNC4wMAoJCWMtNTAuNjQsMC4wMC05My40NzItMzMuNzkyLTEwNy4yOC04MC4wMEwgMTMyLjIwOCwxNDQuMDAgYyAxNC4yNzIsNTUuMTA0LCA2NC4yNzIsOTYuMDAsIDEyMy43OTIsOTYuMDBjIDUxLjkzNiwwLjAwLCA5Ni42ODgtMzEuMTY4LCAxMTYuNzItNzUuNzQ0bC0xNC4yODgtNy4xMzYKCQlDIDM0MS4wMjQsMTk2LjQzMiwgMzAxLjY4LDIyNC4wMCwgMjU2LjAwLDIyNC4wMHogTSA0MTYuMDAsMzIuMDBsMC4wMC0yNC4wMCBjMC4wMC00LjQxNi0zLjYwLTguMDAtOC4wMC04LjAwbC0zMDQuMDAsMC4wMCBDIDk5LjU4NCwwLjAwLCA5Ni4wMCwzLjU4NCwgOTYuMDAsOC4wMEwgOTYuMDAsMzIuMDAgbC02NC4wMCw3Mi4wMAoJCUMgMzIuMDAsMTA4LjQxNiwgMzUuNTg0LDExMi4wMCwgNDAuMDAsMTEyLjAwTCA4MC4wMCwxMTIuMDAgbCAxNi4wMCwwLjAwIGwgMTYuMDAsMC4wMCBsIDE2LjAwLDAuMDAgbCAxNi4wMCwwLjAwIGwgMTYuMDAsMC4wMCBsIDE2LjAwLDAuMDAgbCAxNi4wMCwwLjAwIGwgMTYuMDAsMC4wMCBsIDk2LjAwLDAuMDAgbCAxNi4wMCwwLjAwIGwgMTYuMDAsMC4wMCBsIDE2LjAwLDAuMDAgbCAxNi4wMCwwLjAwIGwgMTYuMDAsMC4wMCBsIDE2LjAwLDAuMDAgbCAxNi4wMCwwLjAwIGwgMTYuMDAsMC4wMCBsIDQwLjAwLDAuMDAgYyA0LjQwLDAuMDAsIDguMDAtMy41ODQsIDguMDAtOC4wMEwgNDE2LjAwLDMyLjAwek0gMTI3LjYzMiwyOTIuNjA4IEMgMTI3LjUyLDI5Mi44MzIgMTI3LjQ0LDI5My4wNCAxMjcuMzQ0LDI5My4yOCBDIDExOS4wNCwzMTMuMzI4IDEyNy4yOTYsMzMyLjk5MiAxMzQuNzUyLDM1MC43MzYgQyAxNDEuODA4LDM2Ny41NjggMTQ4LjA2NCwzODIuNDggMTQxLjYwLDM5Ny4wMjQgQyAxNDEuNTY4LDM5Ny4wODggMTQxLjU1MiwzOTcuMTUyIDE0MS41MiwzOTcuMjE2IEMgMTQxLjUwNCwzOTcuMjY0IDE0MS40ODgsMzk3LjMxMiAxNDEuNDcyLDM5Ny4zNiBDIDE0MS40NTYsMzk3LjM5MiAxNDEuNDU2LDM5Ny40MjQgMTQxLjQ1NiwzOTcuNDU2IEMgMTQxLjEzNiwzOTguMzA0IDE0MC45NDQsMzk5LjIwIDE0MC45NDQsNDAwLjE2IEMgMTQwLjk0NCw0MDQuNDggMTQ0LjQ0OCw0MDguMDAgMTQ4Ljc4NCw0MDguMDAgQyAxNTIuMTEyLDQwOC4wMCAxNTQuOTQ0LDQwNS45MiAxNTYuMDgsNDAyLjk5MiBDIDE2NS4wMDgsMzgyLjY1NiAxNTYuODk2LDM2Mi42NTYgMTQ5LjMyOCwzNDQuNjQgQyAxNDIuMzIsMzI3Ljk2OCAxMzYuNjI0LDMxMi40OCAxNDIuNjI0LDI5OC4zNjggQyAxNDIuNjU2LDI5OC4yNTYgMTQyLjY1NiwyOTguMTYgMTQyLjYyNCwyOTguMDQ4IEMgMTQyLjgwLDI5Ny40MDggMTQyLjkxMiwyOTYuNzM2IDE0Mi45MTIsMjk2LjA0OCBDIDE0Mi45MTIsMjkxLjYxNiAxMzkuMzEyLDI4OC4wMCAxMzQuODgsMjg4LjAwIEMgMTMxLjc3NiwyODguMDAgMTI5LjEyLDI4OS43NiAxMjcuNzkyLDI5Mi4zMiBDIDEyNy43NzYsMjkyLjMyIDEyNy43NiwyOTIuMzIgMTI3Ljc2LDI5Mi4zMiBDIDEyNy43MTIsMjkyLjQxNiAxMjcuNjgsMjkyLjUxMiAxMjcuNjMyLDI5Mi42MDggWk0gMzIyLjQ2NCwyOTQuOTQ0IEMgMzIyLjM2OCwyOTUuMTUyIDMyMi4yODgsMjk1LjM3NiAzMjIuMjA4LDI5NS41ODQgQyAzMTMuOTA0LDMxNS42MzIgMzIyLjE0NCwzMzUuMzEyIDMyOS41ODQsMzUzLjA1NiBDIDMzNi42NTYsMzY5Ljg4OCAzNDIuODk2LDM4NC44MCAzMzYuNDMyLDM5OS4zNDQgQyAzMzYuNDMyLDM5OS40MDggMzM2LjQwLDM5OS40NzIgMzM2LjM2OCwzOTkuNTM2IEMgMzM2LjMzNiwzOTkuNTg0IDMzNi4zMzYsMzk5LjYzMiAzMzYuMzA0LDM5OS42OCBDIDMzNi4zMDQsMzk5LjcxMiAzMzYuMzA0LDM5OS43NDQgMzM2LjMwNCwzOTkuNzc2IEMgMzM2LjAwLDQwMC42MjQgMzM1Ljc3Niw0MDEuNTIgMzM1Ljc3Niw0MDIuNDggQyAzMzUuNzc2LDQwNi44MCAzMzkuMjk2LDQxMC4zMiAzNDMuNjE2LDQxMC4zMiBDIDM0Ni45Niw0MTAuMzIgMzQ5Ljc3Niw0MDguMjU2IDM1MC45MjgsNDA1LjMxMiBDIDM1OS44NTYsMzg0Ljk3NiAzNTEuNzQ0LDM2NC45NzYgMzQ0LjE3NiwzNDYuOTYgQyAzMzcuMTY4LDMzMC4yODggMzMxLjQ4OCwzMTQuODAgMzM3LjQ1NiwzMDAuNjg4IEMgMzM3LjUyLDMwMC41NzYgMzM3LjUyLDMwMC40OCAzMzcuNDg4LDMwMC4zNjggQyAzMzcuNjQ4LDI5OS43MjggMzM3Ljc3NiwyOTkuMDU2IDMzNy43NzYsMjk4LjM2OCBDIDMzNy43NzYsMjkzLjkzNiAzMzQuMTQ0LDI5MC4zMiAzMjkuNzEyLDI5MC4zMiBDIDMyNi42MjQsMjkwLjMyIDMyMy45NjgsMjkyLjA5NiAzMjIuNjI0LDI5NC42NTYgTCAzMjIuNTkyLDI5NC42NTYgQyAzMjIuNTYsMjk0Ljc1MiAzMjIuNTI4LDI5NC44NDggMzIyLjQ2NCwyOTQuOTQ0IFpNIDI0MC4zMDQsMzY0LjYwOCBDIDI0MC4xOTIsMzY0LjgzMiAyNDAuMTEyLDM2NS4wNCAyNDAuMDAsMzY1LjI2NCBDIDIzMS42OCwzODUuMzEyIDIzOS45MzYsNDA0Ljk5MiAyNDcuMzkyLDQyMi43MzYgQyAyNTQuNDQ4LDQzOS41NjggMjYwLjcwNCw0NTQuNDggMjU0LjI0LDQ2OS4wMjQgQyAyNTQuMjI0LDQ2OS4wODggMjU0LjE5Miw0NjkuMTUyIDI1NC4xNzYsNDY5LjIxNiBDIDI1NC4xNiw0NjkuMjY0IDI1NC4xNDQsNDY5LjMxMiAyNTQuMTI4LDQ2OS4zNiBDIDI1NC4xMTIsNDY5LjM5MiAyNTQuMTEyLDQ2OS40MjQgMjU0LjExMiw0NjkuNDU2IEMgMjUzLjc5Miw0NzAuMzA0IDI1My42MCw0NzEuMjAgMjUzLjYwLDQ3Mi4xNiBDIDI1My42MCw0NzYuNDggMjU3LjEyLDQ4MC4wMCAyNjEuNDQsNDgwLjAwIEMgMjY0Ljc4NCw0ODAuMDAgMjY3LjYwLDQ3Ny45MiAyNjguNzUyLDQ3NC45NzYgQyAyNzcuNjgsNDU0LjY0IDI2OS41NjgsNDM0LjY0IDI2Mi4wMCw0MTYuNjI0IEMgMjU0Ljk5MiwzOTkuOTUyIDI0OS4yOTYsMzg0LjQ2NCAyNTUuMjk2LDM3MC4zNTIgQyAyNTUuMzI4LDM3MC4yNCAyNTUuMzI4LDM3MC4xNDQgMjU1LjI5NiwzNzAuMDMyIEMgMjU1LjQ3MiwzNjkuMzkyIDI1NS41ODQsMzY4LjcyIDI1NS41ODQsMzY4LjAzMiBDIDI1NS41ODQsMzYzLjYwIDI1MS45ODQsMzU5Ljk4NCAyNDcuNTUyLDM1OS45ODQgQyAyNDQuNDY0LDM1OS45ODQgMjQxLjgwOCwzNjEuNzYgMjQwLjQ2NCwzNjQuMzIgQyAyNDAuNDQ4LDM2NC4zMiAyNDAuNDMyLDM2NC4zMiAyNDAuNDMyLDM2NC4zMiBDIDI0MC4zODQsMzY0LjQxNiAyNDAuMzUyLDM2NC41MTIgMjQwLjMwNCwzNjQuNjA4IFoiIGRhdGEtdGFncz0iZm9vZCIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUwMjc7IiBkPSJNIDUwMC4wMCwzNzYuOTkybC04MC4wMCw2NC4wMEMgNDE0LjMyLDQ0NS41MzYsIDQwNy4yNDgsNDQ4LjAwLCA0MDAuMDAsNDQ4LjAwTCAxMTIuMDAsNDQ4LjAwIAoJCUMgMTA0LjczNiw0NDguMDAsIDk3LjY4LDQ0NS41MzYsIDkyLjAwLDQ0MC45OTJsLTgwLjAwLTY0LjAwQyAxLjUzNiwzNjguNjA4LTIuNTkyLDM1NC41OTIsIDEuNjQ4LDM0MS44NzJsIDMyLjAwLTk2LjAwYyAzLjE1Mi05LjQ1NiwgMTAuNTQ0LTE2LjkxMiwgMTkuOTg0LTIwLjE0NAoJCUMgNTYuOTkyLDIyNC41NzYsIDYwLjUxMiwyMjQuMDAsIDY0LjAwLDIyNC4wMGMgNS41NjgsMC4wMCwgMTEuMDg4LDEuNDU2LCAxNi4wMCw0LjI4OEwgODAuMDAsMzIuMDAgYzAuMDAtMTcuNjY0LCAxNC4zMzYtMzIuMDAsIDMyLjAwLTMyLjAwbCAyODguMDAsMC4wMCBjIDE3LjY2NCwwLjAwLCAzMi4wMCwxNC4zMzYsIDMyLjAwLDMyLjAwTCA0MzIuMDAsMjI4LjI4OCAKCQlDIDQzNi45MTIsMjI1LjQ1NiwgNDQyLjQzMiwyMjQuMDAsIDQ0OC4wMCwyMjQuMDBjIDMuNTA0LDAuMDAsIDcuMDA4LDAuNTc2LCAxMC4zNjgsMS43MjhjIDkuNDQsMy4yMzIsIDE2LjgxNiwxMC42ODgsIDE5Ljk2OCwyMC4xNDRsIDMyLjAwLDk2LjAwCgkJQyA1MTQuNTkyLDM1NC41OTIsIDUxMC40NjQsMzY4LjYwOCwgNTAwLjAwLDM3Ni45OTJ6IE0gMzE2LjA2NCw0MTYuMDBDIDMwNy4yMTYsMzk3LjQyNCwgMjgzLjc3NiwzODQuMDAsIDI1Ni4wMCwzODQuMDBjLTI3Ljc3NiwwLjAwLTUxLjIzMiwxMy40MjQtNjAuMDY0LDMyLjAwTCAzMTYuMDY0LDQxNi4wMCB6IE0gNDQ4LjAwLDI1Ni4wMGwtNDguMDAsMzIuMDAKCQlsMC4wMC0yNTYuMDAgTCAxMTIuMDAsMzIuMDAgTCAxMTIuMDAsMjg4LjAwIGwtNDguMDAtMzIuMDBMIDMyLjAwLDM1Mi4wMGwgODAuMDAsNjQuMDBsIDY2LjgzMiwwLjAwIEMgMTg3Ljc0NCwzODguNDQ4LCAyMTguNzY4LDM2OC4wMCwgMjU2LjAwLDM2OC4wMGMgMzcuMjE2LDAuMDAsIDY4LjI1NiwyMC40NDgsIDc3LjE1Miw0OC4wMEwgNDAwLjAwLDQxNi4wMCBsIDgwLjAwLTY0LjAwTCA0NDguMDAsMjU2LjAweiIgZGF0YS10YWdzPSJ0LXNoaXJ0IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTAyODsiIGQ9Ik0gMzUyLjAwLDMzNi4wMGMtMC45OTItNDIuODAtMzMuMTItNzguOTQ0LTMzLjEyLTc4Ljk0NEMgMzE4Ljg4LDMzNi42NzIsIDI1Ni4wMCw0MDAuMDAsIDI1Ni4wMCw0MDAuMDBzLTAuODQ4LTQ3LjM5Mi0zMi42ODgtOTUuMTY4CgkJCUMgMTkxLjQ3Miw0MTYuMzA0LCA5NS45Miw0ODAuMDAsIDk1LjkyLDQ4MC4wMEMgMTQzLjY5NiwzMDQuODMyLCA4MC4wMCwyNDEuMTIsIDgwLjAwLDExMy43MjhDIDgwLjAwLDM4Ljk5MiwgMTQzLjI2NC0zMi4wMCwgMjQwLjAwLTMyLjAwYyAxNDMuMzEyLDAuMDAsIDE3MS4wMjQsNTIuNjA4LCAxODUuODQsMTExLjg4OAoJCQlDIDQ0Ni4yNTYsMTYxLjUwNCwgNDE1LjY4LDI1Ni4zODQsIDM1Mi4wMCwzMzYuMDB6IE0gMzk0LjgxNiw4Ny42NjRDIDM4NC41MjgsNDYuNTYsIDM3Mi45MTIsMC4wMCwgMjQwLjAwLDAuMDBjLTgwLjEyOCwwLjAwLTEyOC4wMCw1Ny44MjQtMTI4LjAwLDExMy43MjgKCQkJYzAuMDAsNDIuODE2LCA3LjgwOCw3Ny45NjgsIDE2LjA2NCwxMTUuMTg0YyAxMC40OTYsNDcuMTg0LCAyMS4yNDgsOTUuNDg4LCAxNi41OTIsMTU5LjM3NmMgNDkuMzQ0LTY4LjMwNCwgNjYuOTEyLTE1OC44MCwgNjYuOTEyLTE1OC44MAoJCQlzIDQ1LjkzNiw2NC40OTYsIDU4LjI4OCw5NC40NDhDIDI3OS4zMTIsMzA0LjY4OCwgMjg4LjAwLDI0MC4wMCwgMjg4LjAwLDE3Ni4wMGMwLjAwLDAuMDAsIDQyLjQ5NiwzNS4wMDgsIDc0LjM2OCw4Ny42NDhDIDM5NS45MzYsMjAzLjQ1NiwgNDA4LjAzMiwxNDAuNTI4LCAzOTQuODE2LDg3LjY2NHpNIDM1OC45MTIsMjExLjI4IEwgMzYxLjg4OCwxOTQuNzIgQyAzNjguNTQ0LDE1Ny42MzIgMzY0LjgxNiwxMTMuNzkyIDM1Mi40MTYsODMuMDA4IEMgMzUxLjE2OCw3OS44ODggMzQ4LjE2LDc4LjAwIDM0NS4wMDgsNzguMDAgQyAzNDQuMDAsNzguMDAgMzQyLjk3Niw3OC4xOTIgMzQyLjAwLDc4LjU3NiBDIDMzNy45MDQsODAuMjI0IDMzNS45MDQsODQuODggMzM3LjU2OCw4OC45NzYgQyAzNDYuOTEyLDExMi4xNiAzNTAuODQ4LDE0NC44MCAzNDguMzUyLDE3NC42MjQgQyAzMzIuMjg4LDE1Ni42NzIgMzEyLjA0OCwxMzcuOTY4IDI2OC44MCwxMTcuNDI0IEwgMjYwLjcwNCwxMTMuNjAgTCAyNTcuNzkyLDEyMi4wNDggQyAyNTIuMDAsMTM4Ljg0OCAyNDYuMTYsMTU1LjgyNCAyNDMuNjMyLDE3OS40ODggQyAyMzQuOTc2LDE2NS44NCAyMjcuMDcyLDE1My42OCAyMTMuNzkyLDEzNS42MCBMIDIwNS42NjQsMTI0LjUyOCBMIDIwMC4wMzIsMTM3LjA3MiBDIDE4Ni4yNTYsMTY3Ljg3MiAxNzUuNzYsMTkxLjkyIDE2Ny40NCwyMTMuMDcyIEMgMTU5Ljc0NCwxODguMzUyIDE1NC4wMCwxNTkuNzYgMTU0LjAwLDEwMi4wMTYgQyAxNTQuMDAsOTcuNjAgMTUwLjQwLDk0LjAxNiAxNDYuMDAsOTQuMDE2IEMgMTQxLjU2OCw5NC4wMTYgMTM4LjAwLDk3LjYwIDEzOC4wMCwxMDIuMDE2IEMgMTM4LjAwLDE3Ny4zNiAxNDguMDAsMjA2LjM4NCAxNTguNTYsMjM3LjEyIEwgMTY2Ljg4LDI2MS4yOCBMIDE3NC41NDQsMjM5LjY4IEMgMTgyLjc4NCwyMTYuNDY0IDE5My42MzIsMTkwLjg4IDIwOC45NzYsMTU2LjI4OCBDIDIxOS4wODgsMTcwLjU3NiAyMjUuODcyLDE4MS4zMjggMjM0LjA2NCwxOTQuMzA0IEwgMjU4LjM1MiwyMzIuMzUyIEwgMjU4LjM1MiwyMDUuMDA4IEMgMjU4LjM1MiwxNzQuMjI0IDI2My44ODgsMTU0LjExMiAyNjkuOTg0LDEzNS44NCBDIDMxMi41MjgsMTU3LjI0OCAzMjguNDY0LDE3NS44NzIgMzQ1LjMxMiwxOTUuNTIgTCAzNTguOTEyLDIxMS4yOCBaIiBkYXRhLXRhZ3M9ImZpcmUiIC8+CjxnbHlwaCB1bmljb2RlPSImI3hlMDI5OyIgZD0iTSA0NjkuODA4LDQwNS44MDggQyA1MjYuMDY0LDM0OS41ODQgNTI2LjA2NCwyNTguNDAgNDY5LjgwOCwyMDIuMTc2IEwgMjk0LjMzNiwyNi42ODggQyAyODguMDgsMjAuNDE2IDI3Ny45NjgsMjAuNDE2IDI3MS43MTIsMjYuNjg4IEMgMjY1LjQyNCwzMi45NDQgMjY1LjQyNCw0My4wNCAyNzEuNzEyLDQ5LjMxMiBMIDQ0NC45MjgsMjIyLjU0NCBDIDQ4OC42NzIsMjY2LjI4OCA0ODguNjcyLDMzNy4xNjggNDQ0Ljg5NiwzODAuOTI4IEMgNDAxLjIxNiw0MjQuNjcyIDMzMC4yNzIsNDI0LjY3MiAyODYuNTI4LDM4MC45MjggTCA1NS4zNzYsMTUyLjQ5NiBDIDI0LjEyOCwxMjEuMjY0IDI0LjEyOCw3MC42MDggNTUuMzc2LDM5LjM3NiBDIDg2LjYyNCw4LjEyOCAxMzcuMjQ4LDguMTI4IDE2OC40OTYsMzkuMzc2IEwgNDAxLjkzNiwyNzAuMDQ4IEMgNDIwLjY1NiwyODguNzY4IDQyMC42NTYsMzE5LjIxNiA0MDEuOTM2LDMzNy45MzYgQyAzODMuMjE2LDM1Ni42NCAzNTIuNzg0LDM1Ni42NCAzMzQuMDY0LDMzNy45MzYgTCAxNTguNTYsMTYyLjQzMiBDIDE1Mi4zMDQsMTU2LjE3NiAxNDIuMTkyLDE1Ni4xNzYgMTM1LjkzNiwxNjIuNDMyIEMgMTI5LjY4LDE2OC43MDQgMTI5LjY4LDE3OC44MCAxMzUuOTM2LDE4NS4wNzIgTCAzMTEuNDI0LDM2MC41NiBDIDM0Mi42NCwzOTEuNzkyIDM5My4yOTYsMzkxLjc5MiA0MjQuNTQ0LDM2MC41NiBDIDQ1NS43OTIsMzI5LjMxMiA0NTUuNzkyLDI3OC42NzIgNDI0LjU0NCwyNDcuNDI0IEwgMTkxLjEwNCwxNi43MzYgQyAxNDcuNDU2LTI2LjkyOCA3Ni40MC0yNi45MjggMzIuNzM2LDE2LjczNiBDIC0xMC45MjgsNjAuNDAgLTEwLjkyOCwxMzEuNDcyIDMyLjczNiwxNzUuMTM2IEwgMjY2LjE3Niw0MDUuODA4IEMgMzIyLjQwLDQ2Mi4wNjQgNDEzLjU4NCw0NjIuMDY0IDQ2OS44MDgsNDA1LjgwOCBaIiBkYXRhLXRhZ3M9ImNsaXAiIC8+CjxnbHlwaCB1bmljb2RlPSImI3hlMDJhOyIgZD0iTSA1MDIuNDAsMzAwLjgwbC00OC4wMCw2My45NjhjLTEuODcyLDIuNTEyLTQuMDk2LDQuNjg4LTYuNDAsNi43NjhMIDQ0OC4wMCw0NDguMDAgYzAuMDAsMTcuNjY0LTE0LjMzNiwzMi4wMC0zMi4wMCwzMi4wMEwgOTYuMDAsNDgwLjAwIAoJQyA3OC4zMiw0ODAuMDAsIDY0LjAwLDQ2NS42NjQsIDY0LjAwLDQ0OC4wMGwwLjAwLTc2LjQ4IEMgNjEuNjk2LDM2OS40NTYsIDU5LjQ3MiwzNjcuMjk2LCA1Ny42MCwzNjQuODBsLTQ3Ljk4NC02My45ODRDIDMuNDA4LDI5Mi41NiwwLjAwLDI4Mi4zMzYsMC4wMCwyNzIuMDBsMC4wMC0xNi4wMCBjMC4wMC0yNi40NjQsIDIxLjUzNi00OC4wMCwgNDguMDAtNDguMDBsMC4wMCwwLjAwIGwwLjAwLTIwOC4wMCAKCWMwLjAwLTE3LjY2NCwgMTQuMzM2LTMyLjAwLCAzMi4wMC0zMi4wMGwgMzUyLjAwLDAuMDAgYyAxNy42NjQsMC4wMCwgMzIuMDAsMTQuMzM2LCAzMi4wMCwzMi4wMEwgNDY0LjAwLDIwOC4wMCBsMC4wMCwwLjAwYyAyNi40NjQsMC4wMCwgNDguMDAsMjEuNTM2LCA0OC4wMCw0OC4wMGwwLjAwLDE2LjAwIEMgNTEyLjAwLDI4Mi4zMzYsIDUwOC41OTIsMjkyLjU2LCA1MDIuNDAsMzAwLjgweiBNIDQxNi4wMCw0NDguMDBsMC4wMC02NC4wMCBMIDk2LjAwLDM4NC4wMCBsMC4wMCwwLjAwIEwgOTYuMDAsNDQ4LjAwIEwgNDE2LjAwLDQ0OC4wMCB6CgkgTSAxNjMuMDg4LDI0MC4wMEwgOTYuMDY0LDI0MC4wMCBsIDY0LjAwLDExMi4wMGwgMzUuMDI0LDAuMDAgTCAxNjMuMDg4LDI0MC4wMHogTSAyMTEuNzQ0LDM1Mi4wMEwgMjQ4LjAwLDM1Mi4wMCBsMC4wMC0xMTIuMDAgbC02OC4yNTYsMC4wMCBMIDIxMS43NDQsMzUyLjAweiBNIDI2NC4wMCwzNTIuMDBsIDM2LjI1NiwwLjAwIGwgMzIuMDAtMTEyLjAwTCAyNjQuMDAsMjQwLjAwIEwgMjY0LjAwLDM1Mi4wMCB6IE0gMzE2Ljg4LDM1Mi4wMGwgMzUuMDI0LDAuMDAgbCA2NC4wMC0xMTIuMDBsLTY3LjAyNCwwLjAwIAoJTCAzMTYuODgsMzUyLjAweiBNIDMyLjAwLDI1Ni4wMGwwLjAwLDE2LjAwIGMwLjAwLDMuNDcyLCAxLjEyLDYuODMyLCAzLjIwLDkuNjBsIDQ4LjAwLDY0LjAwQyA4Ni4yMjQsMzQ5LjYzMiwgOTAuOTYsMzUyLjAwLCA5Ni4wMCwzNTIuMDBsIDQ1LjYzMiwwLjAwIGwtNjQuMDAtMTEyLjAwTCA0OC4wMCwyNDAuMDAgQyAzOS4xNjgsMjQwLjAwLCAzMi4wMCwyNDcuMTUyLCAzMi4wMCwyNTYuMDB6IE0gMzIwLjAwLDAuMDBsLTEyMC4wMCwwLjAwIEwgMjAwLjAwLDE2MC4wMCAKCUwgMzIwLjAwLDE2MC4wMCBMIDMyMC4wMCwwLjAwIHogTSA0MzIuMDAsMC4wMGwtOTYuMDAsMC4wMCBMIDMzNi4wMCwxNjAuMDAgYzAuMDAsOC44NDgtNy4xODQsMTYuMDAtMTYuMDAsMTYuMDBsLTEyMC4wMCwwLjAwIGMtOC44MzIsMC4wMC0xNi4wMC03LjE1Mi0xNi4wMC0xNi4wMGwwLjAwLTE2MC4wMCBMIDgwLjAwLDAuMDAgTCA4MC4wMCwyMDguMDAgbCAzNTIuMDAsMC4wMCBMIDQzMi4wMCwwLjAwIHogTSA0ODAuMDAsMjU2LjAwYzAuMDAtOC44NDgtNy4xNTItMTYuMDAtMTYuMDAtMTYuMDBsLTI5LjY2NCwwLjAwIGwtNjQuMDAsMTEyLjAwTCA0MTYuMDAsMzUyLjAwIGwwLjAwLDAuMDAKCWMgNS4wMjQsMC4wMCwgOS43NzYtMi4zNjgsIDEyLjc4NC02LjQwbCA0OC4wMC02NC4wMEMgNDc4Ljg4LDI3OC44MzIsIDQ4MC4wMCwyNzUuNDcyLCA0ODAuMDAsMjcyLjAwTCA0ODAuMDAsMjU2LjAwIHoiIGRhdGEtdGFncz0ic2hvcCIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUwMmI7IiBkPSJNIDQ2OS4zNDQsNDMyLjAwTCA0MDAuMDAsNDMyLjAwIEwgNDAwLjAwLDQ2NC4wMCBjMC4wMCw4Ljg0OC03LjE1MiwxNi4wMC0xNi4wMCwxNi4wMHMtMTYuMDAtNy4xNTItMTYuMDAtMTYuMDBsMC4wMC0zMi4wMCBsLTk2LjAwLDAuMDAgTCAyNzIuMDAsNDY0LjAwIGMwLjAwLDguODQ4LTcuMTY4LDE2LjAwLTE2LjAwLDE2LjAwcy0xNi4wMC03LjE1Mi0xNi4wMC0xNi4wMGwwLjAwLTMyLjAwIEwgMTQ0LjAwLDQzMi4wMCBMIDE0NC4wMCw0NjQuMDAgCgkJYzAuMDAsOC44NDgtNy4xNjgsMTYuMDAtMTYuMDAsMTYuMDBTIDExMi4wMCw0NzIuODQ4LCAxMTIuMDAsNDY0LjAwbDAuMDAtMzIuMDAgTCA0Mi42NzIsNDMyLjAwIEMgMTkuMTA0LDQzMi4wMCwwLjAwLDQxMi45MTIsMC4wMCwzODkuMzQ0bDAuMDAtMzc4LjY3MiBDMC4wMC0xMi44OTYsIDE5LjEwNC0zMi4wMCwgNDIuNjcyLTMyLjAwbCA0MjYuNjcyLDAuMDAgCgkJQyA0OTIuOTEyLTMyLjAwLCA1MTIuMDAtMTIuODk2LCA1MTIuMDAsMTAuNjcyTCA1MTIuMDAsMzg5LjM0NCBDIDUxMi4wMCw0MTIuOTEyLCA0OTIuOTEyLDQzMi4wMCwgNDY5LjM0NCw0MzIuMDB6IE0gNDgwLjAwLDEwLjY3MkMgNDgwLjAwLDQuNzg0LCA0NzUuMjE2LDAuMDAsIDQ2OS4zNDQsMC4wMEwgNDIuNjcyLDAuMDAgCgkJQyAzNi43ODQsMC4wMCwgMzIuMDAsNC43ODQsIDMyLjAwLDEwLjY3MkwgMzIuMDAsMzg5LjM0NCBDIDMyLjAwLDM5NS4yMTYsIDM2Ljc4NCw0MDAuMDAsIDQyLjY3Miw0MDAuMDBMIDExMi4wMCw0MDAuMDAgbDAuMDAtMzIuMDAgYzAuMDAtOC44NDgsIDcuMTY4LTE2LjAwLCAxNi4wMC0xNi4wMHMgMTYuMDAsNy4xNTIsIDE2LjAwLDE2LjAwTCAxNDQuMDAsNDAwLjAwIGwgOTYuMDAsMC4wMCBsMC4wMC0zMi4wMCBjMC4wMC04Ljg0OCwgNy4xNjgtMTYuMDAsIDE2LjAwLTE2LjAwCgkJcyAxNi4wMCw3LjE1MiwgMTYuMDAsMTYuMDBMIDI3Mi4wMCw0MDAuMDAgbCA5Ni4wMCwwLjAwIGwwLjAwLTMyLjAwIGMwLjAwLTguODQ4LCA3LjE1Mi0xNi4wMCwgMTYuMDAtMTYuMDBzIDE2LjAwLDcuMTUyLCAxNi4wMCwxNi4wMEwgNDAwLjAwLDQwMC4wMCBsIDY5LjM0NCwwLjAwIEMgNDc1LjIxNiw0MDAuMDAsIDQ4MC4wMCwzOTUuMjE2LCA0ODAuMDAsMzg5LjM0NEwgNDgwLjAwLDEwLjY3MiB6TSAxMTIuMDAsMjg4LjAwTCAxNzYuMDAsMjg4LjAwTCAxNzYuMDAsMjQwLjAwTCAxMTIuMDAsMjQwLjAwek0gMTEyLjAwLDIwOC4wMEwgMTc2LjAwLDIwOC4wMEwgMTc2LjAwLDE2MC4wMEwgMTEyLjAwLDE2MC4wMHpNIDExMi4wMCwxMjguMDBMIDE3Ni4wMCwxMjguMDBMIDE3Ni4wMCw4MC4wMEwgMTEyLjAwLDgwLjAwek0gMjI0LjAwLDEyOC4wMEwgMjg4LjAwLDEyOC4wMEwgMjg4LjAwLDgwLjAwTCAyMjQuMDAsODAuMDB6TSAyMjQuMDAsMjA4LjAwTCAyODguMDAsMjA4LjAwTCAyODguMDAsMTYwLjAwTCAyMjQuMDAsMTYwLjAwek0gMjI0LjAwLDI4OC4wMEwgMjg4LjAwLDI4OC4wMEwgMjg4LjAwLDI0MC4wMEwgMjI0LjAwLDI0MC4wMHpNIDMzNi4wMCwxMjguMDBMIDQwMC4wMCwxMjguMDBMIDQwMC4wMCw4MC4wMEwgMzM2LjAwLDgwLjAwek0gMzM2LjAwLDIwOC4wMEwgNDAwLjAwLDIwOC4wMEwgNDAwLjAwLDE2MC4wMEwgMzM2LjAwLDE2MC4wMHpNIDMzNi4wMCwyODguMDBMIDQwMC4wMCwyODguMDBMIDQwMC4wMCwyNDAuMDBMIDMzNi4wMCwyNDAuMDB6IiBkYXRhLXRhZ3M9ImNhbGVuZGFyIiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTAyYzsiIGQ9Ik0gMjU2LjAwLDE2MC4wMEEzMi4wMCwzMi4wMCAxODAuMDAgMSwwIDMyMC4wMCwxNjBBMzIuMDAsMzIuMDAgMTgwLjAwIDEsMCAyNTYuMDAsMTYwek0gNDY0LjAxNiwyNzIuMDBDIDQ2NC4wMCwyNzIuMDAsIDQ2NC4wMCwyNzIuMDAsIDQ2NC4wMTYsMjcyLjAwTCA0NjQuMDAsMzY4LjAwTCA0NjQuMDAsMzc2LjAwIEwgNDY0LjAwLDQxNi4wMCBjMC4wMCwyNi41MTItMjEuNTA0LDQ4LjAwLTQ4LjAwLDQ4LjAwbC02NC4wMCwwLjAwIEwgODguMDAsNDY0LjAwIEMgMzkuNDcyLDQ2NC4wMCwwLjAwLDQyNC41MTIsMC4wMCwzNzYuMDBsMC4wMC0zMjAuMDAgCgkJQzAuMDAsNy40ODgsIDM5LjQ3Mi0zMi4wMCwgODguMDAtMzIuMDBsIDI4OC4wMCwwLjAwIGMgNDguNTEyLDAuMDAsIDg4LjAwLDM5LjQ4OCwgODguMDAsODguMDBMIDQ2NC4wMCw4MC4wMCBjMC4wMCwwLjAwLDAuMDAsMC4wMCwgMC4wMTYsMC4wMEMgNTI3Ljk4NCwxMjguMDE2LCA1MjcuOTg0LDIyMy45ODQsIDQ2NC4wMTYsMjcyLjAweiBNIDg4LjAwLDQzMi4wMEwgMzUyLjAwLDQzMi4wMCBsIDY0LjAwLDAuMDAgCgkJYyA4LjgxNiwwLjAwLCAxNi4wMC03LjE2OCwgMTYuMDAtMTYuMDBsMC4wMC00MC4wMCBMIDQzMi4wMCwzNjguMDAgbDAuMDAtNTAuOTQ0IEMgNDI2Ljk3NiwzMTguODQ4LCA0MjEuNjMyLDMyMC4wMCwgNDE2LjAwLDMyMC4wMGwtMC4wMTYsMC4wMCBMIDQxNS45ODQsMzM2LjAwIEwgNDE1Ljk4NCwzNjguMDAgTCA0MTUuOTg0LDQwMC4wMCBjMC4wMCw4Ljg0OC03LjE2OCwxNi4wMC0xNi4wMCwxNi4wMGwtMzM2LjAwLDAuMDAgYy04LjgzMiwwLjAwLTE2LjAwLTcuMTUyLTE2LjAwLTE2LjAwbDAuMDAtMzIuMDAgCgkJbDAuMDAtMzEuMDg4IEMgMzguMTEyLDM0Ny4wMDgsIDMyLjAwLDM2MC43NjgsIDMyLjAwLDM3Ni4wMEMgMzIuMDAsNDA2LjkyOCwgNTcuMDU2LDQzMi4wMCwgODguMDAsNDMyLjAweiBNIDM5OS45ODQsMzg0LjAwbC0zMzYuMDAsMC4wMCBMIDYzLjk4NCw0MDAuMDAgbCAzMzYuMDAsMC4wMCBMIDM5OS45ODQsMzg0LjAwIHogTSAzOTkuOTg0LDM2OC4wMGwwLjAwLTE2LjAwIGwtMzM2LjAwLDAuMDAgTCA2My45ODQsMzY4LjAwIEwgMzk5Ljk4NCwzNjguMDAgeiBNIDM5OS45ODQsMzM2LjAwbDAuMDAtMTYuMDAgTCAzNTIuMDAsMzIwLjAwIEwgODguMDAsMzIwLjAwIAoJCWMtOC42NCwwLjAwLTE2LjcwNCwyLjExMi0yNC4wMCw1LjYwTCA2NC4wMCwzMzYuMDAgTCAzOTkuOTg0LDMzNi4wMCB6IE0gNDMyLjAwLDU2LjAwYzAuMDAtMzAuOTI4LTI1LjA3Mi01Ni4wMC01Ni4wMC01Ni4wMGwtMjg4LjAwLDAuMDAgQyA1Ny4wNTYsMC4wMCwgMzIuMDAsMjUuMDcyLCAzMi4wMCw1Ni4wMEwgMzIuMDAsMzA4LjE3NiAKCQlDIDQ3LjIxNiwyOTUuNTg0LCA2Ni43MzYsMjg4LjAwLCA4OC4wMCwyODguMDBMIDM1Mi4wMCwyODguMDAgbCA2NC4wMCwwLjAwIGMgOC44MTYsMC4wMCwgMTYuMDAtNy4xNjgsIDE2LjAwLTE2LjAwbDAuMDAtMzIuMDAgbC0xNDQuMDAsMC4wMCBjLTQ0LjE5MiwwLjAwLTgwLjAwLTM1LjgwOC04MC4wMC04MC4wMHMgMzUuODI0LTgwLjAwLCA4MC4wMC04MC4wMGwgMTQ0LjAwLDAuMDAgTCA0MzIuMDAsNTYuMDAgeiBNIDQ1Mi40MzIsMTEyLjAwTCAyODguMDAsMTEyLjAwIAoJCWMtMjYuNDY0LDAuMDAtNDguMDAsMjEuNTM2LTQ4LjAwLDQ4LjAwcyAyMS41MzYsNDguMDAsIDQ4LjAwLDQ4LjAwbCAxNDQuMDAsMC4wMCBjIDkuODcyLDAuMTI4LCAxOS42NjQsNC45MTIsIDI1LjYzMiwxMi44NjRjIDEuNjY0LDIuMjQsIDIuOTYsNC43NTIsIDQuMDAsNy4zNzYKCQljIDAuMTQ0LDAuMzUyLCAwLjQwLDAuNjI0LCAwLjUyOCwwLjk5MkMgNDczLjY2NCwyMTQuMTQ0LCA0ODAuMDAsMTk1LjY0OCwgNDgwLjAwLDE3Ni4wMEMgNDgwLjAwLDE1MS4zOTIsIDQ3MC4wNjQsMTI4LjU2LCA0NTIuNDMyLDExMi4wMHoiIGRhdGEtdGFncz0idmFsbGV0IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTAyZDsiIGQ9Ik0gMzUxLjIxNiw0NjEuNjBjLTEzMS4yMzIsNTIuNTQ0LTI4MC4yNC0xMS4yMzItMzMyLjgwLTE0Mi40OAoJCWMtNTIuNTc2LTEzMS4yNjQsIDExLjIzMi0yODAuMjg4LCAxNDIuNDgtMzMyLjgzMmMgMTMxLjI0OC01Mi41NiwgMjgwLjI1NiwxMS4yMzIsIDMzMi44MTYsMTQyLjQ4QyA1NDYuMjg4LDI2MC4wMzIsIDQ4Mi40NjQsNDA5LjAyNCwgMzUxLjIxNiw0NjEuNjB6CgkJIE0gMTcyLjgwLDE1Ljk4NEMgNTguMTQ0LDYxLjkwNCwgMi4yMDgsMTkyLjUyOCwgNDguMTEyLDMwNy4yMGMgNDUuOTIsMTE0LjY1NiwgMTc2LjU2LDE3MC42MDgsIDI5MS4yMzIsMTI0LjY3MmMgMTE0LjY1Ni00NS45MDQsIDE3MC41OTItMTc2LjU0NCwgMTI0LjY4OC0yOTEuMjAKCQlDIDQxOC4wOTYsMjYuMDAsIDI4Ny40NzItMjkuOTIsIDE3Mi44MCwxNS45ODR6TSAyNjcuOTg0LDI1My42NDhjLTE2LjQwLDYuNTc2LTM1LjA0LTEuNDA4LTQxLjYxNi0xNy44MDgKCQlzIDEuNDA4LTM1LjAyNCwgMTcuNzkyLTQxLjYwYyAxNi40MC02LjU3NiwgMzUuMDU2LDEuNDA4LCA0MS42MTYsMTcuNzkyQyAyOTIuMzM2LDIyOC40MzIsIDI4NC4zNjgsMjQ3LjA1NiwgMjY3Ljk4NCwyNTMuNjQ4eiBNIDI1MC4xMTIsMjA5LjA3MgoJCWMtOC4xOTIsMy4yOTYtMTIuMTc2LDEyLjYwOC04LjkxMiwyMC44MTZjIDMuMjk2LDguMTkyLCAxMi42MjQsMTIuMTc2LCAyMC44MTYsOC45MTJjIDguMTc2LTMuMjgsIDEyLjE2LTEyLjYwOCwgOC44OTYtMjAuODE2CgkJQyAyNjcuNjMyLDIwOS43OTIsIDI1OC4zMDQsMjA1LjgwOCwgMjUwLjExMiwyMDkuMDcyek0gMjkxLjc0NCwzMTMuMDRjLTQ5LjIxNiwxOS43MTItMTA1LjA4OC00LjIyNC0xMjQuODAtNTMuNDI0CgkJYy0xOS43MTItNDkuMjE2LCA0LjIyNC0xMDUuMDg4LCA1My40MjQtMTI0LjgwYyA0OS4yMTYtMTkuNzEyLCAxMDUuMDg4LDQuMjA4LCAxMjQuODAsNTMuNDI0UyAzNDAuOTc2LDI5My4zNDQsIDI5MS43NDQsMzEzLjA0eiBNIDIzMi4yODgsMTY0LjUyOAoJCWMtMzIuNzY4LDEzLjEwNC00OC43MzYsNTAuNDQ4LTM1LjYzMiw4My4yMGMgMTMuMTIsMzIuNzUyLCA1MC40MzIsNDguNzM2LCA4My4xODQsMzUuNjMyYyAzMi43ODQtMTMuMTIsIDQ4Ljc1Mi01MC40NjQsIDM1LjY2NC04My4yMTYKCQlDIDMwMi4zNjgsMTY3LjM5MiwgMjY1LjA0LDE1MS4zOTIsIDIzMi4yODgsMTY0LjUyOHpNIDM3NC45MTIsMTc2LjM1MiBMIDM3NC44OCwxNzYuMzUyIEMgMzYxLjgwOCwxNDMuNzI4IDMzNi43NTIsMTE5LjQ1NiAzMDYuNzg0LDEwNi40OTYgQyAzMDYuNjcyLDEwNi40NDggMzA2LjYwOCwxMDYuMzIgMzA2LjQ0OCwxMDYuMjU2IEMgMzAyLjM4NCwxMDQuNTI4IDI5Ny42OTYsMTA2LjQwIDI5NS45NTIsMTEwLjQ4IEMgMjk0LjIwOCwxMTQuNTI4IDI5Ni4xMTIsMTE5LjIzMiAzMDAuMTQ0LDEyMC45NiBDIDMyNi40OCwxMzIuMjQgMzQ4LjU0NCwxNTMuNTY4IDM2MC4wNDgsMTgyLjMwNCBMIDM2MC4wNDgsMTgyLjI4OCBDIDM2MS42OTYsMTg2LjQwIDM2Ni4zNTIsMTg4LjQwIDM3MC40NDgsMTg2LjczNiBDIDM3NC41NDQsMTg1LjEwNCAzNzYuNTQ0LDE4MC40NDggMzc0LjkxMiwxNzYuMzUyIFpNIDQyOS44NCwxNjIuOTc2IEMgNDMzLjkzNiwxNjEuMzI4IDQzNS45MzYsMTU2LjY3MiA0MzQuMzA0LDE1Mi41NzYgQyA0MTQuNzA0LDEwMy42NDggMzc3LjA4OCw2Ny4yMTYgMzMyLjE0NCw0Ny44MDggQyAzMzEuOTUyLDQ3LjcyOCAzMzEuODA4LDQ3LjU1MiAzMzEuNjE2LDQ3LjQ1NiBDIDMyNy41NTIsNDUuNzI4IDMyMi44NjQsNDcuNTg0IDMyMS4xMiw1MS42NjQgQyAzMTkuMzc2LDU1LjcyOCAzMjEuMjgsNjAuNDMyIDMyNS4zMTIsNjIuMTYgQyAzNjYuNzIsNzkuODg4IDQwMS4zNzYsMTEzLjQwOCA0MTkuNDQsMTU4LjUyOCBDIDQyMS4wODgsMTYyLjYyNCA0MjUuNzQ0LDE2NC42MjQgNDI5Ljg0LDE2Mi45NzYgWk0gNDAwLjEyOCwxNzQuODY0IEMgNDA0LjIyNCwxNzMuMjE2IDQwNi4yMjQsMTY4LjU2IDQwNC41OTIsMTY0LjQ2NCBDIDM4OC4yNTYsMTIzLjY4IDM1Ni45MTIsOTMuMzQ0IDMxOS40NzIsNzcuMTY4IEMgMzE5LjI5Niw3Ny4wNzIgMzE5LjIwLDc2LjkyOCAzMTkuMDQsNzYuODQ4IEMgMzE0Ljk3Niw3NS4xMiAzMTAuMjg4LDc2Ljk5MiAzMDguNTQ0LDgxLjA1NiBDIDMwNi44MCw4NS4xMiAzMDguNzA0LDg5LjgyNCAzMTIuNzY4LDkxLjU2OCBMIDMxMi43MzYsOTEuNTY4IEMgMzQ2LjY0LDEwNi4wOCAzNzQuOTc2LDEzMy40ODggMzg5LjcyOCwxNzAuNDE2IEMgMzkxLjM3NiwxNzQuNTI4IDM5Ni4wMzIsMTc2LjUxMiA0MDAuMTI4LDE3NC44NjQgWk0gMjE2LjIwOCwzMzcuNDA4IEMgMjE3Ljk1MiwzMzMuMzI4IDIxNi4wNjQsMzI4LjY0IDIxMi4wMCwzMjYuODggQyAxODUuNjY0LDMxNS42MTYgMTYzLjYwLDI5NC4yNzIgMTUyLjExMiwyNjUuNTY4IEwgMTUyLjA5NiwyNjUuNTY4IEMgMTUwLjQ2NCwyNjEuNDcyIDE0NS44MDgsMjU5LjQ3MiAxNDEuNjk2LDI2MS4xMiBDIDEzNy42MCwyNjIuNzY4IDEzNS42MCwyNjcuNDA4IDEzNy4yNDgsMjcxLjUyIEwgMTM3LjI2NCwyNzEuNTIgQyAxNTAuMzIsMzA0LjEyOCAxNzUuMzkyLDMyOC40MTYgMjA1LjM2LDM0MS4zNzYgQyAyMDUuNDcyLDM0MS40MjQgMjA1LjU1MiwzNDEuNTUyIDIwNS42OTYsMzQxLjYwIEMgMjA5Ljc2LDM0My4zNDQgMjE0LjQ2NCwzNDEuNDg4IDIxNi4yMDgsMzM3LjQwOCBaTSAxOTEuMDA4LDM5Ni4yNCBDIDE5Mi43NTIsMzkyLjE3NiAxOTAuODY0LDM4Ny40ODggMTg2LjgxNiwzODUuNzI4IEMgMTQ1LjQwOCwzNjguMDAgMTEwLjc2OCwzMzQuNDggOTIuNjg4LDI4OS4zNzYgQyA5MS4wNCwyODUuMjY0IDg2LjM4NCwyODMuMjggODIuMjg4LDI4NC45MjggQyA3OC4xNzYsMjg2LjU2IDc2LjE3NiwyOTEuMjE2IDc3Ljg0LDI5NS4zNDQgQyA5Ny40NCwzNDQuMjcyIDEzNS4wNCwzODAuNjg4IDE4MC4wMCw0MDAuMTEyIEMgMTgwLjE2LDQwMC4xOTIgMTgwLjMwNCw0MDAuMzY4IDE4MC40OTYsNDAwLjQ0OCBDIDE4NC41Niw0MDIuMTc2IDE4OS4yNjQsNDAwLjMwNCAxOTEuMDA4LDM5Ni4yNCBaTSAxOTkuMzkyLDM1Ni4zMzYgTCAxOTkuMzkyLDM1Ni4yODggQyAxNjUuNTIsMzQxLjc5MiAxMzcuMTY4LDMxNC4zNjggMTIyLjQwLDI3Ny40NCBDIDEyMC43NTIsMjczLjMyOCAxMTYuMDk2LDI3MS4zNiAxMTIuMDAsMjcyLjk5MiBDIDEwNy45MiwyNzQuNjU2IDEwNS45MDQsMjc5LjI5NiAxMDcuNTY4LDI4My40MDggQyAxMjMuODg4LDMyNC4xNzYgMTU1LjIzMiwzNTQuNTQ0IDE5Mi42ODgsMzcwLjczNiBDIDE5Mi44NDgsMzcwLjgwIDE5Mi45NDQsMzcwLjk2IDE5My4xMDQsMzcxLjAyNCBDIDE5Ny4xNjgsMzcyLjc2OCAyMDEuODcyLDM3MC44OCAyMDMuNjE2LDM2Ni44MzIgQyAyMDUuMzYsMzYyLjc1MiAyMDMuNDU2LDM1OC4wNjQgMTk5LjQwOCwzNTYuMzM2IFoiIGRhdGEtdGFncz0idnluaWwiIC8+CjxnbHlwaCB1bmljb2RlPSImI3hlMDJlOyIgZD0iTSAzOTcuMzEyLDI5Ni44OEMgMzk0LjMzNiwzMDEuMzI4LCAzODkuMzQ0LDMwNC4wMCwgMzg0LjAwLDMwNC4wMGwtMTYuMDAsMC4wMCBjLTguODQ4LDAuMDAtMTYuMDAtNy4xNTItMTYuMDAtMTYuMDBsMC4wMC05Ni4wMCBjMC4wMC04Ljg0OCwgNy4xNTItMTYuMDAsIDE2LjAwLTE2LjAwbCA2NC4wMCwwLjAwIAoJCWMgOC44NDgsMC4wMCwgMTYuMDAsNy4xNTIsIDE2LjAwLDE2LjAwbDAuMDAsMjQuMDAgYzAuMDAsMy4xNTItMC45NDQsNi4yNTYtMi42ODgsOC44OEwgMzk3LjMxMiwyOTYuODh6IE0gNDMyLjAwLDE5Mi4wMGwtNjQuMDAsMC4wMCBsMC4wMCw5Ni4wMCBsIDE2LjAwLDAuMDAgbCA0OC4wMC03Mi4wMEwgNDMyLjAwLDE5Mi4wMCB6TSA1MDMuOTM2LDIzNC42MjRsLTY0LjAwLDk2LjAwQyA0MzEuMDA4LDM0NC4wMTYsIDQxNi4wNjQsMzUyLjAwLCA0MDAuMDAsMzUyLjAwbC02NC4wMCwwLjAwIEwgMzM2LjAwLDM4NC4wMCBjMC4wMCwyNi40NjQtMjEuNTM2LDQ4LjAwLTQ4LjAwLDQ4LjAwTCA0OC4wMCw0MzIuMDAgQyAyMS41MzYsNDMyLjAwLDAuMDAsNDEwLjQ2NCwwLjAwLDM4NC4wMGwwLjAwLTE3Ni4wMCAKCQljMC4wMC0yNi40NjQsIDIxLjUzNi00OC4wMCwgNDguMDAtNDguMDBsMC4wMCwwLjAwIGwwLjAwLTQ4LjAwIGMwLjAwLTI2LjQ2NCwgMjEuNTM2LTQ4LjAwLCA0OC4wMC00OC4wMGwgMTguMjcyLDAuMDAgYyA3LjE1Mi0yNy41MzYsIDMyLjAwLTQ4LjAwLCA2MS43NDQtNDguMDBjIDI5LjcxMiwwLjAwLCA1NC41NiwyMC40NjQsIDYxLjcxMiw0OC4wMGwgODQuNTEyLDAuMDAgCgkJYyA3LjE1Mi0yNy41MzYsIDMyLjAwLTQ4LjAwLCA2MS43NDQtNDguMDBjIDI5LjcxMiwwLjAwLCA1NC41NiwyMC40NjQsIDYxLjcxMiw0OC4wMEwgNDY0LjAwLDY0LjAwIGMgMjYuNDY0LDAuMDAsIDQ4LjAwLDIxLjUzNiwgNDguMDAsNDguMDBsMC4wMCw5Ni4wMCBDIDUxMi4wMCwyMTcuNTA0LCA1MDkuMjE2LDIyNi43MiwgNTAzLjkzNiwyMzQuNjI0eiBNIDQ4LjAwLDE5Mi4wMAoJCWMtOC44MzIsMC4wMC0xNi4wMCw3LjE1Mi0xNi4wMCwxNi4wMEwgMzIuMDAsMzg0LjAwIGMwLjAwLDguODQ4LCA3LjE2OCwxNi4wMCwgMTYuMDAsMTYuMDBsIDI0MC4wMCwwLjAwIGMgOC44NDgsMC4wMCwgMTYuMDAtNy4xNTIsIDE2LjAwLTE2LjAwbDAuMDAtMzIuMDAgbDAuMDAtMzIuMDAgbDAuMDAtMTEyLjAwIGMwLjAwLTguODQ4LTcuMTUyLTE2LjAwLTE2LjAwLTE2LjAwTCA0OC4wMCwxOTIuMDAgeiBNIDE3Ni4wMTYsNDguMDAKCQljLTE3LjY4LDAuMDAtMzIuMDAsMTQuMzM2LTMyLjAwLDMyLjAwcyAxNC4zMiwzMi4wMCwgMzIuMDAsMzIuMDBjIDE3LjY2NCwwLjAwLCAzMi4wMC0xNC4zMzYsIDMyLjAwLTMyLjAwUyAxOTMuNjY0LDQ4LjAwLCAxNzYuMDE2LDQ4LjAweiBNIDM4NC4wMCw0OC4wMGMtMTcuNjgsMC4wMC0zMi4wMCwxNC4zMzYtMzIuMDAsMzIuMDBzIDE0LjMyLDMyLjAwLCAzMi4wMCwzMi4wMAoJCWMgMTcuNjY0LDAuMDAsIDMyLjAwLTE0LjMzNiwgMzIuMDAtMzIuMDBTIDQwMS42NjQsNDguMDAsIDM4NC4wMCw0OC4wMHogTSA0ODAuMDAsMTEyLjAwYzAuMDAtOC44NDgtNy4xNTItMTYuMDAtMTYuMDAtMTYuMDBsLTE4LjI4OCwwLjAwIGMtNy4xNTIsMjcuNTM2LTMyLjAwLDQ4LjAwLTYxLjcxMiw0OC4wMGMtMjkuNzQ0LDAuMDAtNTQuNTkyLTIwLjQ2NC02MS43NDQtNDguMDAKCQlsLTg0LjUxMiwwLjAwIGMtNy4xNTIsMjcuNTM2LTMyLjAwLDQ4LjAwLTYxLjcxMiw0OC4wMGMtMjkuNzQ0LDAuMDAtNTQuNTkyLTIwLjQ2NC02MS43NDQtNDguMDBMIDk2LjAwLDk2LjAwIGMtOC44MzIsMC4wMC0xNi4wMCw3LjE1Mi0xNi4wMCwxNi4wMGwwLjAwLDQ4LjAwIGwgMjA4LjAwLDAuMDAgYyAyNi40NjQsMC4wMCwgNDguMDAsMjEuNTM2LCA0OC4wMCw0OC4wMGwwLjAwLDExMi4wMCBsIDY0LjAwLDAuMDAgCgkJYyA1LjM0NCwwLjAwLCAxMC4zMzYtMi42NzIsIDEzLjMxMi03LjEybCA2NC4wMC05Ni4wMEMgNDc5LjA1NiwyMTQuMjU2LCA0ODAuMDAsMjExLjE1MiwgNDgwLjAwLDIwOC4wMEwgNDgwLjAwLDExMi4wMCB6IiBkYXRhLXRhZ3M9InRydWNrIiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTAyZjsiIGQ9Ik0gMjQ4LjAwLDQ4MC4wMEMgMTExLjAyNCw0ODAuMDAsMC4wMCwzNjguOTc2LDAuMDAsMjMyLjAwUyAxMTEuMDI0LTE2LjAwLCAyNDguMDAtMTYuMDBTIDQ5Ni4wMCw5NS4wMjQsIDQ5Ni4wMCwyMzIuMDBTIDM4NC45NzYsNDgwLjAwLCAyNDguMDAsNDgwLjAweiBNIDQ2My42MCwyNDAuMDAKCWwtOTUuOTM2LDAuMDAgYy0wLjg4LDM1LjQ0LTcuMTg0LDY5LjI5Ni0xOC4zNjgsMTAwLjI4OGMgMjEuNjAsOS4wMDgsIDQxLjU2OCwyMC45OTIsIDU5Ljc3NiwzNS4xNTJDIDQ0MS40NCwzMzkuMTA0LCA0NjEuNjgsMjkxLjkyLCA0NjMuNjAsMjQwLjAwegoJIE0gMjM5LjE1MiwxNi40NDhjLTI2LjU5MiwyMi4xNDQtNDguODk2LDUwLjg5Ni02NS4yMTYsODQuMjg4YyAyMC45NDQsNi41NDQsIDQzLjEzNiwxMC4xMjgsIDY2LjA2NCwxMC44NjRsMC4wMC05NS4xODQgCglDIDIzOS43MTIsMTYuNDE2LCAyMzkuNDQsMTYuNDMyLCAyMzkuMTUyLDE2LjQ0OHogTSAyNTYuODE2LDQ0Ny41NTJjIDMwLjE3Ni0yNS4xMiwgNTQuODAtNTguNzY4LCA3MS40NTYtOTguMDE2Yy0yMi44MTYtNy43OTItNDcuMDU2LTEyLjMyLTcyLjI4OC0xMy4xMgoJTCAyNTUuOTg0LDQ0Ny42MCBDIDI1Ni4yODgsNDQ3LjU4NCwgMjU2LjU0NCw0NDcuNTY4LCAyNTYuODE2LDQ0Ny41NTJ6IE0gMjgzLjQ3Miw0NDQuODMyYyA0NC4xNi03LjM0NCwgODMuNzc2LTI3Ljk2OCwgMTE0LjYyNC01Ny44MjQKCWMtMTYuNzUyLTEyLjg0OC0zNS4wNTYtMjMuNzI4LTU0Ljg0OC0zMS45NjhDIDMyOC42ODgsMzg5LjU1MiwgMzA4LjI1Niw0MjAuMDY0LCAyODMuNDcyLDQ0NC44MzJ6IE0gMjQwLjAwLDQ0Ny42MGwwLjAwLTExMS4xODQgCgljLTI1LjIzMiwwLjgxNi00OS40ODgsNS4zMjgtNzIuMjg4LDEzLjEyYyAxNi42NTYsMzkuMjQ4LCA0MS4yOCw3Mi44OTYsIDcxLjQ1Niw5OC4wMTZDIDIzOS40NTYsNDQ3LjU2OCwgMjM5LjcxMiw0NDcuNTg0LCAyNDAuMDAsNDQ3LjYweiBNIDE1Mi43MzYsMzU1LjAyNAoJYy0xOS43Niw4LjI0LTM4LjA4LDE5LjEyLTU0LjgzMiwzMS45NjhjIDMwLjgzMiwyOS44NTYsIDcwLjQ2NCw1MC40OCwgMTE0LjYyNCw1Ny44MjRDIDE4Ny43MjgsNDIwLjA2NCwgMTY3LjMxMiwzODkuNTUyLCAxNTIuNzM2LDM1NS4wMjR6IE0gMTYxLjY4LDMzNC43ODQKCUMgMTg2LjM1MiwzMjYuMjI0LCAyMTIuNjQsMzIxLjIzMiwgMjQwLjAwLDMyMC40MEwgMjQwLjAwLDI0MC4wMCBMIDE0NC4zMzYsMjQwLjAwIEMgMTQ1LjIwLDI3My41MDQsIDE1MS4xMzYsMzA1LjUyLCAxNjEuNjgsMzM0Ljc4NHogTSAyNDAuMDAsMjI0LjAwbDAuMDAtOTYuNDAgCgljLTI1LjIzMi0wLjc2OC00OS42MzItNC44OTYtNzIuNjI0LTEyLjMwNEMgMTUzLjUyLDE0OC4yODgsIDE0NS4zNDQsMTg1LjA0LCAxNDQuMzM2LDIyNC4wMEwgMjQwLjAwLDIyNC4wMCB6IE0gMjEyLjUyOCwxOS4xNjgKCWMtMzkuNTY4LDYuNTc2LTc1LjUwNCwyMy44MDgtMTA0LjcyLDQ4LjgzMmMgMTUuNzYsMTAuOTI4LCAzMi44MCwyMC4xNzYsIDUxLjAwOCwyNy4yMEMgMTcyLjc2OCw2Ni4yNzIsIDE5MS4wMjQsNDAuNTkyLCAyMTIuNTI4LDE5LjE2OHogTSAyNTYuMDAsMTYuNDAKCWwwLjAwLDk1LjE4NCBjIDIyLjkxMi0wLjczNiwgNDUuMTItNC4zMiwgNjYuMDY0LTEwLjg2NGMtMTYuMzM2LTMzLjM5Mi0zOC42MjQtNjIuMTQ0LTY1LjIxNi04NC4yODhDIDI1Ni41NzYsMTYuNDMyLCAyNTYuMjg4LDE2LjQxNiwgMjU2LjAwLDE2LjQwegoJIE0gMzM3LjE4NCw5NS4yMGMgMTguMTkyLTcuMDI0LCAzNS4yMTYtMTYuMjg4LCA1MS4wMDgtMjcuMjBjLTI5LjIxNi0yNS4wMDgtNjUuMTUyLTQyLjI1Ni0xMDQuNzItNDguODMyQyAzMDQuOTc2LDQwLjU5MiwgMzIzLjIxNiw2Ni4yNzIsIDMzNy4xODQsOTUuMjB6CgkgTSAzMjguNjI0LDExNS4yOTZjLTIzLjAwOCw3LjQwOC00Ny40MDgsMTEuNTM2LTcyLjYyNCwxMi4zMDRMIDI1Ni4wMCwyMjQuMDAgbCA5NS42NjQsMC4wMCBDIDM1MC42NTYsMTg1LjA0LCAzNDIuNDY0LDE0OC4yODgsIDMyOC42MjQsMTE1LjI5NnogTSAyNTYuMDAsMjQwLjAwTCAyNTYuMDAsMzIwLjQwIAoJYyAyNy4zNDQsMC44MzIsIDUzLjYzMiw1LjgwOCwgNzguMzIsMTQuMzY4YyAxMC41MjgtMjkuMjY0LCAxNi40NjQtNjEuMjgsIDE3LjM0NC05NC43ODRMIDI1Ni4wMCwyMzkuOTg0IHogTSA4Ni45NDQsMzc1LjQ0QyAxMDUuMTUyLDM2MS4yOCwgMTI1LjEyLDM0OS4yOTYsIDE0Ni43MDQsMzQwLjI4OAoJQyAxMzUuNTIsMzA5LjI5NiwgMTI5LjIxNiwyNzUuNDQsIDEyOC4zMzYsMjQwLjAwTCAzMi40MCwyNDAuMDAgQyAzNC4zMiwyOTEuOTIsIDU0LjU2LDMzOS4xMDQsIDg2Ljk0NCwzNzUuNDR6IE0gMzIuNDAsMjI0LjAwbCA5NS45MzYsMC4wMCAKCWMgMC45OTItNDAuODgsIDkuNTM2LTc5LjQ4OCwgMjQuMDQ4LTExNC4xOTJjLTIwLjI3Mi03LjkwNC0zOS4xNjgtMTguNDMyLTU2LjYwOC0zMC44OTZDIDU4LjIwOCwxMTYuMzA0LCAzNC40OTYsMTY3LjQyNCwgMzIuNDAsMjI0LjAweiBNIDQwMC4yMjQsNzguOTI4CgljLTE3LjQ0LDEyLjQ0OC0zNi4zMzYsMjIuOTkyLTU2LjYyNCwzMC44OTZjIDE0LjUyOCwzNC43MDQsIDIzLjA1Niw3My4zMTIsIDI0LjA2NCwxMTQuMTkybCA5NS45MzYsMC4wMCBDIDQ2MS41MDQsMTY3LjQyNCwgNDM3Ljc3NiwxMTYuMzA0LCA0MDAuMjI0LDc4LjkyOHoiIGRhdGEtdGFncz0id29ybGQiIC8+CjxnbHlwaCBjbGFzcz0iaGlkZGVuIiB1bmljb2RlPSImI3hmMDAwOyIgZD0iTTAsNDgwTCA1MTIgLTMyTDAgLTMyIHoiIGhvcml6LWFkdi14PSIwIiAvPgo8L2ZvbnQ+PC9kZWZzPjwvc3ZnPg==) format('svg'), + url(data:font/ttf;charset=utf-8;base64,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) format('truetype'); + font-weight: normal; + font-style: normal; +} + +/* Use the following CSS code if you want to use data attributes for inserting your icons */ +[data-icon]:before { + font-family: 'linecons'; + content: attr(data-icon); + speak: none; + font-weight: normal; + line-height: 1; + -webkit-font-smoothing: antialiased; +} + +/* Use the following CSS code if you want to have a class per icon */ +[class^="li_"]:before, [class*=" li_"]:before { + font-family: 'linecons'; + font-style: normal; + speak: none; + font-weight: normal; + line-height: 1; + -webkit-font-smoothing: antialiased; +} +.li_heart:before { + content: "\e000"; +} +.li_cloud:before { + content: "\e001"; +} +.li_star:before { + content: "\e002"; +} +.li_tv:before { + content: "\e003"; +} +.li_sound:before { + content: "\e004"; +} +.li_video:before { + content: "\e005"; +} +.li_trash:before { + content: "\e006"; +} +.li_user:before { + content: "\e007"; +} +.li_key:before { + content: "\e008"; +} +.li_search:before { + content: "\e009"; +} +.li_settings:before { + content: "\e00a"; +} +.li_camera:before { + content: "\e00b"; +} +.li_tag:before { + content: "\e00c"; +} +.li_lock:before { + content: "\e00d"; +} +.li_bulb:before { + content: "\e00e"; +} +.li_pen:before { + content: "\e00f"; +} +.li_diamond:before { + content: "\e010"; +} +.li_display:before { + content: "\e011"; +} +.li_location:before { + content: "\e012"; +} +.li_eye:before { + content: "\e013"; +} +.li_bubble:before { + content: "\e014"; +} +.li_stack:before { + content: "\e015"; +} +.li_cup:before { + content: "\e016"; +} +.li_phone:before { + content: "\e017"; +} +.li_news:before { + content: "\e018"; +} +.li_mail:before { + content: "\e019"; +} +.li_like:before { + content: "\e01a"; +} +.li_photo:before { + content: "\e01b"; +} +.li_note:before { + content: "\e01c"; +} +.li_clock:before { + content: "\e01d"; +} +.li_paperplane:before { + content: "\e01e"; +} +.li_params:before { + content: "\e01f"; +} +.li_banknote:before { + content: "\e020"; +} +.li_data:before { + content: "\e021"; +} +.li_music:before { + content: "\e022"; +} +.li_megaphone:before { + content: "\e023"; +} +.li_study:before { + content: "\e024"; +} +.li_lab:before { + content: "\e025"; +} +.li_food:before { + content: "\e026"; +} +.li_t-shirt:before { + content: "\e027"; +} +.li_fire:before { + content: "\e028"; +} +.li_clip:before { + content: "\e029"; +} +.li_shop:before { + content: "\e02a"; +} +.li_calendar:before { + content: "\e02b"; +} +.li_vallet:before { + content: "\e02c"; +} +.li_vynil:before { + content: "\e02d"; +} +.li_truck:before { + content: "\e02e"; +} +.li_world:before { + content: "\e02f"; +} diff --git a/src/demo/manager/src/main/webapp/js/bootstrap-datetimepicker.js b/src/demo/manager/src/main/webapp/js/bootstrap-datetimepicker.js new file mode 100644 index 00000000..f66d69c1 --- /dev/null +++ b/src/demo/manager/src/main/webapp/js/bootstrap-datetimepicker.js @@ -0,0 +1,1967 @@ +/* ========================================================= + * bootstrap-datetimepicker.js + * ========================================================= + * Copyright 2012 Stefan Petre + * + * Improvements by Andrew Rowls + * Improvements by Sébastien Malot + * Improvements by Yun Lai + * Improvements by Kenneth Henderick + * Improvements by CuGBabyBeaR + * Improvements by Christian Vaas + * + * Project URL : http://www.malot.fr/bootstrap-datetimepicker + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ========================================================= */ + +(function(factory){ + if (typeof define === 'function' && define.amd) + define(['jquery'], factory); + else if (typeof exports === 'object') + factory(require('jquery')); + else + factory(jQuery); + +}(function($, undefined){ + + // Add ECMA262-5 Array methods if not supported natively (IE8) + if (!('indexOf' in Array.prototype)) { + Array.prototype.indexOf = function (find, i) { + if (i === undefined) i = 0; + if (i < 0) i += this.length; + if (i < 0) i = 0; + for (var n = this.length; i < n; i++) { + if (i in this && this[i] === find) { + return i; + } + } + return -1; + } + } + + // Add timezone abbreviation support for ie6+, Chrome, Firefox + function timeZoneAbbreviation() { + var abbreviation, date, formattedStr, i, len, matchedStrings, ref, str; + date = (new Date()).toString(); + formattedStr = ((ref = date.split('(')[1]) != null ? ref.slice(0, -1) : 0) || date.split(' '); + if (formattedStr instanceof Array) { + matchedStrings = []; + for (var i = 0, len = formattedStr.length; i < len; i++) { + str = formattedStr[i]; + if ((abbreviation = (ref = str.match(/\b[A-Z]+\b/)) !== null) ? ref[0] : 0) { + matchedStrings.push(abbreviation); + } + } + formattedStr = matchedStrings.pop(); + } + return formattedStr; + } + + function UTCDate() { + return new Date(Date.UTC.apply(Date, arguments)); + } + + // Picker object + var Datetimepicker = function (element, options) { + var that = this; + + this.element = $(element); + + // add container for single page application + // when page switch the datetimepicker div will be removed also. + this.container = options.container || 'body'; + + this.language = options.language || this.element.data('date-language') || 'en'; + this.language = this.language in dates ? this.language : this.language.split('-')[0]; // fr-CA fallback to fr + this.language = this.language in dates ? this.language : 'en'; + this.isRTL = dates[this.language].rtl || false; + this.formatType = options.formatType || this.element.data('format-type') || 'standard'; + this.format = DPGlobal.parseFormat(options.format || this.element.data('date-format') || dates[this.language].format || DPGlobal.getDefaultFormat(this.formatType, 'input'), this.formatType); + this.isInline = false; + this.isVisible = false; + this.isInput = this.element.is('input'); + this.fontAwesome = options.fontAwesome || this.element.data('font-awesome') || false; + + this.bootcssVer = options.bootcssVer || (this.isInput ? (this.element.is('.form-control') ? 3 : 2) : ( this.bootcssVer = this.element.is('.input-group') ? 3 : 2 )); + + this.component = this.element.is('.date') ? ( this.bootcssVer === 3 ? this.element.find('.input-group-addon .glyphicon-th, .input-group-addon .glyphicon-time, .input-group-addon .glyphicon-remove, .input-group-addon .glyphicon-calendar, .input-group-addon .fa-calendar, .input-group-addon .fa-clock-o').parent() : this.element.find('.add-on .icon-th, .add-on .icon-time, .add-on .icon-calendar, .add-on .fa-calendar, .add-on .fa-clock-o').parent()) : false; + this.componentReset = this.element.is('.date') ? ( this.bootcssVer === 3 ? this.element.find('.input-group-addon .glyphicon-remove, .input-group-addon .fa-times').parent():this.element.find('.add-on .icon-remove, .add-on .fa-times').parent()) : false; + this.hasInput = this.component && this.element.find('input').length; + if (this.component && this.component.length === 0) { + this.component = false; + } + this.linkField = options.linkField || this.element.data('link-field') || false; + this.linkFormat = DPGlobal.parseFormat(options.linkFormat || this.element.data('link-format') || DPGlobal.getDefaultFormat(this.formatType, 'link'), this.formatType); + this.minuteStep = options.minuteStep || this.element.data('minute-step') || 5; + this.pickerPosition = options.pickerPosition || this.element.data('picker-position') || 'bottom-right'; + this.showMeridian = options.showMeridian || this.element.data('show-meridian') || false; + this.initialDate = options.initialDate || new Date(); + this.zIndex = options.zIndex || this.element.data('z-index') || undefined; + this.title = typeof options.title === 'undefined' ? false : options.title; + this.timezone = options.timezone || timeZoneAbbreviation(); + + this.icons = { + leftArrow: this.fontAwesome ? 'fa-arrow-left' : (this.bootcssVer === 3 ? 'glyphicon-arrow-left' : 'icon-arrow-left'), + rightArrow: this.fontAwesome ? 'fa-arrow-right' : (this.bootcssVer === 3 ? 'glyphicon-arrow-right' : 'icon-arrow-right') + } + this.icontype = this.fontAwesome ? 'fa' : 'glyphicon'; + + this._attachEvents(); + + this.clickedOutside = function (e) { + // Clicked outside the datetimepicker, hide it + if ($(e.target).closest('.datetimepicker').length === 0) { + that.hide(); + } + } + + this.formatViewType = 'datetime'; + if ('formatViewType' in options) { + this.formatViewType = options.formatViewType; + } else if ('formatViewType' in this.element.data()) { + this.formatViewType = this.element.data('formatViewType'); + } + + this.minView = 0; + if ('minView' in options) { + this.minView = options.minView; + } else if ('minView' in this.element.data()) { + this.minView = this.element.data('min-view'); + } + this.minView = DPGlobal.convertViewMode(this.minView); + + this.maxView = DPGlobal.modes.length - 1; + if ('maxView' in options) { + this.maxView = options.maxView; + } else if ('maxView' in this.element.data()) { + this.maxView = this.element.data('max-view'); + } + this.maxView = DPGlobal.convertViewMode(this.maxView); + + this.wheelViewModeNavigation = false; + if ('wheelViewModeNavigation' in options) { + this.wheelViewModeNavigation = options.wheelViewModeNavigation; + } else if ('wheelViewModeNavigation' in this.element.data()) { + this.wheelViewModeNavigation = this.element.data('view-mode-wheel-navigation'); + } + + this.wheelViewModeNavigationInverseDirection = false; + + if ('wheelViewModeNavigationInverseDirection' in options) { + this.wheelViewModeNavigationInverseDirection = options.wheelViewModeNavigationInverseDirection; + } else if ('wheelViewModeNavigationInverseDirection' in this.element.data()) { + this.wheelViewModeNavigationInverseDirection = this.element.data('view-mode-wheel-navigation-inverse-dir'); + } + + this.wheelViewModeNavigationDelay = 100; + if ('wheelViewModeNavigationDelay' in options) { + this.wheelViewModeNavigationDelay = options.wheelViewModeNavigationDelay; + } else if ('wheelViewModeNavigationDelay' in this.element.data()) { + this.wheelViewModeNavigationDelay = this.element.data('view-mode-wheel-navigation-delay'); + } + + this.startViewMode = 2; + if ('startView' in options) { + this.startViewMode = options.startView; + } else if ('startView' in this.element.data()) { + this.startViewMode = this.element.data('start-view'); + } + this.startViewMode = DPGlobal.convertViewMode(this.startViewMode); + this.viewMode = this.startViewMode; + + this.viewSelect = this.minView; + if ('viewSelect' in options) { + this.viewSelect = options.viewSelect; + } else if ('viewSelect' in this.element.data()) { + this.viewSelect = this.element.data('view-select'); + } + this.viewSelect = DPGlobal.convertViewMode(this.viewSelect); + + this.forceParse = true; + if ('forceParse' in options) { + this.forceParse = options.forceParse; + } else if ('dateForceParse' in this.element.data()) { + this.forceParse = this.element.data('date-force-parse'); + } + var template = this.bootcssVer === 3 ? DPGlobal.templateV3 : DPGlobal.template; + while (template.indexOf('{iconType}') !== -1) { + template = template.replace('{iconType}', this.icontype); + } + while (template.indexOf('{leftArrow}') !== -1) { + template = template.replace('{leftArrow}', this.icons.leftArrow); + } + while (template.indexOf('{rightArrow}') !== -1) { + template = template.replace('{rightArrow}', this.icons.rightArrow); + } + this.picker = $(template) + .appendTo(this.isInline ? this.element : this.container) // 'body') + .on({ + click: $.proxy(this.click, this), + mousedown: $.proxy(this.mousedown, this) + }); + + if (this.wheelViewModeNavigation) { + if ($.fn.mousewheel) { + this.picker.on({mousewheel: $.proxy(this.mousewheel, this)}); + } else { + console.log('Mouse Wheel event is not supported. Please include the jQuery Mouse Wheel plugin before enabling this option'); + } + } + + if (this.isInline) { + this.picker.addClass('datetimepicker-inline'); + } else { + this.picker.addClass('datetimepicker-dropdown-' + this.pickerPosition + ' dropdown-menu'); + } + if (this.isRTL) { + this.picker.addClass('datetimepicker-rtl'); + var selector = this.bootcssVer === 3 ? '.prev span, .next span' : '.prev i, .next i'; + this.picker.find(selector).toggleClass(this.icons.leftArrow + ' ' + this.icons.rightArrow); + } + + $(document).on('mousedown touchend', this.clickedOutside); + + this.autoclose = false; + if ('autoclose' in options) { + this.autoclose = options.autoclose; + } else if ('dateAutoclose' in this.element.data()) { + this.autoclose = this.element.data('date-autoclose'); + } + + this.keyboardNavigation = true; + if ('keyboardNavigation' in options) { + this.keyboardNavigation = options.keyboardNavigation; + } else if ('dateKeyboardNavigation' in this.element.data()) { + this.keyboardNavigation = this.element.data('date-keyboard-navigation'); + } + + this.todayBtn = (options.todayBtn || this.element.data('date-today-btn') || false); + this.clearBtn = (options.clearBtn || this.element.data('date-clear-btn') || false); + this.todayHighlight = (options.todayHighlight || this.element.data('date-today-highlight') || false); + + this.weekStart = 0; + if (typeof options.weekStart !== 'undefined') { + this.weekStart = options.weekStart; + } else if (typeof this.element.data('date-weekstart') !== 'undefined') { + this.weekStart = this.element.data('date-weekstart'); + } else if (typeof dates[this.language].weekStart !== 'undefined') { + this.weekStart = dates[this.language].weekStart; + } + this.weekStart = this.weekStart % 7; + this.weekEnd = ((this.weekStart + 6) % 7); + this.onRenderDay = function (date) { + var render = (options.onRenderDay || function () { return []; })(date); + if (typeof render === 'string') { + render = [render]; + } + var res = ['day']; + return res.concat((render ? render : [])); + }; + this.onRenderHour = function (date) { + var render = (options.onRenderHour || function () { return []; })(date); + var res = ['hour']; + if (typeof render === 'string') { + render = [render]; + } + return res.concat((render ? render : [])); + }; + this.onRenderMinute = function (date) { + var render = (options.onRenderMinute || function () { return []; })(date); + var res = ['minute']; + if (typeof render === 'string') { + render = [render]; + } + if (date < this.startDate || date > this.endDate) { + res.push('disabled'); + } else if (Math.floor(this.date.getUTCMinutes() / this.minuteStep) === Math.floor(date.getUTCMinutes() / this.minuteStep)) { + res.push('active'); + } + return res.concat((render ? render : [])); + }; + this.onRenderYear = function (date) { + var render = (options.onRenderYear || function () { return []; })(date); + var res = ['year']; + if (typeof render === 'string') { + render = [render]; + } + if (this.date.getUTCFullYear() === date.getUTCFullYear()) { + res.push('active'); + } + var currentYear = date.getUTCFullYear(); + var endYear = this.endDate.getUTCFullYear(); + if (date < this.startDate || currentYear > endYear) { + res.push('disabled'); + } + return res.concat((render ? render : [])); + } + this.onRenderMonth = function (date) { + var render = (options.onRenderMonth || function () { return []; })(date); + var res = ['month']; + if (typeof render === 'string') { + render = [render]; + } + return res.concat((render ? render : [])); + } + this.startDate = new Date(-8639968443048000); + this.endDate = new Date(8639968443048000); + this.datesDisabled = []; + this.daysOfWeekDisabled = []; + this.setStartDate(options.startDate || this.element.data('date-startdate')); + this.setEndDate(options.endDate || this.element.data('date-enddate')); + this.setDatesDisabled(options.datesDisabled || this.element.data('date-dates-disabled')); + this.setDaysOfWeekDisabled(options.daysOfWeekDisabled || this.element.data('date-days-of-week-disabled')); + this.setMinutesDisabled(options.minutesDisabled || this.element.data('date-minute-disabled')); + this.setHoursDisabled(options.hoursDisabled || this.element.data('date-hour-disabled')); + this.fillDow(); + this.fillMonths(); + this.update(); + this.showMode(); + + if (this.isInline) { + this.show(); + } + }; + + Datetimepicker.prototype = { + constructor: Datetimepicker, + + _events: [], + _attachEvents: function () { + this._detachEvents(); + if (this.isInput) { // single input + this._events = [ + [this.element, { + focus: $.proxy(this.show, this), + keyup: $.proxy(this.update, this), + keydown: $.proxy(this.keydown, this) + }] + ]; + } + else if (this.component && this.hasInput) { // component: input + button + this._events = [ + // For components that are not readonly, allow keyboard nav + [this.element.find('input'), { + focus: $.proxy(this.show, this), + keyup: $.proxy(this.update, this), + keydown: $.proxy(this.keydown, this) + }], + [this.component, { + click: $.proxy(this.show, this) + }] + ]; + if (this.componentReset) { + this._events.push([ + this.componentReset, + {click: $.proxy(this.reset, this)} + ]); + } + } + else if (this.element.is('div')) { // inline datetimepicker + this.isInline = true; + } + else { + this._events = [ + [this.element, { + click: $.proxy(this.show, this) + }] + ]; + } + for (var i = 0, el, ev; i < this._events.length; i++) { + el = this._events[i][0]; + ev = this._events[i][1]; + el.on(ev); + } + }, + + _detachEvents: function () { + for (var i = 0, el, ev; i < this._events.length; i++) { + el = this._events[i][0]; + ev = this._events[i][1]; + el.off(ev); + } + this._events = []; + }, + + show: function (e) { + this.picker.show(); + this.height = this.component ? this.component.outerHeight() : this.element.outerHeight(); + if (this.forceParse) { + this.update(); + } + this.place(); + $(window).on('resize', $.proxy(this.place, this)); + if (e) { + e.stopPropagation(); + e.preventDefault(); + } + this.isVisible = true; + this.element.trigger({ + type: 'show', + date: this.date + }); + }, + + hide: function () { + if (!this.isVisible) return; + if (this.isInline) return; + this.picker.hide(); + $(window).off('resize', this.place); + this.viewMode = this.startViewMode; + this.showMode(); + if (!this.isInput) { + $(document).off('mousedown', this.hide); + } + + if ( + this.forceParse && + ( + this.isInput && this.element.val() || + this.hasInput && this.element.find('input').val() + ) + ) + this.setValue(); + this.isVisible = false; + this.element.trigger({ + type: 'hide', + date: this.date + }); + }, + + remove: function () { + this._detachEvents(); + $(document).off('mousedown', this.clickedOutside); + this.picker.remove(); + delete this.picker; + delete this.element.data().datetimepicker; + }, + + getDate: function () { + var d = this.getUTCDate(); + if (d === null) { + return null; + } + return new Date(d.getTime() + (d.getTimezoneOffset() * 60000)); + }, + + getUTCDate: function () { + return this.date; + }, + + getInitialDate: function () { + return this.initialDate + }, + + setInitialDate: function (initialDate) { + this.initialDate = initialDate; + }, + + setDate: function (d) { + this.setUTCDate(new Date(d.getTime() - (d.getTimezoneOffset() * 60000))); + }, + + setUTCDate: function (d) { + if (d >= this.startDate && d <= this.endDate) { + this.date = d; + this.setValue(); + this.viewDate = this.date; + this.fill(); + } else { + this.element.trigger({ + type: 'outOfRange', + date: d, + startDate: this.startDate, + endDate: this.endDate + }); + } + }, + + setFormat: function (format) { + this.format = DPGlobal.parseFormat(format, this.formatType); + var element; + if (this.isInput) { + element = this.element; + } else if (this.component) { + element = this.element.find('input'); + } + if (element && element.val()) { + this.setValue(); + } + }, + + setValue: function () { + var formatted = this.getFormattedDate(); + if (!this.isInput) { + if (this.component) { + this.element.find('input').val(formatted); + } + this.element.data('date', formatted); + } else { + this.element.val(formatted); + } + if (this.linkField) { + $('#' + this.linkField).val(this.getFormattedDate(this.linkFormat)); + } + }, + + getFormattedDate: function (format) { + format = format || this.format; + return DPGlobal.formatDate(this.date, format, this.language, this.formatType, this.timezone); + }, + + setStartDate: function (startDate) { + this.startDate = startDate || this.startDate; + if (this.startDate.valueOf() !== 8639968443048000) { + this.startDate = DPGlobal.parseDate(this.startDate, this.format, this.language, this.formatType, this.timezone); + } + this.update(); + this.updateNavArrows(); + }, + + setEndDate: function (endDate) { + this.endDate = endDate || this.endDate; + if (this.endDate.valueOf() !== 8639968443048000) { + this.endDate = DPGlobal.parseDate(this.endDate, this.format, this.language, this.formatType, this.timezone); + } + this.update(); + this.updateNavArrows(); + }, + + setDatesDisabled: function (datesDisabled) { + this.datesDisabled = datesDisabled || []; + if (!$.isArray(this.datesDisabled)) { + this.datesDisabled = this.datesDisabled.split(/,\s*/); + } + var mThis = this; + this.datesDisabled = $.map(this.datesDisabled, function (d) { + return DPGlobal.parseDate(d, mThis.format, mThis.language, mThis.formatType, mThis.timezone).toDateString(); + }); + this.update(); + this.updateNavArrows(); + }, + + setTitle: function (selector, value) { + return this.picker.find(selector) + .find('th:eq(1)') + .text(this.title === false ? value : this.title); + }, + + setDaysOfWeekDisabled: function (daysOfWeekDisabled) { + this.daysOfWeekDisabled = daysOfWeekDisabled || []; + if (!$.isArray(this.daysOfWeekDisabled)) { + this.daysOfWeekDisabled = this.daysOfWeekDisabled.split(/,\s*/); + } + this.daysOfWeekDisabled = $.map(this.daysOfWeekDisabled, function (d) { + return parseInt(d, 10); + }); + this.update(); + this.updateNavArrows(); + }, + + setMinutesDisabled: function (minutesDisabled) { + this.minutesDisabled = minutesDisabled || []; + if (!$.isArray(this.minutesDisabled)) { + this.minutesDisabled = this.minutesDisabled.split(/,\s*/); + } + this.minutesDisabled = $.map(this.minutesDisabled, function (d) { + return parseInt(d, 10); + }); + this.update(); + this.updateNavArrows(); + }, + + setHoursDisabled: function (hoursDisabled) { + this.hoursDisabled = hoursDisabled || []; + if (!$.isArray(this.hoursDisabled)) { + this.hoursDisabled = this.hoursDisabled.split(/,\s*/); + } + this.hoursDisabled = $.map(this.hoursDisabled, function (d) { + return parseInt(d, 10); + }); + this.update(); + this.updateNavArrows(); + }, + + place: function () { + if (this.isInline) return; + + if (!this.zIndex) { + var index_highest = 0; + $('div').each(function () { + var index_current = parseInt($(this).css('zIndex'), 10); + if (index_current > index_highest) { + index_highest = index_current; + } + }); + this.zIndex = index_highest + 10; + } + + var offset, top, left, containerOffset; + if (this.container instanceof $) { + containerOffset = this.container.offset(); + } else { + containerOffset = $(this.container).offset(); + } + + if (this.component) { + offset = this.component.offset(); + left = offset.left; + if (this.pickerPosition === 'bottom-left' || this.pickerPosition === 'top-left') { + left += this.component.outerWidth() - this.picker.outerWidth(); + } + } else { + offset = this.element.offset(); + left = offset.left; + if (this.pickerPosition === 'bottom-left' || this.pickerPosition === 'top-left') { + left += this.element.outerWidth() - this.picker.outerWidth(); + } + } + + var bodyWidth = document.body.clientWidth || window.innerWidth; + if (left + 220 > bodyWidth) { + left = bodyWidth - 220; + } + + if (this.pickerPosition === 'top-left' || this.pickerPosition === 'top-right') { + top = offset.top - this.picker.outerHeight(); + } else { + top = offset.top + this.height; + } + + top = top - containerOffset.top; + left = left - containerOffset.left; + + this.picker.css({ + top: top, + left: left, + zIndex: this.zIndex + }); + }, + + hour_minute: "^([0-9]|0[0-9]|1[0-9]|2[0-3]):[0-5][0-9]", + + update: function () { + var date, fromArgs = false; + if (arguments && arguments.length && (typeof arguments[0] === 'string' || arguments[0] instanceof Date)) { + date = arguments[0]; + fromArgs = true; + } else { + date = (this.isInput ? this.element.val() : this.element.find('input').val()) || this.element.data('date') || this.initialDate; + if (typeof date === 'string') { + date = date.replace(/^\s+|\s+$/g,''); + } + } + + if (!date) { + date = new Date(); + fromArgs = false; + } + + if (typeof date === "string") { + if (new RegExp(this.hour_minute).test(date) || new RegExp(this.hour_minute + ":[0-5][0-9]").test(date)) { + date = this.getDate() + } + } + + this.date = DPGlobal.parseDate(date, this.format, this.language, this.formatType, this.timezone); + + if (fromArgs) this.setValue(); + + if (this.date < this.startDate) { + this.viewDate = new Date(this.startDate); + } else if (this.date > this.endDate) { + this.viewDate = new Date(this.endDate); + } else { + this.viewDate = new Date(this.date); + } + this.fill(); + }, + + fillDow: function () { + var dowCnt = this.weekStart, + html = ''; + while (dowCnt < this.weekStart + 7) { + html += '' + dates[this.language].daysMin[(dowCnt++) % 7] + ''; + } + html += ''; + this.picker.find('.datetimepicker-days thead').append(html); + }, + + fillMonths: function () { + var html = ''; + var d = new Date(this.viewDate); + for (var i = 0; i < 12; i++) { + d.setUTCMonth(i); + var classes = this.onRenderMonth(d); + html += '' + dates[this.language].monthsShort[i] + ''; + } + this.picker.find('.datetimepicker-months td').html(html); + }, + + fill: function () { + if (!this.date || !this.viewDate) { + return; + } + var d = new Date(this.viewDate), + year = d.getUTCFullYear(), + month = d.getUTCMonth(), + dayMonth = d.getUTCDate(), + hours = d.getUTCHours(), + startYear = this.startDate.getUTCFullYear(), + startMonth = this.startDate.getUTCMonth(), + endYear = this.endDate.getUTCFullYear(), + endMonth = this.endDate.getUTCMonth() + 1, + currentDate = (new UTCDate(this.date.getUTCFullYear(), this.date.getUTCMonth(), this.date.getUTCDate())).valueOf(), + today = new Date(); + this.setTitle('.datetimepicker-days', dates[this.language].months[month] + ' ' + year) + if (this.formatViewType === 'time') { + var formatted = this.getFormattedDate(); + this.setTitle('.datetimepicker-hours', formatted); + this.setTitle('.datetimepicker-minutes', formatted); + } else { + this.setTitle('.datetimepicker-hours', dayMonth + ' ' + dates[this.language].months[month] + ' ' + year); + this.setTitle('.datetimepicker-minutes', dayMonth + ' ' + dates[this.language].months[month] + ' ' + year); + } + this.picker.find('tfoot th.today') + .text(dates[this.language].today || dates['en'].today) + .toggle(this.todayBtn !== false); + this.picker.find('tfoot th.clear') + .text(dates[this.language].clear || dates['en'].clear) + .toggle(this.clearBtn !== false); + this.updateNavArrows(); + this.fillMonths(); + var prevMonth = UTCDate(year, month - 1, 28, 0, 0, 0, 0), + day = DPGlobal.getDaysInMonth(prevMonth.getUTCFullYear(), prevMonth.getUTCMonth()); + prevMonth.setUTCDate(day); + prevMonth.setUTCDate(day - (prevMonth.getUTCDay() - this.weekStart + 7) % 7); + var nextMonth = new Date(prevMonth); + nextMonth.setUTCDate(nextMonth.getUTCDate() + 42); + nextMonth = nextMonth.valueOf(); + var html = []; + var classes; + while (prevMonth.valueOf() < nextMonth) { + if (prevMonth.getUTCDay() === this.weekStart) { + html.push(''); + } + classes = this.onRenderDay(prevMonth); + if (prevMonth.getUTCFullYear() < year || (prevMonth.getUTCFullYear() === year && prevMonth.getUTCMonth() < month)) { + classes.push('old'); + } else if (prevMonth.getUTCFullYear() > year || (prevMonth.getUTCFullYear() === year && prevMonth.getUTCMonth() > month)) { + classes.push('new'); + } + // Compare internal UTC date with local today, not UTC today + if (this.todayHighlight && + prevMonth.getUTCFullYear() === today.getFullYear() && + prevMonth.getUTCMonth() === today.getMonth() && + prevMonth.getUTCDate() === today.getDate()) { + classes.push('today'); + } + if (prevMonth.valueOf() === currentDate) { + classes.push('active'); + } + if ((prevMonth.valueOf() + 86400000) <= this.startDate || prevMonth.valueOf() > this.endDate || + $.inArray(prevMonth.getUTCDay(), this.daysOfWeekDisabled) !== -1 || + $.inArray(prevMonth.toDateString(), this.datesDisabled) !== -1) { + classes.push('disabled'); + } + html.push('' + prevMonth.getUTCDate() + ''); + if (prevMonth.getUTCDay() === this.weekEnd) { + html.push(''); + } + prevMonth.setUTCDate(prevMonth.getUTCDate() + 1); + } + this.picker.find('.datetimepicker-days tbody').empty().append(html.join('')); + + html = []; + var txt = '', meridian = '', meridianOld = ''; + var hoursDisabled = this.hoursDisabled || []; + d = new Date(this.viewDate) + for (var i = 0; i < 24; i++) { + d.setUTCHours(i); + classes = this.onRenderHour(d); + if (hoursDisabled.indexOf(i) !== -1) { + classes.push('disabled'); + } + var actual = UTCDate(year, month, dayMonth, i); + // We want the previous hour for the startDate + if ((actual.valueOf() + 3600000) <= this.startDate || actual.valueOf() > this.endDate) { + classes.push('disabled'); + } else if (hours === i) { + classes.push('active'); + } + if (this.showMeridian && dates[this.language].meridiem.length === 2) { + meridian = (i < 12 ? dates[this.language].meridiem[0] : dates[this.language].meridiem[1]); + if (meridian !== meridianOld) { + if (meridianOld !== '') { + html.push(''); + } + html.push('
                                                        ' + meridian.toUpperCase() + ''); + } + meridianOld = meridian; + txt = (i % 12 ? i % 12 : 12); + if (i < 12) { + classes.push('hour_am'); + } else { + classes.push('hour_pm'); + } + html.push('' + txt + ''); + if (i === 23) { + html.push('
                                                        '); + } + } else { + txt = i + ':00'; + html.push('' + txt + ''); + } + } + this.picker.find('.datetimepicker-hours td').html(html.join('')); + + html = []; + txt = ''; + meridian = ''; + meridianOld = ''; + var minutesDisabled = this.minutesDisabled || []; + d = new Date(this.viewDate); + for (var i = 0; i < 60; i += this.minuteStep) { + if (minutesDisabled.indexOf(i) !== -1) continue; + d.setUTCMinutes(i); + d.setUTCSeconds(0); + classes = this.onRenderMinute(d); + if (this.showMeridian && dates[this.language].meridiem.length === 2) { + meridian = (hours < 12 ? dates[this.language].meridiem[0] : dates[this.language].meridiem[1]); + if (meridian !== meridianOld) { + if (meridianOld !== '') { + html.push(''); + } + html.push('
                                                        ' + meridian.toUpperCase() + ''); + } + meridianOld = meridian; + txt = (hours % 12 ? hours % 12 : 12); + html.push('' + txt + ':' + (i < 10 ? '0' + i : i) + ''); + if (i === 59) { + html.push('
                                                        '); + } + } else { + txt = i + ':00'; + html.push('' + hours + ':' + (i < 10 ? '0' + i : i) + ''); + } + } + this.picker.find('.datetimepicker-minutes td').html(html.join('')); + + var currentYear = this.date.getUTCFullYear(); + var months = this.setTitle('.datetimepicker-months', year) + .end() + .find('.month').removeClass('active'); + if (currentYear === year) { + // getUTCMonths() returns 0 based, and we need to select the next one + // To cater bootstrap 2 we don't need to select the next one + months.eq(this.date.getUTCMonth()).addClass('active'); + } + if (year < startYear || year > endYear) { + months.addClass('disabled'); + } + if (year === startYear) { + months.slice(0, startMonth).addClass('disabled'); + } + if (year === endYear) { + months.slice(endMonth).addClass('disabled'); + } + + html = ''; + year = parseInt(year / 10, 10) * 10; + var yearCont = this.setTitle('.datetimepicker-years', year + '-' + (year + 9)) + .end() + .find('td'); + year -= 1; + d = new Date(this.viewDate); + for (var i = -1; i < 11; i++) { + d.setUTCFullYear(year); + classes = this.onRenderYear(d); + if (i === -1 || i === 10) { + classes.push(old); + } + html += '' + year + ''; + year += 1; + } + yearCont.html(html); + this.place(); + }, + + updateNavArrows: function () { + var d = new Date(this.viewDate), + year = d.getUTCFullYear(), + month = d.getUTCMonth(), + day = d.getUTCDate(), + hour = d.getUTCHours(); + switch (this.viewMode) { + case 0: + if (year <= this.startDate.getUTCFullYear() + && month <= this.startDate.getUTCMonth() + && day <= this.startDate.getUTCDate() + && hour <= this.startDate.getUTCHours()) { + this.picker.find('.prev').css({visibility: 'hidden'}); + } else { + this.picker.find('.prev').css({visibility: 'visible'}); + } + if (year >= this.endDate.getUTCFullYear() + && month >= this.endDate.getUTCMonth() + && day >= this.endDate.getUTCDate() + && hour >= this.endDate.getUTCHours()) { + this.picker.find('.next').css({visibility: 'hidden'}); + } else { + this.picker.find('.next').css({visibility: 'visible'}); + } + break; + case 1: + if (year <= this.startDate.getUTCFullYear() + && month <= this.startDate.getUTCMonth() + && day <= this.startDate.getUTCDate()) { + this.picker.find('.prev').css({visibility: 'hidden'}); + } else { + this.picker.find('.prev').css({visibility: 'visible'}); + } + if (year >= this.endDate.getUTCFullYear() + && month >= this.endDate.getUTCMonth() + && day >= this.endDate.getUTCDate()) { + this.picker.find('.next').css({visibility: 'hidden'}); + } else { + this.picker.find('.next').css({visibility: 'visible'}); + } + break; + case 2: + if (year <= this.startDate.getUTCFullYear() + && month <= this.startDate.getUTCMonth()) { + this.picker.find('.prev').css({visibility: 'hidden'}); + } else { + this.picker.find('.prev').css({visibility: 'visible'}); + } + if (year >= this.endDate.getUTCFullYear() + && month >= this.endDate.getUTCMonth()) { + this.picker.find('.next').css({visibility: 'hidden'}); + } else { + this.picker.find('.next').css({visibility: 'visible'}); + } + break; + case 3: + case 4: + if (year <= this.startDate.getUTCFullYear()) { + this.picker.find('.prev').css({visibility: 'hidden'}); + } else { + this.picker.find('.prev').css({visibility: 'visible'}); + } + if (year >= this.endDate.getUTCFullYear()) { + this.picker.find('.next').css({visibility: 'hidden'}); + } else { + this.picker.find('.next').css({visibility: 'visible'}); + } + break; + } + }, + + mousewheel: function (e) { + + e.preventDefault(); + e.stopPropagation(); + + if (this.wheelPause) { + return; + } + + this.wheelPause = true; + + var originalEvent = e.originalEvent; + + var delta = originalEvent.wheelDelta; + + var mode = delta > 0 ? 1 : (delta === 0) ? 0 : -1; + + if (this.wheelViewModeNavigationInverseDirection) { + mode = -mode; + } + + this.showMode(mode); + + setTimeout($.proxy(function () { + + this.wheelPause = false + + }, this), this.wheelViewModeNavigationDelay); + + }, + + click: function (e) { + e.stopPropagation(); + e.preventDefault(); + var target = $(e.target).closest('span, td, th, legend'); + if (target.is('.' + this.icontype)) { + target = $(target).parent().closest('span, td, th, legend'); + } + if (target.length === 1) { + if (target.is('.disabled')) { + this.element.trigger({ + type: 'outOfRange', + date: this.viewDate, + startDate: this.startDate, + endDate: this.endDate + }); + return; + } + switch (target[0].nodeName.toLowerCase()) { + case 'th': + switch (target[0].className) { + case 'switch': + this.showMode(1); + break; + case 'prev': + case 'next': + var dir = DPGlobal.modes[this.viewMode].navStep * (target[0].className === 'prev' ? -1 : 1); + switch (this.viewMode) { + case 0: + this.viewDate = this.moveHour(this.viewDate, dir); + break; + case 1: + this.viewDate = this.moveDate(this.viewDate, dir); + break; + case 2: + this.viewDate = this.moveMonth(this.viewDate, dir); + break; + case 3: + case 4: + this.viewDate = this.moveYear(this.viewDate, dir); + break; + } + this.fill(); + this.element.trigger({ + type: target[0].className + ':' + this.convertViewModeText(this.viewMode), + date: this.viewDate, + startDate: this.startDate, + endDate: this.endDate + }); + break; + case 'clear': + this.reset(); + if (this.autoclose) { + this.hide(); + } + break; + case 'today': + var date = new Date(); + date = UTCDate(date.getFullYear(), date.getMonth(), date.getDate(), date.getHours(), date.getMinutes(), date.getSeconds(), 0); + + // Respect startDate and endDate. + if (date < this.startDate) date = this.startDate; + else if (date > this.endDate) date = this.endDate; + + this.viewMode = this.startViewMode; + this.showMode(0); + this._setDate(date); + this.fill(); + if (this.autoclose) { + this.hide(); + } + break; + } + break; + case 'span': + if (!target.is('.disabled')) { + var year = this.viewDate.getUTCFullYear(), + month = this.viewDate.getUTCMonth(), + day = this.viewDate.getUTCDate(), + hours = this.viewDate.getUTCHours(), + minutes = this.viewDate.getUTCMinutes(), + seconds = this.viewDate.getUTCSeconds(); + + if (target.is('.month')) { + this.viewDate.setUTCDate(1); + month = target.parent().find('span').index(target); + day = this.viewDate.getUTCDate(); + this.viewDate.setUTCMonth(month); + this.element.trigger({ + type: 'changeMonth', + date: this.viewDate + }); + if (this.viewSelect >= 3) { + this._setDate(UTCDate(year, month, day, hours, minutes, seconds, 0)); + } + } else if (target.is('.year')) { + this.viewDate.setUTCDate(1); + year = parseInt(target.text(), 10) || 0; + this.viewDate.setUTCFullYear(year); + this.element.trigger({ + type: 'changeYear', + date: this.viewDate + }); + if (this.viewSelect >= 4) { + this._setDate(UTCDate(year, month, day, hours, minutes, seconds, 0)); + } + } else if (target.is('.hour')) { + hours = parseInt(target.text(), 10) || 0; + if (target.hasClass('hour_am') || target.hasClass('hour_pm')) { + if (hours === 12 && target.hasClass('hour_am')) { + hours = 0; + } else if (hours !== 12 && target.hasClass('hour_pm')) { + hours += 12; + } + } + this.viewDate.setUTCHours(hours); + this.element.trigger({ + type: 'changeHour', + date: this.viewDate + }); + if (this.viewSelect >= 1) { + this._setDate(UTCDate(year, month, day, hours, minutes, seconds, 0)); + } + } else if (target.is('.minute')) { + minutes = parseInt(target.text().substr(target.text().indexOf(':') + 1), 10) || 0; + this.viewDate.setUTCMinutes(minutes); + this.element.trigger({ + type: 'changeMinute', + date: this.viewDate + }); + if (this.viewSelect >= 0) { + this._setDate(UTCDate(year, month, day, hours, minutes, seconds, 0)); + } + } + if (this.viewMode !== 0) { + var oldViewMode = this.viewMode; + this.showMode(-1); + this.fill(); + if (oldViewMode === this.viewMode && this.autoclose) { + this.hide(); + } + } else { + this.fill(); + if (this.autoclose) { + this.hide(); + } + } + } + break; + case 'td': + if (target.is('.day') && !target.is('.disabled')) { + var day = parseInt(target.text(), 10) || 1; + var year = this.viewDate.getUTCFullYear(), + month = this.viewDate.getUTCMonth(), + hours = this.viewDate.getUTCHours(), + minutes = this.viewDate.getUTCMinutes(), + seconds = this.viewDate.getUTCSeconds(); + if (target.is('.old')) { + if (month === 0) { + month = 11; + year -= 1; + } else { + month -= 1; + } + } else if (target.is('.new')) { + if (month === 11) { + month = 0; + year += 1; + } else { + month += 1; + } + } + this.viewDate.setUTCFullYear(year); + this.viewDate.setUTCMonth(month, day); + this.element.trigger({ + type: 'changeDay', + date: this.viewDate + }); + if (this.viewSelect >= 2) { + this._setDate(UTCDate(year, month, day, hours, minutes, seconds, 0)); + } + } + var oldViewMode = this.viewMode; + this.showMode(-1); + this.fill(); + if (oldViewMode === this.viewMode && this.autoclose) { + this.hide(); + } + break; + } + } + }, + + _setDate: function (date, which) { + if (!which || which === 'date') + this.date = date; + if (!which || which === 'view') + this.viewDate = date; + this.fill(); + this.setValue(); + var element; + if (this.isInput) { + element = this.element; + } else if (this.component) { + element = this.element.find('input'); + } + if (element) { + element.change(); + } + this.element.trigger({ + type: 'changeDate', + date: this.getDate() + }); + if(date === null) + this.date = this.viewDate; + }, + + moveMinute: function (date, dir) { + if (!dir) return date; + var new_date = new Date(date.valueOf()); + //dir = dir > 0 ? 1 : -1; + new_date.setUTCMinutes(new_date.getUTCMinutes() + (dir * this.minuteStep)); + return new_date; + }, + + moveHour: function (date, dir) { + if (!dir) return date; + var new_date = new Date(date.valueOf()); + //dir = dir > 0 ? 1 : -1; + new_date.setUTCHours(new_date.getUTCHours() + dir); + return new_date; + }, + + moveDate: function (date, dir) { + if (!dir) return date; + var new_date = new Date(date.valueOf()); + //dir = dir > 0 ? 1 : -1; + new_date.setUTCDate(new_date.getUTCDate() + dir); + return new_date; + }, + + moveMonth: function (date, dir) { + if (!dir) return date; + var new_date = new Date(date.valueOf()), + day = new_date.getUTCDate(), + month = new_date.getUTCMonth(), + mag = Math.abs(dir), + new_month, test; + dir = dir > 0 ? 1 : -1; + if (mag === 1) { + test = dir === -1 + // If going back one month, make sure month is not current month + // (eg, Mar 31 -> Feb 31 === Feb 28, not Mar 02) + ? function () { + return new_date.getUTCMonth() === month; + } + // If going forward one month, make sure month is as expected + // (eg, Jan 31 -> Feb 31 === Feb 28, not Mar 02) + : function () { + return new_date.getUTCMonth() !== new_month; + }; + new_month = month + dir; + new_date.setUTCMonth(new_month); + // Dec -> Jan (12) or Jan -> Dec (-1) -- limit expected date to 0-11 + if (new_month < 0 || new_month > 11) + new_month = (new_month + 12) % 12; + } else { + // For magnitudes >1, move one month at a time... + for (var i = 0; i < mag; i++) + // ...which might decrease the day (eg, Jan 31 to Feb 28, etc)... + new_date = this.moveMonth(new_date, dir); + // ...then reset the day, keeping it in the new month + new_month = new_date.getUTCMonth(); + new_date.setUTCDate(day); + test = function () { + return new_month !== new_date.getUTCMonth(); + }; + } + // Common date-resetting loop -- if date is beyond end of month, make it + // end of month + while (test()) { + new_date.setUTCDate(--day); + new_date.setUTCMonth(new_month); + } + return new_date; + }, + + moveYear: function (date, dir) { + return this.moveMonth(date, dir * 12); + }, + + dateWithinRange: function (date) { + return date >= this.startDate && date <= this.endDate; + }, + + keydown: function (e) { + if (this.picker.is(':not(:visible)')) { + if (e.keyCode === 27) // allow escape to hide and re-show picker + this.show(); + return; + } + var dateChanged = false, + dir, newDate, newViewDate; + switch (e.keyCode) { + case 27: // escape + this.hide(); + e.preventDefault(); + break; + case 37: // left + case 39: // right + if (!this.keyboardNavigation) break; + dir = e.keyCode === 37 ? -1 : 1; + var viewMode = this.viewMode; + if (e.ctrlKey) { + viewMode += 2; + } else if (e.shiftKey) { + viewMode += 1; + } + if (viewMode === 4) { + newDate = this.moveYear(this.date, dir); + newViewDate = this.moveYear(this.viewDate, dir); + } else if (viewMode === 3) { + newDate = this.moveMonth(this.date, dir); + newViewDate = this.moveMonth(this.viewDate, dir); + } else if (viewMode === 2) { + newDate = this.moveDate(this.date, dir); + newViewDate = this.moveDate(this.viewDate, dir); + } else if (viewMode === 1) { + newDate = this.moveHour(this.date, dir); + newViewDate = this.moveHour(this.viewDate, dir); + } else if (viewMode === 0) { + newDate = this.moveMinute(this.date, dir); + newViewDate = this.moveMinute(this.viewDate, dir); + } + if (this.dateWithinRange(newDate)) { + this.date = newDate; + this.viewDate = newViewDate; + this.setValue(); + this.update(); + e.preventDefault(); + dateChanged = true; + } + break; + case 38: // up + case 40: // down + if (!this.keyboardNavigation) break; + dir = e.keyCode === 38 ? -1 : 1; + viewMode = this.viewMode; + if (e.ctrlKey) { + viewMode += 2; + } else if (e.shiftKey) { + viewMode += 1; + } + if (viewMode === 4) { + newDate = this.moveYear(this.date, dir); + newViewDate = this.moveYear(this.viewDate, dir); + } else if (viewMode === 3) { + newDate = this.moveMonth(this.date, dir); + newViewDate = this.moveMonth(this.viewDate, dir); + } else if (viewMode === 2) { + newDate = this.moveDate(this.date, dir * 7); + newViewDate = this.moveDate(this.viewDate, dir * 7); + } else if (viewMode === 1) { + if (this.showMeridian) { + newDate = this.moveHour(this.date, dir * 6); + newViewDate = this.moveHour(this.viewDate, dir * 6); + } else { + newDate = this.moveHour(this.date, dir * 4); + newViewDate = this.moveHour(this.viewDate, dir * 4); + } + } else if (viewMode === 0) { + newDate = this.moveMinute(this.date, dir * 4); + newViewDate = this.moveMinute(this.viewDate, dir * 4); + } + if (this.dateWithinRange(newDate)) { + this.date = newDate; + this.viewDate = newViewDate; + this.setValue(); + this.update(); + e.preventDefault(); + dateChanged = true; + } + break; + case 13: // enter + if (this.viewMode !== 0) { + var oldViewMode = this.viewMode; + this.showMode(-1); + this.fill(); + if (oldViewMode === this.viewMode && this.autoclose) { + this.hide(); + } + } else { + this.fill(); + if (this.autoclose) { + this.hide(); + } + } + e.preventDefault(); + break; + case 9: // tab + this.hide(); + break; + } + if (dateChanged) { + var element; + if (this.isInput) { + element = this.element; + } else if (this.component) { + element = this.element.find('input'); + } + if (element) { + element.change(); + } + this.element.trigger({ + type: 'changeDate', + date: this.getDate() + }); + } + }, + + showMode: function (dir) { + if (dir) { + var newViewMode = Math.max(0, Math.min(DPGlobal.modes.length - 1, this.viewMode + dir)); + if (newViewMode >= this.minView && newViewMode <= this.maxView) { + this.element.trigger({ + type: 'changeMode', + date: this.viewDate, + oldViewMode: this.viewMode, + newViewMode: newViewMode + }); + + this.viewMode = newViewMode; + } + } + /* + vitalets: fixing bug of very special conditions: + jquery 1.7.1 + webkit + show inline datetimepicker in bootstrap popover. + Method show() does not set display css correctly and datetimepicker is not shown. + Changed to .css('display', 'block') solve the problem. + See https://github.com/vitalets/x-editable/issues/37 + + In jquery 1.7.2+ everything works fine. + */ + //this.picker.find('>div').hide().filter('.datetimepicker-'+DPGlobal.modes[this.viewMode].clsName).show(); + this.picker.find('>div').hide().filter('.datetimepicker-' + DPGlobal.modes[this.viewMode].clsName).css('display', 'block'); + this.updateNavArrows(); + }, + + reset: function () { + this._setDate(null, 'date'); + }, + + convertViewModeText: function (viewMode) { + switch (viewMode) { + case 4: + return 'decade'; + case 3: + return 'year'; + case 2: + return 'month'; + case 1: + return 'day'; + case 0: + return 'hour'; + } + } + }; + + var old = $.fn.datetimepicker; + $.fn.datetimepicker = function (option) { + var args = Array.apply(null, arguments); + args.shift(); + var internal_return; + this.each(function () { + var $this = $(this), + data = $this.data('datetimepicker'), + options = typeof option === 'object' && option; + if (!data) { + $this.data('datetimepicker', (data = new Datetimepicker(this, $.extend({}, $.fn.datetimepicker.defaults, options)))); + } + if (typeof option === 'string' && typeof data[option] === 'function') { + internal_return = data[option].apply(data, args); + if (internal_return !== undefined) { + return false; + } + } + }); + if (internal_return !== undefined) + return internal_return; + else + return this; + }; + + $.fn.datetimepicker.defaults = { + }; + $.fn.datetimepicker.Constructor = Datetimepicker; + var dates = $.fn.datetimepicker.dates = { + en: { + days: ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday', 'Sunday'], + daysShort: ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun'], + daysMin: ['Su', 'Mo', 'Tu', 'We', 'Th', 'Fr', 'Sa', 'Su'], + months: ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'], + monthsShort: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'], + meridiem: ['am', 'pm'], + suffix: ['st', 'nd', 'rd', 'th'], + today: 'Today', + clear: 'Clear' + } + }; + + var DPGlobal = { + modes: [ + { + clsName: 'minutes', + navFnc: 'Hours', + navStep: 1 + }, + { + clsName: 'hours', + navFnc: 'Date', + navStep: 1 + }, + { + clsName: 'days', + navFnc: 'Month', + navStep: 1 + }, + { + clsName: 'months', + navFnc: 'FullYear', + navStep: 1 + }, + { + clsName: 'years', + navFnc: 'FullYear', + navStep: 10 + } + ], + isLeapYear: function (year) { + return (((year % 4 === 0) && (year % 100 !== 0)) || (year % 400 === 0)) + }, + getDaysInMonth: function (year, month) { + return [31, (DPGlobal.isLeapYear(year) ? 29 : 28), 31, 30, 31, 30, 31, 31, 30, 31, 30, 31][month] + }, + getDefaultFormat: function (type, field) { + if (type === 'standard') { + if (field === 'input') + return 'yyyy-mm-dd hh:ii'; + else + return 'yyyy-mm-dd hh:ii:ss'; + } else if (type === 'php') { + if (field === 'input') + return 'Y-m-d H:i'; + else + return 'Y-m-d H:i:s'; + } else { + throw new Error('Invalid format type.'); + } + }, + validParts: function (type) { + if (type === 'standard') { + return /t|hh?|HH?|p|P|z|Z|ii?|ss?|dd?|DD?|mm?|MM?|yy(?:yy)?/g; + } else if (type === 'php') { + return /[dDjlNwzFmMnStyYaABgGhHis]/g; + } else { + throw new Error('Invalid format type.'); + } + }, + nonpunctuation: /[^ -\/:-@\[-`{-~\t\n\rTZ]+/g, + parseFormat: function (format, type) { + // IE treats \0 as a string end in inputs (truncating the value), + // so it's a bad format delimiter, anyway + var separators = format.replace(this.validParts(type), '\0').split('\0'), + parts = format.match(this.validParts(type)); + if (!separators || !separators.length || !parts || parts.length === 0) { + throw new Error('Invalid date format.'); + } + return {separators: separators, parts: parts}; + }, + parseDate: function (date, format, language, type, timezone) { + if (date instanceof Date) { + var dateUTC = new Date(date.valueOf() - date.getTimezoneOffset() * 60000); + dateUTC.setMilliseconds(0); + return dateUTC; + } + if (/^\d{4}\-\d{1,2}\-\d{1,2}$/.test(date)) { + format = this.parseFormat('yyyy-mm-dd', type); + } + if (/^\d{4}\-\d{1,2}\-\d{1,2}[T ]\d{1,2}\:\d{1,2}$/.test(date)) { + format = this.parseFormat('yyyy-mm-dd hh:ii', type); + } + if (/^\d{4}\-\d{1,2}\-\d{1,2}[T ]\d{1,2}\:\d{1,2}\:\d{1,2}[Z]{0,1}$/.test(date)) { + format = this.parseFormat('yyyy-mm-dd hh:ii:ss', type); + } + if (/^[-+]\d+[dmwy]([\s,]+[-+]\d+[dmwy])*$/.test(date)) { + var part_re = /([-+]\d+)([dmwy])/, + parts = date.match(/([-+]\d+)([dmwy])/g), + part, dir; + date = new Date(); + for (var i = 0; i < parts.length; i++) { + part = part_re.exec(parts[i]); + dir = parseInt(part[1]); + switch (part[2]) { + case 'd': + date.setUTCDate(date.getUTCDate() + dir); + break; + case 'm': + date = Datetimepicker.prototype.moveMonth.call(Datetimepicker.prototype, date, dir); + break; + case 'w': + date.setUTCDate(date.getUTCDate() + dir * 7); + break; + case 'y': + date = Datetimepicker.prototype.moveYear.call(Datetimepicker.prototype, date, dir); + break; + } + } + return UTCDate(date.getUTCFullYear(), date.getUTCMonth(), date.getUTCDate(), date.getUTCHours(), date.getUTCMinutes(), date.getUTCSeconds(), 0); + } + var parts = date && date.toString().match(this.nonpunctuation) || [], + date = new Date(0, 0, 0, 0, 0, 0, 0), + parsed = {}, + setters_order = ['hh', 'h', 'ii', 'i', 'ss', 's', 'yyyy', 'yy', 'M', 'MM', 'm', 'mm', 'D', 'DD', 'd', 'dd', 'H', 'HH', 'p', 'P', 'z', 'Z'], + setters_map = { + hh: function (d, v) { + return d.setUTCHours(v); + }, + h: function (d, v) { + return d.setUTCHours(v); + }, + HH: function (d, v) { + return d.setUTCHours(v === 12 ? 0 : v); + }, + H: function (d, v) { + return d.setUTCHours(v === 12 ? 0 : v); + }, + ii: function (d, v) { + return d.setUTCMinutes(v); + }, + i: function (d, v) { + return d.setUTCMinutes(v); + }, + ss: function (d, v) { + return d.setUTCSeconds(v); + }, + s: function (d, v) { + return d.setUTCSeconds(v); + }, + yyyy: function (d, v) { + return d.setUTCFullYear(v); + }, + yy: function (d, v) { + return d.setUTCFullYear(2000 + v); + }, + m: function (d, v) { + v -= 1; + while (v < 0) v += 12; + v %= 12; + d.setUTCMonth(v); + while (d.getUTCMonth() !== v) + if (isNaN(d.getUTCMonth())) + return d; + else + d.setUTCDate(d.getUTCDate() - 1); + return d; + }, + d: function (d, v) { + return d.setUTCDate(v); + }, + p: function (d, v) { + return d.setUTCHours(v === 1 ? d.getUTCHours() + 12 : d.getUTCHours()); + }, + z: function () { + return timezone + } + }, + val, filtered, part; + setters_map['M'] = setters_map['MM'] = setters_map['mm'] = setters_map['m']; + setters_map['dd'] = setters_map['d']; + setters_map['P'] = setters_map['p']; + setters_map['Z'] = setters_map['z']; + date = UTCDate(date.getFullYear(), date.getMonth(), date.getDate(), date.getHours(), date.getMinutes(), date.getSeconds()); + if (parts.length === format.parts.length) { + for (var i = 0, cnt = format.parts.length; i < cnt; i++) { + val = parseInt(parts[i], 10); + part = format.parts[i]; + if (isNaN(val)) { + switch (part) { + case 'MM': + filtered = $(dates[language].months).filter(function () { + var m = this.slice(0, parts[i].length), + p = parts[i].slice(0, m.length); + return m === p; + }); + val = $.inArray(filtered[0], dates[language].months) + 1; + break; + case 'M': + filtered = $(dates[language].monthsShort).filter(function () { + var m = this.slice(0, parts[i].length), + p = parts[i].slice(0, m.length); + return m.toLowerCase() === p.toLowerCase(); + }); + val = $.inArray(filtered[0], dates[language].monthsShort) + 1; + break; + case 'p': + case 'P': + val = $.inArray(parts[i].toLowerCase(), dates[language].meridiem); + break; + case 'z': + case 'Z': + timezone; + break; + + } + } + parsed[part] = val; + } + for (var i = 0, s; i < setters_order.length; i++) { + s = setters_order[i]; + if (s in parsed && !isNaN(parsed[s])) + setters_map[s](date, parsed[s]) + } + } + return date; + }, + formatDate: function (date, format, language, type, timezone) { + if (date === null) { + return ''; + } + var val; + if (type === 'standard') { + val = { + t: date.getTime(), + // year + yy: date.getUTCFullYear().toString().substring(2), + yyyy: date.getUTCFullYear(), + // month + m: date.getUTCMonth() + 1, + M: dates[language].monthsShort[date.getUTCMonth()], + MM: dates[language].months[date.getUTCMonth()], + // day + d: date.getUTCDate(), + D: dates[language].daysShort[date.getUTCDay()], + DD: dates[language].days[date.getUTCDay()], + p: (dates[language].meridiem.length === 2 ? dates[language].meridiem[date.getUTCHours() < 12 ? 0 : 1] : ''), + // hour + h: date.getUTCHours(), + // minute + i: date.getUTCMinutes(), + // second + s: date.getUTCSeconds(), + // timezone + z: timezone + }; + + if (dates[language].meridiem.length === 2) { + val.H = (val.h % 12 === 0 ? 12 : val.h % 12); + } + else { + val.H = val.h; + } + val.HH = (val.H < 10 ? '0' : '') + val.H; + val.P = val.p.toUpperCase(); + val.Z = val.z; + val.hh = (val.h < 10 ? '0' : '') + val.h; + val.ii = (val.i < 10 ? '0' : '') + val.i; + val.ss = (val.s < 10 ? '0' : '') + val.s; + val.dd = (val.d < 10 ? '0' : '') + val.d; + val.mm = (val.m < 10 ? '0' : '') + val.m; + } else if (type === 'php') { + // php format + val = { + // year + y: date.getUTCFullYear().toString().substring(2), + Y: date.getUTCFullYear(), + // month + F: dates[language].months[date.getUTCMonth()], + M: dates[language].monthsShort[date.getUTCMonth()], + n: date.getUTCMonth() + 1, + t: DPGlobal.getDaysInMonth(date.getUTCFullYear(), date.getUTCMonth()), + // day + j: date.getUTCDate(), + l: dates[language].days[date.getUTCDay()], + D: dates[language].daysShort[date.getUTCDay()], + w: date.getUTCDay(), // 0 -> 6 + N: (date.getUTCDay() === 0 ? 7 : date.getUTCDay()), // 1 -> 7 + S: (date.getUTCDate() % 10 <= dates[language].suffix.length ? dates[language].suffix[date.getUTCDate() % 10 - 1] : ''), + // hour + a: (dates[language].meridiem.length === 2 ? dates[language].meridiem[date.getUTCHours() < 12 ? 0 : 1] : ''), + g: (date.getUTCHours() % 12 === 0 ? 12 : date.getUTCHours() % 12), + G: date.getUTCHours(), + // minute + i: date.getUTCMinutes(), + // second + s: date.getUTCSeconds() + }; + val.m = (val.n < 10 ? '0' : '') + val.n; + val.d = (val.j < 10 ? '0' : '') + val.j; + val.A = val.a.toString().toUpperCase(); + val.h = (val.g < 10 ? '0' : '') + val.g; + val.H = (val.G < 10 ? '0' : '') + val.G; + val.i = (val.i < 10 ? '0' : '') + val.i; + val.s = (val.s < 10 ? '0' : '') + val.s; + } else { + throw new Error('Invalid format type.'); + } + var date = [], + seps = $.extend([], format.separators); + for (var i = 0, cnt = format.parts.length; i < cnt; i++) { + if (seps.length) { + date.push(seps.shift()); + } + date.push(val[format.parts[i]]); + } + if (seps.length) { + date.push(seps.shift()); + } + return date.join(''); + }, + convertViewMode: function (viewMode) { + switch (viewMode) { + case 4: + case 'decade': + viewMode = 4; + break; + case 3: + case 'year': + viewMode = 3; + break; + case 2: + case 'month': + viewMode = 2; + break; + case 1: + case 'day': + viewMode = 1; + break; + case 0: + case 'hour': + viewMode = 0; + break; + } + + return viewMode; + }, + headTemplate: '' + + '' + + '' + + '' + + '' + + '' + + '', + headTemplateV3: '' + + '' + + ' ' + + '' + + ' ' + + '' + + '', + contTemplate: '', + footTemplate: '' + + '' + + '' + + '' + }; + DPGlobal.template = '
                                                        ' + + '
                                                        ' + + '' + + DPGlobal.headTemplate + + DPGlobal.contTemplate + + DPGlobal.footTemplate + + '
                                                        ' + + '
                                                        ' + + '
                                                        ' + + '' + + DPGlobal.headTemplate + + DPGlobal.contTemplate + + DPGlobal.footTemplate + + '
                                                        ' + + '
                                                        ' + + '
                                                        ' + + '' + + DPGlobal.headTemplate + + '' + + DPGlobal.footTemplate + + '
                                                        ' + + '
                                                        ' + + '
                                                        ' + + '' + + DPGlobal.headTemplate + + DPGlobal.contTemplate + + DPGlobal.footTemplate + + '
                                                        ' + + '
                                                        ' + + '
                                                        ' + + '' + + DPGlobal.headTemplate + + DPGlobal.contTemplate + + DPGlobal.footTemplate + + '
                                                        ' + + '
                                                        ' + + '
                                                        '; + DPGlobal.templateV3 = '
                                                        ' + + '
                                                        ' + + '' + + DPGlobal.headTemplateV3 + + DPGlobal.contTemplate + + DPGlobal.footTemplate + + '
                                                        ' + + '
                                                        ' + + '
                                                        ' + + '' + + DPGlobal.headTemplateV3 + + DPGlobal.contTemplate + + DPGlobal.footTemplate + + '
                                                        ' + + '
                                                        ' + + '
                                                        ' + + '' + + DPGlobal.headTemplateV3 + + '' + + DPGlobal.footTemplate + + '
                                                        ' + + '
                                                        ' + + '
                                                        ' + + '' + + DPGlobal.headTemplateV3 + + DPGlobal.contTemplate + + DPGlobal.footTemplate + + '
                                                        ' + + '
                                                        ' + + '
                                                        ' + + '' + + DPGlobal.headTemplateV3 + + DPGlobal.contTemplate + + DPGlobal.footTemplate + + '
                                                        ' + + '
                                                        ' + + '
                                                        '; + $.fn.datetimepicker.DPGlobal = DPGlobal; + + /* DATETIMEPICKER NO CONFLICT + * =================== */ + + $.fn.datetimepicker.noConflict = function () { + $.fn.datetimepicker = old; + return this; + }; + + /* DATETIMEPICKER DATA-API + * ================== */ + + $(document).on( + 'focus.datetimepicker.data-api click.datetimepicker.data-api', + '[data-provide="datetimepicker"]', + function (e) { + var $this = $(this); + if ($this.data('datetimepicker')) return; + e.preventDefault(); + // component click requires us to explicitly show it + $this.datetimepicker('show'); + } + ); + $(function () { + $('[data-provide="datetimepicker-inline"]').datetimepicker(); + }); + +})); diff --git a/src/demo/manager/src/main/webapp/js/bootstrap-datetimepicker.min.js b/src/demo/manager/src/main/webapp/js/bootstrap-datetimepicker.min.js new file mode 100644 index 00000000..eba15ce5 --- /dev/null +++ b/src/demo/manager/src/main/webapp/js/bootstrap-datetimepicker.min.js @@ -0,0 +1 @@ +(function(a){if(typeof define==="function"&&define.amd){define(["jquery"],a)}else{if(typeof exports==="object"){a(require("jquery"))}else{a(jQuery)}}}(function(d,f){if(!("indexOf" in Array.prototype)){Array.prototype.indexOf=function(k,j){if(j===f){j=0}if(j<0){j+=this.length}if(j<0){j=0}for(var l=this.length;jthis.endDate){o.push("disabled")}else{if(Math.floor(this.date.getUTCMinutes()/this.minuteStep)===Math.floor(n.getUTCMinutes()/this.minuteStep)){o.push("active")}}return o.concat((p?p:[]))};this.onRenderYear=function(o){var q=(j.onRenderYear||function(){return[]})(o);var p=["year"];if(typeof q==="string"){q=[q]}if(this.date.getUTCFullYear()===o.getUTCFullYear()){p.push("active")}var n=o.getUTCFullYear();var r=this.endDate.getUTCFullYear();if(or){p.push("disabled")}return p.concat((q?q:[]))};this.onRenderMonth=function(n){var p=(j.onRenderMonth||function(){return[]})(n);var o=["month"];if(typeof p==="string"){p=[p]}return o.concat((p?p:[]))};this.startDate=new Date(-8639968443048000);this.endDate=new Date(8639968443048000);this.datesDisabled=[];this.daysOfWeekDisabled=[];this.setStartDate(j.startDate||this.element.data("date-startdate"));this.setEndDate(j.endDate||this.element.data("date-enddate"));this.setDatesDisabled(j.datesDisabled||this.element.data("date-dates-disabled"));this.setDaysOfWeekDisabled(j.daysOfWeekDisabled||this.element.data("date-days-of-week-disabled"));this.setMinutesDisabled(j.minutesDisabled||this.element.data("date-minute-disabled"));this.setHoursDisabled(j.hoursDisabled||this.element.data("date-hour-disabled"));this.fillDow();this.fillMonths();this.update();this.showMode();if(this.isInline){this.show()}};g.prototype={constructor:g,_events:[],_attachEvents:function(){this._detachEvents();if(this.isInput){this._events=[[this.element,{focus:d.proxy(this.show,this),keyup:d.proxy(this.update,this),keydown:d.proxy(this.keydown,this)}]]}else{if(this.component&&this.hasInput){this._events=[[this.element.find("input"),{focus:d.proxy(this.show,this),keyup:d.proxy(this.update,this),keydown:d.proxy(this.keydown,this)}],[this.component,{click:d.proxy(this.show,this)}]];if(this.componentReset){this._events.push([this.componentReset,{click:d.proxy(this.reset,this)}])}}else{if(this.element.is("div")){this.isInline=true}else{this._events=[[this.element,{click:d.proxy(this.show,this)}]]}}}for(var j=0,k,l;j=this.startDate&&i<=this.endDate){this.date=i;this.setValue();this.viewDate=this.date;this.fill()}else{this.element.trigger({type:"outOfRange",date:i,startDate:this.startDate,endDate:this.endDate})}},setFormat:function(j){this.format=c.parseFormat(j,this.formatType);var i;if(this.isInput){i=this.element}else{if(this.component){i=this.element.find("input")}}if(i&&i.val()){this.setValue()}},setValue:function(){var i=this.getFormattedDate();if(!this.isInput){if(this.component){this.element.find("input").val(i)}this.element.data("date",i)}else{this.element.val(i)}if(this.linkField){d("#"+this.linkField).val(this.getFormattedDate(this.linkFormat))}},getFormattedDate:function(i){i=i||this.format;return c.formatDate(this.date,i,this.language,this.formatType,this.timezone)},setStartDate:function(i){this.startDate=i||this.startDate;if(this.startDate.valueOf()!==8639968443048000){this.startDate=c.parseDate(this.startDate,this.format,this.language,this.formatType,this.timezone)}this.update();this.updateNavArrows()},setEndDate:function(i){this.endDate=i||this.endDate;if(this.endDate.valueOf()!==8639968443048000){this.endDate=c.parseDate(this.endDate,this.format,this.language,this.formatType,this.timezone)}this.update();this.updateNavArrows()},setDatesDisabled:function(j){this.datesDisabled=j||[];if(!d.isArray(this.datesDisabled)){this.datesDisabled=this.datesDisabled.split(/,\s*/)}var i=this;this.datesDisabled=d.map(this.datesDisabled,function(k){return c.parseDate(k,i.format,i.language,i.formatType,i.timezone).toDateString()});this.update();this.updateNavArrows()},setTitle:function(i,j){return this.picker.find(i).find("th:eq(1)").text(this.title===false?j:this.title)},setDaysOfWeekDisabled:function(i){this.daysOfWeekDisabled=i||[];if(!d.isArray(this.daysOfWeekDisabled)){this.daysOfWeekDisabled=this.daysOfWeekDisabled.split(/,\s*/)}this.daysOfWeekDisabled=d.map(this.daysOfWeekDisabled,function(j){return parseInt(j,10)});this.update();this.updateNavArrows()},setMinutesDisabled:function(i){this.minutesDisabled=i||[];if(!d.isArray(this.minutesDisabled)){this.minutesDisabled=this.minutesDisabled.split(/,\s*/)}this.minutesDisabled=d.map(this.minutesDisabled,function(j){return parseInt(j,10)});this.update();this.updateNavArrows()},setHoursDisabled:function(i){this.hoursDisabled=i||[];if(!d.isArray(this.hoursDisabled)){this.hoursDisabled=this.hoursDisabled.split(/,\s*/)}this.hoursDisabled=d.map(this.hoursDisabled,function(j){return parseInt(j,10)});this.update();this.updateNavArrows()},place:function(){if(this.isInline){return}if(!this.zIndex){var j=0;d("div").each(function(){var o=parseInt(d(this).css("zIndex"),10);if(o>j){j=o}});this.zIndex=j+10}var n,m,l,k;if(this.container instanceof d){k=this.container.offset()}else{k=d(this.container).offset()}if(this.component){n=this.component.offset();l=n.left;if(this.pickerPosition==="bottom-left"||this.pickerPosition==="top-left"){l+=this.component.outerWidth()-this.picker.outerWidth()}}else{n=this.element.offset();l=n.left;if(this.pickerPosition==="bottom-left"||this.pickerPosition==="top-left"){l+=this.element.outerWidth()-this.picker.outerWidth()}}var i=document.body.clientWidth||window.innerWidth;if(l+220>i){l=i-220}if(this.pickerPosition==="top-left"||this.pickerPosition==="top-right"){m=n.top-this.picker.outerHeight()}else{m=n.top+this.height}m=m-k.top;l=l-k.left;this.picker.css({top:m,left:l,zIndex:this.zIndex})},hour_minute:"^([0-9]|0[0-9]|1[0-9]|2[0-3]):[0-5][0-9]",update:function(){var i,j=false;if(arguments&&arguments.length&&(typeof arguments[0]==="string"||arguments[0] instanceof Date)){i=arguments[0];j=true}else{i=(this.isInput?this.element.val():this.element.find("input").val())||this.element.data("date")||this.initialDate;if(typeof i==="string"){i=i.replace(/^\s+|\s+$/g,"")}}if(!i){i=new Date();j=false}if(typeof i==="string"){if(new RegExp(this.hour_minute).test(i)||new RegExp(this.hour_minute+":[0-5][0-9]").test(i)){i=this.getDate()}}this.date=c.parseDate(i,this.format,this.language,this.formatType,this.timezone);if(j){this.setValue()}if(this.datethis.endDate){this.viewDate=new Date(this.endDate)}else{this.viewDate=new Date(this.date)}}this.fill()},fillDow:function(){var i=this.weekStart,j="";while(i'+e[this.language].daysMin[(i++)%7]+""}j+="";this.picker.find(".datetimepicker-days thead").append(j)},fillMonths:function(){var l="";var m=new Date(this.viewDate);for(var k=0;k<12;k++){m.setUTCMonth(k);var j=this.onRenderMonth(m);l+=''+e[this.language].monthsShort[k]+""}this.picker.find(".datetimepicker-months td").html(l)},fill:function(){if(!this.date||!this.viewDate){return}var E=new Date(this.viewDate),t=E.getUTCFullYear(),G=E.getUTCMonth(),n=E.getUTCDate(),A=E.getUTCHours(),w=this.startDate.getUTCFullYear(),B=this.startDate.getUTCMonth(),p=this.endDate.getUTCFullYear(),x=this.endDate.getUTCMonth()+1,q=(new h(this.date.getUTCFullYear(),this.date.getUTCMonth(),this.date.getUTCDate())).valueOf(),D=new Date();this.setTitle(".datetimepicker-days",e[this.language].months[G]+" "+t);if(this.formatViewType==="time"){var k=this.getFormattedDate();this.setTitle(".datetimepicker-hours",k);this.setTitle(".datetimepicker-minutes",k)}else{this.setTitle(".datetimepicker-hours",n+" "+e[this.language].months[G]+" "+t);this.setTitle(".datetimepicker-minutes",n+" "+e[this.language].months[G]+" "+t)}this.picker.find("tfoot th.today").text(e[this.language].today||e.en.today).toggle(this.todayBtn!==false);this.picker.find("tfoot th.clear").text(e[this.language].clear||e.en.clear).toggle(this.clearBtn!==false);this.updateNavArrows();this.fillMonths();var I=h(t,G-1,28,0,0,0,0),z=c.getDaysInMonth(I.getUTCFullYear(),I.getUTCMonth());I.setUTCDate(z);I.setUTCDate(z-(I.getUTCDay()-this.weekStart+7)%7);var j=new Date(I);j.setUTCDate(j.getUTCDate()+42);j=j.valueOf();var r=[];var F;while(I.valueOf()")}F=this.onRenderDay(I);if(I.getUTCFullYear()t||(I.getUTCFullYear()===t&&I.getUTCMonth()>G)){F.push("new")}}if(this.todayHighlight&&I.getUTCFullYear()===D.getFullYear()&&I.getUTCMonth()===D.getMonth()&&I.getUTCDate()===D.getDate()){F.push("today")}if(I.valueOf()===q){F.push("active")}if((I.valueOf()+86400000)<=this.startDate||I.valueOf()>this.endDate||d.inArray(I.getUTCDay(),this.daysOfWeekDisabled)!==-1||d.inArray(I.toDateString(),this.datesDisabled)!==-1){F.push("disabled")}r.push(''+I.getUTCDate()+"");if(I.getUTCDay()===this.weekEnd){r.push("")}I.setUTCDate(I.getUTCDate()+1)}this.picker.find(".datetimepicker-days tbody").empty().append(r.join(""));r=[];var u="",C="",s="";var l=this.hoursDisabled||[];E=new Date(this.viewDate);for(var y=0;y<24;y++){E.setUTCHours(y);F=this.onRenderHour(E);if(l.indexOf(y)!==-1){F.push("disabled")}var v=h(t,G,n,y);if((v.valueOf()+3600000)<=this.startDate||v.valueOf()>this.endDate){F.push("disabled")}else{if(A===y){F.push("active")}}if(this.showMeridian&&e[this.language].meridiem.length===2){C=(y<12?e[this.language].meridiem[0]:e[this.language].meridiem[1]);if(C!==s){if(s!==""){r.push("")}r.push('
                                                        '+C.toUpperCase()+"")}s=C;u=(y%12?y%12:12);if(y<12){F.push("hour_am")}else{F.push("hour_pm")}r.push(''+u+"");if(y===23){r.push("
                                                        ")}}else{u=y+":00";r.push(''+u+"")}}this.picker.find(".datetimepicker-hours td").html(r.join(""));r=[];u="";C="";s="";var m=this.minutesDisabled||[];E=new Date(this.viewDate);for(var y=0;y<60;y+=this.minuteStep){if(m.indexOf(y)!==-1){continue}E.setUTCMinutes(y);E.setUTCSeconds(0);F=this.onRenderMinute(E);if(this.showMeridian&&e[this.language].meridiem.length===2){C=(A<12?e[this.language].meridiem[0]:e[this.language].meridiem[1]);if(C!==s){if(s!==""){r.push("")}r.push('
                                                        '+C.toUpperCase()+"")}s=C;u=(A%12?A%12:12);r.push(''+u+":"+(y<10?"0"+y:y)+"");if(y===59){r.push("
                                                        ")}}else{u=y+":00";r.push(''+A+":"+(y<10?"0"+y:y)+"")}}this.picker.find(".datetimepicker-minutes td").html(r.join(""));var J=this.date.getUTCFullYear();var o=this.setTitle(".datetimepicker-months",t).end().find(".month").removeClass("active");if(J===t){o.eq(this.date.getUTCMonth()).addClass("active")}if(tp){o.addClass("disabled")}if(t===w){o.slice(0,B).addClass("disabled")}if(t===p){o.slice(x).addClass("disabled")}r="";t=parseInt(t/10,10)*10;var H=this.setTitle(".datetimepicker-years",t+"-"+(t+9)).end().find("td");t-=1;E=new Date(this.viewDate);for(var y=-1;y<11;y++){E.setUTCFullYear(t);F=this.onRenderYear(E);if(y===-1||y===10){F.push(b)}r+=''+t+"";t+=1}H.html(r);this.place()},updateNavArrows:function(){var m=new Date(this.viewDate),k=m.getUTCFullYear(),l=m.getUTCMonth(),j=m.getUTCDate(),i=m.getUTCHours();switch(this.viewMode){case 0:if(k<=this.startDate.getUTCFullYear()&&l<=this.startDate.getUTCMonth()&&j<=this.startDate.getUTCDate()&&i<=this.startDate.getUTCHours()){this.picker.find(".prev").css({visibility:"hidden"})}else{this.picker.find(".prev").css({visibility:"visible"})}if(k>=this.endDate.getUTCFullYear()&&l>=this.endDate.getUTCMonth()&&j>=this.endDate.getUTCDate()&&i>=this.endDate.getUTCHours()){this.picker.find(".next").css({visibility:"hidden"})}else{this.picker.find(".next").css({visibility:"visible"})}break;case 1:if(k<=this.startDate.getUTCFullYear()&&l<=this.startDate.getUTCMonth()&&j<=this.startDate.getUTCDate()){this.picker.find(".prev").css({visibility:"hidden"})}else{this.picker.find(".prev").css({visibility:"visible"})}if(k>=this.endDate.getUTCFullYear()&&l>=this.endDate.getUTCMonth()&&j>=this.endDate.getUTCDate()){this.picker.find(".next").css({visibility:"hidden"})}else{this.picker.find(".next").css({visibility:"visible"})}break;case 2:if(k<=this.startDate.getUTCFullYear()&&l<=this.startDate.getUTCMonth()){this.picker.find(".prev").css({visibility:"hidden"})}else{this.picker.find(".prev").css({visibility:"visible"})}if(k>=this.endDate.getUTCFullYear()&&l>=this.endDate.getUTCMonth()){this.picker.find(".next").css({visibility:"hidden"})}else{this.picker.find(".next").css({visibility:"visible"})}break;case 3:case 4:if(k<=this.startDate.getUTCFullYear()){this.picker.find(".prev").css({visibility:"hidden"})}else{this.picker.find(".prev").css({visibility:"visible"})}if(k>=this.endDate.getUTCFullYear()){this.picker.find(".next").css({visibility:"hidden"})}else{this.picker.find(".next").css({visibility:"visible"})}break}},mousewheel:function(j){j.preventDefault();j.stopPropagation();if(this.wheelPause){return}this.wheelPause=true;var i=j.originalEvent;var l=i.wheelDelta;var k=l>0?1:(l===0)?0:-1;if(this.wheelViewModeNavigationInverseDirection){k=-k}this.showMode(k);setTimeout(d.proxy(function(){this.wheelPause=false},this),this.wheelViewModeNavigationDelay)},click:function(m){m.stopPropagation();m.preventDefault();var n=d(m.target).closest("span, td, th, legend");if(n.is("."+this.icontype)){n=d(n).parent().closest("span, td, th, legend")}if(n.length===1){if(n.is(".disabled")){this.element.trigger({type:"outOfRange",date:this.viewDate,startDate:this.startDate,endDate:this.endDate});return}switch(n[0].nodeName.toLowerCase()){case"th":switch(n[0].className){case"switch":this.showMode(1);break;case"prev":case"next":var i=c.modes[this.viewMode].navStep*(n[0].className==="prev"?-1:1);switch(this.viewMode){case 0:this.viewDate=this.moveHour(this.viewDate,i);break;case 1:this.viewDate=this.moveDate(this.viewDate,i);break;case 2:this.viewDate=this.moveMonth(this.viewDate,i);break;case 3:case 4:this.viewDate=this.moveYear(this.viewDate,i);break}this.fill();this.element.trigger({type:n[0].className+":"+this.convertViewModeText(this.viewMode),date:this.viewDate,startDate:this.startDate,endDate:this.endDate});break;case"clear":this.reset();if(this.autoclose){this.hide()}break;case"today":var j=new Date();j=h(j.getFullYear(),j.getMonth(),j.getDate(),j.getHours(),j.getMinutes(),j.getSeconds(),0);if(jthis.endDate){j=this.endDate}}this.viewMode=this.startViewMode;this.showMode(0);this._setDate(j);this.fill();if(this.autoclose){this.hide()}break}break;case"span":if(!n.is(".disabled")){var p=this.viewDate.getUTCFullYear(),o=this.viewDate.getUTCMonth(),q=this.viewDate.getUTCDate(),r=this.viewDate.getUTCHours(),k=this.viewDate.getUTCMinutes(),s=this.viewDate.getUTCSeconds();if(n.is(".month")){this.viewDate.setUTCDate(1);o=n.parent().find("span").index(n);q=this.viewDate.getUTCDate();this.viewDate.setUTCMonth(o);this.element.trigger({type:"changeMonth",date:this.viewDate});if(this.viewSelect>=3){this._setDate(h(p,o,q,r,k,s,0))}}else{if(n.is(".year")){this.viewDate.setUTCDate(1);p=parseInt(n.text(),10)||0;this.viewDate.setUTCFullYear(p);this.element.trigger({type:"changeYear",date:this.viewDate});if(this.viewSelect>=4){this._setDate(h(p,o,q,r,k,s,0))}}else{if(n.is(".hour")){r=parseInt(n.text(),10)||0;if(n.hasClass("hour_am")||n.hasClass("hour_pm")){if(r===12&&n.hasClass("hour_am")){r=0}else{if(r!==12&&n.hasClass("hour_pm")){r+=12}}}this.viewDate.setUTCHours(r);this.element.trigger({type:"changeHour",date:this.viewDate});if(this.viewSelect>=1){this._setDate(h(p,o,q,r,k,s,0))}}else{if(n.is(".minute")){k=parseInt(n.text().substr(n.text().indexOf(":")+1),10)||0;this.viewDate.setUTCMinutes(k);this.element.trigger({type:"changeMinute",date:this.viewDate});if(this.viewSelect>=0){this._setDate(h(p,o,q,r,k,s,0))}}}}}if(this.viewMode!==0){var l=this.viewMode;this.showMode(-1);this.fill();if(l===this.viewMode&&this.autoclose){this.hide()}}else{this.fill();if(this.autoclose){this.hide()}}}break;case"td":if(n.is(".day")&&!n.is(".disabled")){var q=parseInt(n.text(),10)||1;var p=this.viewDate.getUTCFullYear(),o=this.viewDate.getUTCMonth(),r=this.viewDate.getUTCHours(),k=this.viewDate.getUTCMinutes(),s=this.viewDate.getUTCSeconds();if(n.is(".old")){if(o===0){o=11;p-=1}else{o-=1}}else{if(n.is(".new")){if(o===11){o=0;p+=1}else{o+=1}}}this.viewDate.setUTCFullYear(p);this.viewDate.setUTCMonth(o,q);this.element.trigger({type:"changeDay",date:this.viewDate});if(this.viewSelect>=2){this._setDate(h(p,o,q,r,k,s,0))}}var l=this.viewMode;this.showMode(-1);this.fill();if(l===this.viewMode&&this.autoclose){this.hide()}break}}},_setDate:function(i,k){if(!k||k==="date"){this.date=i}if(!k||k==="view"){this.viewDate=i}this.fill();this.setValue();var j;if(this.isInput){j=this.element}else{if(this.component){j=this.element.find("input")}}if(j){j.change()}this.element.trigger({type:"changeDate",date:this.getDate()});if(i===null){this.date=this.viewDate}},moveMinute:function(j,i){if(!i){return j}var k=new Date(j.valueOf());k.setUTCMinutes(k.getUTCMinutes()+(i*this.minuteStep));return k},moveHour:function(j,i){if(!i){return j}var k=new Date(j.valueOf());k.setUTCHours(k.getUTCHours()+i);return k},moveDate:function(j,i){if(!i){return j}var k=new Date(j.valueOf());k.setUTCDate(k.getUTCDate()+i);return k},moveMonth:function(j,k){if(!k){return j}var n=new Date(j.valueOf()),r=n.getUTCDate(),o=n.getUTCMonth(),m=Math.abs(k),q,p;k=k>0?1:-1;if(m===1){p=k===-1?function(){return n.getUTCMonth()===o}:function(){return n.getUTCMonth()!==q};q=o+k;n.setUTCMonth(q);if(q<0||q>11){q=(q+12)%12}}else{for(var l=0;l=this.startDate&&i<=this.endDate},keydown:function(o){if(this.picker.is(":not(:visible)")){if(o.keyCode===27){this.show()}return}var k=false,j,i,n;switch(o.keyCode){case 27:this.hide();o.preventDefault();break;case 37:case 39:if(!this.keyboardNavigation){break}j=o.keyCode===37?-1:1;var m=this.viewMode;if(o.ctrlKey){m+=2}else{if(o.shiftKey){m+=1}}if(m===4){i=this.moveYear(this.date,j);n=this.moveYear(this.viewDate,j)}else{if(m===3){i=this.moveMonth(this.date,j);n=this.moveMonth(this.viewDate,j)}else{if(m===2){i=this.moveDate(this.date,j);n=this.moveDate(this.viewDate,j)}else{if(m===1){i=this.moveHour(this.date,j);n=this.moveHour(this.viewDate,j)}else{if(m===0){i=this.moveMinute(this.date,j);n=this.moveMinute(this.viewDate,j)}}}}}if(this.dateWithinRange(i)){this.date=i;this.viewDate=n;this.setValue();this.update();o.preventDefault();k=true}break;case 38:case 40:if(!this.keyboardNavigation){break}j=o.keyCode===38?-1:1;m=this.viewMode;if(o.ctrlKey){m+=2}else{if(o.shiftKey){m+=1}}if(m===4){i=this.moveYear(this.date,j);n=this.moveYear(this.viewDate,j)}else{if(m===3){i=this.moveMonth(this.date,j);n=this.moveMonth(this.viewDate,j)}else{if(m===2){i=this.moveDate(this.date,j*7);n=this.moveDate(this.viewDate,j*7)}else{if(m===1){if(this.showMeridian){i=this.moveHour(this.date,j*6);n=this.moveHour(this.viewDate,j*6)}else{i=this.moveHour(this.date,j*4);n=this.moveHour(this.viewDate,j*4)}}else{if(m===0){i=this.moveMinute(this.date,j*4);n=this.moveMinute(this.viewDate,j*4)}}}}}if(this.dateWithinRange(i)){this.date=i;this.viewDate=n;this.setValue();this.update();o.preventDefault();k=true}break;case 13:if(this.viewMode!==0){var p=this.viewMode;this.showMode(-1);this.fill();if(p===this.viewMode&&this.autoclose){this.hide()}}else{this.fill();if(this.autoclose){this.hide()}}o.preventDefault();break;case 9:this.hide();break}if(k){var l;if(this.isInput){l=this.element}else{if(this.component){l=this.element.find("input")}}if(l){l.change()}this.element.trigger({type:"changeDate",date:this.getDate()})}},showMode:function(i){if(i){var j=Math.max(0,Math.min(c.modes.length-1,this.viewMode+i));if(j>=this.minView&&j<=this.maxView){this.element.trigger({type:"changeMode",date:this.viewDate,oldViewMode:this.viewMode,newViewMode:j});this.viewMode=j}}this.picker.find(">div").hide().filter(".datetimepicker-"+c.modes[this.viewMode].clsName).css("display","block");this.updateNavArrows()},reset:function(){this._setDate(null,"date")},convertViewModeText:function(i){switch(i){case 4:return"decade";case 3:return"year";case 2:return"month";case 1:return"day";case 0:return"hour"}}};var b=d.fn.datetimepicker;d.fn.datetimepicker=function(k){var i=Array.apply(null,arguments);i.shift();var j;this.each(function(){var n=d(this),m=n.data("datetimepicker"),l=typeof k==="object"&&k;if(!m){n.data("datetimepicker",(m=new g(this,d.extend({},d.fn.datetimepicker.defaults,l))))}if(typeof k==="string"&&typeof m[k]==="function"){j=m[k].apply(m,i);if(j!==f){return false}}});if(j!==f){return j}else{return this}};d.fn.datetimepicker.defaults={};d.fn.datetimepicker.Constructor=g;var e=d.fn.datetimepicker.dates={en:{days:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday","Sunday"],daysShort:["Sun","Mon","Tue","Wed","Thu","Fri","Sat","Sun"],daysMin:["Su","Mo","Tu","We","Th","Fr","Sa","Su"],months:["January","February","March","April","May","June","July","August","September","October","November","December"],monthsShort:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],meridiem:["am","pm"],suffix:["st","nd","rd","th"],today:"Today",clear:"Clear"}};var c={modes:[{clsName:"minutes",navFnc:"Hours",navStep:1},{clsName:"hours",navFnc:"Date",navStep:1},{clsName:"days",navFnc:"Month",navStep:1},{clsName:"months",navFnc:"FullYear",navStep:1},{clsName:"years",navFnc:"FullYear",navStep:10}],isLeapYear:function(i){return(((i%4===0)&&(i%100!==0))||(i%400===0))},getDaysInMonth:function(i,j){return[31,(c.isLeapYear(i)?29:28),31,30,31,30,31,31,30,31,30,31][j]},getDefaultFormat:function(i,j){if(i==="standard"){if(j==="input"){return"yyyy-mm-dd hh:ii"}else{return"yyyy-mm-dd hh:ii:ss"}}else{if(i==="php"){if(j==="input"){return"Y-m-d H:i"}else{return"Y-m-d H:i:s"}}else{throw new Error("Invalid format type.")}}},validParts:function(i){if(i==="standard"){return/t|hh?|HH?|p|P|z|Z|ii?|ss?|dd?|DD?|mm?|MM?|yy(?:yy)?/g}else{if(i==="php"){return/[dDjlNwzFmMnStyYaABgGhHis]/g}else{throw new Error("Invalid format type.")}}},nonpunctuation:/[^ -\/:-@\[-`{-~\t\n\rTZ]+/g,parseFormat:function(l,j){var i=l.replace(this.validParts(j),"\0").split("\0"),k=l.match(this.validParts(j));if(!i||!i.length||!k||k.length===0){throw new Error("Invalid date format.")}return{separators:i,parts:k}},parseDate:function(A,y,v,j,r){if(A instanceof Date){var u=new Date(A.valueOf()-A.getTimezoneOffset()*60000);u.setMilliseconds(0);return u}if(/^\d{4}\-\d{1,2}\-\d{1,2}$/.test(A)){y=this.parseFormat("yyyy-mm-dd",j)}if(/^\d{4}\-\d{1,2}\-\d{1,2}[T ]\d{1,2}\:\d{1,2}$/.test(A)){y=this.parseFormat("yyyy-mm-dd hh:ii",j)}if(/^\d{4}\-\d{1,2}\-\d{1,2}[T ]\d{1,2}\:\d{1,2}\:\d{1,2}[Z]{0,1}$/.test(A)){y=this.parseFormat("yyyy-mm-dd hh:ii:ss",j)}if(/^[-+]\d+[dmwy]([\s,]+[-+]\d+[dmwy])*$/.test(A)){var l=/([-+]\d+)([dmwy])/,q=A.match(/([-+]\d+)([dmwy])/g),t,p;A=new Date();for(var x=0;x',headTemplateV3:' ',contTemplate:'',footTemplate:''};c.template='
                                                        '+c.headTemplate+c.contTemplate+c.footTemplate+'
                                                        '+c.headTemplate+c.contTemplate+c.footTemplate+'
                                                        '+c.headTemplate+""+c.footTemplate+'
                                                        '+c.headTemplate+c.contTemplate+c.footTemplate+'
                                                        '+c.headTemplate+c.contTemplate+c.footTemplate+"
                                                        ";c.templateV3='
                                                        '+c.headTemplateV3+c.contTemplate+c.footTemplate+'
                                                        '+c.headTemplateV3+c.contTemplate+c.footTemplate+'
                                                        '+c.headTemplateV3+""+c.footTemplate+'
                                                        '+c.headTemplateV3+c.contTemplate+c.footTemplate+'
                                                        '+c.headTemplateV3+c.contTemplate+c.footTemplate+"
                                                        ";d.fn.datetimepicker.DPGlobal=c;d.fn.datetimepicker.noConflict=function(){d.fn.datetimepicker=b;return this};d(document).on("focus.datetimepicker.data-api click.datetimepicker.data-api",'[data-provide="datetimepicker"]',function(j){var i=d(this);if(i.data("datetimepicker")){return}j.preventDefault();i.datetimepicker("show")});d(function(){d('[data-provide="datetimepicker-inline"]').datetimepicker()})})); \ No newline at end of file diff --git a/src/demo/manager/src/main/webapp/js/bootstrap-select.js b/src/demo/manager/src/main/webapp/js/bootstrap-select.js new file mode 100644 index 00000000..e573568b --- /dev/null +++ b/src/demo/manager/src/main/webapp/js/bootstrap-select.js @@ -0,0 +1,871 @@ +/*! + * bootstrap-select v1.4.3 + * http://silviomoreto.github.io/bootstrap-select/ + * + * Copyright 2013 bootstrap-select + * Licensed under the MIT license + */ + +!function($) { + + 'use strict'; + + $.expr[':'].icontains = function(obj, index, meta) { + return $(obj).text().toUpperCase().indexOf(meta[3].toUpperCase()) >= 0; + }; + + var Selectpicker = function(element, options, e) { + if (e) { + e.stopPropagation(); + e.preventDefault(); + } + this.$element = $(element); + this.$newElement = null; + this.$button = null; + this.$menu = null; + this.$lis = null; + + //Merge defaults, options and data-attributes to make our options + this.options = $.extend({}, $.fn.selectpicker.defaults, this.$element.data(), typeof options == 'object' && options); + + //If we have no title yet, check the attribute 'title' (this is missed by jq as its not a data-attribute + if (this.options.title === null) { + this.options.title = this.$element.attr('title'); + } + + //Expose public methods + this.val = Selectpicker.prototype.val; + this.render = Selectpicker.prototype.render; + this.refresh = Selectpicker.prototype.refresh; + this.setStyle = Selectpicker.prototype.setStyle; + this.selectAll = Selectpicker.prototype.selectAll; + this.deselectAll = Selectpicker.prototype.deselectAll; + this.init(); + }; + + Selectpicker.prototype = { + + constructor: Selectpicker, + + init: function() { + var that = this, + id = this.$element.attr('id'); + + this.$element.hide(); + this.multiple = this.$element.prop('multiple'); + this.autofocus = this.$element.prop('autofocus'); + this.$newElement = this.createView(); + this.$element.after(this.$newElement); + this.$menu = this.$newElement.find('> .dropdown-menu'); + this.$button = this.$newElement.find('> button'); + this.$searchbox = this.$newElement.find('input'); + + if (id !== undefined) { + this.$button.attr('data-id', id); + $('label[for="' + id + '"]').click(function(e) { + e.preventDefault(); + that.$button.focus(); + }); + } + + this.checkDisabled(); + this.clickListener(); + if (this.options.liveSearch) this.liveSearchListener(); + this.render(); + this.liHeight(); + this.setStyle(); + this.setWidth(); + if (this.options.container) this.selectPosition(); + this.$menu.data('this', this); + this.$newElement.data('this', this); + }, + + createDropdown: function() { + //If we are multiple, then add the show-tick class by default + var multiple = this.multiple ? ' show-tick' : ''; + var autofocus = this.autofocus ? ' autofocus' : ''; + var header = this.options.header ? '
                                                        ' + this.options.header + '
                                                        ' : ''; + var searchbox = this.options.liveSearch ? '' : ''; + var drop = + '
                                                        ' + + '' + + '' + + '
                                                        '; + + return $(drop); + }, + + createView: function() { + var $drop = this.createDropdown(); + var $li = this.createLi(); + $drop.find('ul').append($li); + return $drop; + }, + + reloadLi: function() { + //Remove all children. + this.destroyLi(); + //Re build + var $li = this.createLi(); + this.$menu.find('ul').append( $li ); + }, + + destroyLi: function() { + this.$menu.find('li').remove(); + }, + + createLi: function() { + var that = this, + _liA = [], + _liHtml = ''; + + this.$element.find('option').each(function() { + var $this = $(this); + + //Get the class and text for the option + var optionClass = $this.attr('class') || ''; + var inline = $this.attr('style') || ''; + var text = $this.data('content') ? $this.data('content') : $this.html(); + var subtext = $this.data('subtext') !== undefined ? '' + $this.data('subtext') + '' : ''; + var icon = $this.data('icon') !== undefined ? ' ' : ''; + if (icon !== '' && ($this.is(':disabled') || $this.parent().is(':disabled'))) { + icon = ''+icon+''; + } + + if (!$this.data('content')) { + //Prepend any icon and append any subtext to the main text. + text = icon + '' + text + subtext + ''; + } + + if (that.options.hideDisabled && ($this.is(':disabled') || $this.parent().is(':disabled'))) { + _liA.push(''); + } else if ($this.parent().is('optgroup') && $this.data('divider') !== true) { + if ($this.index() === 0) { + //Get the opt group label + var label = $this.parent().attr('label'); + var labelSubtext = $this.parent().data('subtext') !== undefined ? ''+$this.parent().data('subtext')+'' : ''; + var labelIcon = $this.parent().data('icon') ? ' ' : ''; + label = labelIcon + '' + label + labelSubtext + ''; + + if ($this[0].index !== 0) { + _liA.push( + '
                                                        '+ + '
                                                        '+label+'
                                                        '+ + that.createA(text, 'opt ' + optionClass, inline ) + ); + } else { + _liA.push( + '
                                                        '+label+'
                                                        '+ + that.createA(text, 'opt ' + optionClass, inline )); + } + } else { + _liA.push(that.createA(text, 'opt ' + optionClass, inline )); + } + } else if ($this.data('divider') === true) { + _liA.push('
                                                        '); + } else if ($(this).data('hidden') === true) { + _liA.push(''); + } else { + _liA.push(that.createA(text, optionClass, inline )); + } + }); + + $.each(_liA, function(i, item) { + _liHtml += '
                                                      • ' + item + '
                                                      • '; + }); + + //If we are not multiple, and we dont have a selected item, and we dont have a title, select the first element so something is set in the button + if (!this.multiple && this.$element.find('option:selected').length===0 && !this.options.title) { + this.$element.find('option').eq(0).prop('selected', true).attr('selected', 'selected'); + } + + return $(_liHtml); + }, + + createA: function(text, classes, inline) { + return '' + + text + + '' + + ''; + }, + + render: function(updateLi) { + var that = this; + + //Update the LI to match the SELECT + if (updateLi !== false) { + this.$element.find('option').each(function(index) { + that.setDisabled(index, $(this).is(':disabled') || $(this).parent().is(':disabled') ); + that.setSelected(index, $(this).is(':selected') ); + }); + } + + this.tabIndex(); + + var selectedItems = this.$element.find('option:selected').map(function() { + var $this = $(this); + var icon = $this.data('icon') && that.options.showIcon ? ' ' : ''; + var subtext; + if (that.options.showSubtext && $this.attr('data-subtext') && !that.multiple) { + subtext = ' '+$this.data('subtext') +''; + } else { + subtext = ''; + } + if ($this.data('content') && that.options.showContent) { + return $this.data('content'); + } else if ($this.attr('title') !== undefined) { + return $this.attr('title'); + } else { + return icon + $this.html() + subtext; + } + }).toArray(); + + //Fixes issue in IE10 occurring when no default option is selected and at least one option is disabled + //Convert all the values into a comma delimited string + var title = !this.multiple ? selectedItems[0] : selectedItems.join(this.options.multipleSeparator); + + //If this is multi select, and the selectText type is count, the show 1 of 2 selected etc.. + if (this.multiple && this.options.selectedTextFormat.indexOf('count') > -1) { + var max = this.options.selectedTextFormat.split('>'); + var notDisabled = this.options.hideDisabled ? ':not([disabled])' : ''; + if ( (max.length>1 && selectedItems.length > max[1]) || (max.length==1 && selectedItems.length>=2)) { + title = this.options.countSelectedText.replace('{0}', selectedItems.length).replace('{1}', this.$element.find('option:not([data-divider="true"]):not([data-hidden="true"])'+notDisabled).length); + } + } + + //If we dont have a title, then use the default, or if nothing is set at all, use the not selected text + if (!title) { + title = this.options.title !== undefined ? this.options.title : this.options.noneSelectedText; + } + + this.$button.attr('title', $.trim(title)); + this.$newElement.find('.filter-option').html(title); + }, + + setStyle: function(style, status) { + if (this.$element.attr('class')) { + this.$newElement.addClass(this.$element.attr('class').replace(/selectpicker|mobile-device/gi, '')); + } + + var buttonClass = style ? style : this.options.style; + + if (status == 'add') { + this.$button.addClass(buttonClass); + } else if (status == 'remove') { + this.$button.removeClass(buttonClass); + } else { + this.$button.removeClass(this.options.style); + this.$button.addClass(buttonClass); + } + }, + + liHeight: function() { + var $selectClone = this.$menu.parent().clone().find('> .dropdown-toggle').prop('autofocus', false).end().appendTo('body'), + $menuClone = $selectClone.addClass('open').find('> .dropdown-menu'), + liHeight = $menuClone.find('li > a').outerHeight(), + headerHeight = this.options.header ? $menuClone.find('.popover-title').outerHeight() : 0, + searchHeight = this.options.liveSearch ? $menuClone.find('.bootstrap-select-searchbox').outerHeight() : 0; + + $selectClone.remove(); + + this.$newElement + .data('liHeight', liHeight) + .data('headerHeight', headerHeight) + .data('searchHeight', searchHeight); + }, + + setSize: function() { + var that = this, + menu = this.$menu, + menuInner = menu.find('.inner'), + selectHeight = this.$newElement.outerHeight(), + liHeight = this.$newElement.data('liHeight'), + headerHeight = this.$newElement.data('headerHeight'), + searchHeight = this.$newElement.data('searchHeight'), + divHeight = menu.find('li .divider').outerHeight(true), + menuPadding = parseInt(menu.css('padding-top')) + + parseInt(menu.css('padding-bottom')) + + parseInt(menu.css('border-top-width')) + + parseInt(menu.css('border-bottom-width')), + notDisabled = this.options.hideDisabled ? ':not(.disabled)' : '', + $window = $(window), + menuExtras = menuPadding + parseInt(menu.css('margin-top')) + parseInt(menu.css('margin-bottom')) + 2, + menuHeight, + selectOffsetTop, + selectOffsetBot, + posVert = function() { + selectOffsetTop = that.$newElement.offset().top - $window.scrollTop(); + selectOffsetBot = $window.height() - selectOffsetTop - selectHeight; + }; + posVert(); + if (this.options.header) menu.css('padding-top', 0); + + if (this.options.size == 'auto') { + var getSize = function() { + var minHeight; + posVert(); + menuHeight = selectOffsetBot - menuExtras; + if (that.options.dropupAuto) { + that.$newElement.toggleClass('dropup', (selectOffsetTop > selectOffsetBot) && ((menuHeight - menuExtras) < menu.height())); + } + if (that.$newElement.hasClass('dropup')) { + menuHeight = selectOffsetTop - menuExtras; + } + if ((menu.find('li').length + menu.find('dt').length) > 3) { + minHeight = liHeight*3 + menuExtras - 2; + } else { + minHeight = 0; + } + menu.css({'max-height' : menuHeight + 'px', 'overflow' : 'hidden', 'min-height' : minHeight + 'px'}); + menuInner.css({'max-height' : menuHeight - headerHeight - searchHeight- menuPadding + 'px', 'overflow-y' : 'auto', 'min-height' : minHeight - menuPadding + 'px'}); + }; + getSize(); + $(window).resize(getSize); + $(window).scroll(getSize); + } else if (this.options.size && this.options.size != 'auto' && menu.find('li'+notDisabled).length > this.options.size) { + var optIndex = menu.find('li'+notDisabled+' > *').filter(':not(.div-contain)').slice(0,this.options.size).last().parent().index(); + var divLength = menu.find('li').slice(0,optIndex + 1).find('.div-contain').length; + menuHeight = liHeight*this.options.size + divLength*divHeight + menuPadding; + if (that.options.dropupAuto) { + this.$newElement.toggleClass('dropup', (selectOffsetTop > selectOffsetBot) && (menuHeight < menu.height())); + } + menu.css({'max-height' : menuHeight + headerHeight + searchHeight + 'px', 'overflow' : 'hidden'}); + menuInner.css({'max-height' : menuHeight - menuPadding + 'px', 'overflow-y' : 'auto'}); + } + }, + + setWidth: function() { + if (this.options.width == 'auto') { + this.$menu.css('min-width', '0'); + + // Get correct width if element hidden + var selectClone = this.$newElement.clone().appendTo('body'); + var ulWidth = selectClone.find('> .dropdown-menu').css('width'); + selectClone.remove(); + + this.$newElement.css('width', ulWidth); + } else if (this.options.width == 'fit') { + // Remove inline min-width so width can be changed from 'auto' + this.$menu.css('min-width', ''); + this.$newElement.css('width', '').addClass('fit-width'); + } else if (this.options.width) { + // Remove inline min-width so width can be changed from 'auto' + this.$menu.css('min-width', ''); + this.$newElement.css('width', this.options.width); + } else { + // Remove inline min-width/width so width can be changed + this.$menu.css('min-width', ''); + this.$newElement.css('width', ''); + } + // Remove fit-width class if width is changed programmatically + if (this.$newElement.hasClass('fit-width') && this.options.width !== 'fit') { + this.$newElement.removeClass('fit-width'); + } + }, + + selectPosition: function() { + var that = this, + drop = '
                                                        ', + $drop = $(drop), + pos, + actualHeight, + getPlacement = function($element) { + $drop.addClass($element.attr('class')).toggleClass('dropup', $element.hasClass('dropup')); + pos = $element.offset(); + actualHeight = $element.hasClass('dropup') ? 0 : $element[0].offsetHeight; + $drop.css({'top' : pos.top + actualHeight, 'left' : pos.left, 'width' : $element[0].offsetWidth, 'position' : 'absolute'}); + }; + this.$newElement.on('click', function() { + getPlacement($(this)); + $drop.appendTo(that.options.container); + $drop.toggleClass('open', !$(this).hasClass('open')); + $drop.append(that.$menu); + }); + $(window).resize(function() { + getPlacement(that.$newElement); + }); + $(window).on('scroll', function() { + getPlacement(that.$newElement); + }); + $('html').on('click', function(e) { + if ($(e.target).closest(that.$newElement).length < 1) { + $drop.removeClass('open'); + } + }); + }, + + mobile: function() { + this.$element.addClass('mobile-device').appendTo(this.$newElement); + if (this.options.container) this.$menu.hide(); + }, + + refresh: function() { + this.$lis = null; + this.reloadLi(); + this.render(); + this.setWidth(); + this.setStyle(); + this.checkDisabled(); + this.liHeight(); + }, + + update: function() { + this.reloadLi(); + this.setWidth(); + this.setStyle(); + this.checkDisabled(); + this.liHeight(); + }, + + setSelected: function(index, selected) { + if (this.$lis == null) this.$lis = this.$menu.find('li'); + $(this.$lis[index]).toggleClass('selected', selected); + }, + + setDisabled: function(index, disabled) { + if (this.$lis == null) this.$lis = this.$menu.find('li'); + if (disabled) { + $(this.$lis[index]).addClass('disabled').find('a').attr('href', '#').attr('tabindex', -1); + } else { + $(this.$lis[index]).removeClass('disabled').find('a').removeAttr('href').attr('tabindex', 0); + } + }, + + isDisabled: function() { + return this.$element.is(':disabled'); + }, + + checkDisabled: function() { + var that = this; + + if (this.isDisabled()) { + this.$button.addClass('disabled').attr('tabindex', -1); + } else { + if (this.$button.hasClass('disabled')) { + this.$button.removeClass('disabled'); + } + + if (this.$button.attr('tabindex') == -1) { + if (!this.$element.data('tabindex')) this.$button.removeAttr('tabindex'); + } + } + + this.$button.click(function() { + return !that.isDisabled(); + }); + }, + + tabIndex: function() { + if (this.$element.is('[tabindex]')) { + this.$element.data('tabindex', this.$element.attr('tabindex')); + this.$button.attr('tabindex', this.$element.data('tabindex')); + } + }, + + clickListener: function() { + var that = this; + + $('body').on('touchstart.dropdown', '.dropdown-menu', function(e) { + e.stopPropagation(); + }); + + this.$newElement.on('click', function() { + that.setSize(); + if (!that.options.liveSearch && !that.multiple) { + setTimeout(function() { + that.$menu.find('.selected a').focus(); + }, 10); + } + }); + + this.$menu.on('click', 'li a', function(e) { + var clickedIndex = $(this).parent().index(), + prevValue = that.$element.val(), + prevIndex = that.$element.prop('selectedIndex'); + + //Dont close on multi choice menu + if (that.multiple) { + e.stopPropagation(); + } + + e.preventDefault(); + + //Dont run if we have been disabled + if (!that.isDisabled() && !$(this).parent().hasClass('disabled')) { + var $options = that.$element.find('option'), + $option = $options.eq(clickedIndex), + state = $option.prop('selected'); + + //Deselect all others if not multi select box + if (!that.multiple) { + $options.prop('selected', false); + $option.prop('selected', true); + that.$menu.find('.selected').removeClass('selected'); + that.setSelected(clickedIndex, true); + } + //Else toggle the one we have chosen if we are multi select. + else { + $option.prop('selected', !state); + that.setSelected(clickedIndex, !state); + } + + if (!that.multiple) { + that.$button.focus(); + } else if (that.options.liveSearch) { + that.$searchbox.focus(); + } + + // Trigger select 'change' + if ((prevValue != that.$element.val() && that.multiple) || (prevIndex != that.$element.prop('selectedIndex') && !that.multiple)) { + that.$element.change(); + } + } + }); + + this.$menu.on('click', 'li.disabled a, li dt, li .div-contain, .popover-title, .popover-title :not(.close)', function(e) { + if (e.target == this) { + e.preventDefault(); + e.stopPropagation(); + if (!that.options.liveSearch) { + that.$button.focus(); + } else { + that.$searchbox.focus(); + } + } + }); + + this.$menu.on('click', '.popover-title .close', function() { + that.$button.focus(); + }); + + this.$searchbox.on('click', function(e) { + e.stopPropagation(); + }); + + this.$element.change(function() { + that.render(false); + }); + }, + + liveSearchListener: function() { + var that = this, + no_results = $('
                                                      • '); + + this.$newElement.on('click.dropdown.data-api', function() { + that.$menu.find('.active').removeClass('active'); + if (!!that.$searchbox.val()) { + that.$searchbox.val(''); + that.$menu.find('li').show(); + if (!!no_results.parent().length) no_results.remove(); + } + if (!that.multiple) that.$menu.find('.selected').addClass('active'); + setTimeout(function() { + that.$searchbox.focus(); + }, 10); + }); + + this.$searchbox.on('input propertychange', function() { + if (that.$searchbox.val()) { + that.$menu.find('li').show().not(':icontains(' + that.$searchbox.val() + ')').hide(); + + if (!that.$menu.find('li').filter(':visible:not(.no-results)').length) { + if (!!no_results.parent().length) no_results.remove(); + no_results.html(that.options.noneResultsText + ' "'+ that.$searchbox.val() + '"').show(); + that.$menu.find('li').last().after(no_results); + } else if (!!no_results.parent().length) { + no_results.remove(); + } + + } else { + that.$menu.find('li').show(); + if (!!no_results.parent().length) no_results.remove(); + } + + that.$menu.find('li.active').removeClass('active'); + that.$menu.find('li').filter(':visible:not(.divider)').eq(0).addClass('active').find('a').focus(); + $(this).focus(); + }); + + this.$menu.on('mouseenter', 'a', function(e) { + that.$menu.find('.active').removeClass('active'); + $(e.currentTarget).parent().not('.disabled').addClass('active'); + }); + + this.$menu.on('mouseleave', 'a', function() { + that.$menu.find('.active').removeClass('active'); + }); + }, + + val: function(value) { + + if (value !== undefined) { + this.$element.val( value ); + + this.$element.change(); + return this.$element; + } else { + return this.$element.val(); + } + }, + + selectAll: function() { + this.$element.find('option').prop('selected', true).attr('selected', 'selected'); + this.render(); + }, + + deselectAll: function() { + this.$element.find('option').prop('selected', false).removeAttr('selected'); + this.render(); + }, + + keydown: function(e) { + var $this, + $items, + $parent, + index, + next, + first, + last, + prev, + nextPrev, + that, + prevIndex, + isActive, + keyCodeMap = { + 32:' ', 48:'0', 49:'1', 50:'2', 51:'3', 52:'4', 53:'5', 54:'6', 55:'7', 56:'8', 57:'9', 59:';', + 65:'a', 66:'b', 67:'c', 68:'d', 69:'e', 70:'f', 71:'g', 72:'h', 73:'i', 74:'j', 75:'k', 76:'l', + 77:'m', 78:'n', 79:'o', 80:'p', 81:'q', 82:'r', 83:'s', 84:'t', 85:'u', 86:'v', 87:'w', 88:'x', + 89:'y', 90:'z', 96:'0', 97:'1', 98:'2', 99:'3', 100:'4', 101:'5', 102:'6', 103:'7', 104:'8', 105:'9' + }; + + $this = $(this); + + $parent = $this.parent(); + + if ($this.is('input')) $parent = $this.parent().parent(); + + that = $parent.data('this'); + + if (that.options.liveSearch) $parent = $this.parent().parent(); + + if (that.options.container) $parent = that.$menu; + + $items = $('[role=menu] li:not(.divider) a', $parent); + + isActive = that.$menu.parent().hasClass('open'); + + if (!isActive && /([0-9]|[A-z])/.test(String.fromCharCode(e.keyCode))) { + that.setSize(); + that.$menu.parent().addClass('open'); + isActive = that.$menu.parent().hasClass('open'); + that.$searchbox.focus(); + } + + if (that.options.liveSearch) { + if (/(^9$|27)/.test(e.keyCode) && isActive && that.$menu.find('.active').length === 0) { + e.preventDefault(); + that.$menu.parent().removeClass('open'); + that.$button.focus(); + } + $items = $('[role=menu] li:not(.divider):visible', $parent); + if (!$this.val() && !/(38|40)/.test(e.keyCode)) { + if ($items.filter('.active').length === 0) { + $items = that.$newElement.find('li').filter(':icontains(' + keyCodeMap[e.keyCode] + ')'); + } + } + } + + if (!$items.length) return; + + if (/(38|40)/.test(e.keyCode)) { + + index = $items.index($items.filter(':focus')); + first = $items.parent(':not(.disabled):visible').first().index(); + last = $items.parent(':not(.disabled):visible').last().index(); + next = $items.eq(index).parent().nextAll(':not(.disabled):visible').eq(0).index(); + prev = $items.eq(index).parent().prevAll(':not(.disabled):visible').eq(0).index(); + nextPrev = $items.eq(next).parent().prevAll(':not(.disabled):visible').eq(0).index(); + + if (that.options.liveSearch) { + $items.each(function(i) { + if ($(this).is(':not(.disabled)')) { + $(this).data('index', i); + } + }); + index = $items.index($items.filter('.active')); + first = $items.filter(':not(.disabled):visible').first().data('index'); + last = $items.filter(':not(.disabled):visible').last().data('index'); + next = $items.eq(index).nextAll(':not(.disabled):visible').eq(0).data('index'); + prev = $items.eq(index).prevAll(':not(.disabled):visible').eq(0).data('index'); + nextPrev = $items.eq(next).prevAll(':not(.disabled):visible').eq(0).data('index'); + } + + prevIndex = $this.data('prevIndex'); + + if (e.keyCode == 38) { + if (that.options.liveSearch) index -= 1; + if (index != nextPrev && index > prev) index = prev; + if (index < first) index = first; + if (index == prevIndex) index = last; + } + + if (e.keyCode == 40) { + if (that.options.liveSearch) index += 1; + if (index == -1) index = 0; + if (index != nextPrev && index < next) index = next; + if (index > last) index = last; + if (index == prevIndex) index = first; + } + + $this.data('prevIndex', index); + + if (!that.options.liveSearch) { + $items.eq(index).focus(); + } else { + e.preventDefault(); + if (!$this.is('.dropdown-toggle')) { + $items.removeClass('active'); + $items.eq(index).addClass('active').find('a').focus(); + $this.focus(); + } + } + + } else if (!$this.is('input')) { + + var keyIndex = [], + count, + prevKey; + + $items.each(function() { + if ($(this).parent().is(':not(.disabled)')) { + if ($.trim($(this).text().toLowerCase()).substring(0,1) == keyCodeMap[e.keyCode]) { + keyIndex.push($(this).parent().index()); + } + } + }); + + count = $(document).data('keycount'); + count++; + $(document).data('keycount',count); + + prevKey = $.trim($(':focus').text().toLowerCase()).substring(0,1); + + if (prevKey != keyCodeMap[e.keyCode]) { + count = 1; + $(document).data('keycount', count); + } else if (count >= keyIndex.length) { + $(document).data('keycount', 0); + if (count > keyIndex.length) count = 1; + } + + $items.eq(keyIndex[count - 1]).focus(); + } + + // Select focused option if "Enter", "Spacebar", "Tab" are pressed inside the menu. + if (/(13|32|^9$)/.test(e.keyCode) && isActive) { + if (!/(32)/.test(e.keyCode)) e.preventDefault(); + if (!that.options.liveSearch) { + $(':focus').click(); + } else if (!/(32)/.test(e.keyCode)) { + that.$menu.find('.active a').click(); + $this.focus(); + } + $(document).data('keycount',0); + } + + if ((/(^9$|27)/.test(e.keyCode) && isActive && (that.multiple || that.options.liveSearch)) || (/(27)/.test(e.keyCode) && !isActive)) { + that.$menu.parent().removeClass('open'); + that.$button.focus(); + } + + }, + + hide: function() { + this.$newElement.hide(); + }, + + show: function() { + this.$newElement.show(); + }, + + destroy: function() { + this.$newElement.remove(); + this.$element.remove(); + } + }; + + $.fn.selectpicker = function(option, event) { + //get the args of the outer function.. + var args = arguments; + var value; + var chain = this.each(function() { + if ($(this).is('select')) { + var $this = $(this), + data = $this.data('selectpicker'), + options = typeof option == 'object' && option; + + if (!data) { + $this.data('selectpicker', (data = new Selectpicker(this, options, event))); + } else if (options) { + for(var i in options) { + data.options[i] = options[i]; + } + } + + if (typeof option == 'string') { + //Copy the value of option, as once we shift the arguments + //it also shifts the value of option. + var property = option; + if (data[property] instanceof Function) { + [].shift.apply(args); + value = data[property].apply(data, args); + } else { + value = data.options[property]; + } + } + } + }); + + if (value !== undefined) { + return value; + } else { + return chain; + } + }; + + $.fn.selectpicker.defaults = { + style: 'btn-default', + size: 'auto', + title: null, + selectedTextFormat : 'values', + noneSelectedText : 'Nothing selected', + noneResultsText : 'No results match', + countSelectedText: '{0} of {1} selected', + width: false, + container: false, + hideDisabled: false, + showSubtext: false, + showIcon: true, + showContent: true, + dropupAuto: true, + header: false, + liveSearch: false, + multipleSeparator: ', ', + iconBase: 'glyphicon', + tickIcon: 'glyphicon-ok' + }; + + $(document) + .data('keycount', 0) + .on('keydown', '.bootstrap-select [data-toggle=dropdown], .bootstrap-select [role=menu], .bootstrap-select-searchbox input', Selectpicker.prototype.keydown) + .on('focusin.modal', '.bootstrap-select [data-toggle=dropdown], .bootstrap-select [role=menu], .bootstrap-select-searchbox input', function (e) { e.stopPropagation(); }); + +}(window.jQuery); \ No newline at end of file diff --git a/src/demo/manager/src/main/webapp/js/bootstrap-select.min.js b/src/demo/manager/src/main/webapp/js/bootstrap-select.min.js new file mode 100644 index 00000000..b595c2e9 --- /dev/null +++ b/src/demo/manager/src/main/webapp/js/bootstrap-select.min.js @@ -0,0 +1,8 @@ +/*! + * bootstrap-select v1.4.3 + * http://silviomoreto.github.io/bootstrap-select/ + * + * Copyright 2013 bootstrap-select + * Licensed under the MIT license + */ +;!function(b){b.expr[":"].icontains=function(e,c,d){return b(e).text().toUpperCase().indexOf(d[3].toUpperCase())>=0};var a=function(d,c,f){if(f){f.stopPropagation();f.preventDefault()}this.$element=b(d);this.$newElement=null;this.$button=null;this.$menu=null;this.$lis=null;this.options=b.extend({},b.fn.selectpicker.defaults,this.$element.data(),typeof c=="object"&&c);if(this.options.title===null){this.options.title=this.$element.attr("title")}this.val=a.prototype.val;this.render=a.prototype.render;this.refresh=a.prototype.refresh;this.setStyle=a.prototype.setStyle;this.selectAll=a.prototype.selectAll;this.deselectAll=a.prototype.deselectAll;this.init()};a.prototype={constructor:a,init:function(){var c=this,d=this.$element.attr("id");this.$element.hide();this.multiple=this.$element.prop("multiple");this.autofocus=this.$element.prop("autofocus");this.$newElement=this.createView();this.$element.after(this.$newElement);this.$menu=this.$newElement.find("> .dropdown-menu");this.$button=this.$newElement.find("> button");this.$searchbox=this.$newElement.find("input");if(d!==undefined){this.$button.attr("data-id",d);b('label[for="'+d+'"]').click(function(f){f.preventDefault();c.$button.focus()})}this.checkDisabled();this.clickListener();if(this.options.liveSearch){this.liveSearchListener()}this.render();this.liHeight();this.setStyle();this.setWidth();if(this.options.container){this.selectPosition()}this.$menu.data("this",this);this.$newElement.data("this",this)},createDropdown:function(){var c=this.multiple?" show-tick":"";var g=this.autofocus?" autofocus":"";var f=this.options.header?'
                                                        '+this.options.header+"
                                                        ":"";var e=this.options.liveSearch?'':"";var d='
                                                        ';return b(d)},createView:function(){var c=this.createDropdown();var d=this.createLi();c.find("ul").append(d);return c},reloadLi:function(){this.destroyLi();var c=this.createLi();this.$menu.find("ul").append(c)},destroyLi:function(){this.$menu.find("li").remove()},createLi:function(){var d=this,e=[],c="";this.$element.find("option").each(function(){var i=b(this);var g=i.attr("class")||"";var h=i.attr("style")||"";var m=i.data("content")?i.data("content"):i.html();var k=i.data("subtext")!==undefined?''+i.data("subtext")+"":"";var j=i.data("icon")!==undefined?' ':"";if(j!==""&&(i.is(":disabled")||i.parent().is(":disabled"))){j=""+j+""}if(!i.data("content")){m=j+''+m+k+""}if(d.options.hideDisabled&&(i.is(":disabled")||i.parent().is(":disabled"))){e.push('')}else{if(i.parent().is("optgroup")&&i.data("divider")!==true){if(i.index()===0){var l=i.parent().attr("label");var n=i.parent().data("subtext")!==undefined?''+i.parent().data("subtext")+"":"";var f=i.parent().data("icon")?' ':"";l=f+''+l+n+"";if(i[0].index!==0){e.push('
                                                        '+l+"
                                                        "+d.createA(m,"opt "+g,h))}else{e.push("
                                                        "+l+"
                                                        "+d.createA(m,"opt "+g,h))}}else{e.push(d.createA(m,"opt "+g,h))}}else{if(i.data("divider")===true){e.push('
                                                        ')}else{if(b(this).data("hidden")===true){e.push("")}else{e.push(d.createA(m,g,h))}}}}});b.each(e,function(f,g){c+="
                                                      • "+g+"
                                                      • "});if(!this.multiple&&this.$element.find("option:selected").length===0&&!this.options.title){this.$element.find("option").eq(0).prop("selected",true).attr("selected","selected")}return b(c)},createA:function(e,c,d){return''+e+''},render:function(e){var d=this;if(e!==false){this.$element.find("option").each(function(i){d.setDisabled(i,b(this).is(":disabled")||b(this).parent().is(":disabled"));d.setSelected(i,b(this).is(":selected"))})}this.tabIndex();var h=this.$element.find("option:selected").map(function(){var k=b(this);var j=k.data("icon")&&d.options.showIcon?' ':"";var i;if(d.options.showSubtext&&k.attr("data-subtext")&&!d.multiple){i=' '+k.data("subtext")+""}else{i=""}if(k.data("content")&&d.options.showContent){return k.data("content")}else{if(k.attr("title")!==undefined){return k.attr("title")}else{return j+k.html()+i}}}).toArray();var g=!this.multiple?h[0]:h.join(this.options.multipleSeparator);if(this.multiple&&this.options.selectedTextFormat.indexOf("count")>-1){var c=this.options.selectedTextFormat.split(">");var f=this.options.hideDisabled?":not([disabled])":"";if((c.length>1&&h.length>c[1])||(c.length==1&&h.length>=2)){g=this.options.countSelectedText.replace("{0}",h.length).replace("{1}",this.$element.find('option:not([data-divider="true"]):not([data-hidden="true"])'+f).length)}}if(!g){g=this.options.title!==undefined?this.options.title:this.options.noneSelectedText}this.$button.attr("title",b.trim(g));this.$newElement.find(".filter-option").html(g)},setStyle:function(e,d){if(this.$element.attr("class")){this.$newElement.addClass(this.$element.attr("class").replace(/selectpicker|mobile-device/gi,""))}var c=e?e:this.options.style;if(d=="add"){this.$button.addClass(c)}else{if(d=="remove"){this.$button.removeClass(c)}else{this.$button.removeClass(this.options.style);this.$button.addClass(c)}}},liHeight:function(){var e=this.$menu.parent().clone().find("> .dropdown-toggle").prop("autofocus",false).end().appendTo("body"),f=e.addClass("open").find("> .dropdown-menu"),d=f.find("li > a").outerHeight(),c=this.options.header?f.find(".popover-title").outerHeight():0,g=this.options.liveSearch?f.find(".bootstrap-select-searchbox").outerHeight():0;e.remove();this.$newElement.data("liHeight",d).data("headerHeight",c).data("searchHeight",g)},setSize:function(){var h=this,d=this.$menu,i=d.find(".inner"),t=this.$newElement.outerHeight(),f=this.$newElement.data("liHeight"),r=this.$newElement.data("headerHeight"),l=this.$newElement.data("searchHeight"),k=d.find("li .divider").outerHeight(true),q=parseInt(d.css("padding-top"))+parseInt(d.css("padding-bottom"))+parseInt(d.css("border-top-width"))+parseInt(d.css("border-bottom-width")),o=this.options.hideDisabled?":not(.disabled)":"",n=b(window),g=q+parseInt(d.css("margin-top"))+parseInt(d.css("margin-bottom"))+2,p,u,s,j=function(){u=h.$newElement.offset().top-n.scrollTop();s=n.height()-u-t};j();if(this.options.header){d.css("padding-top",0)}if(this.options.size=="auto"){var e=function(){var v;j();p=s-g;if(h.options.dropupAuto){h.$newElement.toggleClass("dropup",(u>s)&&((p-g)3){v=f*3+g-2}else{v=0}d.css({"max-height":p+"px",overflow:"hidden","min-height":v+"px"});i.css({"max-height":p-r-l-q+"px","overflow-y":"auto","min-height":v-q+"px"})};e();b(window).resize(e);b(window).scroll(e)}else{if(this.options.size&&this.options.size!="auto"&&d.find("li"+o).length>this.options.size){var m=d.find("li"+o+" > *").filter(":not(.div-contain)").slice(0,this.options.size).last().parent().index();var c=d.find("li").slice(0,m+1).find(".div-contain").length;p=f*this.options.size+c*k+q;if(h.options.dropupAuto){this.$newElement.toggleClass("dropup",(u>s)&&(p .dropdown-menu").css("width");d.remove();this.$newElement.css("width",c)}else{if(this.options.width=="fit"){this.$menu.css("min-width","");this.$newElement.css("width","").addClass("fit-width")}else{if(this.options.width){this.$menu.css("min-width","");this.$newElement.css("width",this.options.width)}else{this.$menu.css("min-width","");this.$newElement.css("width","")}}}if(this.$newElement.hasClass("fit-width")&&this.options.width!=="fit"){this.$newElement.removeClass("fit-width")}},selectPosition:function(){var e=this,d="
                                                        ",f=b(d),h,g,c=function(i){f.addClass(i.attr("class")).toggleClass("dropup",i.hasClass("dropup"));h=i.offset();g=i.hasClass("dropup")?0:i[0].offsetHeight;f.css({top:h.top+g,left:h.left,width:i[0].offsetWidth,position:"absolute"})};this.$newElement.on("click",function(){c(b(this));f.appendTo(e.options.container);f.toggleClass("open",!b(this).hasClass("open"));f.append(e.$menu)});b(window).resize(function(){c(e.$newElement)});b(window).on("scroll",function(){c(e.$newElement)});b("html").on("click",function(i){if(b(i.target).closest(e.$newElement).length<1){f.removeClass("open")}})},mobile:function(){this.$element.addClass("mobile-device").appendTo(this.$newElement);if(this.options.container){this.$menu.hide()}},refresh:function(){this.$lis=null;this.reloadLi();this.render();this.setWidth();this.setStyle();this.checkDisabled();this.liHeight()},update:function(){this.reloadLi();this.setWidth();this.setStyle();this.checkDisabled();this.liHeight()},setSelected:function(c,d){if(this.$lis==null){this.$lis=this.$menu.find("li")}b(this.$lis[c]).toggleClass("selected",d)},setDisabled:function(c,d){if(this.$lis==null){this.$lis=this.$menu.find("li")}if(d){b(this.$lis[c]).addClass("disabled").find("a").attr("href","#").attr("tabindex",-1)}else{b(this.$lis[c]).removeClass("disabled").find("a").removeAttr("href").attr("tabindex",0)}},isDisabled:function(){return this.$element.is(":disabled")},checkDisabled:function(){var c=this;if(this.isDisabled()){this.$button.addClass("disabled").attr("tabindex",-1)}else{if(this.$button.hasClass("disabled")){this.$button.removeClass("disabled")}if(this.$button.attr("tabindex")==-1){if(!this.$element.data("tabindex")){this.$button.removeAttr("tabindex")}}}this.$button.click(function(){return !c.isDisabled()})},tabIndex:function(){if(this.$element.is("[tabindex]")){this.$element.data("tabindex",this.$element.attr("tabindex"));this.$button.attr("tabindex",this.$element.data("tabindex"))}},clickListener:function(){var c=this;b("body").on("touchstart.dropdown",".dropdown-menu",function(d){d.stopPropagation()});this.$newElement.on("click",function(){c.setSize();if(!c.options.liveSearch&&!c.multiple){setTimeout(function(){c.$menu.find(".selected a").focus()},10)}});this.$menu.on("click","li a",function(k){var g=b(this).parent().index(),j=c.$element.val(),f=c.$element.prop("selectedIndex");if(c.multiple){k.stopPropagation()}k.preventDefault();if(!c.isDisabled()&&!b(this).parent().hasClass("disabled")){var d=c.$element.find("option"),i=d.eq(g),h=i.prop("selected");if(!c.multiple){d.prop("selected",false);i.prop("selected",true);c.$menu.find(".selected").removeClass("selected");c.setSelected(g,true)}else{i.prop("selected",!h);c.setSelected(g,!h)}if(!c.multiple){c.$button.focus()}else{if(c.options.liveSearch){c.$searchbox.focus()}}if((j!=c.$element.val()&&c.multiple)||(f!=c.$element.prop("selectedIndex")&&!c.multiple)){c.$element.change()}}});this.$menu.on("click","li.disabled a, li dt, li .div-contain, .popover-title, .popover-title :not(.close)",function(d){if(d.target==this){d.preventDefault();d.stopPropagation();if(!c.options.liveSearch){c.$button.focus()}else{c.$searchbox.focus()}}});this.$menu.on("click",".popover-title .close",function(){c.$button.focus()});this.$searchbox.on("click",function(d){d.stopPropagation()});this.$element.change(function(){c.render(false)})},liveSearchListener:function(){var d=this,c=b('
                                                      • ');this.$newElement.on("click.dropdown.data-api",function(){d.$menu.find(".active").removeClass("active");if(!!d.$searchbox.val()){d.$searchbox.val("");d.$menu.find("li").show();if(!!c.parent().length){c.remove()}}if(!d.multiple){d.$menu.find(".selected").addClass("active")}setTimeout(function(){d.$searchbox.focus()},10)});this.$searchbox.on("input propertychange",function(){if(d.$searchbox.val()){d.$menu.find("li").show().not(":icontains("+d.$searchbox.val()+")").hide();if(!d.$menu.find("li").filter(":visible:not(.no-results)").length){if(!!c.parent().length){c.remove()}c.html(d.options.noneResultsText+' "'+d.$searchbox.val()+'"').show();d.$menu.find("li").last().after(c)}else{if(!!c.parent().length){c.remove()}}}else{d.$menu.find("li").show();if(!!c.parent().length){c.remove()}}d.$menu.find("li.active").removeClass("active");d.$menu.find("li").filter(":visible:not(.divider)").eq(0).addClass("active").find("a").focus();b(this).focus()});this.$menu.on("mouseenter","a",function(f){d.$menu.find(".active").removeClass("active");b(f.currentTarget).parent().not(".disabled").addClass("active")});this.$menu.on("mouseleave","a",function(){d.$menu.find(".active").removeClass("active")})},val:function(c){if(c!==undefined){this.$element.val(c);this.$element.change();return this.$element}else{return this.$element.val()}},selectAll:function(){this.$element.find("option").prop("selected",true).attr("selected","selected");this.render()},deselectAll:function(){this.$element.find("option").prop("selected",false).removeAttr("selected");this.render()},keydown:function(p){var q,o,i,n,k,j,r,f,h,m,d,s,g={32:" ",48:"0",49:"1",50:"2",51:"3",52:"4",53:"5",54:"6",55:"7",56:"8",57:"9",59:";",65:"a",66:"b",67:"c",68:"d",69:"e",70:"f",71:"g",72:"h",73:"i",74:"j",75:"k",76:"l",77:"m",78:"n",79:"o",80:"p",81:"q",82:"r",83:"s",84:"t",85:"u",86:"v",87:"w",88:"x",89:"y",90:"z",96:"0",97:"1",98:"2",99:"3",100:"4",101:"5",102:"6",103:"7",104:"8",105:"9"};q=b(this);i=q.parent();if(q.is("input")){i=q.parent().parent()}m=i.data("this");if(m.options.liveSearch){i=q.parent().parent()}if(m.options.container){i=m.$menu}o=b("[role=menu] li:not(.divider) a",i);s=m.$menu.parent().hasClass("open");if(m.options.liveSearch){if(/(^9$|27)/.test(p.keyCode)&&s&&m.$menu.find(".active").length===0){p.preventDefault();m.$menu.parent().removeClass("open");m.$button.focus()}o=b("[role=menu] li:not(.divider):visible",i);if(!q.val()&&!/(38|40)/.test(p.keyCode)){if(o.filter(".active").length===0){o=m.$newElement.find("li").filter(":icontains("+g[p.keyCode]+")")}}}if(!o.length){return}if(/(38|40)/.test(p.keyCode)){if(!s){m.$menu.parent().addClass("open")}n=o.index(o.filter(":focus"));j=o.parent(":not(.disabled):visible").first().index();r=o.parent(":not(.disabled):visible").last().index();k=o.eq(n).parent().nextAll(":not(.disabled):visible").eq(0).index();f=o.eq(n).parent().prevAll(":not(.disabled):visible").eq(0).index();h=o.eq(k).parent().prevAll(":not(.disabled):visible").eq(0).index();if(m.options.liveSearch){o.each(function(e){if(b(this).is(":not(.disabled)")){b(this).data("index",e)}});n=o.index(o.filter(".active"));j=o.filter(":not(.disabled):visible").first().data("index");r=o.filter(":not(.disabled):visible").last().data("index");k=o.eq(n).nextAll(":not(.disabled):visible").eq(0).data("index");f=o.eq(n).prevAll(":not(.disabled):visible").eq(0).data("index");h=o.eq(k).prevAll(":not(.disabled):visible").eq(0).data("index")}d=q.data("prevIndex");if(p.keyCode==38){if(m.options.liveSearch){n-=1}if(n!=h&&n>f){n=f}if(nr){n=r}if(n==d){n=j}}q.data("prevIndex",n);if(!m.options.liveSearch){o.eq(n).focus()}else{p.preventDefault();if(!q.is(".dropdown-toggle")){o.removeClass("active");o.eq(n).addClass("active").find("a").focus();q.focus()}}}else{if(!q.is("input")){var c=[],l,t;o.each(function(){if(b(this).parent().is(":not(.disabled)")){if(b.trim(b(this).text().toLowerCase()).substring(0,1)==g[p.keyCode]){c.push(b(this).parent().index())}}});l=b(document).data("keycount");l++;b(document).data("keycount",l);t=b.trim(b(":focus").text().toLowerCase()).substring(0,1);if(t!=g[p.keyCode]){l=1;b(document).data("keycount",l)}else{if(l>=c.length){b(document).data("keycount",0);if(l>c.length){l=1}}}o.eq(c[l-1]).focus()}}if(/(13|32|^9$)/.test(p.keyCode)&&s){if(!/(32)/.test(p.keyCode)){p.preventDefault()}if(!m.options.liveSearch){b(":focus").click()}else{if(!/(32)/.test(p.keyCode)){m.$menu.find(".active a").click();q.focus()}}b(document).data("keycount",0)}if((/(^9$|27)/.test(p.keyCode)&&s&&(m.multiple||m.options.liveSearch))||(/(27)/.test(p.keyCode)&&!s)){m.$menu.parent().removeClass("open");m.$button.focus()}},hide:function(){this.$newElement.hide()},show:function(){this.$newElement.show()},destroy:function(){this.$newElement.remove();this.$element.remove()}};b.fn.selectpicker=function(e,f){var c=arguments;var g;var d=this.each(function(){if(b(this).is("select")){var m=b(this),l=m.data("selectpicker"),h=typeof e=="object"&&e;if(!l){m.data("selectpicker",(l=new a(this,h,f)))}else{if(h){for(var j in h){l.options[j]=h[j]}}}if(typeof e=="string"){var k=e;if(l[k] instanceof Function){[].shift.apply(c);g=l[k].apply(l,c)}else{g=l.options[k]}}}});if(g!==undefined){return g}else{return d}};b.fn.selectpicker.defaults={style:"btn-default",size:"auto",title:null,selectedTextFormat:"values",noneSelectedText:"Nothing selected",noneResultsText:"No results match",countSelectedText:"{0} of {1} selected",width:false,container:false,hideDisabled:false,showSubtext:false,showIcon:true,showContent:true,dropupAuto:true,header:false,liveSearch:false,multipleSeparator:", ",iconBase:"glyphicon",tickIcon:"glyphicon-ok"};b(document).data("keycount",0).on("keydown",".bootstrap-select [data-toggle=dropdown], .bootstrap-select [role=menu], .bootstrap-select-searchbox input",a.prototype.keydown).on("focusin.modal",".bootstrap-select [data-toggle=dropdown], .bootstrap-select [role=menu], .bootstrap-select-searchbox input",function(c){c.stopPropagation()})}(window.jQuery); \ No newline at end of file diff --git a/src/demo/manager/src/main/webapp/js/bootstrap.min.js b/src/demo/manager/src/main/webapp/js/bootstrap.min.js new file mode 100644 index 00000000..7c1561a8 --- /dev/null +++ b/src/demo/manager/src/main/webapp/js/bootstrap.min.js @@ -0,0 +1,6 @@ +/*! + * Bootstrap v3.2.0 (http://getbootstrap.com) + * Copyright 2011-2014 Twitter, Inc. + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) + */ +if("undefined"==typeof jQuery)throw new Error("Bootstrap's JavaScript requires jQuery");+function(a){"use strict";function b(){var a=document.createElement("bootstrap"),b={WebkitTransition:"webkitTransitionEnd",MozTransition:"transitionend",OTransition:"oTransitionEnd otransitionend",transition:"transitionend"};for(var c in b)if(void 0!==a.style[c])return{end:b[c]};return!1}a.fn.emulateTransitionEnd=function(b){var c=!1,d=this;a(this).one("bsTransitionEnd",function(){c=!0});var e=function(){c||a(d).trigger(a.support.transition.end)};return setTimeout(e,b),this},a(function(){a.support.transition=b(),a.support.transition&&(a.event.special.bsTransitionEnd={bindType:a.support.transition.end,delegateType:a.support.transition.end,handle:function(b){return a(b.target).is(this)?b.handleObj.handler.apply(this,arguments):void 0}})})}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var c=a(this),e=c.data("bs.alert");e||c.data("bs.alert",e=new d(this)),"string"==typeof b&&e[b].call(c)})}var c='[data-dismiss="alert"]',d=function(b){a(b).on("click",c,this.close)};d.VERSION="3.2.0",d.prototype.close=function(b){function c(){f.detach().trigger("closed.bs.alert").remove()}var d=a(this),e=d.attr("data-target");e||(e=d.attr("href"),e=e&&e.replace(/.*(?=#[^\s]*$)/,""));var f=a(e);b&&b.preventDefault(),f.length||(f=d.hasClass("alert")?d:d.parent()),f.trigger(b=a.Event("close.bs.alert")),b.isDefaultPrevented()||(f.removeClass("in"),a.support.transition&&f.hasClass("fade")?f.one("bsTransitionEnd",c).emulateTransitionEnd(150):c())};var e=a.fn.alert;a.fn.alert=b,a.fn.alert.Constructor=d,a.fn.alert.noConflict=function(){return a.fn.alert=e,this},a(document).on("click.bs.alert.data-api",c,d.prototype.close)}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var d=a(this),e=d.data("bs.button"),f="object"==typeof b&&b;e||d.data("bs.button",e=new c(this,f)),"toggle"==b?e.toggle():b&&e.setState(b)})}var c=function(b,d){this.$element=a(b),this.options=a.extend({},c.DEFAULTS,d),this.isLoading=!1};c.VERSION="3.2.0",c.DEFAULTS={loadingText:"loading..."},c.prototype.setState=function(b){var c="disabled",d=this.$element,e=d.is("input")?"val":"html",f=d.data();b+="Text",null==f.resetText&&d.data("resetText",d[e]()),d[e](null==f[b]?this.options[b]:f[b]),setTimeout(a.proxy(function(){"loadingText"==b?(this.isLoading=!0,d.addClass(c).attr(c,c)):this.isLoading&&(this.isLoading=!1,d.removeClass(c).removeAttr(c))},this),0)},c.prototype.toggle=function(){var a=!0,b=this.$element.closest('[data-toggle="buttons"]');if(b.length){var c=this.$element.find("input");"radio"==c.prop("type")&&(c.prop("checked")&&this.$element.hasClass("active")?a=!1:b.find(".active").removeClass("active")),a&&c.prop("checked",!this.$element.hasClass("active")).trigger("change")}a&&this.$element.toggleClass("active")};var d=a.fn.button;a.fn.button=b,a.fn.button.Constructor=c,a.fn.button.noConflict=function(){return a.fn.button=d,this},a(document).on("click.bs.button.data-api",'[data-toggle^="button"]',function(c){var d=a(c.target);d.hasClass("btn")||(d=d.closest(".btn")),b.call(d,"toggle"),c.preventDefault()})}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var d=a(this),e=d.data("bs.carousel"),f=a.extend({},c.DEFAULTS,d.data(),"object"==typeof b&&b),g="string"==typeof b?b:f.slide;e||d.data("bs.carousel",e=new c(this,f)),"number"==typeof b?e.to(b):g?e[g]():f.interval&&e.pause().cycle()})}var c=function(b,c){this.$element=a(b).on("keydown.bs.carousel",a.proxy(this.keydown,this)),this.$indicators=this.$element.find(".carousel-indicators"),this.options=c,this.paused=this.sliding=this.interval=this.$active=this.$items=null,"hover"==this.options.pause&&this.$element.on("mouseenter.bs.carousel",a.proxy(this.pause,this)).on("mouseleave.bs.carousel",a.proxy(this.cycle,this))};c.VERSION="3.2.0",c.DEFAULTS={interval:5e3,pause:"hover",wrap:!0},c.prototype.keydown=function(a){switch(a.which){case 37:this.prev();break;case 39:this.next();break;default:return}a.preventDefault()},c.prototype.cycle=function(b){return b||(this.paused=!1),this.interval&&clearInterval(this.interval),this.options.interval&&!this.paused&&(this.interval=setInterval(a.proxy(this.next,this),this.options.interval)),this},c.prototype.getItemIndex=function(a){return this.$items=a.parent().children(".item"),this.$items.index(a||this.$active)},c.prototype.to=function(b){var c=this,d=this.getItemIndex(this.$active=this.$element.find(".item.active"));return b>this.$items.length-1||0>b?void 0:this.sliding?this.$element.one("slid.bs.carousel",function(){c.to(b)}):d==b?this.pause().cycle():this.slide(b>d?"next":"prev",a(this.$items[b]))},c.prototype.pause=function(b){return b||(this.paused=!0),this.$element.find(".next, .prev").length&&a.support.transition&&(this.$element.trigger(a.support.transition.end),this.cycle(!0)),this.interval=clearInterval(this.interval),this},c.prototype.next=function(){return this.sliding?void 0:this.slide("next")},c.prototype.prev=function(){return this.sliding?void 0:this.slide("prev")},c.prototype.slide=function(b,c){var d=this.$element.find(".item.active"),e=c||d[b](),f=this.interval,g="next"==b?"left":"right",h="next"==b?"first":"last",i=this;if(!e.length){if(!this.options.wrap)return;e=this.$element.find(".item")[h]()}if(e.hasClass("active"))return this.sliding=!1;var j=e[0],k=a.Event("slide.bs.carousel",{relatedTarget:j,direction:g});if(this.$element.trigger(k),!k.isDefaultPrevented()){if(this.sliding=!0,f&&this.pause(),this.$indicators.length){this.$indicators.find(".active").removeClass("active");var l=a(this.$indicators.children()[this.getItemIndex(e)]);l&&l.addClass("active")}var m=a.Event("slid.bs.carousel",{relatedTarget:j,direction:g});return a.support.transition&&this.$element.hasClass("slide")?(e.addClass(b),e[0].offsetWidth,d.addClass(g),e.addClass(g),d.one("bsTransitionEnd",function(){e.removeClass([b,g].join(" ")).addClass("active"),d.removeClass(["active",g].join(" ")),i.sliding=!1,setTimeout(function(){i.$element.trigger(m)},0)}).emulateTransitionEnd(1e3*d.css("transition-duration").slice(0,-1))):(d.removeClass("active"),e.addClass("active"),this.sliding=!1,this.$element.trigger(m)),f&&this.cycle(),this}};var d=a.fn.carousel;a.fn.carousel=b,a.fn.carousel.Constructor=c,a.fn.carousel.noConflict=function(){return a.fn.carousel=d,this},a(document).on("click.bs.carousel.data-api","[data-slide], [data-slide-to]",function(c){var d,e=a(this),f=a(e.attr("data-target")||(d=e.attr("href"))&&d.replace(/.*(?=#[^\s]+$)/,""));if(f.hasClass("carousel")){var g=a.extend({},f.data(),e.data()),h=e.attr("data-slide-to");h&&(g.interval=!1),b.call(f,g),h&&f.data("bs.carousel").to(h),c.preventDefault()}}),a(window).on("load",function(){a('[data-ride="carousel"]').each(function(){var c=a(this);b.call(c,c.data())})})}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var d=a(this),e=d.data("bs.collapse"),f=a.extend({},c.DEFAULTS,d.data(),"object"==typeof b&&b);!e&&f.toggle&&"show"==b&&(b=!b),e||d.data("bs.collapse",e=new c(this,f)),"string"==typeof b&&e[b]()})}var c=function(b,d){this.$element=a(b),this.options=a.extend({},c.DEFAULTS,d),this.transitioning=null,this.options.parent&&(this.$parent=a(this.options.parent)),this.options.toggle&&this.toggle()};c.VERSION="3.2.0",c.DEFAULTS={toggle:!0},c.prototype.dimension=function(){var a=this.$element.hasClass("width");return a?"width":"height"},c.prototype.show=function(){if(!this.transitioning&&!this.$element.hasClass("in")){var c=a.Event("show.bs.collapse");if(this.$element.trigger(c),!c.isDefaultPrevented()){var d=this.$parent&&this.$parent.find("> .panel > .in");if(d&&d.length){var e=d.data("bs.collapse");if(e&&e.transitioning)return;b.call(d,"hide"),e||d.data("bs.collapse",null)}var f=this.dimension();this.$element.removeClass("collapse").addClass("collapsing")[f](0),this.transitioning=1;var g=function(){this.$element.removeClass("collapsing").addClass("collapse in")[f](""),this.transitioning=0,this.$element.trigger("shown.bs.collapse")};if(!a.support.transition)return g.call(this);var h=a.camelCase(["scroll",f].join("-"));this.$element.one("bsTransitionEnd",a.proxy(g,this)).emulateTransitionEnd(350)[f](this.$element[0][h])}}},c.prototype.hide=function(){if(!this.transitioning&&this.$element.hasClass("in")){var b=a.Event("hide.bs.collapse");if(this.$element.trigger(b),!b.isDefaultPrevented()){var c=this.dimension();this.$element[c](this.$element[c]())[0].offsetHeight,this.$element.addClass("collapsing").removeClass("collapse").removeClass("in"),this.transitioning=1;var d=function(){this.transitioning=0,this.$element.trigger("hidden.bs.collapse").removeClass("collapsing").addClass("collapse")};return a.support.transition?void this.$element[c](0).one("bsTransitionEnd",a.proxy(d,this)).emulateTransitionEnd(350):d.call(this)}}},c.prototype.toggle=function(){this[this.$element.hasClass("in")?"hide":"show"]()};var d=a.fn.collapse;a.fn.collapse=b,a.fn.collapse.Constructor=c,a.fn.collapse.noConflict=function(){return a.fn.collapse=d,this},a(document).on("click.bs.collapse.data-api",'[data-toggle="collapse"]',function(c){var d,e=a(this),f=e.attr("data-target")||c.preventDefault()||(d=e.attr("href"))&&d.replace(/.*(?=#[^\s]+$)/,""),g=a(f),h=g.data("bs.collapse"),i=h?"toggle":e.data(),j=e.attr("data-parent"),k=j&&a(j);h&&h.transitioning||(k&&k.find('[data-toggle="collapse"][data-parent="'+j+'"]').not(e).addClass("collapsed"),e[g.hasClass("in")?"addClass":"removeClass"]("collapsed")),b.call(g,i)})}(jQuery),+function(a){"use strict";function b(b){b&&3===b.which||(a(e).remove(),a(f).each(function(){var d=c(a(this)),e={relatedTarget:this};d.hasClass("open")&&(d.trigger(b=a.Event("hide.bs.dropdown",e)),b.isDefaultPrevented()||d.removeClass("open").trigger("hidden.bs.dropdown",e))}))}function c(b){var c=b.attr("data-target");c||(c=b.attr("href"),c=c&&/#[A-Za-z]/.test(c)&&c.replace(/.*(?=#[^\s]*$)/,""));var d=c&&a(c);return d&&d.length?d:b.parent()}function d(b){return this.each(function(){var c=a(this),d=c.data("bs.dropdown");d||c.data("bs.dropdown",d=new g(this)),"string"==typeof b&&d[b].call(c)})}var e=".dropdown-backdrop",f='[data-toggle="dropdown"]',g=function(b){a(b).on("click.bs.dropdown",this.toggle)};g.VERSION="3.2.0",g.prototype.toggle=function(d){var e=a(this);if(!e.is(".disabled, :disabled")){var f=c(e),g=f.hasClass("open");if(b(),!g){"ontouchstart"in document.documentElement&&!f.closest(".navbar-nav").length&&a('

                                                      PBK;&Wcg|NX{>QR@W3{K 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 literal 0 HcmV?d00001 diff --git a/src/demo/manager/src/main/webapp/assets/fonts/glyphicons-halflings-regular.woff b/src/demo/manager/src/main/webapp/assets/fonts/glyphicons-halflings-regular.woff new file mode 100644 index 0000000000000000000000000000000000000000..8c54182aa5d4d1ab3c9171976b615c1dcb1dc187 GIT binary patch literal 23320 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 f^ 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
                                                      {LM%O(FQCP-;(! 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 dzNsksLQzP)YWjzVtHzbv{psoVQvW=@hJ&YbDY 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 literal 0 HcmV?d00001 diff --git a/src/demo/manager/src/main/webapp/assets/img/friends/fr-04.jpg b/src/demo/manager/src/main/webapp/assets/img/friends/fr-04.jpg new file mode 100644 index 0000000000000000000000000000000000000000..cf7794c7c98c0aaa16a6bf228e5141d4085e8ea3 GIT binary patch literal 6273 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