Everest Forms – Easy Contact Form and Form Builder - Version 1.1.5

Version Description

  • 03-05-2018 =
  • Fix - Google reCaptcha console errors.
  • Fix - Select2 styles conflict with WooCommerce.
  • Fix - Undefined jQuery vars in admin-helper.js
  • Fix - Prevent 404 in console for jQuery UI images.
  • Fix - Compatibility with Elementor and SiteOrigin page builder.
Download this release

Release Info

Developer wpeverest
Plugin Icon 128x128 Everest Forms – Easy Contact Form and Form Builder
Version 1.1.5
Comparing to
See all releases

Code changes from version 1.1.4 to 1.1.5

Files changed (45) hide show
  1. assets/css/everest-forms-rtl.css +1 -1
  2. assets/css/everest-forms.css +1 -1
  3. assets/css/everest-forms.scss +28 -15
  4. assets/{js → css}/jquery-confirm/jquery-confirm.min.css +9 -9
  5. assets/css/jquery-ui/images/ui-bg_flat_0_aaaaaa_40x100.png +0 -0
  6. assets/css/jquery-ui/images/ui-bg_flat_75_ffffff_40x100.png +0 -0
  7. assets/css/jquery-ui/images/ui-bg_glass_55_fbf9ee_1x400.png +0 -0
  8. assets/css/jquery-ui/images/ui-bg_glass_65_ffffff_1x400.png +0 -0
  9. assets/css/jquery-ui/images/ui-bg_glass_75_dadada_1x400.png +0 -0
  10. assets/css/jquery-ui/images/ui-bg_glass_75_e6e6e6_1x400.png +0 -0
  11. assets/css/jquery-ui/images/ui-bg_glass_95_fef1ec_1x400.png +0 -0
  12. assets/css/jquery-ui/images/ui-bg_highlight-soft_75_cccccc_1x100.png +0 -0
  13. assets/css/jquery-ui/images/ui-icons_222222_256x240.png +0 -0
  14. assets/css/jquery-ui/images/ui-icons_2e83ff_256x240.png +0 -0
  15. assets/css/jquery-ui/images/ui-icons_454545_256x240.png +0 -0
  16. assets/css/jquery-ui/images/ui-icons_888888_256x240.png +0 -0
  17. assets/css/jquery-ui/images/ui-icons_cd0a0a_256x240.png +0 -0
  18. assets/css/select2.css +1 -0
  19. assets/css/select2.scss +642 -0
  20. assets/images/select2-spinner.gif +0 -0
  21. assets/images/select2.png +0 -0
  22. assets/images/select2x2.png +0 -0
  23. assets/js/admin/admin-helper.js +0 -91
  24. assets/js/admin/admin-helper.min.js +0 -1
  25. assets/js/admin/everest-panel-builder.js +43 -15
  26. assets/js/admin/everest-panel-builder.min.js +1 -1
  27. assets/js/admin/settings.js +20 -8
  28. assets/js/admin/settings.min.js +1 -1
  29. assets/js/frontend/everest-forms.js +6 -17
  30. assets/js/frontend/everest-forms.min.js +1 -1
  31. assets/js/jquery-confirm/jquery-confirm.js +1341 -0
  32. assets/js/selectWoo/selectWoo.full.js +6585 -0
  33. assets/js/selectWoo/selectWoo.full.min.js +1 -0
  34. assets/js/selectWoo/selectWoo.js +5874 -0
  35. assets/js/selectWoo/selectWoo.min.js +1 -0
  36. everest-forms.php +1 -1
  37. includes/admin/class-evf-admin-assets.php +10 -66
  38. includes/admin/class-evf-admin-form-builder.php +0 -2
  39. includes/admin/class-evf-admin-settings.php +5 -4
  40. includes/class-everest-forms.php +1 -1
  41. includes/class-evf-frontend-scripts.php +11 -9
  42. includes/shortcodes/class-evf-shortcode-form.php +20 -49
  43. languages/everest-forms.pot +26 -26
  44. package-lock.json +2345 -1788
  45. readme.txt +8 -1
assets/css/everest-forms-rtl.css CHANGED
@@ -1 +1 @@
1
- .clearfix::after,.clearfix::before,.container-fluid::after,.container-fluid::before,.container::after,.container::before,.evf-row::after,.evf-row::before{display:table;content:""}.clearfix::after,.container-fluid::after,.container::after,.evf-row::after{clear:both}*{box-sizing:border-box}.everest-forms .evf-frontend-row{margin-right:-20px;margin-left:-20px;display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap}.everest-forms .evf-frontend-row .evf-frontend-grid{padding-right:20px;padding-left:20px;margin-bottom:30px}.everest-forms .evf-frontend-row .evf-frontend-grid.evf-grid-1{width:100%}.everest-forms .evf-frontend-row .evf-frontend-grid.evf-grid-2{width:50%}.everest-forms .evf-frontend-row .evf-frontend-grid.evf-grid-3{width:30%}.everest-forms .evf-frontend-row .evf-frontend-grid .evf-field{margin-bottom:30px}.everest-forms .evf-frontend-row .evf-frontend-grid .evf-field:last-child{margin-bottom:0}.everest-forms .evf-frontend-row .evf-frontend-grid .evf-field .evf-label-hide{display:none}.everest-forms .evf-frontend-row .evf-frontend-grid .evf-field ul{margin:0;padding:0;list-style:none}.everest-forms .evf-frontend-row .evf-frontend-grid .evf-field ul li{display:block;margin-left:20px}.everest-forms .evf-frontend-row .evf-frontend-grid .evf-field ul li input,.everest-forms .evf-frontend-row .evf-frontend-grid .evf-field ul li label{display:inline-block;vertical-align:middle;margin-bottom:0}.everest-forms .evf-frontend-row .evf-frontend-grid .evf-field ul li input[type=checkbox],.everest-forms .evf-frontend-row .evf-frontend-grid .evf-field ul li input[type=radio]{margin-left:8px}.everest-forms .evf-frontend-row .evf-frontend-grid .evf-field ul li label{font-weight:500;color:#575757!important}.everest-forms .evf-frontend-row .evf-frontend-grid .evf-field.everest-forms-invalid label{color:#d9534f}.everest-forms .evf-frontend-row .evf-frontend-grid .evf-field.everest-forms-invalid .select2-container,.everest-forms .evf-frontend-row .evf-frontend-grid .evf-field.everest-forms-invalid input.input-text,.everest-forms .evf-frontend-row .evf-frontend-grid .evf-field.everest-forms-invalid select,.everest-forms .evf-frontend-row .evf-frontend-grid .evf-field.everest-forms-invalid textarea{border-color:#d9534f}.everest-forms .evf-frontend-row .evf-frontend-grid .evf-field.everest-forms-validated .select2-container,.everest-forms .evf-frontend-row .evf-frontend-grid .evf-field.everest-forms-validated input.input-text,.everest-forms .evf-frontend-row .evf-frontend-grid .evf-field.everest-forms-validated select,.everest-forms .evf-frontend-row .evf-frontend-grid .evf-field.everest-forms-validated textarea{border-color:#5cb85c}.everest-forms .evf-frontend-row .evf-frontend-grid .evf-field ::-webkit-input-placeholder{line-height:normal}.everest-forms .evf-frontend-row .evf-frontend-grid .evf-field :-moz-placeholder{line-height:normal}.everest-forms .evf-frontend-row .evf-frontend-grid .evf-field :-ms-input-placeholder{line-height:normal}.everest-forms .evf-frontend-row label{font-size:14px;margin-bottom:20px;color:#575757;display:block;font-weight:600}.everest-forms .evf-frontend-row label .required{color:red;font-weight:700;border:0}.everest-forms .evf-frontend-row label.evf-error{border:1px solid #d9534f;background-color:#f9e2e2;padding:7px 10px;color:#c9302c;display:inline-block;margin-top:15px;margin-bottom:0;border-radius:3px;font-weight:300}.everest-forms .evf-frontend-row input,.everest-forms .evf-frontend-row select,.everest-forms .evf-frontend-row textarea{border:1px solid #969696;height:45px;width:100%;padding:10px 15px;color:#575757;font-size:14px;margin-bottom:0;background-color:transparent;box-shadow:0 0 0 0 transparent;border-radius:0}.everest-forms .evf-frontend-row input[type=checkbox],.everest-forms .evf-frontend-row input[type=radio],.everest-forms .evf-frontend-row select[type=checkbox],.everest-forms .evf-frontend-row select[type=radio],.everest-forms .evf-frontend-row textarea[type=checkbox],.everest-forms .evf-frontend-row textarea[type=radio]{width:14px;height:14px;background-color:#fff}.everest-forms .evf-frontend-row input[type=radio],.everest-forms .evf-frontend-row select[type=radio],.everest-forms .evf-frontend-row textarea[type=radio]{border-radius:10px}.everest-forms .evf-frontend-row input[type=checkbox]:checked,.everest-forms .evf-frontend-row select[type=checkbox]:checked,.everest-forms .evf-frontend-row textarea[type=checkbox]:checked{background-color:#7ca8eb}.everest-forms .evf-frontend-row input[type=checkbox]:checked::before,.everest-forms .evf-frontend-row select[type=checkbox]:checked::before,.everest-forms .evf-frontend-row textarea[type=checkbox]:checked::before{color:#fff;background-color:transparent}.everest-forms .evf-frontend-row input[type=radio]:checked::before,.everest-forms .evf-frontend-row select[type=radio]:checked::before,.everest-forms .evf-frontend-row textarea[type=radio]:checked::before{background-color:#7ca8eb}.everest-forms .evf-frontend-row input::-webkit-input-placeholder,.everest-forms .evf-frontend-row select::-webkit-input-placeholder,.everest-forms .evf-frontend-row textarea::-webkit-input-placeholder{color:#c6ccd7}.everest-forms .evf-frontend-row input::-moz-placeholder,.everest-forms .evf-frontend-row select::-moz-placeholder,.everest-forms .evf-frontend-row textarea::-moz-placeholder{color:#c6ccd7}.everest-forms .evf-frontend-row input:-ms-input-placeholder,.everest-forms .evf-frontend-row select:-ms-input-placeholder,.everest-forms .evf-frontend-row textarea:-ms-input-placeholder{color:#c6ccd7}.everest-forms .evf-frontend-row input::-ms-input-placeholder,.everest-forms .evf-frontend-row select::-ms-input-placeholder,.everest-forms .evf-frontend-row textarea::-ms-input-placeholder{color:#c6ccd7}.everest-forms .evf-frontend-row input::placeholder,.everest-forms .evf-frontend-row select::placeholder,.everest-forms .evf-frontend-row textarea::placeholder{color:#c6ccd7}.everest-forms .evf-frontend-row input:focus,.everest-forms .evf-frontend-row select:focus,.everest-forms .evf-frontend-row textarea:focus{outline:0;border:1px solid #7ca8eb}.everest-forms .evf-frontend-row textarea{height:100px}.everest-forms .evf-submit-container{margin-top:30px;text-align:left}.everest-forms .evf-submit{padding:15px 30px;font-size:12px;border:0 none;cursor:pointer;-webkit-transition:.5s background-color ease-in-out;transition:.5s background-color ease-in-out;border-radius:0}.everest-forms .layout-two label{margin-bottom:0}.everest-forms .layout-two .evf-field-checkbox label,.everest-forms .layout-two .evf-field-radio label{margin-bottom:20px}.everest-forms .layout-two input,.everest-forms .layout-two select,.everest-forms .layout-two textarea{border-top:none transparent;border-left:none transparent;border-right:none transparent;border-bottom:1px solid #969696;height:40px;padding:10px 0;background-color:transparent}.everest-forms .layout-two input:focus,.everest-forms .layout-two select:focus,.everest-forms .layout-two textarea:focus{border-top:none transparent;border-left:none transparent;border-right:none transparent}.everest-forms .layout-two textarea{height:80px}.everest-forms .everest-forms-notice{padding:1em 3em;margin:0 0 2em;position:relative;background-color:#7ca8eb;color:#fff;border-radius:5px}.everest-forms .everest-forms-notice::after,.everest-forms .everest-forms-notice::before{content:' ';display:table}.everest-forms .everest-forms-notice::after{clear:both}.everest-forms .everest-forms-notice::before{font-family:dashicons;content:"\f348";position:absolute;top:1em;right:1.5em;color:inherit}.everest-forms .everest-forms-notice .button{float:left}.everest-forms .everest-forms-notice p{margin-bottom:0}.everest-forms .everest-forms-notice li{list-style:none outside!important;padding-right:0!important;margin-right:0!important}.everest-forms .everest-forms-notice--success{background-color:#5cb85c}.everest-forms .everest-forms-notice--success::before{content:"\f147"}.everest-forms .everest-forms-notice--error{background-color:#d9534f}.everest-forms .everest-forms-notice--error::before{content:"\f534";color:inherit}.everest-forms .everest-forms-notice--error .everest-forms-notice-list{margin:0;list-style:none outside}.everest-forms .everest-forms-notice--error .everest-forms-notice-list .everest-forms-notice-list__item{margin-bottom:.5em}.everest-forms .everest-forms-notice--error .everest-forms-notice-list .everest-forms-notice-list__item:last-child{margin-bottom:0}.evf-recaptcha-row .evf-error{border:1px solid #d9534f;background-color:#f9e2e2;padding:7px 10px;color:#c9302c;display:inline-block;margin-top:15px;margin-bottom:0;border-radius:3px;font-weight:300}@media screen and (max-width:768px){.everest-forms .evf-frontend-row{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;margin:0}.everest-forms .evf-frontend-row .evf-frontend-grid{margin-bottom:30px;padding:0}.everest-forms .evf-frontend-row .evf-frontend-grid:last-child{margin-bottom:0}.everest-forms .evf-frontend-row .evf-frontend-grid.evf-grid-2,.everest-forms .evf-frontend-row .evf-frontend-grid.evf-grid-3{width:100%}}
1
+ .clearfix::after,.clearfix::before,.container-fluid::after,.container-fluid::before,.container::after,.container::before,.evf-row::after,.evf-row::before{display:table;content:""}.clearfix::after,.container-fluid::after,.container::after,.evf-row::after{clear:both}*{box-sizing:border-box}.everest-forms .evf-frontend-row{margin-right:-20px;margin-left:-20px;display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap}.everest-forms .evf-frontend-row .evf-frontend-grid{padding-right:20px;padding-left:20px;margin-bottom:30px}.everest-forms .evf-frontend-row .evf-frontend-grid.evf-grid-1{width:100%}.everest-forms .evf-frontend-row .evf-frontend-grid.evf-grid-2{width:50%}.everest-forms .evf-frontend-row .evf-frontend-grid.evf-grid-3{width:30%}.everest-forms .evf-frontend-row .evf-frontend-grid .evf-field{margin-bottom:30px}.everest-forms .evf-frontend-row .evf-frontend-grid .evf-field:last-child{margin-bottom:0}.everest-forms .evf-frontend-row .evf-frontend-grid .evf-field .evf-label-hide{display:none}.everest-forms .evf-frontend-row .evf-frontend-grid .evf-field ul{margin:0;padding:0;list-style:none}.everest-forms .evf-frontend-row .evf-frontend-grid .evf-field ul li{display:block;margin-left:20px}.everest-forms .evf-frontend-row .evf-frontend-grid .evf-field ul li input,.everest-forms .evf-frontend-row .evf-frontend-grid .evf-field ul li label{display:inline-block;vertical-align:middle;margin-bottom:0}.everest-forms .evf-frontend-row .evf-frontend-grid .evf-field ul li input[type=checkbox],.everest-forms .evf-frontend-row .evf-frontend-grid .evf-field ul li input[type=radio]{margin-left:8px}.everest-forms .evf-frontend-row .evf-frontend-grid .evf-field ul li label{font-weight:500;color:#575757!important}.everest-forms .evf-frontend-row .evf-frontend-grid .evf-field.everest-forms-invalid label{color:#d9534f}.everest-forms .evf-frontend-row .evf-frontend-grid .evf-field.everest-forms-invalid .select2-container,.everest-forms .evf-frontend-row .evf-frontend-grid .evf-field.everest-forms-invalid input.input-text,.everest-forms .evf-frontend-row .evf-frontend-grid .evf-field.everest-forms-invalid select,.everest-forms .evf-frontend-row .evf-frontend-grid .evf-field.everest-forms-invalid textarea{border-color:#d9534f}.everest-forms .evf-frontend-row .evf-frontend-grid .evf-field.everest-forms-validated .select2-container,.everest-forms .evf-frontend-row .evf-frontend-grid .evf-field.everest-forms-validated input.input-text,.everest-forms .evf-frontend-row .evf-frontend-grid .evf-field.everest-forms-validated select,.everest-forms .evf-frontend-row .evf-frontend-grid .evf-field.everest-forms-validated textarea{border-color:#5cb85c}.everest-forms .evf-frontend-row .evf-frontend-grid .evf-field ::-webkit-input-placeholder{line-height:normal}.everest-forms .evf-frontend-row .evf-frontend-grid .evf-field :-moz-placeholder{line-height:normal}.everest-forms .evf-frontend-row .evf-frontend-grid .evf-field :-ms-input-placeholder{line-height:normal}.everest-forms .evf-frontend-row label{font-size:14px;margin-bottom:20px;color:#575757;display:block;font-weight:600}.everest-forms .evf-frontend-row label .required{color:red;font-weight:700;border:0}.everest-forms .evf-frontend-row label.evf-error{border:1px solid #d9534f;background-color:#f9e2e2;padding:7px 10px;color:#c9302c;display:inline-block;margin-top:15px;margin-bottom:0;border-radius:3px;font-weight:300}.everest-forms .evf-frontend-row input,.everest-forms .evf-frontend-row select,.everest-forms .evf-frontend-row textarea{border:1px solid #969696;height:45px;width:100%;padding:10px 15px;color:#575757;font-size:14px;margin-bottom:0;background-color:transparent;box-shadow:0 0 0 0 transparent;border-radius:0}.everest-forms .evf-frontend-row input[type=checkbox],.everest-forms .evf-frontend-row input[type=radio],.everest-forms .evf-frontend-row select[type=checkbox],.everest-forms .evf-frontend-row select[type=radio],.everest-forms .evf-frontend-row textarea[type=checkbox],.everest-forms .evf-frontend-row textarea[type=radio]{width:14px;height:14px;background-color:#fff}.everest-forms .evf-frontend-row input[type=radio],.everest-forms .evf-frontend-row select[type=radio],.everest-forms .evf-frontend-row textarea[type=radio]{border-radius:10px}.everest-forms .evf-frontend-row input[type=checkbox]:checked,.everest-forms .evf-frontend-row select[type=checkbox]:checked,.everest-forms .evf-frontend-row textarea[type=checkbox]:checked{background-color:#7ca8eb}.everest-forms .evf-frontend-row input[type=checkbox]:checked::before,.everest-forms .evf-frontend-row select[type=checkbox]:checked::before,.everest-forms .evf-frontend-row textarea[type=checkbox]:checked::before{color:#fff;background-color:transparent}.everest-forms .evf-frontend-row input[type=radio]:checked::before,.everest-forms .evf-frontend-row select[type=radio]:checked::before,.everest-forms .evf-frontend-row textarea[type=radio]:checked::before{background-color:#7ca8eb}.everest-forms .evf-frontend-row input::-webkit-input-placeholder,.everest-forms .evf-frontend-row select::-webkit-input-placeholder,.everest-forms .evf-frontend-row textarea::-webkit-input-placeholder{color:#c6ccd7}.everest-forms .evf-frontend-row input::-moz-placeholder,.everest-forms .evf-frontend-row select::-moz-placeholder,.everest-forms .evf-frontend-row textarea::-moz-placeholder{color:#c6ccd7}.everest-forms .evf-frontend-row input:-ms-input-placeholder,.everest-forms .evf-frontend-row select:-ms-input-placeholder,.everest-forms .evf-frontend-row textarea:-ms-input-placeholder{color:#c6ccd7}.everest-forms .evf-frontend-row input::-ms-input-placeholder,.everest-forms .evf-frontend-row select::-ms-input-placeholder,.everest-forms .evf-frontend-row textarea::-ms-input-placeholder{color:#c6ccd7}.everest-forms .evf-frontend-row input::placeholder,.everest-forms .evf-frontend-row select::placeholder,.everest-forms .evf-frontend-row textarea::placeholder{color:#c6ccd7}.everest-forms .evf-frontend-row input:focus,.everest-forms .evf-frontend-row select:focus,.everest-forms .evf-frontend-row textarea:focus{outline:0;border:1px solid #7ca8eb}.everest-forms .evf-frontend-row textarea{height:100px}.everest-forms .evf-submit{padding:15px 30px;font-size:12px;border:0 none;cursor:pointer;-webkit-transition:.5s background-color ease-in-out;transition:.5s background-color ease-in-out;border-radius:0}.everest-forms .layout-two label{margin-bottom:0}.everest-forms .layout-two .evf-field-checkbox label,.everest-forms .layout-two .evf-field-radio label{margin-bottom:20px}.everest-forms .layout-two input,.everest-forms .layout-two select,.everest-forms .layout-two textarea{border-top:none transparent;border-left:none transparent;border-right:none transparent;border-bottom:1px solid #969696;height:40px;padding:10px 0;background-color:transparent}.everest-forms .layout-two input:focus,.everest-forms .layout-two select:focus,.everest-forms .layout-two textarea:focus{border-top:none transparent;border-left:none transparent;border-right:none transparent}.everest-forms .layout-two textarea{height:80px}.everest-forms .everest-forms-notice{padding:1em 3em;margin:0 0 2em;position:relative;background-color:#7ca8eb;color:#fff;border-radius:5px}.everest-forms .everest-forms-notice::after,.everest-forms .everest-forms-notice::before{content:' ';display:table}.everest-forms .everest-forms-notice::after{clear:both}.everest-forms .everest-forms-notice::before{font-family:dashicons;content:"\f348";position:absolute;top:1em;right:1.5em;color:inherit}.everest-forms .everest-forms-notice .button{float:left}.everest-forms .everest-forms-notice p{margin-bottom:0}.everest-forms .everest-forms-notice li{list-style:none outside!important;padding-right:0!important;margin-right:0!important}.everest-forms .everest-forms-notice--success{background-color:#5cb85c}.everest-forms .everest-forms-notice--success::before{content:"\f147"}.everest-forms .everest-forms-notice--error{background-color:#d9534f}.everest-forms .everest-forms-notice--error::before{content:"\f534";color:inherit}.everest-forms .everest-forms-notice--error .everest-forms-notice-list{margin:0;list-style:none outside}.everest-forms .everest-forms-notice--error .everest-forms-notice-list .everest-forms-notice-list__item{margin-bottom:.5em}.everest-forms .everest-forms-notice--error .everest-forms-notice-list .everest-forms-notice-list__item:last-child{margin-bottom:0}.evf-field-container .evf-recaptcha-container{padding:10px 0 20px 0;clear:both}.evf-recaptcha-row{margin-bottom:30px}.evf-recaptcha-row .evf-error{border:1px solid #d9534f;background-color:#f9e2e2;padding:7px 10px;color:#c9302c;display:inline-block;margin-top:15px;margin-bottom:0;border-radius:3px;font-weight:300}@media screen and (max-width:768px){.everest-forms .evf-frontend-row{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;margin:0}.everest-forms .evf-frontend-row .evf-frontend-grid{margin-bottom:30px;padding:0}.everest-forms .evf-frontend-row .evf-frontend-grid:last-child{margin-bottom:0}.everest-forms .evf-frontend-row .evf-frontend-grid.evf-grid-2,.everest-forms .evf-frontend-row .evf-frontend-grid.evf-grid-3{width:100%}.everest-forms .evf-recaptcha-row{margin:25px 0}}
assets/css/everest-forms.css CHANGED
@@ -1 +1 @@
1
- .clearfix::after,.clearfix::before,.container-fluid::after,.container-fluid::before,.container::after,.container::before,.evf-row::after,.evf-row::before{display:table;content:""}.clearfix::after,.container-fluid::after,.container::after,.evf-row::after{clear:both}*{box-sizing:border-box}.everest-forms .evf-frontend-row{margin-left:-20px;margin-right:-20px;display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap}.everest-forms .evf-frontend-row .evf-frontend-grid{padding-left:20px;padding-right:20px;margin-bottom:30px}.everest-forms .evf-frontend-row .evf-frontend-grid.evf-grid-1{width:100%}.everest-forms .evf-frontend-row .evf-frontend-grid.evf-grid-2{width:50%}.everest-forms .evf-frontend-row .evf-frontend-grid.evf-grid-3{width:30%}.everest-forms .evf-frontend-row .evf-frontend-grid .evf-field{margin-bottom:30px}.everest-forms .evf-frontend-row .evf-frontend-grid .evf-field:last-child{margin-bottom:0}.everest-forms .evf-frontend-row .evf-frontend-grid .evf-field .evf-label-hide{display:none}.everest-forms .evf-frontend-row .evf-frontend-grid .evf-field ul{margin:0;padding:0;list-style:none}.everest-forms .evf-frontend-row .evf-frontend-grid .evf-field ul li{display:block;margin-right:20px}.everest-forms .evf-frontend-row .evf-frontend-grid .evf-field ul li input,.everest-forms .evf-frontend-row .evf-frontend-grid .evf-field ul li label{display:inline-block;vertical-align:middle;margin-bottom:0}.everest-forms .evf-frontend-row .evf-frontend-grid .evf-field ul li input[type=checkbox],.everest-forms .evf-frontend-row .evf-frontend-grid .evf-field ul li input[type=radio]{margin-right:8px}.everest-forms .evf-frontend-row .evf-frontend-grid .evf-field ul li label{font-weight:500;color:#575757!important}.everest-forms .evf-frontend-row .evf-frontend-grid .evf-field.everest-forms-invalid label{color:#d9534f}.everest-forms .evf-frontend-row .evf-frontend-grid .evf-field.everest-forms-invalid .select2-container,.everest-forms .evf-frontend-row .evf-frontend-grid .evf-field.everest-forms-invalid input.input-text,.everest-forms .evf-frontend-row .evf-frontend-grid .evf-field.everest-forms-invalid select,.everest-forms .evf-frontend-row .evf-frontend-grid .evf-field.everest-forms-invalid textarea{border-color:#d9534f}.everest-forms .evf-frontend-row .evf-frontend-grid .evf-field.everest-forms-validated .select2-container,.everest-forms .evf-frontend-row .evf-frontend-grid .evf-field.everest-forms-validated input.input-text,.everest-forms .evf-frontend-row .evf-frontend-grid .evf-field.everest-forms-validated select,.everest-forms .evf-frontend-row .evf-frontend-grid .evf-field.everest-forms-validated textarea{border-color:#5cb85c}.everest-forms .evf-frontend-row .evf-frontend-grid .evf-field ::-webkit-input-placeholder{line-height:normal}.everest-forms .evf-frontend-row .evf-frontend-grid .evf-field :-moz-placeholder{line-height:normal}.everest-forms .evf-frontend-row .evf-frontend-grid .evf-field :-ms-input-placeholder{line-height:normal}.everest-forms .evf-frontend-row label{font-size:14px;margin-bottom:20px;color:#575757;display:block;font-weight:600}.everest-forms .evf-frontend-row label .required{color:red;font-weight:700;border:0}.everest-forms .evf-frontend-row label.evf-error{border:1px solid #d9534f;background-color:#f9e2e2;padding:7px 10px;color:#c9302c;display:inline-block;margin-top:15px;margin-bottom:0;border-radius:3px;font-weight:300}.everest-forms .evf-frontend-row input,.everest-forms .evf-frontend-row select,.everest-forms .evf-frontend-row textarea{border:1px solid #969696;height:45px;width:100%;padding:10px 15px;color:#575757;font-size:14px;margin-bottom:0;background-color:transparent;box-shadow:0 0 0 0 transparent;border-radius:0}.everest-forms .evf-frontend-row input[type=checkbox],.everest-forms .evf-frontend-row input[type=radio],.everest-forms .evf-frontend-row select[type=checkbox],.everest-forms .evf-frontend-row select[type=radio],.everest-forms .evf-frontend-row textarea[type=checkbox],.everest-forms .evf-frontend-row textarea[type=radio]{width:14px;height:14px;background-color:#fff}.everest-forms .evf-frontend-row input[type=radio],.everest-forms .evf-frontend-row select[type=radio],.everest-forms .evf-frontend-row textarea[type=radio]{border-radius:10px}.everest-forms .evf-frontend-row input[type=checkbox]:checked,.everest-forms .evf-frontend-row select[type=checkbox]:checked,.everest-forms .evf-frontend-row textarea[type=checkbox]:checked{background-color:#7ca8eb}.everest-forms .evf-frontend-row input[type=checkbox]:checked::before,.everest-forms .evf-frontend-row select[type=checkbox]:checked::before,.everest-forms .evf-frontend-row textarea[type=checkbox]:checked::before{color:#fff;background-color:transparent}.everest-forms .evf-frontend-row input[type=radio]:checked::before,.everest-forms .evf-frontend-row select[type=radio]:checked::before,.everest-forms .evf-frontend-row textarea[type=radio]:checked::before{background-color:#7ca8eb}.everest-forms .evf-frontend-row input::-webkit-input-placeholder,.everest-forms .evf-frontend-row select::-webkit-input-placeholder,.everest-forms .evf-frontend-row textarea::-webkit-input-placeholder{color:#c6ccd7}.everest-forms .evf-frontend-row input::-moz-placeholder,.everest-forms .evf-frontend-row select::-moz-placeholder,.everest-forms .evf-frontend-row textarea::-moz-placeholder{color:#c6ccd7}.everest-forms .evf-frontend-row input:-ms-input-placeholder,.everest-forms .evf-frontend-row select:-ms-input-placeholder,.everest-forms .evf-frontend-row textarea:-ms-input-placeholder{color:#c6ccd7}.everest-forms .evf-frontend-row input::-ms-input-placeholder,.everest-forms .evf-frontend-row select::-ms-input-placeholder,.everest-forms .evf-frontend-row textarea::-ms-input-placeholder{color:#c6ccd7}.everest-forms .evf-frontend-row input::placeholder,.everest-forms .evf-frontend-row select::placeholder,.everest-forms .evf-frontend-row textarea::placeholder{color:#c6ccd7}.everest-forms .evf-frontend-row input:focus,.everest-forms .evf-frontend-row select:focus,.everest-forms .evf-frontend-row textarea:focus{outline:0;border:1px solid #7ca8eb}.everest-forms .evf-frontend-row textarea{height:100px}.everest-forms .evf-submit-container{margin-top:30px;text-align:right}.everest-forms .evf-submit{padding:15px 30px;font-size:12px;border:0 none;cursor:pointer;-webkit-transition:.5s background-color ease-in-out;transition:.5s background-color ease-in-out;border-radius:0}.everest-forms .layout-two label{margin-bottom:0}.everest-forms .layout-two .evf-field-checkbox label,.everest-forms .layout-two .evf-field-radio label{margin-bottom:20px}.everest-forms .layout-two input,.everest-forms .layout-two select,.everest-forms .layout-two textarea{border-top:none transparent;border-right:none transparent;border-left:none transparent;border-bottom:1px solid #969696;height:40px;padding:10px 0;background-color:transparent}.everest-forms .layout-two input:focus,.everest-forms .layout-two select:focus,.everest-forms .layout-two textarea:focus{border-top:none transparent;border-right:none transparent;border-left:none transparent}.everest-forms .layout-two textarea{height:80px}.everest-forms .everest-forms-notice{padding:1em 3em;margin:0 0 2em;position:relative;background-color:#7ca8eb;color:#fff;border-radius:5px}.everest-forms .everest-forms-notice::after,.everest-forms .everest-forms-notice::before{content:' ';display:table}.everest-forms .everest-forms-notice::after{clear:both}.everest-forms .everest-forms-notice::before{font-family:dashicons;content:"\f348";position:absolute;top:1em;left:1.5em;color:inherit}.everest-forms .everest-forms-notice .button{float:right}.everest-forms .everest-forms-notice p{margin-bottom:0}.everest-forms .everest-forms-notice li{list-style:none outside!important;padding-left:0!important;margin-left:0!important}.everest-forms .everest-forms-notice--success{background-color:#5cb85c}.everest-forms .everest-forms-notice--success::before{content:"\f147"}.everest-forms .everest-forms-notice--error{background-color:#d9534f}.everest-forms .everest-forms-notice--error::before{content:"\f534";color:inherit}.everest-forms .everest-forms-notice--error .everest-forms-notice-list{margin:0;list-style:none outside}.everest-forms .everest-forms-notice--error .everest-forms-notice-list .everest-forms-notice-list__item{margin-bottom:.5em}.everest-forms .everest-forms-notice--error .everest-forms-notice-list .everest-forms-notice-list__item:last-child{margin-bottom:0}.evf-recaptcha-row .evf-error{border:1px solid #d9534f;background-color:#f9e2e2;padding:7px 10px;color:#c9302c;display:inline-block;margin-top:15px;margin-bottom:0;border-radius:3px;font-weight:300}@media screen and (max-width:768px){.everest-forms .evf-frontend-row{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;margin:0}.everest-forms .evf-frontend-row .evf-frontend-grid{margin-bottom:30px;padding:0}.everest-forms .evf-frontend-row .evf-frontend-grid:last-child{margin-bottom:0}.everest-forms .evf-frontend-row .evf-frontend-grid.evf-grid-2,.everest-forms .evf-frontend-row .evf-frontend-grid.evf-grid-3{width:100%}}
1
+ .clearfix::after,.clearfix::before,.container-fluid::after,.container-fluid::before,.container::after,.container::before,.evf-row::after,.evf-row::before{display:table;content:""}.clearfix::after,.container-fluid::after,.container::after,.evf-row::after{clear:both}*{box-sizing:border-box}.everest-forms .evf-frontend-row{margin-left:-20px;margin-right:-20px;display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap}.everest-forms .evf-frontend-row .evf-frontend-grid{padding-left:20px;padding-right:20px;margin-bottom:30px}.everest-forms .evf-frontend-row .evf-frontend-grid.evf-grid-1{width:100%}.everest-forms .evf-frontend-row .evf-frontend-grid.evf-grid-2{width:50%}.everest-forms .evf-frontend-row .evf-frontend-grid.evf-grid-3{width:30%}.everest-forms .evf-frontend-row .evf-frontend-grid .evf-field{margin-bottom:30px}.everest-forms .evf-frontend-row .evf-frontend-grid .evf-field:last-child{margin-bottom:0}.everest-forms .evf-frontend-row .evf-frontend-grid .evf-field .evf-label-hide{display:none}.everest-forms .evf-frontend-row .evf-frontend-grid .evf-field ul{margin:0;padding:0;list-style:none}.everest-forms .evf-frontend-row .evf-frontend-grid .evf-field ul li{display:block;margin-right:20px}.everest-forms .evf-frontend-row .evf-frontend-grid .evf-field ul li input,.everest-forms .evf-frontend-row .evf-frontend-grid .evf-field ul li label{display:inline-block;vertical-align:middle;margin-bottom:0}.everest-forms .evf-frontend-row .evf-frontend-grid .evf-field ul li input[type=checkbox],.everest-forms .evf-frontend-row .evf-frontend-grid .evf-field ul li input[type=radio]{margin-right:8px}.everest-forms .evf-frontend-row .evf-frontend-grid .evf-field ul li label{font-weight:500;color:#575757!important}.everest-forms .evf-frontend-row .evf-frontend-grid .evf-field.everest-forms-invalid label{color:#d9534f}.everest-forms .evf-frontend-row .evf-frontend-grid .evf-field.everest-forms-invalid .select2-container,.everest-forms .evf-frontend-row .evf-frontend-grid .evf-field.everest-forms-invalid input.input-text,.everest-forms .evf-frontend-row .evf-frontend-grid .evf-field.everest-forms-invalid select,.everest-forms .evf-frontend-row .evf-frontend-grid .evf-field.everest-forms-invalid textarea{border-color:#d9534f}.everest-forms .evf-frontend-row .evf-frontend-grid .evf-field.everest-forms-validated .select2-container,.everest-forms .evf-frontend-row .evf-frontend-grid .evf-field.everest-forms-validated input.input-text,.everest-forms .evf-frontend-row .evf-frontend-grid .evf-field.everest-forms-validated select,.everest-forms .evf-frontend-row .evf-frontend-grid .evf-field.everest-forms-validated textarea{border-color:#5cb85c}.everest-forms .evf-frontend-row .evf-frontend-grid .evf-field ::-webkit-input-placeholder{line-height:normal}.everest-forms .evf-frontend-row .evf-frontend-grid .evf-field :-moz-placeholder{line-height:normal}.everest-forms .evf-frontend-row .evf-frontend-grid .evf-field :-ms-input-placeholder{line-height:normal}.everest-forms .evf-frontend-row label{font-size:14px;margin-bottom:20px;color:#575757;display:block;font-weight:600}.everest-forms .evf-frontend-row label .required{color:red;font-weight:700;border:0}.everest-forms .evf-frontend-row label.evf-error{border:1px solid #d9534f;background-color:#f9e2e2;padding:7px 10px;color:#c9302c;display:inline-block;margin-top:15px;margin-bottom:0;border-radius:3px;font-weight:300}.everest-forms .evf-frontend-row input,.everest-forms .evf-frontend-row select,.everest-forms .evf-frontend-row textarea{border:1px solid #969696;height:45px;width:100%;padding:10px 15px;color:#575757;font-size:14px;margin-bottom:0;background-color:transparent;box-shadow:0 0 0 0 transparent;border-radius:0}.everest-forms .evf-frontend-row input[type=checkbox],.everest-forms .evf-frontend-row input[type=radio],.everest-forms .evf-frontend-row select[type=checkbox],.everest-forms .evf-frontend-row select[type=radio],.everest-forms .evf-frontend-row textarea[type=checkbox],.everest-forms .evf-frontend-row textarea[type=radio]{width:14px;height:14px;background-color:#fff}.everest-forms .evf-frontend-row input[type=radio],.everest-forms .evf-frontend-row select[type=radio],.everest-forms .evf-frontend-row textarea[type=radio]{border-radius:10px}.everest-forms .evf-frontend-row input[type=checkbox]:checked,.everest-forms .evf-frontend-row select[type=checkbox]:checked,.everest-forms .evf-frontend-row textarea[type=checkbox]:checked{background-color:#7ca8eb}.everest-forms .evf-frontend-row input[type=checkbox]:checked::before,.everest-forms .evf-frontend-row select[type=checkbox]:checked::before,.everest-forms .evf-frontend-row textarea[type=checkbox]:checked::before{color:#fff;background-color:transparent}.everest-forms .evf-frontend-row input[type=radio]:checked::before,.everest-forms .evf-frontend-row select[type=radio]:checked::before,.everest-forms .evf-frontend-row textarea[type=radio]:checked::before{background-color:#7ca8eb}.everest-forms .evf-frontend-row input::-webkit-input-placeholder,.everest-forms .evf-frontend-row select::-webkit-input-placeholder,.everest-forms .evf-frontend-row textarea::-webkit-input-placeholder{color:#c6ccd7}.everest-forms .evf-frontend-row input::-moz-placeholder,.everest-forms .evf-frontend-row select::-moz-placeholder,.everest-forms .evf-frontend-row textarea::-moz-placeholder{color:#c6ccd7}.everest-forms .evf-frontend-row input:-ms-input-placeholder,.everest-forms .evf-frontend-row select:-ms-input-placeholder,.everest-forms .evf-frontend-row textarea:-ms-input-placeholder{color:#c6ccd7}.everest-forms .evf-frontend-row input::-ms-input-placeholder,.everest-forms .evf-frontend-row select::-ms-input-placeholder,.everest-forms .evf-frontend-row textarea::-ms-input-placeholder{color:#c6ccd7}.everest-forms .evf-frontend-row input::placeholder,.everest-forms .evf-frontend-row select::placeholder,.everest-forms .evf-frontend-row textarea::placeholder{color:#c6ccd7}.everest-forms .evf-frontend-row input:focus,.everest-forms .evf-frontend-row select:focus,.everest-forms .evf-frontend-row textarea:focus{outline:0;border:1px solid #7ca8eb}.everest-forms .evf-frontend-row textarea{height:100px}.everest-forms .evf-submit{padding:15px 30px;font-size:12px;border:0 none;cursor:pointer;-webkit-transition:.5s background-color ease-in-out;transition:.5s background-color ease-in-out;border-radius:0}.everest-forms .layout-two label{margin-bottom:0}.everest-forms .layout-two .evf-field-checkbox label,.everest-forms .layout-two .evf-field-radio label{margin-bottom:20px}.everest-forms .layout-two input,.everest-forms .layout-two select,.everest-forms .layout-two textarea{border-top:none transparent;border-right:none transparent;border-left:none transparent;border-bottom:1px solid #969696;height:40px;padding:10px 0;background-color:transparent}.everest-forms .layout-two input:focus,.everest-forms .layout-two select:focus,.everest-forms .layout-two textarea:focus{border-top:none transparent;border-right:none transparent;border-left:none transparent}.everest-forms .layout-two textarea{height:80px}.everest-forms .everest-forms-notice{padding:1em 3em;margin:0 0 2em;position:relative;background-color:#7ca8eb;color:#fff;border-radius:5px}.everest-forms .everest-forms-notice::after,.everest-forms .everest-forms-notice::before{content:' ';display:table}.everest-forms .everest-forms-notice::after{clear:both}.everest-forms .everest-forms-notice::before{font-family:dashicons;content:"\f348";position:absolute;top:1em;left:1.5em;color:inherit}.everest-forms .everest-forms-notice .button{float:right}.everest-forms .everest-forms-notice p{margin-bottom:0}.everest-forms .everest-forms-notice li{list-style:none outside!important;padding-left:0!important;margin-left:0!important}.everest-forms .everest-forms-notice--success{background-color:#5cb85c}.everest-forms .everest-forms-notice--success::before{content:"\f147"}.everest-forms .everest-forms-notice--error{background-color:#d9534f}.everest-forms .everest-forms-notice--error::before{content:"\f534";color:inherit}.everest-forms .everest-forms-notice--error .everest-forms-notice-list{margin:0;list-style:none outside}.everest-forms .everest-forms-notice--error .everest-forms-notice-list .everest-forms-notice-list__item{margin-bottom:.5em}.everest-forms .everest-forms-notice--error .everest-forms-notice-list .everest-forms-notice-list__item:last-child{margin-bottom:0}.evf-field-container .evf-recaptcha-container{padding:10px 0 20px 0;clear:both}.evf-recaptcha-row{margin-bottom:30px}.evf-recaptcha-row .evf-error{border:1px solid #d9534f;background-color:#f9e2e2;padding:7px 10px;color:#c9302c;display:inline-block;margin-top:15px;margin-bottom:0;border-radius:3px;font-weight:300}@media screen and (max-width:768px){.everest-forms .evf-frontend-row{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;margin:0}.everest-forms .evf-frontend-row .evf-frontend-grid{margin-bottom:30px;padding:0}.everest-forms .evf-frontend-row .evf-frontend-grid:last-child{margin-bottom:0}.everest-forms .evf-frontend-row .evf-frontend-grid.evf-grid-2,.everest-forms .evf-frontend-row .evf-frontend-grid.evf-grid-3{width:100%}.everest-forms .evf-recaptcha-row{margin:25px 0}}
assets/css/everest-forms.scss CHANGED
@@ -186,11 +186,6 @@
186
  }
187
  }
188
 
189
- .evf-submit-container {
190
- margin-top: 30px;
191
- text-align: right;
192
- }
193
-
194
  .evf-submit {
195
  padding: 15px 30px;
196
  font-size: 12px;
@@ -301,16 +296,30 @@
301
  }
302
  }
303
 
304
- .evf-recaptcha-row .evf-error {
305
- border: 1px solid $color-alert-danger;
306
- background-color: lighten($color-alert-danger, 35%);
307
- padding: 7px 10px;
308
- color:darken($color-alert-danger, 10%);
309
- display: inline-block;
310
- margin-top: 15px;
311
- margin-bottom: 0;
312
- border-radius: 3px;
313
- font-weight: 300;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
314
  }
315
 
316
 
@@ -334,5 +343,9 @@
334
  }
335
  }
336
  }
 
 
 
 
337
  }
338
  }
186
  }
187
  }
188
 
 
 
 
 
 
189
  .evf-submit {
190
  padding: 15px 30px;
191
  font-size: 12px;
296
  }
297
  }
298
 
299
+ /* reCAPTCHA Area
300
+ ----------------------------------------------------------------------------- */
301
+
302
+ .evf-field-container {
303
+ .evf-recaptcha-container {
304
+ padding: 10px 0 20px 0;
305
+ clear: both;
306
+ }
307
+ }
308
+
309
+ .evf-recaptcha-row {
310
+ margin-bottom: 30px;
311
+
312
+ .evf-error {
313
+ border: 1px solid $color-alert-danger;
314
+ background-color: lighten($color-alert-danger, 35%);
315
+ padding: 7px 10px;
316
+ color:darken($color-alert-danger, 10%);
317
+ display: inline-block;
318
+ margin-top: 15px;
319
+ margin-bottom: 0;
320
+ border-radius: 3px;
321
+ font-weight: 300;
322
+ }
323
  }
324
 
325
 
343
  }
344
  }
345
  }
346
+
347
+ .evf-recaptcha-row {
348
+ margin: 25px 0;
349
+ }
350
  }
351
  }
assets/{js → css}/jquery-confirm/jquery-confirm.min.css RENAMED
@@ -1,9 +1,9 @@
1
- /*!
2
- * jquery-confirm v3.3.0 (http://craftpip.github.io/jquery-confirm/)
3
- * Author: boniface pereira
4
- * Website: www.craftpip.com
5
- * Contact: hey@craftpip.com
6
- *
7
- * Copyright 2013-2017 jquery-confirm
8
- * Licensed under MIT (https://github.com/craftpip/jquery-confirm/blob/master/LICENSE)
9
- */@-webkit-keyframes jconfirm-spin{from{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@keyframes jconfirm-spin{from{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}body[class*=jconfirm-no-scroll-]{overflow:hidden!important}.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;-webkit-transition:opacity .4s;transition:opacity .4s}.jconfirm .jconfirm-bg.jconfirm-bg-h{opacity:0!important}.jconfirm .jconfirm-scrollpane{-webkit-perspective:500px;perspective:500px;-webkit-perspective-origin:center;perspective-origin:center;display:table;width:100%;height:100%}.jconfirm .jconfirm-row{display:table-row;width:100%}.jconfirm .jconfirm-cell{display:table-cell;vertical-align:middle}.jconfirm .jconfirm-holder{max-height:100%;padding:50px 0}.jconfirm .jconfirm-box-container{-webkit-transition:-webkit-transform;transition:-webkit-transform;transition:transform;transition:transform,-webkit-transform}.jconfirm .jconfirm-box-container.jconfirm-no-transition{-webkit-transition:none!important;transition:none!important}.jconfirm .jconfirm-box{background:white;border-radius:4px;position:relative;outline:0;padding:15px 15px 0;overflow:hidden;margin-left:auto;margin-right:auto}@-webkit-keyframes type-blue{1%,100%{border-color:#3498db}50%{border-color:#5faee3}}@keyframes type-blue{1%,100%{border-color:#3498db}50%{border-color:#5faee3}}@-webkit-keyframes type-green{1%,100%{border-color:#2ecc71}50%{border-color:#54d98c}}@keyframes type-green{1%,100%{border-color:#2ecc71}50%{border-color:#54d98c}}@-webkit-keyframes type-red{1%,100%{border-color:#e74c3c}50%{border-color:#ed7669}}@keyframes type-red{1%,100%{border-color:#e74c3c}50%{border-color:#ed7669}}@-webkit-keyframes type-orange{1%,100%{border-color:#f1c40f}50%{border-color:#f4d03f}}@keyframes type-orange{1%,100%{border-color:#f1c40f}50%{border-color:#f4d03f}}@-webkit-keyframes type-purple{1%,100%{border-color:#9b59b6}50%{border-color:#b07cc6}}@keyframes type-purple{1%,100%{border-color:#9b59b6}50%{border-color:#b07cc6}}@-webkit-keyframes type-dark{1%,100%{border-color:#34495e}50%{border-color:#46627f}}@keyframes type-dark{1%,100%{border-color:#34495e}50%{border-color:#46627f}}.jconfirm .jconfirm-box.jconfirm-type-animated{-webkit-animation-duration:2s;animation-duration:2s;-webkit-animation-iteration-count:infinite;animation-iteration-count:infinite}.jconfirm .jconfirm-box.jconfirm-type-blue{border-top:solid 7px #3498db;-webkit-animation-name:type-blue;animation-name:type-blue}.jconfirm .jconfirm-box.jconfirm-type-green{border-top:solid 7px #2ecc71;-webkit-animation-name:type-green;animation-name:type-green}.jconfirm .jconfirm-box.jconfirm-type-red{border-top:solid 7px #e74c3c;-webkit-animation-name:type-red;animation-name:type-red}.jconfirm .jconfirm-box.jconfirm-type-orange{border-top:solid 7px #f1c40f;-webkit-animation-name:type-orange;animation-name:type-orange}.jconfirm .jconfirm-box.jconfirm-type-purple{border-top:solid 7px #9b59b6;-webkit-animation-name:type-purple;animation-name:type-purple}.jconfirm .jconfirm-box.jconfirm-type-dark{border-top:solid 7px #34495e;-webkit-animation-name:type-dark;animation-name:type-dark}.jconfirm .jconfirm-box.loading{height:120px}.jconfirm .jconfirm-box.loading:before{content:'';position:absolute;left:0;background:white;right:0;top:0;bottom:0;border-radius:10px;z-index:1}.jconfirm .jconfirm-box.loading:after{opacity:.6;content:'';height:30px;width:30px;border:solid 3px transparent;position:absolute;left:50%;margin-left:-15px;border-radius:50%;-webkit-animation:jconfirm-spin 1s infinite linear;animation:jconfirm-spin 1s infinite linear;border-bottom-color:dodgerblue;top:50%;margin-top:-15px;z-index:2}.jconfirm .jconfirm-box div.jconfirm-closeIcon{height:20px;width:20px;position:absolute;top:10px;right:10px;cursor:pointer;opacity:.6;text-align:center;font-size:27px!important;line-height:14px!important;display:none;z-index:1}.jconfirm .jconfirm-box div.jconfirm-closeIcon:empty{display:none}.jconfirm .jconfirm-box div.jconfirm-closeIcon .fa{font-size:16px}.jconfirm .jconfirm-box div.jconfirm-closeIcon .glyphicon{font-size:16px}.jconfirm .jconfirm-box div.jconfirm-closeIcon .zmdi{font-size:16px}.jconfirm .jconfirm-box div.jconfirm-closeIcon:hover{opacity:1}.jconfirm .jconfirm-box div.jconfirm-title-c{display:block;font-size:22px;line-height:20px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:default;padding-bottom:15px}.jconfirm .jconfirm-box div.jconfirm-title-c.jconfirm-hand{cursor:move}.jconfirm .jconfirm-box div.jconfirm-title-c .jconfirm-icon-c{font-size:inherit;display:inline-block;vertical-align:middle}.jconfirm .jconfirm-box div.jconfirm-title-c .jconfirm-icon-c i{vertical-align:middle}.jconfirm .jconfirm-box div.jconfirm-title-c .jconfirm-icon-c:empty{display:none}.jconfirm .jconfirm-box div.jconfirm-title-c .jconfirm-title{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;font-size:inherit;font-family:inherit;display:inline-block;vertical-align:middle}.jconfirm .jconfirm-box div.jconfirm-title-c .jconfirm-title:empty{display:none}.jconfirm .jconfirm-box div.jconfirm-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;overflow-x:hidden;overflow-y:auto}.jconfirm .jconfirm-box div.jconfirm-content-pane.no-scroll{overflow-y:hidden}.jconfirm .jconfirm-box div.jconfirm-content-pane::-webkit-scrollbar{width:3px}.jconfirm .jconfirm-box div.jconfirm-content-pane::-webkit-scrollbar-track{background:rgba(0,0,0,0.1)}.jconfirm .jconfirm-box div.jconfirm-content-pane::-webkit-scrollbar-thumb{background:#666;border-radius:3px}.jconfirm .jconfirm-box div.jconfirm-content-pane .jconfirm-content{overflow:auto}.jconfirm .jconfirm-box div.jconfirm-content-pane .jconfirm-content img{max-width:100%;height:auto}.jconfirm .jconfirm-box div.jconfirm-content-pane .jconfirm-content:empty{display:none}.jconfirm .jconfirm-box .jconfirm-buttons{padding-bottom:11px}.jconfirm .jconfirm-box .jconfirm-buttons>button{margin-bottom:4px;margin-left:2px;margin-right:2px}.jconfirm .jconfirm-box .jconfirm-buttons button{display:inline-block;padding:6px 12px;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;border-radius:4px;min-height:1em;-webkit-transition:opacity .1s ease,background-color .1s ease,color .1s ease,background .1s ease,-webkit-box-shadow .1s ease;transition:opacity .1s ease,background-color .1s ease,color .1s ease,background .1s ease,-webkit-box-shadow .1s ease;transition:opacity .1s ease,background-color .1s ease,color .1s ease,box-shadow .1s ease,background .1s ease;transition:opacity .1s ease,background-color .1s ease,color .1s ease,box-shadow .1s ease,background .1s ease,-webkit-box-shadow .1s ease;-webkit-tap-highlight-color:transparent;border:0;background-image:none}.jconfirm .jconfirm-box .jconfirm-buttons button.btn-blue{background-color:#3498db;color:#FFF;text-shadow:none;-webkit-transition:background .2s;transition:background .2s}.jconfirm .jconfirm-box .jconfirm-buttons button.btn-blue:hover{background-color:#2980b9;color:#FFF}.jconfirm .jconfirm-box .jconfirm-buttons button.btn-green{background-color:#2ecc71;color:#FFF;text-shadow:none;-webkit-transition:background .2s;transition:background .2s}.jconfirm .jconfirm-box .jconfirm-buttons button.btn-green:hover{background-color:#27ae60;color:#FFF}.jconfirm .jconfirm-box .jconfirm-buttons button.btn-red{background-color:#e74c3c;color:#FFF;text-shadow:none;-webkit-transition:background .2s;transition:background .2s}.jconfirm .jconfirm-box .jconfirm-buttons button.btn-red:hover{background-color:#c0392b;color:#FFF}.jconfirm .jconfirm-box .jconfirm-buttons button.btn-orange{background-color:#f1c40f;color:#FFF;text-shadow:none;-webkit-transition:background .2s;transition:background .2s}.jconfirm .jconfirm-box .jconfirm-buttons button.btn-orange:hover{background-color:#f39c12;color:#FFF}.jconfirm .jconfirm-box .jconfirm-buttons button.btn-default{background-color:#ecf0f1;color:#000;text-shadow:none;-webkit-transition:background .2s;transition:background .2s}.jconfirm .jconfirm-box .jconfirm-buttons button.btn-default:hover{background-color:#bdc3c7;color:#000}.jconfirm .jconfirm-box .jconfirm-buttons button.btn-purple{background-color:#9b59b6;color:#FFF;text-shadow:none;-webkit-transition:background .2s;transition:background .2s}.jconfirm .jconfirm-box .jconfirm-buttons button.btn-purple:hover{background-color:#8e44ad;color:#FFF}.jconfirm .jconfirm-box .jconfirm-buttons button.btn-dark{background-color:#34495e;color:#FFF;text-shadow:none;-webkit-transition:background .2s;transition:background .2s}.jconfirm .jconfirm-box .jconfirm-buttons button.btn-dark:hover{background-color:#2c3e50;color:#FFF}.jconfirm .jconfirm-box.jconfirm-type-red .jconfirm-title-c .jconfirm-icon-c{color:#e74c3c!important}.jconfirm .jconfirm-box.jconfirm-type-blue .jconfirm-title-c .jconfirm-icon-c{color:#3498db!important}.jconfirm .jconfirm-box.jconfirm-type-green .jconfirm-title-c .jconfirm-icon-c{color:#2ecc71!important}.jconfirm .jconfirm-box.jconfirm-type-purple .jconfirm-title-c .jconfirm-icon-c{color:#9b59b6!important}.jconfirm .jconfirm-box.jconfirm-type-orange .jconfirm-title-c .jconfirm-icon-c{color:#f1c40f!important}.jconfirm .jconfirm-box.jconfirm-type-dark .jconfirm-title-c .jconfirm-icon-c{color:#34495e!important}.jconfirm .jconfirm-clear{clear:both}.jconfirm.jconfirm-rtl{direction:rtl}.jconfirm.jconfirm-rtl div.jconfirm-closeIcon{left:5px;right:auto}.jconfirm.jconfirm-white .jconfirm-bg,.jconfirm.jconfirm-light .jconfirm-bg{background-color:#444;opacity:.2}.jconfirm.jconfirm-white .jconfirm-box,.jconfirm.jconfirm-light .jconfirm-box{-webkit-box-shadow:0 2px 6px rgba(0,0,0,0.2);box-shadow:0 2px 6px rgba(0,0,0,0.2);border-radius:5px}.jconfirm.jconfirm-white .jconfirm-box .jconfirm-title-c .jconfirm-icon-c,.jconfirm.jconfirm-light .jconfirm-box .jconfirm-title-c .jconfirm-icon-c{margin-right:8px;margin-left:0}.jconfirm.jconfirm-white .jconfirm-box .jconfirm-buttons,.jconfirm.jconfirm-light .jconfirm-box .jconfirm-buttons{float:right}.jconfirm.jconfirm-white .jconfirm-box .jconfirm-buttons button,.jconfirm.jconfirm-light .jconfirm-box .jconfirm-buttons button{text-transform:uppercase;font-size:14px;font-weight:bold;text-shadow:none}.jconfirm.jconfirm-white .jconfirm-box .jconfirm-buttons button.btn-default,.jconfirm.jconfirm-light .jconfirm-box .jconfirm-buttons button.btn-default{-webkit-box-shadow:none;box-shadow:none;color:#333}.jconfirm.jconfirm-white .jconfirm-box .jconfirm-buttons button.btn-default:hover,.jconfirm.jconfirm-light .jconfirm-box .jconfirm-buttons button.btn-default:hover{background:#ddd}.jconfirm.jconfirm-white.jconfirm-rtl .jconfirm-title-c .jconfirm-icon-c,.jconfirm.jconfirm-light.jconfirm-rtl .jconfirm-title-c .jconfirm-icon-c{margin-left:8px;margin-right:0}.jconfirm.jconfirm-black .jconfirm-bg,.jconfirm.jconfirm-dark .jconfirm-bg{background-color:darkslategray;opacity:.4}.jconfirm.jconfirm-black .jconfirm-box,.jconfirm.jconfirm-dark .jconfirm-box{-webkit-box-shadow:0 2px 6px rgba(0,0,0,0.2);box-shadow:0 2px 6px rgba(0,0,0,0.2);background:#444;border-radius:5px;color:white}.jconfirm.jconfirm-black .jconfirm-box .jconfirm-title-c .jconfirm-icon-c,.jconfirm.jconfirm-dark .jconfirm-box .jconfirm-title-c .jconfirm-icon-c{margin-right:8px;margin-left:0}.jconfirm.jconfirm-black .jconfirm-box .jconfirm-buttons,.jconfirm.jconfirm-dark .jconfirm-box .jconfirm-buttons{float:right}.jconfirm.jconfirm-black .jconfirm-box .jconfirm-buttons button,.jconfirm.jconfirm-dark .jconfirm-box .jconfirm-buttons button{border:0;background-image:none;text-transform:uppercase;font-size:14px;font-weight:bold;text-shadow:none;-webkit-transition:background .1s;transition:background .1s;color:white}.jconfirm.jconfirm-black .jconfirm-box .jconfirm-buttons button.btn-default,.jconfirm.jconfirm-dark .jconfirm-box .jconfirm-buttons button.btn-default{-webkit-box-shadow:none;box-shadow:none;color:#fff;background:0}.jconfirm.jconfirm-black .jconfirm-box .jconfirm-buttons button.btn-default:hover,.jconfirm.jconfirm-dark .jconfirm-box .jconfirm-buttons button.btn-default:hover{background:#666}.jconfirm.jconfirm-black.jconfirm-rtl .jconfirm-title-c .jconfirm-icon-c,.jconfirm.jconfirm-dark.jconfirm-rtl .jconfirm-title-c .jconfirm-icon-c{margin-left:8px;margin-right:0}.jconfirm .jconfirm-box.hilight.jconfirm-hilight-shake{-webkit-animation:shake .82s cubic-bezier(0.36,0.07,0.19,0.97) both;animation:shake .82s cubic-bezier(0.36,0.07,0.19,0.97) both;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}.jconfirm .jconfirm-box.hilight.jconfirm-hilight-glow{-webkit-animation:glow .82s cubic-bezier(0.36,0.07,0.19,0.97) both;animation:glow .82s cubic-bezier(0.36,0.07,0.19,0.97) both;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}@-webkit-keyframes shake{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 shake{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)}}@-webkit-keyframes glow{0%,100%{-webkit-box-shadow:0 0 0 red;box-shadow:0 0 0 red}50%{-webkit-box-shadow:0 0 30px red;box-shadow:0 0 30px red}}@keyframes glow{0%,100%{-webkit-box-shadow:0 0 0 red;box-shadow:0 0 0 red}50%{-webkit-box-shadow:0 0 30px red;box-shadow:0 0 30px red}}.jconfirm{-webkit-perspective:400px;perspective:400px}.jconfirm .jconfirm-box{opacity:1;-webkit-transition-property:all;transition-property:all}.jconfirm .jconfirm-box.jconfirm-animation-top,.jconfirm .jconfirm-box.jconfirm-animation-left,.jconfirm .jconfirm-box.jconfirm-animation-right,.jconfirm .jconfirm-box.jconfirm-animation-bottom,.jconfirm .jconfirm-box.jconfirm-animation-opacity,.jconfirm .jconfirm-box.jconfirm-animation-zoom,.jconfirm .jconfirm-box.jconfirm-animation-scale,.jconfirm .jconfirm-box.jconfirm-animation-none,.jconfirm .jconfirm-box.jconfirm-animation-rotate,.jconfirm .jconfirm-box.jconfirm-animation-rotatex,.jconfirm .jconfirm-box.jconfirm-animation-rotatey,.jconfirm .jconfirm-box.jconfirm-animation-scaley,.jconfirm .jconfirm-box.jconfirm-animation-scalex{opacity:0}.jconfirm .jconfirm-box.jconfirm-animation-rotate{-webkit-transform:rotate(90deg);transform:rotate(90deg)}.jconfirm .jconfirm-box.jconfirm-animation-rotatex{-webkit-transform:rotateX(90deg);transform:rotateX(90deg);-webkit-transform-origin:center;transform-origin:center}.jconfirm .jconfirm-box.jconfirm-animation-rotatexr{-webkit-transform:rotateX(-90deg);transform:rotateX(-90deg);-webkit-transform-origin:center;transform-origin:center}.jconfirm .jconfirm-box.jconfirm-animation-rotatey{-webkit-transform:rotatey(90deg);transform:rotatey(90deg);-webkit-transform-origin:center;transform-origin:center}.jconfirm .jconfirm-box.jconfirm-animation-rotateyr{-webkit-transform:rotatey(-90deg);transform:rotatey(-90deg);-webkit-transform-origin:center;transform-origin:center}.jconfirm .jconfirm-box.jconfirm-animation-scaley{-webkit-transform:scaley(1.5);transform:scaley(1.5);-webkit-transform-origin:center;transform-origin:center}.jconfirm .jconfirm-box.jconfirm-animation-scalex{-webkit-transform:scalex(1.5);transform:scalex(1.5);-webkit-transform-origin:center;transform-origin:center}.jconfirm .jconfirm-box.jconfirm-animation-top{-webkit-transform:translate(0px,-100px);transform:translate(0px,-100px)}.jconfirm .jconfirm-box.jconfirm-animation-left{-webkit-transform:translate(-100px,0px);transform:translate(-100px,0px)}.jconfirm .jconfirm-box.jconfirm-animation-right{-webkit-transform:translate(100px,0px);transform:translate(100px,0px)}.jconfirm .jconfirm-box.jconfirm-animation-bottom{-webkit-transform:translate(0px,100px);transform:translate(0px,100px)}.jconfirm .jconfirm-box.jconfirm-animation-zoom{-webkit-transform:scale(1.2);transform:scale(1.2)}.jconfirm .jconfirm-box.jconfirm-animation-scale{-webkit-transform:scale(0.5);transform:scale(0.5)}.jconfirm .jconfirm-box.jconfirm-animation-none{visibility:hidden}.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.jconfirm-type-blue{border:0}.jconfirm.jconfirm-supervan .jconfirm-box.jconfirm-type-green{border:0}.jconfirm.jconfirm-supervan .jconfirm-box.jconfirm-type-red{border:0}.jconfirm.jconfirm-supervan .jconfirm-box.jconfirm-type-orange{border:0}.jconfirm.jconfirm-supervan .jconfirm-box.jconfirm-type-purple{border:0}.jconfirm.jconfirm-supervan .jconfirm-box.jconfirm-type-dark{border:0}.jconfirm.jconfirm-supervan .jconfirm-box div.jconfirm-closeIcon{color:white}.jconfirm.jconfirm-supervan .jconfirm-box div.jconfirm-title-c{text-align:center;color:white;font-size:28px;font-weight:normal}.jconfirm.jconfirm-supervan .jconfirm-box div.jconfirm-title-c>*{padding-bottom:25px}.jconfirm.jconfirm-supervan .jconfirm-box div.jconfirm-title-c .jconfirm-icon-c{margin-right:8px;margin-left:0}.jconfirm.jconfirm-supervan .jconfirm-box div.jconfirm-content-pane{margin-bottom:25px}.jconfirm.jconfirm-supervan .jconfirm-box div.jconfirm-content{text-align:center;color:white}.jconfirm.jconfirm-supervan .jconfirm-box .jconfirm-buttons{text-align:center}.jconfirm.jconfirm-supervan .jconfirm-box .jconfirm-buttons button{font-size:16px;border-radius:2px;background:#303f53;text-shadow:none;border:0;color:white;padding:10px;min-width:100px}.jconfirm.jconfirm-supervan.jconfirm-rtl .jconfirm-box div.jconfirm-title-c .jconfirm-icon-c{margin-left:8px;margin-right:0}.jconfirm.jconfirm-material .jconfirm-bg{background-color:rgba(0,0,0,0.67)}.jconfirm.jconfirm-material .jconfirm-box{background-color:white;-webkit-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);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 .jconfirm-title-c .jconfirm-icon-c{margin-right:8px;margin-left:0}.jconfirm.jconfirm-material .jconfirm-box div.jconfirm-closeIcon{color:rgba(0,0,0,0.87)}.jconfirm.jconfirm-material .jconfirm-box div.jconfirm-title-c{color:rgba(0,0,0,0.87);font-size:22px;font-weight:bold}.jconfirm.jconfirm-material .jconfirm-box div.jconfirm-content{color:rgba(0,0,0,0.87)}.jconfirm.jconfirm-material .jconfirm-box .jconfirm-buttons{text-align:right}.jconfirm.jconfirm-material .jconfirm-box .jconfirm-buttons button{text-transform:uppercase;font-weight:500}.jconfirm.jconfirm-material.jconfirm-rtl .jconfirm-title-c .jconfirm-icon-c{margin-left:8px;margin-right:0}.jconfirm.jconfirm-bootstrap .jconfirm-bg{background-color:rgba(0,0,0,0.21)}.jconfirm.jconfirm-bootstrap .jconfirm-box{background-color:white;-webkit-box-shadow:0 3px 8px 0 rgba(0,0,0,0.2);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 .jconfirm-title-c .jconfirm-icon-c{margin-right:8px;margin-left:0}.jconfirm.jconfirm-bootstrap .jconfirm-box div.jconfirm-closeIcon{color:rgba(0,0,0,0.87)}.jconfirm.jconfirm-bootstrap .jconfirm-box div.jconfirm-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.jconfirm-content{color:rgba(0,0,0,0.87);padding:0 15px}.jconfirm.jconfirm-bootstrap .jconfirm-box .jconfirm-buttons{text-align:right;padding:10px;margin:-5px 0 0;border-top:solid 1px #ddd;overflow:hidden;border-radius:0 0 4px 4px}.jconfirm.jconfirm-bootstrap .jconfirm-box .jconfirm-buttons button{font-weight:500}.jconfirm.jconfirm-bootstrap.jconfirm-rtl .jconfirm-title-c .jconfirm-icon-c{margin-left:8px;margin-right:0}.jconfirm.jconfirm-modern .jconfirm-bg{background-color:slategray;opacity:.6}.jconfirm.jconfirm-modern .jconfirm-box{background-color:white;-webkit-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);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 30px 15px}.jconfirm.jconfirm-modern .jconfirm-box div.jconfirm-closeIcon{color:rgba(0,0,0,0.87);top:15px;right:15px}.jconfirm.jconfirm-modern .jconfirm-box div.jconfirm-title-c{color:rgba(0,0,0,0.87);font-size:24px;font-weight:bold;text-align:center;margin-bottom:10px}.jconfirm.jconfirm-modern .jconfirm-box div.jconfirm-title-c .jconfirm-icon-c{-webkit-transition:-webkit-transform .5s;transition:-webkit-transform .5s;transition:transform .5s;transition:transform .5s,-webkit-transform .5s;-webkit-transform:scale(0);transform:scale(0);display:block;margin-right:0;margin-left:0;margin-bottom:10px;font-size:69px;color:#aaa}.jconfirm.jconfirm-modern .jconfirm-box div.jconfirm-content{text-align:center;font-size:15px;color:#777;margin-bottom:25px}.jconfirm.jconfirm-modern .jconfirm-box .jconfirm-buttons{text-align:center}.jconfirm.jconfirm-modern .jconfirm-box .jconfirm-buttons button{font-weight:bold;text-transform:uppercase;-webkit-transition:background .1s;transition:background .1s;padding:10px 20px}.jconfirm.jconfirm-modern .jconfirm-box .jconfirm-buttons button+button{margin-left:4px}.jconfirm.jconfirm-modern.jconfirm-open .jconfirm-box .jconfirm-title-c .jconfirm-icon-c{-webkit-transform:scale(1);transform:scale(1)}
1
+ /*!
2
+ * jquery-confirm v3.3.0 (http://craftpip.github.io/jquery-confirm/)
3
+ * Author: boniface pereira
4
+ * Website: www.craftpip.com
5
+ * Contact: hey@craftpip.com
6
+ *
7
+ * Copyright 2013-2017 jquery-confirm
8
+ * Licensed under MIT (https://github.com/craftpip/jquery-confirm/blob/master/LICENSE)
9
+ */@-webkit-keyframes jconfirm-spin{from{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@keyframes jconfirm-spin{from{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}body[class*=jconfirm-no-scroll-]{overflow:hidden!important}.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;-webkit-transition:opacity .4s;transition:opacity .4s}.jconfirm .jconfirm-bg.jconfirm-bg-h{opacity:0!important}.jconfirm .jconfirm-scrollpane{-webkit-perspective:500px;perspective:500px;-webkit-perspective-origin:center;perspective-origin:center;display:table;width:100%;height:100%}.jconfirm .jconfirm-row{display:table-row;width:100%}.jconfirm .jconfirm-cell{display:table-cell;vertical-align:middle}.jconfirm .jconfirm-holder{max-height:100%;padding:50px 0}.jconfirm .jconfirm-box-container{-webkit-transition:-webkit-transform;transition:-webkit-transform;transition:transform;transition:transform,-webkit-transform}.jconfirm .jconfirm-box-container.jconfirm-no-transition{-webkit-transition:none!important;transition:none!important}.jconfirm .jconfirm-box{background:white;border-radius:4px;position:relative;outline:0;padding:15px 15px 0;overflow:hidden;margin-left:auto;margin-right:auto}@-webkit-keyframes type-blue{1%,100%{border-color:#3498db}50%{border-color:#5faee3}}@keyframes type-blue{1%,100%{border-color:#3498db}50%{border-color:#5faee3}}@-webkit-keyframes type-green{1%,100%{border-color:#2ecc71}50%{border-color:#54d98c}}@keyframes type-green{1%,100%{border-color:#2ecc71}50%{border-color:#54d98c}}@-webkit-keyframes type-red{1%,100%{border-color:#e74c3c}50%{border-color:#ed7669}}@keyframes type-red{1%,100%{border-color:#e74c3c}50%{border-color:#ed7669}}@-webkit-keyframes type-orange{1%,100%{border-color:#f1c40f}50%{border-color:#f4d03f}}@keyframes type-orange{1%,100%{border-color:#f1c40f}50%{border-color:#f4d03f}}@-webkit-keyframes type-purple{1%,100%{border-color:#9b59b6}50%{border-color:#b07cc6}}@keyframes type-purple{1%,100%{border-color:#9b59b6}50%{border-color:#b07cc6}}@-webkit-keyframes type-dark{1%,100%{border-color:#34495e}50%{border-color:#46627f}}@keyframes type-dark{1%,100%{border-color:#34495e}50%{border-color:#46627f}}.jconfirm .jconfirm-box.jconfirm-type-animated{-webkit-animation-duration:2s;animation-duration:2s;-webkit-animation-iteration-count:infinite;animation-iteration-count:infinite}.jconfirm .jconfirm-box.jconfirm-type-blue{border-top:solid 7px #3498db;-webkit-animation-name:type-blue;animation-name:type-blue}.jconfirm .jconfirm-box.jconfirm-type-green{border-top:solid 7px #2ecc71;-webkit-animation-name:type-green;animation-name:type-green}.jconfirm .jconfirm-box.jconfirm-type-red{border-top:solid 7px #e74c3c;-webkit-animation-name:type-red;animation-name:type-red}.jconfirm .jconfirm-box.jconfirm-type-orange{border-top:solid 7px #f1c40f;-webkit-animation-name:type-orange;animation-name:type-orange}.jconfirm .jconfirm-box.jconfirm-type-purple{border-top:solid 7px #9b59b6;-webkit-animation-name:type-purple;animation-name:type-purple}.jconfirm .jconfirm-box.jconfirm-type-dark{border-top:solid 7px #34495e;-webkit-animation-name:type-dark;animation-name:type-dark}.jconfirm .jconfirm-box.loading{height:120px}.jconfirm .jconfirm-box.loading:before{content:'';position:absolute;left:0;background:white;right:0;top:0;bottom:0;border-radius:10px;z-index:1}.jconfirm .jconfirm-box.loading:after{opacity:.6;content:'';height:30px;width:30px;border:solid 3px transparent;position:absolute;left:50%;margin-left:-15px;border-radius:50%;-webkit-animation:jconfirm-spin 1s infinite linear;animation:jconfirm-spin 1s infinite linear;border-bottom-color:dodgerblue;top:50%;margin-top:-15px;z-index:2}.jconfirm .jconfirm-box div.jconfirm-closeIcon{height:20px;width:20px;position:absolute;top:10px;right:10px;cursor:pointer;opacity:.6;text-align:center;font-size:27px!important;line-height:14px!important;display:none;z-index:1}.jconfirm .jconfirm-box div.jconfirm-closeIcon:empty{display:none}.jconfirm .jconfirm-box div.jconfirm-closeIcon .fa{font-size:16px}.jconfirm .jconfirm-box div.jconfirm-closeIcon .glyphicon{font-size:16px}.jconfirm .jconfirm-box div.jconfirm-closeIcon .zmdi{font-size:16px}.jconfirm .jconfirm-box div.jconfirm-closeIcon:hover{opacity:1}.jconfirm .jconfirm-box div.jconfirm-title-c{display:block;font-size:22px;line-height:20px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:default;padding-bottom:15px}.jconfirm .jconfirm-box div.jconfirm-title-c.jconfirm-hand{cursor:move}.jconfirm .jconfirm-box div.jconfirm-title-c .jconfirm-icon-c{font-size:inherit;display:inline-block;vertical-align:middle}.jconfirm .jconfirm-box div.jconfirm-title-c .jconfirm-icon-c i{vertical-align:middle}.jconfirm .jconfirm-box div.jconfirm-title-c .jconfirm-icon-c:empty{display:none}.jconfirm .jconfirm-box div.jconfirm-title-c .jconfirm-title{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;font-size:inherit;font-family:inherit;display:inline-block;vertical-align:middle}.jconfirm .jconfirm-box div.jconfirm-title-c .jconfirm-title:empty{display:none}.jconfirm .jconfirm-box div.jconfirm-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;overflow-x:hidden;overflow-y:auto}.jconfirm .jconfirm-box div.jconfirm-content-pane.no-scroll{overflow-y:hidden}.jconfirm .jconfirm-box div.jconfirm-content-pane::-webkit-scrollbar{width:3px}.jconfirm .jconfirm-box div.jconfirm-content-pane::-webkit-scrollbar-track{background:rgba(0,0,0,0.1)}.jconfirm .jconfirm-box div.jconfirm-content-pane::-webkit-scrollbar-thumb{background:#666;border-radius:3px}.jconfirm .jconfirm-box div.jconfirm-content-pane .jconfirm-content{overflow:auto}.jconfirm .jconfirm-box div.jconfirm-content-pane .jconfirm-content img{max-width:100%;height:auto}.jconfirm .jconfirm-box div.jconfirm-content-pane .jconfirm-content:empty{display:none}.jconfirm .jconfirm-box .jconfirm-buttons{padding-bottom:11px}.jconfirm .jconfirm-box .jconfirm-buttons>button{margin-bottom:4px;margin-left:2px;margin-right:2px}.jconfirm .jconfirm-box .jconfirm-buttons button{display:inline-block;padding:6px 12px;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;border-radius:4px;min-height:1em;-webkit-transition:opacity .1s ease,background-color .1s ease,color .1s ease,background .1s ease,-webkit-box-shadow .1s ease;transition:opacity .1s ease,background-color .1s ease,color .1s ease,background .1s ease,-webkit-box-shadow .1s ease;transition:opacity .1s ease,background-color .1s ease,color .1s ease,box-shadow .1s ease,background .1s ease;transition:opacity .1s ease,background-color .1s ease,color .1s ease,box-shadow .1s ease,background .1s ease,-webkit-box-shadow .1s ease;-webkit-tap-highlight-color:transparent;border:0;background-image:none}.jconfirm .jconfirm-box .jconfirm-buttons button.btn-blue{background-color:#3498db;color:#FFF;text-shadow:none;-webkit-transition:background .2s;transition:background .2s}.jconfirm .jconfirm-box .jconfirm-buttons button.btn-blue:hover{background-color:#2980b9;color:#FFF}.jconfirm .jconfirm-box .jconfirm-buttons button.btn-green{background-color:#2ecc71;color:#FFF;text-shadow:none;-webkit-transition:background .2s;transition:background .2s}.jconfirm .jconfirm-box .jconfirm-buttons button.btn-green:hover{background-color:#27ae60;color:#FFF}.jconfirm .jconfirm-box .jconfirm-buttons button.btn-red{background-color:#e74c3c;color:#FFF;text-shadow:none;-webkit-transition:background .2s;transition:background .2s}.jconfirm .jconfirm-box .jconfirm-buttons button.btn-red:hover{background-color:#c0392b;color:#FFF}.jconfirm .jconfirm-box .jconfirm-buttons button.btn-orange{background-color:#f1c40f;color:#FFF;text-shadow:none;-webkit-transition:background .2s;transition:background .2s}.jconfirm .jconfirm-box .jconfirm-buttons button.btn-orange:hover{background-color:#f39c12;color:#FFF}.jconfirm .jconfirm-box .jconfirm-buttons button.btn-default{background-color:#ecf0f1;color:#000;text-shadow:none;-webkit-transition:background .2s;transition:background .2s}.jconfirm .jconfirm-box .jconfirm-buttons button.btn-default:hover{background-color:#bdc3c7;color:#000}.jconfirm .jconfirm-box .jconfirm-buttons button.btn-purple{background-color:#9b59b6;color:#FFF;text-shadow:none;-webkit-transition:background .2s;transition:background .2s}.jconfirm .jconfirm-box .jconfirm-buttons button.btn-purple:hover{background-color:#8e44ad;color:#FFF}.jconfirm .jconfirm-box .jconfirm-buttons button.btn-dark{background-color:#34495e;color:#FFF;text-shadow:none;-webkit-transition:background .2s;transition:background .2s}.jconfirm .jconfirm-box .jconfirm-buttons button.btn-dark:hover{background-color:#2c3e50;color:#FFF}.jconfirm .jconfirm-box.jconfirm-type-red .jconfirm-title-c .jconfirm-icon-c{color:#e74c3c!important}.jconfirm .jconfirm-box.jconfirm-type-blue .jconfirm-title-c .jconfirm-icon-c{color:#3498db!important}.jconfirm .jconfirm-box.jconfirm-type-green .jconfirm-title-c .jconfirm-icon-c{color:#2ecc71!important}.jconfirm .jconfirm-box.jconfirm-type-purple .jconfirm-title-c .jconfirm-icon-c{color:#9b59b6!important}.jconfirm .jconfirm-box.jconfirm-type-orange .jconfirm-title-c .jconfirm-icon-c{color:#f1c40f!important}.jconfirm .jconfirm-box.jconfirm-type-dark .jconfirm-title-c .jconfirm-icon-c{color:#34495e!important}.jconfirm .jconfirm-clear{clear:both}.jconfirm.jconfirm-rtl{direction:rtl}.jconfirm.jconfirm-rtl div.jconfirm-closeIcon{left:5px;right:auto}.jconfirm.jconfirm-white .jconfirm-bg,.jconfirm.jconfirm-light .jconfirm-bg{background-color:#444;opacity:.2}.jconfirm.jconfirm-white .jconfirm-box,.jconfirm.jconfirm-light .jconfirm-box{-webkit-box-shadow:0 2px 6px rgba(0,0,0,0.2);box-shadow:0 2px 6px rgba(0,0,0,0.2);border-radius:5px}.jconfirm.jconfirm-white .jconfirm-box .jconfirm-title-c .jconfirm-icon-c,.jconfirm.jconfirm-light .jconfirm-box .jconfirm-title-c .jconfirm-icon-c{margin-right:8px;margin-left:0}.jconfirm.jconfirm-white .jconfirm-box .jconfirm-buttons,.jconfirm.jconfirm-light .jconfirm-box .jconfirm-buttons{float:right}.jconfirm.jconfirm-white .jconfirm-box .jconfirm-buttons button,.jconfirm.jconfirm-light .jconfirm-box .jconfirm-buttons button{text-transform:uppercase;font-size:14px;font-weight:bold;text-shadow:none}.jconfirm.jconfirm-white .jconfirm-box .jconfirm-buttons button.btn-default,.jconfirm.jconfirm-light .jconfirm-box .jconfirm-buttons button.btn-default{-webkit-box-shadow:none;box-shadow:none;color:#333}.jconfirm.jconfirm-white .jconfirm-box .jconfirm-buttons button.btn-default:hover,.jconfirm.jconfirm-light .jconfirm-box .jconfirm-buttons button.btn-default:hover{background:#ddd}.jconfirm.jconfirm-white.jconfirm-rtl .jconfirm-title-c .jconfirm-icon-c,.jconfirm.jconfirm-light.jconfirm-rtl .jconfirm-title-c .jconfirm-icon-c{margin-left:8px;margin-right:0}.jconfirm.jconfirm-black .jconfirm-bg,.jconfirm.jconfirm-dark .jconfirm-bg{background-color:darkslategray;opacity:.4}.jconfirm.jconfirm-black .jconfirm-box,.jconfirm.jconfirm-dark .jconfirm-box{-webkit-box-shadow:0 2px 6px rgba(0,0,0,0.2);box-shadow:0 2px 6px rgba(0,0,0,0.2);background:#444;border-radius:5px;color:white}.jconfirm.jconfirm-black .jconfirm-box .jconfirm-title-c .jconfirm-icon-c,.jconfirm.jconfirm-dark .jconfirm-box .jconfirm-title-c .jconfirm-icon-c{margin-right:8px;margin-left:0}.jconfirm.jconfirm-black .jconfirm-box .jconfirm-buttons,.jconfirm.jconfirm-dark .jconfirm-box .jconfirm-buttons{float:right}.jconfirm.jconfirm-black .jconfirm-box .jconfirm-buttons button,.jconfirm.jconfirm-dark .jconfirm-box .jconfirm-buttons button{border:0;background-image:none;text-transform:uppercase;font-size:14px;font-weight:bold;text-shadow:none;-webkit-transition:background .1s;transition:background .1s;color:white}.jconfirm.jconfirm-black .jconfirm-box .jconfirm-buttons button.btn-default,.jconfirm.jconfirm-dark .jconfirm-box .jconfirm-buttons button.btn-default{-webkit-box-shadow:none;box-shadow:none;color:#fff;background:0}.jconfirm.jconfirm-black .jconfirm-box .jconfirm-buttons button.btn-default:hover,.jconfirm.jconfirm-dark .jconfirm-box .jconfirm-buttons button.btn-default:hover{background:#666}.jconfirm.jconfirm-black.jconfirm-rtl .jconfirm-title-c .jconfirm-icon-c,.jconfirm.jconfirm-dark.jconfirm-rtl .jconfirm-title-c .jconfirm-icon-c{margin-left:8px;margin-right:0}.jconfirm .jconfirm-box.hilight.jconfirm-hilight-shake{-webkit-animation:shake .82s cubic-bezier(0.36,0.07,0.19,0.97) both;animation:shake .82s cubic-bezier(0.36,0.07,0.19,0.97) both;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}.jconfirm .jconfirm-box.hilight.jconfirm-hilight-glow{-webkit-animation:glow .82s cubic-bezier(0.36,0.07,0.19,0.97) both;animation:glow .82s cubic-bezier(0.36,0.07,0.19,0.97) both;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}@-webkit-keyframes shake{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 shake{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)}}@-webkit-keyframes glow{0%,100%{-webkit-box-shadow:0 0 0 red;box-shadow:0 0 0 red}50%{-webkit-box-shadow:0 0 30px red;box-shadow:0 0 30px red}}@keyframes glow{0%,100%{-webkit-box-shadow:0 0 0 red;box-shadow:0 0 0 red}50%{-webkit-box-shadow:0 0 30px red;box-shadow:0 0 30px red}}.jconfirm{-webkit-perspective:400px;perspective:400px}.jconfirm .jconfirm-box{opacity:1;-webkit-transition-property:all;transition-property:all}.jconfirm .jconfirm-box.jconfirm-animation-top,.jconfirm .jconfirm-box.jconfirm-animation-left,.jconfirm .jconfirm-box.jconfirm-animation-right,.jconfirm .jconfirm-box.jconfirm-animation-bottom,.jconfirm .jconfirm-box.jconfirm-animation-opacity,.jconfirm .jconfirm-box.jconfirm-animation-zoom,.jconfirm .jconfirm-box.jconfirm-animation-scale,.jconfirm .jconfirm-box.jconfirm-animation-none,.jconfirm .jconfirm-box.jconfirm-animation-rotate,.jconfirm .jconfirm-box.jconfirm-animation-rotatex,.jconfirm .jconfirm-box.jconfirm-animation-rotatey,.jconfirm .jconfirm-box.jconfirm-animation-scaley,.jconfirm .jconfirm-box.jconfirm-animation-scalex{opacity:0}.jconfirm .jconfirm-box.jconfirm-animation-rotate{-webkit-transform:rotate(90deg);transform:rotate(90deg)}.jconfirm .jconfirm-box.jconfirm-animation-rotatex{-webkit-transform:rotateX(90deg);transform:rotateX(90deg);-webkit-transform-origin:center;transform-origin:center}.jconfirm .jconfirm-box.jconfirm-animation-rotatexr{-webkit-transform:rotateX(-90deg);transform:rotateX(-90deg);-webkit-transform-origin:center;transform-origin:center}.jconfirm .jconfirm-box.jconfirm-animation-rotatey{-webkit-transform:rotatey(90deg);transform:rotatey(90deg);-webkit-transform-origin:center;transform-origin:center}.jconfirm .jconfirm-box.jconfirm-animation-rotateyr{-webkit-transform:rotatey(-90deg);transform:rotatey(-90deg);-webkit-transform-origin:center;transform-origin:center}.jconfirm .jconfirm-box.jconfirm-animation-scaley{-webkit-transform:scaley(1.5);transform:scaley(1.5);-webkit-transform-origin:center;transform-origin:center}.jconfirm .jconfirm-box.jconfirm-animation-scalex{-webkit-transform:scalex(1.5);transform:scalex(1.5);-webkit-transform-origin:center;transform-origin:center}.jconfirm .jconfirm-box.jconfirm-animation-top{-webkit-transform:translate(0px,-100px);transform:translate(0px,-100px)}.jconfirm .jconfirm-box.jconfirm-animation-left{-webkit-transform:translate(-100px,0px);transform:translate(-100px,0px)}.jconfirm .jconfirm-box.jconfirm-animation-right{-webkit-transform:translate(100px,0px);transform:translate(100px,0px)}.jconfirm .jconfirm-box.jconfirm-animation-bottom{-webkit-transform:translate(0px,100px);transform:translate(0px,100px)}.jconfirm .jconfirm-box.jconfirm-animation-zoom{-webkit-transform:scale(1.2);transform:scale(1.2)}.jconfirm .jconfirm-box.jconfirm-animation-scale{-webkit-transform:scale(0.5);transform:scale(0.5)}.jconfirm .jconfirm-box.jconfirm-animation-none{visibility:hidden}.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.jconfirm-type-blue{border:0}.jconfirm.jconfirm-supervan .jconfirm-box.jconfirm-type-green{border:0}.jconfirm.jconfirm-supervan .jconfirm-box.jconfirm-type-red{border:0}.jconfirm.jconfirm-supervan .jconfirm-box.jconfirm-type-orange{border:0}.jconfirm.jconfirm-supervan .jconfirm-box.jconfirm-type-purple{border:0}.jconfirm.jconfirm-supervan .jconfirm-box.jconfirm-type-dark{border:0}.jconfirm.jconfirm-supervan .jconfirm-box div.jconfirm-closeIcon{color:white}.jconfirm.jconfirm-supervan .jconfirm-box div.jconfirm-title-c{text-align:center;color:white;font-size:28px;font-weight:normal}.jconfirm.jconfirm-supervan .jconfirm-box div.jconfirm-title-c>*{padding-bottom:25px}.jconfirm.jconfirm-supervan .jconfirm-box div.jconfirm-title-c .jconfirm-icon-c{margin-right:8px;margin-left:0}.jconfirm.jconfirm-supervan .jconfirm-box div.jconfirm-content-pane{margin-bottom:25px}.jconfirm.jconfirm-supervan .jconfirm-box div.jconfirm-content{text-align:center;color:white}.jconfirm.jconfirm-supervan .jconfirm-box .jconfirm-buttons{text-align:center}.jconfirm.jconfirm-supervan .jconfirm-box .jconfirm-buttons button{font-size:16px;border-radius:2px;background:#303f53;text-shadow:none;border:0;color:white;padding:10px;min-width:100px}.jconfirm.jconfirm-supervan.jconfirm-rtl .jconfirm-box div.jconfirm-title-c .jconfirm-icon-c{margin-left:8px;margin-right:0}.jconfirm.jconfirm-material .jconfirm-bg{background-color:rgba(0,0,0,0.67)}.jconfirm.jconfirm-material .jconfirm-box{background-color:white;-webkit-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);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 .jconfirm-title-c .jconfirm-icon-c{margin-right:8px;margin-left:0}.jconfirm.jconfirm-material .jconfirm-box div.jconfirm-closeIcon{color:rgba(0,0,0,0.87)}.jconfirm.jconfirm-material .jconfirm-box div.jconfirm-title-c{color:rgba(0,0,0,0.87);font-size:22px;font-weight:bold}.jconfirm.jconfirm-material .jconfirm-box div.jconfirm-content{color:rgba(0,0,0,0.87)}.jconfirm.jconfirm-material .jconfirm-box .jconfirm-buttons{text-align:right}.jconfirm.jconfirm-material .jconfirm-box .jconfirm-buttons button{text-transform:uppercase;font-weight:500}.jconfirm.jconfirm-material.jconfirm-rtl .jconfirm-title-c .jconfirm-icon-c{margin-left:8px;margin-right:0}.jconfirm.jconfirm-bootstrap .jconfirm-bg{background-color:rgba(0,0,0,0.21)}.jconfirm.jconfirm-bootstrap .jconfirm-box{background-color:white;-webkit-box-shadow:0 3px 8px 0 rgba(0,0,0,0.2);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 .jconfirm-title-c .jconfirm-icon-c{margin-right:8px;margin-left:0}.jconfirm.jconfirm-bootstrap .jconfirm-box div.jconfirm-closeIcon{color:rgba(0,0,0,0.87)}.jconfirm.jconfirm-bootstrap .jconfirm-box div.jconfirm-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.jconfirm-content{color:rgba(0,0,0,0.87);padding:0 15px}.jconfirm.jconfirm-bootstrap .jconfirm-box .jconfirm-buttons{text-align:right;padding:10px;margin:-5px 0 0;border-top:solid 1px #ddd;overflow:hidden;border-radius:0 0 4px 4px}.jconfirm.jconfirm-bootstrap .jconfirm-box .jconfirm-buttons button{font-weight:500}.jconfirm.jconfirm-bootstrap.jconfirm-rtl .jconfirm-title-c .jconfirm-icon-c{margin-left:8px;margin-right:0}.jconfirm.jconfirm-modern .jconfirm-bg{background-color:slategray;opacity:.6}.jconfirm.jconfirm-modern .jconfirm-box{background-color:white;-webkit-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);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 30px 15px}.jconfirm.jconfirm-modern .jconfirm-box div.jconfirm-closeIcon{color:rgba(0,0,0,0.87);top:15px;right:15px}.jconfirm.jconfirm-modern .jconfirm-box div.jconfirm-title-c{color:rgba(0,0,0,0.87);font-size:24px;font-weight:bold;text-align:center;margin-bottom:10px}.jconfirm.jconfirm-modern .jconfirm-box div.jconfirm-title-c .jconfirm-icon-c{-webkit-transition:-webkit-transform .5s;transition:-webkit-transform .5s;transition:transform .5s;transition:transform .5s,-webkit-transform .5s;-webkit-transform:scale(0);transform:scale(0);display:block;margin-right:0;margin-left:0;margin-bottom:10px;font-size:69px;color:#aaa}.jconfirm.jconfirm-modern .jconfirm-box div.jconfirm-content{text-align:center;font-size:15px;color:#777;margin-bottom:25px}.jconfirm.jconfirm-modern .jconfirm-box .jconfirm-buttons{text-align:center}.jconfirm.jconfirm-modern .jconfirm-box .jconfirm-buttons button{font-weight:bold;text-transform:uppercase;-webkit-transition:background .1s;transition:background .1s;padding:10px 20px}.jconfirm.jconfirm-modern .jconfirm-box .jconfirm-buttons button+button{margin-left:4px}.jconfirm.jconfirm-modern.jconfirm-open .jconfirm-box .jconfirm-title-c .jconfirm-icon-c{-webkit-transform:scale(1);transform:scale(1)}
assets/css/jquery-ui/images/ui-bg_flat_0_aaaaaa_40x100.png ADDED
Binary file
assets/css/jquery-ui/images/ui-bg_flat_75_ffffff_40x100.png ADDED
Binary file
assets/css/jquery-ui/images/ui-bg_glass_55_fbf9ee_1x400.png ADDED
Binary file
assets/css/jquery-ui/images/ui-bg_glass_65_ffffff_1x400.png ADDED
Binary file
assets/css/jquery-ui/images/ui-bg_glass_75_dadada_1x400.png ADDED
Binary file
assets/css/jquery-ui/images/ui-bg_glass_75_e6e6e6_1x400.png ADDED
Binary file
assets/css/jquery-ui/images/ui-bg_glass_95_fef1ec_1x400.png ADDED
Binary file
assets/css/jquery-ui/images/ui-bg_highlight-soft_75_cccccc_1x100.png ADDED
Binary file
assets/css/jquery-ui/images/ui-icons_222222_256x240.png ADDED
Binary file
assets/css/jquery-ui/images/ui-icons_2e83ff_256x240.png ADDED
Binary file
assets/css/jquery-ui/images/ui-icons_454545_256x240.png ADDED
Binary file
assets/css/jquery-ui/images/ui-icons_888888_256x240.png ADDED
Binary file
assets/css/jquery-ui/images/ui-icons_cd0a0a_256x240.png ADDED
Binary file
assets/css/select2.css ADDED
@@ -0,0 +1 @@
 
1
+ .select2-container{box-sizing:border-box;display:inline-block;margin:0;position:relative;vertical-align:middle}.select2-container .select2-selection--single{box-sizing:border-box;cursor:pointer;display:block;height:28px;margin:0 0 -4px;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-user-select:none}.select2-container .select2-selection--single .select2-selection__rendered{display:block;padding-left:8px;padding-right:20px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.select2-container .select2-selection--single .select2-selection__clear{position:relative}.select2-container[dir=rtl] .select2-selection--single .select2-selection__rendered{padding-right:8px;padding-left:20px}.select2-container .select2-selection--multiple{box-sizing:border-box;cursor:pointer;display:block;min-height:32px;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-user-select:none}.select2-container .select2-selection--multiple .select2-selection__rendered{display:inline-block;overflow:hidden;padding-left:8px;text-overflow:ellipsis;white-space:nowrap}.select2-container .select2-search--inline{float:left;padding:0}.select2-container .select2-search--inline .select2-search__field{box-sizing:border-box;border:none;font-size:100%;margin:0;padding:0}.select2-container .select2-search--inline .select2-search__field::-webkit-search-cancel-button{-webkit-appearance:none}.select2-dropdown{background-color:#fff;border:1px solid #aaa;border-radius:4px;box-sizing:border-box;display:block;position:absolute;left:-100000px;width:100%;z-index:1051}.select2-results{display:block}.select2-results__options{list-style:none;margin:0;padding:0}.select2-results__option{padding:6px;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-user-select:none}.select2-results__option[aria-selected],.select2-results__option[data-selected]{cursor:pointer}.select2-container--open .select2-dropdown{left:0}.select2-container--open .select2-dropdown--above{border-bottom:none;border-bottom-left-radius:0;border-bottom-right-radius:0}.select2-container--open .select2-dropdown--below{border-top:none;border-top-left-radius:0;border-top-right-radius:0}.select2-search--dropdown{display:block;padding:4px}.select2-search--dropdown .select2-search__field{padding:4px;width:100%;box-sizing:border-box}.select2-search--dropdown .select2-search__field::-webkit-search-cancel-button{-webkit-appearance:none}.select2-search--dropdown.select2-search--hide{display:none}.select2-close-mask{border:0;margin:0;padding:0;display:block;position:fixed;left:0;top:0;min-height:100%;min-width:100%;height:auto;width:auto;opacity:0;z-index:99;background-color:#fff}.select2-hidden-accessible{border:0!important;clip:rect(0 0 0 0)!important;height:1px!important;margin:-1px!important;overflow:hidden!important;padding:0!important;position:absolute!important;width:1px!important}.select2-container--default .select2-selection--single{background-color:#fff;border:1px solid #aaa;border-radius:4px}.select2-container--default .select2-selection--single .select2-selection__rendered{color:#444;line-height:28px}.select2-container--default .select2-selection--single .select2-selection__clear{cursor:pointer;float:right;font-weight:700}.select2-container--default .select2-selection--single .select2-selection__placeholder{color:#999}.select2-container--default .select2-selection--single .select2-selection__arrow{height:26px;position:absolute;top:1px;right:1px;width:20px}.select2-container--default .select2-selection--single .select2-selection__arrow b{border-color:#888 transparent transparent transparent;border-style:solid;border-width:5px 4px 0 4px;height:0;left:50%;margin-left:-4px;margin-top:-2px;position:absolute;top:50%;width:0}.select2-container--default[dir=rtl] .select2-selection--single .select2-selection__clear{float:left}.select2-container--default[dir=rtl] .select2-selection--single .select2-selection__arrow{left:1px;right:auto}.select2-container--default.select2-container--disabled .select2-selection--single{background-color:#eee;cursor:default}.select2-container--default.select2-container--disabled .select2-selection--single .select2-selection__clear{display:none}.select2-container--default.select2-container--open .select2-selection--single .select2-selection__arrow b{border-color:transparent transparent #888 transparent;border-width:0 4px 5px 4px}.select2-container--default .select2-selection--multiple{background-color:#fff;border:1px solid #aaa;border-radius:4px;cursor:text}.select2-container--default .select2-selection--multiple .select2-selection__rendered{box-sizing:border-box;list-style:none;margin:0;padding:0 5px;width:100%}.select2-container--default .select2-selection--multiple .select2-selection__rendered li{list-style:none;margin:5px 5px 0 0}.select2-container--default .select2-selection--multiple .select2-selection__rendered li:before{content:'';display:none}.select2-container--default .select2-selection--multiple .select2-selection__placeholder{color:#999;margin-top:5px;float:left}.select2-container--default .select2-selection--multiple .select2-selection__clear{cursor:pointer;float:right;font-weight:700;margin-top:5px;margin-right:10px}.select2-container--default .select2-selection--multiple .select2-selection__choice{background-color:#e4e4e4;border:1px solid #aaa;border-radius:4px;cursor:default;float:left;margin-right:5px;margin-top:5px;padding:0 5px}.select2-container--default .select2-selection--multiple .select2-selection__choice__remove{color:#999;cursor:pointer;display:inline-block;font-weight:700;margin-right:2px}.select2-container--default .select2-selection--multiple .select2-selection__choice__remove:hover{color:#333}.select2-container--default[dir=rtl] .select2-selection--multiple .select2-search--inline,.select2-container--default[dir=rtl] .select2-selection--multiple .select2-selection__choice,.select2-container--default[dir=rtl] .select2-selection--multiple .select2-selection__placeholder{float:right}.select2-container--default[dir=rtl] .select2-selection--multiple .select2-selection__choice{margin-left:5px;margin-right:auto}.select2-container--default[dir=rtl] .select2-selection--multiple .select2-selection__choice__remove{margin-left:2px;margin-right:auto}.select2-container--default.select2-container--focus .select2-selection--multiple{border:solid #000 1px;outline:0}.select2-container--default.select2-container--disabled .select2-selection--multiple{background-color:#eee;cursor:default}.select2-container--default.select2-container--disabled .select2-selection__choice__remove{display:none}.select2-container--default.select2-container--open.select2-container--above .select2-selection--multiple,.select2-container--default.select2-container--open.select2-container--above .select2-selection--single{border-top-left-radius:0;border-top-right-radius:0}.select2-container--default.select2-container--open.select2-container--below .select2-selection--multiple,.select2-container--default.select2-container--open.select2-container--below .select2-selection--single{border-bottom-left-radius:0;border-bottom-right-radius:0}.select2-container--default .select2-search--dropdown .select2-search__field{border:1px solid #aaa}.select2-container--default .select2-search--inline .select2-search__field{background:0 0;border:none;outline:0;box-shadow:none;-webkit-appearance:textfield}.select2-container--default .select2-results>.select2-results__options{max-height:200px;overflow-y:auto}.select2-container--default .select2-results__option[role=group]{padding:0}.select2-container--default .select2-results__option[aria-disabled=true]{color:#999}.select2-container--default .select2-results__option[aria-selected=true],.select2-container--default .select2-results__option[data-selected=true]{background-color:#ddd}.select2-container--default .select2-results__option .select2-results__option{padding-left:1em}.select2-container--default .select2-results__option .select2-results__option .select2-results__group{padding-left:0}.select2-container--default .select2-results__option .select2-results__option .select2-results__option{margin-left:-1em;padding-left:2em}.select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option{margin-left:-2em;padding-left:3em}.select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option{margin-left:-3em;padding-left:4em}.select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option{margin-left:-4em;padding-left:5em}.select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option{margin-left:-5em;padding-left:6em}.select2-container--default .select2-results__option--highlighted[aria-selected],.select2-container--default .select2-results__option--highlighted[data-selected]{background-color:#0073aa;color:#fff}.select2-container--default .select2-results__group{cursor:default;display:block;padding:6px}.select2-container--classic .select2-selection--single{background-color:#f7f7f7;border:1px solid #aaa;border-radius:4px;outline:0;background-image:-webkit-linear-gradient(top,#fff 50%,#eee 100%);background-image:linear-gradient(to bottom,#fff 50%,#eee 100%);background-repeat:repeat-x}.select2-container--classic .select2-selection--single:focus{border:1px solid #0073aa}.select2-container--classic .select2-selection--single .select2-selection__rendered{color:#444;line-height:28px}.select2-container--classic .select2-selection--single .select2-selection__clear{cursor:pointer;float:right;font-weight:700;margin-right:10px}.select2-container--classic .select2-selection--single .select2-selection__placeholder{color:#999}.select2-container--classic .select2-selection--single .select2-selection__arrow{background-color:#ddd;border:none;border-left:1px solid #aaa;border-top-right-radius:4px;border-bottom-right-radius:4px;height:26px;position:absolute;top:1px;right:1px;width:20px;background-image:-webkit-linear-gradient(top,#eee 50%,#ccc 100%);background-image:linear-gradient(to bottom,#eee 50%,#ccc 100%);background-repeat:repeat-x}.select2-container--classic .select2-selection--single .select2-selection__arrow b{border-color:#888 transparent transparent transparent;border-style:solid;border-width:5px 4px 0 4px;height:0;left:50%;margin-left:-4px;margin-top:-2px;position:absolute;top:50%;width:0}.select2-container--classic[dir=rtl] .select2-selection--single .select2-selection__clear{float:left}.select2-container--classic[dir=rtl] .select2-selection--single .select2-selection__arrow{border:none;border-right:1px solid #aaa;border-radius:0;border-top-left-radius:4px;border-bottom-left-radius:4px;left:1px;right:auto}.select2-container--classic.select2-container--open .select2-selection--single{border:1px solid #0073aa}.select2-container--classic.select2-container--open .select2-selection--single .select2-selection__arrow{background:0 0;border:none}.select2-container--classic.select2-container--open .select2-selection--single .select2-selection__arrow b{border-color:transparent transparent #888 transparent;border-width:0 4px 5px 4px}.select2-container--classic.select2-container--open.select2-container--above .select2-selection--single{border-top:none;border-top-left-radius:0;border-top-right-radius:0;background-image:-webkit-linear-gradient(top,#fff 0,#eee 50%);background-image:linear-gradient(to bottom,#fff 0,#eee 50%);background-repeat:repeat-x}.select2-container--classic.select2-container--open.select2-container--below .select2-selection--single{border-bottom:none;border-bottom-left-radius:0;border-bottom-right-radius:0;background-image:-webkit-linear-gradient(top,#eee 50%,#fff 100%);background-image:linear-gradient(to bottom,#eee 50%,#fff 100%);background-repeat:repeat-x}.select2-container--classic .select2-selection--multiple{background-color:#fff;border:1px solid #aaa;border-radius:4px;cursor:text;outline:0}.select2-container--classic .select2-selection--multiple:focus{border:1px solid #0073aa}.select2-container--classic .select2-selection--multiple .select2-selection__rendered{list-style:none;margin:0;padding:0 5px}.select2-container--classic .select2-selection--multiple .select2-selection__clear{display:none}.select2-container--classic .select2-selection--multiple .select2-selection__choice{background-color:#e4e4e4;border:1px solid #aaa;border-radius:4px;cursor:default;float:left;margin-right:5px;margin-top:5px;padding:0 5px}.select2-container--classic .select2-selection--multiple .select2-selection__choice__remove{color:#888;cursor:pointer;display:inline-block;font-weight:700;margin-right:2px}.select2-container--classic .select2-selection--multiple .select2-selection__choice__remove:hover{color:#555}.select2-container--classic[dir=rtl] .select2-selection--multiple .select2-selection__choice{float:right}.select2-container--classic[dir=rtl] .select2-selection--multiple .select2-selection__choice{margin-left:5px;margin-right:auto}.select2-container--classic[dir=rtl] .select2-selection--multiple .select2-selection__choice__remove{margin-left:2px;margin-right:auto}.select2-container--classic.select2-container--open .select2-selection--multiple{border:1px solid #0073aa}.select2-container--classic.select2-container--open.select2-container--above .select2-selection--multiple{border-top:none;border-top-left-radius:0;border-top-right-radius:0}.select2-container--classic.select2-container--open.select2-container--below .select2-selection--multiple{border-bottom:none;border-bottom-left-radius:0;border-bottom-right-radius:0}.select2-container--classic .select2-search--dropdown .select2-search__field{border:1px solid #aaa;outline:0}.select2-container--classic .select2-search--inline .select2-search__field{outline:0;box-shadow:none}.select2-container--classic .select2-dropdown{background-color:#fff;border:1px solid transparent}.select2-container--classic .select2-dropdown--above{border-bottom:none}.select2-container--classic .select2-dropdown--below{border-top:none}.select2-container--classic .select2-results>.select2-results__options{max-height:200px;overflow-y:auto}.select2-container--classic .select2-results__option[role=group]{padding:0}.select2-container--classic .select2-results__option[aria-disabled=true]{color:grey}.select2-container--classic .select2-results__option--highlighted[aria-selected],.select2-container--classic .select2-results__option--highlighted[data-selected]{background-color:#3875d7;color:#fff}.select2-container--classic .select2-results__group{cursor:default;display:block;padding:6px}.select2-container--classic.select2-container--open .select2-dropdown{border-color:#0073aa}
assets/css/select2.scss ADDED
@@ -0,0 +1,642 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ .select2-container {
2
+ box-sizing: border-box;
3
+ display: inline-block;
4
+ margin: 0;
5
+ position: relative;
6
+ vertical-align: middle;
7
+ }
8
+
9
+ .select2-container .select2-selection--single {
10
+ box-sizing: border-box;
11
+ cursor: pointer;
12
+ display: block;
13
+ height: 28px;
14
+ margin: 0 0 -4px;
15
+ user-select: none;
16
+ -webkit-user-select: none;
17
+ }
18
+
19
+ .select2-container .select2-selection--single .select2-selection__rendered {
20
+ display: block;
21
+ padding-left: 8px;
22
+ padding-right: 20px;
23
+ overflow: hidden;
24
+ text-overflow: ellipsis;
25
+ white-space: nowrap;
26
+ }
27
+
28
+ .select2-container .select2-selection--single .select2-selection__clear {
29
+ position: relative;
30
+ }
31
+
32
+ .select2-container[dir="rtl"] .select2-selection--single .select2-selection__rendered {
33
+ padding-right: 8px;
34
+ padding-left: 20px;
35
+ }
36
+
37
+ .select2-container .select2-selection--multiple {
38
+ box-sizing: border-box;
39
+ cursor: pointer;
40
+ display: block;
41
+ min-height: 32px;
42
+ user-select: none;
43
+ -webkit-user-select: none;
44
+ }
45
+
46
+ .select2-container .select2-selection--multiple .select2-selection__rendered {
47
+ display: inline-block;
48
+ overflow: hidden;
49
+ padding-left: 8px;
50
+ text-overflow: ellipsis;
51
+ white-space: nowrap;
52
+ }
53
+
54
+ .select2-container .select2-search--inline {
55
+ float: left;
56
+ padding: 0;
57
+ }
58
+
59
+ .select2-container .select2-search--inline .select2-search__field {
60
+ box-sizing: border-box;
61
+ border: none;
62
+ font-size: 100%;
63
+ margin: 0;
64
+ padding: 0;
65
+ }
66
+
67
+ .select2-container .select2-search--inline .select2-search__field::-webkit-search-cancel-button {
68
+ -webkit-appearance: none;
69
+ }
70
+
71
+ .select2-dropdown {
72
+ background-color: white;
73
+ border: 1px solid #aaa;
74
+ border-radius: 4px;
75
+ box-sizing: border-box;
76
+ display: block;
77
+ position: absolute;
78
+ left: -100000px;
79
+ width: 100%;
80
+ z-index: 1051;
81
+ }
82
+
83
+ .select2-results {
84
+ display: block;
85
+ }
86
+
87
+ .select2-results__options {
88
+ list-style: none;
89
+ margin: 0;
90
+ padding: 0;
91
+ }
92
+
93
+ .select2-results__option {
94
+ padding: 6px;
95
+ user-select: none;
96
+ -webkit-user-select: none;
97
+ }
98
+
99
+ .select2-results__option[data-selected],
100
+ .select2-results__option[aria-selected] {
101
+ cursor: pointer;
102
+ }
103
+
104
+ .select2-container--open .select2-dropdown {
105
+ left: 0;
106
+ }
107
+
108
+ .select2-container--open .select2-dropdown--above {
109
+ border-bottom: none;
110
+ border-bottom-left-radius: 0;
111
+ border-bottom-right-radius: 0;
112
+ }
113
+
114
+ .select2-container--open .select2-dropdown--below {
115
+ border-top: none;
116
+ border-top-left-radius: 0;
117
+ border-top-right-radius: 0;
118
+ }
119
+
120
+ .select2-search--dropdown {
121
+ display: block;
122
+ padding: 4px;
123
+ }
124
+
125
+ .select2-search--dropdown .select2-search__field {
126
+ padding: 4px;
127
+ width: 100%;
128
+ box-sizing: border-box;
129
+ }
130
+
131
+ .select2-search--dropdown .select2-search__field::-webkit-search-cancel-button {
132
+ -webkit-appearance: none;
133
+ }
134
+
135
+ .select2-search--dropdown.select2-search--hide {
136
+ display: none;
137
+ }
138
+
139
+ .select2-close-mask {
140
+ border: 0;
141
+ margin: 0;
142
+ padding: 0;
143
+ display: block;
144
+ position: fixed;
145
+ left: 0;
146
+ top: 0;
147
+ min-height: 100%;
148
+ min-width: 100%;
149
+ height: auto;
150
+ width: auto;
151
+ opacity: 0;
152
+ z-index: 99;
153
+ background-color: #fff;
154
+ filter: alpha(opacity=0);
155
+ }
156
+
157
+ .select2-hidden-accessible {
158
+ border: 0 !important;
159
+ clip: rect(0 0 0 0) !important;
160
+ height: 1px !important;
161
+ margin: -1px !important;
162
+ overflow: hidden !important;
163
+ padding: 0 !important;
164
+ position: absolute !important;
165
+ width: 1px !important;
166
+ }
167
+
168
+ .select2-container--default .select2-selection--single {
169
+ background-color: #fff;
170
+ border: 1px solid #aaa;
171
+ border-radius: 4px;
172
+ }
173
+
174
+ .select2-container--default .select2-selection--single .select2-selection__rendered {
175
+ color: #444;
176
+ line-height: 28px;
177
+ }
178
+
179
+ .select2-container--default .select2-selection--single .select2-selection__clear {
180
+ cursor: pointer;
181
+ float: right;
182
+ font-weight: bold;
183
+ }
184
+
185
+ .select2-container--default .select2-selection--single .select2-selection__placeholder {
186
+ color: #999;
187
+ }
188
+
189
+ .select2-container--default .select2-selection--single .select2-selection__arrow {
190
+ height: 26px;
191
+ position: absolute;
192
+ top: 1px;
193
+ right: 1px;
194
+ width: 20px;
195
+ }
196
+
197
+ .select2-container--default .select2-selection--single .select2-selection__arrow b {
198
+ border-color: #888 transparent transparent transparent;
199
+ border-style: solid;
200
+ border-width: 5px 4px 0 4px;
201
+ height: 0;
202
+ left: 50%;
203
+ margin-left: -4px;
204
+ margin-top: -2px;
205
+ position: absolute;
206
+ top: 50%;
207
+ width: 0;
208
+ }
209
+
210
+ .select2-container--default[dir="rtl"] .select2-selection--single .select2-selection__clear {
211
+ float: left;
212
+ }
213
+
214
+ .select2-container--default[dir="rtl"] .select2-selection--single .select2-selection__arrow {
215
+ left: 1px;
216
+ right: auto;
217
+ }
218
+
219
+ .select2-container--default.select2-container--disabled .select2-selection--single {
220
+ background-color: #eee;
221
+ cursor: default;
222
+ }
223
+
224
+ .select2-container--default.select2-container--disabled .select2-selection--single .select2-selection__clear {
225
+ display: none;
226
+ }
227
+
228
+ .select2-container--default.select2-container--open .select2-selection--single .select2-selection__arrow b {
229
+ border-color: transparent transparent #888 transparent;
230
+ border-width: 0 4px 5px 4px;
231
+ }
232
+
233
+ .select2-container--default .select2-selection--multiple {
234
+ background-color: white;
235
+ border: 1px solid #aaa;
236
+ border-radius: 4px;
237
+ cursor: text;
238
+ }
239
+
240
+ .select2-container--default .select2-selection--multiple .select2-selection__rendered {
241
+ box-sizing: border-box;
242
+ list-style: none;
243
+ margin: 0;
244
+ padding: 0 5px;
245
+ width: 100%;
246
+ }
247
+
248
+ .select2-container--default .select2-selection--multiple .select2-selection__rendered li {
249
+ list-style: none;
250
+ margin: 5px 5px 0 0;
251
+
252
+ &:before {
253
+ content: '';
254
+ display: none;
255
+ }
256
+ }
257
+
258
+ .select2-container--default .select2-selection--multiple .select2-selection__placeholder {
259
+ color: #999;
260
+ margin-top: 5px;
261
+ float: left;
262
+ }
263
+
264
+ .select2-container--default .select2-selection--multiple .select2-selection__clear {
265
+ cursor: pointer;
266
+ float: right;
267
+ font-weight: bold;
268
+ margin-top: 5px;
269
+ margin-right: 10px;
270
+ }
271
+
272
+ .select2-container--default .select2-selection--multiple .select2-selection__choice {
273
+ background-color: #e4e4e4;
274
+ border: 1px solid #aaa;
275
+ border-radius: 4px;
276
+ cursor: default;
277
+ float: left;
278
+ margin-right: 5px;
279
+ margin-top: 5px;
280
+ padding: 0 5px;
281
+ }
282
+
283
+ .select2-container--default .select2-selection--multiple .select2-selection__choice__remove {
284
+ color: #999;
285
+ cursor: pointer;
286
+ display: inline-block;
287
+ font-weight: bold;
288
+ margin-right: 2px;
289
+ }
290
+
291
+ .select2-container--default .select2-selection--multiple .select2-selection__choice__remove:hover {
292
+ color: #333;
293
+ }
294
+
295
+ .select2-container--default[dir="rtl"] .select2-selection--multiple .select2-selection__choice,
296
+ .select2-container--default[dir="rtl"] .select2-selection--multiple .select2-selection__placeholder,
297
+ .select2-container--default[dir="rtl"] .select2-selection--multiple .select2-search--inline {
298
+ float: right;
299
+ }
300
+
301
+ .select2-container--default[dir="rtl"] .select2-selection--multiple .select2-selection__choice {
302
+ margin-left: 5px;
303
+ margin-right: auto;
304
+ }
305
+
306
+ .select2-container--default[dir="rtl"] .select2-selection--multiple .select2-selection__choice__remove {
307
+ margin-left: 2px;
308
+ margin-right: auto;
309
+ }
310
+
311
+ .select2-container--default.select2-container--focus .select2-selection--multiple {
312
+ border: solid black 1px;
313
+ outline: 0;
314
+ }
315
+
316
+ .select2-container--default.select2-container--disabled .select2-selection--multiple {
317
+ background-color: #eee;
318
+ cursor: default;
319
+ }
320
+
321
+ .select2-container--default.select2-container--disabled .select2-selection__choice__remove {
322
+ display: none;
323
+ }
324
+
325
+ .select2-container--default.select2-container--open.select2-container--above .select2-selection--single,
326
+ .select2-container--default.select2-container--open.select2-container--above .select2-selection--multiple {
327
+ border-top-left-radius: 0;
328
+ border-top-right-radius: 0;
329
+ }
330
+
331
+ .select2-container--default.select2-container--open.select2-container--below .select2-selection--single,
332
+ .select2-container--default.select2-container--open.select2-container--below .select2-selection--multiple {
333
+ border-bottom-left-radius: 0;
334
+ border-bottom-right-radius: 0;
335
+ }
336
+
337
+ .select2-container--default .select2-search--dropdown .select2-search__field {
338
+ border: 1px solid #aaa;
339
+ }
340
+
341
+ .select2-container--default .select2-search--inline .select2-search__field {
342
+ background: transparent;
343
+ border: none;
344
+ outline: 0;
345
+ box-shadow: none;
346
+ -webkit-appearance: textfield;
347
+ }
348
+
349
+ .select2-container--default .select2-results>.select2-results__options {
350
+ max-height: 200px;
351
+ overflow-y: auto;
352
+ }
353
+
354
+ .select2-container--default .select2-results__option[role=group] {
355
+ padding: 0;
356
+ }
357
+
358
+ .select2-container--default .select2-results__option[aria-disabled=true] {
359
+ color: #999;
360
+ }
361
+
362
+ .select2-container--default .select2-results__option[data-selected=true],
363
+ .select2-container--default .select2-results__option[aria-selected=true] {
364
+ background-color: #ddd;
365
+ }
366
+
367
+ .select2-container--default .select2-results__option .select2-results__option {
368
+ padding-left: 1em;
369
+ }
370
+
371
+ .select2-container--default .select2-results__option .select2-results__option .select2-results__group {
372
+ padding-left: 0;
373
+ }
374
+
375
+ .select2-container--default .select2-results__option .select2-results__option .select2-results__option {
376
+ margin-left: -1em;
377
+ padding-left: 2em;
378
+ }
379
+
380
+ .select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option {
381
+ margin-left: -2em;
382
+ padding-left: 3em;
383
+ }
384
+
385
+ .select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option {
386
+ margin-left: -3em;
387
+ padding-left: 4em;
388
+ }
389
+
390
+ .select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option {
391
+ margin-left: -4em;
392
+ padding-left: 5em;
393
+ }
394
+
395
+ .select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option {
396
+ margin-left: -5em;
397
+ padding-left: 6em;
398
+ }
399
+
400
+ .select2-container--default .select2-results__option--highlighted[data-selected],
401
+ .select2-container--default .select2-results__option--highlighted[aria-selected] {
402
+ background-color: #0073aa;
403
+ color: white;
404
+ }
405
+
406
+ .select2-container--default .select2-results__group {
407
+ cursor: default;
408
+ display: block;
409
+ padding: 6px;
410
+ }
411
+
412
+ .select2-container--classic .select2-selection--single {
413
+ background-color: #f7f7f7;
414
+ border: 1px solid #aaa;
415
+ border-radius: 4px;
416
+ outline: 0;
417
+ background-image: linear-gradient(to bottom, white 50%, #eeeeee 100%);
418
+ background-repeat: repeat-x;
419
+ filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFFFFFFF', endColorstr='#FFEEEEEE', GradientType=0);
420
+ }
421
+
422
+ .select2-container--classic .select2-selection--single:focus {
423
+ border: 1px solid #0073aa;
424
+ }
425
+
426
+ .select2-container--classic .select2-selection--single .select2-selection__rendered {
427
+ color: #444;
428
+ line-height: 28px;
429
+ }
430
+
431
+ .select2-container--classic .select2-selection--single .select2-selection__clear {
432
+ cursor: pointer;
433
+ float: right;
434
+ font-weight: bold;
435
+ margin-right: 10px;
436
+ }
437
+
438
+ .select2-container--classic .select2-selection--single .select2-selection__placeholder {
439
+ color: #999;
440
+ }
441
+
442
+ .select2-container--classic .select2-selection--single .select2-selection__arrow {
443
+ background-color: #ddd;
444
+ border: none;
445
+ border-left: 1px solid #aaa;
446
+ border-top-right-radius: 4px;
447
+ border-bottom-right-radius: 4px;
448
+ height: 26px;
449
+ position: absolute;
450
+ top: 1px;
451
+ right: 1px;
452
+ width: 20px;
453
+ background-image: linear-gradient(to bottom, #eeeeee 50%, #cccccc 100%);
454
+ background-repeat: repeat-x;
455
+ filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFEEEEEE', endColorstr='#FFCCCCCC', GradientType=0);
456
+ }
457
+
458
+ .select2-container--classic .select2-selection--single .select2-selection__arrow b {
459
+ border-color: #888 transparent transparent transparent;
460
+ border-style: solid;
461
+ border-width: 5px 4px 0 4px;
462
+ height: 0;
463
+ left: 50%;
464
+ margin-left: -4px;
465
+ margin-top: -2px;
466
+ position: absolute;
467
+ top: 50%;
468
+ width: 0;
469
+ }
470
+
471
+ .select2-container--classic[dir="rtl"] .select2-selection--single .select2-selection__clear {
472
+ float: left;
473
+ }
474
+
475
+ .select2-container--classic[dir="rtl"] .select2-selection--single .select2-selection__arrow {
476
+ border: none;
477
+ border-right: 1px solid #aaa;
478
+ border-radius: 0;
479
+ border-top-left-radius: 4px;
480
+ border-bottom-left-radius: 4px;
481
+ left: 1px;
482
+ right: auto;
483
+ }
484
+
485
+ .select2-container--classic.select2-container--open .select2-selection--single {
486
+ border: 1px solid #0073aa;
487
+ }
488
+
489
+ .select2-container--classic.select2-container--open .select2-selection--single .select2-selection__arrow {
490
+ background: transparent;
491
+ border: none;
492
+ }
493
+
494
+ .select2-container--classic.select2-container--open .select2-selection--single .select2-selection__arrow b {
495
+ border-color: transparent transparent #888 transparent;
496
+ border-width: 0 4px 5px 4px;
497
+ }
498
+
499
+ .select2-container--classic.select2-container--open.select2-container--above .select2-selection--single {
500
+ border-top: none;
501
+ border-top-left-radius: 0;
502
+ border-top-right-radius: 0;
503
+ background-image: linear-gradient(to bottom, white 0%, #eeeeee 50%);
504
+ background-repeat: repeat-x;
505
+ filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFFFFFFF', endColorstr='#FFEEEEEE', GradientType=0);
506
+ }
507
+
508
+ .select2-container--classic.select2-container--open.select2-container--below .select2-selection--single {
509
+ border-bottom: none;
510
+ border-bottom-left-radius: 0;
511
+ border-bottom-right-radius: 0;
512
+ background-image: linear-gradient(to bottom, #eeeeee 50%, white 100%);
513
+ background-repeat: repeat-x;
514
+ filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFEEEEEE', endColorstr='#FFFFFFFF', GradientType=0);
515
+ }
516
+
517
+ .select2-container--classic .select2-selection--multiple {
518
+ background-color: white;
519
+ border: 1px solid #aaa;
520
+ border-radius: 4px;
521
+ cursor: text;
522
+ outline: 0;
523
+ }
524
+
525
+ .select2-container--classic .select2-selection--multiple:focus {
526
+ border: 1px solid #0073aa;
527
+ }
528
+
529
+ .select2-container--classic .select2-selection--multiple .select2-selection__rendered {
530
+ list-style: none;
531
+ margin: 0;
532
+ padding: 0 5px;
533
+ }
534
+
535
+ .select2-container--classic .select2-selection--multiple .select2-selection__clear {
536
+ display: none;
537
+ }
538
+
539
+ .select2-container--classic .select2-selection--multiple .select2-selection__choice {
540
+ background-color: #e4e4e4;
541
+ border: 1px solid #aaa;
542
+ border-radius: 4px;
543
+ cursor: default;
544
+ float: left;
545
+ margin-right: 5px;
546
+ margin-top: 5px;
547
+ padding: 0 5px;
548
+ }
549
+
550
+ .select2-container--classic .select2-selection--multiple .select2-selection__choice__remove {
551
+ color: #888;
552
+ cursor: pointer;
553
+ display: inline-block;
554
+ font-weight: bold;
555
+ margin-right: 2px;
556
+ }
557
+
558
+ .select2-container--classic .select2-selection--multiple .select2-selection__choice__remove:hover {
559
+ color: #555;
560
+ }
561
+
562
+ .select2-container--classic[dir="rtl"] .select2-selection--multiple .select2-selection__choice {
563
+ float: right;
564
+ }
565
+
566
+ .select2-container--classic[dir="rtl"] .select2-selection--multiple .select2-selection__choice {
567
+ margin-left: 5px;
568
+ margin-right: auto;
569
+ }
570
+
571
+ .select2-container--classic[dir="rtl"] .select2-selection--multiple .select2-selection__choice__remove {
572
+ margin-left: 2px;
573
+ margin-right: auto;
574
+ }
575
+
576
+ .select2-container--classic.select2-container--open .select2-selection--multiple {
577
+ border: 1px solid #0073aa;
578
+ }
579
+
580
+ .select2-container--classic.select2-container--open.select2-container--above .select2-selection--multiple {
581
+ border-top: none;
582
+ border-top-left-radius: 0;
583
+ border-top-right-radius: 0;
584
+ }
585
+
586
+ .select2-container--classic.select2-container--open.select2-container--below .select2-selection--multiple {
587
+ border-bottom: none;
588
+ border-bottom-left-radius: 0;
589
+ border-bottom-right-radius: 0;
590
+ }
591
+
592
+ .select2-container--classic .select2-search--dropdown .select2-search__field {
593
+ border: 1px solid #aaa;
594
+ outline: 0;
595
+ }
596
+
597
+ .select2-container--classic .select2-search--inline .select2-search__field {
598
+ outline: 0;
599
+ box-shadow: none;
600
+ }
601
+
602
+ .select2-container--classic .select2-dropdown {
603
+ background-color: white;
604
+ border: 1px solid transparent;
605
+ }
606
+
607
+ .select2-container--classic .select2-dropdown--above {
608
+ border-bottom: none;
609
+ }
610
+
611
+ .select2-container--classic .select2-dropdown--below {
612
+ border-top: none;
613
+ }
614
+
615
+ .select2-container--classic .select2-results>.select2-results__options {
616
+ max-height: 200px;
617
+ overflow-y: auto;
618
+ }
619
+
620
+ .select2-container--classic .select2-results__option[role=group] {
621
+ padding: 0;
622
+ }
623
+
624
+ .select2-container--classic .select2-results__option[aria-disabled=true] {
625
+ color: grey;
626
+ }
627
+
628
+ .select2-container--classic .select2-results__option--highlighted[data-selected],
629
+ .select2-container--classic .select2-results__option--highlighted[aria-selected] {
630
+ background-color: #3875d7;
631
+ color: white;
632
+ }
633
+
634
+ .select2-container--classic .select2-results__group {
635
+ cursor: default;
636
+ display: block;
637
+ padding: 6px;
638
+ }
639
+
640
+ .select2-container--classic.select2-container--open .select2-dropdown {
641
+ border-color: #0073aa;
642
+ }
assets/images/select2-spinner.gif ADDED
Binary file
assets/images/select2.png ADDED
Binary file
assets/images/select2x2.png ADDED
Binary file
assets/js/admin/admin-helper.js DELETED
@@ -1,91 +0,0 @@
1
- ;
2
- var evfHelper = {
3
-
4
- init: function () {
5
-
6
-
7
- },
8
- /**
9
- * Update query string in URL.
10
- *
11
- * @since 1.0.0
12
- */
13
- updateQueryString: function ( key, value, url ) {
14
-
15
- if ( !url ) url = window.location.href;
16
- var re = new RegExp("([?&])" + key + "=.*?(&|#|$)(.*)", "gi"),
17
- hash;
18
-
19
- if ( re.test(url) ) {
20
- if ( typeof value !== 'undefined' && value !== null )
21
- return url.replace(re, '$1' + key + "=" + value + '$2$3');
22
- else {
23
- hash = url.split('#');
24
- url = hash[ 0 ].replace(re, '$1$3').replace(/(&|\?)$/, '');
25
- if ( typeof hash[ 1 ] !== 'undefined' && hash[ 1 ] !== null )
26
- url += '#' + hash[ 1 ];
27
- return url;
28
- }
29
- } else {
30
- if ( typeof value !== 'undefined' && value !== null ) {
31
- var separator = url.indexOf('?') !== -1 ? '&' : '?';
32
- hash = url.split('#');
33
- url = hash[ 0 ] + separator + key + '=' + value;
34
- if ( typeof hash[ 1 ] !== 'undefined' && hash[ 1 ] !== null )
35
- url += '#' + hash[ 1 ];
36
- return url;
37
- }
38
- else
39
- return url;
40
- }
41
- },
42
- parseInt: function ( value, number ) {
43
-
44
- if ( typeof number !== 'undefined' ) {
45
-
46
- return parseInt(value, number);
47
-
48
- }
49
- return parseInt(value, 0);
50
-
51
- },
52
- /**
53
- * Get query string in a URL.
54
- *
55
- * @since 1.0.0
56
- */
57
- getQueryString: function ( name ) {
58
-
59
- var match = new RegExp('[?&]' + name + '=([^&]*)').exec(window.location.search);
60
- return match && decodeURIComponent(match[ 1 ].replace(/\+/g, ' '));
61
- },
62
-
63
- /**
64
- * Is number?
65
- *
66
- * @since 1.0.0
67
- */
68
- isNumber: function ( n ) {
69
- return !isNaN(parseFloat(n)) && isFinite(n);
70
- },
71
- startEvfOverLay: function ( $node, $this ) {
72
-
73
-
74
- var overlay = $("<div class='evf-overlay'/>");
75
- overlay.append('<div class="loading"/>');
76
- $this.find('.spinner').remove();
77
- $node.find('.evf-overlay').remove();
78
- $node.css({ 'position': 'relative' });
79
- $node.append(overlay);
80
- $this.append('<span style="margin-top: -1px;margin-right: 0;" class="spinner is-active"/>');
81
- },
82
- endEvfOverLay: function ( $node, $this ) {
83
-
84
- $node.find('.evf-overlay').fadeOut();
85
- $node.find('.evf-overlay').remove();
86
- $node.removeAttr('style');
87
- $this.find('.spinner').remove();
88
- }
89
-
90
- };
91
- evfHelper.init();
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
assets/js/admin/admin-helper.min.js DELETED
@@ -1 +0,0 @@
1
- var evfHelper={init:function(){},updateQueryString:function(e,n,r){r||(r=window.location.href);var i,t=new RegExp("([?&])"+e+"=.*?(&|#|$)(.*)","gi");if(t.test(r))return null!=n?r.replace(t,"$1"+e+"="+n+"$2$3"):(r=(i=r.split("#"))[0].replace(t,"$1$3").replace(/(&|\?)$/,""),"undefined"!=typeof i[1]&&null!==i[1]&&(r+="#"+i[1]),r);if(null!=n){var a=-1!==r.indexOf("?")?"&":"?";return r=(i=r.split("#"))[0]+a+e+"="+n,"undefined"!=typeof i[1]&&null!==i[1]&&(r+="#"+i[1]),r}return r},parseInt:function(e,n){return void 0!==n?parseInt(e,n):parseInt(e,0)},getQueryString:function(e){var n=new RegExp("[?&]"+e+"=([^&]*)").exec(window.location.search);return n&&decodeURIComponent(n[1].replace(/\+/g," "))},isNumber:function(e){return!isNaN(parseFloat(e))&&isFinite(e)},startEvfOverLay:function(e,n){var r=$("<div class='evf-overlay'/>");r.append('<div class="loading"/>'),n.find(".spinner").remove(),e.find(".evf-overlay").remove(),e.css({position:"relative"}),e.append(r),n.append('<span style="margin-top: -1px;margin-right: 0;" class="spinner is-active"/>')},endEvfOverLay:function(e,n){e.find(".evf-overlay").fadeOut(),e.find(".evf-overlay").remove(),e.removeAttr("style"),n.find(".spinner").remove()}};evfHelper.init();
 
assets/js/admin/everest-panel-builder.js CHANGED
@@ -473,8 +473,7 @@
473
  });
474
  },
475
  bindSaveOption: function () {
476
-
477
- $('body').on('click', '.evf_save_form_action_button', function () {
478
  var $this = $(this);
479
  var form = $('form#everest-forms-builder-form');
480
  var structure = EVFPanelBuilder.getStructure();
@@ -494,10 +493,20 @@
494
  data: data,
495
  type: 'POST',
496
  beforeSend: function () {
497
- evfHelper.startEvfOverLay($wrapper, $this);
 
 
 
 
 
 
 
498
  },
499
  success: function ( response ) {
500
- evfHelper.endEvfOverLay($wrapper, $this);
 
 
 
501
 
502
  if ( typeof response.success === 'boolean' && response.success === true ) {
503
  // console.log(response.data);
@@ -581,19 +590,42 @@
581
  if ( panel === 'fields' ) {
582
  $('.everest-forms-field-options').hide();
583
  $('.everest-forms-add-fields').show();
584
-
585
-
586
  }
587
- history.replaceState({}, null, evfHelper.updateQueryString('tab', panel));
588
  EVFPanelBuilder.switchPanel(panel);
589
-
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
590
  },
591
  switchPanel: function ( panel ) {
592
  if ( panel === 'field-options' ) {
593
-
594
  EVFPanelBuilder.switchToFieldOptionPanel();
595
  }
596
-
597
  },
598
  switchToFieldOptionPanel: function ( field_id ) {
599
  $('li.evf-panel-field-options-button.evf-disabled-tab').show();
@@ -687,7 +719,7 @@
687
  if ( $(this).hasClass('active') ) {
688
  return;
689
  }
690
- var grid_id = evfHelper.parseInt($(this).attr('data-evf-grid'));
691
  if ( grid_id > max_number_of_grid ) {
692
  return;
693
  }
@@ -755,20 +787,16 @@
755
  });
756
  },
757
  bindFieldSettings: function () {
758
-
759
  $('body').on('click', '.everest-forms-preview .everest-forms-field, .everest-forms-preview .everest-forms-field .everest-forms-field-setting', function () {
760
  var field_id = $(this).closest('.everest-forms-field').attr('data-field-id');
761
-
762
  EVFPanelBuilder.switchToFieldOptionPanel(field_id);
763
  });
764
-
765
  }
766
  };
767
 
768
  $(function () {
769
  EVFPanelBuilder.init();
770
  });
771
-
772
  })(jQuery, window.evf_data);
773
 
774
  jQuery(function () {
473
  });
474
  },
475
  bindSaveOption: function () {
476
+ $( 'body' ).on('click', '.evf_save_form_action_button', function () {
 
477
  var $this = $(this);
478
  var form = $('form#everest-forms-builder-form');
479
  var structure = EVFPanelBuilder.getStructure();
493
  data: data,
494
  type: 'POST',
495
  beforeSend: function () {
496
+ var overlay = $( '<div class="evf-overlay"></div>' );
497
+
498
+ overlay.append( '<div class="loading"></div>' );
499
+ $this.find( '.spinner' ).remove();
500
+ $wrapper.find( '.evf-overlay' ).remove();
501
+ $wrapper.css({ 'position': 'relative' });
502
+ $wrapper.append( overlay );
503
+ $this.append( '<span style="margin-top:-1px;margin-right:0;" class="spinner is-active"></span>' );
504
  },
505
  success: function ( response ) {
506
+ $wrapper.find( '.evf-overlay' ).fadeOut();
507
+ $wrapper.find( '.evf-overlay' ).remove();
508
+ $wrapper.removeAttr( 'style' );
509
+ $this.find( '.spinner' ).remove();
510
 
511
  if ( typeof response.success === 'boolean' && response.success === true ) {
512
  // console.log(response.data);
590
  if ( panel === 'fields' ) {
591
  $('.everest-forms-field-options').hide();
592
  $('.everest-forms-add-fields').show();
 
 
593
  }
594
+ history.replaceState({}, null, EVFPanelBuilder.updateQueryString( 'tab', panel ) );
595
  EVFPanelBuilder.switchPanel(panel);
596
+ },
597
+ updateQueryString: function ( key, value, url ) {
598
+ if ( ! url ) url = window.location.href;
599
+ var re = new RegExp("([?&])" + key + "=.*?(&|#|$)(.*)", "gi"),
600
+ hash;
601
+
602
+ if ( re.test( url ) ) {
603
+ if ( typeof value !== 'undefined' && value !== null )
604
+ return url.replace(re, '$1' + key + "=" + value + '$2$3');
605
+ else {
606
+ hash = url.split('#');
607
+ url = hash[ 0 ].replace(re, '$1$3').replace(/(&|\?)$/, '');
608
+ if ( typeof hash[ 1 ] !== 'undefined' && hash[ 1 ] !== null )
609
+ url += '#' + hash[ 1 ];
610
+ return url;
611
+ }
612
+ } else {
613
+ if ( typeof value !== 'undefined' && value !== null ) {
614
+ var separator = url.indexOf('?') !== -1 ? '&' : '?';
615
+ hash = url.split('#');
616
+ url = hash[ 0 ] + separator + key + '=' + value;
617
+ if ( typeof hash[ 1 ] !== 'undefined' && hash[ 1 ] !== null )
618
+ url += '#' + hash[ 1 ];
619
+ return url;
620
+ }
621
+ else
622
+ return url;
623
+ }
624
  },
625
  switchPanel: function ( panel ) {
626
  if ( panel === 'field-options' ) {
 
627
  EVFPanelBuilder.switchToFieldOptionPanel();
628
  }
 
629
  },
630
  switchToFieldOptionPanel: function ( field_id ) {
631
  $('li.evf-panel-field-options-button.evf-disabled-tab').show();
719
  if ( $(this).hasClass('active') ) {
720
  return;
721
  }
722
+ var grid_id = parseInt( $( this ).attr( 'data-evf-grid' ), 10 );
723
  if ( grid_id > max_number_of_grid ) {
724
  return;
725
  }
787
  });
788
  },
789
  bindFieldSettings: function () {
 
790
  $('body').on('click', '.everest-forms-preview .everest-forms-field, .everest-forms-preview .everest-forms-field .everest-forms-field-setting', function () {
791
  var field_id = $(this).closest('.everest-forms-field').attr('data-field-id');
 
792
  EVFPanelBuilder.switchToFieldOptionPanel(field_id);
793
  });
 
794
  }
795
  };
796
 
797
  $(function () {
798
  EVFPanelBuilder.init();
799
  });
 
800
  })(jQuery, window.evf_data);
801
 
802
  jQuery(function () {
assets/js/admin/everest-panel-builder.min.js CHANGED
@@ -1 +1 @@
1
- !function(f,c){var r={init:function(){f(document).ready(r.ready),f(window).on("load",r.load),r.bindUI()},ready:function(){jconfirm.defaults={closeIcon:!0,backgroundDismiss:!0,escapeKey:!0,animationBounce:1,useBootstrap:!1,theme:"modern",boxWidth:"400px",columnClass:"evf-responsive-class"},f(document).trigger("everest_forms_ready")},load:function(){},bindUI:function(){r.bindDefaultTabs(),r.checkEmptyGrid(),r.bindFields(),r.bindFormPreview(),r.bindGridSwitcher(),r.bindFieldSettings(),r.bindFieldDelete(),r.bindCloneField(),r.bindSaveOption(),r.bindFieldOptionChange(),r.bindAddNewRow(),r.bindRemoveRow(),r.bindFormSettings(),r.choicesInit(),r.choicesUpdate(),"field-options"===c.tab&&f(".evf-panel-field-options-button").trigger("click")},choicesInit:function(){var e=f(".evf-choices-list");e.sortable({out:function(e,i){var t=f(e.target).attr("data-field-id");r.choiceChange(t)}});var i=e.closest(".everest-forms-field-option").attr("data-field-id");f("#everest-forms-field-"+i)},choicesUpdate:function(){f(".evf-choices-list");f("body").on("click",".evf-choices-list a.add",function(){var e=f(this).closest("li").clone();e.find('input[type="text"]').val("");var i=f(this).closest(".evf-choices-list"),t=i.attr("data-field-id"),n=i.find("li").length;n++,e.find('input[type="checkbox"],input[type="radio"]').prop("checked",!1),e.attr("data-key",n),e.find(".default").attr("name","form_fields["+t+"][choices]["+n+"][default]"),e.find(".label").attr("name","form_fields["+t+"][choices]["+n+"][label]"),e.find(".value").attr("name","form_fields["+t+"][choices]["+n+"][value]"),f(this).closest("li").after(e),r.choiceChange(t)}),f("body").on("click",".evf-choices-list a.remove",function(){var e=f(this).closest(".evf-choices-list"),i=e.attr("data-field-id");e.find("li").length<2?f.alert({title:!1,content:c.i18n_field_error_choice,icon:"dashicons dashicons-info",type:"blue",buttons:{ok:{text:c.i18n_ok,btnClass:"btn-confirm",keys:["enter"]}}}):(f(this).closest("li").remove(),r.choiceChange(i))});f("body").on("keyup paste click",".evf-choices-list input",function(){var e=f(this).closest(".evf-choices-list").attr("data-field-id");"radio"===f(this).attr("type").toLowerCase()&&f(this).is(":checked")&&(f(this).closest(".evf-choices-list").find('input[type="radio"]').prop("checked",!1),f(this).prop("checked",!0)),r.choiceChange(e)})},choiceChange:function(e){var i=f("#everest-forms-field-option-row-"+e+"-choices"),t=f("#everest-forms-field-"+e),n=t.find("ul.primary-input"),o=i.find("ul.evf-choices-list").attr("data-field-type");"select"===o&&(n=t.find("select.primary-input")),n.html(""),f.each(i.find("ul.evf-choices-list").find("li"),function(){var e=f(this).find(".default").attr("type"),i=f("<li/>").append('<input type="'+e+'" disabled="">');"select"===o&&(i=f("<option/>"),f(this).find(".default").is(":checked")&&i.attr("selected","selected")),i.append(f(this).find(".label").val()),f(this).find(".default").is(":checked")&&i.find("input").prop("checked",!0),n.append(i)})},bindFormSettings:function(){f("body").on("click",".evf-setting-panel",function(e){var i=f(this).attr("data-section");f(".evf-setting-panel").removeClass("active"),f(".evf-content-section").removeClass("active"),f(this).addClass("active"),f(".evf-content-"+i+"-settings").addClass("active"),e.preventDefault()}),f(".evf-setting-panel").eq(0).trigger("click")},removeRow:function(e){f.each(e.find(".everest-forms-field"),function(){var e=f(this),i=e.attr("data-field-id"),t=f("#everest-forms-field-option-"+i);e.remove(),t.remove()}),e.remove()},bindRemoveRow:function(){f("body").on("click",".evf-delete-row",function(){var e=f(this).closest(".evf-admin-row");f(".evf-admin-row").length<2?f.alert({title:c.i18n_row_locked,content:c.i18n_row_locked_msg,icon:"dashicons dashicons-info",type:"blue",buttons:{confirm:{text:c.i18n_close,btnClass:"btn-confirm",keys:["enter"]}}}):f.confirm({title:!1,content:c.i18n_delete_row_confirm,type:"red",closeIcon:!1,backgroundDismiss:!1,icon:"dashicons dashicons-warning",buttons:{confirm:{text:c.i18n_ok,btnClass:"btn-confirm",keys:["enter"],action:function(){r.removeRow(e)}},cancel:{text:c.i18n_cancel}}})})},bindAddNewRow:function(){f("body").on("click",".evf-add-row span",function(){var e=f(".evf-admin-row").eq(0).clone(),i=f(".evf-admin-row").length;e.find(".evf-admin-grid").html(""),e.attr("data-row-id",i+1),f(".evf-admin-field-wrapper").append(e),r.bindFields(),r.checkEmptyGrid()})},bindFieldOptionChange:function(){f("body").on("keyup paste click",'.everest-forms-field-option-row input[type="text"][name$="[label]"], .everest-forms-field-option-row textarea[name$="[description]"], .everest-forms-field-option-row input[type="checkbox"][name$="[required]"], .everest-forms-field-option-row input[type="checkbox"][name$="[label_hide]"], .everest-forms-field-option-row input[type="text"][name$="[placeholder]"]',function(){r.bindFormFieldChange(f(this))})},bindFormFieldChange:function(e){var i=e.closest(".everest-forms-field-option-row").attr("data-field-id"),t=f(".evf-admin-grid #everest-forms-field-"+i+".active"),n=e.attr("id");if("undefined"!==n&&n!==undefined)switch(n=n.replace("everest-forms-field-option-"+i+"-","")){case"label":t.find(".label-title .text").text(e.val());break;case"description":t.find(".description").text(e.val());break;case"required":e.is(":checked")?(t.find(".label-title .required").remove(),t.find(".label-title").append('<span class="required">*</span>')):t.find(".label-title .required").remove();break;case"label_hide":e.is(":checked")?t.find(".label-title").hide():t.find(".label-title").show();break;case"placeholder":t.find("input").attr("placeholder",e.val())}},bindCloneField:function(){f("body").on("click",".everest-forms-preview .everest-forms-field .everest-forms-field-duplicate",function(){var e=f(this).closest(".everest-forms-field");e.hasClass("no-duplicate")?f.alert({title:c.i18n_field_locked,content:c.i18n_field_locked_msg,icon:"dashicons dashicons-info",type:"blue",buttons:{confirm:{text:c.i18n_close,btnClass:"btn-confirm",keys:["enter"]}}}):f.confirm({title:!1,content:c.i18n_duplicate_field_confirm,type:"orange",closeIcon:!1,backgroundDismiss:!1,icon:"dashicons dashicons-warning",buttons:{confirm:{text:c.i18n_ok,btnClass:"btn-confirm",keys:["enter"],action:function(){r.cloneFieldAction(e)}},cancel:{text:c.i18n_cancel}}})})},cloneFieldAction:function(n){var o=n.attr("data-field-id"),e=c.form_id,i={action:"everest_forms_get_next_id",security:c.evf_get_next_id,form_id:e};f.ajax({url:c.ajax_url,data:i,type:"POST",beforeSend:function(){},success:function(e){if("boolean"==typeof e.success&&!0===e.success){var i=e.data.field_id,t=e.data.field_key;f("#everest-forms-field-id").val(i),r.render_node(n,o,t)}}})},render_node:function(e,o,s){var i=f(".everest-forms-field-options #everest-forms-field-option-"+o),t=e.attr("data-field-type"),n=i.html(),r=c.copy_of+f("#everest-forms-field-option-"+o+"-label").val(),a=e.clone(),d=new RegExp(o,"g");n=n.replace(d,s);var l=f('<div class="everest-forms-field-option everest-forms-field-option-'+t+'" id="everest-forms-field-option-'+s+'" data-field-id="'+s+'" />');l.append(n),f.each(i.find(":input"),function(){var e=f(this).attr("type"),i=f(this).attr("name").replace(d,s),t="";if("text"===e||"hidden"===e)t=f(this).val(),l.find('input[name="'+i+'"]').val(t),l.find('input[value="'+o+'"]').val(s);else if("checkbox"===e||"radio"===e)f(this).is(":checked")?l.find('input[name="'+i+'"]').prop("checked",!0).attr("checked","checked"):l.find('[name="'+i+'"]').prop("checked",!1).attr("checked",!1);else if(f(this).is("select")){if(f(this).find("option:selected").length){var n=f(this).find("option:selected").val();l.find('[name="'+i+'"]').find('[value="'+n+'"]').prop("selected",!0)}}else""!==f(this).val()&&l.find('[name="'+i+'"]').val(f(this).val())}),f(".everest-forms-field-options").append(l),f("#everest-forms-field-option-"+s+"-label").val(r),a.attr("class",e.attr("class")),a.attr("id","everest-forms-field-"+s),a.attr("data-field-id",s),a.attr("data-field-type",t),a.find(".label-title .text").text(r),e.closest(".evf-admin-grid").find('[data-field-id="'+o+'"]').after(a),f(document).trigger("everest-form-cloned",[s,t])},bindFieldDelete:function(){f("body").on("click",".everest-forms-preview .everest-forms-field .everest-forms-field-delete",function(){var e=f(this).closest(".everest-forms-field"),i=e.attr("data-field-id"),t=f("#everest-forms-field-option-"+i);e.hasClass("no-delete")?f.alert({title:c.i18n_field_locked,content:c.i18n_field_locked_msg,icon:"dashicons dashicons-info",type:"blue",buttons:{confirm:{text:c.i18n_close,btnClass:"btn-confirm",keys:["enter"]}}}):f.confirm({title:!1,content:c.i18n_delete_field_confirm,type:"orange",closeIcon:!1,backgroundDismiss:!1,icon:"dashicons dashicons-warning",buttons:{confirm:{text:c.i18n_ok,btnClass:"btn-confirm",keys:["enter"],action:function(){f(".evf-panel-fields-button").trigger("click"),e.fadeOut("slow",function(){e.remove(),t.remove()})}},cancel:{text:c.i18n_cancel}}})})},bindSaveOption:function(){f("body").on("click",".evf_save_form_action_button",function(){var i=f(this),e=f("form#everest-forms-builder-form"),t=r.getStructure(),n=e.serializeArray().concat(t),o={action:"everest_forms_save_form",security:c.evf_save_form,form_data:JSON.stringify(n)},s=f("#everest-forms-builder");f.ajax({url:c.ajax_url,data:o,type:"POST",beforeSend:function(){evfHelper.startEvfOverLay(s,i)},success:function(e){evfHelper.endEvfOverLay(s,i),"boolean"==typeof e.success&&!0===e.success&&window.location.reload()}})})},getStructure:function(){var e=f(".evf-admin-field-wrapper"),s=[];return f.each(e.find(".evf-admin-row"),function(){var e=f(this),o=e.attr("data-row-id");f.each(e.find(".evf-admin-grid"),function(){var e=f(this),t=e.attr("data-grid-id"),n=0;f.each(e.find(".everest-forms-field"),function(){var e={name:"",value:""},i=f(this).attr("data-field-id");e.name="structure[row_"+o+"][grid_"+t+"]["+n+"]",n++,e.value=i,s.push(e)}),e.find(".everest-forms-field").length<1&&s.push({name:"structure[row_"+o+"][grid_"+t+"]",value:""})})}),s},getFieldArray:function(e){var i=[];return f.each(e.find(".everest-forms-field"),function(){var e=f(this).attr("data-field-id");i.push(e)}),i},checkEmptyGrid:function(){f.each(f(".evf-admin-grid"),function(){f(this).find(".everest-forms-field").length<1?f(this).addClass("evf-empty-grid"):f(this).removeClass("evf-empty-grid")}),r.choicesInit()},bindDefaultTabs:function(){f(document).on("click","#evf-builder-tabs li",function(e){e.preventDefault(),r.switchTab(f(this).data("panel"))})},switchTab:function(e){var i=f("#everest-forms-panel-"+e),t=f(".evf-panel-"+e+"-button");f("#evf-builder-tabs").find("li a").removeClass("active"),t.find("a").addClass("active"),i.closest(".evf-tab-content").find(".everest-forms-panel").removeClass("active"),i.addClass("active"),"fields"===e&&(f(".everest-forms-field-options").hide(),f(".everest-forms-add-fields").show()),history.replaceState({},null,evfHelper.updateQueryString("tab",e)),r.switchPanel(e)},switchPanel:function(e){"field-options"===e&&r.switchToFieldOptionPanel()},switchToFieldOptionPanel:function(e){f("li.evf-panel-field-options-button.evf-disabled-tab").show(),f(".everest-forms-field-options").find(".no-fields").hide(),f(".evf-admin-field-wrapper .everest-forms-field").removeClass("active"),f(".everest-forms-panel").removeClass("active"),f("#everest-forms-panel-fields").addClass("active"),f(".everest-forms-add-fields").hide(),f(".everest-forms-field-options").show(),f(".everest-forms-field-options").find(".everest-forms-field-option").hide(),f(".evf-tab-lists").find("li a").removeClass("active"),f(".evf-tab-lists").find("li.evf-panel-field-options-button a").addClass("active"),void 0!==e?(f("#everest-forms-field-option-"+e).show(),f("#everest-forms-field-"+e).addClass("active")):0<f(".evf-admin-field-wrapper .everest-forms-field").length?(f(".evf-admin-field-wrapper .everest-forms-field").eq(0).addClass("active"),f("#everest-forms-field-option-"+f(".evf-admin-field-wrapper .everest-forms-field").eq(0).attr("data-field-id")).show()):f(".everest-forms-field-options").find(".no-fields").show()},bindFields:function(){f(".evf-admin-grid").sortable({containment:".evf-admin-field-wrapper",cancel:!1,over:function(e,i){f(e.target).addClass("evf-item-hover"),f(".evf-admin-grid").addClass("evf-hover"),r.checkEmptyGrid()},out:function(e,i){f(".evf-admin-grid").removeClass("evf-hover"),f(e.target).removeClass("evf-item-hover"),r.checkEmptyGrid()},revert:!0,connectWith:".evf-admin-grid"}).disableSelection(),f(".evf-admin-field-wrapper").sortable({containment:".evf-admin-field-wrapper",tolerance:"pointer",revert:"invalid",placeholder:"evf-admin-row",forceHelperSize:!0,over:function(){f(".evf-admin-field-wrapper").addClass("evf-hover")},out:function(){f(".evf-admin-field-wrapper").removeClass("evf-hover")}}),f(".evf-registered-buttons button.evf-registered-item").draggable({connectToSortable:".evf-admin-grid",containment:"#everest-forms-builder",helper:"clone",revert:"invalid",cancel:!1,start:function(e,i){f(".evf-admin-grid").addClass("evf-hover")},stop:function(e,i){f(".evf-admin-grid").removeClass("evf-hover");i.helper.closest(".evf-admin-grid");var t=i.helper;r.fieldDrop(t)}}).disableSelection()},bindFormPreview:function(){},bindGridSwitcher:function(){f("body").on("click",".evf-show-grid",function(){f(this).closest(".evf-toggle-row").find(".evf-toggle-row-content").slideToggle(200)});f("body").on("click",".evf-grid-selector",function(){var e=f(this).closest(".evf-admin-row");if(!f(this).hasClass("active")){var i=evfHelper.parseInt(f(this).attr("data-evf-grid"));if(!(2<i)){var t=f('<div class="evf-admin-grid evf-grid-'+i+' ui-sortable" />'),n=f("<div/>");f.each(e.find(".evf-admin-grid"),function(){f(this).children("*").each(function(){n.append(f(this).clone())})}),e.find(".evf-admin-grid").remove(),e.find(".evf-clear ").remove(),e.append('<div class="clear evf-clear"></div>');for(var o=1;o<=i;o++)t.attr("data-grid-id",o),e.append(t.clone());e.append('<div class="clear evf-clear"></div>'),e.find(".evf-admin-grid").eq(0).append(n.html()),e.find(".evf-grid-selector").removeClass("active"),f(this).addClass("active"),r.bindFields()}}})},fieldDrop:function(o){var e=o.attr("data-field-type");o.css({width:"100%",left:"0"}),o.append('<i class="spinner is-active" style="margin: 0;padding: 0;"></i>');var i={action:"everest_forms_new_field_"+e,security:c.evf_field_drop_nonce,field_type:e,form_id:c.form_id};f.ajax({url:c.ajax_url,data:i,type:"POST",beforeSend:function(){},success:function(e){var i=e.data.preview,t=e.data.options,n=e.data.form_field_id;f("#everest-forms-field-id").val(n),f(".everest-forms-field-options").find(".no-fields").hide(),f(".everest-forms-field-options").append(t),o.after(i),o.remove(),r.checkEmptyGrid()}})},bindFieldSettings:function(){f("body").on("click",".everest-forms-preview .everest-forms-field, .everest-forms-preview .everest-forms-field .everest-forms-field-setting",function(){var e=f(this).closest(".everest-forms-field").attr("data-field-id");r.switchToFieldOptionPanel(e)})}};f(function(){r.init()})}(jQuery,window.evf_data),jQuery(function(){var e=jQuery("#everest-forms-panel-field-settings-redirect_to option:selected").val();"0"==e?(jQuery("#everest-forms-panel-field-settings-custom_page-wrap").hide(),jQuery("#everest-forms-panel-field-settings-external_url-wrap").hide()):"1"==e?(jQuery("#everest-forms-panel-field-settings-custom_page-wrap").show(),jQuery("#everest-forms-panel-field-settings-external_url-wrap").hide()):"2"==e&&(jQuery("#everest-forms-panel-field-settings-external_url-wrap").show(),jQuery("#everest-forms-panel-field-settings-custom_page-wrap").hide()),jQuery("#everest-forms-panel-field-settings-redirect_to").on("change",function(){"0"==this.value?(jQuery("#everest-forms-panel-field-settings-custom_page-wrap").hide(),jQuery("#everest-forms-panel-field-settings-external_url-wrap").hide()):"1"==this.value?(jQuery("#everest-forms-panel-field-settings-custom_page-wrap").show(),jQuery("#everest-forms-panel-field-settings-external_url-wrap").hide()):"2"==this.value&&(jQuery("#everest-forms-panel-field-settings-custom_page-wrap").hide(),jQuery("#everest-forms-panel-field-settings-external_url-wrap").show())}),jQuery("li.evf-panel-field-options-button.evf-disabled-tab").hide()}),jQuery(function(i){i(document.body).on("init_tooltips",function(){i(".tips, .help_tip, .everest-forms-help-tooltip").tipTip({attribute:"data-tip",fadeIn:50,fadeOut:50,delay:200})}).trigger("init_tooltips"),i(".everest-forms-tab-content").on("click",".everest-forms-add-fields-group > a",function(e){e.preventDefault()}),i(".everest-forms-field-option").on("click",".everest-forms-field-option-group > a",function(e){e.preventDefault(),i(this).parent(".everest-forms-field-option-group").toggleClass("closed").toggleClass("open")}),i(".everest-forms-field-option").on("click",".everest-forms-field-option-group a",function(e){i(e.target).filter(":input, option, .sort").length||i(this).next(".everest-forms-field-option-group-inner").stop().slideToggle()}),i(".everest-forms-field-option-group.closed").each(function(){i(this).find(".everest-forms-field-option-group-inner").hide()})});
1
+ !function(f,c){var s={init:function(){f(document).ready(s.ready),f(window).on("load",s.load),s.bindUI()},ready:function(){jconfirm.defaults={closeIcon:!0,backgroundDismiss:!0,escapeKey:!0,animationBounce:1,useBootstrap:!1,theme:"modern",boxWidth:"400px",columnClass:"evf-responsive-class"},f(document).trigger("everest_forms_ready")},load:function(){},bindUI:function(){s.bindDefaultTabs(),s.checkEmptyGrid(),s.bindFields(),s.bindFormPreview(),s.bindGridSwitcher(),s.bindFieldSettings(),s.bindFieldDelete(),s.bindCloneField(),s.bindSaveOption(),s.bindFieldOptionChange(),s.bindAddNewRow(),s.bindRemoveRow(),s.bindFormSettings(),s.choicesInit(),s.choicesUpdate(),"field-options"===c.tab&&f(".evf-panel-field-options-button").trigger("click")},choicesInit:function(){var e=f(".evf-choices-list");e.sortable({out:function(e,i){var t=f(e.target).attr("data-field-id");s.choiceChange(t)}});var i=e.closest(".everest-forms-field-option").attr("data-field-id");f("#everest-forms-field-"+i)},choicesUpdate:function(){f(".evf-choices-list");f("body").on("click",".evf-choices-list a.add",function(){var e=f(this).closest("li").clone();e.find('input[type="text"]').val("");var i=f(this).closest(".evf-choices-list"),t=i.attr("data-field-id"),n=i.find("li").length;n++,e.find('input[type="checkbox"],input[type="radio"]').prop("checked",!1),e.attr("data-key",n),e.find(".default").attr("name","form_fields["+t+"][choices]["+n+"][default]"),e.find(".label").attr("name","form_fields["+t+"][choices]["+n+"][label]"),e.find(".value").attr("name","form_fields["+t+"][choices]["+n+"][value]"),f(this).closest("li").after(e),s.choiceChange(t)}),f("body").on("click",".evf-choices-list a.remove",function(){var e=f(this).closest(".evf-choices-list"),i=e.attr("data-field-id");e.find("li").length<2?f.alert({title:!1,content:c.i18n_field_error_choice,icon:"dashicons dashicons-info",type:"blue",buttons:{ok:{text:c.i18n_ok,btnClass:"btn-confirm",keys:["enter"]}}}):(f(this).closest("li").remove(),s.choiceChange(i))});f("body").on("keyup paste click",".evf-choices-list input",function(){var e=f(this).closest(".evf-choices-list").attr("data-field-id");"radio"===f(this).attr("type").toLowerCase()&&f(this).is(":checked")&&(f(this).closest(".evf-choices-list").find('input[type="radio"]').prop("checked",!1),f(this).prop("checked",!0)),s.choiceChange(e)})},choiceChange:function(e){var i=f("#everest-forms-field-option-row-"+e+"-choices"),t=f("#everest-forms-field-"+e),n=t.find("ul.primary-input"),o=i.find("ul.evf-choices-list").attr("data-field-type");"select"===o&&(n=t.find("select.primary-input")),n.html(""),f.each(i.find("ul.evf-choices-list").find("li"),function(){var e=f(this).find(".default").attr("type"),i=f("<li/>").append('<input type="'+e+'" disabled="">');"select"===o&&(i=f("<option/>"),f(this).find(".default").is(":checked")&&i.attr("selected","selected")),i.append(f(this).find(".label").val()),f(this).find(".default").is(":checked")&&i.find("input").prop("checked",!0),n.append(i)})},bindFormSettings:function(){f("body").on("click",".evf-setting-panel",function(e){var i=f(this).attr("data-section");f(".evf-setting-panel").removeClass("active"),f(".evf-content-section").removeClass("active"),f(this).addClass("active"),f(".evf-content-"+i+"-settings").addClass("active"),e.preventDefault()}),f(".evf-setting-panel").eq(0).trigger("click")},removeRow:function(e){f.each(e.find(".everest-forms-field"),function(){var e=f(this),i=e.attr("data-field-id"),t=f("#everest-forms-field-option-"+i);e.remove(),t.remove()}),e.remove()},bindRemoveRow:function(){f("body").on("click",".evf-delete-row",function(){var e=f(this).closest(".evf-admin-row");f(".evf-admin-row").length<2?f.alert({title:c.i18n_row_locked,content:c.i18n_row_locked_msg,icon:"dashicons dashicons-info",type:"blue",buttons:{confirm:{text:c.i18n_close,btnClass:"btn-confirm",keys:["enter"]}}}):f.confirm({title:!1,content:c.i18n_delete_row_confirm,type:"red",closeIcon:!1,backgroundDismiss:!1,icon:"dashicons dashicons-warning",buttons:{confirm:{text:c.i18n_ok,btnClass:"btn-confirm",keys:["enter"],action:function(){s.removeRow(e)}},cancel:{text:c.i18n_cancel}}})})},bindAddNewRow:function(){f("body").on("click",".evf-add-row span",function(){var e=f(".evf-admin-row").eq(0).clone(),i=f(".evf-admin-row").length;e.find(".evf-admin-grid").html(""),e.attr("data-row-id",i+1),f(".evf-admin-field-wrapper").append(e),s.bindFields(),s.checkEmptyGrid()})},bindFieldOptionChange:function(){f("body").on("keyup paste click",'.everest-forms-field-option-row input[type="text"][name$="[label]"], .everest-forms-field-option-row textarea[name$="[description]"], .everest-forms-field-option-row input[type="checkbox"][name$="[required]"], .everest-forms-field-option-row input[type="checkbox"][name$="[label_hide]"], .everest-forms-field-option-row input[type="text"][name$="[placeholder]"]',function(){s.bindFormFieldChange(f(this))})},bindFormFieldChange:function(e){var i=e.closest(".everest-forms-field-option-row").attr("data-field-id"),t=f(".evf-admin-grid #everest-forms-field-"+i+".active"),n=e.attr("id");if("undefined"!==n&&n!==undefined)switch(n=n.replace("everest-forms-field-option-"+i+"-","")){case"label":t.find(".label-title .text").text(e.val());break;case"description":t.find(".description").text(e.val());break;case"required":e.is(":checked")?(t.find(".label-title .required").remove(),t.find(".label-title").append('<span class="required">*</span>')):t.find(".label-title .required").remove();break;case"label_hide":e.is(":checked")?t.find(".label-title").hide():t.find(".label-title").show();break;case"placeholder":t.find("input").attr("placeholder",e.val())}},bindCloneField:function(){f("body").on("click",".everest-forms-preview .everest-forms-field .everest-forms-field-duplicate",function(){var e=f(this).closest(".everest-forms-field");e.hasClass("no-duplicate")?f.alert({title:c.i18n_field_locked,content:c.i18n_field_locked_msg,icon:"dashicons dashicons-info",type:"blue",buttons:{confirm:{text:c.i18n_close,btnClass:"btn-confirm",keys:["enter"]}}}):f.confirm({title:!1,content:c.i18n_duplicate_field_confirm,type:"orange",closeIcon:!1,backgroundDismiss:!1,icon:"dashicons dashicons-warning",buttons:{confirm:{text:c.i18n_ok,btnClass:"btn-confirm",keys:["enter"],action:function(){s.cloneFieldAction(e)}},cancel:{text:c.i18n_cancel}}})})},cloneFieldAction:function(n){var o=n.attr("data-field-id"),e=c.form_id,i={action:"everest_forms_get_next_id",security:c.evf_get_next_id,form_id:e};f.ajax({url:c.ajax_url,data:i,type:"POST",beforeSend:function(){},success:function(e){if("boolean"==typeof e.success&&!0===e.success){var i=e.data.field_id,t=e.data.field_key;f("#everest-forms-field-id").val(i),s.render_node(n,o,t)}}})},render_node:function(e,o,r){var i=f(".everest-forms-field-options #everest-forms-field-option-"+o),t=e.attr("data-field-type"),n=i.html(),s=c.copy_of+f("#everest-forms-field-option-"+o+"-label").val(),a=e.clone(),d=new RegExp(o,"g");n=n.replace(d,r);var l=f('<div class="everest-forms-field-option everest-forms-field-option-'+t+'" id="everest-forms-field-option-'+r+'" data-field-id="'+r+'" />');l.append(n),f.each(i.find(":input"),function(){var e=f(this).attr("type"),i=f(this).attr("name").replace(d,r),t="";if("text"===e||"hidden"===e)t=f(this).val(),l.find('input[name="'+i+'"]').val(t),l.find('input[value="'+o+'"]').val(r);else if("checkbox"===e||"radio"===e)f(this).is(":checked")?l.find('input[name="'+i+'"]').prop("checked",!0).attr("checked","checked"):l.find('[name="'+i+'"]').prop("checked",!1).attr("checked",!1);else if(f(this).is("select")){if(f(this).find("option:selected").length){var n=f(this).find("option:selected").val();l.find('[name="'+i+'"]').find('[value="'+n+'"]').prop("selected",!0)}}else""!==f(this).val()&&l.find('[name="'+i+'"]').val(f(this).val())}),f(".everest-forms-field-options").append(l),f("#everest-forms-field-option-"+r+"-label").val(s),a.attr("class",e.attr("class")),a.attr("id","everest-forms-field-"+r),a.attr("data-field-id",r),a.attr("data-field-type",t),a.find(".label-title .text").text(s),e.closest(".evf-admin-grid").find('[data-field-id="'+o+'"]').after(a),f(document).trigger("everest-form-cloned",[r,t])},bindFieldDelete:function(){f("body").on("click",".everest-forms-preview .everest-forms-field .everest-forms-field-delete",function(){var e=f(this).closest(".everest-forms-field"),i=e.attr("data-field-id"),t=f("#everest-forms-field-option-"+i);e.hasClass("no-delete")?f.alert({title:c.i18n_field_locked,content:c.i18n_field_locked_msg,icon:"dashicons dashicons-info",type:"blue",buttons:{confirm:{text:c.i18n_close,btnClass:"btn-confirm",keys:["enter"]}}}):f.confirm({title:!1,content:c.i18n_delete_field_confirm,type:"orange",closeIcon:!1,backgroundDismiss:!1,icon:"dashicons dashicons-warning",buttons:{confirm:{text:c.i18n_ok,btnClass:"btn-confirm",keys:["enter"],action:function(){f(".evf-panel-fields-button").trigger("click"),e.fadeOut("slow",function(){e.remove(),t.remove()})}},cancel:{text:c.i18n_cancel}}})})},bindSaveOption:function(){f("body").on("click",".evf_save_form_action_button",function(){var i=f(this),e=f("form#everest-forms-builder-form"),t=s.getStructure(),n=e.serializeArray().concat(t),o={action:"everest_forms_save_form",security:c.evf_save_form,form_data:JSON.stringify(n)},r=f("#everest-forms-builder");f.ajax({url:c.ajax_url,data:o,type:"POST",beforeSend:function(){var e=f('<div class="evf-overlay"></div>');e.append('<div class="loading"></div>'),i.find(".spinner").remove(),r.find(".evf-overlay").remove(),r.css({position:"relative"}),r.append(e),i.append('<span style="margin-top:-1px;margin-right:0;" class="spinner is-active"></span>')},success:function(e){r.find(".evf-overlay").fadeOut(),r.find(".evf-overlay").remove(),r.removeAttr("style"),i.find(".spinner").remove(),"boolean"==typeof e.success&&!0===e.success&&window.location.reload()}})})},getStructure:function(){var e=f(".evf-admin-field-wrapper"),r=[];return f.each(e.find(".evf-admin-row"),function(){var e=f(this),o=e.attr("data-row-id");f.each(e.find(".evf-admin-grid"),function(){var e=f(this),t=e.attr("data-grid-id"),n=0;f.each(e.find(".everest-forms-field"),function(){var e={name:"",value:""},i=f(this).attr("data-field-id");e.name="structure[row_"+o+"][grid_"+t+"]["+n+"]",n++,e.value=i,r.push(e)}),e.find(".everest-forms-field").length<1&&r.push({name:"structure[row_"+o+"][grid_"+t+"]",value:""})})}),r},getFieldArray:function(e){var i=[];return f.each(e.find(".everest-forms-field"),function(){var e=f(this).attr("data-field-id");i.push(e)}),i},checkEmptyGrid:function(){f.each(f(".evf-admin-grid"),function(){f(this).find(".everest-forms-field").length<1?f(this).addClass("evf-empty-grid"):f(this).removeClass("evf-empty-grid")}),s.choicesInit()},bindDefaultTabs:function(){f(document).on("click","#evf-builder-tabs li",function(e){e.preventDefault(),s.switchTab(f(this).data("panel"))})},switchTab:function(e){var i=f("#everest-forms-panel-"+e),t=f(".evf-panel-"+e+"-button");f("#evf-builder-tabs").find("li a").removeClass("active"),t.find("a").addClass("active"),i.closest(".evf-tab-content").find(".everest-forms-panel").removeClass("active"),i.addClass("active"),"fields"===e&&(f(".everest-forms-field-options").hide(),f(".everest-forms-add-fields").show()),history.replaceState({},null,s.updateQueryString("tab",e)),s.switchPanel(e)},updateQueryString:function(e,i,t){t||(t=window.location.href);var n,o=new RegExp("([?&])"+e+"=.*?(&|#|$)(.*)","gi");if(o.test(t))return null!=i?t.replace(o,"$1"+e+"="+i+"$2$3"):(t=(n=t.split("#"))[0].replace(o,"$1$3").replace(/(&|\?)$/,""),"undefined"!=typeof n[1]&&null!==n[1]&&(t+="#"+n[1]),t);if(null!=i){var r=-1!==t.indexOf("?")?"&":"?";return t=(n=t.split("#"))[0]+r+e+"="+i,"undefined"!=typeof n[1]&&null!==n[1]&&(t+="#"+n[1]),t}return t},switchPanel:function(e){"field-options"===e&&s.switchToFieldOptionPanel()},switchToFieldOptionPanel:function(e){f("li.evf-panel-field-options-button.evf-disabled-tab").show(),f(".everest-forms-field-options").find(".no-fields").hide(),f(".evf-admin-field-wrapper .everest-forms-field").removeClass("active"),f(".everest-forms-panel").removeClass("active"),f("#everest-forms-panel-fields").addClass("active"),f(".everest-forms-add-fields").hide(),f(".everest-forms-field-options").show(),f(".everest-forms-field-options").find(".everest-forms-field-option").hide(),f(".evf-tab-lists").find("li a").removeClass("active"),f(".evf-tab-lists").find("li.evf-panel-field-options-button a").addClass("active"),void 0!==e?(f("#everest-forms-field-option-"+e).show(),f("#everest-forms-field-"+e).addClass("active")):0<f(".evf-admin-field-wrapper .everest-forms-field").length?(f(".evf-admin-field-wrapper .everest-forms-field").eq(0).addClass("active"),f("#everest-forms-field-option-"+f(".evf-admin-field-wrapper .everest-forms-field").eq(0).attr("data-field-id")).show()):f(".everest-forms-field-options").find(".no-fields").show()},bindFields:function(){f(".evf-admin-grid").sortable({containment:".evf-admin-field-wrapper",cancel:!1,over:function(e,i){f(e.target).addClass("evf-item-hover"),f(".evf-admin-grid").addClass("evf-hover"),s.checkEmptyGrid()},out:function(e,i){f(".evf-admin-grid").removeClass("evf-hover"),f(e.target).removeClass("evf-item-hover"),s.checkEmptyGrid()},revert:!0,connectWith:".evf-admin-grid"}).disableSelection(),f(".evf-admin-field-wrapper").sortable({containment:".evf-admin-field-wrapper",tolerance:"pointer",revert:"invalid",placeholder:"evf-admin-row",forceHelperSize:!0,over:function(){f(".evf-admin-field-wrapper").addClass("evf-hover")},out:function(){f(".evf-admin-field-wrapper").removeClass("evf-hover")}}),f(".evf-registered-buttons button.evf-registered-item").draggable({connectToSortable:".evf-admin-grid",containment:"#everest-forms-builder",helper:"clone",revert:"invalid",cancel:!1,start:function(e,i){f(".evf-admin-grid").addClass("evf-hover")},stop:function(e,i){f(".evf-admin-grid").removeClass("evf-hover");i.helper.closest(".evf-admin-grid");var t=i.helper;s.fieldDrop(t)}}).disableSelection()},bindFormPreview:function(){},bindGridSwitcher:function(){f("body").on("click",".evf-show-grid",function(){f(this).closest(".evf-toggle-row").find(".evf-toggle-row-content").slideToggle(200)});f("body").on("click",".evf-grid-selector",function(){var e=f(this).closest(".evf-admin-row");if(!f(this).hasClass("active")){var i=parseInt(f(this).attr("data-evf-grid"),10);if(!(2<i)){var t=f('<div class="evf-admin-grid evf-grid-'+i+' ui-sortable" />'),n=f("<div/>");f.each(e.find(".evf-admin-grid"),function(){f(this).children("*").each(function(){n.append(f(this).clone())})}),e.find(".evf-admin-grid").remove(),e.find(".evf-clear ").remove(),e.append('<div class="clear evf-clear"></div>');for(var o=1;o<=i;o++)t.attr("data-grid-id",o),e.append(t.clone());e.append('<div class="clear evf-clear"></div>'),e.find(".evf-admin-grid").eq(0).append(n.html()),e.find(".evf-grid-selector").removeClass("active"),f(this).addClass("active"),s.bindFields()}}})},fieldDrop:function(o){var e=o.attr("data-field-type");o.css({width:"100%",left:"0"}),o.append('<i class="spinner is-active" style="margin: 0;padding: 0;"></i>');var i={action:"everest_forms_new_field_"+e,security:c.evf_field_drop_nonce,field_type:e,form_id:c.form_id};f.ajax({url:c.ajax_url,data:i,type:"POST",beforeSend:function(){},success:function(e){var i=e.data.preview,t=e.data.options,n=e.data.form_field_id;f("#everest-forms-field-id").val(n),f(".everest-forms-field-options").find(".no-fields").hide(),f(".everest-forms-field-options").append(t),o.after(i),o.remove(),s.checkEmptyGrid()}})},bindFieldSettings:function(){f("body").on("click",".everest-forms-preview .everest-forms-field, .everest-forms-preview .everest-forms-field .everest-forms-field-setting",function(){var e=f(this).closest(".everest-forms-field").attr("data-field-id");s.switchToFieldOptionPanel(e)})}};f(function(){s.init()})}(jQuery,window.evf_data),jQuery(function(){var e=jQuery("#everest-forms-panel-field-settings-redirect_to option:selected").val();"0"==e?(jQuery("#everest-forms-panel-field-settings-custom_page-wrap").hide(),jQuery("#everest-forms-panel-field-settings-external_url-wrap").hide()):"1"==e?(jQuery("#everest-forms-panel-field-settings-custom_page-wrap").show(),jQuery("#everest-forms-panel-field-settings-external_url-wrap").hide()):"2"==e&&(jQuery("#everest-forms-panel-field-settings-external_url-wrap").show(),jQuery("#everest-forms-panel-field-settings-custom_page-wrap").hide()),jQuery("#everest-forms-panel-field-settings-redirect_to").on("change",function(){"0"==this.value?(jQuery("#everest-forms-panel-field-settings-custom_page-wrap").hide(),jQuery("#everest-forms-panel-field-settings-external_url-wrap").hide()):"1"==this.value?(jQuery("#everest-forms-panel-field-settings-custom_page-wrap").show(),jQuery("#everest-forms-panel-field-settings-external_url-wrap").hide()):"2"==this.value&&(jQuery("#everest-forms-panel-field-settings-custom_page-wrap").hide(),jQuery("#everest-forms-panel-field-settings-external_url-wrap").show())}),jQuery("li.evf-panel-field-options-button.evf-disabled-tab").hide()}),jQuery(function(i){i(document.body).on("init_tooltips",function(){i(".tips, .help_tip, .everest-forms-help-tooltip").tipTip({attribute:"data-tip",fadeIn:50,fadeOut:50,delay:200})}).trigger("init_tooltips"),i(".everest-forms-tab-content").on("click",".everest-forms-add-fields-group > a",function(e){e.preventDefault()}),i(".everest-forms-field-option").on("click",".everest-forms-field-option-group > a",function(e){e.preventDefault(),i(this).parent(".everest-forms-field-option-group").toggleClass("closed").toggleClass("open")}),i(".everest-forms-field-option").on("click",".everest-forms-field-option-group a",function(e){i(e.target).filter(":input, option, .sort").length||i(this).next(".everest-forms-field-option-group-inner").stop().slideToggle()}),i(".everest-forms-field-option-group.closed").each(function(){i(this).find(".everest-forms-field-option-group-inner").hide()})});
assets/js/admin/settings.js CHANGED
@@ -1,13 +1,25 @@
1
  //Plugin made by Umesh Ghimire
2
  (function ( $ ) {
3
- $(document).ready(function () {
4
- $('body').on('click', '.evf-nav-tab-wrapper a.nav-tab', function ( event ) {
 
 
 
 
 
 
 
 
 
 
 
 
5
  event.preventDefault();
6
- var tab = $(this).attr('data-key');
7
- $('.everest-forms .nav-tab').removeClass('nav-tab-active');
8
- $(this).addClass('nav-tab-active');
9
- $('.evf-setting-tab-content').removeClass('active');
10
- $('.evf-setting-tab-content[data-conent-key="' + tab + '"]').addClass('active');
11
  });
12
  });
13
- })(jQuery);
1
  //Plugin made by Umesh Ghimire
2
  (function ( $ ) {
3
+ $( document ).ready( function () {
4
+ // jquery-confirm defaults.
5
+ jconfirm.defaults = {
6
+ closeIcon: true,
7
+ backgroundDismiss: true,
8
+ escapeKey: true,
9
+ animationBounce: 1,
10
+ useBootstrap: false,
11
+ theme: 'modern',
12
+ boxWidth: '400px',
13
+ columnClass: 'evf-responsive-class'
14
+ };
15
+
16
+ $( 'body' ).on( 'click', '.evf-nav-tab-wrapper a.nav-tab', function( event) {
17
  event.preventDefault();
18
+ var tab = $( this ).attr( 'data-key' );
19
+ $( '.everest-forms .nav-tab' ).removeClass( 'nav-tab-active' );
20
+ $( this ).addClass( 'nav-tab-active' );
21
+ $( '.evf-setting-tab-content' ).removeClass( 'active' );
22
+ $( '.evf-setting-tab-content[data-conent-key="' + tab + '"]' ).addClass( 'active' );
23
  });
24
  });
25
+ })( jQuery );
assets/js/admin/settings.min.js CHANGED
@@ -1 +1 @@
1
- !function(e){e(document).ready(function(){e("body").on("click",".evf-nav-tab-wrapper a.nav-tab",function(t){t.preventDefault();var a=e(this).attr("data-key");e(".everest-forms .nav-tab").removeClass("nav-tab-active"),e(this).addClass("nav-tab-active"),e(".evf-setting-tab-content").removeClass("active"),e('.evf-setting-tab-content[data-conent-key="'+a+'"]').addClass("active")})})}(jQuery);
1
+ !function(t){t(document).ready(function(){jconfirm.defaults={closeIcon:!0,backgroundDismiss:!0,escapeKey:!0,animationBounce:1,useBootstrap:!1,theme:"modern",boxWidth:"400px",columnClass:"evf-responsive-class"},t("body").on("click",".evf-nav-tab-wrapper a.nav-tab",function(e){e.preventDefault();var a=t(this).attr("data-key");t(".everest-forms .nav-tab").removeClass("nav-tab-active"),t(this).addClass("nav-tab-active"),t(".evf-setting-tab-content").removeClass("active"),t('.evf-setting-tab-content[data-conent-key="'+a+'"]').addClass("active")})})}(jQuery);
assets/js/frontend/everest-forms.js CHANGED
@@ -90,12 +90,12 @@ jQuery( function ( $ ) {
90
 
91
  $parent.removeClass( 'evf-has-error' );
92
  },
93
- submitHandler: function( errorClass, form ) {
94
- if ( grecaptcha.getResponse() === '' ) {
95
- $( '#evf_node_recaptcha' ).after('<label class="evf-error">' + everest_forms_params.i18n_messages_recaptcha + '</div>');
96
- } else {
97
- form.submit();
98
- }
99
  }
100
  });
101
  });
@@ -145,14 +145,3 @@ jQuery( function ( $ ) {
145
 
146
  everest_forms.init();
147
  });
148
-
149
- /* jshint ignore:start */
150
- var google_recaptcha_everest_forms;
151
- var onloadEVFCallback = function () {
152
- google_recaptcha_everest_forms = grecaptcha.render( 'evf_node_recaptcha', {
153
- 'sitekey': evf_google_recaptcha_code.site_key,
154
- 'theme': 'light',
155
- 'style': 'transform:scale(0.77);-webkit-transform:scale(0.77);transform-origin:0 0;-webkit-transform-origin:0 0;',
156
- });
157
- };
158
- /* jshint ignore:end */
90
 
91
  $parent.removeClass( 'evf-has-error' );
92
  },
93
+ submitHandler: function( form ) {
94
+ if ( typeof grecaptcha !== 'undefined' && '' === grecaptcha.getResponse() ) {
95
+ $( '.evf-recaptcha-row' ).append( '<label class="evf-error">' + everest_forms_params.i18n_messages_recaptcha + '</div>');
96
+ } else {
97
+ form.submit();
98
+ }
99
  }
100
  });
101
  });
145
 
146
  everest_forms.init();
147
  });
 
 
 
 
 
 
 
 
 
 
 
assets/js/frontend/everest-forms.min.js CHANGED
@@ -1 +1 @@
1
- var google_recaptcha_everest_forms;jQuery(function(i){"use strict";if("undefined"==typeof everest_forms_params)return!1;({$everest_form:i("form.everest-form"),init:function(){this.init_datepicker(),this.load_validation(),this.$everest_form.on("input validate change",".input-text, select, input:checkbox",this.validate_field)},init_datepicker:function(){i(".date-picker-field, .date-picker").datepicker({changeMonth:!0,changeYear:!0,defaultDate:"",dateFormat:"yy-mm-dd",numberOfMonths:1,minDate:"-15Y",maxDate:"+15Y"})},load_validation:function(){if("undefined"==typeof i.fn.validate)return!1;i.extend(i.validator.messages,{required:everest_forms_params.i18n_messages_required,url:everest_forms_params.i18n_messages_url,email:everest_forms_params.i18n_messages_email,number:everest_forms_params.i18n_messages_number}),i.validator.methods.email=function(e,F){var a=new RegExp(/^((([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+(\.([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+)*)|((\x22)((((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(([\x01-\x08\x0b\x0c\x0e-\x1f\x7f]|\x21|[\x23-\x5b]|[\x5d-\x7e]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(\\([\x01-\x09\x0b\x0c\x0d-\x7f]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]))))*(((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(\x22)))@((([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\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])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.?$/i);return this.optional(F)||a.test(e)},this.$everest_form.each(function(){i(this).validate({errorClass:"evf-error",validClass:"evf-valid",errorPlacement:function(e,F){"radio"===F.attr("type")||"checkbox"===F.attr("type")?F.parent().parent().parent().append(e):F.is("select")&&F.attr("class").match(/date-month|date-day|date-year/)?0===F.parent().find("label.evf-error:visible").length&&F.parent().find("select:last").after(e):e.insertAfter(F)},highlight:function(e,F,a){var r=i(e),u=r.closest(".form-row"),t=r.attr("name");"radio"===r.attr("type")||"checkbox"===r.attr("type")?u.find("input[name='"+t+"']").addClass(F).removeClass(a):r.addClass(F).removeClass(a),u.removeClass("everest-forms-validated").addClass("everest-forms-invalid evf-has-error")},unhighlight:function(e,F,a){var r=i(e),u=r.closest(".form-row"),t=r.attr("name");"radio"===r.attr("type")||"checkbox"===r.attr("type")?u.find("input[name='"+t+"']").addClass(a).removeClass(F):r.addClass(a).removeClass(F),u.removeClass("evf-has-error")},submitHandler:function(e,F){""===grecaptcha.getResponse()?i("#evf_node_recaptcha").after('<label class="evf-error">'+everest_forms_params.i18n_messages_recaptcha+"</div>"):F.submit()}})})},validate_field:function(e){var F=i(this),a=F.closest(".form-row"),r=!0,u=a.is(".validate-required"),t=a.is(".validate-email"),s=e.type;if("input"===s&&a.removeClass("everest-forms-invalid everest-forms-invalid-required-field everest-forms-invalid-email everest-forms-validated"),"validate"===s||"change"===s){if(u&&("checkbox"!==F.attr("type")||F.is(":checked")?""===F.val()&&(a.removeClass("everest-forms-validated").addClass("everest-forms-invalid everest-forms-invalid-required-field"),r=!1):(a.removeClass("everest-forms-validated").addClass("everest-forms-invalid everest-forms-invalid-required-field"),r=!1)),t)if(F.val())new RegExp(/^((([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+(\.([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+)*)|((\x22)((((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(([\x01-\x08\x0b\x0c\x0e-\x1f\x7f]|\x21|[\x23-\x5b]|[\x5d-\x7e]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(\\([\x01-\x09\x0b\x0c\x0d-\x7f]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]))))*(((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(\x22)))@((([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\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])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.?$/i).test(F.val())||(a.removeClass("everest-forms-validated").addClass("everest-forms-invalid everest-forms-invalid-email"),r=!1);r&&a.removeClass("everest-forms-invalid everest-forms-invalid-required-field everest-forms-invalid-email").addClass("everest-forms-validated")}}}).init()});var onloadEVFCallback=function(){google_recaptcha_everest_forms=grecaptcha.render("evf_node_recaptcha",{sitekey:evf_google_recaptcha_code.site_key,theme:"light",style:"transform:scale(0.77);-webkit-transform:scale(0.77);transform-origin:0 0;-webkit-transform-origin:0 0;"})};
1
+ jQuery(function(i){"use strict";if("undefined"==typeof everest_forms_params)return!1;({$everest_form:i("form.everest-form"),init:function(){this.init_datepicker(),this.load_validation(),this.$everest_form.on("input validate change",".input-text, select, input:checkbox",this.validate_field)},init_datepicker:function(){i(".date-picker-field, .date-picker").datepicker({changeMonth:!0,changeYear:!0,defaultDate:"",dateFormat:"yy-mm-dd",numberOfMonths:1,minDate:"-15Y",maxDate:"+15Y"})},load_validation:function(){if("undefined"==typeof i.fn.validate)return!1;i.extend(i.validator.messages,{required:everest_forms_params.i18n_messages_required,url:everest_forms_params.i18n_messages_url,email:everest_forms_params.i18n_messages_email,number:everest_forms_params.i18n_messages_number}),i.validator.methods.email=function(e,F){var a=new RegExp(/^((([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+(\.([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+)*)|((\x22)((((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(([\x01-\x08\x0b\x0c\x0e-\x1f\x7f]|\x21|[\x23-\x5b]|[\x5d-\x7e]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(\\([\x01-\x09\x0b\x0c\x0d-\x7f]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]))))*(((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(\x22)))@((([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\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])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.?$/i);return this.optional(F)||a.test(e)},this.$everest_form.each(function(){i(this).validate({errorClass:"evf-error",validClass:"evf-valid",errorPlacement:function(e,F){"radio"===F.attr("type")||"checkbox"===F.attr("type")?F.parent().parent().parent().append(e):F.is("select")&&F.attr("class").match(/date-month|date-day|date-year/)?0===F.parent().find("label.evf-error:visible").length&&F.parent().find("select:last").after(e):e.insertAfter(F)},highlight:function(e,F,a){var u=i(e),r=u.closest(".form-row"),t=u.attr("name");"radio"===u.attr("type")||"checkbox"===u.attr("type")?r.find("input[name='"+t+"']").addClass(F).removeClass(a):u.addClass(F).removeClass(a),r.removeClass("everest-forms-validated").addClass("everest-forms-invalid evf-has-error")},unhighlight:function(e,F,a){var u=i(e),r=u.closest(".form-row"),t=u.attr("name");"radio"===u.attr("type")||"checkbox"===u.attr("type")?r.find("input[name='"+t+"']").addClass(a).removeClass(F):u.addClass(a).removeClass(F),r.removeClass("evf-has-error")},submitHandler:function(e){"undefined"!=typeof grecaptcha&&""===grecaptcha.getResponse()?i(".evf-recaptcha-row").append('<label class="evf-error">'+everest_forms_params.i18n_messages_recaptcha+"</div>"):e.submit()}})})},validate_field:function(e){var F=i(this),a=F.closest(".form-row"),u=!0,r=a.is(".validate-required"),t=a.is(".validate-email"),s=e.type;if("input"===s&&a.removeClass("everest-forms-invalid everest-forms-invalid-required-field everest-forms-invalid-email everest-forms-validated"),"validate"===s||"change"===s){if(r&&("checkbox"!==F.attr("type")||F.is(":checked")?""===F.val()&&(a.removeClass("everest-forms-validated").addClass("everest-forms-invalid everest-forms-invalid-required-field"),u=!1):(a.removeClass("everest-forms-validated").addClass("everest-forms-invalid everest-forms-invalid-required-field"),u=!1)),t)if(F.val())new RegExp(/^((([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+(\.([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+)*)|((\x22)((((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(([\x01-\x08\x0b\x0c\x0e-\x1f\x7f]|\x21|[\x23-\x5b]|[\x5d-\x7e]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(\\([\x01-\x09\x0b\x0c\x0d-\x7f]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]))))*(((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(\x22)))@((([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\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])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.?$/i).test(F.val())||(a.removeClass("everest-forms-validated").addClass("everest-forms-invalid everest-forms-invalid-email"),u=!1);u&&a.removeClass("everest-forms-invalid everest-forms-invalid-required-field everest-forms-invalid-email").addClass("everest-forms-validated")}}}).init()});
assets/js/jquery-confirm/jquery-confirm.js ADDED
@@ -0,0 +1,1341 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /*!
2
+ * jquery-confirm v3.3.0 (http://craftpip.github.io/jquery-confirm/)
3
+ * Author: Boniface Pereira
4
+ * Website: www.craftpip.com
5
+ * Contact: hey@craftpip.com
6
+ *
7
+ * Copyright 2013-2017 jquery-confirm
8
+ * Licensed under MIT (https://github.com/craftpip/jquery-confirm/blob/master/LICENSE)
9
+ */
10
+
11
+ if (typeof jQuery === 'undefined') {
12
+ throw new Error('jquery-confirm requires jQuery');
13
+ }
14
+
15
+ var jconfirm, Jconfirm;
16
+ (function ($, window) {
17
+ "use strict";
18
+
19
+ $.fn.confirm = function (options, option2) {
20
+ if (typeof options === 'undefined') options = {};
21
+ if (typeof options === 'string') {
22
+ options = {
23
+ content: options,
24
+ title: (option2) ? option2 : false
25
+ };
26
+ }
27
+ /*
28
+ * Alias of $.confirm to emulate native confirm()
29
+ */
30
+ $(this).each(function () {
31
+ var $this = $(this);
32
+ if ($this.attr('jc-attached')) {
33
+ console.warn('jConfirm has already been attached to this element ', $this[0]);
34
+ return;
35
+ }
36
+
37
+ $this.on('click', function (e) {
38
+ e.preventDefault();
39
+ var jcOption = $.extend({}, options);
40
+ if ($this.attr('data-title'))
41
+ jcOption['title'] = $this.attr('data-title');
42
+ if ($this.attr('data-content'))
43
+ jcOption['content'] = $this.attr('data-content');
44
+ if (typeof jcOption['buttons'] == 'undefined')
45
+ jcOption['buttons'] = {};
46
+
47
+ jcOption['$target'] = $this;
48
+ if ($this.attr('href') && Object.keys(jcOption['buttons']).length == 0) {
49
+ var buttons = $.extend(true, {}, jconfirm.pluginDefaults.defaultButtons, (jconfirm.defaults || {}).defaultButtons || {});
50
+ var firstBtn = Object.keys(buttons)[0];
51
+ jcOption['buttons'] = buttons;
52
+ jcOption.buttons[firstBtn].action = function () {
53
+ location.href = $this.attr('href');
54
+ };
55
+ }
56
+ jcOption['closeIcon'] = false;
57
+ var instance = $.confirm(jcOption);
58
+ });
59
+
60
+ $this.attr('jc-attached', true);
61
+ });
62
+ return $(this);
63
+ };
64
+ $.confirm = function (options, option2) {
65
+ if (typeof options === 'undefined') options = {};
66
+ if (typeof options === 'string') {
67
+ options = {
68
+ content: options,
69
+ title: (option2) ? option2 : false
70
+ };
71
+ }
72
+
73
+ if (typeof options['buttons'] != 'object')
74
+ options['buttons'] = {};
75
+
76
+ if (Object.keys(options['buttons']).length == 0) {
77
+ var buttons = $.extend(true, {}, jconfirm.pluginDefaults.defaultButtons, (jconfirm.defaults || {}).defaultButtons || {});
78
+ options['buttons'] = buttons;
79
+ }
80
+
81
+ /*
82
+ * Alias of jconfirm
83
+ */
84
+ return jconfirm(options);
85
+ };
86
+ $.alert = function (options, option2) {
87
+ if (typeof options === 'undefined') options = {};
88
+ if (typeof options === 'string') {
89
+ options = {
90
+ content: options,
91
+ title: (option2) ? option2 : false
92
+ };
93
+ }
94
+
95
+ if (typeof options.buttons != 'object')
96
+ options.buttons = {};
97
+
98
+ if (Object.keys(options['buttons']).length == 0) {
99
+ var buttons = $.extend(true, {}, jconfirm.pluginDefaults.defaultButtons, (jconfirm.defaults || {}).defaultButtons || {});
100
+ var firstBtn = Object.keys(buttons)[0];
101
+ options['buttons'][firstBtn] = buttons[firstBtn];
102
+ }
103
+ /*
104
+ * Alias of jconfirm
105
+ */
106
+ return jconfirm(options);
107
+ };
108
+ $.dialog = function (options, option2) {
109
+ if (typeof options === 'undefined') options = {};
110
+ if (typeof options === 'string') {
111
+ options = {
112
+ content: options,
113
+ title: (option2) ? option2 : false,
114
+ closeIcon: function () {
115
+ // Just close the modal
116
+ }
117
+ };
118
+ }
119
+
120
+ options['buttons'] = {}; // purge buttons
121
+
122
+ if (typeof options['closeIcon'] == 'undefined') {
123
+ // Dialog must have a closeIcon.
124
+ options['closeIcon'] = function () {
125
+ }
126
+ }
127
+ /*
128
+ * Alias of jconfirm
129
+ */
130
+ options.confirmKeys = [13];
131
+ return jconfirm(options);
132
+ };
133
+
134
+ jconfirm = function (options) {
135
+ if (typeof options === 'undefined') options = {};
136
+ /*
137
+ * initial function for calling.
138
+ */
139
+ var pluginOptions = $.extend(true, {}, jconfirm.pluginDefaults);
140
+ if (jconfirm.defaults) {
141
+ pluginOptions = $.extend(true, pluginOptions, jconfirm.defaults);
142
+ }
143
+
144
+ /*
145
+ * merge options with plugin defaults.
146
+ */
147
+ pluginOptions = $.extend(true, {}, pluginOptions, options);
148
+ var instance = new Jconfirm(pluginOptions);
149
+ jconfirm.instances.push(instance);
150
+ return instance;
151
+ };
152
+ Jconfirm = function (options) {
153
+ /*
154
+ * constructor function Jconfirm,
155
+ * options = user options.
156
+ */
157
+ $.extend(this, options);
158
+ this._init();
159
+ };
160
+ Jconfirm.prototype = {
161
+ _init: function () {
162
+ var that = this;
163
+
164
+ if (!jconfirm.instances.length)
165
+ jconfirm.lastFocused = $('body').find(':focus');
166
+
167
+ this._id = Math.round(Math.random() * 99999);
168
+ /**
169
+ * contentParsed maintains the contents for $content, before it is put in DOM
170
+ */
171
+ this.contentParsed = $(document.createElement('div'));
172
+
173
+ if (!this.lazyOpen) {
174
+ setTimeout(function () {
175
+ that.open();
176
+ }, 0);
177
+ }
178
+ },
179
+ _buildHTML: function () {
180
+ var that = this;
181
+
182
+ // prefix the animation string and store in animationParsed
183
+ this._parseAnimation(this.animation, 'o');
184
+ this._parseAnimation(this.closeAnimation, 'c');
185
+ this._parseBgDismissAnimation(this.backgroundDismissAnimation);
186
+ this._parseColumnClass(this.columnClass);
187
+ this._parseTheme(this.theme);
188
+ this._parseType(this.type);
189
+
190
+ /*
191
+ * Append html.
192
+ */
193
+ var template = $(this.template);
194
+ template.find('.jconfirm-box').addClass(this.animationParsed).addClass(this.backgroundDismissAnimationParsed).addClass(this.typeParsed);
195
+
196
+ if (this.typeAnimated)
197
+ template.find('.jconfirm-box').addClass('jconfirm-type-animated');
198
+
199
+ if (this.useBootstrap) {
200
+ template.find('.jc-bs3-row').addClass(this.bootstrapClasses.row);
201
+ template.find('.jc-bs3-row').addClass('justify-content-md-center justify-content-sm-center justify-content-xs-center justify-content-lg-center');
202
+
203
+ template.find('.jconfirm-box-container').addClass(this.columnClassParsed);
204
+
205
+ if (this.containerFluid)
206
+ template.find('.jc-bs3-container').addClass(this.bootstrapClasses.containerFluid);
207
+ else
208
+ template.find('.jc-bs3-container').addClass(this.bootstrapClasses.container);
209
+ } else {
210
+ template.find('.jconfirm-box').css('width', this.boxWidth);
211
+ }
212
+
213
+ if (this.titleClass)
214
+ template.find('.jconfirm-title-c').addClass(this.titleClass);
215
+
216
+ template.addClass(this.themeParsed);
217
+ var ariaLabel = 'jconfirm-box' + this._id;
218
+ template.find('.jconfirm-box').attr('aria-labelledby', ariaLabel).attr('tabindex', -1);
219
+ template.find('.jconfirm-content').attr('id', ariaLabel);
220
+ if (this.bgOpacity !== null)
221
+ template.find('.jconfirm-bg').css('opacity', this.bgOpacity);
222
+ if (this.rtl)
223
+ template.addClass('jconfirm-rtl');
224
+
225
+ this.$el = template.appendTo(this.container);
226
+ this.$jconfirmBoxContainer = this.$el.find('.jconfirm-box-container');
227
+ this.$jconfirmBox = this.$body = this.$el.find('.jconfirm-box');
228
+ this.$jconfirmBg = this.$el.find('.jconfirm-bg');
229
+ this.$title = this.$el.find('.jconfirm-title');
230
+ this.$titleContainer = this.$el.find('.jconfirm-title-c');
231
+ this.$content = this.$el.find('div.jconfirm-content');
232
+ this.$contentPane = this.$el.find('.jconfirm-content-pane');
233
+ this.$icon = this.$el.find('.jconfirm-icon-c');
234
+ this.$closeIcon = this.$el.find('.jconfirm-closeIcon');
235
+ this.$holder = this.$el.find('.jconfirm-holder');
236
+ // this.$content.css(this._getCSS(this.animationSpeed, this.animationBounce));
237
+ this.$btnc = this.$el.find('.jconfirm-buttons');
238
+ this.$scrollPane = this.$el.find('.jconfirm-scrollpane');
239
+
240
+ that.setStartingPoint();
241
+
242
+ // for loading content via URL
243
+ this._contentReady = $.Deferred();
244
+ this._modalReady = $.Deferred();
245
+ this.$holder.css({
246
+ 'padding-top': this.offsetTop,
247
+ 'padding-bottom': this.offsetBottom,
248
+ });
249
+
250
+ this.setTitle();
251
+ this.setIcon();
252
+ this._setButtons();
253
+ this._parseContent();
254
+ this.initDraggable();
255
+
256
+ if (this.isAjax)
257
+ this.showLoading(false);
258
+
259
+ $.when(this._contentReady, this._modalReady).then(function () {
260
+ if (that.isAjaxLoading)
261
+ setTimeout(function () {
262
+ that.isAjaxLoading = false;
263
+ that.setContent();
264
+ that.setTitle();
265
+ that.setIcon();
266
+ setTimeout(function () {
267
+ that.hideLoading(false);
268
+ that._updateContentMaxHeight();
269
+ }, 100);
270
+ if (typeof that.onContentReady === 'function')
271
+ that.onContentReady();
272
+ }, 50);
273
+ else {
274
+ // that.setContent();
275
+ that._updateContentMaxHeight();
276
+ that.setTitle();
277
+ that.setIcon();
278
+ if (typeof that.onContentReady === 'function')
279
+ that.onContentReady();
280
+ }
281
+
282
+ // start countdown after content has loaded.
283
+ if (that.autoClose)
284
+ that._startCountDown();
285
+ });
286
+
287
+ this._watchContent();
288
+
289
+ if (this.animation === 'none') {
290
+ this.animationSpeed = 1;
291
+ this.animationBounce = 1;
292
+ }
293
+
294
+ this.$body.css(this._getCSS(this.animationSpeed, this.animationBounce));
295
+ this.$contentPane.css(this._getCSS(this.animationSpeed, 1));
296
+ this.$jconfirmBg.css(this._getCSS(this.animationSpeed, 1));
297
+ this.$jconfirmBoxContainer.css(this._getCSS(this.animationSpeed, 1));
298
+ },
299
+ _typePrefix: 'jconfirm-type-',
300
+ typeParsed: '',
301
+ _parseType: function (type) {
302
+ this.typeParsed = this._typePrefix + type;
303
+ },
304
+ setType: function (type) {
305
+ var oldClass = this.typeParsed;
306
+ this._parseType(type);
307
+ this.$jconfirmBox.removeClass(oldClass).addClass(this.typeParsed);
308
+ },
309
+ themeParsed: '',
310
+ _themePrefix: 'jconfirm-',
311
+ setTheme: function (theme) {
312
+ var previous = this.theme;
313
+ this.theme = theme || this.theme;
314
+ this._parseTheme(this.theme);
315
+ if (previous)
316
+ this.$el.removeClass(previous);
317
+ this.$el.addClass(this.themeParsed);
318
+ this.theme = theme;
319
+ },
320
+ _parseTheme: function (theme) {
321
+ var that = this;
322
+ theme = theme.split(',');
323
+ $.each(theme, function (k, a) {
324
+ if (a.indexOf(that._themePrefix) === -1)
325
+ theme[k] = that._themePrefix + $.trim(a);
326
+ });
327
+ this.themeParsed = theme.join(' ').toLowerCase();
328
+ },
329
+ backgroundDismissAnimationParsed: '',
330
+ _bgDismissPrefix: 'jconfirm-hilight-',
331
+ _parseBgDismissAnimation: function (bgDismissAnimation) {
332
+ var animation = bgDismissAnimation.split(',');
333
+ var that = this;
334
+ $.each(animation, function (k, a) {
335
+ if (a.indexOf(that._bgDismissPrefix) === -1)
336
+ animation[k] = that._bgDismissPrefix + $.trim(a);
337
+ });
338
+ this.backgroundDismissAnimationParsed = animation.join(' ').toLowerCase();
339
+ },
340
+ animationParsed: '',
341
+ closeAnimationParsed: '',
342
+ _animationPrefix: 'jconfirm-animation-',
343
+ setAnimation: function (animation) {
344
+ this.animation = animation || this.animation;
345
+ this._parseAnimation(this.animation, 'o');
346
+ },
347
+ _parseAnimation: function (animation, which) {
348
+ which = which || 'o'; // parse what animation and store where. open or close?
349
+ var animations = animation.split(',');
350
+ var that = this;
351
+ $.each(animations, function (k, a) {
352
+ if (a.indexOf(that._animationPrefix) === -1)
353
+ animations[k] = that._animationPrefix + $.trim(a);
354
+ });
355
+ var a_string = animations.join(' ').toLowerCase();
356
+ if (which === 'o')
357
+ this.animationParsed = a_string;
358
+ else
359
+ this.closeAnimationParsed = a_string;
360
+
361
+ return a_string;
362
+ },
363
+ setCloseAnimation: function (closeAnimation) {
364
+ this.closeAnimation = closeAnimation || this.closeAnimation;
365
+ this._parseAnimation(this.closeAnimation, 'c');
366
+ },
367
+ setAnimationSpeed: function (speed) {
368
+ this.animationSpeed = speed || this.animationSpeed;
369
+ // this.$body.css(this._getCSS(this.animationSpeed, this.animationBounce));
370
+ },
371
+ columnClassParsed: '',
372
+ setColumnClass: function (colClass) {
373
+ if (!this.useBootstrap) {
374
+ console.warn("cannot set columnClass, useBootstrap is set to false");
375
+ return;
376
+ }
377
+ this.columnClass = colClass || this.columnClass;
378
+ this._parseColumnClass(this.columnClass);
379
+ this.$jconfirmBoxContainer.addClass(this.columnClassParsed);
380
+ },
381
+ _updateContentMaxHeight: function () {
382
+ var height = $(window).height() - (this.$jconfirmBox.outerHeight() - this.$contentPane.outerHeight()) - (this.offsetTop + this.offsetBottom);
383
+ this.$contentPane.css({
384
+ 'max-height': height + 'px'
385
+ });
386
+ },
387
+ setBoxWidth: function (width) {
388
+ if (this.useBootstrap) {
389
+ console.warn("cannot set boxWidth, useBootstrap is set to true");
390
+ return;
391
+ }
392
+ this.boxWidth = width;
393
+ this.$jconfirmBox.css('width', width);
394
+ },
395
+ _parseColumnClass: function (colClass) {
396
+ colClass = colClass.toLowerCase();
397
+ var p;
398
+ switch (colClass) {
399
+ case 'xl':
400
+ case 'xlarge':
401
+ p = 'col-md-12';
402
+ break;
403
+ case 'l':
404
+ case 'large':
405
+ p = 'col-md-8 col-md-offset-2';
406
+ break;
407
+ case 'm':
408
+ case 'medium':
409
+ p = 'col-md-6 col-md-offset-3';
410
+ break;
411
+ case 's':
412
+ case 'small':
413
+ p = 'col-md-4 col-md-offset-4';
414
+ break;
415
+ case 'xs':
416
+ case 'xsmall':
417
+ p = 'col-md-2 col-md-offset-5';
418
+ break;
419
+ default:
420
+ p = colClass;
421
+ }
422
+ this.columnClassParsed = p;
423
+ },
424
+ initDraggable: function () {
425
+ var that = this;
426
+ var $t = this.$titleContainer;
427
+
428
+ this.resetDrag();
429
+ if (this.draggable) {
430
+ $t.on('mousedown', function (e) {
431
+ $t.addClass('jconfirm-hand');
432
+ that.mouseX = e.clientX;
433
+ that.mouseY = e.clientY;
434
+ that.isDrag = true;
435
+ });
436
+ $(window).on('mousemove.' + this._id, function (e) {
437
+ if (that.isDrag) {
438
+ that.movingX = e.clientX - that.mouseX + that.initialX;
439
+ that.movingY = e.clientY - that.mouseY + that.initialY;
440
+ that.setDrag();
441
+ }
442
+ });
443
+
444
+ $(window).on('mouseup.' + this._id, function () {
445
+ $t.removeClass('jconfirm-hand');
446
+ if (that.isDrag) {
447
+ that.isDrag = false;
448
+ that.initialX = that.movingX;
449
+ that.initialY = that.movingY;
450
+ }
451
+ })
452
+ }
453
+ },
454
+ resetDrag: function () {
455
+ this.isDrag = false;
456
+ this.initialX = 0;
457
+ this.initialY = 0;
458
+ this.movingX = 0;
459
+ this.movingY = 0;
460
+ this.mouseX = 0;
461
+ this.mouseY = 0;
462
+ this.$jconfirmBoxContainer.css('transform', 'translate(' + 0 + 'px, ' + 0 + 'px)');
463
+ },
464
+ setDrag: function () {
465
+ if (!this.draggable)
466
+ return;
467
+
468
+ this.alignMiddle = false;
469
+ var boxWidth = this.$jconfirmBox.outerWidth();
470
+ var boxHeight = this.$jconfirmBox.outerHeight();
471
+ var windowWidth = $(window).width();
472
+ var windowHeight = $(window).height();
473
+ var that = this;
474
+ var dragUpdate = 1;
475
+ if (that.movingX % dragUpdate === 0 || that.movingY % dragUpdate === 0) {
476
+ if (that.dragWindowBorder) {
477
+ var leftDistance = (windowWidth / 2) - boxWidth / 2;
478
+ var topDistance = (windowHeight / 2) - boxHeight / 2;
479
+ topDistance -= that.dragWindowGap;
480
+ leftDistance -= that.dragWindowGap;
481
+
482
+ if (leftDistance + that.movingX < 0) {
483
+ that.movingX = -leftDistance;
484
+ } else if (leftDistance - that.movingX < 0) {
485
+ that.movingX = leftDistance;
486
+ }
487
+
488
+ if (topDistance + that.movingY < 0) {
489
+ that.movingY = -topDistance;
490
+ } else if (topDistance - that.movingY < 0) {
491
+ that.movingY = topDistance;
492
+ }
493
+ }
494
+
495
+ that.$jconfirmBoxContainer.css('transform', 'translate(' + that.movingX + 'px, ' + that.movingY + 'px)');
496
+ }
497
+ },
498
+ _scrollTop: function () {
499
+ if (typeof pageYOffset !== 'undefined') {
500
+ //most browsers except IE before #9
501
+ return pageYOffset;
502
+ }
503
+ else {
504
+ var B = document.body; //IE 'quirks'
505
+ var D = document.documentElement; //IE with doctype
506
+ D = (D.clientHeight) ? D : B;
507
+ return D.scrollTop;
508
+ }
509
+ },
510
+ _watchContent: function () {
511
+ var that = this;
512
+ if (this._timer) clearInterval(this._timer);
513
+
514
+ var prevContentHeight = 0;
515
+ this._timer = setInterval(function () {
516
+ if (that.smoothContent) {
517
+ var contentHeight = that.$content.outerHeight() || 0;
518
+ if (contentHeight !== prevContentHeight) {
519
+ that.$contentPane.css({
520
+ 'height': contentHeight
521
+ }).scrollTop(0);
522
+ prevContentHeight = contentHeight;
523
+ }
524
+ var wh = $(window).height();
525
+ var total = that.offsetTop + that.offsetBottom + that.$jconfirmBox.height() - that.$contentPane.height() + that.$content.height();
526
+ if (total < wh) {
527
+ that.$contentPane.addClass('no-scroll');
528
+ } else {
529
+ that.$contentPane.removeClass('no-scroll');
530
+ }
531
+ }
532
+ }, this.watchInterval);
533
+ },
534
+ _overflowClass: 'jconfirm-overflow',
535
+ _hilightAnimating: false,
536
+ highlight: function () {
537
+ this.hiLightModal();
538
+ },
539
+ hiLightModal: function () {
540
+ var that = this;
541
+ if (this._hilightAnimating)
542
+ return;
543
+
544
+ that.$body.addClass('hilight');
545
+ var duration = parseFloat(that.$body.css('animation-duration')) || 2;
546
+ this._hilightAnimating = true;
547
+ setTimeout(function () {
548
+ that._hilightAnimating = false;
549
+ that.$body.removeClass('hilight');
550
+ }, duration * 1000);
551
+ },
552
+ _bindEvents: function () {
553
+ var that = this;
554
+ this.boxClicked = false;
555
+
556
+ this.$scrollPane.click(function (e) { // Ignore propagated clicks
557
+ if (!that.boxClicked) { // Background clicked
558
+ /*
559
+ If backgroundDismiss is a function and its return value is truthy
560
+ proceed to close the modal.
561
+ */
562
+ var buttonName = false;
563
+ var shouldClose = false;
564
+ var str;
565
+
566
+ if (typeof that.backgroundDismiss == 'function')
567
+ str = that.backgroundDismiss();
568
+ else
569
+ str = that.backgroundDismiss;
570
+
571
+ if (typeof str == 'string' && typeof that.buttons[str] != 'undefined') {
572
+ buttonName = str;
573
+ shouldClose = false;
574
+ } else if (typeof str == 'undefined' || !!(str) == true) {
575
+ shouldClose = true;
576
+ } else {
577
+ shouldClose = false;
578
+ }
579
+
580
+ if (buttonName) {
581
+ var btnResponse = that.buttons[buttonName].action.apply(that);
582
+ shouldClose = (typeof btnResponse == 'undefined') || !!(btnResponse);
583
+ }
584
+
585
+ if (shouldClose)
586
+ that.close();
587
+ else
588
+ that.hiLightModal();
589
+ }
590
+ that.boxClicked = false;
591
+ });
592
+
593
+ this.$jconfirmBox.click(function (e) {
594
+ that.boxClicked = true;
595
+ });
596
+
597
+ var isKeyDown = false;
598
+ $(window).on('jcKeyDown.' + that._id, function (e) {
599
+ if (!isKeyDown) {
600
+ isKeyDown = true;
601
+ }
602
+ });
603
+ $(window).on('keyup.' + that._id, function (e) {
604
+ if (isKeyDown) {
605
+ that.reactOnKey(e);
606
+ isKeyDown = false;
607
+ }
608
+ });
609
+
610
+ $(window).on('resize.' + this._id, function () {
611
+ that._updateContentMaxHeight();
612
+ setTimeout(function () {
613
+ that.resetDrag();
614
+ }, 100);
615
+ });
616
+ },
617
+ _cubic_bezier: '0.36, 0.55, 0.19',
618
+ _getCSS: function (speed, bounce) {
619
+ return {
620
+ '-webkit-transition-duration': speed / 1000 + 's',
621
+ 'transition-duration': speed / 1000 + 's',
622
+ '-webkit-transition-timing-function': 'cubic-bezier(' + this._cubic_bezier + ', ' + bounce + ')',
623
+ 'transition-timing-function': 'cubic-bezier(' + this._cubic_bezier + ', ' + bounce + ')'
624
+ };
625
+ },
626
+ _setButtons: function () {
627
+ var that = this;
628
+ /*
629
+ * Settings up buttons
630
+ */
631
+
632
+ var total_buttons = 0;
633
+ if (typeof this.buttons !== 'object')
634
+ this.buttons = {};
635
+
636
+ $.each(this.buttons, function (key, button) {
637
+ total_buttons += 1;
638
+ if (typeof button === 'function') {
639
+ that.buttons[key] = button = {
640
+ action: button
641
+ };
642
+ }
643
+
644
+ that.buttons[key].text = button.text || key;
645
+ that.buttons[key].btnClass = button.btnClass || 'btn-default';
646
+ that.buttons[key].action = button.action || function () {
647
+ };
648
+ that.buttons[key].keys = button.keys || [];
649
+ that.buttons[key].isHidden = button.isHidden || false;
650
+ that.buttons[key].isDisabled = button.isDisabled || false;
651
+
652
+ $.each(that.buttons[key].keys, function (i, a) {
653
+ that.buttons[key].keys[i] = a.toLowerCase();
654
+ });
655
+
656
+ var button_element = $('<button type="button" class="btn"></button>')
657
+ .html(that.buttons[key].text)
658
+ .addClass(that.buttons[key].btnClass)
659
+ .prop('disabled', that.buttons[key].isDisabled)
660
+ .css('display', that.buttons[key].isHidden ? 'none' : '')
661
+ .click(function (e) {
662
+ e.preventDefault();
663
+ var res = that.buttons[key].action.apply(that, [that.buttons[key]]);
664
+ that.onAction.apply(that, [key, that.buttons[key]]);
665
+ that._stopCountDown();
666
+ if (typeof res === 'undefined' || res)
667
+ that.close();
668
+ });
669
+
670
+ that.buttons[key].el = button_element;
671
+ that.buttons[key].setText = function (text) {
672
+ button_element.html(text);
673
+ };
674
+ that.buttons[key].addClass = function (className) {
675
+ button_element.addClass(className);
676
+ };
677
+ that.buttons[key].removeClass = function (className) {
678
+ button_element.removeClass(className);
679
+ };
680
+ that.buttons[key].disable = function () {
681
+ that.buttons[key].isDisabled = true;
682
+ button_element.prop('disabled', true);
683
+ };
684
+ that.buttons[key].enable = function () {
685
+ that.buttons[key].isDisabled = false;
686
+ button_element.prop('disabled', false);
687
+ };
688
+ that.buttons[key].show = function () {
689
+ that.buttons[key].isHidden = false;
690
+ button_element.css('display', '');
691
+ };
692
+ that.buttons[key].hide = function () {
693
+ that.buttons[key].isHidden = true;
694
+ button_element.css('display', 'none');
695
+ };
696
+ /*
697
+ Buttons are prefixed with $_ or $$ for quick access
698
+ */
699
+ that['$_' + key] = that['$$' + key] = button_element;
700
+ that.$btnc.append(button_element);
701
+ });
702
+
703
+ if (total_buttons === 0) this.$btnc.hide();
704
+ if (this.closeIcon === null && total_buttons === 0) {
705
+ /*
706
+ in case when no buttons are present & closeIcon is null, closeIcon is set to true,
707
+ set closeIcon to true to explicitly tell to hide the close icon
708
+ */
709
+ this.closeIcon = true;
710
+ }
711
+
712
+ if (this.closeIcon) {
713
+ if (this.closeIconClass) {
714
+ // user requires a custom class.
715
+ var closeHtml = '<i class="' + this.closeIconClass + '"></i>';
716
+ this.$closeIcon.html(closeHtml);
717
+ }
718
+
719
+ this.$closeIcon.click(function (e) {
720
+ e.preventDefault();
721
+
722
+ var buttonName = false;
723
+ var shouldClose = false;
724
+ var str;
725
+
726
+ if (typeof that.closeIcon == 'function') {
727
+ str = that.closeIcon();
728
+ } else {
729
+ str = that.closeIcon;
730
+ }
731
+
732
+ if (typeof str == 'string' && typeof that.buttons[str] != 'undefined') {
733
+ buttonName = str;
734
+ shouldClose = false;
735
+ } else if (typeof str == 'undefined' || !!(str) == true) {
736
+ shouldClose = true;
737
+ } else {
738
+ shouldClose = false;
739
+ }
740
+ if (buttonName) {
741
+ var btnResponse = that.buttons[buttonName].action.apply(that);
742
+ shouldClose = (typeof btnResponse == 'undefined') || !!(btnResponse);
743
+ }
744
+ if (shouldClose) {
745
+ that.close();
746
+ }
747
+ });
748
+ this.$closeIcon.show();
749
+ } else {
750
+ this.$closeIcon.hide();
751
+ }
752
+ },
753
+ setTitle: function (string, force) {
754
+ force = force || false;
755
+
756
+ if (typeof string !== 'undefined')
757
+ if (typeof string == 'string')
758
+ this.title = string;
759
+ else if (typeof string == 'function') {
760
+ if (typeof string.promise == 'function')
761
+ console.error('Promise was returned from title function, this is not supported.');
762
+
763
+ var response = string();
764
+ if (typeof response == 'string')
765
+ this.title = response;
766
+ else
767
+ this.title = false;
768
+ } else
769
+ this.title = false;
770
+
771
+ if (this.isAjaxLoading && !force)
772
+ return;
773
+
774
+ this.$title.html(this.title || '');
775
+ this.updateTitleContainer();
776
+ },
777
+ setIcon: function (iconClass, force) {
778
+ force = force || false;
779
+
780
+ if (typeof iconClass !== 'undefined')
781
+ if (typeof iconClass == 'string')
782
+ this.icon = iconClass;
783
+ else if (typeof iconClass === 'function') {
784
+ var response = iconClass();
785
+ if (typeof response == 'string')
786
+ this.icon = response;
787
+ else
788
+ this.icon = false;
789
+ }
790
+ else
791
+ this.icon = false;
792
+
793
+ if (this.isAjaxLoading && !force)
794
+ return;
795
+
796
+ this.$icon.html(this.icon ? '<i class="' + this.icon + '"></i>' : '');
797
+ this.updateTitleContainer();
798
+ },
799
+ updateTitleContainer: function () {
800
+ if (!this.title && !this.icon) {
801
+ this.$titleContainer.hide();
802
+ } else {
803
+ this.$titleContainer.show();
804
+ }
805
+ },
806
+ setContentPrepend: function (content, force) {
807
+ if (!content)
808
+ return;
809
+
810
+ this.contentParsed.prepend(content);
811
+ },
812
+ setContentAppend: function (content) {
813
+ if (!content)
814
+ return;
815
+
816
+ this.contentParsed.append(content);
817
+ },
818
+ setContent: function (content, force) {
819
+ force = !!force;
820
+ var that = this;
821
+ if (content)
822
+ this.contentParsed.html('').append(content);
823
+ if (this.isAjaxLoading && !force)
824
+ return;
825
+
826
+ this.$content.html('');
827
+ this.$content.append(this.contentParsed);
828
+ setTimeout(function () {
829
+ that.$body.find('input[autofocus]:visible:first').focus();
830
+ }, 100);
831
+ },
832
+ loadingSpinner: false,
833
+ showLoading: function (disableButtons) {
834
+ this.loadingSpinner = true;
835
+ this.$jconfirmBox.addClass('loading');
836
+ if (disableButtons)
837
+ this.$btnc.find('button').prop('disabled', true);
838
+
839
+ },
840
+ hideLoading: function (enableButtons) {
841
+ this.loadingSpinner = false;
842
+ this.$jconfirmBox.removeClass('loading');
843
+ if (enableButtons)
844
+ this.$btnc.find('button').prop('disabled', false);
845
+
846
+ },
847
+ ajaxResponse: false,
848
+ contentParsed: '',
849
+ isAjax: false,
850
+ isAjaxLoading: false,
851
+ _parseContent: function () {
852
+ var that = this;
853
+ var e = '&nbsp;';
854
+
855
+ if (typeof this.content == 'function') {
856
+ var res = this.content.apply(this);
857
+ if (typeof res == 'string') {
858
+ this.content = res;
859
+ }
860
+ else if (typeof res == 'object' && typeof res.always == 'function') {
861
+ // this is ajax loading via promise
862
+ this.isAjax = true;
863
+ this.isAjaxLoading = true;
864
+ res.always(function (data, status, xhr) {
865
+ that.ajaxResponse = {
866
+ data: data,
867
+ status: status,
868
+ xhr: xhr
869
+ };
870
+ that._contentReady.resolve(data, status, xhr);
871
+ if (typeof that.contentLoaded == 'function')
872
+ that.contentLoaded(data, status, xhr);
873
+ });
874
+ this.content = e;
875
+ } else {
876
+ this.content = e;
877
+ }
878
+ }
879
+
880
+ if (typeof this.content == 'string' && this.content.substr(0, 4).toLowerCase() === 'url:') {
881
+ this.isAjax = true;
882
+ this.isAjaxLoading = true;
883
+ var u = this.content.substring(4, this.content.length);
884
+ $.get(u).done(function (html) {
885
+ that.contentParsed.html(html);
886
+ }).always(function (data, status, xhr) {
887
+ that.ajaxResponse = {
888
+ data: data,
889
+ status: status,
890
+ xhr: xhr
891
+ };
892
+ that._contentReady.resolve(data, status, xhr);
893
+ if (typeof that.contentLoaded == 'function')
894
+ that.contentLoaded(data, status, xhr);
895
+ });
896
+ }
897
+
898
+ if (!this.content)
899
+ this.content = e;
900
+
901
+ if (!this.isAjax) {
902
+ this.contentParsed.html(this.content);
903
+ this.setContent();
904
+ that._contentReady.resolve();
905
+ }
906
+ },
907
+ _stopCountDown: function () {
908
+ clearInterval(this.autoCloseInterval);
909
+ if (this.$cd)
910
+ this.$cd.remove();
911
+ },
912
+ _startCountDown: function () {
913
+ var that = this;
914
+ var opt = this.autoClose.split('|');
915
+ if (opt.length !== 2) {
916
+ console.error('Invalid option for autoClose. example \'close|10000\'');
917
+ return false;
918
+ }
919
+
920
+ var button_key = opt[0];
921
+ var time = parseInt(opt[1]);
922
+ if (typeof this.buttons[button_key] === 'undefined') {
923
+ console.error('Invalid button key \'' + button_key + '\' for autoClose');
924
+ return false;
925
+ }
926
+
927
+ var seconds = Math.ceil(time / 1000);
928
+ this.$cd = $('<span class="countdown"> (' + seconds + ')</span>')
929
+ .appendTo(this['$_' + button_key]);
930
+
931
+ this.autoCloseInterval = setInterval(function () {
932
+ that.$cd.html(' (' + (seconds -= 1) + ') ');
933
+ if (seconds <= 0) {
934
+ that['$$' + button_key].trigger('click');
935
+ that._stopCountDown();
936
+ }
937
+ }, 1000);
938
+ },
939
+ _getKey: function (key) {
940
+ // very necessary keys.
941
+ switch (key) {
942
+ case 192:
943
+ return 'tilde';
944
+ case 13:
945
+ return 'enter';
946
+ case 16:
947
+ return 'shift';
948
+ case 9:
949
+ return 'tab';
950
+ case 20:
951
+ return 'capslock';
952
+ case 17:
953
+ return 'ctrl';
954
+ case 91:
955
+ return 'win';
956
+ case 18:
957
+ return 'alt';
958
+ case 27:
959
+ return 'esc';
960
+ case 32:
961
+ return 'space';
962
+ }
963
+
964
+ // only trust alphabets with this.
965
+ var initial = String.fromCharCode(key);
966
+ if (/^[A-z0-9]+$/.test(initial))
967
+ return initial.toLowerCase();
968
+ else
969
+ return false;
970
+ },
971
+ reactOnKey: function (e) {
972
+ var that = this;
973
+
974
+ /*
975
+ Prevent keyup event if the dialog is not last!
976
+ */
977
+ var a = $('.jconfirm');
978
+ if (a.eq(a.length - 1)[0] !== this.$el[0])
979
+ return false;
980
+
981
+ var key = e.which;
982
+ /*
983
+ Do not react if Enter or Space is pressed on input elements
984
+ */
985
+ if (this.$content.find(':input').is(':focus') && /13|32/.test(key))
986
+ return false;
987
+
988
+ var keyChar = this._getKey(key);
989
+
990
+ // If esc is pressed
991
+ if (keyChar === 'esc' && this.escapeKey) {
992
+ if (this.escapeKey === true) {
993
+ this.$scrollPane.trigger('click');
994
+ }
995
+ else if (typeof this.escapeKey === 'string' || typeof this.escapeKey === 'function') {
996
+ var buttonKey;
997
+ if (typeof this.escapeKey === 'function') {
998
+ buttonKey = this.escapeKey();
999
+ } else {
1000
+ buttonKey = this.escapeKey;
1001
+ }
1002
+
1003
+ if (buttonKey)
1004
+ if (typeof this.buttons[buttonKey] === 'undefined') {
1005
+ console.warn('Invalid escapeKey, no buttons found with key ' + buttonKey);
1006
+ } else {
1007
+ this['$_' + buttonKey].trigger('click');
1008
+ }
1009
+ }
1010
+ }
1011
+
1012
+ // check if any button is listening to this key.
1013
+ $.each(this.buttons, function (key, button) {
1014
+ if (button.keys.indexOf(keyChar) != -1) {
1015
+ that['$_' + key].trigger('click');
1016
+ }
1017
+ });
1018
+ },
1019
+ setDialogCenter: function () {
1020
+ console.info('setDialogCenter is deprecated, dialogs are centered with CSS3 tables');
1021
+ },
1022
+ _unwatchContent: function () {
1023
+ clearInterval(this._timer);
1024
+ },
1025
+ close: function () {
1026
+ var that = this;
1027
+
1028
+ if (typeof this.onClose === 'function')
1029
+ this.onClose();
1030
+
1031
+ this._unwatchContent();
1032
+
1033
+ /*
1034
+ unbind the window resize & keyup event.
1035
+ */
1036
+ $(window).unbind('resize.' + this._id);
1037
+ $(window).unbind('keyup.' + this._id);
1038
+ $(window).unbind('jcKeyDown.' + this._id);
1039
+
1040
+ if (this.draggable) {
1041
+ $(window).unbind('mousemove.' + this._id);
1042
+ $(window).unbind('mouseup.' + this._id);
1043
+ this.$titleContainer.unbind('mousedown');
1044
+ }
1045
+
1046
+ that.$el.removeClass(that.loadedClass);
1047
+ $('body').removeClass('jconfirm-no-scroll-' + that._id);
1048
+ that.$jconfirmBoxContainer.removeClass('jconfirm-no-transition');
1049
+
1050
+ setTimeout(function () {
1051
+ that.$body.addClass(that.closeAnimationParsed);
1052
+ that.$jconfirmBg.addClass('jconfirm-bg-h');
1053
+ var closeTimer = (that.closeAnimation === 'none') ? 1 : that.animationSpeed;
1054
+
1055
+ setTimeout(function () {
1056
+ that.$el.remove();
1057
+
1058
+ var l = jconfirm.instances;
1059
+ var i = jconfirm.instances.length - 1;
1060
+ for (i; i >= 0; i--) {
1061
+ if (jconfirm.instances[i]._id === that._id) {
1062
+ jconfirm.instances.splice(i, 1);
1063
+ }
1064
+ }
1065
+
1066
+ // Focusing a element, scrolls automatically to that element.
1067
+ // no instances should be open, lastFocused should be true, the lastFocused element must exists in DOM
1068
+ if (!jconfirm.instances.length) {
1069
+ if (that.scrollToPreviousElement && jconfirm.lastFocused && jconfirm.lastFocused.length && $.contains(document, jconfirm.lastFocused[0])) {
1070
+ var $lf = jconfirm.lastFocused;
1071
+ if (that.scrollToPreviousElementAnimate) {
1072
+ var st = $(window).scrollTop();
1073
+ var ot = jconfirm.lastFocused.offset().top;
1074
+ var wh = $(window).height();
1075
+ if (!(ot > st && ot < (st + wh))) {
1076
+ var scrollTo = (ot - Math.round((wh / 3)));
1077
+ $('html, body').animate({
1078
+ scrollTop: scrollTo
1079
+ }, that.animationSpeed, 'swing', function () {
1080
+ // gracefully scroll and then focus.
1081
+ $lf.focus();
1082
+ });
1083
+ } else {
1084
+ // the element to be focused is already in view.
1085
+ $lf.focus();
1086
+ }
1087
+ } else {
1088
+ $lf.focus();
1089
+ }
1090
+ jconfirm.lastFocused = false;
1091
+ }
1092
+ }
1093
+
1094
+ if (typeof that.onDestroy === 'function')
1095
+ that.onDestroy();
1096
+
1097
+ }, closeTimer * 0.40);
1098
+ }, 50);
1099
+
1100
+ return true;
1101
+ },
1102
+ open: function () {
1103
+ if (this.isOpen())
1104
+ return false;
1105
+
1106
+ // var that = this;
1107
+ this._buildHTML();
1108
+ this._bindEvents();
1109
+ this._open();
1110
+
1111
+ return true;
1112
+ },
1113
+ setStartingPoint: function () {
1114
+ var el = false;
1115
+
1116
+ if (this.animateFromElement !== true && this.animateFromElement) {
1117
+ el = this.animateFromElement;
1118
+ jconfirm.lastClicked = false;
1119
+ } else if (jconfirm.lastClicked && this.animateFromElement === true) {
1120
+ el = jconfirm.lastClicked;
1121
+ jconfirm.lastClicked = false;
1122
+ } else {
1123
+ return false;
1124
+ }
1125
+
1126
+ if (!el)
1127
+ return false;
1128
+
1129
+ var offset = el.offset();
1130
+
1131
+ var iTop = el.outerHeight() / 2;
1132
+ var iLeft = el.outerWidth() / 2;
1133
+
1134
+ // placing position of jconfirm modal in center of clicked element
1135
+ iTop -= this.$jconfirmBox.outerHeight() / 2;
1136
+ iLeft -= this.$jconfirmBox.outerWidth() / 2;
1137
+
1138
+ // absolute position on screen
1139
+ var sourceTop = offset.top + iTop;
1140
+ sourceTop = sourceTop - this._scrollTop();
1141
+ var sourceLeft = offset.left + iLeft;
1142
+
1143
+ // window halved
1144
+ var wh = $(window).height() / 2;
1145
+ var ww = $(window).width() / 2;
1146
+
1147
+ var targetH = wh - this.$jconfirmBox.outerHeight() / 2;
1148
+ var targetW = ww - this.$jconfirmBox.outerWidth() / 2;
1149
+
1150
+ sourceTop -= targetH;
1151
+ sourceLeft -= targetW;
1152
+
1153
+ // Check if the element is inside the viewable window.
1154
+ if (Math.abs(sourceTop) > wh || Math.abs(sourceLeft) > ww)
1155
+ return false;
1156
+
1157
+ this.$jconfirmBoxContainer.css('transform', 'translate(' + sourceLeft + 'px, ' + sourceTop + 'px)');
1158
+ },
1159
+ _open: function () {
1160
+ var that = this;
1161
+ if (typeof that.onOpenBefore === 'function')
1162
+ that.onOpenBefore();
1163
+
1164
+ this.$body.removeClass(this.animationParsed);
1165
+ this.$jconfirmBg.removeClass('jconfirm-bg-h');
1166
+ this.$body.focus();
1167
+
1168
+ that.$jconfirmBoxContainer.css('transform', 'translate(' + 0 + 'px, ' + 0 + 'px)');
1169
+
1170
+ setTimeout(function () {
1171
+ that.$body.css(that._getCSS(that.animationSpeed, 1));
1172
+ that.$body.css({
1173
+ 'transition-property': that.$body.css('transition-property') + ', margin'
1174
+ });
1175
+ that.$jconfirmBoxContainer.addClass('jconfirm-no-transition');
1176
+ that._modalReady.resolve();
1177
+ if (typeof that.onOpen === 'function')
1178
+ that.onOpen();
1179
+
1180
+ that.$el.addClass(that.loadedClass);
1181
+ }, this.animationSpeed);
1182
+ },
1183
+ loadedClass: 'jconfirm-open',
1184
+ isClosed: function () {
1185
+ return !this.$el || this.$el.css('display') === '';
1186
+ },
1187
+ isOpen: function () {
1188
+ return !this.isClosed();
1189
+ },
1190
+ toggle: function () {
1191
+ if (!this.isOpen())
1192
+ this.open();
1193
+ else
1194
+ this.close();
1195
+ }
1196
+ };
1197
+
1198
+ jconfirm.instances = [];
1199
+ jconfirm.lastFocused = false;
1200
+ jconfirm.pluginDefaults = {
1201
+ template: '' +
1202
+ '<div class="jconfirm">' +
1203
+ '<div class="jconfirm-bg jconfirm-bg-h"></div>' +
1204
+ '<div class="jconfirm-scrollpane">' +
1205
+ '<div class="jconfirm-row">' +
1206
+ '<div class="jconfirm-cell">' +
1207
+ '<div class="jconfirm-holder">' +
1208
+ '<div class="jc-bs3-container">' +
1209
+ '<div class="jc-bs3-row">' +
1210
+ '<div class="jconfirm-box-container jconfirm-animated">' +
1211
+ '<div class="jconfirm-box" role="dialog" aria-labelledby="labelled" tabindex="-1">' +
1212
+ '<div class="jconfirm-closeIcon">&times;</div>' +
1213
+ '<div class="jconfirm-title-c">' +
1214
+ '<span class="jconfirm-icon-c"></span>' +
1215
+ '<span class="jconfirm-title"></span>' +
1216
+ '</div>' +
1217
+ '<div class="jconfirm-content-pane">' +
1218
+ '<div class="jconfirm-content"></div>' +
1219
+ '</div>' +
1220
+ '<div class="jconfirm-buttons">' +
1221
+ '</div>' +
1222
+ '<div class="jconfirm-clear">' +
1223
+ '</div>' +
1224
+ '</div>' +
1225
+ '</div>' +
1226
+ '</div>' +
1227
+ '</div>' +
1228
+ '</div>' +
1229
+ '</div>' +
1230
+ '</div>' +
1231
+ '</div></div>',
1232
+ title: 'Hello',
1233
+ titleClass: '',
1234
+ type: 'default',
1235
+ typeAnimated: true,
1236
+ draggable: true,
1237
+ dragWindowGap: 15,
1238
+ dragWindowBorder: true,
1239
+ animateFromElement: true,
1240
+ /**
1241
+ * @deprecated
1242
+ */
1243
+ alignMiddle: true,
1244
+ smoothContent: true,
1245
+ content: 'Are you sure to continue?',
1246
+ buttons: {},
1247
+ defaultButtons: {
1248
+ ok: {
1249
+ action: function () {
1250
+ }
1251
+ },
1252
+ close: {
1253
+ action: function () {
1254
+ }
1255
+ }
1256
+ },
1257
+ contentLoaded: function () {
1258
+ },
1259
+ icon: '',
1260
+ lazyOpen: false,
1261
+ bgOpacity: null,
1262
+ theme: 'light',
1263
+ animation: 'scale',
1264
+ closeAnimation: 'scale',
1265
+ animationSpeed: 400,
1266
+ animationBounce: 1,
1267
+ escapeKey: true,
1268
+ rtl: false,
1269
+ container: 'body',
1270
+ containerFluid: false,
1271
+ backgroundDismiss: false,
1272
+ backgroundDismissAnimation: 'shake',
1273
+ autoClose: false,
1274
+ closeIcon: null,
1275
+ closeIconClass: false,
1276
+ watchInterval: 100,
1277
+ columnClass: 'col-md-4 col-md-offset-4 col-sm-6 col-sm-offset-3 col-xs-10 col-xs-offset-1',
1278
+ boxWidth: '50%',
1279
+ scrollToPreviousElement: true,
1280
+ scrollToPreviousElementAnimate: true,
1281
+ useBootstrap: true,
1282
+ offsetTop: 40,
1283
+ offsetBottom: 40,
1284
+ bootstrapClasses: {
1285
+ container: 'container',
1286
+ containerFluid: 'container-fluid',
1287
+ row: 'row'
1288
+ },
1289
+ onContentReady: function () {
1290
+
1291
+ },
1292
+ onOpenBefore: function () {
1293
+
1294
+ },
1295
+ onOpen: function () {
1296
+
1297
+ },
1298
+ onClose: function () {
1299
+
1300
+ },
1301
+ onDestroy: function () {
1302
+
1303
+ },
1304
+ onAction: function () {
1305
+
1306
+ }
1307
+ };
1308
+
1309
+ /**
1310
+ * This refers to the issue #241 and #246
1311
+ *
1312
+ * Problem:
1313
+ * Button A is clicked (keydown) using the Keyboard ENTER key
1314
+ * A opens the jconfirm modal B,
1315
+ * B has registered ENTER key for one of its button C
1316
+ * A is released (keyup), B gets the keyup event and triggers C.
1317
+ *
1318
+ * Solution:
1319
+ * Register a global keydown event, that tells jconfirm if the keydown originated inside jconfirm
1320
+ */
1321
+ var keyDown = false;
1322
+ $(window).on('keydown', function (e) {
1323
+ if (!keyDown) {
1324
+ var $target = $(e.target);
1325
+ var pass = false;
1326
+ if ($target.closest('.jconfirm-box').length)
1327
+ pass = true;
1328
+ if (pass)
1329
+ $(window).trigger('jcKeyDown');
1330
+
1331
+ keyDown = true;
1332
+ }
1333
+ });
1334
+ $(window).on('keyup', function () {
1335
+ keyDown = false;
1336
+ });
1337
+ jconfirm.lastClicked = false;
1338
+ $(document).on('mousedown', 'button, a', function () {
1339
+ jconfirm.lastClicked = $(this);
1340
+ });
1341
+ })(jQuery, window);
assets/js/selectWoo/selectWoo.full.js ADDED
@@ -0,0 +1,6585 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /*!
2
+ * SelectWoo 1.0.1
3
+ * https://github.com/woocommerce/selectWoo
4
+ *
5
+ * Released under the MIT license
6
+ * https://github.com/woocommerce/selectWoo/blob/master/LICENSE.md
7
+ */
8
+ (function (factory) {
9
+ if (typeof define === 'function' && define.amd) {
10
+ // AMD. Register as an anonymous module.
11
+ define(['jquery'], factory);
12
+ } else if (typeof module === 'object' && module.exports) {
13
+ // Node/CommonJS
14
+ module.exports = function (root, jQuery) {
15
+ if (jQuery === undefined) {
16
+ // require('jQuery') returns a factory that requires window to
17
+ // build a jQuery instance, we normalize how we use modules
18
+ // that require this pattern but the window provided is a noop
19
+ // if it's defined (how jquery works)
20
+ if (typeof window !== 'undefined') {
21
+ jQuery = require('jquery');
22
+ }
23
+ else {
24
+ jQuery = require('jquery')(root);
25
+ }
26
+ }
27
+ factory(jQuery);
28
+ return jQuery;
29
+ };
30
+ } else {
31
+ // Browser globals
32
+ factory(jQuery);
33
+ }
34
+ } (function (jQuery) {
35
+ // This is needed so we can catch the AMD loader configuration and use it
36
+ // The inner file should be wrapped (by `banner.start.js`) in a function that
37
+ // returns the AMD loader references.
38
+ var S2 =(function () {
39
+ // Restore the Select2 AMD loader so it can be used
40
+ // Needed mostly in the language files, where the loader is not inserted
41
+ if (jQuery && jQuery.fn && jQuery.fn.select2 && jQuery.fn.select2.amd) {
42
+ var S2 = jQuery.fn.select2.amd;
43
+ }
44
+ var S2;(function () { if (!S2 || !S2.requirejs) {
45
+ if (!S2) { S2 = {}; } else { require = S2; }
46
+ /**
47
+ * @license almond 0.3.3 Copyright jQuery Foundation and other contributors.
48
+ * Released under MIT license, http://github.com/requirejs/almond/LICENSE
49
+ */
50
+ //Going sloppy to avoid 'use strict' string cost, but strict practices should
51
+ //be followed.
52
+ /*global setTimeout: false */
53
+
54
+ var requirejs, require, define;
55
+ (function (undef) {
56
+ var main, req, makeMap, handlers,
57
+ defined = {},
58
+ waiting = {},
59
+ config = {},
60
+ defining = {},
61
+ hasOwn = Object.prototype.hasOwnProperty,
62
+ aps = [].slice,
63
+ jsSuffixRegExp = /\.js$/;
64
+
65
+ function hasProp(obj, prop) {
66
+ return hasOwn.call(obj, prop);
67
+ }
68
+
69
+ /**
70
+ * Given a relative module name, like ./something, normalize it to
71
+ * a real name that can be mapped to a path.
72
+ * @param {String} name the relative name
73
+ * @param {String} baseName a real name that the name arg is relative
74
+ * to.
75
+ * @returns {String} normalized name
76
+ */
77
+ function normalize(name, baseName) {
78
+ var nameParts, nameSegment, mapValue, foundMap, lastIndex,
79
+ foundI, foundStarMap, starI, i, j, part, normalizedBaseParts,
80
+ baseParts = baseName && baseName.split("/"),
81
+ map = config.map,
82
+ starMap = (map && map['*']) || {};
83
+
84
+ //Adjust any relative paths.
85
+ if (name) {
86
+ name = name.split('/');
87
+ lastIndex = name.length - 1;
88
+
89
+ // If wanting node ID compatibility, strip .js from end
90
+ // of IDs. Have to do this here, and not in nameToUrl
91
+ // because node allows either .js or non .js to map
92
+ // to same file.
93
+ if (config.nodeIdCompat && jsSuffixRegExp.test(name[lastIndex])) {
94
+ name[lastIndex] = name[lastIndex].replace(jsSuffixRegExp, '');
95
+ }
96
+
97
+ // Starts with a '.' so need the baseName
98
+ if (name[0].charAt(0) === '.' && baseParts) {
99
+ //Convert baseName to array, and lop off the last part,
100
+ //so that . matches that 'directory' and not name of the baseName's
101
+ //module. For instance, baseName of 'one/two/three', maps to
102
+ //'one/two/three.js', but we want the directory, 'one/two' for
103
+ //this normalization.
104
+ normalizedBaseParts = baseParts.slice(0, baseParts.length - 1);
105
+ name = normalizedBaseParts.concat(name);
106
+ }
107
+
108
+ //start trimDots
109
+ for (i = 0; i < name.length; i++) {
110
+ part = name[i];
111
+ if (part === '.') {
112
+ name.splice(i, 1);
113
+ i -= 1;
114
+ } else if (part === '..') {
115
+ // If at the start, or previous value is still ..,
116
+ // keep them so that when converted to a path it may
117
+ // still work when converted to a path, even though
118
+ // as an ID it is less than ideal. In larger point
119
+ // releases, may be better to just kick out an error.
120
+ if (i === 0 || (i === 1 && name[2] === '..') || name[i - 1] === '..') {
121
+ continue;
122
+ } else if (i > 0) {
123
+ name.splice(i - 1, 2);
124
+ i -= 2;
125
+ }
126
+ }
127
+ }
128
+ //end trimDots
129
+
130
+ name = name.join('/');
131
+ }
132
+
133
+ //Apply map config if available.
134
+ if ((baseParts || starMap) && map) {
135
+ nameParts = name.split('/');
136
+
137
+ for (i = nameParts.length; i > 0; i -= 1) {
138
+ nameSegment = nameParts.slice(0, i).join("/");
139
+
140
+ if (baseParts) {
141
+ //Find the longest baseName segment match in the config.
142
+ //So, do joins on the biggest to smallest lengths of baseParts.
143
+ for (j = baseParts.length; j > 0; j -= 1) {
144
+ mapValue = map[baseParts.slice(0, j).join('/')];
145
+
146
+ //baseName segment has config, find if it has one for
147
+ //this name.
148
+ if (mapValue) {
149
+ mapValue = mapValue[nameSegment];
150
+ if (mapValue) {
151
+ //Match, update name to the new value.
152
+ foundMap = mapValue;
153
+ foundI = i;
154
+ break;
155
+ }
156
+ }
157
+ }
158
+ }
159
+
160
+ if (foundMap) {
161
+ break;
162
+ }
163
+
164
+ //Check for a star map match, but just hold on to it,
165
+ //if there is a shorter segment match later in a matching
166
+ //config, then favor over this star map.
167
+ if (!foundStarMap && starMap && starMap[nameSegment]) {
168
+ foundStarMap = starMap[nameSegment];
169
+ starI = i;
170
+ }
171
+ }
172
+
173
+ if (!foundMap && foundStarMap) {
174
+ foundMap = foundStarMap;
175
+ foundI = starI;
176
+ }
177
+
178
+ if (foundMap) {
179
+ nameParts.splice(0, foundI, foundMap);
180
+ name = nameParts.join('/');
181
+ }
182
+ }
183
+
184
+ return name;
185
+ }
186
+
187
+ function makeRequire(relName, forceSync) {
188
+ return function () {
189
+ //A version of a require function that passes a moduleName
190
+ //value for items that may need to
191
+ //look up paths relative to the moduleName
192
+ var args = aps.call(arguments, 0);
193
+
194
+ //If first arg is not require('string'), and there is only
195
+ //one arg, it is the array form without a callback. Insert
196
+ //a null so that the following concat is correct.
197
+ if (typeof args[0] !== 'string' && args.length === 1) {
198
+ args.push(null);
199
+ }
200
+ return req.apply(undef, args.concat([relName, forceSync]));
201
+ };
202
+ }
203
+
204
+ function makeNormalize(relName) {
205
+ return function (name) {
206
+ return normalize(name, relName);
207
+ };
208
+ }
209
+
210
+ function makeLoad(depName) {
211
+ return function (value) {
212
+ defined[depName] = value;
213
+ };
214
+ }
215
+
216
+ function callDep(name) {
217
+ if (hasProp(waiting, name)) {
218
+ var args = waiting[name];
219
+ delete waiting[name];
220
+ defining[name] = true;
221
+ main.apply(undef, args);
222
+ }
223
+
224
+ if (!hasProp(defined, name) && !hasProp(defining, name)) {
225
+ throw new Error('No ' + name);
226
+ }
227
+ return defined[name];
228
+ }
229
+
230
+ //Turns a plugin!resource to [plugin, resource]
231
+ //with the plugin being undefined if the name
232
+ //did not have a plugin prefix.
233
+ function splitPrefix(name) {
234
+ var prefix,
235
+ index = name ? name.indexOf('!') : -1;
236
+ if (index > -1) {
237
+ prefix = name.substring(0, index);
238
+ name = name.substring(index + 1, name.length);
239
+ }
240
+ return [prefix, name];
241
+ }
242
+
243
+ //Creates a parts array for a relName where first part is plugin ID,
244
+ //second part is resource ID. Assumes relName has already been normalized.
245
+ function makeRelParts(relName) {
246
+ return relName ? splitPrefix(relName) : [];
247
+ }
248
+
249
+ /**
250
+ * Makes a name map, normalizing the name, and using a plugin
251
+ * for normalization if necessary. Grabs a ref to plugin
252
+ * too, as an optimization.
253
+ */
254
+ makeMap = function (name, relParts) {
255
+ var plugin,
256
+ parts = splitPrefix(name),
257
+ prefix = parts[0],
258
+ relResourceName = relParts[1];
259
+
260
+ name = parts[1];
261
+
262
+ if (prefix) {
263
+ prefix = normalize(prefix, relResourceName);
264
+ plugin = callDep(prefix);
265
+ }
266
+
267
+ //Normalize according
268
+ if (prefix) {
269
+ if (plugin && plugin.normalize) {
270
+ name = plugin.normalize(name, makeNormalize(relResourceName));
271
+ } else {
272
+ name = normalize(name, relResourceName);
273
+ }
274
+ } else {
275
+ name = normalize(name, relResourceName);
276
+ parts = splitPrefix(name);
277
+ prefix = parts[0];
278
+ name = parts[1];
279
+ if (prefix) {
280
+ plugin = callDep(prefix);
281
+ }
282
+ }
283
+
284
+ //Using ridiculous property names for space reasons
285
+ return {
286
+ f: prefix ? prefix + '!' + name : name, //fullName
287
+ n: name,
288
+ pr: prefix,
289
+ p: plugin
290
+ };
291
+ };
292
+
293
+ function makeConfig(name) {
294
+ return function () {
295
+ return (config && config.config && config.config[name]) || {};
296
+ };
297
+ }
298
+
299
+ handlers = {
300
+ require: function (name) {
301
+ return makeRequire(name);
302
+ },
303
+ exports: function (name) {
304
+ var e = defined[name];
305
+ if (typeof e !== 'undefined') {
306
+ return e;
307
+ } else {
308
+ return (defined[name] = {});
309
+ }
310
+ },
311
+ module: function (name) {
312
+ return {
313
+ id: name,
314
+ uri: '',
315
+ exports: defined[name],
316
+ config: makeConfig(name)
317
+ };
318
+ }
319
+ };
320
+
321
+ main = function (name, deps, callback, relName) {
322
+ var cjsModule, depName, ret, map, i, relParts,
323
+ args = [],
324
+ callbackType = typeof callback,
325
+ usingExports;
326
+
327
+ //Use name if no relName
328
+ relName = relName || name;
329
+ relParts = makeRelParts(relName);
330
+
331
+ //Call the callback to define the module, if necessary.
332
+ if (callbackType === 'undefined' || callbackType === 'function') {
333
+ //Pull out the defined dependencies and pass the ordered
334
+ //values to the callback.
335
+ //Default to [require, exports, module] if no deps
336
+ deps = !deps.length && callback.length ? ['require', 'exports', 'module'] : deps;
337
+ for (i = 0; i < deps.length; i += 1) {
338
+ map = makeMap(deps[i], relParts);
339
+ depName = map.f;
340
+
341
+ //Fast path CommonJS standard dependencies.
342
+ if (depName === "require") {
343
+ args[i] = handlers.require(name);
344
+ } else if (depName === "exports") {
345
+ //CommonJS module spec 1.1
346
+ args[i] = handlers.exports(name);
347
+ usingExports = true;
348
+ } else if (depName === "module") {
349
+ //CommonJS module spec 1.1
350
+ cjsModule = args[i] = handlers.module(name);
351
+ } else if (hasProp(defined, depName) ||
352
+ hasProp(waiting, depName) ||
353
+ hasProp(defining, depName)) {
354
+ args[i] = callDep(depName);
355
+ } else if (map.p) {
356
+ map.p.load(map.n, makeRequire(relName, true), makeLoad(depName), {});
357
+ args[i] = defined[depName];
358
+ } else {
359
+ throw new Error(name + ' missing ' + depName);
360
+ }
361
+ }
362
+
363
+ ret = callback ? callback.apply(defined[name], args) : undefined;
364
+
365
+ if (name) {
366
+ //If setting exports via "module" is in play,
367
+ //favor that over return value and exports. After that,
368
+ //favor a non-undefined return value over exports use.
369
+ if (cjsModule && cjsModule.exports !== undef &&
370
+ cjsModule.exports !== defined[name]) {
371
+ defined[name] = cjsModule.exports;
372
+ } else if (ret !== undef || !usingExports) {
373
+ //Use the return value from the function.
374
+ defined[name] = ret;
375
+ }
376
+ }
377
+ } else if (name) {
378
+ //May just be an object definition for the module. Only
379
+ //worry about defining if have a module name.
380
+ defined[name] = callback;
381
+ }
382
+ };
383
+
384
+ requirejs = require = req = function (deps, callback, relName, forceSync, alt) {
385
+ if (typeof deps === "string") {
386
+ if (handlers[deps]) {
387
+ //callback in this case is really relName
388
+ return handlers[deps](callback);
389
+ }
390
+ //Just return the module wanted. In this scenario, the
391
+ //deps arg is the module name, and second arg (if passed)
392
+ //is just the relName.
393
+ //Normalize module name, if it contains . or ..
394
+ return callDep(makeMap(deps, makeRelParts(callback)).f);
395
+ } else if (!deps.splice) {
396
+ //deps is a config object, not an array.
397
+ config = deps;
398
+ if (config.deps) {
399
+ req(config.deps, config.callback);
400
+ }
401
+ if (!callback) {
402
+ return;
403
+ }
404
+
405
+ if (callback.splice) {
406
+ //callback is an array, which means it is a dependency list.
407
+ //Adjust args if there are dependencies
408
+ deps = callback;
409
+ callback = relName;
410
+ relName = null;
411
+ } else {
412
+ deps = undef;
413
+ }
414
+ }
415
+
416
+ //Support require(['a'])
417
+ callback = callback || function () {};
418
+
419
+ //If relName is a function, it is an errback handler,
420
+ //so remove it.
421
+ if (typeof relName === 'function') {
422
+ relName = forceSync;
423
+ forceSync = alt;
424
+ }
425
+
426
+ //Simulate async callback;
427
+ if (forceSync) {
428
+ main(undef, deps, callback, relName);
429
+ } else {
430
+ //Using a non-zero value because of concern for what old browsers
431
+ //do, and latest browsers "upgrade" to 4 if lower value is used:
432
+ //http://www.whatwg.org/specs/web-apps/current-work/multipage/timers.html#dom-windowtimers-settimeout:
433
+ //If want a value immediately, use require('id') instead -- something
434
+ //that works in almond on the global level, but not guaranteed and
435
+ //unlikely to work in other AMD implementations.
436
+ setTimeout(function () {
437
+ main(undef, deps, callback, relName);
438
+ }, 4);
439
+ }
440
+
441
+ return req;
442
+ };
443
+
444
+ /**
445
+ * Just drops the config on the floor, but returns req in case
446
+ * the config return value is used.
447
+ */
448
+ req.config = function (cfg) {
449
+ return req(cfg);
450
+ };
451
+
452
+ /**
453
+ * Expose module registry for debugging and tooling
454
+ */
455
+ requirejs._defined = defined;
456
+
457
+ define = function (name, deps, callback) {
458
+ if (typeof name !== 'string') {
459
+ throw new Error('See almond README: incorrect module build, no module name');
460
+ }
461
+
462
+ //This module may not have dependencies
463
+ if (!deps.splice) {
464
+ //deps is not an array, so probably means
465
+ //an object literal or factory function for
466
+ //the value. Adjust args.
467
+ callback = deps;
468
+ deps = [];
469
+ }
470
+
471
+ if (!hasProp(defined, name) && !hasProp(waiting, name)) {
472
+ waiting[name] = [name, deps, callback];
473
+ }
474
+ };
475
+
476
+ define.amd = {
477
+ jQuery: true
478
+ };
479
+ }());
480
+
481
+ S2.requirejs = requirejs;S2.require = require;S2.define = define;
482
+ }
483
+ }());
484
+ S2.define("almond", function(){});
485
+
486
+ /* global jQuery:false, $:false */
487
+ S2.define('jquery',[],function () {
488
+ var _$ = jQuery || $;
489
+
490
+ if (_$ == null && console && console.error) {
491
+ console.error(
492
+ 'Select2: An instance of jQuery or a jQuery-compatible library was not ' +
493
+ 'found. Make sure that you are including jQuery before Select2 on your ' +
494
+ 'web page.'
495
+ );
496
+ }
497
+
498
+ return _$;
499
+ });
500
+
501
+ S2.define('select2/utils',[
502
+ 'jquery'
503
+ ], function ($) {
504
+ var Utils = {};
505
+
506
+ Utils.Extend = function (ChildClass, SuperClass) {
507
+ var __hasProp = {}.hasOwnProperty;
508
+
509
+ function BaseConstructor () {
510
+ this.constructor = ChildClass;
511
+ }
512
+
513
+ for (var key in SuperClass) {
514
+ if (__hasProp.call(SuperClass, key)) {
515
+ ChildClass[key] = SuperClass[key];
516
+ }
517
+ }
518
+
519
+ BaseConstructor.prototype = SuperClass.prototype;
520
+ ChildClass.prototype = new BaseConstructor();
521
+ ChildClass.__super__ = SuperClass.prototype;
522
+
523
+ return ChildClass;
524
+ };
525
+
526
+ function getMethods (theClass) {
527
+ var proto = theClass.prototype;
528
+
529
+ var methods = [];
530
+
531
+ for (var methodName in proto) {
532
+ var m = proto[methodName];
533
+
534
+ if (typeof m !== 'function') {
535
+ continue;
536
+ }
537
+
538
+ if (methodName === 'constructor') {
539
+ continue;
540
+ }
541
+
542
+ methods.push(methodName);
543
+ }
544
+
545
+ return methods;
546
+ }
547
+
548
+ Utils.Decorate = function (SuperClass, DecoratorClass) {
549
+ var decoratedMethods = getMethods(DecoratorClass);
550
+ var superMethods = getMethods(SuperClass);
551
+
552
+ function DecoratedClass () {
553
+ var unshift = Array.prototype.unshift;
554
+
555
+ var argCount = DecoratorClass.prototype.constructor.length;
556
+
557
+ var calledConstructor = SuperClass.prototype.constructor;
558
+
559
+ if (argCount > 0) {
560
+ unshift.call(arguments, SuperClass.prototype.constructor);
561
+
562
+ calledConstructor = DecoratorClass.prototype.constructor;
563
+ }
564
+
565
+ calledConstructor.apply(this, arguments);
566
+ }
567
+
568
+ DecoratorClass.displayName = SuperClass.displayName;
569
+
570
+ function ctr () {
571
+ this.constructor = DecoratedClass;
572
+ }
573
+
574
+ DecoratedClass.prototype = new ctr();
575
+
576
+ for (var m = 0; m < superMethods.length; m++) {
577
+ var superMethod = superMethods[m];
578
+
579
+ DecoratedClass.prototype[superMethod] =
580
+ SuperClass.prototype[superMethod];
581
+ }
582
+
583
+ var calledMethod = function (methodName) {
584
+ // Stub out the original method if it's not decorating an actual method
585
+ var originalMethod = function () {};
586
+
587
+ if (methodName in DecoratedClass.prototype) {
588
+ originalMethod = DecoratedClass.prototype[methodName];
589
+ }
590
+
591
+ var decoratedMethod = DecoratorClass.prototype[methodName];
592
+
593
+ return function () {
594
+ var unshift = Array.prototype.unshift;
595
+
596
+ unshift.call(arguments, originalMethod);
597
+
598
+ return decoratedMethod.apply(this, arguments);
599
+ };
600
+ };
601
+
602
+ for (var d = 0; d < decoratedMethods.length; d++) {
603
+ var decoratedMethod = decoratedMethods[d];
604
+
605
+ DecoratedClass.prototype[decoratedMethod] = calledMethod(decoratedMethod);
606
+ }
607
+
608
+ return DecoratedClass;
609
+ };
610
+
611
+ var Observable = function () {
612
+ this.listeners = {};
613
+ };
614
+
615
+ Observable.prototype.on = function (event, callback) {
616
+ this.listeners = this.listeners || {};
617
+
618
+ if (event in this.listeners) {
619
+ this.listeners[event].push(callback);
620
+ } else {
621
+ this.listeners[event] = [callback];
622
+ }
623
+ };
624
+
625
+ Observable.prototype.trigger = function (event) {
626
+ var slice = Array.prototype.slice;
627
+ var params = slice.call(arguments, 1);
628
+
629
+ this.listeners = this.listeners || {};
630
+
631
+ // Params should always come in as an array
632
+ if (params == null) {
633
+ params = [];
634
+ }
635
+
636
+ // If there are no arguments to the event, use a temporary object
637
+ if (params.length === 0) {
638
+ params.push({});
639
+ }
640
+
641
+ // Set the `_type` of the first object to the event
642
+ params[0]._type = event;
643
+
644
+ if (event in this.listeners) {
645
+ this.invoke(this.listeners[event], slice.call(arguments, 1));
646
+ }
647
+
648
+ if ('*' in this.listeners) {
649
+ this.invoke(this.listeners['*'], arguments);
650
+ }
651
+ };
652
+
653
+ Observable.prototype.invoke = function (listeners, params) {
654
+ for (var i = 0, len = listeners.length; i < len; i++) {
655
+ listeners[i].apply(this, params);
656
+ }
657
+ };
658
+
659
+ Utils.Observable = Observable;
660
+
661
+ Utils.generateChars = function (length) {
662
+ var chars = '';
663
+
664
+ for (var i = 0; i < length; i++) {
665
+ var randomChar = Math.floor(Math.random() * 36);
666
+ chars += randomChar.toString(36);
667
+ }
668
+
669
+ return chars;
670
+ };
671
+
672
+ Utils.bind = function (func, context) {
673
+ return function () {
674
+ func.apply(context, arguments);
675
+ };
676
+ };
677
+
678
+ Utils._convertData = function (data) {
679
+ for (var originalKey in data) {
680
+ var keys = originalKey.split('-');
681
+
682
+ var dataLevel = data;
683
+
684
+ if (keys.length === 1) {
685
+ continue;
686
+ }
687
+
688
+ for (var k = 0; k < keys.length; k++) {
689
+ var key = keys[k];
690
+
691
+ // Lowercase the first letter
692
+ // By default, dash-separated becomes camelCase
693
+ key = key.substring(0, 1).toLowerCase() + key.substring(1);
694
+
695
+ if (!(key in dataLevel)) {
696
+ dataLevel[key] = {};
697
+ }
698
+
699
+ if (k == keys.length - 1) {
700
+ dataLevel[key] = data[originalKey];
701
+ }
702
+
703
+ dataLevel = dataLevel[key];
704
+ }
705
+
706
+ delete data[originalKey];
707
+ }
708
+
709
+ return data;
710
+ };
711
+
712
+ Utils.hasScroll = function (index, el) {
713
+ // Adapted from the function created by @ShadowScripter
714
+ // and adapted by @BillBarry on the Stack Exchange Code Review website.
715
+ // The original code can be found at
716
+ // http://codereview.stackexchange.com/q/13338
717
+ // and was designed to be used with the Sizzle selector engine.
718
+
719
+ var $el = $(el);
720
+ var overflowX = el.style.overflowX;
721
+ var overflowY = el.style.overflowY;
722
+
723
+ //Check both x and y declarations
724
+ if (overflowX === overflowY &&
725
+ (overflowY === 'hidden' || overflowY === 'visible')) {
726
+ return false;
727
+ }
728
+
729
+ if (overflowX === 'scroll' || overflowY === 'scroll') {
730
+ return true;
731
+ }
732
+
733
+ return ($el.innerHeight() < el.scrollHeight ||
734
+ $el.innerWidth() < el.scrollWidth);
735
+ };
736
+
737
+ Utils.escapeMarkup = function (markup) {
738
+ var replaceMap = {
739
+ '\\': '&#92;',
740
+ '&': '&amp;',
741
+ '<': '&lt;',
742
+ '>': '&gt;',
743
+ '"': '&quot;',
744
+ '\'': '&#39;',
745
+ '/': '&#47;'
746
+ };
747
+
748
+ // Do not try to escape the markup if it's not a string
749
+ if (typeof markup !== 'string') {
750
+ return markup;
751
+ }
752
+
753
+ return String(markup).replace(/[&<>"'\/\\]/g, function (match) {
754
+ return replaceMap[match];
755
+ });
756
+ };
757
+
758
+ // Append an array of jQuery nodes to a given element.
759
+ Utils.appendMany = function ($element, $nodes) {
760
+ // jQuery 1.7.x does not support $.fn.append() with an array
761
+ // Fall back to a jQuery object collection using $.fn.add()
762
+ if ($.fn.jquery.substr(0, 3) === '1.7') {
763
+ var $jqNodes = $();
764
+
765
+ $.map($nodes, function (node) {
766
+ $jqNodes = $jqNodes.add(node);
767
+ });
768
+
769
+ $nodes = $jqNodes;
770
+ }
771
+
772
+ $element.append($nodes);
773
+ };
774
+
775
+ // Determine whether the browser is on a touchscreen device.
776
+ Utils.isTouchscreen = function() {
777
+ if ('undefined' === typeof Utils._isTouchscreenCache) {
778
+ Utils._isTouchscreenCache = 'ontouchstart' in document.documentElement;
779
+ }
780
+ return Utils._isTouchscreenCache;
781
+ }
782
+
783
+ return Utils;
784
+ });
785
+
786
+ S2.define('select2/results',[
787
+ 'jquery',
788
+ './utils'
789
+ ], function ($, Utils) {
790
+ function Results ($element, options, dataAdapter) {
791
+ this.$element = $element;
792
+ this.data = dataAdapter;
793
+ this.options = options;
794
+
795
+ Results.__super__.constructor.call(this);
796
+ }
797
+
798
+ Utils.Extend(Results, Utils.Observable);
799
+
800
+ Results.prototype.render = function () {
801
+ var $results = $(
802
+ '<ul class="select2-results__options" role="listbox" tabindex="-1"></ul>'
803
+ );
804
+
805
+ if (this.options.get('multiple')) {
806
+ $results.attr('aria-multiselectable', 'true');
807
+ }
808
+
809
+ this.$results = $results;
810
+
811
+ return $results;
812
+ };
813
+
814
+ Results.prototype.clear = function () {
815
+ this.$results.empty();
816
+ };
817
+
818
+ Results.prototype.displayMessage = function (params) {
819
+ var escapeMarkup = this.options.get('escapeMarkup');
820
+
821
+ this.clear();
822
+ this.hideLoading();
823
+
824
+ var $message = $(
825
+ '<li role="alert" aria-live="assertive"' +
826
+ ' class="select2-results__option"></li>'
827
+ );
828
+
829
+ var message = this.options.get('translations').get(params.message);
830
+
831
+ $message.append(
832
+ escapeMarkup(
833
+ message(params.args)
834
+ )
835
+ );
836
+
837
+ $message[0].className += ' select2-results__message';
838
+
839
+ this.$results.append($message);
840
+ };
841
+
842
+ Results.prototype.hideMessages = function () {
843
+ this.$results.find('.select2-results__message').remove();
844
+ };
845
+
846
+ Results.prototype.append = function (data) {
847
+ this.hideLoading();
848
+
849
+ var $options = [];
850
+
851
+ if (data.results == null || data.results.length === 0) {
852
+ if (this.$results.children().length === 0) {
853
+ this.trigger('results:message', {
854
+ message: 'noResults'
855
+ });
856
+ }
857
+
858
+ return;
859
+ }
860
+
861
+ data.results = this.sort(data.results);
862
+
863
+ for (var d = 0; d < data.results.length; d++) {
864
+ var item = data.results[d];
865
+
866
+ var $option = this.option(item);
867
+
868
+ $options.push($option);
869
+ }
870
+
871
+ this.$results.append($options);
872
+ };
873
+
874
+ Results.prototype.position = function ($results, $dropdown) {
875
+ var $resultsContainer = $dropdown.find('.select2-results');
876
+ $resultsContainer.append($results);
877
+ };
878
+
879
+ Results.prototype.sort = function (data) {
880
+ var sorter = this.options.get('sorter');
881
+
882
+ return sorter(data);
883
+ };
884
+
885
+ Results.prototype.highlightFirstItem = function () {
886
+ var $options = this.$results
887
+ .find('.select2-results__option[data-selected]');
888
+
889
+ var $selected = $options.filter('[data-selected=true]');
890
+
891
+ // Check if there are any selected options
892
+ if ($selected.length > 0) {
893
+ // If there are selected options, highlight the first
894
+ $selected.first().trigger('mouseenter');
895
+ } else {
896
+ // If there are no selected options, highlight the first option
897
+ // in the dropdown
898
+ $options.first().trigger('mouseenter');
899
+ }
900
+
901
+ this.ensureHighlightVisible();
902
+ };
903
+
904
+ Results.prototype.setClasses = function () {
905
+ var self = this;
906
+
907
+ this.data.current(function (selected) {
908
+ var selectedIds = $.map(selected, function (s) {
909
+ return s.id.toString();
910
+ });
911
+
912
+ var $options = self.$results
913
+ .find('.select2-results__option[data-selected]');
914
+
915
+ $options.each(function () {
916
+ var $option = $(this);
917
+
918
+ var item = $.data(this, 'data');
919
+
920
+ // id needs to be converted to a string when comparing
921
+ var id = '' + item.id;
922
+
923
+ if ((item.element != null && item.element.selected) ||
924
+ (item.element == null && $.inArray(id, selectedIds) > -1)) {
925
+ $option.attr('data-selected', 'true');
926
+ } else {
927
+ $option.attr('data-selected', 'false');
928
+ }
929
+ });
930
+
931
+ });
932
+ };
933
+
934
+ Results.prototype.showLoading = function (params) {
935
+ this.hideLoading();
936
+
937
+ var loadingMore = this.options.get('translations').get('searching');
938
+
939
+ var loading = {
940
+ disabled: true,
941
+ loading: true,
942
+ text: loadingMore(params)
943
+ };
944
+ var $loading = this.option(loading);
945
+ $loading.className += ' loading-results';
946
+
947
+ this.$results.prepend($loading);
948
+ };
949
+
950
+ Results.prototype.hideLoading = function () {
951
+ this.$results.find('.loading-results').remove();
952
+ };
953
+
954
+ Results.prototype.option = function (data) {
955
+ var option = document.createElement('li');
956
+ option.className = 'select2-results__option';
957
+
958
+ var attrs = {
959
+ 'role': 'option',
960
+ 'data-selected': 'false',
961
+ 'tabindex': -1
962
+ };
963
+
964
+ if (data.disabled) {
965
+ delete attrs['data-selected'];
966
+ attrs['aria-disabled'] = 'true';
967
+ }
968
+
969
+ if (data.id == null) {
970
+ delete attrs['data-selected'];
971
+ }
972
+
973
+ if (data._resultId != null) {
974
+ option.id = data._resultId;
975
+ }
976
+
977
+ if (data.title) {
978
+ option.title = data.title;
979
+ }
980
+
981
+ if (data.children) {
982
+ attrs['aria-label'] = data.text;
983
+ delete attrs['data-selected'];
984
+ }
985
+
986
+ for (var attr in attrs) {
987
+ var val = attrs[attr];
988
+
989
+ option.setAttribute(attr, val);
990
+ }
991
+
992
+ if (data.children) {
993
+ var $option = $(option);
994
+
995
+ var label = document.createElement('strong');
996
+ label.className = 'select2-results__group';
997
+
998
+ var $label = $(label);
999
+ this.template(data, label);
1000
+ $label.attr('role', 'presentation');
1001
+
1002
+ var $children = [];
1003
+
1004
+ for (var c = 0; c < data.children.length; c++) {
1005
+ var child = data.children[c];
1006
+
1007
+ var $child = this.option(child);
1008
+
1009
+ $children.push($child);
1010
+ }
1011
+
1012
+ var $childrenContainer = $('<ul></ul>', {
1013
+ 'class': 'select2-results__options select2-results__options--nested',
1014
+ 'role': 'listbox'
1015
+ });
1016
+ $childrenContainer.append($children);
1017
+ $option.attr('role', 'list');
1018
+
1019
+ $option.append(label);
1020
+ $option.append($childrenContainer);
1021
+ } else {
1022
+ this.template(data, option);
1023
+ }
1024
+
1025
+ $.data(option, 'data', data);
1026
+
1027
+ return option;
1028
+ };
1029
+
1030
+ Results.prototype.bind = function (container, $container) {
1031
+ var self = this;
1032
+
1033
+ var id = container.id + '-results';
1034
+
1035
+ this.$results.attr('id', id);
1036
+
1037
+ container.on('results:all', function (params) {
1038
+ self.clear();
1039
+ self.append(params.data);
1040
+
1041
+ if (container.isOpen()) {
1042
+ self.setClasses();
1043
+ self.highlightFirstItem();
1044
+ }
1045
+ });
1046
+
1047
+ container.on('results:append', function (params) {
1048
+ self.append(params.data);
1049
+
1050
+ if (container.isOpen()) {
1051
+ self.setClasses();
1052
+ }
1053
+ });
1054
+
1055
+ container.on('query', function (params) {
1056
+ self.hideMessages();
1057
+ self.showLoading(params);
1058
+ });
1059
+
1060
+ container.on('select', function () {
1061
+ if (!container.isOpen()) {
1062
+ return;
1063
+ }
1064
+
1065
+ self.setClasses();
1066
+ self.highlightFirstItem();
1067
+ });
1068
+
1069
+ container.on('unselect', function () {
1070
+ if (!container.isOpen()) {
1071
+ return;
1072
+ }
1073
+
1074
+ self.setClasses();
1075
+ self.highlightFirstItem();
1076
+ });
1077
+
1078
+ container.on('open', function () {
1079
+ // When the dropdown is open, aria-expended="true"
1080
+ self.$results.attr('aria-expanded', 'true');
1081
+ self.$results.attr('aria-hidden', 'false');
1082
+
1083
+ self.setClasses();
1084
+ self.ensureHighlightVisible();
1085
+ });
1086
+
1087
+ container.on('close', function () {
1088
+ // When the dropdown is closed, aria-expended="false"
1089
+ self.$results.attr('aria-expanded', 'false');
1090
+ self.$results.attr('aria-hidden', 'true');
1091
+ self.$results.removeAttr('aria-activedescendant');
1092
+ });
1093
+
1094
+ container.on('results:toggle', function () {
1095
+ var $highlighted = self.getHighlightedResults();
1096
+
1097
+ if ($highlighted.length === 0) {
1098
+ return;
1099
+ }
1100
+
1101
+ $highlighted.trigger('mouseup');
1102
+ });
1103
+
1104
+ container.on('results:select', function () {
1105
+ var $highlighted = self.getHighlightedResults();
1106
+
1107
+ if ($highlighted.length === 0) {
1108
+ return;
1109
+ }
1110
+
1111
+ var data = $highlighted.data('data');
1112
+
1113
+ if ($highlighted.attr('data-selected') == 'true') {
1114
+ self.trigger('close', {});
1115
+ } else {
1116
+ self.trigger('select', {
1117
+ data: data
1118
+ });
1119
+ }
1120
+ });
1121
+
1122
+ container.on('results:previous', function () {
1123
+ var $highlighted = self.getHighlightedResults();
1124
+
1125
+ var $options = self.$results.find('[data-selected]');
1126
+
1127
+ var currentIndex = $options.index($highlighted);
1128
+
1129
+ // If we are already at te top, don't move further
1130
+ if (currentIndex === 0) {
1131
+ return;
1132
+ }
1133
+
1134
+ var nextIndex = currentIndex - 1;
1135
+
1136
+ // If none are highlighted, highlight the first
1137
+ if ($highlighted.length === 0) {
1138
+ nextIndex = 0;
1139
+ }
1140
+
1141
+ var $next = $options.eq(nextIndex);
1142
+
1143
+ $next.trigger('mouseenter');
1144
+
1145
+ var currentOffset = self.$results.offset().top;
1146
+ var nextTop = $next.offset().top;
1147
+ var nextOffset = self.$results.scrollTop() + (nextTop - currentOffset);
1148
+
1149
+ if (nextIndex === 0) {
1150
+ self.$results.scrollTop(0);
1151
+ } else if (nextTop - currentOffset < 0) {
1152
+ self.$results.scrollTop(nextOffset);
1153
+ }
1154
+ });
1155
+
1156
+ container.on('results:next', function () {
1157
+ var $highlighted = self.getHighlightedResults();
1158
+
1159
+ var $options = self.$results.find('[data-selected]');
1160
+
1161
+ var currentIndex = $options.index($highlighted);
1162
+
1163
+ var nextIndex = currentIndex + 1;
1164
+
1165
+ // If we are at the last option, stay there
1166
+ if (nextIndex >= $options.length) {
1167
+ return;
1168
+ }
1169
+
1170
+ var $next = $options.eq(nextIndex);
1171
+
1172
+ $next.trigger('mouseenter');
1173
+
1174
+ var currentOffset = self.$results.offset().top +
1175
+ self.$results.outerHeight(false);
1176
+ var nextBottom = $next.offset().top + $next.outerHeight(false);
1177
+ var nextOffset = self.$results.scrollTop() + nextBottom - currentOffset;
1178
+
1179
+ if (nextIndex === 0) {
1180
+ self.$results.scrollTop(0);
1181
+ } else if (nextBottom > currentOffset) {
1182
+ self.$results.scrollTop(nextOffset);
1183
+ }
1184
+ });
1185
+
1186
+ container.on('results:focus', function (params) {
1187
+ params.element.addClass('select2-results__option--highlighted').attr('aria-selected', 'true');
1188
+ self.$results.attr('aria-activedescendant', params.element.attr('id'));
1189
+ });
1190
+
1191
+ container.on('results:message', function (params) {
1192
+ self.displayMessage(params);
1193
+ });
1194
+
1195
+ if ($.fn.mousewheel) {
1196
+ this.$results.on('mousewheel', function (e) {
1197
+ var top = self.$results.scrollTop();
1198
+
1199
+ var bottom = self.$results.get(0).scrollHeight - top + e.deltaY;
1200
+
1201
+ var isAtTop = e.deltaY > 0 && top - e.deltaY <= 0;
1202
+ var isAtBottom = e.deltaY < 0 && bottom <= self.$results.height();
1203
+
1204
+ if (isAtTop) {
1205
+ self.$results.scrollTop(0);
1206
+
1207
+ e.preventDefault();
1208
+ e.stopPropagation();
1209
+ } else if (isAtBottom) {
1210
+ self.$results.scrollTop(
1211
+ self.$results.get(0).scrollHeight - self.$results.height()
1212
+ );
1213
+
1214
+ e.preventDefault();
1215
+ e.stopPropagation();
1216
+ }
1217
+ });
1218
+ }
1219
+
1220
+ this.$results.on('mouseup', '.select2-results__option[data-selected]',
1221
+ function (evt) {
1222
+ var $this = $(this);
1223
+
1224
+ var data = $this.data('data');
1225
+
1226
+ if ($this.attr('data-selected') === 'true') {
1227
+ if (self.options.get('multiple')) {
1228
+ self.trigger('unselect', {
1229
+ originalEvent: evt,
1230
+ data: data
1231
+ });
1232
+ } else {
1233
+ self.trigger('close', {});
1234
+ }
1235
+
1236
+ return;
1237
+ }
1238
+
1239
+ self.trigger('select', {
1240
+ originalEvent: evt,
1241
+ data: data
1242
+ });
1243
+ });
1244
+
1245
+ this.$results.on('mouseenter', '.select2-results__option[data-selected]',
1246
+ function (evt) {
1247
+ var data = $(this).data('data');
1248
+
1249
+ self.getHighlightedResults()
1250
+ .removeClass('select2-results__option--highlighted')
1251
+ .attr('aria-selected', 'false');
1252
+
1253
+ self.trigger('results:focus', {
1254
+ data: data,
1255
+ element: $(this)
1256
+ });
1257
+ });
1258
+ };
1259
+
1260
+ Results.prototype.getHighlightedResults = function () {
1261
+ var $highlighted = this.$results
1262
+ .find('.select2-results__option--highlighted');
1263
+
1264
+ return $highlighted;
1265
+ };
1266
+
1267
+ Results.prototype.destroy = function () {
1268
+ this.$results.remove();
1269
+ };
1270
+
1271
+ Results.prototype.ensureHighlightVisible = function () {
1272
+ var $highlighted = this.getHighlightedResults();
1273
+
1274
+ if ($highlighted.length === 0) {
1275
+ return;
1276
+ }
1277
+
1278
+ var $options = this.$results.find('[data-selected]');
1279
+
1280
+ var currentIndex = $options.index($highlighted);
1281
+
1282
+ var currentOffset = this.$results.offset().top;
1283
+ var nextTop = $highlighted.offset().top;
1284
+ var nextOffset = this.$results.scrollTop() + (nextTop - currentOffset);
1285
+
1286
+ var offsetDelta = nextTop - currentOffset;
1287
+ nextOffset -= $highlighted.outerHeight(false) * 2;
1288
+
1289
+ if (currentIndex <= 2) {
1290
+ this.$results.scrollTop(0);
1291
+ } else if (offsetDelta > this.$results.outerHeight() || offsetDelta < 0) {
1292
+ this.$results.scrollTop(nextOffset);
1293
+ }
1294
+ };
1295
+
1296
+ Results.prototype.template = function (result, container) {
1297
+ var template = this.options.get('templateResult');
1298
+ var escapeMarkup = this.options.get('escapeMarkup');
1299
+
1300
+ var content = template(result, container);
1301
+
1302
+ if (content == null) {
1303
+ container.style.display = 'none';
1304
+ } else if (typeof content === 'string') {
1305
+ container.innerHTML = escapeMarkup(content);
1306
+ } else {
1307
+ $(container).append(content);
1308
+ }
1309
+ };
1310
+
1311
+ return Results;
1312
+ });
1313
+
1314
+ S2.define('select2/keys',[
1315
+
1316
+ ], function () {
1317
+ var KEYS = {
1318
+ BACKSPACE: 8,
1319
+ TAB: 9,
1320
+ ENTER: 13,
1321
+ SHIFT: 16,
1322
+ CTRL: 17,
1323
+ ALT: 18,
1324
+ ESC: 27,
1325
+ SPACE: 32,
1326
+ PAGE_UP: 33,
1327
+ PAGE_DOWN: 34,
1328
+ END: 35,
1329
+ HOME: 36,
1330
+ LEFT: 37,
1331
+ UP: 38,
1332
+ RIGHT: 39,
1333
+ DOWN: 40,
1334
+ DELETE: 46
1335
+ };
1336
+
1337
+ return KEYS;
1338
+ });
1339
+
1340
+ S2.define('select2/selection/base',[
1341
+ 'jquery',
1342
+ '../utils',
1343
+ '../keys'
1344
+ ], function ($, Utils, KEYS) {
1345
+ function BaseSelection ($element, options) {
1346
+ this.$element = $element;
1347
+ this.options = options;
1348
+
1349
+ BaseSelection.__super__.constructor.call(this);
1350
+ }
1351
+
1352
+ Utils.Extend(BaseSelection, Utils.Observable);
1353
+
1354
+ BaseSelection.prototype.render = function () {
1355
+ var $selection = $(
1356
+ '<span class="select2-selection" ' +
1357
+ ' aria-haspopup="true" aria-expanded="false">' +
1358
+ '</span>'
1359
+ );
1360
+
1361
+ this._tabindex = 0;
1362
+
1363
+ if (this.$element.data('old-tabindex') != null) {
1364
+ this._tabindex = this.$element.data('old-tabindex');
1365
+ } else if (this.$element.attr('tabindex') != null) {
1366
+ this._tabindex = this.$element.attr('tabindex');
1367
+ }
1368
+
1369
+ $selection.attr('title', this.$element.attr('title'));
1370
+ $selection.attr('tabindex', this._tabindex);
1371
+
1372
+ this.$selection = $selection;
1373
+
1374
+ return $selection;
1375
+ };
1376
+
1377
+ BaseSelection.prototype.bind = function (container, $container) {
1378
+ var self = this;
1379
+
1380
+ var id = container.id + '-container';
1381
+ var resultsId = container.id + '-results';
1382
+ var searchHidden = this.options.get('minimumResultsForSearch') === Infinity;
1383
+
1384
+ this.container = container;
1385
+
1386
+ this.$selection.on('focus', function (evt) {
1387
+ self.trigger('focus', evt);
1388
+ });
1389
+
1390
+ this.$selection.on('blur', function (evt) {
1391
+ self._handleBlur(evt);
1392
+ });
1393
+
1394
+ this.$selection.on('keydown', function (evt) {
1395
+ self.trigger('keypress', evt);
1396
+
1397
+ if (evt.which === KEYS.SPACE) {
1398
+ evt.preventDefault();
1399
+ }
1400
+ });
1401
+
1402
+ container.on('results:focus', function (params) {
1403
+ self.$selection.attr('aria-activedescendant', params.data._resultId);
1404
+ });
1405
+
1406
+ container.on('selection:update', function (params) {
1407
+ self.update(params.data);
1408
+ });
1409
+
1410
+ container.on('open', function () {
1411
+ // When the dropdown is open, aria-expanded="true"
1412
+ self.$selection.attr('aria-expanded', 'true');
1413
+ self.$selection.attr('aria-owns', resultsId);
1414
+
1415
+ self._attachCloseHandler(container);
1416
+ });
1417
+
1418
+ container.on('close', function () {
1419
+ // When the dropdown is closed, aria-expanded="false"
1420
+ self.$selection.attr('aria-expanded', 'false');
1421
+ self.$selection.removeAttr('aria-activedescendant');
1422
+ self.$selection.removeAttr('aria-owns');
1423
+
1424
+ // This needs to be delayed as the active element is the body when the
1425
+ // key is pressed.
1426
+ window.setTimeout(function () {
1427
+ self.$selection.focus();
1428
+ }, 1);
1429
+
1430
+ self._detachCloseHandler(container);
1431
+ });
1432
+
1433
+ container.on('enable', function () {
1434
+ self.$selection.attr('tabindex', self._tabindex);
1435
+ });
1436
+
1437
+ container.on('disable', function () {
1438
+ self.$selection.attr('tabindex', '-1');
1439
+ });
1440
+ };
1441
+
1442
+ BaseSelection.prototype._handleBlur = function (evt) {
1443
+ var self = this;
1444
+
1445
+ // This needs to be delayed as the active element is the body when the tab
1446
+ // key is pressed, possibly along with others.
1447
+ window.setTimeout(function () {
1448
+ // Don't trigger `blur` if the focus is still in the selection
1449
+ if (
1450
+ (document.activeElement == self.$selection[0]) ||
1451
+ ($.contains(self.$selection[0], document.activeElement))
1452
+ ) {
1453
+ return;
1454
+ }
1455
+
1456
+ self.trigger('blur', evt);
1457
+ }, 1);
1458
+ };
1459
+
1460
+ BaseSelection.prototype._attachCloseHandler = function (container) {
1461
+ var self = this;
1462
+
1463
+ $(document.body).on('mousedown.select2.' + container.id, function (e) {
1464
+ var $target = $(e.target);
1465
+
1466
+ var $select = $target.closest('.select2');
1467
+
1468
+ var $all = $('.select2.select2-container--open');
1469
+
1470
+ $all.each(function () {
1471
+ var $this = $(this);
1472
+
1473
+ if (this == $select[0]) {
1474
+ return;
1475
+ }
1476
+
1477
+ var $element = $this.data('element');
1478
+ $element.select2('close');
1479
+
1480
+ // Remove any focus when dropdown is closed by clicking outside the select area.
1481
+ // Timeout of 1 required for close to finish wrapping up.
1482
+ setTimeout(function(){
1483
+ $this.find('*:focus').blur();
1484
+ $target.focus();
1485
+ }, 1);
1486
+ });
1487
+ });
1488
+ };
1489
+
1490
+ BaseSelection.prototype._detachCloseHandler = function (container) {
1491
+ $(document.body).off('mousedown.select2.' + container.id);
1492
+ };
1493
+
1494
+ BaseSelection.prototype.position = function ($selection, $container) {
1495
+ var $selectionContainer = $container.find('.selection');
1496
+ $selectionContainer.append($selection);
1497
+ };
1498
+
1499
+ BaseSelection.prototype.destroy = function () {
1500
+ this._detachCloseHandler(this.container);
1501
+ };
1502
+
1503
+ BaseSelection.prototype.update = function (data) {
1504
+ throw new Error('The `update` method must be defined in child classes.');
1505
+ };
1506
+
1507
+ return BaseSelection;
1508
+ });
1509
+
1510
+ S2.define('select2/selection/single',[
1511
+ 'jquery',
1512
+ './base',
1513
+ '../utils',
1514
+ '../keys'
1515
+ ], function ($, BaseSelection, Utils, KEYS) {
1516
+ function SingleSelection () {
1517
+ SingleSelection.__super__.constructor.apply(this, arguments);
1518
+ }
1519
+
1520
+ Utils.Extend(SingleSelection, BaseSelection);
1521
+
1522
+ SingleSelection.prototype.render = function () {
1523
+ var $selection = SingleSelection.__super__.render.call(this);
1524
+
1525
+ $selection.addClass('select2-selection--single');
1526
+
1527
+ $selection.html(
1528
+ '<span class="select2-selection__rendered"></span>' +
1529
+ '<span class="select2-selection__arrow" role="presentation">' +
1530
+ '<b role="presentation"></b>' +
1531
+ '</span>'
1532
+ );
1533
+
1534
+ return $selection;
1535
+ };
1536
+
1537
+ SingleSelection.prototype.bind = function (container, $container) {
1538
+ var self = this;
1539
+
1540
+ SingleSelection.__super__.bind.apply(this, arguments);
1541
+
1542
+ var id = container.id + '-container';
1543
+
1544
+ this.$selection.find('.select2-selection__rendered')
1545
+ .attr('id', id)
1546
+ .attr('role', 'textbox')
1547
+ .attr('aria-readonly', 'true');
1548
+ this.$selection.attr('aria-labelledby', id);
1549
+
1550
+ // This makes single non-search selects work in screen readers. If it causes problems elsewhere, remove.
1551
+ this.$selection.attr('role', 'combobox');
1552
+
1553
+ this.$selection.on('mousedown', function (evt) {
1554
+ // Only respond to left clicks
1555
+ if (evt.which !== 1) {
1556
+ return;
1557
+ }
1558
+
1559
+ self.trigger('toggle', {
1560
+ originalEvent: evt
1561
+ });
1562
+ });
1563
+
1564
+ this.$selection.on('focus', function (evt) {
1565
+ // User focuses on the container
1566
+ });
1567
+
1568
+ this.$selection.on('keydown', function (evt) {
1569
+ // If user starts typing an alphanumeric key on the keyboard, open if not opened.
1570
+ if (!container.isOpen() && evt.which >= 48 && evt.which <= 90) {
1571
+ container.open();
1572
+ }
1573
+ });
1574
+
1575
+ this.$selection.on('blur', function (evt) {
1576
+ // User exits the container
1577
+ });
1578
+
1579
+ container.on('focus', function (evt) {
1580
+ if (!container.isOpen()) {
1581
+ self.$selection.focus();
1582
+ }
1583
+ });
1584
+
1585
+ container.on('selection:update', function (params) {
1586
+ self.update(params.data);
1587
+ });
1588
+ };
1589
+
1590
+ SingleSelection.prototype.clear = function () {
1591
+ this.$selection.find('.select2-selection__rendered').empty();
1592
+ };
1593
+
1594
+ SingleSelection.prototype.display = function (data, container) {
1595
+ var template = this.options.get('templateSelection');
1596
+ var escapeMarkup = this.options.get('escapeMarkup');
1597
+
1598
+ return escapeMarkup(template(data, container));
1599
+ };
1600
+
1601
+ SingleSelection.prototype.selectionContainer = function () {
1602
+ return $('<span></span>');
1603
+ };
1604
+
1605
+ SingleSelection.prototype.update = function (data) {
1606
+ if (data.length === 0) {
1607
+ this.clear();
1608
+ return;
1609
+ }
1610
+
1611
+ var selection = data[0];
1612
+
1613
+ var $rendered = this.$selection.find('.select2-selection__rendered');
1614
+ var formatted = this.display(selection, $rendered);
1615
+
1616
+ $rendered.empty().append(formatted);
1617
+ $rendered.prop('title', selection.title || selection.text);
1618
+ };
1619
+
1620
+ return SingleSelection;
1621
+ });
1622
+
1623
+ S2.define('select2/selection/multiple',[
1624
+ 'jquery',
1625
+ './base',
1626
+ '../utils'
1627
+ ], function ($, BaseSelection, Utils) {
1628
+ function MultipleSelection ($element, options) {
1629
+ MultipleSelection.__super__.constructor.apply(this, arguments);
1630
+ }
1631
+
1632
+ Utils.Extend(MultipleSelection, BaseSelection);
1633
+
1634
+ MultipleSelection.prototype.render = function () {
1635
+ var $selection = MultipleSelection.__super__.render.call(this);
1636
+
1637
+ $selection.addClass('select2-selection--multiple');
1638
+
1639
+ $selection.html(
1640
+ '<ul class="select2-selection__rendered" aria-live="polite" aria-relevant="additions removals" aria-atomic="true"></ul>'
1641
+ );
1642
+
1643
+ return $selection;
1644
+ };
1645
+
1646
+ MultipleSelection.prototype.bind = function (container, $container) {
1647
+ var self = this;
1648
+
1649
+ MultipleSelection.__super__.bind.apply(this, arguments);
1650
+
1651
+ this.$selection.on('click', function (evt) {
1652
+ self.trigger('toggle', {
1653
+ originalEvent: evt
1654
+ });
1655
+ });
1656
+
1657
+ this.$selection.on(
1658
+ 'click',
1659
+ '.select2-selection__choice__remove',
1660
+ function (evt) {
1661
+ // Ignore the event if it is disabled
1662
+ if (self.options.get('disabled')) {
1663
+ return;
1664
+ }
1665
+
1666
+ var $remove = $(this);
1667
+ var $selection = $remove.parent();
1668
+
1669
+ var data = $selection.data('data');
1670
+
1671
+ self.trigger('unselect', {
1672
+ originalEvent: evt,
1673
+ data: data
1674
+ });
1675
+ }
1676
+ );
1677
+
1678
+ this.$selection.on('keydown', function (evt) {
1679
+ // If user starts typing an alphanumeric key on the keyboard, open if not opened.
1680
+ if (!container.isOpen() && evt.which >= 48 && evt.which <= 90) {
1681
+ container.open();
1682
+ }
1683
+ });
1684
+
1685
+ // Focus on the search field when the container is focused instead of the main container.
1686
+ container.on( 'focus', function(){
1687
+ self.focusOnSearch();
1688
+ });
1689
+ };
1690
+
1691
+ MultipleSelection.prototype.clear = function () {
1692
+ this.$selection.find('.select2-selection__rendered').empty();
1693
+ };
1694
+
1695
+ MultipleSelection.prototype.display = function (data, container) {
1696
+ var template = this.options.get('templateSelection');
1697
+ var escapeMarkup = this.options.get('escapeMarkup');
1698
+
1699
+ return escapeMarkup(template(data, container));
1700
+ };
1701
+
1702
+ MultipleSelection.prototype.selectionContainer = function () {
1703
+ var $container = $(
1704
+ '<li class="select2-selection__choice">' +
1705
+ '<span class="select2-selection__choice__remove" role="presentation" aria-hidden="true">' +
1706
+ '&times;' +
1707
+ '</span>' +
1708
+ '</li>'
1709
+ );
1710
+
1711
+ return $container;
1712
+ };
1713
+
1714
+ /**
1715
+ * Focus on the search field instead of the main multiselect container.
1716
+ */
1717
+ MultipleSelection.prototype.focusOnSearch = function() {
1718
+ var self = this;
1719
+
1720
+ if ('undefined' !== typeof self.$search) {
1721
+ // Needs 1 ms delay because of other 1 ms setTimeouts when rendering.
1722
+ setTimeout(function(){
1723
+ // Prevent the dropdown opening again when focused from this.
1724
+ // This gets reset automatically when focus is triggered.
1725
+ self._keyUpPrevented = true;
1726
+
1727
+ self.$search.focus();
1728
+ }, 1);
1729
+ }
1730
+ }
1731
+
1732
+ MultipleSelection.prototype.update = function (data) {
1733
+ this.clear();
1734
+
1735
+ if (data.length === 0) {
1736
+ return;
1737
+ }
1738
+
1739
+ var $selections = [];
1740
+
1741
+ for (var d = 0; d < data.length; d++) {
1742
+ var selection = data[d];
1743
+
1744
+ var $selection = this.selectionContainer();
1745
+ var formatted = this.display(selection, $selection);
1746
+ if ('string' === typeof formatted) {
1747
+ formatted = formatted.trim();
1748
+ }
1749
+
1750
+ $selection.append(formatted);
1751
+ $selection.prop('title', selection.title || selection.text);
1752
+
1753
+ $selection.data('data', selection);
1754
+
1755
+ $selections.push($selection);
1756
+ }
1757
+
1758
+ var $rendered = this.$selection.find('.select2-selection__rendered');
1759
+
1760
+ Utils.appendMany($rendered, $selections);
1761
+ };
1762
+
1763
+ return MultipleSelection;
1764
+ });
1765
+
1766
+ S2.define('select2/selection/placeholder',[
1767
+ '../utils'
1768
+ ], function (Utils) {
1769
+ function Placeholder (decorated, $element, options) {
1770
+ this.placeholder = this.normalizePlaceholder(options.get('placeholder'));
1771
+
1772
+ decorated.call(this, $element, options);
1773
+ }
1774
+
1775
+ Placeholder.prototype.normalizePlaceholder = function (_, placeholder) {
1776
+ if (typeof placeholder === 'string') {
1777
+ placeholder = {
1778
+ id: '',
1779
+ text: placeholder
1780
+ };
1781
+ }
1782
+
1783
+ return placeholder;
1784
+ };
1785
+
1786
+ Placeholder.prototype.createPlaceholder = function (decorated, placeholder) {
1787
+ var $placeholder = this.selectionContainer();
1788
+
1789
+ $placeholder.html(this.display(placeholder));
1790
+ $placeholder.addClass('select2-selection__placeholder')
1791
+ .removeClass('select2-selection__choice');
1792
+
1793
+ return $placeholder;
1794
+ };
1795
+
1796
+ Placeholder.prototype.update = function (decorated, data) {
1797
+ var singlePlaceholder = (
1798
+ data.length == 1 && data[0].id != this.placeholder.id
1799
+ );
1800
+ var multipleSelections = data.length > 1;
1801
+
1802
+ if (multipleSelections || singlePlaceholder) {
1803
+ return decorated.call(this, data);
1804
+ }
1805
+
1806
+ this.clear();
1807
+
1808
+ var $placeholder = this.createPlaceholder(this.placeholder);
1809
+
1810
+ this.$selection.find('.select2-selection__rendered').append($placeholder);
1811
+ };
1812
+
1813
+ return Placeholder;
1814
+ });
1815
+
1816
+ S2.define('select2/selection/allowClear',[
1817
+ 'jquery',
1818
+ '../keys'
1819
+ ], function ($, KEYS) {
1820
+ function AllowClear () { }
1821
+
1822
+ AllowClear.prototype.bind = function (decorated, container, $container) {
1823
+ var self = this;
1824
+
1825
+ decorated.call(this, container, $container);
1826
+
1827
+ if (this.placeholder == null) {
1828
+ if (this.options.get('debug') && window.console && console.error) {
1829
+ console.error(
1830
+ 'Select2: The `allowClear` option should be used in combination ' +
1831
+ 'with the `placeholder` option.'
1832
+ );
1833
+ }
1834
+ }
1835
+
1836
+ this.$selection.on('mousedown', '.select2-selection__clear',
1837
+ function (evt) {
1838
+ self._handleClear(evt);
1839
+ });
1840
+
1841
+ container.on('keypress', function (evt) {
1842
+ self._handleKeyboardClear(evt, container);
1843
+ });
1844
+ };
1845
+
1846
+ AllowClear.prototype._handleClear = function (_, evt) {
1847
+ // Ignore the event if it is disabled
1848
+ if (this.options.get('disabled')) {
1849
+ return;
1850
+ }
1851
+
1852
+ var $clear = this.$selection.find('.select2-selection__clear');
1853
+
1854
+ // Ignore the event if nothing has been selected
1855
+ if ($clear.length === 0) {
1856
+ return;
1857
+ }
1858
+
1859
+ evt.stopPropagation();
1860
+
1861
+ var data = $clear.data('data');
1862
+
1863
+ for (var d = 0; d < data.length; d++) {
1864
+ var unselectData = {
1865
+ data: data[d]
1866
+ };
1867
+
1868
+ // Trigger the `unselect` event, so people can prevent it from being
1869
+ // cleared.
1870
+ this.trigger('unselect', unselectData);
1871
+
1872
+ // If the event was prevented, don't clear it out.
1873
+ if (unselectData.prevented) {
1874
+ return;
1875
+ }
1876
+ }
1877
+
1878
+ this.$element.val(this.placeholder.id).trigger('change');
1879
+
1880
+ this.trigger('toggle', {});
1881
+ };
1882
+
1883
+ AllowClear.prototype._handleKeyboardClear = function (_, evt, container) {
1884
+ if (container.isOpen()) {
1885
+ return;
1886
+ }
1887
+
1888
+ if (evt.which == KEYS.DELETE || evt.which == KEYS.BACKSPACE) {
1889
+ this._handleClear(evt);
1890
+ }
1891
+ };
1892
+
1893
+ AllowClear.prototype.update = function (decorated, data) {
1894
+ decorated.call(this, data);
1895
+
1896
+ if (this.$selection.find('.select2-selection__placeholder').length > 0 ||
1897
+ data.length === 0) {
1898
+ return;
1899
+ }
1900
+
1901
+ var $remove = $(
1902
+ '<span class="select2-selection__clear">' +
1903
+ '&times;' +
1904
+ '</span>'
1905
+ );
1906
+ $remove.data('data', data);
1907
+
1908
+ this.$selection.find('.select2-selection__rendered').prepend($remove);
1909
+ };
1910
+
1911
+ return AllowClear;
1912
+ });
1913
+
1914
+ S2.define('select2/selection/search',[
1915
+ 'jquery',
1916
+ '../utils',
1917
+ '../keys'
1918
+ ], function ($, Utils, KEYS) {
1919
+ function Search (decorated, $element, options) {
1920
+ decorated.call(this, $element, options);
1921
+ }
1922
+
1923
+ Search.prototype.render = function (decorated) {
1924
+ var $search = $(
1925
+ '<li class="select2-search select2-search--inline">' +
1926
+ '<input class="select2-search__field" type="text" tabindex="-1"' +
1927
+ ' autocomplete="off" autocorrect="off" autocapitalize="off"' +
1928
+ ' spellcheck="false" role="textbox" aria-autocomplete="list" />' +
1929
+ '</li>'
1930
+ );
1931
+
1932
+ this.$searchContainer = $search;
1933
+ this.$search = $search.find('input');
1934
+
1935
+ var $rendered = decorated.call(this);
1936
+
1937
+ this._transferTabIndex();
1938
+
1939
+ return $rendered;
1940
+ };
1941
+
1942
+ Search.prototype.bind = function (decorated, container, $container) {
1943
+ var self = this;
1944
+ var resultsId = container.id + '-results';
1945
+
1946
+ decorated.call(this, container, $container);
1947
+
1948
+ container.on('open', function () {
1949
+ self.$search.attr('aria-owns', resultsId);
1950
+ self.$search.trigger('focus');
1951
+ });
1952
+
1953
+ container.on('close', function () {
1954
+ self.$search.val('');
1955
+ self.$search.removeAttr('aria-activedescendant');
1956
+ self.$search.removeAttr('aria-owns');
1957
+ self.$search.trigger('focus');
1958
+ });
1959
+
1960
+ container.on('enable', function () {
1961
+ self.$search.prop('disabled', false);
1962
+
1963
+ self._transferTabIndex();
1964
+ });
1965
+
1966
+ container.on('disable', function () {
1967
+ self.$search.prop('disabled', true);
1968
+ });
1969
+
1970
+ container.on('focus', function (evt) {
1971
+ self.$search.trigger('focus');
1972
+ });
1973
+
1974
+ container.on('results:focus', function (params) {
1975
+ self.$search.attr('aria-activedescendant', params.data._resultId);
1976
+ });
1977
+
1978
+ this.$selection.on('focusin', '.select2-search--inline', function (evt) {
1979
+ self.trigger('focus', evt);
1980
+ });
1981
+
1982
+ this.$selection.on('focusout', '.select2-search--inline', function (evt) {
1983
+ self._handleBlur(evt);
1984
+ });
1985
+
1986
+ this.$selection.on('keydown', '.select2-search--inline', function (evt) {
1987
+ evt.stopPropagation();
1988
+
1989
+ self.trigger('keypress', evt);
1990
+
1991
+ self._keyUpPrevented = evt.isDefaultPrevented();
1992
+
1993
+ var key = evt.which;
1994
+
1995
+ if (key === KEYS.BACKSPACE && self.$search.val() === '') {
1996
+ var $previousChoice = self.$searchContainer
1997
+ .prev('.select2-selection__choice');
1998
+
1999
+ if ($previousChoice.length > 0) {
2000
+ var item = $previousChoice.data('data');
2001
+
2002
+ self.searchRemoveChoice(item);
2003
+
2004
+ evt.preventDefault();
2005
+ }
2006
+ } else if (evt.which === KEYS.ENTER) {
2007
+ container.open();
2008
+ evt.preventDefault();
2009
+ }
2010
+ });
2011
+
2012
+ // Try to detect the IE version should the `documentMode` property that
2013
+ // is stored on the document. This is only implemented in IE and is
2014
+ // slightly cleaner than doing a user agent check.
2015
+ // This property is not available in Edge, but Edge also doesn't have
2016
+ // this bug.
2017
+ var msie = document.documentMode;
2018
+ var disableInputEvents = msie && msie <= 11;
2019
+
2020
+ // Workaround for browsers which do not support the `input` event
2021
+ // This will prevent double-triggering of events for browsers which support
2022
+ // both the `keyup` and `input` events.
2023
+ this.$selection.on(
2024
+ 'input.searchcheck',
2025
+ '.select2-search--inline',
2026
+ function (evt) {
2027
+ // IE will trigger the `input` event when a placeholder is used on a
2028
+ // search box. To get around this issue, we are forced to ignore all
2029
+ // `input` events in IE and keep using `keyup`.
2030
+ if (disableInputEvents) {
2031
+ self.$selection.off('input.search input.searchcheck');
2032
+ return;
2033
+ }
2034
+
2035
+ // Unbind the duplicated `keyup` event
2036
+ self.$selection.off('keyup.search');
2037
+ }
2038
+ );
2039
+
2040
+ this.$selection.on(
2041
+ 'keyup.search input.search',
2042
+ '.select2-search--inline',
2043
+ function (evt) {
2044
+ // IE will trigger the `input` event when a placeholder is used on a
2045
+ // search box. To get around this issue, we are forced to ignore all
2046
+ // `input` events in IE and keep using `keyup`.
2047
+ if (disableInputEvents && evt.type === 'input') {
2048
+ self.$selection.off('input.search input.searchcheck');
2049
+ return;
2050
+ }
2051
+
2052
+ var key = evt.which;
2053
+
2054
+ // We can freely ignore events from modifier keys
2055
+ if (key == KEYS.SHIFT || key == KEYS.CTRL || key == KEYS.ALT) {
2056
+ return;
2057
+ }
2058
+
2059
+ // Tabbing will be handled during the `keydown` phase
2060
+ if (key == KEYS.TAB) {
2061
+ return;
2062
+ }
2063
+
2064
+ self.handleSearch(evt);
2065
+ }
2066
+ );
2067
+ };
2068
+
2069
+ /**
2070
+ * This method will transfer the tabindex attribute from the rendered
2071
+ * selection to the search box. This allows for the search box to be used as
2072
+ * the primary focus instead of the selection container.
2073
+ *
2074
+ * @private
2075
+ */
2076
+ Search.prototype._transferTabIndex = function (decorated) {
2077
+ this.$search.attr('tabindex', this.$selection.attr('tabindex'));
2078
+ this.$selection.attr('tabindex', '-1');
2079
+ };
2080
+
2081
+ Search.prototype.createPlaceholder = function (decorated, placeholder) {
2082
+ this.$search.attr('placeholder', placeholder.text);
2083
+ };
2084
+
2085
+ Search.prototype.update = function (decorated, data) {
2086
+ var searchHadFocus = this.$search[0] == document.activeElement;
2087
+
2088
+ this.$search.attr('placeholder', '');
2089
+
2090
+ decorated.call(this, data);
2091
+
2092
+ this.$selection.find('.select2-selection__rendered')
2093
+ .append(this.$searchContainer);
2094
+
2095
+ this.resizeSearch();
2096
+ if (searchHadFocus) {
2097
+ this.$search.focus();
2098
+ }
2099
+ };
2100
+
2101
+ Search.prototype.handleSearch = function () {
2102
+ this.resizeSearch();
2103
+
2104
+ if (!this._keyUpPrevented) {
2105
+ var input = this.$search.val();
2106
+
2107
+ this.trigger('query', {
2108
+ term: input
2109
+ });
2110
+ }
2111
+
2112
+ this._keyUpPrevented = false;
2113
+ };
2114
+
2115
+ Search.prototype.searchRemoveChoice = function (decorated, item) {
2116
+ this.trigger('unselect', {
2117
+ data: item
2118
+ });
2119
+
2120
+ this.$search.val(item.text);
2121
+ this.handleSearch();
2122
+ };
2123
+
2124
+ Search.prototype.resizeSearch = function () {
2125
+ this.$search.css('width', '25px');
2126
+
2127
+ var width = '';
2128
+
2129
+ if (this.$search.attr('placeholder') !== '') {
2130
+ width = this.$selection.find('.select2-selection__rendered').innerWidth();
2131
+ } else {
2132
+ var minimumWidth = this.$search.val().length + 1;
2133
+
2134
+ width = (minimumWidth * 0.75) + 'em';
2135
+ }
2136
+
2137
+ this.$search.css('width', width);
2138
+ };
2139
+
2140
+ return Search;
2141
+ });
2142
+
2143
+ S2.define('select2/selection/eventRelay',[
2144
+ 'jquery'
2145
+ ], function ($) {
2146
+ function EventRelay () { }
2147
+
2148
+ EventRelay.prototype.bind = function (decorated, container, $container) {
2149
+ var self = this;
2150
+ var relayEvents = [
2151
+ 'open', 'opening',
2152
+ 'close', 'closing',
2153
+ 'select', 'selecting',
2154
+ 'unselect', 'unselecting'
2155
+ ];
2156
+
2157
+ var preventableEvents = ['opening', 'closing', 'selecting', 'unselecting'];
2158
+
2159
+ decorated.call(this, container, $container);
2160
+
2161
+ container.on('*', function (name, params) {
2162
+ // Ignore events that should not be relayed
2163
+ if ($.inArray(name, relayEvents) === -1) {
2164
+ return;
2165
+ }
2166
+
2167
+ // The parameters should always be an object
2168
+ params = params || {};
2169
+
2170
+ // Generate the jQuery event for the Select2 event
2171
+ var evt = $.Event('select2:' + name, {
2172
+ params: params
2173
+ });
2174
+
2175
+ self.$element.trigger(evt);
2176
+
2177
+ // Only handle preventable events if it was one
2178
+ if ($.inArray(name, preventableEvents) === -1) {
2179
+ return;
2180
+ }
2181
+
2182
+ params.prevented = evt.isDefaultPrevented();
2183
+ });
2184
+ };
2185
+
2186
+ return EventRelay;
2187
+ });
2188
+
2189
+ S2.define('select2/translation',[
2190
+ 'jquery',
2191
+ 'require'
2192
+ ], function ($, require) {
2193
+ function Translation (dict) {
2194
+ this.dict = dict || {};
2195
+ }
2196
+
2197
+ Translation.prototype.all = function () {
2198
+ return this.dict;
2199
+ };
2200
+
2201
+ Translation.prototype.get = function (key) {
2202
+ return this.dict[key];
2203
+ };
2204
+
2205
+ Translation.prototype.extend = function (translation) {
2206
+ this.dict = $.extend({}, translation.all(), this.dict);
2207
+ };
2208
+
2209
+ // Static functions
2210
+
2211
+ Translation._cache = {};
2212
+
2213
+ Translation.loadPath = function (path) {
2214
+ if (!(path in Translation._cache)) {
2215
+ var translations = require(path);
2216
+
2217
+ Translation._cache[path] = translations;
2218
+ }
2219
+
2220
+ return new Translation(Translation._cache[path]);
2221
+ };
2222
+
2223
+ return Translation;
2224
+ });
2225
+
2226
+ S2.define('select2/diacritics',[
2227
+
2228
+ ], function () {
2229
+ var diacritics = {
2230
+ '\u24B6': 'A',
2231
+ '\uFF21': 'A',
2232
+ '\u00C0': 'A',
2233
+ '\u00C1': 'A',
2234
+ '\u00C2': 'A',
2235
+ '\u1EA6': 'A',
2236
+ '\u1EA4': 'A',
2237
+ '\u1EAA': 'A',
2238
+ '\u1EA8': 'A',
2239
+ '\u00C3': 'A',
2240
+ '\u0100': 'A',
2241
+ '\u0102': 'A',
2242
+ '\u1EB0': 'A',
2243
+ '\u1EAE': 'A',
2244
+ '\u1EB4': 'A',
2245
+ '\u1EB2': 'A',
2246
+ '\u0226': 'A',
2247
+ '\u01E0': 'A',
2248
+ '\u00C4': 'A',
2249
+ '\u01DE': 'A',
2250
+ '\u1EA2': 'A',
2251
+ '\u00C5': 'A',
2252
+ '\u01FA': 'A',
2253
+ '\u01CD': 'A',
2254
+ '\u0200': 'A',
2255
+ '\u0202': 'A',
2256
+ '\u1EA0': 'A',
2257
+ '\u1EAC': 'A',
2258
+ '\u1EB6': 'A',
2259
+ '\u1E00': 'A',
2260
+ '\u0104': 'A',
2261
+ '\u023A': 'A',
2262
+ '\u2C6F': 'A',
2263
+ '\uA732': 'AA',
2264
+ '\u00C6': 'AE',
2265
+ '\u01FC': 'AE',
2266
+ '\u01E2': 'AE',
2267
+ '\uA734': 'AO',
2268
+ '\uA736': 'AU',
2269
+ '\uA738': 'AV',
2270
+ '\uA73A': 'AV',
2271
+ '\uA73C': 'AY',
2272
+ '\u24B7': 'B',
2273
+ '\uFF22': 'B',
2274
+ '\u1E02': 'B',
2275
+ '\u1E04': 'B',
2276
+ '\u1E06': 'B',
2277
+ '\u0243': 'B',
2278
+ '\u0182': 'B',
2279
+ '\u0181': 'B',
2280
+ '\u24B8': 'C',
2281
+ '\uFF23': 'C',
2282
+ '\u0106': 'C',
2283
+ '\u0108': 'C',
2284
+ '\u010A': 'C',
2285
+ '\u010C': 'C',
2286
+ '\u00C7': 'C',
2287
+ '\u1E08': 'C',
2288
+ '\u0187': 'C',
2289
+ '\u023B': 'C',
2290
+ '\uA73E': 'C',
2291
+ '\u24B9': 'D',
2292
+ '\uFF24': 'D',
2293
+ '\u1E0A': 'D',
2294
+ '\u010E': 'D',
2295
+ '\u1E0C': 'D',
2296
+ '\u1E10': 'D',
2297
+ '\u1E12': 'D',
2298
+ '\u1E0E': 'D',
2299
+ '\u0110': 'D',
2300
+ '\u018B': 'D',
2301
+ '\u018A': 'D',
2302
+ '\u0189': 'D',
2303
+ '\uA779': 'D',
2304
+ '\u01F1': 'DZ',
2305
+ '\u01C4': 'DZ',
2306
+ '\u01F2': 'Dz',
2307
+ '\u01C5': 'Dz',
2308
+ '\u24BA': 'E',
2309
+ '\uFF25': 'E',
2310
+ '\u00C8': 'E',
2311
+ '\u00C9': 'E',
2312
+ '\u00CA': 'E',
2313
+ '\u1EC0': 'E',
2314
+ '\u1EBE': 'E',
2315
+ '\u1EC4': 'E',
2316
+ '\u1EC2': 'E',
2317
+ '\u1EBC': 'E',
2318
+ '\u0112': 'E',
2319
+ '\u1E14': 'E',
2320
+ '\u1E16': 'E',
2321
+ '\u0114': 'E',
2322
+ '\u0116': 'E',
2323
+ '\u00CB': 'E',
2324
+ '\u1EBA': 'E',
2325
+ '\u011A': 'E',
2326
+ '\u0204': 'E',
2327
+ '\u0206': 'E',
2328
+ '\u1EB8': 'E',
2329
+ '\u1EC6': 'E',
2330
+ '\u0228': 'E',
2331
+ '\u1E1C': 'E',
2332
+ '\u0118': 'E',
2333
+ '\u1E18': 'E',
2334
+ '\u1E1A': 'E',
2335
+ '\u0190': 'E',
2336
+ '\u018E': 'E',
2337
+ '\u24BB': 'F',
2338
+ '\uFF26': 'F',
2339
+ '\u1E1E': 'F',
2340
+ '\u0191': 'F',
2341
+ '\uA77B': 'F',
2342
+ '\u24BC': 'G',
2343
+ '\uFF27': 'G',
2344
+ '\u01F4': 'G',
2345
+ '\u011C': 'G',
2346
+ '\u1E20': 'G',
2347
+ '\u011E': 'G',
2348
+ '\u0120': 'G',
2349
+ '\u01E6': 'G',
2350
+ '\u0122': 'G',
2351
+ '\u01E4': 'G',
2352
+ '\u0193': 'G',
2353
+ '\uA7A0': 'G',
2354
+ '\uA77D': 'G',
2355
+ '\uA77E': 'G',
2356
+ '\u24BD': 'H',
2357
+ '\uFF28': 'H',
2358
+ '\u0124': 'H',
2359
+ '\u1E22': 'H',
2360
+ '\u1E26': 'H',
2361
+ '\u021E': 'H',
2362
+ '\u1E24': 'H',
2363
+ '\u1E28': 'H',
2364
+ '\u1E2A': 'H',
2365
+ '\u0126': 'H',
2366
+ '\u2C67': 'H',
2367
+ '\u2C75': 'H',
2368
+ '\uA78D': 'H',
2369
+ '\u24BE': 'I',
2370
+ '\uFF29': 'I',
2371
+ '\u00CC': 'I',
2372
+ '\u00CD': 'I',
2373
+ '\u00CE': 'I',
2374
+ '\u0128': 'I',
2375
+ '\u012A': 'I',
2376
+ '\u012C': 'I',
2377
+ '\u0130': 'I',
2378
+ '\u00CF': 'I',
2379
+ '\u1E2E': 'I',
2380
+ '\u1EC8': 'I',
2381
+ '\u01CF': 'I',
2382
+ '\u0208': 'I',
2383
+ '\u020A': 'I',
2384
+ '\u1ECA': 'I',
2385
+ '\u012E': 'I',
2386
+ '\u1E2C': 'I',
2387
+ '\u0197': 'I',
2388
+ '\u24BF': 'J',
2389
+ '\uFF2A': 'J',
2390
+ '\u0134': 'J',
2391
+ '\u0248': 'J',
2392
+ '\u24C0': 'K',
2393
+ '\uFF2B': 'K',
2394
+ '\u1E30': 'K',
2395
+ '\u01E8': 'K',
2396
+ '\u1E32': 'K',
2397
+ '\u0136': 'K',
2398
+ '\u1E34': 'K',
2399
+ '\u0198': 'K',
2400
+ '\u2C69': 'K',
2401
+ '\uA740': 'K',
2402
+ '\uA742': 'K',
2403
+ '\uA744': 'K',
2404
+ '\uA7A2': 'K',
2405
+ '\u24C1': 'L',
2406
+ '\uFF2C': 'L',
2407
+ '\u013F': 'L',
2408
+ '\u0139': 'L',
2409
+ '\u013D': 'L',
2410
+ '\u1E36': 'L',
2411
+ '\u1E38': 'L',
2412
+ '\u013B': 'L',
2413
+ '\u1E3C': 'L',
2414
+ '\u1E3A': 'L',
2415
+ '\u0141': 'L',
2416
+ '\u023D': 'L',
2417
+ '\u2C62': 'L',
2418
+ '\u2C60': 'L',
2419
+ '\uA748': 'L',
2420
+ '\uA746': 'L',
2421
+ '\uA780': 'L',
2422
+ '\u01C7': 'LJ',
2423
+ '\u01C8': 'Lj',
2424
+ '\u24C2': 'M',
2425
+ '\uFF2D': 'M',
2426
+ '\u1E3E': 'M',
2427
+ '\u1E40': 'M',
2428
+ '\u1E42': 'M',
2429
+ '\u2C6E': 'M',
2430
+ '\u019C': 'M',
2431
+ '\u24C3': 'N',
2432
+ '\uFF2E': 'N',
2433
+ '\u01F8': 'N',
2434
+ '\u0143': 'N',
2435
+ '\u00D1': 'N',
2436
+ '\u1E44': 'N',
2437
+ '\u0147': 'N',
2438
+ '\u1E46': 'N',
2439
+ '\u0145': 'N',
2440
+ '\u1E4A': 'N',
2441
+ '\u1E48': 'N',
2442
+ '\u0220': 'N',
2443
+ '\u019D': 'N',
2444
+ '\uA790': 'N',
2445
+ '\uA7A4': 'N',
2446
+ '\u01CA': 'NJ',
2447
+ '\u01CB': 'Nj',
2448
+ '\u24C4': 'O',
2449
+ '\uFF2F': 'O',
2450
+ '\u00D2': 'O',
2451
+ '\u00D3': 'O',
2452
+ '\u00D4': 'O',
2453
+ '\u1ED2': 'O',
2454
+ '\u1ED0': 'O',
2455
+ '\u1ED6': 'O',
2456
+ '\u1ED4': 'O',
2457
+ '\u00D5': 'O',
2458
+ '\u1E4C': 'O',
2459
+ '\u022C': 'O',
2460
+ '\u1E4E': 'O',
2461
+ '\u014C': 'O',
2462
+ '\u1E50': 'O',
2463
+ '\u1E52': 'O',
2464
+ '\u014E': 'O',
2465
+ '\u022E': 'O',
2466
+ '\u0230': 'O',
2467
+ '\u00D6': 'O',
2468
+ '\u022A': 'O',
2469
+ '\u1ECE': 'O',
2470
+ '\u0150': 'O',
2471
+ '\u01D1': 'O',
2472
+ '\u020C': 'O',
2473
+ '\u020E': 'O',
2474
+ '\u01A0': 'O',
2475
+ '\u1EDC': 'O',
2476
+ '\u1EDA': 'O',
2477
+ '\u1EE0': 'O',
2478
+ '\u1EDE': 'O',
2479
+ '\u1EE2': 'O',
2480
+ '\u1ECC': 'O',
2481
+ '\u1ED8': 'O',
2482
+ '\u01EA': 'O',
2483
+ '\u01EC': 'O',
2484
+ '\u00D8': 'O',
2485
+ '\u01FE': 'O',
2486
+ '\u0186': 'O',
2487
+ '\u019F': 'O',
2488
+ '\uA74A': 'O',
2489
+ '\uA74C': 'O',
2490
+ '\u01A2': 'OI',
2491
+ '\uA74E': 'OO',
2492
+ '\u0222': 'OU',
2493
+ '\u24C5': 'P',
2494
+ '\uFF30': 'P',
2495
+ '\u1E54': 'P',
2496
+ '\u1E56': 'P',
2497
+ '\u01A4': 'P',
2498
+ '\u2C63': 'P',
2499
+ '\uA750': 'P',
2500
+ '\uA752': 'P',
2501
+ '\uA754': 'P',
2502
+ '\u24C6': 'Q',
2503
+ '\uFF31': 'Q',
2504
+ '\uA756': 'Q',
2505
+ '\uA758': 'Q',
2506
+ '\u024A': 'Q',
2507
+ '\u24C7': 'R',
2508
+ '\uFF32': 'R',
2509
+ '\u0154': 'R',
2510
+ '\u1E58': 'R',
2511
+ '\u0158': 'R',
2512
+ '\u0210': 'R',
2513
+ '\u0212': 'R',
2514
+ '\u1E5A': 'R',
2515
+ '\u1E5C': 'R',
2516
+ '\u0156': 'R',
2517
+ '\u1E5E': 'R',
2518
+ '\u024C': 'R',
2519
+ '\u2C64': 'R',
2520
+ '\uA75A': 'R',
2521
+ '\uA7A6': 'R',
2522
+ '\uA782': 'R',
2523
+ '\u24C8': 'S',
2524
+ '\uFF33': 'S',
2525
+ '\u1E9E': 'S',
2526
+ '\u015A': 'S',
2527
+ '\u1E64': 'S',
2528
+ '\u015C': 'S',
2529
+ '\u1E60': 'S',
2530
+ '\u0160': 'S',
2531
+ '\u1E66': 'S',
2532
+ '\u1E62': 'S',
2533
+ '\u1E68': 'S',
2534
+ '\u0218': 'S',
2535
+ '\u015E': 'S',
2536
+ '\u2C7E': 'S',
2537
+ '\uA7A8': 'S',
2538
+ '\uA784': 'S',
2539
+ '\u24C9': 'T',
2540
+ '\uFF34': 'T',
2541
+ '\u1E6A': 'T',
2542
+ '\u0164': 'T',
2543
+ '\u1E6C': 'T',
2544
+ '\u021A': 'T',
2545
+ '\u0162': 'T',
2546
+ '\u1E70': 'T',
2547
+ '\u1E6E': 'T',
2548
+ '\u0166': 'T',
2549
+ '\u01AC': 'T',
2550
+ '\u01AE': 'T',
2551
+ '\u023E': 'T',
2552
+ '\uA786': 'T',
2553
+ '\uA728': 'TZ',
2554
+ '\u24CA': 'U',
2555
+ '\uFF35': 'U',
2556
+ '\u00D9': 'U',
2557
+ '\u00DA': 'U',
2558
+ '\u00DB': 'U',
2559
+ '\u0168': 'U',
2560
+ '\u1E78': 'U',
2561
+ '\u016A': 'U',
2562
+ '\u1E7A': 'U',
2563
+ '\u016C': 'U',
2564
+ '\u00DC': 'U',
2565
+ '\u01DB': 'U',
2566
+ '\u01D7': 'U',
2567
+ '\u01D5': 'U',
2568
+ '\u01D9': 'U',
2569
+ '\u1EE6': 'U',
2570
+ '\u016E': 'U',
2571
+ '\u0170': 'U',
2572
+ '\u01D3': 'U',
2573
+ '\u0214': 'U',
2574
+ '\u0216': 'U',
2575
+ '\u01AF': 'U',
2576
+ '\u1EEA': 'U',
2577
+ '\u1EE8': 'U',
2578
+ '\u1EEE': 'U',
2579
+ '\u1EEC': 'U',
2580
+ '\u1EF0': 'U',
2581
+ '\u1EE4': 'U',
2582
+ '\u1E72': 'U',
2583
+ '\u0172': 'U',
2584
+ '\u1E76': 'U',
2585
+ '\u1E74': 'U',
2586
+ '\u0244': 'U',
2587
+ '\u24CB': 'V',
2588
+ '\uFF36': 'V',
2589
+ '\u1E7C': 'V',
2590
+ '\u1E7E': 'V',
2591
+ '\u01B2': 'V',
2592
+ '\uA75E': 'V',
2593
+ '\u0245': 'V',
2594
+ '\uA760': 'VY',
2595
+ '\u24CC': 'W',
2596
+ '\uFF37': 'W',
2597
+ '\u1E80': 'W',
2598
+ '\u1E82': 'W',
2599
+ '\u0174': 'W',
2600
+ '\u1E86': 'W',
2601
+ '\u1E84': 'W',
2602
+ '\u1E88': 'W',
2603
+ '\u2C72': 'W',
2604
+ '\u24CD': 'X',
2605
+ '\uFF38': 'X',
2606
+ '\u1E8A': 'X',
2607
+ '\u1E8C': 'X',
2608
+ '\u24CE': 'Y',
2609
+ '\uFF39': 'Y',
2610
+ '\u1EF2': 'Y',
2611
+ '\u00DD': 'Y',
2612
+ '\u0176': 'Y',
2613
+ '\u1EF8': 'Y',
2614
+ '\u0232': 'Y',
2615
+ '\u1E8E': 'Y',
2616
+ '\u0178': 'Y',
2617
+ '\u1EF6': 'Y',
2618
+ '\u1EF4': 'Y',
2619
+ '\u01B3': 'Y',
2620
+ '\u024E': 'Y',
2621
+ '\u1EFE': 'Y',
2622
+ '\u24CF': 'Z',
2623
+ '\uFF3A': 'Z',
2624
+ '\u0179': 'Z',
2625
+ '\u1E90': 'Z',
2626
+ '\u017B': 'Z',
2627
+ '\u017D': 'Z',
2628
+ '\u1E92': 'Z',
2629
+ '\u1E94': 'Z',
2630
+ '\u01B5': 'Z',
2631
+ '\u0224': 'Z',
2632
+ '\u2C7F': 'Z',
2633
+ '\u2C6B': 'Z',
2634
+ '\uA762': 'Z',
2635
+ '\u24D0': 'a',
2636
+ '\uFF41': 'a',
2637
+ '\u1E9A': 'a',
2638
+ '\u00E0': 'a',
2639
+ '\u00E1': 'a',
2640
+ '\u00E2': 'a',
2641
+ '\u1EA7': 'a',
2642
+ '\u1EA5': 'a',
2643
+ '\u1EAB': 'a',
2644
+ '\u1EA9': 'a',
2645
+ '\u00E3': 'a',
2646
+ '\u0101': 'a',
2647
+ '\u0103': 'a',
2648
+ '\u1EB1': 'a',
2649
+ '\u1EAF': 'a',
2650
+ '\u1EB5': 'a',
2651
+ '\u1EB3': 'a',
2652
+ '\u0227': 'a',
2653
+ '\u01E1': 'a',
2654
+ '\u00E4': 'a',
2655
+ '\u01DF': 'a',
2656
+ '\u1EA3': 'a',
2657
+ '\u00E5': 'a',
2658
+ '\u01FB': 'a',
2659
+ '\u01CE': 'a',
2660
+ '\u0201': 'a',
2661
+ '\u0203': 'a',
2662
+ '\u1EA1': 'a',
2663
+ '\u1EAD': 'a',
2664
+ '\u1EB7': 'a',
2665
+ '\u1E01': 'a',
2666
+ '\u0105': 'a',
2667
+ '\u2C65': 'a',
2668
+ '\u0250': 'a',
2669
+ '\uA733': 'aa',
2670
+ '\u00E6': 'ae',
2671
+ '\u01FD': 'ae',
2672
+ '\u01E3': 'ae',
2673
+ '\uA735': 'ao',
2674
+ '\uA737': 'au',
2675
+ '\uA739': 'av',
2676
+ '\uA73B': 'av',
2677
+ '\uA73D': 'ay',
2678
+ '\u24D1': 'b',
2679
+ '\uFF42': 'b',
2680
+ '\u1E03': 'b',
2681
+ '\u1E05': 'b',
2682
+ '\u1E07': 'b',
2683
+ '\u0180': 'b',
2684
+ '\u0183': 'b',
2685
+ '\u0253': 'b',
2686
+ '\u24D2': 'c',
2687
+ '\uFF43': 'c',
2688
+ '\u0107': 'c',
2689
+ '\u0109': 'c',
2690
+ '\u010B': 'c',
2691
+ '\u010D': 'c',
2692
+ '\u00E7': 'c',
2693
+ '\u1E09': 'c',
2694
+ '\u0188': 'c',
2695
+ '\u023C': 'c',
2696
+ '\uA73F': 'c',
2697
+ '\u2184': 'c',
2698
+ '\u24D3': 'd',
2699
+ '\uFF44': 'd',
2700
+ '\u1E0B': 'd',
2701
+ '\u010F': 'd',
2702
+ '\u1E0D': 'd',
2703
+ '\u1E11': 'd',
2704
+ '\u1E13': 'd',
2705
+ '\u1E0F': 'd',
2706
+ '\u0111': 'd',
2707
+ '\u018C': 'd',
2708
+ '\u0256': 'd',
2709
+ '\u0257': 'd',
2710
+ '\uA77A': 'd',
2711
+ '\u01F3': 'dz',
2712
+ '\u01C6': 'dz',
2713
+ '\u24D4': 'e',
2714
+ '\uFF45': 'e',
2715
+ '\u00E8': 'e',
2716
+ '\u00E9': 'e',
2717
+ '\u00EA': 'e',
2718
+ '\u1EC1': 'e',
2719
+ '\u1EBF': 'e',
2720
+ '\u1EC5': 'e',
2721
+ '\u1EC3': 'e',
2722
+ '\u1EBD': 'e',
2723
+ '\u0113': 'e',
2724
+ '\u1E15': 'e',
2725
+ '\u1E17': 'e',
2726
+ '\u0115': 'e',
2727
+ '\u0117': 'e',
2728
+ '\u00EB': 'e',
2729
+ '\u1EBB': 'e',
2730
+ '\u011B': 'e',
2731
+ '\u0205': 'e',
2732
+ '\u0207': 'e',
2733
+ '\u1EB9': 'e',
2734
+ '\u1EC7': 'e',
2735
+ '\u0229': 'e',
2736
+ '\u1E1D': 'e',
2737
+ '\u0119': 'e',
2738
+ '\u1E19': 'e',
2739
+ '\u1E1B': 'e',
2740
+ '\u0247': 'e',
2741
+ '\u025B': 'e',
2742
+ '\u01DD': 'e',
2743
+ '\u24D5': 'f',
2744
+ '\uFF46': 'f',
2745
+ '\u1E1F': 'f',
2746
+ '\u0192': 'f',
2747
+ '\uA77C': 'f',
2748
+ '\u24D6': 'g',
2749
+ '\uFF47': 'g',
2750
+ '\u01F5': 'g',
2751
+ '\u011D': 'g',
2752
+ '\u1E21': 'g',
2753
+ '\u011F': 'g',
2754
+ '\u0121': 'g',
2755
+ '\u01E7': 'g',
2756
+ '\u0123': 'g',
2757
+ '\u01E5': 'g',
2758
+ '\u0260': 'g',
2759
+ '\uA7A1': 'g',
2760
+ '\u1D79': 'g',
2761
+ '\uA77F': 'g',
2762
+ '\u24D7': 'h',
2763
+ '\uFF48': 'h',
2764
+ '\u0125': 'h',
2765
+ '\u1E23': 'h',
2766
+ '\u1E27': 'h',
2767
+ '\u021F': 'h',
2768
+ '\u1E25': 'h',
2769
+ '\u1E29': 'h',
2770
+ '\u1E2B': 'h',
2771
+ '\u1E96': 'h',
2772
+ '\u0127': 'h',
2773
+ '\u2C68': 'h',
2774
+ '\u2C76': 'h',
2775
+ '\u0265': 'h',
2776
+ '\u0195': 'hv',
2777
+ '\u24D8': 'i',
2778
+ '\uFF49': 'i',
2779
+ '\u00EC': 'i',
2780
+ '\u00ED': 'i',
2781
+ '\u00EE': 'i',
2782
+ '\u0129': 'i',
2783
+ '\u012B': 'i',
2784
+ '\u012D': 'i',
2785
+ '\u00EF': 'i',
2786
+ '\u1E2F': 'i',
2787
+ '\u1EC9': 'i',
2788
+ '\u01D0': 'i',
2789
+ '\u0209': 'i',
2790
+ '\u020B': 'i',
2791
+ '\u1ECB': 'i',
2792
+ '\u012F': 'i',
2793
+ '\u1E2D': 'i',
2794
+ '\u0268': 'i',
2795
+ '\u0131': 'i',
2796
+ '\u24D9': 'j',
2797
+ '\uFF4A': 'j',
2798
+ '\u0135': 'j',
2799
+ '\u01F0': 'j',
2800
+ '\u0249': 'j',
2801
+ '\u24DA': 'k',
2802
+ '\uFF4B': 'k',
2803
+ '\u1E31': 'k',
2804
+ '\u01E9': 'k',
2805
+ '\u1E33': 'k',
2806
+ '\u0137': 'k',
2807
+ '\u1E35': 'k',
2808
+ '\u0199': 'k',
2809
+ '\u2C6A': 'k',
2810
+ '\uA741': 'k',
2811
+ '\uA743': 'k',
2812
+ '\uA745': 'k',
2813
+ '\uA7A3': 'k',
2814
+ '\u24DB': 'l',
2815
+ '\uFF4C': 'l',
2816
+ '\u0140': 'l',
2817
+ '\u013A': 'l',
2818
+ '\u013E': 'l',
2819
+ '\u1E37': 'l',
2820
+ '\u1E39': 'l',
2821
+ '\u013C': 'l',
2822
+ '\u1E3D': 'l',
2823
+ '\u1E3B': 'l',
2824
+ '\u017F': 'l',
2825
+ '\u0142': 'l',
2826
+ '\u019A': 'l',
2827
+ '\u026B': 'l',
2828
+ '\u2C61': 'l',
2829
+ '\uA749': 'l',
2830
+ '\uA781': 'l',
2831
+ '\uA747': 'l',
2832
+ '\u01C9': 'lj',
2833
+ '\u24DC': 'm',
2834
+ '\uFF4D': 'm',
2835
+ '\u1E3F': 'm',
2836
+ '\u1E41': 'm',
2837
+ '\u1E43': 'm',
2838
+ '\u0271': 'm',
2839
+ '\u026F': 'm',
2840
+ '\u24DD': 'n',
2841
+ '\uFF4E': 'n',
2842
+ '\u01F9': 'n',
2843
+ '\u0144': 'n',
2844
+ '\u00F1': 'n',
2845
+ '\u1E45': 'n',
2846
+ '\u0148': 'n',
2847
+ '\u1E47': 'n',
2848
+ '\u0146': 'n',
2849
+ '\u1E4B': 'n',
2850
+ '\u1E49': 'n',
2851
+ '\u019E': 'n',
2852
+ '\u0272': 'n',
2853
+ '\u0149': 'n',
2854
+ '\uA791': 'n',
2855
+ '\uA7A5': 'n',
2856
+ '\u01CC': 'nj',
2857
+ '\u24DE': 'o',
2858
+ '\uFF4F': 'o',
2859
+ '\u00F2': 'o',
2860
+ '\u00F3': 'o',
2861
+ '\u00F4': 'o',
2862
+ '\u1ED3': 'o',
2863
+ '\u1ED1': 'o',
2864
+ '\u1ED7': 'o',
2865
+ '\u1ED5': 'o',
2866
+ '\u00F5': 'o',
2867
+ '\u1E4D': 'o',
2868
+ '\u022D': 'o',
2869
+ '\u1E4F': 'o',
2870
+ '\u014D': 'o',
2871
+ '\u1E51': 'o',
2872
+ '\u1E53': 'o',
2873
+ '\u014F': 'o',
2874
+ '\u022F': 'o',
2875
+ '\u0231': 'o',
2876
+ '\u00F6': 'o',
2877
+ '\u022B': 'o',
2878
+ '\u1ECF': 'o',
2879
+ '\u0151': 'o',
2880
+ '\u01D2': 'o',
2881
+ '\u020D': 'o',
2882
+ '\u020F': 'o',
2883
+ '\u01A1': 'o',
2884
+ '\u1EDD': 'o',
2885
+ '\u1EDB': 'o',
2886
+ '\u1EE1': 'o',
2887
+ '\u1EDF': 'o',
2888
+ '\u1EE3': 'o',
2889
+ '\u1ECD': 'o',
2890
+ '\u1ED9': 'o',
2891
+ '\u01EB': 'o',
2892
+ '\u01ED': 'o',
2893
+ '\u00F8': 'o',
2894
+ '\u01FF': 'o',
2895
+ '\u0254': 'o',
2896
+ '\uA74B': 'o',
2897
+ '\uA74D': 'o',
2898
+ '\u0275': 'o',
2899
+ '\u01A3': 'oi',
2900
+ '\u0223': 'ou',
2901
+ '\uA74F': 'oo',
2902
+ '\u24DF': 'p',
2903
+ '\uFF50': 'p',
2904
+ '\u1E55': 'p',
2905
+ '\u1E57': 'p',
2906
+ '\u01A5': 'p',
2907
+ '\u1D7D': 'p',
2908
+ '\uA751': 'p',
2909
+ '\uA753': 'p',
2910
+ '\uA755': 'p',
2911
+ '\u24E0': 'q',
2912
+ '\uFF51': 'q',
2913
+ '\u024B': 'q',
2914
+ '\uA757': 'q',
2915
+ '\uA759': 'q',
2916
+ '\u24E1': 'r',
2917
+ '\uFF52': 'r',
2918
+ '\u0155': 'r',
2919
+ '\u1E59': 'r',
2920
+ '\u0159': 'r',
2921
+ '\u0211': 'r',
2922
+ '\u0213': 'r',
2923
+ '\u1E5B': 'r',
2924
+ '\u1E5D': 'r',
2925
+ '\u0157': 'r',
2926
+ '\u1E5F': 'r',
2927
+ '\u024D': 'r',
2928
+ '\u027D': 'r',
2929
+ '\uA75B': 'r',
2930
+ '\uA7A7': 'r',
2931
+ '\uA783': 'r',
2932
+ '\u24E2': 's',
2933
+ '\uFF53': 's',
2934
+ '\u00DF': 's',
2935
+ '\u015B': 's',
2936
+ '\u1E65': 's',
2937
+ '\u015D': 's',
2938
+ '\u1E61': 's',
2939
+ '\u0161': 's',
2940
+ '\u1E67': 's',
2941
+ '\u1E63': 's',
2942
+ '\u1E69': 's',
2943
+ '\u0219': 's',
2944
+ '\u015F': 's',
2945
+ '\u023F': 's',
2946
+ '\uA7A9': 's',
2947
+ '\uA785': 's',
2948
+ '\u1E9B': 's',
2949
+ '\u24E3': 't',
2950
+ '\uFF54': 't',
2951
+ '\u1E6B': 't',
2952
+ '\u1E97': 't',
2953
+ '\u0165': 't',
2954
+ '\u1E6D': 't',
2955
+ '\u021B': 't',
2956
+ '\u0163': 't',
2957
+ '\u1E71': 't',
2958
+ '\u1E6F': 't',
2959
+ '\u0167': 't',
2960
+ '\u01AD': 't',
2961
+ '\u0288': 't',
2962
+ '\u2C66': 't',
2963
+ '\uA787': 't',
2964
+ '\uA729': 'tz',
2965
+ '\u24E4': 'u',
2966
+ '\uFF55': 'u',
2967
+ '\u00F9': 'u',
2968
+ '\u00FA': 'u',
2969
+ '\u00FB': 'u',
2970
+ '\u0169': 'u',
2971
+ '\u1E79': 'u',
2972
+ '\u016B': 'u',
2973
+ '\u1E7B': 'u',
2974
+ '\u016D': 'u',
2975
+ '\u00FC': 'u',
2976
+ '\u01DC': 'u',
2977
+ '\u01D8': 'u',
2978
+ '\u01D6': 'u',
2979
+ '\u01DA': 'u',
2980
+ '\u1EE7': 'u',
2981
+ '\u016F': 'u',
2982
+ '\u0171': 'u',
2983
+ '\u01D4': 'u',
2984
+ '\u0215': 'u',
2985
+ '\u0217': 'u',
2986
+ '\u01B0': 'u',
2987
+ '\u1EEB': 'u',
2988
+ '\u1EE9': 'u',
2989
+ '\u1EEF': 'u',
2990
+ '\u1EED': 'u',
2991
+ '\u1EF1': 'u',
2992
+ '\u1EE5': 'u',
2993
+ '\u1E73': 'u',
2994
+ '\u0173': 'u',
2995
+ '\u1E77': 'u',
2996
+ '\u1E75': 'u',
2997
+ '\u0289': 'u',
2998
+ '\u24E5': 'v',
2999
+ '\uFF56': 'v',
3000
+ '\u1E7D': 'v',
3001
+ '\u1E7F': 'v',
3002
+ '\u028B': 'v',
3003
+ '\uA75F': 'v',
3004
+ '\u028C': 'v',
3005
+ '\uA761': 'vy',
3006
+ '\u24E6': 'w',
3007
+ '\uFF57': 'w',
3008
+ '\u1E81': 'w',
3009
+ '\u1E83': 'w',
3010
+ '\u0175': 'w',
3011
+ '\u1E87': 'w',
3012
+ '\u1E85': 'w',
3013
+ '\u1E98': 'w',
3014
+ '\u1E89': 'w',
3015
+ '\u2C73': 'w',
3016
+ '\u24E7': 'x',
3017
+ '\uFF58': 'x',
3018
+ '\u1E8B': 'x',
3019
+ '\u1E8D': 'x',
3020
+ '\u24E8': 'y',
3021
+ '\uFF59': 'y',
3022
+ '\u1EF3': 'y',
3023
+ '\u00FD': 'y',
3024
+ '\u0177': 'y',
3025
+ '\u1EF9': 'y',
3026
+ '\u0233': 'y',
3027
+ '\u1E8F': 'y',
3028
+ '\u00FF': 'y',
3029
+ '\u1EF7': 'y',
3030
+ '\u1E99': 'y',
3031
+ '\u1EF5': 'y',
3032
+ '\u01B4': 'y',
3033
+ '\u024F': 'y',
3034
+ '\u1EFF': 'y',
3035
+ '\u24E9': 'z',
3036
+ '\uFF5A': 'z',
3037
+ '\u017A': 'z',
3038
+ '\u1E91': 'z',
3039
+ '\u017C': 'z',
3040
+ '\u017E': 'z',
3041
+ '\u1E93': 'z',
3042
+ '\u1E95': 'z',
3043
+ '\u01B6': 'z',
3044
+ '\u0225': 'z',
3045
+ '\u0240': 'z',
3046
+ '\u2C6C': 'z',
3047
+ '\uA763': 'z',
3048
+ '\u0386': '\u0391',
3049
+ '\u0388': '\u0395',
3050
+ '\u0389': '\u0397',
3051
+ '\u038A': '\u0399',
3052
+ '\u03AA': '\u0399',
3053
+ '\u038C': '\u039F',
3054
+ '\u038E': '\u03A5',
3055
+ '\u03AB': '\u03A5',
3056
+ '\u038F': '\u03A9',
3057
+ '\u03AC': '\u03B1',
3058
+ '\u03AD': '\u03B5',
3059
+ '\u03AE': '\u03B7',
3060
+ '\u03AF': '\u03B9',
3061
+ '\u03CA': '\u03B9',
3062
+ '\u0390': '\u03B9',
3063
+ '\u03CC': '\u03BF',
3064
+ '\u03CD': '\u03C5',
3065
+ '\u03CB': '\u03C5',
3066
+ '\u03B0': '\u03C5',
3067
+ '\u03C9': '\u03C9',
3068
+ '\u03C2': '\u03C3'
3069
+ };
3070
+
3071
+ return diacritics;
3072
+ });
3073
+
3074
+ S2.define('select2/data/base',[
3075
+ '../utils'
3076
+ ], function (Utils) {
3077
+ function BaseAdapter ($element, options) {
3078
+ BaseAdapter.__super__.constructor.call(this);
3079
+ }
3080
+
3081
+ Utils.Extend(BaseAdapter, Utils.Observable);
3082
+
3083
+ BaseAdapter.prototype.current = function (callback) {
3084
+ throw new Error('The `current` method must be defined in child classes.');
3085
+ };
3086
+
3087
+ BaseAdapter.prototype.query = function (params, callback) {
3088
+ throw new Error('The `query` method must be defined in child classes.');
3089
+ };
3090
+
3091
+ BaseAdapter.prototype.bind = function (container, $container) {
3092
+ // Can be implemented in subclasses
3093
+ };
3094
+
3095
+ BaseAdapter.prototype.destroy = function () {
3096
+ // Can be implemented in subclasses
3097
+ };
3098
+
3099
+ BaseAdapter.prototype.generateResultId = function (container, data) {
3100
+ var id = '';
3101
+
3102
+ if (container != null) {
3103
+ id += container.id
3104
+ } else {
3105
+ id += Utils.generateChars(4);
3106
+ }
3107
+
3108
+ id += '-result-';
3109
+ id += Utils.generateChars(4);
3110
+
3111
+ if (data.id != null) {
3112
+ id += '-' + data.id.toString();
3113
+ } else {
3114
+ id += '-' + Utils.generateChars(4);
3115
+ }
3116
+ return id;
3117
+ };
3118
+
3119
+ return BaseAdapter;
3120
+ });
3121
+
3122
+ S2.define('select2/data/select',[
3123
+ './base',
3124
+ '../utils',
3125
+ 'jquery'
3126
+ ], function (BaseAdapter, Utils, $) {
3127
+ function SelectAdapter ($element, options) {
3128
+ this.$element = $element;
3129
+ this.options = options;
3130
+
3131
+ SelectAdapter.__super__.constructor.call(this);
3132
+ }
3133
+
3134
+ Utils.Extend(SelectAdapter, BaseAdapter);
3135
+
3136
+ SelectAdapter.prototype.current = function (callback) {
3137
+ var data = [];
3138
+ var self = this;
3139
+
3140
+ this.$element.find(':selected').each(function () {
3141
+ var $option = $(this);
3142
+
3143
+ var option = self.item($option);
3144
+
3145
+ data.push(option);
3146
+ });
3147
+
3148
+ callback(data);
3149
+ };
3150
+
3151
+ SelectAdapter.prototype.select = function (data) {
3152
+ var self = this;
3153
+
3154
+ data.selected = true;
3155
+
3156
+ // If data.element is a DOM node, use it instead
3157
+ if ($(data.element).is('option')) {
3158
+ data.element.selected = true;
3159
+
3160
+ this.$element.trigger('change');
3161
+
3162
+ return;
3163
+ }
3164
+
3165
+ if (this.$element.prop('multiple')) {
3166
+ this.current(function (currentData) {
3167
+ var val = [];
3168
+
3169
+ data = [data];
3170
+ data.push.apply(data, currentData);
3171
+
3172
+ for (var d = 0; d < data.length; d++) {
3173
+ var id = data[d].id;
3174
+
3175
+ if ($.inArray(id, val) === -1) {
3176
+ val.push(id);
3177
+ }
3178
+ }
3179
+
3180
+ self.$element.val(val);
3181
+ self.$element.trigger('change');
3182
+ });
3183
+ } else {
3184
+ var val = data.id;
3185
+
3186
+ this.$element.val(val);
3187
+ this.$element.trigger('change');
3188
+ }
3189
+ };
3190
+
3191
+ SelectAdapter.prototype.unselect = function (data) {
3192
+ var self = this;
3193
+
3194
+ if (!this.$element.prop('multiple')) {
3195
+ return;
3196
+ }
3197
+
3198
+ data.selected = false;
3199
+
3200
+ if ($(data.element).is('option')) {
3201
+ data.element.selected = false;
3202
+
3203
+ this.$element.trigger('change');
3204
+
3205
+ return;
3206
+ }
3207
+
3208
+ this.current(function (currentData) {
3209
+ var val = [];
3210
+
3211
+ for (var d = 0; d < currentData.length; d++) {
3212
+ var id = currentData[d].id;
3213
+
3214
+ if (id !== data.id && $.inArray(id, val) === -1) {
3215
+ val.push(id);
3216
+ }
3217
+ }
3218
+
3219
+ self.$element.val(val);
3220
+
3221
+ self.$element.trigger('change');
3222
+ });
3223
+ };
3224
+
3225
+ SelectAdapter.prototype.bind = function (container, $container) {
3226
+ var self = this;
3227
+
3228
+ this.container = container;
3229
+
3230
+ container.on('select', function (params) {
3231
+ self.select(params.data);
3232
+ });
3233
+
3234
+ container.on('unselect', function (params) {
3235
+ self.unselect(params.data);
3236
+ });
3237
+ };
3238
+
3239
+ SelectAdapter.prototype.destroy = function () {
3240
+ // Remove anything added to child elements
3241
+ this.$element.find('*').each(function () {
3242
+ // Remove any custom data set by Select2
3243
+ $.removeData(this, 'data');
3244
+ });
3245
+ };
3246
+
3247
+ SelectAdapter.prototype.query = function (params, callback) {
3248
+ var data = [];
3249
+ var self = this;
3250
+
3251
+ var $options = this.$element.children();
3252
+
3253
+ $options.each(function () {
3254
+ var $option = $(this);
3255
+
3256
+ if (!$option.is('option') && !$option.is('optgroup')) {
3257
+ return;
3258
+ }
3259
+
3260
+ var option = self.item($option);
3261
+
3262
+ var matches = self.matches(params, option);
3263
+
3264
+ if (matches !== null) {
3265
+ data.push(matches);
3266
+ }
3267
+ });
3268
+
3269
+ callback({
3270
+ results: data
3271
+ });
3272
+ };
3273
+
3274
+ SelectAdapter.prototype.addOptions = function ($options) {
3275
+ Utils.appendMany(this.$element, $options);
3276
+ };
3277
+
3278
+ SelectAdapter.prototype.option = function (data) {
3279
+ var option;
3280
+
3281
+ if (data.children) {
3282
+ option = document.createElement('optgroup');
3283
+ option.label = data.text;
3284
+ } else {
3285
+ option = document.createElement('option');
3286
+
3287
+ if (option.textContent !== undefined) {
3288
+ option.textContent = data.text;
3289
+ } else {
3290
+ option.innerText = data.text;
3291
+ }
3292
+ }
3293
+
3294
+ if (data.id !== undefined) {
3295
+ option.value = data.id;
3296
+ }
3297
+
3298
+ if (data.disabled) {
3299
+ option.disabled = true;
3300
+ }
3301
+
3302
+ if (data.selected) {
3303
+ option.selected = true;
3304
+ }
3305
+
3306
+ if (data.title) {
3307
+ option.title = data.title;
3308
+ }
3309
+
3310
+ var $option = $(option);
3311
+
3312
+ var normalizedData = this._normalizeItem(data);
3313
+ normalizedData.element = option;
3314
+
3315
+ // Override the option's data with the combined data
3316
+ $.data(option, 'data', normalizedData);
3317
+
3318
+ return $option;
3319
+ };
3320
+
3321
+ SelectAdapter.prototype.item = function ($option) {
3322
+ var data = {};
3323
+
3324
+ data = $.data($option[0], 'data');
3325
+
3326
+ if (data != null) {
3327
+ return data;
3328
+ }
3329
+
3330
+ if ($option.is('option')) {
3331
+ data = {
3332
+ id: $option.val(),
3333
+ text: $option.text(),
3334
+ disabled: $option.prop('disabled'),
3335
+ selected: $option.prop('selected'),
3336
+ title: $option.prop('title')
3337
+ };
3338
+ } else if ($option.is('optgroup')) {
3339
+ data = {
3340
+ text: $option.prop('label'),
3341
+ children: [],
3342
+ title: $option.prop('title')
3343
+ };
3344
+
3345
+ var $children = $option.children('option');
3346
+ var children = [];
3347
+
3348
+ for (var c = 0; c < $children.length; c++) {
3349
+ var $child = $($children[c]);
3350
+
3351
+ var child = this.item($child);
3352
+
3353
+ children.push(child);
3354
+ }
3355
+
3356
+ data.children = children;
3357
+ }
3358
+
3359
+ data = this._normalizeItem(data);
3360
+ data.element = $option[0];
3361
+
3362
+ $.data($option[0], 'data', data);
3363
+
3364
+ return data;
3365
+ };
3366
+
3367
+ SelectAdapter.prototype._normalizeItem = function (item) {
3368
+ if (!$.isPlainObject(item)) {
3369
+ item = {
3370
+ id: item,
3371
+ text: item
3372
+ };
3373
+ }
3374
+
3375
+ item = $.extend({}, {
3376
+ text: ''
3377
+ }, item);
3378
+
3379
+ var defaults = {
3380
+ selected: false,
3381
+ disabled: false
3382
+ };
3383
+
3384
+ if (item.id != null) {
3385
+ item.id = item.id.toString();
3386
+ }
3387
+
3388
+ if (item.text != null) {
3389
+ item.text = item.text.toString();
3390
+ }
3391
+
3392
+ if (item._resultId == null && item.id) {
3393
+ item._resultId = this.generateResultId(this.container, item);
3394
+ }
3395
+
3396
+ return $.extend({}, defaults, item);
3397
+ };
3398
+
3399
+ SelectAdapter.prototype.matches = function (params, data) {
3400
+ var matcher = this.options.get('matcher');
3401
+
3402
+ return matcher(params, data);
3403
+ };
3404
+
3405
+ return SelectAdapter;
3406
+ });
3407
+
3408
+ S2.define('select2/data/array',[
3409
+ './select',
3410
+ '../utils',
3411
+ 'jquery'
3412
+ ], function (SelectAdapter, Utils, $) {
3413
+ function ArrayAdapter ($element, options) {
3414
+ var data = options.get('data') || [];
3415
+
3416
+ ArrayAdapter.__super__.constructor.call(this, $element, options);
3417
+
3418
+ this.addOptions(this.convertToOptions(data));
3419
+ }
3420
+
3421
+ Utils.Extend(ArrayAdapter, SelectAdapter);
3422
+
3423
+ ArrayAdapter.prototype.select = function (data) {
3424
+ var $option = this.$element.find('option').filter(function (i, elm) {
3425
+ return elm.value == data.id.toString();
3426
+ });
3427
+
3428
+ if ($option.length === 0) {
3429
+ $option = this.option(data);
3430
+
3431
+ this.addOptions($option);
3432
+ }
3433
+
3434
+ ArrayAdapter.__super__.select.call(this, data);
3435
+ };
3436
+
3437
+ ArrayAdapter.prototype.convertToOptions = function (data) {
3438
+ var self = this;
3439
+
3440
+ var $existing = this.$element.find('option');
3441
+ var existingIds = $existing.map(function () {
3442
+ return self.item($(this)).id;
3443
+ }).get();
3444
+
3445
+ var $options = [];
3446
+
3447
+ // Filter out all items except for the one passed in the argument
3448
+ function onlyItem (item) {
3449
+ return function () {
3450
+ return $(this).val() == item.id;
3451
+ };
3452
+ }
3453
+
3454
+ for (var d = 0; d < data.length; d++) {
3455
+ var item = this._normalizeItem(data[d]);
3456
+
3457
+ // Skip items which were pre-loaded, only merge the data
3458
+ if ($.inArray(item.id, existingIds) >= 0) {
3459
+ var $existingOption = $existing.filter(onlyItem(item));
3460
+
3461
+ var existingData = this.item($existingOption);
3462
+ var newData = $.extend(true, {}, item, existingData);
3463
+
3464
+ var $newOption = this.option(newData);
3465
+
3466
+ $existingOption.replaceWith($newOption);
3467
+
3468
+ continue;
3469
+ }
3470
+
3471
+ var $option = this.option(item);
3472
+
3473
+ if (item.children) {
3474
+ var $children = this.convertToOptions(item.children);
3475
+
3476
+ Utils.appendMany($option, $children);
3477
+ }
3478
+
3479
+ $options.push($option);
3480
+ }
3481
+
3482
+ return $options;
3483
+ };
3484
+
3485
+ return ArrayAdapter;
3486
+ });
3487
+
3488
+ S2.define('select2/data/ajax',[
3489
+ './array',
3490
+ '../utils',
3491
+ 'jquery'
3492
+ ], function (ArrayAdapter, Utils, $) {
3493
+ function AjaxAdapter ($element, options) {
3494
+ this.ajaxOptions = this._applyDefaults(options.get('ajax'));
3495
+
3496
+ if (this.ajaxOptions.processResults != null) {
3497
+ this.processResults = this.ajaxOptions.processResults;
3498
+ }
3499
+
3500
+ AjaxAdapter.__super__.constructor.call(this, $element, options);
3501
+ }
3502
+
3503
+ Utils.Extend(AjaxAdapter, ArrayAdapter);
3504
+
3505
+ AjaxAdapter.prototype._applyDefaults = function (options) {
3506
+ var defaults = {
3507
+ data: function (params) {
3508
+ return $.extend({}, params, {
3509
+ q: params.term
3510
+ });
3511
+ },
3512
+ transport: function (params, success, failure) {
3513
+ var $request = $.ajax(params);
3514
+
3515
+ $request.then(success);
3516
+ $request.fail(failure);
3517
+
3518
+ return $request;
3519
+ }
3520
+ };
3521
+
3522
+ return $.extend({}, defaults, options, true);
3523
+ };
3524
+
3525
+ AjaxAdapter.prototype.processResults = function (results) {
3526
+ return results;
3527
+ };
3528
+
3529
+ AjaxAdapter.prototype.query = function (params, callback) {
3530
+ var matches = [];
3531
+ var self = this;
3532
+
3533
+ if (this._request != null) {
3534
+ // JSONP requests cannot always be aborted
3535
+ if ($.isFunction(this._request.abort)) {
3536
+ this._request.abort();
3537
+ }
3538
+
3539
+ this._request = null;
3540
+ }
3541
+
3542
+ var options = $.extend({
3543
+ type: 'GET'
3544
+ }, this.ajaxOptions);
3545
+
3546
+ if (typeof options.url === 'function') {
3547
+ options.url = options.url.call(this.$element, params);
3548
+ }
3549
+
3550
+ if (typeof options.data === 'function') {
3551
+ options.data = options.data.call(this.$element, params);
3552
+ }
3553
+
3554
+ function request () {
3555
+ var $request = options.transport(options, function (data) {
3556
+ var results = self.processResults(data, params);
3557
+
3558
+ if (self.options.get('debug') && window.console && console.error) {
3559
+ // Check to make sure that the response included a `results` key.
3560
+ if (!results || !results.results || !$.isArray(results.results)) {
3561
+ console.error(
3562
+ 'Select2: The AJAX results did not return an array in the ' +
3563
+ '`results` key of the response.'
3564
+ );
3565
+ }
3566
+ }
3567
+
3568
+ callback(results);
3569
+ self.container.focusOnActiveElement();
3570
+ }, function () {
3571
+ // Attempt to detect if a request was aborted
3572
+ // Only works if the transport exposes a status property
3573
+ if ($request.status && $request.status === '0') {
3574
+ return;
3575
+ }
3576
+
3577
+ self.trigger('results:message', {
3578
+ message: 'errorLoading'
3579
+ });
3580
+ });
3581
+
3582
+ self._request = $request;
3583
+ }
3584
+
3585
+ if (this.ajaxOptions.delay && params.term != null) {
3586
+ if (this._queryTimeout) {
3587
+ window.clearTimeout(this._queryTimeout);
3588
+ }
3589
+
3590
+ this._queryTimeout = window.setTimeout(request, this.ajaxOptions.delay);
3591
+ } else {
3592
+ request();
3593
+ }
3594
+ };
3595
+
3596
+ return AjaxAdapter;
3597
+ });
3598
+
3599
+ S2.define('select2/data/tags',[
3600
+ 'jquery'
3601
+ ], function ($) {
3602
+ function Tags (decorated, $element, options) {
3603
+ var tags = options.get('tags');
3604
+
3605
+ var createTag = options.get('createTag');
3606
+
3607
+ if (createTag !== undefined) {
3608
+ this.createTag = createTag;
3609
+ }
3610
+
3611
+ var insertTag = options.get('insertTag');
3612
+
3613
+ if (insertTag !== undefined) {
3614
+ this.insertTag = insertTag;
3615
+ }
3616
+
3617
+ decorated.call(this, $element, options);
3618
+
3619
+ if ($.isArray(tags)) {
3620
+ for (var t = 0; t < tags.length; t++) {
3621
+ var tag = tags[t];
3622
+ var item = this._normalizeItem(tag);
3623
+
3624
+ var $option = this.option(item);
3625
+
3626
+ this.$element.append($option);
3627
+ }
3628
+ }
3629
+ }
3630
+
3631
+ Tags.prototype.query = function (decorated, params, callback) {
3632
+ var self = this;
3633
+
3634
+ this._removeOldTags();
3635
+
3636
+ if (params.term == null || params.page != null) {
3637
+ decorated.call(this, params, callback);
3638
+ return;
3639
+ }
3640
+
3641
+ function wrapper (obj, child) {
3642
+ var data = obj.results;
3643
+
3644
+ for (var i = 0; i < data.length; i++) {
3645
+ var option = data[i];
3646
+
3647
+ var checkChildren = (
3648
+ option.children != null &&
3649
+ !wrapper({
3650
+ results: option.children
3651
+ }, true)
3652
+ );
3653
+
3654
+ var optionText = (option.text || '').toUpperCase();
3655
+ var paramsTerm = (params.term || '').toUpperCase();
3656
+
3657
+ var checkText = optionText === paramsTerm;
3658
+
3659
+ if (checkText || checkChildren) {
3660
+ if (child) {
3661
+ return false;
3662
+ }
3663
+
3664
+ obj.data = data;
3665
+ callback(obj);
3666
+
3667
+ return;
3668
+ }
3669
+ }
3670
+
3671
+ if (child) {
3672
+ return true;
3673
+ }
3674
+
3675
+ var tag = self.createTag(params);
3676
+
3677
+ if (tag != null) {
3678
+ var $option = self.option(tag);
3679
+ $option.attr('data-select2-tag', true);
3680
+
3681
+ self.addOptions([$option]);
3682
+
3683
+ self.insertTag(data, tag);
3684
+ }
3685
+
3686
+ obj.results = data;
3687
+
3688
+ callback(obj);
3689
+ }
3690
+
3691
+ decorated.call(this, params, wrapper);
3692
+ };
3693
+
3694
+ Tags.prototype.createTag = function (decorated, params) {
3695
+ var term = $.trim(params.term);
3696
+
3697
+ if (term === '') {
3698
+ return null;
3699
+ }
3700
+
3701
+ return {
3702
+ id: term,
3703
+ text: term
3704
+ };
3705
+ };
3706
+
3707
+ Tags.prototype.insertTag = function (_, data, tag) {
3708
+ data.unshift(tag);
3709
+ };
3710
+
3711
+ Tags.prototype._removeOldTags = function (_) {
3712
+ var tag = this._lastTag;
3713
+
3714
+ var $options = this.$element.find('option[data-select2-tag]');
3715
+
3716
+ $options.each(function () {
3717
+ if (this.selected) {
3718
+ return;
3719
+ }
3720
+
3721
+ $(this).remove();
3722
+ });
3723
+ };
3724
+
3725
+ return Tags;
3726
+ });
3727
+
3728
+ S2.define('select2/data/tokenizer',[
3729
+ 'jquery'
3730
+ ], function ($) {
3731
+ function Tokenizer (decorated, $element, options) {
3732
+ var tokenizer = options.get('tokenizer');
3733
+
3734
+ if (tokenizer !== undefined) {
3735
+ this.tokenizer = tokenizer;
3736
+ }
3737
+
3738
+ decorated.call(this, $element, options);
3739
+ }
3740
+
3741
+ Tokenizer.prototype.bind = function (decorated, container, $container) {
3742
+ decorated.call(this, container, $container);
3743
+
3744
+ this.$search = container.dropdown.$search || container.selection.$search ||
3745
+ $container.find('.select2-search__field');
3746
+ };
3747
+
3748
+ Tokenizer.prototype.query = function (decorated, params, callback) {
3749
+ var self = this;
3750
+
3751
+ function createAndSelect (data) {
3752
+ // Normalize the data object so we can use it for checks
3753
+ var item = self._normalizeItem(data);
3754
+
3755
+ // Check if the data object already exists as a tag
3756
+ // Select it if it doesn't
3757
+ var $existingOptions = self.$element.find('option').filter(function () {
3758
+ return $(this).val() === item.id;
3759
+ });
3760
+
3761
+ // If an existing option wasn't found for it, create the option
3762
+ if (!$existingOptions.length) {
3763
+ var $option = self.option(item);
3764
+ $option.attr('data-select2-tag', true);
3765
+
3766
+ self._removeOldTags();
3767
+ self.addOptions([$option]);
3768
+ }
3769
+
3770
+ // Select the item, now that we know there is an option for it
3771
+ select(item);
3772
+ }
3773
+
3774
+ function select (data) {
3775
+ self.trigger('select', {
3776
+ data: data
3777
+ });
3778
+ }
3779
+
3780
+ params.term = params.term || '';
3781
+
3782
+ var tokenData = this.tokenizer(params, this.options, createAndSelect);
3783
+
3784
+ if (tokenData.term !== params.term) {
3785
+ // Replace the search term if we have the search box
3786
+ if (this.$search.length) {
3787
+ this.$search.val(tokenData.term);
3788
+ this.$search.focus();
3789
+ }
3790
+
3791
+ params.term = tokenData.term;
3792
+ }
3793
+
3794
+ decorated.call(this, params, callback);
3795
+ };
3796
+
3797
+ Tokenizer.prototype.tokenizer = function (_, params, options, callback) {
3798
+ var separators = options.get('tokenSeparators') || [];
3799
+ var term = params.term;
3800
+ var i = 0;
3801
+
3802
+ var createTag = this.createTag || function (params) {
3803
+ return {
3804
+ id: params.term,
3805
+ text: params.term
3806
+ };
3807
+ };
3808
+
3809
+ while (i < term.length) {
3810
+ var termChar = term[i];
3811
+
3812
+ if ($.inArray(termChar, separators) === -1) {
3813
+ i++;
3814
+
3815
+ continue;
3816
+ }
3817
+
3818
+ var part = term.substr(0, i);
3819
+ var partParams = $.extend({}, params, {
3820
+ term: part
3821
+ });
3822
+
3823
+ var data = createTag(partParams);
3824
+
3825
+ if (data == null) {
3826
+ i++;
3827
+ continue;
3828
+ }
3829
+
3830
+ callback(data);
3831
+
3832
+ // Reset the term to not include the tokenized portion
3833
+ term = term.substr(i + 1) || '';
3834
+ i = 0;
3835
+ }
3836
+
3837
+ return {
3838
+ term: term
3839
+ };
3840
+ };
3841
+
3842
+ return Tokenizer;
3843
+ });
3844
+
3845
+ S2.define('select2/data/minimumInputLength',[
3846
+
3847
+ ], function () {
3848
+ function MinimumInputLength (decorated, $e, options) {
3849
+ this.minimumInputLength = options.get('minimumInputLength');
3850
+
3851
+ decorated.call(this, $e, options);
3852
+ }
3853
+
3854
+ MinimumInputLength.prototype.query = function (decorated, params, callback) {
3855
+ params.term = params.term || '';
3856
+
3857
+ if (params.term.length < this.minimumInputLength) {
3858
+ this.trigger('results:message', {
3859
+ message: 'inputTooShort',
3860
+ args: {
3861
+ minimum: this.minimumInputLength,
3862
+ input: params.term,
3863
+ params: params
3864
+ }
3865
+ });
3866
+
3867
+ return;
3868
+ }
3869
+
3870
+ decorated.call(this, params, callback);
3871
+ };
3872
+
3873
+ return MinimumInputLength;
3874
+ });
3875
+
3876
+ S2.define('select2/data/maximumInputLength',[
3877
+
3878
+ ], function () {
3879
+ function MaximumInputLength (decorated, $e, options) {
3880
+ this.maximumInputLength = options.get('maximumInputLength');
3881
+
3882
+ decorated.call(this, $e, options);
3883
+ }
3884
+
3885
+ MaximumInputLength.prototype.query = function (decorated, params, callback) {
3886
+ params.term = params.term || '';
3887
+
3888
+ if (this.maximumInputLength > 0 &&
3889
+ params.term.length > this.maximumInputLength) {
3890
+ this.trigger('results:message', {
3891
+ message: 'inputTooLong',
3892
+ args: {
3893
+ maximum: this.maximumInputLength,
3894
+ input: params.term,
3895
+ params: params
3896
+ }
3897
+ });
3898
+
3899
+ return;
3900
+ }
3901
+
3902
+ decorated.call(this, params, callback);
3903
+ };
3904
+
3905
+ return MaximumInputLength;
3906
+ });
3907
+
3908
+ S2.define('select2/data/maximumSelectionLength',[
3909
+
3910
+ ], function (){
3911
+ function MaximumSelectionLength (decorated, $e, options) {
3912
+ this.maximumSelectionLength = options.get('maximumSelectionLength');
3913
+
3914
+ decorated.call(this, $e, options);
3915
+ }
3916
+
3917
+ MaximumSelectionLength.prototype.query =
3918
+ function (decorated, params, callback) {
3919
+ var self = this;
3920
+
3921
+ this.current(function (currentData) {
3922
+ var count = currentData != null ? currentData.length : 0;
3923
+ if (self.maximumSelectionLength > 0 &&
3924
+ count >= self.maximumSelectionLength) {
3925
+ self.trigger('results:message', {
3926
+ message: 'maximumSelected',
3927
+ args: {
3928
+ maximum: self.maximumSelectionLength
3929
+ }
3930
+ });
3931
+ return;
3932
+ }
3933
+ decorated.call(self, params, callback);
3934
+ });
3935
+ };
3936
+
3937
+ return MaximumSelectionLength;
3938
+ });
3939
+
3940
+ S2.define('select2/dropdown',[
3941
+ 'jquery',
3942
+ './utils'
3943
+ ], function ($, Utils) {
3944
+ function Dropdown ($element, options) {
3945
+ this.$element = $element;
3946
+ this.options = options;
3947
+
3948
+ Dropdown.__super__.constructor.call(this);
3949
+ }
3950
+
3951
+ Utils.Extend(Dropdown, Utils.Observable);
3952
+
3953
+ Dropdown.prototype.render = function () {
3954
+ var $dropdown = $(
3955
+ '<span class="select2-dropdown">' +
3956
+ '<span class="select2-results"></span>' +
3957
+ '</span>'
3958
+ );
3959
+
3960
+ $dropdown.attr('dir', this.options.get('dir'));
3961
+
3962
+ this.$dropdown = $dropdown;
3963
+
3964
+ return $dropdown;
3965
+ };
3966
+
3967
+ Dropdown.prototype.bind = function () {
3968
+ // Should be implemented in subclasses
3969
+ };
3970
+
3971
+ Dropdown.prototype.position = function ($dropdown, $container) {
3972
+ // Should be implmented in subclasses
3973
+ };
3974
+
3975
+ Dropdown.prototype.destroy = function () {
3976
+ // Remove the dropdown from the DOM
3977
+ this.$dropdown.remove();
3978
+ };
3979
+
3980
+ return Dropdown;
3981
+ });
3982
+
3983
+ S2.define('select2/dropdown/search',[
3984
+ 'jquery',
3985
+ '../utils'
3986
+ ], function ($, Utils) {
3987
+ function Search () { }
3988
+
3989
+ Search.prototype.render = function (decorated) {
3990
+ var $rendered = decorated.call(this);
3991
+
3992
+ var $search = $(
3993
+ '<span class="select2-search select2-search--dropdown">' +
3994
+ '<input class="select2-search__field" type="text" tabindex="-1"' +
3995
+ ' autocomplete="off" autocorrect="off" autocapitalize="off"' +
3996
+ ' spellcheck="false" role="combobox" aria-autocomplete="list" aria-expanded="true" />' +
3997
+ '</span>'
3998
+ );
3999
+
4000
+ this.$searchContainer = $search;
4001
+ this.$search = $search.find('input');
4002
+
4003
+ $rendered.prepend($search);
4004
+
4005
+ return $rendered;
4006
+ };
4007
+
4008
+ Search.prototype.bind = function (decorated, container, $container) {
4009
+ var self = this;
4010
+ var resultsId = container.id + '-results';
4011
+
4012
+ decorated.call(this, container, $container);
4013
+
4014
+ this.$search.on('keydown', function (evt) {
4015
+ self.trigger('keypress', evt);
4016
+
4017
+ self._keyUpPrevented = evt.isDefaultPrevented();
4018
+ });
4019
+
4020
+ // Workaround for browsers which do not support the `input` event
4021
+ // This will prevent double-triggering of events for browsers which support
4022
+ // both the `keyup` and `input` events.
4023
+ this.$search.on('input', function (evt) {
4024
+ // Unbind the duplicated `keyup` event
4025
+ $(this).off('keyup');
4026
+ });
4027
+
4028
+ this.$search.on('keyup input', function (evt) {
4029
+ self.handleSearch(evt);
4030
+ });
4031
+
4032
+ container.on('open', function () {
4033
+ self.$search.attr('tabindex', 0);
4034
+ self.$search.attr('aria-owns', resultsId);
4035
+ self.$search.focus();
4036
+
4037
+ window.setTimeout(function () {
4038
+ self.$search.focus();
4039
+ }, 0);
4040
+ });
4041
+
4042
+ container.on('close', function () {
4043
+ self.$search.attr('tabindex', -1);
4044
+ self.$search.removeAttr('aria-activedescendant');
4045
+ self.$search.removeAttr('aria-owns');
4046
+ self.$search.val('');
4047
+ });
4048
+
4049
+ container.on('focus', function () {
4050
+ if (container.isOpen()) {
4051
+ self.$search.focus();
4052
+ }
4053
+ });
4054
+
4055
+ container.on('results:all', function (params) {
4056
+ if (params.query.term == null || params.query.term === '') {
4057
+ var showSearch = self.showSearch(params);
4058
+
4059
+ if (showSearch) {
4060
+ self.$searchContainer.removeClass('select2-search--hide');
4061
+ } else {
4062
+ self.$searchContainer.addClass('select2-search--hide');
4063
+ }
4064
+ }
4065
+ });
4066
+
4067
+ container.on('results:focus', function (params) {
4068
+ self.$search.attr('aria-activedescendant', params.data._resultId);
4069
+ });
4070
+ };
4071
+
4072
+ Search.prototype.handleSearch = function (evt) {
4073
+ if (!this._keyUpPrevented) {
4074
+ var input = this.$search.val();
4075
+
4076
+ this.trigger('query', {
4077
+ term: input
4078
+ });
4079
+ }
4080
+
4081
+ this._keyUpPrevented = false;
4082
+ };
4083
+
4084
+ Search.prototype.showSearch = function (_, params) {
4085
+ return true;
4086
+ };
4087
+
4088
+ return Search;
4089
+ });
4090
+
4091
+ S2.define('select2/dropdown/hidePlaceholder',[
4092
+
4093
+ ], function () {
4094
+ function HidePlaceholder (decorated, $element, options, dataAdapter) {
4095
+ this.placeholder = this.normalizePlaceholder(options.get('placeholder'));
4096
+
4097
+ decorated.call(this, $element, options, dataAdapter);
4098
+ }
4099
+
4100
+ HidePlaceholder.prototype.append = function (decorated, data) {
4101
+ data.results = this.removePlaceholder(data.results);
4102
+
4103
+ decorated.call(this, data);
4104
+ };
4105
+
4106
+ HidePlaceholder.prototype.normalizePlaceholder = function (_, placeholder) {
4107
+ if (typeof placeholder === 'string') {
4108
+ placeholder = {
4109
+ id: '',
4110
+ text: placeholder
4111
+ };
4112
+ }
4113
+
4114
+ return placeholder;
4115
+ };
4116
+
4117
+ HidePlaceholder.prototype.removePlaceholder = function (_, data) {
4118
+ var modifiedData = data.slice(0);
4119
+
4120
+ for (var d = data.length - 1; d >= 0; d--) {
4121
+ var item = data[d];
4122
+
4123
+ if (this.placeholder.id === item.id) {
4124
+ modifiedData.splice(d, 1);
4125
+ }
4126
+ }
4127
+
4128
+ return modifiedData;
4129
+ };
4130
+
4131
+ return HidePlaceholder;
4132
+ });
4133
+
4134
+ S2.define('select2/dropdown/infiniteScroll',[
4135
+ 'jquery'
4136
+ ], function ($) {
4137
+ function InfiniteScroll (decorated, $element, options, dataAdapter) {
4138
+ this.lastParams = {};
4139
+
4140
+ decorated.call(this, $element, options, dataAdapter);
4141
+
4142
+ this.$loadingMore = this.createLoadingMore();
4143
+ this.loading = false;
4144
+ }
4145
+
4146
+ InfiniteScroll.prototype.append = function (decorated, data) {
4147
+ this.$loadingMore.remove();
4148
+ this.loading = false;
4149
+
4150
+ decorated.call(this, data);
4151
+
4152
+ if (this.showLoadingMore(data)) {
4153
+ this.$results.append(this.$loadingMore);
4154
+ }
4155
+ };
4156
+
4157
+ InfiniteScroll.prototype.bind = function (decorated, container, $container) {
4158
+ var self = this;
4159
+
4160
+ decorated.call(this, container, $container);
4161
+
4162
+ container.on('query', function (params) {
4163
+ self.lastParams = params;
4164
+ self.loading = true;
4165
+ });
4166
+
4167
+ container.on('query:append', function (params) {
4168
+ self.lastParams = params;
4169
+ self.loading = true;
4170
+ });
4171
+
4172
+ this.$results.on('scroll', function () {
4173
+ var isLoadMoreVisible = $.contains(
4174
+ document.documentElement,
4175
+ self.$loadingMore[0]
4176
+ );
4177
+
4178
+ if (self.loading || !isLoadMoreVisible) {
4179
+ return;
4180
+ }
4181
+
4182
+ var currentOffset = self.$results.offset().top +
4183
+ self.$results.outerHeight(false);
4184
+ var loadingMoreOffset = self.$loadingMore.offset().top +
4185
+ self.$loadingMore.outerHeight(false);
4186
+
4187
+ if (currentOffset + 50 >= loadingMoreOffset) {
4188
+ self.loadMore();
4189
+ }
4190
+ });
4191
+ };
4192
+
4193
+ InfiniteScroll.prototype.loadMore = function () {
4194
+ this.loading = true;
4195
+
4196
+ var params = $.extend({}, {page: 1}, this.lastParams);
4197
+
4198
+ params.page++;
4199
+
4200
+ this.trigger('query:append', params);
4201
+ };
4202
+
4203
+ InfiniteScroll.prototype.showLoadingMore = function (_, data) {
4204
+ return data.pagination && data.pagination.more;
4205
+ };
4206
+
4207
+ InfiniteScroll.prototype.createLoadingMore = function () {
4208
+ var $option = $(
4209
+ '<li ' +
4210
+ 'class="select2-results__option select2-results__option--load-more"' +
4211
+ 'role="option" aria-disabled="true"></li>'
4212
+ );
4213
+
4214
+ var message = this.options.get('translations').get('loadingMore');
4215
+
4216
+ $option.html(message(this.lastParams));
4217
+
4218
+ return $option;
4219
+ };
4220
+
4221
+ return InfiniteScroll;
4222
+ });
4223
+
4224
+ S2.define('select2/dropdown/attachBody',[
4225
+ 'jquery',
4226
+ '../utils'
4227
+ ], function ($, Utils) {
4228
+ function AttachBody (decorated, $element, options) {
4229
+ this.$dropdownParent = options.get('dropdownParent') || $(document.body);
4230
+
4231
+ decorated.call(this, $element, options);
4232
+ }
4233
+
4234
+ AttachBody.prototype.bind = function (decorated, container, $container) {
4235
+ var self = this;
4236
+
4237
+ var setupResultsEvents = false;
4238
+
4239
+ decorated.call(this, container, $container);
4240
+
4241
+ container.on('open', function () {
4242
+ self._showDropdown();
4243
+ self._attachPositioningHandler(container);
4244
+
4245
+ if (!setupResultsEvents) {
4246
+ setupResultsEvents = true;
4247
+
4248
+ container.on('results:all', function () {
4249
+ self._positionDropdown();
4250
+ self._resizeDropdown();
4251
+ });
4252
+
4253
+ container.on('results:append', function () {
4254
+ self._positionDropdown();
4255
+ self._resizeDropdown();
4256
+ });
4257
+ }
4258
+ });
4259
+
4260
+ container.on('close', function () {
4261
+ self._hideDropdown();
4262
+ self._detachPositioningHandler(container);
4263
+ });
4264
+
4265
+ this.$dropdownContainer.on('mousedown', function (evt) {
4266
+ evt.stopPropagation();
4267
+ });
4268
+ };
4269
+
4270
+ AttachBody.prototype.destroy = function (decorated) {
4271
+ decorated.call(this);
4272
+
4273
+ this.$dropdownContainer.remove();
4274
+ };
4275
+
4276
+ AttachBody.prototype.position = function (decorated, $dropdown, $container) {
4277
+ // Clone all of the container classes
4278
+ $dropdown.attr('class', $container.attr('class'));
4279
+
4280
+ $dropdown.removeClass('select2');
4281
+ $dropdown.addClass('select2-container--open');
4282
+
4283
+ $dropdown.css({
4284
+ position: 'absolute',
4285
+ top: -999999
4286
+ });
4287
+
4288
+ this.$container = $container;
4289
+ };
4290
+
4291
+ AttachBody.prototype.render = function (decorated) {
4292
+ var $container = $('<span></span>');
4293
+
4294
+ var $dropdown = decorated.call(this);
4295
+ $container.append($dropdown);
4296
+
4297
+ this.$dropdownContainer = $container;
4298
+
4299
+ return $container;
4300
+ };
4301
+
4302
+ AttachBody.prototype._hideDropdown = function (decorated) {
4303
+ this.$dropdownContainer.detach();
4304
+ };
4305
+
4306
+ AttachBody.prototype._attachPositioningHandler =
4307
+ function (decorated, container) {
4308
+ var self = this;
4309
+
4310
+ var scrollEvent = 'scroll.select2.' + container.id;
4311
+ var resizeEvent = 'resize.select2.' + container.id;
4312
+ var orientationEvent = 'orientationchange.select2.' + container.id;
4313
+
4314
+ var $watchers = this.$container.parents().filter(Utils.hasScroll);
4315
+ $watchers.each(function () {
4316
+ $(this).data('select2-scroll-position', {
4317
+ x: $(this).scrollLeft(),
4318
+ y: $(this).scrollTop()
4319
+ });
4320
+ });
4321
+
4322
+ $watchers.on(scrollEvent, function (ev) {
4323
+ var position = $(this).data('select2-scroll-position');
4324
+ $(this).scrollTop(position.y);
4325
+ });
4326
+
4327
+ $(window).on(scrollEvent + ' ' + resizeEvent + ' ' + orientationEvent,
4328
+ function (e) {
4329
+ self._positionDropdown();
4330
+ self._resizeDropdown();
4331
+ });
4332
+ };
4333
+
4334
+ AttachBody.prototype._detachPositioningHandler =
4335
+ function (decorated, container) {
4336
+ var scrollEvent = 'scroll.select2.' + container.id;
4337
+ var resizeEvent = 'resize.select2.' + container.id;
4338
+ var orientationEvent = 'orientationchange.select2.' + container.id;
4339
+
4340
+ var $watchers = this.$container.parents().filter(Utils.hasScroll);
4341
+ $watchers.off(scrollEvent);
4342
+
4343
+ $(window).off(scrollEvent + ' ' + resizeEvent + ' ' + orientationEvent);
4344
+ };
4345
+
4346
+ AttachBody.prototype._positionDropdown = function () {
4347
+ var $window = $(window);
4348
+
4349
+ var isCurrentlyAbove = this.$dropdown.hasClass('select2-dropdown--above');
4350
+ var isCurrentlyBelow = this.$dropdown.hasClass('select2-dropdown--below');
4351
+
4352
+ var newDirection = null;
4353
+
4354
+ var offset = this.$container.offset();
4355
+
4356
+ offset.bottom = offset.top + this.$container.outerHeight(false);
4357
+
4358
+ var container = {
4359
+ height: this.$container.outerHeight(false)
4360
+ };
4361
+
4362
+ container.top = offset.top;
4363
+ container.bottom = offset.top + container.height;
4364
+
4365
+ var dropdown = {
4366
+ height: this.$dropdown.outerHeight(false)
4367
+ };
4368
+
4369
+ var viewport = {
4370
+ top: $window.scrollTop(),
4371
+ bottom: $window.scrollTop() + $window.height()
4372
+ };
4373
+
4374
+ var enoughRoomAbove = viewport.top < (offset.top - dropdown.height);
4375
+ var enoughRoomBelow = viewport.bottom > (offset.bottom + dropdown.height);
4376
+
4377
+ var css = {
4378
+ left: offset.left,
4379
+ top: container.bottom
4380
+ };
4381
+
4382
+ // Determine what the parent element is to use for calciulating the offset
4383
+ var $offsetParent = this.$dropdownParent;
4384
+
4385
+ // For statically positoned elements, we need to get the element
4386
+ // that is determining the offset
4387
+ if ($offsetParent.css('position') === 'static') {
4388
+ $offsetParent = $offsetParent.offsetParent();
4389
+ }
4390
+
4391
+ var parentOffset = $offsetParent.offset();
4392
+
4393
+ css.top -= parentOffset.top;
4394
+ css.left -= parentOffset.left;
4395
+
4396
+ if (!isCurrentlyAbove && !isCurrentlyBelow) {
4397
+ newDirection = 'below';
4398
+ }
4399
+
4400
+ if (!enoughRoomBelow && enoughRoomAbove && !isCurrentlyAbove) {
4401
+ newDirection = 'above';
4402
+ } else if (!enoughRoomAbove && enoughRoomBelow && isCurrentlyAbove) {
4403
+ newDirection = 'below';
4404
+ }
4405
+
4406
+ if (newDirection == 'above' ||
4407
+ (isCurrentlyAbove && newDirection !== 'below')) {
4408
+ css.top = container.top - parentOffset.top - dropdown.height;
4409
+ }
4410
+
4411
+ if (newDirection != null) {
4412
+ this.$dropdown
4413
+ .removeClass('select2-dropdown--below select2-dropdown--above')
4414
+ .addClass('select2-dropdown--' + newDirection);
4415
+ this.$container
4416
+ .removeClass('select2-container--below select2-container--above')
4417
+ .addClass('select2-container--' + newDirection);
4418
+ }
4419
+
4420
+ this.$dropdownContainer.css(css);
4421
+ };
4422
+
4423
+ AttachBody.prototype._resizeDropdown = function () {
4424
+ var css = {
4425
+ width: this.$container.outerWidth(false) + 'px'
4426
+ };
4427
+
4428
+ if (this.options.get('dropdownAutoWidth')) {
4429
+ css.minWidth = css.width;
4430
+ css.position = 'relative';
4431
+ css.width = 'auto';
4432
+ }
4433
+
4434
+ this.$dropdown.css(css);
4435
+ };
4436
+
4437
+ AttachBody.prototype._showDropdown = function (decorated) {
4438
+ this.$dropdownContainer.appendTo(this.$dropdownParent);
4439
+
4440
+ this._positionDropdown();
4441
+ this._resizeDropdown();
4442
+ };
4443
+
4444
+ return AttachBody;
4445
+ });
4446
+
4447
+ S2.define('select2/dropdown/minimumResultsForSearch',[
4448
+
4449
+ ], function () {
4450
+ function countResults (data) {
4451
+ var count = 0;
4452
+
4453
+ for (var d = 0; d < data.length; d++) {
4454
+ var item = data[d];
4455
+
4456
+ if (item.children) {
4457
+ count += countResults(item.children);
4458
+ } else {
4459
+ count++;
4460
+ }
4461
+ }
4462
+
4463
+ return count;
4464
+ }
4465
+
4466
+ function MinimumResultsForSearch (decorated, $element, options, dataAdapter) {
4467
+ this.minimumResultsForSearch = options.get('minimumResultsForSearch');
4468
+
4469
+ if (this.minimumResultsForSearch < 0) {
4470
+ this.minimumResultsForSearch = Infinity;
4471
+ }
4472
+
4473
+ decorated.call(this, $element, options, dataAdapter);
4474
+ }
4475
+
4476
+ MinimumResultsForSearch.prototype.showSearch = function (decorated, params) {
4477
+ if (countResults(params.data.results) < this.minimumResultsForSearch) {
4478
+ return false;
4479
+ }
4480
+
4481
+ return decorated.call(this, params);
4482
+ };
4483
+
4484
+ return MinimumResultsForSearch;
4485
+ });
4486
+
4487
+ S2.define('select2/dropdown/selectOnClose',[
4488
+
4489
+ ], function () {
4490
+ function SelectOnClose () { }
4491
+
4492
+ SelectOnClose.prototype.bind = function (decorated, container, $container) {
4493
+ var self = this;
4494
+
4495
+ decorated.call(this, container, $container);
4496
+
4497
+ container.on('close', function (params) {
4498
+ self._handleSelectOnClose(params);
4499
+ });
4500
+ };
4501
+
4502
+ SelectOnClose.prototype._handleSelectOnClose = function (_, params) {
4503
+ if (params && params.originalSelect2Event != null) {
4504
+ var event = params.originalSelect2Event;
4505
+
4506
+ // Don't select an item if the close event was triggered from a select or
4507
+ // unselect event
4508
+ if (event._type === 'select' || event._type === 'unselect') {
4509
+ return;
4510
+ }
4511
+ }
4512
+
4513
+ var $highlightedResults = this.getHighlightedResults();
4514
+
4515
+ // Only select highlighted results
4516
+ if ($highlightedResults.length < 1) {
4517
+ return;
4518
+ }
4519
+
4520
+ var data = $highlightedResults.data('data');
4521
+
4522
+ // Don't re-select already selected resulte
4523
+ if (
4524
+ (data.element != null && data.element.selected) ||
4525
+ (data.element == null && data.selected)
4526
+ ) {
4527
+ return;
4528
+ }
4529
+
4530
+ this.trigger('select', {
4531
+ data: data
4532
+ });
4533
+ };
4534
+
4535
+ return SelectOnClose;
4536
+ });
4537
+
4538
+ S2.define('select2/dropdown/closeOnSelect',[
4539
+
4540
+ ], function () {
4541
+ function CloseOnSelect () { }
4542
+
4543
+ CloseOnSelect.prototype.bind = function (decorated, container, $container) {
4544
+ var self = this;
4545
+
4546
+ decorated.call(this, container, $container);
4547
+
4548
+ container.on('select', function (evt) {
4549
+ self._selectTriggered(evt);
4550
+ });
4551
+
4552
+ container.on('unselect', function (evt) {
4553
+ self._selectTriggered(evt);
4554
+ });
4555
+ };
4556
+
4557
+ CloseOnSelect.prototype._selectTriggered = function (_, evt) {
4558
+ var originalEvent = evt.originalEvent;
4559
+
4560
+ // Don't close if the control key is being held
4561
+ if (originalEvent && originalEvent.ctrlKey) {
4562
+ return;
4563
+ }
4564
+
4565
+ this.trigger('close', {
4566
+ originalEvent: originalEvent,
4567
+ originalSelect2Event: evt
4568
+ });
4569
+ };
4570
+
4571
+ return CloseOnSelect;
4572
+ });
4573
+
4574
+ S2.define('select2/i18n/en',[],function () {
4575
+ // English
4576
+ return {
4577
+ errorLoading: function () {
4578
+ return 'The results could not be loaded.';
4579
+ },
4580
+ inputTooLong: function (args) {
4581
+ var overChars = args.input.length - args.maximum;
4582
+
4583
+ var message = 'Please delete ' + overChars + ' character';
4584
+
4585
+ if (overChars != 1) {
4586
+ message += 's';
4587
+ }
4588
+
4589
+ return message;
4590
+ },
4591
+ inputTooShort: function (args) {
4592
+ var remainingChars = args.minimum - args.input.length;
4593
+
4594
+ var message = 'Please enter ' + remainingChars + ' or more characters';
4595
+
4596
+ return message;
4597
+ },
4598
+ loadingMore: function () {
4599
+ return 'Loading more results…';
4600
+ },
4601
+ maximumSelected: function (args) {
4602
+ var message = 'You can only select ' + args.maximum + ' item';
4603
+
4604
+ if (args.maximum != 1) {
4605
+ message += 's';
4606
+ }
4607
+
4608
+ return message;
4609
+ },
4610
+ noResults: function () {
4611
+ return 'No results found';
4612
+ },
4613
+ searching: function () {
4614
+ return 'Searching…';
4615
+ }
4616
+ };
4617
+ });
4618
+
4619
+ S2.define('select2/defaults',[
4620
+ 'jquery',
4621
+ 'require',
4622
+
4623
+ './results',
4624
+
4625
+ './selection/single',
4626
+ './selection/multiple',
4627
+ './selection/placeholder',
4628
+ './selection/allowClear',
4629
+ './selection/search',
4630
+ './selection/eventRelay',
4631
+
4632
+ './utils',
4633
+ './translation',
4634
+ './diacritics',
4635
+
4636
+ './data/select',
4637
+ './data/array',
4638
+ './data/ajax',
4639
+ './data/tags',
4640
+ './data/tokenizer',
4641
+ './data/minimumInputLength',
4642
+ './data/maximumInputLength',
4643
+ './data/maximumSelectionLength',
4644
+
4645
+ './dropdown',
4646
+ './dropdown/search',
4647
+ './dropdown/hidePlaceholder',
4648
+ './dropdown/infiniteScroll',
4649
+ './dropdown/attachBody',
4650
+ './dropdown/minimumResultsForSearch',
4651
+ './dropdown/selectOnClose',
4652
+ './dropdown/closeOnSelect',
4653
+
4654
+ './i18n/en'
4655
+ ], function ($, require,
4656
+
4657
+ ResultsList,
4658
+
4659
+ SingleSelection, MultipleSelection, Placeholder, AllowClear,
4660
+ SelectionSearch, EventRelay,
4661
+
4662
+ Utils, Translation, DIACRITICS,
4663
+
4664
+ SelectData, ArrayData, AjaxData, Tags, Tokenizer,
4665
+ MinimumInputLength, MaximumInputLength, MaximumSelectionLength,
4666
+
4667
+ Dropdown, DropdownSearch, HidePlaceholder, InfiniteScroll,
4668
+ AttachBody, MinimumResultsForSearch, SelectOnClose, CloseOnSelect,
4669
+
4670
+ EnglishTranslation) {
4671
+ function Defaults () {
4672
+ this.reset();
4673
+ }
4674
+
4675
+ Defaults.prototype.apply = function (options) {
4676
+ options = $.extend(true, {}, this.defaults, options);
4677
+
4678
+ if (options.dataAdapter == null) {
4679
+ if (options.ajax != null) {
4680
+ options.dataAdapter = AjaxData;
4681
+ } else if (options.data != null) {
4682
+ options.dataAdapter = ArrayData;
4683
+ } else {
4684
+ options.dataAdapter = SelectData;
4685
+ }
4686
+
4687
+ if (options.minimumInputLength > 0) {
4688
+ options.dataAdapter = Utils.Decorate(
4689
+ options.dataAdapter,
4690
+ MinimumInputLength
4691
+ );
4692
+ }
4693
+
4694
+ if (options.maximumInputLength > 0) {
4695
+ options.dataAdapter = Utils.Decorate(
4696
+ options.dataAdapter,
4697
+ MaximumInputLength
4698
+ );
4699
+ }
4700
+
4701
+ if (options.maximumSelectionLength > 0) {
4702
+ options.dataAdapter = Utils.Decorate(
4703
+ options.dataAdapter,
4704
+ MaximumSelectionLength
4705
+ );
4706
+ }
4707
+
4708
+ if (options.tags) {
4709
+ options.dataAdapter = Utils.Decorate(options.dataAdapter, Tags);
4710
+ }
4711
+
4712
+ if (options.tokenSeparators != null || options.tokenizer != null) {
4713
+ options.dataAdapter = Utils.Decorate(
4714
+ options.dataAdapter,
4715
+ Tokenizer
4716
+ );
4717
+ }
4718
+
4719
+ if (options.query != null) {
4720
+ var Query = require(options.amdBase + 'compat/query');
4721
+
4722
+ options.dataAdapter = Utils.Decorate(
4723
+ options.dataAdapter,
4724
+ Query
4725
+ );
4726
+ }
4727
+
4728
+ if (options.initSelection != null) {
4729
+ var InitSelection = require(options.amdBase + 'compat/initSelection');
4730
+
4731
+ options.dataAdapter = Utils.Decorate(
4732
+ options.dataAdapter,
4733
+ InitSelection
4734
+ );
4735
+ }
4736
+ }
4737
+
4738
+ if (options.resultsAdapter == null) {
4739
+ options.resultsAdapter = ResultsList;
4740
+
4741
+ if (options.ajax != null) {
4742
+ options.resultsAdapter = Utils.Decorate(
4743
+ options.resultsAdapter,
4744
+ InfiniteScroll
4745
+ );
4746
+ }
4747
+
4748
+ if (options.placeholder != null) {
4749
+ options.resultsAdapter = Utils.Decorate(
4750
+ options.resultsAdapter,
4751
+ HidePlaceholder
4752
+ );
4753
+ }
4754
+
4755
+ if (options.selectOnClose) {
4756
+ options.resultsAdapter = Utils.Decorate(
4757
+ options.resultsAdapter,
4758
+ SelectOnClose
4759
+ );
4760
+ }
4761
+ }
4762
+
4763
+ if (options.dropdownAdapter == null) {
4764
+ if (options.multiple) {
4765
+ options.dropdownAdapter = Dropdown;
4766
+ } else {
4767
+ var SearchableDropdown = Utils.Decorate(Dropdown, DropdownSearch);
4768
+
4769
+ options.dropdownAdapter = SearchableDropdown;
4770
+ }
4771
+
4772
+ if (options.minimumResultsForSearch !== 0) {
4773
+ options.dropdownAdapter = Utils.Decorate(
4774
+ options.dropdownAdapter,
4775
+ MinimumResultsForSearch
4776
+ );
4777
+ }
4778
+
4779
+ if (options.closeOnSelect) {
4780
+ options.dropdownAdapter = Utils.Decorate(
4781
+ options.dropdownAdapter,
4782
+ CloseOnSelect
4783
+ );
4784
+ }
4785
+
4786
+ if (
4787
+ options.dropdownCssClass != null ||
4788
+ options.dropdownCss != null ||
4789
+ options.adaptDropdownCssClass != null
4790
+ ) {
4791
+ var DropdownCSS = require(options.amdBase + 'compat/dropdownCss');
4792
+
4793
+ options.dropdownAdapter = Utils.Decorate(
4794
+ options.dropdownAdapter,
4795
+ DropdownCSS
4796
+ );
4797
+ }
4798
+
4799
+ options.dropdownAdapter = Utils.Decorate(
4800
+ options.dropdownAdapter,
4801
+ AttachBody
4802
+ );
4803
+ }
4804
+
4805
+ if (options.selectionAdapter == null) {
4806
+ if (options.multiple) {
4807
+ options.selectionAdapter = MultipleSelection;
4808
+ } else {
4809
+ options.selectionAdapter = SingleSelection;
4810
+ }
4811
+
4812
+ // Add the placeholder mixin if a placeholder was specified
4813
+ if (options.placeholder != null) {
4814
+ options.selectionAdapter = Utils.Decorate(
4815
+ options.selectionAdapter,
4816
+ Placeholder
4817
+ );
4818
+ }
4819
+
4820
+ if (options.allowClear) {
4821
+ options.selectionAdapter = Utils.Decorate(
4822
+ options.selectionAdapter,
4823
+ AllowClear
4824
+ );
4825
+ }
4826
+
4827
+ if (options.multiple) {
4828
+ options.selectionAdapter = Utils.Decorate(
4829
+ options.selectionAdapter,
4830
+ SelectionSearch
4831
+ );
4832
+ }
4833
+
4834
+ if (
4835
+ options.containerCssClass != null ||
4836
+ options.containerCss != null ||
4837
+ options.adaptContainerCssClass != null
4838
+ ) {
4839
+ var ContainerCSS = require(options.amdBase + 'compat/containerCss');
4840
+
4841
+ options.selectionAdapter = Utils.Decorate(
4842
+ options.selectionAdapter,
4843
+ ContainerCSS
4844
+ );
4845
+ }
4846
+
4847
+ options.selectionAdapter = Utils.Decorate(
4848
+ options.selectionAdapter,
4849
+ EventRelay
4850
+ );
4851
+ }
4852
+
4853
+ if (typeof options.language === 'string') {
4854
+ // Check if the language is specified with a region
4855
+ if (options.language.indexOf('-') > 0) {
4856
+ // Extract the region information if it is included
4857
+ var languageParts = options.language.split('-');
4858
+ var baseLanguage = languageParts[0];
4859
+
4860
+ options.language = [options.language, baseLanguage];
4861
+ } else {
4862
+ options.language = [options.language];
4863
+ }
4864
+ }
4865
+
4866
+ if ($.isArray(options.language)) {
4867
+ var languages = new Translation();
4868
+ options.language.push('en');
4869
+
4870
+ var languageNames = options.language;
4871
+
4872
+ for (var l = 0; l < languageNames.length; l++) {
4873
+ var name = languageNames[l];
4874
+ var language = {};
4875
+
4876
+ try {
4877
+ // Try to load it with the original name
4878
+ language = Translation.loadPath(name);
4879
+ } catch (e) {
4880
+ try {
4881
+ // If we couldn't load it, check if it wasn't the full path
4882
+ name = this.defaults.amdLanguageBase + name;
4883
+ language = Translation.loadPath(name);
4884
+ } catch (ex) {
4885
+ // The translation could not be loaded at all. Sometimes this is
4886
+ // because of a configuration problem, other times this can be
4887
+ // because of how Select2 helps load all possible translation files.
4888
+ if (options.debug && window.console && console.warn) {
4889
+ console.warn(
4890
+ 'Select2: The language file for "' + name + '" could not be ' +
4891
+ 'automatically loaded. A fallback will be used instead.'
4892
+ );
4893
+ }
4894
+
4895
+ continue;
4896
+ }
4897
+ }
4898
+
4899
+ languages.extend(language);
4900
+ }
4901
+
4902
+ options.translations = languages;
4903
+ } else {
4904
+ var baseTranslation = Translation.loadPath(
4905
+ this.defaults.amdLanguageBase + 'en'
4906
+ );
4907
+ var customTranslation = new Translation(options.language);
4908
+
4909
+ customTranslation.extend(baseTranslation);
4910
+
4911
+ options.translations = customTranslation;
4912
+ }
4913
+
4914
+ return options;
4915
+ };
4916
+
4917
+ Defaults.prototype.reset = function () {
4918
+ function stripDiacritics (text) {
4919
+ // Used 'uni range + named function' from http://jsperf.com/diacritics/18
4920
+ function match(a) {
4921
+ return DIACRITICS[a] || a;
4922
+ }
4923
+
4924
+ return text.replace(/[^\u0000-\u007E]/g, match);
4925
+ }
4926
+
4927
+ function matcher (params, data) {
4928
+ // Always return the object if there is nothing to compare
4929
+ if ($.trim(params.term) === '') {
4930
+ return data;
4931
+ }
4932
+
4933
+ // Do a recursive check for options with children
4934
+ if (data.children && data.children.length > 0) {
4935
+ // Clone the data object if there are children
4936
+ // This is required as we modify the object to remove any non-matches
4937
+ var match = $.extend(true, {}, data);
4938
+
4939
+ // Check each child of the option
4940
+ for (var c = data.children.length - 1; c >= 0; c--) {
4941
+ var child = data.children[c];
4942
+
4943
+ var matches = matcher(params, child);
4944
+
4945
+ // If there wasn't a match, remove the object in the array
4946
+ if (matches == null) {
4947
+ match.children.splice(c, 1);
4948
+ }
4949
+ }
4950
+
4951
+ // If any children matched, return the new object
4952
+ if (match.children.length > 0) {
4953
+ return match;
4954
+ }
4955
+
4956
+ // If there were no matching children, check just the plain object
4957
+ return matcher(params, match);
4958
+ }
4959
+
4960
+ var original = stripDiacritics(data.text).toUpperCase();
4961
+ var term = stripDiacritics(params.term).toUpperCase();
4962
+
4963
+ // Check if the text contains the term
4964
+ if (original.indexOf(term) > -1) {
4965
+ return data;
4966
+ }
4967
+
4968
+ // If it doesn't contain the term, don't return anything
4969
+ return null;
4970
+ }
4971
+
4972
+ this.defaults = {
4973
+ amdBase: './',
4974
+ amdLanguageBase: './i18n/',
4975
+ closeOnSelect: true,
4976
+ debug: false,
4977
+ dropdownAutoWidth: false,
4978
+ escapeMarkup: Utils.escapeMarkup,
4979
+ language: EnglishTranslation,
4980
+ matcher: matcher,
4981
+ minimumInputLength: 0,
4982
+ maximumInputLength: 0,
4983
+ maximumSelectionLength: 0,
4984
+ minimumResultsForSearch: 0,
4985
+ selectOnClose: false,
4986
+ sorter: function (data) {
4987
+ return data;
4988
+ },
4989
+ templateResult: function (result) {
4990
+ return result.text;
4991
+ },
4992
+ templateSelection: function (selection) {
4993
+ return selection.text;
4994
+ },
4995
+ theme: 'default',
4996
+ width: 'resolve'
4997
+ };
4998
+ };
4999
+
5000
+ Defaults.prototype.set = function (key, value) {
5001
+ var camelKey = $.camelCase(key);
5002
+
5003
+ var data = {};
5004
+ data[camelKey] = value;
5005
+
5006
+ var convertedData = Utils._convertData(data);
5007
+
5008
+ $.extend(this.defaults, convertedData);
5009
+ };
5010
+
5011
+ var defaults = new Defaults();
5012
+
5013
+ return defaults;
5014
+ });
5015
+
5016
+ S2.define('select2/options',[
5017
+ 'require',
5018
+ 'jquery',
5019
+ './defaults',
5020
+ './utils'
5021
+ ], function (require, $, Defaults, Utils) {
5022
+ function Options (options, $element) {
5023
+ this.options = options;
5024
+
5025
+ if ($element != null) {
5026
+ this.fromElement($element);
5027
+ }
5028
+
5029
+ this.options = Defaults.apply(this.options);
5030
+
5031
+ if ($element && $element.is('input')) {
5032
+ var InputCompat = require(this.get('amdBase') + 'compat/inputData');
5033
+
5034
+ this.options.dataAdapter = Utils.Decorate(
5035
+ this.options.dataAdapter,
5036
+ InputCompat
5037
+ );
5038
+ }
5039
+ }
5040
+
5041
+ Options.prototype.fromElement = function ($e) {
5042
+ var excludedData = ['select2'];
5043
+
5044
+ if (this.options.multiple == null) {
5045
+ this.options.multiple = $e.prop('multiple');
5046
+ }
5047
+
5048
+ if (this.options.disabled == null) {
5049
+ this.options.disabled = $e.prop('disabled');
5050
+ }
5051
+
5052
+ if (this.options.language == null) {
5053
+ if ($e.prop('lang')) {
5054
+ this.options.language = $e.prop('lang').toLowerCase();
5055
+ } else if ($e.closest('[lang]').prop('lang')) {
5056
+ this.options.language = $e.closest('[lang]').prop('lang');
5057
+ }
5058
+ }
5059
+
5060
+ if (this.options.dir == null) {
5061
+ if ($e.prop('dir')) {
5062
+ this.options.dir = $e.prop('dir');
5063
+ } else if ($e.closest('[dir]').prop('dir')) {
5064
+ this.options.dir = $e.closest('[dir]').prop('dir');
5065
+ } else {
5066
+ this.options.dir = 'ltr';
5067
+ }
5068
+ }
5069
+
5070
+ $e.prop('disabled', this.options.disabled);
5071
+ $e.prop('multiple', this.options.multiple);
5072
+
5073
+ if ($e.data('select2Tags')) {
5074
+ if (this.options.debug && window.console && console.warn) {
5075
+ console.warn(
5076
+ 'Select2: The `data-select2-tags` attribute has been changed to ' +
5077
+ 'use the `data-data` and `data-tags="true"` attributes and will be ' +
5078
+ 'removed in future versions of Select2.'
5079
+ );
5080
+ }
5081
+
5082
+ $e.data('data', $e.data('select2Tags'));
5083
+ $e.data('tags', true);
5084
+ }
5085
+
5086
+ if ($e.data('ajaxUrl')) {
5087
+ if (this.options.debug && window.console && console.warn) {
5088
+ console.warn(
5089
+ 'Select2: The `data-ajax-url` attribute has been changed to ' +
5090
+ '`data-ajax--url` and support for the old attribute will be removed' +
5091
+ ' in future versions of Select2.'
5092
+ );
5093
+ }
5094
+
5095
+ $e.attr('ajax--url', $e.data('ajaxUrl'));
5096
+ $e.data('ajax--url', $e.data('ajaxUrl'));
5097
+ }
5098
+
5099
+ var dataset = {};
5100
+
5101
+ // Prefer the element's `dataset` attribute if it exists
5102
+ // jQuery 1.x does not correctly handle data attributes with multiple dashes
5103
+ if ($.fn.jquery && $.fn.jquery.substr(0, 2) == '1.' && $e[0].dataset) {
5104
+ dataset = $.extend(true, {}, $e[0].dataset, $e.data());
5105
+ } else {
5106
+ dataset = $e.data();
5107
+ }
5108
+
5109
+ var data = $.extend(true, {}, dataset);
5110
+
5111
+ data = Utils._convertData(data);
5112
+
5113
+ for (var key in data) {
5114
+ if ($.inArray(key, excludedData) > -1) {
5115
+ continue;
5116
+ }
5117
+
5118
+ if ($.isPlainObject(this.options[key])) {
5119
+ $.extend(this.options[key], data[key]);
5120
+ } else {
5121
+ this.options[key] = data[key];
5122
+ }
5123
+ }
5124
+
5125
+ return this;
5126
+ };
5127
+
5128
+ Options.prototype.get = function (key) {
5129
+ return this.options[key];
5130
+ };
5131
+
5132
+ Options.prototype.set = function (key, val) {
5133
+ this.options[key] = val;
5134
+ };
5135
+
5136
+ return Options;
5137
+ });
5138
+
5139
+ S2.define('select2/core',[
5140
+ 'jquery',
5141
+ './options',
5142
+ './utils',
5143
+ './keys'
5144
+ ], function ($, Options, Utils, KEYS) {
5145
+ var Select2 = function ($element, options) {
5146
+ if ($element.data('select2') != null) {
5147
+ $element.data('select2').destroy();
5148
+ }
5149
+
5150
+ this.$element = $element;
5151
+
5152
+ this.id = this._generateId($element);
5153
+
5154
+ options = options || {};
5155
+
5156
+ this.options = new Options(options, $element);
5157
+
5158
+ Select2.__super__.constructor.call(this);
5159
+
5160
+ // Set up the tabindex
5161
+
5162
+ var tabindex = $element.attr('tabindex') || 0;
5163
+ $element.data('old-tabindex', tabindex);
5164
+ $element.attr('tabindex', '-1');
5165
+
5166
+ // Set up containers and adapters
5167
+
5168
+ var DataAdapter = this.options.get('dataAdapter');
5169
+ this.dataAdapter = new DataAdapter($element, this.options);
5170
+
5171
+ var $container = this.render();
5172
+
5173
+ this._placeContainer($container);
5174
+
5175
+ var SelectionAdapter = this.options.get('selectionAdapter');
5176
+ this.selection = new SelectionAdapter($element, this.options);
5177
+ this.$selection = this.selection.render();
5178
+
5179
+ this.selection.position(this.$selection, $container);
5180
+
5181
+ var DropdownAdapter = this.options.get('dropdownAdapter');
5182
+ this.dropdown = new DropdownAdapter($element, this.options);
5183
+ this.$dropdown = this.dropdown.render();
5184
+
5185
+ this.dropdown.position(this.$dropdown, $container);
5186
+
5187
+ var ResultsAdapter = this.options.get('resultsAdapter');
5188
+ this.results = new ResultsAdapter($element, this.options, this.dataAdapter);
5189
+ this.$results = this.results.render();
5190
+
5191
+ this.results.position(this.$results, this.$dropdown);
5192
+
5193
+ // Bind events
5194
+
5195
+ var self = this;
5196
+
5197
+ // Bind the container to all of the adapters
5198
+ this._bindAdapters();
5199
+
5200
+ // Register any DOM event handlers
5201
+ this._registerDomEvents();
5202
+
5203
+ // Register any internal event handlers
5204
+ this._registerDataEvents();
5205
+ this._registerSelectionEvents();
5206
+ this._registerDropdownEvents();
5207
+ this._registerResultsEvents();
5208
+ this._registerEvents();
5209
+
5210
+ // Set the initial state
5211
+ this.dataAdapter.current(function (initialData) {
5212
+ self.trigger('selection:update', {
5213
+ data: initialData
5214
+ });
5215
+ });
5216
+
5217
+ // Hide the original select
5218
+ $element.addClass('select2-hidden-accessible');
5219
+ $element.attr('aria-hidden', 'true');
5220
+
5221
+ // Synchronize any monitored attributes
5222
+ this._syncAttributes();
5223
+
5224
+ $element.data('select2', this);
5225
+ };
5226
+
5227
+ Utils.Extend(Select2, Utils.Observable);
5228
+
5229
+ Select2.prototype._generateId = function ($element) {
5230
+ var id = '';
5231
+
5232
+ if ($element.attr('id') != null) {
5233
+ id = $element.attr('id');
5234
+ } else if ($element.attr('name') != null) {
5235
+ id = $element.attr('name') + '-' + Utils.generateChars(2);
5236
+ } else {
5237
+ id = Utils.generateChars(4);
5238
+ }
5239
+
5240
+ id = id.replace(/(:|\.|\[|\]|,)/g, '');
5241
+ id = 'select2-' + id;
5242
+
5243
+ return id;
5244
+ };
5245
+
5246
+ Select2.prototype._placeContainer = function ($container) {
5247
+ $container.insertAfter(this.$element);
5248
+
5249
+ var width = this._resolveWidth(this.$element, this.options.get('width'));
5250
+
5251
+ if (width != null) {
5252
+ $container.css('width', width);
5253
+ }
5254
+ };
5255
+
5256
+ Select2.prototype._resolveWidth = function ($element, method) {
5257
+ var WIDTH = /^width:(([-+]?([0-9]*\.)?[0-9]+)(px|em|ex|%|in|cm|mm|pt|pc))/i;
5258
+
5259
+ if (method == 'resolve') {
5260
+ var styleWidth = this._resolveWidth($element, 'style');
5261
+
5262
+ if (styleWidth != null) {
5263
+ return styleWidth;
5264
+ }
5265
+
5266
+ return this._resolveWidth($element, 'element');
5267
+ }
5268
+
5269
+ if (method == 'element') {
5270
+ var elementWidth = $element.outerWidth(false);
5271
+
5272
+ if (elementWidth <= 0) {
5273
+ return 'auto';
5274
+ }
5275
+
5276
+ return elementWidth + 'px';
5277
+ }
5278
+
5279
+ if (method == 'style') {
5280
+ var style = $element.attr('style');
5281
+
5282
+ if (typeof(style) !== 'string') {
5283
+ return null;
5284
+ }
5285
+
5286
+ var attrs = style.split(';');
5287
+
5288
+ for (var i = 0, l = attrs.length; i < l; i = i + 1) {
5289
+ var attr = attrs[i].replace(/\s/g, '');
5290
+ var matches = attr.match(WIDTH);
5291
+
5292
+ if (matches !== null && matches.length >= 1) {
5293
+ return matches[1];
5294
+ }
5295
+ }
5296
+
5297
+ return null;
5298
+ }
5299
+
5300
+ return method;
5301
+ };
5302
+
5303
+ Select2.prototype._bindAdapters = function () {
5304
+ this.dataAdapter.bind(this, this.$container);
5305
+ this.selection.bind(this, this.$container);
5306
+
5307
+ this.dropdown.bind(this, this.$container);
5308
+ this.results.bind(this, this.$container);
5309
+ };
5310
+
5311
+ Select2.prototype._registerDomEvents = function () {
5312
+ var self = this;
5313
+
5314
+ this.$element.on('change.select2', function () {
5315
+ self.dataAdapter.current(function (data) {
5316
+ self.trigger('selection:update', {
5317
+ data: data
5318
+ });
5319
+ });
5320
+ });
5321
+
5322
+ this.$element.on('focus.select2', function (evt) {
5323
+ self.trigger('focus', evt);
5324
+ });
5325
+
5326
+ this._syncA = Utils.bind(this._syncAttributes, this);
5327
+ this._syncS = Utils.bind(this._syncSubtree, this);
5328
+
5329
+ if (this.$element[0].attachEvent) {
5330
+ this.$element[0].attachEvent('onpropertychange', this._syncA);
5331
+ }
5332
+
5333
+ var observer = window.MutationObserver ||
5334
+ window.WebKitMutationObserver ||
5335
+ window.MozMutationObserver
5336
+ ;
5337
+
5338
+ if (observer != null) {
5339
+ this._observer = new observer(function (mutations) {
5340
+ $.each(mutations, self._syncA);
5341
+ $.each(mutations, self._syncS);
5342
+ });
5343
+ this._observer.observe(this.$element[0], {
5344
+ attributes: true,
5345
+ childList: true,
5346
+ subtree: false
5347
+ });
5348
+ } else if (this.$element[0].addEventListener) {
5349
+ this.$element[0].addEventListener(
5350
+ 'DOMAttrModified',
5351
+ self._syncA,
5352
+ false
5353
+ );
5354
+ this.$element[0].addEventListener(
5355
+ 'DOMNodeInserted',
5356
+ self._syncS,
5357
+ false
5358
+ );
5359
+ this.$element[0].addEventListener(
5360
+ 'DOMNodeRemoved',
5361
+ self._syncS,
5362
+ false
5363
+ );
5364
+ }
5365
+ };
5366
+
5367
+ Select2.prototype._registerDataEvents = function () {
5368
+ var self = this;
5369
+
5370
+ this.dataAdapter.on('*', function (name, params) {
5371
+ self.trigger(name, params);
5372
+ });
5373
+ };
5374
+
5375
+ Select2.prototype._registerSelectionEvents = function () {
5376
+ var self = this;
5377
+ var nonRelayEvents = ['toggle', 'focus'];
5378
+
5379
+ this.selection.on('toggle', function () {
5380
+ self.toggleDropdown();
5381
+ });
5382
+
5383
+ this.selection.on('focus', function (params) {
5384
+ self.focus(params);
5385
+ });
5386
+
5387
+ this.selection.on('*', function (name, params) {
5388
+ if ($.inArray(name, nonRelayEvents) !== -1) {
5389
+ return;
5390
+ }
5391
+
5392
+ self.trigger(name, params);
5393
+ });
5394
+ };
5395
+
5396
+ Select2.prototype._registerDropdownEvents = function () {
5397
+ var self = this;
5398
+
5399
+ this.dropdown.on('*', function (name, params) {
5400
+ self.trigger(name, params);
5401
+ });
5402
+ };
5403
+
5404
+ Select2.prototype._registerResultsEvents = function () {
5405
+ var self = this;
5406
+
5407
+ this.results.on('*', function (name, params) {
5408
+ self.trigger(name, params);
5409
+ });
5410
+ };
5411
+
5412
+ Select2.prototype._registerEvents = function () {
5413
+ var self = this;
5414
+
5415
+ this.on('open', function () {
5416
+ self.$container.addClass('select2-container--open');
5417
+ });
5418
+
5419
+ this.on('close', function () {
5420
+ self.$container.removeClass('select2-container--open');
5421
+ });
5422
+
5423
+ this.on('enable', function () {
5424
+ self.$container.removeClass('select2-container--disabled');
5425
+ });
5426
+
5427
+ this.on('disable', function () {
5428
+ self.$container.addClass('select2-container--disabled');
5429
+ });
5430
+
5431
+ this.on('blur', function () {
5432
+ self.$container.removeClass('select2-container--focus');
5433
+ });
5434
+
5435
+ this.on('query', function (params) {
5436
+ if (!self.isOpen()) {
5437
+ self.trigger('open', {});
5438
+ }
5439
+
5440
+ this.dataAdapter.query(params, function (data) {
5441
+ self.trigger('results:all', {
5442
+ data: data,
5443
+ query: params
5444
+ });
5445
+ });
5446
+ });
5447
+
5448
+ this.on('query:append', function (params) {
5449
+ this.dataAdapter.query(params, function (data) {
5450
+ self.trigger('results:append', {
5451
+ data: data,
5452
+ query: params
5453
+ });
5454
+ });
5455
+ });
5456
+
5457
+ this.on('open', function(){
5458
+ // Focus on the active element when opening dropdown.
5459
+ // Needs 1 ms delay because of other 1 ms setTimeouts when rendering.
5460
+ setTimeout(function(){
5461
+ self.focusOnActiveElement();
5462
+ }, 1);
5463
+ });
5464
+
5465
+ $(document).on('keydown', function (evt) {
5466
+ var key = evt.which;
5467
+ if (self.isOpen()) {
5468
+ if (key === KEYS.ESC || (key === KEYS.UP && evt.altKey)) {
5469
+ self.close();
5470
+
5471
+ evt.preventDefault();
5472
+ } else if (key === KEYS.ENTER || key === KEYS.TAB) {
5473
+ self.trigger('results:select', {});
5474
+
5475
+ evt.preventDefault();
5476
+ } else if ((key === KEYS.SPACE && evt.ctrlKey)) {
5477
+ self.trigger('results:toggle', {});
5478
+
5479
+ evt.preventDefault();
5480
+ } else if (key === KEYS.UP) {
5481
+ self.trigger('results:previous', {});
5482
+
5483
+ evt.preventDefault();
5484
+ } else if (key === KEYS.DOWN) {
5485
+ self.trigger('results:next', {});
5486
+
5487
+ evt.preventDefault();
5488
+ }
5489
+
5490
+ var $searchField = self.$dropdown.find('.select2-search__field');
5491
+ if (! $searchField.length) {
5492
+ $searchField = self.$container.find('.select2-search__field');
5493
+ }
5494
+
5495
+ // Move the focus to the selected element on keyboard navigation.
5496
+ // Required for screen readers to work properly.
5497
+ if (key === KEYS.DOWN || key === KEYS.UP) {
5498
+ self.focusOnActiveElement();
5499
+ } else {
5500
+ // Focus on the search if user starts typing.
5501
+ $searchField.focus();
5502
+ // Focus back to active selection when finished typing.
5503
+ // Small delay so typed character can be read by screen reader.
5504
+ setTimeout(function(){
5505
+ self.focusOnActiveElement();
5506
+ }, 1000);
5507
+ }
5508
+ } else if (self.hasFocus()) {
5509
+ if (key === KEYS.ENTER || key === KEYS.SPACE ||
5510
+ key === KEYS.DOWN) {
5511
+ self.open();
5512
+ evt.preventDefault();
5513
+ }
5514
+ }
5515
+ });
5516
+ };
5517
+
5518
+ Select2.prototype.focusOnActiveElement = function () {
5519
+ // Don't mess with the focus on touchscreens because it causes havoc with on-screen keyboards.
5520
+ if (this.isOpen() && ! Utils.isTouchscreen()) {
5521
+ this.$results.find('li.select2-results__option--highlighted').focus();
5522
+ }
5523
+ };
5524
+
5525
+ Select2.prototype._syncAttributes = function () {
5526
+ this.options.set('disabled', this.$element.prop('disabled'));
5527
+
5528
+ if (this.options.get('disabled')) {
5529
+ if (this.isOpen()) {
5530
+ this.close();
5531
+ }
5532
+
5533
+ this.trigger('disable', {});
5534
+ } else {
5535
+ this.trigger('enable', {});
5536
+ }
5537
+ };
5538
+
5539
+ Select2.prototype._syncSubtree = function (evt, mutations) {
5540
+ var changed = false;
5541
+ var self = this;
5542
+
5543
+ // Ignore any mutation events raised for elements that aren't options or
5544
+ // optgroups. This handles the case when the select element is destroyed
5545
+ if (
5546
+ evt && evt.target && (
5547
+ evt.target.nodeName !== 'OPTION' && evt.target.nodeName !== 'OPTGROUP'
5548
+ )
5549
+ ) {
5550
+ return;
5551
+ }
5552
+
5553
+ if (!mutations) {
5554
+ // If mutation events aren't supported, then we can only assume that the
5555
+ // change affected the selections
5556
+ changed = true;
5557
+ } else if (mutations.addedNodes && mutations.addedNodes.length > 0) {
5558
+ for (var n = 0; n < mutations.addedNodes.length; n++) {
5559
+ var node = mutations.addedNodes[n];
5560
+
5561
+ if (node.selected) {
5562
+ changed = true;
5563
+ }
5564
+ }
5565
+ } else if (mutations.removedNodes && mutations.removedNodes.length > 0) {
5566
+ changed = true;
5567
+ }
5568
+
5569
+ // Only re-pull the data if we think there is a change
5570
+ if (changed) {
5571
+ this.dataAdapter.current(function (currentData) {
5572
+ self.trigger('selection:update', {
5573
+ data: currentData
5574
+ });
5575
+ });
5576
+ }
5577
+ };
5578
+
5579
+ /**
5580
+ * Override the trigger method to automatically trigger pre-events when
5581
+ * there are events that can be prevented.
5582
+ */
5583
+ Select2.prototype.trigger = function (name, args) {
5584
+ var actualTrigger = Select2.__super__.trigger;
5585
+ var preTriggerMap = {
5586
+ 'open': 'opening',
5587
+ 'close': 'closing',
5588
+ 'select': 'selecting',
5589
+ 'unselect': 'unselecting'
5590
+ };
5591
+
5592
+ if (args === undefined) {
5593
+ args = {};
5594
+ }
5595
+
5596
+ if (name in preTriggerMap) {
5597
+ var preTriggerName = preTriggerMap[name];
5598
+ var preTriggerArgs = {
5599
+ prevented: false,
5600
+ name: name,
5601
+ args: args
5602
+ };
5603
+
5604
+ actualTrigger.call(this, preTriggerName, preTriggerArgs);
5605
+
5606
+ if (preTriggerArgs.prevented) {
5607
+ args.prevented = true;
5608
+
5609
+ return;
5610
+ }
5611
+ }
5612
+
5613
+ actualTrigger.call(this, name, args);
5614
+ };
5615
+
5616
+ Select2.prototype.toggleDropdown = function () {
5617
+ if (this.options.get('disabled')) {
5618
+ return;
5619
+ }
5620
+
5621
+ if (this.isOpen()) {
5622
+ this.close();
5623
+ } else {
5624
+ this.open();
5625
+ }
5626
+ };
5627
+
5628
+ Select2.prototype.open = function () {
5629
+ if (this.isOpen()) {
5630
+ return;
5631
+ }
5632
+
5633
+ this.trigger('query', {});
5634
+ };
5635
+
5636
+ Select2.prototype.close = function () {
5637
+ if (!this.isOpen()) {
5638
+ return;
5639
+ }
5640
+
5641
+ this.trigger('close', {});
5642
+ };
5643
+
5644
+ Select2.prototype.isOpen = function () {
5645
+ return this.$container.hasClass('select2-container--open');
5646
+ };
5647
+
5648
+ Select2.prototype.hasFocus = function () {
5649
+ return this.$container.hasClass('select2-container--focus');
5650
+ };
5651
+
5652
+ Select2.prototype.focus = function (data) {
5653
+ // No need to re-trigger focus events if we are already focused
5654
+ if (this.hasFocus()) {
5655
+ return;
5656
+ }
5657
+
5658
+ this.$container.addClass('select2-container--focus');
5659
+ this.trigger('focus', {});
5660
+ };
5661
+
5662
+ Select2.prototype.enable = function (args) {
5663
+ if (this.options.get('debug') && window.console && console.warn) {
5664
+ console.warn(
5665
+ 'Select2: The `select2("enable")` method has been deprecated and will' +
5666
+ ' be removed in later Select2 versions. Use $element.prop("disabled")' +
5667
+ ' instead.'
5668
+ );
5669
+ }
5670
+
5671
+ if (args == null || args.length === 0) {
5672
+ args = [true];
5673
+ }
5674
+
5675
+ var disabled = !args[0];
5676
+
5677
+ this.$element.prop('disabled', disabled);
5678
+ };
5679
+
5680
+ Select2.prototype.data = function () {
5681
+ if (this.options.get('debug') &&
5682
+ arguments.length > 0 && window.console && console.warn) {
5683
+ console.warn(
5684
+ 'Select2: Data can no longer be set using `select2("data")`. You ' +
5685
+ 'should consider setting the value instead using `$element.val()`.'
5686
+ );
5687
+ }
5688
+
5689
+ var data = [];
5690
+
5691
+ this.dataAdapter.current(function (currentData) {
5692
+ data = currentData;
5693
+ });
5694
+
5695
+ return data;
5696
+ };
5697
+
5698
+ Select2.prototype.val = function (args) {
5699
+ if (this.options.get('debug') && window.console && console.warn) {
5700
+ console.warn(
5701
+ 'Select2: The `select2("val")` method has been deprecated and will be' +
5702
+ ' removed in later Select2 versions. Use $element.val() instead.'
5703
+ );
5704
+ }
5705
+
5706
+ if (args == null || args.length === 0) {
5707
+ return this.$element.val();
5708
+ }
5709
+
5710
+ var newVal = args[0];
5711
+
5712
+ if ($.isArray(newVal)) {
5713
+ newVal = $.map(newVal, function (obj) {
5714
+ return obj.toString();
5715
+ });
5716
+ }
5717
+
5718
+ this.$element.val(newVal).trigger('change');
5719
+ };
5720
+
5721
+ Select2.prototype.destroy = function () {
5722
+ this.$container.remove();
5723
+
5724
+ if (this.$element[0].detachEvent) {
5725
+ this.$element[0].detachEvent('onpropertychange', this._syncA);
5726
+ }
5727
+
5728
+ if (this._observer != null) {
5729
+ this._observer.disconnect();
5730
+ this._observer = null;
5731
+ } else if (this.$element[0].removeEventListener) {
5732
+ this.$element[0]
5733
+ .removeEventListener('DOMAttrModified', this._syncA, false);
5734
+ this.$element[0]
5735
+ .removeEventListener('DOMNodeInserted', this._syncS, false);
5736
+ this.$element[0]
5737
+ .removeEventListener('DOMNodeRemoved', this._syncS, false);
5738
+ }
5739
+
5740
+ this._syncA = null;
5741
+ this._syncS = null;
5742
+
5743
+ this.$element.off('.select2');
5744
+ this.$element.attr('tabindex', this.$element.data('old-tabindex'));
5745
+
5746
+ this.$element.removeClass('select2-hidden-accessible');
5747
+ this.$element.attr('aria-hidden', 'false');
5748
+ this.$element.removeData('select2');
5749
+
5750
+ this.dataAdapter.destroy();
5751
+ this.selection.destroy();
5752
+ this.dropdown.destroy();
5753
+ this.results.destroy();
5754
+
5755
+ this.dataAdapter = null;
5756
+ this.selection = null;
5757
+ this.dropdown = null;
5758
+ this.results = null;
5759
+ };
5760
+
5761
+ Select2.prototype.render = function () {
5762
+ var $container = $(
5763
+ '<span class="select2 select2-container">' +
5764
+ '<span class="selection"></span>' +
5765
+ '<span class="dropdown-wrapper" aria-hidden="true"></span>' +
5766
+ '</span>'
5767
+ );
5768
+
5769
+ $container.attr('dir', this.options.get('dir'));
5770
+
5771
+ this.$container = $container;
5772
+
5773
+ this.$container.addClass('select2-container--' + this.options.get('theme'));
5774
+
5775
+ $container.data('element', this.$element);
5776
+
5777
+ return $container;
5778
+ };
5779
+
5780
+ return Select2;
5781
+ });
5782
+
5783
+ S2.define('select2/compat/utils',[
5784
+ 'jquery'
5785
+ ], function ($) {
5786
+ function syncCssClasses ($dest, $src, adapter) {
5787
+ var classes, replacements = [], adapted;
5788
+
5789
+ classes = $.trim($dest.attr('class'));
5790
+
5791
+ if (classes) {
5792
+ classes = '' + classes; // for IE which returns object
5793
+
5794
+ $(classes.split(/\s+/)).each(function () {
5795
+ // Save all Select2 classes
5796
+ if (this.indexOf('select2-') === 0) {
5797
+ replacements.push(this);
5798
+ }
5799
+ });
5800
+ }
5801
+
5802
+ classes = $.trim($src.attr('class'));
5803
+
5804
+ if (classes) {
5805
+ classes = '' + classes; // for IE which returns object
5806
+
5807
+ $(classes.split(/\s+/)).each(function () {
5808
+ // Only adapt non-Select2 classes
5809
+ if (this.indexOf('select2-') !== 0) {
5810
+ adapted = adapter(this);
5811
+
5812
+ if (adapted != null) {
5813
+ replacements.push(adapted);
5814
+ }
5815
+ }
5816
+ });
5817
+ }
5818
+
5819
+ $dest.attr('class', replacements.join(' '));
5820
+ }
5821
+
5822
+ return {
5823
+ syncCssClasses: syncCssClasses
5824
+ };
5825
+ });
5826
+
5827
+ S2.define('select2/compat/containerCss',[
5828
+ 'jquery',
5829
+ './utils'
5830
+ ], function ($, CompatUtils) {
5831
+ // No-op CSS adapter that discards all classes by default
5832
+ function _containerAdapter (clazz) {
5833
+ return null;
5834
+ }
5835
+
5836
+ function ContainerCSS () { }
5837
+
5838
+ ContainerCSS.prototype.render = function (decorated) {
5839
+ var $container = decorated.call(this);
5840
+
5841
+ var containerCssClass = this.options.get('containerCssClass') || '';
5842
+
5843
+ if ($.isFunction(containerCssClass)) {
5844
+ containerCssClass = containerCssClass(this.$element);
5845
+ }
5846
+
5847
+ var containerCssAdapter = this.options.get('adaptContainerCssClass');
5848
+ containerCssAdapter = containerCssAdapter || _containerAdapter;
5849
+
5850
+ if (containerCssClass.indexOf(':all:') !== -1) {
5851
+ containerCssClass = containerCssClass.replace(':all:', '');
5852
+
5853
+ var _cssAdapter = containerCssAdapter;
5854
+
5855
+ containerCssAdapter = function (clazz) {
5856
+ var adapted = _cssAdapter(clazz);
5857
+
5858
+ if (adapted != null) {
5859
+ // Append the old one along with the adapted one
5860
+ return adapted + ' ' + clazz;
5861
+ }
5862
+
5863
+ return clazz;
5864
+ };
5865
+ }
5866
+
5867
+ var containerCss = this.options.get('containerCss') || {};
5868
+
5869
+ if ($.isFunction(containerCss)) {
5870
+ containerCss = containerCss(this.$element);
5871
+ }
5872
+
5873
+ CompatUtils.syncCssClasses($container, this.$element, containerCssAdapter);
5874
+
5875
+ $container.css(containerCss);
5876
+ $container.addClass(containerCssClass);
5877
+
5878
+ return $container;
5879
+ };
5880
+
5881
+ return ContainerCSS;
5882
+ });
5883
+
5884
+ S2.define('select2/compat/dropdownCss',[
5885
+ 'jquery',
5886
+ './utils'
5887
+ ], function ($, CompatUtils) {
5888
+ // No-op CSS adapter that discards all classes by default
5889
+ function _dropdownAdapter (clazz) {
5890
+ return null;
5891
+ }
5892
+
5893
+ function DropdownCSS () { }
5894
+
5895
+ DropdownCSS.prototype.render = function (decorated) {
5896
+ var $dropdown = decorated.call(this);
5897
+
5898
+ var dropdownCssClass = this.options.get('dropdownCssClass') || '';
5899
+
5900
+ if ($.isFunction(dropdownCssClass)) {
5901
+ dropdownCssClass = dropdownCssClass(this.$element);
5902
+ }
5903
+
5904
+ var dropdownCssAdapter = this.options.get('adaptDropdownCssClass');
5905
+ dropdownCssAdapter = dropdownCssAdapter || _dropdownAdapter;
5906
+
5907
+ if (dropdownCssClass.indexOf(':all:') !== -1) {
5908
+ dropdownCssClass = dropdownCssClass.replace(':all:', '');
5909
+
5910
+ var _cssAdapter = dropdownCssAdapter;
5911
+
5912
+ dropdownCssAdapter = function (clazz) {
5913
+ var adapted = _cssAdapter(clazz);
5914
+
5915
+ if (adapted != null) {
5916
+ // Append the old one along with the adapted one
5917
+ return adapted + ' ' + clazz;
5918
+ }
5919
+
5920
+ return clazz;
5921
+ };
5922
+ }
5923
+
5924
+ var dropdownCss = this.options.get('dropdownCss') || {};
5925
+
5926
+ if ($.isFunction(dropdownCss)) {
5927
+ dropdownCss = dropdownCss(this.$element);
5928
+ }
5929
+
5930
+ CompatUtils.syncCssClasses($dropdown, this.$element, dropdownCssAdapter);
5931
+
5932
+ $dropdown.css(dropdownCss);
5933
+ $dropdown.addClass(dropdownCssClass);
5934
+
5935
+ return $dropdown;
5936
+ };
5937
+
5938
+ return DropdownCSS;
5939
+ });
5940
+
5941
+ S2.define('select2/compat/initSelection',[
5942
+ 'jquery'
5943
+ ], function ($) {
5944
+ function InitSelection (decorated, $element, options) {
5945
+ if (options.get('debug') && window.console && console.warn) {
5946
+ console.warn(
5947
+ 'Select2: The `initSelection` option has been deprecated in favor' +
5948
+ ' of a custom data adapter that overrides the `current` method. ' +
5949
+ 'This method is now called multiple times instead of a single ' +
5950
+ 'time when the instance is initialized. Support will be removed ' +
5951
+ 'for the `initSelection` option in future versions of Select2'
5952
+ );
5953
+ }
5954
+
5955
+ this.initSelection = options.get('initSelection');
5956
+ this._isInitialized = false;
5957
+
5958
+ decorated.call(this, $element, options);
5959
+ }
5960
+
5961
+ InitSelection.prototype.current = function (decorated, callback) {
5962
+ var self = this;
5963
+
5964
+ if (this._isInitialized) {
5965
+ decorated.call(this, callback);
5966
+
5967
+ return;
5968
+ }
5969
+
5970
+ this.initSelection.call(null, this.$element, function (data) {
5971
+ self._isInitialized = true;
5972
+
5973
+ if (!$.isArray(data)) {
5974
+ data = [data];
5975
+ }
5976
+
5977
+ callback(data);
5978
+ });
5979
+ };
5980
+
5981
+ return InitSelection;
5982
+ });
5983
+
5984
+ S2.define('select2/compat/inputData',[
5985
+ 'jquery'
5986
+ ], function ($) {
5987
+ function InputData (decorated, $element, options) {
5988
+ this._currentData = [];
5989
+ this._valueSeparator = options.get('valueSeparator') || ',';
5990
+
5991
+ if ($element.prop('type') === 'hidden') {
5992
+ if (options.get('debug') && console && console.warn) {
5993
+ console.warn(
5994
+ 'Select2: Using a hidden input with Select2 is no longer ' +
5995
+ 'supported and may stop working in the future. It is recommended ' +
5996
+ 'to use a `<select>` element instead.'
5997
+ );
5998
+ }
5999
+ }
6000
+
6001
+ decorated.call(this, $element, options);
6002
+ }
6003
+
6004
+ InputData.prototype.current = function (_, callback) {
6005
+ function getSelected (data, selectedIds) {
6006
+ var selected = [];
6007
+
6008
+ if (data.selected || $.inArray(data.id, selectedIds) !== -1) {
6009
+ data.selected = true;
6010
+ selected.push(data);
6011
+ } else {
6012
+ data.selected = false;
6013
+ }
6014
+
6015
+ if (data.children) {
6016
+ selected.push.apply(selected, getSelected(data.children, selectedIds));
6017
+ }
6018
+
6019
+ return selected;
6020
+ }
6021
+
6022
+ var selected = [];
6023
+
6024
+ for (var d = 0; d < this._currentData.length; d++) {
6025
+ var data = this._currentData[d];
6026
+
6027
+ selected.push.apply(
6028
+ selected,
6029
+ getSelected(
6030
+ data,
6031
+ this.$element.val().split(
6032
+ this._valueSeparator
6033
+ )
6034
+ )
6035
+ );
6036
+ }
6037
+
6038
+ callback(selected);
6039
+ };
6040
+
6041
+ InputData.prototype.select = function (_, data) {
6042
+ if (!this.options.get('multiple')) {
6043
+ this.current(function (allData) {
6044
+ $.map(allData, function (data) {
6045
+ data.selected = false;
6046
+ });
6047
+ });
6048
+
6049
+ this.$element.val(data.id);
6050
+ this.$element.trigger('change');
6051
+ } else {
6052
+ var value = this.$element.val();
6053
+ value += this._valueSeparator + data.id;
6054
+
6055
+ this.$element.val(value);
6056
+ this.$element.trigger('change');
6057
+ }
6058
+ };
6059
+
6060
+ InputData.prototype.unselect = function (_, data) {
6061
+ var self = this;
6062
+
6063
+ data.selected = false;
6064
+
6065
+ this.current(function (allData) {
6066
+ var values = [];
6067
+
6068
+ for (var d = 0; d < allData.length; d++) {
6069
+ var item = allData[d];
6070
+
6071
+ if (data.id == item.id) {
6072
+ continue;
6073
+ }
6074
+
6075
+ values.push(item.id);
6076
+ }
6077
+
6078
+ self.$element.val(values.join(self._valueSeparator));
6079
+ self.$element.trigger('change');
6080
+ });
6081
+ };
6082
+
6083
+ InputData.prototype.query = function (_, params, callback) {
6084
+ var results = [];
6085
+
6086
+ for (var d = 0; d < this._currentData.length; d++) {
6087
+ var data = this._currentData[d];
6088
+
6089
+ var matches = this.matches(params, data);
6090
+
6091
+ if (matches !== null) {
6092
+ results.push(matches);
6093
+ }
6094
+ }
6095
+
6096
+ callback({
6097
+ results: results
6098
+ });
6099
+ };
6100
+
6101
+ InputData.prototype.addOptions = function (_, $options) {
6102
+ var options = $.map($options, function ($option) {
6103
+ return $.data($option[0], 'data');
6104
+ });
6105
+
6106
+ this._currentData.push.apply(this._currentData, options);
6107
+ };
6108
+
6109
+ return InputData;
6110
+ });
6111
+
6112
+ S2.define('select2/compat/matcher',[
6113
+ 'jquery'
6114
+ ], function ($) {
6115
+ function oldMatcher (matcher) {
6116
+ function wrappedMatcher (params, data) {
6117
+ var match = $.extend(true, {}, data);
6118
+
6119
+ if (params.term == null || $.trim(params.term) === '') {
6120
+ return match;
6121
+ }
6122
+
6123
+ if (data.children) {
6124
+ for (var c = data.children.length - 1; c >= 0; c--) {
6125
+ var child = data.children[c];
6126
+
6127
+ // Check if the child object matches
6128
+ // The old matcher returned a boolean true or false
6129
+ var doesMatch = matcher(params.term, child.text, child);
6130
+
6131
+ // If the child didn't match, pop it off
6132
+ if (!doesMatch) {
6133
+ match.children.splice(c, 1);
6134
+ }
6135
+ }
6136
+
6137
+ if (match.children.length > 0) {
6138
+ return match;
6139
+ }
6140
+ }
6141
+
6142
+ if (matcher(params.term, data.text, data)) {
6143
+ return match;
6144
+ }
6145
+
6146
+ return null;
6147
+ }
6148
+
6149
+ return wrappedMatcher;
6150
+ }
6151
+
6152
+ return oldMatcher;
6153
+ });
6154
+
6155
+ S2.define('select2/compat/query',[
6156
+
6157
+ ], function () {
6158
+ function Query (decorated, $element, options) {
6159
+ if (options.get('debug') && window.console && console.warn) {
6160
+ console.warn(
6161
+ 'Select2: The `query` option has been deprecated in favor of a ' +
6162
+ 'custom data adapter that overrides the `query` method. Support ' +
6163
+ 'will be removed for the `query` option in future versions of ' +
6164
+ 'Select2.'
6165
+ );
6166
+ }
6167
+
6168
+ decorated.call(this, $element, options);
6169
+ }
6170
+
6171
+ Query.prototype.query = function (_, params, callback) {
6172
+ params.callback = callback;
6173
+
6174
+ var query = this.options.get('query');
6175
+
6176
+ query.call(null, params);
6177
+ };
6178
+
6179
+ return Query;
6180
+ });
6181
+
6182
+ S2.define('select2/dropdown/attachContainer',[
6183
+
6184
+ ], function () {
6185
+ function AttachContainer (decorated, $element, options) {
6186
+ decorated.call(this, $element, options);
6187
+ }
6188
+
6189
+ AttachContainer.prototype.position =
6190
+ function (decorated, $dropdown, $container) {
6191
+ var $dropdownContainer = $container.find('.dropdown-wrapper');
6192
+ $dropdownContainer.append($dropdown);
6193
+
6194
+ $dropdown.addClass('select2-dropdown--below');
6195
+ $container.addClass('select2-container--below');
6196
+ };
6197
+
6198
+ return AttachContainer;
6199
+ });
6200
+
6201
+ S2.define('select2/dropdown/stopPropagation',[
6202
+
6203
+ ], function () {
6204
+ function StopPropagation () { }
6205
+
6206
+ StopPropagation.prototype.bind = function (decorated, container, $container) {
6207
+ decorated.call(this, container, $container);
6208
+
6209
+ var stoppedEvents = [
6210
+ 'blur',
6211
+ 'change',
6212
+ 'click',
6213
+ 'dblclick',
6214
+ 'focus',
6215
+ 'focusin',
6216
+ 'focusout',
6217
+ 'input',
6218
+ 'keydown',
6219
+ 'keyup',
6220
+ 'keypress',
6221
+ 'mousedown',
6222
+ 'mouseenter',
6223
+ 'mouseleave',
6224
+ 'mousemove',
6225
+ 'mouseover',
6226
+ 'mouseup',
6227
+ 'search',
6228
+ 'touchend',
6229
+ 'touchstart'
6230
+ ];
6231
+
6232
+ this.$dropdown.on(stoppedEvents.join(' '), function (evt) {
6233
+ evt.stopPropagation();
6234
+ });
6235
+ };
6236
+
6237
+ return StopPropagation;
6238
+ });
6239
+
6240
+ S2.define('select2/selection/stopPropagation',[
6241
+
6242
+ ], function () {
6243
+ function StopPropagation () { }
6244
+
6245
+ StopPropagation.prototype.bind = function (decorated, container, $container) {
6246
+ decorated.call(this, container, $container);
6247
+
6248
+ var stoppedEvents = [
6249
+ 'blur',
6250
+ 'change',
6251
+ 'click',
6252
+ 'dblclick',
6253
+ 'focus',
6254
+ 'focusin',
6255
+ 'focusout',
6256
+ 'input',
6257
+ 'keydown',
6258
+ 'keyup',
6259
+ 'keypress',
6260
+ 'mousedown',
6261
+ 'mouseenter',
6262
+ 'mouseleave',
6263
+ 'mousemove',
6264
+ 'mouseover',
6265
+ 'mouseup',
6266
+ 'search',
6267
+ 'touchend',
6268
+ 'touchstart'
6269
+ ];
6270
+
6271
+ this.$selection.on(stoppedEvents.join(' '), function (evt) {
6272
+ evt.stopPropagation();
6273
+ });
6274
+ };
6275
+
6276
+ return StopPropagation;
6277
+ });
6278
+
6279
+ /*!
6280
+ * jQuery Mousewheel 3.1.13
6281
+ *
6282
+ * Copyright jQuery Foundation and other contributors
6283
+ * Released under the MIT license
6284
+ * http://jquery.org/license
6285
+ */
6286
+
6287
+ (function (factory) {
6288
+ if ( typeof S2.define === 'function' && S2.define.amd ) {
6289
+ // AMD. Register as an anonymous module.
6290
+ S2.define('jquery-mousewheel',['jquery'], factory);
6291
+ } else if (typeof exports === 'object') {
6292
+ // Node/CommonJS style for Browserify
6293
+ module.exports = factory;
6294
+ } else {
6295
+ // Browser globals
6296
+ factory(jQuery);
6297
+ }
6298
+ }(function ($) {
6299
+
6300
+ var toFix = ['wheel', 'mousewheel', 'DOMMouseScroll', 'MozMousePixelScroll'],
6301
+ toBind = ( 'onwheel' in document || document.documentMode >= 9 ) ?
6302
+ ['wheel'] : ['mousewheel', 'DomMouseScroll', 'MozMousePixelScroll'],
6303
+ slice = Array.prototype.slice,
6304
+ nullLowestDeltaTimeout, lowestDelta;
6305
+
6306
+ if ( $.event.fixHooks ) {
6307
+ for ( var i = toFix.length; i; ) {
6308
+ $.event.fixHooks[ toFix[--i] ] = $.event.mouseHooks;
6309
+ }
6310
+ }
6311
+
6312
+ var special = $.event.special.mousewheel = {
6313
+ version: '3.1.12',
6314
+
6315
+ setup: function() {
6316
+ if ( this.addEventListener ) {
6317
+ for ( var i = toBind.length; i; ) {
6318
+ this.addEventListener( toBind[--i], handler, false );
6319
+ }
6320
+ } else {
6321
+ this.onmousewheel = handler;
6322
+ }
6323
+ // Store the line height and page height for this particular element
6324
+ $.data(this, 'mousewheel-line-height', special.getLineHeight(this));
6325
+ $.data(this, 'mousewheel-page-height', special.getPageHeight(this));
6326
+ },
6327
+
6328
+ teardown: function() {
6329
+ if ( this.removeEventListener ) {
6330
+ for ( var i = toBind.length; i; ) {
6331
+ this.removeEventListener( toBind[--i], handler, false );
6332
+ }
6333
+ } else {
6334
+ this.onmousewheel = null;
6335
+ }
6336
+ // Clean up the data we added to the element
6337
+ $.removeData(this, 'mousewheel-line-height');
6338
+ $.removeData(this, 'mousewheel-page-height');
6339
+ },
6340
+
6341
+ getLineHeight: function(elem) {
6342
+ var $elem = $(elem),
6343
+ $parent = $elem['offsetParent' in $.fn ? 'offsetParent' : 'parent']();
6344
+ if (!$parent.length) {
6345
+ $parent = $('body');
6346
+ }
6347
+ return parseInt($parent.css('fontSize'), 10) || parseInt($elem.css('fontSize'), 10) || 16;
6348
+ },
6349
+
6350
+ getPageHeight: function(elem) {
6351
+ return $(elem).height();
6352
+ },
6353
+
6354
+ settings: {
6355
+ adjustOldDeltas: true, // see shouldAdjustOldDeltas() below
6356
+ normalizeOffset: true // calls getBoundingClientRect for each event
6357
+ }
6358
+ };
6359
+
6360
+ $.fn.extend({
6361
+ mousewheel: function(fn) {
6362
+ return fn ? this.bind('mousewheel', fn) : this.trigger('mousewheel');
6363
+ },
6364
+
6365
+ unmousewheel: function(fn) {
6366
+ return this.unbind('mousewheel', fn);
6367
+ }
6368
+ });
6369
+
6370
+
6371
+ function handler(event) {
6372
+ var orgEvent = event || window.event,
6373
+ args = slice.call(arguments, 1),
6374
+ delta = 0,
6375
+ deltaX = 0,
6376
+ deltaY = 0,
6377
+ absDelta = 0,
6378
+ offsetX = 0,
6379
+ offsetY = 0;
6380
+ event = $.event.fix(orgEvent);
6381
+ event.type = 'mousewheel';
6382
+
6383
+ // Old school scrollwheel delta
6384
+ if ( 'detail' in orgEvent ) { deltaY = orgEvent.detail * -1; }
6385
+ if ( 'wheelDelta' in orgEvent ) { deltaY = orgEvent.wheelDelta; }
6386
+ if ( 'wheelDeltaY' in orgEvent ) { deltaY = orgEvent.wheelDeltaY; }
6387
+ if ( 'wheelDeltaX' in orgEvent ) { deltaX = orgEvent.wheelDeltaX * -1; }
6388
+
6389
+ // Firefox < 17 horizontal scrolling related to DOMMouseScroll event
6390
+ if ( 'axis' in orgEvent && orgEvent.axis === orgEvent.HORIZONTAL_AXIS ) {
6391
+ deltaX = deltaY * -1;
6392
+ deltaY = 0;
6393
+ }
6394
+
6395
+ // Set delta to be deltaY or deltaX if deltaY is 0 for backwards compatabilitiy
6396
+ delta = deltaY === 0 ? deltaX : deltaY;
6397
+
6398
+ // New school wheel delta (wheel event)
6399
+ if ( 'deltaY' in orgEvent ) {
6400
+ deltaY = orgEvent.deltaY * -1;
6401
+ delta = deltaY;
6402
+ }
6403
+ if ( 'deltaX' in orgEvent ) {
6404
+ deltaX = orgEvent.deltaX;
6405
+ if ( deltaY === 0 ) { delta = deltaX * -1; }
6406
+ }
6407
+
6408
+ // No change actually happened, no reason to go any further
6409
+ if ( deltaY === 0 && deltaX === 0 ) { return; }
6410
+
6411
+ // Need to convert lines and pages to pixels if we aren't already in pixels
6412
+ // There are three delta modes:
6413
+ // * deltaMode 0 is by pixels, nothing to do
6414
+ // * deltaMode 1 is by lines
6415
+ // * deltaMode 2 is by pages
6416
+ if ( orgEvent.deltaMode === 1 ) {
6417
+ var lineHeight = $.data(this, 'mousewheel-line-height');
6418
+ delta *= lineHeight;
6419
+ deltaY *= lineHeight;
6420
+ deltaX *= lineHeight;
6421
+ } else if ( orgEvent.deltaMode === 2 ) {
6422
+ var pageHeight = $.data(this, 'mousewheel-page-height');
6423
+ delta *= pageHeight;
6424
+ deltaY *= pageHeight;
6425
+ deltaX *= pageHeight;
6426
+ }
6427
+
6428
+ // Store lowest absolute delta to normalize the delta values
6429
+ absDelta = Math.max( Math.abs(deltaY), Math.abs(deltaX) );
6430
+
6431
+ if ( !lowestDelta || absDelta < lowestDelta ) {
6432
+ lowestDelta = absDelta;
6433
+
6434
+ // Adjust older deltas if necessary
6435
+ if ( shouldAdjustOldDeltas(orgEvent, absDelta) ) {
6436
+ lowestDelta /= 40;
6437
+ }
6438
+ }
6439
+
6440
+ // Adjust older deltas if necessary
6441
+ if ( shouldAdjustOldDeltas(orgEvent, absDelta) ) {
6442
+ // Divide all the things by 40!
6443
+ delta /= 40;
6444
+ deltaX /= 40;
6445
+ deltaY /= 40;
6446
+ }
6447
+
6448
+ // Get a whole, normalized value for the deltas
6449
+ delta = Math[ delta >= 1 ? 'floor' : 'ceil' ](delta / lowestDelta);
6450
+ deltaX = Math[ deltaX >= 1 ? 'floor' : 'ceil' ](deltaX / lowestDelta);
6451
+ deltaY = Math[ deltaY >= 1 ? 'floor' : 'ceil' ](deltaY / lowestDelta);
6452
+
6453
+ // Normalise offsetX and offsetY properties
6454
+ if ( special.settings.normalizeOffset && this.getBoundingClientRect ) {
6455
+ var boundingRect = this.getBoundingClientRect();
6456
+ offsetX = event.clientX - boundingRect.left;
6457
+ offsetY = event.clientY - boundingRect.top;
6458
+ }
6459
+
6460
+ // Add information to the event object
6461
+ event.deltaX = deltaX;
6462
+ event.deltaY = deltaY;
6463
+ event.deltaFactor = lowestDelta;
6464
+ event.offsetX = offsetX;
6465
+ event.offsetY = offsetY;
6466
+ // Go ahead and set deltaMode to 0 since we converted to pixels
6467
+ // Although this is a little odd since we overwrite the deltaX/Y
6468
+ // properties with normalized deltas.
6469
+ event.deltaMode = 0;
6470
+
6471
+ // Add event and delta to the front of the arguments
6472
+ args.unshift(event, delta, deltaX, deltaY);
6473
+
6474
+ // Clearout lowestDelta after sometime to better
6475
+ // handle multiple device types that give different
6476
+ // a different lowestDelta
6477
+ // Ex: trackpad = 3 and mouse wheel = 120
6478
+ if (nullLowestDeltaTimeout) { clearTimeout(nullLowestDeltaTimeout); }
6479
+ nullLowestDeltaTimeout = setTimeout(nullLowestDelta, 200);
6480
+
6481
+ return ($.event.dispatch || $.event.handle).apply(this, args);
6482
+ }
6483
+
6484
+ function nullLowestDelta() {
6485
+ lowestDelta = null;
6486
+ }
6487
+
6488
+ function shouldAdjustOldDeltas(orgEvent, absDelta) {
6489
+ // If this is an older event and the delta is divisable by 120,
6490
+ // then we are assuming that the browser is treating this as an
6491
+ // older mouse wheel event and that we should divide the deltas
6492
+ // by 40 to try and get a more usable deltaFactor.
6493
+ // Side note, this actually impacts the reported scroll distance
6494
+ // in older browsers and can cause scrolling to be slower than native.
6495
+ // Turn this off by setting $.event.special.mousewheel.settings.adjustOldDeltas to false.
6496
+ return special.settings.adjustOldDeltas && orgEvent.type === 'mousewheel' && absDelta % 120 === 0;
6497
+ }
6498
+
6499
+ }));
6500
+
6501
+ S2.define('jquery.select2',[
6502
+ 'jquery',
6503
+ 'jquery-mousewheel',
6504
+
6505
+ './select2/core',
6506
+ './select2/defaults'
6507
+ ], function ($, _, Select2, Defaults) {
6508
+ if ($.fn.selectWoo == null) {
6509
+ // All methods that should return the element
6510
+ var thisMethods = ['open', 'close', 'destroy'];
6511
+
6512
+ $.fn.selectWoo = function (options) {
6513
+ options = options || {};
6514
+
6515
+ if (typeof options === 'object') {
6516
+ this.each(function () {
6517
+ var instanceOptions = $.extend(true, {}, options);
6518
+
6519
+ var instance = new Select2($(this), instanceOptions);
6520
+ });
6521
+
6522
+ return this;
6523
+ } else if (typeof options === 'string') {
6524
+ var ret;
6525
+ var args = Array.prototype.slice.call(arguments, 1);
6526
+
6527
+ this.each(function () {
6528
+ var instance = $(this).data('select2');
6529
+
6530
+ if (instance == null && window.console && console.error) {
6531
+ console.error(
6532
+ 'The select2(\'' + options + '\') method was called on an ' +
6533
+ 'element that is not using Select2.'
6534
+ );
6535
+ }
6536
+
6537
+ ret = instance[options].apply(instance, args);
6538
+ });
6539
+
6540
+ // Check if we should be returning `this`
6541
+ if ($.inArray(options, thisMethods) > -1) {
6542
+ return this;
6543
+ }
6544
+
6545
+ return ret;
6546
+ } else {
6547
+ throw new Error('Invalid arguments for Select2: ' + options);
6548
+ }
6549
+ };
6550
+ }
6551
+
6552
+ if ($.fn.select2 != null && $.fn.select2.defaults != null) {
6553
+ $.fn.selectWoo.defaults = $.fn.select2.defaults;
6554
+ }
6555
+
6556
+ if ($.fn.selectWoo.defaults == null) {
6557
+ $.fn.selectWoo.defaults = Defaults;
6558
+ }
6559
+
6560
+ // Also register selectWoo under select2 if select2 is not already present.
6561
+ $.fn.select2 = $.fn.select2 || $.fn.selectWoo;
6562
+
6563
+ return Select2;
6564
+ });
6565
+
6566
+ // Return the AMD loader configuration so it can be used outside of this file
6567
+ return {
6568
+ define: S2.define,
6569
+ require: S2.require
6570
+ };
6571
+ }());
6572
+
6573
+ // Autoload the jQuery bindings
6574
+ // We know that all of the modules exist above this, so we're safe
6575
+ var select2 = S2.require('jquery.select2');
6576
+
6577
+ // Hold the AMD module references on the jQuery function that was just loaded
6578
+ // This allows Select2 to use the internal loader outside of this file, such
6579
+ // as in the language files.
6580
+ jQuery.fn.select2.amd = S2;
6581
+ jQuery.fn.selectWoo.amd = S2;
6582
+
6583
+ // Return the Select2 instance for anyone who is importing it.
6584
+ return select2;
6585
+ }));
assets/js/selectWoo/selectWoo.full.min.js ADDED
@@ -0,0 +1 @@
 
1
+ /*! Select2 1.0.1 | https://github.com/select2/select2/blob/master/LICENSE.md */!function(a){"function"==typeof define&&define.amd?define(["jquery"],a):"object"==typeof module&&module.exports?module.exports=function(b,c){return void 0===c&&(c="undefined"!=typeof window?require("jquery"):require("jquery")(b)),a(c),c}:a(jQuery)}(function(a){var b=function(){if(a&&a.fn&&a.fn.select2&&a.fn.select2.amd)var b=a.fn.select2.amd;var b;return function(){if(!b||!b.requirejs){b?c=b:b={};var a,c,d;!function(b){function e(a,b){return v.call(a,b)}function f(a,b){var c,d,e,f,g,h,i,j,k,l,m,n,o=b&&b.split("/"),p=t.map,q=p&&p["*"]||{};if(a){for(a=a.split("/"),g=a.length-1,t.nodeIdCompat&&x.test(a[g])&&(a[g]=a[g].replace(x,"")),"."===a[0].charAt(0)&&o&&(n=o.slice(0,o.length-1),a=n.concat(a)),k=0;k<a.length;k++)if("."===(m=a[k]))a.splice(k,1),k-=1;else if(".."===m){if(0===k||1===k&&".."===a[2]||".."===a[k-1])continue;k>0&&(a.splice(k-1,2),k-=2)}a=a.join("/")}if((o||q)&&p){for(c=a.split("/"),k=c.length;k>0;k-=1){if(d=c.slice(0,k).join("/"),o)for(l=o.length;l>0;l-=1)if((e=p[o.slice(0,l).join("/")])&&(e=e[d])){f=e,h=k;break}if(f)break;!i&&q&&q[d]&&(i=q[d],j=k)}!f&&i&&(f=i,h=j),f&&(c.splice(0,h,f),a=c.join("/"))}return a}function g(a,c){return function(){var d=w.call(arguments,0);return"string"!=typeof d[0]&&1===d.length&&d.push(null),o.apply(b,d.concat([a,c]))}}function h(a){return function(b){return f(b,a)}}function i(a){return function(b){r[a]=b}}function j(a){if(e(s,a)){var c=s[a];delete s[a],u[a]=!0,n.apply(b,c)}if(!e(r,a)&&!e(u,a))throw new Error("No "+a);return r[a]}function k(a){var b,c=a?a.indexOf("!"):-1;return c>-1&&(b=a.substring(0,c),a=a.substring(c+1,a.length)),[b,a]}function l(a){return a?k(a):[]}function m(a){return function(){return t&&t.config&&t.config[a]||{}}}var n,o,p,q,r={},s={},t={},u={},v=Object.prototype.hasOwnProperty,w=[].slice,x=/\.js$/;p=function(a,b){var c,d=k(a),e=d[0],g=b[1];return a=d[1],e&&(e=f(e,g),c=j(e)),e?a=c&&c.normalize?c.normalize(a,h(g)):f(a,g):(a=f(a,g),d=k(a),e=d[0],a=d[1],e&&(c=j(e))),{f:e?e+"!"+a:a,n:a,pr:e,p:c}},q={require:function(a){return g(a)},exports:function(a){var b=r[a];return void 0!==b?b:r[a]={}},module:function(a){return{id:a,uri:"",exports:r[a],config:m(a)}}},n=function(a,c,d,f){var h,k,m,n,o,t,v,w=[],x=typeof d;if(f=f||a,t=l(f),"undefined"===x||"function"===x){for(c=!c.length&&d.length?["require","exports","module"]:c,o=0;o<c.length;o+=1)if(n=p(c[o],t),"require"===(k=n.f))w[o]=q.require(a);else if("exports"===k)w[o]=q.exports(a),v=!0;else if("module"===k)h=w[o]=q.module(a);else if(e(r,k)||e(s,k)||e(u,k))w[o]=j(k);else{if(!n.p)throw new Error(a+" missing "+k);n.p.load(n.n,g(f,!0),i(k),{}),w[o]=r[k]}m=d?d.apply(r[a],w):void 0,a&&(h&&h.exports!==b&&h.exports!==r[a]?r[a]=h.exports:m===b&&v||(r[a]=m))}else a&&(r[a]=d)},a=c=o=function(a,c,d,e,f){if("string"==typeof a)return q[a]?q[a](c):j(p(a,l(c)).f);if(!a.splice){if(t=a,t.deps&&o(t.deps,t.callback),!c)return;c.splice?(a=c,c=d,d=null):a=b}return c=c||function(){},"function"==typeof d&&(d=e,e=f),e?n(b,a,c,d):setTimeout(function(){n(b,a,c,d)},4),o},o.config=function(a){return o(a)},a._defined=r,d=function(a,b,c){if("string"!=typeof a)throw new Error("See almond README: incorrect module build, no module name");b.splice||(c=b,b=[]),e(r,a)||e(s,a)||(s[a]=[a,b,c])},d.amd={jQuery:!0}}(),b.requirejs=a,b.require=c,b.define=d}}(),b.define("almond",function(){}),b.define("jquery",[],function(){var b=a||$;return null==b&&console&&console.error&&console.error("Select2: An instance of jQuery or a jQuery-compatible library was not found. Make sure that you are including jQuery before Select2 on your web page."),b}),b.define("select2/utils",["jquery"],function(a){function b(a){var b=a.prototype,c=[];for(var d in b){"function"==typeof b[d]&&("constructor"!==d&&c.push(d))}return c}var c={};c.Extend=function(a,b){function c(){this.constructor=a}var d={}.hasOwnProperty;for(var e in b)d.call(b,e)&&(a[e]=b[e]);return c.prototype=b.prototype,a.prototype=new c,a.__super__=b.prototype,a},c.Decorate=function(a,c){function d(){var b=Array.prototype.unshift,d=c.prototype.constructor.length,e=a.prototype.constructor;d>0&&(b.call(arguments,a.prototype.constructor),e=c.prototype.constructor),e.apply(this,arguments)}function e(){this.constructor=d}var f=b(c),g=b(a);c.displayName=a.displayName,d.prototype=new e;for(var h=0;h<g.length;h++){var i=g[h];d.prototype[i]=a.prototype[i]}for(var j=(function(a){var b=function(){};a in d.prototype&&(b=d.prototype[a]);var e=c.prototype[a];return function(){return Array.prototype.unshift.call(arguments,b),e.apply(this,arguments)}}),k=0;k<f.length;k++){var l=f[k];d.prototype[l]=j(l)}return d};var d=function(){this.listeners={}};return d.prototype.on=function(a,b){this.listeners=this.listeners||{},a in this.listeners?this.listeners[a].push(b):this.listeners[a]=[b]},d.prototype.trigger=function(a){var b=Array.prototype.slice,c=b.call(arguments,1);this.listeners=this.listeners||{},null==c&&(c=[]),0===c.length&&c.push({}),c[0]._type=a,a in this.listeners&&this.invoke(this.listeners[a],b.call(arguments,1)),"*"in this.listeners&&this.invoke(this.listeners["*"],arguments)},d.prototype.invoke=function(a,b){for(var c=0,d=a.length;c<d;c++)a[c].apply(this,b)},c.Observable=d,c.generateChars=function(a){for(var b="",c=0;c<a;c++){b+=Math.floor(36*Math.random()).toString(36)}return b},c.bind=function(a,b){return function(){a.apply(b,arguments)}},c._convertData=function(a){for(var b in a){var c=b.split("-"),d=a;if(1!==c.length){for(var e=0;e<c.length;e++){var f=c[e];f=f.substring(0,1).toLowerCase()+f.substring(1),f in d||(d[f]={}),e==c.length-1&&(d[f]=a[b]),d=d[f]}delete a[b]}}return a},c.hasScroll=function(b,c){var d=a(c),e=c.style.overflowX,f=c.style.overflowY;return(e!==f||"hidden"!==f&&"visible"!==f)&&("scroll"===e||"scroll"===f||(d.innerHeight()<c.scrollHeight||d.innerWidth()<c.scrollWidth))},c.escapeMarkup=function(a){var b={"\\":"&#92;","&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#39;","/":"&#47;"};return"string"!=typeof a?a:String(a).replace(/[&<>"'\/\\]/g,function(a){return b[a]})},c.appendMany=function(b,c){if("1.7"===a.fn.jquery.substr(0,3)){var d=a();a.map(c,function(a){d=d.add(a)}),c=d}b.append(c)},c.isTouchscreen=function(){return void 0===c._isTouchscreenCache&&(c._isTouchscreenCache="ontouchstart"in document.documentElement),c._isTouchscreenCache},c}),b.define("select2/results",["jquery","./utils"],function(a,b){function c(a,b,d){this.$element=a,this.data=d,this.options=b,c.__super__.constructor.call(this)}return b.Extend(c,b.Observable),c.prototype.render=function(){var b=a('<ul class="select2-results__options" role="listbox" tabindex="-1"></ul>');return this.options.get("multiple")&&b.attr("aria-multiselectable","true"),this.$results=b,b},c.prototype.clear=function(){this.$results.empty()},c.prototype.displayMessage=function(b){var c=this.options.get("escapeMarkup");this.clear(),this.hideLoading();var d=a('<li role="alert" aria-live="assertive" class="select2-results__option"></li>'),e=this.options.get("translations").get(b.message);d.append(c(e(b.args))),d[0].className+=" select2-results__message",this.$results.append(d)},c.prototype.hideMessages=function(){this.$results.find(".select2-results__message").remove()},c.prototype.append=function(a){this.hideLoading();var b=[];if(null==a.results||0===a.results.length)return void(0===this.$results.children().length&&this.trigger("results:message",{message:"noResults"}));a.results=this.sort(a.results);for(var c=0;c<a.results.length;c++){var d=a.results[c],e=this.option(d);b.push(e)}this.$results.append(b)},c.prototype.position=function(a,b){b.find(".select2-results").append(a)},c.prototype.sort=function(a){return this.options.get("sorter")(a)},c.prototype.highlightFirstItem=function(){var a=this.$results.find(".select2-results__option[data-selected]"),b=a.filter("[data-selected=true]");b.length>0?b.first().trigger("mouseenter"):a.first().trigger("mouseenter"),this.ensureHighlightVisible()},c.prototype.setClasses=function(){var b=this;this.data.current(function(c){var d=a.map(c,function(a){return a.id.toString()});b.$results.find(".select2-results__option[data-selected]").each(function(){var b=a(this),c=a.data(this,"data"),e=""+c.id;null!=c.element&&c.element.selected||null==c.element&&a.inArray(e,d)>-1?b.attr("data-selected","true"):b.attr("data-selected","false")})})},c.prototype.showLoading=function(a){this.hideLoading();var b=this.options.get("translations").get("searching"),c={disabled:!0,loading:!0,text:b(a)},d=this.option(c);d.className+=" loading-results",this.$results.prepend(d)},c.prototype.hideLoading=function(){this.$results.find(".loading-results").remove()},c.prototype.option=function(b){var c=document.createElement("li");c.className="select2-results__option";var d={role:"option","data-selected":"false",tabindex:-1};b.disabled&&(delete d["data-selected"],d["aria-disabled"]="true"),null==b.id&&delete d["data-selected"],null!=b._resultId&&(c.id=b._resultId),b.title&&(c.title=b.title),b.children&&(d["aria-label"]=b.text,delete d["data-selected"]);for(var e in d){var f=d[e];c.setAttribute(e,f)}if(b.children){var g=a(c),h=document.createElement("strong");h.className="select2-results__group";var i=a(h);this.template(b,h),i.attr("role","presentation");for(var j=[],k=0;k<b.children.length;k++){var l=b.children[k],m=this.option(l);j.push(m)}var n=a("<ul></ul>",{class:"select2-results__options select2-results__options--nested",role:"listbox"});n.append(j),g.attr("role","list"),g.append(h),g.append(n)}else this.template(b,c);return a.data(c,"data",b),c},c.prototype.bind=function(b,c){var d=this,e=b.id+"-results";this.$results.attr("id",e),b.on("results:all",function(a){d.clear(),d.append(a.data),b.isOpen()&&(d.setClasses(),d.highlightFirstItem())}),b.on("results:append",function(a){d.append(a.data),b.isOpen()&&d.setClasses()}),b.on("query",function(a){d.hideMessages(),d.showLoading(a)}),b.on("select",function(){b.isOpen()&&(d.setClasses(),d.highlightFirstItem())}),b.on("unselect",function(){b.isOpen()&&(d.setClasses(),d.highlightFirstItem())}),b.on("open",function(){d.$results.attr("aria-expanded","true"),d.$results.attr("aria-hidden","false"),d.setClasses(),d.ensureHighlightVisible()}),b.on("close",function(){d.$results.attr("aria-expanded","false"),d.$results.attr("aria-hidden","true"),d.$results.removeAttr("aria-activedescendant")}),b.on("results:toggle",function(){var a=d.getHighlightedResults();0!==a.length&&a.trigger("mouseup")}),b.on("results:select",function(){var a=d.getHighlightedResults();if(0!==a.length){var b=a.data("data");"true"==a.attr("data-selected")?d.trigger("close",{}):d.trigger("select",{data:b})}}),b.on("results:previous",function(){var a=d.getHighlightedResults(),b=d.$results.find("[data-selected]"),c=b.index(a);if(0!==c){var e=c-1;0===a.length&&(e=0);var f=b.eq(e);f.trigger("mouseenter");var g=d.$results.offset().top,h=f.offset().top,i=d.$results.scrollTop()+(h-g);0===e?d.$results.scrollTop(0):h-g<0&&d.$results.scrollTop(i)}}),b.on("results:next",function(){var a=d.getHighlightedResults(),b=d.$results.find("[data-selected]"),c=b.index(a),e=c+1;if(!(e>=b.length)){var f=b.eq(e);f.trigger("mouseenter");var g=d.$results.offset().top+d.$results.outerHeight(!1),h=f.offset().top+f.outerHeight(!1),i=d.$results.scrollTop()+h-g;0===e?d.$results.scrollTop(0):h>g&&d.$results.scrollTop(i)}}),b.on("results:focus",function(a){a.element.addClass("select2-results__option--highlighted").attr("aria-selected","true"),d.$results.attr("aria-activedescendant",a.element.attr("id"))}),b.on("results:message",function(a){d.displayMessage(a)}),a.fn.mousewheel&&this.$results.on("mousewheel",function(a){var b=d.$results.scrollTop(),c=d.$results.get(0).scrollHeight-b+a.deltaY,e=a.deltaY>0&&b-a.deltaY<=0,f=a.deltaY<0&&c<=d.$results.height();e?(d.$results.scrollTop(0),a.preventDefault(),a.stopPropagation()):f&&(d.$results.scrollTop(d.$results.get(0).scrollHeight-d.$results.height()),a.preventDefault(),a.stopPropagation())}),this.$results.on("mouseup",".select2-results__option[data-selected]",function(b){var c=a(this),e=c.data("data");if("true"===c.attr("data-selected"))return void(d.options.get("multiple")?d.trigger("unselect",{originalEvent:b,data:e}):d.trigger("close",{}));d.trigger("select",{originalEvent:b,data:e})}),this.$results.on("mouseenter",".select2-results__option[data-selected]",function(b){var c=a(this).data("data");d.getHighlightedResults().removeClass("select2-results__option--highlighted").attr("aria-selected","false"),d.trigger("results:focus",{data:c,element:a(this)})})},c.prototype.getHighlightedResults=function(){return this.$results.find(".select2-results__option--highlighted")},c.prototype.destroy=function(){this.$results.remove()},c.prototype.ensureHighlightVisible=function(){var a=this.getHighlightedResults();if(0!==a.length){var b=this.$results.find("[data-selected]"),c=b.index(a),d=this.$results.offset().top,e=a.offset().top,f=this.$results.scrollTop()+(e-d),g=e-d;f-=2*a.outerHeight(!1),c<=2?this.$results.scrollTop(0):(g>this.$results.outerHeight()||g<0)&&this.$results.scrollTop(f)}},c.prototype.template=function(b,c){var d=this.options.get("templateResult"),e=this.options.get("escapeMarkup"),f=d(b,c);null==f?c.style.display="none":"string"==typeof f?c.innerHTML=e(f):a(c).append(f)},c}),b.define("select2/keys",[],function(){return{BACKSPACE:8,TAB:9,ENTER:13,SHIFT:16,CTRL:17,ALT:18,ESC:27,SPACE:32,PAGE_UP:33,PAGE_DOWN:34,END:35,HOME:36,LEFT:37,UP:38,RIGHT:39,DOWN:40,DELETE:46}}),b.define("select2/selection/base",["jquery","../utils","../keys"],function(a,b,c){function d(a,b){this.$element=a,this.options=b,d.__super__.constructor.call(this)}return b.Extend(d,b.Observable),d.prototype.render=function(){var b=a('<span class="select2-selection" aria-haspopup="true" aria-expanded="false"></span>');return this._tabindex=0,null!=this.$element.data("old-tabindex")?this._tabindex=this.$element.data("old-tabindex"):null!=this.$element.attr("tabindex")&&(this._tabindex=this.$element.attr("tabindex")),b.attr("title",this.$element.attr("title")),b.attr("tabindex",this._tabindex),this.$selection=b,b},d.prototype.bind=function(a,b){var d=this,e=(a.id,a.id+"-results");this.options.get("minimumResultsForSearch");this.container=a,this.$selection.on("focus",function(a){d.trigger("focus",a)}),this.$selection.on("blur",function(a){d._handleBlur(a)}),this.$selection.on("keydown",function(a){d.trigger("keypress",a),a.which===c.SPACE&&a.preventDefault()}),a.on("results:focus",function(a){d.$selection.attr("aria-activedescendant",a.data._resultId)}),a.on("selection:update",function(a){d.update(a.data)}),a.on("open",function(){d.$selection.attr("aria-expanded","true"),d.$selection.attr("aria-owns",e),d._attachCloseHandler(a)}),a.on("close",function(){d.$selection.attr("aria-expanded","false"),d.$selection.removeAttr("aria-activedescendant"),d.$selection.removeAttr("aria-owns"),window.setTimeout(function(){d.$selection.focus()},1),d._detachCloseHandler(a)}),a.on("enable",function(){d.$selection.attr("tabindex",d._tabindex)}),a.on("disable",function(){d.$selection.attr("tabindex","-1")})},d.prototype._handleBlur=function(b){var c=this;window.setTimeout(function(){document.activeElement==c.$selection[0]||a.contains(c.$selection[0],document.activeElement)||c.trigger("blur",b)},1)},d.prototype._attachCloseHandler=function(b){a(document.body).on("mousedown.select2."+b.id,function(b){var c=a(b.target),d=c.closest(".select2");a(".select2.select2-container--open").each(function(){var b=a(this);this!=d[0]&&(b.data("element").select2("close"),setTimeout(function(){b.find("*:focus").blur(),c.focus()},1))})})},d.prototype._detachCloseHandler=function(b){a(document.body).off("mousedown.select2."+b.id)},d.prototype.position=function(a,b){b.find(".selection").append(a)},d.prototype.destroy=function(){this._detachCloseHandler(this.container)},d.prototype.update=function(a){throw new Error("The `update` method must be defined in child classes.")},d}),b.define("select2/selection/single",["jquery","./base","../utils","../keys"],function(a,b,c,d){function e(){e.__super__.constructor.apply(this,arguments)}return c.Extend(e,b),e.prototype.render=function(){var a=e.__super__.render.call(this);return a.addClass("select2-selection--single"),a.html('<span class="select2-selection__rendered"></span><span class="select2-selection__arrow" role="presentation"><b role="presentation"></b></span>'),a},e.prototype.bind=function(a,b){var c=this;e.__super__.bind.apply(this,arguments);var d=a.id+"-container";this.$selection.find(".select2-selection__rendered").attr("id",d).attr("role","textbox").attr("aria-readonly","true"),this.$selection.attr("aria-labelledby",d),this.$selection.attr("role","combobox"),this.$selection.on("mousedown",function(a){1===a.which&&c.trigger("toggle",{originalEvent:a})}),this.$selection.on("focus",function(a){}),this.$selection.on("keydown",function(b){!a.isOpen()&&b.which>=48&&b.which<=90&&a.open()}),this.$selection.on("blur",function(a){}),a.on("focus",function(b){a.isOpen()||c.$selection.focus()}),a.on("selection:update",function(a){c.update(a.data)})},e.prototype.clear=function(){this.$selection.find(".select2-selection__rendered").empty()},e.prototype.display=function(a,b){var c=this.options.get("templateSelection");return this.options.get("escapeMarkup")(c(a,b))},e.prototype.selectionContainer=function(){return a("<span></span>")},e.prototype.update=function(a){if(0===a.length)return void this.clear();var b=a[0],c=this.$selection.find(".select2-selection__rendered"),d=this.display(b,c);c.empty().append(d),c.prop("title",b.title||b.text)},e}),b.define("select2/selection/multiple",["jquery","./base","../utils"],function(a,b,c){function d(a,b){d.__super__.constructor.apply(this,arguments)}return c.Extend(d,b),d.prototype.render=function(){var a=d.__super__.render.call(this);return a.addClass("select2-selection--multiple"),a.html('<ul class="select2-selection__rendered" aria-live="polite" aria-relevant="additions removals" aria-atomic="true"></ul>'),a},d.prototype.bind=function(b,c){var e=this;d.__super__.bind.apply(this,arguments),this.$selection.on("click",function(a){e.trigger("toggle",{originalEvent:a})}),this.$selection.on("click",".select2-selection__choice__remove",function(b){if(!e.options.get("disabled")){var c=a(this),d=c.parent(),f=d.data("data");e.trigger("unselect",{originalEvent:b,data:f})}}),this.$selection.on("keydown",function(a){!b.isOpen()&&a.which>=48&&a.which<=90&&b.open()}),b.on("focus",function(){e.focusOnSearch()})},d.prototype.clear=function(){this.$selection.find(".select2-selection__rendered").empty()},d.prototype.display=function(a,b){var c=this.options.get("templateSelection");return this.options.get("escapeMarkup")(c(a,b))},d.prototype.selectionContainer=function(){return a('<li class="select2-selection__choice"><span class="select2-selection__choice__remove" role="presentation" aria-hidden="true">&times;</span></li>')},d.prototype.focusOnSearch=function(){var a=this;void 0!==a.$search&&setTimeout(function(){a._keyUpPrevented=!0,a.$search.focus()},1)},d.prototype.update=function(a){if(this.clear(),0!==a.length){for(var b=[],d=0;d<a.length;d++){var e=a[d],f=this.selectionContainer(),g=this.display(e,f);"string"==typeof g&&(g=g.trim()),f.append(g),f.prop("title",e.title||e.text),f.data("data",e),b.push(f)}var h=this.$selection.find(".select2-selection__rendered");c.appendMany(h,b)}},d}),b.define("select2/selection/placeholder",["../utils"],function(a){function b(a,b,c){this.placeholder=this.normalizePlaceholder(c.get("placeholder")),a.call(this,b,c)}return b.prototype.normalizePlaceholder=function(a,b){return"string"==typeof b&&(b={id:"",text:b}),b},b.prototype.createPlaceholder=function(a,b){var c=this.selectionContainer();return c.html(this.display(b)),c.addClass("select2-selection__placeholder").removeClass("select2-selection__choice"),c},b.prototype.update=function(a,b){var c=1==b.length&&b[0].id!=this.placeholder.id;if(b.length>1||c)return a.call(this,b);this.clear();var d=this.createPlaceholder(this.placeholder);this.$selection.find(".select2-selection__rendered").append(d)},b}),b.define("select2/selection/allowClear",["jquery","../keys"],function(a,b){function c(){}return c.prototype.bind=function(a,b,c){var d=this;a.call(this,b,c),null==this.placeholder&&this.options.get("debug")&&window.console&&console.error&&console.error("Select2: The `allowClear` option should be used in combination with the `placeholder` option."),this.$selection.on("mousedown",".select2-selection__clear",function(a){d._handleClear(a)}),b.on("keypress",function(a){d._handleKeyboardClear(a,b)})},c.prototype._handleClear=function(a,b){if(!this.options.get("disabled")){var c=this.$selection.find(".select2-selection__clear");if(0!==c.length){b.stopPropagation();for(var d=c.data("data"),e=0;e<d.length;e++){var f={data:d[e]};if(this.trigger("unselect",f),f.prevented)return}this.$element.val(this.placeholder.id).trigger("change"),this.trigger("toggle",{})}}},c.prototype._handleKeyboardClear=function(a,c,d){d.isOpen()||c.which!=b.DELETE&&c.which!=b.BACKSPACE||this._handleClear(c)},c.prototype.update=function(b,c){if(b.call(this,c),!(this.$selection.find(".select2-selection__placeholder").length>0||0===c.length)){var d=a('<span class="select2-selection__clear">&times;</span>');d.data("data",c),this.$selection.find(".select2-selection__rendered").prepend(d)}},c}),b.define("select2/selection/search",["jquery","../utils","../keys"],function(a,b,c){function d(a,b,c){a.call(this,b,c)}return d.prototype.render=function(b){var c=a('<li class="select2-search select2-search--inline"><input class="select2-search__field" type="text" tabindex="-1" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false" role="textbox" aria-autocomplete="list" /></li>');this.$searchContainer=c,this.$search=c.find("input");var d=b.call(this);return this._transferTabIndex(),d},d.prototype.bind=function(a,b,d){var e=this,f=b.id+"-results";a.call(this,b,d),b.on("open",function(){e.$search.attr("aria-owns",f),e.$search.trigger("focus")}),b.on("close",function(){e.$search.val(""),e.$search.removeAttr("aria-activedescendant"),e.$search.removeAttr("aria-owns"),e.$search.trigger("focus")}),b.on("enable",function(){e.$search.prop("disabled",!1),e._transferTabIndex()}),b.on("disable",function(){e.$search.prop("disabled",!0)}),b.on("focus",function(a){e.$search.trigger("focus")}),b.on("results:focus",function(a){e.$search.attr("aria-activedescendant",a.data._resultId)}),this.$selection.on("focusin",".select2-search--inline",function(a){e.trigger("focus",a)}),this.$selection.on("focusout",".select2-search--inline",function(a){e._handleBlur(a)}),this.$selection.on("keydown",".select2-search--inline",function(a){if(a.stopPropagation(),e.trigger("keypress",a),e._keyUpPrevented=a.isDefaultPrevented(),a.which===c.BACKSPACE&&""===e.$search.val()){var d=e.$searchContainer.prev(".select2-selection__choice");if(d.length>0){var f=d.data("data");e.searchRemoveChoice(f),a.preventDefault()}}else a.which===c.ENTER&&(b.open(),a.preventDefault())});var g=document.documentMode,h=g&&g<=11;this.$selection.on("input.searchcheck",".select2-search--inline",function(a){if(h)return void e.$selection.off("input.search input.searchcheck");e.$selection.off("keyup.search")}),this.$selection.on("keyup.search input.search",".select2-search--inline",function(a){if(h&&"input"===a.type)return void e.$selection.off("input.search input.searchcheck");var b=a.which;b!=c.SHIFT&&b!=c.CTRL&&b!=c.ALT&&b!=c.TAB&&e.handleSearch(a)})},d.prototype._transferTabIndex=function(a){this.$search.attr("tabindex",this.$selection.attr("tabindex")),this.$selection.attr("tabindex","-1")},d.prototype.createPlaceholder=function(a,b){this.$search.attr("placeholder",b.text)},d.prototype.update=function(a,b){var c=this.$search[0]==document.activeElement;this.$search.attr("placeholder",""),a.call(this,b),this.$selection.find(".select2-selection__rendered").append(this.$searchContainer),this.resizeSearch(),c&&this.$search.focus()},d.prototype.handleSearch=function(){if(this.resizeSearch(),!this._keyUpPrevented){var a=this.$search.val();this.trigger("query",{term:a})}this._keyUpPrevented=!1},d.prototype.searchRemoveChoice=function(a,b){this.trigger("unselect",{data:b}),this.$search.val(b.text),this.handleSearch()},d.prototype.resizeSearch=function(){this.$search.css("width","25px");var a="";if(""!==this.$search.attr("placeholder"))a=this.$selection.find(".select2-selection__rendered").innerWidth();else{a=.75*(this.$search.val().length+1)+"em"}this.$search.css("width",a)},d}),b.define("select2/selection/eventRelay",["jquery"],function(a){function b(){}return b.prototype.bind=function(b,c,d){var e=this,f=["open","opening","close","closing","select","selecting","unselect","unselecting"],g=["opening","closing","selecting","unselecting"];b.call(this,c,d),c.on("*",function(b,c){if(-1!==a.inArray(b,f)){c=c||{};var d=a.Event("select2:"+b,{params:c});e.$element.trigger(d),-1!==a.inArray(b,g)&&(c.prevented=d.isDefaultPrevented())}})},b}),b.define("select2/translation",["jquery","require"],function(a,b){function c(a){this.dict=a||{}}return c.prototype.all=function(){return this.dict},c.prototype.get=function(a){return this.dict[a]},c.prototype.extend=function(b){this.dict=a.extend({},b.all(),this.dict)},c._cache={},c.loadPath=function(a){if(!(a in c._cache)){var d=b(a);c._cache[a]=d}return new c(c._cache[a])},c}),b.define("select2/diacritics",[],function(){return{"Ⓐ":"A","A":"A","À":"A","Á":"A","Â":"A","Ầ":"A","Ấ":"A","Ẫ":"A","Ẩ":"A","Ã":"A","Ā":"A","Ă":"A","Ằ":"A","Ắ":"A","Ẵ":"A","Ẳ":"A","Ȧ":"A","Ǡ":"A","Ä":"A","Ǟ":"A","Ả":"A","Å":"A","Ǻ":"A","Ǎ":"A","Ȁ":"A","Ȃ":"A","Ạ":"A","Ậ":"A","Ặ":"A","Ḁ":"A","Ą":"A","Ⱥ":"A","Ɐ":"A","Ꜳ":"AA","Æ":"AE","Ǽ":"AE","Ǣ":"AE","Ꜵ":"AO","Ꜷ":"AU","Ꜹ":"AV","Ꜻ":"AV","Ꜽ":"AY","Ⓑ":"B","B":"B","Ḃ":"B","Ḅ":"B","Ḇ":"B","Ƀ":"B","Ƃ":"B","Ɓ":"B","Ⓒ":"C","C":"C","Ć":"C","Ĉ":"C","Ċ":"C","Č":"C","Ç":"C","Ḉ":"C","Ƈ":"C","Ȼ":"C","Ꜿ":"C","Ⓓ":"D","D":"D","Ḋ":"D","Ď":"D","Ḍ":"D","Ḑ":"D","Ḓ":"D","Ḏ":"D","Đ":"D","Ƌ":"D","Ɗ":"D","Ɖ":"D","Ꝺ":"D","DZ":"DZ","DŽ":"DZ","Dz":"Dz","Dž":"Dz","Ⓔ":"E","E":"E","È":"E","É":"E","Ê":"E","Ề":"E","Ế":"E","Ễ":"E","Ể":"E","Ẽ":"E","Ē":"E","Ḕ":"E","Ḗ":"E","Ĕ":"E","Ė":"E","Ë":"E","Ẻ":"E","Ě":"E","Ȅ":"E","Ȇ":"E","Ẹ":"E","Ệ":"E","Ȩ":"E","Ḝ":"E","Ę":"E","Ḙ":"E","Ḛ":"E","Ɛ":"E","Ǝ":"E","Ⓕ":"F","F":"F","Ḟ":"F","Ƒ":"F","Ꝼ":"F","Ⓖ":"G","G":"G","Ǵ":"G","Ĝ":"G","Ḡ":"G","Ğ":"G","Ġ":"G","Ǧ":"G","Ģ":"G","Ǥ":"G","Ɠ":"G","Ꞡ":"G","Ᵹ":"G","Ꝿ":"G","Ⓗ":"H","H":"H","Ĥ":"H","Ḣ":"H","Ḧ":"H","Ȟ":"H","Ḥ":"H","Ḩ":"H","Ḫ":"H","Ħ":"H","Ⱨ":"H","Ⱶ":"H","Ɥ":"H","Ⓘ":"I","I":"I","Ì":"I","Í":"I","Î":"I","Ĩ":"I","Ī":"I","Ĭ":"I","İ":"I","Ï":"I","Ḯ":"I","Ỉ":"I","Ǐ":"I","Ȉ":"I","Ȋ":"I","Ị":"I","Į":"I","Ḭ":"I","Ɨ":"I","Ⓙ":"J","J":"J","Ĵ":"J","Ɉ":"J","Ⓚ":"K","K":"K","Ḱ":"K","Ǩ":"K","Ḳ":"K","Ķ":"K","Ḵ":"K","Ƙ":"K","Ⱪ":"K","Ꝁ":"K","Ꝃ":"K","Ꝅ":"K","Ꞣ":"K","Ⓛ":"L","L":"L","Ŀ":"L","Ĺ":"L","Ľ":"L","Ḷ":"L","Ḹ":"L","Ļ":"L","Ḽ":"L","Ḻ":"L","Ł":"L","Ƚ":"L","Ɫ":"L","Ⱡ":"L","Ꝉ":"L","Ꝇ":"L","Ꞁ":"L","LJ":"LJ","Lj":"Lj","Ⓜ":"M","M":"M","Ḿ":"M","Ṁ":"M","Ṃ":"M","Ɱ":"M","Ɯ":"M","Ⓝ":"N","N":"N","Ǹ":"N","Ń":"N","Ñ":"N","Ṅ":"N","Ň":"N","Ṇ":"N","Ņ":"N","Ṋ":"N","Ṉ":"N","Ƞ":"N","Ɲ":"N","Ꞑ":"N","Ꞥ":"N","NJ":"NJ","Nj":"Nj","Ⓞ":"O","O":"O","Ò":"O","Ó":"O","Ô":"O","Ồ":"O","Ố":"O","Ỗ":"O","Ổ":"O","Õ":"O","Ṍ":"O","Ȭ":"O","Ṏ":"O","Ō":"O","Ṑ":"O","Ṓ":"O","Ŏ":"O","Ȯ":"O","Ȱ":"O","Ö":"O","Ȫ":"O","Ỏ":"O","Ő":"O","Ǒ":"O","Ȍ":"O","Ȏ":"O","Ơ":"O","Ờ":"O","Ớ":"O","Ỡ":"O","Ở":"O","Ợ":"O","Ọ":"O","Ộ":"O","Ǫ":"O","Ǭ":"O","Ø":"O","Ǿ":"O","Ɔ":"O","Ɵ":"O","Ꝋ":"O","Ꝍ":"O","Ƣ":"OI","Ꝏ":"OO","Ȣ":"OU","Ⓟ":"P","P":"P","Ṕ":"P","Ṗ":"P","Ƥ":"P","Ᵽ":"P","Ꝑ":"P","Ꝓ":"P","Ꝕ":"P","Ⓠ":"Q","Q":"Q","Ꝗ":"Q","Ꝙ":"Q","Ɋ":"Q","Ⓡ":"R","R":"R","Ŕ":"R","Ṙ":"R","Ř":"R","Ȑ":"R","Ȓ":"R","Ṛ":"R","Ṝ":"R","Ŗ":"R","Ṟ":"R","Ɍ":"R","Ɽ":"R","Ꝛ":"R","Ꞧ":"R","Ꞃ":"R","Ⓢ":"S","S":"S","ẞ":"S","Ś":"S","Ṥ":"S","Ŝ":"S","Ṡ":"S","Š":"S","Ṧ":"S","Ṣ":"S","Ṩ":"S","Ș":"S","Ş":"S","Ȿ":"S","Ꞩ":"S","Ꞅ":"S","Ⓣ":"T","T":"T","Ṫ":"T","Ť":"T","Ṭ":"T","Ț":"T","Ţ":"T","Ṱ":"T","Ṯ":"T","Ŧ":"T","Ƭ":"T","Ʈ":"T","Ⱦ":"T","Ꞇ":"T","Ꜩ":"TZ","Ⓤ":"U","U":"U","Ù":"U","Ú":"U","Û":"U","Ũ":"U","Ṹ":"U","Ū":"U","Ṻ":"U","Ŭ":"U","Ü":"U","Ǜ":"U","Ǘ":"U","Ǖ":"U","Ǚ":"U","Ủ":"U","Ů":"U","Ű":"U","Ǔ":"U","Ȕ":"U","Ȗ":"U","Ư":"U","Ừ":"U","Ứ":"U","Ữ":"U","Ử":"U","Ự":"U","Ụ":"U","Ṳ":"U","Ų":"U","Ṷ":"U","Ṵ":"U","Ʉ":"U","Ⓥ":"V","V":"V","Ṽ":"V","Ṿ":"V","Ʋ":"V","Ꝟ":"V","Ʌ":"V","Ꝡ":"VY","Ⓦ":"W","W":"W","Ẁ":"W","Ẃ":"W","Ŵ":"W","Ẇ":"W","Ẅ":"W","Ẉ":"W","Ⱳ":"W","Ⓧ":"X","X":"X","Ẋ":"X","Ẍ":"X","Ⓨ":"Y","Y":"Y","Ỳ":"Y","Ý":"Y","Ŷ":"Y","Ỹ":"Y","Ȳ":"Y","Ẏ":"Y","Ÿ":"Y","Ỷ":"Y","Ỵ":"Y","Ƴ":"Y","Ɏ":"Y","Ỿ":"Y","Ⓩ":"Z","Z":"Z","Ź":"Z","Ẑ":"Z","Ż":"Z","Ž":"Z","Ẓ":"Z","Ẕ":"Z","Ƶ":"Z","Ȥ":"Z","Ɀ":"Z","Ⱬ":"Z","Ꝣ":"Z","ⓐ":"a","a":"a","ẚ":"a","à":"a","á":"a","â":"a","ầ":"a","ấ":"a","ẫ":"a","ẩ":"a","ã":"a","ā":"a","ă":"a","ằ":"a","ắ":"a","ẵ":"a","ẳ":"a","ȧ":"a","ǡ":"a","ä":"a","ǟ":"a","ả":"a","å":"a","ǻ":"a","ǎ":"a","ȁ":"a","ȃ":"a","ạ":"a","ậ":"a","ặ":"a","ḁ":"a","ą":"a","ⱥ":"a","ɐ":"a","ꜳ":"aa","æ":"ae","ǽ":"ae","ǣ":"ae","ꜵ":"ao","ꜷ":"au","ꜹ":"av","ꜻ":"av","ꜽ":"ay","ⓑ":"b","b":"b","ḃ":"b","ḅ":"b","ḇ":"b","ƀ":"b","ƃ":"b","ɓ":"b","ⓒ":"c","c":"c","ć":"c","ĉ":"c","ċ":"c","č":"c","ç":"c","ḉ":"c","ƈ":"c","ȼ":"c","ꜿ":"c","ↄ":"c","ⓓ":"d","d":"d","ḋ":"d","ď":"d","ḍ":"d","ḑ":"d","ḓ":"d","ḏ":"d","đ":"d","ƌ":"d","ɖ":"d","ɗ":"d","ꝺ":"d","dz":"dz","dž":"dz","ⓔ":"e","e":"e","è":"e","é":"e","ê":"e","ề":"e","ế":"e","ễ":"e","ể":"e","ẽ":"e","ē":"e","ḕ":"e","ḗ":"e","ĕ":"e","ė":"e","ë":"e","ẻ":"e","ě":"e","ȅ":"e","ȇ":"e","ẹ":"e","ệ":"e","ȩ":"e","ḝ":"e","ę":"e","ḙ":"e","ḛ":"e","ɇ":"e","ɛ":"e","ǝ":"e","ⓕ":"f","f":"f","ḟ":"f","ƒ":"f","ꝼ":"f","ⓖ":"g","g":"g","ǵ":"g","ĝ":"g","ḡ":"g","ğ":"g","ġ":"g","ǧ":"g","ģ":"g","ǥ":"g","ɠ":"g","ꞡ":"g","ᵹ":"g","ꝿ":"g","ⓗ":"h","h":"h","ĥ":"h","ḣ":"h","ḧ":"h","ȟ":"h","ḥ":"h","ḩ":"h","ḫ":"h","ẖ":"h","ħ":"h","ⱨ":"h","ⱶ":"h","ɥ":"h","ƕ":"hv","ⓘ":"i","i":"i","ì":"i","í":"i","î":"i","ĩ":"i","ī":"i","ĭ":"i","ï":"i","ḯ":"i","ỉ":"i","ǐ":"i","ȉ":"i","ȋ":"i","ị":"i","į":"i","ḭ":"i","ɨ":"i","ı":"i","ⓙ":"j","j":"j","ĵ":"j","ǰ":"j","ɉ":"j","ⓚ":"k","k":"k","ḱ":"k","ǩ":"k","ḳ":"k","ķ":"k","ḵ":"k","ƙ":"k","ⱪ":"k","ꝁ":"k","ꝃ":"k","ꝅ":"k","ꞣ":"k","ⓛ":"l","l":"l","ŀ":"l","ĺ":"l","ľ":"l","ḷ":"l","ḹ":"l","ļ":"l","ḽ":"l","ḻ":"l","ſ":"l","ł":"l","ƚ":"l","ɫ":"l","ⱡ":"l","ꝉ":"l","ꞁ":"l","ꝇ":"l","lj":"lj","ⓜ":"m","m":"m","ḿ":"m","ṁ":"m","ṃ":"m","ɱ":"m","ɯ":"m","ⓝ":"n","n":"n","ǹ":"n","ń":"n","ñ":"n","ṅ":"n","ň":"n","ṇ":"n","ņ":"n","ṋ":"n","ṉ":"n","ƞ":"n","ɲ":"n","ʼn":"n","ꞑ":"n","ꞥ":"n","nj":"nj","ⓞ":"o","o":"o","ò":"o","ó":"o","ô":"o","ồ":"o","ố":"o","ỗ":"o","ổ":"o","õ":"o","ṍ":"o","ȭ":"o","ṏ":"o","ō":"o","ṑ":"o","ṓ":"o","ŏ":"o","ȯ":"o","ȱ":"o","ö":"o","ȫ":"o","ỏ":"o","ő":"o","ǒ":"o","ȍ":"o","ȏ":"o","ơ":"o","ờ":"o","ớ":"o","ỡ":"o","ở":"o","ợ":"o","ọ":"o","ộ":"o","ǫ":"o","ǭ":"o","ø":"o","ǿ":"o","ɔ":"o","ꝋ":"o","ꝍ":"o","ɵ":"o","ƣ":"oi","ȣ":"ou","ꝏ":"oo","ⓟ":"p","p":"p","ṕ":"p","ṗ":"p","ƥ":"p","ᵽ":"p","ꝑ":"p","ꝓ":"p","ꝕ":"p","ⓠ":"q","q":"q","ɋ":"q","ꝗ":"q","ꝙ":"q","ⓡ":"r","r":"r","ŕ":"r","ṙ":"r","ř":"r","ȑ":"r","ȓ":"r","ṛ":"r","ṝ":"r","ŗ":"r","ṟ":"r","ɍ":"r","ɽ":"r","ꝛ":"r","ꞧ":"r","ꞃ":"r","ⓢ":"s","s":"s","ß":"s","ś":"s","ṥ":"s","ŝ":"s","ṡ":"s","š":"s","ṧ":"s","ṣ":"s","ṩ":"s","ș":"s","ş":"s","ȿ":"s","ꞩ":"s","ꞅ":"s","ẛ":"s","ⓣ":"t","t":"t","ṫ":"t","ẗ":"t","ť":"t","ṭ":"t","ț":"t","ţ":"t","ṱ":"t","ṯ":"t","ŧ":"t","ƭ":"t","ʈ":"t","ⱦ":"t","ꞇ":"t","ꜩ":"tz","ⓤ":"u","u":"u","ù":"u","ú":"u","û":"u","ũ":"u","ṹ":"u","ū":"u","ṻ":"u","ŭ":"u","ü":"u","ǜ":"u","ǘ":"u","ǖ":"u","ǚ":"u","ủ":"u","ů":"u","ű":"u","ǔ":"u","ȕ":"u","ȗ":"u","ư":"u","ừ":"u","ứ":"u","ữ":"u","ử":"u","ự":"u","ụ":"u","ṳ":"u","ų":"u","ṷ":"u","ṵ":"u","ʉ":"u","ⓥ":"v","v":"v","ṽ":"v","ṿ":"v","ʋ":"v","ꝟ":"v","ʌ":"v","ꝡ":"vy","ⓦ":"w","w":"w","ẁ":"w","ẃ":"w","ŵ":"w","ẇ":"w","ẅ":"w","ẘ":"w","ẉ":"w","ⱳ":"w","ⓧ":"x","x":"x","ẋ":"x","ẍ":"x","ⓨ":"y","y":"y","ỳ":"y","ý":"y","ŷ":"y","ỹ":"y","ȳ":"y","ẏ":"y","ÿ":"y","ỷ":"y","ẙ":"y","ỵ":"y","ƴ":"y","ɏ":"y","ỿ":"y","ⓩ":"z","z":"z","ź":"z","ẑ":"z","ż":"z","ž":"z","ẓ":"z","ẕ":"z","ƶ":"z","ȥ":"z","ɀ":"z","ⱬ":"z","ꝣ":"z","Ά":"Α","Έ":"Ε","Ή":"Η","Ί":"Ι","Ϊ":"Ι","Ό":"Ο","Ύ":"Υ","Ϋ":"Υ","Ώ":"Ω","ά":"α","έ":"ε","ή":"η","ί":"ι","ϊ":"ι","ΐ":"ι","ό":"ο","ύ":"υ","ϋ":"υ","ΰ":"υ","ω":"ω","ς":"σ"}}),b.define("select2/data/base",["../utils"],function(a){function b(a,c){b.__super__.constructor.call(this)}return a.Extend(b,a.Observable),b.prototype.current=function(a){throw new Error("The `current` method must be defined in child classes.")},b.prototype.query=function(a,b){throw new Error("The `query` method must be defined in child classes.")},b.prototype.bind=function(a,b){},b.prototype.destroy=function(){},b.prototype.generateResultId=function(b,c){var d="";return d+=null!=b?b.id:a.generateChars(4),d+="-result-",d+=a.generateChars(4),null!=c.id?d+="-"+c.id.toString():d+="-"+a.generateChars(4),d},b}),b.define("select2/data/select",["./base","../utils","jquery"],function(a,b,c){function d(a,b){this.$element=a,this.options=b,d.__super__.constructor.call(this)}return b.Extend(d,a),d.prototype.current=function(a){var b=[],d=this;this.$element.find(":selected").each(function(){var a=c(this),e=d.item(a);b.push(e)}),a(b)},d.prototype.select=function(a){var b=this;if(a.selected=!0,c(a.element).is("option"))return a.element.selected=!0,void this.$element.trigger("change");if(this.$element.prop("multiple"))this.current(function(d){var e=[];a=[a],a.push.apply(a,d);for(var f=0;f<a.length;f++){var g=a[f].id;-1===c.inArray(g,e)&&e.push(g)}b.$element.val(e),b.$element.trigger("change")});else{var d=a.id;this.$element.val(d),this.$element.trigger("change")}},d.prototype.unselect=function(a){var b=this;if(this.$element.prop("multiple")){if(a.selected=!1,c(a.element).is("option"))return a.element.selected=!1,void this.$element.trigger("change");this.current(function(d){for(var e=[],f=0;f<d.length;f++){var g=d[f].id;g!==a.id&&-1===c.inArray(g,e)&&e.push(g)}b.$element.val(e),b.$element.trigger("change")})}},d.prototype.bind=function(a,b){var c=this;this.container=a,a.on("select",function(a){c.select(a.data)}),a.on("unselect",function(a){c.unselect(a.data)})},d.prototype.destroy=function(){this.$element.find("*").each(function(){c.removeData(this,"data")})},d.prototype.query=function(a,b){var d=[],e=this;this.$element.children().each(function(){var b=c(this);if(b.is("option")||b.is("optgroup")){var f=e.item(b),g=e.matches(a,f);null!==g&&d.push(g)}}),b({results:d})},d.prototype.addOptions=function(a){b.appendMany(this.$element,a)},d.prototype.option=function(a){var b;a.children?(b=document.createElement("optgroup"),b.label=a.text):(b=document.createElement("option"),void 0!==b.textContent?b.textContent=a.text:b.innerText=a.text),void 0!==a.id&&(b.value=a.id),a.disabled&&(b.disabled=!0),a.selected&&(b.selected=!0),a.title&&(b.title=a.title);var d=c(b),e=this._normalizeItem(a);return e.element=b,c.data(b,"data",e),d},d.prototype.item=function(a){var b={};if(null!=(b=c.data(a[0],"data")))return b;if(a.is("option"))b={id:a.val(),text:a.text(),disabled:a.prop("disabled"),selected:a.prop("selected"),title:a.prop("title")};else if(a.is("optgroup")){b={text:a.prop("label"),children:[],title:a.prop("title")};for(var d=a.children("option"),e=[],f=0;f<d.length;f++){var g=c(d[f]),h=this.item(g);e.push(h)}b.children=e}return b=this._normalizeItem(b),b.element=a[0],c.data(a[0],"data",b),b},d.prototype._normalizeItem=function(a){c.isPlainObject(a)||(a={id:a,text:a}),a=c.extend({},{text:""},a);var b={selected:!1,disabled:!1};return null!=a.id&&(a.id=a.id.toString()),null!=a.text&&(a.text=a.text.toString()),null==a._resultId&&a.id&&(a._resultId=this.generateResultId(this.container,a)),c.extend({},b,a)},d.prototype.matches=function(a,b){return this.options.get("matcher")(a,b)},d}),b.define("select2/data/array",["./select","../utils","jquery"],function(a,b,c){function d(a,b){var c=b.get("data")||[];d.__super__.constructor.call(this,a,b),this.addOptions(this.convertToOptions(c))}return b.Extend(d,a),d.prototype.select=function(a){var b=this.$element.find("option").filter(function(b,c){return c.value==a.id.toString()});0===b.length&&(b=this.option(a),this.addOptions(b)),d.__super__.select.call(this,a)},d.prototype.convertToOptions=function(a){function d(a){return function(){return c(this).val()==a.id}}for(var e=this,f=this.$element.find("option"),g=f.map(function(){return e.item(c(this)).id}).get(),h=[],i=0;i<a.length;i++){var j=this._normalizeItem(a[i]);if(c.inArray(j.id,g)>=0){var k=f.filter(d(j)),l=this.item(k),m=c.extend(!0,{},j,l),n=this.option(m);k.replaceWith(n)}else{var o=this.option(j);if(j.children){var p=this.convertToOptions(j.children);b.appendMany(o,p)}h.push(o)}}return h},d}),b.define("select2/data/ajax",["./array","../utils","jquery"],function(a,b,c){function d(a,b){this.ajaxOptions=this._applyDefaults(b.get("ajax")),null!=this.ajaxOptions.processResults&&(this.processResults=this.ajaxOptions.processResults),d.__super__.constructor.call(this,a,b)}return b.Extend(d,a),d.prototype._applyDefaults=function(a){var b={data:function(a){return c.extend({},a,{q:a.term})},transport:function(a,b,d){var e=c.ajax(a);return e.then(b),e.fail(d),e}};return c.extend({},b,a,!0)},d.prototype.processResults=function(a){return a},d.prototype.query=function(a,b){function d(){var d=f.transport(f,function(d){var f=e.processResults(d,a);e.options.get("debug")&&window.console&&console.error&&(f&&f.results&&c.isArray(f.results)||console.error("Select2: The AJAX results did not return an array in the `results` key of the response.")),b(f),e.container.focusOnActiveElement()},function(){d.status&&"0"===d.status||e.trigger("results:message",{message:"errorLoading"})});e._request=d}var e=this;null!=this._request&&(c.isFunction(this._request.abort)&&this._request.abort(),this._request=null);var f=c.extend({type:"GET"},this.ajaxOptions);"function"==typeof f.url&&(f.url=f.url.call(this.$element,a)),"function"==typeof f.data&&(f.data=f.data.call(this.$element,a)),this.ajaxOptions.delay&&null!=a.term?(this._queryTimeout&&window.clearTimeout(this._queryTimeout),this._queryTimeout=window.setTimeout(d,this.ajaxOptions.delay)):d()},d}),b.define("select2/data/tags",["jquery"],function(a){function b(b,c,d){var e=d.get("tags"),f=d.get("createTag");void 0!==f&&(this.createTag=f);var g=d.get("insertTag");if(void 0!==g&&(this.insertTag=g),b.call(this,c,d),a.isArray(e))for(var h=0;h<e.length;h++){var i=e[h],j=this._normalizeItem(i),k=this.option(j);this.$element.append(k)}}return b.prototype.query=function(a,b,c){function d(a,f){for(var g=a.results,h=0;h<g.length;h++){var i=g[h],j=null!=i.children&&!d({results:i.children},!0);if((i.text||"").toUpperCase()===(b.term||"").toUpperCase()||j)return!f&&(a.data=g,void c(a))}if(f)return!0;var k=e.createTag(b);if(null!=k){var l=e.option(k);l.attr("data-select2-tag",!0),e.addOptions([l]),e.insertTag(g,k)}a.results=g,c(a)}var e=this;if(this._removeOldTags(),null==b.term||null!=b.page)return void a.call(this,b,c);a.call(this,b,d)},b.prototype.createTag=function(b,c){var d=a.trim(c.term);return""===d?null:{id:d,text:d}},b.prototype.insertTag=function(a,b,c){b.unshift(c)},b.prototype._removeOldTags=function(b){this._lastTag;this.$element.find("option[data-select2-tag]").each(function(){this.selected||a(this).remove()})},b}),b.define("select2/data/tokenizer",["jquery"],function(a){function b(a,b,c){var d=c.get("tokenizer");void 0!==d&&(this.tokenizer=d),a.call(this,b,c)}return b.prototype.bind=function(a,b,c){a.call(this,b,c),this.$search=b.dropdown.$search||b.selection.$search||c.find(".select2-search__field")},b.prototype.query=function(b,c,d){function e(b){var c=g._normalizeItem(b);if(!g.$element.find("option").filter(function(){return a(this).val()===c.id}).length){var d=g.option(c);d.attr("data-select2-tag",!0),g._removeOldTags(),g.addOptions([d])}f(c)}function f(a){g.trigger("select",{data:a})}var g=this;c.term=c.term||"";var h=this.tokenizer(c,this.options,e);h.term!==c.term&&(this.$search.length&&(this.$search.val(h.term),this.$search.focus()),c.term=h.term),b.call(this,c,d)},b.prototype.tokenizer=function(b,c,d,e){for(var f=d.get("tokenSeparators")||[],g=c.term,h=0,i=this.createTag||function(a){return{id:a.term,text:a.term}};h<g.length;){var j=g[h];if(-1!==a.inArray(j,f)){var k=g.substr(0,h),l=a.extend({},c,{term:k}),m=i(l);null!=m?(e(m),g=g.substr(h+1)||"",h=0):h++}else h++}return{term:g}},b}),b.define("select2/data/minimumInputLength",[],function(){function a(a,b,c){this.minimumInputLength=c.get("minimumInputLength"),a.call(this,b,c)}return a.prototype.query=function(a,b,c){if(b.term=b.term||"",b.term.length<this.minimumInputLength)return void this.trigger("results:message",{message:"inputTooShort",args:{minimum:this.minimumInputLength,input:b.term,params:b}});a.call(this,b,c)},a}),b.define("select2/data/maximumInputLength",[],function(){function a(a,b,c){this.maximumInputLength=c.get("maximumInputLength"),a.call(this,b,c)}return a.prototype.query=function(a,b,c){if(b.term=b.term||"",this.maximumInputLength>0&&b.term.length>this.maximumInputLength)return void this.trigger("results:message",{message:"inputTooLong",args:{maximum:this.maximumInputLength,input:b.term,params:b}});a.call(this,b,c)},a}),b.define("select2/data/maximumSelectionLength",[],function(){function a(a,b,c){this.maximumSelectionLength=c.get("maximumSelectionLength"),a.call(this,b,c)}return a.prototype.query=function(a,b,c){var d=this;this.current(function(e){var f=null!=e?e.length:0;if(d.maximumSelectionLength>0&&f>=d.maximumSelectionLength)return void d.trigger("results:message",{message:"maximumSelected",args:{maximum:d.maximumSelectionLength}});a.call(d,b,c)})},a}),b.define("select2/dropdown",["jquery","./utils"],function(a,b){function c(a,b){this.$element=a,this.options=b,c.__super__.constructor.call(this)}return b.Extend(c,b.Observable),c.prototype.render=function(){var b=a('<span class="select2-dropdown"><span class="select2-results"></span></span>');return b.attr("dir",this.options.get("dir")),this.$dropdown=b,b},c.prototype.bind=function(){},c.prototype.position=function(a,b){},c.prototype.destroy=function(){this.$dropdown.remove()},c}),b.define("select2/dropdown/search",["jquery","../utils"],function(a,b){function c(){}return c.prototype.render=function(b){var c=b.call(this),d=a('<span class="select2-search select2-search--dropdown"><input class="select2-search__field" type="text" tabindex="-1" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false" role="combobox" aria-autocomplete="list" aria-expanded="true" /></span>');return this.$searchContainer=d,this.$search=d.find("input"),c.prepend(d),c},c.prototype.bind=function(b,c,d){var e=this,f=c.id+"-results";b.call(this,c,d),this.$search.on("keydown",function(a){e.trigger("keypress",a),e._keyUpPrevented=a.isDefaultPrevented()}),this.$search.on("input",function(b){a(this).off("keyup")}),this.$search.on("keyup input",function(a){e.handleSearch(a)}),c.on("open",function(){e.$search.attr("tabindex",0),e.$search.attr("aria-owns",f),e.$search.focus(),window.setTimeout(function(){e.$search.focus()},0)}),c.on("close",function(){e.$search.attr("tabindex",-1),e.$search.removeAttr("aria-activedescendant"),e.$search.removeAttr("aria-owns"),e.$search.val("")}),c.on("focus",function(){c.isOpen()&&e.$search.focus()}),c.on("results:all",function(a){if(null==a.query.term||""===a.query.term){e.showSearch(a)?e.$searchContainer.removeClass("select2-search--hide"):e.$searchContainer.addClass("select2-search--hide")}}),c.on("results:focus",function(a){e.$search.attr("aria-activedescendant",a.data._resultId)})},c.prototype.handleSearch=function(a){if(!this._keyUpPrevented){var b=this.$search.val();this.trigger("query",{term:b})}this._keyUpPrevented=!1},c.prototype.showSearch=function(a,b){return!0},c}),b.define("select2/dropdown/hidePlaceholder",[],function(){function a(a,b,c,d){this.placeholder=this.normalizePlaceholder(c.get("placeholder")),a.call(this,b,c,d)}return a.prototype.append=function(a,b){b.results=this.removePlaceholder(b.results),a.call(this,b)},a.prototype.normalizePlaceholder=function(a,b){return"string"==typeof b&&(b={id:"",text:b}),b},a.prototype.removePlaceholder=function(a,b){for(var c=b.slice(0),d=b.length-1;d>=0;d--){var e=b[d];this.placeholder.id===e.id&&c.splice(d,1)}return c},a}),b.define("select2/dropdown/infiniteScroll",["jquery"],function(a){function b(a,b,c,d){this.lastParams={},a.call(this,b,c,d),this.$loadingMore=this.createLoadingMore(),this.loading=!1}return b.prototype.append=function(a,b){this.$loadingMore.remove(),this.loading=!1,a.call(this,b),this.showLoadingMore(b)&&this.$results.append(this.$loadingMore)},b.prototype.bind=function(b,c,d){var e=this;b.call(this,c,d),c.on("query",function(a){e.lastParams=a,e.loading=!0}),c.on("query:append",function(a){e.lastParams=a,e.loading=!0}),this.$results.on("scroll",function(){var b=a.contains(document.documentElement,e.$loadingMore[0]);if(!e.loading&&b){e.$results.offset().top+e.$results.outerHeight(!1)+50>=e.$loadingMore.offset().top+e.$loadingMore.outerHeight(!1)&&e.loadMore()}})},b.prototype.loadMore=function(){this.loading=!0;var b=a.extend({},{page:1},this.lastParams);b.page++,this.trigger("query:append",b)},b.prototype.showLoadingMore=function(a,b){return b.pagination&&b.pagination.more},b.prototype.createLoadingMore=function(){var b=a('<li class="select2-results__option select2-results__option--load-more"role="option" aria-disabled="true"></li>'),c=this.options.get("translations").get("loadingMore");return b.html(c(this.lastParams)),b},b}),b.define("select2/dropdown/attachBody",["jquery","../utils"],function(a,b){function c(b,c,d){this.$dropdownParent=d.get("dropdownParent")||a(document.body),b.call(this,c,d)}return c.prototype.bind=function(a,b,c){var d=this,e=!1;a.call(this,b,c),b.on("open",function(){d._showDropdown(),d._attachPositioningHandler(b),e||(e=!0,b.on("results:all",function(){d._positionDropdown(),d._resizeDropdown()}),b.on("results:append",function(){d._positionDropdown(),d._resizeDropdown()}))}),b.on("close",function(){d._hideDropdown(),d._detachPositioningHandler(b)}),this.$dropdownContainer.on("mousedown",function(a){a.stopPropagation()})},c.prototype.destroy=function(a){a.call(this),this.$dropdownContainer.remove()},c.prototype.position=function(a,b,c){b.attr("class",c.attr("class")),b.removeClass("select2"),b.addClass("select2-container--open"),b.css({position:"absolute",top:-999999}),this.$container=c},c.prototype.render=function(b){var c=a("<span></span>"),d=b.call(this);return c.append(d),this.$dropdownContainer=c,c},c.prototype._hideDropdown=function(a){this.$dropdownContainer.detach()},c.prototype._attachPositioningHandler=function(c,d){var e=this,f="scroll.select2."+d.id,g="resize.select2."+d.id,h="orientationchange.select2."+d.id,i=this.$container.parents().filter(b.hasScroll);i.each(function(){a(this).data("select2-scroll-position",{x:a(this).scrollLeft(),y:a(this).scrollTop()})}),i.on(f,function(b){var c=a(this).data("select2-scroll-position");a(this).scrollTop(c.y)}),a(window).on(f+" "+g+" "+h,function(a){e._positionDropdown(),e._resizeDropdown()})},c.prototype._detachPositioningHandler=function(c,d){var e="scroll.select2."+d.id,f="resize.select2."+d.id,g="orientationchange.select2."+d.id;this.$container.parents().filter(b.hasScroll).off(e),a(window).off(e+" "+f+" "+g)},c.prototype._positionDropdown=function(){var b=a(window),c=this.$dropdown.hasClass("select2-dropdown--above"),d=this.$dropdown.hasClass("select2-dropdown--below"),e=null,f=this.$container.offset();f.bottom=f.top+this.$container.outerHeight(!1);var g={height:this.$container.outerHeight(!1)};g.top=f.top,g.bottom=f.top+g.height;var h={height:this.$dropdown.outerHeight(!1)},i={top:b.scrollTop(),bottom:b.scrollTop()+b.height()},j=i.top<f.top-h.height,k=i.bottom>f.bottom+h.height,l={left:f.left,top:g.bottom},m=this.$dropdownParent;"static"===m.css("position")&&(m=m.offsetParent());var n=m.offset();l.top-=n.top,l.left-=n.left,c||d||(e="below"),k||!j||c?!j&&k&&c&&(e="below"):e="above",("above"==e||c&&"below"!==e)&&(l.top=g.top-n.top-h.height),null!=e&&(this.$dropdown.removeClass("select2-dropdown--below select2-dropdown--above").addClass("select2-dropdown--"+e),this.$container.removeClass("select2-container--below select2-container--above").addClass("select2-container--"+e)),this.$dropdownContainer.css(l)},c.prototype._resizeDropdown=function(){var a={width:this.$container.outerWidth(!1)+"px"};this.options.get("dropdownAutoWidth")&&(a.minWidth=a.width,a.position="relative",a.width="auto"),this.$dropdown.css(a)},c.prototype._showDropdown=function(a){this.$dropdownContainer.appendTo(this.$dropdownParent),this._positionDropdown(),this._resizeDropdown()},c}),b.define("select2/dropdown/minimumResultsForSearch",[],function(){function a(b){for(var c=0,d=0;d<b.length;d++){var e=b[d];e.children?c+=a(e.children):c++}return c}function b(a,b,c,d){this.minimumResultsForSearch=c.get("minimumResultsForSearch"),this.minimumResultsForSearch<0&&(this.minimumResultsForSearch=1/0),a.call(this,b,c,d)}return b.prototype.showSearch=function(b,c){return!(a(c.data.results)<this.minimumResultsForSearch)&&b.call(this,c)},b}),b.define("select2/dropdown/selectOnClose",[],function(){function a(){}return a.prototype.bind=function(a,b,c){var d=this;a.call(this,b,c),b.on("close",function(a){d._handleSelectOnClose(a)})},a.prototype._handleSelectOnClose=function(a,b){if(b&&null!=b.originalSelect2Event){var c=b.originalSelect2Event;if("select"===c._type||"unselect"===c._type)return}var d=this.getHighlightedResults();if(!(d.length<1)){var e=d.data("data");null!=e.element&&e.element.selected||null==e.element&&e.selected||this.trigger("select",{data:e})}},a}),b.define("select2/dropdown/closeOnSelect",[],function(){function a(){}return a.prototype.bind=function(a,b,c){var d=this;a.call(this,b,c),b.on("select",function(a){d._selectTriggered(a)}),b.on("unselect",function(a){d._selectTriggered(a)})},a.prototype._selectTriggered=function(a,b){var c=b.originalEvent;c&&c.ctrlKey||this.trigger("close",{originalEvent:c,originalSelect2Event:b})},a}),b.define("select2/i18n/en",[],function(){return{errorLoading:function(){return"The results could not be loaded."},inputTooLong:function(a){var b=a.input.length-a.maximum,c="Please delete "+b+" character";return 1!=b&&(c+="s"),c},inputTooShort:function(a){return"Please enter "+(a.minimum-a.input.length)+" or more characters"},loadingMore:function(){return"Loading more results…"},maximumSelected:function(a){var b="You can only select "+a.maximum+" item";return 1!=a.maximum&&(b+="s"),b},noResults:function(){return"No results found"},searching:function(){return"Searching…"}}}),b.define("select2/defaults",["jquery","require","./results","./selection/single","./selection/multiple","./selection/placeholder","./selection/allowClear","./selection/search","./selection/eventRelay","./utils","./translation","./diacritics","./data/select","./data/array","./data/ajax","./data/tags","./data/tokenizer","./data/minimumInputLength","./data/maximumInputLength","./data/maximumSelectionLength","./dropdown","./dropdown/search","./dropdown/hidePlaceholder","./dropdown/infiniteScroll","./dropdown/attachBody","./dropdown/minimumResultsForSearch","./dropdown/selectOnClose","./dropdown/closeOnSelect","./i18n/en"],function(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,A,B,C){function D(){this.reset()}return D.prototype.apply=function(l){if(l=a.extend(!0,{},this.defaults,l),null==l.dataAdapter){if(null!=l.ajax?l.dataAdapter=o:null!=l.data?l.dataAdapter=n:l.dataAdapter=m,l.minimumInputLength>0&&(l.dataAdapter=j.Decorate(l.dataAdapter,r)),l.maximumInputLength>0&&(l.dataAdapter=j.Decorate(l.dataAdapter,s)),l.maximumSelectionLength>0&&(l.dataAdapter=j.Decorate(l.dataAdapter,t)),l.tags&&(l.dataAdapter=j.Decorate(l.dataAdapter,p)),null==l.tokenSeparators&&null==l.tokenizer||(l.dataAdapter=j.Decorate(l.dataAdapter,q)),null!=l.query){var C=b(l.amdBase+"compat/query");l.dataAdapter=j.Decorate(l.dataAdapter,C)}if(null!=l.initSelection){var D=b(l.amdBase+"compat/initSelection");l.dataAdapter=j.Decorate(l.dataAdapter,D)}}if(null==l.resultsAdapter&&(l.resultsAdapter=c,null!=l.ajax&&(l.resultsAdapter=j.Decorate(l.resultsAdapter,x)),null!=l.placeholder&&(l.resultsAdapter=j.Decorate(l.resultsAdapter,w)),l.selectOnClose&&(l.resultsAdapter=j.Decorate(l.resultsAdapter,A))),null==l.dropdownAdapter){if(l.multiple)l.dropdownAdapter=u;else{var E=j.Decorate(u,v);l.dropdownAdapter=E}if(0!==l.minimumResultsForSearch&&(l.dropdownAdapter=j.Decorate(l.dropdownAdapter,z)),l.closeOnSelect&&(l.dropdownAdapter=j.Decorate(l.dropdownAdapter,B)),null!=l.dropdownCssClass||null!=l.dropdownCss||null!=l.adaptDropdownCssClass){var F=b(l.amdBase+"compat/dropdownCss");l.dropdownAdapter=j.Decorate(l.dropdownAdapter,F)}l.dropdownAdapter=j.Decorate(l.dropdownAdapter,y)}if(null==l.selectionAdapter){if(l.multiple?l.selectionAdapter=e:l.selectionAdapter=d,null!=l.placeholder&&(l.selectionAdapter=j.Decorate(l.selectionAdapter,f)),l.allowClear&&(l.selectionAdapter=j.Decorate(l.selectionAdapter,g)),l.multiple&&(l.selectionAdapter=j.Decorate(l.selectionAdapter,h)),null!=l.containerCssClass||null!=l.containerCss||null!=l.adaptContainerCssClass){var G=b(l.amdBase+"compat/containerCss");l.selectionAdapter=j.Decorate(l.selectionAdapter,G)}l.selectionAdapter=j.Decorate(l.selectionAdapter,i)}if("string"==typeof l.language)if(l.language.indexOf("-")>0){var H=l.language.split("-"),I=H[0];l.language=[l.language,I]}else l.language=[l.language];if(a.isArray(l.language)){var J=new k;l.language.push("en");for(var K=l.language,L=0;L<K.length;L++){var M=K[L],N={};try{N=k.loadPath(M)}catch(a){try{M=this.defaults.amdLanguageBase+M,N=k.loadPath(M)}catch(a){l.debug&&window.console&&console.warn&&console.warn('Select2: The language file for "'+M+'" could not be automatically loaded. A fallback will be used instead.');continue}}J.extend(N)}l.translations=J}else{var O=k.loadPath(this.defaults.amdLanguageBase+"en"),P=new k(l.language);P.extend(O),l.translations=P}return l},D.prototype.reset=function(){function b(a){function b(a){return l[a]||a}return a.replace(/[^\u0000-\u007E]/g,b)}function c(d,e){if(""===a.trim(d.term))return e;if(e.children&&e.children.length>0){for(var f=a.extend(!0,{},e),g=e.children.length-1;g>=0;g--){null==c(d,e.children[g])&&f.children.splice(g,1)}return f.children.length>0?f:c(d,f)}var h=b(e.text).toUpperCase(),i=b(d.term).toUpperCase();return h.indexOf(i)>-1?e:null}this.defaults={amdBase:"./",amdLanguageBase:"./i18n/",closeOnSelect:!0,debug:!1,dropdownAutoWidth:!1,escapeMarkup:j.escapeMarkup,language:C,matcher:c,minimumInputLength:0,maximumInputLength:0,maximumSelectionLength:0,minimumResultsForSearch:0,selectOnClose:!1,sorter:function(a){return a},templateResult:function(a){return a.text},templateSelection:function(a){return a.text},theme:"default",width:"resolve"}},D.prototype.set=function(b,c){var d=a.camelCase(b),e={};e[d]=c;var f=j._convertData(e);a.extend(this.defaults,f)},new D}),b.define("select2/options",["require","jquery","./defaults","./utils"],function(a,b,c,d){function e(b,e){if(this.options=b,null!=e&&this.fromElement(e),this.options=c.apply(this.options),e&&e.is("input")){var f=a(this.get("amdBase")+"compat/inputData");this.options.dataAdapter=d.Decorate(this.options.dataAdapter,f)}}return e.prototype.fromElement=function(a){var c=["select2"];null==this.options.multiple&&(this.options.multiple=a.prop("multiple")),null==this.options.disabled&&(this.options.disabled=a.prop("disabled")),null==this.options.language&&(a.prop("lang")?this.options.language=a.prop("lang").toLowerCase():a.closest("[lang]").prop("lang")&&(this.options.language=a.closest("[lang]").prop("lang"))),null==this.options.dir&&(a.prop("dir")?this.options.dir=a.prop("dir"):a.closest("[dir]").prop("dir")?this.options.dir=a.closest("[dir]").prop("dir"):this.options.dir="ltr"),a.prop("disabled",this.options.disabled),a.prop("multiple",this.options.multiple),a.data("select2Tags")&&(this.options.debug&&window.console&&console.warn&&console.warn('Select2: The `data-select2-tags` attribute has been changed to use the `data-data` and `data-tags="true"` attributes and will be removed in future versions of Select2.'),a.data("data",a.data("select2Tags")),a.data("tags",!0)),a.data("ajaxUrl")&&(this.options.debug&&window.console&&console.warn&&console.warn("Select2: The `data-ajax-url` attribute has been changed to `data-ajax--url` and support for the old attribute will be removed in future versions of Select2."),a.attr("ajax--url",a.data("ajaxUrl")),a.data("ajax--url",a.data("ajaxUrl")));var e={};e=b.fn.jquery&&"1."==b.fn.jquery.substr(0,2)&&a[0].dataset?b.extend(!0,{},a[0].dataset,a.data()):a.data();var f=b.extend(!0,{},e);f=d._convertData(f);for(var g in f)b.inArray(g,c)>-1||(b.isPlainObject(this.options[g])?b.extend(this.options[g],f[g]):this.options[g]=f[g]);return this},e.prototype.get=function(a){return this.options[a]},e.prototype.set=function(a,b){this.options[a]=b},e}),b.define("select2/core",["jquery","./options","./utils","./keys"],function(a,b,c,d){var e=function(a,c){null!=a.data("select2")&&a.data("select2").destroy(),this.$element=a,this.id=this._generateId(a),c=c||{},this.options=new b(c,a),e.__super__.constructor.call(this);var d=a.attr("tabindex")||0;a.data("old-tabindex",d),a.attr("tabindex","-1");var f=this.options.get("dataAdapter");this.dataAdapter=new f(a,this.options);var g=this.render();this._placeContainer(g);var h=this.options.get("selectionAdapter");this.selection=new h(a,this.options),this.$selection=this.selection.render(),this.selection.position(this.$selection,g);var i=this.options.get("dropdownAdapter");this.dropdown=new i(a,this.options),this.$dropdown=this.dropdown.render(),this.dropdown.position(this.$dropdown,g);var j=this.options.get("resultsAdapter");this.results=new j(a,this.options,this.dataAdapter),this.$results=this.results.render(),this.results.position(this.$results,this.$dropdown);var k=this;this._bindAdapters(),this._registerDomEvents(),this._registerDataEvents(),this._registerSelectionEvents(),this._registerDropdownEvents(),this._registerResultsEvents(),this._registerEvents(),this.dataAdapter.current(function(a){k.trigger("selection:update",{data:a})}),a.addClass("select2-hidden-accessible"),a.attr("aria-hidden","true"),this._syncAttributes(),a.data("select2",this)};return c.Extend(e,c.Observable),e.prototype._generateId=function(a){var b="";return b=null!=a.attr("id")?a.attr("id"):null!=a.attr("name")?a.attr("name")+"-"+c.generateChars(2):c.generateChars(4),b=b.replace(/(:|\.|\[|\]|,)/g,""),b="select2-"+b},e.prototype._placeContainer=function(a){a.insertAfter(this.$element);var b=this._resolveWidth(this.$element,this.options.get("width"));null!=b&&a.css("width",b)},e.prototype._resolveWidth=function(a,b){var c=/^width:(([-+]?([0-9]*\.)?[0-9]+)(px|em|ex|%|in|cm|mm|pt|pc))/i;if("resolve"==b){var d=this._resolveWidth(a,"style");return null!=d?d:this._resolveWidth(a,"element")}if("element"==b){var e=a.outerWidth(!1);return e<=0?"auto":e+"px"}if("style"==b){var f=a.attr("style");if("string"!=typeof f)return null;for(var g=f.split(";"),h=0,i=g.length;h<i;h+=1){var j=g[h].replace(/\s/g,""),k=j.match(c);if(null!==k&&k.length>=1)return k[1]}return null}return b},e.prototype._bindAdapters=function(){this.dataAdapter.bind(this,this.$container),this.selection.bind(this,this.$container),this.dropdown.bind(this,this.$container),this.results.bind(this,this.$container)},e.prototype._registerDomEvents=function(){var b=this;this.$element.on("change.select2",function(){b.dataAdapter.current(function(a){b.trigger("selection:update",{data:a})})}),this.$element.on("focus.select2",function(a){b.trigger("focus",a)}),this._syncA=c.bind(this._syncAttributes,this),this._syncS=c.bind(this._syncSubtree,this),this.$element[0].attachEvent&&this.$element[0].attachEvent("onpropertychange",this._syncA);var d=window.MutationObserver||window.WebKitMutationObserver||window.MozMutationObserver;null!=d?(this._observer=new d(function(c){a.each(c,b._syncA),a.each(c,b._syncS)}),this._observer.observe(this.$element[0],{attributes:!0,childList:!0,subtree:!1})):this.$element[0].addEventListener&&(this.$element[0].addEventListener("DOMAttrModified",b._syncA,!1),this.$element[0].addEventListener("DOMNodeInserted",b._syncS,!1),this.$element[0].addEventListener("DOMNodeRemoved",b._syncS,!1))},e.prototype._registerDataEvents=function(){var a=this;this.dataAdapter.on("*",function(b,c){a.trigger(b,c)})},e.prototype._registerSelectionEvents=function(){var b=this,c=["toggle","focus"];this.selection.on("toggle",function(){b.toggleDropdown()}),this.selection.on("focus",function(a){b.focus(a)}),this.selection.on("*",function(d,e){-1===a.inArray(d,c)&&b.trigger(d,e)})},e.prototype._registerDropdownEvents=function(){var a=this;this.dropdown.on("*",function(b,c){a.trigger(b,c)})},e.prototype._registerResultsEvents=function(){var a=this;this.results.on("*",function(b,c){a.trigger(b,c)})},e.prototype._registerEvents=function(){var b=this;this.on("open",function(){b.$container.addClass("select2-container--open")}),this.on("close",function(){b.$container.removeClass("select2-container--open")}),this.on("enable",function(){b.$container.removeClass("select2-container--disabled")}),this.on("disable",function(){b.$container.addClass("select2-container--disabled")}),this.on("blur",function(){b.$container.removeClass("select2-container--focus")}),this.on("query",function(a){b.isOpen()||b.trigger("open",{}),this.dataAdapter.query(a,function(c){b.trigger("results:all",{data:c,query:a})})}),this.on("query:append",function(a){this.dataAdapter.query(a,function(c){b.trigger("results:append",{data:c,query:a})})}),this.on("open",function(){setTimeout(function(){b.focusOnActiveElement()},1)}),a(document).on("keydown",function(a){var c=a.which;if(b.isOpen()){c===d.ESC||c===d.UP&&a.altKey?(b.close(),a.preventDefault()):c===d.ENTER||c===d.TAB?(b.trigger("results:select",{}),a.preventDefault()):c===d.SPACE&&a.ctrlKey?(b.trigger("results:toggle",{}),a.preventDefault()):c===d.UP?(b.trigger("results:previous",{}),a.preventDefault()):c===d.DOWN&&(b.trigger("results:next",{}),a.preventDefault());var e=b.$dropdown.find(".select2-search__field");e.length||(e=b.$container.find(".select2-search__field")),c===d.DOWN||c===d.UP?b.focusOnActiveElement():(e.focus(),setTimeout(function(){b.focusOnActiveElement()},1e3))}else b.hasFocus()&&(c!==d.ENTER&&c!==d.SPACE&&c!==d.DOWN||(b.open(),a.preventDefault()))})},e.prototype.focusOnActiveElement=function(){this.isOpen()&&!c.isTouchscreen()&&this.$results.find("li.select2-results__option--highlighted").focus()},e.prototype._syncAttributes=function(){this.options.set("disabled",this.$element.prop("disabled")),this.options.get("disabled")?(this.isOpen()&&this.close(),this.trigger("disable",{})):this.trigger("enable",{})},e.prototype._syncSubtree=function(a,b){var c=!1,d=this;if(!a||!a.target||"OPTION"===a.target.nodeName||"OPTGROUP"===a.target.nodeName){if(b)if(b.addedNodes&&b.addedNodes.length>0)for(var e=0;e<b.addedNodes.length;e++){var f=b.addedNodes[e];f.selected&&(c=!0)}else b.removedNodes&&b.removedNodes.length>0&&(c=!0);else c=!0;c&&this.dataAdapter.current(function(a){d.trigger("selection:update",{data:a})})}},e.prototype.trigger=function(a,b){var c=e.__super__.trigger,d={open:"opening",close:"closing",select:"selecting",unselect:"unselecting"};if(void 0===b&&(b={}),a in d){var f=d[a],g={prevented:!1,name:a,args:b};if(c.call(this,f,g),g.prevented)return void(b.prevented=!0)}c.call(this,a,b)},e.prototype.toggleDropdown=function(){this.options.get("disabled")||(this.isOpen()?this.close():this.open())},e.prototype.open=function(){this.isOpen()||this.trigger("query",{})},e.prototype.close=function(){this.isOpen()&&this.trigger("close",{})},e.prototype.isOpen=function(){return this.$container.hasClass("select2-container--open")},e.prototype.hasFocus=function(){return this.$container.hasClass("select2-container--focus")},e.prototype.focus=function(a){this.hasFocus()||(this.$container.addClass("select2-container--focus"),this.trigger("focus",{}))},e.prototype.enable=function(a){this.options.get("debug")&&window.console&&console.warn&&console.warn('Select2: The `select2("enable")` method has been deprecated and will be removed in later Select2 versions. Use $element.prop("disabled") instead.'),null!=a&&0!==a.length||(a=[!0]);var b=!a[0];this.$element.prop("disabled",b)},e.prototype.data=function(){this.options.get("debug")&&arguments.length>0&&window.console&&console.warn&&console.warn('Select2: Data can no longer be set using `select2("data")`. You should consider setting the value instead using `$element.val()`.');var a=[];return this.dataAdapter.current(function(b){a=b}),a},e.prototype.val=function(b){if(this.options.get("debug")&&window.console&&console.warn&&console.warn('Select2: The `select2("val")` method has been deprecated and will be removed in later Select2 versions. Use $element.val() instead.'),null==b||0===b.length)return this.$element.val();var c=b[0];a.isArray(c)&&(c=a.map(c,function(a){return a.toString()})),this.$element.val(c).trigger("change")},e.prototype.destroy=function(){this.$container.remove(),this.$element[0].detachEvent&&this.$element[0].detachEvent("onpropertychange",this._syncA),null!=this._observer?(this._observer.disconnect(),this._observer=null):this.$element[0].removeEventListener&&(this.$element[0].removeEventListener("DOMAttrModified",this._syncA,!1),this.$element[0].removeEventListener("DOMNodeInserted",this._syncS,!1),this.$element[0].removeEventListener("DOMNodeRemoved",this._syncS,!1)),this._syncA=null,this._syncS=null,this.$element.off(".select2"),this.$element.attr("tabindex",this.$element.data("old-tabindex")),this.$element.removeClass("select2-hidden-accessible"),this.$element.attr("aria-hidden","false"),this.$element.removeData("select2"),this.dataAdapter.destroy(),this.selection.destroy(),this.dropdown.destroy(),this.results.destroy(),this.dataAdapter=null,this.selection=null,this.dropdown=null,this.results=null},e.prototype.render=function(){var b=a('<span class="select2 select2-container"><span class="selection"></span><span class="dropdown-wrapper" aria-hidden="true"></span></span>');return b.attr("dir",this.options.get("dir")),this.$container=b,this.$container.addClass("select2-container--"+this.options.get("theme")),b.data("element",this.$element),b},e}),b.define("select2/compat/utils",["jquery"],function(a){function b(b,c,d){var e,f,g=[];e=a.trim(b.attr("class")),e&&(e=""+e,a(e.split(/\s+/)).each(function(){0===this.indexOf("select2-")&&g.push(this)})),e=a.trim(c.attr("class")),e&&(e=""+e,a(e.split(/\s+/)).each(function(){0!==this.indexOf("select2-")&&null!=(f=d(this))&&g.push(f)})),b.attr("class",g.join(" "))}return{syncCssClasses:b}}),b.define("select2/compat/containerCss",["jquery","./utils"],function(a,b){function c(a){return null}function d(){}return d.prototype.render=function(d){var e=d.call(this),f=this.options.get("containerCssClass")||"";a.isFunction(f)&&(f=f(this.$element));var g=this.options.get("adaptContainerCssClass");if(g=g||c,-1!==f.indexOf(":all:")){f=f.replace(":all:","");var h=g;g=function(a){var b=h(a);return null!=b?b+" "+a:a}}var i=this.options.get("containerCss")||{};return a.isFunction(i)&&(i=i(this.$element)),b.syncCssClasses(e,this.$element,g),e.css(i),e.addClass(f),e},d}),b.define("select2/compat/dropdownCss",["jquery","./utils"],function(a,b){function c(a){return null}function d(){}return d.prototype.render=function(d){var e=d.call(this),f=this.options.get("dropdownCssClass")||"";a.isFunction(f)&&(f=f(this.$element));var g=this.options.get("adaptDropdownCssClass");if(g=g||c,-1!==f.indexOf(":all:")){f=f.replace(":all:","");var h=g;g=function(a){var b=h(a);return null!=b?b+" "+a:a}}var i=this.options.get("dropdownCss")||{};return a.isFunction(i)&&(i=i(this.$element)),b.syncCssClasses(e,this.$element,g),e.css(i),e.addClass(f),e},d}),b.define("select2/compat/initSelection",["jquery"],function(a){function b(a,b,c){c.get("debug")&&window.console&&console.warn&&console.warn("Select2: The `initSelection` option has been deprecated in favor of a custom data adapter that overrides the `current` method. This method is now called multiple times instead of a single time when the instance is initialized. Support will be removed for the `initSelection` option in future versions of Select2"),this.initSelection=c.get("initSelection"),this._isInitialized=!1,a.call(this,b,c)}return b.prototype.current=function(b,c){var d=this;if(this._isInitialized)return void b.call(this,c);this.initSelection.call(null,this.$element,function(b){d._isInitialized=!0,a.isArray(b)||(b=[b]),c(b)})},b}),b.define("select2/compat/inputData",["jquery"],function(a){function b(a,b,c){this._currentData=[],this._valueSeparator=c.get("valueSeparator")||",","hidden"===b.prop("type")&&c.get("debug")&&console&&console.warn&&console.warn("Select2: Using a hidden input with Select2 is no longer supported and may stop working in the future. It is recommended to use a `<select>` element instead."),a.call(this,b,c)}return b.prototype.current=function(b,c){function d(b,c){var e=[];return b.selected||-1!==a.inArray(b.id,c)?(b.selected=!0,e.push(b)):b.selected=!1,b.children&&e.push.apply(e,d(b.children,c)),e}for(var e=[],f=0;f<this._currentData.length;f++){var g=this._currentData[f];e.push.apply(e,d(g,this.$element.val().split(this._valueSeparator)))}c(e)},b.prototype.select=function(b,c){if(this.options.get("multiple")){var d=this.$element.val();d+=this._valueSeparator+c.id,this.$element.val(d),this.$element.trigger("change")}else this.current(function(b){a.map(b,function(a){a.selected=!1})}),this.$element.val(c.id),this.$element.trigger("change")},b.prototype.unselect=function(a,b){var c=this;b.selected=!1,this.current(function(a){for(var d=[],e=0;e<a.length;e++){var f=a[e];b.id!=f.id&&d.push(f.id)}c.$element.val(d.join(c._valueSeparator)),c.$element.trigger("change")})},b.prototype.query=function(a,b,c){for(var d=[],e=0;e<this._currentData.length;e++){var f=this._currentData[e],g=this.matches(b,f);null!==g&&d.push(g)}c({results:d})},b.prototype.addOptions=function(b,c){var d=a.map(c,function(b){return a.data(b[0],"data")});this._currentData.push.apply(this._currentData,d)},b}),b.define("select2/compat/matcher",["jquery"],function(a){function b(b){function c(c,d){var e=a.extend(!0,{},d);if(null==c.term||""===a.trim(c.term))return e;if(d.children){for(var f=d.children.length-1;f>=0;f--){var g=d.children[f];b(c.term,g.text,g)||e.children.splice(f,1)}if(e.children.length>0)return e}return b(c.term,d.text,d)?e:null}return c}return b}),b.define("select2/compat/query",[],function(){function a(a,b,c){c.get("debug")&&window.console&&console.warn&&console.warn("Select2: The `query` option has been deprecated in favor of a custom data adapter that overrides the `query` method. Support will be removed for the `query` option in future versions of Select2."),a.call(this,b,c)}return a.prototype.query=function(a,b,c){b.callback=c,this.options.get("query").call(null,b)},a}),b.define("select2/dropdown/attachContainer",[],function(){function a(a,b,c){a.call(this,b,c)}return a.prototype.position=function(a,b,c){c.find(".dropdown-wrapper").append(b),b.addClass("select2-dropdown--below"),c.addClass("select2-container--below")},a}),b.define("select2/dropdown/stopPropagation",[],function(){function a(){}return a.prototype.bind=function(a,b,c){a.call(this,b,c);var d=["blur","change","click","dblclick","focus","focusin","focusout","input","keydown","keyup","keypress","mousedown","mouseenter","mouseleave","mousemove","mouseover","mouseup","search","touchend","touchstart"];this.$dropdown.on(d.join(" "),function(a){a.stopPropagation()})},a}),b.define("select2/selection/stopPropagation",[],function(){function a(){}return a.prototype.bind=function(a,b,c){a.call(this,b,c);var d=["blur","change","click","dblclick","focus","focusin","focusout","input","keydown","keyup","keypress","mousedown","mouseenter","mouseleave","mousemove","mouseover","mouseup","search","touchend","touchstart"];this.$selection.on(d.join(" "),function(a){a.stopPropagation()})},a}),function(c){"function"==typeof b.define&&b.define.amd?b.define("jquery-mousewheel",["jquery"],c):"object"==typeof exports?module.exports=c:c(a)}(function(a){function b(b){var g=b||window.event,h=i.call(arguments,1),j=0,l=0,m=0,n=0,o=0,p=0;if(b=a.event.fix(g),b.type="mousewheel","detail"in g&&(m=-1*g.detail),"wheelDelta"in g&&(m=g.wheelDelta),"wheelDeltaY"in g&&(m=g.wheelDeltaY),"wheelDeltaX"in g&&(l=-1*g.wheelDeltaX),"axis"in g&&g.axis===g.HORIZONTAL_AXIS&&(l=-1*m,m=0),j=0===m?l:m,"deltaY"in g&&(m=-1*g.deltaY,j=m),"deltaX"in g&&(l=g.deltaX,0===m&&(j=-1*l)),0!==m||0!==l){if(1===g.deltaMode){var q=a.data(this,"mousewheel-line-height");j*=q,m*=q,l*=q}else if(2===g.deltaMode){var r=a.data(this,"mousewheel-page-height");j*=r,m*=r,l*=r}if(n=Math.max(Math.abs(m),Math.abs(l)),(!f||n<f)&&(f=n,d(g,n)&&(f/=40)),d(g,n)&&(j/=40,l/=40,m/=40),j=Math[j>=1?"floor":"ceil"](j/f),l=Math[l>=1?"floor":"ceil"](l/f),m=Math[m>=1?"floor":"ceil"](m/f),k.settings.normalizeOffset&&this.getBoundingClientRect){var s=this.getBoundingClientRect();o=b.clientX-s.left,p=b.clientY-s.top}return b.deltaX=l,b.deltaY=m,b.deltaFactor=f,b.offsetX=o,b.offsetY=p,b.deltaMode=0,h.unshift(b,j,l,m),e&&clearTimeout(e),e=setTimeout(c,200),(a.event.dispatch||a.event.handle).apply(this,h)}}function c(){f=null}function d(a,b){return k.settings.adjustOldDeltas&&"mousewheel"===a.type&&b%120==0}var e,f,g=["wheel","mousewheel","DOMMouseScroll","MozMousePixelScroll"],h="onwheel"in document||document.documentMode>=9?["wheel"]:["mousewheel","DomMouseScroll","MozMousePixelScroll"],i=Array.prototype.slice;if(a.event.fixHooks)for(var j=g.length;j;)a.event.fixHooks[g[--j]]=a.event.mouseHooks;var k=a.event.special.mousewheel={version:"3.1.12",setup:function(){if(this.addEventListener)for(var c=h.length;c;)this.addEventListener(h[--c],b,!1);else this.onmousewheel=b;a.data(this,"mousewheel-line-height",k.getLineHeight(this)),a.data(this,"mousewheel-page-height",k.getPageHeight(this))},teardown:function(){if(this.removeEventListener)for(var c=h.length;c;)this.removeEventListener(h[--c],b,!1);else this.onmousewheel=null;a.removeData(this,"mousewheel-line-height"),a.removeData(this,"mousewheel-page-height")},getLineHeight:function(b){var c=a(b),d=c["offsetParent"in a.fn?"offsetParent":"parent"]();return d.length||(d=a("body")),parseInt(d.css("fontSize"),10)||parseInt(c.css("fontSize"),10)||16},getPageHeight:function(b){return a(b).height()},settings:{adjustOldDeltas:!0,normalizeOffset:!0}};a.fn.extend({mousewheel:function(a){return a?this.bind("mousewheel",a):this.trigger("mousewheel")},unmousewheel:function(a){return this.unbind("mousewheel",a)}})}),b.define("jquery.select2",["jquery","jquery-mousewheel","./select2/core","./select2/defaults"],function(a,b,c,d){if(null==a.fn.selectWoo){var e=["open","close","destroy"];a.fn.selectWoo=function(b){if("object"==typeof(b=b||{}))return this.each(function(){var d=a.extend(!0,{},b);new c(a(this),d)}),this;if("string"==typeof b){var d,f=Array.prototype.slice.call(arguments,1);return this.each(function(){var c=a(this).data("select2");null==c&&window.console&&console.error&&console.error("The select2('"+b+"') method was called on an element that is not using Select2."),d=c[b].apply(c,f)}),a.inArray(b,e)>-1?this:d}throw new Error("Invalid arguments for Select2: "+b)}}return null!=a.fn.select2&&null!=a.fn.select2.defaults&&(a.fn.selectWoo.defaults=a.fn.select2.defaults),null==a.fn.selectWoo.defaults&&(a.fn.selectWoo.defaults=d),a.fn.select2=a.fn.select2||a.fn.selectWoo,c}),{define:b.define,require:b.require}}(),c=b.require("jquery.select2");return a.fn.select2.amd=b,a.fn.selectWoo.amd=b,c});
assets/js/selectWoo/selectWoo.js ADDED
@@ -0,0 +1,5874 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /*!
2
+ * SelectWoo 1.0.1
3
+ * https://github.com/woocommerce/selectWoo
4
+ *
5
+ * Released under the MIT license
6
+ * https://github.com/woocommerce/selectWoo/blob/master/LICENSE.md
7
+ */
8
+ (function (factory) {
9
+ if (typeof define === 'function' && define.amd) {
10
+ // AMD. Register as an anonymous module.
11
+ define(['jquery'], factory);
12
+ } else if (typeof module === 'object' && module.exports) {
13
+ // Node/CommonJS
14
+ module.exports = function (root, jQuery) {
15
+ if (jQuery === undefined) {
16
+ // require('jQuery') returns a factory that requires window to
17
+ // build a jQuery instance, we normalize how we use modules
18
+ // that require this pattern but the window provided is a noop
19
+ // if it's defined (how jquery works)
20
+ if (typeof window !== 'undefined') {
21
+ jQuery = require('jquery');
22
+ }
23
+ else {
24
+ jQuery = require('jquery')(root);
25
+ }
26
+ }
27
+ factory(jQuery);
28
+ return jQuery;
29
+ };
30
+ } else {
31
+ // Browser globals
32
+ factory(jQuery);
33
+ }
34
+ } (function (jQuery) {
35
+ // This is needed so we can catch the AMD loader configuration and use it
36
+ // The inner file should be wrapped (by `banner.start.js`) in a function that
37
+ // returns the AMD loader references.
38
+ var S2 =(function () {
39
+ // Restore the Select2 AMD loader so it can be used
40
+ // Needed mostly in the language files, where the loader is not inserted
41
+ if (jQuery && jQuery.fn && jQuery.fn.select2 && jQuery.fn.select2.amd) {
42
+ var S2 = jQuery.fn.select2.amd;
43
+ }
44
+ var S2;(function () { if (!S2 || !S2.requirejs) {
45
+ if (!S2) { S2 = {}; } else { require = S2; }
46
+ /**
47
+ * @license almond 0.3.3 Copyright jQuery Foundation and other contributors.
48
+ * Released under MIT license, http://github.com/requirejs/almond/LICENSE
49
+ */
50
+ //Going sloppy to avoid 'use strict' string cost, but strict practices should
51
+ //be followed.
52
+ /*global setTimeout: false */
53
+
54
+ var requirejs, require, define;
55
+ (function (undef) {
56
+ var main, req, makeMap, handlers,
57
+ defined = {},
58
+ waiting = {},
59
+ config = {},
60
+ defining = {},
61
+ hasOwn = Object.prototype.hasOwnProperty,
62
+ aps = [].slice,
63
+ jsSuffixRegExp = /\.js$/;
64
+
65
+ function hasProp(obj, prop) {
66
+ return hasOwn.call(obj, prop);
67
+ }
68
+
69
+ /**
70
+ * Given a relative module name, like ./something, normalize it to
71
+ * a real name that can be mapped to a path.
72
+ * @param {String} name the relative name
73
+ * @param {String} baseName a real name that the name arg is relative
74
+ * to.
75
+ * @returns {String} normalized name
76
+ */
77
+ function normalize(name, baseName) {
78
+ var nameParts, nameSegment, mapValue, foundMap, lastIndex,
79
+ foundI, foundStarMap, starI, i, j, part, normalizedBaseParts,
80
+ baseParts = baseName && baseName.split("/"),
81
+ map = config.map,
82
+ starMap = (map && map['*']) || {};
83
+
84
+ //Adjust any relative paths.
85
+ if (name) {
86
+ name = name.split('/');
87
+ lastIndex = name.length - 1;
88
+
89
+ // If wanting node ID compatibility, strip .js from end
90
+ // of IDs. Have to do this here, and not in nameToUrl
91
+ // because node allows either .js or non .js to map
92
+ // to same file.
93
+ if (config.nodeIdCompat && jsSuffixRegExp.test(name[lastIndex])) {
94
+ name[lastIndex] = name[lastIndex].replace(jsSuffixRegExp, '');
95
+ }
96
+
97
+ // Starts with a '.' so need the baseName
98
+ if (name[0].charAt(0) === '.' && baseParts) {
99
+ //Convert baseName to array, and lop off the last part,
100
+ //so that . matches that 'directory' and not name of the baseName's
101
+ //module. For instance, baseName of 'one/two/three', maps to
102
+ //'one/two/three.js', but we want the directory, 'one/two' for
103
+ //this normalization.
104
+ normalizedBaseParts = baseParts.slice(0, baseParts.length - 1);
105
+ name = normalizedBaseParts.concat(name);
106
+ }
107
+
108
+ //start trimDots
109
+ for (i = 0; i < name.length; i++) {
110
+ part = name[i];
111
+ if (part === '.') {
112
+ name.splice(i, 1);
113
+ i -= 1;
114
+ } else if (part === '..') {
115
+ // If at the start, or previous value is still ..,
116
+ // keep them so that when converted to a path it may
117
+ // still work when converted to a path, even though
118
+ // as an ID it is less than ideal. In larger point
119
+ // releases, may be better to just kick out an error.
120
+ if (i === 0 || (i === 1 && name[2] === '..') || name[i - 1] === '..') {
121
+ continue;
122
+ } else if (i > 0) {
123
+ name.splice(i - 1, 2);
124
+ i -= 2;
125
+ }
126
+ }
127
+ }
128
+ //end trimDots
129
+
130
+ name = name.join('/');
131
+ }
132
+
133
+ //Apply map config if available.
134
+ if ((baseParts || starMap) && map) {
135
+ nameParts = name.split('/');
136
+
137
+ for (i = nameParts.length; i > 0; i -= 1) {
138
+ nameSegment = nameParts.slice(0, i).join("/");
139
+
140
+ if (baseParts) {
141
+ //Find the longest baseName segment match in the config.
142
+ //So, do joins on the biggest to smallest lengths of baseParts.
143
+ for (j = baseParts.length; j > 0; j -= 1) {
144
+ mapValue = map[baseParts.slice(0, j).join('/')];
145
+
146
+ //baseName segment has config, find if it has one for
147
+ //this name.
148
+ if (mapValue) {
149
+ mapValue = mapValue[nameSegment];
150
+ if (mapValue) {
151
+ //Match, update name to the new value.
152
+ foundMap = mapValue;
153
+ foundI = i;
154
+ break;
155
+ }
156
+ }
157
+ }
158
+ }
159
+
160
+ if (foundMap) {
161
+ break;
162
+ }
163
+
164
+ //Check for a star map match, but just hold on to it,
165
+ //if there is a shorter segment match later in a matching
166
+ //config, then favor over this star map.
167
+ if (!foundStarMap && starMap && starMap[nameSegment]) {
168
+ foundStarMap = starMap[nameSegment];
169
+ starI = i;
170
+ }
171
+ }
172
+
173
+ if (!foundMap && foundStarMap) {
174
+ foundMap = foundStarMap;
175
+ foundI = starI;
176
+ }
177
+
178
+ if (foundMap) {
179
+ nameParts.splice(0, foundI, foundMap);
180
+ name = nameParts.join('/');
181
+ }
182
+ }
183
+
184
+ return name;
185
+ }
186
+
187
+ function makeRequire(relName, forceSync) {
188
+ return function () {
189
+ //A version of a require function that passes a moduleName
190
+ //value for items that may need to
191
+ //look up paths relative to the moduleName
192
+ var args = aps.call(arguments, 0);
193
+
194
+ //If first arg is not require('string'), and there is only
195
+ //one arg, it is the array form without a callback. Insert
196
+ //a null so that the following concat is correct.
197
+ if (typeof args[0] !== 'string' && args.length === 1) {
198
+ args.push(null);
199
+ }
200
+ return req.apply(undef, args.concat([relName, forceSync]));
201
+ };
202
+ }
203
+
204
+ function makeNormalize(relName) {
205
+ return function (name) {
206
+ return normalize(name, relName);
207
+ };
208
+ }
209
+
210
+ function makeLoad(depName) {
211
+ return function (value) {
212
+ defined[depName] = value;
213
+ };
214
+ }
215
+
216
+ function callDep(name) {
217
+ if (hasProp(waiting, name)) {
218
+ var args = waiting[name];
219
+ delete waiting[name];
220
+ defining[name] = true;
221
+ main.apply(undef, args);
222
+ }
223
+
224
+ if (!hasProp(defined, name) && !hasProp(defining, name)) {
225
+ throw new Error('No ' + name);
226
+ }
227
+ return defined[name];
228
+ }
229
+
230
+ //Turns a plugin!resource to [plugin, resource]
231
+ //with the plugin being undefined if the name
232
+ //did not have a plugin prefix.
233
+ function splitPrefix(name) {
234
+ var prefix,
235
+ index = name ? name.indexOf('!') : -1;
236
+ if (index > -1) {
237
+ prefix = name.substring(0, index);
238
+ name = name.substring(index + 1, name.length);
239
+ }
240
+ return [prefix, name];
241
+ }
242
+
243
+ //Creates a parts array for a relName where first part is plugin ID,
244
+ //second part is resource ID. Assumes relName has already been normalized.
245
+ function makeRelParts(relName) {
246
+ return relName ? splitPrefix(relName) : [];
247
+ }
248
+
249
+ /**
250
+ * Makes a name map, normalizing the name, and using a plugin
251
+ * for normalization if necessary. Grabs a ref to plugin
252
+ * too, as an optimization.
253
+ */
254
+ makeMap = function (name, relParts) {
255
+ var plugin,
256
+ parts = splitPrefix(name),
257
+ prefix = parts[0],
258
+ relResourceName = relParts[1];
259
+
260
+ name = parts[1];
261
+
262
+ if (prefix) {
263
+ prefix = normalize(prefix, relResourceName);
264
+ plugin = callDep(prefix);
265
+ }
266
+
267
+ //Normalize according
268
+ if (prefix) {
269
+ if (plugin && plugin.normalize) {
270
+ name = plugin.normalize(name, makeNormalize(relResourceName));
271
+ } else {
272
+ name = normalize(name, relResourceName);
273
+ }
274
+ } else {
275
+ name = normalize(name, relResourceName);
276
+ parts = splitPrefix(name);
277
+ prefix = parts[0];
278
+ name = parts[1];
279
+ if (prefix) {
280
+ plugin = callDep(prefix);
281
+ }
282
+ }
283
+
284
+ //Using ridiculous property names for space reasons
285
+ return {
286
+ f: prefix ? prefix + '!' + name : name, //fullName
287
+ n: name,
288
+ pr: prefix,
289
+ p: plugin
290
+ };
291
+ };
292
+
293
+ function makeConfig(name) {
294
+ return function () {
295
+ return (config && config.config && config.config[name]) || {};
296
+ };
297
+ }
298
+
299
+ handlers = {
300
+ require: function (name) {
301
+ return makeRequire(name);
302
+ },
303
+ exports: function (name) {
304
+ var e = defined[name];
305
+ if (typeof e !== 'undefined') {
306
+ return e;
307
+ } else {
308
+ return (defined[name] = {});
309
+ }
310
+ },
311
+ module: function (name) {
312
+ return {
313
+ id: name,
314
+ uri: '',
315
+ exports: defined[name],
316
+ config: makeConfig(name)
317
+ };
318
+ }
319
+ };
320
+
321
+ main = function (name, deps, callback, relName) {
322
+ var cjsModule, depName, ret, map, i, relParts,
323
+ args = [],
324
+ callbackType = typeof callback,
325
+ usingExports;
326
+
327
+ //Use name if no relName
328
+ relName = relName || name;
329
+ relParts = makeRelParts(relName);
330
+
331
+ //Call the callback to define the module, if necessary.
332
+ if (callbackType === 'undefined' || callbackType === 'function') {
333
+ //Pull out the defined dependencies and pass the ordered
334
+ //values to the callback.
335
+ //Default to [require, exports, module] if no deps
336
+ deps = !deps.length && callback.length ? ['require', 'exports', 'module'] : deps;
337
+ for (i = 0; i < deps.length; i += 1) {
338
+ map = makeMap(deps[i], relParts);
339
+ depName = map.f;
340
+
341
+ //Fast path CommonJS standard dependencies.
342
+ if (depName === "require") {
343
+ args[i] = handlers.require(name);
344
+ } else if (depName === "exports") {
345
+ //CommonJS module spec 1.1
346
+ args[i] = handlers.exports(name);
347
+ usingExports = true;
348
+ } else if (depName === "module") {
349
+ //CommonJS module spec 1.1
350
+ cjsModule = args[i] = handlers.module(name);
351
+ } else if (hasProp(defined, depName) ||
352
+ hasProp(waiting, depName) ||
353
+ hasProp(defining, depName)) {
354
+ args[i] = callDep(depName);
355
+ } else if (map.p) {
356
+ map.p.load(map.n, makeRequire(relName, true), makeLoad(depName), {});
357
+ args[i] = defined[depName];
358
+ } else {
359
+ throw new Error(name + ' missing ' + depName);
360
+ }
361
+ }
362
+
363
+ ret = callback ? callback.apply(defined[name], args) : undefined;
364
+
365
+ if (name) {
366
+ //If setting exports via "module" is in play,
367
+ //favor that over return value and exports. After that,
368
+ //favor a non-undefined return value over exports use.
369
+ if (cjsModule && cjsModule.exports !== undef &&
370
+ cjsModule.exports !== defined[name]) {
371
+ defined[name] = cjsModule.exports;
372
+ } else if (ret !== undef || !usingExports) {
373
+ //Use the return value from the function.
374
+ defined[name] = ret;
375
+ }
376
+ }
377
+ } else if (name) {
378
+ //May just be an object definition for the module. Only
379
+ //worry about defining if have a module name.
380
+ defined[name] = callback;
381
+ }
382
+ };
383
+
384
+ requirejs = require = req = function (deps, callback, relName, forceSync, alt) {
385
+ if (typeof deps === "string") {
386
+ if (handlers[deps]) {
387
+ //callback in this case is really relName
388
+ return handlers[deps](callback);
389
+ }
390
+ //Just return the module wanted. In this scenario, the
391
+ //deps arg is the module name, and second arg (if passed)
392
+ //is just the relName.
393
+ //Normalize module name, if it contains . or ..
394
+ return callDep(makeMap(deps, makeRelParts(callback)).f);
395
+ } else if (!deps.splice) {
396
+ //deps is a config object, not an array.
397
+ config = deps;
398
+ if (config.deps) {
399
+ req(config.deps, config.callback);
400
+ }
401
+ if (!callback) {
402
+ return;
403
+ }
404
+
405
+ if (callback.splice) {
406
+ //callback is an array, which means it is a dependency list.
407
+ //Adjust args if there are dependencies
408
+ deps = callback;
409
+ callback = relName;
410
+ relName = null;
411
+ } else {
412
+ deps = undef;
413
+ }
414
+ }
415
+
416
+ //Support require(['a'])
417
+ callback = callback || function () {};
418
+
419
+ //If relName is a function, it is an errback handler,
420
+ //so remove it.
421
+ if (typeof relName === 'function') {
422
+ relName = forceSync;
423
+ forceSync = alt;
424
+ }
425
+
426
+ //Simulate async callback;
427
+ if (forceSync) {
428
+ main(undef, deps, callback, relName);
429
+ } else {
430
+ //Using a non-zero value because of concern for what old browsers
431
+ //do, and latest browsers "upgrade" to 4 if lower value is used:
432
+ //http://www.whatwg.org/specs/web-apps/current-work/multipage/timers.html#dom-windowtimers-settimeout:
433
+ //If want a value immediately, use require('id') instead -- something
434
+ //that works in almond on the global level, but not guaranteed and
435
+ //unlikely to work in other AMD implementations.
436
+ setTimeout(function () {
437
+ main(undef, deps, callback, relName);
438
+ }, 4);
439
+ }
440
+
441
+ return req;
442
+ };
443
+
444
+ /**
445
+ * Just drops the config on the floor, but returns req in case
446
+ * the config return value is used.
447
+ */
448
+ req.config = function (cfg) {
449
+ return req(cfg);
450
+ };
451
+
452
+ /**
453
+ * Expose module registry for debugging and tooling
454
+ */
455
+ requirejs._defined = defined;
456
+
457
+ define = function (name, deps, callback) {
458
+ if (typeof name !== 'string') {
459
+ throw new Error('See almond README: incorrect module build, no module name');
460
+ }
461
+
462
+ //This module may not have dependencies
463
+ if (!deps.splice) {
464
+ //deps is not an array, so probably means
465
+ //an object literal or factory function for
466
+ //the value. Adjust args.
467
+ callback = deps;
468
+ deps = [];
469
+ }
470
+
471
+ if (!hasProp(defined, name) && !hasProp(waiting, name)) {
472
+ waiting[name] = [name, deps, callback];
473
+ }
474
+ };
475
+
476
+ define.amd = {
477
+ jQuery: true
478
+ };
479
+ }());
480
+
481
+ S2.requirejs = requirejs;S2.require = require;S2.define = define;
482
+ }
483
+ }());
484
+ S2.define("almond", function(){});
485
+
486
+ /* global jQuery:false, $:false */
487
+ S2.define('jquery',[],function () {
488
+ var _$ = jQuery || $;
489
+
490
+ if (_$ == null && console && console.error) {
491
+ console.error(
492
+ 'Select2: An instance of jQuery or a jQuery-compatible library was not ' +
493
+ 'found. Make sure that you are including jQuery before Select2 on your ' +
494
+ 'web page.'
495
+ );
496
+ }
497
+
498
+ return _$;
499
+ });
500
+
501
+ S2.define('select2/utils',[
502
+ 'jquery'
503
+ ], function ($) {
504
+ var Utils = {};
505
+
506
+ Utils.Extend = function (ChildClass, SuperClass) {
507
+ var __hasProp = {}.hasOwnProperty;
508
+
509
+ function BaseConstructor () {
510
+ this.constructor = ChildClass;
511
+ }
512
+
513
+ for (var key in SuperClass) {
514
+ if (__hasProp.call(SuperClass, key)) {
515
+ ChildClass[key] = SuperClass[key];
516
+ }
517
+ }
518
+
519
+ BaseConstructor.prototype = SuperClass.prototype;
520
+ ChildClass.prototype = new BaseConstructor();
521
+ ChildClass.__super__ = SuperClass.prototype;
522
+
523
+ return ChildClass;
524
+ };
525
+
526
+ function getMethods (theClass) {
527
+ var proto = theClass.prototype;
528
+
529
+ var methods = [];
530
+
531
+ for (var methodName in proto) {
532
+ var m = proto[methodName];
533
+
534
+ if (typeof m !== 'function') {
535
+ continue;
536
+ }
537
+
538
+ if (methodName === 'constructor') {
539
+ continue;
540
+ }
541
+
542
+ methods.push(methodName);
543
+ }
544
+
545
+ return methods;
546
+ }
547
+
548
+ Utils.Decorate = function (SuperClass, DecoratorClass) {
549
+ var decoratedMethods = getMethods(DecoratorClass);
550
+ var superMethods = getMethods(SuperClass);
551
+
552
+ function DecoratedClass () {
553
+ var unshift = Array.prototype.unshift;
554
+
555
+ var argCount = DecoratorClass.prototype.constructor.length;
556
+
557
+ var calledConstructor = SuperClass.prototype.constructor;
558
+
559
+ if (argCount > 0) {
560
+ unshift.call(arguments, SuperClass.prototype.constructor);
561
+
562
+ calledConstructor = DecoratorClass.prototype.constructor;
563
+ }
564
+
565
+ calledConstructor.apply(this, arguments);
566
+ }
567
+
568
+ DecoratorClass.displayName = SuperClass.displayName;
569
+
570
+ function ctr () {
571
+ this.constructor = DecoratedClass;
572
+ }
573
+
574
+ DecoratedClass.prototype = new ctr();
575
+
576
+ for (var m = 0; m < superMethods.length; m++) {
577
+ var superMethod = superMethods[m];
578
+
579
+ DecoratedClass.prototype[superMethod] =
580
+ SuperClass.prototype[superMethod];
581
+ }
582
+
583
+ var calledMethod = function (methodName) {
584
+ // Stub out the original method if it's not decorating an actual method
585
+ var originalMethod = function () {};
586
+
587
+ if (methodName in DecoratedClass.prototype) {
588
+ originalMethod = DecoratedClass.prototype[methodName];
589
+ }
590
+
591
+ var decoratedMethod = DecoratorClass.prototype[methodName];
592
+
593
+ return function () {
594
+ var unshift = Array.prototype.unshift;
595
+
596
+ unshift.call(arguments, originalMethod);
597
+
598
+ return decoratedMethod.apply(this, arguments);
599
+ };
600
+ };
601
+
602
+ for (var d = 0; d < decoratedMethods.length; d++) {
603
+ var decoratedMethod = decoratedMethods[d];
604
+
605
+ DecoratedClass.prototype[decoratedMethod] = calledMethod(decoratedMethod);
606
+ }
607
+
608
+ return DecoratedClass;
609
+ };
610
+
611
+ var Observable = function () {
612
+ this.listeners = {};
613
+ };
614
+
615
+ Observable.prototype.on = function (event, callback) {
616
+ this.listeners = this.listeners || {};
617
+
618
+ if (event in this.listeners) {
619
+ this.listeners[event].push(callback);
620
+ } else {
621
+ this.listeners[event] = [callback];
622
+ }
623
+ };
624
+
625
+ Observable.prototype.trigger = function (event) {
626
+ var slice = Array.prototype.slice;
627
+ var params = slice.call(arguments, 1);
628
+
629
+ this.listeners = this.listeners || {};
630
+
631
+ // Params should always come in as an array
632
+ if (params == null) {
633
+ params = [];
634
+ }
635
+
636
+ // If there are no arguments to the event, use a temporary object
637
+ if (params.length === 0) {
638
+ params.push({});
639
+ }
640
+
641
+ // Set the `_type` of the first object to the event
642
+ params[0]._type = event;
643
+
644
+ if (event in this.listeners) {
645
+ this.invoke(this.listeners[event], slice.call(arguments, 1));
646
+ }
647
+
648
+ if ('*' in this.listeners) {
649
+ this.invoke(this.listeners['*'], arguments);
650
+ }
651
+ };
652
+
653
+ Observable.prototype.invoke = function (listeners, params) {
654
+ for (var i = 0, len = listeners.length; i < len; i++) {
655
+ listeners[i].apply(this, params);
656
+ }
657
+ };
658
+
659
+ Utils.Observable = Observable;
660
+
661
+ Utils.generateChars = function (length) {
662
+ var chars = '';
663
+
664
+ for (var i = 0; i < length; i++) {
665
+ var randomChar = Math.floor(Math.random() * 36);
666
+ chars += randomChar.toString(36);
667
+ }
668
+
669
+ return chars;
670
+ };
671
+
672
+ Utils.bind = function (func, context) {
673
+ return function () {
674
+ func.apply(context, arguments);
675
+ };
676
+ };
677
+
678
+ Utils._convertData = function (data) {
679
+ for (var originalKey in data) {
680
+ var keys = originalKey.split('-');
681
+
682
+ var dataLevel = data;
683
+
684
+ if (keys.length === 1) {
685
+ continue;
686
+ }
687
+
688
+ for (var k = 0; k < keys.length; k++) {
689
+ var key = keys[k];
690
+
691
+ // Lowercase the first letter
692
+ // By default, dash-separated becomes camelCase
693
+ key = key.substring(0, 1).toLowerCase() + key.substring(1);
694
+
695
+ if (!(key in dataLevel)) {
696
+ dataLevel[key] = {};
697
+ }
698
+
699
+ if (k == keys.length - 1) {
700
+ dataLevel[key] = data[originalKey];
701
+ }
702
+
703
+ dataLevel = dataLevel[key];
704
+ }
705
+
706
+ delete data[originalKey];
707
+ }
708
+
709
+ return data;
710
+ };
711
+
712
+ Utils.hasScroll = function (index, el) {
713
+ // Adapted from the function created by @ShadowScripter
714
+ // and adapted by @BillBarry on the Stack Exchange Code Review website.
715
+ // The original code can be found at
716
+ // http://codereview.stackexchange.com/q/13338
717
+ // and was designed to be used with the Sizzle selector engine.
718
+
719
+ var $el = $(el);
720
+ var overflowX = el.style.overflowX;
721
+ var overflowY = el.style.overflowY;
722
+
723
+ //Check both x and y declarations
724
+ if (overflowX === overflowY &&
725
+ (overflowY === 'hidden' || overflowY === 'visible')) {
726
+ return false;
727
+ }
728
+
729
+ if (overflowX === 'scroll' || overflowY === 'scroll') {
730
+ return true;
731
+ }
732
+
733
+ return ($el.innerHeight() < el.scrollHeight ||
734
+ $el.innerWidth() < el.scrollWidth);
735
+ };
736
+
737
+ Utils.escapeMarkup = function (markup) {
738
+ var replaceMap = {
739
+ '\\': '&#92;',
740
+ '&': '&amp;',
741
+ '<': '&lt;',
742
+ '>': '&gt;',
743
+ '"': '&quot;',
744
+ '\'': '&#39;',
745
+ '/': '&#47;'
746
+ };
747
+
748
+ // Do not try to escape the markup if it's not a string
749
+ if (typeof markup !== 'string') {
750
+ return markup;
751
+ }
752
+
753
+ return String(markup).replace(/[&<>"'\/\\]/g, function (match) {
754
+ return replaceMap[match];
755
+ });
756
+ };
757
+
758
+ // Append an array of jQuery nodes to a given element.
759
+ Utils.appendMany = function ($element, $nodes) {
760
+ // jQuery 1.7.x does not support $.fn.append() with an array
761
+ // Fall back to a jQuery object collection using $.fn.add()
762
+ if ($.fn.jquery.substr(0, 3) === '1.7') {
763
+ var $jqNodes = $();
764
+
765
+ $.map($nodes, function (node) {
766
+ $jqNodes = $jqNodes.add(node);
767
+ });
768
+
769
+ $nodes = $jqNodes;
770
+ }
771
+
772
+ $element.append($nodes);
773
+ };
774
+
775
+ // Determine whether the browser is on a touchscreen device.
776
+ Utils.isTouchscreen = function() {
777
+ if ('undefined' === typeof Utils._isTouchscreenCache) {
778
+ Utils._isTouchscreenCache = 'ontouchstart' in document.documentElement;
779
+ }
780
+ return Utils._isTouchscreenCache;
781
+ }
782
+
783
+ return Utils;
784
+ });
785
+
786
+ S2.define('select2/results',[
787
+ 'jquery',
788
+ './utils'
789
+ ], function ($, Utils) {
790
+ function Results ($element, options, dataAdapter) {
791
+ this.$element = $element;
792
+ this.data = dataAdapter;
793
+ this.options = options;
794
+
795
+ Results.__super__.constructor.call(this);
796
+ }
797
+
798
+ Utils.Extend(Results, Utils.Observable);
799
+
800
+ Results.prototype.render = function () {
801
+ var $results = $(
802
+ '<ul class="select2-results__options" role="listbox" tabindex="-1"></ul>'
803
+ );
804
+
805
+ if (this.options.get('multiple')) {
806
+ $results.attr('aria-multiselectable', 'true');
807
+ }
808
+
809
+ this.$results = $results;
810
+
811
+ return $results;
812
+ };
813
+
814
+ Results.prototype.clear = function () {
815
+ this.$results.empty();
816
+ };
817
+
818
+ Results.prototype.displayMessage = function (params) {
819
+ var escapeMarkup = this.options.get('escapeMarkup');
820
+
821
+ this.clear();
822
+ this.hideLoading();
823
+
824
+ var $message = $(
825
+ '<li role="alert" aria-live="assertive"' +
826
+ ' class="select2-results__option"></li>'
827
+ );
828
+
829
+ var message = this.options.get('translations').get(params.message);
830
+
831
+ $message.append(
832
+ escapeMarkup(
833
+ message(params.args)
834
+ )
835
+ );
836
+
837
+ $message[0].className += ' select2-results__message';
838
+
839
+ this.$results.append($message);
840
+ };
841
+
842
+ Results.prototype.hideMessages = function () {
843
+ this.$results.find('.select2-results__message').remove();
844
+ };
845
+
846
+ Results.prototype.append = function (data) {
847
+ this.hideLoading();
848
+
849
+ var $options = [];
850
+
851
+ if (data.results == null || data.results.length === 0) {
852
+ if (this.$results.children().length === 0) {
853
+ this.trigger('results:message', {
854
+ message: 'noResults'
855
+ });
856
+ }
857
+
858
+ return;
859
+ }
860
+
861
+ data.results = this.sort(data.results);
862
+
863
+ for (var d = 0; d < data.results.length; d++) {
864
+ var item = data.results[d];
865
+
866
+ var $option = this.option(item);
867
+
868
+ $options.push($option);
869
+ }
870
+
871
+ this.$results.append($options);
872
+ };
873
+
874
+ Results.prototype.position = function ($results, $dropdown) {
875
+ var $resultsContainer = $dropdown.find('.select2-results');
876
+ $resultsContainer.append($results);
877
+ };
878
+
879
+ Results.prototype.sort = function (data) {
880
+ var sorter = this.options.get('sorter');
881
+
882
+ return sorter(data);
883
+ };
884
+
885
+ Results.prototype.highlightFirstItem = function () {
886
+ var $options = this.$results
887
+ .find('.select2-results__option[data-selected]');
888
+
889
+ var $selected = $options.filter('[data-selected=true]');
890
+
891
+ // Check if there are any selected options
892
+ if ($selected.length > 0) {
893
+ // If there are selected options, highlight the first
894
+ $selected.first().trigger('mouseenter');
895
+ } else {
896
+ // If there are no selected options, highlight the first option
897
+ // in the dropdown
898
+ $options.first().trigger('mouseenter');
899
+ }
900
+
901
+ this.ensureHighlightVisible();
902
+ };
903
+
904
+ Results.prototype.setClasses = function () {
905
+ var self = this;
906
+
907
+ this.data.current(function (selected) {
908
+ var selectedIds = $.map(selected, function (s) {
909
+ return s.id.toString();
910
+ });
911
+
912
+ var $options = self.$results
913
+ .find('.select2-results__option[data-selected]');
914
+
915
+ $options.each(function () {
916
+ var $option = $(this);
917
+
918
+ var item = $.data(this, 'data');
919
+
920
+ // id needs to be converted to a string when comparing
921
+ var id = '' + item.id;
922
+
923
+ if ((item.element != null && item.element.selected) ||
924
+ (item.element == null && $.inArray(id, selectedIds) > -1)) {
925
+ $option.attr('data-selected', 'true');
926
+ } else {
927
+ $option.attr('data-selected', 'false');
928
+ }
929
+ });
930
+
931
+ });
932
+ };
933
+
934
+ Results.prototype.showLoading = function (params) {
935
+ this.hideLoading();
936
+
937
+ var loadingMore = this.options.get('translations').get('searching');
938
+
939
+ var loading = {
940
+ disabled: true,
941
+ loading: true,
942
+ text: loadingMore(params)
943
+ };
944
+ var $loading = this.option(loading);
945
+ $loading.className += ' loading-results';
946
+
947
+ this.$results.prepend($loading);
948
+ };
949
+
950
+ Results.prototype.hideLoading = function () {
951
+ this.$results.find('.loading-results').remove();
952
+ };
953
+
954
+ Results.prototype.option = function (data) {
955
+ var option = document.createElement('li');
956
+ option.className = 'select2-results__option';
957
+
958
+ var attrs = {
959
+ 'role': 'option',
960
+ 'data-selected': 'false',
961
+ 'tabindex': -1
962
+ };
963
+
964
+ if (data.disabled) {
965
+ delete attrs['data-selected'];
966
+ attrs['aria-disabled'] = 'true';
967
+ }
968
+
969
+ if (data.id == null) {
970
+ delete attrs['data-selected'];
971
+ }
972
+
973
+ if (data._resultId != null) {
974
+ option.id = data._resultId;
975
+ }
976
+
977
+ if (data.title) {
978
+ option.title = data.title;
979
+ }
980
+
981
+ if (data.children) {
982
+ attrs['aria-label'] = data.text;
983
+ delete attrs['data-selected'];
984
+ }
985
+
986
+ for (var attr in attrs) {
987
+ var val = attrs[attr];
988
+
989
+ option.setAttribute(attr, val);
990
+ }
991
+
992
+ if (data.children) {
993
+ var $option = $(option);
994
+
995
+ var label = document.createElement('strong');
996
+ label.className = 'select2-results__group';
997
+
998
+ var $label = $(label);
999
+ this.template(data, label);
1000
+ $label.attr('role', 'presentation');
1001
+
1002
+ var $children = [];
1003
+
1004
+ for (var c = 0; c < data.children.length; c++) {
1005
+ var child = data.children[c];
1006
+
1007
+ var $child = this.option(child);
1008
+
1009
+ $children.push($child);
1010
+ }
1011
+
1012
+ var $childrenContainer = $('<ul></ul>', {
1013
+ 'class': 'select2-results__options select2-results__options--nested',
1014
+ 'role': 'listbox'
1015
+ });
1016
+ $childrenContainer.append($children);
1017
+ $option.attr('role', 'list');
1018
+
1019
+ $option.append(label);
1020
+ $option.append($childrenContainer);
1021
+ } else {
1022
+ this.template(data, option);
1023
+ }
1024
+
1025
+ $.data(option, 'data', data);
1026
+
1027
+ return option;
1028
+ };
1029
+
1030
+ Results.prototype.bind = function (container, $container) {
1031
+ var self = this;
1032
+
1033
+ var id = container.id + '-results';
1034
+
1035
+ this.$results.attr('id', id);
1036
+
1037
+ container.on('results:all', function (params) {
1038
+ self.clear();
1039
+ self.append(params.data);
1040
+
1041
+ if (container.isOpen()) {
1042
+ self.setClasses();
1043
+ self.highlightFirstItem();
1044
+ }
1045
+ });
1046
+
1047
+ container.on('results:append', function (params) {
1048
+ self.append(params.data);
1049
+
1050
+ if (container.isOpen()) {
1051
+ self.setClasses();
1052
+ }
1053
+ });
1054
+
1055
+ container.on('query', function (params) {
1056
+ self.hideMessages();
1057
+ self.showLoading(params);
1058
+ });
1059
+
1060
+ container.on('select', function () {
1061
+ if (!container.isOpen()) {
1062
+ return;
1063
+ }
1064
+
1065
+ self.setClasses();
1066
+ self.highlightFirstItem();
1067
+ });
1068
+
1069
+ container.on('unselect', function () {
1070
+ if (!container.isOpen()) {
1071
+ return;
1072
+ }
1073
+
1074
+ self.setClasses();
1075
+ self.highlightFirstItem();
1076
+ });
1077
+
1078
+ container.on('open', function () {
1079
+ // When the dropdown is open, aria-expended="true"
1080
+ self.$results.attr('aria-expanded', 'true');
1081
+ self.$results.attr('aria-hidden', 'false');
1082
+
1083
+ self.setClasses();
1084
+ self.ensureHighlightVisible();
1085
+ });
1086
+
1087
+ container.on('close', function () {
1088
+ // When the dropdown is closed, aria-expended="false"
1089
+ self.$results.attr('aria-expanded', 'false');
1090
+ self.$results.attr('aria-hidden', 'true');
1091
+ self.$results.removeAttr('aria-activedescendant');
1092
+ });
1093
+
1094
+ container.on('results:toggle', function () {
1095
+ var $highlighted = self.getHighlightedResults();
1096
+
1097
+ if ($highlighted.length === 0) {
1098
+ return;
1099
+ }
1100
+
1101
+ $highlighted.trigger('mouseup');
1102
+ });
1103
+
1104
+ container.on('results:select', function () {
1105
+ var $highlighted = self.getHighlightedResults();
1106
+
1107
+ if ($highlighted.length === 0) {
1108
+ return;
1109
+ }
1110
+
1111
+ var data = $highlighted.data('data');
1112
+
1113
+ if ($highlighted.attr('data-selected') == 'true') {
1114
+ self.trigger('close', {});
1115
+ } else {
1116
+ self.trigger('select', {
1117
+ data: data
1118
+ });
1119
+ }
1120
+ });
1121
+
1122
+ container.on('results:previous', function () {
1123
+ var $highlighted = self.getHighlightedResults();
1124
+
1125
+ var $options = self.$results.find('[data-selected]');
1126
+
1127
+ var currentIndex = $options.index($highlighted);
1128
+
1129
+ // If we are already at te top, don't move further
1130
+ if (currentIndex === 0) {
1131
+ return;
1132
+ }
1133
+
1134
+ var nextIndex = currentIndex - 1;
1135
+
1136
+ // If none are highlighted, highlight the first
1137
+ if ($highlighted.length === 0) {
1138
+ nextIndex = 0;
1139
+ }
1140
+
1141
+ var $next = $options.eq(nextIndex);
1142
+
1143
+ $next.trigger('mouseenter');
1144
+
1145
+ var currentOffset = self.$results.offset().top;
1146
+ var nextTop = $next.offset().top;
1147
+ var nextOffset = self.$results.scrollTop() + (nextTop - currentOffset);
1148
+
1149
+ if (nextIndex === 0) {
1150
+ self.$results.scrollTop(0);
1151
+ } else if (nextTop - currentOffset < 0) {
1152
+ self.$results.scrollTop(nextOffset);
1153
+ }
1154
+ });
1155
+
1156
+ container.on('results:next', function () {
1157
+ var $highlighted = self.getHighlightedResults();
1158
+
1159
+ var $options = self.$results.find('[data-selected]');
1160
+
1161
+ var currentIndex = $options.index($highlighted);
1162
+
1163
+ var nextIndex = currentIndex + 1;
1164
+
1165
+ // If we are at the last option, stay there
1166
+ if (nextIndex >= $options.length) {
1167
+ return;
1168
+ }
1169
+
1170
+ var $next = $options.eq(nextIndex);
1171
+
1172
+ $next.trigger('mouseenter');
1173
+
1174
+ var currentOffset = self.$results.offset().top +
1175
+ self.$results.outerHeight(false);
1176
+ var nextBottom = $next.offset().top + $next.outerHeight(false);
1177
+ var nextOffset = self.$results.scrollTop() + nextBottom - currentOffset;
1178
+
1179
+ if (nextIndex === 0) {
1180
+ self.$results.scrollTop(0);
1181
+ } else if (nextBottom > currentOffset) {
1182
+ self.$results.scrollTop(nextOffset);
1183
+ }
1184
+ });
1185
+
1186
+ container.on('results:focus', function (params) {
1187
+ params.element.addClass('select2-results__option--highlighted').attr('aria-selected', 'true');
1188
+ self.$results.attr('aria-activedescendant', params.element.attr('id'));
1189
+ });
1190
+
1191
+ container.on('results:message', function (params) {
1192
+ self.displayMessage(params);
1193
+ });
1194
+
1195
+ if ($.fn.mousewheel) {
1196
+ this.$results.on('mousewheel', function (e) {
1197
+ var top = self.$results.scrollTop();
1198
+
1199
+ var bottom = self.$results.get(0).scrollHeight - top + e.deltaY;
1200
+
1201
+ var isAtTop = e.deltaY > 0 && top - e.deltaY <= 0;
1202
+ var isAtBottom = e.deltaY < 0 && bottom <= self.$results.height();
1203
+
1204
+ if (isAtTop) {
1205
+ self.$results.scrollTop(0);
1206
+
1207
+ e.preventDefault();
1208
+ e.stopPropagation();
1209
+ } else if (isAtBottom) {
1210
+ self.$results.scrollTop(
1211
+ self.$results.get(0).scrollHeight - self.$results.height()
1212
+ );
1213
+
1214
+ e.preventDefault();
1215
+ e.stopPropagation();
1216
+ }
1217
+ });
1218
+ }
1219
+
1220
+ this.$results.on('mouseup', '.select2-results__option[data-selected]',
1221
+ function (evt) {
1222
+ var $this = $(this);
1223
+
1224
+ var data = $this.data('data');
1225
+
1226
+ if ($this.attr('data-selected') === 'true') {
1227
+ if (self.options.get('multiple')) {
1228
+ self.trigger('unselect', {
1229
+ originalEvent: evt,
1230
+ data: data
1231
+ });
1232
+ } else {
1233
+ self.trigger('close', {});
1234
+ }
1235
+
1236
+ return;
1237
+ }
1238
+
1239
+ self.trigger('select', {
1240
+ originalEvent: evt,
1241
+ data: data
1242
+ });
1243
+ });
1244
+
1245
+ this.$results.on('mouseenter', '.select2-results__option[data-selected]',
1246
+ function (evt) {
1247
+ var data = $(this).data('data');
1248
+
1249
+ self.getHighlightedResults()
1250
+ .removeClass('select2-results__option--highlighted')
1251
+ .attr('aria-selected', 'false');
1252
+
1253
+ self.trigger('results:focus', {
1254
+ data: data,
1255
+ element: $(this)
1256
+ });
1257
+ });
1258
+ };
1259
+
1260
+ Results.prototype.getHighlightedResults = function () {
1261
+ var $highlighted = this.$results
1262
+ .find('.select2-results__option--highlighted');
1263
+
1264
+ return $highlighted;
1265
+ };
1266
+
1267
+ Results.prototype.destroy = function () {
1268
+ this.$results.remove();
1269
+ };
1270
+
1271
+ Results.prototype.ensureHighlightVisible = function () {
1272
+ var $highlighted = this.getHighlightedResults();
1273
+
1274
+ if ($highlighted.length === 0) {
1275
+ return;
1276
+ }
1277
+
1278
+ var $options = this.$results.find('[data-selected]');
1279
+
1280
+ var currentIndex = $options.index($highlighted);
1281
+
1282
+ var currentOffset = this.$results.offset().top;
1283
+ var nextTop = $highlighted.offset().top;
1284
+ var nextOffset = this.$results.scrollTop() + (nextTop - currentOffset);
1285
+
1286
+ var offsetDelta = nextTop - currentOffset;
1287
+ nextOffset -= $highlighted.outerHeight(false) * 2;
1288
+
1289
+ if (currentIndex <= 2) {
1290
+ this.$results.scrollTop(0);
1291
+ } else if (offsetDelta > this.$results.outerHeight() || offsetDelta < 0) {
1292
+ this.$results.scrollTop(nextOffset);
1293
+ }
1294
+ };
1295
+
1296
+ Results.prototype.template = function (result, container) {
1297
+ var template = this.options.get('templateResult');
1298
+ var escapeMarkup = this.options.get('escapeMarkup');
1299
+
1300
+ var content = template(result, container);
1301
+
1302
+ if (content == null) {
1303
+ container.style.display = 'none';
1304
+ } else if (typeof content === 'string') {
1305
+ container.innerHTML = escapeMarkup(content);
1306
+ } else {
1307
+ $(container).append(content);
1308
+ }
1309
+ };
1310
+
1311
+ return Results;
1312
+ });
1313
+
1314
+ S2.define('select2/keys',[
1315
+
1316
+ ], function () {
1317
+ var KEYS = {
1318
+ BACKSPACE: 8,
1319
+ TAB: 9,
1320
+ ENTER: 13,
1321
+ SHIFT: 16,
1322
+ CTRL: 17,
1323
+ ALT: 18,
1324
+ ESC: 27,
1325
+ SPACE: 32,
1326
+ PAGE_UP: 33,
1327
+ PAGE_DOWN: 34,
1328
+ END: 35,
1329
+ HOME: 36,
1330
+ LEFT: 37,
1331
+ UP: 38,
1332
+ RIGHT: 39,
1333
+ DOWN: 40,
1334
+ DELETE: 46
1335
+ };
1336
+
1337
+ return KEYS;
1338
+ });
1339
+
1340
+ S2.define('select2/selection/base',[
1341
+ 'jquery',
1342
+ '../utils',
1343
+ '../keys'
1344
+ ], function ($, Utils, KEYS) {
1345
+ function BaseSelection ($element, options) {
1346
+ this.$element = $element;
1347
+ this.options = options;
1348
+
1349
+ BaseSelection.__super__.constructor.call(this);
1350
+ }
1351
+
1352
+ Utils.Extend(BaseSelection, Utils.Observable);
1353
+
1354
+ BaseSelection.prototype.render = function () {
1355
+ var $selection = $(
1356
+ '<span class="select2-selection" ' +
1357
+ ' aria-haspopup="true" aria-expanded="false">' +
1358
+ '</span>'
1359
+ );
1360
+
1361
+ this._tabindex = 0;
1362
+
1363
+ if (this.$element.data('old-tabindex') != null) {
1364
+ this._tabindex = this.$element.data('old-tabindex');
1365
+ } else if (this.$element.attr('tabindex') != null) {
1366
+ this._tabindex = this.$element.attr('tabindex');
1367
+ }
1368
+
1369
+ $selection.attr('title', this.$element.attr('title'));
1370
+ $selection.attr('tabindex', this._tabindex);
1371
+
1372
+ this.$selection = $selection;
1373
+
1374
+ return $selection;
1375
+ };
1376
+
1377
+ BaseSelection.prototype.bind = function (container, $container) {
1378
+ var self = this;
1379
+
1380
+ var id = container.id + '-container';
1381
+ var resultsId = container.id + '-results';
1382
+ var searchHidden = this.options.get('minimumResultsForSearch') === Infinity;
1383
+
1384
+ this.container = container;
1385
+
1386
+ this.$selection.on('focus', function (evt) {
1387
+ self.trigger('focus', evt);
1388
+ });
1389
+
1390
+ this.$selection.on('blur', function (evt) {
1391
+ self._handleBlur(evt);
1392
+ });
1393
+
1394
+ this.$selection.on('keydown', function (evt) {
1395
+ self.trigger('keypress', evt);
1396
+
1397
+ if (evt.which === KEYS.SPACE) {
1398
+ evt.preventDefault();
1399
+ }
1400
+ });
1401
+
1402
+ container.on('results:focus', function (params) {
1403
+ self.$selection.attr('aria-activedescendant', params.data._resultId);
1404
+ });
1405
+
1406
+ container.on('selection:update', function (params) {
1407
+ self.update(params.data);
1408
+ });
1409
+
1410
+ container.on('open', function () {
1411
+ // When the dropdown is open, aria-expanded="true"
1412
+ self.$selection.attr('aria-expanded', 'true');
1413
+ self.$selection.attr('aria-owns', resultsId);
1414
+
1415
+ self._attachCloseHandler(container);
1416
+ });
1417
+
1418
+ container.on('close', function () {
1419
+ // When the dropdown is closed, aria-expanded="false"
1420
+ self.$selection.attr('aria-expanded', 'false');
1421
+ self.$selection.removeAttr('aria-activedescendant');
1422
+ self.$selection.removeAttr('aria-owns');
1423
+
1424
+ // This needs to be delayed as the active element is the body when the
1425
+ // key is pressed.
1426
+ window.setTimeout(function () {
1427
+ self.$selection.focus();
1428
+ }, 1);
1429
+
1430
+ self._detachCloseHandler(container);
1431
+ });
1432
+
1433
+ container.on('enable', function () {
1434
+ self.$selection.attr('tabindex', self._tabindex);
1435
+ });
1436
+
1437
+ container.on('disable', function () {
1438
+ self.$selection.attr('tabindex', '-1');
1439
+ });
1440
+ };
1441
+
1442
+ BaseSelection.prototype._handleBlur = function (evt) {
1443
+ var self = this;
1444
+
1445
+ // This needs to be delayed as the active element is the body when the tab
1446
+ // key is pressed, possibly along with others.
1447
+ window.setTimeout(function () {
1448
+ // Don't trigger `blur` if the focus is still in the selection
1449
+ if (
1450
+ (document.activeElement == self.$selection[0]) ||
1451
+ ($.contains(self.$selection[0], document.activeElement))
1452
+ ) {
1453
+ return;
1454
+ }
1455
+
1456
+ self.trigger('blur', evt);
1457
+ }, 1);
1458
+ };
1459
+
1460
+ BaseSelection.prototype._attachCloseHandler = function (container) {
1461
+ var self = this;
1462
+
1463
+ $(document.body).on('mousedown.select2.' + container.id, function (e) {
1464
+ var $target = $(e.target);
1465
+
1466
+ var $select = $target.closest('.select2');
1467
+
1468
+ var $all = $('.select2.select2-container--open');
1469
+
1470
+ $all.each(function () {
1471
+ var $this = $(this);
1472
+
1473
+ if (this == $select[0]) {
1474
+ return;
1475
+ }
1476
+
1477
+ var $element = $this.data('element');
1478
+ $element.select2('close');
1479
+
1480
+ // Remove any focus when dropdown is closed by clicking outside the select area.
1481
+ // Timeout of 1 required for close to finish wrapping up.
1482
+ setTimeout(function(){
1483
+ $this.find('*:focus').blur();
1484
+ $target.focus();
1485
+ }, 1);
1486
+ });
1487
+ });
1488
+ };
1489
+
1490
+ BaseSelection.prototype._detachCloseHandler = function (container) {
1491
+ $(document.body).off('mousedown.select2.' + container.id);
1492
+ };
1493
+
1494
+ BaseSelection.prototype.position = function ($selection, $container) {
1495
+ var $selectionContainer = $container.find('.selection');
1496
+ $selectionContainer.append($selection);
1497
+ };
1498
+
1499
+ BaseSelection.prototype.destroy = function () {
1500
+ this._detachCloseHandler(this.container);
1501
+ };
1502
+
1503
+ BaseSelection.prototype.update = function (data) {
1504
+ throw new Error('The `update` method must be defined in child classes.');
1505
+ };
1506
+
1507
+ return BaseSelection;
1508
+ });
1509
+
1510
+ S2.define('select2/selection/single',[
1511
+ 'jquery',
1512
+ './base',
1513
+ '../utils',
1514
+ '../keys'
1515
+ ], function ($, BaseSelection, Utils, KEYS) {
1516
+ function SingleSelection () {
1517
+ SingleSelection.__super__.constructor.apply(this, arguments);
1518
+ }
1519
+
1520
+ Utils.Extend(SingleSelection, BaseSelection);
1521
+
1522
+ SingleSelection.prototype.render = function () {
1523
+ var $selection = SingleSelection.__super__.render.call(this);
1524
+
1525
+ $selection.addClass('select2-selection--single');
1526
+
1527
+ $selection.html(
1528
+ '<span class="select2-selection__rendered"></span>' +
1529
+ '<span class="select2-selection__arrow" role="presentation">' +
1530
+ '<b role="presentation"></b>' +
1531
+ '</span>'
1532
+ );
1533
+
1534
+ return $selection;
1535
+ };
1536
+
1537
+ SingleSelection.prototype.bind = function (container, $container) {
1538
+ var self = this;
1539
+
1540
+ SingleSelection.__super__.bind.apply(this, arguments);
1541
+
1542
+ var id = container.id + '-container';
1543
+
1544
+ this.$selection.find('.select2-selection__rendered')
1545
+ .attr('id', id)
1546
+ .attr('role', 'textbox')
1547
+ .attr('aria-readonly', 'true');
1548
+ this.$selection.attr('aria-labelledby', id);
1549
+
1550
+ // This makes single non-search selects work in screen readers. If it causes problems elsewhere, remove.
1551
+ this.$selection.attr('role', 'combobox');
1552
+
1553
+ this.$selection.on('mousedown', function (evt) {
1554
+ // Only respond to left clicks
1555
+ if (evt.which !== 1) {
1556
+ return;
1557
+ }
1558
+
1559
+ self.trigger('toggle', {
1560
+ originalEvent: evt
1561
+ });
1562
+ });
1563
+
1564
+ this.$selection.on('focus', function (evt) {
1565
+ // User focuses on the container
1566
+ });
1567
+
1568
+ this.$selection.on('keydown', function (evt) {
1569
+ // If user starts typing an alphanumeric key on the keyboard, open if not opened.
1570
+ if (!container.isOpen() && evt.which >= 48 && evt.which <= 90) {
1571
+ container.open();
1572
+ }
1573
+ });
1574
+
1575
+ this.$selection.on('blur', function (evt) {
1576
+ // User exits the container
1577
+ });
1578
+
1579
+ container.on('focus', function (evt) {
1580
+ if (!container.isOpen()) {
1581
+ self.$selection.focus();
1582
+ }
1583
+ });
1584
+
1585
+ container.on('selection:update', function (params) {
1586
+ self.update(params.data);
1587
+ });
1588
+ };
1589
+
1590
+ SingleSelection.prototype.clear = function () {
1591
+ this.$selection.find('.select2-selection__rendered').empty();
1592
+ };
1593
+
1594
+ SingleSelection.prototype.display = function (data, container) {
1595
+ var template = this.options.get('templateSelection');
1596
+ var escapeMarkup = this.options.get('escapeMarkup');
1597
+
1598
+ return escapeMarkup(template(data, container));
1599
+ };
1600
+
1601
+ SingleSelection.prototype.selectionContainer = function () {
1602
+ return $('<span></span>');
1603
+ };
1604
+
1605
+ SingleSelection.prototype.update = function (data) {
1606
+ if (data.length === 0) {
1607
+ this.clear();
1608
+ return;
1609
+ }
1610
+
1611
+ var selection = data[0];
1612
+
1613
+ var $rendered = this.$selection.find('.select2-selection__rendered');
1614
+ var formatted = this.display(selection, $rendered);
1615
+
1616
+ $rendered.empty().append(formatted);
1617
+ $rendered.prop('title', selection.title || selection.text);
1618
+ };
1619
+
1620
+ return SingleSelection;
1621
+ });
1622
+
1623
+ S2.define('select2/selection/multiple',[
1624
+ 'jquery',
1625
+ './base',
1626
+ '../utils'
1627
+ ], function ($, BaseSelection, Utils) {
1628
+ function MultipleSelection ($element, options) {
1629
+ MultipleSelection.__super__.constructor.apply(this, arguments);
1630
+ }
1631
+
1632
+ Utils.Extend(MultipleSelection, BaseSelection);
1633
+
1634
+ MultipleSelection.prototype.render = function () {
1635
+ var $selection = MultipleSelection.__super__.render.call(this);
1636
+
1637
+ $selection.addClass('select2-selection--multiple');
1638
+
1639
+ $selection.html(
1640
+ '<ul class="select2-selection__rendered" aria-live="polite" aria-relevant="additions removals" aria-atomic="true"></ul>'
1641
+ );
1642
+
1643
+ return $selection;
1644
+ };
1645
+
1646
+ MultipleSelection.prototype.bind = function (container, $container) {
1647
+ var self = this;
1648
+
1649
+ MultipleSelection.__super__.bind.apply(this, arguments);
1650
+
1651
+ this.$selection.on('click', function (evt) {
1652
+ self.trigger('toggle', {
1653
+ originalEvent: evt
1654
+ });
1655
+ });
1656
+
1657
+ this.$selection.on(
1658
+ 'click',
1659
+ '.select2-selection__choice__remove',
1660
+ function (evt) {
1661
+ // Ignore the event if it is disabled
1662
+ if (self.options.get('disabled')) {
1663
+ return;
1664
+ }
1665
+
1666
+ var $remove = $(this);
1667
+ var $selection = $remove.parent();
1668
+
1669
+ var data = $selection.data('data');
1670
+
1671
+ self.trigger('unselect', {
1672
+ originalEvent: evt,
1673
+ data: data
1674
+ });
1675
+ }
1676
+ );
1677
+
1678
+ this.$selection.on('keydown', function (evt) {
1679
+ // If user starts typing an alphanumeric key on the keyboard, open if not opened.
1680
+ if (!container.isOpen() && evt.which >= 48 && evt.which <= 90) {
1681
+ container.open();
1682
+ }
1683
+ });
1684
+
1685
+ // Focus on the search field when the container is focused instead of the main container.
1686
+ container.on( 'focus', function(){
1687
+ self.focusOnSearch();
1688
+ });
1689
+ };
1690
+
1691
+ MultipleSelection.prototype.clear = function () {
1692
+ this.$selection.find('.select2-selection__rendered').empty();
1693
+ };
1694
+
1695
+ MultipleSelection.prototype.display = function (data, container) {
1696
+ var template = this.options.get('templateSelection');
1697
+ var escapeMarkup = this.options.get('escapeMarkup');
1698
+
1699
+ return escapeMarkup(template(data, container));
1700
+ };
1701
+
1702
+ MultipleSelection.prototype.selectionContainer = function () {
1703
+ var $container = $(
1704
+ '<li class="select2-selection__choice">' +
1705
+ '<span class="select2-selection__choice__remove" role="presentation" aria-hidden="true">' +
1706
+ '&times;' +
1707
+ '</span>' +
1708
+ '</li>'
1709
+ );
1710
+
1711
+ return $container;
1712
+ };
1713
+
1714
+ /**
1715
+ * Focus on the search field instead of the main multiselect container.
1716
+ */
1717
+ MultipleSelection.prototype.focusOnSearch = function() {
1718
+ var self = this;
1719
+
1720
+ if ('undefined' !== typeof self.$search) {
1721
+ // Needs 1 ms delay because of other 1 ms setTimeouts when rendering.
1722
+ setTimeout(function(){
1723
+ // Prevent the dropdown opening again when focused from this.
1724
+ // This gets reset automatically when focus is triggered.
1725
+ self._keyUpPrevented = true;
1726
+
1727
+ self.$search.focus();
1728
+ }, 1);
1729
+ }
1730
+ }
1731
+
1732
+ MultipleSelection.prototype.update = function (data) {
1733
+ this.clear();
1734
+
1735
+ if (data.length === 0) {
1736
+ return;
1737
+ }
1738
+
1739
+ var $selections = [];
1740
+
1741
+ for (var d = 0; d < data.length; d++) {
1742
+ var selection = data[d];
1743
+
1744
+ var $selection = this.selectionContainer();
1745
+ var formatted = this.display(selection, $selection);
1746
+ if ('string' === typeof formatted) {
1747
+ formatted = formatted.trim();
1748
+ }
1749
+
1750
+ $selection.append(formatted);
1751
+ $selection.prop('title', selection.title || selection.text);
1752
+
1753
+ $selection.data('data', selection);
1754
+
1755
+ $selections.push($selection);
1756
+ }
1757
+
1758
+ var $rendered = this.$selection.find('.select2-selection__rendered');
1759
+
1760
+ Utils.appendMany($rendered, $selections);
1761
+ };
1762
+
1763
+ return MultipleSelection;
1764
+ });
1765
+
1766
+ S2.define('select2/selection/placeholder',[
1767
+ '../utils'
1768
+ ], function (Utils) {
1769
+ function Placeholder (decorated, $element, options) {
1770
+ this.placeholder = this.normalizePlaceholder(options.get('placeholder'));
1771
+
1772
+ decorated.call(this, $element, options);
1773
+ }
1774
+
1775
+ Placeholder.prototype.normalizePlaceholder = function (_, placeholder) {
1776
+ if (typeof placeholder === 'string') {
1777
+ placeholder = {
1778
+ id: '',
1779
+ text: placeholder
1780
+ };
1781
+ }
1782
+
1783
+ return placeholder;
1784
+ };
1785
+
1786
+ Placeholder.prototype.createPlaceholder = function (decorated, placeholder) {
1787
+ var $placeholder = this.selectionContainer();
1788
+
1789
+ $placeholder.html(this.display(placeholder));
1790
+ $placeholder.addClass('select2-selection__placeholder')
1791
+ .removeClass('select2-selection__choice');
1792
+
1793
+ return $placeholder;
1794
+ };
1795
+
1796
+ Placeholder.prototype.update = function (decorated, data) {
1797
+ var singlePlaceholder = (
1798
+ data.length == 1 && data[0].id != this.placeholder.id
1799
+ );
1800
+ var multipleSelections = data.length > 1;
1801
+
1802
+ if (multipleSelections || singlePlaceholder) {
1803
+ return decorated.call(this, data);
1804
+ }
1805
+
1806
+ this.clear();
1807
+
1808
+ var $placeholder = this.createPlaceholder(this.placeholder);
1809
+
1810
+ this.$selection.find('.select2-selection__rendered').append($placeholder);
1811
+ };
1812
+
1813
+ return Placeholder;
1814
+ });
1815
+
1816
+ S2.define('select2/selection/allowClear',[
1817
+ 'jquery',
1818
+ '../keys'
1819
+ ], function ($, KEYS) {
1820
+ function AllowClear () { }
1821
+
1822
+ AllowClear.prototype.bind = function (decorated, container, $container) {
1823
+ var self = this;
1824
+
1825
+ decorated.call(this, container, $container);
1826
+
1827
+ if (this.placeholder == null) {
1828
+ if (this.options.get('debug') && window.console && console.error) {
1829
+ console.error(
1830
+ 'Select2: The `allowClear` option should be used in combination ' +
1831
+ 'with the `placeholder` option.'
1832
+ );
1833
+ }
1834
+ }
1835
+
1836
+ this.$selection.on('mousedown', '.select2-selection__clear',
1837
+ function (evt) {
1838
+ self._handleClear(evt);
1839
+ });
1840
+
1841
+ container.on('keypress', function (evt) {
1842
+ self._handleKeyboardClear(evt, container);
1843
+ });
1844
+ };
1845
+
1846
+ AllowClear.prototype._handleClear = function (_, evt) {
1847
+ // Ignore the event if it is disabled
1848
+ if (this.options.get('disabled')) {
1849
+ return;
1850
+ }
1851
+
1852
+ var $clear = this.$selection.find('.select2-selection__clear');
1853
+
1854
+ // Ignore the event if nothing has been selected
1855
+ if ($clear.length === 0) {
1856
+ return;
1857
+ }
1858
+
1859
+ evt.stopPropagation();
1860
+
1861
+ var data = $clear.data('data');
1862
+
1863
+ for (var d = 0; d < data.length; d++) {
1864
+ var unselectData = {
1865
+ data: data[d]
1866
+ };
1867
+
1868
+ // Trigger the `unselect` event, so people can prevent it from being
1869
+ // cleared.
1870
+ this.trigger('unselect', unselectData);
1871
+
1872
+ // If the event was prevented, don't clear it out.
1873
+ if (unselectData.prevented) {
1874
+ return;
1875
+ }
1876
+ }
1877
+
1878
+ this.$element.val(this.placeholder.id).trigger('change');
1879
+
1880
+ this.trigger('toggle', {});
1881
+ };
1882
+
1883
+ AllowClear.prototype._handleKeyboardClear = function (_, evt, container) {
1884
+ if (container.isOpen()) {
1885
+ return;
1886
+ }
1887
+
1888
+ if (evt.which == KEYS.DELETE || evt.which == KEYS.BACKSPACE) {
1889
+ this._handleClear(evt);
1890
+ }
1891
+ };
1892
+
1893
+ AllowClear.prototype.update = function (decorated, data) {
1894
+ decorated.call(this, data);
1895
+
1896
+ if (this.$selection.find('.select2-selection__placeholder').length > 0 ||
1897
+ data.length === 0) {
1898
+ return;
1899
+ }
1900
+
1901
+ var $remove = $(
1902
+ '<span class="select2-selection__clear">' +
1903
+ '&times;' +
1904
+ '</span>'
1905
+ );
1906
+ $remove.data('data', data);
1907
+
1908
+ this.$selection.find('.select2-selection__rendered').prepend($remove);
1909
+ };
1910
+
1911
+ return AllowClear;
1912
+ });
1913
+
1914
+ S2.define('select2/selection/search',[
1915
+ 'jquery',
1916
+ '../utils',
1917
+ '../keys'
1918
+ ], function ($, Utils, KEYS) {
1919
+ function Search (decorated, $element, options) {
1920
+ decorated.call(this, $element, options);
1921
+ }
1922
+
1923
+ Search.prototype.render = function (decorated) {
1924
+ var $search = $(
1925
+ '<li class="select2-search select2-search--inline">' +
1926
+ '<input class="select2-search__field" type="text" tabindex="-1"' +
1927
+ ' autocomplete="off" autocorrect="off" autocapitalize="off"' +
1928
+ ' spellcheck="false" role="textbox" aria-autocomplete="list" />' +
1929
+ '</li>'
1930
+ );
1931
+
1932
+ this.$searchContainer = $search;
1933
+ this.$search = $search.find('input');
1934
+
1935
+ var $rendered = decorated.call(this);
1936
+
1937
+ this._transferTabIndex();
1938
+
1939
+ return $rendered;
1940
+ };
1941
+
1942
+ Search.prototype.bind = function (decorated, container, $container) {
1943
+ var self = this;
1944
+ var resultsId = container.id + '-results';
1945
+
1946
+ decorated.call(this, container, $container);
1947
+
1948
+ container.on('open', function () {
1949
+ self.$search.attr('aria-owns', resultsId);
1950
+ self.$search.trigger('focus');
1951
+ });
1952
+
1953
+ container.on('close', function () {
1954
+ self.$search.val('');
1955
+ self.$search.removeAttr('aria-activedescendant');
1956
+ self.$search.removeAttr('aria-owns');
1957
+ self.$search.trigger('focus');
1958
+ });
1959
+
1960
+ container.on('enable', function () {
1961
+ self.$search.prop('disabled', false);
1962
+
1963
+ self._transferTabIndex();
1964
+ });
1965
+
1966
+ container.on('disable', function () {
1967
+ self.$search.prop('disabled', true);
1968
+ });
1969
+
1970
+ container.on('focus', function (evt) {
1971
+ self.$search.trigger('focus');
1972
+ });
1973
+
1974
+ container.on('results:focus', function (params) {
1975
+ self.$search.attr('aria-activedescendant', params.data._resultId);
1976
+ });
1977
+
1978
+ this.$selection.on('focusin', '.select2-search--inline', function (evt) {
1979
+ self.trigger('focus', evt);
1980
+ });
1981
+
1982
+ this.$selection.on('focusout', '.select2-search--inline', function (evt) {
1983
+ self._handleBlur(evt);
1984
+ });
1985
+
1986
+ this.$selection.on('keydown', '.select2-search--inline', function (evt) {
1987
+ evt.stopPropagation();
1988
+
1989
+ self.trigger('keypress', evt);
1990
+
1991
+ self._keyUpPrevented = evt.isDefaultPrevented();
1992
+
1993
+ var key = evt.which;
1994
+
1995
+ if (key === KEYS.BACKSPACE && self.$search.val() === '') {
1996
+ var $previousChoice = self.$searchContainer
1997
+ .prev('.select2-selection__choice');
1998
+
1999
+ if ($previousChoice.length > 0) {
2000
+ var item = $previousChoice.data('data');
2001
+
2002
+ self.searchRemoveChoice(item);
2003
+
2004
+ evt.preventDefault();
2005
+ }
2006
+ } else if (evt.which === KEYS.ENTER) {
2007
+ container.open();
2008
+ evt.preventDefault();
2009
+ }
2010
+ });
2011
+
2012
+ // Try to detect the IE version should the `documentMode` property that
2013
+ // is stored on the document. This is only implemented in IE and is
2014
+ // slightly cleaner than doing a user agent check.
2015
+ // This property is not available in Edge, but Edge also doesn't have
2016
+ // this bug.
2017
+ var msie = document.documentMode;
2018
+ var disableInputEvents = msie && msie <= 11;
2019
+
2020
+ // Workaround for browsers which do not support the `input` event
2021
+ // This will prevent double-triggering of events for browsers which support
2022
+ // both the `keyup` and `input` events.
2023
+ this.$selection.on(
2024
+ 'input.searchcheck',
2025
+ '.select2-search--inline',
2026
+ function (evt) {
2027
+ // IE will trigger the `input` event when a placeholder is used on a
2028
+ // search box. To get around this issue, we are forced to ignore all
2029
+ // `input` events in IE and keep using `keyup`.
2030
+ if (disableInputEvents) {
2031
+ self.$selection.off('input.search input.searchcheck');
2032
+ return;
2033
+ }
2034
+
2035
+ // Unbind the duplicated `keyup` event
2036
+ self.$selection.off('keyup.search');
2037
+ }
2038
+ );
2039
+
2040
+ this.$selection.on(
2041
+ 'keyup.search input.search',
2042
+ '.select2-search--inline',
2043
+ function (evt) {
2044
+ // IE will trigger the `input` event when a placeholder is used on a
2045
+ // search box. To get around this issue, we are forced to ignore all
2046
+ // `input` events in IE and keep using `keyup`.
2047
+ if (disableInputEvents && evt.type === 'input') {
2048
+ self.$selection.off('input.search input.searchcheck');
2049
+ return;
2050
+ }
2051
+
2052
+ var key = evt.which;
2053
+
2054
+ // We can freely ignore events from modifier keys
2055
+ if (key == KEYS.SHIFT || key == KEYS.CTRL || key == KEYS.ALT) {
2056
+ return;
2057
+ }
2058
+
2059
+ // Tabbing will be handled during the `keydown` phase
2060
+ if (key == KEYS.TAB) {
2061
+ return;
2062
+ }
2063
+
2064
+ self.handleSearch(evt);
2065
+ }
2066
+ );
2067
+ };
2068
+
2069
+ /**
2070
+ * This method will transfer the tabindex attribute from the rendered
2071
+ * selection to the search box. This allows for the search box to be used as
2072
+ * the primary focus instead of the selection container.
2073
+ *
2074
+ * @private
2075
+ */
2076
+ Search.prototype._transferTabIndex = function (decorated) {
2077
+ this.$search.attr('tabindex', this.$selection.attr('tabindex'));
2078
+ this.$selection.attr('tabindex', '-1');
2079
+ };
2080
+
2081
+ Search.prototype.createPlaceholder = function (decorated, placeholder) {
2082
+ this.$search.attr('placeholder', placeholder.text);
2083
+ };
2084
+
2085
+ Search.prototype.update = function (decorated, data) {
2086
+ var searchHadFocus = this.$search[0] == document.activeElement;
2087
+
2088
+ this.$search.attr('placeholder', '');
2089
+
2090
+ decorated.call(this, data);
2091
+
2092
+ this.$selection.find('.select2-selection__rendered')
2093
+ .append(this.$searchContainer);
2094
+
2095
+ this.resizeSearch();
2096
+ if (searchHadFocus) {
2097
+ this.$search.focus();
2098
+ }
2099
+ };
2100
+
2101
+ Search.prototype.handleSearch = function () {
2102
+ this.resizeSearch();
2103
+
2104
+ if (!this._keyUpPrevented) {
2105
+ var input = this.$search.val();
2106
+
2107
+ this.trigger('query', {
2108
+ term: input
2109
+ });
2110
+ }
2111
+
2112
+ this._keyUpPrevented = false;
2113
+ };
2114
+
2115
+ Search.prototype.searchRemoveChoice = function (decorated, item) {
2116
+ this.trigger('unselect', {
2117
+ data: item
2118
+ });
2119
+
2120
+ this.$search.val(item.text);
2121
+ this.handleSearch();
2122
+ };
2123
+
2124
+ Search.prototype.resizeSearch = function () {
2125
+ this.$search.css('width', '25px');
2126
+
2127
+ var width = '';
2128
+
2129
+ if (this.$search.attr('placeholder') !== '') {
2130
+ width = this.$selection.find('.select2-selection__rendered').innerWidth();
2131
+ } else {
2132
+ var minimumWidth = this.$search.val().length + 1;
2133
+
2134
+ width = (minimumWidth * 0.75) + 'em';
2135
+ }
2136
+
2137
+ this.$search.css('width', width);
2138
+ };
2139
+
2140
+ return Search;
2141
+ });
2142
+
2143
+ S2.define('select2/selection/eventRelay',[
2144
+ 'jquery'
2145
+ ], function ($) {
2146
+ function EventRelay () { }
2147
+
2148
+ EventRelay.prototype.bind = function (decorated, container, $container) {
2149
+ var self = this;
2150
+ var relayEvents = [
2151
+ 'open', 'opening',
2152
+ 'close', 'closing',
2153
+ 'select', 'selecting',
2154
+ 'unselect', 'unselecting'
2155
+ ];
2156
+
2157
+ var preventableEvents = ['opening', 'closing', 'selecting', 'unselecting'];
2158
+
2159
+ decorated.call(this, container, $container);
2160
+
2161
+ container.on('*', function (name, params) {
2162
+ // Ignore events that should not be relayed
2163
+ if ($.inArray(name, relayEvents) === -1) {
2164
+ return;
2165
+ }
2166
+
2167
+ // The parameters should always be an object
2168
+ params = params || {};
2169
+
2170
+ // Generate the jQuery event for the Select2 event
2171
+ var evt = $.Event('select2:' + name, {
2172
+ params: params
2173
+ });
2174
+
2175
+ self.$element.trigger(evt);
2176
+
2177
+ // Only handle preventable events if it was one
2178
+ if ($.inArray(name, preventableEvents) === -1) {
2179
+ return;
2180
+ }
2181
+
2182
+ params.prevented = evt.isDefaultPrevented();
2183
+ });
2184
+ };
2185
+
2186
+ return EventRelay;
2187
+ });
2188
+
2189
+ S2.define('select2/translation',[
2190
+ 'jquery',
2191
+ 'require'
2192
+ ], function ($, require) {
2193
+ function Translation (dict) {
2194
+ this.dict = dict || {};
2195
+ }
2196
+
2197
+ Translation.prototype.all = function () {
2198
+ return this.dict;
2199
+ };
2200
+
2201
+ Translation.prototype.get = function (key) {
2202
+ return this.dict[key];
2203
+ };
2204
+
2205
+ Translation.prototype.extend = function (translation) {
2206
+ this.dict = $.extend({}, translation.all(), this.dict);
2207
+ };
2208
+
2209
+ // Static functions
2210
+
2211
+ Translation._cache = {};
2212
+
2213
+ Translation.loadPath = function (path) {
2214
+ if (!(path in Translation._cache)) {
2215
+ var translations = require(path);
2216
+
2217
+ Translation._cache[path] = translations;
2218
+ }
2219
+
2220
+ return new Translation(Translation._cache[path]);
2221
+ };
2222
+
2223
+ return Translation;
2224
+ });
2225
+
2226
+ S2.define('select2/diacritics',[
2227
+
2228
+ ], function () {
2229
+ var diacritics = {
2230
+ '\u24B6': 'A',
2231
+ '\uFF21': 'A',
2232
+ '\u00C0': 'A',
2233
+ '\u00C1': 'A',
2234
+ '\u00C2': 'A',
2235
+ '\u1EA6': 'A',
2236
+ '\u1EA4': 'A',
2237
+ '\u1EAA': 'A',
2238
+ '\u1EA8': 'A',
2239
+ '\u00C3': 'A',
2240
+ '\u0100': 'A',
2241
+ '\u0102': 'A',
2242
+ '\u1EB0': 'A',
2243
+ '\u1EAE': 'A',
2244
+ '\u1EB4': 'A',
2245
+ '\u1EB2': 'A',
2246
+ '\u0226': 'A',
2247
+ '\u01E0': 'A',
2248
+ '\u00C4': 'A',
2249
+ '\u01DE': 'A',
2250
+ '\u1EA2': 'A',
2251
+ '\u00C5': 'A',
2252
+ '\u01FA': 'A',
2253
+ '\u01CD': 'A',
2254
+ '\u0200': 'A',
2255
+ '\u0202': 'A',
2256
+ '\u1EA0': 'A',
2257
+ '\u1EAC': 'A',
2258
+ '\u1EB6': 'A',
2259
+ '\u1E00': 'A',
2260
+ '\u0104': 'A',
2261
+ '\u023A': 'A',
2262
+ '\u2C6F': 'A',
2263
+ '\uA732': 'AA',
2264
+ '\u00C6': 'AE',
2265
+ '\u01FC': 'AE',
2266
+ '\u01E2': 'AE',
2267
+ '\uA734': 'AO',
2268
+ '\uA736': 'AU',
2269
+ '\uA738': 'AV',
2270
+ '\uA73A': 'AV',
2271
+ '\uA73C': 'AY',
2272
+ '\u24B7': 'B',
2273
+ '\uFF22': 'B',
2274
+ '\u1E02': 'B',
2275
+ '\u1E04': 'B',
2276
+ '\u1E06': 'B',
2277
+ '\u0243': 'B',
2278
+ '\u0182': 'B',
2279
+ '\u0181': 'B',
2280
+ '\u24B8': 'C',
2281
+ '\uFF23': 'C',
2282
+ '\u0106': 'C',
2283
+ '\u0108': 'C',
2284
+ '\u010A': 'C',
2285
+ '\u010C': 'C',
2286
+ '\u00C7': 'C',
2287
+ '\u1E08': 'C',
2288
+ '\u0187': 'C',
2289
+ '\u023B': 'C',
2290
+ '\uA73E': 'C',
2291
+ '\u24B9': 'D',
2292
+ '\uFF24': 'D',
2293
+ '\u1E0A': 'D',
2294
+ '\u010E': 'D',
2295
+ '\u1E0C': 'D',
2296
+ '\u1E10': 'D',
2297
+ '\u1E12': 'D',
2298
+ '\u1E0E': 'D',
2299
+ '\u0110': 'D',
2300
+ '\u018B': 'D',
2301
+ '\u018A': 'D',
2302
+ '\u0189': 'D',
2303
+ '\uA779': 'D',
2304
+ '\u01F1': 'DZ',
2305
+ '\u01C4': 'DZ',
2306
+ '\u01F2': 'Dz',
2307
+ '\u01C5': 'Dz',
2308
+ '\u24BA': 'E',
2309
+ '\uFF25': 'E',
2310
+ '\u00C8': 'E',
2311
+ '\u00C9': 'E',
2312
+ '\u00CA': 'E',
2313
+ '\u1EC0': 'E',
2314
+ '\u1EBE': 'E',
2315
+ '\u1EC4': 'E',
2316
+ '\u1EC2': 'E',
2317
+ '\u1EBC': 'E',
2318
+ '\u0112': 'E',
2319
+ '\u1E14': 'E',
2320
+ '\u1E16': 'E',
2321
+ '\u0114': 'E',
2322
+ '\u0116': 'E',
2323
+ '\u00CB': 'E',
2324
+ '\u1EBA': 'E',
2325
+ '\u011A': 'E',
2326
+ '\u0204': 'E',
2327
+ '\u0206': 'E',
2328
+ '\u1EB8': 'E',
2329
+ '\u1EC6': 'E',
2330
+ '\u0228': 'E',
2331
+ '\u1E1C': 'E',
2332
+ '\u0118': 'E',
2333
+ '\u1E18': 'E',
2334
+ '\u1E1A': 'E',
2335
+ '\u0190': 'E',
2336
+ '\u018E': 'E',
2337
+ '\u24BB': 'F',
2338
+ '\uFF26': 'F',
2339
+ '\u1E1E': 'F',
2340
+ '\u0191': 'F',
2341
+ '\uA77B': 'F',
2342
+ '\u24BC': 'G',
2343
+ '\uFF27': 'G',
2344
+ '\u01F4': 'G',
2345
+ '\u011C': 'G',
2346
+ '\u1E20': 'G',
2347
+ '\u011E': 'G',
2348
+ '\u0120': 'G',
2349
+ '\u01E6': 'G',
2350
+ '\u0122': 'G',
2351
+ '\u01E4': 'G',
2352
+ '\u0193': 'G',
2353
+ '\uA7A0': 'G',
2354
+ '\uA77D': 'G',
2355
+ '\uA77E': 'G',
2356
+ '\u24BD': 'H',
2357
+ '\uFF28': 'H',
2358
+ '\u0124': 'H',
2359
+ '\u1E22': 'H',
2360
+ '\u1E26': 'H',
2361
+ '\u021E': 'H',
2362
+ '\u1E24': 'H',
2363
+ '\u1E28': 'H',
2364
+ '\u1E2A': 'H',
2365
+ '\u0126': 'H',
2366
+ '\u2C67': 'H',
2367
+ '\u2C75': 'H',
2368
+ '\uA78D': 'H',
2369
+ '\u24BE': 'I',
2370
+ '\uFF29': 'I',
2371
+ '\u00CC': 'I',
2372
+ '\u00CD': 'I',
2373
+ '\u00CE': 'I',
2374
+ '\u0128': 'I',
2375
+ '\u012A': 'I',
2376
+ '\u012C': 'I',
2377
+ '\u0130': 'I',
2378
+ '\u00CF': 'I',
2379
+ '\u1E2E': 'I',
2380
+ '\u1EC8': 'I',
2381
+ '\u01CF': 'I',
2382
+ '\u0208': 'I',
2383
+ '\u020A': 'I',
2384
+ '\u1ECA': 'I',
2385
+ '\u012E': 'I',
2386
+ '\u1E2C': 'I',
2387
+ '\u0197': 'I',
2388
+ '\u24BF': 'J',
2389
+ '\uFF2A': 'J',
2390
+ '\u0134': 'J',
2391
+ '\u0248': 'J',
2392
+ '\u24C0': 'K',
2393
+ '\uFF2B': 'K',
2394
+ '\u1E30': 'K',
2395
+ '\u01E8': 'K',
2396
+ '\u1E32': 'K',
2397
+ '\u0136': 'K',
2398
+ '\u1E34': 'K',
2399
+ '\u0198': 'K',
2400
+ '\u2C69': 'K',
2401
+ '\uA740': 'K',
2402
+ '\uA742': 'K',
2403
+ '\uA744': 'K',
2404
+ '\uA7A2': 'K',
2405
+ '\u24C1': 'L',
2406
+ '\uFF2C': 'L',
2407
+ '\u013F': 'L',
2408
+ '\u0139': 'L',
2409
+ '\u013D': 'L',
2410
+ '\u1E36': 'L',
2411
+ '\u1E38': 'L',
2412
+ '\u013B': 'L',
2413
+ '\u1E3C': 'L',
2414
+ '\u1E3A': 'L',
2415
+ '\u0141': 'L',
2416
+ '\u023D': 'L',
2417
+ '\u2C62': 'L',
2418
+ '\u2C60': 'L',
2419
+ '\uA748': 'L',
2420
+ '\uA746': 'L',
2421
+ '\uA780': 'L',
2422
+ '\u01C7': 'LJ',
2423
+ '\u01C8': 'Lj',
2424
+ '\u24C2': 'M',
2425
+ '\uFF2D': 'M',
2426
+ '\u1E3E': 'M',
2427
+ '\u1E40': 'M',
2428
+ '\u1E42': 'M',
2429
+ '\u2C6E': 'M',
2430
+ '\u019C': 'M',
2431
+ '\u24C3': 'N',
2432
+ '\uFF2E': 'N',
2433
+ '\u01F8': 'N',
2434
+ '\u0143': 'N',
2435
+ '\u00D1': 'N',
2436
+ '\u1E44': 'N',
2437
+ '\u0147': 'N',
2438
+ '\u1E46': 'N',
2439
+ '\u0145': 'N',
2440
+ '\u1E4A': 'N',
2441
+ '\u1E48': 'N',
2442
+ '\u0220': 'N',
2443
+ '\u019D': 'N',
2444
+ '\uA790': 'N',
2445
+ '\uA7A4': 'N',
2446
+ '\u01CA': 'NJ',
2447
+ '\u01CB': 'Nj',
2448
+ '\u24C4': 'O',
2449
+ '\uFF2F': 'O',
2450
+ '\u00D2': 'O',
2451
+ '\u00D3': 'O',
2452
+ '\u00D4': 'O',
2453
+ '\u1ED2': 'O',
2454
+ '\u1ED0': 'O',
2455
+ '\u1ED6': 'O',
2456
+ '\u1ED4': 'O',
2457
+ '\u00D5': 'O',
2458
+ '\u1E4C': 'O',
2459
+ '\u022C': 'O',
2460
+ '\u1E4E': 'O',
2461
+ '\u014C': 'O',
2462
+ '\u1E50': 'O',
2463
+ '\u1E52': 'O',
2464
+ '\u014E': 'O',
2465
+ '\u022E': 'O',
2466
+ '\u0230': 'O',
2467
+ '\u00D6': 'O',
2468
+ '\u022A': 'O',
2469
+ '\u1ECE': 'O',
2470
+ '\u0150': 'O',
2471
+ '\u01D1': 'O',
2472
+ '\u020C': 'O',
2473
+ '\u020E': 'O',
2474
+ '\u01A0': 'O',
2475
+ '\u1EDC': 'O',
2476
+ '\u1EDA': 'O',
2477
+ '\u1EE0': 'O',
2478
+ '\u1EDE': 'O',
2479
+ '\u1EE2': 'O',
2480
+ '\u1ECC': 'O',
2481
+ '\u1ED8': 'O',
2482
+ '\u01EA': 'O',
2483
+ '\u01EC': 'O',
2484
+ '\u00D8': 'O',
2485
+ '\u01FE': 'O',
2486
+ '\u0186': 'O',
2487
+ '\u019F': 'O',
2488
+ '\uA74A': 'O',
2489
+ '\uA74C': 'O',
2490
+ '\u01A2': 'OI',
2491
+ '\uA74E': 'OO',
2492
+ '\u0222': 'OU',
2493
+ '\u24C5': 'P',
2494
+ '\uFF30': 'P',
2495
+ '\u1E54': 'P',
2496
+ '\u1E56': 'P',
2497
+ '\u01A4': 'P',
2498
+ '\u2C63': 'P',
2499
+ '\uA750': 'P',
2500
+ '\uA752': 'P',
2501
+ '\uA754': 'P',
2502
+ '\u24C6': 'Q',
2503
+ '\uFF31': 'Q',
2504
+ '\uA756': 'Q',
2505
+ '\uA758': 'Q',
2506
+ '\u024A': 'Q',
2507
+ '\u24C7': 'R',
2508
+ '\uFF32': 'R',
2509
+ '\u0154': 'R',
2510
+ '\u1E58': 'R',
2511
+ '\u0158': 'R',
2512
+ '\u0210': 'R',
2513
+ '\u0212': 'R',
2514
+ '\u1E5A': 'R',
2515
+ '\u1E5C': 'R',
2516
+ '\u0156': 'R',
2517
+ '\u1E5E': 'R',
2518
+ '\u024C': 'R',
2519
+ '\u2C64': 'R',
2520
+ '\uA75A': 'R',
2521
+ '\uA7A6': 'R',
2522
+ '\uA782': 'R',
2523
+ '\u24C8': 'S',
2524
+ '\uFF33': 'S',
2525
+ '\u1E9E': 'S',
2526
+ '\u015A': 'S',
2527
+ '\u1E64': 'S',
2528
+ '\u015C': 'S',
2529
+ '\u1E60': 'S',
2530
+ '\u0160': 'S',
2531
+ '\u1E66': 'S',
2532
+ '\u1E62': 'S',
2533
+ '\u1E68': 'S',
2534
+ '\u0218': 'S',
2535
+ '\u015E': 'S',
2536
+ '\u2C7E': 'S',
2537
+ '\uA7A8': 'S',
2538
+ '\uA784': 'S',
2539
+ '\u24C9': 'T',
2540
+ '\uFF34': 'T',
2541
+ '\u1E6A': 'T',
2542
+ '\u0164': 'T',
2543
+ '\u1E6C': 'T',
2544
+ '\u021A': 'T',
2545
+ '\u0162': 'T',
2546
+ '\u1E70': 'T',
2547
+ '\u1E6E': 'T',
2548
+ '\u0166': 'T',
2549
+ '\u01AC': 'T',
2550
+ '\u01AE': 'T',
2551
+ '\u023E': 'T',
2552
+ '\uA786': 'T',
2553
+ '\uA728': 'TZ',
2554
+ '\u24CA': 'U',
2555
+ '\uFF35': 'U',
2556
+ '\u00D9': 'U',
2557
+ '\u00DA': 'U',
2558
+ '\u00DB': 'U',
2559
+ '\u0168': 'U',
2560
+ '\u1E78': 'U',
2561
+ '\u016A': 'U',
2562
+ '\u1E7A': 'U',
2563
+ '\u016C': 'U',
2564
+ '\u00DC': 'U',
2565
+ '\u01DB': 'U',
2566
+ '\u01D7': 'U',
2567
+ '\u01D5': 'U',
2568
+ '\u01D9': 'U',
2569
+ '\u1EE6': 'U',
2570
+ '\u016E': 'U',
2571
+ '\u0170': 'U',
2572
+ '\u01D3': 'U',
2573
+ '\u0214': 'U',
2574
+ '\u0216': 'U',
2575
+ '\u01AF': 'U',
2576
+ '\u1EEA': 'U',
2577
+ '\u1EE8': 'U',
2578
+ '\u1EEE': 'U',
2579
+ '\u1EEC': 'U',
2580
+ '\u1EF0': 'U',
2581
+ '\u1EE4': 'U',
2582
+ '\u1E72': 'U',
2583
+ '\u0172': 'U',
2584
+ '\u1E76': 'U',
2585
+ '\u1E74': 'U',
2586
+ '\u0244': 'U',
2587
+ '\u24CB': 'V',
2588
+ '\uFF36': 'V',
2589
+ '\u1E7C': 'V',
2590
+ '\u1E7E': 'V',
2591
+ '\u01B2': 'V',
2592
+ '\uA75E': 'V',
2593
+ '\u0245': 'V',
2594
+ '\uA760': 'VY',
2595
+ '\u24CC': 'W',
2596
+ '\uFF37': 'W',
2597
+ '\u1E80': 'W',
2598
+ '\u1E82': 'W',
2599
+ '\u0174': 'W',
2600
+ '\u1E86': 'W',
2601
+ '\u1E84': 'W',
2602
+ '\u1E88': 'W',
2603
+ '\u2C72': 'W',
2604
+ '\u24CD': 'X',
2605
+ '\uFF38': 'X',
2606
+ '\u1E8A': 'X',
2607
+ '\u1E8C': 'X',
2608
+ '\u24CE': 'Y',
2609
+ '\uFF39': 'Y',
2610
+ '\u1EF2': 'Y',
2611
+ '\u00DD': 'Y',
2612
+ '\u0176': 'Y',
2613
+ '\u1EF8': 'Y',
2614
+ '\u0232': 'Y',
2615
+ '\u1E8E': 'Y',
2616
+ '\u0178': 'Y',
2617
+ '\u1EF6': 'Y',
2618
+ '\u1EF4': 'Y',
2619
+ '\u01B3': 'Y',
2620
+ '\u024E': 'Y',
2621
+ '\u1EFE': 'Y',
2622
+ '\u24CF': 'Z',
2623
+ '\uFF3A': 'Z',
2624
+ '\u0179': 'Z',
2625
+ '\u1E90': 'Z',
2626
+ '\u017B': 'Z',
2627
+ '\u017D': 'Z',
2628
+ '\u1E92': 'Z',
2629
+ '\u1E94': 'Z',
2630
+ '\u01B5': 'Z',
2631
+ '\u0224': 'Z',
2632
+ '\u2C7F': 'Z',
2633
+ '\u2C6B': 'Z',
2634
+ '\uA762': 'Z',
2635
+ '\u24D0': 'a',
2636
+ '\uFF41': 'a',
2637
+ '\u1E9A': 'a',
2638
+ '\u00E0': 'a',
2639
+ '\u00E1': 'a',
2640
+ '\u00E2': 'a',
2641
+ '\u1EA7': 'a',
2642
+ '\u1EA5': 'a',
2643
+ '\u1EAB': 'a',
2644
+ '\u1EA9': 'a',
2645
+ '\u00E3': 'a',
2646
+ '\u0101': 'a',
2647
+ '\u0103': 'a',
2648
+ '\u1EB1': 'a',
2649
+ '\u1EAF': 'a',
2650
+ '\u1EB5': 'a',
2651
+ '\u1EB3': 'a',
2652
+ '\u0227': 'a',
2653
+ '\u01E1': 'a',
2654
+ '\u00E4': 'a',
2655
+ '\u01DF': 'a',
2656
+ '\u1EA3': 'a',
2657
+ '\u00E5': 'a',
2658
+ '\u01FB': 'a',
2659
+ '\u01CE': 'a',
2660
+ '\u0201': 'a',
2661
+ '\u0203': 'a',
2662
+ '\u1EA1': 'a',
2663
+ '\u1EAD': 'a',
2664
+ '\u1EB7': 'a',
2665
+ '\u1E01': 'a',
2666
+ '\u0105': 'a',
2667
+ '\u2C65': 'a',
2668
+ '\u0250': 'a',
2669
+ '\uA733': 'aa',
2670
+ '\u00E6': 'ae',
2671
+ '\u01FD': 'ae',
2672
+ '\u01E3': 'ae',
2673
+ '\uA735': 'ao',
2674
+ '\uA737': 'au',
2675
+ '\uA739': 'av',
2676
+ '\uA73B': 'av',
2677
+ '\uA73D': 'ay',
2678
+ '\u24D1': 'b',
2679
+ '\uFF42': 'b',
2680
+ '\u1E03': 'b',
2681
+ '\u1E05': 'b',
2682
+ '\u1E07': 'b',
2683
+ '\u0180': 'b',
2684
+ '\u0183': 'b',
2685
+ '\u0253': 'b',
2686
+ '\u24D2': 'c',
2687
+ '\uFF43': 'c',
2688
+ '\u0107': 'c',
2689
+ '\u0109': 'c',
2690
+ '\u010B': 'c',
2691
+ '\u010D': 'c',
2692
+ '\u00E7': 'c',
2693
+ '\u1E09': 'c',
2694
+ '\u0188': 'c',
2695
+ '\u023C': 'c',
2696
+ '\uA73F': 'c',
2697
+ '\u2184': 'c',
2698
+ '\u24D3': 'd',
2699
+ '\uFF44': 'd',
2700
+ '\u1E0B': 'd',
2701
+ '\u010F': 'd',
2702
+ '\u1E0D': 'd',
2703
+ '\u1E11': 'd',
2704
+ '\u1E13': 'd',
2705
+ '\u1E0F': 'd',
2706
+ '\u0111': 'd',
2707
+ '\u018C': 'd',
2708
+ '\u0256': 'd',
2709
+ '\u0257': 'd',
2710
+ '\uA77A': 'd',
2711
+ '\u01F3': 'dz',
2712
+ '\u01C6': 'dz',
2713
+ '\u24D4': 'e',
2714
+ '\uFF45': 'e',
2715
+ '\u00E8': 'e',
2716
+ '\u00E9': 'e',
2717
+ '\u00EA': 'e',
2718
+ '\u1EC1': 'e',
2719
+ '\u1EBF': 'e',
2720
+ '\u1EC5': 'e',
2721
+ '\u1EC3': 'e',
2722
+ '\u1EBD': 'e',
2723
+ '\u0113': 'e',
2724
+ '\u1E15': 'e',
2725
+ '\u1E17': 'e',
2726
+ '\u0115': 'e',
2727
+ '\u0117': 'e',
2728
+ '\u00EB': 'e',
2729
+ '\u1EBB': 'e',
2730
+ '\u011B': 'e',
2731
+ '\u0205': 'e',
2732
+ '\u0207': 'e',
2733
+ '\u1EB9': 'e',
2734
+ '\u1EC7': 'e',
2735
+ '\u0229': 'e',
2736
+ '\u1E1D': 'e',
2737
+ '\u0119': 'e',
2738
+ '\u1E19': 'e',
2739
+ '\u1E1B': 'e',
2740
+ '\u0247': 'e',
2741
+ '\u025B': 'e',
2742
+ '\u01DD': 'e',
2743
+ '\u24D5': 'f',
2744
+ '\uFF46': 'f',
2745
+ '\u1E1F': 'f',
2746
+ '\u0192': 'f',
2747
+ '\uA77C': 'f',
2748
+ '\u24D6': 'g',
2749
+ '\uFF47': 'g',
2750
+ '\u01F5': 'g',
2751
+ '\u011D': 'g',
2752
+ '\u1E21': 'g',
2753
+ '\u011F': 'g',
2754
+ '\u0121': 'g',
2755
+ '\u01E7': 'g',
2756
+ '\u0123': 'g',
2757
+ '\u01E5': 'g',
2758
+ '\u0260': 'g',
2759
+ '\uA7A1': 'g',
2760
+ '\u1D79': 'g',
2761
+ '\uA77F': 'g',
2762
+ '\u24D7': 'h',
2763
+ '\uFF48': 'h',
2764
+ '\u0125': 'h',
2765
+ '\u1E23': 'h',
2766
+ '\u1E27': 'h',
2767
+ '\u021F': 'h',
2768
+ '\u1E25': 'h',
2769
+ '\u1E29': 'h',
2770
+ '\u1E2B': 'h',
2771
+ '\u1E96': 'h',
2772
+ '\u0127': 'h',
2773
+ '\u2C68': 'h',
2774
+ '\u2C76': 'h',
2775
+ '\u0265': 'h',
2776
+ '\u0195': 'hv',
2777
+ '\u24D8': 'i',
2778
+ '\uFF49': 'i',
2779
+ '\u00EC': 'i',
2780
+ '\u00ED': 'i',
2781
+ '\u00EE': 'i',
2782
+ '\u0129': 'i',
2783
+ '\u012B': 'i',
2784
+ '\u012D': 'i',
2785
+ '\u00EF': 'i',
2786
+ '\u1E2F': 'i',
2787
+ '\u1EC9': 'i',
2788
+ '\u01D0': 'i',
2789
+ '\u0209': 'i',
2790
+ '\u020B': 'i',
2791
+ '\u1ECB': 'i',
2792
+ '\u012F': 'i',
2793
+ '\u1E2D': 'i',
2794
+ '\u0268': 'i',
2795
+ '\u0131': 'i',
2796
+ '\u24D9': 'j',
2797
+ '\uFF4A': 'j',
2798
+ '\u0135': 'j',
2799
+ '\u01F0': 'j',
2800
+ '\u0249': 'j',
2801
+ '\u24DA': 'k',
2802
+ '\uFF4B': 'k',
2803
+ '\u1E31': 'k',
2804
+ '\u01E9': 'k',
2805
+ '\u1E33': 'k',
2806
+ '\u0137': 'k',
2807
+ '\u1E35': 'k',
2808
+ '\u0199': 'k',
2809
+ '\u2C6A': 'k',
2810
+ '\uA741': 'k',
2811
+ '\uA743': 'k',
2812
+ '\uA745': 'k',
2813
+ '\uA7A3': 'k',
2814
+ '\u24DB': 'l',
2815
+ '\uFF4C': 'l',
2816
+ '\u0140': 'l',
2817
+ '\u013A': 'l',
2818
+ '\u013E': 'l',
2819
+ '\u1E37': 'l',
2820
+ '\u1E39': 'l',
2821
+ '\u013C': 'l',
2822
+ '\u1E3D': 'l',
2823
+ '\u1E3B': 'l',
2824
+ '\u017F': 'l',
2825
+ '\u0142': 'l',
2826
+ '\u019A': 'l',
2827
+ '\u026B': 'l',
2828
+ '\u2C61': 'l',
2829
+ '\uA749': 'l',
2830
+ '\uA781': 'l',
2831
+ '\uA747': 'l',
2832
+ '\u01C9': 'lj',
2833
+ '\u24DC': 'm',
2834
+ '\uFF4D': 'm',
2835
+ '\u1E3F': 'm',
2836
+ '\u1E41': 'm',
2837
+ '\u1E43': 'm',
2838
+ '\u0271': 'm',
2839
+ '\u026F': 'm',
2840
+ '\u24DD': 'n',
2841
+ '\uFF4E': 'n',
2842
+ '\u01F9': 'n',
2843
+ '\u0144': 'n',
2844
+ '\u00F1': 'n',
2845
+ '\u1E45': 'n',
2846
+ '\u0148': 'n',
2847
+ '\u1E47': 'n',
2848
+ '\u0146': 'n',
2849
+ '\u1E4B': 'n',
2850
+ '\u1E49': 'n',
2851
+ '\u019E': 'n',
2852
+ '\u0272': 'n',
2853
+ '\u0149': 'n',
2854
+ '\uA791': 'n',
2855
+ '\uA7A5': 'n',
2856
+ '\u01CC': 'nj',
2857
+ '\u24DE': 'o',
2858
+ '\uFF4F': 'o',
2859
+ '\u00F2': 'o',
2860
+ '\u00F3': 'o',
2861
+ '\u00F4': 'o',
2862
+ '\u1ED3': 'o',
2863
+ '\u1ED1': 'o',
2864
+ '\u1ED7': 'o',
2865
+ '\u1ED5': 'o',
2866
+ '\u00F5': 'o',
2867
+ '\u1E4D': 'o',
2868
+ '\u022D': 'o',
2869
+ '\u1E4F': 'o',
2870
+ '\u014D': 'o',
2871
+ '\u1E51': 'o',
2872
+ '\u1E53': 'o',
2873
+ '\u014F': 'o',
2874
+ '\u022F': 'o',
2875
+ '\u0231': 'o',
2876
+ '\u00F6': 'o',
2877
+ '\u022B': 'o',
2878
+ '\u1ECF': 'o',
2879
+ '\u0151': 'o',
2880
+ '\u01D2': 'o',
2881
+ '\u020D': 'o',
2882
+ '\u020F': 'o',
2883
+ '\u01A1': 'o',
2884
+ '\u1EDD': 'o',
2885
+ '\u1EDB': 'o',
2886
+ '\u1EE1': 'o',
2887
+ '\u1EDF': 'o',
2888
+ '\u1EE3': 'o',
2889
+ '\u1ECD': 'o',
2890
+ '\u1ED9': 'o',
2891
+ '\u01EB': 'o',
2892
+ '\u01ED': 'o',
2893
+ '\u00F8': 'o',
2894
+ '\u01FF': 'o',
2895
+ '\u0254': 'o',
2896
+ '\uA74B': 'o',
2897
+ '\uA74D': 'o',
2898
+ '\u0275': 'o',
2899
+ '\u01A3': 'oi',
2900
+ '\u0223': 'ou',
2901
+ '\uA74F': 'oo',
2902
+ '\u24DF': 'p',
2903
+ '\uFF50': 'p',
2904
+ '\u1E55': 'p',
2905
+ '\u1E57': 'p',
2906
+ '\u01A5': 'p',
2907
+ '\u1D7D': 'p',
2908
+ '\uA751': 'p',
2909
+ '\uA753': 'p',
2910
+ '\uA755': 'p',
2911
+ '\u24E0': 'q',
2912
+ '\uFF51': 'q',
2913
+ '\u024B': 'q',
2914
+ '\uA757': 'q',
2915
+ '\uA759': 'q',
2916
+ '\u24E1': 'r',
2917
+ '\uFF52': 'r',
2918
+ '\u0155': 'r',
2919
+ '\u1E59': 'r',
2920
+ '\u0159': 'r',
2921
+ '\u0211': 'r',
2922
+ '\u0213': 'r',
2923
+ '\u1E5B': 'r',
2924
+ '\u1E5D': 'r',
2925
+ '\u0157': 'r',
2926
+ '\u1E5F': 'r',
2927
+ '\u024D': 'r',
2928
+ '\u027D': 'r',
2929
+ '\uA75B': 'r',
2930
+ '\uA7A7': 'r',
2931
+ '\uA783': 'r',
2932
+ '\u24E2': 's',
2933
+ '\uFF53': 's',
2934
+ '\u00DF': 's',
2935
+ '\u015B': 's',
2936
+ '\u1E65': 's',
2937
+ '\u015D': 's',
2938
+ '\u1E61': 's',
2939
+ '\u0161': 's',
2940
+ '\u1E67': 's',
2941
+ '\u1E63': 's',
2942
+ '\u1E69': 's',
2943
+ '\u0219': 's',
2944
+ '\u015F': 's',
2945
+ '\u023F': 's',
2946
+ '\uA7A9': 's',
2947
+ '\uA785': 's',
2948
+ '\u1E9B': 's',
2949
+ '\u24E3': 't',
2950
+ '\uFF54': 't',
2951
+ '\u1E6B': 't',
2952
+ '\u1E97': 't',
2953
+ '\u0165': 't',
2954
+ '\u1E6D': 't',
2955
+ '\u021B': 't',
2956
+ '\u0163': 't',
2957
+ '\u1E71': 't',
2958
+ '\u1E6F': 't',
2959
+ '\u0167': 't',
2960
+ '\u01AD': 't',
2961
+ '\u0288': 't',
2962
+ '\u2C66': 't',
2963
+ '\uA787': 't',
2964
+ '\uA729': 'tz',
2965
+ '\u24E4': 'u',
2966
+ '\uFF55': 'u',
2967
+ '\u00F9': 'u',
2968
+ '\u00FA': 'u',
2969
+ '\u00FB': 'u',
2970
+ '\u0169': 'u',
2971
+ '\u1E79': 'u',
2972
+ '\u016B': 'u',
2973
+ '\u1E7B': 'u',
2974
+ '\u016D': 'u',
2975
+ '\u00FC': 'u',
2976
+ '\u01DC': 'u',
2977
+ '\u01D8': 'u',
2978
+ '\u01D6': 'u',
2979
+ '\u01DA': 'u',
2980
+ '\u1EE7': 'u',
2981
+ '\u016F': 'u',
2982
+ '\u0171': 'u',
2983
+ '\u01D4': 'u',
2984
+ '\u0215': 'u',
2985
+ '\u0217': 'u',
2986
+ '\u01B0': 'u',
2987
+ '\u1EEB': 'u',
2988
+ '\u1EE9': 'u',
2989
+ '\u1EEF': 'u',
2990
+ '\u1EED': 'u',
2991
+ '\u1EF1': 'u',
2992
+ '\u1EE5': 'u',
2993
+ '\u1E73': 'u',
2994
+ '\u0173': 'u',
2995
+ '\u1E77': 'u',
2996
+ '\u1E75': 'u',
2997
+ '\u0289': 'u',
2998
+ '\u24E5': 'v',
2999
+ '\uFF56': 'v',
3000
+ '\u1E7D': 'v',
3001
+ '\u1E7F': 'v',
3002
+ '\u028B': 'v',
3003
+ '\uA75F': 'v',
3004
+ '\u028C': 'v',
3005
+ '\uA761': 'vy',
3006
+ '\u24E6': 'w',
3007
+ '\uFF57': 'w',
3008
+ '\u1E81': 'w',
3009
+ '\u1E83': 'w',
3010
+ '\u0175': 'w',
3011
+ '\u1E87': 'w',
3012
+ '\u1E85': 'w',
3013
+ '\u1E98': 'w',
3014
+ '\u1E89': 'w',
3015
+ '\u2C73': 'w',
3016
+ '\u24E7': 'x',
3017
+ '\uFF58': 'x',
3018
+ '\u1E8B': 'x',
3019
+ '\u1E8D': 'x',
3020
+ '\u24E8': 'y',
3021
+ '\uFF59': 'y',
3022
+ '\u1EF3': 'y',
3023
+ '\u00FD': 'y',
3024
+ '\u0177': 'y',
3025
+ '\u1EF9': 'y',
3026
+ '\u0233': 'y',
3027
+ '\u1E8F': 'y',
3028
+ '\u00FF': 'y',
3029
+ '\u1EF7': 'y',
3030
+ '\u1E99': 'y',
3031
+ '\u1EF5': 'y',
3032
+ '\u01B4': 'y',
3033
+ '\u024F': 'y',
3034
+ '\u1EFF': 'y',
3035
+ '\u24E9': 'z',
3036
+ '\uFF5A': 'z',
3037
+ '\u017A': 'z',
3038
+ '\u1E91': 'z',
3039
+ '\u017C': 'z',
3040
+ '\u017E': 'z',
3041
+ '\u1E93': 'z',
3042
+ '\u1E95': 'z',
3043
+ '\u01B6': 'z',
3044
+ '\u0225': 'z',
3045
+ '\u0240': 'z',
3046
+ '\u2C6C': 'z',
3047
+ '\uA763': 'z',
3048
+ '\u0386': '\u0391',
3049
+ '\u0388': '\u0395',
3050
+ '\u0389': '\u0397',
3051
+ '\u038A': '\u0399',
3052
+ '\u03AA': '\u0399',
3053
+ '\u038C': '\u039F',
3054
+ '\u038E': '\u03A5',
3055
+ '\u03AB': '\u03A5',
3056
+ '\u038F': '\u03A9',
3057
+ '\u03AC': '\u03B1',
3058
+ '\u03AD': '\u03B5',
3059
+ '\u03AE': '\u03B7',
3060
+ '\u03AF': '\u03B9',
3061
+ '\u03CA': '\u03B9',
3062
+ '\u0390': '\u03B9',
3063
+ '\u03CC': '\u03BF',
3064
+ '\u03CD': '\u03C5',
3065
+ '\u03CB': '\u03C5',
3066
+ '\u03B0': '\u03C5',
3067
+ '\u03C9': '\u03C9',
3068
+ '\u03C2': '\u03C3'
3069
+ };
3070
+
3071
+ return diacritics;
3072
+ });
3073
+
3074
+ S2.define('select2/data/base',[
3075
+ '../utils'
3076
+ ], function (Utils) {
3077
+ function BaseAdapter ($element, options) {
3078
+ BaseAdapter.__super__.constructor.call(this);
3079
+ }
3080
+
3081
+ Utils.Extend(BaseAdapter, Utils.Observable);
3082
+
3083
+ BaseAdapter.prototype.current = function (callback) {
3084
+ throw new Error('The `current` method must be defined in child classes.');
3085
+ };
3086
+
3087
+ BaseAdapter.prototype.query = function (params, callback) {
3088
+ throw new Error('The `query` method must be defined in child classes.');
3089
+ };
3090
+
3091
+ BaseAdapter.prototype.bind = function (container, $container) {
3092
+ // Can be implemented in subclasses
3093
+ };
3094
+
3095
+ BaseAdapter.prototype.destroy = function () {
3096
+ // Can be implemented in subclasses
3097
+ };
3098
+
3099
+ BaseAdapter.prototype.generateResultId = function (container, data) {
3100
+ var id = '';
3101
+
3102
+ if (container != null) {
3103
+ id += container.id
3104
+ } else {
3105
+ id += Utils.generateChars(4);
3106
+ }
3107
+
3108
+ id += '-result-';
3109
+ id += Utils.generateChars(4);
3110
+
3111
+ if (data.id != null) {
3112
+ id += '-' + data.id.toString();
3113
+ } else {
3114
+ id += '-' + Utils.generateChars(4);
3115
+ }
3116
+ return id;
3117
+ };
3118
+
3119
+ return BaseAdapter;
3120
+ });
3121
+
3122
+ S2.define('select2/data/select',[
3123
+ './base',
3124
+ '../utils',
3125
+ 'jquery'
3126
+ ], function (BaseAdapter, Utils, $) {
3127
+ function SelectAdapter ($element, options) {
3128
+ this.$element = $element;
3129
+ this.options = options;
3130
+
3131
+ SelectAdapter.__super__.constructor.call(this);
3132
+ }
3133
+
3134
+ Utils.Extend(SelectAdapter, BaseAdapter);
3135
+
3136
+ SelectAdapter.prototype.current = function (callback) {
3137
+ var data = [];
3138
+ var self = this;
3139
+
3140
+ this.$element.find(':selected').each(function () {
3141
+ var $option = $(this);
3142
+
3143
+ var option = self.item($option);
3144
+
3145
+ data.push(option);
3146
+ });
3147
+
3148
+ callback(data);
3149
+ };
3150
+
3151
+ SelectAdapter.prototype.select = function (data) {
3152
+ var self = this;
3153
+
3154
+ data.selected = true;
3155
+
3156
+ // If data.element is a DOM node, use it instead
3157
+ if ($(data.element).is('option')) {
3158
+ data.element.selected = true;
3159
+
3160
+ this.$element.trigger('change');
3161
+
3162
+ return;
3163
+ }
3164
+
3165
+ if (this.$element.prop('multiple')) {
3166
+ this.current(function (currentData) {
3167
+ var val = [];
3168
+
3169
+ data = [data];
3170
+ data.push.apply(data, currentData);
3171
+
3172
+ for (var d = 0; d < data.length; d++) {
3173
+ var id = data[d].id;
3174
+
3175
+ if ($.inArray(id, val) === -1) {
3176
+ val.push(id);
3177
+ }
3178
+ }
3179
+
3180
+ self.$element.val(val);
3181
+ self.$element.trigger('change');
3182
+ });
3183
+ } else {
3184
+ var val = data.id;
3185
+
3186
+ this.$element.val(val);
3187
+ this.$element.trigger('change');
3188
+ }
3189
+ };
3190
+
3191
+ SelectAdapter.prototype.unselect = function (data) {
3192
+ var self = this;
3193
+
3194
+ if (!this.$element.prop('multiple')) {
3195
+ return;
3196
+ }
3197
+
3198
+ data.selected = false;
3199
+
3200
+ if ($(data.element).is('option')) {
3201
+ data.element.selected = false;
3202
+
3203
+ this.$element.trigger('change');
3204
+
3205
+ return;
3206
+ }
3207
+
3208
+ this.current(function (currentData) {
3209
+ var val = [];
3210
+
3211
+ for (var d = 0; d < currentData.length; d++) {
3212
+ var id = currentData[d].id;
3213
+
3214
+ if (id !== data.id && $.inArray(id, val) === -1) {
3215
+ val.push(id);
3216
+ }
3217
+ }
3218
+
3219
+ self.$element.val(val);
3220
+
3221
+ self.$element.trigger('change');
3222
+ });
3223
+ };
3224
+
3225
+ SelectAdapter.prototype.bind = function (container, $container) {
3226
+ var self = this;
3227
+
3228
+ this.container = container;
3229
+
3230
+ container.on('select', function (params) {
3231
+ self.select(params.data);
3232
+ });
3233
+
3234
+ container.on('unselect', function (params) {
3235
+ self.unselect(params.data);
3236
+ });
3237
+ };
3238
+
3239
+ SelectAdapter.prototype.destroy = function () {
3240
+ // Remove anything added to child elements
3241
+ this.$element.find('*').each(function () {
3242
+ // Remove any custom data set by Select2
3243
+ $.removeData(this, 'data');
3244
+ });
3245
+ };
3246
+
3247
+ SelectAdapter.prototype.query = function (params, callback) {
3248
+ var data = [];
3249
+ var self = this;
3250
+
3251
+ var $options = this.$element.children();
3252
+
3253
+ $options.each(function () {
3254
+ var $option = $(this);
3255
+
3256
+ if (!$option.is('option') && !$option.is('optgroup')) {
3257
+ return;
3258
+ }
3259
+
3260
+ var option = self.item($option);
3261
+
3262
+ var matches = self.matches(params, option);
3263
+
3264
+ if (matches !== null) {
3265
+ data.push(matches);
3266
+ }
3267
+ });
3268
+
3269
+ callback({
3270
+ results: data
3271
+ });
3272
+ };
3273
+
3274
+ SelectAdapter.prototype.addOptions = function ($options) {
3275
+ Utils.appendMany(this.$element, $options);
3276
+ };
3277
+
3278
+ SelectAdapter.prototype.option = function (data) {
3279
+ var option;
3280
+
3281
+ if (data.children) {
3282
+ option = document.createElement('optgroup');
3283
+ option.label = data.text;
3284
+ } else {
3285
+ option = document.createElement('option');
3286
+
3287
+ if (option.textContent !== undefined) {
3288
+ option.textContent = data.text;
3289
+ } else {
3290
+ option.innerText = data.text;
3291
+ }
3292
+ }
3293
+
3294
+ if (data.id !== undefined) {
3295
+ option.value = data.id;
3296
+ }
3297
+
3298
+ if (data.disabled) {
3299
+ option.disabled = true;
3300
+ }
3301
+
3302
+ if (data.selected) {
3303
+ option.selected = true;
3304
+ }
3305
+
3306
+ if (data.title) {
3307
+ option.title = data.title;
3308
+ }
3309
+
3310
+ var $option = $(option);
3311
+
3312
+ var normalizedData = this._normalizeItem(data);
3313
+ normalizedData.element = option;
3314
+
3315
+ // Override the option's data with the combined data
3316
+ $.data(option, 'data', normalizedData);
3317
+
3318
+ return $option;
3319
+ };
3320
+
3321
+ SelectAdapter.prototype.item = function ($option) {
3322
+ var data = {};
3323
+
3324
+ data = $.data($option[0], 'data');
3325
+
3326
+ if (data != null) {
3327
+ return data;
3328
+ }
3329
+
3330
+ if ($option.is('option')) {
3331
+ data = {
3332
+ id: $option.val(),
3333
+ text: $option.text(),
3334
+ disabled: $option.prop('disabled'),
3335
+ selected: $option.prop('selected'),
3336
+ title: $option.prop('title')
3337
+ };
3338
+ } else if ($option.is('optgroup')) {
3339
+ data = {
3340
+ text: $option.prop('label'),
3341
+ children: [],
3342
+ title: $option.prop('title')
3343
+ };
3344
+
3345
+ var $children = $option.children('option');
3346
+ var children = [];
3347
+
3348
+ for (var c = 0; c < $children.length; c++) {
3349
+ var $child = $($children[c]);
3350
+
3351
+ var child = this.item($child);
3352
+
3353
+ children.push(child);
3354
+ }
3355
+
3356
+ data.children = children;
3357
+ }
3358
+
3359
+ data = this._normalizeItem(data);
3360
+ data.element = $option[0];
3361
+
3362
+ $.data($option[0], 'data', data);
3363
+
3364
+ return data;
3365
+ };
3366
+
3367
+ SelectAdapter.prototype._normalizeItem = function (item) {
3368
+ if (!$.isPlainObject(item)) {
3369
+ item = {
3370
+ id: item,
3371
+ text: item
3372
+ };
3373
+ }
3374
+
3375
+ item = $.extend({}, {
3376
+ text: ''
3377
+ }, item);
3378
+
3379
+ var defaults = {
3380
+ selected: false,
3381
+ disabled: false
3382
+ };
3383
+
3384
+ if (item.id != null) {
3385
+ item.id = item.id.toString();
3386
+ }
3387
+
3388
+ if (item.text != null) {
3389
+ item.text = item.text.toString();
3390
+ }
3391
+
3392
+ if (item._resultId == null && item.id) {
3393
+ item._resultId = this.generateResultId(this.container, item);
3394
+ }
3395
+
3396
+ return $.extend({}, defaults, item);
3397
+ };
3398
+
3399
+ SelectAdapter.prototype.matches = function (params, data) {
3400
+ var matcher = this.options.get('matcher');
3401
+
3402
+ return matcher(params, data);
3403
+ };
3404
+
3405
+ return SelectAdapter;
3406
+ });
3407
+
3408
+ S2.define('select2/data/array',[
3409
+ './select',
3410
+ '../utils',
3411
+ 'jquery'
3412
+ ], function (SelectAdapter, Utils, $) {
3413
+ function ArrayAdapter ($element, options) {
3414
+ var data = options.get('data') || [];
3415
+
3416
+ ArrayAdapter.__super__.constructor.call(this, $element, options);
3417
+
3418
+ this.addOptions(this.convertToOptions(data));
3419
+ }
3420
+
3421
+ Utils.Extend(ArrayAdapter, SelectAdapter);
3422
+
3423
+ ArrayAdapter.prototype.select = function (data) {
3424
+ var $option = this.$element.find('option').filter(function (i, elm) {
3425
+ return elm.value == data.id.toString();
3426
+ });
3427
+
3428
+ if ($option.length === 0) {
3429
+ $option = this.option(data);
3430
+
3431
+ this.addOptions($option);
3432
+ }
3433
+
3434
+ ArrayAdapter.__super__.select.call(this, data);
3435
+ };
3436
+
3437
+ ArrayAdapter.prototype.convertToOptions = function (data) {
3438
+ var self = this;
3439
+
3440
+ var $existing = this.$element.find('option');
3441
+ var existingIds = $existing.map(function () {
3442
+ return self.item($(this)).id;
3443
+ }).get();
3444
+
3445
+ var $options = [];
3446
+
3447
+ // Filter out all items except for the one passed in the argument
3448
+ function onlyItem (item) {
3449
+ return function () {
3450
+ return $(this).val() == item.id;
3451
+ };
3452
+ }
3453
+
3454
+ for (var d = 0; d < data.length; d++) {
3455
+ var item = this._normalizeItem(data[d]);
3456
+
3457
+ // Skip items which were pre-loaded, only merge the data
3458
+ if ($.inArray(item.id, existingIds) >= 0) {
3459
+ var $existingOption = $existing.filter(onlyItem(item));
3460
+
3461
+ var existingData = this.item($existingOption);
3462
+ var newData = $.extend(true, {}, item, existingData);
3463
+
3464
+ var $newOption = this.option(newData);
3465
+
3466
+ $existingOption.replaceWith($newOption);
3467
+
3468
+ continue;
3469
+ }
3470
+
3471
+ var $option = this.option(item);
3472
+
3473
+ if (item.children) {
3474
+ var $children = this.convertToOptions(item.children);
3475
+
3476
+ Utils.appendMany($option, $children);
3477
+ }
3478
+
3479
+ $options.push($option);
3480
+ }
3481
+
3482
+ return $options;
3483
+ };
3484
+
3485
+ return ArrayAdapter;
3486
+ });
3487
+
3488
+ S2.define('select2/data/ajax',[
3489
+ './array',
3490
+ '../utils',
3491
+ 'jquery'
3492
+ ], function (ArrayAdapter, Utils, $) {
3493
+ function AjaxAdapter ($element, options) {
3494
+ this.ajaxOptions = this._applyDefaults(options.get('ajax'));
3495
+
3496
+ if (this.ajaxOptions.processResults != null) {
3497
+ this.processResults = this.ajaxOptions.processResults;
3498
+ }
3499
+
3500
+ AjaxAdapter.__super__.constructor.call(this, $element, options);
3501
+ }
3502
+
3503
+ Utils.Extend(AjaxAdapter, ArrayAdapter);
3504
+
3505
+ AjaxAdapter.prototype._applyDefaults = function (options) {
3506
+ var defaults = {
3507
+ data: function (params) {
3508
+ return $.extend({}, params, {
3509
+ q: params.term
3510
+ });
3511
+ },
3512
+ transport: function (params, success, failure) {
3513
+ var $request = $.ajax(params);
3514
+
3515
+ $request.then(success);
3516
+ $request.fail(failure);
3517
+
3518
+ return $request;
3519
+ }
3520
+ };
3521
+
3522
+ return $.extend({}, defaults, options, true);
3523
+ };
3524
+
3525
+ AjaxAdapter.prototype.processResults = function (results) {
3526
+ return results;
3527
+ };
3528
+
3529
+ AjaxAdapter.prototype.query = function (params, callback) {
3530
+ var matches = [];
3531
+ var self = this;
3532
+
3533
+ if (this._request != null) {
3534
+ // JSONP requests cannot always be aborted
3535
+ if ($.isFunction(this._request.abort)) {
3536
+ this._request.abort();
3537
+ }
3538
+
3539
+ this._request = null;
3540
+ }
3541
+
3542
+ var options = $.extend({
3543
+ type: 'GET'
3544
+ }, this.ajaxOptions);
3545
+
3546
+ if (typeof options.url === 'function') {
3547
+ options.url = options.url.call(this.$element, params);
3548
+ }
3549
+
3550
+ if (typeof options.data === 'function') {
3551
+ options.data = options.data.call(this.$element, params);
3552
+ }
3553
+
3554
+ function request () {
3555
+ var $request = options.transport(options, function (data) {
3556
+ var results = self.processResults(data, params);
3557
+
3558
+ if (self.options.get('debug') && window.console && console.error) {
3559
+ // Check to make sure that the response included a `results` key.
3560
+ if (!results || !results.results || !$.isArray(results.results)) {
3561
+ console.error(
3562
+ 'Select2: The AJAX results did not return an array in the ' +
3563
+ '`results` key of the response.'
3564
+ );
3565
+ }
3566
+ }
3567
+
3568
+ callback(results);
3569
+ self.container.focusOnActiveElement();
3570
+ }, function () {
3571
+ // Attempt to detect if a request was aborted
3572
+ // Only works if the transport exposes a status property
3573
+ if ($request.status && $request.status === '0') {
3574
+ return;
3575
+ }
3576
+
3577
+ self.trigger('results:message', {
3578
+ message: 'errorLoading'
3579
+ });
3580
+ });
3581
+
3582
+ self._request = $request;
3583
+ }
3584
+
3585
+ if (this.ajaxOptions.delay && params.term != null) {
3586
+ if (this._queryTimeout) {
3587
+ window.clearTimeout(this._queryTimeout);
3588
+ }
3589
+
3590
+ this._queryTimeout = window.setTimeout(request, this.ajaxOptions.delay);
3591
+ } else {
3592
+ request();
3593
+ }
3594
+ };
3595
+
3596
+ return AjaxAdapter;
3597
+ });
3598
+
3599
+ S2.define('select2/data/tags',[
3600
+ 'jquery'
3601
+ ], function ($) {
3602
+ function Tags (decorated, $element, options) {
3603
+ var tags = options.get('tags');
3604
+
3605
+ var createTag = options.get('createTag');
3606
+
3607
+ if (createTag !== undefined) {
3608
+ this.createTag = createTag;
3609
+ }
3610
+
3611
+ var insertTag = options.get('insertTag');
3612
+
3613
+ if (insertTag !== undefined) {
3614
+ this.insertTag = insertTag;
3615
+ }
3616
+
3617
+ decorated.call(this, $element, options);
3618
+
3619
+ if ($.isArray(tags)) {
3620
+ for (var t = 0; t < tags.length; t++) {
3621
+ var tag = tags[t];
3622
+ var item = this._normalizeItem(tag);
3623
+
3624
+ var $option = this.option(item);
3625
+
3626
+ this.$element.append($option);
3627
+ }
3628
+ }
3629
+ }
3630
+
3631
+ Tags.prototype.query = function (decorated, params, callback) {
3632
+ var self = this;
3633
+
3634
+ this._removeOldTags();
3635
+
3636
+ if (params.term == null || params.page != null) {
3637
+ decorated.call(this, params, callback);
3638
+ return;
3639
+ }
3640
+
3641
+ function wrapper (obj, child) {
3642
+ var data = obj.results;
3643
+
3644
+ for (var i = 0; i < data.length; i++) {
3645
+ var option = data[i];
3646
+
3647
+ var checkChildren = (
3648
+ option.children != null &&
3649
+ !wrapper({
3650
+ results: option.children
3651
+ }, true)
3652
+ );
3653
+
3654
+ var optionText = (option.text || '').toUpperCase();
3655
+ var paramsTerm = (params.term || '').toUpperCase();
3656
+
3657
+ var checkText = optionText === paramsTerm;
3658
+
3659
+ if (checkText || checkChildren) {
3660
+ if (child) {
3661
+ return false;
3662
+ }
3663
+
3664
+ obj.data = data;
3665
+ callback(obj);
3666
+
3667
+ return;
3668
+ }
3669
+ }
3670
+
3671
+ if (child) {
3672
+ return true;
3673
+ }
3674
+
3675
+ var tag = self.createTag(params);
3676
+
3677
+ if (tag != null) {
3678
+ var $option = self.option(tag);
3679
+ $option.attr('data-select2-tag', true);
3680
+
3681
+ self.addOptions([$option]);
3682
+
3683
+ self.insertTag(data, tag);
3684
+ }
3685
+
3686
+ obj.results = data;
3687
+
3688
+ callback(obj);
3689
+ }
3690
+
3691
+ decorated.call(this, params, wrapper);
3692
+ };
3693
+
3694
+ Tags.prototype.createTag = function (decorated, params) {
3695
+ var term = $.trim(params.term);
3696
+
3697
+ if (term === '') {
3698
+ return null;
3699
+ }
3700
+
3701
+ return {
3702
+ id: term,
3703
+ text: term
3704
+ };
3705
+ };
3706
+
3707
+ Tags.prototype.insertTag = function (_, data, tag) {
3708
+ data.unshift(tag);
3709
+ };
3710
+
3711
+ Tags.prototype._removeOldTags = function (_) {
3712
+ var tag = this._lastTag;
3713
+
3714
+ var $options = this.$element.find('option[data-select2-tag]');
3715
+
3716
+ $options.each(function () {
3717
+ if (this.selected) {
3718
+ return;
3719
+ }
3720
+
3721
+ $(this).remove();
3722
+ });
3723
+ };
3724
+
3725
+ return Tags;
3726
+ });
3727
+
3728
+ S2.define('select2/data/tokenizer',[
3729
+ 'jquery'
3730
+ ], function ($) {
3731
+ function Tokenizer (decorated, $element, options) {
3732
+ var tokenizer = options.get('tokenizer');
3733
+
3734
+ if (tokenizer !== undefined) {
3735
+ this.tokenizer = tokenizer;
3736
+ }
3737
+
3738
+ decorated.call(this, $element, options);
3739
+ }
3740
+
3741
+ Tokenizer.prototype.bind = function (decorated, container, $container) {
3742
+ decorated.call(this, container, $container);
3743
+
3744
+ this.$search = container.dropdown.$search || container.selection.$search ||
3745
+ $container.find('.select2-search__field');
3746
+ };
3747
+
3748
+ Tokenizer.prototype.query = function (decorated, params, callback) {
3749
+ var self = this;
3750
+
3751
+ function createAndSelect (data) {
3752
+ // Normalize the data object so we can use it for checks
3753
+ var item = self._normalizeItem(data);
3754
+
3755
+ // Check if the data object already exists as a tag
3756
+ // Select it if it doesn't
3757
+ var $existingOptions = self.$element.find('option').filter(function () {
3758
+ return $(this).val() === item.id;
3759
+ });
3760
+
3761
+ // If an existing option wasn't found for it, create the option
3762
+ if (!$existingOptions.length) {
3763
+ var $option = self.option(item);
3764
+ $option.attr('data-select2-tag', true);
3765
+
3766
+ self._removeOldTags();
3767
+ self.addOptions([$option]);
3768
+ }
3769
+
3770
+ // Select the item, now that we know there is an option for it
3771
+ select(item);
3772
+ }
3773
+
3774
+ function select (data) {
3775
+ self.trigger('select', {
3776
+ data: data
3777
+ });
3778
+ }
3779
+
3780
+ params.term = params.term || '';
3781
+
3782
+ var tokenData = this.tokenizer(params, this.options, createAndSelect);
3783
+
3784
+ if (tokenData.term !== params.term) {
3785
+ // Replace the search term if we have the search box
3786
+ if (this.$search.length) {
3787
+ this.$search.val(tokenData.term);
3788
+ this.$search.focus();
3789
+ }
3790
+
3791
+ params.term = tokenData.term;
3792
+ }
3793
+
3794
+ decorated.call(this, params, callback);
3795
+ };
3796
+
3797
+ Tokenizer.prototype.tokenizer = function (_, params, options, callback) {
3798
+ var separators = options.get('tokenSeparators') || [];
3799
+ var term = params.term;
3800
+ var i = 0;
3801
+
3802
+ var createTag = this.createTag || function (params) {
3803
+ return {
3804
+ id: params.term,
3805
+ text: params.term
3806
+ };
3807
+ };
3808
+
3809
+ while (i < term.length) {
3810
+ var termChar = term[i];
3811
+
3812
+ if ($.inArray(termChar, separators) === -1) {
3813
+ i++;
3814
+
3815
+ continue;
3816
+ }
3817
+
3818
+ var part = term.substr(0, i);
3819
+ var partParams = $.extend({}, params, {
3820
+ term: part
3821
+ });
3822
+
3823
+ var data = createTag(partParams);
3824
+
3825
+ if (data == null) {
3826
+ i++;
3827
+ continue;
3828
+ }
3829
+
3830
+ callback(data);
3831
+
3832
+ // Reset the term to not include the tokenized portion
3833
+ term = term.substr(i + 1) || '';
3834
+ i = 0;
3835
+ }
3836
+
3837
+ return {
3838
+ term: term
3839
+ };
3840
+ };
3841
+
3842
+ return Tokenizer;
3843
+ });
3844
+
3845
+ S2.define('select2/data/minimumInputLength',[
3846
+
3847
+ ], function () {
3848
+ function MinimumInputLength (decorated, $e, options) {
3849
+ this.minimumInputLength = options.get('minimumInputLength');
3850
+
3851
+ decorated.call(this, $e, options);
3852
+ }
3853
+
3854
+ MinimumInputLength.prototype.query = function (decorated, params, callback) {
3855
+ params.term = params.term || '';
3856
+
3857
+ if (params.term.length < this.minimumInputLength) {
3858
+ this.trigger('results:message', {
3859
+ message: 'inputTooShort',
3860
+ args: {
3861
+ minimum: this.minimumInputLength,
3862
+ input: params.term,
3863
+ params: params
3864
+ }
3865
+ });
3866
+
3867
+ return;
3868
+ }
3869
+
3870
+ decorated.call(this, params, callback);
3871
+ };
3872
+
3873
+ return MinimumInputLength;
3874
+ });
3875
+
3876
+ S2.define('select2/data/maximumInputLength',[
3877
+
3878
+ ], function () {
3879
+ function MaximumInputLength (decorated, $e, options) {
3880
+ this.maximumInputLength = options.get('maximumInputLength');
3881
+
3882
+ decorated.call(this, $e, options);
3883
+ }
3884
+
3885
+ MaximumInputLength.prototype.query = function (decorated, params, callback) {
3886
+ params.term = params.term || '';
3887
+
3888
+ if (this.maximumInputLength > 0 &&
3889
+ params.term.length > this.maximumInputLength) {
3890
+ this.trigger('results:message', {
3891
+ message: 'inputTooLong',
3892
+ args: {
3893
+ maximum: this.maximumInputLength,
3894
+ input: params.term,
3895
+ params: params
3896
+ }
3897
+ });
3898
+
3899
+ return;
3900
+ }
3901
+
3902
+ decorated.call(this, params, callback);
3903
+ };
3904
+
3905
+ return MaximumInputLength;
3906
+ });
3907
+
3908
+ S2.define('select2/data/maximumSelectionLength',[
3909
+
3910
+ ], function (){
3911
+ function MaximumSelectionLength (decorated, $e, options) {
3912
+ this.maximumSelectionLength = options.get('maximumSelectionLength');
3913
+
3914
+ decorated.call(this, $e, options);
3915
+ }
3916
+
3917
+ MaximumSelectionLength.prototype.query =
3918
+ function (decorated, params, callback) {
3919
+ var self = this;
3920
+
3921
+ this.current(function (currentData) {
3922
+ var count = currentData != null ? currentData.length : 0;
3923
+ if (self.maximumSelectionLength > 0 &&
3924
+ count >= self.maximumSelectionLength) {
3925
+ self.trigger('results:message', {
3926
+ message: 'maximumSelected',
3927
+ args: {
3928
+ maximum: self.maximumSelectionLength
3929
+ }
3930
+ });
3931
+ return;
3932
+ }
3933
+ decorated.call(self, params, callback);
3934
+ });
3935
+ };
3936
+
3937
+ return MaximumSelectionLength;
3938
+ });
3939
+
3940
+ S2.define('select2/dropdown',[
3941
+ 'jquery',
3942
+ './utils'
3943
+ ], function ($, Utils) {
3944
+ function Dropdown ($element, options) {
3945
+ this.$element = $element;
3946
+ this.options = options;
3947
+
3948
+ Dropdown.__super__.constructor.call(this);
3949
+ }
3950
+
3951
+ Utils.Extend(Dropdown, Utils.Observable);
3952
+
3953
+ Dropdown.prototype.render = function () {
3954
+ var $dropdown = $(
3955
+ '<span class="select2-dropdown">' +
3956
+ '<span class="select2-results"></span>' +
3957
+ '</span>'
3958
+ );
3959
+
3960
+ $dropdown.attr('dir', this.options.get('dir'));
3961
+
3962
+ this.$dropdown = $dropdown;
3963
+
3964
+ return $dropdown;
3965
+ };
3966
+
3967
+ Dropdown.prototype.bind = function () {
3968
+ // Should be implemented in subclasses
3969
+ };
3970
+
3971
+ Dropdown.prototype.position = function ($dropdown, $container) {
3972
+ // Should be implmented in subclasses
3973
+ };
3974
+
3975
+ Dropdown.prototype.destroy = function () {
3976
+ // Remove the dropdown from the DOM
3977
+ this.$dropdown.remove();
3978
+ };
3979
+
3980
+ return Dropdown;
3981
+ });
3982
+
3983
+ S2.define('select2/dropdown/search',[
3984
+ 'jquery',
3985
+ '../utils'
3986
+ ], function ($, Utils) {
3987
+ function Search () { }
3988
+
3989
+ Search.prototype.render = function (decorated) {
3990
+ var $rendered = decorated.call(this);
3991
+
3992
+ var $search = $(
3993
+ '<span class="select2-search select2-search--dropdown">' +
3994
+ '<input class="select2-search__field" type="text" tabindex="-1"' +
3995
+ ' autocomplete="off" autocorrect="off" autocapitalize="off"' +
3996
+ ' spellcheck="false" role="combobox" aria-autocomplete="list" aria-expanded="true" />' +
3997
+ '</span>'
3998
+ );
3999
+
4000
+ this.$searchContainer = $search;
4001
+ this.$search = $search.find('input');
4002
+
4003
+ $rendered.prepend($search);
4004
+
4005
+ return $rendered;
4006
+ };
4007
+
4008
+ Search.prototype.bind = function (decorated, container, $container) {
4009
+ var self = this;
4010
+ var resultsId = container.id + '-results';
4011
+
4012
+ decorated.call(this, container, $container);
4013
+
4014
+ this.$search.on('keydown', function (evt) {
4015
+ self.trigger('keypress', evt);
4016
+
4017
+ self._keyUpPrevented = evt.isDefaultPrevented();
4018
+ });
4019
+
4020
+ // Workaround for browsers which do not support the `input` event
4021
+ // This will prevent double-triggering of events for browsers which support
4022
+ // both the `keyup` and `input` events.
4023
+ this.$search.on('input', function (evt) {
4024
+ // Unbind the duplicated `keyup` event
4025
+ $(this).off('keyup');
4026
+ });
4027
+
4028
+ this.$search.on('keyup input', function (evt) {
4029
+ self.handleSearch(evt);
4030
+ });
4031
+
4032
+ container.on('open', function () {
4033
+ self.$search.attr('tabindex', 0);
4034
+ self.$search.attr('aria-owns', resultsId);
4035
+ self.$search.focus();
4036
+
4037
+ window.setTimeout(function () {
4038
+ self.$search.focus();
4039
+ }, 0);
4040
+ });
4041
+
4042
+ container.on('close', function () {
4043
+ self.$search.attr('tabindex', -1);
4044
+ self.$search.removeAttr('aria-activedescendant');
4045
+ self.$search.removeAttr('aria-owns');
4046
+ self.$search.val('');
4047
+ });
4048
+
4049
+ container.on('focus', function () {
4050
+ if (container.isOpen()) {
4051
+ self.$search.focus();
4052
+ }
4053
+ });
4054
+
4055
+ container.on('results:all', function (params) {
4056
+ if (params.query.term == null || params.query.term === '') {
4057
+ var showSearch = self.showSearch(params);
4058
+
4059
+ if (showSearch) {
4060
+ self.$searchContainer.removeClass('select2-search--hide');
4061
+ } else {
4062
+ self.$searchContainer.addClass('select2-search--hide');
4063
+ }
4064
+ }
4065
+ });
4066
+
4067
+ container.on('results:focus', function (params) {
4068
+ self.$search.attr('aria-activedescendant', params.data._resultId);
4069
+ });
4070
+ };
4071
+
4072
+ Search.prototype.handleSearch = function (evt) {
4073
+ if (!this._keyUpPrevented) {
4074
+ var input = this.$search.val();
4075
+
4076
+ this.trigger('query', {
4077
+ term: input
4078
+ });
4079
+ }
4080
+
4081
+ this._keyUpPrevented = false;
4082
+ };
4083
+
4084
+ Search.prototype.showSearch = function (_, params) {
4085
+ return true;
4086
+ };
4087
+
4088
+ return Search;
4089
+ });
4090
+
4091
+ S2.define('select2/dropdown/hidePlaceholder',[
4092
+
4093
+ ], function () {
4094
+ function HidePlaceholder (decorated, $element, options, dataAdapter) {
4095
+ this.placeholder = this.normalizePlaceholder(options.get('placeholder'));
4096
+
4097
+ decorated.call(this, $element, options, dataAdapter);
4098
+ }
4099
+
4100
+ HidePlaceholder.prototype.append = function (decorated, data) {
4101
+ data.results = this.removePlaceholder(data.results);
4102
+
4103
+ decorated.call(this, data);
4104
+ };
4105
+
4106
+ HidePlaceholder.prototype.normalizePlaceholder = function (_, placeholder) {
4107
+ if (typeof placeholder === 'string') {
4108
+ placeholder = {
4109
+ id: '',
4110
+ text: placeholder
4111
+ };
4112
+ }
4113
+
4114
+ return placeholder;
4115
+ };
4116
+
4117
+ HidePlaceholder.prototype.removePlaceholder = function (_, data) {
4118
+ var modifiedData = data.slice(0);
4119
+
4120
+ for (var d = data.length - 1; d >= 0; d--) {
4121
+ var item = data[d];
4122
+
4123
+ if (this.placeholder.id === item.id) {
4124
+ modifiedData.splice(d, 1);
4125
+ }
4126
+ }
4127
+
4128
+ return modifiedData;
4129
+ };
4130
+
4131
+ return HidePlaceholder;
4132
+ });
4133
+
4134
+ S2.define('select2/dropdown/infiniteScroll',[
4135
+ 'jquery'
4136
+ ], function ($) {
4137
+ function InfiniteScroll (decorated, $element, options, dataAdapter) {
4138
+ this.lastParams = {};
4139
+
4140
+ decorated.call(this, $element, options, dataAdapter);
4141
+
4142
+ this.$loadingMore = this.createLoadingMore();
4143
+ this.loading = false;
4144
+ }
4145
+
4146
+ InfiniteScroll.prototype.append = function (decorated, data) {
4147
+ this.$loadingMore.remove();
4148
+ this.loading = false;
4149
+
4150
+ decorated.call(this, data);
4151
+
4152
+ if (this.showLoadingMore(data)) {
4153
+ this.$results.append(this.$loadingMore);
4154
+ }
4155
+ };
4156
+
4157
+ InfiniteScroll.prototype.bind = function (decorated, container, $container) {
4158
+ var self = this;
4159
+
4160
+ decorated.call(this, container, $container);
4161
+
4162
+ container.on('query', function (params) {
4163
+ self.lastParams = params;
4164
+ self.loading = true;
4165
+ });
4166
+
4167
+ container.on('query:append', function (params) {
4168
+ self.lastParams = params;
4169
+ self.loading = true;
4170
+ });
4171
+
4172
+ this.$results.on('scroll', function () {
4173
+ var isLoadMoreVisible = $.contains(
4174
+ document.documentElement,
4175
+ self.$loadingMore[0]
4176
+ );
4177
+
4178
+ if (self.loading || !isLoadMoreVisible) {
4179
+ return;
4180
+ }
4181
+
4182
+ var currentOffset = self.$results.offset().top +
4183
+ self.$results.outerHeight(false);
4184
+ var loadingMoreOffset = self.$loadingMore.offset().top +
4185
+ self.$loadingMore.outerHeight(false);
4186
+
4187
+ if (currentOffset + 50 >= loadingMoreOffset) {
4188
+ self.loadMore();
4189
+ }
4190
+ });
4191
+ };
4192
+
4193
+ InfiniteScroll.prototype.loadMore = function () {
4194
+ this.loading = true;
4195
+
4196
+ var params = $.extend({}, {page: 1}, this.lastParams);
4197
+
4198
+ params.page++;
4199
+
4200
+ this.trigger('query:append', params);
4201
+ };
4202
+
4203
+ InfiniteScroll.prototype.showLoadingMore = function (_, data) {
4204
+ return data.pagination && data.pagination.more;
4205
+ };
4206
+
4207
+ InfiniteScroll.prototype.createLoadingMore = function () {
4208
+ var $option = $(
4209
+ '<li ' +
4210
+ 'class="select2-results__option select2-results__option--load-more"' +
4211
+ 'role="option" aria-disabled="true"></li>'
4212
+ );
4213
+
4214
+ var message = this.options.get('translations').get('loadingMore');
4215
+
4216
+ $option.html(message(this.lastParams));
4217
+
4218
+ return $option;
4219
+ };
4220
+
4221
+ return InfiniteScroll;
4222
+ });
4223
+
4224
+ S2.define('select2/dropdown/attachBody',[
4225
+ 'jquery',
4226
+ '../utils'
4227
+ ], function ($, Utils) {
4228
+ function AttachBody (decorated, $element, options) {
4229
+ this.$dropdownParent = options.get('dropdownParent') || $(document.body);
4230
+
4231
+ decorated.call(this, $element, options);
4232
+ }
4233
+
4234
+ AttachBody.prototype.bind = function (decorated, container, $container) {
4235
+ var self = this;
4236
+
4237
+ var setupResultsEvents = false;
4238
+
4239
+ decorated.call(this, container, $container);
4240
+
4241
+ container.on('open', function () {
4242
+ self._showDropdown();
4243
+ self._attachPositioningHandler(container);
4244
+
4245
+ if (!setupResultsEvents) {
4246
+ setupResultsEvents = true;
4247
+
4248
+ container.on('results:all', function () {
4249
+ self._positionDropdown();
4250
+ self._resizeDropdown();
4251
+ });
4252
+
4253
+ container.on('results:append', function () {
4254
+ self._positionDropdown();
4255
+ self._resizeDropdown();
4256
+ });
4257
+ }
4258
+ });
4259
+
4260
+ container.on('close', function () {
4261
+ self._hideDropdown();
4262
+ self._detachPositioningHandler(container);
4263
+ });
4264
+
4265
+ this.$dropdownContainer.on('mousedown', function (evt) {
4266
+ evt.stopPropagation();
4267
+ });
4268
+ };
4269
+
4270
+ AttachBody.prototype.destroy = function (decorated) {
4271
+ decorated.call(this);
4272
+
4273
+ this.$dropdownContainer.remove();
4274
+ };
4275
+
4276
+ AttachBody.prototype.position = function (decorated, $dropdown, $container) {
4277
+ // Clone all of the container classes
4278
+ $dropdown.attr('class', $container.attr('class'));
4279
+
4280
+ $dropdown.removeClass('select2');
4281
+ $dropdown.addClass('select2-container--open');
4282
+
4283
+ $dropdown.css({
4284
+ position: 'absolute',
4285
+ top: -999999
4286
+ });
4287
+
4288
+ this.$container = $container;
4289
+ };
4290
+
4291
+ AttachBody.prototype.render = function (decorated) {
4292
+ var $container = $('<span></span>');
4293
+
4294
+ var $dropdown = decorated.call(this);
4295
+ $container.append($dropdown);
4296
+
4297
+ this.$dropdownContainer = $container;
4298
+
4299
+ return $container;
4300
+ };
4301
+
4302
+ AttachBody.prototype._hideDropdown = function (decorated) {
4303
+ this.$dropdownContainer.detach();
4304
+ };
4305
+
4306
+ AttachBody.prototype._attachPositioningHandler =
4307
+ function (decorated, container) {
4308
+ var self = this;
4309
+
4310
+ var scrollEvent = 'scroll.select2.' + container.id;
4311
+ var resizeEvent = 'resize.select2.' + container.id;
4312
+ var orientationEvent = 'orientationchange.select2.' + container.id;
4313
+
4314
+ var $watchers = this.$container.parents().filter(Utils.hasScroll);
4315
+ $watchers.each(function () {
4316
+ $(this).data('select2-scroll-position', {
4317
+ x: $(this).scrollLeft(),
4318
+ y: $(this).scrollTop()
4319
+ });
4320
+ });
4321
+
4322
+ $watchers.on(scrollEvent, function (ev) {
4323
+ var position = $(this).data('select2-scroll-position');
4324
+ $(this).scrollTop(position.y);
4325
+ });
4326
+
4327
+ $(window).on(scrollEvent + ' ' + resizeEvent + ' ' + orientationEvent,
4328
+ function (e) {
4329
+ self._positionDropdown();
4330
+ self._resizeDropdown();
4331
+ });
4332
+ };
4333
+
4334
+ AttachBody.prototype._detachPositioningHandler =
4335
+ function (decorated, container) {
4336
+ var scrollEvent = 'scroll.select2.' + container.id;
4337
+ var resizeEvent = 'resize.select2.' + container.id;
4338
+ var orientationEvent = 'orientationchange.select2.' + container.id;
4339
+
4340
+ var $watchers = this.$container.parents().filter(Utils.hasScroll);
4341
+ $watchers.off(scrollEvent);
4342
+
4343
+ $(window).off(scrollEvent + ' ' + resizeEvent + ' ' + orientationEvent);
4344
+ };
4345
+
4346
+ AttachBody.prototype._positionDropdown = function () {
4347
+ var $window = $(window);
4348
+
4349
+ var isCurrentlyAbove = this.$dropdown.hasClass('select2-dropdown--above');
4350
+ var isCurrentlyBelow = this.$dropdown.hasClass('select2-dropdown--below');
4351
+
4352
+ var newDirection = null;
4353
+
4354
+ var offset = this.$container.offset();
4355
+
4356
+ offset.bottom = offset.top + this.$container.outerHeight(false);
4357
+
4358
+ var container = {
4359
+ height: this.$container.outerHeight(false)
4360
+ };
4361
+
4362
+ container.top = offset.top;
4363
+ container.bottom = offset.top + container.height;
4364
+
4365
+ var dropdown = {
4366
+ height: this.$dropdown.outerHeight(false)
4367
+ };
4368
+
4369
+ var viewport = {
4370
+ top: $window.scrollTop(),
4371
+ bottom: $window.scrollTop() + $window.height()
4372
+ };
4373
+
4374
+ var enoughRoomAbove = viewport.top < (offset.top - dropdown.height);
4375
+ var enoughRoomBelow = viewport.bottom > (offset.bottom + dropdown.height);
4376
+
4377
+ var css = {
4378
+ left: offset.left,
4379
+ top: container.bottom
4380
+ };
4381
+
4382
+ // Determine what the parent element is to use for calciulating the offset
4383
+ var $offsetParent = this.$dropdownParent;
4384
+
4385
+ // For statically positoned elements, we need to get the element
4386
+ // that is determining the offset
4387
+ if ($offsetParent.css('position') === 'static') {
4388
+ $offsetParent = $offsetParent.offsetParent();
4389
+ }
4390
+
4391
+ var parentOffset = $offsetParent.offset();
4392
+
4393
+ css.top -= parentOffset.top;
4394
+ css.left -= parentOffset.left;
4395
+
4396
+ if (!isCurrentlyAbove && !isCurrentlyBelow) {
4397
+ newDirection = 'below';
4398
+ }
4399
+
4400
+ if (!enoughRoomBelow && enoughRoomAbove && !isCurrentlyAbove) {
4401
+ newDirection = 'above';
4402
+ } else if (!enoughRoomAbove && enoughRoomBelow && isCurrentlyAbove) {
4403
+ newDirection = 'below';
4404
+ }
4405
+
4406
+ if (newDirection == 'above' ||
4407
+ (isCurrentlyAbove && newDirection !== 'below')) {
4408
+ css.top = container.top - parentOffset.top - dropdown.height;
4409
+ }
4410
+
4411
+ if (newDirection != null) {
4412
+ this.$dropdown
4413
+ .removeClass('select2-dropdown--below select2-dropdown--above')
4414
+ .addClass('select2-dropdown--' + newDirection);
4415
+ this.$container
4416
+ .removeClass('select2-container--below select2-container--above')
4417
+ .addClass('select2-container--' + newDirection);
4418
+ }
4419
+
4420
+ this.$dropdownContainer.css(css);
4421
+ };
4422
+
4423
+ AttachBody.prototype._resizeDropdown = function () {
4424
+ var css = {
4425
+ width: this.$container.outerWidth(false) + 'px'
4426
+ };
4427
+
4428
+ if (this.options.get('dropdownAutoWidth')) {
4429
+ css.minWidth = css.width;
4430
+ css.position = 'relative';
4431
+ css.width = 'auto';
4432
+ }
4433
+
4434
+ this.$dropdown.css(css);
4435
+ };
4436
+
4437
+ AttachBody.prototype._showDropdown = function (decorated) {
4438
+ this.$dropdownContainer.appendTo(this.$dropdownParent);
4439
+
4440
+ this._positionDropdown();
4441
+ this._resizeDropdown();
4442
+ };
4443
+
4444
+ return AttachBody;
4445
+ });
4446
+
4447
+ S2.define('select2/dropdown/minimumResultsForSearch',[
4448
+
4449
+ ], function () {
4450
+ function countResults (data) {
4451
+ var count = 0;
4452
+
4453
+ for (var d = 0; d < data.length; d++) {
4454
+ var item = data[d];
4455
+
4456
+ if (item.children) {
4457
+ count += countResults(item.children);
4458
+ } else {
4459
+ count++;
4460
+ }
4461
+ }
4462
+
4463
+ return count;
4464
+ }
4465
+
4466
+ function MinimumResultsForSearch (decorated, $element, options, dataAdapter) {
4467
+ this.minimumResultsForSearch = options.get('minimumResultsForSearch');
4468
+
4469
+ if (this.minimumResultsForSearch < 0) {
4470
+ this.minimumResultsForSearch = Infinity;
4471
+ }
4472
+
4473
+ decorated.call(this, $element, options, dataAdapter);
4474
+ }
4475
+
4476
+ MinimumResultsForSearch.prototype.showSearch = function (decorated, params) {
4477
+ if (countResults(params.data.results) < this.minimumResultsForSearch) {
4478
+ return false;
4479
+ }
4480
+
4481
+ return decorated.call(this, params);
4482
+ };
4483
+
4484
+ return MinimumResultsForSearch;
4485
+ });
4486
+
4487
+ S2.define('select2/dropdown/selectOnClose',[
4488
+
4489
+ ], function () {
4490
+ function SelectOnClose () { }
4491
+
4492
+ SelectOnClose.prototype.bind = function (decorated, container, $container) {
4493
+ var self = this;
4494
+
4495
+ decorated.call(this, container, $container);
4496
+
4497
+ container.on('close', function (params) {
4498
+ self._handleSelectOnClose(params);
4499
+ });
4500
+ };
4501
+
4502
+ SelectOnClose.prototype._handleSelectOnClose = function (_, params) {
4503
+ if (params && params.originalSelect2Event != null) {
4504
+ var event = params.originalSelect2Event;
4505
+
4506
+ // Don't select an item if the close event was triggered from a select or
4507
+ // unselect event
4508
+ if (event._type === 'select' || event._type === 'unselect') {
4509
+ return;
4510
+ }
4511
+ }
4512
+
4513
+ var $highlightedResults = this.getHighlightedResults();
4514
+
4515
+ // Only select highlighted results
4516
+ if ($highlightedResults.length < 1) {
4517
+ return;
4518
+ }
4519
+
4520
+ var data = $highlightedResults.data('data');
4521
+
4522
+ // Don't re-select already selected resulte
4523
+ if (
4524
+ (data.element != null && data.element.selected) ||
4525
+ (data.element == null && data.selected)
4526
+ ) {
4527
+ return;
4528
+ }
4529
+
4530
+ this.trigger('select', {
4531
+ data: data
4532
+ });
4533
+ };
4534
+
4535
+ return SelectOnClose;
4536
+ });
4537
+
4538
+ S2.define('select2/dropdown/closeOnSelect',[
4539
+
4540
+ ], function () {
4541
+ function CloseOnSelect () { }
4542
+
4543
+ CloseOnSelect.prototype.bind = function (decorated, container, $container) {
4544
+ var self = this;
4545
+
4546
+ decorated.call(this, container, $container);
4547
+
4548
+ container.on('select', function (evt) {
4549
+ self._selectTriggered(evt);
4550
+ });
4551
+
4552
+ container.on('unselect', function (evt) {
4553
+ self._selectTriggered(evt);
4554
+ });
4555
+ };
4556
+
4557
+ CloseOnSelect.prototype._selectTriggered = function (_, evt) {
4558
+ var originalEvent = evt.originalEvent;
4559
+
4560
+ // Don't close if the control key is being held
4561
+ if (originalEvent && originalEvent.ctrlKey) {
4562
+ return;
4563
+ }
4564
+
4565
+ this.trigger('close', {
4566
+ originalEvent: originalEvent,
4567
+ originalSelect2Event: evt
4568
+ });
4569
+ };
4570
+
4571
+ return CloseOnSelect;
4572
+ });
4573
+
4574
+ S2.define('select2/i18n/en',[],function () {
4575
+ // English
4576
+ return {
4577
+ errorLoading: function () {
4578
+ return 'The results could not be loaded.';
4579
+ },
4580
+ inputTooLong: function (args) {
4581
+ var overChars = args.input.length - args.maximum;
4582
+
4583
+ var message = 'Please delete ' + overChars + ' character';
4584
+
4585
+ if (overChars != 1) {
4586
+ message += 's';
4587
+ }
4588
+
4589
+ return message;
4590
+ },
4591
+ inputTooShort: function (args) {
4592
+ var remainingChars = args.minimum - args.input.length;
4593
+
4594
+ var message = 'Please enter ' + remainingChars + ' or more characters';
4595
+
4596
+ return message;
4597
+ },
4598
+ loadingMore: function () {
4599
+ return 'Loading more results…';
4600
+ },
4601
+ maximumSelected: function (args) {
4602
+ var message = 'You can only select ' + args.maximum + ' item';
4603
+
4604
+ if (args.maximum != 1) {
4605
+ message += 's';
4606
+ }
4607
+
4608
+ return message;
4609
+ },
4610
+ noResults: function () {
4611
+ return 'No results found';
4612
+ },
4613
+ searching: function () {
4614
+ return 'Searching…';
4615
+ }
4616
+ };
4617
+ });
4618
+
4619
+ S2.define('select2/defaults',[
4620
+ 'jquery',
4621
+ 'require',
4622
+
4623
+ './results',
4624
+
4625
+ './selection/single',
4626
+ './selection/multiple',
4627
+ './selection/placeholder',
4628
+ './selection/allowClear',
4629
+ './selection/search',
4630
+ './selection/eventRelay',
4631
+
4632
+ './utils',
4633
+ './translation',
4634
+ './diacritics',
4635
+
4636
+ './data/select',
4637
+ './data/array',
4638
+ './data/ajax',
4639
+ './data/tags',
4640
+ './data/tokenizer',
4641
+ './data/minimumInputLength',
4642
+ './data/maximumInputLength',
4643
+ './data/maximumSelectionLength',
4644
+
4645
+ './dropdown',
4646
+ './dropdown/search',
4647
+ './dropdown/hidePlaceholder',
4648
+ './dropdown/infiniteScroll',
4649
+ './dropdown/attachBody',
4650
+ './dropdown/minimumResultsForSearch',
4651
+ './dropdown/selectOnClose',
4652
+ './dropdown/closeOnSelect',
4653
+
4654
+ './i18n/en'
4655
+ ], function ($, require,
4656
+
4657
+ ResultsList,
4658
+
4659
+ SingleSelection, MultipleSelection, Placeholder, AllowClear,
4660
+ SelectionSearch, EventRelay,
4661
+
4662
+ Utils, Translation, DIACRITICS,
4663
+
4664
+ SelectData, ArrayData, AjaxData, Tags, Tokenizer,
4665
+ MinimumInputLength, MaximumInputLength, MaximumSelectionLength,
4666
+
4667
+ Dropdown, DropdownSearch, HidePlaceholder, InfiniteScroll,
4668
+ AttachBody, MinimumResultsForSearch, SelectOnClose, CloseOnSelect,
4669
+
4670
+ EnglishTranslation) {
4671
+ function Defaults () {
4672
+ this.reset();
4673
+ }
4674
+
4675
+ Defaults.prototype.apply = function (options) {
4676
+ options = $.extend(true, {}, this.defaults, options);
4677
+
4678
+ if (options.dataAdapter == null) {
4679
+ if (options.ajax != null) {
4680
+ options.dataAdapter = AjaxData;
4681
+ } else if (options.data != null) {
4682
+ options.dataAdapter = ArrayData;
4683
+ } else {
4684
+ options.dataAdapter = SelectData;
4685
+ }
4686
+
4687
+ if (options.minimumInputLength > 0) {
4688
+ options.dataAdapter = Utils.Decorate(
4689
+ options.dataAdapter,
4690
+ MinimumInputLength
4691
+ );
4692
+ }
4693
+
4694
+ if (options.maximumInputLength > 0) {
4695
+ options.dataAdapter = Utils.Decorate(
4696
+ options.dataAdapter,
4697
+ MaximumInputLength
4698
+ );
4699
+ }
4700
+
4701
+ if (options.maximumSelectionLength > 0) {
4702
+ options.dataAdapter = Utils.Decorate(
4703
+ options.dataAdapter,
4704
+ MaximumSelectionLength
4705
+ );
4706
+ }
4707
+
4708
+ if (options.tags) {
4709
+ options.dataAdapter = Utils.Decorate(options.dataAdapter, Tags);
4710
+ }
4711
+
4712
+ if (options.tokenSeparators != null || options.tokenizer != null) {
4713
+ options.dataAdapter = Utils.Decorate(
4714
+ options.dataAdapter,
4715
+ Tokenizer
4716
+ );
4717
+ }
4718
+
4719
+ if (options.query != null) {
4720
+ var Query = require(options.amdBase + 'compat/query');
4721
+
4722
+ options.dataAdapter = Utils.Decorate(
4723
+ options.dataAdapter,
4724
+ Query
4725
+ );
4726
+ }
4727
+
4728
+ if (options.initSelection != null) {
4729
+ var InitSelection = require(options.amdBase + 'compat/initSelection');
4730
+
4731
+ options.dataAdapter = Utils.Decorate(
4732
+ options.dataAdapter,
4733
+ InitSelection
4734
+ );
4735
+ }
4736
+ }
4737
+
4738
+ if (options.resultsAdapter == null) {
4739
+ options.resultsAdapter = ResultsList;
4740
+
4741
+ if (options.ajax != null) {
4742
+ options.resultsAdapter = Utils.Decorate(
4743
+ options.resultsAdapter,
4744
+ InfiniteScroll
4745
+ );
4746
+ }
4747
+
4748
+ if (options.placeholder != null) {
4749
+ options.resultsAdapter = Utils.Decorate(
4750
+ options.resultsAdapter,
4751
+ HidePlaceholder
4752
+ );
4753
+ }
4754
+
4755
+ if (options.selectOnClose) {
4756
+ options.resultsAdapter = Utils.Decorate(
4757
+ options.resultsAdapter,
4758
+ SelectOnClose
4759
+ );
4760
+ }
4761
+ }
4762
+
4763
+ if (options.dropdownAdapter == null) {
4764
+ if (options.multiple) {
4765
+ options.dropdownAdapter = Dropdown;
4766
+ } else {
4767
+ var SearchableDropdown = Utils.Decorate(Dropdown, DropdownSearch);
4768
+
4769
+ options.dropdownAdapter = SearchableDropdown;
4770
+ }
4771
+
4772
+ if (options.minimumResultsForSearch !== 0) {
4773
+ options.dropdownAdapter = Utils.Decorate(
4774
+ options.dropdownAdapter,
4775
+ MinimumResultsForSearch
4776
+ );
4777
+ }
4778
+
4779
+ if (options.closeOnSelect) {
4780
+ options.dropdownAdapter = Utils.Decorate(
4781
+ options.dropdownAdapter,
4782
+ CloseOnSelect
4783
+ );
4784
+ }
4785
+
4786
+ if (
4787
+ options.dropdownCssClass != null ||
4788
+ options.dropdownCss != null ||
4789
+ options.adaptDropdownCssClass != null
4790
+ ) {
4791
+ var DropdownCSS = require(options.amdBase + 'compat/dropdownCss');
4792
+
4793
+ options.dropdownAdapter = Utils.Decorate(
4794
+ options.dropdownAdapter,
4795
+ DropdownCSS
4796
+ );
4797
+ }
4798
+
4799
+ options.dropdownAdapter = Utils.Decorate(
4800
+ options.dropdownAdapter,
4801
+ AttachBody
4802
+ );
4803
+ }
4804
+
4805
+ if (options.selectionAdapter == null) {
4806
+ if (options.multiple) {
4807
+ options.selectionAdapter = MultipleSelection;
4808
+ } else {
4809
+ options.selectionAdapter = SingleSelection;
4810
+ }
4811
+
4812
+ // Add the placeholder mixin if a placeholder was specified
4813
+ if (options.placeholder != null) {
4814
+ options.selectionAdapter = Utils.Decorate(
4815
+ options.selectionAdapter,
4816
+ Placeholder
4817
+ );
4818
+ }
4819
+
4820
+ if (options.allowClear) {
4821
+ options.selectionAdapter = Utils.Decorate(
4822
+ options.selectionAdapter,
4823
+ AllowClear
4824
+ );
4825
+ }
4826
+
4827
+ if (options.multiple) {
4828
+ options.selectionAdapter = Utils.Decorate(
4829
+ options.selectionAdapter,
4830
+ SelectionSearch
4831
+ );
4832
+ }
4833
+
4834
+ if (
4835
+ options.containerCssClass != null ||
4836
+ options.containerCss != null ||
4837
+ options.adaptContainerCssClass != null
4838
+ ) {
4839
+ var ContainerCSS = require(options.amdBase + 'compat/containerCss');
4840
+
4841
+ options.selectionAdapter = Utils.Decorate(
4842
+ options.selectionAdapter,
4843
+ ContainerCSS
4844
+ );
4845
+ }
4846
+
4847
+ options.selectionAdapter = Utils.Decorate(
4848
+ options.selectionAdapter,
4849
+ EventRelay
4850
+ );
4851
+ }
4852
+
4853
+ if (typeof options.language === 'string') {
4854
+ // Check if the language is specified with a region
4855
+ if (options.language.indexOf('-') > 0) {
4856
+ // Extract the region information if it is included
4857
+ var languageParts = options.language.split('-');
4858
+ var baseLanguage = languageParts[0];
4859
+
4860
+ options.language = [options.language, baseLanguage];
4861
+ } else {
4862
+ options.language = [options.language];
4863
+ }
4864
+ }
4865
+
4866
+ if ($.isArray(options.language)) {
4867
+ var languages = new Translation();
4868
+ options.language.push('en');
4869
+
4870
+ var languageNames = options.language;
4871
+
4872
+ for (var l = 0; l < languageNames.length; l++) {
4873
+ var name = languageNames[l];
4874
+ var language = {};
4875
+
4876
+ try {
4877
+ // Try to load it with the original name
4878
+ language = Translation.loadPath(name);
4879
+ } catch (e) {
4880
+ try {
4881
+ // If we couldn't load it, check if it wasn't the full path
4882
+ name = this.defaults.amdLanguageBase + name;
4883
+ language = Translation.loadPath(name);
4884
+ } catch (ex) {
4885
+ // The translation could not be loaded at all. Sometimes this is
4886
+ // because of a configuration problem, other times this can be
4887
+ // because of how Select2 helps load all possible translation files.
4888
+ if (options.debug && window.console && console.warn) {
4889
+ console.warn(
4890
+ 'Select2: The language file for "' + name + '" could not be ' +
4891
+ 'automatically loaded. A fallback will be used instead.'
4892
+ );
4893
+ }
4894
+
4895
+ continue;
4896
+ }
4897
+ }
4898
+
4899
+ languages.extend(language);
4900
+ }
4901
+
4902
+ options.translations = languages;
4903
+ } else {
4904
+ var baseTranslation = Translation.loadPath(
4905
+ this.defaults.amdLanguageBase + 'en'
4906
+ );
4907
+ var customTranslation = new Translation(options.language);
4908
+
4909
+ customTranslation.extend(baseTranslation);
4910
+
4911
+ options.translations = customTranslation;
4912
+ }
4913
+
4914
+ return options;
4915
+ };
4916
+
4917
+ Defaults.prototype.reset = function () {
4918
+ function stripDiacritics (text) {
4919
+ // Used 'uni range + named function' from http://jsperf.com/diacritics/18
4920
+ function match(a) {
4921
+ return DIACRITICS[a] || a;
4922
+ }
4923
+
4924
+ return text.replace(/[^\u0000-\u007E]/g, match);
4925
+ }
4926
+
4927
+ function matcher (params, data) {
4928
+ // Always return the object if there is nothing to compare
4929
+ if ($.trim(params.term) === '') {
4930
+ return data;
4931
+ }
4932
+
4933
+ // Do a recursive check for options with children
4934
+ if (data.children && data.children.length > 0) {
4935
+ // Clone the data object if there are children
4936
+ // This is required as we modify the object to remove any non-matches
4937
+ var match = $.extend(true, {}, data);
4938
+
4939
+ // Check each child of the option
4940
+ for (var c = data.children.length - 1; c >= 0; c--) {
4941
+ var child = data.children[c];
4942
+
4943
+ var matches = matcher(params, child);
4944
+
4945
+ // If there wasn't a match, remove the object in the array
4946
+ if (matches == null) {
4947
+ match.children.splice(c, 1);
4948
+ }
4949
+ }
4950
+
4951
+ // If any children matched, return the new object
4952
+ if (match.children.length > 0) {
4953
+ return match;
4954
+ }
4955
+
4956
+ // If there were no matching children, check just the plain object
4957
+ return matcher(params, match);
4958
+ }
4959
+
4960
+ var original = stripDiacritics(data.text).toUpperCase();
4961
+ var term = stripDiacritics(params.term).toUpperCase();
4962
+
4963
+ // Check if the text contains the term
4964
+ if (original.indexOf(term) > -1) {
4965
+ return data;
4966
+ }
4967
+
4968
+ // If it doesn't contain the term, don't return anything
4969
+ return null;
4970
+ }
4971
+
4972
+ this.defaults = {
4973
+ amdBase: './',
4974
+ amdLanguageBase: './i18n/',
4975
+ closeOnSelect: true,
4976
+ debug: false,
4977
+ dropdownAutoWidth: false,
4978
+ escapeMarkup: Utils.escapeMarkup,
4979
+ language: EnglishTranslation,
4980
+ matcher: matcher,
4981
+ minimumInputLength: 0,
4982
+ maximumInputLength: 0,
4983
+ maximumSelectionLength: 0,
4984
+ minimumResultsForSearch: 0,
4985
+ selectOnClose: false,
4986
+ sorter: function (data) {
4987
+ return data;
4988
+ },
4989
+ templateResult: function (result) {
4990
+ return result.text;
4991
+ },
4992
+ templateSelection: function (selection) {
4993
+ return selection.text;
4994
+ },
4995
+ theme: 'default',
4996
+ width: 'resolve'
4997
+ };
4998
+ };
4999
+
5000
+ Defaults.prototype.set = function (key, value) {
5001
+ var camelKey = $.camelCase(key);
5002
+
5003
+ var data = {};
5004
+ data[camelKey] = value;
5005
+
5006
+ var convertedData = Utils._convertData(data);
5007
+
5008
+ $.extend(this.defaults, convertedData);
5009
+ };
5010
+
5011
+ var defaults = new Defaults();
5012
+
5013
+ return defaults;
5014
+ });
5015
+
5016
+ S2.define('select2/options',[
5017
+ 'require',
5018
+ 'jquery',
5019
+ './defaults',
5020
+ './utils'
5021
+ ], function (require, $, Defaults, Utils) {
5022
+ function Options (options, $element) {
5023
+ this.options = options;
5024
+
5025
+ if ($element != null) {
5026
+ this.fromElement($element);
5027
+ }
5028
+
5029
+ this.options = Defaults.apply(this.options);
5030
+
5031
+ if ($element && $element.is('input')) {
5032
+ var InputCompat = require(this.get('amdBase') + 'compat/inputData');
5033
+
5034
+ this.options.dataAdapter = Utils.Decorate(
5035
+ this.options.dataAdapter,
5036
+ InputCompat
5037
+ );
5038
+ }
5039
+ }
5040
+
5041
+ Options.prototype.fromElement = function ($e) {
5042
+ var excludedData = ['select2'];
5043
+
5044
+ if (this.options.multiple == null) {
5045
+ this.options.multiple = $e.prop('multiple');
5046
+ }
5047
+
5048
+ if (this.options.disabled == null) {
5049
+ this.options.disabled = $e.prop('disabled');
5050
+ }
5051
+
5052
+ if (this.options.language == null) {
5053
+ if ($e.prop('lang')) {
5054
+ this.options.language = $e.prop('lang').toLowerCase();
5055
+ } else if ($e.closest('[lang]').prop('lang')) {
5056
+ this.options.language = $e.closest('[lang]').prop('lang');
5057
+ }
5058
+ }
5059
+
5060
+ if (this.options.dir == null) {
5061
+ if ($e.prop('dir')) {
5062
+ this.options.dir = $e.prop('dir');
5063
+ } else if ($e.closest('[dir]').prop('dir')) {
5064
+ this.options.dir = $e.closest('[dir]').prop('dir');
5065
+ } else {
5066
+ this.options.dir = 'ltr';
5067
+ }
5068
+ }
5069
+
5070
+ $e.prop('disabled', this.options.disabled);
5071
+ $e.prop('multiple', this.options.multiple);
5072
+
5073
+ if ($e.data('select2Tags')) {
5074
+ if (this.options.debug && window.console && console.warn) {
5075
+ console.warn(
5076
+ 'Select2: The `data-select2-tags` attribute has been changed to ' +
5077
+ 'use the `data-data` and `data-tags="true"` attributes and will be ' +
5078
+ 'removed in future versions of Select2.'
5079
+ );
5080
+ }
5081
+
5082
+ $e.data('data', $e.data('select2Tags'));
5083
+ $e.data('tags', true);
5084
+ }
5085
+
5086
+ if ($e.data('ajaxUrl')) {
5087
+ if (this.options.debug && window.console && console.warn) {
5088
+ console.warn(
5089
+ 'Select2: The `data-ajax-url` attribute has been changed to ' +
5090
+ '`data-ajax--url` and support for the old attribute will be removed' +
5091
+ ' in future versions of Select2.'
5092
+ );
5093
+ }
5094
+
5095
+ $e.attr('ajax--url', $e.data('ajaxUrl'));
5096
+ $e.data('ajax--url', $e.data('ajaxUrl'));
5097
+ }
5098
+
5099
+ var dataset = {};
5100
+
5101
+ // Prefer the element's `dataset` attribute if it exists
5102
+ // jQuery 1.x does not correctly handle data attributes with multiple dashes
5103
+ if ($.fn.jquery && $.fn.jquery.substr(0, 2) == '1.' && $e[0].dataset) {
5104
+ dataset = $.extend(true, {}, $e[0].dataset, $e.data());
5105
+ } else {
5106
+ dataset = $e.data();
5107
+ }
5108
+
5109
+ var data = $.extend(true, {}, dataset);
5110
+
5111
+ data = Utils._convertData(data);
5112
+
5113
+ for (var key in data) {
5114
+ if ($.inArray(key, excludedData) > -1) {
5115
+ continue;
5116
+ }
5117
+
5118
+ if ($.isPlainObject(this.options[key])) {
5119
+ $.extend(this.options[key], data[key]);
5120
+ } else {
5121
+ this.options[key] = data[key];
5122
+ }
5123
+ }
5124
+
5125
+ return this;
5126
+ };
5127
+
5128
+ Options.prototype.get = function (key) {
5129
+ return this.options[key];
5130
+ };
5131
+
5132
+ Options.prototype.set = function (key, val) {
5133
+ this.options[key] = val;
5134
+ };
5135
+
5136
+ return Options;
5137
+ });
5138
+
5139
+ S2.define('select2/core',[
5140
+ 'jquery',
5141
+ './options',
5142
+ './utils',
5143
+ './keys'
5144
+ ], function ($, Options, Utils, KEYS) {
5145
+ var Select2 = function ($element, options) {
5146
+ if ($element.data('select2') != null) {
5147
+ $element.data('select2').destroy();
5148
+ }
5149
+
5150
+ this.$element = $element;
5151
+
5152
+ this.id = this._generateId($element);
5153
+
5154
+ options = options || {};
5155
+
5156
+ this.options = new Options(options, $element);
5157
+
5158
+ Select2.__super__.constructor.call(this);
5159
+
5160
+ // Set up the tabindex
5161
+
5162
+ var tabindex = $element.attr('tabindex') || 0;
5163
+ $element.data('old-tabindex', tabindex);
5164
+ $element.attr('tabindex', '-1');
5165
+
5166
+ // Set up containers and adapters
5167
+
5168
+ var DataAdapter = this.options.get('dataAdapter');
5169
+ this.dataAdapter = new DataAdapter($element, this.options);
5170
+
5171
+ var $container = this.render();
5172
+
5173
+ this._placeContainer($container);
5174
+
5175
+ var SelectionAdapter = this.options.get('selectionAdapter');
5176
+ this.selection = new SelectionAdapter($element, this.options);
5177
+ this.$selection = this.selection.render();
5178
+
5179
+ this.selection.position(this.$selection, $container);
5180
+
5181
+ var DropdownAdapter = this.options.get('dropdownAdapter');
5182
+ this.dropdown = new DropdownAdapter($element, this.options);
5183
+ this.$dropdown = this.dropdown.render();
5184
+
5185
+ this.dropdown.position(this.$dropdown, $container);
5186
+
5187
+ var ResultsAdapter = this.options.get('resultsAdapter');
5188
+ this.results = new ResultsAdapter($element, this.options, this.dataAdapter);
5189
+ this.$results = this.results.render();
5190
+
5191
+ this.results.position(this.$results, this.$dropdown);
5192
+
5193
+ // Bind events
5194
+
5195
+ var self = this;
5196
+
5197
+ // Bind the container to all of the adapters
5198
+ this._bindAdapters();
5199
+
5200
+ // Register any DOM event handlers
5201
+ this._registerDomEvents();
5202
+
5203
+ // Register any internal event handlers
5204
+ this._registerDataEvents();
5205
+ this._registerSelectionEvents();
5206
+ this._registerDropdownEvents();
5207
+ this._registerResultsEvents();
5208
+ this._registerEvents();
5209
+
5210
+ // Set the initial state
5211
+ this.dataAdapter.current(function (initialData) {
5212
+ self.trigger('selection:update', {
5213
+ data: initialData
5214
+ });
5215
+ });
5216
+
5217
+ // Hide the original select
5218
+ $element.addClass('select2-hidden-accessible');
5219
+ $element.attr('aria-hidden', 'true');
5220
+
5221
+ // Synchronize any monitored attributes
5222
+ this._syncAttributes();
5223
+
5224
+ $element.data('select2', this);
5225
+ };
5226
+
5227
+ Utils.Extend(Select2, Utils.Observable);
5228
+
5229
+ Select2.prototype._generateId = function ($element) {
5230
+ var id = '';
5231
+
5232
+ if ($element.attr('id') != null) {
5233
+ id = $element.attr('id');
5234
+ } else if ($element.attr('name') != null) {
5235
+ id = $element.attr('name') + '-' + Utils.generateChars(2);
5236
+ } else {
5237
+ id = Utils.generateChars(4);
5238
+ }
5239
+
5240
+ id = id.replace(/(:|\.|\[|\]|,)/g, '');
5241
+ id = 'select2-' + id;
5242
+
5243
+ return id;
5244
+ };
5245
+
5246
+ Select2.prototype._placeContainer = function ($container) {
5247
+ $container.insertAfter(this.$element);
5248
+
5249
+ var width = this._resolveWidth(this.$element, this.options.get('width'));
5250
+
5251
+ if (width != null) {
5252
+ $container.css('width', width);
5253
+ }
5254
+ };
5255
+
5256
+ Select2.prototype._resolveWidth = function ($element, method) {
5257
+ var WIDTH = /^width:(([-+]?([0-9]*\.)?[0-9]+)(px|em|ex|%|in|cm|mm|pt|pc))/i;
5258
+
5259
+ if (method == 'resolve') {
5260
+ var styleWidth = this._resolveWidth($element, 'style');
5261
+
5262
+ if (styleWidth != null) {
5263
+ return styleWidth;
5264
+ }
5265
+
5266
+ return this._resolveWidth($element, 'element');
5267
+ }
5268
+
5269
+ if (method == 'element') {
5270
+ var elementWidth = $element.outerWidth(false);
5271
+
5272
+ if (elementWidth <= 0) {
5273
+ return 'auto';
5274
+ }
5275
+
5276
+ return elementWidth + 'px';
5277
+ }
5278
+
5279
+ if (method == 'style') {
5280
+ var style = $element.attr('style');
5281
+
5282
+ if (typeof(style) !== 'string') {
5283
+ return null;
5284
+ }
5285
+
5286
+ var attrs = style.split(';');
5287
+
5288
+ for (var i = 0, l = attrs.length; i < l; i = i + 1) {
5289
+ var attr = attrs[i].replace(/\s/g, '');
5290
+ var matches = attr.match(WIDTH);
5291
+
5292
+ if (matches !== null && matches.length >= 1) {
5293
+ return matches[1];
5294
+ }
5295
+ }
5296
+
5297
+ return null;
5298
+ }
5299
+
5300
+ return method;
5301
+ };
5302
+
5303
+ Select2.prototype._bindAdapters = function () {
5304
+ this.dataAdapter.bind(this, this.$container);
5305
+ this.selection.bind(this, this.$container);
5306
+
5307
+ this.dropdown.bind(this, this.$container);
5308
+ this.results.bind(this, this.$container);
5309
+ };
5310
+
5311
+ Select2.prototype._registerDomEvents = function () {
5312
+ var self = this;
5313
+
5314
+ this.$element.on('change.select2', function () {
5315
+ self.dataAdapter.current(function (data) {
5316
+ self.trigger('selection:update', {
5317
+ data: data
5318
+ });
5319
+ });
5320
+ });
5321
+
5322
+ this.$element.on('focus.select2', function (evt) {
5323
+ self.trigger('focus', evt);
5324
+ });
5325
+
5326
+ this._syncA = Utils.bind(this._syncAttributes, this);
5327
+ this._syncS = Utils.bind(this._syncSubtree, this);
5328
+
5329
+ if (this.$element[0].attachEvent) {
5330
+ this.$element[0].attachEvent('onpropertychange', this._syncA);
5331
+ }
5332
+
5333
+ var observer = window.MutationObserver ||
5334
+ window.WebKitMutationObserver ||
5335
+ window.MozMutationObserver
5336
+ ;
5337
+
5338
+ if (observer != null) {
5339
+ this._observer = new observer(function (mutations) {
5340
+ $.each(mutations, self._syncA);
5341
+ $.each(mutations, self._syncS);
5342
+ });
5343
+ this._observer.observe(this.$element[0], {
5344
+ attributes: true,
5345
+ childList: true,
5346
+ subtree: false
5347
+ });
5348
+ } else if (this.$element[0].addEventListener) {
5349
+ this.$element[0].addEventListener(
5350
+ 'DOMAttrModified',
5351
+ self._syncA,
5352
+ false
5353
+ );
5354
+ this.$element[0].addEventListener(
5355
+ 'DOMNodeInserted',
5356
+ self._syncS,
5357
+ false
5358
+ );
5359
+ this.$element[0].addEventListener(
5360
+ 'DOMNodeRemoved',
5361
+ self._syncS,
5362
+ false
5363
+ );
5364
+ }
5365
+ };
5366
+
5367
+ Select2.prototype._registerDataEvents = function () {
5368
+ var self = this;
5369
+
5370
+ this.dataAdapter.on('*', function (name, params) {
5371
+ self.trigger(name, params);
5372
+ });
5373
+ };
5374
+
5375
+ Select2.prototype._registerSelectionEvents = function () {
5376
+ var self = this;
5377
+ var nonRelayEvents = ['toggle', 'focus'];
5378
+
5379
+ this.selection.on('toggle', function () {
5380
+ self.toggleDropdown();
5381
+ });
5382
+
5383
+ this.selection.on('focus', function (params) {
5384
+ self.focus(params);
5385
+ });
5386
+
5387
+ this.selection.on('*', function (name, params) {
5388
+ if ($.inArray(name, nonRelayEvents) !== -1) {
5389
+ return;
5390
+ }
5391
+
5392
+ self.trigger(name, params);
5393
+ });
5394
+ };
5395
+
5396
+ Select2.prototype._registerDropdownEvents = function () {
5397
+ var self = this;
5398
+
5399
+ this.dropdown.on('*', function (name, params) {
5400
+ self.trigger(name, params);
5401
+ });
5402
+ };
5403
+
5404
+ Select2.prototype._registerResultsEvents = function () {
5405
+ var self = this;
5406
+
5407
+ this.results.on('*', function (name, params) {
5408
+ self.trigger(name, params);
5409
+ });
5410
+ };
5411
+
5412
+ Select2.prototype._registerEvents = function () {
5413
+ var self = this;
5414
+
5415
+ this.on('open', function () {
5416
+ self.$container.addClass('select2-container--open');
5417
+ });
5418
+
5419
+ this.on('close', function () {
5420
+ self.$container.removeClass('select2-container--open');
5421
+ });
5422
+
5423
+ this.on('enable', function () {
5424
+ self.$container.removeClass('select2-container--disabled');
5425
+ });
5426
+
5427
+ this.on('disable', function () {
5428
+ self.$container.addClass('select2-container--disabled');
5429
+ });
5430
+
5431
+ this.on('blur', function () {
5432
+ self.$container.removeClass('select2-container--focus');
5433
+ });
5434
+
5435
+ this.on('query', function (params) {
5436
+ if (!self.isOpen()) {
5437
+ self.trigger('open', {});
5438
+ }
5439
+
5440
+ this.dataAdapter.query(params, function (data) {
5441
+ self.trigger('results:all', {
5442
+ data: data,
5443
+ query: params
5444
+ });
5445
+ });
5446
+ });
5447
+
5448
+ this.on('query:append', function (params) {
5449
+ this.dataAdapter.query(params, function (data) {
5450
+ self.trigger('results:append', {
5451
+ data: data,
5452
+ query: params
5453
+ });
5454
+ });
5455
+ });
5456
+
5457
+ this.on('open', function(){
5458
+ // Focus on the active element when opening dropdown.
5459
+ // Needs 1 ms delay because of other 1 ms setTimeouts when rendering.
5460
+ setTimeout(function(){
5461
+ self.focusOnActiveElement();
5462
+ }, 1);
5463
+ });
5464
+
5465
+ $(document).on('keydown', function (evt) {
5466
+ var key = evt.which;
5467
+ if (self.isOpen()) {
5468
+ if (key === KEYS.ESC || (key === KEYS.UP && evt.altKey)) {
5469
+ self.close();
5470
+
5471
+ evt.preventDefault();
5472
+ } else if (key === KEYS.ENTER || key === KEYS.TAB) {
5473
+ self.trigger('results:select', {});
5474
+
5475
+ evt.preventDefault();
5476
+ } else if ((key === KEYS.SPACE && evt.ctrlKey)) {
5477
+ self.trigger('results:toggle', {});
5478
+
5479
+ evt.preventDefault();
5480
+ } else if (key === KEYS.UP) {
5481
+ self.trigger('results:previous', {});
5482
+
5483
+ evt.preventDefault();
5484
+ } else if (key === KEYS.DOWN) {
5485
+ self.trigger('results:next', {});
5486
+
5487
+ evt.preventDefault();
5488
+ }
5489
+
5490
+ var $searchField = self.$dropdown.find('.select2-search__field');
5491
+ if (! $searchField.length) {
5492
+ $searchField = self.$container.find('.select2-search__field');
5493
+ }
5494
+
5495
+ // Move the focus to the selected element on keyboard navigation.
5496
+ // Required for screen readers to work properly.
5497
+ if (key === KEYS.DOWN || key === KEYS.UP) {
5498
+ self.focusOnActiveElement();
5499
+ } else {
5500
+ // Focus on the search if user starts typing.
5501
+ $searchField.focus();
5502
+ // Focus back to active selection when finished typing.
5503
+ // Small delay so typed character can be read by screen reader.
5504
+ setTimeout(function(){
5505
+ self.focusOnActiveElement();
5506
+ }, 1000);
5507
+ }
5508
+ } else if (self.hasFocus()) {
5509
+ if (key === KEYS.ENTER || key === KEYS.SPACE ||
5510
+ key === KEYS.DOWN) {
5511
+ self.open();
5512
+ evt.preventDefault();
5513
+ }
5514
+ }
5515
+ });
5516
+ };
5517
+
5518
+ Select2.prototype.focusOnActiveElement = function () {
5519
+ // Don't mess with the focus on touchscreens because it causes havoc with on-screen keyboards.
5520
+ if (this.isOpen() && ! Utils.isTouchscreen()) {
5521
+ this.$results.find('li.select2-results__option--highlighted').focus();
5522
+ }
5523
+ };
5524
+
5525
+ Select2.prototype._syncAttributes = function () {
5526
+ this.options.set('disabled', this.$element.prop('disabled'));
5527
+
5528
+ if (this.options.get('disabled')) {
5529
+ if (this.isOpen()) {
5530
+ this.close();
5531
+ }
5532
+
5533
+ this.trigger('disable', {});
5534
+ } else {
5535
+ this.trigger('enable', {});
5536
+ }
5537
+ };
5538
+
5539
+ Select2.prototype._syncSubtree = function (evt, mutations) {
5540
+ var changed = false;
5541
+ var self = this;
5542
+
5543
+ // Ignore any mutation events raised for elements that aren't options or
5544
+ // optgroups. This handles the case when the select element is destroyed
5545
+ if (
5546
+ evt && evt.target && (
5547
+ evt.target.nodeName !== 'OPTION' && evt.target.nodeName !== 'OPTGROUP'
5548
+ )
5549
+ ) {
5550
+ return;
5551
+ }
5552
+
5553
+ if (!mutations) {
5554
+ // If mutation events aren't supported, then we can only assume that the
5555
+ // change affected the selections
5556
+ changed = true;
5557
+ } else if (mutations.addedNodes && mutations.addedNodes.length > 0) {
5558
+ for (var n = 0; n < mutations.addedNodes.length; n++) {
5559
+ var node = mutations.addedNodes[n];
5560
+
5561
+ if (node.selected) {
5562
+ changed = true;
5563
+ }
5564
+ }
5565
+ } else if (mutations.removedNodes && mutations.removedNodes.length > 0) {
5566
+ changed = true;
5567
+ }
5568
+
5569
+ // Only re-pull the data if we think there is a change
5570
+ if (changed) {
5571
+ this.dataAdapter.current(function (currentData) {
5572
+ self.trigger('selection:update', {
5573
+ data: currentData
5574
+ });
5575
+ });
5576
+ }
5577
+ };
5578
+
5579
+ /**
5580
+ * Override the trigger method to automatically trigger pre-events when
5581
+ * there are events that can be prevented.
5582
+ */
5583
+ Select2.prototype.trigger = function (name, args) {
5584
+ var actualTrigger = Select2.__super__.trigger;
5585
+ var preTriggerMap = {
5586
+ 'open': 'opening',
5587
+ 'close': 'closing',
5588
+ 'select': 'selecting',
5589
+ 'unselect': 'unselecting'
5590
+ };
5591
+
5592
+ if (args === undefined) {
5593
+ args = {};
5594
+ }
5595
+
5596
+ if (name in preTriggerMap) {
5597
+ var preTriggerName = preTriggerMap[name];
5598
+ var preTriggerArgs = {
5599
+ prevented: false,
5600
+ name: name,
5601
+ args: args
5602
+ };
5603
+
5604
+ actualTrigger.call(this, preTriggerName, preTriggerArgs);
5605
+
5606
+ if (preTriggerArgs.prevented) {
5607
+ args.prevented = true;
5608
+
5609
+ return;
5610
+ }
5611
+ }
5612
+
5613
+ actualTrigger.call(this, name, args);
5614
+ };
5615
+
5616
+ Select2.prototype.toggleDropdown = function () {
5617
+ if (this.options.get('disabled')) {
5618
+ return;
5619
+ }
5620
+
5621
+ if (this.isOpen()) {
5622
+ this.close();
5623
+ } else {
5624
+ this.open();
5625
+ }
5626
+ };
5627
+
5628
+ Select2.prototype.open = function () {
5629
+ if (this.isOpen()) {
5630
+ return;
5631
+ }
5632
+
5633
+ this.trigger('query', {});
5634
+ };
5635
+
5636
+ Select2.prototype.close = function () {
5637
+ if (!this.isOpen()) {
5638
+ return;
5639
+ }
5640
+
5641
+ this.trigger('close', {});
5642
+ };
5643
+
5644
+ Select2.prototype.isOpen = function () {
5645
+ return this.$container.hasClass('select2-container--open');
5646
+ };
5647
+
5648
+ Select2.prototype.hasFocus = function () {
5649
+ return this.$container.hasClass('select2-container--focus');
5650
+ };
5651
+
5652
+ Select2.prototype.focus = function (data) {
5653
+ // No need to re-trigger focus events if we are already focused
5654
+ if (this.hasFocus()) {
5655
+ return;
5656
+ }
5657
+
5658
+ this.$container.addClass('select2-container--focus');
5659
+ this.trigger('focus', {});
5660
+ };
5661
+
5662
+ Select2.prototype.enable = function (args) {
5663
+ if (this.options.get('debug') && window.console && console.warn) {
5664
+ console.warn(
5665
+ 'Select2: The `select2("enable")` method has been deprecated and will' +
5666
+ ' be removed in later Select2 versions. Use $element.prop("disabled")' +
5667
+ ' instead.'
5668
+ );
5669
+ }
5670
+
5671
+ if (args == null || args.length === 0) {
5672
+ args = [true];
5673
+ }
5674
+
5675
+ var disabled = !args[0];
5676
+
5677
+ this.$element.prop('disabled', disabled);
5678
+ };
5679
+
5680
+ Select2.prototype.data = function () {
5681
+ if (this.options.get('debug') &&
5682
+ arguments.length > 0 && window.console && console.warn) {
5683
+ console.warn(
5684
+ 'Select2: Data can no longer be set using `select2("data")`. You ' +
5685
+ 'should consider setting the value instead using `$element.val()`.'
5686
+ );
5687
+ }
5688
+
5689
+ var data = [];
5690
+
5691
+ this.dataAdapter.current(function (currentData) {
5692
+ data = currentData;
5693
+ });
5694
+
5695
+ return data;
5696
+ };
5697
+
5698
+ Select2.prototype.val = function (args) {
5699
+ if (this.options.get('debug') && window.console && console.warn) {
5700
+ console.warn(
5701
+ 'Select2: The `select2("val")` method has been deprecated and will be' +
5702
+ ' removed in later Select2 versions. Use $element.val() instead.'
5703
+ );
5704
+ }
5705
+
5706
+ if (args == null || args.length === 0) {
5707
+ return this.$element.val();
5708
+ }
5709
+
5710
+ var newVal = args[0];
5711
+
5712
+ if ($.isArray(newVal)) {
5713
+ newVal = $.map(newVal, function (obj) {
5714
+ return obj.toString();
5715
+ });
5716
+ }
5717
+
5718
+ this.$element.val(newVal).trigger('change');
5719
+ };
5720
+
5721
+ Select2.prototype.destroy = function () {
5722
+ this.$container.remove();
5723
+
5724
+ if (this.$element[0].detachEvent) {
5725
+ this.$element[0].detachEvent('onpropertychange', this._syncA);
5726
+ }
5727
+
5728
+ if (this._observer != null) {
5729
+ this._observer.disconnect();
5730
+ this._observer = null;
5731
+ } else if (this.$element[0].removeEventListener) {
5732
+ this.$element[0]
5733
+ .removeEventListener('DOMAttrModified', this._syncA, false);
5734
+ this.$element[0]
5735
+ .removeEventListener('DOMNodeInserted', this._syncS, false);
5736
+ this.$element[0]
5737
+ .removeEventListener('DOMNodeRemoved', this._syncS, false);
5738
+ }
5739
+
5740
+ this._syncA = null;
5741
+ this._syncS = null;
5742
+
5743
+ this.$element.off('.select2');
5744
+ this.$element.attr('tabindex', this.$element.data('old-tabindex'));
5745
+
5746
+ this.$element.removeClass('select2-hidden-accessible');
5747
+ this.$element.attr('aria-hidden', 'false');
5748
+ this.$element.removeData('select2');
5749
+
5750
+ this.dataAdapter.destroy();
5751
+ this.selection.destroy();
5752
+ this.dropdown.destroy();
5753
+ this.results.destroy();
5754
+
5755
+ this.dataAdapter = null;
5756
+ this.selection = null;
5757
+ this.dropdown = null;
5758
+ this.results = null;
5759
+ };
5760
+
5761
+ Select2.prototype.render = function () {
5762
+ var $container = $(
5763
+ '<span class="select2 select2-container">' +
5764
+ '<span class="selection"></span>' +
5765
+ '<span class="dropdown-wrapper" aria-hidden="true"></span>' +
5766
+ '</span>'
5767
+ );
5768
+
5769
+ $container.attr('dir', this.options.get('dir'));
5770
+
5771
+ this.$container = $container;
5772
+
5773
+ this.$container.addClass('select2-container--' + this.options.get('theme'));
5774
+
5775
+ $container.data('element', this.$element);
5776
+
5777
+ return $container;
5778
+ };
5779
+
5780
+ return Select2;
5781
+ });
5782
+
5783
+ S2.define('jquery-mousewheel',[
5784
+ 'jquery'
5785
+ ], function ($) {
5786
+ // Used to shim jQuery.mousewheel for non-full builds.
5787
+ return $;
5788
+ });
5789
+
5790
+ S2.define('jquery.select2',[
5791
+ 'jquery',
5792
+ 'jquery-mousewheel',
5793
+
5794
+ './select2/core',
5795
+ './select2/defaults'
5796
+ ], function ($, _, Select2, Defaults) {
5797
+ if ($.fn.selectWoo == null) {
5798
+ // All methods that should return the element
5799
+ var thisMethods = ['open', 'close', 'destroy'];
5800
+
5801
+ $.fn.selectWoo = function (options) {
5802
+ options = options || {};
5803
+
5804
+ if (typeof options === 'object') {
5805
+ this.each(function () {
5806
+ var instanceOptions = $.extend(true, {}, options);
5807
+
5808
+ var instance = new Select2($(this), instanceOptions);
5809
+ });
5810
+
5811
+ return this;
5812
+ } else if (typeof options === 'string') {
5813
+ var ret;
5814
+ var args = Array.prototype.slice.call(arguments, 1);
5815
+
5816
+ this.each(function () {
5817
+ var instance = $(this).data('select2');
5818
+
5819
+ if (instance == null && window.console && console.error) {
5820
+ console.error(
5821
+ 'The select2(\'' + options + '\') method was called on an ' +
5822
+ 'element that is not using Select2.'
5823
+ );
5824
+ }
5825
+
5826
+ ret = instance[options].apply(instance, args);
5827
+ });
5828
+
5829
+ // Check if we should be returning `this`
5830
+ if ($.inArray(options, thisMethods) > -1) {
5831
+ return this;
5832
+ }
5833
+
5834
+ return ret;
5835
+ } else {
5836
+ throw new Error('Invalid arguments for Select2: ' + options);
5837
+ }
5838
+ };
5839
+ }
5840
+
5841
+ if ($.fn.select2 != null && $.fn.select2.defaults != null) {
5842
+ $.fn.selectWoo.defaults = $.fn.select2.defaults;
5843
+ }
5844
+
5845
+ if ($.fn.selectWoo.defaults == null) {
5846
+ $.fn.selectWoo.defaults = Defaults;
5847
+ }
5848
+
5849
+ // Also register selectWoo under select2 if select2 is not already present.
5850
+ $.fn.select2 = $.fn.select2 || $.fn.selectWoo;
5851
+
5852
+ return Select2;
5853
+ });
5854
+
5855
+ // Return the AMD loader configuration so it can be used outside of this file
5856
+ return {
5857
+ define: S2.define,
5858
+ require: S2.require
5859
+ };
5860
+ }());
5861
+
5862
+ // Autoload the jQuery bindings
5863
+ // We know that all of the modules exist above this, so we're safe
5864
+ var select2 = S2.require('jquery.select2');
5865
+
5866
+ // Hold the AMD module references on the jQuery function that was just loaded
5867
+ // This allows Select2 to use the internal loader outside of this file, such
5868
+ // as in the language files.
5869
+ jQuery.fn.select2.amd = S2;
5870
+ jQuery.fn.selectWoo.amd = S2;
5871
+
5872
+ // Return the Select2 instance for anyone who is importing it.
5873
+ return select2;
5874
+ }));
assets/js/selectWoo/selectWoo.min.js ADDED
@@ -0,0 +1 @@
 
1
+ /*! Select2 1.0.1 | https://github.com/select2/select2/blob/master/LICENSE.md */!function(a){"function"==typeof define&&define.amd?define(["jquery"],a):"object"==typeof module&&module.exports?module.exports=function(b,c){return void 0===c&&(c="undefined"!=typeof window?require("jquery"):require("jquery")(b)),a(c),c}:a(jQuery)}(function(a){var b=function(){if(a&&a.fn&&a.fn.select2&&a.fn.select2.amd)var b=a.fn.select2.amd;var b;return function(){if(!b||!b.requirejs){b?c=b:b={};var a,c,d;!function(b){function e(a,b){return v.call(a,b)}function f(a,b){var c,d,e,f,g,h,i,j,k,l,m,n,o=b&&b.split("/"),p=t.map,q=p&&p["*"]||{};if(a){for(a=a.split("/"),g=a.length-1,t.nodeIdCompat&&x.test(a[g])&&(a[g]=a[g].replace(x,"")),"."===a[0].charAt(0)&&o&&(n=o.slice(0,o.length-1),a=n.concat(a)),k=0;k<a.length;k++)if("."===(m=a[k]))a.splice(k,1),k-=1;else if(".."===m){if(0===k||1===k&&".."===a[2]||".."===a[k-1])continue;k>0&&(a.splice(k-1,2),k-=2)}a=a.join("/")}if((o||q)&&p){for(c=a.split("/"),k=c.length;k>0;k-=1){if(d=c.slice(0,k).join("/"),o)for(l=o.length;l>0;l-=1)if((e=p[o.slice(0,l).join("/")])&&(e=e[d])){f=e,h=k;break}if(f)break;!i&&q&&q[d]&&(i=q[d],j=k)}!f&&i&&(f=i,h=j),f&&(c.splice(0,h,f),a=c.join("/"))}return a}function g(a,c){return function(){var d=w.call(arguments,0);return"string"!=typeof d[0]&&1===d.length&&d.push(null),o.apply(b,d.concat([a,c]))}}function h(a){return function(b){return f(b,a)}}function i(a){return function(b){r[a]=b}}function j(a){if(e(s,a)){var c=s[a];delete s[a],u[a]=!0,n.apply(b,c)}if(!e(r,a)&&!e(u,a))throw new Error("No "+a);return r[a]}function k(a){var b,c=a?a.indexOf("!"):-1;return c>-1&&(b=a.substring(0,c),a=a.substring(c+1,a.length)),[b,a]}function l(a){return a?k(a):[]}function m(a){return function(){return t&&t.config&&t.config[a]||{}}}var n,o,p,q,r={},s={},t={},u={},v=Object.prototype.hasOwnProperty,w=[].slice,x=/\.js$/;p=function(a,b){var c,d=k(a),e=d[0],g=b[1];return a=d[1],e&&(e=f(e,g),c=j(e)),e?a=c&&c.normalize?c.normalize(a,h(g)):f(a,g):(a=f(a,g),d=k(a),e=d[0],a=d[1],e&&(c=j(e))),{f:e?e+"!"+a:a,n:a,pr:e,p:c}},q={require:function(a){return g(a)},exports:function(a){var b=r[a];return void 0!==b?b:r[a]={}},module:function(a){return{id:a,uri:"",exports:r[a],config:m(a)}}},n=function(a,c,d,f){var h,k,m,n,o,t,v,w=[],x=typeof d;if(f=f||a,t=l(f),"undefined"===x||"function"===x){for(c=!c.length&&d.length?["require","exports","module"]:c,o=0;o<c.length;o+=1)if(n=p(c[o],t),"require"===(k=n.f))w[o]=q.require(a);else if("exports"===k)w[o]=q.exports(a),v=!0;else if("module"===k)h=w[o]=q.module(a);else if(e(r,k)||e(s,k)||e(u,k))w[o]=j(k);else{if(!n.p)throw new Error(a+" missing "+k);n.p.load(n.n,g(f,!0),i(k),{}),w[o]=r[k]}m=d?d.apply(r[a],w):void 0,a&&(h&&h.exports!==b&&h.exports!==r[a]?r[a]=h.exports:m===b&&v||(r[a]=m))}else a&&(r[a]=d)},a=c=o=function(a,c,d,e,f){if("string"==typeof a)return q[a]?q[a](c):j(p(a,l(c)).f);if(!a.splice){if(t=a,t.deps&&o(t.deps,t.callback),!c)return;c.splice?(a=c,c=d,d=null):a=b}return c=c||function(){},"function"==typeof d&&(d=e,e=f),e?n(b,a,c,d):setTimeout(function(){n(b,a,c,d)},4),o},o.config=function(a){return o(a)},a._defined=r,d=function(a,b,c){if("string"!=typeof a)throw new Error("See almond README: incorrect module build, no module name");b.splice||(c=b,b=[]),e(r,a)||e(s,a)||(s[a]=[a,b,c])},d.amd={jQuery:!0}}(),b.requirejs=a,b.require=c,b.define=d}}(),b.define("almond",function(){}),b.define("jquery",[],function(){var b=a||$;return null==b&&console&&console.error&&console.error("Select2: An instance of jQuery or a jQuery-compatible library was not found. Make sure that you are including jQuery before Select2 on your web page."),b}),b.define("select2/utils",["jquery"],function(a){function b(a){var b=a.prototype,c=[];for(var d in b){"function"==typeof b[d]&&("constructor"!==d&&c.push(d))}return c}var c={};c.Extend=function(a,b){function c(){this.constructor=a}var d={}.hasOwnProperty;for(var e in b)d.call(b,e)&&(a[e]=b[e]);return c.prototype=b.prototype,a.prototype=new c,a.__super__=b.prototype,a},c.Decorate=function(a,c){function d(){var b=Array.prototype.unshift,d=c.prototype.constructor.length,e=a.prototype.constructor;d>0&&(b.call(arguments,a.prototype.constructor),e=c.prototype.constructor),e.apply(this,arguments)}function e(){this.constructor=d}var f=b(c),g=b(a);c.displayName=a.displayName,d.prototype=new e;for(var h=0;h<g.length;h++){var i=g[h];d.prototype[i]=a.prototype[i]}for(var j=(function(a){var b=function(){};a in d.prototype&&(b=d.prototype[a]);var e=c.prototype[a];return function(){return Array.prototype.unshift.call(arguments,b),e.apply(this,arguments)}}),k=0;k<f.length;k++){var l=f[k];d.prototype[l]=j(l)}return d};var d=function(){this.listeners={}};return d.prototype.on=function(a,b){this.listeners=this.listeners||{},a in this.listeners?this.listeners[a].push(b):this.listeners[a]=[b]},d.prototype.trigger=function(a){var b=Array.prototype.slice,c=b.call(arguments,1);this.listeners=this.listeners||{},null==c&&(c=[]),0===c.length&&c.push({}),c[0]._type=a,a in this.listeners&&this.invoke(this.listeners[a],b.call(arguments,1)),"*"in this.listeners&&this.invoke(this.listeners["*"],arguments)},d.prototype.invoke=function(a,b){for(var c=0,d=a.length;c<d;c++)a[c].apply(this,b)},c.Observable=d,c.generateChars=function(a){for(var b="",c=0;c<a;c++){b+=Math.floor(36*Math.random()).toString(36)}return b},c.bind=function(a,b){return function(){a.apply(b,arguments)}},c._convertData=function(a){for(var b in a){var c=b.split("-"),d=a;if(1!==c.length){for(var e=0;e<c.length;e++){var f=c[e];f=f.substring(0,1).toLowerCase()+f.substring(1),f in d||(d[f]={}),e==c.length-1&&(d[f]=a[b]),d=d[f]}delete a[b]}}return a},c.hasScroll=function(b,c){var d=a(c),e=c.style.overflowX,f=c.style.overflowY;return(e!==f||"hidden"!==f&&"visible"!==f)&&("scroll"===e||"scroll"===f||(d.innerHeight()<c.scrollHeight||d.innerWidth()<c.scrollWidth))},c.escapeMarkup=function(a){var b={"\\":"&#92;","&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#39;","/":"&#47;"};return"string"!=typeof a?a:String(a).replace(/[&<>"'\/\\]/g,function(a){return b[a]})},c.appendMany=function(b,c){if("1.7"===a.fn.jquery.substr(0,3)){var d=a();a.map(c,function(a){d=d.add(a)}),c=d}b.append(c)},c.isTouchscreen=function(){return void 0===c._isTouchscreenCache&&(c._isTouchscreenCache="ontouchstart"in document.documentElement),c._isTouchscreenCache},c}),b.define("select2/results",["jquery","./utils"],function(a,b){function c(a,b,d){this.$element=a,this.data=d,this.options=b,c.__super__.constructor.call(this)}return b.Extend(c,b.Observable),c.prototype.render=function(){var b=a('<ul class="select2-results__options" role="listbox" tabindex="-1"></ul>');return this.options.get("multiple")&&b.attr("aria-multiselectable","true"),this.$results=b,b},c.prototype.clear=function(){this.$results.empty()},c.prototype.displayMessage=function(b){var c=this.options.get("escapeMarkup");this.clear(),this.hideLoading();var d=a('<li role="alert" aria-live="assertive" class="select2-results__option"></li>'),e=this.options.get("translations").get(b.message);d.append(c(e(b.args))),d[0].className+=" select2-results__message",this.$results.append(d)},c.prototype.hideMessages=function(){this.$results.find(".select2-results__message").remove()},c.prototype.append=function(a){this.hideLoading();var b=[];if(null==a.results||0===a.results.length)return void(0===this.$results.children().length&&this.trigger("results:message",{message:"noResults"}));a.results=this.sort(a.results);for(var c=0;c<a.results.length;c++){var d=a.results[c],e=this.option(d);b.push(e)}this.$results.append(b)},c.prototype.position=function(a,b){b.find(".select2-results").append(a)},c.prototype.sort=function(a){return this.options.get("sorter")(a)},c.prototype.highlightFirstItem=function(){var a=this.$results.find(".select2-results__option[data-selected]"),b=a.filter("[data-selected=true]");b.length>0?b.first().trigger("mouseenter"):a.first().trigger("mouseenter"),this.ensureHighlightVisible()},c.prototype.setClasses=function(){var b=this;this.data.current(function(c){var d=a.map(c,function(a){return a.id.toString()});b.$results.find(".select2-results__option[data-selected]").each(function(){var b=a(this),c=a.data(this,"data"),e=""+c.id;null!=c.element&&c.element.selected||null==c.element&&a.inArray(e,d)>-1?b.attr("data-selected","true"):b.attr("data-selected","false")})})},c.prototype.showLoading=function(a){this.hideLoading();var b=this.options.get("translations").get("searching"),c={disabled:!0,loading:!0,text:b(a)},d=this.option(c);d.className+=" loading-results",this.$results.prepend(d)},c.prototype.hideLoading=function(){this.$results.find(".loading-results").remove()},c.prototype.option=function(b){var c=document.createElement("li");c.className="select2-results__option";var d={role:"option","data-selected":"false",tabindex:-1};b.disabled&&(delete d["data-selected"],d["aria-disabled"]="true"),null==b.id&&delete d["data-selected"],null!=b._resultId&&(c.id=b._resultId),b.title&&(c.title=b.title),b.children&&(d["aria-label"]=b.text,delete d["data-selected"]);for(var e in d){var f=d[e];c.setAttribute(e,f)}if(b.children){var g=a(c),h=document.createElement("strong");h.className="select2-results__group";var i=a(h);this.template(b,h),i.attr("role","presentation");for(var j=[],k=0;k<b.children.length;k++){var l=b.children[k],m=this.option(l);j.push(m)}var n=a("<ul></ul>",{class:"select2-results__options select2-results__options--nested",role:"listbox"});n.append(j),g.attr("role","list"),g.append(h),g.append(n)}else this.template(b,c);return a.data(c,"data",b),c},c.prototype.bind=function(b,c){var d=this,e=b.id+"-results";this.$results.attr("id",e),b.on("results:all",function(a){d.clear(),d.append(a.data),b.isOpen()&&(d.setClasses(),d.highlightFirstItem())}),b.on("results:append",function(a){d.append(a.data),b.isOpen()&&d.setClasses()}),b.on("query",function(a){d.hideMessages(),d.showLoading(a)}),b.on("select",function(){b.isOpen()&&(d.setClasses(),d.highlightFirstItem())}),b.on("unselect",function(){b.isOpen()&&(d.setClasses(),d.highlightFirstItem())}),b.on("open",function(){d.$results.attr("aria-expanded","true"),d.$results.attr("aria-hidden","false"),d.setClasses(),d.ensureHighlightVisible()}),b.on("close",function(){d.$results.attr("aria-expanded","false"),d.$results.attr("aria-hidden","true"),d.$results.removeAttr("aria-activedescendant")}),b.on("results:toggle",function(){var a=d.getHighlightedResults();0!==a.length&&a.trigger("mouseup")}),b.on("results:select",function(){var a=d.getHighlightedResults();if(0!==a.length){var b=a.data("data");"true"==a.attr("data-selected")?d.trigger("close",{}):d.trigger("select",{data:b})}}),b.on("results:previous",function(){var a=d.getHighlightedResults(),b=d.$results.find("[data-selected]"),c=b.index(a);if(0!==c){var e=c-1;0===a.length&&(e=0);var f=b.eq(e);f.trigger("mouseenter");var g=d.$results.offset().top,h=f.offset().top,i=d.$results.scrollTop()+(h-g);0===e?d.$results.scrollTop(0):h-g<0&&d.$results.scrollTop(i)}}),b.on("results:next",function(){var a=d.getHighlightedResults(),b=d.$results.find("[data-selected]"),c=b.index(a),e=c+1;if(!(e>=b.length)){var f=b.eq(e);f.trigger("mouseenter");var g=d.$results.offset().top+d.$results.outerHeight(!1),h=f.offset().top+f.outerHeight(!1),i=d.$results.scrollTop()+h-g;0===e?d.$results.scrollTop(0):h>g&&d.$results.scrollTop(i)}}),b.on("results:focus",function(a){a.element.addClass("select2-results__option--highlighted").attr("aria-selected","true"),d.$results.attr("aria-activedescendant",a.element.attr("id"))}),b.on("results:message",function(a){d.displayMessage(a)}),a.fn.mousewheel&&this.$results.on("mousewheel",function(a){var b=d.$results.scrollTop(),c=d.$results.get(0).scrollHeight-b+a.deltaY,e=a.deltaY>0&&b-a.deltaY<=0,f=a.deltaY<0&&c<=d.$results.height();e?(d.$results.scrollTop(0),a.preventDefault(),a.stopPropagation()):f&&(d.$results.scrollTop(d.$results.get(0).scrollHeight-d.$results.height()),a.preventDefault(),a.stopPropagation())}),this.$results.on("mouseup",".select2-results__option[data-selected]",function(b){var c=a(this),e=c.data("data");if("true"===c.attr("data-selected"))return void(d.options.get("multiple")?d.trigger("unselect",{originalEvent:b,data:e}):d.trigger("close",{}));d.trigger("select",{originalEvent:b,data:e})}),this.$results.on("mouseenter",".select2-results__option[data-selected]",function(b){var c=a(this).data("data");d.getHighlightedResults().removeClass("select2-results__option--highlighted").attr("aria-selected","false"),d.trigger("results:focus",{data:c,element:a(this)})})},c.prototype.getHighlightedResults=function(){return this.$results.find(".select2-results__option--highlighted")},c.prototype.destroy=function(){this.$results.remove()},c.prototype.ensureHighlightVisible=function(){var a=this.getHighlightedResults();if(0!==a.length){var b=this.$results.find("[data-selected]"),c=b.index(a),d=this.$results.offset().top,e=a.offset().top,f=this.$results.scrollTop()+(e-d),g=e-d;f-=2*a.outerHeight(!1),c<=2?this.$results.scrollTop(0):(g>this.$results.outerHeight()||g<0)&&this.$results.scrollTop(f)}},c.prototype.template=function(b,c){var d=this.options.get("templateResult"),e=this.options.get("escapeMarkup"),f=d(b,c);null==f?c.style.display="none":"string"==typeof f?c.innerHTML=e(f):a(c).append(f)},c}),b.define("select2/keys",[],function(){return{BACKSPACE:8,TAB:9,ENTER:13,SHIFT:16,CTRL:17,ALT:18,ESC:27,SPACE:32,PAGE_UP:33,PAGE_DOWN:34,END:35,HOME:36,LEFT:37,UP:38,RIGHT:39,DOWN:40,DELETE:46}}),b.define("select2/selection/base",["jquery","../utils","../keys"],function(a,b,c){function d(a,b){this.$element=a,this.options=b,d.__super__.constructor.call(this)}return b.Extend(d,b.Observable),d.prototype.render=function(){var b=a('<span class="select2-selection" aria-haspopup="true" aria-expanded="false"></span>');return this._tabindex=0,null!=this.$element.data("old-tabindex")?this._tabindex=this.$element.data("old-tabindex"):null!=this.$element.attr("tabindex")&&(this._tabindex=this.$element.attr("tabindex")),b.attr("title",this.$element.attr("title")),b.attr("tabindex",this._tabindex),this.$selection=b,b},d.prototype.bind=function(a,b){var d=this,e=(a.id,a.id+"-results");this.options.get("minimumResultsForSearch");this.container=a,this.$selection.on("focus",function(a){d.trigger("focus",a)}),this.$selection.on("blur",function(a){d._handleBlur(a)}),this.$selection.on("keydown",function(a){d.trigger("keypress",a),a.which===c.SPACE&&a.preventDefault()}),a.on("results:focus",function(a){d.$selection.attr("aria-activedescendant",a.data._resultId)}),a.on("selection:update",function(a){d.update(a.data)}),a.on("open",function(){d.$selection.attr("aria-expanded","true"),d.$selection.attr("aria-owns",e),d._attachCloseHandler(a)}),a.on("close",function(){d.$selection.attr("aria-expanded","false"),d.$selection.removeAttr("aria-activedescendant"),d.$selection.removeAttr("aria-owns"),window.setTimeout(function(){d.$selection.focus()},1),d._detachCloseHandler(a)}),a.on("enable",function(){d.$selection.attr("tabindex",d._tabindex)}),a.on("disable",function(){d.$selection.attr("tabindex","-1")})},d.prototype._handleBlur=function(b){var c=this;window.setTimeout(function(){document.activeElement==c.$selection[0]||a.contains(c.$selection[0],document.activeElement)||c.trigger("blur",b)},1)},d.prototype._attachCloseHandler=function(b){a(document.body).on("mousedown.select2."+b.id,function(b){var c=a(b.target),d=c.closest(".select2");a(".select2.select2-container--open").each(function(){var b=a(this);this!=d[0]&&(b.data("element").select2("close"),setTimeout(function(){b.find("*:focus").blur(),c.focus()},1))})})},d.prototype._detachCloseHandler=function(b){a(document.body).off("mousedown.select2."+b.id)},d.prototype.position=function(a,b){b.find(".selection").append(a)},d.prototype.destroy=function(){this._detachCloseHandler(this.container)},d.prototype.update=function(a){throw new Error("The `update` method must be defined in child classes.")},d}),b.define("select2/selection/single",["jquery","./base","../utils","../keys"],function(a,b,c,d){function e(){e.__super__.constructor.apply(this,arguments)}return c.Extend(e,b),e.prototype.render=function(){var a=e.__super__.render.call(this);return a.addClass("select2-selection--single"),a.html('<span class="select2-selection__rendered"></span><span class="select2-selection__arrow" role="presentation"><b role="presentation"></b></span>'),a},e.prototype.bind=function(a,b){var c=this;e.__super__.bind.apply(this,arguments);var d=a.id+"-container";this.$selection.find(".select2-selection__rendered").attr("id",d).attr("role","textbox").attr("aria-readonly","true"),this.$selection.attr("aria-labelledby",d),this.$selection.attr("role","combobox"),this.$selection.on("mousedown",function(a){1===a.which&&c.trigger("toggle",{originalEvent:a})}),this.$selection.on("focus",function(a){}),this.$selection.on("keydown",function(b){!a.isOpen()&&b.which>=48&&b.which<=90&&a.open()}),this.$selection.on("blur",function(a){}),a.on("focus",function(b){a.isOpen()||c.$selection.focus()}),a.on("selection:update",function(a){c.update(a.data)})},e.prototype.clear=function(){this.$selection.find(".select2-selection__rendered").empty()},e.prototype.display=function(a,b){var c=this.options.get("templateSelection");return this.options.get("escapeMarkup")(c(a,b))},e.prototype.selectionContainer=function(){return a("<span></span>")},e.prototype.update=function(a){if(0===a.length)return void this.clear();var b=a[0],c=this.$selection.find(".select2-selection__rendered"),d=this.display(b,c);c.empty().append(d),c.prop("title",b.title||b.text)},e}),b.define("select2/selection/multiple",["jquery","./base","../utils"],function(a,b,c){function d(a,b){d.__super__.constructor.apply(this,arguments)}return c.Extend(d,b),d.prototype.render=function(){var a=d.__super__.render.call(this);return a.addClass("select2-selection--multiple"),a.html('<ul class="select2-selection__rendered" aria-live="polite" aria-relevant="additions removals" aria-atomic="true"></ul>'),a},d.prototype.bind=function(b,c){var e=this;d.__super__.bind.apply(this,arguments),this.$selection.on("click",function(a){e.trigger("toggle",{originalEvent:a})}),this.$selection.on("click",".select2-selection__choice__remove",function(b){if(!e.options.get("disabled")){var c=a(this),d=c.parent(),f=d.data("data");e.trigger("unselect",{originalEvent:b,data:f})}}),this.$selection.on("keydown",function(a){!b.isOpen()&&a.which>=48&&a.which<=90&&b.open()}),b.on("focus",function(){e.focusOnSearch()})},d.prototype.clear=function(){this.$selection.find(".select2-selection__rendered").empty()},d.prototype.display=function(a,b){var c=this.options.get("templateSelection");return this.options.get("escapeMarkup")(c(a,b))},d.prototype.selectionContainer=function(){return a('<li class="select2-selection__choice"><span class="select2-selection__choice__remove" role="presentation" aria-hidden="true">&times;</span></li>')},d.prototype.focusOnSearch=function(){var a=this;void 0!==a.$search&&setTimeout(function(){a._keyUpPrevented=!0,a.$search.focus()},1)},d.prototype.update=function(a){if(this.clear(),0!==a.length){for(var b=[],d=0;d<a.length;d++){var e=a[d],f=this.selectionContainer(),g=this.display(e,f);"string"==typeof g&&(g=g.trim()),f.append(g),f.prop("title",e.title||e.text),f.data("data",e),b.push(f)}var h=this.$selection.find(".select2-selection__rendered");c.appendMany(h,b)}},d}),b.define("select2/selection/placeholder",["../utils"],function(a){function b(a,b,c){this.placeholder=this.normalizePlaceholder(c.get("placeholder")),a.call(this,b,c)}return b.prototype.normalizePlaceholder=function(a,b){return"string"==typeof b&&(b={id:"",text:b}),b},b.prototype.createPlaceholder=function(a,b){var c=this.selectionContainer();return c.html(this.display(b)),c.addClass("select2-selection__placeholder").removeClass("select2-selection__choice"),c},b.prototype.update=function(a,b){var c=1==b.length&&b[0].id!=this.placeholder.id;if(b.length>1||c)return a.call(this,b);this.clear();var d=this.createPlaceholder(this.placeholder);this.$selection.find(".select2-selection__rendered").append(d)},b}),b.define("select2/selection/allowClear",["jquery","../keys"],function(a,b){function c(){}return c.prototype.bind=function(a,b,c){var d=this;a.call(this,b,c),null==this.placeholder&&this.options.get("debug")&&window.console&&console.error&&console.error("Select2: The `allowClear` option should be used in combination with the `placeholder` option."),this.$selection.on("mousedown",".select2-selection__clear",function(a){d._handleClear(a)}),b.on("keypress",function(a){d._handleKeyboardClear(a,b)})},c.prototype._handleClear=function(a,b){if(!this.options.get("disabled")){var c=this.$selection.find(".select2-selection__clear");if(0!==c.length){b.stopPropagation();for(var d=c.data("data"),e=0;e<d.length;e++){var f={data:d[e]};if(this.trigger("unselect",f),f.prevented)return}this.$element.val(this.placeholder.id).trigger("change"),this.trigger("toggle",{})}}},c.prototype._handleKeyboardClear=function(a,c,d){d.isOpen()||c.which!=b.DELETE&&c.which!=b.BACKSPACE||this._handleClear(c)},c.prototype.update=function(b,c){if(b.call(this,c),!(this.$selection.find(".select2-selection__placeholder").length>0||0===c.length)){var d=a('<span class="select2-selection__clear">&times;</span>');d.data("data",c),this.$selection.find(".select2-selection__rendered").prepend(d)}},c}),b.define("select2/selection/search",["jquery","../utils","../keys"],function(a,b,c){function d(a,b,c){a.call(this,b,c)}return d.prototype.render=function(b){var c=a('<li class="select2-search select2-search--inline"><input class="select2-search__field" type="text" tabindex="-1" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false" role="textbox" aria-autocomplete="list" /></li>');this.$searchContainer=c,this.$search=c.find("input");var d=b.call(this);return this._transferTabIndex(),d},d.prototype.bind=function(a,b,d){var e=this,f=b.id+"-results";a.call(this,b,d),b.on("open",function(){e.$search.attr("aria-owns",f),e.$search.trigger("focus")}),b.on("close",function(){e.$search.val(""),e.$search.removeAttr("aria-activedescendant"),e.$search.removeAttr("aria-owns"),e.$search.trigger("focus")}),b.on("enable",function(){e.$search.prop("disabled",!1),e._transferTabIndex()}),b.on("disable",function(){e.$search.prop("disabled",!0)}),b.on("focus",function(a){e.$search.trigger("focus")}),b.on("results:focus",function(a){e.$search.attr("aria-activedescendant",a.data._resultId)}),this.$selection.on("focusin",".select2-search--inline",function(a){e.trigger("focus",a)}),this.$selection.on("focusout",".select2-search--inline",function(a){e._handleBlur(a)}),this.$selection.on("keydown",".select2-search--inline",function(a){if(a.stopPropagation(),e.trigger("keypress",a),e._keyUpPrevented=a.isDefaultPrevented(),a.which===c.BACKSPACE&&""===e.$search.val()){var d=e.$searchContainer.prev(".select2-selection__choice");if(d.length>0){var f=d.data("data");e.searchRemoveChoice(f),a.preventDefault()}}else a.which===c.ENTER&&(b.open(),a.preventDefault())});var g=document.documentMode,h=g&&g<=11;this.$selection.on("input.searchcheck",".select2-search--inline",function(a){if(h)return void e.$selection.off("input.search input.searchcheck");e.$selection.off("keyup.search")}),this.$selection.on("keyup.search input.search",".select2-search--inline",function(a){if(h&&"input"===a.type)return void e.$selection.off("input.search input.searchcheck");var b=a.which;b!=c.SHIFT&&b!=c.CTRL&&b!=c.ALT&&b!=c.TAB&&e.handleSearch(a)})},d.prototype._transferTabIndex=function(a){this.$search.attr("tabindex",this.$selection.attr("tabindex")),this.$selection.attr("tabindex","-1")},d.prototype.createPlaceholder=function(a,b){this.$search.attr("placeholder",b.text)},d.prototype.update=function(a,b){var c=this.$search[0]==document.activeElement;this.$search.attr("placeholder",""),a.call(this,b),this.$selection.find(".select2-selection__rendered").append(this.$searchContainer),this.resizeSearch(),c&&this.$search.focus()},d.prototype.handleSearch=function(){if(this.resizeSearch(),!this._keyUpPrevented){var a=this.$search.val();this.trigger("query",{term:a})}this._keyUpPrevented=!1},d.prototype.searchRemoveChoice=function(a,b){this.trigger("unselect",{data:b}),this.$search.val(b.text),this.handleSearch()},d.prototype.resizeSearch=function(){this.$search.css("width","25px");var a="";if(""!==this.$search.attr("placeholder"))a=this.$selection.find(".select2-selection__rendered").innerWidth();else{a=.75*(this.$search.val().length+1)+"em"}this.$search.css("width",a)},d}),b.define("select2/selection/eventRelay",["jquery"],function(a){function b(){}return b.prototype.bind=function(b,c,d){var e=this,f=["open","opening","close","closing","select","selecting","unselect","unselecting"],g=["opening","closing","selecting","unselecting"];b.call(this,c,d),c.on("*",function(b,c){if(-1!==a.inArray(b,f)){c=c||{};var d=a.Event("select2:"+b,{params:c});e.$element.trigger(d),-1!==a.inArray(b,g)&&(c.prevented=d.isDefaultPrevented())}})},b}),b.define("select2/translation",["jquery","require"],function(a,b){function c(a){this.dict=a||{}}return c.prototype.all=function(){return this.dict},c.prototype.get=function(a){return this.dict[a]},c.prototype.extend=function(b){this.dict=a.extend({},b.all(),this.dict)},c._cache={},c.loadPath=function(a){if(!(a in c._cache)){var d=b(a);c._cache[a]=d}return new c(c._cache[a])},c}),b.define("select2/diacritics",[],function(){return{"Ⓐ":"A","A":"A","À":"A","Á":"A","Â":"A","Ầ":"A","Ấ":"A","Ẫ":"A","Ẩ":"A","Ã":"A","Ā":"A","Ă":"A","Ằ":"A","Ắ":"A","Ẵ":"A","Ẳ":"A","Ȧ":"A","Ǡ":"A","Ä":"A","Ǟ":"A","Ả":"A","Å":"A","Ǻ":"A","Ǎ":"A","Ȁ":"A","Ȃ":"A","Ạ":"A","Ậ":"A","Ặ":"A","Ḁ":"A","Ą":"A","Ⱥ":"A","Ɐ":"A","Ꜳ":"AA","Æ":"AE","Ǽ":"AE","Ǣ":"AE","Ꜵ":"AO","Ꜷ":"AU","Ꜹ":"AV","Ꜻ":"AV","Ꜽ":"AY","Ⓑ":"B","B":"B","Ḃ":"B","Ḅ":"B","Ḇ":"B","Ƀ":"B","Ƃ":"B","Ɓ":"B","Ⓒ":"C","C":"C","Ć":"C","Ĉ":"C","Ċ":"C","Č":"C","Ç":"C","Ḉ":"C","Ƈ":"C","Ȼ":"C","Ꜿ":"C","Ⓓ":"D","D":"D","Ḋ":"D","Ď":"D","Ḍ":"D","Ḑ":"D","Ḓ":"D","Ḏ":"D","Đ":"D","Ƌ":"D","Ɗ":"D","Ɖ":"D","Ꝺ":"D","DZ":"DZ","DŽ":"DZ","Dz":"Dz","Dž":"Dz","Ⓔ":"E","E":"E","È":"E","É":"E","Ê":"E","Ề":"E","Ế":"E","Ễ":"E","Ể":"E","Ẽ":"E","Ē":"E","Ḕ":"E","Ḗ":"E","Ĕ":"E","Ė":"E","Ë":"E","Ẻ":"E","Ě":"E","Ȅ":"E","Ȇ":"E","Ẹ":"E","Ệ":"E","Ȩ":"E","Ḝ":"E","Ę":"E","Ḙ":"E","Ḛ":"E","Ɛ":"E","Ǝ":"E","Ⓕ":"F","F":"F","Ḟ":"F","Ƒ":"F","Ꝼ":"F","Ⓖ":"G","G":"G","Ǵ":"G","Ĝ":"G","Ḡ":"G","Ğ":"G","Ġ":"G","Ǧ":"G","Ģ":"G","Ǥ":"G","Ɠ":"G","Ꞡ":"G","Ᵹ":"G","Ꝿ":"G","Ⓗ":"H","H":"H","Ĥ":"H","Ḣ":"H","Ḧ":"H","Ȟ":"H","Ḥ":"H","Ḩ":"H","Ḫ":"H","Ħ":"H","Ⱨ":"H","Ⱶ":"H","Ɥ":"H","Ⓘ":"I","I":"I","Ì":"I","Í":"I","Î":"I","Ĩ":"I","Ī":"I","Ĭ":"I","İ":"I","Ï":"I","Ḯ":"I","Ỉ":"I","Ǐ":"I","Ȉ":"I","Ȋ":"I","Ị":"I","Į":"I","Ḭ":"I","Ɨ":"I","Ⓙ":"J","J":"J","Ĵ":"J","Ɉ":"J","Ⓚ":"K","K":"K","Ḱ":"K","Ǩ":"K","Ḳ":"K","Ķ":"K","Ḵ":"K","Ƙ":"K","Ⱪ":"K","Ꝁ":"K","Ꝃ":"K","Ꝅ":"K","Ꞣ":"K","Ⓛ":"L","L":"L","Ŀ":"L","Ĺ":"L","Ľ":"L","Ḷ":"L","Ḹ":"L","Ļ":"L","Ḽ":"L","Ḻ":"L","Ł":"L","Ƚ":"L","Ɫ":"L","Ⱡ":"L","Ꝉ":"L","Ꝇ":"L","Ꞁ":"L","LJ":"LJ","Lj":"Lj","Ⓜ":"M","M":"M","Ḿ":"M","Ṁ":"M","Ṃ":"M","Ɱ":"M","Ɯ":"M","Ⓝ":"N","N":"N","Ǹ":"N","Ń":"N","Ñ":"N","Ṅ":"N","Ň":"N","Ṇ":"N","Ņ":"N","Ṋ":"N","Ṉ":"N","Ƞ":"N","Ɲ":"N","Ꞑ":"N","Ꞥ":"N","NJ":"NJ","Nj":"Nj","Ⓞ":"O","O":"O","Ò":"O","Ó":"O","Ô":"O","Ồ":"O","Ố":"O","Ỗ":"O","Ổ":"O","Õ":"O","Ṍ":"O","Ȭ":"O","Ṏ":"O","Ō":"O","Ṑ":"O","Ṓ":"O","Ŏ":"O","Ȯ":"O","Ȱ":"O","Ö":"O","Ȫ":"O","Ỏ":"O","Ő":"O","Ǒ":"O","Ȍ":"O","Ȏ":"O","Ơ":"O","Ờ":"O","Ớ":"O","Ỡ":"O","Ở":"O","Ợ":"O","Ọ":"O","Ộ":"O","Ǫ":"O","Ǭ":"O","Ø":"O","Ǿ":"O","Ɔ":"O","Ɵ":"O","Ꝋ":"O","Ꝍ":"O","Ƣ":"OI","Ꝏ":"OO","Ȣ":"OU","Ⓟ":"P","P":"P","Ṕ":"P","Ṗ":"P","Ƥ":"P","Ᵽ":"P","Ꝑ":"P","Ꝓ":"P","Ꝕ":"P","Ⓠ":"Q","Q":"Q","Ꝗ":"Q","Ꝙ":"Q","Ɋ":"Q","Ⓡ":"R","R":"R","Ŕ":"R","Ṙ":"R","Ř":"R","Ȑ":"R","Ȓ":"R","Ṛ":"R","Ṝ":"R","Ŗ":"R","Ṟ":"R","Ɍ":"R","Ɽ":"R","Ꝛ":"R","Ꞧ":"R","Ꞃ":"R","Ⓢ":"S","S":"S","ẞ":"S","Ś":"S","Ṥ":"S","Ŝ":"S","Ṡ":"S","Š":"S","Ṧ":"S","Ṣ":"S","Ṩ":"S","Ș":"S","Ş":"S","Ȿ":"S","Ꞩ":"S","Ꞅ":"S","Ⓣ":"T","T":"T","Ṫ":"T","Ť":"T","Ṭ":"T","Ț":"T","Ţ":"T","Ṱ":"T","Ṯ":"T","Ŧ":"T","Ƭ":"T","Ʈ":"T","Ⱦ":"T","Ꞇ":"T","Ꜩ":"TZ","Ⓤ":"U","U":"U","Ù":"U","Ú":"U","Û":"U","Ũ":"U","Ṹ":"U","Ū":"U","Ṻ":"U","Ŭ":"U","Ü":"U","Ǜ":"U","Ǘ":"U","Ǖ":"U","Ǚ":"U","Ủ":"U","Ů":"U","Ű":"U","Ǔ":"U","Ȕ":"U","Ȗ":"U","Ư":"U","Ừ":"U","Ứ":"U","Ữ":"U","Ử":"U","Ự":"U","Ụ":"U","Ṳ":"U","Ų":"U","Ṷ":"U","Ṵ":"U","Ʉ":"U","Ⓥ":"V","V":"V","Ṽ":"V","Ṿ":"V","Ʋ":"V","Ꝟ":"V","Ʌ":"V","Ꝡ":"VY","Ⓦ":"W","W":"W","Ẁ":"W","Ẃ":"W","Ŵ":"W","Ẇ":"W","Ẅ":"W","Ẉ":"W","Ⱳ":"W","Ⓧ":"X","X":"X","Ẋ":"X","Ẍ":"X","Ⓨ":"Y","Y":"Y","Ỳ":"Y","Ý":"Y","Ŷ":"Y","Ỹ":"Y","Ȳ":"Y","Ẏ":"Y","Ÿ":"Y","Ỷ":"Y","Ỵ":"Y","Ƴ":"Y","Ɏ":"Y","Ỿ":"Y","Ⓩ":"Z","Z":"Z","Ź":"Z","Ẑ":"Z","Ż":"Z","Ž":"Z","Ẓ":"Z","Ẕ":"Z","Ƶ":"Z","Ȥ":"Z","Ɀ":"Z","Ⱬ":"Z","Ꝣ":"Z","ⓐ":"a","a":"a","ẚ":"a","à":"a","á":"a","â":"a","ầ":"a","ấ":"a","ẫ":"a","ẩ":"a","ã":"a","ā":"a","ă":"a","ằ":"a","ắ":"a","ẵ":"a","ẳ":"a","ȧ":"a","ǡ":"a","ä":"a","ǟ":"a","ả":"a","å":"a","ǻ":"a","ǎ":"a","ȁ":"a","ȃ":"a","ạ":"a","ậ":"a","ặ":"a","ḁ":"a","ą":"a","ⱥ":"a","ɐ":"a","ꜳ":"aa","æ":"ae","ǽ":"ae","ǣ":"ae","ꜵ":"ao","ꜷ":"au","ꜹ":"av","ꜻ":"av","ꜽ":"ay","ⓑ":"b","b":"b","ḃ":"b","ḅ":"b","ḇ":"b","ƀ":"b","ƃ":"b","ɓ":"b","ⓒ":"c","c":"c","ć":"c","ĉ":"c","ċ":"c","č":"c","ç":"c","ḉ":"c","ƈ":"c","ȼ":"c","ꜿ":"c","ↄ":"c","ⓓ":"d","d":"d","ḋ":"d","ď":"d","ḍ":"d","ḑ":"d","ḓ":"d","ḏ":"d","đ":"d","ƌ":"d","ɖ":"d","ɗ":"d","ꝺ":"d","dz":"dz","dž":"dz","ⓔ":"e","e":"e","è":"e","é":"e","ê":"e","ề":"e","ế":"e","ễ":"e","ể":"e","ẽ":"e","ē":"e","ḕ":"e","ḗ":"e","ĕ":"e","ė":"e","ë":"e","ẻ":"e","ě":"e","ȅ":"e","ȇ":"e","ẹ":"e","ệ":"e","ȩ":"e","ḝ":"e","ę":"e","ḙ":"e","ḛ":"e","ɇ":"e","ɛ":"e","ǝ":"e","ⓕ":"f","f":"f","ḟ":"f","ƒ":"f","ꝼ":"f","ⓖ":"g","g":"g","ǵ":"g","ĝ":"g","ḡ":"g","ğ":"g","ġ":"g","ǧ":"g","ģ":"g","ǥ":"g","ɠ":"g","ꞡ":"g","ᵹ":"g","ꝿ":"g","ⓗ":"h","h":"h","ĥ":"h","ḣ":"h","ḧ":"h","ȟ":"h","ḥ":"h","ḩ":"h","ḫ":"h","ẖ":"h","ħ":"h","ⱨ":"h","ⱶ":"h","ɥ":"h","ƕ":"hv","ⓘ":"i","i":"i","ì":"i","í":"i","î":"i","ĩ":"i","ī":"i","ĭ":"i","ï":"i","ḯ":"i","ỉ":"i","ǐ":"i","ȉ":"i","ȋ":"i","ị":"i","į":"i","ḭ":"i","ɨ":"i","ı":"i","ⓙ":"j","j":"j","ĵ":"j","ǰ":"j","ɉ":"j","ⓚ":"k","k":"k","ḱ":"k","ǩ":"k","ḳ":"k","ķ":"k","ḵ":"k","ƙ":"k","ⱪ":"k","ꝁ":"k","ꝃ":"k","ꝅ":"k","ꞣ":"k","ⓛ":"l","l":"l","ŀ":"l","ĺ":"l","ľ":"l","ḷ":"l","ḹ":"l","ļ":"l","ḽ":"l","ḻ":"l","ſ":"l","ł":"l","ƚ":"l","ɫ":"l","ⱡ":"l","ꝉ":"l","ꞁ":"l","ꝇ":"l","lj":"lj","ⓜ":"m","m":"m","ḿ":"m","ṁ":"m","ṃ":"m","ɱ":"m","ɯ":"m","ⓝ":"n","n":"n","ǹ":"n","ń":"n","ñ":"n","ṅ":"n","ň":"n","ṇ":"n","ņ":"n","ṋ":"n","ṉ":"n","ƞ":"n","ɲ":"n","ʼn":"n","ꞑ":"n","ꞥ":"n","nj":"nj","ⓞ":"o","o":"o","ò":"o","ó":"o","ô":"o","ồ":"o","ố":"o","ỗ":"o","ổ":"o","õ":"o","ṍ":"o","ȭ":"o","ṏ":"o","ō":"o","ṑ":"o","ṓ":"o","ŏ":"o","ȯ":"o","ȱ":"o","ö":"o","ȫ":"o","ỏ":"o","ő":"o","ǒ":"o","ȍ":"o","ȏ":"o","ơ":"o","ờ":"o","ớ":"o","ỡ":"o","ở":"o","ợ":"o","ọ":"o","ộ":"o","ǫ":"o","ǭ":"o","ø":"o","ǿ":"o","ɔ":"o","ꝋ":"o","ꝍ":"o","ɵ":"o","ƣ":"oi","ȣ":"ou","ꝏ":"oo","ⓟ":"p","p":"p","ṕ":"p","ṗ":"p","ƥ":"p","ᵽ":"p","ꝑ":"p","ꝓ":"p","ꝕ":"p","ⓠ":"q","q":"q","ɋ":"q","ꝗ":"q","ꝙ":"q","ⓡ":"r","r":"r","ŕ":"r","ṙ":"r","ř":"r","ȑ":"r","ȓ":"r","ṛ":"r","ṝ":"r","ŗ":"r","ṟ":"r","ɍ":"r","ɽ":"r","ꝛ":"r","ꞧ":"r","ꞃ":"r","ⓢ":"s","s":"s","ß":"s","ś":"s","ṥ":"s","ŝ":"s","ṡ":"s","š":"s","ṧ":"s","ṣ":"s","ṩ":"s","ș":"s","ş":"s","ȿ":"s","ꞩ":"s","ꞅ":"s","ẛ":"s","ⓣ":"t","t":"t","ṫ":"t","ẗ":"t","ť":"t","ṭ":"t","ț":"t","ţ":"t","ṱ":"t","ṯ":"t","ŧ":"t","ƭ":"t","ʈ":"t","ⱦ":"t","ꞇ":"t","ꜩ":"tz","ⓤ":"u","u":"u","ù":"u","ú":"u","û":"u","ũ":"u","ṹ":"u","ū":"u","ṻ":"u","ŭ":"u","ü":"u","ǜ":"u","ǘ":"u","ǖ":"u","ǚ":"u","ủ":"u","ů":"u","ű":"u","ǔ":"u","ȕ":"u","ȗ":"u","ư":"u","ừ":"u","ứ":"u","ữ":"u","ử":"u","ự":"u","ụ":"u","ṳ":"u","ų":"u","ṷ":"u","ṵ":"u","ʉ":"u","ⓥ":"v","v":"v","ṽ":"v","ṿ":"v","ʋ":"v","ꝟ":"v","ʌ":"v","ꝡ":"vy","ⓦ":"w","w":"w","ẁ":"w","ẃ":"w","ŵ":"w","ẇ":"w","ẅ":"w","ẘ":"w","ẉ":"w","ⱳ":"w","ⓧ":"x","x":"x","ẋ":"x","ẍ":"x","ⓨ":"y","y":"y","ỳ":"y","ý":"y","ŷ":"y","ỹ":"y","ȳ":"y","ẏ":"y","ÿ":"y","ỷ":"y","ẙ":"y","ỵ":"y","ƴ":"y","ɏ":"y","ỿ":"y","ⓩ":"z","z":"z","ź":"z","ẑ":"z","ż":"z","ž":"z","ẓ":"z","ẕ":"z","ƶ":"z","ȥ":"z","ɀ":"z","ⱬ":"z","ꝣ":"z","Ά":"Α","Έ":"Ε","Ή":"Η","Ί":"Ι","Ϊ":"Ι","Ό":"Ο","Ύ":"Υ","Ϋ":"Υ","Ώ":"Ω","ά":"α","έ":"ε","ή":"η","ί":"ι","ϊ":"ι","ΐ":"ι","ό":"ο","ύ":"υ","ϋ":"υ","ΰ":"υ","ω":"ω","ς":"σ"}}),b.define("select2/data/base",["../utils"],function(a){function b(a,c){b.__super__.constructor.call(this)}return a.Extend(b,a.Observable),b.prototype.current=function(a){throw new Error("The `current` method must be defined in child classes.")},b.prototype.query=function(a,b){throw new Error("The `query` method must be defined in child classes.")},b.prototype.bind=function(a,b){},b.prototype.destroy=function(){},b.prototype.generateResultId=function(b,c){var d="";return d+=null!=b?b.id:a.generateChars(4),d+="-result-",d+=a.generateChars(4),null!=c.id?d+="-"+c.id.toString():d+="-"+a.generateChars(4),d},b}),b.define("select2/data/select",["./base","../utils","jquery"],function(a,b,c){function d(a,b){this.$element=a,this.options=b,d.__super__.constructor.call(this)}return b.Extend(d,a),d.prototype.current=function(a){var b=[],d=this;this.$element.find(":selected").each(function(){var a=c(this),e=d.item(a);b.push(e)}),a(b)},d.prototype.select=function(a){var b=this;if(a.selected=!0,c(a.element).is("option"))return a.element.selected=!0,void this.$element.trigger("change");if(this.$element.prop("multiple"))this.current(function(d){var e=[];a=[a],a.push.apply(a,d);for(var f=0;f<a.length;f++){var g=a[f].id;-1===c.inArray(g,e)&&e.push(g)}b.$element.val(e),b.$element.trigger("change")});else{var d=a.id;this.$element.val(d),this.$element.trigger("change")}},d.prototype.unselect=function(a){var b=this;if(this.$element.prop("multiple")){if(a.selected=!1,c(a.element).is("option"))return a.element.selected=!1,void this.$element.trigger("change");this.current(function(d){for(var e=[],f=0;f<d.length;f++){var g=d[f].id;g!==a.id&&-1===c.inArray(g,e)&&e.push(g)}b.$element.val(e),b.$element.trigger("change")})}},d.prototype.bind=function(a,b){var c=this;this.container=a,a.on("select",function(a){c.select(a.data)}),a.on("unselect",function(a){c.unselect(a.data)})},d.prototype.destroy=function(){this.$element.find("*").each(function(){c.removeData(this,"data")})},d.prototype.query=function(a,b){var d=[],e=this;this.$element.children().each(function(){var b=c(this);if(b.is("option")||b.is("optgroup")){var f=e.item(b),g=e.matches(a,f);null!==g&&d.push(g)}}),b({results:d})},d.prototype.addOptions=function(a){b.appendMany(this.$element,a)},d.prototype.option=function(a){var b;a.children?(b=document.createElement("optgroup"),b.label=a.text):(b=document.createElement("option"),void 0!==b.textContent?b.textContent=a.text:b.innerText=a.text),void 0!==a.id&&(b.value=a.id),a.disabled&&(b.disabled=!0),a.selected&&(b.selected=!0),a.title&&(b.title=a.title);var d=c(b),e=this._normalizeItem(a);return e.element=b,c.data(b,"data",e),d},d.prototype.item=function(a){var b={};if(null!=(b=c.data(a[0],"data")))return b;if(a.is("option"))b={id:a.val(),text:a.text(),disabled:a.prop("disabled"),selected:a.prop("selected"),title:a.prop("title")};else if(a.is("optgroup")){b={text:a.prop("label"),children:[],title:a.prop("title")};for(var d=a.children("option"),e=[],f=0;f<d.length;f++){var g=c(d[f]),h=this.item(g);e.push(h)}b.children=e}return b=this._normalizeItem(b),b.element=a[0],c.data(a[0],"data",b),b},d.prototype._normalizeItem=function(a){c.isPlainObject(a)||(a={id:a,text:a}),a=c.extend({},{text:""},a);var b={selected:!1,disabled:!1};return null!=a.id&&(a.id=a.id.toString()),null!=a.text&&(a.text=a.text.toString()),null==a._resultId&&a.id&&(a._resultId=this.generateResultId(this.container,a)),c.extend({},b,a)},d.prototype.matches=function(a,b){return this.options.get("matcher")(a,b)},d}),b.define("select2/data/array",["./select","../utils","jquery"],function(a,b,c){function d(a,b){var c=b.get("data")||[];d.__super__.constructor.call(this,a,b),this.addOptions(this.convertToOptions(c))}return b.Extend(d,a),d.prototype.select=function(a){var b=this.$element.find("option").filter(function(b,c){return c.value==a.id.toString()});0===b.length&&(b=this.option(a),this.addOptions(b)),d.__super__.select.call(this,a)},d.prototype.convertToOptions=function(a){function d(a){return function(){return c(this).val()==a.id}}for(var e=this,f=this.$element.find("option"),g=f.map(function(){return e.item(c(this)).id}).get(),h=[],i=0;i<a.length;i++){var j=this._normalizeItem(a[i]);if(c.inArray(j.id,g)>=0){var k=f.filter(d(j)),l=this.item(k),m=c.extend(!0,{},j,l),n=this.option(m);k.replaceWith(n)}else{var o=this.option(j);if(j.children){var p=this.convertToOptions(j.children);b.appendMany(o,p)}h.push(o)}}return h},d}),b.define("select2/data/ajax",["./array","../utils","jquery"],function(a,b,c){function d(a,b){this.ajaxOptions=this._applyDefaults(b.get("ajax")),null!=this.ajaxOptions.processResults&&(this.processResults=this.ajaxOptions.processResults),d.__super__.constructor.call(this,a,b)}return b.Extend(d,a),d.prototype._applyDefaults=function(a){var b={data:function(a){return c.extend({},a,{q:a.term})},transport:function(a,b,d){var e=c.ajax(a);return e.then(b),e.fail(d),e}};return c.extend({},b,a,!0)},d.prototype.processResults=function(a){return a},d.prototype.query=function(a,b){function d(){var d=f.transport(f,function(d){var f=e.processResults(d,a);e.options.get("debug")&&window.console&&console.error&&(f&&f.results&&c.isArray(f.results)||console.error("Select2: The AJAX results did not return an array in the `results` key of the response.")),b(f),e.container.focusOnActiveElement()},function(){d.status&&"0"===d.status||e.trigger("results:message",{message:"errorLoading"})});e._request=d}var e=this;null!=this._request&&(c.isFunction(this._request.abort)&&this._request.abort(),this._request=null);var f=c.extend({type:"GET"},this.ajaxOptions);"function"==typeof f.url&&(f.url=f.url.call(this.$element,a)),"function"==typeof f.data&&(f.data=f.data.call(this.$element,a)),this.ajaxOptions.delay&&null!=a.term?(this._queryTimeout&&window.clearTimeout(this._queryTimeout),this._queryTimeout=window.setTimeout(d,this.ajaxOptions.delay)):d()},d}),b.define("select2/data/tags",["jquery"],function(a){function b(b,c,d){var e=d.get("tags"),f=d.get("createTag");void 0!==f&&(this.createTag=f);var g=d.get("insertTag");if(void 0!==g&&(this.insertTag=g),b.call(this,c,d),a.isArray(e))for(var h=0;h<e.length;h++){var i=e[h],j=this._normalizeItem(i),k=this.option(j);this.$element.append(k)}}return b.prototype.query=function(a,b,c){function d(a,f){for(var g=a.results,h=0;h<g.length;h++){var i=g[h],j=null!=i.children&&!d({results:i.children},!0);if((i.text||"").toUpperCase()===(b.term||"").toUpperCase()||j)return!f&&(a.data=g,void c(a))}if(f)return!0;var k=e.createTag(b);if(null!=k){var l=e.option(k);l.attr("data-select2-tag",!0),e.addOptions([l]),e.insertTag(g,k)}a.results=g,c(a)}var e=this;if(this._removeOldTags(),null==b.term||null!=b.page)return void a.call(this,b,c);a.call(this,b,d)},b.prototype.createTag=function(b,c){var d=a.trim(c.term);return""===d?null:{id:d,text:d}},b.prototype.insertTag=function(a,b,c){b.unshift(c)},b.prototype._removeOldTags=function(b){this._lastTag;this.$element.find("option[data-select2-tag]").each(function(){this.selected||a(this).remove()})},b}),b.define("select2/data/tokenizer",["jquery"],function(a){function b(a,b,c){var d=c.get("tokenizer");void 0!==d&&(this.tokenizer=d),a.call(this,b,c)}return b.prototype.bind=function(a,b,c){a.call(this,b,c),this.$search=b.dropdown.$search||b.selection.$search||c.find(".select2-search__field")},b.prototype.query=function(b,c,d){function e(b){var c=g._normalizeItem(b);if(!g.$element.find("option").filter(function(){return a(this).val()===c.id}).length){var d=g.option(c);d.attr("data-select2-tag",!0),g._removeOldTags(),g.addOptions([d])}f(c)}function f(a){g.trigger("select",{data:a})}var g=this;c.term=c.term||"";var h=this.tokenizer(c,this.options,e);h.term!==c.term&&(this.$search.length&&(this.$search.val(h.term),this.$search.focus()),c.term=h.term),b.call(this,c,d)},b.prototype.tokenizer=function(b,c,d,e){for(var f=d.get("tokenSeparators")||[],g=c.term,h=0,i=this.createTag||function(a){return{id:a.term,text:a.term}};h<g.length;){var j=g[h];if(-1!==a.inArray(j,f)){var k=g.substr(0,h),l=a.extend({},c,{term:k}),m=i(l);null!=m?(e(m),g=g.substr(h+1)||"",h=0):h++}else h++}return{term:g}},b}),b.define("select2/data/minimumInputLength",[],function(){function a(a,b,c){this.minimumInputLength=c.get("minimumInputLength"),a.call(this,b,c)}return a.prototype.query=function(a,b,c){if(b.term=b.term||"",b.term.length<this.minimumInputLength)return void this.trigger("results:message",{message:"inputTooShort",args:{minimum:this.minimumInputLength,input:b.term,params:b}});a.call(this,b,c)},a}),b.define("select2/data/maximumInputLength",[],function(){function a(a,b,c){this.maximumInputLength=c.get("maximumInputLength"),a.call(this,b,c)}return a.prototype.query=function(a,b,c){if(b.term=b.term||"",this.maximumInputLength>0&&b.term.length>this.maximumInputLength)return void this.trigger("results:message",{message:"inputTooLong",args:{maximum:this.maximumInputLength,input:b.term,params:b}});a.call(this,b,c)},a}),b.define("select2/data/maximumSelectionLength",[],function(){function a(a,b,c){this.maximumSelectionLength=c.get("maximumSelectionLength"),a.call(this,b,c)}return a.prototype.query=function(a,b,c){var d=this;this.current(function(e){var f=null!=e?e.length:0;if(d.maximumSelectionLength>0&&f>=d.maximumSelectionLength)return void d.trigger("results:message",{message:"maximumSelected",args:{maximum:d.maximumSelectionLength}});a.call(d,b,c)})},a}),b.define("select2/dropdown",["jquery","./utils"],function(a,b){function c(a,b){this.$element=a,this.options=b,c.__super__.constructor.call(this)}return b.Extend(c,b.Observable),c.prototype.render=function(){var b=a('<span class="select2-dropdown"><span class="select2-results"></span></span>');return b.attr("dir",this.options.get("dir")),this.$dropdown=b,b},c.prototype.bind=function(){},c.prototype.position=function(a,b){},c.prototype.destroy=function(){this.$dropdown.remove()},c}),b.define("select2/dropdown/search",["jquery","../utils"],function(a,b){function c(){}return c.prototype.render=function(b){var c=b.call(this),d=a('<span class="select2-search select2-search--dropdown"><input class="select2-search__field" type="text" tabindex="-1" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false" role="combobox" aria-autocomplete="list" aria-expanded="true" /></span>');return this.$searchContainer=d,this.$search=d.find("input"),c.prepend(d),c},c.prototype.bind=function(b,c,d){var e=this,f=c.id+"-results";b.call(this,c,d),this.$search.on("keydown",function(a){e.trigger("keypress",a),e._keyUpPrevented=a.isDefaultPrevented()}),this.$search.on("input",function(b){a(this).off("keyup")}),this.$search.on("keyup input",function(a){e.handleSearch(a)}),c.on("open",function(){e.$search.attr("tabindex",0),e.$search.attr("aria-owns",f),e.$search.focus(),window.setTimeout(function(){e.$search.focus()},0)}),c.on("close",function(){e.$search.attr("tabindex",-1),e.$search.removeAttr("aria-activedescendant"),e.$search.removeAttr("aria-owns"),e.$search.val("")}),c.on("focus",function(){c.isOpen()&&e.$search.focus()}),c.on("results:all",function(a){if(null==a.query.term||""===a.query.term){e.showSearch(a)?e.$searchContainer.removeClass("select2-search--hide"):e.$searchContainer.addClass("select2-search--hide")}}),c.on("results:focus",function(a){e.$search.attr("aria-activedescendant",a.data._resultId)})},c.prototype.handleSearch=function(a){if(!this._keyUpPrevented){var b=this.$search.val();this.trigger("query",{term:b})}this._keyUpPrevented=!1},c.prototype.showSearch=function(a,b){return!0},c}),b.define("select2/dropdown/hidePlaceholder",[],function(){function a(a,b,c,d){this.placeholder=this.normalizePlaceholder(c.get("placeholder")),a.call(this,b,c,d)}return a.prototype.append=function(a,b){b.results=this.removePlaceholder(b.results),a.call(this,b)},a.prototype.normalizePlaceholder=function(a,b){return"string"==typeof b&&(b={id:"",text:b}),b},a.prototype.removePlaceholder=function(a,b){for(var c=b.slice(0),d=b.length-1;d>=0;d--){var e=b[d];this.placeholder.id===e.id&&c.splice(d,1)}return c},a}),b.define("select2/dropdown/infiniteScroll",["jquery"],function(a){function b(a,b,c,d){this.lastParams={},a.call(this,b,c,d),this.$loadingMore=this.createLoadingMore(),this.loading=!1}return b.prototype.append=function(a,b){this.$loadingMore.remove(),this.loading=!1,a.call(this,b),this.showLoadingMore(b)&&this.$results.append(this.$loadingMore)},b.prototype.bind=function(b,c,d){var e=this;b.call(this,c,d),c.on("query",function(a){e.lastParams=a,e.loading=!0}),c.on("query:append",function(a){e.lastParams=a,e.loading=!0}),this.$results.on("scroll",function(){var b=a.contains(document.documentElement,e.$loadingMore[0]);if(!e.loading&&b){e.$results.offset().top+e.$results.outerHeight(!1)+50>=e.$loadingMore.offset().top+e.$loadingMore.outerHeight(!1)&&e.loadMore()}})},b.prototype.loadMore=function(){this.loading=!0;var b=a.extend({},{page:1},this.lastParams);b.page++,this.trigger("query:append",b)},b.prototype.showLoadingMore=function(a,b){return b.pagination&&b.pagination.more},b.prototype.createLoadingMore=function(){var b=a('<li class="select2-results__option select2-results__option--load-more"role="option" aria-disabled="true"></li>'),c=this.options.get("translations").get("loadingMore");return b.html(c(this.lastParams)),b},b}),b.define("select2/dropdown/attachBody",["jquery","../utils"],function(a,b){function c(b,c,d){this.$dropdownParent=d.get("dropdownParent")||a(document.body),b.call(this,c,d)}return c.prototype.bind=function(a,b,c){var d=this,e=!1;a.call(this,b,c),b.on("open",function(){d._showDropdown(),d._attachPositioningHandler(b),e||(e=!0,b.on("results:all",function(){d._positionDropdown(),d._resizeDropdown()}),b.on("results:append",function(){d._positionDropdown(),d._resizeDropdown()}))}),b.on("close",function(){d._hideDropdown(),d._detachPositioningHandler(b)}),this.$dropdownContainer.on("mousedown",function(a){a.stopPropagation()})},c.prototype.destroy=function(a){a.call(this),this.$dropdownContainer.remove()},c.prototype.position=function(a,b,c){b.attr("class",c.attr("class")),b.removeClass("select2"),b.addClass("select2-container--open"),b.css({position:"absolute",top:-999999}),this.$container=c},c.prototype.render=function(b){var c=a("<span></span>"),d=b.call(this);return c.append(d),this.$dropdownContainer=c,c},c.prototype._hideDropdown=function(a){this.$dropdownContainer.detach()},c.prototype._attachPositioningHandler=function(c,d){var e=this,f="scroll.select2."+d.id,g="resize.select2."+d.id,h="orientationchange.select2."+d.id,i=this.$container.parents().filter(b.hasScroll);i.each(function(){a(this).data("select2-scroll-position",{x:a(this).scrollLeft(),y:a(this).scrollTop()})}),i.on(f,function(b){var c=a(this).data("select2-scroll-position");a(this).scrollTop(c.y)}),a(window).on(f+" "+g+" "+h,function(a){e._positionDropdown(),e._resizeDropdown()})},c.prototype._detachPositioningHandler=function(c,d){var e="scroll.select2."+d.id,f="resize.select2."+d.id,g="orientationchange.select2."+d.id;this.$container.parents().filter(b.hasScroll).off(e),a(window).off(e+" "+f+" "+g)},c.prototype._positionDropdown=function(){var b=a(window),c=this.$dropdown.hasClass("select2-dropdown--above"),d=this.$dropdown.hasClass("select2-dropdown--below"),e=null,f=this.$container.offset();f.bottom=f.top+this.$container.outerHeight(!1);var g={height:this.$container.outerHeight(!1)};g.top=f.top,g.bottom=f.top+g.height;var h={height:this.$dropdown.outerHeight(!1)},i={top:b.scrollTop(),bottom:b.scrollTop()+b.height()},j=i.top<f.top-h.height,k=i.bottom>f.bottom+h.height,l={left:f.left,top:g.bottom},m=this.$dropdownParent;"static"===m.css("position")&&(m=m.offsetParent());var n=m.offset();l.top-=n.top,l.left-=n.left,c||d||(e="below"),k||!j||c?!j&&k&&c&&(e="below"):e="above",("above"==e||c&&"below"!==e)&&(l.top=g.top-n.top-h.height),null!=e&&(this.$dropdown.removeClass("select2-dropdown--below select2-dropdown--above").addClass("select2-dropdown--"+e),this.$container.removeClass("select2-container--below select2-container--above").addClass("select2-container--"+e)),this.$dropdownContainer.css(l)},c.prototype._resizeDropdown=function(){var a={width:this.$container.outerWidth(!1)+"px"};this.options.get("dropdownAutoWidth")&&(a.minWidth=a.width,a.position="relative",a.width="auto"),this.$dropdown.css(a)},c.prototype._showDropdown=function(a){this.$dropdownContainer.appendTo(this.$dropdownParent),this._positionDropdown(),this._resizeDropdown()},c}),b.define("select2/dropdown/minimumResultsForSearch",[],function(){function a(b){for(var c=0,d=0;d<b.length;d++){var e=b[d];e.children?c+=a(e.children):c++}return c}function b(a,b,c,d){this.minimumResultsForSearch=c.get("minimumResultsForSearch"),this.minimumResultsForSearch<0&&(this.minimumResultsForSearch=1/0),a.call(this,b,c,d)}return b.prototype.showSearch=function(b,c){return!(a(c.data.results)<this.minimumResultsForSearch)&&b.call(this,c)},b}),b.define("select2/dropdown/selectOnClose",[],function(){function a(){}return a.prototype.bind=function(a,b,c){var d=this;a.call(this,b,c),b.on("close",function(a){d._handleSelectOnClose(a)})},a.prototype._handleSelectOnClose=function(a,b){if(b&&null!=b.originalSelect2Event){var c=b.originalSelect2Event;if("select"===c._type||"unselect"===c._type)return}var d=this.getHighlightedResults();if(!(d.length<1)){var e=d.data("data");null!=e.element&&e.element.selected||null==e.element&&e.selected||this.trigger("select",{data:e})}},a}),b.define("select2/dropdown/closeOnSelect",[],function(){function a(){}return a.prototype.bind=function(a,b,c){var d=this;a.call(this,b,c),b.on("select",function(a){d._selectTriggered(a)}),b.on("unselect",function(a){d._selectTriggered(a)})},a.prototype._selectTriggered=function(a,b){var c=b.originalEvent;c&&c.ctrlKey||this.trigger("close",{originalEvent:c,originalSelect2Event:b})},a}),b.define("select2/i18n/en",[],function(){return{errorLoading:function(){return"The results could not be loaded."},inputTooLong:function(a){var b=a.input.length-a.maximum,c="Please delete "+b+" character";return 1!=b&&(c+="s"),c},inputTooShort:function(a){return"Please enter "+(a.minimum-a.input.length)+" or more characters"},loadingMore:function(){return"Loading more results…"},maximumSelected:function(a){var b="You can only select "+a.maximum+" item";return 1!=a.maximum&&(b+="s"),b},noResults:function(){return"No results found"},searching:function(){return"Searching…"}}}),b.define("select2/defaults",["jquery","require","./results","./selection/single","./selection/multiple","./selection/placeholder","./selection/allowClear","./selection/search","./selection/eventRelay","./utils","./translation","./diacritics","./data/select","./data/array","./data/ajax","./data/tags","./data/tokenizer","./data/minimumInputLength","./data/maximumInputLength","./data/maximumSelectionLength","./dropdown","./dropdown/search","./dropdown/hidePlaceholder","./dropdown/infiniteScroll","./dropdown/attachBody","./dropdown/minimumResultsForSearch","./dropdown/selectOnClose","./dropdown/closeOnSelect","./i18n/en"],function(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,A,B,C){function D(){this.reset()}return D.prototype.apply=function(l){if(l=a.extend(!0,{},this.defaults,l),null==l.dataAdapter){if(null!=l.ajax?l.dataAdapter=o:null!=l.data?l.dataAdapter=n:l.dataAdapter=m,l.minimumInputLength>0&&(l.dataAdapter=j.Decorate(l.dataAdapter,r)),l.maximumInputLength>0&&(l.dataAdapter=j.Decorate(l.dataAdapter,s)),l.maximumSelectionLength>0&&(l.dataAdapter=j.Decorate(l.dataAdapter,t)),l.tags&&(l.dataAdapter=j.Decorate(l.dataAdapter,p)),null==l.tokenSeparators&&null==l.tokenizer||(l.dataAdapter=j.Decorate(l.dataAdapter,q)),null!=l.query){var C=b(l.amdBase+"compat/query");l.dataAdapter=j.Decorate(l.dataAdapter,C)}if(null!=l.initSelection){var D=b(l.amdBase+"compat/initSelection");l.dataAdapter=j.Decorate(l.dataAdapter,D)}}if(null==l.resultsAdapter&&(l.resultsAdapter=c,null!=l.ajax&&(l.resultsAdapter=j.Decorate(l.resultsAdapter,x)),null!=l.placeholder&&(l.resultsAdapter=j.Decorate(l.resultsAdapter,w)),l.selectOnClose&&(l.resultsAdapter=j.Decorate(l.resultsAdapter,A))),null==l.dropdownAdapter){if(l.multiple)l.dropdownAdapter=u;else{var E=j.Decorate(u,v);l.dropdownAdapter=E}if(0!==l.minimumResultsForSearch&&(l.dropdownAdapter=j.Decorate(l.dropdownAdapter,z)),l.closeOnSelect&&(l.dropdownAdapter=j.Decorate(l.dropdownAdapter,B)),null!=l.dropdownCssClass||null!=l.dropdownCss||null!=l.adaptDropdownCssClass){var F=b(l.amdBase+"compat/dropdownCss");l.dropdownAdapter=j.Decorate(l.dropdownAdapter,F)}l.dropdownAdapter=j.Decorate(l.dropdownAdapter,y)}if(null==l.selectionAdapter){if(l.multiple?l.selectionAdapter=e:l.selectionAdapter=d,null!=l.placeholder&&(l.selectionAdapter=j.Decorate(l.selectionAdapter,f)),l.allowClear&&(l.selectionAdapter=j.Decorate(l.selectionAdapter,g)),l.multiple&&(l.selectionAdapter=j.Decorate(l.selectionAdapter,h)),null!=l.containerCssClass||null!=l.containerCss||null!=l.adaptContainerCssClass){var G=b(l.amdBase+"compat/containerCss");l.selectionAdapter=j.Decorate(l.selectionAdapter,G)}l.selectionAdapter=j.Decorate(l.selectionAdapter,i)}if("string"==typeof l.language)if(l.language.indexOf("-")>0){var H=l.language.split("-"),I=H[0];l.language=[l.language,I]}else l.language=[l.language];if(a.isArray(l.language)){var J=new k;l.language.push("en");for(var K=l.language,L=0;L<K.length;L++){var M=K[L],N={};try{N=k.loadPath(M)}catch(a){try{M=this.defaults.amdLanguageBase+M,N=k.loadPath(M)}catch(a){l.debug&&window.console&&console.warn&&console.warn('Select2: The language file for "'+M+'" could not be automatically loaded. A fallback will be used instead.');continue}}J.extend(N)}l.translations=J}else{var O=k.loadPath(this.defaults.amdLanguageBase+"en"),P=new k(l.language);P.extend(O),l.translations=P}return l},D.prototype.reset=function(){function b(a){function b(a){return l[a]||a}return a.replace(/[^\u0000-\u007E]/g,b)}function c(d,e){if(""===a.trim(d.term))return e;if(e.children&&e.children.length>0){for(var f=a.extend(!0,{},e),g=e.children.length-1;g>=0;g--){null==c(d,e.children[g])&&f.children.splice(g,1)}return f.children.length>0?f:c(d,f)}var h=b(e.text).toUpperCase(),i=b(d.term).toUpperCase();return h.indexOf(i)>-1?e:null}this.defaults={amdBase:"./",amdLanguageBase:"./i18n/",closeOnSelect:!0,debug:!1,dropdownAutoWidth:!1,escapeMarkup:j.escapeMarkup,language:C,matcher:c,minimumInputLength:0,maximumInputLength:0,maximumSelectionLength:0,minimumResultsForSearch:0,selectOnClose:!1,sorter:function(a){return a},templateResult:function(a){return a.text},templateSelection:function(a){return a.text},theme:"default",width:"resolve"}},D.prototype.set=function(b,c){var d=a.camelCase(b),e={};e[d]=c;var f=j._convertData(e);a.extend(this.defaults,f)},new D}),b.define("select2/options",["require","jquery","./defaults","./utils"],function(a,b,c,d){function e(b,e){if(this.options=b,null!=e&&this.fromElement(e),this.options=c.apply(this.options),e&&e.is("input")){var f=a(this.get("amdBase")+"compat/inputData");this.options.dataAdapter=d.Decorate(this.options.dataAdapter,f)}}return e.prototype.fromElement=function(a){var c=["select2"];null==this.options.multiple&&(this.options.multiple=a.prop("multiple")),null==this.options.disabled&&(this.options.disabled=a.prop("disabled")),null==this.options.language&&(a.prop("lang")?this.options.language=a.prop("lang").toLowerCase():a.closest("[lang]").prop("lang")&&(this.options.language=a.closest("[lang]").prop("lang"))),null==this.options.dir&&(a.prop("dir")?this.options.dir=a.prop("dir"):a.closest("[dir]").prop("dir")?this.options.dir=a.closest("[dir]").prop("dir"):this.options.dir="ltr"),a.prop("disabled",this.options.disabled),a.prop("multiple",this.options.multiple),a.data("select2Tags")&&(this.options.debug&&window.console&&console.warn&&console.warn('Select2: The `data-select2-tags` attribute has been changed to use the `data-data` and `data-tags="true"` attributes and will be removed in future versions of Select2.'),a.data("data",a.data("select2Tags")),a.data("tags",!0)),a.data("ajaxUrl")&&(this.options.debug&&window.console&&console.warn&&console.warn("Select2: The `data-ajax-url` attribute has been changed to `data-ajax--url` and support for the old attribute will be removed in future versions of Select2."),a.attr("ajax--url",a.data("ajaxUrl")),a.data("ajax--url",a.data("ajaxUrl")));var e={};e=b.fn.jquery&&"1."==b.fn.jquery.substr(0,2)&&a[0].dataset?b.extend(!0,{},a[0].dataset,a.data()):a.data();var f=b.extend(!0,{},e);f=d._convertData(f);for(var g in f)b.inArray(g,c)>-1||(b.isPlainObject(this.options[g])?b.extend(this.options[g],f[g]):this.options[g]=f[g]);return this},e.prototype.get=function(a){return this.options[a]},e.prototype.set=function(a,b){this.options[a]=b},e}),b.define("select2/core",["jquery","./options","./utils","./keys"],function(a,b,c,d){var e=function(a,c){null!=a.data("select2")&&a.data("select2").destroy(),this.$element=a,this.id=this._generateId(a),c=c||{},this.options=new b(c,a),e.__super__.constructor.call(this);var d=a.attr("tabindex")||0;a.data("old-tabindex",d),a.attr("tabindex","-1");var f=this.options.get("dataAdapter");this.dataAdapter=new f(a,this.options);var g=this.render();this._placeContainer(g);var h=this.options.get("selectionAdapter");this.selection=new h(a,this.options),this.$selection=this.selection.render(),this.selection.position(this.$selection,g);var i=this.options.get("dropdownAdapter");this.dropdown=new i(a,this.options),this.$dropdown=this.dropdown.render(),this.dropdown.position(this.$dropdown,g);var j=this.options.get("resultsAdapter");this.results=new j(a,this.options,this.dataAdapter),this.$results=this.results.render(),this.results.position(this.$results,this.$dropdown);var k=this;this._bindAdapters(),this._registerDomEvents(),this._registerDataEvents(),this._registerSelectionEvents(),this._registerDropdownEvents(),this._registerResultsEvents(),this._registerEvents(),this.dataAdapter.current(function(a){k.trigger("selection:update",{data:a})}),a.addClass("select2-hidden-accessible"),a.attr("aria-hidden","true"),this._syncAttributes(),a.data("select2",this)};return c.Extend(e,c.Observable),e.prototype._generateId=function(a){var b="";return b=null!=a.attr("id")?a.attr("id"):null!=a.attr("name")?a.attr("name")+"-"+c.generateChars(2):c.generateChars(4),b=b.replace(/(:|\.|\[|\]|,)/g,""),b="select2-"+b},e.prototype._placeContainer=function(a){a.insertAfter(this.$element);var b=this._resolveWidth(this.$element,this.options.get("width"));null!=b&&a.css("width",b)},e.prototype._resolveWidth=function(a,b){var c=/^width:(([-+]?([0-9]*\.)?[0-9]+)(px|em|ex|%|in|cm|mm|pt|pc))/i;if("resolve"==b){var d=this._resolveWidth(a,"style");return null!=d?d:this._resolveWidth(a,"element")}if("element"==b){var e=a.outerWidth(!1);return e<=0?"auto":e+"px"}if("style"==b){var f=a.attr("style");if("string"!=typeof f)return null;for(var g=f.split(";"),h=0,i=g.length;h<i;h+=1){var j=g[h].replace(/\s/g,""),k=j.match(c);if(null!==k&&k.length>=1)return k[1]}return null}return b},e.prototype._bindAdapters=function(){this.dataAdapter.bind(this,this.$container),this.selection.bind(this,this.$container),this.dropdown.bind(this,this.$container),this.results.bind(this,this.$container)},e.prototype._registerDomEvents=function(){var b=this;this.$element.on("change.select2",function(){b.dataAdapter.current(function(a){b.trigger("selection:update",{data:a})})}),this.$element.on("focus.select2",function(a){b.trigger("focus",a)}),this._syncA=c.bind(this._syncAttributes,this),this._syncS=c.bind(this._syncSubtree,this),this.$element[0].attachEvent&&this.$element[0].attachEvent("onpropertychange",this._syncA);var d=window.MutationObserver||window.WebKitMutationObserver||window.MozMutationObserver;null!=d?(this._observer=new d(function(c){a.each(c,b._syncA),a.each(c,b._syncS)}),this._observer.observe(this.$element[0],{attributes:!0,childList:!0,subtree:!1})):this.$element[0].addEventListener&&(this.$element[0].addEventListener("DOMAttrModified",b._syncA,!1),this.$element[0].addEventListener("DOMNodeInserted",b._syncS,!1),this.$element[0].addEventListener("DOMNodeRemoved",b._syncS,!1))},e.prototype._registerDataEvents=function(){var a=this;this.dataAdapter.on("*",function(b,c){a.trigger(b,c)})},e.prototype._registerSelectionEvents=function(){var b=this,c=["toggle","focus"];this.selection.on("toggle",function(){b.toggleDropdown()}),this.selection.on("focus",function(a){b.focus(a)}),this.selection.on("*",function(d,e){-1===a.inArray(d,c)&&b.trigger(d,e)})},e.prototype._registerDropdownEvents=function(){var a=this;this.dropdown.on("*",function(b,c){a.trigger(b,c)})},e.prototype._registerResultsEvents=function(){var a=this;this.results.on("*",function(b,c){a.trigger(b,c)})},e.prototype._registerEvents=function(){var b=this;this.on("open",function(){b.$container.addClass("select2-container--open")}),this.on("close",function(){b.$container.removeClass("select2-container--open")}),this.on("enable",function(){b.$container.removeClass("select2-container--disabled")}),this.on("disable",function(){b.$container.addClass("select2-container--disabled")}),this.on("blur",function(){b.$container.removeClass("select2-container--focus")}),this.on("query",function(a){b.isOpen()||b.trigger("open",{}),this.dataAdapter.query(a,function(c){b.trigger("results:all",{data:c,query:a})})}),this.on("query:append",function(a){this.dataAdapter.query(a,function(c){b.trigger("results:append",{data:c,query:a})})}),this.on("open",function(){setTimeout(function(){b.focusOnActiveElement()},1)}),a(document).on("keydown",function(a){var c=a.which;if(b.isOpen()){c===d.ESC||c===d.UP&&a.altKey?(b.close(),a.preventDefault()):c===d.ENTER||c===d.TAB?(b.trigger("results:select",{}),a.preventDefault()):c===d.SPACE&&a.ctrlKey?(b.trigger("results:toggle",{}),a.preventDefault()):c===d.UP?(b.trigger("results:previous",{}),a.preventDefault()):c===d.DOWN&&(b.trigger("results:next",{}),a.preventDefault());var e=b.$dropdown.find(".select2-search__field");e.length||(e=b.$container.find(".select2-search__field")),c===d.DOWN||c===d.UP?b.focusOnActiveElement():(e.focus(),setTimeout(function(){b.focusOnActiveElement()},1e3))}else b.hasFocus()&&(c!==d.ENTER&&c!==d.SPACE&&c!==d.DOWN||(b.open(),a.preventDefault()))})},e.prototype.focusOnActiveElement=function(){this.isOpen()&&!c.isTouchscreen()&&this.$results.find("li.select2-results__option--highlighted").focus()},e.prototype._syncAttributes=function(){this.options.set("disabled",this.$element.prop("disabled")),this.options.get("disabled")?(this.isOpen()&&this.close(),this.trigger("disable",{})):this.trigger("enable",{})},e.prototype._syncSubtree=function(a,b){var c=!1,d=this;if(!a||!a.target||"OPTION"===a.target.nodeName||"OPTGROUP"===a.target.nodeName){if(b)if(b.addedNodes&&b.addedNodes.length>0)for(var e=0;e<b.addedNodes.length;e++){var f=b.addedNodes[e];f.selected&&(c=!0)}else b.removedNodes&&b.removedNodes.length>0&&(c=!0);else c=!0;c&&this.dataAdapter.current(function(a){d.trigger("selection:update",{data:a})})}},e.prototype.trigger=function(a,b){var c=e.__super__.trigger,d={open:"opening",close:"closing",select:"selecting",unselect:"unselecting"};if(void 0===b&&(b={}),a in d){var f=d[a],g={prevented:!1,name:a,args:b};if(c.call(this,f,g),g.prevented)return void(b.prevented=!0)}c.call(this,a,b)},e.prototype.toggleDropdown=function(){this.options.get("disabled")||(this.isOpen()?this.close():this.open())},e.prototype.open=function(){this.isOpen()||this.trigger("query",{})},e.prototype.close=function(){this.isOpen()&&this.trigger("close",{})},e.prototype.isOpen=function(){return this.$container.hasClass("select2-container--open")},e.prototype.hasFocus=function(){return this.$container.hasClass("select2-container--focus")},e.prototype.focus=function(a){this.hasFocus()||(this.$container.addClass("select2-container--focus"),this.trigger("focus",{}))},e.prototype.enable=function(a){this.options.get("debug")&&window.console&&console.warn&&console.warn('Select2: The `select2("enable")` method has been deprecated and will be removed in later Select2 versions. Use $element.prop("disabled") instead.'),null!=a&&0!==a.length||(a=[!0]);var b=!a[0];this.$element.prop("disabled",b)},e.prototype.data=function(){this.options.get("debug")&&arguments.length>0&&window.console&&console.warn&&console.warn('Select2: Data can no longer be set using `select2("data")`. You should consider setting the value instead using `$element.val()`.');var a=[];return this.dataAdapter.current(function(b){a=b}),a},e.prototype.val=function(b){if(this.options.get("debug")&&window.console&&console.warn&&console.warn('Select2: The `select2("val")` method has been deprecated and will be removed in later Select2 versions. Use $element.val() instead.'),null==b||0===b.length)return this.$element.val();var c=b[0];a.isArray(c)&&(c=a.map(c,function(a){return a.toString()})),this.$element.val(c).trigger("change")},e.prototype.destroy=function(){this.$container.remove(),this.$element[0].detachEvent&&this.$element[0].detachEvent("onpropertychange",this._syncA),null!=this._observer?(this._observer.disconnect(),this._observer=null):this.$element[0].removeEventListener&&(this.$element[0].removeEventListener("DOMAttrModified",this._syncA,!1),this.$element[0].removeEventListener("DOMNodeInserted",this._syncS,!1),this.$element[0].removeEventListener("DOMNodeRemoved",this._syncS,!1)),this._syncA=null,this._syncS=null,this.$element.off(".select2"),this.$element.attr("tabindex",this.$element.data("old-tabindex")),this.$element.removeClass("select2-hidden-accessible"),this.$element.attr("aria-hidden","false"),this.$element.removeData("select2"),this.dataAdapter.destroy(),this.selection.destroy(),this.dropdown.destroy(),this.results.destroy(),this.dataAdapter=null,this.selection=null,this.dropdown=null,this.results=null},e.prototype.render=function(){var b=a('<span class="select2 select2-container"><span class="selection"></span><span class="dropdown-wrapper" aria-hidden="true"></span></span>');return b.attr("dir",this.options.get("dir")),this.$container=b,this.$container.addClass("select2-container--"+this.options.get("theme")),b.data("element",this.$element),b},e}),b.define("jquery-mousewheel",["jquery"],function(a){return a}),b.define("jquery.select2",["jquery","jquery-mousewheel","./select2/core","./select2/defaults"],function(a,b,c,d){if(null==a.fn.selectWoo){var e=["open","close","destroy"];a.fn.selectWoo=function(b){if("object"==typeof(b=b||{}))return this.each(function(){var d=a.extend(!0,{},b);new c(a(this),d)}),this;if("string"==typeof b){var d,f=Array.prototype.slice.call(arguments,1);return this.each(function(){var c=a(this).data("select2");null==c&&window.console&&console.error&&console.error("The select2('"+b+"') method was called on an element that is not using Select2."),d=c[b].apply(c,f)}),a.inArray(b,e)>-1?this:d}throw new Error("Invalid arguments for Select2: "+b)}}return null!=a.fn.select2&&null!=a.fn.select2.defaults&&(a.fn.selectWoo.defaults=a.fn.select2.defaults),null==a.fn.selectWoo.defaults&&(a.fn.selectWoo.defaults=d),a.fn.select2=a.fn.select2||a.fn.selectWoo,c}),{define:b.define,require:b.require}}(),c=b.require("jquery.select2");return a.fn.select2.amd=b,a.fn.selectWoo.amd=b,c});
everest-forms.php CHANGED
@@ -3,7 +3,7 @@
3
  * Plugin Name: Everest Forms
4
  * Plugin URI: https://wpeverest.com/wordpress-plugins/everest-forms/
5
  * Description: Drag and Drop form builder to easily create contact forms and more.
6
- * Version: 1.1.4
7
  * Author: WPEverest
8
  * Author URI: https://wpeverest.com
9
  * Text Domain: everest-forms
3
  * Plugin Name: Everest Forms
4
  * Plugin URI: https://wpeverest.com/wordpress-plugins/everest-forms/
5
  * Description: Drag and Drop form builder to easily create contact forms and more.
6
+ * Version: 1.1.5
7
  * Author: WPEverest
8
  * Author URI: https://wpeverest.com
9
  * Text Domain: everest-forms
includes/admin/class-evf-admin-assets.php CHANGED
@@ -34,39 +34,13 @@ if ( ! class_exists( 'EVF_Admin_Assets', false ) ) :
34
  * @since 1.0.0
35
  */
36
  public function everest_forms_builder_scripts() {
 
37
 
38
  // Remove conflicting scripts.
39
  do_action( 'everest_forms_builder_enqueues_before' );
40
 
41
- wp_enqueue_style( 'everest_forms_admin_menu_styles', EVF()->plugin_url() . '/assets/css/everest-builder.css', array(), EVF_VERSION );
42
- wp_enqueue_style( 'jquery-confirm-style', EVF()->plugin_url() . '/assets/js/jquery-confirm/jquery-confirm.min.css', array(), '3.3.0' );
43
-
44
- wp_enqueue_script(
45
- 'evf-admin-helper',
46
- EVF()->plugin_url() . '/assets/js/admin/admin-helper.js',
47
- array(
48
-
49
- 'jquery',
50
- 'jquery-blockui',
51
- 'jquery-tiptip',
52
- 'jquery-ui-sortable',
53
- 'jquery-ui-widget',
54
- 'jquery-ui-core',
55
- 'jquery-ui-tabs',
56
- 'jquery-ui-draggable',
57
- 'jquery-ui-droppable',
58
- 'jquery-tiptip',
59
-
60
- ),
61
- EVF_VERSION
62
- );
63
-
64
- wp_enqueue_script(
65
- 'evf-panel-builder',
66
- EVF()->plugin_url() . '/assets/js/admin/everest-panel-builder.js',
67
- array( 'evf-admin-helper', 'jquery-confirm-script' ),
68
- EVF_VERSION
69
- );
70
 
71
  // JS
72
  wp_enqueue_media();
@@ -110,6 +84,7 @@ if ( ! class_exists( 'EVF_Admin_Assets', false ) ) :
110
  // Register admin styles.
111
  wp_register_style( 'everest_forms_admin_styles', EVF()->plugin_url() . '/assets/css/admin.css', array(), EVF_VERSION );
112
  wp_register_style( 'jquery-ui-style', EVF()->plugin_url() . '/assets/css/jquery-ui/jquery-ui.min.css', array(), EVF_VERSION );
 
113
  wp_register_style( 'evf_add_form_css', EVF()->plugin_url() . '/assets/css/evf-add-form.css', array(), EVF_VERSION );
114
 
115
  // Add RTL support for admin styles.
@@ -120,6 +95,7 @@ if ( ! class_exists( 'EVF_Admin_Assets', false ) ) :
120
  wp_register_style( 'evf-admin-setting-style', EVF()->plugin_url() . '/assets/css/admin-settings.css', array(), EVF_VERSION );
121
 
122
  // Sitewide menu CSS.
 
123
  wp_enqueue_style( 'evf_add_form_css' );
124
 
125
  // Admin styles for EVF pages only.
@@ -149,28 +125,11 @@ if ( ! class_exists( 'EVF_Admin_Assets', false ) ) :
149
  $evf_screen_id = sanitize_title( __( 'EverestForms', 'everest-forms' ) );
150
  $suffix = defined( 'SCRIPT_DEBUG' ) && SCRIPT_DEBUG ? '' : '.min';
151
 
152
- // Register scripts
153
- wp_register_script( 'everest_forms_builder', EVF()->plugin_url() . '/assets/js/admin/everest-builder' . $suffix . '.js', array(
154
- 'jquery',
155
- ), EVF_VERSION );
156
-
157
- wp_register_script( 'everest_forms_settings', EVF()->plugin_url() . '/assets/js/admin/settings' . $suffix . '.js', array(
158
- 'jquery',
159
- ), EVF_VERSION );
160
-
161
-
162
- wp_register_script( 'jquery-confirm-script', EVF()->plugin_url() . '/assets/js/jquery-confirm/jquery-confirm.min.js', array(
163
- 'jquery',
164
- ), '3.3.0' );
165
- wp_register_script( 'everest_forms_admin', EVF()->plugin_url() . '/assets/js/admin/everest-forms-admin' . $suffix . '.js', array(
166
- 'jquery',
167
- 'jquery-blockui',
168
- 'jquery-ui-sortable',
169
- 'jquery-ui-widget',
170
- 'jquery-ui-core',
171
- 'jquery-tiptip'
172
- ), EVF_VERSION );
173
  wp_register_script( 'jquery-blockui', EVF()->plugin_url() . '/assets/js/jquery-blockui/jquery.blockUI' . $suffix . '.js', array( 'jquery' ), '2.70', true );
 
174
  wp_register_script( 'jquery-tiptip', EVF()->plugin_url() . '/assets/js/jquery-tiptip/jquery.tipTip' . $suffix . '.js', array( 'jquery' ), EVF_VERSION, true );
175
  wp_register_script( 'evf_add_form_js', EVF()->plugin_url() . '/assets/js/admin/evf-add-form' . $suffix . '.js', 'jquery' );
176
  wp_localize_script( 'evf_add_form_js', 'everest_add_form_params', array(
@@ -178,26 +137,11 @@ if ( ! class_exists( 'EVF_Admin_Assets', false ) ) :
178
  'create_form_nonce' => wp_create_nonce( 'everest_forms_create_form' ),
179
  ) );
180
 
181
- wp_enqueue_script('evf_add_form_js');
182
 
183
- if ( 'everest-forms_page_evf-settings' === $screen_id ) {
184
- wp_enqueue_script( 'everest_forms_settings' );
185
-
186
- }
187
  // EverestForms admin pages
188
  if ( in_array( $screen_id, evf_get_screen_ids() ) ) {
189
-
190
  wp_enqueue_script( 'everest_forms_admin' );
191
-
192
- $params = array(
193
-
194
- 'urls' => array(
195
- 'import_products' => esc_url_raw( admin_url( 'edit.php?post_type=product&page=product_importer' ) ),
196
- 'export_products' => esc_url_raw( admin_url( 'edit.php?post_type=product&page=product_exporter' ) ),
197
- ),
198
- );
199
-
200
- wp_localize_script( 'everest_forms_admin', 'everest_forms_admin', $params );
201
  }
202
  }
203
  }
34
  * @since 1.0.0
35
  */
36
  public function everest_forms_builder_scripts() {
37
+ $suffix = defined( 'SCRIPT_DEBUG' ) && SCRIPT_DEBUG ? '' : '.min';
38
 
39
  // Remove conflicting scripts.
40
  do_action( 'everest_forms_builder_enqueues_before' );
41
 
42
+ wp_enqueue_style( 'everest_forms_admin_builder_styles', EVF()->plugin_url() . '/assets/css/everest-builder.css', array( 'jquery-confirm' ), EVF_VERSION );
43
+ wp_enqueue_script( 'evf-panel-builder', EVF()->plugin_url() . '/assets/js/admin/everest-panel-builder' . $suffix . '.js', array( 'jquery', 'jquery-blockui', 'jquery-tiptip', 'jquery-ui-sortable', 'jquery-ui-widget', 'jquery-ui-core', 'jquery-ui-tabs', 'jquery-ui-draggable', 'jquery-ui-droppable', 'jquery-confirm' ), EVF_VERSION );
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
44
 
45
  // JS
46
  wp_enqueue_media();
84
  // Register admin styles.
85
  wp_register_style( 'everest_forms_admin_styles', EVF()->plugin_url() . '/assets/css/admin.css', array(), EVF_VERSION );
86
  wp_register_style( 'jquery-ui-style', EVF()->plugin_url() . '/assets/css/jquery-ui/jquery-ui.min.css', array(), EVF_VERSION );
87
+ wp_register_style( 'jquery-confirm', EVF()->plugin_url() . '/assets/css/jquery-confirm/jquery-confirm.min.css', array(), '3.3.0' );
88
  wp_register_style( 'evf_add_form_css', EVF()->plugin_url() . '/assets/css/evf-add-form.css', array(), EVF_VERSION );
89
 
90
  // Add RTL support for admin styles.
95
  wp_register_style( 'evf-admin-setting-style', EVF()->plugin_url() . '/assets/css/admin-settings.css', array(), EVF_VERSION );
96
 
97
  // Sitewide menu CSS.
98
+ wp_enqueue_style( 'jquery-confirm' );
99
  wp_enqueue_style( 'evf_add_form_css' );
100
 
101
  // Admin styles for EVF pages only.
125
  $evf_screen_id = sanitize_title( __( 'EverestForms', 'everest-forms' ) );
126
  $suffix = defined( 'SCRIPT_DEBUG' ) && SCRIPT_DEBUG ? '' : '.min';
127
 
128
+ // Register scripts.
129
+ wp_register_script( 'everest_forms_builder', EVF()->plugin_url() . '/assets/js/admin/everest-builder' . $suffix . '.js', array( 'jquery' ), EVF_VERSION );
130
+ wp_register_script( 'everest_forms_admin', EVF()->plugin_url() . '/assets/js/admin/everest-forms-admin' . $suffix . '.js', array( 'jquery', 'jquery-blockui', 'jquery-ui-sortable', 'jquery-ui-widget', 'jquery-ui-core', 'jquery-tiptip' ), EVF_VERSION );
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
131
  wp_register_script( 'jquery-blockui', EVF()->plugin_url() . '/assets/js/jquery-blockui/jquery.blockUI' . $suffix . '.js', array( 'jquery' ), '2.70', true );
132
+ wp_register_script( 'jquery-confirm', EVF()->plugin_url() . '/assets/js/jquery-confirm/jquery-confirm' . $suffix . '.js', array( 'jquery' ), '3.3.0', true );
133
  wp_register_script( 'jquery-tiptip', EVF()->plugin_url() . '/assets/js/jquery-tiptip/jquery.tipTip' . $suffix . '.js', array( 'jquery' ), EVF_VERSION, true );
134
  wp_register_script( 'evf_add_form_js', EVF()->plugin_url() . '/assets/js/admin/evf-add-form' . $suffix . '.js', 'jquery' );
135
  wp_localize_script( 'evf_add_form_js', 'everest_add_form_params', array(
137
  'create_form_nonce' => wp_create_nonce( 'everest_forms_create_form' ),
138
  ) );
139
 
140
+ wp_enqueue_script( 'evf_add_form_js' );
141
 
 
 
 
 
142
  // EverestForms admin pages
143
  if ( in_array( $screen_id, evf_get_screen_ids() ) ) {
 
144
  wp_enqueue_script( 'everest_forms_admin' );
 
 
 
 
 
 
 
 
 
 
145
  }
146
  }
147
  }
includes/admin/class-evf-admin-form-builder.php CHANGED
@@ -157,9 +157,7 @@ class EVF_Admin_Form_Builder {
157
  }
158
 
159
  public function output_template() {
160
-
161
  wp_enqueue_script( 'everest_forms_builder' );
162
- wp_enqueue_script( 'everest_forms_settings' );
163
  wp_enqueue_script( 'everest_forms_admin' );
164
 
165
  include_once( dirname( __FILE__ ) . '/views/html-admin-form-modal.php' );
157
  }
158
 
159
  public function output_template() {
 
160
  wp_enqueue_script( 'everest_forms_builder' );
 
161
  wp_enqueue_script( 'everest_forms_admin' );
162
 
163
  include_once( dirname( __FILE__ ) . '/views/html-admin-form-modal.php' );
includes/admin/class-evf-admin-settings.php CHANGED
@@ -128,18 +128,19 @@ class EVF_Admin_Settings {
128
 
129
  do_action( 'everest_forms_settings_start' );
130
 
131
- wp_enqueue_script( 'everest_forms_settings', EVF()->plugin_url() . '/assets/js/admin/settings' . $suffix . '.js', array( 'jquery', 'jquery-ui-datepicker', 'jquery-ui-sortable', 'iris', 'selectWoo' ), EVF()->version, true );
132
 
133
  wp_localize_script( 'everest_forms_settings', 'everest_forms_settings_params', array(
134
  'i18n_nav_warning' => __( 'The changes you made will be lost if you navigate away from this page.', 'everest-forms' ),
135
  ) );
136
- // Include settings pages
 
137
  self::get_settings_pages();
138
 
139
  $current_tab = empty( $_GET['tab'] ) ? 'general' : sanitize_title( $_GET['tab'] );
140
-
141
  $current_section = empty( $_REQUEST['section'] ) ? '' : sanitize_title( $_REQUEST['section'] );
142
- // Get tabs for the settings page
 
143
  $tabs = apply_filters( 'everest_forms_settings_tabs_array', array() );
144
 
145
  include( dirname( __FILE__ ) . '/views/html-admin-settings.php' );
128
 
129
  do_action( 'everest_forms_settings_start' );
130
 
131
+ wp_enqueue_script( 'everest_forms_settings', EVF()->plugin_url() . '/assets/js/admin/settings' . $suffix . '.js', array( 'jquery', 'jquery-confirm', 'jquery-ui-datepicker', 'jquery-ui-sortable', 'iris', 'selectWoo' ), EVF()->version, true );
132
 
133
  wp_localize_script( 'everest_forms_settings', 'everest_forms_settings_params', array(
134
  'i18n_nav_warning' => __( 'The changes you made will be lost if you navigate away from this page.', 'everest-forms' ),
135
  ) );
136
+
137
+ // Include settings pages.
138
  self::get_settings_pages();
139
 
140
  $current_tab = empty( $_GET['tab'] ) ? 'general' : sanitize_title( $_GET['tab'] );
 
141
  $current_section = empty( $_REQUEST['section'] ) ? '' : sanitize_title( $_REQUEST['section'] );
142
+
143
+ // Get tabs for the settings page.
144
  $tabs = apply_filters( 'everest_forms_settings_tabs_array', array() );
145
 
146
  include( dirname( __FILE__ ) . '/views/html-admin-settings.php' );
includes/class-everest-forms.php CHANGED
@@ -21,7 +21,7 @@ final class EverestForms {
21
  *
22
  * @var string
23
  */
24
- public $version = '1.1.4';
25
 
26
  /**
27
  * The form data handler instance.
21
  *
22
  * @var string
23
  */
24
+ public $version = '1.1.5';
25
 
26
  /**
27
  * The form data handler instance.
includes/class-evf-frontend-scripts.php CHANGED
@@ -157,21 +157,21 @@ class EVF_Frontend_Scripts {
157
  private static function register_scripts() {
158
  $suffix = defined( 'SCRIPT_DEBUG' ) && SCRIPT_DEBUG ? '' : '.min';
159
  $register_scripts = array(
160
- 'jquery-validate' => array(
161
  'src' => self::get_asset_url( 'assets/js/jquery-validate/jquery.validate' . $suffix . '.js' ),
162
  'deps' => array( 'jquery' ),
163
  'version' => '1.17.0',
164
  ),
165
- 'everest-forms' => array(
 
 
 
 
 
166
  'src' => self::get_asset_url( 'assets/js/frontend/everest-forms' . $suffix . '.js' ),
167
  'deps' => array( 'jquery', 'jquery-ui-datepicker', 'jquery-validate' ),
168
  'version' => EVF_VERSION,
169
  ),
170
- 'evf-google-recaptcha' => array(
171
- 'src' => 'https://www.google.com/recaptcha/api.js?onload=onloadEVFCallback&render=explicit',
172
- 'deps' => array(),
173
- 'version' => EVF_VERSION,
174
- ),
175
  );
176
  foreach ( $register_scripts as $name => $props ) {
177
  self::register_script( $name, $props['src'], $props['deps'], $props['version'] );
@@ -214,12 +214,14 @@ class EVF_Frontend_Scripts {
214
  self::register_scripts();
215
  self::register_styles();
216
 
217
- // Global frontend scripts.
218
  wp_enqueue_style( 'dashicons' );
219
 
 
 
 
220
  // Load scripts on form pages only if supported.
221
  if ( evf_post_content_has_shortcode( 'everest_form' ) ) {
222
- self::enqueue_script( 'everest-forms' );
223
  self::enqueue_style( 'evf-jquery-ui-datepicker' );
224
  }
225
 
157
  private static function register_scripts() {
158
  $suffix = defined( 'SCRIPT_DEBUG' ) && SCRIPT_DEBUG ? '' : '.min';
159
  $register_scripts = array(
160
+ 'jquery-validate' => array(
161
  'src' => self::get_asset_url( 'assets/js/jquery-validate/jquery.validate' . $suffix . '.js' ),
162
  'deps' => array( 'jquery' ),
163
  'version' => '1.17.0',
164
  ),
165
+ 'evf-recaptcha' => array(
166
+ 'src' => apply_filters( 'everest_forms_frontend_recaptcha_url', 'https://www.google.com/recaptcha/api.js?onload=EVFRecaptchaLoad&render=explicit' ),
167
+ 'deps' => array(),
168
+ 'version' => '1.2.0',
169
+ ),
170
+ 'everest-forms' => array(
171
  'src' => self::get_asset_url( 'assets/js/frontend/everest-forms' . $suffix . '.js' ),
172
  'deps' => array( 'jquery', 'jquery-ui-datepicker', 'jquery-validate' ),
173
  'version' => EVF_VERSION,
174
  ),
 
 
 
 
 
175
  );
176
  foreach ( $register_scripts as $name => $props ) {
177
  self::register_script( $name, $props['src'], $props['deps'], $props['version'] );
214
  self::register_scripts();
215
  self::register_styles();
216
 
217
+ // Enqueue dashicons.
218
  wp_enqueue_style( 'dashicons' );
219
 
220
+ // Global frontend scripts.
221
+ self::enqueue_script( 'everest-forms' );
222
+
223
  // Load scripts on form pages only if supported.
224
  if ( evf_post_content_has_shortcode( 'everest_form' ) ) {
 
225
  self::enqueue_style( 'evf-jquery-ui-datepicker' );
226
  }
227
 
includes/shortcodes/class-evf-shortcode-form.php CHANGED
@@ -237,11 +237,11 @@ class EVF_Shortcode_Form {
237
  }
238
 
239
  echo '</div>';
240
-
241
  }
 
242
  echo '</div>';
243
 
244
- echo self::process_recaptcha( $form_data );
245
  }
246
 
247
  do_action( 'evf_display_fields_after', $form_data );
@@ -250,59 +250,30 @@ class EVF_Shortcode_Form {
250
  }
251
 
252
  public static function process_recaptcha( $form_data ){
253
-
254
- $recaptcha_enable = 'no';
255
-
256
- if( isset( $form_data['settings']['recaptcha_support'] ) && $form_data['settings']['recaptcha_support'] == 1 ){
257
- $recaptcha_enable = 'yes';
258
- }
259
-
260
- $recaptcha_site_key = get_option( 'evf_recaptcha_site_key', - 1 );
261
-
262
- $recaptcha_site_secret = get_option( 'evf_recaptcha_site_secret', - 1 );
263
-
264
- if ( empty( $recaptcha_site_key ) ) {
265
-
266
- $recaptcha_site_key = - 1;
267
- }
268
- if ( empty( $recaptcha_site_secret ) ) {
269
-
270
- $recaptcha_site_secret = - 1;
271
- }
272
- if ( 'yes' == $recaptcha_enable ) {
273
-
274
- wp_enqueue_script( 'evf-google-recaptcha' );
275
-
276
- wp_localize_script( 'evf-google-recaptcha', 'evf_google_recaptcha_code', array(
277
-
278
- 'site_key' => $recaptcha_site_key,
279
-
280
- 'site_secret' => $recaptcha_site_secret,
281
-
282
- 'is_captcha_enable' => true,
283
-
284
- ) );
285
  }
286
 
287
- $recaptcha_node = '<div id="evf-recaptcha-node" class="evf-recaptcha-row" style="float:left">
288
- <div id="evf_node_recaptcha" class="g-recaptcha" style="margin-left:11px;transform:scale(0.77);-webkit-transform:scale(0.77);transform-origin:0 0;-webkit-transform-origin:0 0;">
289
- </div>
290
- </div>';
291
-
292
- if ( 'no' === $recaptcha_enable ) {
293
 
294
- $recaptcha_node = '<div id="evf-recaptcha-node" style="float:left"></div>';
 
295
 
296
- }
297
- if ( 'yes' === $recaptcha_enable && - 1 !== $recaptcha_site_key && - 1 !== $recaptcha_site_secret ) {
 
298
 
299
- $recaptcha_node = '<div id="evf-recaptcha-node" class="evf-recaptcha-row" style="width:100px;max-width: 100px; float:left">
300
- <div id="evf_node_recaptcha" class="g-recaptcha" style="margin-left:11px;transform:scale(0.77);-webkit-transform:scale(0.77);transform-origin:0 0;-webkit-transform-origin:0 0;">
301
- </div>
302
- </div>';
 
303
  }
304
- return $recaptcha_node;
305
-
306
  }
307
 
308
  /**
237
  }
238
 
239
  echo '</div>';
 
240
  }
241
+
242
  echo '</div>';
243
 
244
+ self::process_recaptcha( $form_data );
245
  }
246
 
247
  do_action( 'evf_display_fields_after', $form_data );
250
  }
251
 
252
  public static function process_recaptcha( $form_data ){
253
+ $site_key = get_option( 'evf_recaptcha_site_key', '' );
254
+ $secret_key = get_option( 'evf_recaptcha_site_secret', '' );
255
+ if ( ! $site_key || ! $secret_key ) {
256
+ return;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
257
  }
258
 
259
+ if ( isset( $form_data['settings']['recaptcha_support'] ) && '1' === $form_data['settings']['recaptcha_support'] ) {
260
+ $data = apply_filters( 'everest_forms_frontend_recaptcha', array(
261
+ 'sitekey' => trim( sanitize_text_field( $site_key ) ),
262
+ ), $form_data );
 
 
263
 
264
+ if ( $site_key && $secret_key ) {
265
+ $recaptch_inline = 'var EVFRecaptchaLoad = function(){jQuery(".g-recaptcha").each(function(index, el){grecaptcha.render(el,{},true);});};';
266
 
267
+ // Enqueue reCaptcha scripts.
268
+ wp_enqueue_script( 'evf-recaptcha' );
269
+ wp_add_inline_script( 'evf-recaptcha', $recaptch_inline );
270
 
271
+ // Output the reCapthcha container.
272
+ echo '<div id="evf-recaptcha-container" class="evf-recaptcha-row">';
273
+ echo '<div ' . evf_html_attributes( '', array( 'g-recaptcha' ), $data ) . '"></div>';
274
+ echo '</div>';
275
+ }
276
  }
 
 
277
  }
278
 
279
  /**
languages/everest-forms.pot CHANGED
@@ -4,7 +4,7 @@ msgid ""
4
  msgstr ""
5
  "Project-Id-Version: Everest Forms 1.1.4\n"
6
  "Report-Msgid-Bugs-To: https://github.com/wpeverest/everest-forms/issues\n"
7
- "POT-Creation-Date: 2018-04-24 09:11:33+00:00\n"
8
  "MIME-Version: 1.0\n"
9
  "Content-Type: text/plain; charset=utf-8\n"
10
  "Content-Transfer-Encoding: 8bit\n"
@@ -177,7 +177,7 @@ msgid "Insert Form"
177
  msgstr ""
178
 
179
  #: includes/admin/class-evf-add-form.php:66
180
- #: includes/admin/class-evf-admin-assets.php:85
181
  msgid "Close"
182
  msgstr ""
183
 
@@ -186,56 +186,56 @@ msgid "Select a form below to insert"
186
  msgstr ""
187
 
188
  #: includes/admin/class-evf-add-form.php:91
189
- #: includes/admin/class-evf-admin-assets.php:86
190
  msgid "Cancel"
191
  msgstr ""
192
 
193
- #: includes/admin/class-evf-admin-assets.php:82
194
  msgid "field"
195
  msgstr ""
196
 
197
- #: includes/admin/class-evf-admin-assets.php:83
198
  #: includes/admin/class-evf-admin-menus.php:289
199
  msgid "Copy of "
200
  msgstr ""
201
 
202
- #: includes/admin/class-evf-admin-assets.php:84
203
  msgid "OK"
204
  msgstr ""
205
 
206
- #: includes/admin/class-evf-admin-assets.php:87
207
  msgid "Row Locked"
208
  msgstr ""
209
 
210
- #: includes/admin/class-evf-admin-assets.php:88
211
  msgid "Single row cannot be deleted."
212
  msgstr ""
213
 
214
- #: includes/admin/class-evf-admin-assets.php:89
215
  msgid "Field Locked"
216
  msgstr ""
217
 
218
- #: includes/admin/class-evf-admin-assets.php:90
219
  msgid "This field cannot be deleted or duplicated."
220
  msgstr ""
221
 
222
- #: includes/admin/class-evf-admin-assets.php:91
223
  msgid "This item must contain at least one choice."
224
  msgstr ""
225
 
226
- #: includes/admin/class-evf-admin-assets.php:92
227
  msgid "Are you sure you want to delete this row?"
228
  msgstr ""
229
 
230
- #: includes/admin/class-evf-admin-assets.php:93
231
  msgid "Are you sure you want to delete this field?"
232
  msgstr ""
233
 
234
- #: includes/admin/class-evf-admin-assets.php:94
235
  msgid "Are you sure you want to duplicate this field?"
236
  msgstr ""
237
 
238
- #: includes/admin/class-evf-admin-assets.php:149
239
  msgid "EverestForms"
240
  msgstr ""
241
 
@@ -347,30 +347,30 @@ msgstr ""
347
  msgid "Save"
348
  msgstr ""
349
 
350
- #: includes/admin/class-evf-admin-form-builder.php:173
351
  #: includes/class-evf-ajax.php:132
352
  msgid "Blank Form"
353
  msgstr ""
354
 
355
- #: includes/admin/class-evf-admin-form-builder.php:177
356
  #: includes/templates/contact.php:12
357
  msgid "Contact Form"
358
  msgstr ""
359
 
360
- #: includes/admin/class-evf-admin-form-builder.php:184
361
  #: includes/admin/form-panels/class-evf-settings-panel.php:82
362
  msgid "Form Name"
363
  msgstr ""
364
 
365
- #: includes/admin/class-evf-admin-form-builder.php:185
366
  msgid "Enter your form name here&hellip;"
367
  msgstr ""
368
 
369
- #: includes/admin/class-evf-admin-form-builder.php:188
370
  msgid "Select A Template"
371
  msgstr ""
372
 
373
- #: includes/admin/class-evf-admin-form-builder.php:190
374
  msgid ""
375
  "To speed up the process, you can select from one of our pre-made templates "
376
  "listed below:"
@@ -521,17 +521,17 @@ msgstr ""
521
  msgid "The changes you made will be lost if you navigate away from this page."
522
  msgstr ""
523
 
524
- #: includes/admin/class-evf-admin-settings.php:507
525
  msgid ""
526
  "The settings of this image size have been disabled because its values are "
527
  "being overwritten by a filter."
528
  msgstr ""
529
 
530
- #: includes/admin/class-evf-admin-settings.php:516
531
  msgid "Hard crop?"
532
  msgstr ""
533
 
534
- #: includes/admin/class-evf-admin-settings.php:543
535
  msgid "Select a page&hellip;"
536
  msgstr ""
537
 
@@ -1282,12 +1282,12 @@ msgid_plural "All <span class=\"count\">(%s)</span>"
1282
  msgstr[0] ""
1283
  msgstr[1] ""
1284
 
1285
- #: includes/admin/class-evf-admin-form-builder.php:198
1286
  msgctxt "Template name"
1287
  msgid "%s template"
1288
  msgstr ""
1289
 
1290
- #: includes/admin/class-evf-admin-form-builder.php:198
1291
  msgctxt "Template name"
1292
  msgid "Create a %s"
1293
  msgstr ""
4
  msgstr ""
5
  "Project-Id-Version: Everest Forms 1.1.4\n"
6
  "Report-Msgid-Bugs-To: https://github.com/wpeverest/everest-forms/issues\n"
7
+ "POT-Creation-Date: 2018-05-03 11:14:53+00:00\n"
8
  "MIME-Version: 1.0\n"
9
  "Content-Type: text/plain; charset=utf-8\n"
10
  "Content-Transfer-Encoding: 8bit\n"
177
  msgstr ""
178
 
179
  #: includes/admin/class-evf-add-form.php:66
180
+ #: includes/admin/class-evf-admin-assets.php:59
181
  msgid "Close"
182
  msgstr ""
183
 
186
  msgstr ""
187
 
188
  #: includes/admin/class-evf-add-form.php:91
189
+ #: includes/admin/class-evf-admin-assets.php:60
190
  msgid "Cancel"
191
  msgstr ""
192
 
193
+ #: includes/admin/class-evf-admin-assets.php:56
194
  msgid "field"
195
  msgstr ""
196
 
197
+ #: includes/admin/class-evf-admin-assets.php:57
198
  #: includes/admin/class-evf-admin-menus.php:289
199
  msgid "Copy of "
200
  msgstr ""
201
 
202
+ #: includes/admin/class-evf-admin-assets.php:58
203
  msgid "OK"
204
  msgstr ""
205
 
206
+ #: includes/admin/class-evf-admin-assets.php:61
207
  msgid "Row Locked"
208
  msgstr ""
209
 
210
+ #: includes/admin/class-evf-admin-assets.php:62
211
  msgid "Single row cannot be deleted."
212
  msgstr ""
213
 
214
+ #: includes/admin/class-evf-admin-assets.php:63
215
  msgid "Field Locked"
216
  msgstr ""
217
 
218
+ #: includes/admin/class-evf-admin-assets.php:64
219
  msgid "This field cannot be deleted or duplicated."
220
  msgstr ""
221
 
222
+ #: includes/admin/class-evf-admin-assets.php:65
223
  msgid "This item must contain at least one choice."
224
  msgstr ""
225
 
226
+ #: includes/admin/class-evf-admin-assets.php:66
227
  msgid "Are you sure you want to delete this row?"
228
  msgstr ""
229
 
230
+ #: includes/admin/class-evf-admin-assets.php:67
231
  msgid "Are you sure you want to delete this field?"
232
  msgstr ""
233
 
234
+ #: includes/admin/class-evf-admin-assets.php:68
235
  msgid "Are you sure you want to duplicate this field?"
236
  msgstr ""
237
 
238
+ #: includes/admin/class-evf-admin-assets.php:125
239
  msgid "EverestForms"
240
  msgstr ""
241
 
347
  msgid "Save"
348
  msgstr ""
349
 
350
+ #: includes/admin/class-evf-admin-form-builder.php:171
351
  #: includes/class-evf-ajax.php:132
352
  msgid "Blank Form"
353
  msgstr ""
354
 
355
+ #: includes/admin/class-evf-admin-form-builder.php:175
356
  #: includes/templates/contact.php:12
357
  msgid "Contact Form"
358
  msgstr ""
359
 
360
+ #: includes/admin/class-evf-admin-form-builder.php:182
361
  #: includes/admin/form-panels/class-evf-settings-panel.php:82
362
  msgid "Form Name"
363
  msgstr ""
364
 
365
+ #: includes/admin/class-evf-admin-form-builder.php:183
366
  msgid "Enter your form name here&hellip;"
367
  msgstr ""
368
 
369
+ #: includes/admin/class-evf-admin-form-builder.php:186
370
  msgid "Select A Template"
371
  msgstr ""
372
 
373
+ #: includes/admin/class-evf-admin-form-builder.php:188
374
  msgid ""
375
  "To speed up the process, you can select from one of our pre-made templates "
376
  "listed below:"
521
  msgid "The changes you made will be lost if you navigate away from this page."
522
  msgstr ""
523
 
524
+ #: includes/admin/class-evf-admin-settings.php:508
525
  msgid ""
526
  "The settings of this image size have been disabled because its values are "
527
  "being overwritten by a filter."
528
  msgstr ""
529
 
530
+ #: includes/admin/class-evf-admin-settings.php:517
531
  msgid "Hard crop?"
532
  msgstr ""
533
 
534
+ #: includes/admin/class-evf-admin-settings.php:544
535
  msgid "Select a page&hellip;"
536
  msgstr ""
537
 
1282
  msgstr[0] ""
1283
  msgstr[1] ""
1284
 
1285
+ #: includes/admin/class-evf-admin-form-builder.php:196
1286
  msgctxt "Template name"
1287
  msgid "%s template"
1288
  msgstr ""
1289
 
1290
+ #: includes/admin/class-evf-admin-form-builder.php:196
1291
  msgctxt "Template name"
1292
  msgid "Create a %s"
1293
  msgstr ""
package-lock.json CHANGED
@@ -26,14 +26,14 @@
26
  "@babel/traverse": "7.0.0-beta.44",
27
  "@babel/types": "7.0.0-beta.44",
28
  "babylon": "7.0.0-beta.44",
29
- "convert-source-map": "1.5.1",
30
- "debug": "3.1.0",
31
- "json5": "0.5.1",
32
- "lodash": "4.17.5",
33
- "micromatch": "2.3.11",
34
- "resolve": "1.7.0",
35
- "semver": "5.5.0",
36
- "source-map": "0.5.7"
37
  },
38
  "dependencies": {
39
  "debug": {
@@ -57,7 +57,7 @@
57
  "integrity": "sha512-QdgZ5bjR1WAlpLaO5yHepFvC+o3rCr6wpfE2tpJNMkXdulf2jKomQBdNRQITF3ZKHNlT71syG98yQP03gasgnA==",
58
  "dev": true,
59
  "requires": {
60
- "path-parse": "1.0.5"
61
  }
62
  },
63
  "source-map": {
@@ -75,10 +75,10 @@
75
  "dev": true,
76
  "requires": {
77
  "@babel/types": "7.0.0-beta.44",
78
- "jsesc": "2.5.1",
79
- "lodash": "4.17.5",
80
- "source-map": "0.5.7",
81
- "trim-right": "1.0.1"
82
  },
83
  "dependencies": {
84
  "lodash": {
@@ -141,9 +141,9 @@
141
  "integrity": "sha512-Il19yJvy7vMFm8AVAh6OZzaFoAd0hbkeMZiX3P5HGD+z7dyI7RzndHB0dg6Urh/VAFfHtpOIzDUSxmY6coyZWQ==",
142
  "dev": true,
143
  "requires": {
144
- "chalk": "2.3.2",
145
- "esutils": "2.0.2",
146
- "js-tokens": "3.0.2"
147
  }
148
  },
149
  "@babel/template": {
@@ -155,7 +155,7 @@
155
  "@babel/code-frame": "7.0.0-beta.44",
156
  "@babel/types": "7.0.0-beta.44",
157
  "babylon": "7.0.0-beta.44",
158
- "lodash": "4.17.5"
159
  },
160
  "dependencies": {
161
  "lodash": {
@@ -178,10 +178,10 @@
178
  "@babel/helper-split-export-declaration": "7.0.0-beta.44",
179
  "@babel/types": "7.0.0-beta.44",
180
  "babylon": "7.0.0-beta.44",
181
- "debug": "3.1.0",
182
- "globals": "11.4.0",
183
- "invariant": "2.2.4",
184
- "lodash": "4.17.5"
185
  },
186
  "dependencies": {
187
  "debug": {
@@ -207,9 +207,9 @@
207
  "integrity": "sha512-5eTV4WRmqbaFM3v9gHAIljEQJU4Ssc6fxL61JN+Oe2ga/BwyjzjamwkCVVAQjHGuAX8i0BWo42dshL8eO5KfLQ==",
208
  "dev": true,
209
  "requires": {
210
- "esutils": "2.0.2",
211
- "lodash": "4.17.5",
212
- "to-fast-properties": "2.0.0"
213
  },
214
  "dependencies": {
215
  "lodash": {
@@ -226,8 +226,8 @@
226
  "integrity": "sha512-bPHp6Ji8b41szTOcaP63VlnbbO5Ny6dwAATtY6JTjh5N2OLrb5Qk/Th5cRkRQhkWCt+EJsYrNB0MiL+Gpn6e3g==",
227
  "dev": true,
228
  "requires": {
229
- "call-me-maybe": "1.0.1",
230
- "glob-to-regexp": "0.3.0"
231
  }
232
  },
233
  "abbrev": {
@@ -242,7 +242,7 @@
242
  "integrity": "sha1-63d99gEXI6OxTopywIBcjoZ0a9I=",
243
  "dev": true,
244
  "requires": {
245
- "mime-types": "2.1.18",
246
  "negotiator": "0.6.1"
247
  }
248
  },
@@ -258,8 +258,8 @@
258
  "integrity": "sha1-gv+wKynmYq5TvcIK8VlHcGc5xTY=",
259
  "dev": true,
260
  "requires": {
261
- "co": "4.6.0",
262
- "json-stable-stringify": "1.0.1"
263
  }
264
  },
265
  "ajv-keywords": {
@@ -280,7 +280,7 @@
280
  "integrity": "sha512-SFKX67auSNoVR38N3L+nvsPjOE0bybKTYbkf5tRvushrAPQ9V75huw0ZxBkKVeRU9kqH3d6HA4xTckbwZ4ixmA==",
281
  "dev": true,
282
  "requires": {
283
- "ansi-wrap": "0.1.0"
284
  }
285
  },
286
  "ansi-gray": {
@@ -304,7 +304,7 @@
304
  "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==",
305
  "dev": true,
306
  "requires": {
307
- "color-convert": "1.9.1"
308
  }
309
  },
310
  "ansi-wrap": {
@@ -319,8 +319,8 @@
319
  "integrity": "sha512-0XNayC8lTHQ2OI8aljNCN3sSx6hsr/1+rlcDAotXJR7C1oZZHCNsfpbKwMjRA3Uqb5tF1Rae2oloTr4xpq+WjA==",
320
  "dev": true,
321
  "requires": {
322
- "micromatch": "2.3.11",
323
- "normalize-path": "2.1.1"
324
  }
325
  },
326
  "append-buffer": {
@@ -329,7 +329,7 @@
329
  "integrity": "sha1-2CIM9GYIFSXv6lBhTz3mUU36WPE=",
330
  "dev": true,
331
  "requires": {
332
- "buffer-equal": "1.0.0"
333
  }
334
  },
335
  "aproba": {
@@ -344,15 +344,15 @@
344
  "integrity": "sha1-TyGU1tj5nfP1MeaIHxTxXVX6ryI=",
345
  "dev": true,
346
  "requires": {
347
- "archiver-utils": "1.3.0",
348
- "async": "2.6.0",
349
- "buffer-crc32": "0.2.13",
350
- "glob": "7.0.6",
351
- "lodash": "4.17.5",
352
- "readable-stream": "2.3.6",
353
- "tar-stream": "1.5.5",
354
- "walkdir": "0.0.11",
355
- "zip-stream": "1.2.0"
356
  },
357
  "dependencies": {
358
  "async": {
@@ -361,7 +361,7 @@
361
  "integrity": "sha512-xAfGg1/NTLBBKlHFmnd7PlmUW9KhVQIUuSrYem9xzFUZy13ScvtyGGejaae9iAVRiRq9+Cx7DPFaAAhCpyxyPw==",
362
  "dev": true,
363
  "requires": {
364
- "lodash": "4.17.5"
365
  }
366
  },
367
  "lodash": {
@@ -378,12 +378,12 @@
378
  "integrity": "sha1-5QtMCccL89aA4y/xt5lOn52JUXQ=",
379
  "dev": true,
380
  "requires": {
381
- "glob": "7.0.6",
382
- "graceful-fs": "4.1.11",
383
- "lazystream": "1.0.0",
384
- "lodash": "4.17.5",
385
- "normalize-path": "2.1.1",
386
- "readable-stream": "2.3.6"
387
  },
388
  "dependencies": {
389
  "lodash": {
@@ -406,8 +406,8 @@
406
  "integrity": "sha1-u13KOCu5TwXhUZQ3PRb9O6HKEQ0=",
407
  "dev": true,
408
  "requires": {
409
- "delegates": "1.0.0",
410
- "readable-stream": "2.3.6"
411
  }
412
  },
413
  "argparse": {
@@ -416,7 +416,7 @@
416
  "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==",
417
  "dev": true,
418
  "requires": {
419
- "sprintf-js": "1.0.3"
420
  },
421
  "dependencies": {
422
  "sprintf-js": {
@@ -433,7 +433,7 @@
433
  "integrity": "sha1-jzuCf5Vai9ZpaX5KQlasPOrjVs8=",
434
  "dev": true,
435
  "requires": {
436
- "arr-flatten": "1.1.0"
437
  }
438
  },
439
  "arr-filter": {
@@ -442,7 +442,7 @@
442
  "integrity": "sha1-Q/3d0JHo7xGqTEXZzcGOLf8XEe4=",
443
  "dev": true,
444
  "requires": {
445
- "make-iterator": "1.0.1"
446
  }
447
  },
448
  "arr-flatten": {
@@ -457,7 +457,7 @@
457
  "integrity": "sha1-Onc0X/wc814qkYJWAfnljy4kysQ=",
458
  "dev": true,
459
  "requires": {
460
- "make-iterator": "1.0.1"
461
  }
462
  },
463
  "arr-union": {
@@ -484,8 +484,8 @@
484
  "integrity": "sha1-L6dLJnOTccOUe9enrcc74zSz15U=",
485
  "dev": true,
486
  "requires": {
487
- "array-slice": "1.1.0",
488
- "is-number": "4.0.0"
489
  },
490
  "dependencies": {
491
  "is-number": {
@@ -508,7 +508,7 @@
508
  "integrity": "sha512-eOCut5rXlI6aCOS7Z7kCplKRKyiFQ6dHFBem4PwlwKeNFk2/XxTrhRh5T9PyaEWGy/NHTZWbY+nsZlNFJu9rYg==",
509
  "dev": true,
510
  "requires": {
511
- "is-number": "4.0.0"
512
  },
513
  "dependencies": {
514
  "is-number": {
@@ -531,9 +531,9 @@
531
  "integrity": "sha512-ihLeJkonmdiAsD7vpgN3CRcx2J2S0TiYW+IS/5zHBI7mKUq3ySvBdzzBfD236ubDBQFiiyG3SWCPc+msQ9KoYg==",
532
  "dev": true,
533
  "requires": {
534
- "default-compare": "1.0.0",
535
- "get-value": "2.0.6",
536
- "kind-of": "5.1.0"
537
  },
538
  "dependencies": {
539
  "kind-of": {
@@ -550,7 +550,7 @@
550
  "integrity": "sha1-mjRBDk9OPaI96jdb5b5w8kd47Dk=",
551
  "dev": true,
552
  "requires": {
553
- "array-uniq": "1.0.3"
554
  }
555
  },
556
  "array-uniq": {
@@ -607,10 +607,10 @@
607
  "integrity": "sha512-mxc+yISkb0vjsuvG3dJCIZXzRWjKndQ9Zo9zNDJ1K2wh9eP0E0oGmOWm+4cFOvW4dA0tGFImTW5tQJHCtn1kIQ==",
608
  "dev": true,
609
  "requires": {
610
- "end-of-stream": "1.4.1",
611
- "once": "1.4.0",
612
- "process-nextick-args": "1.0.7",
613
- "stream-exhaust": "1.0.2"
614
  },
615
  "dependencies": {
616
  "process-nextick-args": {
@@ -651,7 +651,7 @@
651
  "integrity": "sha1-HQqRS7Aldb7IqPOnTlCA9yssDGs=",
652
  "dev": true,
653
  "requires": {
654
- "async-done": "1.2.4"
655
  }
656
  },
657
  "asynckit": {
@@ -667,17 +667,17 @@
667
  "dev": true
668
  },
669
  "autoprefixer": {
670
- "version": "8.2.0",
671
- "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-8.2.0.tgz",
672
- "integrity": "sha512-xBVQpGAcSNNS1PBnEfT+F9VF8ZJeoKZ121I3OVQ0n1F0SqVuj4oLI6yFeEviPV8Z/GjoqBRXcYis0oSS8zjNEg==",
673
  "dev": true,
674
  "requires": {
675
- "browserslist": "3.2.4",
676
- "caniuse-lite": "1.0.30000828",
677
- "normalize-range": "0.1.2",
678
- "num2fraction": "1.2.2",
679
- "postcss": "6.0.21",
680
- "postcss-value-parser": "3.3.0"
681
  }
682
  },
683
  "aws-sign2": {
@@ -692,6 +692,16 @@
692
  "integrity": "sha512-32NDda82rhwD9/JBCCkB+MRYDp0oSvlo2IL6rQWA10PQi7tDUM3eqMSltXmY+Oyl/7N3P3qNtAlv7X0d9bI28w==",
693
  "dev": true
694
  },
 
 
 
 
 
 
 
 
 
 
695
  "babylon": {
696
  "version": "7.0.0-beta.44",
697
  "resolved": "https://registry.npmjs.org/babylon/-/babylon-7.0.0-beta.44.tgz",
@@ -704,15 +714,15 @@
704
  "integrity": "sha1-Szzpa/JxNPeaG0FKUcFONMO9mIA=",
705
  "dev": true,
706
  "requires": {
707
- "arr-filter": "1.1.2",
708
- "arr-flatten": "1.1.0",
709
- "arr-map": "2.0.2",
710
- "array-each": "1.0.1",
711
- "array-initial": "1.1.0",
712
- "array-last": "1.3.0",
713
- "async-done": "1.2.4",
714
- "async-settle": "1.0.0",
715
- "now-and-later": "2.0.0"
716
  }
717
  },
718
  "backo2": {
@@ -739,13 +749,13 @@
739
  "integrity": "sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==",
740
  "dev": true,
741
  "requires": {
742
- "cache-base": "1.0.1",
743
- "class-utils": "0.3.6",
744
- "component-emitter": "1.2.1",
745
- "define-property": "1.0.0",
746
- "isobject": "3.0.1",
747
- "mixin-deep": "1.3.1",
748
- "pascalcase": "0.1.1"
749
  },
750
  "dependencies": {
751
  "define-property": {
@@ -754,7 +764,7 @@
754
  "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=",
755
  "dev": true,
756
  "requires": {
757
- "is-descriptor": "1.0.2"
758
  }
759
  },
760
  "is-accessor-descriptor": {
@@ -763,7 +773,7 @@
763
  "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==",
764
  "dev": true,
765
  "requires": {
766
- "kind-of": "6.0.2"
767
  }
768
  },
769
  "is-data-descriptor": {
@@ -772,7 +782,7 @@
772
  "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==",
773
  "dev": true,
774
  "requires": {
775
- "kind-of": "6.0.2"
776
  }
777
  },
778
  "is-descriptor": {
@@ -781,9 +791,9 @@
781
  "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==",
782
  "dev": true,
783
  "requires": {
784
- "is-accessor-descriptor": "1.0.0",
785
- "is-data-descriptor": "1.0.0",
786
- "kind-of": "6.0.2"
787
  }
788
  },
789
  "isobject": {
@@ -825,7 +835,7 @@
825
  "dev": true,
826
  "optional": true,
827
  "requires": {
828
- "tweetnacl": "0.14.5"
829
  }
830
  },
831
  "better-assert": {
@@ -849,8 +859,8 @@
849
  "integrity": "sha512-e8tQYnZodmebYDWGH7KMRvtzKXaJHx3BbilrgZCfvyLUYdKpK1t5PSPmpkny/SgiTSCnjfLW7v5rlONXVFkQEA==",
850
  "dev": true,
851
  "requires": {
852
- "readable-stream": "2.3.6",
853
- "safe-buffer": "5.1.1"
854
  }
855
  },
856
  "blob": {
@@ -865,7 +875,7 @@
865
  "integrity": "sha1-E+v+d4oDIFz+A3UUgeu0szAMEmo=",
866
  "dev": true,
867
  "requires": {
868
- "inherits": "2.0.3"
869
  }
870
  },
871
  "bluebird": {
@@ -881,17 +891,23 @@
881
  "dev": true,
882
  "requires": {
883
  "bytes": "2.2.0",
884
- "content-type": "1.0.4",
885
- "debug": "2.2.0",
886
- "depd": "1.1.2",
887
- "http-errors": "1.3.1",
888
  "iconv-lite": "0.4.13",
889
- "on-finished": "2.3.0",
890
  "qs": "5.2.0",
891
- "raw-body": "2.1.7",
892
- "type-is": "1.6.16"
893
  },
894
  "dependencies": {
 
 
 
 
 
 
895
  "debug": {
896
  "version": "2.2.0",
897
  "resolved": "https://registry.npmjs.org/debug/-/debug-2.2.0.tgz",
@@ -907,8 +923,8 @@
907
  "integrity": "sha1-GX4izevUGYWF6GlO9nhhl7ke2UI=",
908
  "dev": true,
909
  "requires": {
910
- "inherits": "2.0.3",
911
- "statuses": "1.3.1"
912
  }
913
  },
914
  "iconv-lite": {
@@ -928,6 +944,25 @@
928
  "resolved": "https://registry.npmjs.org/qs/-/qs-5.2.0.tgz",
929
  "integrity": "sha1-qfMRQq9GjLcrJbMBNrokVoNJFr4=",
930
  "dev": true
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
931
  }
932
  }
933
  },
@@ -937,7 +972,7 @@
937
  "integrity": "sha1-OciRjO/1eZ+D+UkqhI9iWt0Mdm8=",
938
  "dev": true,
939
  "requires": {
940
- "hoek": "2.16.3"
941
  }
942
  },
943
  "brace-expansion": {
@@ -946,7 +981,7 @@
946
  "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==",
947
  "dev": true,
948
  "requires": {
949
- "balanced-match": "1.0.0",
950
  "concat-map": "0.0.1"
951
  }
952
  },
@@ -956,43 +991,43 @@
956
  "integrity": "sha1-uneWLhLf+WnWt2cR6RS3N4V79qc=",
957
  "dev": true,
958
  "requires": {
959
- "expand-range": "1.8.2",
960
- "preserve": "0.2.0",
961
- "repeat-element": "1.1.2"
962
  }
963
  },
964
  "browser-sync": {
965
- "version": "2.23.6",
966
- "resolved": "https://registry.npmjs.org/browser-sync/-/browser-sync-2.23.6.tgz",
967
- "integrity": "sha512-loCO5NQKZXfBJrEvmLwF1TPSECCsPopNd29qduoysLmpw8op2lgolGMjz3oI/MjG4duzB9TfDs7k58djRSwPwg==",
968
  "dev": true,
969
  "requires": {
970
- "browser-sync-ui": "1.0.1",
971
  "bs-recipes": "1.3.4",
972
  "chokidar": "1.7.0",
973
  "connect": "3.5.0",
974
- "connect-history-api-fallback": "1.5.0",
975
- "dev-ip": "1.0.1",
976
  "easy-extender": "2.3.2",
977
  "eazy-logger": "3.0.2",
978
- "emitter-steward": "1.0.0",
979
- "etag": "1.8.1",
980
- "fresh": "0.5.2",
981
  "fs-extra": "3.0.1",
982
  "http-proxy": "1.15.2",
983
  "immutable": "3.8.2",
984
- "localtunnel": "1.8.3",
985
  "micromatch": "2.3.11",
986
  "opn": "4.0.2",
987
  "portscanner": "2.1.1",
988
- "qs": "6.2.1",
 
989
  "resp-modifier": "6.0.2",
990
  "rx": "4.1.0",
991
  "serve-index": "1.8.0",
992
- "serve-static": "1.12.2",
993
  "server-destroy": "1.0.1",
994
  "socket.io": "2.0.4",
995
- "ua-parser-js": "0.7.12",
996
  "yargs": "6.4.0"
997
  }
998
  },
@@ -1003,11 +1038,11 @@
1003
  "dev": true,
1004
  "requires": {
1005
  "async-each-series": "0.1.1",
1006
- "connect-history-api-fallback": "1.5.0",
1007
- "immutable": "3.8.2",
1008
  "server-destroy": "1.0.1",
1009
  "socket.io-client": "2.0.4",
1010
- "stream-throttle": "0.1.3"
1011
  }
1012
  },
1013
  "browserify-zlib": {
@@ -1016,17 +1051,17 @@
1016
  "integrity": "sha1-uzX4pRn2AOD6a4SFJByXnQFB+y0=",
1017
  "dev": true,
1018
  "requires": {
1019
- "pako": "0.2.9"
1020
  }
1021
  },
1022
  "browserslist": {
1023
- "version": "3.2.4",
1024
- "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-3.2.4.tgz",
1025
- "integrity": "sha512-Dwe62y/fNAcMfknzGJnkh7feISrrN0SmRvMFozb+Y2+qg7rfTIH5MS8yHzaIXcEWl8fPeIcdhZNQi1Lux+7dlg==",
1026
  "dev": true,
1027
  "requires": {
1028
- "caniuse-lite": "1.0.30000828",
1029
- "electron-to-chromium": "1.3.42"
1030
  }
1031
  },
1032
  "bs-recipes": {
@@ -1060,9 +1095,9 @@
1060
  "dev": true
1061
  },
1062
  "bytes": {
1063
- "version": "2.2.0",
1064
- "resolved": "https://registry.npmjs.org/bytes/-/bytes-2.2.0.tgz",
1065
- "integrity": "sha1-/TVGSkA/b5EXwt42Cez/nK4ABYg=",
1066
  "dev": true
1067
  },
1068
  "cache-base": {
@@ -1071,15 +1106,15 @@
1071
  "integrity": "sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==",
1072
  "dev": true,
1073
  "requires": {
1074
- "collection-visit": "1.0.0",
1075
- "component-emitter": "1.2.1",
1076
- "get-value": "2.0.6",
1077
- "has-value": "1.0.0",
1078
- "isobject": "3.0.1",
1079
- "set-value": "2.0.0",
1080
- "to-object-path": "0.3.0",
1081
- "union-value": "1.0.0",
1082
- "unset-value": "1.0.0"
1083
  },
1084
  "dependencies": {
1085
  "isobject": {
@@ -1103,9 +1138,9 @@
1103
  "dev": true
1104
  },
1105
  "camelcase": {
1106
- "version": "1.2.1",
1107
- "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-1.2.1.tgz",
1108
- "integrity": "sha1-m7UwTS4LVmmLLHWLCKPqqdqlijk=",
1109
  "dev": true
1110
  },
1111
  "camelcase-keys": {
@@ -1114,8 +1149,8 @@
1114
  "integrity": "sha1-MIvur/3ygRkFHvodkyITyRuPkuc=",
1115
  "dev": true,
1116
  "requires": {
1117
- "camelcase": "2.1.1",
1118
- "map-obj": "1.0.1"
1119
  },
1120
  "dependencies": {
1121
  "camelcase": {
@@ -1127,9 +1162,9 @@
1127
  }
1128
  },
1129
  "caniuse-lite": {
1130
- "version": "1.0.30000828",
1131
- "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30000828.tgz",
1132
- "integrity": "sha512-v+ySC6Ih8N8CyGZYd4svPipuFIqskKsTOi18chFM0qtu1G8mGuSYajb+h49XDWgmzX8MRDOp1Agw6KQaPUdIhg==",
1133
  "dev": true
1134
  },
1135
  "caseless": {
@@ -1150,9 +1185,9 @@
1150
  "integrity": "sha512-ZM4j2/ld/YZDc3Ma8PgN7gyAk+kHMMMyzLNryCPGhWrsfAuDVeuid5bpRFTDgMH9JBK2lA4dyyAkkZYF/WcqDQ==",
1151
  "dev": true,
1152
  "requires": {
1153
- "ansi-styles": "3.2.1",
1154
- "escape-string-regexp": "1.0.5",
1155
- "supports-color": "5.3.0"
1156
  }
1157
  },
1158
  "character-entities": {
@@ -1185,6 +1220,7 @@
1185
  "integrity": "sha1-eY5ol3gVHIB2tLNg5e3SjNortGg=",
1186
  "dev": true,
1187
  "requires": {
 
1188
  "anymatch": "1.3.2",
1189
  "async-each": "1.0.1",
1190
  "glob-parent": "2.0.0",
@@ -1193,6 +1229,17 @@
1193
  "is-glob": "2.0.1",
1194
  "path-is-absolute": "1.0.1",
1195
  "readdirp": "2.1.0"
 
 
 
 
 
 
 
 
 
 
 
1196
  }
1197
  },
1198
  "chownr": {
@@ -1214,10 +1261,10 @@
1214
  "integrity": "sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg==",
1215
  "dev": true,
1216
  "requires": {
1217
- "arr-union": "3.1.0",
1218
- "define-property": "0.2.5",
1219
- "isobject": "3.0.1",
1220
- "static-extend": "0.1.2"
1221
  },
1222
  "dependencies": {
1223
  "define-property": {
@@ -1226,7 +1273,7 @@
1226
  "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
1227
  "dev": true,
1228
  "requires": {
1229
- "is-descriptor": "0.1.6"
1230
  }
1231
  },
1232
  "isobject": {
@@ -1243,7 +1290,7 @@
1243
  "integrity": "sha1-Ls3xRaujj1R0DybO/Q/z4D4SXWo=",
1244
  "dev": true,
1245
  "requires": {
1246
- "source-map": "0.5.7"
1247
  },
1248
  "dependencies": {
1249
  "source-map": {
@@ -1261,7 +1308,7 @@
1261
  "dev": true,
1262
  "requires": {
1263
  "exit": "0.1.2",
1264
- "glob": "7.1.2"
1265
  },
1266
  "dependencies": {
1267
  "glob": {
@@ -1270,12 +1317,12 @@
1270
  "integrity": "sha512-MJTUg1kjuLeQCJ+ccE4Vpa6kKVXkPYJ2mOCQyUuKLcLQsdrMCpBPUi8qVE6+YuaJkozeA9NusTAw3hLr8Xe5EQ==",
1271
  "dev": true,
1272
  "requires": {
1273
- "fs.realpath": "1.0.0",
1274
- "inflight": "1.0.6",
1275
- "inherits": "2.0.3",
1276
- "minimatch": "3.0.4",
1277
- "once": "1.4.0",
1278
- "path-is-absolute": "1.0.1"
1279
  }
1280
  }
1281
  }
@@ -1286,9 +1333,9 @@
1286
  "integrity": "sha1-EgYBU3qRbSmUD5NNo7SNWFo5IT0=",
1287
  "dev": true,
1288
  "requires": {
1289
- "string-width": "1.0.2",
1290
- "strip-ansi": "3.0.1",
1291
- "wrap-ansi": "2.1.0"
1292
  }
1293
  },
1294
  "clone": {
@@ -1309,8 +1356,8 @@
1309
  "integrity": "sha512-Fcij9IwRW27XedRIJnSOEupS7RVcXtObJXbcUOX93UCLqqOdRpkvzKywOOSizmEK/Is3S/RHX9dLdfo6R1Q1mw==",
1310
  "dev": true,
1311
  "requires": {
1312
- "is-regexp": "1.0.0",
1313
- "is-supported-regexp-flag": "1.0.1"
1314
  }
1315
  },
1316
  "clone-stats": {
@@ -1325,9 +1372,9 @@
1325
  "integrity": "sha512-Bq6+4t+lbM8vhTs/Bef5c5AdEMtapp/iFb6+s4/Hh9MVTt8OLKH7ZOOZSCT+Ys7hsHvqv0GuMPJ1lnQJVHvxpg==",
1326
  "dev": true,
1327
  "requires": {
1328
- "inherits": "2.0.3",
1329
- "process-nextick-args": "2.0.0",
1330
- "readable-stream": "2.3.6"
1331
  }
1332
  },
1333
  "co": {
@@ -1360,9 +1407,9 @@
1360
  "integrity": "sha1-rqDwb40mx4DCt1SUOFVEsiVa8Yw=",
1361
  "dev": true,
1362
  "requires": {
1363
- "arr-map": "2.0.2",
1364
- "for-own": "1.0.0",
1365
- "make-iterator": "1.0.1"
1366
  },
1367
  "dependencies": {
1368
  "for-own": {
@@ -1371,7 +1418,7 @@
1371
  "integrity": "sha1-xjMy9BXO3EsE2/5wz4NklMU8tEs=",
1372
  "dev": true,
1373
  "requires": {
1374
- "for-in": "1.0.2"
1375
  }
1376
  }
1377
  }
@@ -1382,8 +1429,8 @@
1382
  "integrity": "sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA=",
1383
  "dev": true,
1384
  "requires": {
1385
- "map-visit": "1.0.0",
1386
- "object-visit": "1.0.1"
1387
  }
1388
  },
1389
  "color-convert": {
@@ -1392,7 +1439,7 @@
1392
  "integrity": "sha512-mjGanIiwQJskCC18rPR6OmrZ6fm2Lc7PeGFYwCmy5J34wC6F1PzdGL6xeMfmgicfYcNLGuVFA3WzXtIDCQSZxQ==",
1393
  "dev": true,
1394
  "requires": {
1395
- "color-name": "1.1.3"
1396
  }
1397
  },
1398
  "color-name": {
@@ -1419,7 +1466,7 @@
1419
  "integrity": "sha1-cj599ugBrFYTETp+RFqbactjKBg=",
1420
  "dev": true,
1421
  "requires": {
1422
- "delayed-stream": "1.0.0"
1423
  }
1424
  },
1425
  "commander": {
@@ -1452,10 +1499,10 @@
1452
  "integrity": "sha1-UkqfEJA/OoEzibAiXSfEi7dRiQ8=",
1453
  "dev": true,
1454
  "requires": {
1455
- "buffer-crc32": "0.2.13",
1456
- "crc32-stream": "2.0.0",
1457
- "normalize-path": "2.1.1",
1458
- "readable-stream": "2.3.6"
1459
  }
1460
  },
1461
  "concat-map": {
@@ -1470,10 +1517,10 @@
1470
  "integrity": "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==",
1471
  "dev": true,
1472
  "requires": {
1473
- "buffer-from": "1.0.0",
1474
- "inherits": "2.0.3",
1475
- "readable-stream": "2.3.6",
1476
- "typedarray": "0.0.6"
1477
  }
1478
  },
1479
  "connect": {
@@ -1482,9 +1529,9 @@
1482
  "integrity": "sha1-s1dSWgtMH1BZnNmD4dnv7qlncZg=",
1483
  "dev": true,
1484
  "requires": {
1485
- "debug": "2.2.0",
1486
  "finalhandler": "0.5.0",
1487
- "parseurl": "1.3.2",
1488
  "utils-merge": "1.0.0"
1489
  },
1490
  "dependencies": {
@@ -1517,7 +1564,7 @@
1517
  "integrity": "sha1-8CQcRXMKn8YyOyBtvzjtx0HQuxA=",
1518
  "dev": true,
1519
  "requires": {
1520
- "date-now": "0.1.4"
1521
  }
1522
  },
1523
  "console-control-strings": {
@@ -1556,8 +1603,8 @@
1556
  "integrity": "sha1-Zl/DIEbKhKiYq6o8WUXn8kjMugA=",
1557
  "dev": true,
1558
  "requires": {
1559
- "each-props": "1.3.1",
1560
- "is-plain-object": "2.0.4"
1561
  }
1562
  },
1563
  "core-util-is": {
@@ -1572,10 +1619,10 @@
1572
  "integrity": "sha512-6e5vDdrXZD+t5v0L8CrurPeybg4Fmf+FCSYxXKYVAqLUtyCSbuyqE059d0kDthTNRzKVjL7QMgNpEUlsoYH3iQ==",
1573
  "dev": true,
1574
  "requires": {
1575
- "is-directory": "0.3.1",
1576
- "js-yaml": "3.11.0",
1577
- "parse-json": "4.0.0",
1578
- "require-from-string": "2.0.2"
1579
  },
1580
  "dependencies": {
1581
  "esprima": {
@@ -1590,8 +1637,8 @@
1590
  "integrity": "sha512-saJstZWv7oNeOyBh3+Dx1qWzhW0+e6/8eDzo7p5rDFqxntSztloLtuKu+Ejhtq82jsilwOIZYsCz+lIjthg1Hw==",
1591
  "dev": true,
1592
  "requires": {
1593
- "argparse": "1.0.10",
1594
- "esprima": "4.0.0"
1595
  }
1596
  },
1597
  "parse-json": {
@@ -1600,8 +1647,8 @@
1600
  "integrity": "sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA=",
1601
  "dev": true,
1602
  "requires": {
1603
- "error-ex": "1.3.1",
1604
- "json-parse-better-errors": "1.0.2"
1605
  }
1606
  }
1607
  }
@@ -1618,8 +1665,8 @@
1618
  "integrity": "sha1-483TtN8xaN10494/u8t7KX/pCPQ=",
1619
  "dev": true,
1620
  "requires": {
1621
- "crc": "3.5.0",
1622
- "readable-stream": "2.3.6"
1623
  }
1624
  },
1625
  "cross-spawn": {
@@ -1628,8 +1675,8 @@
1628
  "integrity": "sha1-ElYDfsufDF9549bvE14wdwGEuYI=",
1629
  "dev": true,
1630
  "requires": {
1631
- "lru-cache": "4.1.2",
1632
- "which": "1.2.14"
1633
  }
1634
  },
1635
  "cryptiles": {
@@ -1638,7 +1685,7 @@
1638
  "integrity": "sha1-O9/s3GCBR8HGcgL6KR59ylnqo7g=",
1639
  "dev": true,
1640
  "requires": {
1641
- "boom": "2.10.1"
1642
  }
1643
  },
1644
  "currently-unhandled": {
@@ -1647,7 +1694,7 @@
1647
  "integrity": "sha1-mI3zP+qxke95mmE2nddsF635V+o=",
1648
  "dev": true,
1649
  "requires": {
1650
- "array-find-index": "1.0.2"
1651
  }
1652
  },
1653
  "d": {
@@ -1656,7 +1703,7 @@
1656
  "integrity": "sha1-dUu1v+VUUdpppYuU1F9MWwRi1Y8=",
1657
  "dev": true,
1658
  "requires": {
1659
- "es5-ext": "0.10.42"
1660
  }
1661
  },
1662
  "dashdash": {
@@ -1665,7 +1712,7 @@
1665
  "integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=",
1666
  "dev": true,
1667
  "requires": {
1668
- "assert-plus": "1.0.0"
1669
  },
1670
  "dependencies": {
1671
  "assert-plus": {
@@ -1688,8 +1735,8 @@
1688
  "integrity": "sha1-nxJLZ1lMk3/3BpMuSmQsyo27/uk=",
1689
  "dev": true,
1690
  "requires": {
1691
- "get-stdin": "4.0.1",
1692
- "meow": "3.7.0"
1693
  }
1694
  },
1695
  "debug": {
@@ -1713,8 +1760,8 @@
1713
  "integrity": "sha1-0XGoeTMlKAfrPLYdwcFEXQeN8tk=",
1714
  "dev": true,
1715
  "requires": {
1716
- "decamelize": "1.2.0",
1717
- "map-obj": "1.0.1"
1718
  }
1719
  },
1720
  "decode-uri-component": {
@@ -1730,7 +1777,7 @@
1730
  "dev": true,
1731
  "optional": true,
1732
  "requires": {
1733
- "mimic-response": "1.0.0"
1734
  }
1735
  },
1736
  "deep-extend": {
@@ -1746,7 +1793,7 @@
1746
  "integrity": "sha512-QWfXlM0EkAbqOCbD/6HjdwT19j7WCkMyiRhWilc4H9/5h/RzTF9gv5LYh1+CmDV5d1rki6KAWLtQale0xt20eQ==",
1747
  "dev": true,
1748
  "requires": {
1749
- "kind-of": "5.1.0"
1750
  },
1751
  "dependencies": {
1752
  "kind-of": {
@@ -1769,8 +1816,8 @@
1769
  "integrity": "sha1-g6c/L+pWmJj7c3GTyPhzyvbUXJQ=",
1770
  "dev": true,
1771
  "requires": {
1772
- "foreach": "2.0.5",
1773
- "object-keys": "1.0.11"
1774
  }
1775
  },
1776
  "define-property": {
@@ -1779,8 +1826,8 @@
1779
  "integrity": "sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==",
1780
  "dev": true,
1781
  "requires": {
1782
- "is-descriptor": "1.0.2",
1783
- "isobject": "3.0.1"
1784
  },
1785
  "dependencies": {
1786
  "is-accessor-descriptor": {
@@ -1789,7 +1836,7 @@
1789
  "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==",
1790
  "dev": true,
1791
  "requires": {
1792
- "kind-of": "6.0.2"
1793
  }
1794
  },
1795
  "is-data-descriptor": {
@@ -1798,7 +1845,7 @@
1798
  "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==",
1799
  "dev": true,
1800
  "requires": {
1801
- "kind-of": "6.0.2"
1802
  }
1803
  },
1804
  "is-descriptor": {
@@ -1807,9 +1854,9 @@
1807
  "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==",
1808
  "dev": true,
1809
  "requires": {
1810
- "is-accessor-descriptor": "1.0.0",
1811
- "is-data-descriptor": "1.0.0",
1812
- "kind-of": "6.0.2"
1813
  }
1814
  },
1815
  "isobject": {
@@ -1832,13 +1879,13 @@
1832
  "integrity": "sha1-wSyYHQZ4RshLyvhiz/kw2Qf/0ag=",
1833
  "dev": true,
1834
  "requires": {
1835
- "globby": "5.0.0",
1836
- "is-path-cwd": "1.0.0",
1837
- "is-path-in-cwd": "1.0.1",
1838
- "object-assign": "4.1.1",
1839
- "pify": "2.3.0",
1840
- "pinkie-promise": "2.0.1",
1841
- "rimraf": "2.2.8"
1842
  },
1843
  "dependencies": {
1844
  "globby": {
@@ -1847,12 +1894,12 @@
1847
  "integrity": "sha1-69hGZ8oNuzMLmbz8aOrCvFQ3Dg0=",
1848
  "dev": true,
1849
  "requires": {
1850
- "array-union": "1.0.2",
1851
- "arrify": "1.0.1",
1852
- "glob": "7.0.6",
1853
- "object-assign": "4.1.1",
1854
- "pify": "2.3.0",
1855
- "pinkie-promise": "2.0.1"
1856
  }
1857
  }
1858
  }
@@ -1870,9 +1917,9 @@
1870
  "dev": true
1871
  },
1872
  "depd": {
1873
- "version": "1.1.2",
1874
- "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz",
1875
- "integrity": "sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak=",
1876
  "dev": true
1877
  },
1878
  "destroy": {
@@ -1912,8 +1959,8 @@
1912
  "integrity": "sha512-37qirFDz8cA5fimp9feo43fSuRo2gHwaIn6dXL8Ber1dGwUosDrGZeCCXq57WnIqE4aQ+u3eQZzsk1yOzhdwag==",
1913
  "dev": true,
1914
  "requires": {
1915
- "arrify": "1.0.1",
1916
- "path-type": "3.0.0"
1917
  },
1918
  "dependencies": {
1919
  "path-type": {
@@ -1922,7 +1969,7 @@
1922
  "integrity": "sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg==",
1923
  "dev": true,
1924
  "requires": {
1925
- "pify": "3.0.0"
1926
  }
1927
  },
1928
  "pify": {
@@ -1939,8 +1986,8 @@
1939
  "integrity": "sha1-BzxpdUbOB4DOI75KKOKT5AvDDII=",
1940
  "dev": true,
1941
  "requires": {
1942
- "domelementtype": "1.1.3",
1943
- "entities": "1.1.1"
1944
  },
1945
  "dependencies": {
1946
  "domelementtype": {
@@ -1969,7 +2016,7 @@
1969
  "integrity": "sha1-LeWaCCLVAn+r/28DLCsloqir5zg=",
1970
  "dev": true,
1971
  "requires": {
1972
- "domelementtype": "1.3.0"
1973
  }
1974
  },
1975
  "domutils": {
@@ -1978,8 +2025,8 @@
1978
  "integrity": "sha1-3NhIiib1Y9YQeeSMn3t+Mjc2gs8=",
1979
  "dev": true,
1980
  "requires": {
1981
- "dom-serializer": "0.1.0",
1982
- "domelementtype": "1.3.0"
1983
  }
1984
  },
1985
  "dot-prop": {
@@ -1988,7 +2035,7 @@
1988
  "integrity": "sha512-tUMXrxlExSW6U2EXiiKGSBVdYgtV8qlHL+C10TsW4PURY/ic+eaysnSkwB4kA/mBlCyy/IKDJ+Lc3wbWeaXtuQ==",
1989
  "dev": true,
1990
  "requires": {
1991
- "is-obj": "1.0.1"
1992
  }
1993
  },
1994
  "duplexer": {
@@ -2003,10 +2050,10 @@
2003
  "integrity": "sha512-JzYSLYMhoVVBe8+mbHQ4KgpvHpm0DZpJuL8PY93Vyv1fW7jYJ90LoXa1di/CVbJM+TgMs91rbDapE/RNIfnJsA==",
2004
  "dev": true,
2005
  "requires": {
2006
- "end-of-stream": "1.4.1",
2007
- "inherits": "2.0.3",
2008
- "readable-stream": "2.3.6",
2009
- "stream-shift": "1.0.0"
2010
  }
2011
  },
2012
  "each-async": {
@@ -2015,8 +2062,8 @@
2015
  "integrity": "sha1-3uUim98KtrogEqOV4bhpq/iBNHM=",
2016
  "dev": true,
2017
  "requires": {
2018
- "onetime": "1.1.0",
2019
- "set-immediate-shim": "1.0.1"
2020
  }
2021
  },
2022
  "each-props": {
@@ -2025,8 +2072,8 @@
2025
  "integrity": "sha1-/BOPUeOid0KG1IWOAtbn3kYt4Vg=",
2026
  "dev": true,
2027
  "requires": {
2028
- "is-plain-object": "2.0.4",
2029
- "object.defaults": "1.1.0"
2030
  }
2031
  },
2032
  "easy-extender": {
@@ -2035,7 +2082,7 @@
2035
  "integrity": "sha1-PTJI/r4rFZYHMW2PnPSRwWZIIh0=",
2036
  "dev": true,
2037
  "requires": {
2038
- "lodash": "3.10.1"
2039
  }
2040
  },
2041
  "eazy-logger": {
@@ -2044,7 +2091,7 @@
2044
  "integrity": "sha1-oyWqXlPROiIliJsqxBE7K5Y29Pw=",
2045
  "dev": true,
2046
  "requires": {
2047
- "tfunk": "3.1.0"
2048
  }
2049
  },
2050
  "ecc-jsbn": {
@@ -2054,7 +2101,7 @@
2054
  "dev": true,
2055
  "optional": true,
2056
  "requires": {
2057
- "jsbn": "0.1.1"
2058
  }
2059
  },
2060
  "ee-first": {
@@ -2064,15 +2111,9 @@
2064
  "dev": true
2065
  },
2066
  "electron-to-chromium": {
2067
- "version": "1.3.42",
2068
- "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.42.tgz",
2069
- "integrity": "sha1-lcM78B0MxAVVauyJn+Yf1NduoPk=",
2070
- "dev": true
2071
- },
2072
- "emitter-steward": {
2073
- "version": "1.0.0",
2074
- "resolved": "https://registry.npmjs.org/emitter-steward/-/emitter-steward-1.0.0.tgz",
2075
- "integrity": "sha1-80Ea3pdYp1Zd+Eiy2gy70bRsvWQ=",
2076
  "dev": true
2077
  },
2078
  "encodeurl": {
@@ -2087,7 +2128,7 @@
2087
  "integrity": "sha1-U4tm8+5izRq1HsMjgp0flIDHS+s=",
2088
  "dev": true,
2089
  "requires": {
2090
- "iconv-lite": "0.4.21"
2091
  }
2092
  },
2093
  "end-of-stream": {
@@ -2096,7 +2137,7 @@
2096
  "integrity": "sha512-1MkrZNvWTKCaigbn+W15elq2BB/L22nqrSY5DKlo3X6+vclJm8Bb5djXJBmEX6fS3+zCh/F4VBK5Z2KxJt4s2Q==",
2097
  "dev": true,
2098
  "requires": {
2099
- "once": "1.4.0"
2100
  }
2101
  },
2102
  "engine.io": {
@@ -2105,13 +2146,13 @@
2105
  "integrity": "sha512-D06ivJkYxyRrcEe0bTpNnBQNgP9d3xog+qZlLbui8EsMr/DouQpf5o9FzJnWYHEYE0YsFHllUv2R1dkgYZXHcA==",
2106
  "dev": true,
2107
  "requires": {
2108
- "accepts": "1.3.5",
2109
  "base64id": "1.0.0",
2110
  "cookie": "0.3.1",
2111
- "debug": "3.1.0",
2112
- "engine.io-parser": "2.1.2",
2113
- "uws": "9.14.0",
2114
- "ws": "3.3.3"
2115
  },
2116
  "dependencies": {
2117
  "debug": {
@@ -2133,14 +2174,14 @@
2133
  "requires": {
2134
  "component-emitter": "1.2.1",
2135
  "component-inherit": "0.0.3",
2136
- "debug": "3.1.0",
2137
- "engine.io-parser": "2.1.2",
2138
  "has-cors": "1.1.0",
2139
  "indexof": "0.0.1",
2140
  "parseqs": "0.0.5",
2141
  "parseuri": "0.0.5",
2142
- "ws": "3.3.3",
2143
- "xmlhttprequest-ssl": "1.5.5",
2144
  "yeast": "0.1.2"
2145
  },
2146
  "dependencies": {
@@ -2162,10 +2203,10 @@
2162
  "dev": true,
2163
  "requires": {
2164
  "after": "0.8.2",
2165
- "arraybuffer.slice": "0.0.7",
2166
  "base64-arraybuffer": "0.1.5",
2167
  "blob": "0.0.4",
2168
- "has-binary2": "1.0.2"
2169
  }
2170
  },
2171
  "entities": {
@@ -2180,7 +2221,7 @@
2180
  "integrity": "sha1-+FWobOYa3E6GIcPNoh56dhLDqNw=",
2181
  "dev": true,
2182
  "requires": {
2183
- "is-arrayish": "0.2.1"
2184
  }
2185
  },
2186
  "es5-ext": {
@@ -2189,9 +2230,9 @@
2189
  "integrity": "sha512-AJxO1rmPe1bDEfSR6TJ/FgMFYuTBhR5R57KW58iCkYACMyFbrkqVyzXSurYoScDGvgyMpk7uRF/lPUPPTmsRSA==",
2190
  "dev": true,
2191
  "requires": {
2192
- "es6-iterator": "2.0.3",
2193
- "es6-symbol": "3.1.1",
2194
- "next-tick": "1.0.0"
2195
  }
2196
  },
2197
  "es6-iterator": {
@@ -2200,9 +2241,9 @@
2200
  "integrity": "sha1-p96IkUGgWpSwhUQDstCg+/qY87c=",
2201
  "dev": true,
2202
  "requires": {
2203
- "d": "1.0.0",
2204
- "es5-ext": "0.10.42",
2205
- "es6-symbol": "3.1.1"
2206
  }
2207
  },
2208
  "es6-symbol": {
@@ -2211,8 +2252,8 @@
2211
  "integrity": "sha1-vwDvT9q2uhtG7Le2KbTH7VcVzHc=",
2212
  "dev": true,
2213
  "requires": {
2214
- "d": "1.0.0",
2215
- "es5-ext": "0.10.42"
2216
  }
2217
  },
2218
  "es6-weak-map": {
@@ -2221,10 +2262,10 @@
2221
  "integrity": "sha1-XjqzIlH/0VOKH45f+hNXdy+S2W8=",
2222
  "dev": true,
2223
  "requires": {
2224
- "d": "1.0.0",
2225
- "es5-ext": "0.10.42",
2226
- "es6-iterator": "2.0.3",
2227
- "es6-symbol": "3.1.1"
2228
  }
2229
  },
2230
  "escape-html": {
@@ -2275,7 +2316,7 @@
2275
  "integrity": "sha1-c9CQTjlbPKsGWLCNCewlMH8pu3M=",
2276
  "dev": true,
2277
  "requires": {
2278
- "clone-regexp": "1.0.1"
2279
  }
2280
  },
2281
  "exit": {
@@ -2290,7 +2331,7 @@
2290
  "integrity": "sha1-3wcoTjQqgHzXM6xa9yQR5YHRF3s=",
2291
  "dev": true,
2292
  "requires": {
2293
- "is-posix-bracket": "0.1.1"
2294
  }
2295
  },
2296
  "expand-range": {
@@ -2299,7 +2340,7 @@
2299
  "integrity": "sha1-opnv/TNf4nIeuujiV+x5ZE/IUzc=",
2300
  "dev": true,
2301
  "requires": {
2302
- "fill-range": "2.2.3"
2303
  }
2304
  },
2305
  "expand-template": {
@@ -2315,7 +2356,7 @@
2315
  "integrity": "sha1-l+gBqgUt8CRU3kawK/YhZCzchQI=",
2316
  "dev": true,
2317
  "requires": {
2318
- "homedir-polyfill": "1.0.1"
2319
  }
2320
  },
2321
  "extend": {
@@ -2330,8 +2371,8 @@
2330
  "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=",
2331
  "dev": true,
2332
  "requires": {
2333
- "assign-symbols": "1.0.0",
2334
- "is-extendable": "1.0.1"
2335
  },
2336
  "dependencies": {
2337
  "is-extendable": {
@@ -2340,7 +2381,7 @@
2340
  "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==",
2341
  "dev": true,
2342
  "requires": {
2343
- "is-plain-object": "2.0.4"
2344
  }
2345
  }
2346
  }
@@ -2351,7 +2392,7 @@
2351
  "integrity": "sha1-Lhj/PS9JqydlzskCPwEdqo2DSaE=",
2352
  "dev": true,
2353
  "requires": {
2354
- "is-extglob": "1.0.0"
2355
  }
2356
  },
2357
  "extsprintf": {
@@ -2366,9 +2407,9 @@
2366
  "integrity": "sha1-9BEl49hPLn2JpD0G2VjI94vha+E=",
2367
  "dev": true,
2368
  "requires": {
2369
- "ansi-gray": "0.1.1",
2370
- "color-support": "1.1.3",
2371
- "time-stamp": "1.1.0"
2372
  }
2373
  },
2374
  "fast-deep-equal": {
@@ -2383,11 +2424,11 @@
2383
  "integrity": "sha512-4F75PTznkNtSKs2pbhtBwRkw8sRwa7LfXx5XaQJOe4IQ6yTjceLDTwM5gj1s80R2t/5WeDC1gVfm3jLE+l39Tw==",
2384
  "dev": true,
2385
  "requires": {
2386
- "@mrmlnc/readdir-enhanced": "2.2.1",
2387
- "glob-parent": "3.1.0",
2388
- "is-glob": "4.0.0",
2389
- "merge2": "1.2.1",
2390
- "micromatch": "3.1.10"
2391
  },
2392
  "dependencies": {
2393
  "arr-diff": {
@@ -2408,16 +2449,16 @@
2408
  "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==",
2409
  "dev": true,
2410
  "requires": {
2411
- "arr-flatten": "1.1.0",
2412
- "array-unique": "0.3.2",
2413
- "extend-shallow": "2.0.1",
2414
- "fill-range": "4.0.0",
2415
- "isobject": "3.0.1",
2416
- "repeat-element": "1.1.2",
2417
- "snapdragon": "0.8.2",
2418
- "snapdragon-node": "2.1.1",
2419
- "split-string": "3.1.0",
2420
- "to-regex": "3.0.2"
2421
  },
2422
  "dependencies": {
2423
  "extend-shallow": {
@@ -2426,7 +2467,7 @@
2426
  "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
2427
  "dev": true,
2428
  "requires": {
2429
- "is-extendable": "0.1.1"
2430
  }
2431
  }
2432
  }
@@ -2437,13 +2478,13 @@
2437
  "integrity": "sha1-t3c14xXOMPa27/D4OwQVGiJEliI=",
2438
  "dev": true,
2439
  "requires": {
2440
- "debug": "2.6.9",
2441
- "define-property": "0.2.5",
2442
- "extend-shallow": "2.0.1",
2443
- "posix-character-classes": "0.1.1",
2444
- "regex-not": "1.0.2",
2445
- "snapdragon": "0.8.2",
2446
- "to-regex": "3.0.2"
2447
  },
2448
  "dependencies": {
2449
  "define-property": {
@@ -2452,7 +2493,7 @@
2452
  "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
2453
  "dev": true,
2454
  "requires": {
2455
- "is-descriptor": "0.1.6"
2456
  }
2457
  },
2458
  "extend-shallow": {
@@ -2461,7 +2502,7 @@
2461
  "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
2462
  "dev": true,
2463
  "requires": {
2464
- "is-extendable": "0.1.1"
2465
  }
2466
  },
2467
  "is-accessor-descriptor": {
@@ -2470,7 +2511,7 @@
2470
  "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=",
2471
  "dev": true,
2472
  "requires": {
2473
- "kind-of": "3.2.2"
2474
  },
2475
  "dependencies": {
2476
  "kind-of": {
@@ -2479,7 +2520,7 @@
2479
  "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
2480
  "dev": true,
2481
  "requires": {
2482
- "is-buffer": "1.1.6"
2483
  }
2484
  }
2485
  }
@@ -2490,7 +2531,7 @@
2490
  "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=",
2491
  "dev": true,
2492
  "requires": {
2493
- "kind-of": "3.2.2"
2494
  },
2495
  "dependencies": {
2496
  "kind-of": {
@@ -2499,7 +2540,7 @@
2499
  "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
2500
  "dev": true,
2501
  "requires": {
2502
- "is-buffer": "1.1.6"
2503
  }
2504
  }
2505
  }
@@ -2510,9 +2551,9 @@
2510
  "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==",
2511
  "dev": true,
2512
  "requires": {
2513
- "is-accessor-descriptor": "0.1.6",
2514
- "is-data-descriptor": "0.1.4",
2515
- "kind-of": "5.1.0"
2516
  }
2517
  },
2518
  "kind-of": {
@@ -2529,14 +2570,14 @@
2529
  "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==",
2530
  "dev": true,
2531
  "requires": {
2532
- "array-unique": "0.3.2",
2533
- "define-property": "1.0.0",
2534
- "expand-brackets": "2.1.4",
2535
- "extend-shallow": "2.0.1",
2536
- "fragment-cache": "0.2.1",
2537
- "regex-not": "1.0.2",
2538
- "snapdragon": "0.8.2",
2539
- "to-regex": "3.0.2"
2540
  },
2541
  "dependencies": {
2542
  "define-property": {
@@ -2545,7 +2586,7 @@
2545
  "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=",
2546
  "dev": true,
2547
  "requires": {
2548
- "is-descriptor": "1.0.2"
2549
  }
2550
  },
2551
  "extend-shallow": {
@@ -2554,7 +2595,7 @@
2554
  "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
2555
  "dev": true,
2556
  "requires": {
2557
- "is-extendable": "0.1.1"
2558
  }
2559
  }
2560
  }
@@ -2565,10 +2606,10 @@
2565
  "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=",
2566
  "dev": true,
2567
  "requires": {
2568
- "extend-shallow": "2.0.1",
2569
- "is-number": "3.0.0",
2570
- "repeat-string": "1.6.1",
2571
- "to-regex-range": "2.1.1"
2572
  },
2573
  "dependencies": {
2574
  "extend-shallow": {
@@ -2577,7 +2618,7 @@
2577
  "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
2578
  "dev": true,
2579
  "requires": {
2580
- "is-extendable": "0.1.1"
2581
  }
2582
  }
2583
  }
@@ -2588,8 +2629,8 @@
2588
  "integrity": "sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4=",
2589
  "dev": true,
2590
  "requires": {
2591
- "is-glob": "3.1.0",
2592
- "path-dirname": "1.0.2"
2593
  },
2594
  "dependencies": {
2595
  "is-glob": {
@@ -2598,7 +2639,7 @@
2598
  "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=",
2599
  "dev": true,
2600
  "requires": {
2601
- "is-extglob": "2.1.1"
2602
  }
2603
  }
2604
  }
@@ -2609,7 +2650,7 @@
2609
  "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==",
2610
  "dev": true,
2611
  "requires": {
2612
- "kind-of": "6.0.2"
2613
  }
2614
  },
2615
  "is-data-descriptor": {
@@ -2618,7 +2659,7 @@
2618
  "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==",
2619
  "dev": true,
2620
  "requires": {
2621
- "kind-of": "6.0.2"
2622
  }
2623
  },
2624
  "is-descriptor": {
@@ -2627,9 +2668,9 @@
2627
  "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==",
2628
  "dev": true,
2629
  "requires": {
2630
- "is-accessor-descriptor": "1.0.0",
2631
- "is-data-descriptor": "1.0.0",
2632
- "kind-of": "6.0.2"
2633
  }
2634
  },
2635
  "is-extglob": {
@@ -2644,7 +2685,7 @@
2644
  "integrity": "sha1-lSHHaEXMJhCoUgPd8ICpWML/q8A=",
2645
  "dev": true,
2646
  "requires": {
2647
- "is-extglob": "2.1.1"
2648
  }
2649
  },
2650
  "is-number": {
@@ -2653,7 +2694,7 @@
2653
  "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=",
2654
  "dev": true,
2655
  "requires": {
2656
- "kind-of": "3.2.2"
2657
  },
2658
  "dependencies": {
2659
  "kind-of": {
@@ -2662,7 +2703,7 @@
2662
  "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
2663
  "dev": true,
2664
  "requires": {
2665
- "is-buffer": "1.1.6"
2666
  }
2667
  }
2668
  }
@@ -2685,19 +2726,19 @@
2685
  "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==",
2686
  "dev": true,
2687
  "requires": {
2688
- "arr-diff": "4.0.0",
2689
- "array-unique": "0.3.2",
2690
- "braces": "2.3.2",
2691
- "define-property": "2.0.2",
2692
- "extend-shallow": "3.0.2",
2693
- "extglob": "2.0.4",
2694
- "fragment-cache": "0.2.1",
2695
- "kind-of": "6.0.2",
2696
- "nanomatch": "1.2.9",
2697
- "object.pick": "1.3.0",
2698
- "regex-not": "1.0.2",
2699
- "snapdragon": "0.8.2",
2700
- "to-regex": "3.0.2"
2701
  }
2702
  }
2703
  }
@@ -2714,7 +2755,7 @@
2714
  "integrity": "sha1-TkkvjQTftviQA1B/btvy1QHnxvQ=",
2715
  "dev": true,
2716
  "requires": {
2717
- "websocket-driver": "0.7.0"
2718
  }
2719
  },
2720
  "figures": {
@@ -2723,8 +2764,8 @@
2723
  "integrity": "sha1-y+Hjr/zxzUS4DK3+0o3Hk6lwHS4=",
2724
  "dev": true,
2725
  "requires": {
2726
- "escape-string-regexp": "1.0.5",
2727
- "object-assign": "4.1.1"
2728
  }
2729
  },
2730
  "file-entry-cache": {
@@ -2733,8 +2774,8 @@
2733
  "integrity": "sha1-w5KZDD5oR4PYOLjISkXYoEhFg2E=",
2734
  "dev": true,
2735
  "requires": {
2736
- "flat-cache": "1.3.0",
2737
- "object-assign": "4.1.1"
2738
  }
2739
  },
2740
  "filename-regex": {
@@ -2749,11 +2790,11 @@
2749
  "integrity": "sha1-ULd9/X5Gm8dJJHCWNpn+eoSFpyM=",
2750
  "dev": true,
2751
  "requires": {
2752
- "is-number": "2.1.0",
2753
- "isobject": "2.1.0",
2754
- "randomatic": "1.1.7",
2755
- "repeat-element": "1.1.2",
2756
- "repeat-string": "1.6.1"
2757
  }
2758
  },
2759
  "finalhandler": {
@@ -2762,11 +2803,11 @@
2762
  "integrity": "sha1-6VCKvs6bbbqHGmlCodeRG5GRGsc=",
2763
  "dev": true,
2764
  "requires": {
2765
- "debug": "2.2.0",
2766
- "escape-html": "1.0.3",
2767
- "on-finished": "2.3.0",
2768
- "statuses": "1.3.1",
2769
- "unpipe": "1.0.0"
2770
  },
2771
  "dependencies": {
2772
  "debug": {
@@ -2792,8 +2833,8 @@
2792
  "integrity": "sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8=",
2793
  "dev": true,
2794
  "requires": {
2795
- "path-exists": "2.1.0",
2796
- "pinkie-promise": "2.0.1"
2797
  }
2798
  },
2799
  "findup": {
@@ -2802,8 +2843,8 @@
2802
  "integrity": "sha1-itkpozk7rGJ5V6fl3kYjsGsOLOs=",
2803
  "dev": true,
2804
  "requires": {
2805
- "colors": "0.6.2",
2806
- "commander": "2.1.0"
2807
  },
2808
  "dependencies": {
2809
  "colors": {
@@ -2826,7 +2867,7 @@
2826
  "integrity": "sha1-N5MKpdgWt3fANEXhlmzGeQpMCxY=",
2827
  "dev": true,
2828
  "requires": {
2829
- "glob": "5.0.15"
2830
  },
2831
  "dependencies": {
2832
  "glob": {
@@ -2835,11 +2876,11 @@
2835
  "integrity": "sha1-G8k2ueAvSmA/zCIuz3Yz0wuLk7E=",
2836
  "dev": true,
2837
  "requires": {
2838
- "inflight": "1.0.6",
2839
- "inherits": "2.0.3",
2840
- "minimatch": "3.0.4",
2841
- "once": "1.4.0",
2842
- "path-is-absolute": "1.0.1"
2843
  }
2844
  }
2845
  }
@@ -2850,11 +2891,11 @@
2850
  "integrity": "sha1-s33IRLdqL15wgeiE98CuNE8VNHY=",
2851
  "dev": true,
2852
  "requires": {
2853
- "expand-tilde": "2.0.2",
2854
- "is-plain-object": "2.0.4",
2855
- "object.defaults": "1.1.0",
2856
- "object.pick": "1.3.0",
2857
- "parse-filepath": "1.0.2"
2858
  }
2859
  },
2860
  "flagged-respawn": {
@@ -2869,10 +2910,10 @@
2869
  "integrity": "sha1-0wMLMrOBVPTjt+nHCfSQ9++XxIE=",
2870
  "dev": true,
2871
  "requires": {
2872
- "circular-json": "0.3.3",
2873
- "del": "2.2.2",
2874
- "graceful-fs": "4.1.11",
2875
- "write": "0.2.1"
2876
  }
2877
  },
2878
  "flush-write-stream": {
@@ -2881,8 +2922,28 @@
2881
  "integrity": "sha512-calZMC10u0FMUqoiunI2AiGIIUtUIvifNwkHhNupZH4cbNnW1Itkoh/Nf5HFYmDrwWPjrUxpkZT0KhuCq0jmGw==",
2882
  "dev": true,
2883
  "requires": {
2884
- "inherits": "2.0.3",
2885
- "readable-stream": "2.3.6"
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2886
  }
2887
  },
2888
  "for-in": {
@@ -2897,7 +2958,7 @@
2897
  "integrity": "sha1-UmXGgaTylNq78XyVCbZ2OqhFEM4=",
2898
  "dev": true,
2899
  "requires": {
2900
- "for-in": "1.0.2"
2901
  }
2902
  },
2903
  "foreach": {
@@ -2918,9 +2979,9 @@
2918
  "integrity": "sha1-M8GDrPGTJ27KqYFDpp6Uv+4XUNE=",
2919
  "dev": true,
2920
  "requires": {
2921
- "asynckit": "0.4.0",
2922
- "combined-stream": "1.0.6",
2923
- "mime-types": "2.1.18"
2924
  }
2925
  },
2926
  "fragment-cache": {
@@ -2929,7 +2990,7 @@
2929
  "integrity": "sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk=",
2930
  "dev": true,
2931
  "requires": {
2932
- "map-cache": "0.2.2"
2933
  }
2934
  },
2935
  "fresh": {
@@ -2944,9 +3005,9 @@
2944
  "integrity": "sha1-N5TzeMWLNC6n27sjCVEJxLO2IpE=",
2945
  "dev": true,
2946
  "requires": {
2947
- "graceful-fs": "4.1.11",
2948
- "jsonfile": "3.0.1",
2949
- "universalify": "0.1.1"
2950
  }
2951
  },
2952
  "fs-mkdirp-stream": {
@@ -2955,8 +3016,8 @@
2955
  "integrity": "sha1-C3gV/DIBxqaeFNuYzgmMFpNSWes=",
2956
  "dev": true,
2957
  "requires": {
2958
- "graceful-fs": "4.1.11",
2959
- "through2": "2.0.3"
2960
  }
2961
  },
2962
  "fs.realpath": {
@@ -2965,16 +3026,548 @@
2965
  "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=",
2966
  "dev": true
2967
  },
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2968
  "fstream": {
2969
  "version": "1.0.11",
2970
  "resolved": "https://registry.npmjs.org/fstream/-/fstream-1.0.11.tgz",
2971
  "integrity": "sha1-XB+x8RdHcRTwYyoOtLcbPLD9MXE=",
2972
  "dev": true,
2973
  "requires": {
2974
- "graceful-fs": "4.1.11",
2975
- "inherits": "2.0.3",
2976
- "mkdirp": "0.5.1",
2977
- "rimraf": "2.2.8"
2978
  }
2979
  },
2980
  "function-bind": {
@@ -2989,14 +3582,14 @@
2989
  "integrity": "sha1-LANAXHU4w51+s3sxcCLjJfsBi/c=",
2990
  "dev": true,
2991
  "requires": {
2992
- "aproba": "1.2.0",
2993
- "console-control-strings": "1.1.0",
2994
- "has-unicode": "2.0.1",
2995
- "object-assign": "4.1.1",
2996
- "signal-exit": "3.0.2",
2997
- "string-width": "1.0.2",
2998
- "strip-ansi": "3.0.1",
2999
- "wide-align": "1.1.2"
3000
  }
3001
  },
3002
  "gaze": {
@@ -3005,7 +3598,7 @@
3005
  "integrity": "sha1-hHIkZ3rbiHDWeSV+0ziP22HkAQU=",
3006
  "dev": true,
3007
  "requires": {
3008
- "globule": "1.2.0"
3009
  }
3010
  },
3011
  "generate-function": {
@@ -3020,7 +3613,7 @@
3020
  "integrity": "sha1-nA4cQDCM6AT0eDYYuTf6iPmdUNA=",
3021
  "dev": true,
3022
  "requires": {
3023
- "is-property": "1.0.2"
3024
  }
3025
  },
3026
  "get-caller-file": {
@@ -3053,7 +3646,7 @@
3053
  "integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=",
3054
  "dev": true,
3055
  "requires": {
3056
- "assert-plus": "1.0.0"
3057
  },
3058
  "dependencies": {
3059
  "assert-plus": {
@@ -3070,8 +3663,8 @@
3070
  "integrity": "sha512-W4t55eB/c7WrH0gbCHFiHuaEnJ1WiPJVnbFFiNEoh2QkOmuSLxs0PmJDGAmCQuTJCU740Fmb6D+2D/2xECWZGQ==",
3071
  "dev": true,
3072
  "requires": {
3073
- "encoding": "0.1.12",
3074
- "safe-buffer": "5.1.1"
3075
  }
3076
  },
3077
  "github-from-package": {
@@ -3087,12 +3680,12 @@
3087
  "integrity": "sha1-IRuvr0nlJbjNkyYNFKsTYVKz9Xo=",
3088
  "dev": true,
3089
  "requires": {
3090
- "fs.realpath": "1.0.0",
3091
- "inflight": "1.0.6",
3092
- "inherits": "2.0.3",
3093
- "minimatch": "3.0.4",
3094
- "once": "1.4.0",
3095
- "path-is-absolute": "1.0.1"
3096
  }
3097
  },
3098
  "glob-base": {
@@ -3101,8 +3694,8 @@
3101
  "integrity": "sha1-27Fk9iIbHAscz4Kuoyi0l98Oo8Q=",
3102
  "dev": true,
3103
  "requires": {
3104
- "glob-parent": "2.0.0",
3105
- "is-glob": "2.0.1"
3106
  }
3107
  },
3108
  "glob-parent": {
@@ -3111,7 +3704,7 @@
3111
  "integrity": "sha1-gTg9ctsFT8zPUzbaqQLxgvbtuyg=",
3112
  "dev": true,
3113
  "requires": {
3114
- "is-glob": "2.0.1"
3115
  }
3116
  },
3117
  "glob-stream": {
@@ -3120,16 +3713,16 @@
3120
  "integrity": "sha1-cEXJlBOz65SIjYOrRtC0BMx73eQ=",
3121
  "dev": true,
3122
  "requires": {
3123
- "extend": "3.0.1",
3124
- "glob": "7.1.2",
3125
- "glob-parent": "3.1.0",
3126
- "is-negated-glob": "1.0.0",
3127
- "ordered-read-streams": "1.0.1",
3128
- "pumpify": "1.4.0",
3129
- "readable-stream": "2.3.6",
3130
- "remove-trailing-separator": "1.1.0",
3131
- "to-absolute-glob": "2.0.2",
3132
- "unique-stream": "2.2.1"
3133
  },
3134
  "dependencies": {
3135
  "glob": {
@@ -3138,12 +3731,12 @@
3138
  "integrity": "sha512-MJTUg1kjuLeQCJ+ccE4Vpa6kKVXkPYJ2mOCQyUuKLcLQsdrMCpBPUi8qVE6+YuaJkozeA9NusTAw3hLr8Xe5EQ==",
3139
  "dev": true,
3140
  "requires": {
3141
- "fs.realpath": "1.0.0",
3142
- "inflight": "1.0.6",
3143
- "inherits": "2.0.3",
3144
- "minimatch": "3.0.4",
3145
- "once": "1.4.0",
3146
- "path-is-absolute": "1.0.1"
3147
  }
3148
  },
3149
  "glob-parent": {
@@ -3152,8 +3745,8 @@
3152
  "integrity": "sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4=",
3153
  "dev": true,
3154
  "requires": {
3155
- "is-glob": "3.1.0",
3156
- "path-dirname": "1.0.2"
3157
  }
3158
  },
3159
  "is-extglob": {
@@ -3168,7 +3761,7 @@
3168
  "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=",
3169
  "dev": true,
3170
  "requires": {
3171
- "is-extglob": "2.1.1"
3172
  }
3173
  }
3174
  }
@@ -3185,10 +3778,10 @@
3185
  "integrity": "sha1-nmOo/25h6TLebMLK7OUHGm1zcyk=",
3186
  "dev": true,
3187
  "requires": {
3188
- "async-done": "1.2.4",
3189
- "chokidar": "1.7.0",
3190
- "just-debounce": "1.0.0",
3191
- "object.defaults": "1.1.0"
3192
  }
3193
  },
3194
  "global-modules": {
@@ -3197,9 +3790,9 @@
3197
  "integrity": "sha512-sKzpEkf11GpOFuw0Zzjzmt4B4UZwjOcG757PPvrfhxcLFbq0wpsgpOqxpxtxFiCG4DtG93M6XRVbF2oGdev7bg==",
3198
  "dev": true,
3199
  "requires": {
3200
- "global-prefix": "1.0.2",
3201
- "is-windows": "1.0.2",
3202
- "resolve-dir": "1.0.1"
3203
  }
3204
  },
3205
  "global-prefix": {
@@ -3208,11 +3801,11 @@
3208
  "integrity": "sha1-2/dDxsFJklk8ZVVoy2btMsASLr4=",
3209
  "dev": true,
3210
  "requires": {
3211
- "expand-tilde": "2.0.2",
3212
- "homedir-polyfill": "1.0.1",
3213
- "ini": "1.3.5",
3214
- "is-windows": "1.0.2",
3215
- "which": "1.2.14"
3216
  }
3217
  },
3218
  "globals": {
@@ -3227,13 +3820,13 @@
3227
  "integrity": "sha512-oMrYrJERnKBLXNLVTqhm3vPEdJ/b2ZE28xN4YARiix1NOIOBPEpOUnm844K1iu/BkphCaf2WNFwMszv8Soi1pw==",
3228
  "dev": true,
3229
  "requires": {
3230
- "array-union": "1.0.2",
3231
- "dir-glob": "2.0.0",
3232
- "fast-glob": "2.2.0",
3233
- "glob": "7.1.2",
3234
- "ignore": "3.3.7",
3235
- "pify": "3.0.0",
3236
- "slash": "1.0.0"
3237
  },
3238
  "dependencies": {
3239
  "glob": {
@@ -3242,12 +3835,12 @@
3242
  "integrity": "sha512-MJTUg1kjuLeQCJ+ccE4Vpa6kKVXkPYJ2mOCQyUuKLcLQsdrMCpBPUi8qVE6+YuaJkozeA9NusTAw3hLr8Xe5EQ==",
3243
  "dev": true,
3244
  "requires": {
3245
- "fs.realpath": "1.0.0",
3246
- "inflight": "1.0.6",
3247
- "inherits": "2.0.3",
3248
- "minimatch": "3.0.4",
3249
- "once": "1.4.0",
3250
- "path-is-absolute": "1.0.1"
3251
  }
3252
  },
3253
  "pify": {
@@ -3270,9 +3863,9 @@
3270
  "integrity": "sha1-HcScaCLdnoovoAuiopUAboZkvQk=",
3271
  "dev": true,
3272
  "requires": {
3273
- "glob": "7.1.2",
3274
- "lodash": "4.17.5",
3275
- "minimatch": "3.0.4"
3276
  },
3277
  "dependencies": {
3278
  "glob": {
@@ -3281,12 +3874,12 @@
3281
  "integrity": "sha512-MJTUg1kjuLeQCJ+ccE4Vpa6kKVXkPYJ2mOCQyUuKLcLQsdrMCpBPUi8qVE6+YuaJkozeA9NusTAw3hLr8Xe5EQ==",
3282
  "dev": true,
3283
  "requires": {
3284
- "fs.realpath": "1.0.0",
3285
- "inflight": "1.0.6",
3286
- "inherits": "2.0.3",
3287
- "minimatch": "3.0.4",
3288
- "once": "1.4.0",
3289
- "path-is-absolute": "1.0.1"
3290
  }
3291
  },
3292
  "lodash": {
@@ -3303,7 +3896,7 @@
3303
  "integrity": "sha512-ynYqXLoluBKf9XGR1gA59yEJisIL7YHEH4xr3ZziHB5/yl4qWfaK8Js9jGe6gBGCSCKVqiyO30WnRZADvemUNw==",
3304
  "dev": true,
3305
  "requires": {
3306
- "sparkles": "1.0.0"
3307
  }
3308
  },
3309
  "gonzales-pe": {
@@ -3312,7 +3905,7 @@
3312
  "integrity": "sha512-Kjhohco0esHQnOiqqdJeNz/5fyPkOMD/d6XVjwTAoPGUFh0mCollPUTUTa2OZy4dYNAqlPIQdTiNzJTWdd9Htw==",
3313
  "dev": true,
3314
  "requires": {
3315
- "minimist": "1.1.3"
3316
  },
3317
  "dependencies": {
3318
  "minimist": {
@@ -3335,22 +3928,22 @@
3335
  "integrity": "sha1-TmpeaVtwRy/VME9fqeNCNoNqc7w=",
3336
  "dev": true,
3337
  "requires": {
3338
- "coffeescript": "1.10.0",
3339
- "dateformat": "1.0.12",
3340
- "eventemitter2": "0.4.14",
3341
- "exit": "0.1.2",
3342
- "findup-sync": "0.3.0",
3343
- "glob": "7.0.6",
3344
- "grunt-cli": "1.2.0",
3345
- "grunt-known-options": "1.1.0",
3346
- "grunt-legacy-log": "1.0.1",
3347
- "grunt-legacy-util": "1.0.0",
3348
- "iconv-lite": "0.4.21",
3349
- "js-yaml": "3.5.5",
3350
- "minimatch": "3.0.4",
3351
- "nopt": "3.0.6",
3352
- "path-is-absolute": "1.0.1",
3353
- "rimraf": "2.2.8"
3354
  },
3355
  "dependencies": {
3356
  "grunt-cli": {
@@ -3359,10 +3952,10 @@
3359
  "integrity": "sha1-VisRnrsGndtGSs4oRVAb6Xs1tqg=",
3360
  "dev": true,
3361
  "requires": {
3362
- "findup-sync": "0.3.0",
3363
- "grunt-known-options": "1.1.0",
3364
- "nopt": "3.0.6",
3365
- "resolve": "1.1.7"
3366
  }
3367
  }
3368
  }
@@ -3373,8 +3966,8 @@
3373
  "integrity": "sha1-slTQHh3pEwBdTbHFMD2QI7mD4Zs=",
3374
  "dev": true,
3375
  "requires": {
3376
- "chalk": "0.2.1",
3377
- "text-table": "0.2.0"
3378
  },
3379
  "dependencies": {
3380
  "ansi-styles": {
@@ -3389,8 +3982,8 @@
3389
  "integrity": "sha1-dhPhV1FFshOGSD9/SFql/6jL0Qw=",
3390
  "dev": true,
3391
  "requires": {
3392
- "ansi-styles": "0.2.0",
3393
- "has-color": "0.1.7"
3394
  }
3395
  }
3396
  }
@@ -3401,12 +3994,12 @@
3401
  "integrity": "sha1-Ac7/ucY39S5wgfRjdQmD0KOw+nM=",
3402
  "dev": true,
3403
  "requires": {
3404
- "archiver": "1.3.0",
3405
- "chalk": "1.1.3",
3406
- "iltorb": "1.3.10",
3407
- "lodash": "4.17.5",
3408
- "pretty-bytes": "4.0.2",
3409
- "stream-buffers": "2.2.0"
3410
  },
3411
  "dependencies": {
3412
  "ansi-styles": {
@@ -3421,11 +4014,11 @@
3421
  "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=",
3422
  "dev": true,
3423
  "requires": {
3424
- "ansi-styles": "2.2.1",
3425
- "escape-string-regexp": "1.0.5",
3426
- "has-ansi": "2.0.0",
3427
- "strip-ansi": "3.0.1",
3428
- "supports-color": "2.0.0"
3429
  }
3430
  },
3431
  "lodash": {
@@ -3448,8 +4041,8 @@
3448
  "integrity": "sha1-YVCYYwhOhx1+ht5IwBUlntl3Rb0=",
3449
  "dev": true,
3450
  "requires": {
3451
- "chalk": "1.1.3",
3452
- "source-map": "0.5.7"
3453
  },
3454
  "dependencies": {
3455
  "ansi-styles": {
@@ -3464,11 +4057,11 @@
3464
  "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=",
3465
  "dev": true,
3466
  "requires": {
3467
- "ansi-styles": "2.2.1",
3468
- "escape-string-regexp": "1.0.5",
3469
- "has-ansi": "2.0.0",
3470
- "strip-ansi": "3.0.1",
3471
- "supports-color": "2.0.0"
3472
  }
3473
  },
3474
  "source-map": {
@@ -3491,9 +4084,9 @@
3491
  "integrity": "sha512-IXNomhQ5ekVZbDbj/ik5YccoD9khU6LT2fDXqO1+/Txjq8cp0tQKjVS8i8EAbHOrSDkL7/UD6A7b+xj98gqh9w==",
3492
  "dev": true,
3493
  "requires": {
3494
- "chalk": "1.1.3",
3495
- "clean-css": "4.1.11",
3496
- "maxmin": "2.1.0"
3497
  },
3498
  "dependencies": {
3499
  "ansi-styles": {
@@ -3508,11 +4101,11 @@
3508
  "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=",
3509
  "dev": true,
3510
  "requires": {
3511
- "ansi-styles": "2.2.1",
3512
- "escape-string-regexp": "1.0.5",
3513
- "has-ansi": "2.0.0",
3514
- "strip-ansi": "3.0.1",
3515
- "supports-color": "2.0.0"
3516
  }
3517
  },
3518
  "supports-color": {
@@ -3529,9 +4122,9 @@
3529
  "integrity": "sha1-Np2QmyWTxA6L55lAshNAhQx5Oaw=",
3530
  "dev": true,
3531
  "requires": {
3532
- "chalk": "1.1.3",
3533
- "hooker": "0.2.3",
3534
- "jshint": "2.9.5"
3535
  },
3536
  "dependencies": {
3537
  "ansi-styles": {
@@ -3546,11 +4139,11 @@
3546
  "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=",
3547
  "dev": true,
3548
  "requires": {
3549
- "ansi-styles": "2.2.1",
3550
- "escape-string-regexp": "1.0.5",
3551
- "has-ansi": "2.0.0",
3552
- "strip-ansi": "3.0.1",
3553
- "supports-color": "2.0.0"
3554
  }
3555
  },
3556
  "supports-color": {
@@ -3567,10 +4160,10 @@
3567
  "integrity": "sha512-W9O7lJE3PlD8VCc5fyaf98QV7f5wEDiU4PBIh0+/6UBbk2LhgzEFS0/p+taH5UD3+PlEn7QPN0o06Z0To6SqXw==",
3568
  "dev": true,
3569
  "requires": {
3570
- "chalk": "1.1.3",
3571
- "maxmin": "1.1.0",
3572
- "uglify-js": "3.3.20",
3573
- "uri-path": "1.0.0"
3574
  },
3575
  "dependencies": {
3576
  "ansi-styles": {
@@ -3585,11 +4178,11 @@
3585
  "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=",
3586
  "dev": true,
3587
  "requires": {
3588
- "ansi-styles": "2.2.1",
3589
- "escape-string-regexp": "1.0.5",
3590
- "has-ansi": "2.0.0",
3591
- "strip-ansi": "3.0.1",
3592
- "supports-color": "2.0.0"
3593
  }
3594
  },
3595
  "gzip-size": {
@@ -3598,8 +4191,8 @@
3598
  "integrity": "sha1-Zs+LEBBHInuVus5uodoMF37Vwi8=",
3599
  "dev": true,
3600
  "requires": {
3601
- "browserify-zlib": "0.1.4",
3602
- "concat-stream": "1.6.2"
3603
  }
3604
  },
3605
  "maxmin": {
@@ -3608,10 +4201,10 @@
3608
  "integrity": "sha1-cTZehKmd2Piz99X94vANHn9zvmE=",
3609
  "dev": true,
3610
  "requires": {
3611
- "chalk": "1.1.3",
3612
- "figures": "1.7.0",
3613
- "gzip-size": "1.0.0",
3614
- "pretty-bytes": "1.0.4"
3615
  }
3616
  },
3617
  "pretty-bytes": {
@@ -3620,8 +4213,8 @@
3620
  "integrity": "sha1-CiLoIQYJrTVUL4yNXSFZr/B1HIQ=",
3621
  "dev": true,
3622
  "requires": {
3623
- "get-stdin": "4.0.1",
3624
- "meow": "3.7.0"
3625
  }
3626
  },
3627
  "supports-color": {
@@ -3633,15 +4226,23 @@
3633
  }
3634
  },
3635
  "grunt-contrib-watch": {
3636
- "version": "1.0.0",
3637
- "resolved": "https://registry.npmjs.org/grunt-contrib-watch/-/grunt-contrib-watch-1.0.0.tgz",
3638
- "integrity": "sha1-hKGnodar0m7VaEE0lscxM+mQAY8=",
3639
  "dev": true,
3640
  "requires": {
3641
- "async": "1.5.2",
3642
- "gaze": "1.1.2",
3643
- "lodash": "3.10.1",
3644
- "tiny-lr": "0.2.1"
 
 
 
 
 
 
 
 
3645
  }
3646
  },
3647
  "grunt-known-options": {
@@ -3656,11 +4257,11 @@
3656
  "integrity": "sha512-rwuyqNKlI0IPz0DvxzJjcEiQEBaBNVeb1LFoZKxSmHLETFUwhwUrqOsPIxURTKSwNZHZ4ht1YLBYmVU0YZAzHQ==",
3657
  "dev": true,
3658
  "requires": {
3659
- "colors": "1.1.2",
3660
- "grunt-legacy-log-utils": "1.0.0",
3661
- "hooker": "0.2.3",
3662
- "lodash": "4.17.5",
3663
- "underscore.string": "3.3.4"
3664
  },
3665
  "dependencies": {
3666
  "lodash": {
@@ -3677,8 +4278,8 @@
3677
  "integrity": "sha1-p7ji0Ps1taUPSvmG/BEnSevJbz0=",
3678
  "dev": true,
3679
  "requires": {
3680
- "chalk": "1.1.3",
3681
- "lodash": "4.3.0"
3682
  },
3683
  "dependencies": {
3684
  "ansi-styles": {
@@ -3693,11 +4294,11 @@
3693
  "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=",
3694
  "dev": true,
3695
  "requires": {
3696
- "ansi-styles": "2.2.1",
3697
- "escape-string-regexp": "1.0.5",
3698
- "has-ansi": "2.0.0",
3699
- "strip-ansi": "3.0.1",
3700
- "supports-color": "2.0.0"
3701
  }
3702
  },
3703
  "lodash": {
@@ -3720,13 +4321,13 @@
3720
  "integrity": "sha1-OGqnjcbtUJhsKxiVcmWxtIq7m4Y=",
3721
  "dev": true,
3722
  "requires": {
3723
- "async": "1.5.2",
3724
- "exit": "0.1.2",
3725
- "getobject": "0.1.0",
3726
- "hooker": "0.2.3",
3727
- "lodash": "4.3.0",
3728
- "underscore.string": "3.2.3",
3729
- "which": "1.2.14"
3730
  },
3731
  "dependencies": {
3732
  "lodash": {
@@ -3755,9 +4356,9 @@
3755
  "integrity": "sha512-lglLcVaoOIqH0sFv7RqwUKkEFGQwnlqyAKbatxZderwZGV1nDyKHN7gZS9LUiTx1t5GOvRBx0BEalHMyVwFAIA==",
3756
  "dev": true,
3757
  "requires": {
3758
- "chalk": "2.3.2",
3759
- "diff": "3.5.0",
3760
- "postcss": "6.0.21"
3761
  }
3762
  },
3763
  "grunt-rtlcss": {
@@ -3766,8 +4367,8 @@
3766
  "integrity": "sha1-6eYc5DdAY5f546Sxv2aeR+cf/MM=",
3767
  "dev": true,
3768
  "requires": {
3769
- "chalk": "1.1.3",
3770
- "rtlcss": "2.2.1"
3771
  },
3772
  "dependencies": {
3773
  "ansi-styles": {
@@ -3782,11 +4383,11 @@
3782
  "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=",
3783
  "dev": true,
3784
  "requires": {
3785
- "ansi-styles": "2.2.1",
3786
- "escape-string-regexp": "1.0.5",
3787
- "has-ansi": "2.0.0",
3788
- "strip-ansi": "3.0.1",
3789
- "supports-color": "2.0.0"
3790
  }
3791
  },
3792
  "supports-color": {
@@ -3803,9 +4404,9 @@
3803
  "integrity": "sha512-XkexnQt/9rhReNd+Y7T0n/2g5FqYOQKfi2iSlpwDqvgs7EgEaGTxNhnWzHnbW5oNRvzL9AHopBG3AgRxL0d+DA==",
3804
  "dev": true,
3805
  "requires": {
3806
- "each-async": "1.1.1",
3807
- "node-sass": "4.8.3",
3808
- "object-assign": "4.1.1"
3809
  }
3810
  },
3811
  "grunt-stylelint": {
@@ -3829,11 +4430,11 @@
3829
  "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=",
3830
  "dev": true,
3831
  "requires": {
3832
- "ansi-styles": "2.2.1",
3833
- "escape-string-regexp": "1.0.5",
3834
- "has-ansi": "2.0.0",
3835
- "strip-ansi": "3.0.1",
3836
- "supports-color": "2.0.0"
3837
  }
3838
  },
3839
  "supports-color": {
@@ -3850,18 +4451,19 @@
3850
  "integrity": "sha512-s7DdR1wRYWvgeQOELL/s8AmWz0scVUq+h0yYVWvLx23kTXOBslvaD35NTvubyM+MO+k29bgND0gDDvS6sHixfg==",
3851
  "dev": true,
3852
  "requires": {
3853
- "grunt": "1.0.2",
3854
- "node-wp-i18n": "1.1.1"
3855
  }
3856
  },
3857
  "gulp": {
3858
  "version": "git+https://github.com/gulpjs/gulp.git#71c094a51c7972d26f557899ddecab0210ef3776",
 
3859
  "dev": true,
3860
  "requires": {
3861
- "glob-watcher": "4.0.0",
3862
- "gulp-cli": "2.0.1",
3863
- "undertaker": "1.2.0",
3864
- "vinyl-fs": "3.0.2"
3865
  },
3866
  "dependencies": {
3867
  "camelcase": {
@@ -3876,24 +4478,24 @@
3876
  "integrity": "sha512-RxujJJdN8/O6IW2nPugl7YazhmrIEjmiVfPKrWt68r71UCaLKS71Hp0gpKT+F6qOUFtr7KqtifDKaAJPRVvMYQ==",
3877
  "dev": true,
3878
  "requires": {
3879
- "ansi-colors": "1.1.0",
3880
- "archy": "1.0.0",
3881
- "array-sort": "1.0.0",
3882
- "color-support": "1.1.3",
3883
- "concat-stream": "1.6.2",
3884
- "copy-props": "2.0.1",
3885
- "fancy-log": "1.3.2",
3886
- "gulplog": "1.0.0",
3887
- "interpret": "1.1.0",
3888
- "isobject": "3.0.1",
3889
- "liftoff": "2.5.0",
3890
- "matchdep": "2.0.0",
3891
- "mute-stdout": "1.0.0",
3892
- "pretty-hrtime": "1.0.3",
3893
- "replace-homedir": "1.0.0",
3894
- "semver-greatest-satisfied-range": "1.1.0",
3895
- "v8flags": "3.0.2",
3896
- "yargs": "7.1.0"
3897
  }
3898
  },
3899
  "isobject": {
@@ -3908,19 +4510,19 @@
3908
  "integrity": "sha1-a6MY6xaWFyf10oT46gA+jWFU0Mg=",
3909
  "dev": true,
3910
  "requires": {
3911
- "camelcase": "3.0.0",
3912
- "cliui": "3.2.0",
3913
- "decamelize": "1.2.0",
3914
- "get-caller-file": "1.0.2",
3915
- "os-locale": "1.4.0",
3916
- "read-pkg-up": "1.0.1",
3917
- "require-directory": "2.1.1",
3918
- "require-main-filename": "1.0.1",
3919
- "set-blocking": "2.0.0",
3920
- "string-width": "1.0.2",
3921
- "which-module": "1.0.0",
3922
- "y18n": "3.2.1",
3923
- "yargs-parser": "5.0.0"
3924
  }
3925
  },
3926
  "yargs-parser": {
@@ -3929,7 +4531,7 @@
3929
  "integrity": "sha1-J17PDX/+Bcd+ZOfIbkzZS/DhIoo=",
3930
  "dev": true,
3931
  "requires": {
3932
- "camelcase": "3.0.0"
3933
  }
3934
  }
3935
  }
@@ -3940,14 +4542,14 @@
3940
  "integrity": "sha512-OMQEgWNggpog8Tc5v1MuI6eo+5iiPkVeLL76iBhDoEEScLUPfZlpvzmgTnLkpcqdrNodZxpz5qcv6mS2rulk3g==",
3941
  "dev": true,
3942
  "requires": {
3943
- "chalk": "2.3.2",
3944
- "lodash.clonedeep": "4.5.0",
3945
- "node-sass": "4.8.3",
3946
- "plugin-error": "1.0.1",
3947
- "replace-ext": "1.0.0",
3948
- "strip-ansi": "4.0.0",
3949
- "through2": "2.0.3",
3950
- "vinyl-sourcemaps-apply": "0.2.1"
3951
  },
3952
  "dependencies": {
3953
  "ansi-regex": {
@@ -3962,7 +4564,7 @@
3962
  "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=",
3963
  "dev": true,
3964
  "requires": {
3965
- "ansi-regex": "3.0.0"
3966
  }
3967
  }
3968
  }
@@ -3973,7 +4575,7 @@
3973
  "integrity": "sha1-4oxNRdBey77YGDY86PnFkmIp/+U=",
3974
  "dev": true,
3975
  "requires": {
3976
- "glogg": "1.0.1"
3977
  }
3978
  },
3979
  "gzip-size": {
@@ -3982,7 +4584,7 @@
3982
  "integrity": "sha1-VGGI6b3DN/Zzdy+BZgRks4nc5SA=",
3983
  "dev": true,
3984
  "requires": {
3985
- "duplexer": "0.1.1"
3986
  }
3987
  },
3988
  "har-schema": {
@@ -3997,8 +4599,8 @@
3997
  "integrity": "sha1-M0gdDxu/9gDdID11gSpqX7oALio=",
3998
  "dev": true,
3999
  "requires": {
4000
- "ajv": "4.11.8",
4001
- "har-schema": "1.0.5"
4002
  }
4003
  },
4004
  "has-ansi": {
@@ -4007,7 +4609,7 @@
4007
  "integrity": "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=",
4008
  "dev": true,
4009
  "requires": {
4010
- "ansi-regex": "2.1.1"
4011
  }
4012
  },
4013
  "has-binary2": {
@@ -4055,9 +4657,9 @@
4055
  "integrity": "sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc=",
4056
  "dev": true,
4057
  "requires": {
4058
- "get-value": "2.0.6",
4059
- "has-values": "1.0.0",
4060
- "isobject": "3.0.1"
4061
  },
4062
  "dependencies": {
4063
  "isobject": {
@@ -4074,8 +4676,8 @@
4074
  "integrity": "sha1-lbC2P+whRmGab+V/51Yo1aOe/k8=",
4075
  "dev": true,
4076
  "requires": {
4077
- "is-number": "3.0.0",
4078
- "kind-of": "4.0.0"
4079
  },
4080
  "dependencies": {
4081
  "is-number": {
@@ -4084,7 +4686,7 @@
4084
  "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=",
4085
  "dev": true,
4086
  "requires": {
4087
- "kind-of": "3.2.2"
4088
  },
4089
  "dependencies": {
4090
  "kind-of": {
@@ -4093,7 +4695,7 @@
4093
  "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
4094
  "dev": true,
4095
  "requires": {
4096
- "is-buffer": "1.1.6"
4097
  }
4098
  }
4099
  }
@@ -4104,7 +4706,7 @@
4104
  "integrity": "sha1-IIE989cSkosgc3hpGkUGb65y3Vc=",
4105
  "dev": true,
4106
  "requires": {
4107
- "is-buffer": "1.1.6"
4108
  }
4109
  }
4110
  }
@@ -4115,10 +4717,10 @@
4115
  "integrity": "sha1-B4REvXwWQLD+VA0sm3PVlnjo4cQ=",
4116
  "dev": true,
4117
  "requires": {
4118
- "boom": "2.10.1",
4119
- "cryptiles": "2.0.5",
4120
- "hoek": "2.16.3",
4121
- "sntp": "1.0.9"
4122
  }
4123
  },
4124
  "hoek": {
@@ -4133,7 +4735,7 @@
4133
  "integrity": "sha1-TCu8inWJmP7r9e1oWA921GdotLw=",
4134
  "dev": true,
4135
  "requires": {
4136
- "parse-passwd": "1.0.0"
4137
  }
4138
  },
4139
  "hooker": {
@@ -4160,11 +4762,11 @@
4160
  "integrity": "sha1-mWwosZFRaovoZQGn15dX5ccMEGg=",
4161
  "dev": true,
4162
  "requires": {
4163
- "domelementtype": "1.3.0",
4164
- "domhandler": "2.3.0",
4165
- "domutils": "1.5.1",
4166
- "entities": "1.0.0",
4167
- "readable-stream": "1.1.14"
4168
  },
4169
  "dependencies": {
4170
  "isarray": {
@@ -4179,10 +4781,10 @@
4179
  "integrity": "sha1-fPTFTvZI44EwhMY23SB54WbAgdk=",
4180
  "dev": true,
4181
  "requires": {
4182
- "core-util-is": "1.0.2",
4183
- "inherits": "2.0.3",
4184
  "isarray": "0.0.1",
4185
- "string_decoder": "0.10.31"
4186
  }
4187
  },
4188
  "string_decoder": {
@@ -4194,20 +4796,21 @@
4194
  }
4195
  },
4196
  "http-errors": {
4197
- "version": "1.5.1",
4198
- "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.5.1.tgz",
4199
- "integrity": "sha1-eIwNLB3iyBuebowBhDtrl+uSB1A=",
4200
  "dev": true,
4201
  "requires": {
 
4202
  "inherits": "2.0.3",
4203
- "setprototypeof": "1.0.2",
4204
- "statuses": "1.3.1"
4205
  }
4206
  },
4207
  "http-parser-js": {
4208
- "version": "0.4.11",
4209
- "resolved": "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.4.11.tgz",
4210
- "integrity": "sha512-QCR5O2AjjMW8Mo4HyI1ctFcv+O99j/0g367V3YoVnrNw5hkDvAWZD0lWGcc+F4yN3V55USPCVix4efb75HxFfA==",
4211
  "dev": true
4212
  },
4213
  "http-proxy": {
@@ -4216,8 +4819,8 @@
4216
  "integrity": "sha1-ZC/cr/5S00SNK9o7AHnpQJBk2jE=",
4217
  "dev": true,
4218
  "requires": {
4219
- "eventemitter3": "1.2.0",
4220
- "requires-port": "1.0.0"
4221
  }
4222
  },
4223
  "http-signature": {
@@ -4226,9 +4829,9 @@
4226
  "integrity": "sha1-33LiZwZs0Kxn+3at+OE0qPvPkb8=",
4227
  "dev": true,
4228
  "requires": {
4229
- "assert-plus": "0.2.0",
4230
- "jsprim": "1.4.1",
4231
- "sshpk": "1.14.1"
4232
  }
4233
  },
4234
  "iconv-lite": {
@@ -4237,7 +4840,7 @@
4237
  "integrity": "sha512-En5V9za5mBt2oUA03WGD3TwDv0MKAruqsuxstbMUZaj9W9k/m1CV/9py3l0L5kw9Bln8fdHQmzHSYtvpvTLpKw==",
4238
  "dev": true,
4239
  "requires": {
4240
- "safer-buffer": "2.1.2"
4241
  }
4242
  },
4243
  "ignore": {
@@ -4253,10 +4856,10 @@
4253
  "dev": true,
4254
  "optional": true,
4255
  "requires": {
4256
- "detect-libc": "0.2.0",
4257
- "nan": "2.10.0",
4258
- "node-gyp": "3.6.2",
4259
- "prebuild-install": "2.5.1"
4260
  }
4261
  },
4262
  "immutable": {
@@ -4289,7 +4892,7 @@
4289
  "integrity": "sha1-ji1INIdCEhtKghi3oTfppSBJ3IA=",
4290
  "dev": true,
4291
  "requires": {
4292
- "repeating": "2.0.1"
4293
  }
4294
  },
4295
  "indexes-of": {
@@ -4310,8 +4913,8 @@
4310
  "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=",
4311
  "dev": true,
4312
  "requires": {
4313
- "once": "1.4.0",
4314
- "wrappy": "1.0.2"
4315
  }
4316
  },
4317
  "inherits": {
@@ -4338,7 +4941,7 @@
4338
  "integrity": "sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==",
4339
  "dev": true,
4340
  "requires": {
4341
- "loose-envify": "1.3.1"
4342
  }
4343
  },
4344
  "invert-kv": {
@@ -4353,8 +4956,8 @@
4353
  "integrity": "sha512-dOWoqflvcydARa360Gvv18DZ/gRuHKi2NU/wU5X1ZFzdYfH29nkiNZsF3mp4OJ3H4yo9Mx8A/uAGNzpzPN3yBA==",
4354
  "dev": true,
4355
  "requires": {
4356
- "is-relative": "1.0.0",
4357
- "is-windows": "1.0.2"
4358
  }
4359
  },
4360
  "is-accessor-descriptor": {
@@ -4363,7 +4966,7 @@
4363
  "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=",
4364
  "dev": true,
4365
  "requires": {
4366
- "kind-of": "3.2.2"
4367
  }
4368
  },
4369
  "is-alphabetical": {
@@ -4384,8 +4987,8 @@
4384
  "integrity": "sha1-37SqTRCF4zvbYcLe6cgOnGwZ9Ts=",
4385
  "dev": true,
4386
  "requires": {
4387
- "is-alphabetical": "1.0.1",
4388
- "is-decimal": "1.0.1"
4389
  }
4390
  },
4391
  "is-arrayish": {
@@ -4400,7 +5003,7 @@
4400
  "integrity": "sha1-dfFmQrSA8YenEcgUFh/TpKdlWJg=",
4401
  "dev": true,
4402
  "requires": {
4403
- "binary-extensions": "1.11.0"
4404
  }
4405
  },
4406
  "is-buffer": {
@@ -4415,7 +5018,7 @@
4415
  "integrity": "sha1-VAVy0096wxGfj3bDDLwbHgN6/74=",
4416
  "dev": true,
4417
  "requires": {
4418
- "builtin-modules": "1.1.1"
4419
  }
4420
  },
4421
  "is-data-descriptor": {
@@ -4424,7 +5027,7 @@
4424
  "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=",
4425
  "dev": true,
4426
  "requires": {
4427
- "kind-of": "3.2.2"
4428
  }
4429
  },
4430
  "is-decimal": {
@@ -4439,9 +5042,9 @@
4439
  "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==",
4440
  "dev": true,
4441
  "requires": {
4442
- "is-accessor-descriptor": "0.1.6",
4443
- "is-data-descriptor": "0.1.4",
4444
- "kind-of": "5.1.0"
4445
  },
4446
  "dependencies": {
4447
  "kind-of": {
@@ -4470,7 +5073,7 @@
4470
  "integrity": "sha1-IjgJj8Ih3gvPpdnqxMRdY4qhxTQ=",
4471
  "dev": true,
4472
  "requires": {
4473
- "is-primitive": "2.0.0"
4474
  }
4475
  },
4476
  "is-extendable": {
@@ -4491,7 +5094,7 @@
4491
  "integrity": "sha1-zGZ3aVYCvlUO8R6LSqYwU0K20Ko=",
4492
  "dev": true,
4493
  "requires": {
4494
- "number-is-nan": "1.0.1"
4495
  }
4496
  },
4497
  "is-fullwidth-code-point": {
@@ -4500,7 +5103,7 @@
4500
  "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=",
4501
  "dev": true,
4502
  "requires": {
4503
- "number-is-nan": "1.0.1"
4504
  }
4505
  },
4506
  "is-glob": {
@@ -4509,7 +5112,7 @@
4509
  "integrity": "sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM=",
4510
  "dev": true,
4511
  "requires": {
4512
- "is-extglob": "1.0.0"
4513
  }
4514
  },
4515
  "is-hexadecimal": {
@@ -4530,11 +5133,11 @@
4530
  "integrity": "sha512-IBhBslgngMQN8DDSppmgDv7RNrlFotuuDsKcrCP3+HbFaVivIBU7u9oiiErw8sH4ynx3+gOGQ3q2otkgiSi6kg==",
4531
  "dev": true,
4532
  "requires": {
4533
- "generate-function": "2.0.0",
4534
- "generate-object-property": "1.2.0",
4535
- "is-my-ip-valid": "1.0.0",
4536
- "jsonpointer": "4.0.1",
4537
- "xtend": "4.0.1"
4538
  }
4539
  },
4540
  "is-negated-glob": {
@@ -4549,7 +5152,7 @@
4549
  "integrity": "sha1-Afy7s5NGOlSPL0ZszhbezknbkI8=",
4550
  "dev": true,
4551
  "requires": {
4552
- "kind-of": "3.2.2"
4553
  }
4554
  },
4555
  "is-number-like": {
@@ -4558,7 +5161,7 @@
4558
  "integrity": "sha512-6rZi3ezCyFcn5L71ywzz2bS5b2Igl1En3eTlZlvKjpz1n3IZLAYMbKYAIQgFmEu0GENg92ziU/faEOA/aixjbA==",
4559
  "dev": true,
4560
  "requires": {
4561
- "lodash.isfinite": "3.3.2"
4562
  }
4563
  },
4564
  "is-obj": {
@@ -4573,7 +5176,7 @@
4573
  "integrity": "sha512-OTiixgpZAT1M4NHgS5IguFp/Vz2VI3U7Goh4/HA1adtwyLtSBrxYlcSYkhpAE07s4fKEcjrFxyvtQBND4vFQyQ==",
4574
  "dev": true,
4575
  "requires": {
4576
- "is-number": "4.0.0"
4577
  },
4578
  "dependencies": {
4579
  "is-number": {
@@ -4596,7 +5199,7 @@
4596
  "integrity": "sha512-FjV1RTW48E7CWM7eE/J2NJvAEEVektecDBVBE5Hh3nM1Jd0kvhHtX68Pr3xsDf857xt3Y4AkwVULK1Vku62aaQ==",
4597
  "dev": true,
4598
  "requires": {
4599
- "is-path-inside": "1.0.1"
4600
  }
4601
  },
4602
  "is-path-inside": {
@@ -4605,7 +5208,7 @@
4605
  "integrity": "sha1-jvW33lBDej/cprToZe96pVy0gDY=",
4606
  "dev": true,
4607
  "requires": {
4608
- "path-is-inside": "1.0.2"
4609
  }
4610
  },
4611
  "is-plain-obj": {
@@ -4620,7 +5223,7 @@
4620
  "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==",
4621
  "dev": true,
4622
  "requires": {
4623
- "isobject": "3.0.1"
4624
  },
4625
  "dependencies": {
4626
  "isobject": {
@@ -4661,7 +5264,7 @@
4661
  "integrity": "sha512-Kw/ReK0iqwKeu0MITLFuj0jbPAmEiOsIwyIXvvbfa6QfmN9pkD1M+8pdk7Rl/dTKbH34/XBFMbgD4iMJhLQbGA==",
4662
  "dev": true,
4663
  "requires": {
4664
- "is-unc-path": "1.0.0"
4665
  }
4666
  },
4667
  "is-supported-regexp-flag": {
@@ -4682,7 +5285,7 @@
4682
  "integrity": "sha512-mrGpVd0fs7WWLfVsStvgF6iEJnbjDFZh9/emhRDcGWTduTfNHd9CHeUwH3gYIjdbwo4On6hunkztwOaAw0yllQ==",
4683
  "dev": true,
4684
  "requires": {
4685
- "unc-path-regex": "0.1.2"
4686
  }
4687
  },
4688
  "is-utf8": {
@@ -4768,8 +5371,8 @@
4768
  "integrity": "sha1-A3fDgBfKvHMisNH7zSWkkWQfL74=",
4769
  "dev": true,
4770
  "requires": {
4771
- "argparse": "1.0.10",
4772
- "esprima": "2.7.3"
4773
  }
4774
  },
4775
  "jsbn": {
@@ -4791,14 +5394,14 @@
4791
  "integrity": "sha1-HnJSkVzmgbQIJ+4UJIxG006apiw=",
4792
  "dev": true,
4793
  "requires": {
4794
- "cli": "1.0.1",
4795
- "console-browserify": "1.1.0",
4796
- "exit": "0.1.2",
4797
- "htmlparser2": "3.8.3",
4798
- "lodash": "3.7.0",
4799
- "minimatch": "3.0.4",
4800
- "shelljs": "0.3.0",
4801
- "strip-json-comments": "1.0.4"
4802
  },
4803
  "dependencies": {
4804
  "lodash": {
@@ -4839,7 +5442,7 @@
4839
  "integrity": "sha1-mnWdOcXy/1A/1TAGRu1EX4jE+a8=",
4840
  "dev": true,
4841
  "requires": {
4842
- "jsonify": "0.0.0"
4843
  }
4844
  },
4845
  "json-stringify-safe": {
@@ -4860,7 +5463,7 @@
4860
  "integrity": "sha1-pezG9l9T9mLEQVx2daAzHQmS7GY=",
4861
  "dev": true,
4862
  "requires": {
4863
- "graceful-fs": "4.1.11"
4864
  }
4865
  },
4866
  "jsonify": {
@@ -4907,7 +5510,7 @@
4907
  "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
4908
  "dev": true,
4909
  "requires": {
4910
- "is-buffer": "1.1.6"
4911
  }
4912
  },
4913
  "known-css-properties": {
@@ -4922,8 +5525,8 @@
4922
  "integrity": "sha1-RblpQsF7HHnHchmCWbqUO+v4yls=",
4923
  "dev": true,
4924
  "requires": {
4925
- "default-resolution": "2.0.0",
4926
- "es6-weak-map": "2.0.2"
4927
  }
4928
  },
4929
  "lazystream": {
@@ -4932,7 +5535,7 @@
4932
  "integrity": "sha1-9plf4PggOS9hOWvolGJAe7dxaOQ=",
4933
  "dev": true,
4934
  "requires": {
4935
- "readable-stream": "2.3.6"
4936
  }
4937
  },
4938
  "lcid": {
@@ -4941,7 +5544,7 @@
4941
  "integrity": "sha1-MIrMr6C8SDo4Z7S28rlQYlHRuDU=",
4942
  "dev": true,
4943
  "requires": {
4944
- "invert-kv": "1.0.0"
4945
  }
4946
  },
4947
  "lead": {
@@ -4950,7 +5553,7 @@
4950
  "integrity": "sha1-bxT5mje+Op3XhPVJVpDlkDRm7kI=",
4951
  "dev": true,
4952
  "requires": {
4953
- "flush-write-stream": "1.0.3"
4954
  }
4955
  },
4956
  "liftoff": {
@@ -4959,14 +5562,14 @@
4959
  "integrity": "sha1-IAkpG7Mc6oYbvxCnwVooyvdcMew=",
4960
  "dev": true,
4961
  "requires": {
4962
- "extend": "3.0.1",
4963
- "findup-sync": "2.0.0",
4964
- "fined": "1.1.0",
4965
- "flagged-respawn": "1.0.0",
4966
- "is-plain-object": "2.0.4",
4967
- "object.map": "1.0.1",
4968
- "rechoir": "0.6.2",
4969
- "resolve": "1.1.7"
4970
  },
4971
  "dependencies": {
4972
  "arr-diff": {
@@ -4987,16 +5590,16 @@
4987
  "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==",
4988
  "dev": true,
4989
  "requires": {
4990
- "arr-flatten": "1.1.0",
4991
- "array-unique": "0.3.2",
4992
- "extend-shallow": "2.0.1",
4993
- "fill-range": "4.0.0",
4994
- "isobject": "3.0.1",
4995
- "repeat-element": "1.1.2",
4996
- "snapdragon": "0.8.2",
4997
- "snapdragon-node": "2.1.1",
4998
- "split-string": "3.1.0",
4999
- "to-regex": "3.0.2"
5000
  },
5001
  "dependencies": {
5002
  "extend-shallow": {
@@ -5005,7 +5608,7 @@
5005
  "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
5006
  "dev": true,
5007
  "requires": {
5008
- "is-extendable": "0.1.1"
5009
  }
5010
  }
5011
  }
@@ -5016,13 +5619,13 @@
5016
  "integrity": "sha1-t3c14xXOMPa27/D4OwQVGiJEliI=",
5017
  "dev": true,
5018
  "requires": {
5019
- "debug": "2.6.9",
5020
- "define-property": "0.2.5",
5021
- "extend-shallow": "2.0.1",
5022
- "posix-character-classes": "0.1.1",
5023
- "regex-not": "1.0.2",
5024
- "snapdragon": "0.8.2",
5025
- "to-regex": "3.0.2"
5026
  },
5027
  "dependencies": {
5028
  "define-property": {
@@ -5031,7 +5634,7 @@
5031
  "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
5032
  "dev": true,
5033
  "requires": {
5034
- "is-descriptor": "0.1.6"
5035
  }
5036
  },
5037
  "extend-shallow": {
@@ -5040,7 +5643,7 @@
5040
  "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
5041
  "dev": true,
5042
  "requires": {
5043
- "is-extendable": "0.1.1"
5044
  }
5045
  },
5046
  "is-accessor-descriptor": {
@@ -5049,7 +5652,7 @@
5049
  "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=",
5050
  "dev": true,
5051
  "requires": {
5052
- "kind-of": "3.2.2"
5053
  },
5054
  "dependencies": {
5055
  "kind-of": {
@@ -5058,7 +5661,7 @@
5058
  "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
5059
  "dev": true,
5060
  "requires": {
5061
- "is-buffer": "1.1.6"
5062
  }
5063
  }
5064
  }
@@ -5069,7 +5672,7 @@
5069
  "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=",
5070
  "dev": true,
5071
  "requires": {
5072
- "kind-of": "3.2.2"
5073
  },
5074
  "dependencies": {
5075
  "kind-of": {
@@ -5078,7 +5681,7 @@
5078
  "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
5079
  "dev": true,
5080
  "requires": {
5081
- "is-buffer": "1.1.6"
5082
  }
5083
  }
5084
  }
@@ -5089,9 +5692,9 @@
5089
  "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==",
5090
  "dev": true,
5091
  "requires": {
5092
- "is-accessor-descriptor": "0.1.6",
5093
- "is-data-descriptor": "0.1.4",
5094
- "kind-of": "5.1.0"
5095
  }
5096
  },
5097
  "kind-of": {
@@ -5108,14 +5711,14 @@
5108
  "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==",
5109
  "dev": true,
5110
  "requires": {
5111
- "array-unique": "0.3.2",
5112
- "define-property": "1.0.0",
5113
- "expand-brackets": "2.1.4",
5114
- "extend-shallow": "2.0.1",
5115
- "fragment-cache": "0.2.1",
5116
- "regex-not": "1.0.2",
5117
- "snapdragon": "0.8.2",
5118
- "to-regex": "3.0.2"
5119
  },
5120
  "dependencies": {
5121
  "define-property": {
@@ -5124,7 +5727,7 @@
5124
  "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=",
5125
  "dev": true,
5126
  "requires": {
5127
- "is-descriptor": "1.0.2"
5128
  }
5129
  },
5130
  "extend-shallow": {
@@ -5133,7 +5736,7 @@
5133
  "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
5134
  "dev": true,
5135
  "requires": {
5136
- "is-extendable": "0.1.1"
5137
  }
5138
  }
5139
  }
@@ -5144,10 +5747,10 @@
5144
  "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=",
5145
  "dev": true,
5146
  "requires": {
5147
- "extend-shallow": "2.0.1",
5148
- "is-number": "3.0.0",
5149
- "repeat-string": "1.6.1",
5150
- "to-regex-range": "2.1.1"
5151
  },
5152
  "dependencies": {
5153
  "extend-shallow": {
@@ -5156,7 +5759,7 @@
5156
  "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
5157
  "dev": true,
5158
  "requires": {
5159
- "is-extendable": "0.1.1"
5160
  }
5161
  }
5162
  }
@@ -5167,10 +5770,10 @@
5167
  "integrity": "sha1-kyaxSIwi0aYIhlCoaQGy2akKLLw=",
5168
  "dev": true,
5169
  "requires": {
5170
- "detect-file": "1.0.0",
5171
- "is-glob": "3.1.0",
5172
- "micromatch": "3.1.10",
5173
- "resolve-dir": "1.0.1"
5174
  }
5175
  },
5176
  "is-accessor-descriptor": {
@@ -5179,7 +5782,7 @@
5179
  "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==",
5180
  "dev": true,
5181
  "requires": {
5182
- "kind-of": "6.0.2"
5183
  }
5184
  },
5185
  "is-data-descriptor": {
@@ -5188,7 +5791,7 @@
5188
  "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==",
5189
  "dev": true,
5190
  "requires": {
5191
- "kind-of": "6.0.2"
5192
  }
5193
  },
5194
  "is-descriptor": {
@@ -5197,9 +5800,9 @@
5197
  "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==",
5198
  "dev": true,
5199
  "requires": {
5200
- "is-accessor-descriptor": "1.0.0",
5201
- "is-data-descriptor": "1.0.0",
5202
- "kind-of": "6.0.2"
5203
  }
5204
  },
5205
  "is-extglob": {
@@ -5214,7 +5817,7 @@
5214
  "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=",
5215
  "dev": true,
5216
  "requires": {
5217
- "is-extglob": "2.1.1"
5218
  }
5219
  },
5220
  "is-number": {
@@ -5223,7 +5826,7 @@
5223
  "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=",
5224
  "dev": true,
5225
  "requires": {
5226
- "kind-of": "3.2.2"
5227
  },
5228
  "dependencies": {
5229
  "kind-of": {
@@ -5232,7 +5835,7 @@
5232
  "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
5233
  "dev": true,
5234
  "requires": {
5235
- "is-buffer": "1.1.6"
5236
  }
5237
  }
5238
  }
@@ -5255,27 +5858,27 @@
5255
  "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==",
5256
  "dev": true,
5257
  "requires": {
5258
- "arr-diff": "4.0.0",
5259
- "array-unique": "0.3.2",
5260
- "braces": "2.3.2",
5261
- "define-property": "2.0.2",
5262
- "extend-shallow": "3.0.2",
5263
- "extglob": "2.0.4",
5264
- "fragment-cache": "0.2.1",
5265
- "kind-of": "6.0.2",
5266
- "nanomatch": "1.2.9",
5267
- "object.pick": "1.3.0",
5268
- "regex-not": "1.0.2",
5269
- "snapdragon": "0.8.2",
5270
- "to-regex": "3.0.2"
5271
  }
5272
  }
5273
  }
5274
  },
5275
  "limiter": {
5276
- "version": "1.1.2",
5277
- "resolved": "https://registry.npmjs.org/limiter/-/limiter-1.1.2.tgz",
5278
- "integrity": "sha512-JIKZ0xb6fZZYa3deZ0BgXCgX6HgV8Nx3mFGeFHmFWW8Fb2c08e0CyE+G3nalpD0xGvGssjGb1UdFr+PprxZEbw==",
5279
  "dev": true
5280
  },
5281
  "livereload-js": {
@@ -5290,23 +5893,23 @@
5290
  "integrity": "sha1-lWkFcI1YtLq0wiYbBPWfMcmTdMA=",
5291
  "dev": true,
5292
  "requires": {
5293
- "graceful-fs": "4.1.11",
5294
- "parse-json": "2.2.0",
5295
- "pify": "2.3.0",
5296
- "pinkie-promise": "2.0.1",
5297
- "strip-bom": "2.0.0"
5298
  }
5299
  },
5300
  "localtunnel": {
5301
- "version": "1.8.3",
5302
- "resolved": "https://registry.npmjs.org/localtunnel/-/localtunnel-1.8.3.tgz",
5303
- "integrity": "sha1-3MWSL9hWUQN9S94k/ZMkjQsk6wU=",
5304
  "dev": true,
5305
  "requires": {
 
5306
  "debug": "2.6.8",
5307
  "openurl": "1.1.1",
5308
- "request": "2.81.0",
5309
- "yargs": "3.29.0"
5310
  },
5311
  "dependencies": {
5312
  "debug": {
@@ -5319,17 +5922,24 @@
5319
  }
5320
  },
5321
  "yargs": {
5322
- "version": "3.29.0",
5323
- "resolved": "https://registry.npmjs.org/yargs/-/yargs-3.29.0.tgz",
5324
- "integrity": "sha1-GquWYOrnnYuPZ1vK7qtu40ws9pw=",
5325
- "dev": true,
5326
- "requires": {
5327
- "camelcase": "1.2.1",
5328
- "cliui": "3.2.0",
5329
- "decamelize": "1.2.0",
5330
- "os-locale": "1.4.0",
5331
- "window-size": "0.1.4",
5332
- "y18n": "3.2.1"
 
 
 
 
 
 
 
5333
  }
5334
  }
5335
  }
@@ -5340,8 +5950,8 @@
5340
  "integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=",
5341
  "dev": true,
5342
  "requires": {
5343
- "p-locate": "2.0.0",
5344
- "path-exists": "3.0.0"
5345
  },
5346
  "dependencies": {
5347
  "path-exists": {
@@ -5388,7 +5998,7 @@
5388
  "integrity": "sha512-VeIAFslyIerEJLXHziedo2basKbMKtTw3vfn5IzG0XTjhAVEJyNHnL2p7vc+wBDSdQuUpNw3M2u6xb9QsAY5Eg==",
5389
  "dev": true,
5390
  "requires": {
5391
- "chalk": "2.3.2"
5392
  }
5393
  },
5394
  "longest-streak": {
@@ -5403,7 +6013,7 @@
5403
  "integrity": "sha1-0aitM/qc4OcT1l/dCsi3SNR4yEg=",
5404
  "dev": true,
5405
  "requires": {
5406
- "js-tokens": "3.0.2"
5407
  }
5408
  },
5409
  "loud-rejection": {
@@ -5412,8 +6022,8 @@
5412
  "integrity": "sha1-W0b4AUft7leIcPCG0Eghz5mOVR8=",
5413
  "dev": true,
5414
  "requires": {
5415
- "currently-unhandled": "0.4.1",
5416
- "signal-exit": "3.0.2"
5417
  }
5418
  },
5419
  "lru-cache": {
@@ -5422,8 +6032,8 @@
5422
  "integrity": "sha512-wgeVXhrDwAWnIF/yZARsFnMBtdFXOg1b8RIrhilp+0iDYN4mdQcNZElDZ0e4B64BhaxeQ5zN7PMyvu7we1kPeQ==",
5423
  "dev": true,
5424
  "requires": {
5425
- "pseudomap": "1.0.2",
5426
- "yallist": "2.1.2"
5427
  }
5428
  },
5429
  "make-iterator": {
@@ -5432,7 +6042,7 @@
5432
  "integrity": "sha512-pxiuXh0iVEq7VM7KMIhs5gxsfxCux2URptUQaXo4iZZJxBAzTPOLE2BumO5dbfVYq/hBJFBR/a1mFDmOx5AGmw==",
5433
  "dev": true,
5434
  "requires": {
5435
- "kind-of": "6.0.2"
5436
  },
5437
  "dependencies": {
5438
  "kind-of": {
@@ -5461,7 +6071,7 @@
5461
  "integrity": "sha1-7Nyo8TFE5mDxtb1B8S80edmN+48=",
5462
  "dev": true,
5463
  "requires": {
5464
- "object-visit": "1.0.1"
5465
  }
5466
  },
5467
  "markdown-escapes": {
@@ -5482,9 +6092,9 @@
5482
  "integrity": "sha1-xvNINKDY28OzfCfui7yyfHd1WC4=",
5483
  "dev": true,
5484
  "requires": {
5485
- "findup-sync": "2.0.0",
5486
- "micromatch": "3.1.10",
5487
- "resolve": "1.7.0",
5488
  "stack-trace": "0.0.10"
5489
  },
5490
  "dependencies": {
@@ -5506,16 +6116,16 @@
5506
  "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==",
5507
  "dev": true,
5508
  "requires": {
5509
- "arr-flatten": "1.1.0",
5510
- "array-unique": "0.3.2",
5511
- "extend-shallow": "2.0.1",
5512
- "fill-range": "4.0.0",
5513
- "isobject": "3.0.1",
5514
- "repeat-element": "1.1.2",
5515
- "snapdragon": "0.8.2",
5516
- "snapdragon-node": "2.1.1",
5517
- "split-string": "3.1.0",
5518
- "to-regex": "3.0.2"
5519
  },
5520
  "dependencies": {
5521
  "extend-shallow": {
@@ -5524,7 +6134,7 @@
5524
  "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
5525
  "dev": true,
5526
  "requires": {
5527
- "is-extendable": "0.1.1"
5528
  }
5529
  }
5530
  }
@@ -5535,13 +6145,13 @@
5535
  "integrity": "sha1-t3c14xXOMPa27/D4OwQVGiJEliI=",
5536
  "dev": true,
5537
  "requires": {
5538
- "debug": "2.6.9",
5539
- "define-property": "0.2.5",
5540
- "extend-shallow": "2.0.1",
5541
- "posix-character-classes": "0.1.1",
5542
- "regex-not": "1.0.2",
5543
- "snapdragon": "0.8.2",
5544
- "to-regex": "3.0.2"
5545
  },
5546
  "dependencies": {
5547
  "define-property": {
@@ -5550,7 +6160,7 @@
5550
  "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
5551
  "dev": true,
5552
  "requires": {
5553
- "is-descriptor": "0.1.6"
5554
  }
5555
  },
5556
  "extend-shallow": {
@@ -5559,7 +6169,7 @@
5559
  "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
5560
  "dev": true,
5561
  "requires": {
5562
- "is-extendable": "0.1.1"
5563
  }
5564
  },
5565
  "is-accessor-descriptor": {
@@ -5568,7 +6178,7 @@
5568
  "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=",
5569
  "dev": true,
5570
  "requires": {
5571
- "kind-of": "3.2.2"
5572
  },
5573
  "dependencies": {
5574
  "kind-of": {
@@ -5577,7 +6187,7 @@
5577
  "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
5578
  "dev": true,
5579
  "requires": {
5580
- "is-buffer": "1.1.6"
5581
  }
5582
  }
5583
  }
@@ -5588,7 +6198,7 @@
5588
  "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=",
5589
  "dev": true,
5590
  "requires": {
5591
- "kind-of": "3.2.2"
5592
  },
5593
  "dependencies": {
5594
  "kind-of": {
@@ -5597,7 +6207,7 @@
5597
  "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
5598
  "dev": true,
5599
  "requires": {
5600
- "is-buffer": "1.1.6"
5601
  }
5602
  }
5603
  }
@@ -5608,9 +6218,9 @@
5608
  "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==",
5609
  "dev": true,
5610
  "requires": {
5611
- "is-accessor-descriptor": "0.1.6",
5612
- "is-data-descriptor": "0.1.4",
5613
- "kind-of": "5.1.0"
5614
  }
5615
  },
5616
  "kind-of": {
@@ -5627,14 +6237,14 @@
5627
  "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==",
5628
  "dev": true,
5629
  "requires": {
5630
- "array-unique": "0.3.2",
5631
- "define-property": "1.0.0",
5632
- "expand-brackets": "2.1.4",
5633
- "extend-shallow": "2.0.1",
5634
- "fragment-cache": "0.2.1",
5635
- "regex-not": "1.0.2",
5636
- "snapdragon": "0.8.2",
5637
- "to-regex": "3.0.2"
5638
  },
5639
  "dependencies": {
5640
  "define-property": {
@@ -5643,7 +6253,7 @@
5643
  "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=",
5644
  "dev": true,
5645
  "requires": {
5646
- "is-descriptor": "1.0.2"
5647
  }
5648
  },
5649
  "extend-shallow": {
@@ -5652,7 +6262,7 @@
5652
  "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
5653
  "dev": true,
5654
  "requires": {
5655
- "is-extendable": "0.1.1"
5656
  }
5657
  }
5658
  }
@@ -5663,10 +6273,10 @@
5663
  "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=",
5664
  "dev": true,
5665
  "requires": {
5666
- "extend-shallow": "2.0.1",
5667
- "is-number": "3.0.0",
5668
- "repeat-string": "1.6.1",
5669
- "to-regex-range": "2.1.1"
5670
  },
5671
  "dependencies": {
5672
  "extend-shallow": {
@@ -5675,7 +6285,7 @@
5675
  "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
5676
  "dev": true,
5677
  "requires": {
5678
- "is-extendable": "0.1.1"
5679
  }
5680
  }
5681
  }
@@ -5686,10 +6296,10 @@
5686
  "integrity": "sha1-kyaxSIwi0aYIhlCoaQGy2akKLLw=",
5687
  "dev": true,
5688
  "requires": {
5689
- "detect-file": "1.0.0",
5690
- "is-glob": "3.1.0",
5691
- "micromatch": "3.1.10",
5692
- "resolve-dir": "1.0.1"
5693
  }
5694
  },
5695
  "is-accessor-descriptor": {
@@ -5698,7 +6308,7 @@
5698
  "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==",
5699
  "dev": true,
5700
  "requires": {
5701
- "kind-of": "6.0.2"
5702
  }
5703
  },
5704
  "is-data-descriptor": {
@@ -5707,7 +6317,7 @@
5707
  "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==",
5708
  "dev": true,
5709
  "requires": {
5710
- "kind-of": "6.0.2"
5711
  }
5712
  },
5713
  "is-descriptor": {
@@ -5716,9 +6326,9 @@
5716
  "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==",
5717
  "dev": true,
5718
  "requires": {
5719
- "is-accessor-descriptor": "1.0.0",
5720
- "is-data-descriptor": "1.0.0",
5721
- "kind-of": "6.0.2"
5722
  }
5723
  },
5724
  "is-extglob": {
@@ -5733,7 +6343,7 @@
5733
  "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=",
5734
  "dev": true,
5735
  "requires": {
5736
- "is-extglob": "2.1.1"
5737
  }
5738
  },
5739
  "is-number": {
@@ -5742,7 +6352,7 @@
5742
  "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=",
5743
  "dev": true,
5744
  "requires": {
5745
- "kind-of": "3.2.2"
5746
  },
5747
  "dependencies": {
5748
  "kind-of": {
@@ -5751,7 +6361,7 @@
5751
  "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
5752
  "dev": true,
5753
  "requires": {
5754
- "is-buffer": "1.1.6"
5755
  }
5756
  }
5757
  }
@@ -5774,19 +6384,19 @@
5774
  "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==",
5775
  "dev": true,
5776
  "requires": {
5777
- "arr-diff": "4.0.0",
5778
- "array-unique": "0.3.2",
5779
- "braces": "2.3.2",
5780
- "define-property": "2.0.2",
5781
- "extend-shallow": "3.0.2",
5782
- "extglob": "2.0.4",
5783
- "fragment-cache": "0.2.1",
5784
- "kind-of": "6.0.2",
5785
- "nanomatch": "1.2.9",
5786
- "object.pick": "1.3.0",
5787
- "regex-not": "1.0.2",
5788
- "snapdragon": "0.8.2",
5789
- "to-regex": "3.0.2"
5790
  }
5791
  },
5792
  "resolve": {
@@ -5795,7 +6405,7 @@
5795
  "integrity": "sha512-QdgZ5bjR1WAlpLaO5yHepFvC+o3rCr6wpfE2tpJNMkXdulf2jKomQBdNRQITF3ZKHNlT71syG98yQP03gasgnA==",
5796
  "dev": true,
5797
  "requires": {
5798
- "path-parse": "1.0.5"
5799
  }
5800
  }
5801
  }
@@ -5812,10 +6422,10 @@
5812
  "integrity": "sha1-TTsiCQPZXu5+t6x/qGTnLcCaMWY=",
5813
  "dev": true,
5814
  "requires": {
5815
- "chalk": "1.1.3",
5816
- "figures": "1.7.0",
5817
- "gzip-size": "3.0.0",
5818
- "pretty-bytes": "3.0.1"
5819
  },
5820
  "dependencies": {
5821
  "ansi-styles": {
@@ -5830,11 +6440,11 @@
5830
  "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=",
5831
  "dev": true,
5832
  "requires": {
5833
- "ansi-styles": "2.2.1",
5834
- "escape-string-regexp": "1.0.5",
5835
- "has-ansi": "2.0.0",
5836
- "strip-ansi": "3.0.1",
5837
- "supports-color": "2.0.0"
5838
  }
5839
  },
5840
  "pretty-bytes": {
@@ -5843,7 +6453,7 @@
5843
  "integrity": "sha1-J9AAjXeAY6C0gRuzXHnxvV1fvM8=",
5844
  "dev": true,
5845
  "requires": {
5846
- "number-is-nan": "1.0.1"
5847
  }
5848
  },
5849
  "supports-color": {
@@ -5860,8 +6470,8 @@
5860
  "integrity": "sha1-zbX4TitqLTEU3zO9BdnLMuPECDo=",
5861
  "dev": true,
5862
  "requires": {
5863
- "unist-util-modify-children": "1.1.1",
5864
- "unist-util-visit": "1.3.0"
5865
  }
5866
  },
5867
  "media-typer": {
@@ -5876,16 +6486,16 @@
5876
  "integrity": "sha1-cstmi0JSKCkKu/qFaJJYcwioAfs=",
5877
  "dev": true,
5878
  "requires": {
5879
- "camelcase-keys": "2.1.0",
5880
- "decamelize": "1.2.0",
5881
- "loud-rejection": "1.6.0",
5882
- "map-obj": "1.0.1",
5883
- "minimist": "1.2.0",
5884
- "normalize-package-data": "2.4.0",
5885
- "object-assign": "4.1.1",
5886
- "read-pkg-up": "1.0.1",
5887
- "redent": "1.0.0",
5888
- "trim-newlines": "1.0.0"
5889
  }
5890
  },
5891
  "merge2": {
@@ -5900,25 +6510,25 @@
5900
  "integrity": "sha1-hmd8l9FyCzY0MdBNDRUpO9OMFWU=",
5901
  "dev": true,
5902
  "requires": {
5903
- "arr-diff": "2.0.0",
5904
- "array-unique": "0.2.1",
5905
- "braces": "1.8.5",
5906
- "expand-brackets": "0.1.5",
5907
- "extglob": "0.3.2",
5908
- "filename-regex": "2.0.1",
5909
- "is-extglob": "1.0.0",
5910
- "is-glob": "2.0.1",
5911
- "kind-of": "3.2.2",
5912
- "normalize-path": "2.1.1",
5913
- "object.omit": "2.0.1",
5914
- "parse-glob": "3.0.4",
5915
- "regex-cache": "0.4.4"
5916
  }
5917
  },
5918
  "mime": {
5919
- "version": "1.3.4",
5920
- "resolved": "https://registry.npmjs.org/mime/-/mime-1.3.4.tgz",
5921
- "integrity": "sha1-EV+eO2s9rylZmDyzjxSaLUDrXVM=",
5922
  "dev": true
5923
  },
5924
  "mime-db": {
@@ -5933,7 +6543,7 @@
5933
  "integrity": "sha512-lc/aahn+t4/SWV/qcmumYjymLsWfN3ELhpmVuUFjgsORruuZPVSwAQryq+HHGvO/SI2KVX26bx+En+zhM8g8hQ==",
5934
  "dev": true,
5935
  "requires": {
5936
- "mime-db": "1.33.0"
5937
  }
5938
  },
5939
  "mimic-response": {
@@ -5949,7 +6559,7 @@
5949
  "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==",
5950
  "dev": true,
5951
  "requires": {
5952
- "brace-expansion": "1.1.11"
5953
  }
5954
  },
5955
  "minimist": {
@@ -5964,8 +6574,8 @@
5964
  "integrity": "sha512-FyBrT/d0d4+uiZRbqznPXqw3IpZZG3gl3wKWiX784FycUKVwBt0uLBFkQrtE4tZOrgo78nZp2jnKz3L65T5LdQ==",
5965
  "dev": true,
5966
  "requires": {
5967
- "arrify": "1.0.1",
5968
- "is-plain-obj": "1.1.0"
5969
  }
5970
  },
5971
  "mixin-deep": {
@@ -5974,8 +6584,8 @@
5974
  "integrity": "sha512-8ZItLHeEgaqEvd5lYBXfm4EZSFCX29Jb9K+lAHhDKzReKBQKj3R+7NOF6tjqYi9t4oI8VUfaWITJQm86wnXGNQ==",
5975
  "dev": true,
5976
  "requires": {
5977
- "for-in": "1.0.2",
5978
- "is-extendable": "1.0.1"
5979
  },
5980
  "dependencies": {
5981
  "is-extendable": {
@@ -5984,7 +6594,7 @@
5984
  "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==",
5985
  "dev": true,
5986
  "requires": {
5987
- "is-plain-object": "2.0.4"
5988
  }
5989
  }
5990
  }
@@ -6030,18 +6640,18 @@
6030
  "integrity": "sha512-n8R9bS8yQ6eSXaV6jHUpKzD8gLsin02w1HSFiegwrs9E098Ylhw5jdyKPaYqvHknHaSCKTPp7C8dGCQ0q9koXA==",
6031
  "dev": true,
6032
  "requires": {
6033
- "arr-diff": "4.0.0",
6034
- "array-unique": "0.3.2",
6035
- "define-property": "2.0.2",
6036
- "extend-shallow": "3.0.2",
6037
- "fragment-cache": "0.2.1",
6038
- "is-odd": "2.0.0",
6039
- "is-windows": "1.0.2",
6040
- "kind-of": "6.0.2",
6041
- "object.pick": "1.3.0",
6042
- "regex-not": "1.0.2",
6043
- "snapdragon": "0.8.2",
6044
- "to-regex": "3.0.2"
6045
  },
6046
  "dependencies": {
6047
  "arr-diff": {
@@ -6083,7 +6693,7 @@
6083
  "dev": true,
6084
  "optional": true,
6085
  "requires": {
6086
- "semver": "5.5.0"
6087
  }
6088
  },
6089
  "node-gyp": {
@@ -6092,19 +6702,19 @@
6092
  "integrity": "sha1-m/vlRWIoYoSDjnUOrAUpWFP6HGA=",
6093
  "dev": true,
6094
  "requires": {
6095
- "fstream": "1.0.11",
6096
- "glob": "7.0.6",
6097
- "graceful-fs": "4.1.11",
6098
- "minimatch": "3.0.4",
6099
- "mkdirp": "0.5.1",
6100
- "nopt": "3.0.6",
6101
- "npmlog": "4.1.2",
6102
- "osenv": "0.1.5",
6103
- "request": "2.81.0",
6104
- "rimraf": "2.2.8",
6105
- "semver": "5.3.0",
6106
- "tar": "2.2.1",
6107
- "which": "1.2.14"
6108
  },
6109
  "dependencies": {
6110
  "semver": {
@@ -6121,25 +6731,25 @@
6121
  "integrity": "sha512-tfFWhUsCk/Y19zarDcPo5xpj+IW3qCfOjVdHtYeG6S1CKbQOh1zqylnQK6cV3z9k80yxAnFX9Y+a9+XysDhhfg==",
6122
  "dev": true,
6123
  "requires": {
6124
- "async-foreach": "0.1.3",
6125
- "chalk": "1.1.3",
6126
- "cross-spawn": "3.0.1",
6127
- "gaze": "1.1.2",
6128
- "get-stdin": "4.0.1",
6129
- "glob": "7.0.6",
6130
- "in-publish": "2.0.0",
6131
- "lodash.assign": "4.2.0",
6132
- "lodash.clonedeep": "4.5.0",
6133
- "lodash.mergewith": "4.6.1",
6134
- "meow": "3.7.0",
6135
- "mkdirp": "0.5.1",
6136
- "nan": "2.10.0",
6137
- "node-gyp": "3.6.2",
6138
- "npmlog": "4.1.2",
6139
- "request": "2.79.0",
6140
- "sass-graph": "2.2.4",
6141
- "stdout-stream": "1.4.0",
6142
- "true-case-path": "1.0.2"
6143
  },
6144
  "dependencies": {
6145
  "ansi-styles": {
@@ -6160,11 +6770,11 @@
6160
  "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=",
6161
  "dev": true,
6162
  "requires": {
6163
- "ansi-styles": "2.2.1",
6164
- "escape-string-regexp": "1.0.5",
6165
- "has-ansi": "2.0.0",
6166
- "strip-ansi": "3.0.1",
6167
- "supports-color": "2.0.0"
6168
  }
6169
  },
6170
  "har-validator": {
@@ -6173,10 +6783,10 @@
6173
  "integrity": "sha1-zcvAgYgmWtEZtqWnyKtw7s+10n0=",
6174
  "dev": true,
6175
  "requires": {
6176
- "chalk": "1.1.3",
6177
- "commander": "2.15.1",
6178
- "is-my-json-valid": "2.17.2",
6179
- "pinkie-promise": "2.0.1"
6180
  }
6181
  },
6182
  "qs": {
@@ -6191,26 +6801,26 @@
6191
  "integrity": "sha1-Tf5b9r6LjNw3/Pk+BLZVd3InEN4=",
6192
  "dev": true,
6193
  "requires": {
6194
- "aws-sign2": "0.6.0",
6195
- "aws4": "1.7.0",
6196
- "caseless": "0.11.0",
6197
- "combined-stream": "1.0.6",
6198
- "extend": "3.0.1",
6199
- "forever-agent": "0.6.1",
6200
- "form-data": "2.1.4",
6201
- "har-validator": "2.0.6",
6202
- "hawk": "3.1.3",
6203
- "http-signature": "1.1.1",
6204
- "is-typedarray": "1.0.0",
6205
- "isstream": "0.1.2",
6206
- "json-stringify-safe": "5.0.1",
6207
- "mime-types": "2.1.18",
6208
- "oauth-sign": "0.8.2",
6209
- "qs": "6.3.2",
6210
- "stringstream": "0.0.5",
6211
- "tough-cookie": "2.3.4",
6212
- "tunnel-agent": "0.4.3",
6213
- "uuid": "3.2.1"
6214
  }
6215
  },
6216
  "supports-color": {
@@ -6233,13 +6843,13 @@
6233
  "integrity": "sha512-SI3+vhddQDBh2pkOowqPdXs/YN/bRnNvR4gDmcSJaQ4P+z8jSuPRZTFFClaD/fVv0AG0zY/ku07oQuayr844Mg==",
6234
  "dev": true,
6235
  "requires": {
6236
- "bluebird": "3.5.1",
6237
- "gettext-parser": "1.3.1",
6238
- "glob": "7.0.6",
6239
- "lodash": "4.17.5",
6240
- "minimist": "1.2.0",
6241
- "mkdirp": "0.5.1",
6242
- "tmp": "0.0.33"
6243
  },
6244
  "dependencies": {
6245
  "lodash": {
@@ -6263,7 +6873,7 @@
6263
  "integrity": "sha1-xkZdvwirzU2zWTF/eaxopkayj/k=",
6264
  "dev": true,
6265
  "requires": {
6266
- "abbrev": "1.1.1"
6267
  }
6268
  },
6269
  "normalize-package-data": {
@@ -6272,10 +6882,10 @@
6272
  "integrity": "sha512-9jjUFbTPfEy3R/ad/2oNbKtW9Hgovl5O1FvFWKkKblNXoN/Oou6+9+KKohPK13Yc3/TyunyWhJp6gvRNR/PPAw==",
6273
  "dev": true,
6274
  "requires": {
6275
- "hosted-git-info": "2.6.0",
6276
- "is-builtin-module": "1.0.0",
6277
- "semver": "5.5.0",
6278
- "validate-npm-package-license": "3.0.3"
6279
  }
6280
  },
6281
  "normalize-path": {
@@ -6284,7 +6894,7 @@
6284
  "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=",
6285
  "dev": true,
6286
  "requires": {
6287
- "remove-trailing-separator": "1.1.0"
6288
  }
6289
  },
6290
  "normalize-range": {
@@ -6305,7 +6915,7 @@
6305
  "integrity": "sha1-vGHLtFbXnLMiB85HygUTb/Ln1u4=",
6306
  "dev": true,
6307
  "requires": {
6308
- "once": "1.4.0"
6309
  }
6310
  },
6311
  "npmlog": {
@@ -6314,10 +6924,10 @@
6314
  "integrity": "sha512-2uUqazuKlTaSI/dC8AzicUck7+IrEaOnN/e0jd3Xtt1KcGpwx30v50mL7oPyr/h9bL3E4aZccVwpwP+5W9Vjkg==",
6315
  "dev": true,
6316
  "requires": {
6317
- "are-we-there-yet": "1.1.4",
6318
- "console-control-strings": "1.1.0",
6319
- "gauge": "2.7.4",
6320
- "set-blocking": "2.0.0"
6321
  }
6322
  },
6323
  "num2fraction": {
@@ -6356,9 +6966,9 @@
6356
  "integrity": "sha1-fn2Fi3gb18mRpBupde04EnVOmYw=",
6357
  "dev": true,
6358
  "requires": {
6359
- "copy-descriptor": "0.1.1",
6360
- "define-property": "0.2.5",
6361
- "kind-of": "3.2.2"
6362
  },
6363
  "dependencies": {
6364
  "define-property": {
@@ -6367,7 +6977,7 @@
6367
  "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
6368
  "dev": true,
6369
  "requires": {
6370
- "is-descriptor": "0.1.6"
6371
  }
6372
  }
6373
  }
@@ -6390,7 +7000,7 @@
6390
  "integrity": "sha1-95xEk68MU3e1n+OdOV5BBC3QRbs=",
6391
  "dev": true,
6392
  "requires": {
6393
- "isobject": "3.0.1"
6394
  },
6395
  "dependencies": {
6396
  "isobject": {
@@ -6407,10 +7017,10 @@
6407
  "integrity": "sha512-exHJeq6kBKj58mqGyTQ9DFvrZC/eR6OwxzoM9YRoGBqrXYonaFyGiFMuc9VZrXf7DarreEwMpurG3dd+CNyW5w==",
6408
  "dev": true,
6409
  "requires": {
6410
- "define-properties": "1.1.2",
6411
- "function-bind": "1.1.1",
6412
- "has-symbols": "1.0.0",
6413
- "object-keys": "1.0.11"
6414
  }
6415
  },
6416
  "object.defaults": {
@@ -6419,10 +7029,10 @@
6419
  "integrity": "sha1-On+GgzS0B96gbaFtiNXNKeQ1/s8=",
6420
  "dev": true,
6421
  "requires": {
6422
- "array-each": "1.0.1",
6423
- "array-slice": "1.1.0",
6424
- "for-own": "1.0.0",
6425
- "isobject": "3.0.1"
6426
  },
6427
  "dependencies": {
6428
  "for-own": {
@@ -6431,7 +7041,7 @@
6431
  "integrity": "sha1-xjMy9BXO3EsE2/5wz4NklMU8tEs=",
6432
  "dev": true,
6433
  "requires": {
6434
- "for-in": "1.0.2"
6435
  }
6436
  },
6437
  "isobject": {
@@ -6448,8 +7058,8 @@
6448
  "integrity": "sha1-z4Plncj8wK1fQlDh94s7gb2AHTc=",
6449
  "dev": true,
6450
  "requires": {
6451
- "for-own": "1.0.0",
6452
- "make-iterator": "1.0.1"
6453
  },
6454
  "dependencies": {
6455
  "for-own": {
@@ -6458,7 +7068,7 @@
6458
  "integrity": "sha1-xjMy9BXO3EsE2/5wz4NklMU8tEs=",
6459
  "dev": true,
6460
  "requires": {
6461
- "for-in": "1.0.2"
6462
  }
6463
  }
6464
  }
@@ -6469,8 +7079,8 @@
6469
  "integrity": "sha1-Gpx0SCnznbuFjHbKNXmuKlTr0fo=",
6470
  "dev": true,
6471
  "requires": {
6472
- "for-own": "0.1.5",
6473
- "is-extendable": "0.1.1"
6474
  }
6475
  },
6476
  "object.pick": {
@@ -6479,7 +7089,7 @@
6479
  "integrity": "sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c=",
6480
  "dev": true,
6481
  "requires": {
6482
- "isobject": "3.0.1"
6483
  },
6484
  "dependencies": {
6485
  "isobject": {
@@ -6496,8 +7106,8 @@
6496
  "integrity": "sha1-b+NI8qx/oPlcpiEiZZkJaCW7A60=",
6497
  "dev": true,
6498
  "requires": {
6499
- "for-own": "1.0.0",
6500
- "make-iterator": "1.0.1"
6501
  },
6502
  "dependencies": {
6503
  "for-own": {
@@ -6506,7 +7116,7 @@
6506
  "integrity": "sha1-xjMy9BXO3EsE2/5wz4NklMU8tEs=",
6507
  "dev": true,
6508
  "requires": {
6509
- "for-in": "1.0.2"
6510
  }
6511
  }
6512
  }
@@ -6526,7 +7136,7 @@
6526
  "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=",
6527
  "dev": true,
6528
  "requires": {
6529
- "wrappy": "1.0.2"
6530
  }
6531
  },
6532
  "onetime": {
@@ -6547,8 +7157,8 @@
6547
  "integrity": "sha1-erwi5kTf9jsKltWrfyeQwPAavJU=",
6548
  "dev": true,
6549
  "requires": {
6550
- "object-assign": "4.1.1",
6551
- "pinkie-promise": "2.0.1"
6552
  }
6553
  },
6554
  "ordered-read-streams": {
@@ -6557,7 +7167,7 @@
6557
  "integrity": "sha1-d8DLN8QVJdZBZtmQ/61+xqDhNj4=",
6558
  "dev": true,
6559
  "requires": {
6560
- "readable-stream": "2.3.6"
6561
  }
6562
  },
6563
  "os-homedir": {
@@ -6572,7 +7182,7 @@
6572
  "integrity": "sha1-IPnxeuKe00XoveWDsT0gCYA8FNk=",
6573
  "dev": true,
6574
  "requires": {
6575
- "lcid": "1.0.0"
6576
  }
6577
  },
6578
  "os-tmpdir": {
@@ -6587,8 +7197,8 @@
6587
  "integrity": "sha512-0CWcCECdMVc2Rw3U5w9ZjqX6ga6ubk1xDVKxtBQPK7wis/0F2r9T6k4ydGYhecl7YUBxBVxhL5oisPsNxAPe2g==",
6588
  "dev": true,
6589
  "requires": {
6590
- "os-homedir": "1.0.2",
6591
- "os-tmpdir": "1.0.2"
6592
  }
6593
  },
6594
  "p-limit": {
@@ -6597,7 +7207,7 @@
6597
  "integrity": "sha512-Y/OtIaXtUPr4/YpMv1pCL5L5ed0rumAaAeBSj12F+bSlMdys7i8oQF/GUJmfpTS/QoaRrS/k6pma29haJpsMng==",
6598
  "dev": true,
6599
  "requires": {
6600
- "p-try": "1.0.0"
6601
  }
6602
  },
6603
  "p-locate": {
@@ -6606,7 +7216,7 @@
6606
  "integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=",
6607
  "dev": true,
6608
  "requires": {
6609
- "p-limit": "1.2.0"
6610
  }
6611
  },
6612
  "p-try": {
@@ -6627,12 +7237,12 @@
6627
  "integrity": "sha1-gRLYhHExnyerrk1klksSL+ThuJA=",
6628
  "dev": true,
6629
  "requires": {
6630
- "character-entities": "1.2.1",
6631
- "character-entities-legacy": "1.1.1",
6632
- "character-reference-invalid": "1.1.1",
6633
- "is-alphanumerical": "1.0.1",
6634
- "is-decimal": "1.0.1",
6635
- "is-hexadecimal": "1.0.1"
6636
  }
6637
  },
6638
  "parse-filepath": {
@@ -6641,9 +7251,9 @@
6641
  "integrity": "sha1-pjISf1Oq89FYdvWHLz/6x2PWyJE=",
6642
  "dev": true,
6643
  "requires": {
6644
- "is-absolute": "1.0.0",
6645
- "map-cache": "0.2.2",
6646
- "path-root": "0.1.1"
6647
  }
6648
  },
6649
  "parse-glob": {
@@ -6652,10 +7262,10 @@
6652
  "integrity": "sha1-ssN2z7EfNVE7rdFz7wu246OIORw=",
6653
  "dev": true,
6654
  "requires": {
6655
- "glob-base": "0.3.0",
6656
- "is-dotfile": "1.0.3",
6657
- "is-extglob": "1.0.0",
6658
- "is-glob": "2.0.1"
6659
  }
6660
  },
6661
  "parse-json": {
@@ -6664,7 +7274,7 @@
6664
  "integrity": "sha1-9ID0BDTvgHQfhGkJn43qGPVaTck=",
6665
  "dev": true,
6666
  "requires": {
6667
- "error-ex": "1.3.1"
6668
  }
6669
  },
6670
  "parse-passwd": {
@@ -6679,7 +7289,7 @@
6679
  "integrity": "sha1-1SCKNzjkZ2bikbouoXNoSSGouJ0=",
6680
  "dev": true,
6681
  "requires": {
6682
- "better-assert": "1.0.2"
6683
  }
6684
  },
6685
  "parseuri": {
@@ -6688,7 +7298,7 @@
6688
  "integrity": "sha1-gCBKUNTbt3m/3G6+J3jZDkvOMgo=",
6689
  "dev": true,
6690
  "requires": {
6691
- "better-assert": "1.0.2"
6692
  }
6693
  },
6694
  "parseurl": {
@@ -6715,7 +7325,7 @@
6715
  "integrity": "sha1-D+tsZPD8UY2adU3V77YscCJ2H0s=",
6716
  "dev": true,
6717
  "requires": {
6718
- "pinkie-promise": "2.0.1"
6719
  }
6720
  },
6721
  "path-is-absolute": {
@@ -6742,7 +7352,7 @@
6742
  "integrity": "sha1-mkpoFMrBwM1zNgqV8yCDyOpHRbc=",
6743
  "dev": true,
6744
  "requires": {
6745
- "path-root-regex": "0.1.2"
6746
  }
6747
  },
6748
  "path-root-regex": {
@@ -6757,9 +7367,9 @@
6757
  "integrity": "sha1-WcRPfuSR2nBNpBXaWkBwuk+P5EE=",
6758
  "dev": true,
6759
  "requires": {
6760
- "graceful-fs": "4.1.11",
6761
- "pify": "2.3.0",
6762
- "pinkie-promise": "2.0.1"
6763
  }
6764
  },
6765
  "performance-now": {
@@ -6786,7 +7396,7 @@
6786
  "integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=",
6787
  "dev": true,
6788
  "requires": {
6789
- "pinkie": "2.0.4"
6790
  }
6791
  },
6792
  "plugin-error": {
@@ -6795,10 +7405,10 @@
6795
  "integrity": "sha512-L1zP0dk7vGweZME2i+EeakvUNqSrdiI3F91TwEoYiGrAfUXmVv6fJIq4g82PAXxNsWOp0J7ZqQy/3Szz0ajTxA==",
6796
  "dev": true,
6797
  "requires": {
6798
- "ansi-colors": "1.1.0",
6799
- "arr-diff": "4.0.0",
6800
- "arr-union": "3.1.0",
6801
- "extend-shallow": "3.0.2"
6802
  },
6803
  "dependencies": {
6804
  "arr-diff": {
@@ -6816,7 +7426,7 @@
6816
  "dev": true,
6817
  "requires": {
6818
  "async": "1.5.2",
6819
- "is-number-like": "1.0.8"
6820
  }
6821
  },
6822
  "posix-character-classes": {
@@ -6831,9 +7441,9 @@
6831
  "integrity": "sha512-y/bKfbQz2Nn/QBC08bwvYUxEFOVGfPIUOTsJ2CK5inzlXW9SdYR1x4pEsG9blRAF/PX+wRNdOah+gx/hv4q7dw==",
6832
  "dev": true,
6833
  "requires": {
6834
- "chalk": "2.3.2",
6835
- "source-map": "0.6.1",
6836
- "supports-color": "5.3.0"
6837
  }
6838
  },
6839
  "postcss-html": {
@@ -6842,12 +7452,12 @@
6842
  "integrity": "sha512-7llFZ5hlINmUu/8iUBIXCTZ4OMyGB+NBeb7jDadXrH9g+hpcUEBhZv3rjqesmOsHNC3bITqx1EkVz77RuHJygw==",
6843
  "dev": true,
6844
  "requires": {
6845
- "@babel/core": "7.0.0-beta.44",
6846
- "@babel/traverse": "7.0.0-beta.44",
6847
- "babylon": "7.0.0-beta.44",
6848
- "htmlparser2": "3.9.2",
6849
- "remark": "9.0.0",
6850
- "unist-util-find-all-after": "1.0.1"
6851
  },
6852
  "dependencies": {
6853
  "entities": {
@@ -6862,12 +7472,12 @@
6862
  "integrity": "sha1-G9+HrMoPP55T+k/M6w9LTLsAszg=",
6863
  "dev": true,
6864
  "requires": {
6865
- "domelementtype": "1.3.0",
6866
- "domhandler": "2.3.0",
6867
- "domutils": "1.5.1",
6868
- "entities": "1.1.1",
6869
- "inherits": "2.0.3",
6870
- "readable-stream": "2.3.6"
6871
  }
6872
  }
6873
  }
@@ -6878,7 +7488,7 @@
6878
  "integrity": "sha512-QQIiIqgEjNnquc0d4b6HDOSFZxbFQoy4MPpli2lSLpKhMyBkKwwca2HFqu4xzxlKID/F2fxSOowwtKpgczhF7A==",
6879
  "dev": true,
6880
  "requires": {
6881
- "postcss": "5.2.18"
6882
  },
6883
  "dependencies": {
6884
  "ansi-styles": {
@@ -6893,11 +7503,11 @@
6893
  "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=",
6894
  "dev": true,
6895
  "requires": {
6896
- "ansi-styles": "2.2.1",
6897
- "escape-string-regexp": "1.0.5",
6898
- "has-ansi": "2.0.0",
6899
- "strip-ansi": "3.0.1",
6900
- "supports-color": "2.0.0"
6901
  },
6902
  "dependencies": {
6903
  "supports-color": {
@@ -6920,10 +7530,10 @@
6920
  "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==",
6921
  "dev": true,
6922
  "requires": {
6923
- "chalk": "1.1.3",
6924
- "js-base64": "2.4.3",
6925
- "source-map": "0.5.7",
6926
- "supports-color": "3.2.3"
6927
  }
6928
  },
6929
  "source-map": {
@@ -6938,7 +7548,7 @@
6938
  "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=",
6939
  "dev": true,
6940
  "requires": {
6941
- "has-flag": "1.0.0"
6942
  }
6943
  }
6944
  }
@@ -6955,10 +7565,10 @@
6955
  "integrity": "sha512-rBkDbaHAu5uywbCR2XE8a25tats3xSOsGNx6mppK6Q9kSFGKc/FyAzfci+fWM2l+K402p1D0pNcfDGxeje5IKg==",
6956
  "dev": true,
6957
  "requires": {
6958
- "chalk": "2.3.2",
6959
- "lodash": "4.17.5",
6960
- "log-symbols": "2.2.0",
6961
- "postcss": "6.0.21"
6962
  },
6963
  "dependencies": {
6964
  "lodash": {
@@ -6981,7 +7591,7 @@
6981
  "integrity": "sha1-t1Pv9sfArqXoN1++TN6L+QY/8UI=",
6982
  "dev": true,
6983
  "requires": {
6984
- "postcss": "6.0.21"
6985
  }
6986
  },
6987
  "postcss-sass": {
@@ -6990,8 +7600,8 @@
6990
  "integrity": "sha512-nZJEFS2bT007CmzMjlZfZwcZKpSJ/JeFiVEdgrgvGZtAnORU+5BvN0cioNuDAVxwXHXp3hksCJzbZYPWkuw41Q==",
6991
  "dev": true,
6992
  "requires": {
6993
- "gonzales-pe": "4.2.3",
6994
- "postcss": "6.0.21"
6995
  }
6996
  },
6997
  "postcss-scss": {
@@ -7000,7 +7610,7 @@
7000
  "integrity": "sha512-gJB1tKYMkBy0MU+COt6WXA4ZiRctAKoWLa6qD7a6bbEbBMqrpa/BhfQdN80eYMV+JkKddZVEpZlOggnGShpvyg==",
7001
  "dev": true,
7002
  "requires": {
7003
- "postcss": "6.0.21"
7004
  }
7005
  },
7006
  "postcss-selector-parser": {
@@ -7009,9 +7619,9 @@
7009
  "integrity": "sha1-T4dfSvsMllc9XPTXQBGu4lCn6GU=",
7010
  "dev": true,
7011
  "requires": {
7012
- "dot-prop": "4.2.0",
7013
- "indexes-of": "1.0.1",
7014
- "uniq": "1.0.1"
7015
  }
7016
  },
7017
  "postcss-value-parser": {
@@ -7027,21 +7637,21 @@
7027
  "dev": true,
7028
  "optional": true,
7029
  "requires": {
7030
- "detect-libc": "1.0.3",
7031
- "expand-template": "1.1.0",
7032
  "github-from-package": "0.0.0",
7033
- "minimist": "1.2.0",
7034
- "mkdirp": "0.5.1",
7035
- "node-abi": "2.3.0",
7036
- "noop-logger": "0.1.1",
7037
- "npmlog": "4.1.2",
7038
- "os-homedir": "1.0.2",
7039
- "pump": "2.0.1",
7040
- "rc": "1.2.6",
7041
- "simple-get": "2.7.0",
7042
- "tar-fs": "1.16.0",
7043
- "tunnel-agent": "0.6.0",
7044
- "which-pm-runs": "1.0.0"
7045
  },
7046
  "dependencies": {
7047
  "detect-libc": {
@@ -7089,8 +7699,8 @@
7089
  "integrity": "sha512-ruPMNRkN3MHP1cWJc9OWr+T/xDP0jhXYCLfJcBuX54hhfIBnaQmAUMfDcG4DM5UMWByBbJY69QSphm3jtDKIkA==",
7090
  "dev": true,
7091
  "requires": {
7092
- "end-of-stream": "1.4.1",
7093
- "once": "1.4.0"
7094
  }
7095
  },
7096
  "pumpify": {
@@ -7099,9 +7709,9 @@
7099
  "integrity": "sha512-2kmNR9ry+Pf45opRVirpNuIFotsxUGLaYqxIwuR77AYrYRMuFCz9eryHBS52L360O+NcR383CL4QYlMKPq4zYA==",
7100
  "dev": true,
7101
  "requires": {
7102
- "duplexify": "3.5.4",
7103
- "inherits": "2.0.3",
7104
- "pump": "2.0.1"
7105
  }
7106
  },
7107
  "punycode": {
@@ -7111,9 +7721,9 @@
7111
  "dev": true
7112
  },
7113
  "qs": {
7114
- "version": "6.2.1",
7115
- "resolved": "https://registry.npmjs.org/qs/-/qs-6.2.1.tgz",
7116
- "integrity": "sha1-zgPF/wk1vB2daanxTL0Y5WjWdiU=",
7117
  "dev": true
7118
  },
7119
  "quick-lru": {
@@ -7128,8 +7738,8 @@
7128
  "integrity": "sha512-D5JUjPyJbaJDkuAazpVnSfVkLlpeO3wDlPROTMLGKG1zMFNFRgrciKo1ltz/AzNTkqE0HzDx655QOL51N06how==",
7129
  "dev": true,
7130
  "requires": {
7131
- "is-number": "3.0.0",
7132
- "kind-of": "4.0.0"
7133
  },
7134
  "dependencies": {
7135
  "is-number": {
@@ -7138,7 +7748,7 @@
7138
  "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=",
7139
  "dev": true,
7140
  "requires": {
7141
- "kind-of": "3.2.2"
7142
  },
7143
  "dependencies": {
7144
  "kind-of": {
@@ -7147,7 +7757,7 @@
7147
  "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
7148
  "dev": true,
7149
  "requires": {
7150
- "is-buffer": "1.1.6"
7151
  }
7152
  }
7153
  }
@@ -7158,7 +7768,7 @@
7158
  "integrity": "sha1-IIE989cSkosgc3hpGkUGb65y3Vc=",
7159
  "dev": true,
7160
  "requires": {
7161
- "is-buffer": "1.1.6"
7162
  }
7163
  }
7164
  }
@@ -7170,26 +7780,21 @@
7170
  "dev": true
7171
  },
7172
  "raw-body": {
7173
- "version": "2.1.7",
7174
- "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.1.7.tgz",
7175
- "integrity": "sha1-rf6s4uT7MJgFgBTQjActzFl1h3Q=",
7176
  "dev": true,
7177
  "requires": {
7178
- "bytes": "2.4.0",
7179
- "iconv-lite": "0.4.13",
 
7180
  "unpipe": "1.0.0"
7181
  },
7182
  "dependencies": {
7183
- "bytes": {
7184
- "version": "2.4.0",
7185
- "resolved": "https://registry.npmjs.org/bytes/-/bytes-2.4.0.tgz",
7186
- "integrity": "sha1-fZcZb51br39pNeJZhVSe3SpsIzk=",
7187
- "dev": true
7188
- },
7189
  "iconv-lite": {
7190
- "version": "0.4.13",
7191
- "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.13.tgz",
7192
- "integrity": "sha1-H4irpKsLFQjoMSrMOTRfNumS4vI=",
7193
  "dev": true
7194
  }
7195
  }
@@ -7201,10 +7806,10 @@
7201
  "dev": true,
7202
  "optional": true,
7203
  "requires": {
7204
- "deep-extend": "0.4.2",
7205
- "ini": "1.3.5",
7206
- "minimist": "1.2.0",
7207
- "strip-json-comments": "2.0.1"
7208
  }
7209
  },
7210
  "read-pkg": {
@@ -7213,9 +7818,9 @@
7213
  "integrity": "sha1-9f+qXs0pyzHAR0vKfXVra7KePyg=",
7214
  "dev": true,
7215
  "requires": {
7216
- "load-json-file": "1.1.0",
7217
- "normalize-package-data": "2.4.0",
7218
- "path-type": "1.1.0"
7219
  }
7220
  },
7221
  "read-pkg-up": {
@@ -7224,8 +7829,8 @@
7224
  "integrity": "sha1-nWPBMnbAZZGNV/ACpX9AobZD+wI=",
7225
  "dev": true,
7226
  "requires": {
7227
- "find-up": "1.1.2",
7228
- "read-pkg": "1.1.0"
7229
  }
7230
  },
7231
  "readable-stream": {
@@ -7234,13 +7839,13 @@
7234
  "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==",
7235
  "dev": true,
7236
  "requires": {
7237
- "core-util-is": "1.0.2",
7238
- "inherits": "2.0.3",
7239
- "isarray": "1.0.0",
7240
- "process-nextick-args": "2.0.0",
7241
- "safe-buffer": "5.1.1",
7242
- "string_decoder": "1.1.1",
7243
- "util-deprecate": "1.0.2"
7244
  },
7245
  "dependencies": {
7246
  "isarray": {
@@ -7257,10 +7862,10 @@
7257
  "integrity": "sha1-TtCtBg3zBzMAxIRANz9y0cxkLXg=",
7258
  "dev": true,
7259
  "requires": {
7260
- "graceful-fs": "4.1.11",
7261
- "minimatch": "3.0.4",
7262
- "readable-stream": "2.3.6",
7263
- "set-immediate-shim": "1.0.1"
7264
  }
7265
  },
7266
  "rechoir": {
@@ -7269,7 +7874,7 @@
7269
  "integrity": "sha1-hSBLVNuoLVdC4oyWdW70OvUOM4Q=",
7270
  "dev": true,
7271
  "requires": {
7272
- "resolve": "1.1.7"
7273
  }
7274
  },
7275
  "redent": {
@@ -7278,8 +7883,8 @@
7278
  "integrity": "sha1-z5Fqsf1fHxbfsggi3W7H9zDCr94=",
7279
  "dev": true,
7280
  "requires": {
7281
- "indent-string": "2.1.0",
7282
- "strip-indent": "1.0.1"
7283
  }
7284
  },
7285
  "regex-cache": {
@@ -7288,7 +7893,7 @@
7288
  "integrity": "sha512-nVIZwtCjkC9YgvWkpM55B5rBhBYRZhAaJbgcFYXXsHnbZ9UZI9nnVWYZpBlCqv9ho2eZryPnWrZGsOdPwVWXWQ==",
7289
  "dev": true,
7290
  "requires": {
7291
- "is-equal-shallow": "0.1.3"
7292
  }
7293
  },
7294
  "regex-not": {
@@ -7297,8 +7902,8 @@
7297
  "integrity": "sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==",
7298
  "dev": true,
7299
  "requires": {
7300
- "extend-shallow": "3.0.2",
7301
- "safe-regex": "1.1.0"
7302
  }
7303
  },
7304
  "remark": {
@@ -7307,9 +7912,9 @@
7307
  "integrity": "sha512-amw8rGdD5lHbMEakiEsllmkdBP+/KpjW/PRK6NSGPZKCQowh0BT4IWXDAkRMyG3SB9dKPXWMviFjNusXzXNn3A==",
7308
  "dev": true,
7309
  "requires": {
7310
- "remark-parse": "5.0.0",
7311
- "remark-stringify": "5.0.0",
7312
- "unified": "6.1.6"
7313
  }
7314
  },
7315
  "remark-parse": {
@@ -7318,21 +7923,21 @@
7318
  "integrity": "sha512-b3iXszZLH1TLoyUzrATcTQUZrwNl1rE70rVdSruJFlDaJ9z5aMkhrG43Pp68OgfHndL/ADz6V69Zow8cTQu+JA==",
7319
  "dev": true,
7320
  "requires": {
7321
- "collapse-white-space": "1.0.3",
7322
- "is-alphabetical": "1.0.1",
7323
- "is-decimal": "1.0.1",
7324
- "is-whitespace-character": "1.0.1",
7325
- "is-word-character": "1.0.1",
7326
- "markdown-escapes": "1.0.1",
7327
- "parse-entities": "1.1.1",
7328
- "repeat-string": "1.6.1",
7329
- "state-toggle": "1.0.0",
7330
  "trim": "0.0.1",
7331
- "trim-trailing-lines": "1.1.0",
7332
- "unherit": "1.1.0",
7333
- "unist-util-remove-position": "1.1.1",
7334
- "vfile-location": "2.0.2",
7335
- "xtend": "4.0.1"
7336
  }
7337
  },
7338
  "remark-stringify": {
@@ -7341,20 +7946,20 @@
7341
  "integrity": "sha512-Ws5MdA69ftqQ/yhRF9XhVV29mhxbfGhbz0Rx5bQH+oJcNhhSM6nCu1EpLod+DjrFGrU0BMPs+czVmJZU7xiS7w==",
7342
  "dev": true,
7343
  "requires": {
7344
- "ccount": "1.0.2",
7345
- "is-alphanumeric": "1.0.0",
7346
- "is-decimal": "1.0.1",
7347
- "is-whitespace-character": "1.0.1",
7348
- "longest-streak": "2.0.2",
7349
- "markdown-escapes": "1.0.1",
7350
- "markdown-table": "1.1.1",
7351
- "mdast-util-compact": "1.0.1",
7352
- "parse-entities": "1.1.1",
7353
- "repeat-string": "1.6.1",
7354
- "state-toggle": "1.0.0",
7355
- "stringify-entities": "1.3.1",
7356
- "unherit": "1.1.0",
7357
- "xtend": "4.0.1"
7358
  }
7359
  },
7360
  "remove-bom-buffer": {
@@ -7363,8 +7968,8 @@
7363
  "integrity": "sha512-8v2rWhaakv18qcvNeli2mZ/TMTL2nEyAKRvzo1WtnZBl15SHyEhrCu2/xKlJyUFKHiHgfXIyuY6g2dObJJycXQ==",
7364
  "dev": true,
7365
  "requires": {
7366
- "is-buffer": "1.1.6",
7367
- "is-utf8": "0.2.1"
7368
  }
7369
  },
7370
  "remove-bom-stream": {
@@ -7373,9 +7978,9 @@
7373
  "integrity": "sha1-BfGlk/FuQuH7kOv1nejlaVJflSM=",
7374
  "dev": true,
7375
  "requires": {
7376
- "remove-bom-buffer": "3.0.0",
7377
- "safe-buffer": "5.1.1",
7378
- "through2": "2.0.3"
7379
  }
7380
  },
7381
  "remove-trailing-separator": {
@@ -7402,7 +8007,7 @@
7402
  "integrity": "sha1-UhTFOpJtNVJwdSf7q0FdvAjQbdo=",
7403
  "dev": true,
7404
  "requires": {
7405
- "is-finite": "1.0.2"
7406
  }
7407
  },
7408
  "replace-ext": {
@@ -7417,9 +8022,9 @@
7417
  "integrity": "sha1-6H9tUTuSjd6AgmDBK+f+xv9ueYw=",
7418
  "dev": true,
7419
  "requires": {
7420
- "homedir-polyfill": "1.0.1",
7421
- "is-absolute": "1.0.0",
7422
- "remove-trailing-separator": "1.1.0"
7423
  }
7424
  },
7425
  "request": {
@@ -7428,28 +8033,28 @@
7428
  "integrity": "sha1-xpKJRqDgbF+Nb4qTM0af/aRimKA=",
7429
  "dev": true,
7430
  "requires": {
7431
- "aws-sign2": "0.6.0",
7432
- "aws4": "1.7.0",
7433
- "caseless": "0.12.0",
7434
- "combined-stream": "1.0.6",
7435
- "extend": "3.0.1",
7436
- "forever-agent": "0.6.1",
7437
- "form-data": "2.1.4",
7438
- "har-validator": "4.2.1",
7439
- "hawk": "3.1.3",
7440
- "http-signature": "1.1.1",
7441
- "is-typedarray": "1.0.0",
7442
- "isstream": "0.1.2",
7443
- "json-stringify-safe": "5.0.1",
7444
- "mime-types": "2.1.18",
7445
- "oauth-sign": "0.8.2",
7446
- "performance-now": "0.2.0",
7447
- "qs": "6.4.0",
7448
- "safe-buffer": "5.1.1",
7449
- "stringstream": "0.0.5",
7450
- "tough-cookie": "2.3.4",
7451
- "tunnel-agent": "0.6.0",
7452
- "uuid": "3.2.1"
7453
  },
7454
  "dependencies": {
7455
  "qs": {
@@ -7496,8 +8101,8 @@
7496
  "integrity": "sha1-eaQGRMNivoLybv/nOcm7U4IEb0M=",
7497
  "dev": true,
7498
  "requires": {
7499
- "expand-tilde": "2.0.2",
7500
- "global-modules": "1.0.0"
7501
  }
7502
  },
7503
  "resolve-from": {
@@ -7512,7 +8117,7 @@
7512
  "integrity": "sha1-MrueOcBtZzONyTeMDW1gdFZq0TE=",
7513
  "dev": true,
7514
  "requires": {
7515
- "value-or-function": "3.0.0"
7516
  }
7517
  },
7518
  "resolve-url": {
@@ -7527,8 +8132,8 @@
7527
  "integrity": "sha1-sSTeXE+6/LpUH0j/pzlw9KpFa08=",
7528
  "dev": true,
7529
  "requires": {
7530
- "debug": "2.6.9",
7531
- "minimatch": "3.0.4"
7532
  }
7533
  },
7534
  "ret": {
@@ -7549,11 +8154,11 @@
7549
  "integrity": "sha512-JjQ5DlrmwiItAjlmhoxrJq5ihgZcE0wMFxt7S17bIrt4Lw0WwKKFk+viRhvodB/0falyG/5fiO043ZDh6/aqTw==",
7550
  "dev": true,
7551
  "requires": {
7552
- "chalk": "2.3.2",
7553
- "findup": "0.1.5",
7554
- "mkdirp": "0.5.1",
7555
- "postcss": "6.0.21",
7556
- "strip-json-comments": "2.0.1"
7557
  }
7558
  },
7559
  "rx": {
@@ -7574,7 +8179,7 @@
7574
  "integrity": "sha1-QKNmnzsHfR6UPURinhV91IAjvy4=",
7575
  "dev": true,
7576
  "requires": {
7577
- "ret": "0.1.15"
7578
  }
7579
  },
7580
  "safer-buffer": {
@@ -7589,10 +8194,10 @@
7589
  "integrity": "sha1-E/vWPNHK8JCLn9k0dq1DpR0eC0k=",
7590
  "dev": true,
7591
  "requires": {
7592
- "glob": "7.0.6",
7593
- "lodash": "4.17.5",
7594
- "scss-tokenizer": "0.2.3",
7595
- "yargs": "7.1.0"
7596
  },
7597
  "dependencies": {
7598
  "camelcase": {
@@ -7613,19 +8218,19 @@
7613
  "integrity": "sha1-a6MY6xaWFyf10oT46gA+jWFU0Mg=",
7614
  "dev": true,
7615
  "requires": {
7616
- "camelcase": "3.0.0",
7617
- "cliui": "3.2.0",
7618
- "decamelize": "1.2.0",
7619
- "get-caller-file": "1.0.2",
7620
- "os-locale": "1.4.0",
7621
- "read-pkg-up": "1.0.1",
7622
- "require-directory": "2.1.1",
7623
- "require-main-filename": "1.0.1",
7624
- "set-blocking": "2.0.0",
7625
- "string-width": "1.0.2",
7626
- "which-module": "1.0.0",
7627
- "y18n": "3.2.1",
7628
- "yargs-parser": "5.0.0"
7629
  }
7630
  },
7631
  "yargs-parser": {
@@ -7634,7 +8239,7 @@
7634
  "integrity": "sha1-J17PDX/+Bcd+ZOfIbkzZS/DhIoo=",
7635
  "dev": true,
7636
  "requires": {
7637
- "camelcase": "3.0.0"
7638
  }
7639
  }
7640
  }
@@ -7645,8 +8250,8 @@
7645
  "integrity": "sha1-jrBtualyMzOCTT9VMGQRSYR85dE=",
7646
  "dev": true,
7647
  "requires": {
7648
- "js-base64": "2.4.3",
7649
- "source-map": "0.4.4"
7650
  },
7651
  "dependencies": {
7652
  "source-map": {
@@ -7655,7 +8260,7 @@
7655
  "integrity": "sha1-66T12pwNyZneaAMti092FzZSA2s=",
7656
  "dev": true,
7657
  "requires": {
7658
- "amdefine": "1.0.1"
7659
  }
7660
  }
7661
  }
@@ -7672,83 +8277,40 @@
7672
  "integrity": "sha1-E+jCZYq5aRywzXEJMkAoDTb3els=",
7673
  "dev": true,
7674
  "requires": {
7675
- "sver-compat": "1.5.0"
7676
  }
7677
  },
7678
  "send": {
7679
- "version": "0.15.2",
7680
- "resolved": "https://registry.npmjs.org/send/-/send-0.15.2.tgz",
7681
- "integrity": "sha1-+R+rRAO8+H5xb3DOtdsvV4vcF9Y=",
7682
- "dev": true,
7683
- "requires": {
7684
- "debug": "2.6.4",
7685
- "depd": "1.1.2",
7686
- "destroy": "1.0.4",
7687
- "encodeurl": "1.0.2",
7688
- "escape-html": "1.0.3",
7689
- "etag": "1.8.1",
7690
- "fresh": "0.5.0",
7691
- "http-errors": "1.6.3",
7692
- "mime": "1.3.4",
7693
- "ms": "1.0.0",
7694
- "on-finished": "2.3.0",
7695
- "range-parser": "1.2.0",
7696
- "statuses": "1.3.1"
7697
  },
7698
  "dependencies": {
7699
- "debug": {
7700
- "version": "2.6.4",
7701
- "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.4.tgz",
7702
- "integrity": "sha1-dYaps8OXQcAoKuM0RcTorHRzT+A=",
7703
- "dev": true,
7704
- "requires": {
7705
- "ms": "0.7.3"
7706
- },
7707
- "dependencies": {
7708
- "ms": {
7709
- "version": "0.7.3",
7710
- "resolved": "https://registry.npmjs.org/ms/-/ms-0.7.3.tgz",
7711
- "integrity": "sha1-cIFVpeROM/X9D8U+gdDUCpG+H/8=",
7712
- "dev": true
7713
- }
7714
- }
7715
- },
7716
- "fresh": {
7717
- "version": "0.5.0",
7718
- "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.0.tgz",
7719
- "integrity": "sha1-9HTKXmqSRtb9jglTz6m5yAWvp44=",
7720
  "dev": true
7721
  },
7722
- "http-errors": {
7723
- "version": "1.6.3",
7724
- "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.6.3.tgz",
7725
- "integrity": "sha1-i1VoC7S+KDoLW/TqLjhYC+HZMg0=",
7726
- "dev": true,
7727
- "requires": {
7728
- "depd": "1.1.2",
7729
- "inherits": "2.0.3",
7730
- "setprototypeof": "1.1.0",
7731
- "statuses": "1.5.0"
7732
- },
7733
- "dependencies": {
7734
- "statuses": {
7735
- "version": "1.5.0",
7736
- "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz",
7737
- "integrity": "sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow=",
7738
- "dev": true
7739
- }
7740
- }
7741
- },
7742
- "ms": {
7743
- "version": "1.0.0",
7744
- "resolved": "https://registry.npmjs.org/ms/-/ms-1.0.0.tgz",
7745
- "integrity": "sha1-Wa3NIu3FQ/e1OBhi0xOHsfS8lHM=",
7746
- "dev": true
7747
- },
7748
- "setprototypeof": {
7749
- "version": "1.1.0",
7750
- "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.0.tgz",
7751
- "integrity": "sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ==",
7752
  "dev": true
7753
  }
7754
  }
@@ -7759,13 +8321,13 @@
7759
  "integrity": "sha1-fF2WwT+xMRAfk8HFd0+FFqHnjTs=",
7760
  "dev": true,
7761
  "requires": {
7762
- "accepts": "1.3.5",
7763
  "batch": "0.5.3",
7764
- "debug": "2.2.0",
7765
- "escape-html": "1.0.3",
7766
- "http-errors": "1.5.1",
7767
- "mime-types": "2.1.18",
7768
- "parseurl": "1.3.2"
7769
  },
7770
  "dependencies": {
7771
  "debug": {
@@ -7777,24 +8339,41 @@
7777
  "ms": "0.7.1"
7778
  }
7779
  },
 
 
 
 
 
 
 
 
 
 
 
7780
  "ms": {
7781
  "version": "0.7.1",
7782
  "resolved": "https://registry.npmjs.org/ms/-/ms-0.7.1.tgz",
7783
  "integrity": "sha1-nNE8A62/8ltl7/3nzoZO6VIBcJg=",
7784
  "dev": true
 
 
 
 
 
 
7785
  }
7786
  }
7787
  },
7788
  "serve-static": {
7789
- "version": "1.12.2",
7790
- "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.12.2.tgz",
7791
- "integrity": "sha1-5UbicmCBuBtLzsjpCAjrzdMjr7o=",
7792
  "dev": true,
7793
  "requires": {
7794
- "encodeurl": "1.0.2",
7795
- "escape-html": "1.0.3",
7796
- "parseurl": "1.3.2",
7797
- "send": "0.15.2"
7798
  }
7799
  },
7800
  "server-destroy": {
@@ -7821,10 +8400,10 @@
7821
  "integrity": "sha512-hw0yxk9GT/Hr5yJEYnHNKYXkIA8mVJgd9ditYZCe16ZczcaELYYcfvaXesNACk2O8O0nTiPQcQhGUQj8JLzeeg==",
7822
  "dev": true,
7823
  "requires": {
7824
- "extend-shallow": "2.0.1",
7825
- "is-extendable": "0.1.1",
7826
- "is-plain-object": "2.0.4",
7827
- "split-string": "3.1.0"
7828
  },
7829
  "dependencies": {
7830
  "extend-shallow": {
@@ -7833,15 +8412,15 @@
7833
  "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
7834
  "dev": true,
7835
  "requires": {
7836
- "is-extendable": "0.1.1"
7837
  }
7838
  }
7839
  }
7840
  },
7841
  "setprototypeof": {
7842
- "version": "1.0.2",
7843
- "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.0.2.tgz",
7844
- "integrity": "sha1-gaVSFB7BBLiOic44MQOtXGZWTQg=",
7845
  "dev": true
7846
  },
7847
  "shelljs": {
@@ -7870,9 +8449,9 @@
7870
  "dev": true,
7871
  "optional": true,
7872
  "requires": {
7873
- "decompress-response": "3.3.0",
7874
- "once": "1.4.0",
7875
- "simple-concat": "1.0.0"
7876
  }
7877
  },
7878
  "slash": {
@@ -7887,7 +8466,7 @@
7887
  "integrity": "sha512-POqxBK6Lb3q6s047D/XsDVNPnF9Dl8JSaqe9h9lURl0OdNqy/ujDrOiIHtsqXMGbWWTIomRzAMaTyawAU//Reg==",
7888
  "dev": true,
7889
  "requires": {
7890
- "is-fullwidth-code-point": "2.0.0"
7891
  },
7892
  "dependencies": {
7893
  "is-fullwidth-code-point": {
@@ -7904,14 +8483,14 @@
7904
  "integrity": "sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg==",
7905
  "dev": true,
7906
  "requires": {
7907
- "base": "0.11.2",
7908
- "debug": "2.6.9",
7909
- "define-property": "0.2.5",
7910
- "extend-shallow": "2.0.1",
7911
- "map-cache": "0.2.2",
7912
- "source-map": "0.5.7",
7913
- "source-map-resolve": "0.5.1",
7914
- "use": "3.1.0"
7915
  },
7916
  "dependencies": {
7917
  "define-property": {
@@ -7920,7 +8499,7 @@
7920
  "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
7921
  "dev": true,
7922
  "requires": {
7923
- "is-descriptor": "0.1.6"
7924
  }
7925
  },
7926
  "extend-shallow": {
@@ -7929,7 +8508,7 @@
7929
  "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
7930
  "dev": true,
7931
  "requires": {
7932
- "is-extendable": "0.1.1"
7933
  }
7934
  },
7935
  "source-map": {
@@ -7946,9 +8525,9 @@
7946
  "integrity": "sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw==",
7947
  "dev": true,
7948
  "requires": {
7949
- "define-property": "1.0.0",
7950
- "isobject": "3.0.1",
7951
- "snapdragon-util": "3.0.1"
7952
  },
7953
  "dependencies": {
7954
  "define-property": {
@@ -7957,7 +8536,7 @@
7957
  "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=",
7958
  "dev": true,
7959
  "requires": {
7960
- "is-descriptor": "1.0.2"
7961
  }
7962
  },
7963
  "is-accessor-descriptor": {
@@ -7966,7 +8545,7 @@
7966
  "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==",
7967
  "dev": true,
7968
  "requires": {
7969
- "kind-of": "6.0.2"
7970
  }
7971
  },
7972
  "is-data-descriptor": {
@@ -7975,7 +8554,7 @@
7975
  "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==",
7976
  "dev": true,
7977
  "requires": {
7978
- "kind-of": "6.0.2"
7979
  }
7980
  },
7981
  "is-descriptor": {
@@ -7984,9 +8563,9 @@
7984
  "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==",
7985
  "dev": true,
7986
  "requires": {
7987
- "is-accessor-descriptor": "1.0.0",
7988
- "is-data-descriptor": "1.0.0",
7989
- "kind-of": "6.0.2"
7990
  }
7991
  },
7992
  "isobject": {
@@ -8009,7 +8588,7 @@
8009
  "integrity": "sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ==",
8010
  "dev": true,
8011
  "requires": {
8012
- "kind-of": "3.2.2"
8013
  }
8014
  },
8015
  "sntp": {
@@ -8018,7 +8597,7 @@
8018
  "integrity": "sha1-ZUEYTMkK7qbG57NeJlkIJEPGYZg=",
8019
  "dev": true,
8020
  "requires": {
8021
- "hoek": "2.16.3"
8022
  }
8023
  },
8024
  "socket.io": {
@@ -8027,11 +8606,11 @@
8027
  "integrity": "sha1-waRZDO/4fs8TxyZS8Eb3FrKeYBQ=",
8028
  "dev": true,
8029
  "requires": {
8030
- "debug": "2.6.9",
8031
- "engine.io": "3.1.5",
8032
- "socket.io-adapter": "1.1.1",
8033
  "socket.io-client": "2.0.4",
8034
- "socket.io-parser": "3.1.3"
8035
  }
8036
  },
8037
  "socket.io-adapter": {
@@ -8050,14 +8629,14 @@
8050
  "base64-arraybuffer": "0.1.5",
8051
  "component-bind": "1.0.0",
8052
  "component-emitter": "1.2.1",
8053
- "debug": "2.6.9",
8054
- "engine.io-client": "3.1.6",
8055
  "has-cors": "1.1.0",
8056
  "indexof": "0.0.1",
8057
  "object-component": "0.0.3",
8058
  "parseqs": "0.0.5",
8059
  "parseuri": "0.0.5",
8060
- "socket.io-parser": "3.1.3",
8061
  "to-array": "0.1.4"
8062
  }
8063
  },
@@ -8068,8 +8647,8 @@
8068
  "dev": true,
8069
  "requires": {
8070
  "component-emitter": "1.2.1",
8071
- "debug": "3.1.0",
8072
- "has-binary2": "1.0.2",
8073
  "isarray": "2.0.1"
8074
  },
8075
  "dependencies": {
@@ -8096,11 +8675,11 @@
8096
  "integrity": "sha512-0KW2wvzfxm8NCTb30z0LMNyPqWCdDGE2viwzUaucqJdkTRXtZiSY3I+2A6nVAjmdOy0I4gU8DwnVVGsk9jvP2A==",
8097
  "dev": true,
8098
  "requires": {
8099
- "atob": "2.1.0",
8100
- "decode-uri-component": "0.2.0",
8101
- "resolve-url": "0.2.1",
8102
- "source-map-url": "0.4.0",
8103
- "urix": "0.1.0"
8104
  }
8105
  },
8106
  "source-map-url": {
@@ -8121,8 +8700,8 @@
8121
  "integrity": "sha512-N19o9z5cEyc8yQQPukRCZ9EUmb4HUpnrmaL/fxS2pBo2jbfcFRVuFZ/oFC+vZz0MNNk0h80iMn5/S6qGZOL5+g==",
8122
  "dev": true,
8123
  "requires": {
8124
- "spdx-expression-parse": "3.0.0",
8125
- "spdx-license-ids": "3.0.0"
8126
  }
8127
  },
8128
  "spdx-exceptions": {
@@ -8137,8 +8716,8 @@
8137
  "integrity": "sha512-Yg6D3XpRD4kkOmTpdgbUiEJFKghJH03fiC1OPll5h/0sO6neh2jqRDVHOQ4o/LMea0tgCkbMgea5ip/e+MkWyg==",
8138
  "dev": true,
8139
  "requires": {
8140
- "spdx-exceptions": "2.1.0",
8141
- "spdx-license-ids": "3.0.0"
8142
  }
8143
  },
8144
  "spdx-license-ids": {
@@ -8159,7 +8738,7 @@
8159
  "integrity": "sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==",
8160
  "dev": true,
8161
  "requires": {
8162
- "extend-shallow": "3.0.2"
8163
  }
8164
  },
8165
  "sprintf-js": {
@@ -8174,14 +8753,14 @@
8174
  "integrity": "sha1-Ew9Zde3a2WPx1W+SuaxsUfqfg+s=",
8175
  "dev": true,
8176
  "requires": {
8177
- "asn1": "0.2.3",
8178
- "assert-plus": "1.0.0",
8179
- "bcrypt-pbkdf": "1.0.1",
8180
- "dashdash": "1.14.1",
8181
- "ecc-jsbn": "0.1.1",
8182
- "getpass": "0.1.7",
8183
- "jsbn": "0.1.1",
8184
- "tweetnacl": "0.14.5"
8185
  },
8186
  "dependencies": {
8187
  "assert-plus": {
@@ -8210,8 +8789,8 @@
8210
  "integrity": "sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY=",
8211
  "dev": true,
8212
  "requires": {
8213
- "define-property": "0.2.5",
8214
- "object-copy": "0.1.0"
8215
  },
8216
  "dependencies": {
8217
  "define-property": {
@@ -8220,7 +8799,7 @@
8220
  "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
8221
  "dev": true,
8222
  "requires": {
8223
- "is-descriptor": "0.1.6"
8224
  }
8225
  }
8226
  }
@@ -8237,7 +8816,7 @@
8237
  "integrity": "sha1-osfIWH5U2UJ+qe2zrD8s1SLfN4s=",
8238
  "dev": true,
8239
  "requires": {
8240
- "readable-stream": "2.3.6"
8241
  }
8242
  },
8243
  "stream-buffers": {
@@ -8264,8 +8843,8 @@
8264
  "integrity": "sha1-rdV8jXzHOoFjDTHNVdOWHPr7qcM=",
8265
  "dev": true,
8266
  "requires": {
8267
- "commander": "2.15.1",
8268
- "limiter": "1.1.2"
8269
  }
8270
  },
8271
  "string-width": {
@@ -8274,9 +8853,9 @@
8274
  "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=",
8275
  "dev": true,
8276
  "requires": {
8277
- "code-point-at": "1.1.0",
8278
- "is-fullwidth-code-point": "1.0.0",
8279
- "strip-ansi": "3.0.1"
8280
  }
8281
  },
8282
  "string_decoder": {
@@ -8285,7 +8864,7 @@
8285
  "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
8286
  "dev": true,
8287
  "requires": {
8288
- "safe-buffer": "5.1.1"
8289
  }
8290
  },
8291
  "stringify-entities": {
@@ -8294,10 +8873,10 @@
8294
  "integrity": "sha1-sVDsLXKsTBtfMktR+2soyc3/BYw=",
8295
  "dev": true,
8296
  "requires": {
8297
- "character-entities-html4": "1.1.1",
8298
- "character-entities-legacy": "1.1.1",
8299
- "is-alphanumerical": "1.0.1",
8300
- "is-hexadecimal": "1.0.1"
8301
  }
8302
  },
8303
  "stringstream": {
@@ -8312,7 +8891,7 @@
8312
  "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=",
8313
  "dev": true,
8314
  "requires": {
8315
- "ansi-regex": "2.1.1"
8316
  }
8317
  },
8318
  "strip-bom": {
@@ -8321,7 +8900,7 @@
8321
  "integrity": "sha1-YhmoVhZSBJHzV4i9vxRHqZx+aw4=",
8322
  "dev": true,
8323
  "requires": {
8324
- "is-utf8": "0.2.1"
8325
  }
8326
  },
8327
  "strip-indent": {
@@ -8330,7 +8909,7 @@
8330
  "integrity": "sha1-DHlipq3vp7vUrDZkYKY4VSrhoKI=",
8331
  "dev": true,
8332
  "requires": {
8333
- "get-stdin": "4.0.1"
8334
  }
8335
  },
8336
  "strip-json-comments": {
@@ -8351,47 +8930,47 @@
8351
  "integrity": "sha512-aBlnuLyTvyNfIVoc+reaqx88aW41Awc9Ccu7ZXrO2fnSvv0MVSQeyL3ci/nD1H1eYvH3X+MXTwMYC3Mf5+2Ckw==",
8352
  "dev": true,
8353
  "requires": {
8354
- "autoprefixer": "8.2.0",
8355
- "balanced-match": "1.0.0",
8356
- "chalk": "2.3.2",
8357
- "cosmiconfig": "4.0.0",
8358
- "debug": "3.1.0",
8359
- "execall": "1.0.0",
8360
- "file-entry-cache": "2.0.0",
8361
- "get-stdin": "6.0.0",
8362
- "globby": "8.0.1",
8363
- "globjoin": "0.1.4",
8364
- "html-tags": "2.0.0",
8365
- "ignore": "3.3.7",
8366
- "import-lazy": "3.1.0",
8367
- "imurmurhash": "0.1.4",
8368
- "known-css-properties": "0.6.1",
8369
- "lodash": "4.17.5",
8370
- "log-symbols": "2.2.0",
8371
- "mathml-tag-names": "2.0.1",
8372
- "meow": "4.0.0",
8373
- "micromatch": "2.3.11",
8374
- "normalize-selector": "0.2.0",
8375
- "pify": "3.0.0",
8376
- "postcss": "6.0.21",
8377
- "postcss-html": "0.18.0",
8378
- "postcss-less": "1.1.5",
8379
- "postcss-media-query-parser": "0.2.3",
8380
- "postcss-reporter": "5.0.0",
8381
- "postcss-resolve-nested-selector": "0.1.1",
8382
- "postcss-safe-parser": "3.0.1",
8383
- "postcss-sass": "0.3.0",
8384
- "postcss-scss": "1.0.5",
8385
- "postcss-selector-parser": "3.1.1",
8386
- "postcss-value-parser": "3.3.0",
8387
- "resolve-from": "4.0.0",
8388
- "signal-exit": "3.0.2",
8389
- "specificity": "0.3.2",
8390
- "string-width": "2.1.1",
8391
- "style-search": "0.1.0",
8392
- "sugarss": "1.0.1",
8393
- "svg-tags": "1.0.0",
8394
- "table": "4.0.3"
8395
  },
8396
  "dependencies": {
8397
  "ansi-regex": {
@@ -8412,9 +8991,9 @@
8412
  "integrity": "sha1-oqpfsa9oh1glnDLBQUJteJI7m3c=",
8413
  "dev": true,
8414
  "requires": {
8415
- "camelcase": "4.1.0",
8416
- "map-obj": "2.0.0",
8417
- "quick-lru": "1.1.0"
8418
  }
8419
  },
8420
  "debug": {
@@ -8432,7 +9011,7 @@
8432
  "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=",
8433
  "dev": true,
8434
  "requires": {
8435
- "locate-path": "2.0.0"
8436
  }
8437
  },
8438
  "get-stdin": {
@@ -8459,10 +9038,10 @@
8459
  "integrity": "sha1-L19Fq5HjMhYjT9U62rZo607AmTs=",
8460
  "dev": true,
8461
  "requires": {
8462
- "graceful-fs": "4.1.11",
8463
- "parse-json": "4.0.0",
8464
- "pify": "3.0.0",
8465
- "strip-bom": "3.0.0"
8466
  }
8467
  },
8468
  "lodash": {
@@ -8483,15 +9062,15 @@
8483
  "integrity": "sha512-Me/kel335m6vMKmEmA6c87Z6DUFW3JqkINRnxkbC+A/PUm0D5Fl2dEBQrPKnqCL9Te/CIa1MUt/0InMJhuC/sw==",
8484
  "dev": true,
8485
  "requires": {
8486
- "camelcase-keys": "4.2.0",
8487
- "decamelize-keys": "1.1.0",
8488
- "loud-rejection": "1.6.0",
8489
- "minimist": "1.2.0",
8490
- "minimist-options": "3.0.2",
8491
- "normalize-package-data": "2.4.0",
8492
- "read-pkg-up": "3.0.0",
8493
- "redent": "2.0.0",
8494
- "trim-newlines": "2.0.0"
8495
  }
8496
  },
8497
  "parse-json": {
@@ -8500,8 +9079,8 @@
8500
  "integrity": "sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA=",
8501
  "dev": true,
8502
  "requires": {
8503
- "error-ex": "1.3.1",
8504
- "json-parse-better-errors": "1.0.2"
8505
  }
8506
  },
8507
  "path-type": {
@@ -8510,7 +9089,7 @@
8510
  "integrity": "sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg==",
8511
  "dev": true,
8512
  "requires": {
8513
- "pify": "3.0.0"
8514
  }
8515
  },
8516
  "pify": {
@@ -8525,9 +9104,9 @@
8525
  "integrity": "sha1-nLxoaXj+5l0WwA4rGcI3/Pbjg4k=",
8526
  "dev": true,
8527
  "requires": {
8528
- "load-json-file": "4.0.0",
8529
- "normalize-package-data": "2.4.0",
8530
- "path-type": "3.0.0"
8531
  }
8532
  },
8533
  "read-pkg-up": {
@@ -8536,8 +9115,8 @@
8536
  "integrity": "sha1-PtSWaF26D4/hGNBpHcUfSh/5bwc=",
8537
  "dev": true,
8538
  "requires": {
8539
- "find-up": "2.1.0",
8540
- "read-pkg": "3.0.0"
8541
  }
8542
  },
8543
  "redent": {
@@ -8546,8 +9125,8 @@
8546
  "integrity": "sha1-wbIAe0LVfrE4kHmzyDM2OdXhzKo=",
8547
  "dev": true,
8548
  "requires": {
8549
- "indent-string": "3.2.0",
8550
- "strip-indent": "2.0.0"
8551
  }
8552
  },
8553
  "string-width": {
@@ -8556,8 +9135,8 @@
8556
  "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==",
8557
  "dev": true,
8558
  "requires": {
8559
- "is-fullwidth-code-point": "2.0.0",
8560
- "strip-ansi": "4.0.0"
8561
  }
8562
  },
8563
  "strip-ansi": {
@@ -8566,7 +9145,7 @@
8566
  "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=",
8567
  "dev": true,
8568
  "requires": {
8569
- "ansi-regex": "3.0.0"
8570
  }
8571
  },
8572
  "strip-bom": {
@@ -8595,7 +9174,7 @@
8595
  "integrity": "sha512-3qgLZytikQQEVn1/FrhY7B68gPUUGY3R1Q1vTiD5xT+Ti1DP/8iZuwFet9ONs5+bmL8pZoDQ6JrQHVgrNlK6mA==",
8596
  "dev": true,
8597
  "requires": {
8598
- "postcss": "6.0.21"
8599
  }
8600
  },
8601
  "supports-color": {
@@ -8604,7 +9183,7 @@
8604
  "integrity": "sha512-0aP01LLIskjKs3lq52EC0aGBAJhLq7B2Rd8HC/DR/PtNNpcLilNmHC12O+hu0usQpo7wtHNRqtrhBwtDb0+dNg==",
8605
  "dev": true,
8606
  "requires": {
8607
- "has-flag": "3.0.0"
8608
  }
8609
  },
8610
  "sver-compat": {
@@ -8613,8 +9192,8 @@
8613
  "integrity": "sha1-PPh9/rTQe0o/FIJ7wYaz/QxkXNg=",
8614
  "dev": true,
8615
  "requires": {
8616
- "es6-iterator": "2.0.3",
8617
- "es6-symbol": "3.1.1"
8618
  }
8619
  },
8620
  "svg-tags": {
@@ -8629,12 +9208,12 @@
8629
  "integrity": "sha512-S7rnFITmBH1EnyKcvxBh1LjYeQMmnZtCXSEbHcH6S0NoKit24ZuFO/T1vDcLdYsLQkM188PVVhQmzKIuThNkKg==",
8630
  "dev": true,
8631
  "requires": {
8632
- "ajv": "6.4.0",
8633
- "ajv-keywords": "3.1.0",
8634
- "chalk": "2.3.2",
8635
- "lodash": "4.17.5",
8636
  "slice-ansi": "1.0.0",
8637
- "string-width": "2.1.1"
8638
  },
8639
  "dependencies": {
8640
  "ajv": {
@@ -8643,10 +9222,10 @@
8643
  "integrity": "sha1-06/3jpJ3VJdx2vAWTP9ISCt1T8Y=",
8644
  "dev": true,
8645
  "requires": {
8646
- "fast-deep-equal": "1.1.0",
8647
- "fast-json-stable-stringify": "2.0.0",
8648
- "json-schema-traverse": "0.3.1",
8649
- "uri-js": "3.0.2"
8650
  }
8651
  },
8652
  "ansi-regex": {
@@ -8673,8 +9252,8 @@
8673
  "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==",
8674
  "dev": true,
8675
  "requires": {
8676
- "is-fullwidth-code-point": "2.0.0",
8677
- "strip-ansi": "4.0.0"
8678
  }
8679
  },
8680
  "strip-ansi": {
@@ -8683,7 +9262,7 @@
8683
  "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=",
8684
  "dev": true,
8685
  "requires": {
8686
- "ansi-regex": "3.0.0"
8687
  }
8688
  }
8689
  }
@@ -8694,9 +9273,9 @@
8694
  "integrity": "sha1-jk0qJWwOIYXGsYrWlK7JaLg8sdE=",
8695
  "dev": true,
8696
  "requires": {
8697
- "block-stream": "0.0.9",
8698
- "fstream": "1.0.11",
8699
- "inherits": "2.0.3"
8700
  }
8701
  },
8702
  "tar-fs": {
@@ -8706,10 +9285,10 @@
8706
  "dev": true,
8707
  "optional": true,
8708
  "requires": {
8709
- "chownr": "1.0.1",
8710
- "mkdirp": "0.5.1",
8711
- "pump": "1.0.3",
8712
- "tar-stream": "1.5.5"
8713
  },
8714
  "dependencies": {
8715
  "pump": {
@@ -8719,8 +9298,8 @@
8719
  "dev": true,
8720
  "optional": true,
8721
  "requires": {
8722
- "end-of-stream": "1.4.1",
8723
- "once": "1.4.0"
8724
  }
8725
  }
8726
  }
@@ -8731,10 +9310,10 @@
8731
  "integrity": "sha512-mQdgLPc/Vjfr3VWqWbfxW8yQNiJCbAZ+Gf6GDu1Cy0bdb33ofyiNGBtAY96jHFhDuivCwgW1H9DgTON+INiXgg==",
8732
  "dev": true,
8733
  "requires": {
8734
- "bl": "1.2.2",
8735
- "end-of-stream": "1.4.1",
8736
- "readable-stream": "2.3.6",
8737
- "xtend": "4.0.1"
8738
  }
8739
  },
8740
  "text-table": {
@@ -8749,8 +9328,8 @@
8749
  "integrity": "sha1-OORBT8ZJd9h6/apy+sttKfgve1s=",
8750
  "dev": true,
8751
  "requires": {
8752
- "chalk": "1.1.3",
8753
- "object-path": "0.9.2"
8754
  },
8755
  "dependencies": {
8756
  "ansi-styles": {
@@ -8765,11 +9344,11 @@
8765
  "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=",
8766
  "dev": true,
8767
  "requires": {
8768
- "ansi-styles": "2.2.1",
8769
- "escape-string-regexp": "1.0.5",
8770
- "has-ansi": "2.0.0",
8771
- "strip-ansi": "3.0.1",
8772
- "supports-color": "2.0.0"
8773
  }
8774
  },
8775
  "supports-color": {
@@ -8786,8 +9365,8 @@
8786
  "integrity": "sha1-AARWmzfHx0ujnEPzzteNGtlBQL4=",
8787
  "dev": true,
8788
  "requires": {
8789
- "readable-stream": "2.3.6",
8790
- "xtend": "4.0.1"
8791
  }
8792
  },
8793
  "through2-filter": {
@@ -8796,8 +9375,8 @@
8796
  "integrity": "sha1-YLxVoNrLdghdsfna6Zq0P4PWIuw=",
8797
  "dev": true,
8798
  "requires": {
8799
- "through2": "2.0.3",
8800
- "xtend": "4.0.1"
8801
  }
8802
  },
8803
  "time-stamp": {
@@ -8812,12 +9391,12 @@
8812
  "integrity": "sha1-s/26gC5dVqM8L28QeUsy5Hescp0=",
8813
  "dev": true,
8814
  "requires": {
8815
- "body-parser": "1.14.2",
8816
- "debug": "2.2.0",
8817
- "faye-websocket": "0.10.0",
8818
- "livereload-js": "2.3.0",
8819
- "parseurl": "1.3.2",
8820
- "qs": "5.1.0"
8821
  },
8822
  "dependencies": {
8823
  "debug": {
@@ -8849,7 +9428,7 @@
8849
  "integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==",
8850
  "dev": true,
8851
  "requires": {
8852
- "os-tmpdir": "1.0.2"
8853
  }
8854
  },
8855
  "to-absolute-glob": {
@@ -8858,8 +9437,8 @@
8858
  "integrity": "sha1-GGX0PZ50sIItufFFt4z/fQ98hJs=",
8859
  "dev": true,
8860
  "requires": {
8861
- "is-absolute": "1.0.0",
8862
- "is-negated-glob": "1.0.0"
8863
  }
8864
  },
8865
  "to-array": {
@@ -8880,7 +9459,7 @@
8880
  "integrity": "sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68=",
8881
  "dev": true,
8882
  "requires": {
8883
- "kind-of": "3.2.2"
8884
  }
8885
  },
8886
  "to-regex": {
@@ -8889,10 +9468,10 @@
8889
  "integrity": "sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw==",
8890
  "dev": true,
8891
  "requires": {
8892
- "define-property": "2.0.2",
8893
- "extend-shallow": "3.0.2",
8894
- "regex-not": "1.0.2",
8895
- "safe-regex": "1.1.0"
8896
  }
8897
  },
8898
  "to-regex-range": {
@@ -8901,8 +9480,8 @@
8901
  "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=",
8902
  "dev": true,
8903
  "requires": {
8904
- "is-number": "3.0.0",
8905
- "repeat-string": "1.6.1"
8906
  },
8907
  "dependencies": {
8908
  "is-number": {
@@ -8911,7 +9490,7 @@
8911
  "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=",
8912
  "dev": true,
8913
  "requires": {
8914
- "kind-of": "3.2.2"
8915
  }
8916
  }
8917
  }
@@ -8922,7 +9501,7 @@
8922
  "integrity": "sha1-/JKtq6ByZHvAtn1rA2ZKoZUJOvY=",
8923
  "dev": true,
8924
  "requires": {
8925
- "through2": "2.0.3"
8926
  }
8927
  },
8928
  "tough-cookie": {
@@ -8931,7 +9510,7 @@
8931
  "integrity": "sha512-TZ6TTfI5NtZnuyy/Kecv+CnoROnyXn2DN97LontgQpCwsX2XyLYCC0ENhYkehSOwAp8rTQKc/NUIF7BkQ5rKLA==",
8932
  "dev": true,
8933
  "requires": {
8934
- "punycode": "1.4.1"
8935
  }
8936
  },
8937
  "trim": {
@@ -8970,7 +9549,7 @@
8970
  "integrity": "sha1-fskRMJJHZsf1c74wIMNPj9/QDWI=",
8971
  "dev": true,
8972
  "requires": {
8973
- "glob": "6.0.4"
8974
  },
8975
  "dependencies": {
8976
  "glob": {
@@ -8979,11 +9558,11 @@
8979
  "integrity": "sha1-DwiGD2oVUSey+t1PnOJLGqtuTSI=",
8980
  "dev": true,
8981
  "requires": {
8982
- "inflight": "1.0.6",
8983
- "inherits": "2.0.3",
8984
- "minimatch": "3.0.4",
8985
- "once": "1.4.0",
8986
- "path-is-absolute": "1.0.1"
8987
  }
8988
  }
8989
  }
@@ -8994,7 +9573,7 @@
8994
  "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=",
8995
  "dev": true,
8996
  "requires": {
8997
- "safe-buffer": "5.1.1"
8998
  }
8999
  },
9000
  "tweetnacl": {
@@ -9011,7 +9590,7 @@
9011
  "dev": true,
9012
  "requires": {
9013
  "media-typer": "0.3.0",
9014
- "mime-types": "2.1.18"
9015
  }
9016
  },
9017
  "typedarray": {
@@ -9021,9 +9600,9 @@
9021
  "dev": true
9022
  },
9023
  "ua-parser-js": {
9024
- "version": "0.7.12",
9025
- "resolved": "https://registry.npmjs.org/ua-parser-js/-/ua-parser-js-0.7.12.tgz",
9026
- "integrity": "sha1-BMgamb3V3FImPqKdJMa/jUgYpLs=",
9027
  "dev": true
9028
  },
9029
  "uglify-js": {
@@ -9032,8 +9611,8 @@
9032
  "integrity": "sha512-WpLkWCf9sGvGZnIvBV0PNID9BATQNT/IXKAmqegfKzIPcTmTV3FP8NQpoogQkt/Y402x2sOFdaHUmqFY9IZp+g==",
9033
  "dev": true,
9034
  "requires": {
9035
- "commander": "2.15.1",
9036
- "source-map": "0.6.1"
9037
  }
9038
  },
9039
  "ultron": {
@@ -9054,8 +9633,8 @@
9054
  "integrity": "sha1-LCo/n4PmR2L9xF5s6sZRQoZCE9s=",
9055
  "dev": true,
9056
  "requires": {
9057
- "sprintf-js": "1.1.1",
9058
- "util-deprecate": "1.0.2"
9059
  }
9060
  },
9061
  "undertaker": {
@@ -9064,15 +9643,15 @@
9064
  "integrity": "sha1-M52kZGJS0ILcN45wgGcpl1DhG0k=",
9065
  "dev": true,
9066
  "requires": {
9067
- "arr-flatten": "1.1.0",
9068
- "arr-map": "2.0.2",
9069
- "bach": "1.2.0",
9070
- "collection-map": "1.0.0",
9071
- "es6-weak-map": "2.0.2",
9072
- "last-run": "1.1.1",
9073
- "object.defaults": "1.1.0",
9074
- "object.reduce": "1.0.1",
9075
- "undertaker-registry": "1.0.1"
9076
  }
9077
  },
9078
  "undertaker-registry": {
@@ -9087,8 +9666,8 @@
9087
  "integrity": "sha1-a5qu379z3xdWrZ4xbdmBiFhAzX0=",
9088
  "dev": true,
9089
  "requires": {
9090
- "inherits": "2.0.3",
9091
- "xtend": "4.0.1"
9092
  }
9093
  },
9094
  "unified": {
@@ -9097,13 +9676,13 @@
9097
  "integrity": "sha512-pW2f82bCIo2ifuIGYcV12fL96kMMYgw7JKVEgh7ODlrM9rj6vXSY3BV+H6lCcv1ksxynFf582hwWLnA1qRFy4w==",
9098
  "dev": true,
9099
  "requires": {
9100
- "bail": "1.0.2",
9101
- "extend": "3.0.1",
9102
- "is-plain-obj": "1.1.0",
9103
- "trough": "1.0.1",
9104
- "vfile": "2.3.0",
9105
- "x-is-function": "1.0.4",
9106
- "x-is-string": "0.1.0"
9107
  }
9108
  },
9109
  "union-value": {
@@ -9112,10 +9691,10 @@
9112
  "integrity": "sha1-XHHDTLW61dzr4+oM0IIHulqhrqQ=",
9113
  "dev": true,
9114
  "requires": {
9115
- "arr-union": "3.1.0",
9116
- "get-value": "2.0.6",
9117
- "is-extendable": "0.1.1",
9118
- "set-value": "0.4.3"
9119
  },
9120
  "dependencies": {
9121
  "extend-shallow": {
@@ -9124,7 +9703,7 @@
9124
  "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
9125
  "dev": true,
9126
  "requires": {
9127
- "is-extendable": "0.1.1"
9128
  }
9129
  },
9130
  "set-value": {
@@ -9133,10 +9712,10 @@
9133
  "integrity": "sha1-fbCPnT0i3H945Trzw79GZuzfzPE=",
9134
  "dev": true,
9135
  "requires": {
9136
- "extend-shallow": "2.0.1",
9137
- "is-extendable": "0.1.1",
9138
- "is-plain-object": "2.0.4",
9139
- "to-object-path": "0.3.0"
9140
  }
9141
  }
9142
  }
@@ -9153,8 +9732,8 @@
9153
  "integrity": "sha1-WqADz76Uxf+GbE59ZouxxNuts2k=",
9154
  "dev": true,
9155
  "requires": {
9156
- "json-stable-stringify": "1.0.1",
9157
- "through2-filter": "2.0.0"
9158
  }
9159
  },
9160
  "unist-util-find-all-after": {
@@ -9163,7 +9742,7 @@
9163
  "integrity": "sha1-TlUSq/734GFnga7Pex7XUcAK+Qg=",
9164
  "dev": true,
9165
  "requires": {
9166
- "unist-util-is": "2.1.1"
9167
  }
9168
  },
9169
  "unist-util-is": {
@@ -9178,7 +9757,7 @@
9178
  "integrity": "sha1-ZtfmpEnm9nIguXarPLi166w55R0=",
9179
  "dev": true,
9180
  "requires": {
9181
- "array-iterate": "1.1.1"
9182
  }
9183
  },
9184
  "unist-util-remove-position": {
@@ -9187,7 +9766,7 @@
9187
  "integrity": "sha1-WoXBVV/BugwQG4ZwfRXlD6TIcbs=",
9188
  "dev": true,
9189
  "requires": {
9190
- "unist-util-visit": "1.3.0"
9191
  }
9192
  },
9193
  "unist-util-stringify-position": {
@@ -9202,7 +9781,7 @@
9202
  "integrity": "sha512-9ntYcxPFtl44gnwXrQKZ5bMqXMY0ZHzUpqMFiU4zcc8mmf/jzYm8GhYgezuUlX4cJIM1zIDYaO6fG/fI+L6iiQ==",
9203
  "dev": true,
9204
  "requires": {
9205
- "unist-util-is": "2.1.1"
9206
  }
9207
  },
9208
  "universalify": {
@@ -9223,8 +9802,8 @@
9223
  "integrity": "sha1-g3aHP30jNRef+x5vw6jtDfyKtVk=",
9224
  "dev": true,
9225
  "requires": {
9226
- "has-value": "0.3.1",
9227
- "isobject": "3.0.1"
9228
  },
9229
  "dependencies": {
9230
  "has-value": {
@@ -9233,9 +9812,9 @@
9233
  "integrity": "sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8=",
9234
  "dev": true,
9235
  "requires": {
9236
- "get-value": "2.0.6",
9237
- "has-values": "0.1.4",
9238
- "isobject": "2.1.0"
9239
  },
9240
  "dependencies": {
9241
  "isobject": {
@@ -9275,7 +9854,7 @@
9275
  "integrity": "sha1-+QuFhQf4HepNz7s8TD2/orVX+qo=",
9276
  "dev": true,
9277
  "requires": {
9278
- "punycode": "2.1.0"
9279
  },
9280
  "dependencies": {
9281
  "punycode": {
@@ -9304,7 +9883,7 @@
9304
  "integrity": "sha512-6UJEQM/L+mzC3ZJNM56Q4DFGLX/evKGRg15UJHGB9X5j5Z3AFbgZvjUh2yq/UJUY4U5dh7Fal++XbNg1uzpRAw==",
9305
  "dev": true,
9306
  "requires": {
9307
- "kind-of": "6.0.2"
9308
  },
9309
  "dependencies": {
9310
  "kind-of": {
@@ -9346,7 +9925,7 @@
9346
  "integrity": "sha512-6sgSKoFw1UpUPd3cFdF7QGnrH6tDeBgW1F3v9gy8gLY0mlbiBXq8soy8aQpY6xeeCjH5K+JvC62Acp7gtl7wWA==",
9347
  "dev": true,
9348
  "requires": {
9349
- "homedir-polyfill": "1.0.1"
9350
  }
9351
  },
9352
  "validate-npm-package-license": {
@@ -9355,8 +9934,8 @@
9355
  "integrity": "sha512-63ZOUnL4SIXj4L0NixR3L1lcjO38crAbgrTpl28t8jjrfuiOBL5Iygm+60qPs/KsZGzPNg6Smnc/oY16QTjF0g==",
9356
  "dev": true,
9357
  "requires": {
9358
- "spdx-correct": "3.0.0",
9359
- "spdx-expression-parse": "3.0.0"
9360
  }
9361
  },
9362
  "value-or-function": {
@@ -9371,9 +9950,9 @@
9371
  "integrity": "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=",
9372
  "dev": true,
9373
  "requires": {
9374
- "assert-plus": "1.0.0",
9375
  "core-util-is": "1.0.2",
9376
- "extsprintf": "1.3.0"
9377
  },
9378
  "dependencies": {
9379
  "assert-plus": {
@@ -9390,10 +9969,10 @@
9390
  "integrity": "sha512-ASt4mBUHcTpMKD/l5Q+WJXNtshlWxOogYyGYYrg4lt/vuRjC1EFQtlAofL5VmtVNIZJzWYFJjzGWZ0Gw8pzW1w==",
9391
  "dev": true,
9392
  "requires": {
9393
- "is-buffer": "1.1.6",
9394
  "replace-ext": "1.0.0",
9395
- "unist-util-stringify-position": "1.1.1",
9396
- "vfile-message": "1.0.0"
9397
  }
9398
  },
9399
  "vfile-location": {
@@ -9408,7 +9987,7 @@
9408
  "integrity": "sha512-HPREhzTOB/sNDc9/Mxf8w0FmHnThg5CRSJdR9VRFkD2riqYWs+fuXlj5z8mIpv2LrD7uU41+oPWFOL4Mjlf+dw==",
9409
  "dev": true,
9410
  "requires": {
9411
- "unist-util-stringify-position": "1.1.1"
9412
  }
9413
  },
9414
  "vinyl": {
@@ -9417,12 +9996,12 @@
9417
  "integrity": "sha1-Ah+cLPlR1rk5lDyJ617lrdT9kkw=",
9418
  "dev": true,
9419
  "requires": {
9420
- "clone": "2.1.2",
9421
- "clone-buffer": "1.0.0",
9422
- "clone-stats": "1.0.0",
9423
- "cloneable-readable": "1.1.2",
9424
- "remove-trailing-separator": "1.1.0",
9425
- "replace-ext": "1.0.0"
9426
  }
9427
  },
9428
  "vinyl-fs": {
@@ -9431,23 +10010,23 @@
9431
  "integrity": "sha512-AUSFda1OukBwuLPBTbyuO4IRWgfXmqC4UTW0f8xrCa8Hkv9oyIU+NSqBlgfOLZRoUt7cHdo75hKQghCywpIyIw==",
9432
  "dev": true,
9433
  "requires": {
9434
- "fs-mkdirp-stream": "1.0.0",
9435
- "glob-stream": "6.1.0",
9436
- "graceful-fs": "4.1.11",
9437
- "is-valid-glob": "1.0.0",
9438
- "lazystream": "1.0.0",
9439
- "lead": "1.0.0",
9440
- "object.assign": "4.1.0",
9441
- "pumpify": "1.4.0",
9442
- "readable-stream": "2.3.6",
9443
- "remove-bom-buffer": "3.0.0",
9444
- "remove-bom-stream": "1.2.0",
9445
- "resolve-options": "1.1.0",
9446
- "through2": "2.0.3",
9447
- "to-through": "2.0.0",
9448
- "value-or-function": "3.0.0",
9449
- "vinyl": "2.1.0",
9450
- "vinyl-sourcemap": "1.1.0"
9451
  }
9452
  },
9453
  "vinyl-sourcemap": {
@@ -9456,13 +10035,13 @@
9456
  "integrity": "sha1-kqgAWTo4cDqM2xHYswCtS+Y7PhY=",
9457
  "dev": true,
9458
  "requires": {
9459
- "append-buffer": "1.0.2",
9460
- "convert-source-map": "1.5.1",
9461
- "graceful-fs": "4.1.11",
9462
- "normalize-path": "2.1.1",
9463
- "now-and-later": "2.0.0",
9464
- "remove-bom-buffer": "3.0.0",
9465
- "vinyl": "2.1.0"
9466
  }
9467
  },
9468
  "vinyl-sourcemaps-apply": {
@@ -9471,7 +10050,7 @@
9471
  "integrity": "sha1-q2VJ1h0XLCsbh75cUI0jnI74dwU=",
9472
  "dev": true,
9473
  "requires": {
9474
- "source-map": "0.5.7"
9475
  },
9476
  "dependencies": {
9477
  "source-map": {
@@ -9494,8 +10073,8 @@
9494
  "integrity": "sha1-DK+dLXVdk67gSdS90NP+LMoqJOs=",
9495
  "dev": true,
9496
  "requires": {
9497
- "http-parser-js": "0.4.11",
9498
- "websocket-extensions": "0.1.3"
9499
  }
9500
  },
9501
  "websocket-extensions": {
@@ -9510,7 +10089,7 @@
9510
  "integrity": "sha1-mofEN48D6CfOyvGs31bHNsAcFOU=",
9511
  "dev": true,
9512
  "requires": {
9513
- "isexe": "2.0.0"
9514
  }
9515
  },
9516
  "which-module": {
@@ -9532,13 +10111,13 @@
9532
  "integrity": "sha512-ijDLlyQ7s6x1JgCLur53osjm/UXUYD9+0PbYKrBsYisYXzCxN+HC3mYDNy/dWdmf3AwqwU3CXwDCvsNgGK1S0w==",
9533
  "dev": true,
9534
  "requires": {
9535
- "string-width": "1.0.2"
9536
  }
9537
  },
9538
  "window-size": {
9539
- "version": "0.1.4",
9540
- "resolved": "https://registry.npmjs.org/window-size/-/window-size-0.1.4.tgz",
9541
- "integrity": "sha1-+OGqHuWlPsW/FR/6CXQqatdpeHY=",
9542
  "dev": true
9543
  },
9544
  "wrap-ansi": {
@@ -9547,8 +10126,8 @@
9547
  "integrity": "sha1-2Pw9KE3QV5T+hJc8rs3Rz4JP3YU=",
9548
  "dev": true,
9549
  "requires": {
9550
- "string-width": "1.0.2",
9551
- "strip-ansi": "3.0.1"
9552
  }
9553
  },
9554
  "wrappy": {
@@ -9563,7 +10142,7 @@
9563
  "integrity": "sha1-X8A4KOJkzqP+kUVUdvejxWbLB1c=",
9564
  "dev": true,
9565
  "requires": {
9566
- "mkdirp": "0.5.1"
9567
  }
9568
  },
9569
  "ws": {
@@ -9572,9 +10151,9 @@
9572
  "integrity": "sha512-nnWLa/NwZSt4KQJu51MYlCcSQ5g7INpOrOMt4XV8j4dqTXdmlUmSHQ8/oLC069ckre0fRsgfvsKwbTdtKLCDkA==",
9573
  "dev": true,
9574
  "requires": {
9575
- "async-limiter": "1.0.0",
9576
- "safe-buffer": "5.1.1",
9577
- "ultron": "1.1.1"
9578
  }
9579
  },
9580
  "x-is-function": {
@@ -9619,34 +10198,20 @@
9619
  "integrity": "sha1-gW4ahm1VmMzzTlWW3c4i2S2kkNQ=",
9620
  "dev": true,
9621
  "requires": {
9622
- "camelcase": "3.0.0",
9623
- "cliui": "3.2.0",
9624
- "decamelize": "1.2.0",
9625
- "get-caller-file": "1.0.2",
9626
- "os-locale": "1.4.0",
9627
- "read-pkg-up": "1.0.1",
9628
- "require-directory": "2.1.1",
9629
- "require-main-filename": "1.0.1",
9630
- "set-blocking": "2.0.0",
9631
- "string-width": "1.0.2",
9632
- "which-module": "1.0.0",
9633
- "window-size": "0.2.0",
9634
- "y18n": "3.2.1",
9635
- "yargs-parser": "4.2.1"
9636
- },
9637
- "dependencies": {
9638
- "camelcase": {
9639
- "version": "3.0.0",
9640
- "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-3.0.0.tgz",
9641
- "integrity": "sha1-MvxLn82vhF/N9+c7uXysImHwqwo=",
9642
- "dev": true
9643
- },
9644
- "window-size": {
9645
- "version": "0.2.0",
9646
- "resolved": "https://registry.npmjs.org/window-size/-/window-size-0.2.0.tgz",
9647
- "integrity": "sha1-tDFbtCFKPXBY6+7okuE/ok2YsHU=",
9648
- "dev": true
9649
- }
9650
  }
9651
  },
9652
  "yargs-parser": {
@@ -9655,15 +10220,7 @@
9655
  "integrity": "sha1-KczqwNxPA8bIe0qfIX3RjJ90hxw=",
9656
  "dev": true,
9657
  "requires": {
9658
- "camelcase": "3.0.0"
9659
- },
9660
- "dependencies": {
9661
- "camelcase": {
9662
- "version": "3.0.0",
9663
- "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-3.0.0.tgz",
9664
- "integrity": "sha1-MvxLn82vhF/N9+c7uXysImHwqwo=",
9665
- "dev": true
9666
- }
9667
  }
9668
  },
9669
  "yeast": {
@@ -9678,10 +10235,10 @@
9678
  "integrity": "sha1-qLxF9MG0lpnGuQGYuqyqzbzUugQ=",
9679
  "dev": true,
9680
  "requires": {
9681
- "archiver-utils": "1.3.0",
9682
- "compress-commons": "1.2.2",
9683
- "lodash": "4.17.5",
9684
- "readable-stream": "2.3.6"
9685
  },
9686
  "dependencies": {
9687
  "lodash": {
26
  "@babel/traverse": "7.0.0-beta.44",
27
  "@babel/types": "7.0.0-beta.44",
28
  "babylon": "7.0.0-beta.44",
29
+ "convert-source-map": "^1.1.0",
30
+ "debug": "^3.1.0",
31
+ "json5": "^0.5.0",
32
+ "lodash": "^4.2.0",
33
+ "micromatch": "^2.3.11",
34
+ "resolve": "^1.3.2",
35
+ "semver": "^5.4.1",
36
+ "source-map": "^0.5.0"
37
  },
38
  "dependencies": {
39
  "debug": {
57
  "integrity": "sha512-QdgZ5bjR1WAlpLaO5yHepFvC+o3rCr6wpfE2tpJNMkXdulf2jKomQBdNRQITF3ZKHNlT71syG98yQP03gasgnA==",
58
  "dev": true,
59
  "requires": {
60
+ "path-parse": "^1.0.5"
61
  }
62
  },
63
  "source-map": {
75
  "dev": true,
76
  "requires": {
77
  "@babel/types": "7.0.0-beta.44",
78
+ "jsesc": "^2.5.1",
79
+ "lodash": "^4.2.0",
80
+ "source-map": "^0.5.0",
81
+ "trim-right": "^1.0.1"
82
  },
83
  "dependencies": {
84
  "lodash": {
141
  "integrity": "sha512-Il19yJvy7vMFm8AVAh6OZzaFoAd0hbkeMZiX3P5HGD+z7dyI7RzndHB0dg6Urh/VAFfHtpOIzDUSxmY6coyZWQ==",
142
  "dev": true,
143
  "requires": {
144
+ "chalk": "^2.0.0",
145
+ "esutils": "^2.0.2",
146
+ "js-tokens": "^3.0.0"
147
  }
148
  },
149
  "@babel/template": {
155
  "@babel/code-frame": "7.0.0-beta.44",
156
  "@babel/types": "7.0.0-beta.44",
157
  "babylon": "7.0.0-beta.44",
158
+ "lodash": "^4.2.0"
159
  },
160
  "dependencies": {
161
  "lodash": {
178
  "@babel/helper-split-export-declaration": "7.0.0-beta.44",
179
  "@babel/types": "7.0.0-beta.44",
180
  "babylon": "7.0.0-beta.44",
181
+ "debug": "^3.1.0",
182
+ "globals": "^11.1.0",
183
+ "invariant": "^2.2.0",
184
+ "lodash": "^4.2.0"
185
  },
186
  "dependencies": {
187
  "debug": {
207
  "integrity": "sha512-5eTV4WRmqbaFM3v9gHAIljEQJU4Ssc6fxL61JN+Oe2ga/BwyjzjamwkCVVAQjHGuAX8i0BWo42dshL8eO5KfLQ==",
208
  "dev": true,
209
  "requires": {
210
+ "esutils": "^2.0.2",
211
+ "lodash": "^4.2.0",
212
+ "to-fast-properties": "^2.0.0"
213
  },
214
  "dependencies": {
215
  "lodash": {
226
  "integrity": "sha512-bPHp6Ji8b41szTOcaP63VlnbbO5Ny6dwAATtY6JTjh5N2OLrb5Qk/Th5cRkRQhkWCt+EJsYrNB0MiL+Gpn6e3g==",
227
  "dev": true,
228
  "requires": {
229
+ "call-me-maybe": "^1.0.1",
230
+ "glob-to-regexp": "^0.3.0"
231
  }
232
  },
233
  "abbrev": {
242
  "integrity": "sha1-63d99gEXI6OxTopywIBcjoZ0a9I=",
243
  "dev": true,
244
  "requires": {
245
+ "mime-types": "~2.1.18",
246
  "negotiator": "0.6.1"
247
  }
248
  },
258
  "integrity": "sha1-gv+wKynmYq5TvcIK8VlHcGc5xTY=",
259
  "dev": true,
260
  "requires": {
261
+ "co": "^4.6.0",
262
+ "json-stable-stringify": "^1.0.1"
263
  }
264
  },
265
  "ajv-keywords": {
280
  "integrity": "sha512-SFKX67auSNoVR38N3L+nvsPjOE0bybKTYbkf5tRvushrAPQ9V75huw0ZxBkKVeRU9kqH3d6HA4xTckbwZ4ixmA==",
281
  "dev": true,
282
  "requires": {
283
+ "ansi-wrap": "^0.1.0"
284
  }
285
  },
286
  "ansi-gray": {
304
  "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==",
305
  "dev": true,
306
  "requires": {
307
+ "color-convert": "^1.9.0"
308
  }
309
  },
310
  "ansi-wrap": {
319
  "integrity": "sha512-0XNayC8lTHQ2OI8aljNCN3sSx6hsr/1+rlcDAotXJR7C1oZZHCNsfpbKwMjRA3Uqb5tF1Rae2oloTr4xpq+WjA==",
320
  "dev": true,
321
  "requires": {
322
+ "micromatch": "^2.1.5",
323
+ "normalize-path": "^2.0.0"
324
  }
325
  },
326
  "append-buffer": {
329
  "integrity": "sha1-2CIM9GYIFSXv6lBhTz3mUU36WPE=",
330
  "dev": true,
331
  "requires": {
332
+ "buffer-equal": "^1.0.0"
333
  }
334
  },
335
  "aproba": {
344
  "integrity": "sha1-TyGU1tj5nfP1MeaIHxTxXVX6ryI=",
345
  "dev": true,
346
  "requires": {
347
+ "archiver-utils": "^1.3.0",
348
+ "async": "^2.0.0",
349
+ "buffer-crc32": "^0.2.1",
350
+ "glob": "^7.0.0",
351
+ "lodash": "^4.8.0",
352
+ "readable-stream": "^2.0.0",
353
+ "tar-stream": "^1.5.0",
354
+ "walkdir": "^0.0.11",
355
+ "zip-stream": "^1.1.0"
356
  },
357
  "dependencies": {
358
  "async": {
361
  "integrity": "sha512-xAfGg1/NTLBBKlHFmnd7PlmUW9KhVQIUuSrYem9xzFUZy13ScvtyGGejaae9iAVRiRq9+Cx7DPFaAAhCpyxyPw==",
362
  "dev": true,
363
  "requires": {
364
+ "lodash": "^4.14.0"
365
  }
366
  },
367
  "lodash": {
378
  "integrity": "sha1-5QtMCccL89aA4y/xt5lOn52JUXQ=",
379
  "dev": true,
380
  "requires": {
381
+ "glob": "^7.0.0",
382
+ "graceful-fs": "^4.1.0",
383
+ "lazystream": "^1.0.0",
384
+ "lodash": "^4.8.0",
385
+ "normalize-path": "^2.0.0",
386
+ "readable-stream": "^2.0.0"
387
  },
388
  "dependencies": {
389
  "lodash": {
406
  "integrity": "sha1-u13KOCu5TwXhUZQ3PRb9O6HKEQ0=",
407
  "dev": true,
408
  "requires": {
409
+ "delegates": "^1.0.0",
410
+ "readable-stream": "^2.0.6"
411
  }
412
  },
413
  "argparse": {
416
  "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==",
417
  "dev": true,
418
  "requires": {
419
+ "sprintf-js": "~1.0.2"
420
  },
421
  "dependencies": {
422
  "sprintf-js": {
433
  "integrity": "sha1-jzuCf5Vai9ZpaX5KQlasPOrjVs8=",
434
  "dev": true,
435
  "requires": {
436
+ "arr-flatten": "^1.0.1"
437
  }
438
  },
439
  "arr-filter": {
442
  "integrity": "sha1-Q/3d0JHo7xGqTEXZzcGOLf8XEe4=",
443
  "dev": true,
444
  "requires": {
445
+ "make-iterator": "^1.0.0"
446
  }
447
  },
448
  "arr-flatten": {
457
  "integrity": "sha1-Onc0X/wc814qkYJWAfnljy4kysQ=",
458
  "dev": true,
459
  "requires": {
460
+ "make-iterator": "^1.0.0"
461
  }
462
  },
463
  "arr-union": {
484
  "integrity": "sha1-L6dLJnOTccOUe9enrcc74zSz15U=",
485
  "dev": true,
486
  "requires": {
487
+ "array-slice": "^1.0.0",
488
+ "is-number": "^4.0.0"
489
  },
490
  "dependencies": {
491
  "is-number": {
508
  "integrity": "sha512-eOCut5rXlI6aCOS7Z7kCplKRKyiFQ6dHFBem4PwlwKeNFk2/XxTrhRh5T9PyaEWGy/NHTZWbY+nsZlNFJu9rYg==",
509
  "dev": true,
510
  "requires": {
511
+ "is-number": "^4.0.0"
512
  },
513
  "dependencies": {
514
  "is-number": {
531
  "integrity": "sha512-ihLeJkonmdiAsD7vpgN3CRcx2J2S0TiYW+IS/5zHBI7mKUq3ySvBdzzBfD236ubDBQFiiyG3SWCPc+msQ9KoYg==",
532
  "dev": true,
533
  "requires": {
534
+ "default-compare": "^1.0.0",
535
+ "get-value": "^2.0.6",
536
+ "kind-of": "^5.0.2"
537
  },
538
  "dependencies": {
539
  "kind-of": {
550
  "integrity": "sha1-mjRBDk9OPaI96jdb5b5w8kd47Dk=",
551
  "dev": true,
552
  "requires": {
553
+ "array-uniq": "^1.0.1"
554
  }
555
  },
556
  "array-uniq": {
607
  "integrity": "sha512-mxc+yISkb0vjsuvG3dJCIZXzRWjKndQ9Zo9zNDJ1K2wh9eP0E0oGmOWm+4cFOvW4dA0tGFImTW5tQJHCtn1kIQ==",
608
  "dev": true,
609
  "requires": {
610
+ "end-of-stream": "^1.1.0",
611
+ "once": "^1.3.2",
612
+ "process-nextick-args": "^1.0.7",
613
+ "stream-exhaust": "^1.0.1"
614
  },
615
  "dependencies": {
616
  "process-nextick-args": {
651
  "integrity": "sha1-HQqRS7Aldb7IqPOnTlCA9yssDGs=",
652
  "dev": true,
653
  "requires": {
654
+ "async-done": "^1.2.2"
655
  }
656
  },
657
  "asynckit": {
667
  "dev": true
668
  },
669
  "autoprefixer": {
670
+ "version": "8.3.0",
671
+ "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-8.3.0.tgz",
672
+ "integrity": "sha512-HY2K4efAvC97v6j83pgV97Lieal51xhIV8EitvS4SrWcI+IGVZgjpihvXImsmIUzA6kb/tglPKzERG1oRFOvRA==",
673
  "dev": true,
674
  "requires": {
675
+ "browserslist": "^3.2.4",
676
+ "caniuse-lite": "^1.0.30000830",
677
+ "normalize-range": "^0.1.2",
678
+ "num2fraction": "^1.2.2",
679
+ "postcss": "^6.0.21",
680
+ "postcss-value-parser": "^3.2.3"
681
  }
682
  },
683
  "aws-sign2": {
692
  "integrity": "sha512-32NDda82rhwD9/JBCCkB+MRYDp0oSvlo2IL6rQWA10PQi7tDUM3eqMSltXmY+Oyl/7N3P3qNtAlv7X0d9bI28w==",
693
  "dev": true
694
  },
695
+ "axios": {
696
+ "version": "0.17.1",
697
+ "resolved": "https://registry.npmjs.org/axios/-/axios-0.17.1.tgz",
698
+ "integrity": "sha1-LY4+XQvb1zJ/kbyBT1xXZg+Bgk0=",
699
+ "dev": true,
700
+ "requires": {
701
+ "follow-redirects": "^1.2.5",
702
+ "is-buffer": "^1.1.5"
703
+ }
704
+ },
705
  "babylon": {
706
  "version": "7.0.0-beta.44",
707
  "resolved": "https://registry.npmjs.org/babylon/-/babylon-7.0.0-beta.44.tgz",
714
  "integrity": "sha1-Szzpa/JxNPeaG0FKUcFONMO9mIA=",
715
  "dev": true,
716
  "requires": {
717
+ "arr-filter": "^1.1.1",
718
+ "arr-flatten": "^1.0.1",
719
+ "arr-map": "^2.0.0",
720
+ "array-each": "^1.0.0",
721
+ "array-initial": "^1.0.0",
722
+ "array-last": "^1.1.1",
723
+ "async-done": "^1.2.2",
724
+ "async-settle": "^1.0.0",
725
+ "now-and-later": "^2.0.0"
726
  }
727
  },
728
  "backo2": {
749
  "integrity": "sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==",
750
  "dev": true,
751
  "requires": {
752
+ "cache-base": "^1.0.1",
753
+ "class-utils": "^0.3.5",
754
+ "component-emitter": "^1.2.1",
755
+ "define-property": "^1.0.0",
756
+ "isobject": "^3.0.1",
757
+ "mixin-deep": "^1.2.0",
758
+ "pascalcase": "^0.1.1"
759
  },
760
  "dependencies": {
761
  "define-property": {
764
  "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=",
765
  "dev": true,
766
  "requires": {
767
+ "is-descriptor": "^1.0.0"
768
  }
769
  },
770
  "is-accessor-descriptor": {
773
  "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==",
774
  "dev": true,
775
  "requires": {
776
+ "kind-of": "^6.0.0"
777
  }
778
  },
779
  "is-data-descriptor": {
782
  "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==",
783
  "dev": true,
784
  "requires": {
785
+ "kind-of": "^6.0.0"
786
  }
787
  },
788
  "is-descriptor": {
791
  "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==",
792
  "dev": true,
793
  "requires": {
794
+ "is-accessor-descriptor": "^1.0.0",
795
+ "is-data-descriptor": "^1.0.0",
796
+ "kind-of": "^6.0.2"
797
  }
798
  },
799
  "isobject": {
835
  "dev": true,
836
  "optional": true,
837
  "requires": {
838
+ "tweetnacl": "^0.14.3"
839
  }
840
  },
841
  "better-assert": {
859
  "integrity": "sha512-e8tQYnZodmebYDWGH7KMRvtzKXaJHx3BbilrgZCfvyLUYdKpK1t5PSPmpkny/SgiTSCnjfLW7v5rlONXVFkQEA==",
860
  "dev": true,
861
  "requires": {
862
+ "readable-stream": "^2.3.5",
863
+ "safe-buffer": "^5.1.1"
864
  }
865
  },
866
  "blob": {
875
  "integrity": "sha1-E+v+d4oDIFz+A3UUgeu0szAMEmo=",
876
  "dev": true,
877
  "requires": {
878
+ "inherits": "~2.0.0"
879
  }
880
  },
881
  "bluebird": {
891
  "dev": true,
892
  "requires": {
893
  "bytes": "2.2.0",
894
+ "content-type": "~1.0.1",
895
+ "debug": "~2.2.0",
896
+ "depd": "~1.1.0",
897
+ "http-errors": "~1.3.1",
898
  "iconv-lite": "0.4.13",
899
+ "on-finished": "~2.3.0",
900
  "qs": "5.2.0",
901
+ "raw-body": "~2.1.5",
902
+ "type-is": "~1.6.10"
903
  },
904
  "dependencies": {
905
+ "bytes": {
906
+ "version": "2.2.0",
907
+ "resolved": "https://registry.npmjs.org/bytes/-/bytes-2.2.0.tgz",
908
+ "integrity": "sha1-/TVGSkA/b5EXwt42Cez/nK4ABYg=",
909
+ "dev": true
910
+ },
911
  "debug": {
912
  "version": "2.2.0",
913
  "resolved": "https://registry.npmjs.org/debug/-/debug-2.2.0.tgz",
923
  "integrity": "sha1-GX4izevUGYWF6GlO9nhhl7ke2UI=",
924
  "dev": true,
925
  "requires": {
926
+ "inherits": "~2.0.1",
927
+ "statuses": "1"
928
  }
929
  },
930
  "iconv-lite": {
944
  "resolved": "https://registry.npmjs.org/qs/-/qs-5.2.0.tgz",
945
  "integrity": "sha1-qfMRQq9GjLcrJbMBNrokVoNJFr4=",
946
  "dev": true
947
+ },
948
+ "raw-body": {
949
+ "version": "2.1.7",
950
+ "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.1.7.tgz",
951
+ "integrity": "sha1-rf6s4uT7MJgFgBTQjActzFl1h3Q=",
952
+ "dev": true,
953
+ "requires": {
954
+ "bytes": "2.4.0",
955
+ "iconv-lite": "0.4.13",
956
+ "unpipe": "1.0.0"
957
+ },
958
+ "dependencies": {
959
+ "bytes": {
960
+ "version": "2.4.0",
961
+ "resolved": "https://registry.npmjs.org/bytes/-/bytes-2.4.0.tgz",
962
+ "integrity": "sha1-fZcZb51br39pNeJZhVSe3SpsIzk=",
963
+ "dev": true
964
+ }
965
+ }
966
  }
967
  }
968
  },
972
  "integrity": "sha1-OciRjO/1eZ+D+UkqhI9iWt0Mdm8=",
973
  "dev": true,
974
  "requires": {
975
+ "hoek": "2.x.x"
976
  }
977
  },
978
  "brace-expansion": {
981
  "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==",
982
  "dev": true,
983
  "requires": {
984
+ "balanced-match": "^1.0.0",
985
  "concat-map": "0.0.1"
986
  }
987
  },
991
  "integrity": "sha1-uneWLhLf+WnWt2cR6RS3N4V79qc=",
992
  "dev": true,
993
  "requires": {
994
+ "expand-range": "^1.8.1",
995
+ "preserve": "^0.2.0",
996
+ "repeat-element": "^1.1.2"
997
  }
998
  },
999
  "browser-sync": {
1000
+ "version": "2.24.2",
1001
+ "resolved": "https://registry.npmjs.org/browser-sync/-/browser-sync-2.24.2.tgz",
1002
+ "integrity": "sha512-yHDPK5Nz6fMv1Q/OwzKIOkGibWDHcuwRTGXcjgQ1OOzKov7Avy+9OA1l5zJUdlzzvCS3ojp1q6fpkuJvxp0ulQ==",
1003
  "dev": true,
1004
  "requires": {
1005
+ "browser-sync-ui": "v1.0.1",
1006
  "bs-recipes": "1.3.4",
1007
  "chokidar": "1.7.0",
1008
  "connect": "3.5.0",
1009
+ "connect-history-api-fallback": "^1.5.0",
1010
+ "dev-ip": "^1.0.1",
1011
  "easy-extender": "2.3.2",
1012
  "eazy-logger": "3.0.2",
1013
+ "etag": "^1.8.1",
1014
+ "fresh": "^0.5.2",
 
1015
  "fs-extra": "3.0.1",
1016
  "http-proxy": "1.15.2",
1017
  "immutable": "3.8.2",
1018
+ "localtunnel": "1.9.0",
1019
  "micromatch": "2.3.11",
1020
  "opn": "4.0.2",
1021
  "portscanner": "2.1.1",
1022
+ "qs": "6.2.3",
1023
+ "raw-body": "^2.3.2",
1024
  "resp-modifier": "6.0.2",
1025
  "rx": "4.1.0",
1026
  "serve-index": "1.8.0",
1027
+ "serve-static": "1.13.2",
1028
  "server-destroy": "1.0.1",
1029
  "socket.io": "2.0.4",
1030
+ "ua-parser-js": "0.7.17",
1031
  "yargs": "6.4.0"
1032
  }
1033
  },
1038
  "dev": true,
1039
  "requires": {
1040
  "async-each-series": "0.1.1",
1041
+ "connect-history-api-fallback": "^1.1.0",
1042
+ "immutable": "^3.7.6",
1043
  "server-destroy": "1.0.1",
1044
  "socket.io-client": "2.0.4",
1045
+ "stream-throttle": "^0.1.3"
1046
  }
1047
  },
1048
  "browserify-zlib": {
1051
  "integrity": "sha1-uzX4pRn2AOD6a4SFJByXnQFB+y0=",
1052
  "dev": true,
1053
  "requires": {
1054
+ "pako": "~0.2.0"
1055
  }
1056
  },
1057
  "browserslist": {
1058
+ "version": "3.2.6",
1059
+ "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-3.2.6.tgz",
1060
+ "integrity": "sha512-XCsMSg9V4S1VRdcp265dJ+8kBRjfuFXcavbisY7G6T9QI0H1Z24PP53vvs0WDYWqm38Mco1ILDtafcS8ZR4xiw==",
1061
  "dev": true,
1062
  "requires": {
1063
+ "caniuse-lite": "^1.0.30000830",
1064
+ "electron-to-chromium": "^1.3.42"
1065
  }
1066
  },
1067
  "bs-recipes": {
1095
  "dev": true
1096
  },
1097
  "bytes": {
1098
+ "version": "3.0.0",
1099
+ "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.0.0.tgz",
1100
+ "integrity": "sha1-0ygVQE1olpn4Wk6k+odV3ROpYEg=",
1101
  "dev": true
1102
  },
1103
  "cache-base": {
1106
  "integrity": "sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==",
1107
  "dev": true,
1108
  "requires": {
1109
+ "collection-visit": "^1.0.0",
1110
+ "component-emitter": "^1.2.1",
1111
+ "get-value": "^2.0.6",
1112
+ "has-value": "^1.0.0",
1113
+ "isobject": "^3.0.1",
1114
+ "set-value": "^2.0.0",
1115
+ "to-object-path": "^0.3.0",
1116
+ "union-value": "^1.0.0",
1117
+ "unset-value": "^1.0.0"
1118
  },
1119
  "dependencies": {
1120
  "isobject": {
1138
  "dev": true
1139
  },
1140
  "camelcase": {
1141
+ "version": "3.0.0",
1142
+ "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-3.0.0.tgz",
1143
+ "integrity": "sha1-MvxLn82vhF/N9+c7uXysImHwqwo=",
1144
  "dev": true
1145
  },
1146
  "camelcase-keys": {
1149
  "integrity": "sha1-MIvur/3ygRkFHvodkyITyRuPkuc=",
1150
  "dev": true,
1151
  "requires": {
1152
+ "camelcase": "^2.0.0",
1153
+ "map-obj": "^1.0.0"
1154
  },
1155
  "dependencies": {
1156
  "camelcase": {
1162
  }
1163
  },
1164
  "caniuse-lite": {
1165
+ "version": "1.0.30000833",
1166
+ "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30000833.tgz",
1167
+ "integrity": "sha512-tKNuKu4WLImh4NxoTgntxFpDrRiA0Q6Q1NycNhuMST0Kx+Pt8YnRDW6V8xsyH6AtO2CpAoibatEk5eaEhP3O1g==",
1168
  "dev": true
1169
  },
1170
  "caseless": {
1185
  "integrity": "sha512-ZM4j2/ld/YZDc3Ma8PgN7gyAk+kHMMMyzLNryCPGhWrsfAuDVeuid5bpRFTDgMH9JBK2lA4dyyAkkZYF/WcqDQ==",
1186
  "dev": true,
1187
  "requires": {
1188
+ "ansi-styles": "^3.2.1",
1189
+ "escape-string-regexp": "^1.0.5",
1190
+ "supports-color": "^5.3.0"
1191
  }
1192
  },
1193
  "character-entities": {
1220
  "integrity": "sha1-eY5ol3gVHIB2tLNg5e3SjNortGg=",
1221
  "dev": true,
1222
  "requires": {
1223
+ <<<<<<< HEAD
1224
  "anymatch": "1.3.2",
1225
  "async-each": "1.0.1",
1226
  "glob-parent": "2.0.0",
1229
  "is-glob": "2.0.1",
1230
  "path-is-absolute": "1.0.1",
1231
  "readdirp": "2.1.0"
1232
+ =======
1233
+ "anymatch": "^1.3.0",
1234
+ "async-each": "^1.0.0",
1235
+ "fsevents": "^1.0.0",
1236
+ "glob-parent": "^2.0.0",
1237
+ "inherits": "^2.0.1",
1238
+ "is-binary-path": "^1.0.0",
1239
+ "is-glob": "^2.0.0",
1240
+ "path-is-absolute": "^1.0.0",
1241
+ "readdirp": "^2.0.0"
1242
+ >>>>>>> 4de3127... Remove - unecessary float and scaling on recaptcha
1243
  }
1244
  },
1245
  "chownr": {
1261
  "integrity": "sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg==",
1262
  "dev": true,
1263
  "requires": {
1264
+ "arr-union": "^3.1.0",
1265
+ "define-property": "^0.2.5",
1266
+ "isobject": "^3.0.0",
1267
+ "static-extend": "^0.1.1"
1268
  },
1269
  "dependencies": {
1270
  "define-property": {
1273
  "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
1274
  "dev": true,
1275
  "requires": {
1276
+ "is-descriptor": "^0.1.0"
1277
  }
1278
  },
1279
  "isobject": {
1290
  "integrity": "sha1-Ls3xRaujj1R0DybO/Q/z4D4SXWo=",
1291
  "dev": true,
1292
  "requires": {
1293
+ "source-map": "0.5.x"
1294
  },
1295
  "dependencies": {
1296
  "source-map": {
1308
  "dev": true,
1309
  "requires": {
1310
  "exit": "0.1.2",
1311
+ "glob": "^7.1.1"
1312
  },
1313
  "dependencies": {
1314
  "glob": {
1317
  "integrity": "sha512-MJTUg1kjuLeQCJ+ccE4Vpa6kKVXkPYJ2mOCQyUuKLcLQsdrMCpBPUi8qVE6+YuaJkozeA9NusTAw3hLr8Xe5EQ==",
1318
  "dev": true,
1319
  "requires": {
1320
+ "fs.realpath": "^1.0.0",
1321
+ "inflight": "^1.0.4",
1322
+ "inherits": "2",
1323
+ "minimatch": "^3.0.4",
1324
+ "once": "^1.3.0",
1325
+ "path-is-absolute": "^1.0.0"
1326
  }
1327
  }
1328
  }
1333
  "integrity": "sha1-EgYBU3qRbSmUD5NNo7SNWFo5IT0=",
1334
  "dev": true,
1335
  "requires": {
1336
+ "string-width": "^1.0.1",
1337
+ "strip-ansi": "^3.0.1",
1338
+ "wrap-ansi": "^2.0.0"
1339
  }
1340
  },
1341
  "clone": {
1356
  "integrity": "sha512-Fcij9IwRW27XedRIJnSOEupS7RVcXtObJXbcUOX93UCLqqOdRpkvzKywOOSizmEK/Is3S/RHX9dLdfo6R1Q1mw==",
1357
  "dev": true,
1358
  "requires": {
1359
+ "is-regexp": "^1.0.0",
1360
+ "is-supported-regexp-flag": "^1.0.0"
1361
  }
1362
  },
1363
  "clone-stats": {
1372
  "integrity": "sha512-Bq6+4t+lbM8vhTs/Bef5c5AdEMtapp/iFb6+s4/Hh9MVTt8OLKH7ZOOZSCT+Ys7hsHvqv0GuMPJ1lnQJVHvxpg==",
1373
  "dev": true,
1374
  "requires": {
1375
+ "inherits": "^2.0.1",
1376
+ "process-nextick-args": "^2.0.0",
1377
+ "readable-stream": "^2.3.5"
1378
  }
1379
  },
1380
  "co": {
1407
  "integrity": "sha1-rqDwb40mx4DCt1SUOFVEsiVa8Yw=",
1408
  "dev": true,
1409
  "requires": {
1410
+ "arr-map": "^2.0.2",
1411
+ "for-own": "^1.0.0",
1412
+ "make-iterator": "^1.0.0"
1413
  },
1414
  "dependencies": {
1415
  "for-own": {
1418
  "integrity": "sha1-xjMy9BXO3EsE2/5wz4NklMU8tEs=",
1419
  "dev": true,
1420
  "requires": {
1421
+ "for-in": "^1.0.1"
1422
  }
1423
  }
1424
  }
1429
  "integrity": "sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA=",
1430
  "dev": true,
1431
  "requires": {
1432
+ "map-visit": "^1.0.0",
1433
+ "object-visit": "^1.0.0"
1434
  }
1435
  },
1436
  "color-convert": {
1439
  "integrity": "sha512-mjGanIiwQJskCC18rPR6OmrZ6fm2Lc7PeGFYwCmy5J34wC6F1PzdGL6xeMfmgicfYcNLGuVFA3WzXtIDCQSZxQ==",
1440
  "dev": true,
1441
  "requires": {
1442
+ "color-name": "^1.1.1"
1443
  }
1444
  },
1445
  "color-name": {
1466
  "integrity": "sha1-cj599ugBrFYTETp+RFqbactjKBg=",
1467
  "dev": true,
1468
  "requires": {
1469
+ "delayed-stream": "~1.0.0"
1470
  }
1471
  },
1472
  "commander": {
1499
  "integrity": "sha1-UkqfEJA/OoEzibAiXSfEi7dRiQ8=",
1500
  "dev": true,
1501
  "requires": {
1502
+ "buffer-crc32": "^0.2.1",
1503
+ "crc32-stream": "^2.0.0",
1504
+ "normalize-path": "^2.0.0",
1505
+ "readable-stream": "^2.0.0"
1506
  }
1507
  },
1508
  "concat-map": {
1517
  "integrity": "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==",
1518
  "dev": true,
1519
  "requires": {
1520
+ "buffer-from": "^1.0.0",
1521
+ "inherits": "^2.0.3",
1522
+ "readable-stream": "^2.2.2",
1523
+ "typedarray": "^0.0.6"
1524
  }
1525
  },
1526
  "connect": {
1529
  "integrity": "sha1-s1dSWgtMH1BZnNmD4dnv7qlncZg=",
1530
  "dev": true,
1531
  "requires": {
1532
+ "debug": "~2.2.0",
1533
  "finalhandler": "0.5.0",
1534
+ "parseurl": "~1.3.1",
1535
  "utils-merge": "1.0.0"
1536
  },
1537
  "dependencies": {
1564
  "integrity": "sha1-8CQcRXMKn8YyOyBtvzjtx0HQuxA=",
1565
  "dev": true,
1566
  "requires": {
1567
+ "date-now": "^0.1.4"
1568
  }
1569
  },
1570
  "console-control-strings": {
1603
  "integrity": "sha1-Zl/DIEbKhKiYq6o8WUXn8kjMugA=",
1604
  "dev": true,
1605
  "requires": {
1606
+ "each-props": "^1.3.0",
1607
+ "is-plain-object": "^2.0.1"
1608
  }
1609
  },
1610
  "core-util-is": {
1619
  "integrity": "sha512-6e5vDdrXZD+t5v0L8CrurPeybg4Fmf+FCSYxXKYVAqLUtyCSbuyqE059d0kDthTNRzKVjL7QMgNpEUlsoYH3iQ==",
1620
  "dev": true,
1621
  "requires": {
1622
+ "is-directory": "^0.3.1",
1623
+ "js-yaml": "^3.9.0",
1624
+ "parse-json": "^4.0.0",
1625
+ "require-from-string": "^2.0.1"
1626
  },
1627
  "dependencies": {
1628
  "esprima": {
1637
  "integrity": "sha512-saJstZWv7oNeOyBh3+Dx1qWzhW0+e6/8eDzo7p5rDFqxntSztloLtuKu+Ejhtq82jsilwOIZYsCz+lIjthg1Hw==",
1638
  "dev": true,
1639
  "requires": {
1640
+ "argparse": "^1.0.7",
1641
+ "esprima": "^4.0.0"
1642
  }
1643
  },
1644
  "parse-json": {
1647
  "integrity": "sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA=",
1648
  "dev": true,
1649
  "requires": {
1650
+ "error-ex": "^1.3.1",
1651
+ "json-parse-better-errors": "^1.0.1"
1652
  }
1653
  }
1654
  }
1665
  "integrity": "sha1-483TtN8xaN10494/u8t7KX/pCPQ=",
1666
  "dev": true,
1667
  "requires": {
1668
+ "crc": "^3.4.4",
1669
+ "readable-stream": "^2.0.0"
1670
  }
1671
  },
1672
  "cross-spawn": {
1675
  "integrity": "sha1-ElYDfsufDF9549bvE14wdwGEuYI=",
1676
  "dev": true,
1677
  "requires": {
1678
+ "lru-cache": "^4.0.1",
1679
+ "which": "^1.2.9"
1680
  }
1681
  },
1682
  "cryptiles": {
1685
  "integrity": "sha1-O9/s3GCBR8HGcgL6KR59ylnqo7g=",
1686
  "dev": true,
1687
  "requires": {
1688
+ "boom": "2.x.x"
1689
  }
1690
  },
1691
  "currently-unhandled": {
1694
  "integrity": "sha1-mI3zP+qxke95mmE2nddsF635V+o=",
1695
  "dev": true,
1696
  "requires": {
1697
+ "array-find-index": "^1.0.1"
1698
  }
1699
  },
1700
  "d": {
1703
  "integrity": "sha1-dUu1v+VUUdpppYuU1F9MWwRi1Y8=",
1704
  "dev": true,
1705
  "requires": {
1706
+ "es5-ext": "^0.10.9"
1707
  }
1708
  },
1709
  "dashdash": {
1712
  "integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=",
1713
  "dev": true,
1714
  "requires": {
1715
+ "assert-plus": "^1.0.0"
1716
  },
1717
  "dependencies": {
1718
  "assert-plus": {
1735
  "integrity": "sha1-nxJLZ1lMk3/3BpMuSmQsyo27/uk=",
1736
  "dev": true,
1737
  "requires": {
1738
+ "get-stdin": "^4.0.1",
1739
+ "meow": "^3.3.0"
1740
  }
1741
  },
1742
  "debug": {
1760
  "integrity": "sha1-0XGoeTMlKAfrPLYdwcFEXQeN8tk=",
1761
  "dev": true,
1762
  "requires": {
1763
+ "decamelize": "^1.1.0",
1764
+ "map-obj": "^1.0.0"
1765
  }
1766
  },
1767
  "decode-uri-component": {
1777
  "dev": true,
1778
  "optional": true,
1779
  "requires": {
1780
+ "mimic-response": "^1.0.0"
1781
  }
1782
  },
1783
  "deep-extend": {
1793
  "integrity": "sha512-QWfXlM0EkAbqOCbD/6HjdwT19j7WCkMyiRhWilc4H9/5h/RzTF9gv5LYh1+CmDV5d1rki6KAWLtQale0xt20eQ==",
1794
  "dev": true,
1795
  "requires": {
1796
+ "kind-of": "^5.0.2"
1797
  },
1798
  "dependencies": {
1799
  "kind-of": {
1816
  "integrity": "sha1-g6c/L+pWmJj7c3GTyPhzyvbUXJQ=",
1817
  "dev": true,
1818
  "requires": {
1819
+ "foreach": "^2.0.5",
1820
+ "object-keys": "^1.0.8"
1821
  }
1822
  },
1823
  "define-property": {
1826
  "integrity": "sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==",
1827
  "dev": true,
1828
  "requires": {
1829
+ "is-descriptor": "^1.0.2",
1830
+ "isobject": "^3.0.1"
1831
  },
1832
  "dependencies": {
1833
  "is-accessor-descriptor": {
1836
  "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==",
1837
  "dev": true,
1838
  "requires": {
1839
+ "kind-of": "^6.0.0"
1840
  }
1841
  },
1842
  "is-data-descriptor": {
1845
  "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==",
1846
  "dev": true,
1847
  "requires": {
1848
+ "kind-of": "^6.0.0"
1849
  }
1850
  },
1851
  "is-descriptor": {
1854
  "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==",
1855
  "dev": true,
1856
  "requires": {
1857
+ "is-accessor-descriptor": "^1.0.0",
1858
+ "is-data-descriptor": "^1.0.0",
1859
+ "kind-of": "^6.0.2"
1860
  }
1861
  },
1862
  "isobject": {
1879
  "integrity": "sha1-wSyYHQZ4RshLyvhiz/kw2Qf/0ag=",
1880
  "dev": true,
1881
  "requires": {
1882
+ "globby": "^5.0.0",
1883
+ "is-path-cwd": "^1.0.0",
1884
+ "is-path-in-cwd": "^1.0.0",
1885
+ "object-assign": "^4.0.1",
1886
+ "pify": "^2.0.0",
1887
+ "pinkie-promise": "^2.0.0",
1888
+ "rimraf": "^2.2.8"
1889
  },
1890
  "dependencies": {
1891
  "globby": {
1894
  "integrity": "sha1-69hGZ8oNuzMLmbz8aOrCvFQ3Dg0=",
1895
  "dev": true,
1896
  "requires": {
1897
+ "array-union": "^1.0.1",
1898
+ "arrify": "^1.0.0",
1899
+ "glob": "^7.0.3",
1900
+ "object-assign": "^4.0.1",
1901
+ "pify": "^2.0.0",
1902
+ "pinkie-promise": "^2.0.0"
1903
  }
1904
  }
1905
  }
1917
  "dev": true
1918
  },
1919
  "depd": {
1920
+ "version": "1.1.1",
1921
+ "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.1.tgz",
1922
+ "integrity": "sha1-V4O04cRZ8G+lyif5kfPQbnoxA1k=",
1923
  "dev": true
1924
  },
1925
  "destroy": {
1959
  "integrity": "sha512-37qirFDz8cA5fimp9feo43fSuRo2gHwaIn6dXL8Ber1dGwUosDrGZeCCXq57WnIqE4aQ+u3eQZzsk1yOzhdwag==",
1960
  "dev": true,
1961
  "requires": {
1962
+ "arrify": "^1.0.1",
1963
+ "path-type": "^3.0.0"
1964
  },
1965
  "dependencies": {
1966
  "path-type": {
1969
  "integrity": "sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg==",
1970
  "dev": true,
1971
  "requires": {
1972
+ "pify": "^3.0.0"
1973
  }
1974
  },
1975
  "pify": {
1986
  "integrity": "sha1-BzxpdUbOB4DOI75KKOKT5AvDDII=",
1987
  "dev": true,
1988
  "requires": {
1989
+ "domelementtype": "~1.1.1",
1990
+ "entities": "~1.1.1"
1991
  },
1992
  "dependencies": {
1993
  "domelementtype": {
2016
  "integrity": "sha1-LeWaCCLVAn+r/28DLCsloqir5zg=",
2017
  "dev": true,
2018
  "requires": {
2019
+ "domelementtype": "1"
2020
  }
2021
  },
2022
  "domutils": {
2025
  "integrity": "sha1-3NhIiib1Y9YQeeSMn3t+Mjc2gs8=",
2026
  "dev": true,
2027
  "requires": {
2028
+ "dom-serializer": "0",
2029
+ "domelementtype": "1"
2030
  }
2031
  },
2032
  "dot-prop": {
2035
  "integrity": "sha512-tUMXrxlExSW6U2EXiiKGSBVdYgtV8qlHL+C10TsW4PURY/ic+eaysnSkwB4kA/mBlCyy/IKDJ+Lc3wbWeaXtuQ==",
2036
  "dev": true,
2037
  "requires": {
2038
+ "is-obj": "^1.0.0"
2039
  }
2040
  },
2041
  "duplexer": {
2050
  "integrity": "sha512-JzYSLYMhoVVBe8+mbHQ4KgpvHpm0DZpJuL8PY93Vyv1fW7jYJ90LoXa1di/CVbJM+TgMs91rbDapE/RNIfnJsA==",
2051
  "dev": true,
2052
  "requires": {
2053
+ "end-of-stream": "^1.0.0",
2054
+ "inherits": "^2.0.1",
2055
+ "readable-stream": "^2.0.0",
2056
+ "stream-shift": "^1.0.0"
2057
  }
2058
  },
2059
  "each-async": {
2062
  "integrity": "sha1-3uUim98KtrogEqOV4bhpq/iBNHM=",
2063
  "dev": true,
2064
  "requires": {
2065
+ "onetime": "^1.0.0",
2066
+ "set-immediate-shim": "^1.0.0"
2067
  }
2068
  },
2069
  "each-props": {
2072
  "integrity": "sha1-/BOPUeOid0KG1IWOAtbn3kYt4Vg=",
2073
  "dev": true,
2074
  "requires": {
2075
+ "is-plain-object": "^2.0.1",
2076
+ "object.defaults": "^1.1.0"
2077
  }
2078
  },
2079
  "easy-extender": {
2082
  "integrity": "sha1-PTJI/r4rFZYHMW2PnPSRwWZIIh0=",
2083
  "dev": true,
2084
  "requires": {
2085
+ "lodash": "^3.10.1"
2086
  }
2087
  },
2088
  "eazy-logger": {
2091
  "integrity": "sha1-oyWqXlPROiIliJsqxBE7K5Y29Pw=",
2092
  "dev": true,
2093
  "requires": {
2094
+ "tfunk": "^3.0.1"
2095
  }
2096
  },
2097
  "ecc-jsbn": {
2101
  "dev": true,
2102
  "optional": true,
2103
  "requires": {
2104
+ "jsbn": "~0.1.0"
2105
  }
2106
  },
2107
  "ee-first": {
2111
  "dev": true
2112
  },
2113
  "electron-to-chromium": {
2114
+ "version": "1.3.45",
2115
+ "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.45.tgz",
2116
+ "integrity": "sha1-RYrBscXHYM6IEaFtK/vZfsMLr7g=",
 
 
 
 
 
 
2117
  "dev": true
2118
  },
2119
  "encodeurl": {
2128
  "integrity": "sha1-U4tm8+5izRq1HsMjgp0flIDHS+s=",
2129
  "dev": true,
2130
  "requires": {
2131
+ "iconv-lite": "~0.4.13"
2132
  }
2133
  },
2134
  "end-of-stream": {
2137
  "integrity": "sha512-1MkrZNvWTKCaigbn+W15elq2BB/L22nqrSY5DKlo3X6+vclJm8Bb5djXJBmEX6fS3+zCh/F4VBK5Z2KxJt4s2Q==",
2138
  "dev": true,
2139
  "requires": {
2140
+ "once": "^1.4.0"
2141
  }
2142
  },
2143
  "engine.io": {
2146
  "integrity": "sha512-D06ivJkYxyRrcEe0bTpNnBQNgP9d3xog+qZlLbui8EsMr/DouQpf5o9FzJnWYHEYE0YsFHllUv2R1dkgYZXHcA==",
2147
  "dev": true,
2148
  "requires": {
2149
+ "accepts": "~1.3.4",
2150
  "base64id": "1.0.0",
2151
  "cookie": "0.3.1",
2152
+ "debug": "~3.1.0",
2153
+ "engine.io-parser": "~2.1.0",
2154
+ "uws": "~9.14.0",
2155
+ "ws": "~3.3.1"
2156
  },
2157
  "dependencies": {
2158
  "debug": {
2174
  "requires": {
2175
  "component-emitter": "1.2.1",
2176
  "component-inherit": "0.0.3",
2177
+ "debug": "~3.1.0",
2178
+ "engine.io-parser": "~2.1.1",
2179
  "has-cors": "1.1.0",
2180
  "indexof": "0.0.1",
2181
  "parseqs": "0.0.5",
2182
  "parseuri": "0.0.5",
2183
+ "ws": "~3.3.1",
2184
+ "xmlhttprequest-ssl": "~1.5.4",
2185
  "yeast": "0.1.2"
2186
  },
2187
  "dependencies": {
2203
  "dev": true,
2204
  "requires": {
2205
  "after": "0.8.2",
2206
+ "arraybuffer.slice": "~0.0.7",
2207
  "base64-arraybuffer": "0.1.5",
2208
  "blob": "0.0.4",
2209
+ "has-binary2": "~1.0.2"
2210
  }
2211
  },
2212
  "entities": {
2221
  "integrity": "sha1-+FWobOYa3E6GIcPNoh56dhLDqNw=",
2222
  "dev": true,
2223
  "requires": {
2224
+ "is-arrayish": "^0.2.1"
2225
  }
2226
  },
2227
  "es5-ext": {
2230
  "integrity": "sha512-AJxO1rmPe1bDEfSR6TJ/FgMFYuTBhR5R57KW58iCkYACMyFbrkqVyzXSurYoScDGvgyMpk7uRF/lPUPPTmsRSA==",
2231
  "dev": true,
2232
  "requires": {
2233
+ "es6-iterator": "~2.0.3",
2234
+ "es6-symbol": "~3.1.1",
2235
+ "next-tick": "1"
2236
  }
2237
  },
2238
  "es6-iterator": {
2241
  "integrity": "sha1-p96IkUGgWpSwhUQDstCg+/qY87c=",
2242
  "dev": true,
2243
  "requires": {
2244
+ "d": "1",
2245
+ "es5-ext": "^0.10.35",
2246
+ "es6-symbol": "^3.1.1"
2247
  }
2248
  },
2249
  "es6-symbol": {
2252
  "integrity": "sha1-vwDvT9q2uhtG7Le2KbTH7VcVzHc=",
2253
  "dev": true,
2254
  "requires": {
2255
+ "d": "1",
2256
+ "es5-ext": "~0.10.14"
2257
  }
2258
  },
2259
  "es6-weak-map": {
2262
  "integrity": "sha1-XjqzIlH/0VOKH45f+hNXdy+S2W8=",
2263
  "dev": true,
2264
  "requires": {
2265
+ "d": "1",
2266
+ "es5-ext": "^0.10.14",
2267
+ "es6-iterator": "^2.0.1",
2268
+ "es6-symbol": "^3.1.1"
2269
  }
2270
  },
2271
  "escape-html": {
2316
  "integrity": "sha1-c9CQTjlbPKsGWLCNCewlMH8pu3M=",
2317
  "dev": true,
2318
  "requires": {
2319
+ "clone-regexp": "^1.0.0"
2320
  }
2321
  },
2322
  "exit": {
2331
  "integrity": "sha1-3wcoTjQqgHzXM6xa9yQR5YHRF3s=",
2332
  "dev": true,
2333
  "requires": {
2334
+ "is-posix-bracket": "^0.1.0"
2335
  }
2336
  },
2337
  "expand-range": {
2340
  "integrity": "sha1-opnv/TNf4nIeuujiV+x5ZE/IUzc=",
2341
  "dev": true,
2342
  "requires": {
2343
+ "fill-range": "^2.1.0"
2344
  }
2345
  },
2346
  "expand-template": {
2356
  "integrity": "sha1-l+gBqgUt8CRU3kawK/YhZCzchQI=",
2357
  "dev": true,
2358
  "requires": {
2359
+ "homedir-polyfill": "^1.0.1"
2360
  }
2361
  },
2362
  "extend": {
2371
  "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=",
2372
  "dev": true,
2373
  "requires": {
2374
+ "assign-symbols": "^1.0.0",
2375
+ "is-extendable": "^1.0.1"
2376
  },
2377
  "dependencies": {
2378
  "is-extendable": {
2381
  "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==",
2382
  "dev": true,
2383
  "requires": {
2384
+ "is-plain-object": "^2.0.4"
2385
  }
2386
  }
2387
  }
2392
  "integrity": "sha1-Lhj/PS9JqydlzskCPwEdqo2DSaE=",
2393
  "dev": true,
2394
  "requires": {
2395
+ "is-extglob": "^1.0.0"
2396
  }
2397
  },
2398
  "extsprintf": {
2407
  "integrity": "sha1-9BEl49hPLn2JpD0G2VjI94vha+E=",
2408
  "dev": true,
2409
  "requires": {
2410
+ "ansi-gray": "^0.1.1",
2411
+ "color-support": "^1.1.3",
2412
+ "time-stamp": "^1.0.0"
2413
  }
2414
  },
2415
  "fast-deep-equal": {
2424
  "integrity": "sha512-4F75PTznkNtSKs2pbhtBwRkw8sRwa7LfXx5XaQJOe4IQ6yTjceLDTwM5gj1s80R2t/5WeDC1gVfm3jLE+l39Tw==",
2425
  "dev": true,
2426
  "requires": {
2427
+ "@mrmlnc/readdir-enhanced": "^2.2.1",
2428
+ "glob-parent": "^3.1.0",
2429
+ "is-glob": "^4.0.0",
2430
+ "merge2": "^1.2.1",
2431
+ "micromatch": "^3.1.8"
2432
  },
2433
  "dependencies": {
2434
  "arr-diff": {
2449
  "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==",
2450
  "dev": true,
2451
  "requires": {
2452
+ "arr-flatten": "^1.1.0",
2453
+ "array-unique": "^0.3.2",
2454
+ "extend-shallow": "^2.0.1",
2455
+ "fill-range": "^4.0.0",
2456
+ "isobject": "^3.0.1",
2457
+ "repeat-element": "^1.1.2",
2458
+ "snapdragon": "^0.8.1",
2459
+ "snapdragon-node": "^2.0.1",
2460
+ "split-string": "^3.0.2",
2461
+ "to-regex": "^3.0.1"
2462
  },
2463
  "dependencies": {
2464
  "extend-shallow": {
2467
  "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
2468
  "dev": true,
2469
  "requires": {
2470
+ "is-extendable": "^0.1.0"
2471
  }
2472
  }
2473
  }
2478
  "integrity": "sha1-t3c14xXOMPa27/D4OwQVGiJEliI=",
2479
  "dev": true,
2480
  "requires": {
2481
+ "debug": "^2.3.3",
2482
+ "define-property": "^0.2.5",
2483
+ "extend-shallow": "^2.0.1",
2484
+ "posix-character-classes": "^0.1.0",
2485
+ "regex-not": "^1.0.0",
2486
+ "snapdragon": "^0.8.1",
2487
+ "to-regex": "^3.0.1"
2488
  },
2489
  "dependencies": {
2490
  "define-property": {
2493
  "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
2494
  "dev": true,
2495
  "requires": {
2496
+ "is-descriptor": "^0.1.0"
2497
  }
2498
  },
2499
  "extend-shallow": {
2502
  "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
2503
  "dev": true,
2504
  "requires": {
2505
+ "is-extendable": "^0.1.0"
2506
  }
2507
  },
2508
  "is-accessor-descriptor": {
2511
  "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=",
2512
  "dev": true,
2513
  "requires": {
2514
+ "kind-of": "^3.0.2"
2515
  },
2516
  "dependencies": {
2517
  "kind-of": {
2520
  "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
2521
  "dev": true,
2522
  "requires": {
2523
+ "is-buffer": "^1.1.5"
2524
  }
2525
  }
2526
  }
2531
  "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=",
2532
  "dev": true,
2533
  "requires": {
2534
+ "kind-of": "^3.0.2"
2535
  },
2536
  "dependencies": {
2537
  "kind-of": {
2540
  "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
2541
  "dev": true,
2542
  "requires": {
2543
+ "is-buffer": "^1.1.5"
2544
  }
2545
  }
2546
  }
2551
  "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==",
2552
  "dev": true,
2553
  "requires": {
2554
+ "is-accessor-descriptor": "^0.1.6",
2555
+ "is-data-descriptor": "^0.1.4",
2556
+ "kind-of": "^5.0.0"
2557
  }
2558
  },
2559
  "kind-of": {
2570
  "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==",
2571
  "dev": true,
2572
  "requires": {
2573
+ "array-unique": "^0.3.2",
2574
+ "define-property": "^1.0.0",
2575
+ "expand-brackets": "^2.1.4",
2576
+ "extend-shallow": "^2.0.1",
2577
+ "fragment-cache": "^0.2.1",
2578
+ "regex-not": "^1.0.0",
2579
+ "snapdragon": "^0.8.1",
2580
+ "to-regex": "^3.0.1"
2581
  },
2582
  "dependencies": {
2583
  "define-property": {
2586
  "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=",
2587
  "dev": true,
2588
  "requires": {
2589
+ "is-descriptor": "^1.0.0"
2590
  }
2591
  },
2592
  "extend-shallow": {
2595
  "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
2596
  "dev": true,
2597
  "requires": {
2598
+ "is-extendable": "^0.1.0"
2599
  }
2600
  }
2601
  }
2606
  "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=",
2607
  "dev": true,
2608
  "requires": {
2609
+ "extend-shallow": "^2.0.1",
2610
+ "is-number": "^3.0.0",
2611
+ "repeat-string": "^1.6.1",
2612
+ "to-regex-range": "^2.1.0"
2613
  },
2614
  "dependencies": {
2615
  "extend-shallow": {
2618
  "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
2619
  "dev": true,
2620
  "requires": {
2621
+ "is-extendable": "^0.1.0"
2622
  }
2623
  }
2624
  }
2629
  "integrity": "sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4=",
2630
  "dev": true,
2631
  "requires": {
2632
+ "is-glob": "^3.1.0",
2633
+ "path-dirname": "^1.0.0"
2634
  },
2635
  "dependencies": {
2636
  "is-glob": {
2639
  "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=",
2640
  "dev": true,
2641
  "requires": {
2642
+ "is-extglob": "^2.1.0"
2643
  }
2644
  }
2645
  }
2650
  "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==",
2651
  "dev": true,
2652
  "requires": {
2653
+ "kind-of": "^6.0.0"
2654
  }
2655
  },
2656
  "is-data-descriptor": {
2659
  "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==",
2660
  "dev": true,
2661
  "requires": {
2662
+ "kind-of": "^6.0.0"
2663
  }
2664
  },
2665
  "is-descriptor": {
2668
  "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==",
2669
  "dev": true,
2670
  "requires": {
2671
+ "is-accessor-descriptor": "^1.0.0",
2672
+ "is-data-descriptor": "^1.0.0",
2673
+ "kind-of": "^6.0.2"
2674
  }
2675
  },
2676
  "is-extglob": {
2685
  "integrity": "sha1-lSHHaEXMJhCoUgPd8ICpWML/q8A=",
2686
  "dev": true,
2687
  "requires": {
2688
+ "is-extglob": "^2.1.1"
2689
  }
2690
  },
2691
  "is-number": {
2694
  "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=",
2695
  "dev": true,
2696
  "requires": {
2697
+ "kind-of": "^3.0.2"
2698
  },
2699
  "dependencies": {
2700
  "kind-of": {
2703
  "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
2704
  "dev": true,
2705
  "requires": {
2706
+ "is-buffer": "^1.1.5"
2707
  }
2708
  }
2709
  }
2726
  "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==",
2727
  "dev": true,
2728
  "requires": {
2729
+ "arr-diff": "^4.0.0",
2730
+ "array-unique": "^0.3.2",
2731
+ "braces": "^2.3.1",
2732
+ "define-property": "^2.0.2",
2733
+ "extend-shallow": "^3.0.2",
2734
+ "extglob": "^2.0.4",
2735
+ "fragment-cache": "^0.2.1",
2736
+ "kind-of": "^6.0.2",
2737
+ "nanomatch": "^1.2.9",
2738
+ "object.pick": "^1.3.0",
2739
+ "regex-not": "^1.0.0",
2740
+ "snapdragon": "^0.8.1",
2741
+ "to-regex": "^3.0.2"
2742
  }
2743
  }
2744
  }
2755
  "integrity": "sha1-TkkvjQTftviQA1B/btvy1QHnxvQ=",
2756
  "dev": true,
2757
  "requires": {
2758
+ "websocket-driver": ">=0.5.1"
2759
  }
2760
  },
2761
  "figures": {
2764
  "integrity": "sha1-y+Hjr/zxzUS4DK3+0o3Hk6lwHS4=",
2765
  "dev": true,
2766
  "requires": {
2767
+ "escape-string-regexp": "^1.0.5",
2768
+ "object-assign": "^4.1.0"
2769
  }
2770
  },
2771
  "file-entry-cache": {
2774
  "integrity": "sha1-w5KZDD5oR4PYOLjISkXYoEhFg2E=",
2775
  "dev": true,
2776
  "requires": {
2777
+ "flat-cache": "^1.2.1",
2778
+ "object-assign": "^4.0.1"
2779
  }
2780
  },
2781
  "filename-regex": {
2790
  "integrity": "sha1-ULd9/X5Gm8dJJHCWNpn+eoSFpyM=",
2791
  "dev": true,
2792
  "requires": {
2793
+ "is-number": "^2.1.0",
2794
+ "isobject": "^2.0.0",
2795
+ "randomatic": "^1.1.3",
2796
+ "repeat-element": "^1.1.2",
2797
+ "repeat-string": "^1.5.2"
2798
  }
2799
  },
2800
  "finalhandler": {
2803
  "integrity": "sha1-6VCKvs6bbbqHGmlCodeRG5GRGsc=",
2804
  "dev": true,
2805
  "requires": {
2806
+ "debug": "~2.2.0",
2807
+ "escape-html": "~1.0.3",
2808
+ "on-finished": "~2.3.0",
2809
+ "statuses": "~1.3.0",
2810
+ "unpipe": "~1.0.0"
2811
  },
2812
  "dependencies": {
2813
  "debug": {
2833
  "integrity": "sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8=",
2834
  "dev": true,
2835
  "requires": {
2836
+ "path-exists": "^2.0.0",
2837
+ "pinkie-promise": "^2.0.0"
2838
  }
2839
  },
2840
  "findup": {
2843
  "integrity": "sha1-itkpozk7rGJ5V6fl3kYjsGsOLOs=",
2844
  "dev": true,
2845
  "requires": {
2846
+ "colors": "~0.6.0-1",
2847
+ "commander": "~2.1.0"
2848
  },
2849
  "dependencies": {
2850
  "colors": {
2867
  "integrity": "sha1-N5MKpdgWt3fANEXhlmzGeQpMCxY=",
2868
  "dev": true,
2869
  "requires": {
2870
+ "glob": "~5.0.0"
2871
  },
2872
  "dependencies": {
2873
  "glob": {
2876
  "integrity": "sha1-G8k2ueAvSmA/zCIuz3Yz0wuLk7E=",
2877
  "dev": true,
2878
  "requires": {
2879
+ "inflight": "^1.0.4",
2880
+ "inherits": "2",
2881
+ "minimatch": "2 || 3",
2882
+ "once": "^1.3.0",
2883
+ "path-is-absolute": "^1.0.0"
2884
  }
2885
  }
2886
  }
2891
  "integrity": "sha1-s33IRLdqL15wgeiE98CuNE8VNHY=",
2892
  "dev": true,
2893
  "requires": {
2894
+ "expand-tilde": "^2.0.2",
2895
+ "is-plain-object": "^2.0.3",
2896
+ "object.defaults": "^1.1.0",
2897
+ "object.pick": "^1.2.0",
2898
+ "parse-filepath": "^1.0.1"
2899
  }
2900
  },
2901
  "flagged-respawn": {
2910
  "integrity": "sha1-0wMLMrOBVPTjt+nHCfSQ9++XxIE=",
2911
  "dev": true,
2912
  "requires": {
2913
+ "circular-json": "^0.3.1",
2914
+ "del": "^2.0.2",
2915
+ "graceful-fs": "^4.1.2",
2916
+ "write": "^0.2.1"
2917
  }
2918
  },
2919
  "flush-write-stream": {
2922
  "integrity": "sha512-calZMC10u0FMUqoiunI2AiGIIUtUIvifNwkHhNupZH4cbNnW1Itkoh/Nf5HFYmDrwWPjrUxpkZT0KhuCq0jmGw==",
2923
  "dev": true,
2924
  "requires": {
2925
+ "inherits": "^2.0.1",
2926
+ "readable-stream": "^2.0.4"
2927
+ }
2928
+ },
2929
+ "follow-redirects": {
2930
+ "version": "1.4.1",
2931
+ "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.4.1.tgz",
2932
+ "integrity": "sha512-uxYePVPogtya1ktGnAAXOacnbIuRMB4dkvqeNz2qTtTQsuzSfbDolV+wMMKxAmCx0bLgAKLbBOkjItMbbkR1vg==",
2933
+ "dev": true,
2934
+ "requires": {
2935
+ "debug": "^3.1.0"
2936
+ },
2937
+ "dependencies": {
2938
+ "debug": {
2939
+ "version": "3.1.0",
2940
+ "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz",
2941
+ "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==",
2942
+ "dev": true,
2943
+ "requires": {
2944
+ "ms": "2.0.0"
2945
+ }
2946
+ }
2947
  }
2948
  },
2949
  "for-in": {
2958
  "integrity": "sha1-UmXGgaTylNq78XyVCbZ2OqhFEM4=",
2959
  "dev": true,
2960
  "requires": {
2961
+ "for-in": "^1.0.1"
2962
  }
2963
  },
2964
  "foreach": {
2979
  "integrity": "sha1-M8GDrPGTJ27KqYFDpp6Uv+4XUNE=",
2980
  "dev": true,
2981
  "requires": {
2982
+ "asynckit": "^0.4.0",
2983
+ "combined-stream": "^1.0.5",
2984
+ "mime-types": "^2.1.12"
2985
  }
2986
  },
2987
  "fragment-cache": {
2990
  "integrity": "sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk=",
2991
  "dev": true,
2992
  "requires": {
2993
+ "map-cache": "^0.2.2"
2994
  }
2995
  },
2996
  "fresh": {
3005
  "integrity": "sha1-N5TzeMWLNC6n27sjCVEJxLO2IpE=",
3006
  "dev": true,
3007
  "requires": {
3008
+ "graceful-fs": "^4.1.2",
3009
+ "jsonfile": "^3.0.0",
3010
+ "universalify": "^0.1.0"
3011
  }
3012
  },
3013
  "fs-mkdirp-stream": {
3016
  "integrity": "sha1-C3gV/DIBxqaeFNuYzgmMFpNSWes=",
3017
  "dev": true,
3018
  "requires": {
3019
+ "graceful-fs": "^4.1.11",
3020
+ "through2": "^2.0.3"
3021
  }
3022
  },
3023
  "fs.realpath": {
3026
  "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=",
3027
  "dev": true
3028
  },
3029
+ <<<<<<< HEAD
3030
+ =======
3031
+ "fsevents": {
3032
+ "version": "1.2.2",
3033
+ "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.2.2.tgz",
3034
+ "integrity": "sha512-iownA+hC4uHFp+7gwP/y5SzaiUo7m2vpa0dhpzw8YuKtiZsz7cIXsFbXpLEeBM6WuCQyw1MH4RRe6XI8GFUctQ==",
3035
+ "dev": true,
3036
+ "optional": true,
3037
+ "requires": {
3038
+ "nan": "^2.9.2",
3039
+ "node-pre-gyp": "^0.9.0"
3040
+ },
3041
+ "dependencies": {
3042
+ "abbrev": {
3043
+ "version": "1.1.1",
3044
+ "bundled": true,
3045
+ "dev": true,
3046
+ "optional": true
3047
+ },
3048
+ "ansi-regex": {
3049
+ "version": "2.1.1",
3050
+ "bundled": true,
3051
+ "dev": true
3052
+ },
3053
+ "aproba": {
3054
+ "version": "1.2.0",
3055
+ "bundled": true,
3056
+ "dev": true,
3057
+ "optional": true
3058
+ },
3059
+ "are-we-there-yet": {
3060
+ "version": "1.1.4",
3061
+ "bundled": true,
3062
+ "dev": true,
3063
+ "optional": true,
3064
+ "requires": {
3065
+ "delegates": "^1.0.0",
3066
+ "readable-stream": "^2.0.6"
3067
+ }
3068
+ },
3069
+ "balanced-match": {
3070
+ "version": "1.0.0",
3071
+ "bundled": true,
3072
+ "dev": true
3073
+ },
3074
+ "brace-expansion": {
3075
+ "version": "1.1.11",
3076
+ "bundled": true,
3077
+ "dev": true,
3078
+ "requires": {
3079
+ "balanced-match": "^1.0.0",
3080
+ "concat-map": "0.0.1"
3081
+ }
3082
+ },
3083
+ "chownr": {
3084
+ "version": "1.0.1",
3085
+ "bundled": true,
3086
+ "dev": true,
3087
+ "optional": true
3088
+ },
3089
+ "code-point-at": {
3090
+ "version": "1.1.0",
3091
+ "bundled": true,
3092
+ "dev": true
3093
+ },
3094
+ "concat-map": {
3095
+ "version": "0.0.1",
3096
+ "bundled": true,
3097
+ "dev": true
3098
+ },
3099
+ "console-control-strings": {
3100
+ "version": "1.1.0",
3101
+ "bundled": true,
3102
+ "dev": true
3103
+ },
3104
+ "core-util-is": {
3105
+ "version": "1.0.2",
3106
+ "bundled": true,
3107
+ "dev": true,
3108
+ "optional": true
3109
+ },
3110
+ "debug": {
3111
+ "version": "2.6.9",
3112
+ "bundled": true,
3113
+ "dev": true,
3114
+ "optional": true,
3115
+ "requires": {
3116
+ "ms": "2.0.0"
3117
+ }
3118
+ },
3119
+ "deep-extend": {
3120
+ "version": "0.4.2",
3121
+ "bundled": true,
3122
+ "dev": true,
3123
+ "optional": true
3124
+ },
3125
+ "delegates": {
3126
+ "version": "1.0.0",
3127
+ "bundled": true,
3128
+ "dev": true,
3129
+ "optional": true
3130
+ },
3131
+ "detect-libc": {
3132
+ "version": "1.0.3",
3133
+ "bundled": true,
3134
+ "dev": true,
3135
+ "optional": true
3136
+ },
3137
+ "fs-minipass": {
3138
+ "version": "1.2.5",
3139
+ "bundled": true,
3140
+ "dev": true,
3141
+ "optional": true,
3142
+ "requires": {
3143
+ "minipass": "^2.2.1"
3144
+ }
3145
+ },
3146
+ "fs.realpath": {
3147
+ "version": "1.0.0",
3148
+ "bundled": true,
3149
+ "dev": true,
3150
+ "optional": true
3151
+ },
3152
+ "gauge": {
3153
+ "version": "2.7.4",
3154
+ "bundled": true,
3155
+ "dev": true,
3156
+ "optional": true,
3157
+ "requires": {
3158
+ "aproba": "^1.0.3",
3159
+ "console-control-strings": "^1.0.0",
3160
+ "has-unicode": "^2.0.0",
3161
+ "object-assign": "^4.1.0",
3162
+ "signal-exit": "^3.0.0",
3163
+ "string-width": "^1.0.1",
3164
+ "strip-ansi": "^3.0.1",
3165
+ "wide-align": "^1.1.0"
3166
+ }
3167
+ },
3168
+ "glob": {
3169
+ "version": "7.1.2",
3170
+ "bundled": true,
3171
+ "dev": true,
3172
+ "optional": true,
3173
+ "requires": {
3174
+ "fs.realpath": "^1.0.0",
3175
+ "inflight": "^1.0.4",
3176
+ "inherits": "2",
3177
+ "minimatch": "^3.0.4",
3178
+ "once": "^1.3.0",
3179
+ "path-is-absolute": "^1.0.0"
3180
+ }
3181
+ },
3182
+ "has-unicode": {
3183
+ "version": "2.0.1",
3184
+ "bundled": true,
3185
+ "dev": true,
3186
+ "optional": true
3187
+ },
3188
+ "iconv-lite": {
3189
+ "version": "0.4.21",
3190
+ "bundled": true,
3191
+ "dev": true,
3192
+ "optional": true,
3193
+ "requires": {
3194
+ "safer-buffer": "^2.1.0"
3195
+ }
3196
+ },
3197
+ "ignore-walk": {
3198
+ "version": "3.0.1",
3199
+ "bundled": true,
3200
+ "dev": true,
3201
+ "optional": true,
3202
+ "requires": {
3203
+ "minimatch": "^3.0.4"
3204
+ }
3205
+ },
3206
+ "inflight": {
3207
+ "version": "1.0.6",
3208
+ "bundled": true,
3209
+ "dev": true,
3210
+ "optional": true,
3211
+ "requires": {
3212
+ "once": "^1.3.0",
3213
+ "wrappy": "1"
3214
+ }
3215
+ },
3216
+ "inherits": {
3217
+ "version": "2.0.3",
3218
+ "bundled": true,
3219
+ "dev": true
3220
+ },
3221
+ "ini": {
3222
+ "version": "1.3.5",
3223
+ "bundled": true,
3224
+ "dev": true,
3225
+ "optional": true
3226
+ },
3227
+ "is-fullwidth-code-point": {
3228
+ "version": "1.0.0",
3229
+ "bundled": true,
3230
+ "dev": true,
3231
+ "requires": {
3232
+ "number-is-nan": "^1.0.0"
3233
+ }
3234
+ },
3235
+ "isarray": {
3236
+ "version": "1.0.0",
3237
+ "bundled": true,
3238
+ "dev": true,
3239
+ "optional": true
3240
+ },
3241
+ "minimatch": {
3242
+ "version": "3.0.4",
3243
+ "bundled": true,
3244
+ "dev": true,
3245
+ "requires": {
3246
+ "brace-expansion": "^1.1.7"
3247
+ }
3248
+ },
3249
+ "minimist": {
3250
+ "version": "0.0.8",
3251
+ "bundled": true,
3252
+ "dev": true
3253
+ },
3254
+ "minipass": {
3255
+ "version": "2.2.4",
3256
+ "bundled": true,
3257
+ "dev": true,
3258
+ "requires": {
3259
+ "safe-buffer": "^5.1.1",
3260
+ "yallist": "^3.0.0"
3261
+ }
3262
+ },
3263
+ "minizlib": {
3264
+ "version": "1.1.0",
3265
+ "bundled": true,
3266
+ "dev": true,
3267
+ "optional": true,
3268
+ "requires": {
3269
+ "minipass": "^2.2.1"
3270
+ }
3271
+ },
3272
+ "mkdirp": {
3273
+ "version": "0.5.1",
3274
+ "bundled": true,
3275
+ "dev": true,
3276
+ "requires": {
3277
+ "minimist": "0.0.8"
3278
+ }
3279
+ },
3280
+ "ms": {
3281
+ "version": "2.0.0",
3282
+ "bundled": true,
3283
+ "dev": true,
3284
+ "optional": true
3285
+ },
3286
+ "needle": {
3287
+ "version": "2.2.0",
3288
+ "bundled": true,
3289
+ "dev": true,
3290
+ "optional": true,
3291
+ "requires": {
3292
+ "debug": "^2.1.2",
3293
+ "iconv-lite": "^0.4.4",
3294
+ "sax": "^1.2.4"
3295
+ }
3296
+ },
3297
+ "node-pre-gyp": {
3298
+ "version": "0.9.1",
3299
+ "bundled": true,
3300
+ "dev": true,
3301
+ "optional": true,
3302
+ "requires": {
3303
+ "detect-libc": "^1.0.2",
3304
+ "mkdirp": "^0.5.1",
3305
+ "needle": "^2.2.0",
3306
+ "nopt": "^4.0.1",
3307
+ "npm-packlist": "^1.1.6",
3308
+ "npmlog": "^4.0.2",
3309
+ "rc": "^1.1.7",
3310
+ "rimraf": "^2.6.1",
3311
+ "semver": "^5.3.0",
3312
+ "tar": "^4"
3313
+ }
3314
+ },
3315
+ "nopt": {
3316
+ "version": "4.0.1",
3317
+ "bundled": true,
3318
+ "dev": true,
3319
+ "optional": true,
3320
+ "requires": {
3321
+ "abbrev": "1",
3322
+ "osenv": "^0.1.4"
3323
+ }
3324
+ },
3325
+ "npm-bundled": {
3326
+ "version": "1.0.3",
3327
+ "bundled": true,
3328
+ "dev": true,
3329
+ "optional": true
3330
+ },
3331
+ "npm-packlist": {
3332
+ "version": "1.1.10",
3333
+ "bundled": true,
3334
+ "dev": true,
3335
+ "optional": true,
3336
+ "requires": {
3337
+ "ignore-walk": "^3.0.1",
3338
+ "npm-bundled": "^1.0.1"
3339
+ }
3340
+ },
3341
+ "npmlog": {
3342
+ "version": "4.1.2",
3343
+ "bundled": true,
3344
+ "dev": true,
3345
+ "optional": true,
3346
+ "requires": {
3347
+ "are-we-there-yet": "~1.1.2",
3348
+ "console-control-strings": "~1.1.0",
3349
+ "gauge": "~2.7.3",
3350
+ "set-blocking": "~2.0.0"
3351
+ }
3352
+ },
3353
+ "number-is-nan": {
3354
+ "version": "1.0.1",
3355
+ "bundled": true,
3356
+ "dev": true
3357
+ },
3358
+ "object-assign": {
3359
+ "version": "4.1.1",
3360
+ "bundled": true,
3361
+ "dev": true,
3362
+ "optional": true
3363
+ },
3364
+ "once": {
3365
+ "version": "1.4.0",
3366
+ "bundled": true,
3367
+ "dev": true,
3368
+ "requires": {
3369
+ "wrappy": "1"
3370
+ }
3371
+ },
3372
+ "os-homedir": {
3373
+ "version": "1.0.2",
3374
+ "bundled": true,
3375
+ "dev": true,
3376
+ "optional": true
3377
+ },
3378
+ "os-tmpdir": {
3379
+ "version": "1.0.2",
3380
+ "bundled": true,
3381
+ "dev": true,
3382
+ "optional": true
3383
+ },
3384
+ "osenv": {
3385
+ "version": "0.1.5",
3386
+ "bundled": true,
3387
+ "dev": true,
3388
+ "optional": true,
3389
+ "requires": {
3390
+ "os-homedir": "^1.0.0",
3391
+ "os-tmpdir": "^1.0.0"
3392
+ }
3393
+ },
3394
+ "path-is-absolute": {
3395
+ "version": "1.0.1",
3396
+ "bundled": true,
3397
+ "dev": true,
3398
+ "optional": true
3399
+ },
3400
+ "process-nextick-args": {
3401
+ "version": "2.0.0",
3402
+ "bundled": true,
3403
+ "dev": true,
3404
+ "optional": true
3405
+ },
3406
+ "rc": {
3407
+ "version": "1.2.6",
3408
+ "bundled": true,
3409
+ "dev": true,
3410
+ "optional": true,
3411
+ "requires": {
3412
+ "deep-extend": "~0.4.0",
3413
+ "ini": "~1.3.0",
3414
+ "minimist": "^1.2.0",
3415
+ "strip-json-comments": "~2.0.1"
3416
+ },
3417
+ "dependencies": {
3418
+ "minimist": {
3419
+ "version": "1.2.0",
3420
+ "bundled": true,
3421
+ "dev": true,
3422
+ "optional": true
3423
+ }
3424
+ }
3425
+ },
3426
+ "readable-stream": {
3427
+ "version": "2.3.6",
3428
+ "bundled": true,
3429
+ "dev": true,
3430
+ "optional": true,
3431
+ "requires": {
3432
+ "core-util-is": "~1.0.0",
3433
+ "inherits": "~2.0.3",
3434
+ "isarray": "~1.0.0",
3435
+ "process-nextick-args": "~2.0.0",
3436
+ "safe-buffer": "~5.1.1",
3437
+ "string_decoder": "~1.1.1",
3438
+ "util-deprecate": "~1.0.1"
3439
+ }
3440
+ },
3441
+ "rimraf": {
3442
+ "version": "2.6.2",
3443
+ "bundled": true,
3444
+ "dev": true,
3445
+ "optional": true,
3446
+ "requires": {
3447
+ "glob": "^7.0.5"
3448
+ }
3449
+ },
3450
+ "safe-buffer": {
3451
+ "version": "5.1.1",
3452
+ "bundled": true,
3453
+ "dev": true
3454
+ },
3455
+ "safer-buffer": {
3456
+ "version": "2.1.2",
3457
+ "bundled": true,
3458
+ "dev": true,
3459
+ "optional": true
3460
+ },
3461
+ "sax": {
3462
+ "version": "1.2.4",
3463
+ "bundled": true,
3464
+ "dev": true,
3465
+ "optional": true
3466
+ },
3467
+ "semver": {
3468
+ "version": "5.5.0",
3469
+ "bundled": true,
3470
+ "dev": true,
3471
+ "optional": true
3472
+ },
3473
+ "set-blocking": {
3474
+ "version": "2.0.0",
3475
+ "bundled": true,
3476
+ "dev": true,
3477
+ "optional": true
3478
+ },
3479
+ "signal-exit": {
3480
+ "version": "3.0.2",
3481
+ "bundled": true,
3482
+ "dev": true,
3483
+ "optional": true
3484
+ },
3485
+ "string-width": {
3486
+ "version": "1.0.2",
3487
+ "bundled": true,
3488
+ "dev": true,
3489
+ "requires": {
3490
+ "code-point-at": "^1.0.0",
3491
+ "is-fullwidth-code-point": "^1.0.0",
3492
+ "strip-ansi": "^3.0.0"
3493
+ }
3494
+ },
3495
+ "string_decoder": {
3496
+ "version": "1.1.1",
3497
+ "bundled": true,
3498
+ "dev": true,
3499
+ "optional": true,
3500
+ "requires": {
3501
+ "safe-buffer": "~5.1.0"
3502
+ }
3503
+ },
3504
+ "strip-ansi": {
3505
+ "version": "3.0.1",
3506
+ "bundled": true,
3507
+ "dev": true,
3508
+ "requires": {
3509
+ "ansi-regex": "^2.0.0"
3510
+ }
3511
+ },
3512
+ "strip-json-comments": {
3513
+ "version": "2.0.1",
3514
+ "bundled": true,
3515
+ "dev": true,
3516
+ "optional": true
3517
+ },
3518
+ "tar": {
3519
+ "version": "4.4.1",
3520
+ "bundled": true,
3521
+ "dev": true,
3522
+ "optional": true,
3523
+ "requires": {
3524
+ "chownr": "^1.0.1",
3525
+ "fs-minipass": "^1.2.5",
3526
+ "minipass": "^2.2.4",
3527
+ "minizlib": "^1.1.0",
3528
+ "mkdirp": "^0.5.0",
3529
+ "safe-buffer": "^5.1.1",
3530
+ "yallist": "^3.0.2"
3531
+ }
3532
+ },
3533
+ "util-deprecate": {
3534
+ "version": "1.0.2",
3535
+ "bundled": true,
3536
+ "dev": true,
3537
+ "optional": true
3538
+ },
3539
+ "wide-align": {
3540
+ "version": "1.1.2",
3541
+ "bundled": true,
3542
+ "dev": true,
3543
+ "optional": true,
3544
+ "requires": {
3545
+ "string-width": "^1.0.2"
3546
+ }
3547
+ },
3548
+ "wrappy": {
3549
+ "version": "1.0.2",
3550
+ "bundled": true,
3551
+ "dev": true
3552
+ },
3553
+ "yallist": {
3554
+ "version": "3.0.2",
3555
+ "bundled": true,
3556
+ "dev": true
3557
+ }
3558
+ }
3559
+ },
3560
+ >>>>>>> 4de3127... Remove - unecessary float and scaling on recaptcha
3561
  "fstream": {
3562
  "version": "1.0.11",
3563
  "resolved": "https://registry.npmjs.org/fstream/-/fstream-1.0.11.tgz",
3564
  "integrity": "sha1-XB+x8RdHcRTwYyoOtLcbPLD9MXE=",
3565
  "dev": true,
3566
  "requires": {
3567
+ "graceful-fs": "^4.1.2",
3568
+ "inherits": "~2.0.0",
3569
+ "mkdirp": ">=0.5 0",
3570
+ "rimraf": "2"
3571
  }
3572
  },
3573
  "function-bind": {
3582
  "integrity": "sha1-LANAXHU4w51+s3sxcCLjJfsBi/c=",
3583
  "dev": true,
3584
  "requires": {
3585
+ "aproba": "^1.0.3",
3586
+ "console-control-strings": "^1.0.0",
3587
+ "has-unicode": "^2.0.0",
3588
+ "object-assign": "^4.1.0",
3589
+ "signal-exit": "^3.0.0",
3590
+ "string-width": "^1.0.1",
3591
+ "strip-ansi": "^3.0.1",
3592
+ "wide-align": "^1.1.0"
3593
  }
3594
  },
3595
  "gaze": {
3598
  "integrity": "sha1-hHIkZ3rbiHDWeSV+0ziP22HkAQU=",
3599
  "dev": true,
3600
  "requires": {
3601
+ "globule": "^1.0.0"
3602
  }
3603
  },
3604
  "generate-function": {
3613
  "integrity": "sha1-nA4cQDCM6AT0eDYYuTf6iPmdUNA=",
3614
  "dev": true,
3615
  "requires": {
3616
+ "is-property": "^1.0.0"
3617
  }
3618
  },
3619
  "get-caller-file": {
3646
  "integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=",
3647
  "dev": true,
3648
  "requires": {
3649
+ "assert-plus": "^1.0.0"
3650
  },
3651
  "dependencies": {
3652
  "assert-plus": {
3663
  "integrity": "sha512-W4t55eB/c7WrH0gbCHFiHuaEnJ1WiPJVnbFFiNEoh2QkOmuSLxs0PmJDGAmCQuTJCU740Fmb6D+2D/2xECWZGQ==",
3664
  "dev": true,
3665
  "requires": {
3666
+ "encoding": "^0.1.12",
3667
+ "safe-buffer": "^5.1.1"
3668
  }
3669
  },
3670
  "github-from-package": {
3680
  "integrity": "sha1-IRuvr0nlJbjNkyYNFKsTYVKz9Xo=",
3681
  "dev": true,
3682
  "requires": {
3683
+ "fs.realpath": "^1.0.0",
3684
+ "inflight": "^1.0.4",
3685
+ "inherits": "2",
3686
+ "minimatch": "^3.0.2",
3687
+ "once": "^1.3.0",
3688
+ "path-is-absolute": "^1.0.0"
3689
  }
3690
  },
3691
  "glob-base": {
3694
  "integrity": "sha1-27Fk9iIbHAscz4Kuoyi0l98Oo8Q=",
3695
  "dev": true,
3696
  "requires": {
3697
+ "glob-parent": "^2.0.0",
3698
+ "is-glob": "^2.0.0"
3699
  }
3700
  },
3701
  "glob-parent": {
3704
  "integrity": "sha1-gTg9ctsFT8zPUzbaqQLxgvbtuyg=",
3705
  "dev": true,
3706
  "requires": {
3707
+ "is-glob": "^2.0.0"
3708
  }
3709
  },
3710
  "glob-stream": {
3713
  "integrity": "sha1-cEXJlBOz65SIjYOrRtC0BMx73eQ=",
3714
  "dev": true,
3715
  "requires": {
3716
+ "extend": "^3.0.0",
3717
+ "glob": "^7.1.1",
3718
+ "glob-parent": "^3.1.0",
3719
+ "is-negated-glob": "^1.0.0",
3720
+ "ordered-read-streams": "^1.0.0",
3721
+ "pumpify": "^1.3.5",
3722
+ "readable-stream": "^2.1.5",
3723
+ "remove-trailing-separator": "^1.0.1",
3724
+ "to-absolute-glob": "^2.0.0",
3725
+ "unique-stream": "^2.0.2"
3726
  },
3727
  "dependencies": {
3728
  "glob": {
3731
  "integrity": "sha512-MJTUg1kjuLeQCJ+ccE4Vpa6kKVXkPYJ2mOCQyUuKLcLQsdrMCpBPUi8qVE6+YuaJkozeA9NusTAw3hLr8Xe5EQ==",
3732
  "dev": true,
3733
  "requires": {
3734
+ "fs.realpath": "^1.0.0",
3735
+ "inflight": "^1.0.4",
3736
+ "inherits": "2",
3737
+ "minimatch": "^3.0.4",
3738
+ "once": "^1.3.0",
3739
+ "path-is-absolute": "^1.0.0"
3740
  }
3741
  },
3742
  "glob-parent": {
3745
  "integrity": "sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4=",
3746
  "dev": true,
3747
  "requires": {
3748
+ "is-glob": "^3.1.0",
3749
+ "path-dirname": "^1.0.0"
3750
  }
3751
  },
3752
  "is-extglob": {
3761
  "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=",
3762
  "dev": true,
3763
  "requires": {
3764
+ "is-extglob": "^2.1.0"
3765
  }
3766
  }
3767
  }
3778
  "integrity": "sha1-nmOo/25h6TLebMLK7OUHGm1zcyk=",
3779
  "dev": true,
3780
  "requires": {
3781
+ "async-done": "^1.2.0",
3782
+ "chokidar": "^1.4.3",
3783
+ "just-debounce": "^1.0.0",
3784
+ "object.defaults": "^1.1.0"
3785
  }
3786
  },
3787
  "global-modules": {
3790
  "integrity": "sha512-sKzpEkf11GpOFuw0Zzjzmt4B4UZwjOcG757PPvrfhxcLFbq0wpsgpOqxpxtxFiCG4DtG93M6XRVbF2oGdev7bg==",
3791
  "dev": true,
3792
  "requires": {
3793
+ "global-prefix": "^1.0.1",
3794
+ "is-windows": "^1.0.1",
3795
+ "resolve-dir": "^1.0.0"
3796
  }
3797
  },
3798
  "global-prefix": {
3801
  "integrity": "sha1-2/dDxsFJklk8ZVVoy2btMsASLr4=",
3802
  "dev": true,
3803
  "requires": {
3804
+ "expand-tilde": "^2.0.2",
3805
+ "homedir-polyfill": "^1.0.1",
3806
+ "ini": "^1.3.4",
3807
+ "is-windows": "^1.0.1",
3808
+ "which": "^1.2.14"
3809
  }
3810
  },
3811
  "globals": {
3820
  "integrity": "sha512-oMrYrJERnKBLXNLVTqhm3vPEdJ/b2ZE28xN4YARiix1NOIOBPEpOUnm844K1iu/BkphCaf2WNFwMszv8Soi1pw==",
3821
  "dev": true,
3822
  "requires": {
3823
+ "array-union": "^1.0.1",
3824
+ "dir-glob": "^2.0.0",
3825
+ "fast-glob": "^2.0.2",
3826
+ "glob": "^7.1.2",
3827
+ "ignore": "^3.3.5",
3828
+ "pify": "^3.0.0",
3829
+ "slash": "^1.0.0"
3830
  },
3831
  "dependencies": {
3832
  "glob": {
3835
  "integrity": "sha512-MJTUg1kjuLeQCJ+ccE4Vpa6kKVXkPYJ2mOCQyUuKLcLQsdrMCpBPUi8qVE6+YuaJkozeA9NusTAw3hLr8Xe5EQ==",
3836
  "dev": true,
3837
  "requires": {
3838
+ "fs.realpath": "^1.0.0",
3839
+ "inflight": "^1.0.4",
3840
+ "inherits": "2",
3841
+ "minimatch": "^3.0.4",
3842
+ "once": "^1.3.0",
3843
+ "path-is-absolute": "^1.0.0"
3844
  }
3845
  },
3846
  "pify": {
3863
  "integrity": "sha1-HcScaCLdnoovoAuiopUAboZkvQk=",
3864
  "dev": true,
3865
  "requires": {
3866
+ "glob": "~7.1.1",
3867
+ "lodash": "~4.17.4",
3868
+ "minimatch": "~3.0.2"
3869
  },
3870
  "dependencies": {
3871
  "glob": {
3874
  "integrity": "sha512-MJTUg1kjuLeQCJ+ccE4Vpa6kKVXkPYJ2mOCQyUuKLcLQsdrMCpBPUi8qVE6+YuaJkozeA9NusTAw3hLr8Xe5EQ==",
3875
  "dev": true,
3876
  "requires": {
3877
+ "fs.realpath": "^1.0.0",
3878
+ "inflight": "^1.0.4",
3879
+ "inherits": "2",
3880
+ "minimatch": "^3.0.4",
3881
+ "once": "^1.3.0",
3882
+ "path-is-absolute": "^1.0.0"
3883
  }
3884
  },
3885
  "lodash": {
3896
  "integrity": "sha512-ynYqXLoluBKf9XGR1gA59yEJisIL7YHEH4xr3ZziHB5/yl4qWfaK8Js9jGe6gBGCSCKVqiyO30WnRZADvemUNw==",
3897
  "dev": true,
3898
  "requires": {
3899
+ "sparkles": "^1.0.0"
3900
  }
3901
  },
3902
  "gonzales-pe": {
3905
  "integrity": "sha512-Kjhohco0esHQnOiqqdJeNz/5fyPkOMD/d6XVjwTAoPGUFh0mCollPUTUTa2OZy4dYNAqlPIQdTiNzJTWdd9Htw==",
3906
  "dev": true,
3907
  "requires": {
3908
+ "minimist": "1.1.x"
3909
  },
3910
  "dependencies": {
3911
  "minimist": {
3928
  "integrity": "sha1-TmpeaVtwRy/VME9fqeNCNoNqc7w=",
3929
  "dev": true,
3930
  "requires": {
3931
+ "coffeescript": "~1.10.0",
3932
+ "dateformat": "~1.0.12",
3933
+ "eventemitter2": "~0.4.13",
3934
+ "exit": "~0.1.1",
3935
+ "findup-sync": "~0.3.0",
3936
+ "glob": "~7.0.0",
3937
+ "grunt-cli": "~1.2.0",
3938
+ "grunt-known-options": "~1.1.0",
3939
+ "grunt-legacy-log": "~1.0.0",
3940
+ "grunt-legacy-util": "~1.0.0",
3941
+ "iconv-lite": "~0.4.13",
3942
+ "js-yaml": "~3.5.2",
3943
+ "minimatch": "~3.0.2",
3944
+ "nopt": "~3.0.6",
3945
+ "path-is-absolute": "~1.0.0",
3946
+ "rimraf": "~2.2.8"
3947
  },
3948
  "dependencies": {
3949
  "grunt-cli": {
3952
  "integrity": "sha1-VisRnrsGndtGSs4oRVAb6Xs1tqg=",
3953
  "dev": true,
3954
  "requires": {
3955
+ "findup-sync": "~0.3.0",
3956
+ "grunt-known-options": "~1.1.0",
3957
+ "nopt": "~3.0.6",
3958
+ "resolve": "~1.1.0"
3959
  }
3960
  }
3961
  }
3966
  "integrity": "sha1-slTQHh3pEwBdTbHFMD2QI7mD4Zs=",
3967
  "dev": true,
3968
  "requires": {
3969
+ "chalk": "~0.2.1",
3970
+ "text-table": "~0.2.0"
3971
  },
3972
  "dependencies": {
3973
  "ansi-styles": {
3982
  "integrity": "sha1-dhPhV1FFshOGSD9/SFql/6jL0Qw=",
3983
  "dev": true,
3984
  "requires": {
3985
+ "ansi-styles": "~0.2.0",
3986
+ "has-color": "~0.1.0"
3987
  }
3988
  }
3989
  }
3994
  "integrity": "sha1-Ac7/ucY39S5wgfRjdQmD0KOw+nM=",
3995
  "dev": true,
3996
  "requires": {
3997
+ "archiver": "^1.3.0",
3998
+ "chalk": "^1.1.1",
3999
+ "iltorb": "^1.0.13",
4000
+ "lodash": "^4.7.0",
4001
+ "pretty-bytes": "^4.0.2",
4002
+ "stream-buffers": "^2.1.0"
4003
  },
4004
  "dependencies": {
4005
  "ansi-styles": {
4014
  "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=",
4015
  "dev": true,
4016
  "requires": {
4017
+ "ansi-styles": "^2.2.1",
4018
+ "escape-string-regexp": "^1.0.2",
4019
+ "has-ansi": "^2.0.0",
4020
+ "strip-ansi": "^3.0.0",
4021
+ "supports-color": "^2.0.0"
4022
  }
4023
  },
4024
  "lodash": {
4041
  "integrity": "sha1-YVCYYwhOhx1+ht5IwBUlntl3Rb0=",
4042
  "dev": true,
4043
  "requires": {
4044
+ "chalk": "^1.0.0",
4045
+ "source-map": "^0.5.3"
4046
  },
4047
  "dependencies": {
4048
  "ansi-styles": {
4057
  "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=",
4058
  "dev": true,
4059
  "requires": {
4060
+ "ansi-styles": "^2.2.1",
4061
+ "escape-string-regexp": "^1.0.2",
4062
+ "has-ansi": "^2.0.0",
4063
+ "strip-ansi": "^3.0.0",
4064
+ "supports-color": "^2.0.0"
4065
  }
4066
  },
4067
  "source-map": {
4084
  "integrity": "sha512-IXNomhQ5ekVZbDbj/ik5YccoD9khU6LT2fDXqO1+/Txjq8cp0tQKjVS8i8EAbHOrSDkL7/UD6A7b+xj98gqh9w==",
4085
  "dev": true,
4086
  "requires": {
4087
+ "chalk": "^1.0.0",
4088
+ "clean-css": "~4.1.1",
4089
+ "maxmin": "^2.1.0"
4090
  },
4091
  "dependencies": {
4092
  "ansi-styles": {
4101
  "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=",
4102
  "dev": true,
4103
  "requires": {
4104
+ "ansi-styles": "^2.2.1",
4105
+ "escape-string-regexp": "^1.0.2",
4106
+ "has-ansi": "^2.0.0",
4107
+ "strip-ansi": "^3.0.0",
4108
+ "supports-color": "^2.0.0"
4109
  }
4110
  },
4111
  "supports-color": {
4122
  "integrity": "sha1-Np2QmyWTxA6L55lAshNAhQx5Oaw=",
4123
  "dev": true,
4124
  "requires": {
4125
+ "chalk": "^1.1.1",
4126
+ "hooker": "^0.2.3",
4127
+ "jshint": "~2.9.4"
4128
  },
4129
  "dependencies": {
4130
  "ansi-styles": {
4139
  "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=",
4140
  "dev": true,
4141
  "requires": {
4142
+ "ansi-styles": "^2.2.1",
4143
+ "escape-string-regexp": "^1.0.2",
4144
+ "has-ansi": "^2.0.0",
4145
+ "strip-ansi": "^3.0.0",
4146
+ "supports-color": "^2.0.0"
4147
  }
4148
  },
4149
  "supports-color": {
4160
  "integrity": "sha512-W9O7lJE3PlD8VCc5fyaf98QV7f5wEDiU4PBIh0+/6UBbk2LhgzEFS0/p+taH5UD3+PlEn7QPN0o06Z0To6SqXw==",
4161
  "dev": true,
4162
  "requires": {
4163
+ "chalk": "^1.0.0",
4164
+ "maxmin": "^1.1.0",
4165
+ "uglify-js": "~3.3.0",
4166
+ "uri-path": "^1.0.0"
4167
  },
4168
  "dependencies": {
4169
  "ansi-styles": {
4178
  "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=",
4179
  "dev": true,
4180
  "requires": {
4181
+ "ansi-styles": "^2.2.1",
4182
+ "escape-string-regexp": "^1.0.2",
4183
+ "has-ansi": "^2.0.0",
4184
+ "strip-ansi": "^3.0.0",
4185
+ "supports-color": "^2.0.0"
4186
  }
4187
  },
4188
  "gzip-size": {
4191
  "integrity": "sha1-Zs+LEBBHInuVus5uodoMF37Vwi8=",
4192
  "dev": true,
4193
  "requires": {
4194
+ "browserify-zlib": "^0.1.4",
4195
+ "concat-stream": "^1.4.1"
4196
  }
4197
  },
4198
  "maxmin": {
4201
  "integrity": "sha1-cTZehKmd2Piz99X94vANHn9zvmE=",
4202
  "dev": true,
4203
  "requires": {
4204
+ "chalk": "^1.0.0",
4205
+ "figures": "^1.0.1",
4206
+ "gzip-size": "^1.0.0",
4207
+ "pretty-bytes": "^1.0.0"
4208
  }
4209
  },
4210
  "pretty-bytes": {
4213
  "integrity": "sha1-CiLoIQYJrTVUL4yNXSFZr/B1HIQ=",
4214
  "dev": true,
4215
  "requires": {
4216
+ "get-stdin": "^4.0.1",
4217
+ "meow": "^3.1.0"
4218
  }
4219
  },
4220
  "supports-color": {
4226
  }
4227
  },
4228
  "grunt-contrib-watch": {
4229
+ "version": "1.0.1",
4230
+ "resolved": "https://registry.npmjs.org/grunt-contrib-watch/-/grunt-contrib-watch-1.0.1.tgz",
4231
+ "integrity": "sha512-8Zka/svGl6+ZwF7d6z/CfXwsb4cDODnajmZsY4nUAs9Ob0kJEcsLiDf5qm2HdDoEcm3NHjWCrFiWx+PZ2y4D7A==",
4232
  "dev": true,
4233
  "requires": {
4234
+ "async": "^1.5.0",
4235
+ "gaze": "^1.1.0",
4236
+ "lodash": "^4.0.0",
4237
+ "tiny-lr": "^0.2.1"
4238
+ },
4239
+ "dependencies": {
4240
+ "lodash": {
4241
+ "version": "4.17.10",
4242
+ "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.10.tgz",
4243
+ "integrity": "sha512-UejweD1pDoXu+AD825lWwp4ZGtSwgnpZxb3JDViD7StjQz+Nb/6l093lx4OQ0foGWNRoc19mWy7BzL+UAK2iVg==",
4244
+ "dev": true
4245
+ }
4246
  }
4247
  },
4248
  "grunt-known-options": {
4257
  "integrity": "sha512-rwuyqNKlI0IPz0DvxzJjcEiQEBaBNVeb1LFoZKxSmHLETFUwhwUrqOsPIxURTKSwNZHZ4ht1YLBYmVU0YZAzHQ==",
4258
  "dev": true,
4259
  "requires": {
4260
+ "colors": "~1.1.2",
4261
+ "grunt-legacy-log-utils": "~1.0.0",
4262
+ "hooker": "~0.2.3",
4263
+ "lodash": "~4.17.5",
4264
+ "underscore.string": "~3.3.4"
4265
  },
4266
  "dependencies": {
4267
  "lodash": {
4278
  "integrity": "sha1-p7ji0Ps1taUPSvmG/BEnSevJbz0=",
4279
  "dev": true,
4280
  "requires": {
4281
+ "chalk": "~1.1.1",
4282
+ "lodash": "~4.3.0"
4283
  },
4284
  "dependencies": {
4285
  "ansi-styles": {
4294
  "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=",
4295
  "dev": true,
4296
  "requires": {
4297
+ "ansi-styles": "^2.2.1",
4298
+ "escape-string-regexp": "^1.0.2",
4299
+ "has-ansi": "^2.0.0",
4300
+ "strip-ansi": "^3.0.0",
4301
+ "supports-color": "^2.0.0"
4302
  }
4303
  },
4304
  "lodash": {
4321
  "integrity": "sha1-OGqnjcbtUJhsKxiVcmWxtIq7m4Y=",
4322
  "dev": true,
4323
  "requires": {
4324
+ "async": "~1.5.2",
4325
+ "exit": "~0.1.1",
4326
+ "getobject": "~0.1.0",
4327
+ "hooker": "~0.2.3",
4328
+ "lodash": "~4.3.0",
4329
+ "underscore.string": "~3.2.3",
4330
+ "which": "~1.2.1"
4331
  },
4332
  "dependencies": {
4333
  "lodash": {
4356
  "integrity": "sha512-lglLcVaoOIqH0sFv7RqwUKkEFGQwnlqyAKbatxZderwZGV1nDyKHN7gZS9LUiTx1t5GOvRBx0BEalHMyVwFAIA==",
4357
  "dev": true,
4358
  "requires": {
4359
+ "chalk": "^2.1.0",
4360
+ "diff": "^3.0.0",
4361
+ "postcss": "^6.0.11"
4362
  }
4363
  },
4364
  "grunt-rtlcss": {
4367
  "integrity": "sha1-6eYc5DdAY5f546Sxv2aeR+cf/MM=",
4368
  "dev": true,
4369
  "requires": {
4370
+ "chalk": "^1.0.0",
4371
+ "rtlcss": "^2.0.0"
4372
  },
4373
  "dependencies": {
4374
  "ansi-styles": {
4383
  "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=",
4384
  "dev": true,
4385
  "requires": {
4386
+ "ansi-styles": "^2.2.1",
4387
+ "escape-string-regexp": "^1.0.2",
4388
+ "has-ansi": "^2.0.0",
4389
+ "strip-ansi": "^3.0.0",
4390
+ "supports-color": "^2.0.0"
4391
  }
4392
  },
4393
  "supports-color": {
4404
  "integrity": "sha512-XkexnQt/9rhReNd+Y7T0n/2g5FqYOQKfi2iSlpwDqvgs7EgEaGTxNhnWzHnbW5oNRvzL9AHopBG3AgRxL0d+DA==",
4405
  "dev": true,
4406
  "requires": {
4407
+ "each-async": "^1.0.0",
4408
+ "node-sass": "^4.7.2",
4409
+ "object-assign": "^4.0.1"
4410
  }
4411
  },
4412
  "grunt-stylelint": {
4430
  "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=",
4431
  "dev": true,
4432
  "requires": {
4433
+ "ansi-styles": "^2.2.1",
4434
+ "escape-string-regexp": "^1.0.2",
4435
+ "has-ansi": "^2.0.0",
4436
+ "strip-ansi": "^3.0.0",
4437
+ "supports-color": "^2.0.0"
4438
  }
4439
  },
4440
  "supports-color": {
4451
  "integrity": "sha512-s7DdR1wRYWvgeQOELL/s8AmWz0scVUq+h0yYVWvLx23kTXOBslvaD35NTvubyM+MO+k29bgND0gDDvS6sHixfg==",
4452
  "dev": true,
4453
  "requires": {
4454
+ "grunt": "^1.0.2",
4455
+ "node-wp-i18n": "^1.0.5"
4456
  }
4457
  },
4458
  "gulp": {
4459
  "version": "git+https://github.com/gulpjs/gulp.git#71c094a51c7972d26f557899ddecab0210ef3776",
4460
+ "from": "gulp@git+https://github.com/gulpjs/gulp.git#71c094a51c7972d26f557899ddecab0210ef3776",
4461
  "dev": true,
4462
  "requires": {
4463
+ "glob-watcher": "^4.0.0",
4464
+ "gulp-cli": "^2.0.0",
4465
+ "undertaker": "^1.0.0",
4466
+ "vinyl-fs": "^3.0.0"
4467
  },
4468
  "dependencies": {
4469
  "camelcase": {
4478
  "integrity": "sha512-RxujJJdN8/O6IW2nPugl7YazhmrIEjmiVfPKrWt68r71UCaLKS71Hp0gpKT+F6qOUFtr7KqtifDKaAJPRVvMYQ==",
4479
  "dev": true,
4480
  "requires": {
4481
+ "ansi-colors": "^1.0.1",
4482
+ "archy": "^1.0.0",
4483
+ "array-sort": "^1.0.0",
4484
+ "color-support": "^1.1.3",
4485
+ "concat-stream": "^1.6.0",
4486
+ "copy-props": "^2.0.1",
4487
+ "fancy-log": "^1.3.2",
4488
+ "gulplog": "^1.0.0",
4489
+ "interpret": "^1.1.0",
4490
+ "isobject": "^3.0.1",
4491
+ "liftoff": "^2.5.0",
4492
+ "matchdep": "^2.0.0",
4493
+ "mute-stdout": "^1.0.0",
4494
+ "pretty-hrtime": "^1.0.0",
4495
+ "replace-homedir": "^1.0.0",
4496
+ "semver-greatest-satisfied-range": "^1.1.0",
4497
+ "v8flags": "^3.0.1",
4498
+ "yargs": "^7.1.0"
4499
  }
4500
  },
4501
  "isobject": {
4510
  "integrity": "sha1-a6MY6xaWFyf10oT46gA+jWFU0Mg=",
4511
  "dev": true,
4512
  "requires": {
4513
+ "camelcase": "^3.0.0",
4514
+ "cliui": "^3.2.0",
4515
+ "decamelize": "^1.1.1",
4516
+ "get-caller-file": "^1.0.1",
4517
+ "os-locale": "^1.4.0",
4518
+ "read-pkg-up": "^1.0.1",
4519
+ "require-directory": "^2.1.1",
4520
+ "require-main-filename": "^1.0.1",
4521
+ "set-blocking": "^2.0.0",
4522
+ "string-width": "^1.0.2",
4523
+ "which-module": "^1.0.0",
4524
+ "y18n": "^3.2.1",
4525
+ "yargs-parser": "^5.0.0"
4526
  }
4527
  },
4528
  "yargs-parser": {
4531
  "integrity": "sha1-J17PDX/+Bcd+ZOfIbkzZS/DhIoo=",
4532
  "dev": true,
4533
  "requires": {
4534
+ "camelcase": "^3.0.0"
4535
  }
4536
  }
4537
  }
4542
  "integrity": "sha512-OMQEgWNggpog8Tc5v1MuI6eo+5iiPkVeLL76iBhDoEEScLUPfZlpvzmgTnLkpcqdrNodZxpz5qcv6mS2rulk3g==",
4543
  "dev": true,
4544
  "requires": {
4545
+ "chalk": "^2.3.0",
4546
+ "lodash.clonedeep": "^4.3.2",
4547
+ "node-sass": "^4.8.3",
4548
+ "plugin-error": "^1.0.1",
4549
+ "replace-ext": "^1.0.0",
4550
+ "strip-ansi": "^4.0.0",
4551
+ "through2": "^2.0.0",
4552
+ "vinyl-sourcemaps-apply": "^0.2.0"
4553
  },
4554
  "dependencies": {
4555
  "ansi-regex": {
4564
  "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=",
4565
  "dev": true,
4566
  "requires": {
4567
+ "ansi-regex": "^3.0.0"
4568
  }
4569
  }
4570
  }
4575
  "integrity": "sha1-4oxNRdBey77YGDY86PnFkmIp/+U=",
4576
  "dev": true,
4577
  "requires": {
4578
+ "glogg": "^1.0.0"
4579
  }
4580
  },
4581
  "gzip-size": {
4584
  "integrity": "sha1-VGGI6b3DN/Zzdy+BZgRks4nc5SA=",
4585
  "dev": true,
4586
  "requires": {
4587
+ "duplexer": "^0.1.1"
4588
  }
4589
  },
4590
  "har-schema": {
4599
  "integrity": "sha1-M0gdDxu/9gDdID11gSpqX7oALio=",
4600
  "dev": true,
4601
  "requires": {
4602
+ "ajv": "^4.9.1",
4603
+ "har-schema": "^1.0.5"
4604
  }
4605
  },
4606
  "has-ansi": {
4609
  "integrity": "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=",
4610
  "dev": true,
4611
  "requires": {
4612
+ "ansi-regex": "^2.0.0"
4613
  }
4614
  },
4615
  "has-binary2": {
4657
  "integrity": "sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc=",
4658
  "dev": true,
4659
  "requires": {
4660
+ "get-value": "^2.0.6",
4661
+ "has-values": "^1.0.0",
4662
+ "isobject": "^3.0.0"
4663
  },
4664
  "dependencies": {
4665
  "isobject": {
4676
  "integrity": "sha1-lbC2P+whRmGab+V/51Yo1aOe/k8=",
4677
  "dev": true,
4678
  "requires": {
4679
+ "is-number": "^3.0.0",
4680
+ "kind-of": "^4.0.0"
4681
  },
4682
  "dependencies": {
4683
  "is-number": {
4686
  "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=",
4687
  "dev": true,
4688
  "requires": {
4689
+ "kind-of": "^3.0.2"
4690
  },
4691
  "dependencies": {
4692
  "kind-of": {
4695
  "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
4696
  "dev": true,
4697
  "requires": {
4698
+ "is-buffer": "^1.1.5"
4699
  }
4700
  }
4701
  }
4706
  "integrity": "sha1-IIE989cSkosgc3hpGkUGb65y3Vc=",
4707
  "dev": true,
4708
  "requires": {
4709
+ "is-buffer": "^1.1.5"
4710
  }
4711
  }
4712
  }
4717
  "integrity": "sha1-B4REvXwWQLD+VA0sm3PVlnjo4cQ=",
4718
  "dev": true,
4719
  "requires": {
4720
+ "boom": "2.x.x",
4721
+ "cryptiles": "2.x.x",
4722
+ "hoek": "2.x.x",
4723
+ "sntp": "1.x.x"
4724
  }
4725
  },
4726
  "hoek": {
4735
  "integrity": "sha1-TCu8inWJmP7r9e1oWA921GdotLw=",
4736
  "dev": true,
4737
  "requires": {
4738
+ "parse-passwd": "^1.0.0"
4739
  }
4740
  },
4741
  "hooker": {
4762
  "integrity": "sha1-mWwosZFRaovoZQGn15dX5ccMEGg=",
4763
  "dev": true,
4764
  "requires": {
4765
+ "domelementtype": "1",
4766
+ "domhandler": "2.3",
4767
+ "domutils": "1.5",
4768
+ "entities": "1.0",
4769
+ "readable-stream": "1.1"
4770
  },
4771
  "dependencies": {
4772
  "isarray": {
4781
  "integrity": "sha1-fPTFTvZI44EwhMY23SB54WbAgdk=",
4782
  "dev": true,
4783
  "requires": {
4784
+ "core-util-is": "~1.0.0",
4785
+ "inherits": "~2.0.1",
4786
  "isarray": "0.0.1",
4787
+ "string_decoder": "~0.10.x"
4788
  }
4789
  },
4790
  "string_decoder": {
4796
  }
4797
  },
4798
  "http-errors": {
4799
+ "version": "1.6.2",
4800
+ "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.6.2.tgz",
4801
+ "integrity": "sha1-CgAsyFcHGSp+eUbO7cERVfYOxzY=",
4802
  "dev": true,
4803
  "requires": {
4804
+ "depd": "1.1.1",
4805
  "inherits": "2.0.3",
4806
+ "setprototypeof": "1.0.3",
4807
+ "statuses": ">= 1.3.1 < 2"
4808
  }
4809
  },
4810
  "http-parser-js": {
4811
+ "version": "0.4.12",
4812
+ "resolved": "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.4.12.tgz",
4813
+ "integrity": "sha1-uc+/Sizybw/DSxDKFImid3HjR08=",
4814
  "dev": true
4815
  },
4816
  "http-proxy": {
4819
  "integrity": "sha1-ZC/cr/5S00SNK9o7AHnpQJBk2jE=",
4820
  "dev": true,
4821
  "requires": {
4822
+ "eventemitter3": "1.x.x",
4823
+ "requires-port": "1.x.x"
4824
  }
4825
  },
4826
  "http-signature": {
4829
  "integrity": "sha1-33LiZwZs0Kxn+3at+OE0qPvPkb8=",
4830
  "dev": true,
4831
  "requires": {
4832
+ "assert-plus": "^0.2.0",
4833
+ "jsprim": "^1.2.2",
4834
+ "sshpk": "^1.7.0"
4835
  }
4836
  },
4837
  "iconv-lite": {
4840
  "integrity": "sha512-En5V9za5mBt2oUA03WGD3TwDv0MKAruqsuxstbMUZaj9W9k/m1CV/9py3l0L5kw9Bln8fdHQmzHSYtvpvTLpKw==",
4841
  "dev": true,
4842
  "requires": {
4843
+ "safer-buffer": "^2.1.0"
4844
  }
4845
  },
4846
  "ignore": {
4856
  "dev": true,
4857
  "optional": true,
4858
  "requires": {
4859
+ "detect-libc": "^0.2.0",
4860
+ "nan": "^2.6.2",
4861
+ "node-gyp": "^3.6.2",
4862
+ "prebuild-install": "^2.3.0"
4863
  }
4864
  },
4865
  "immutable": {
4892
  "integrity": "sha1-ji1INIdCEhtKghi3oTfppSBJ3IA=",
4893
  "dev": true,
4894
  "requires": {
4895
+ "repeating": "^2.0.0"
4896
  }
4897
  },
4898
  "indexes-of": {
4913
  "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=",
4914
  "dev": true,
4915
  "requires": {
4916
+ "once": "^1.3.0",
4917
+ "wrappy": "1"
4918
  }
4919
  },
4920
  "inherits": {
4941
  "integrity": "sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==",
4942
  "dev": true,
4943
  "requires": {
4944
+ "loose-envify": "^1.0.0"
4945
  }
4946
  },
4947
  "invert-kv": {
4956
  "integrity": "sha512-dOWoqflvcydARa360Gvv18DZ/gRuHKi2NU/wU5X1ZFzdYfH29nkiNZsF3mp4OJ3H4yo9Mx8A/uAGNzpzPN3yBA==",
4957
  "dev": true,
4958
  "requires": {
4959
+ "is-relative": "^1.0.0",
4960
+ "is-windows": "^1.0.1"
4961
  }
4962
  },
4963
  "is-accessor-descriptor": {
4966
  "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=",
4967
  "dev": true,
4968
  "requires": {
4969
+ "kind-of": "^3.0.2"
4970
  }
4971
  },
4972
  "is-alphabetical": {
4987
  "integrity": "sha1-37SqTRCF4zvbYcLe6cgOnGwZ9Ts=",
4988
  "dev": true,
4989
  "requires": {
4990
+ "is-alphabetical": "^1.0.0",
4991
+ "is-decimal": "^1.0.0"
4992
  }
4993
  },
4994
  "is-arrayish": {
5003
  "integrity": "sha1-dfFmQrSA8YenEcgUFh/TpKdlWJg=",
5004
  "dev": true,
5005
  "requires": {
5006
+ "binary-extensions": "^1.0.0"
5007
  }
5008
  },
5009
  "is-buffer": {
5018
  "integrity": "sha1-VAVy0096wxGfj3bDDLwbHgN6/74=",
5019
  "dev": true,
5020
  "requires": {
5021
+ "builtin-modules": "^1.0.0"
5022
  }
5023
  },
5024
  "is-data-descriptor": {
5027
  "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=",
5028
  "dev": true,
5029
  "requires": {
5030
+ "kind-of": "^3.0.2"
5031
  }
5032
  },
5033
  "is-decimal": {
5042
  "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==",
5043
  "dev": true,
5044
  "requires": {
5045
+ "is-accessor-descriptor": "^0.1.6",
5046
+ "is-data-descriptor": "^0.1.4",
5047
+ "kind-of": "^5.0.0"
5048
  },
5049
  "dependencies": {
5050
  "kind-of": {
5073
  "integrity": "sha1-IjgJj8Ih3gvPpdnqxMRdY4qhxTQ=",
5074
  "dev": true,
5075
  "requires": {
5076
+ "is-primitive": "^2.0.0"
5077
  }
5078
  },
5079
  "is-extendable": {
5094
  "integrity": "sha1-zGZ3aVYCvlUO8R6LSqYwU0K20Ko=",
5095
  "dev": true,
5096
  "requires": {
5097
+ "number-is-nan": "^1.0.0"
5098
  }
5099
  },
5100
  "is-fullwidth-code-point": {
5103
  "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=",
5104
  "dev": true,
5105
  "requires": {
5106
+ "number-is-nan": "^1.0.0"
5107
  }
5108
  },
5109
  "is-glob": {
5112
  "integrity": "sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM=",
5113
  "dev": true,
5114
  "requires": {
5115
+ "is-extglob": "^1.0.0"
5116
  }
5117
  },
5118
  "is-hexadecimal": {
5133
  "integrity": "sha512-IBhBslgngMQN8DDSppmgDv7RNrlFotuuDsKcrCP3+HbFaVivIBU7u9oiiErw8sH4ynx3+gOGQ3q2otkgiSi6kg==",
5134
  "dev": true,
5135
  "requires": {
5136
+ "generate-function": "^2.0.0",
5137
+ "generate-object-property": "^1.1.0",
5138
+ "is-my-ip-valid": "^1.0.0",
5139
+ "jsonpointer": "^4.0.0",
5140
+ "xtend": "^4.0.0"
5141
  }
5142
  },
5143
  "is-negated-glob": {
5152
  "integrity": "sha1-Afy7s5NGOlSPL0ZszhbezknbkI8=",
5153
  "dev": true,
5154
  "requires": {
5155
+ "kind-of": "^3.0.2"
5156
  }
5157
  },
5158
  "is-number-like": {
5161
  "integrity": "sha512-6rZi3ezCyFcn5L71ywzz2bS5b2Igl1En3eTlZlvKjpz1n3IZLAYMbKYAIQgFmEu0GENg92ziU/faEOA/aixjbA==",
5162
  "dev": true,
5163
  "requires": {
5164
+ "lodash.isfinite": "^3.3.2"
5165
  }
5166
  },
5167
  "is-obj": {
5176
  "integrity": "sha512-OTiixgpZAT1M4NHgS5IguFp/Vz2VI3U7Goh4/HA1adtwyLtSBrxYlcSYkhpAE07s4fKEcjrFxyvtQBND4vFQyQ==",
5177
  "dev": true,
5178
  "requires": {
5179
+ "is-number": "^4.0.0"
5180
  },
5181
  "dependencies": {
5182
  "is-number": {
5199
  "integrity": "sha512-FjV1RTW48E7CWM7eE/J2NJvAEEVektecDBVBE5Hh3nM1Jd0kvhHtX68Pr3xsDf857xt3Y4AkwVULK1Vku62aaQ==",
5200
  "dev": true,
5201
  "requires": {
5202
+ "is-path-inside": "^1.0.0"
5203
  }
5204
  },
5205
  "is-path-inside": {
5208
  "integrity": "sha1-jvW33lBDej/cprToZe96pVy0gDY=",
5209
  "dev": true,
5210
  "requires": {
5211
+ "path-is-inside": "^1.0.1"
5212
  }
5213
  },
5214
  "is-plain-obj": {
5223
  "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==",
5224
  "dev": true,
5225
  "requires": {
5226
+ "isobject": "^3.0.1"
5227
  },
5228
  "dependencies": {
5229
  "isobject": {
5264
  "integrity": "sha512-Kw/ReK0iqwKeu0MITLFuj0jbPAmEiOsIwyIXvvbfa6QfmN9pkD1M+8pdk7Rl/dTKbH34/XBFMbgD4iMJhLQbGA==",
5265
  "dev": true,
5266
  "requires": {
5267
+ "is-unc-path": "^1.0.0"
5268
  }
5269
  },
5270
  "is-supported-regexp-flag": {
5285
  "integrity": "sha512-mrGpVd0fs7WWLfVsStvgF6iEJnbjDFZh9/emhRDcGWTduTfNHd9CHeUwH3gYIjdbwo4On6hunkztwOaAw0yllQ==",
5286
  "dev": true,
5287
  "requires": {
5288
+ "unc-path-regex": "^0.1.2"
5289
  }
5290
  },
5291
  "is-utf8": {
5371
  "integrity": "sha1-A3fDgBfKvHMisNH7zSWkkWQfL74=",
5372
  "dev": true,
5373
  "requires": {
5374
+ "argparse": "^1.0.2",
5375
+ "esprima": "^2.6.0"
5376
  }
5377
  },
5378
  "jsbn": {
5394
  "integrity": "sha1-HnJSkVzmgbQIJ+4UJIxG006apiw=",
5395
  "dev": true,
5396
  "requires": {
5397
+ "cli": "~1.0.0",
5398
+ "console-browserify": "1.1.x",
5399
+ "exit": "0.1.x",
5400
+ "htmlparser2": "3.8.x",
5401
+ "lodash": "3.7.x",
5402
+ "minimatch": "~3.0.2",
5403
+ "shelljs": "0.3.x",
5404
+ "strip-json-comments": "1.0.x"
5405
  },
5406
  "dependencies": {
5407
  "lodash": {
5442
  "integrity": "sha1-mnWdOcXy/1A/1TAGRu1EX4jE+a8=",
5443
  "dev": true,
5444
  "requires": {
5445
+ "jsonify": "~0.0.0"
5446
  }
5447
  },
5448
  "json-stringify-safe": {
5463
  "integrity": "sha1-pezG9l9T9mLEQVx2daAzHQmS7GY=",
5464
  "dev": true,
5465
  "requires": {
5466
+ "graceful-fs": "^4.1.6"
5467
  }
5468
  },
5469
  "jsonify": {
5510
  "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
5511
  "dev": true,
5512
  "requires": {
5513
+ "is-buffer": "^1.1.5"
5514
  }
5515
  },
5516
  "known-css-properties": {
5525
  "integrity": "sha1-RblpQsF7HHnHchmCWbqUO+v4yls=",
5526
  "dev": true,
5527
  "requires": {
5528
+ "default-resolution": "^2.0.0",
5529
+ "es6-weak-map": "^2.0.1"
5530
  }
5531
  },
5532
  "lazystream": {
5535
  "integrity": "sha1-9plf4PggOS9hOWvolGJAe7dxaOQ=",
5536
  "dev": true,
5537
  "requires": {
5538
+ "readable-stream": "^2.0.5"
5539
  }
5540
  },
5541
  "lcid": {
5544
  "integrity": "sha1-MIrMr6C8SDo4Z7S28rlQYlHRuDU=",
5545
  "dev": true,
5546
  "requires": {
5547
+ "invert-kv": "^1.0.0"
5548
  }
5549
  },
5550
  "lead": {
5553
  "integrity": "sha1-bxT5mje+Op3XhPVJVpDlkDRm7kI=",
5554
  "dev": true,
5555
  "requires": {
5556
+ "flush-write-stream": "^1.0.2"
5557
  }
5558
  },
5559
  "liftoff": {
5562
  "integrity": "sha1-IAkpG7Mc6oYbvxCnwVooyvdcMew=",
5563
  "dev": true,
5564
  "requires": {
5565
+ "extend": "^3.0.0",
5566
+ "findup-sync": "^2.0.0",
5567
+ "fined": "^1.0.1",
5568
+ "flagged-respawn": "^1.0.0",
5569
+ "is-plain-object": "^2.0.4",
5570
+ "object.map": "^1.0.0",
5571
+ "rechoir": "^0.6.2",
5572
+ "resolve": "^1.1.7"
5573
  },
5574
  "dependencies": {
5575
  "arr-diff": {
5590
  "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==",
5591
  "dev": true,
5592
  "requires": {
5593
+ "arr-flatten": "^1.1.0",
5594
+ "array-unique": "^0.3.2",
5595
+ "extend-shallow": "^2.0.1",
5596
+ "fill-range": "^4.0.0",
5597
+ "isobject": "^3.0.1",
5598
+ "repeat-element": "^1.1.2",
5599
+ "snapdragon": "^0.8.1",
5600
+ "snapdragon-node": "^2.0.1",
5601
+ "split-string": "^3.0.2",
5602
+ "to-regex": "^3.0.1"
5603
  },
5604
  "dependencies": {
5605
  "extend-shallow": {
5608
  "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
5609
  "dev": true,
5610
  "requires": {
5611
+ "is-extendable": "^0.1.0"
5612
  }
5613
  }
5614
  }
5619
  "integrity": "sha1-t3c14xXOMPa27/D4OwQVGiJEliI=",
5620
  "dev": true,
5621
  "requires": {
5622
+ "debug": "^2.3.3",
5623
+ "define-property": "^0.2.5",
5624
+ "extend-shallow": "^2.0.1",
5625
+ "posix-character-classes": "^0.1.0",
5626
+ "regex-not": "^1.0.0",
5627
+ "snapdragon": "^0.8.1",
5628
+ "to-regex": "^3.0.1"
5629
  },
5630
  "dependencies": {
5631
  "define-property": {
5634
  "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
5635
  "dev": true,
5636
  "requires": {
5637
+ "is-descriptor": "^0.1.0"
5638
  }
5639
  },
5640
  "extend-shallow": {
5643
  "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
5644
  "dev": true,
5645
  "requires": {
5646
+ "is-extendable": "^0.1.0"
5647
  }
5648
  },
5649
  "is-accessor-descriptor": {
5652
  "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=",
5653
  "dev": true,
5654
  "requires": {
5655
+ "kind-of": "^3.0.2"
5656
  },
5657
  "dependencies": {
5658
  "kind-of": {
5661
  "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
5662
  "dev": true,
5663
  "requires": {
5664
+ "is-buffer": "^1.1.5"
5665
  }
5666
  }
5667
  }
5672
  "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=",
5673
  "dev": true,
5674
  "requires": {
5675
+ "kind-of": "^3.0.2"
5676
  },
5677
  "dependencies": {
5678
  "kind-of": {
5681
  "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
5682
  "dev": true,
5683
  "requires": {
5684
+ "is-buffer": "^1.1.5"
5685
  }
5686
  }
5687
  }
5692
  "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==",
5693
  "dev": true,
5694
  "requires": {
5695
+ "is-accessor-descriptor": "^0.1.6",
5696
+ "is-data-descriptor": "^0.1.4",
5697
+ "kind-of": "^5.0.0"
5698
  }
5699
  },
5700
  "kind-of": {
5711
  "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==",
5712
  "dev": true,
5713
  "requires": {
5714
+ "array-unique": "^0.3.2",
5715
+ "define-property": "^1.0.0",
5716
+ "expand-brackets": "^2.1.4",
5717
+ "extend-shallow": "^2.0.1",
5718
+ "fragment-cache": "^0.2.1",
5719
+ "regex-not": "^1.0.0",
5720
+ "snapdragon": "^0.8.1",
5721
+ "to-regex": "^3.0.1"
5722
  },
5723
  "dependencies": {
5724
  "define-property": {
5727
  "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=",
5728
  "dev": true,
5729
  "requires": {
5730
+ "is-descriptor": "^1.0.0"
5731
  }
5732
  },
5733
  "extend-shallow": {
5736
  "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
5737
  "dev": true,
5738
  "requires": {
5739
+ "is-extendable": "^0.1.0"
5740
  }
5741
  }
5742
  }
5747
  "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=",
5748
  "dev": true,
5749
  "requires": {
5750
+ "extend-shallow": "^2.0.1",
5751
+ "is-number": "^3.0.0",
5752
+ "repeat-string": "^1.6.1",
5753
+ "to-regex-range": "^2.1.0"
5754
  },
5755
  "dependencies": {
5756
  "extend-shallow": {
5759
  "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
5760
  "dev": true,
5761
  "requires": {
5762
+ "is-extendable": "^0.1.0"
5763
  }
5764
  }
5765
  }
5770
  "integrity": "sha1-kyaxSIwi0aYIhlCoaQGy2akKLLw=",
5771
  "dev": true,
5772
  "requires": {
5773
+ "detect-file": "^1.0.0",
5774
+ "is-glob": "^3.1.0",
5775
+ "micromatch": "^3.0.4",
5776
+ "resolve-dir": "^1.0.1"
5777
  }
5778
  },
5779
  "is-accessor-descriptor": {
5782
  "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==",
5783
  "dev": true,
5784
  "requires": {
5785
+ "kind-of": "^6.0.0"
5786
  }
5787
  },
5788
  "is-data-descriptor": {
5791
  "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==",
5792
  "dev": true,
5793
  "requires": {
5794
+ "kind-of": "^6.0.0"
5795
  }
5796
  },
5797
  "is-descriptor": {
5800
  "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==",
5801
  "dev": true,
5802
  "requires": {
5803
+ "is-accessor-descriptor": "^1.0.0",
5804
+ "is-data-descriptor": "^1.0.0",
5805
+ "kind-of": "^6.0.2"
5806
  }
5807
  },
5808
  "is-extglob": {
5817
  "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=",
5818
  "dev": true,
5819
  "requires": {
5820
+ "is-extglob": "^2.1.0"
5821
  }
5822
  },
5823
  "is-number": {
5826
  "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=",
5827
  "dev": true,
5828
  "requires": {
5829
+ "kind-of": "^3.0.2"
5830
  },
5831
  "dependencies": {
5832
  "kind-of": {
5835
  "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
5836
  "dev": true,
5837
  "requires": {
5838
+ "is-buffer": "^1.1.5"
5839
  }
5840
  }
5841
  }
5858
  "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==",
5859
  "dev": true,
5860
  "requires": {
5861
+ "arr-diff": "^4.0.0",
5862
+ "array-unique": "^0.3.2",
5863
+ "braces": "^2.3.1",
5864
+ "define-property": "^2.0.2",
5865
+ "extend-shallow": "^3.0.2",
5866
+ "extglob": "^2.0.4",
5867
+ "fragment-cache": "^0.2.1",
5868
+ "kind-of": "^6.0.2",
5869
+ "nanomatch": "^1.2.9",
5870
+ "object.pick": "^1.3.0",
5871
+ "regex-not": "^1.0.0",
5872
+ "snapdragon": "^0.8.1",
5873
+ "to-regex": "^3.0.2"
5874
  }
5875
  }
5876
  }
5877
  },
5878
  "limiter": {
5879
+ "version": "1.1.3",
5880
+ "resolved": "https://registry.npmjs.org/limiter/-/limiter-1.1.3.tgz",
5881
+ "integrity": "sha512-zrycnIMsLw/3ZxTbW7HCez56rcFGecWTx5OZNplzcXUUmJLmoYArC6qdJzmAN5BWiNXGcpjhF9RQ1HSv5zebEw==",
5882
  "dev": true
5883
  },
5884
  "livereload-js": {
5893
  "integrity": "sha1-lWkFcI1YtLq0wiYbBPWfMcmTdMA=",
5894
  "dev": true,
5895
  "requires": {
5896
+ "graceful-fs": "^4.1.2",
5897
+ "parse-json": "^2.2.0",
5898
+ "pify": "^2.0.0",
5899
+ "pinkie-promise": "^2.0.0",
5900
+ "strip-bom": "^2.0.0"
5901
  }
5902
  },
5903
  "localtunnel": {
5904
+ "version": "1.9.0",
5905
+ "resolved": "https://registry.npmjs.org/localtunnel/-/localtunnel-1.9.0.tgz",
5906
+ "integrity": "sha512-wCIiIHJ8kKIcWkTQE3m1VRABvsH2ZuOkiOpZUofUCf6Q42v3VIZ+Q0YfX1Z4sYDRj0muiKL1bLvz1FeoxsPO0w==",
5907
  "dev": true,
5908
  "requires": {
5909
+ "axios": "0.17.1",
5910
  "debug": "2.6.8",
5911
  "openurl": "1.1.1",
5912
+ "yargs": "6.6.0"
 
5913
  },
5914
  "dependencies": {
5915
  "debug": {
5922
  }
5923
  },
5924
  "yargs": {
5925
+ "version": "6.6.0",
5926
+ "resolved": "https://registry.npmjs.org/yargs/-/yargs-6.6.0.tgz",
5927
+ "integrity": "sha1-eC7CHvQDNF+DCoCMo9UTr1YGUgg=",
5928
+ "dev": true,
5929
+ "requires": {
5930
+ "camelcase": "^3.0.0",
5931
+ "cliui": "^3.2.0",
5932
+ "decamelize": "^1.1.1",
5933
+ "get-caller-file": "^1.0.1",
5934
+ "os-locale": "^1.4.0",
5935
+ "read-pkg-up": "^1.0.1",
5936
+ "require-directory": "^2.1.1",
5937
+ "require-main-filename": "^1.0.1",
5938
+ "set-blocking": "^2.0.0",
5939
+ "string-width": "^1.0.2",
5940
+ "which-module": "^1.0.0",
5941
+ "y18n": "^3.2.1",
5942
+ "yargs-parser": "^4.2.0"
5943
  }
5944
  }
5945
  }
5950
  "integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=",
5951
  "dev": true,
5952
  "requires": {
5953
+ "p-locate": "^2.0.0",
5954
+ "path-exists": "^3.0.0"
5955
  },
5956
  "dependencies": {
5957
  "path-exists": {
5998
  "integrity": "sha512-VeIAFslyIerEJLXHziedo2basKbMKtTw3vfn5IzG0XTjhAVEJyNHnL2p7vc+wBDSdQuUpNw3M2u6xb9QsAY5Eg==",
5999
  "dev": true,
6000
  "requires": {
6001
+ "chalk": "^2.0.1"
6002
  }
6003
  },
6004
  "longest-streak": {
6013
  "integrity": "sha1-0aitM/qc4OcT1l/dCsi3SNR4yEg=",
6014
  "dev": true,
6015
  "requires": {
6016
+ "js-tokens": "^3.0.0"
6017
  }
6018
  },
6019
  "loud-rejection": {
6022
  "integrity": "sha1-W0b4AUft7leIcPCG0Eghz5mOVR8=",
6023
  "dev": true,
6024
  "requires": {
6025
+ "currently-unhandled": "^0.4.1",
6026
+ "signal-exit": "^3.0.0"
6027
  }
6028
  },
6029
  "lru-cache": {
6032
  "integrity": "sha512-wgeVXhrDwAWnIF/yZARsFnMBtdFXOg1b8RIrhilp+0iDYN4mdQcNZElDZ0e4B64BhaxeQ5zN7PMyvu7we1kPeQ==",
6033
  "dev": true,
6034
  "requires": {
6035
+ "pseudomap": "^1.0.2",
6036
+ "yallist": "^2.1.2"
6037
  }
6038
  },
6039
  "make-iterator": {
6042
  "integrity": "sha512-pxiuXh0iVEq7VM7KMIhs5gxsfxCux2URptUQaXo4iZZJxBAzTPOLE2BumO5dbfVYq/hBJFBR/a1mFDmOx5AGmw==",
6043
  "dev": true,
6044
  "requires": {
6045
+ "kind-of": "^6.0.2"
6046
  },
6047
  "dependencies": {
6048
  "kind-of": {
6071
  "integrity": "sha1-7Nyo8TFE5mDxtb1B8S80edmN+48=",
6072
  "dev": true,
6073
  "requires": {
6074
+ "object-visit": "^1.0.0"
6075
  }
6076
  },
6077
  "markdown-escapes": {
6092
  "integrity": "sha1-xvNINKDY28OzfCfui7yyfHd1WC4=",
6093
  "dev": true,
6094
  "requires": {
6095
+ "findup-sync": "^2.0.0",
6096
+ "micromatch": "^3.0.4",
6097
+ "resolve": "^1.4.0",
6098
  "stack-trace": "0.0.10"
6099
  },
6100
  "dependencies": {
6116
  "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==",
6117
  "dev": true,
6118
  "requires": {
6119
+ "arr-flatten": "^1.1.0",
6120
+ "array-unique": "^0.3.2",
6121
+ "extend-shallow": "^2.0.1",
6122
+ "fill-range": "^4.0.0",
6123
+ "isobject": "^3.0.1",
6124
+ "repeat-element": "^1.1.2",
6125
+ "snapdragon": "^0.8.1",
6126
+ "snapdragon-node": "^2.0.1",
6127
+ "split-string": "^3.0.2",
6128
+ "to-regex": "^3.0.1"
6129
  },
6130
  "dependencies": {
6131
  "extend-shallow": {
6134
  "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
6135
  "dev": true,
6136
  "requires": {
6137
+ "is-extendable": "^0.1.0"
6138
  }
6139
  }
6140
  }
6145
  "integrity": "sha1-t3c14xXOMPa27/D4OwQVGiJEliI=",
6146
  "dev": true,
6147
  "requires": {
6148
+ "debug": "^2.3.3",
6149
+ "define-property": "^0.2.5",
6150
+ "extend-shallow": "^2.0.1",
6151
+ "posix-character-classes": "^0.1.0",
6152
+ "regex-not": "^1.0.0",
6153
+ "snapdragon": "^0.8.1",
6154
+ "to-regex": "^3.0.1"
6155
  },
6156
  "dependencies": {
6157
  "define-property": {
6160
  "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
6161
  "dev": true,
6162
  "requires": {
6163
+ "is-descriptor": "^0.1.0"
6164
  }
6165
  },
6166
  "extend-shallow": {
6169
  "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
6170
  "dev": true,
6171
  "requires": {
6172
+ "is-extendable": "^0.1.0"
6173
  }
6174
  },
6175
  "is-accessor-descriptor": {
6178
  "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=",
6179
  "dev": true,
6180
  "requires": {
6181
+ "kind-of": "^3.0.2"
6182
  },
6183
  "dependencies": {
6184
  "kind-of": {
6187
  "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
6188
  "dev": true,
6189
  "requires": {
6190
+ "is-buffer": "^1.1.5"
6191
  }
6192
  }
6193
  }
6198
  "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=",
6199
  "dev": true,
6200
  "requires": {
6201
+ "kind-of": "^3.0.2"
6202
  },
6203
  "dependencies": {
6204
  "kind-of": {
6207
  "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
6208
  "dev": true,
6209
  "requires": {
6210
+ "is-buffer": "^1.1.5"
6211
  }
6212
  }
6213
  }
6218
  "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==",
6219
  "dev": true,
6220
  "requires": {
6221
+ "is-accessor-descriptor": "^0.1.6",
6222
+ "is-data-descriptor": "^0.1.4",
6223
+ "kind-of": "^5.0.0"
6224
  }
6225
  },
6226
  "kind-of": {
6237
  "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==",
6238
  "dev": true,
6239
  "requires": {
6240
+ "array-unique": "^0.3.2",
6241
+ "define-property": "^1.0.0",
6242
+ "expand-brackets": "^2.1.4",
6243
+ "extend-shallow": "^2.0.1",
6244
+ "fragment-cache": "^0.2.1",
6245
+ "regex-not": "^1.0.0",
6246
+ "snapdragon": "^0.8.1",
6247
+ "to-regex": "^3.0.1"
6248
  },
6249
  "dependencies": {
6250
  "define-property": {
6253
  "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=",
6254
  "dev": true,
6255
  "requires": {
6256
+ "is-descriptor": "^1.0.0"
6257
  }
6258
  },
6259
  "extend-shallow": {
6262
  "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
6263
  "dev": true,
6264
  "requires": {
6265
+ "is-extendable": "^0.1.0"
6266
  }
6267
  }
6268
  }
6273
  "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=",
6274
  "dev": true,
6275
  "requires": {
6276
+ "extend-shallow": "^2.0.1",
6277
+ "is-number": "^3.0.0",
6278
+ "repeat-string": "^1.6.1",
6279
+ "to-regex-range": "^2.1.0"
6280
  },
6281
  "dependencies": {
6282
  "extend-shallow": {
6285
  "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
6286
  "dev": true,
6287
  "requires": {
6288
+ "is-extendable": "^0.1.0"
6289
  }
6290
  }
6291
  }
6296
  "integrity": "sha1-kyaxSIwi0aYIhlCoaQGy2akKLLw=",
6297
  "dev": true,
6298
  "requires": {
6299
+ "detect-file": "^1.0.0",
6300
+ "is-glob": "^3.1.0",
6301
+ "micromatch": "^3.0.4",
6302
+ "resolve-dir": "^1.0.1"
6303
  }
6304
  },
6305
  "is-accessor-descriptor": {
6308
  "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==",
6309
  "dev": true,
6310
  "requires": {
6311
+ "kind-of": "^6.0.0"
6312
  }
6313
  },
6314
  "is-data-descriptor": {
6317
  "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==",
6318
  "dev": true,
6319
  "requires": {
6320
+ "kind-of": "^6.0.0"
6321
  }
6322
  },
6323
  "is-descriptor": {
6326
  "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==",
6327
  "dev": true,
6328
  "requires": {
6329
+ "is-accessor-descriptor": "^1.0.0",
6330
+ "is-data-descriptor": "^1.0.0",
6331
+ "kind-of": "^6.0.2"
6332
  }
6333
  },
6334
  "is-extglob": {
6343
  "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=",
6344
  "dev": true,
6345
  "requires": {
6346
+ "is-extglob": "^2.1.0"
6347
  }
6348
  },
6349
  "is-number": {
6352
  "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=",
6353
  "dev": true,
6354
  "requires": {
6355
+ "kind-of": "^3.0.2"
6356
  },
6357
  "dependencies": {
6358
  "kind-of": {
6361
  "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
6362
  "dev": true,
6363
  "requires": {
6364
+ "is-buffer": "^1.1.5"
6365
  }
6366
  }
6367
  }
6384
  "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==",
6385
  "dev": true,
6386
  "requires": {
6387
+ "arr-diff": "^4.0.0",
6388
+ "array-unique": "^0.3.2",
6389
+ "braces": "^2.3.1",
6390
+ "define-property": "^2.0.2",
6391
+ "extend-shallow": "^3.0.2",
6392
+ "extglob": "^2.0.4",
6393
+ "fragment-cache": "^0.2.1",
6394
+ "kind-of": "^6.0.2",
6395
+ "nanomatch": "^1.2.9",
6396
+ "object.pick": "^1.3.0",
6397
+ "regex-not": "^1.0.0",
6398
+ "snapdragon": "^0.8.1",
6399
+ "to-regex": "^3.0.2"
6400
  }
6401
  },
6402
  "resolve": {
6405
  "integrity": "sha512-QdgZ5bjR1WAlpLaO5yHepFvC+o3rCr6wpfE2tpJNMkXdulf2jKomQBdNRQITF3ZKHNlT71syG98yQP03gasgnA==",
6406
  "dev": true,
6407
  "requires": {
6408
+ "path-parse": "^1.0.5"
6409
  }
6410
  }
6411
  }
6422
  "integrity": "sha1-TTsiCQPZXu5+t6x/qGTnLcCaMWY=",
6423
  "dev": true,
6424
  "requires": {
6425
+ "chalk": "^1.0.0",
6426
+ "figures": "^1.0.1",
6427
+ "gzip-size": "^3.0.0",
6428
+ "pretty-bytes": "^3.0.0"
6429
  },
6430
  "dependencies": {
6431
  "ansi-styles": {
6440
  "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=",
6441
  "dev": true,
6442
  "requires": {
6443
+ "ansi-styles": "^2.2.1",
6444
+ "escape-string-regexp": "^1.0.2",
6445
+ "has-ansi": "^2.0.0",
6446
+ "strip-ansi": "^3.0.0",
6447
+ "supports-color": "^2.0.0"
6448
  }
6449
  },
6450
  "pretty-bytes": {
6453
  "integrity": "sha1-J9AAjXeAY6C0gRuzXHnxvV1fvM8=",
6454
  "dev": true,
6455
  "requires": {
6456
+ "number-is-nan": "^1.0.0"
6457
  }
6458
  },
6459
  "supports-color": {
6470
  "integrity": "sha1-zbX4TitqLTEU3zO9BdnLMuPECDo=",
6471
  "dev": true,
6472
  "requires": {
6473
+ "unist-util-modify-children": "^1.0.0",
6474
+ "unist-util-visit": "^1.1.0"
6475
  }
6476
  },
6477
  "media-typer": {
6486
  "integrity": "sha1-cstmi0JSKCkKu/qFaJJYcwioAfs=",
6487
  "dev": true,
6488
  "requires": {
6489
+ "camelcase-keys": "^2.0.0",
6490
+ "decamelize": "^1.1.2",
6491
+ "loud-rejection": "^1.0.0",
6492
+ "map-obj": "^1.0.1",
6493
+ "minimist": "^1.1.3",
6494
+ "normalize-package-data": "^2.3.4",
6495
+ "object-assign": "^4.0.1",
6496
+ "read-pkg-up": "^1.0.1",
6497
+ "redent": "^1.0.0",
6498
+ "trim-newlines": "^1.0.0"
6499
  }
6500
  },
6501
  "merge2": {
6510
  "integrity": "sha1-hmd8l9FyCzY0MdBNDRUpO9OMFWU=",
6511
  "dev": true,
6512
  "requires": {
6513
+ "arr-diff": "^2.0.0",
6514
+ "array-unique": "^0.2.1",
6515
+ "braces": "^1.8.2",
6516
+ "expand-brackets": "^0.1.4",
6517
+ "extglob": "^0.3.1",
6518
+ "filename-regex": "^2.0.0",
6519
+ "is-extglob": "^1.0.0",
6520
+ "is-glob": "^2.0.1",
6521
+ "kind-of": "^3.0.2",
6522
+ "normalize-path": "^2.0.1",
6523
+ "object.omit": "^2.0.0",
6524
+ "parse-glob": "^3.0.4",
6525
+ "regex-cache": "^0.4.2"
6526
  }
6527
  },
6528
  "mime": {
6529
+ "version": "1.4.1",
6530
+ "resolved": "https://registry.npmjs.org/mime/-/mime-1.4.1.tgz",
6531
+ "integrity": "sha512-KI1+qOZu5DcW6wayYHSzR/tXKCDC5Om4s1z2QJjDULzLcmf3DvzS7oluY4HCTrc+9FiKmWUgeNLg7W3uIQvxtQ==",
6532
  "dev": true
6533
  },
6534
  "mime-db": {
6543
  "integrity": "sha512-lc/aahn+t4/SWV/qcmumYjymLsWfN3ELhpmVuUFjgsORruuZPVSwAQryq+HHGvO/SI2KVX26bx+En+zhM8g8hQ==",
6544
  "dev": true,
6545
  "requires": {
6546
+ "mime-db": "~1.33.0"
6547
  }
6548
  },
6549
  "mimic-response": {
6559
  "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==",
6560
  "dev": true,
6561
  "requires": {
6562
+ "brace-expansion": "^1.1.7"
6563
  }
6564
  },
6565
  "minimist": {
6574
  "integrity": "sha512-FyBrT/d0d4+uiZRbqznPXqw3IpZZG3gl3wKWiX784FycUKVwBt0uLBFkQrtE4tZOrgo78nZp2jnKz3L65T5LdQ==",
6575
  "dev": true,
6576
  "requires": {
6577
+ "arrify": "^1.0.1",
6578
+ "is-plain-obj": "^1.1.0"
6579
  }
6580
  },
6581
  "mixin-deep": {
6584
  "integrity": "sha512-8ZItLHeEgaqEvd5lYBXfm4EZSFCX29Jb9K+lAHhDKzReKBQKj3R+7NOF6tjqYi9t4oI8VUfaWITJQm86wnXGNQ==",
6585
  "dev": true,
6586
  "requires": {
6587
+ "for-in": "^1.0.2",
6588
+ "is-extendable": "^1.0.1"
6589
  },
6590
  "dependencies": {
6591
  "is-extendable": {
6594
  "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==",
6595
  "dev": true,
6596
  "requires": {
6597
+ "is-plain-object": "^2.0.4"
6598
  }
6599
  }
6600
  }
6640
  "integrity": "sha512-n8R9bS8yQ6eSXaV6jHUpKzD8gLsin02w1HSFiegwrs9E098Ylhw5jdyKPaYqvHknHaSCKTPp7C8dGCQ0q9koXA==",
6641
  "dev": true,
6642
  "requires": {
6643
+ "arr-diff": "^4.0.0",
6644
+ "array-unique": "^0.3.2",
6645
+ "define-property": "^2.0.2",
6646
+ "extend-shallow": "^3.0.2",
6647
+ "fragment-cache": "^0.2.1",
6648
+ "is-odd": "^2.0.0",
6649
+ "is-windows": "^1.0.2",
6650
+ "kind-of": "^6.0.2",
6651
+ "object.pick": "^1.3.0",
6652
+ "regex-not": "^1.0.0",
6653
+ "snapdragon": "^0.8.1",
6654
+ "to-regex": "^3.0.1"
6655
  },
6656
  "dependencies": {
6657
  "arr-diff": {
6693
  "dev": true,
6694
  "optional": true,
6695
  "requires": {
6696
+ "semver": "^5.4.1"
6697
  }
6698
  },
6699
  "node-gyp": {
6702
  "integrity": "sha1-m/vlRWIoYoSDjnUOrAUpWFP6HGA=",
6703
  "dev": true,
6704
  "requires": {
6705
+ "fstream": "^1.0.0",
6706
+ "glob": "^7.0.3",
6707
+ "graceful-fs": "^4.1.2",
6708
+ "minimatch": "^3.0.2",
6709
+ "mkdirp": "^0.5.0",
6710
+ "nopt": "2 || 3",
6711
+ "npmlog": "0 || 1 || 2 || 3 || 4",
6712
+ "osenv": "0",
6713
+ "request": "2",
6714
+ "rimraf": "2",
6715
+ "semver": "~5.3.0",
6716
+ "tar": "^2.0.0",
6717
+ "which": "1"
6718
  },
6719
  "dependencies": {
6720
  "semver": {
6731
  "integrity": "sha512-tfFWhUsCk/Y19zarDcPo5xpj+IW3qCfOjVdHtYeG6S1CKbQOh1zqylnQK6cV3z9k80yxAnFX9Y+a9+XysDhhfg==",
6732
  "dev": true,
6733
  "requires": {
6734
+ "async-foreach": "^0.1.3",
6735
+ "chalk": "^1.1.1",
6736
+ "cross-spawn": "^3.0.0",
6737
+ "gaze": "^1.0.0",
6738
+ "get-stdin": "^4.0.1",
6739
+ "glob": "^7.0.3",
6740
+ "in-publish": "^2.0.0",
6741
+ "lodash.assign": "^4.2.0",
6742
+ "lodash.clonedeep": "^4.3.2",
6743
+ "lodash.mergewith": "^4.6.0",
6744
+ "meow": "^3.7.0",
6745
+ "mkdirp": "^0.5.1",
6746
+ "nan": "^2.10.0",
6747
+ "node-gyp": "^3.3.1",
6748
+ "npmlog": "^4.0.0",
6749
+ "request": "~2.79.0",
6750
+ "sass-graph": "^2.2.4",
6751
+ "stdout-stream": "^1.4.0",
6752
+ "true-case-path": "^1.0.2"
6753
  },
6754
  "dependencies": {
6755
  "ansi-styles": {
6770
  "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=",
6771
  "dev": true,
6772
  "requires": {
6773
+ "ansi-styles": "^2.2.1",
6774
+ "escape-string-regexp": "^1.0.2",
6775
+ "has-ansi": "^2.0.0",
6776
+ "strip-ansi": "^3.0.0",
6777
+ "supports-color": "^2.0.0"
6778
  }
6779
  },
6780
  "har-validator": {
6783
  "integrity": "sha1-zcvAgYgmWtEZtqWnyKtw7s+10n0=",
6784
  "dev": true,
6785
  "requires": {
6786
+ "chalk": "^1.1.1",
6787
+ "commander": "^2.9.0",
6788
+ "is-my-json-valid": "^2.12.4",
6789
+ "pinkie-promise": "^2.0.0"
6790
  }
6791
  },
6792
  "qs": {
6801
  "integrity": "sha1-Tf5b9r6LjNw3/Pk+BLZVd3InEN4=",
6802
  "dev": true,
6803
  "requires": {
6804
+ "aws-sign2": "~0.6.0",
6805
+ "aws4": "^1.2.1",
6806
+ "caseless": "~0.11.0",
6807
+ "combined-stream": "~1.0.5",
6808
+ "extend": "~3.0.0",
6809
+ "forever-agent": "~0.6.1",
6810
+ "form-data": "~2.1.1",
6811
+ "har-validator": "~2.0.6",
6812
+ "hawk": "~3.1.3",
6813
+ "http-signature": "~1.1.0",
6814
+ "is-typedarray": "~1.0.0",
6815
+ "isstream": "~0.1.2",
6816
+ "json-stringify-safe": "~5.0.1",
6817
+ "mime-types": "~2.1.7",
6818
+ "oauth-sign": "~0.8.1",
6819
+ "qs": "~6.3.0",
6820
+ "stringstream": "~0.0.4",
6821
+ "tough-cookie": "~2.3.0",
6822
+ "tunnel-agent": "~0.4.1",
6823
+ "uuid": "^3.0.0"
6824
  }
6825
  },
6826
  "supports-color": {
6843
  "integrity": "sha512-SI3+vhddQDBh2pkOowqPdXs/YN/bRnNvR4gDmcSJaQ4P+z8jSuPRZTFFClaD/fVv0AG0zY/ku07oQuayr844Mg==",
6844
  "dev": true,
6845
  "requires": {
6846
+ "bluebird": "^3.4.1",
6847
+ "gettext-parser": "^1.2.0",
6848
+ "glob": "^7.0.5",
6849
+ "lodash": "^4.14.2",
6850
+ "minimist": "^1.2.0",
6851
+ "mkdirp": "^0.5.1",
6852
+ "tmp": "^0.0.33"
6853
  },
6854
  "dependencies": {
6855
  "lodash": {
6873
  "integrity": "sha1-xkZdvwirzU2zWTF/eaxopkayj/k=",
6874
  "dev": true,
6875
  "requires": {
6876
+ "abbrev": "1"
6877
  }
6878
  },
6879
  "normalize-package-data": {
6882
  "integrity": "sha512-9jjUFbTPfEy3R/ad/2oNbKtW9Hgovl5O1FvFWKkKblNXoN/Oou6+9+KKohPK13Yc3/TyunyWhJp6gvRNR/PPAw==",
6883
  "dev": true,
6884
  "requires": {
6885
+ "hosted-git-info": "^2.1.4",
6886
+ "is-builtin-module": "^1.0.0",
6887
+ "semver": "2 || 3 || 4 || 5",
6888
+ "validate-npm-package-license": "^3.0.1"
6889
  }
6890
  },
6891
  "normalize-path": {
6894
  "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=",
6895
  "dev": true,
6896
  "requires": {
6897
+ "remove-trailing-separator": "^1.0.1"
6898
  }
6899
  },
6900
  "normalize-range": {
6915
  "integrity": "sha1-vGHLtFbXnLMiB85HygUTb/Ln1u4=",
6916
  "dev": true,
6917
  "requires": {
6918
+ "once": "^1.3.2"
6919
  }
6920
  },
6921
  "npmlog": {
6924
  "integrity": "sha512-2uUqazuKlTaSI/dC8AzicUck7+IrEaOnN/e0jd3Xtt1KcGpwx30v50mL7oPyr/h9bL3E4aZccVwpwP+5W9Vjkg==",
6925
  "dev": true,
6926
  "requires": {
6927
+ "are-we-there-yet": "~1.1.2",
6928
+ "console-control-strings": "~1.1.0",
6929
+ "gauge": "~2.7.3",
6930
+ "set-blocking": "~2.0.0"
6931
  }
6932
  },
6933
  "num2fraction": {
6966
  "integrity": "sha1-fn2Fi3gb18mRpBupde04EnVOmYw=",
6967
  "dev": true,
6968
  "requires": {
6969
+ "copy-descriptor": "^0.1.0",
6970
+ "define-property": "^0.2.5",
6971
+ "kind-of": "^3.0.3"
6972
  },
6973
  "dependencies": {
6974
  "define-property": {
6977
  "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
6978
  "dev": true,
6979
  "requires": {
6980
+ "is-descriptor": "^0.1.0"
6981
  }
6982
  }
6983
  }
7000
  "integrity": "sha1-95xEk68MU3e1n+OdOV5BBC3QRbs=",
7001
  "dev": true,
7002
  "requires": {
7003
+ "isobject": "^3.0.0"
7004
  },
7005
  "dependencies": {
7006
  "isobject": {
7017
  "integrity": "sha512-exHJeq6kBKj58mqGyTQ9DFvrZC/eR6OwxzoM9YRoGBqrXYonaFyGiFMuc9VZrXf7DarreEwMpurG3dd+CNyW5w==",
7018
  "dev": true,
7019
  "requires": {
7020
+ "define-properties": "^1.1.2",
7021
+ "function-bind": "^1.1.1",
7022
+ "has-symbols": "^1.0.0",
7023
+ "object-keys": "^1.0.11"
7024
  }
7025
  },
7026
  "object.defaults": {
7029
  "integrity": "sha1-On+GgzS0B96gbaFtiNXNKeQ1/s8=",
7030
  "dev": true,
7031
  "requires": {
7032
+ "array-each": "^1.0.1",
7033
+ "array-slice": "^1.0.0",
7034
+ "for-own": "^1.0.0",
7035
+ "isobject": "^3.0.0"
7036
  },
7037
  "dependencies": {
7038
  "for-own": {
7041
  "integrity": "sha1-xjMy9BXO3EsE2/5wz4NklMU8tEs=",
7042
  "dev": true,
7043
  "requires": {
7044
+ "for-in": "^1.0.1"
7045
  }
7046
  },
7047
  "isobject": {
7058
  "integrity": "sha1-z4Plncj8wK1fQlDh94s7gb2AHTc=",
7059
  "dev": true,
7060
  "requires": {
7061
+ "for-own": "^1.0.0",
7062
+ "make-iterator": "^1.0.0"
7063
  },
7064
  "dependencies": {
7065
  "for-own": {
7068
  "integrity": "sha1-xjMy9BXO3EsE2/5wz4NklMU8tEs=",
7069
  "dev": true,
7070
  "requires": {
7071
+ "for-in": "^1.0.1"
7072
  }
7073
  }
7074
  }
7079
  "integrity": "sha1-Gpx0SCnznbuFjHbKNXmuKlTr0fo=",
7080
  "dev": true,
7081
  "requires": {
7082
+ "for-own": "^0.1.4",
7083
+ "is-extendable": "^0.1.1"
7084
  }
7085
  },
7086
  "object.pick": {
7089
  "integrity": "sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c=",
7090
  "dev": true,
7091
  "requires": {
7092
+ "isobject": "^3.0.1"
7093
  },
7094
  "dependencies": {
7095
  "isobject": {
7106
  "integrity": "sha1-b+NI8qx/oPlcpiEiZZkJaCW7A60=",
7107
  "dev": true,
7108
  "requires": {
7109
+ "for-own": "^1.0.0",
7110
+ "make-iterator": "^1.0.0"
7111
  },
7112
  "dependencies": {
7113
  "for-own": {
7116
  "integrity": "sha1-xjMy9BXO3EsE2/5wz4NklMU8tEs=",
7117
  "dev": true,
7118
  "requires": {
7119
+ "for-in": "^1.0.1"
7120
  }
7121
  }
7122
  }
7136
  "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=",
7137
  "dev": true,
7138
  "requires": {
7139
+ "wrappy": "1"
7140
  }
7141
  },
7142
  "onetime": {
7157
  "integrity": "sha1-erwi5kTf9jsKltWrfyeQwPAavJU=",
7158
  "dev": true,
7159
  "requires": {
7160
+ "object-assign": "^4.0.1",
7161
+ "pinkie-promise": "^2.0.0"
7162
  }
7163
  },
7164
  "ordered-read-streams": {
7167
  "integrity": "sha1-d8DLN8QVJdZBZtmQ/61+xqDhNj4=",
7168
  "dev": true,
7169
  "requires": {
7170
+ "readable-stream": "^2.0.1"
7171
  }
7172
  },
7173
  "os-homedir": {
7182
  "integrity": "sha1-IPnxeuKe00XoveWDsT0gCYA8FNk=",
7183
  "dev": true,
7184
  "requires": {
7185
+ "lcid": "^1.0.0"
7186
  }
7187
  },
7188
  "os-tmpdir": {
7197
  "integrity": "sha512-0CWcCECdMVc2Rw3U5w9ZjqX6ga6ubk1xDVKxtBQPK7wis/0F2r9T6k4ydGYhecl7YUBxBVxhL5oisPsNxAPe2g==",
7198
  "dev": true,
7199
  "requires": {
7200
+ "os-homedir": "^1.0.0",
7201
+ "os-tmpdir": "^1.0.0"
7202
  }
7203
  },
7204
  "p-limit": {
7207
  "integrity": "sha512-Y/OtIaXtUPr4/YpMv1pCL5L5ed0rumAaAeBSj12F+bSlMdys7i8oQF/GUJmfpTS/QoaRrS/k6pma29haJpsMng==",
7208
  "dev": true,
7209
  "requires": {
7210
+ "p-try": "^1.0.0"
7211
  }
7212
  },
7213
  "p-locate": {
7216
  "integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=",
7217
  "dev": true,
7218
  "requires": {
7219
+ "p-limit": "^1.1.0"
7220
  }
7221
  },
7222
  "p-try": {
7237
  "integrity": "sha1-gRLYhHExnyerrk1klksSL+ThuJA=",
7238
  "dev": true,
7239
  "requires": {
7240
+ "character-entities": "^1.0.0",
7241
+ "character-entities-legacy": "^1.0.0",
7242
+ "character-reference-invalid": "^1.0.0",
7243
+ "is-alphanumerical": "^1.0.0",
7244
+ "is-decimal": "^1.0.0",
7245
+ "is-hexadecimal": "^1.0.0"
7246
  }
7247
  },
7248
  "parse-filepath": {
7251
  "integrity": "sha1-pjISf1Oq89FYdvWHLz/6x2PWyJE=",
7252
  "dev": true,
7253
  "requires": {
7254
+ "is-absolute": "^1.0.0",
7255
+ "map-cache": "^0.2.0",
7256
+ "path-root": "^0.1.1"
7257
  }
7258
  },
7259
  "parse-glob": {
7262
  "integrity": "sha1-ssN2z7EfNVE7rdFz7wu246OIORw=",
7263
  "dev": true,
7264
  "requires": {
7265
+ "glob-base": "^0.3.0",
7266
+ "is-dotfile": "^1.0.0",
7267
+ "is-extglob": "^1.0.0",
7268
+ "is-glob": "^2.0.0"
7269
  }
7270
  },
7271
  "parse-json": {
7274
  "integrity": "sha1-9ID0BDTvgHQfhGkJn43qGPVaTck=",
7275
  "dev": true,
7276
  "requires": {
7277
+ "error-ex": "^1.2.0"
7278
  }
7279
  },
7280
  "parse-passwd": {
7289
  "integrity": "sha1-1SCKNzjkZ2bikbouoXNoSSGouJ0=",
7290
  "dev": true,
7291
  "requires": {
7292
+ "better-assert": "~1.0.0"
7293
  }
7294
  },
7295
  "parseuri": {
7298
  "integrity": "sha1-gCBKUNTbt3m/3G6+J3jZDkvOMgo=",
7299
  "dev": true,
7300
  "requires": {
7301
+ "better-assert": "~1.0.0"
7302
  }
7303
  },
7304
  "parseurl": {
7325
  "integrity": "sha1-D+tsZPD8UY2adU3V77YscCJ2H0s=",
7326
  "dev": true,
7327
  "requires": {
7328
+ "pinkie-promise": "^2.0.0"
7329
  }
7330
  },
7331
  "path-is-absolute": {
7352
  "integrity": "sha1-mkpoFMrBwM1zNgqV8yCDyOpHRbc=",
7353
  "dev": true,
7354
  "requires": {
7355
+ "path-root-regex": "^0.1.0"
7356
  }
7357
  },
7358
  "path-root-regex": {
7367
  "integrity": "sha1-WcRPfuSR2nBNpBXaWkBwuk+P5EE=",
7368
  "dev": true,
7369
  "requires": {
7370
+ "graceful-fs": "^4.1.2",
7371
+ "pify": "^2.0.0",
7372
+ "pinkie-promise": "^2.0.0"
7373
  }
7374
  },
7375
  "performance-now": {
7396
  "integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=",
7397
  "dev": true,
7398
  "requires": {
7399
+ "pinkie": "^2.0.0"
7400
  }
7401
  },
7402
  "plugin-error": {
7405
  "integrity": "sha512-L1zP0dk7vGweZME2i+EeakvUNqSrdiI3F91TwEoYiGrAfUXmVv6fJIq4g82PAXxNsWOp0J7ZqQy/3Szz0ajTxA==",
7406
  "dev": true,
7407
  "requires": {
7408
+ "ansi-colors": "^1.0.1",
7409
+ "arr-diff": "^4.0.0",
7410
+ "arr-union": "^3.1.0",
7411
+ "extend-shallow": "^3.0.2"
7412
  },
7413
  "dependencies": {
7414
  "arr-diff": {
7426
  "dev": true,
7427
  "requires": {
7428
  "async": "1.5.2",
7429
+ "is-number-like": "^1.0.3"
7430
  }
7431
  },
7432
  "posix-character-classes": {
7441
  "integrity": "sha512-y/bKfbQz2Nn/QBC08bwvYUxEFOVGfPIUOTsJ2CK5inzlXW9SdYR1x4pEsG9blRAF/PX+wRNdOah+gx/hv4q7dw==",
7442
  "dev": true,
7443
  "requires": {
7444
+ "chalk": "^2.3.2",
7445
+ "source-map": "^0.6.1",
7446
+ "supports-color": "^5.3.0"
7447
  }
7448
  },
7449
  "postcss-html": {
7452
  "integrity": "sha512-7llFZ5hlINmUu/8iUBIXCTZ4OMyGB+NBeb7jDadXrH9g+hpcUEBhZv3rjqesmOsHNC3bITqx1EkVz77RuHJygw==",
7453
  "dev": true,
7454
  "requires": {
7455
+ "@babel/core": "^7.0.0-beta.42",
7456
+ "@babel/traverse": "^7.0.0-beta.42",
7457
+ "babylon": "^7.0.0-beta.42",
7458
+ "htmlparser2": "^3.9.2",
7459
+ "remark": "^9.0.0",
7460
+ "unist-util-find-all-after": "^1.0.1"
7461
  },
7462
  "dependencies": {
7463
  "entities": {
7472
  "integrity": "sha1-G9+HrMoPP55T+k/M6w9LTLsAszg=",
7473
  "dev": true,
7474
  "requires": {
7475
+ "domelementtype": "^1.3.0",
7476
+ "domhandler": "^2.3.0",
7477
+ "domutils": "^1.5.1",
7478
+ "entities": "^1.1.1",
7479
+ "inherits": "^2.0.1",
7480
+ "readable-stream": "^2.0.2"
7481
  }
7482
  }
7483
  }
7488
  "integrity": "sha512-QQIiIqgEjNnquc0d4b6HDOSFZxbFQoy4MPpli2lSLpKhMyBkKwwca2HFqu4xzxlKID/F2fxSOowwtKpgczhF7A==",
7489
  "dev": true,
7490
  "requires": {
7491
+ "postcss": "^5.2.16"
7492
  },
7493
  "dependencies": {
7494
  "ansi-styles": {
7503
  "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=",
7504
  "dev": true,
7505
  "requires": {
7506
+ "ansi-styles": "^2.2.1",
7507
+ "escape-string-regexp": "^1.0.2",
7508
+ "has-ansi": "^2.0.0",
7509
+ "strip-ansi": "^3.0.0",
7510
+ "supports-color": "^2.0.0"
7511
  },
7512
  "dependencies": {
7513
  "supports-color": {
7530
  "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==",
7531
  "dev": true,
7532
  "requires": {
7533
+ "chalk": "^1.1.3",
7534
+ "js-base64": "^2.1.9",
7535
+ "source-map": "^0.5.6",
7536
+ "supports-color": "^3.2.3"
7537
  }
7538
  },
7539
  "source-map": {
7548
  "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=",
7549
  "dev": true,
7550
  "requires": {
7551
+ "has-flag": "^1.0.0"
7552
  }
7553
  }
7554
  }
7565
  "integrity": "sha512-rBkDbaHAu5uywbCR2XE8a25tats3xSOsGNx6mppK6Q9kSFGKc/FyAzfci+fWM2l+K402p1D0pNcfDGxeje5IKg==",
7566
  "dev": true,
7567
  "requires": {
7568
+ "chalk": "^2.0.1",
7569
+ "lodash": "^4.17.4",
7570
+ "log-symbols": "^2.0.0",
7571
+ "postcss": "^6.0.8"
7572
  },
7573
  "dependencies": {
7574
  "lodash": {
7591
  "integrity": "sha1-t1Pv9sfArqXoN1++TN6L+QY/8UI=",
7592
  "dev": true,
7593
  "requires": {
7594
+ "postcss": "^6.0.6"
7595
  }
7596
  },
7597
  "postcss-sass": {
7600
  "integrity": "sha512-nZJEFS2bT007CmzMjlZfZwcZKpSJ/JeFiVEdgrgvGZtAnORU+5BvN0cioNuDAVxwXHXp3hksCJzbZYPWkuw41Q==",
7601
  "dev": true,
7602
  "requires": {
7603
+ "gonzales-pe": "^4.2.3",
7604
+ "postcss": "^6.0.16"
7605
  }
7606
  },
7607
  "postcss-scss": {
7610
  "integrity": "sha512-gJB1tKYMkBy0MU+COt6WXA4ZiRctAKoWLa6qD7a6bbEbBMqrpa/BhfQdN80eYMV+JkKddZVEpZlOggnGShpvyg==",
7611
  "dev": true,
7612
  "requires": {
7613
+ "postcss": "^6.0.21"
7614
  }
7615
  },
7616
  "postcss-selector-parser": {
7619
  "integrity": "sha1-T4dfSvsMllc9XPTXQBGu4lCn6GU=",
7620
  "dev": true,
7621
  "requires": {
7622
+ "dot-prop": "^4.1.1",
7623
+ "indexes-of": "^1.0.1",
7624
+ "uniq": "^1.0.1"
7625
  }
7626
  },
7627
  "postcss-value-parser": {
7637
  "dev": true,
7638
  "optional": true,
7639
  "requires": {
7640
+ "detect-libc": "^1.0.3",
7641
+ "expand-template": "^1.0.2",
7642
  "github-from-package": "0.0.0",
7643
+ "minimist": "^1.2.0",
7644
+ "mkdirp": "^0.5.1",
7645
+ "node-abi": "^2.2.0",
7646
+ "noop-logger": "^0.1.1",
7647
+ "npmlog": "^4.0.1",
7648
+ "os-homedir": "^1.0.1",
7649
+ "pump": "^2.0.1",
7650
+ "rc": "^1.1.6",
7651
+ "simple-get": "^2.7.0",
7652
+ "tar-fs": "^1.13.0",
7653
+ "tunnel-agent": "^0.6.0",
7654
+ "which-pm-runs": "^1.0.0"
7655
  },
7656
  "dependencies": {
7657
  "detect-libc": {
7699
  "integrity": "sha512-ruPMNRkN3MHP1cWJc9OWr+T/xDP0jhXYCLfJcBuX54hhfIBnaQmAUMfDcG4DM5UMWByBbJY69QSphm3jtDKIkA==",
7700
  "dev": true,
7701
  "requires": {
7702
+ "end-of-stream": "^1.1.0",
7703
+ "once": "^1.3.1"
7704
  }
7705
  },
7706
  "pumpify": {
7709
  "integrity": "sha512-2kmNR9ry+Pf45opRVirpNuIFotsxUGLaYqxIwuR77AYrYRMuFCz9eryHBS52L360O+NcR383CL4QYlMKPq4zYA==",
7710
  "dev": true,
7711
  "requires": {
7712
+ "duplexify": "^3.5.3",
7713
+ "inherits": "^2.0.3",
7714
+ "pump": "^2.0.0"
7715
  }
7716
  },
7717
  "punycode": {
7721
  "dev": true
7722
  },
7723
  "qs": {
7724
+ "version": "6.2.3",
7725
+ "resolved": "https://registry.npmjs.org/qs/-/qs-6.2.3.tgz",
7726
+ "integrity": "sha1-HPyyXBCpsrSDBT/zn138kjOQjP4=",
7727
  "dev": true
7728
  },
7729
  "quick-lru": {
7738
  "integrity": "sha512-D5JUjPyJbaJDkuAazpVnSfVkLlpeO3wDlPROTMLGKG1zMFNFRgrciKo1ltz/AzNTkqE0HzDx655QOL51N06how==",
7739
  "dev": true,
7740
  "requires": {
7741
+ "is-number": "^3.0.0",
7742
+ "kind-of": "^4.0.0"
7743
  },
7744
  "dependencies": {
7745
  "is-number": {
7748
  "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=",
7749
  "dev": true,
7750
  "requires": {
7751
+ "kind-of": "^3.0.2"
7752
  },
7753
  "dependencies": {
7754
  "kind-of": {
7757
  "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
7758
  "dev": true,
7759
  "requires": {
7760
+ "is-buffer": "^1.1.5"
7761
  }
7762
  }
7763
  }
7768
  "integrity": "sha1-IIE989cSkosgc3hpGkUGb65y3Vc=",
7769
  "dev": true,
7770
  "requires": {
7771
+ "is-buffer": "^1.1.5"
7772
  }
7773
  }
7774
  }
7780
  "dev": true
7781
  },
7782
  "raw-body": {
7783
+ "version": "2.3.2",
7784
+ "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.3.2.tgz",
7785
+ "integrity": "sha1-vNYMd9Prk83gBQKVw/N5OJvIj4k=",
7786
  "dev": true,
7787
  "requires": {
7788
+ "bytes": "3.0.0",
7789
+ "http-errors": "1.6.2",
7790
+ "iconv-lite": "0.4.19",
7791
  "unpipe": "1.0.0"
7792
  },
7793
  "dependencies": {
 
 
 
 
 
 
7794
  "iconv-lite": {
7795
+ "version": "0.4.19",
7796
+ "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.19.tgz",
7797
+ "integrity": "sha512-oTZqweIP51xaGPI4uPa56/Pri/480R+mo7SeU+YETByQNhDG55ycFyNLIgta9vXhILrxXDmF7ZGhqZIcuN0gJQ==",
7798
  "dev": true
7799
  }
7800
  }
7806
  "dev": true,
7807
  "optional": true,
7808
  "requires": {
7809
+ "deep-extend": "~0.4.0",
7810
+ "ini": "~1.3.0",
7811
+ "minimist": "^1.2.0",
7812
+ "strip-json-comments": "~2.0.1"
7813
  }
7814
  },
7815
  "read-pkg": {
7818
  "integrity": "sha1-9f+qXs0pyzHAR0vKfXVra7KePyg=",
7819
  "dev": true,
7820
  "requires": {
7821
+ "load-json-file": "^1.0.0",
7822
+ "normalize-package-data": "^2.3.2",
7823
+ "path-type": "^1.0.0"
7824
  }
7825
  },
7826
  "read-pkg-up": {
7829
  "integrity": "sha1-nWPBMnbAZZGNV/ACpX9AobZD+wI=",
7830
  "dev": true,
7831
  "requires": {
7832
+ "find-up": "^1.0.0",
7833
+ "read-pkg": "^1.0.0"
7834
  }
7835
  },
7836
  "readable-stream": {
7839
  "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==",
7840
  "dev": true,
7841
  "requires": {
7842
+ "core-util-is": "~1.0.0",
7843
+ "inherits": "~2.0.3",
7844
+ "isarray": "~1.0.0",
7845
+ "process-nextick-args": "~2.0.0",
7846
+ "safe-buffer": "~5.1.1",
7847
+ "string_decoder": "~1.1.1",
7848
+ "util-deprecate": "~1.0.1"
7849
  },
7850
  "dependencies": {
7851
  "isarray": {
7862
  "integrity": "sha1-TtCtBg3zBzMAxIRANz9y0cxkLXg=",
7863
  "dev": true,
7864
  "requires": {
7865
+ "graceful-fs": "^4.1.2",
7866
+ "minimatch": "^3.0.2",
7867
+ "readable-stream": "^2.0.2",
7868
+ "set-immediate-shim": "^1.0.1"
7869
  }
7870
  },
7871
  "rechoir": {
7874
  "integrity": "sha1-hSBLVNuoLVdC4oyWdW70OvUOM4Q=",
7875
  "dev": true,
7876
  "requires": {
7877
+ "resolve": "^1.1.6"
7878
  }
7879
  },
7880
  "redent": {
7883
  "integrity": "sha1-z5Fqsf1fHxbfsggi3W7H9zDCr94=",
7884
  "dev": true,
7885
  "requires": {
7886
+ "indent-string": "^2.1.0",
7887
+ "strip-indent": "^1.0.1"
7888
  }
7889
  },
7890
  "regex-cache": {
7893
  "integrity": "sha512-nVIZwtCjkC9YgvWkpM55B5rBhBYRZhAaJbgcFYXXsHnbZ9UZI9nnVWYZpBlCqv9ho2eZryPnWrZGsOdPwVWXWQ==",
7894
  "dev": true,
7895
  "requires": {
7896
+ "is-equal-shallow": "^0.1.3"
7897
  }
7898
  },
7899
  "regex-not": {
7902
  "integrity": "sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==",
7903
  "dev": true,
7904
  "requires": {
7905
+ "extend-shallow": "^3.0.2",
7906
+ "safe-regex": "^1.1.0"
7907
  }
7908
  },
7909
  "remark": {
7912
  "integrity": "sha512-amw8rGdD5lHbMEakiEsllmkdBP+/KpjW/PRK6NSGPZKCQowh0BT4IWXDAkRMyG3SB9dKPXWMviFjNusXzXNn3A==",
7913
  "dev": true,
7914
  "requires": {
7915
+ "remark-parse": "^5.0.0",
7916
+ "remark-stringify": "^5.0.0",
7917
+ "unified": "^6.0.0"
7918
  }
7919
  },
7920
  "remark-parse": {
7923
  "integrity": "sha512-b3iXszZLH1TLoyUzrATcTQUZrwNl1rE70rVdSruJFlDaJ9z5aMkhrG43Pp68OgfHndL/ADz6V69Zow8cTQu+JA==",
7924
  "dev": true,
7925
  "requires": {
7926
+ "collapse-white-space": "^1.0.2",
7927
+ "is-alphabetical": "^1.0.0",
7928
+ "is-decimal": "^1.0.0",
7929
+ "is-whitespace-character": "^1.0.0",
7930
+ "is-word-character": "^1.0.0",
7931
+ "markdown-escapes": "^1.0.0",
7932
+ "parse-entities": "^1.1.0",
7933
+ "repeat-string": "^1.5.4",
7934
+ "state-toggle": "^1.0.0",
7935
  "trim": "0.0.1",
7936
+ "trim-trailing-lines": "^1.0.0",
7937
+ "unherit": "^1.0.4",
7938
+ "unist-util-remove-position": "^1.0.0",
7939
+ "vfile-location": "^2.0.0",
7940
+ "xtend": "^4.0.1"
7941
  }
7942
  },
7943
  "remark-stringify": {
7946
  "integrity": "sha512-Ws5MdA69ftqQ/yhRF9XhVV29mhxbfGhbz0Rx5bQH+oJcNhhSM6nCu1EpLod+DjrFGrU0BMPs+czVmJZU7xiS7w==",
7947
  "dev": true,
7948
  "requires": {
7949
+ "ccount": "^1.0.0",
7950
+ "is-alphanumeric": "^1.0.0",
7951
+ "is-decimal": "^1.0.0",
7952
+ "is-whitespace-character": "^1.0.0",
7953
+ "longest-streak": "^2.0.1",
7954
+ "markdown-escapes": "^1.0.0",
7955
+ "markdown-table": "^1.1.0",
7956
+ "mdast-util-compact": "^1.0.0",
7957
+ "parse-entities": "^1.0.2",
7958
+ "repeat-string": "^1.5.4",
7959
+ "state-toggle": "^1.0.0",
7960
+ "stringify-entities": "^1.0.1",
7961
+ "unherit": "^1.0.4",
7962
+ "xtend": "^4.0.1"
7963
  }
7964
  },
7965
  "remove-bom-buffer": {
7968
  "integrity": "sha512-8v2rWhaakv18qcvNeli2mZ/TMTL2nEyAKRvzo1WtnZBl15SHyEhrCu2/xKlJyUFKHiHgfXIyuY6g2dObJJycXQ==",
7969
  "dev": true,
7970
  "requires": {
7971
+ "is-buffer": "^1.1.5",
7972
+ "is-utf8": "^0.2.1"
7973
  }
7974
  },
7975
  "remove-bom-stream": {
7978
  "integrity": "sha1-BfGlk/FuQuH7kOv1nejlaVJflSM=",
7979
  "dev": true,
7980
  "requires": {
7981
+ "remove-bom-buffer": "^3.0.0",
7982
+ "safe-buffer": "^5.1.0",
7983
+ "through2": "^2.0.3"
7984
  }
7985
  },
7986
  "remove-trailing-separator": {
8007
  "integrity": "sha1-UhTFOpJtNVJwdSf7q0FdvAjQbdo=",
8008
  "dev": true,
8009
  "requires": {
8010
+ "is-finite": "^1.0.0"
8011
  }
8012
  },
8013
  "replace-ext": {
8022
  "integrity": "sha1-6H9tUTuSjd6AgmDBK+f+xv9ueYw=",
8023
  "dev": true,
8024
  "requires": {
8025
+ "homedir-polyfill": "^1.0.1",
8026
+ "is-absolute": "^1.0.0",
8027
+ "remove-trailing-separator": "^1.1.0"
8028
  }
8029
  },
8030
  "request": {
8033
  "integrity": "sha1-xpKJRqDgbF+Nb4qTM0af/aRimKA=",
8034
  "dev": true,
8035
  "requires": {
8036
+ "aws-sign2": "~0.6.0",
8037
+ "aws4": "^1.2.1",
8038
+ "caseless": "~0.12.0",
8039
+ "combined-stream": "~1.0.5",
8040
+ "extend": "~3.0.0",
8041
+ "forever-agent": "~0.6.1",
8042
+ "form-data": "~2.1.1",
8043
+ "har-validator": "~4.2.1",
8044
+ "hawk": "~3.1.3",
8045
+ "http-signature": "~1.1.0",
8046
+ "is-typedarray": "~1.0.0",
8047
+ "isstream": "~0.1.2",
8048
+ "json-stringify-safe": "~5.0.1",
8049
+ "mime-types": "~2.1.7",
8050
+ "oauth-sign": "~0.8.1",
8051
+ "performance-now": "^0.2.0",
8052
+ "qs": "~6.4.0",
8053
+ "safe-buffer": "^5.0.1",
8054
+ "stringstream": "~0.0.4",
8055
+ "tough-cookie": "~2.3.0",
8056
+ "tunnel-agent": "^0.6.0",
8057
+ "uuid": "^3.0.0"
8058
  },
8059
  "dependencies": {
8060
  "qs": {
8101
  "integrity": "sha1-eaQGRMNivoLybv/nOcm7U4IEb0M=",
8102
  "dev": true,
8103
  "requires": {
8104
+ "expand-tilde": "^2.0.0",
8105
+ "global-modules": "^1.0.0"
8106
  }
8107
  },
8108
  "resolve-from": {
8117
  "integrity": "sha1-MrueOcBtZzONyTeMDW1gdFZq0TE=",
8118
  "dev": true,
8119
  "requires": {
8120
+ "value-or-function": "^3.0.0"
8121
  }
8122
  },
8123
  "resolve-url": {
8132
  "integrity": "sha1-sSTeXE+6/LpUH0j/pzlw9KpFa08=",
8133
  "dev": true,
8134
  "requires": {
8135
+ "debug": "^2.2.0",
8136
+ "minimatch": "^3.0.2"
8137
  }
8138
  },
8139
  "ret": {
8154
  "integrity": "sha512-JjQ5DlrmwiItAjlmhoxrJq5ihgZcE0wMFxt7S17bIrt4Lw0WwKKFk+viRhvodB/0falyG/5fiO043ZDh6/aqTw==",
8155
  "dev": true,
8156
  "requires": {
8157
+ "chalk": "^2.3.0",
8158
+ "findup": "^0.1.5",
8159
+ "mkdirp": "^0.5.1",
8160
+ "postcss": "^6.0.14",
8161
+ "strip-json-comments": "^2.0.0"
8162
  }
8163
  },
8164
  "rx": {
8179
  "integrity": "sha1-QKNmnzsHfR6UPURinhV91IAjvy4=",
8180
  "dev": true,
8181
  "requires": {
8182
+ "ret": "~0.1.10"
8183
  }
8184
  },
8185
  "safer-buffer": {
8194
  "integrity": "sha1-E/vWPNHK8JCLn9k0dq1DpR0eC0k=",
8195
  "dev": true,
8196
  "requires": {
8197
+ "glob": "^7.0.0",
8198
+ "lodash": "^4.0.0",
8199
+ "scss-tokenizer": "^0.2.3",
8200
+ "yargs": "^7.0.0"
8201
  },
8202
  "dependencies": {
8203
  "camelcase": {
8218
  "integrity": "sha1-a6MY6xaWFyf10oT46gA+jWFU0Mg=",
8219
  "dev": true,
8220
  "requires": {
8221
+ "camelcase": "^3.0.0",
8222
+ "cliui": "^3.2.0",
8223
+ "decamelize": "^1.1.1",
8224
+ "get-caller-file": "^1.0.1",
8225
+ "os-locale": "^1.4.0",
8226
+ "read-pkg-up": "^1.0.1",
8227
+ "require-directory": "^2.1.1",
8228
+ "require-main-filename": "^1.0.1",
8229
+ "set-blocking": "^2.0.0",
8230
+ "string-width": "^1.0.2",
8231
+ "which-module": "^1.0.0",
8232
+ "y18n": "^3.2.1",
8233
+ "yargs-parser": "^5.0.0"
8234
  }
8235
  },
8236
  "yargs-parser": {
8239
  "integrity": "sha1-J17PDX/+Bcd+ZOfIbkzZS/DhIoo=",
8240
  "dev": true,
8241
  "requires": {
8242
+ "camelcase": "^3.0.0"
8243
  }
8244
  }
8245
  }
8250
  "integrity": "sha1-jrBtualyMzOCTT9VMGQRSYR85dE=",
8251
  "dev": true,
8252
  "requires": {
8253
+ "js-base64": "^2.1.8",
8254
+ "source-map": "^0.4.2"
8255
  },
8256
  "dependencies": {
8257
  "source-map": {
8260
  "integrity": "sha1-66T12pwNyZneaAMti092FzZSA2s=",
8261
  "dev": true,
8262
  "requires": {
8263
+ "amdefine": ">=0.0.4"
8264
  }
8265
  }
8266
  }
8277
  "integrity": "sha1-E+jCZYq5aRywzXEJMkAoDTb3els=",
8278
  "dev": true,
8279
  "requires": {
8280
+ "sver-compat": "^1.5.0"
8281
  }
8282
  },
8283
  "send": {
8284
+ "version": "0.16.2",
8285
+ "resolved": "https://registry.npmjs.org/send/-/send-0.16.2.tgz",
8286
+ "integrity": "sha512-E64YFPUssFHEFBvpbbjr44NCLtI1AohxQ8ZSiJjQLskAdKuriYEP6VyGEsRDH8ScozGpkaX1BGvhanqCwkcEZw==",
8287
+ "dev": true,
8288
+ "requires": {
8289
+ "debug": "2.6.9",
8290
+ "depd": "~1.1.2",
8291
+ "destroy": "~1.0.4",
8292
+ "encodeurl": "~1.0.2",
8293
+ "escape-html": "~1.0.3",
8294
+ "etag": "~1.8.1",
8295
+ "fresh": "0.5.2",
8296
+ "http-errors": "~1.6.2",
8297
+ "mime": "1.4.1",
8298
+ "ms": "2.0.0",
8299
+ "on-finished": "~2.3.0",
8300
+ "range-parser": "~1.2.0",
8301
+ "statuses": "~1.4.0"
8302
  },
8303
  "dependencies": {
8304
+ "depd": {
8305
+ "version": "1.1.2",
8306
+ "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz",
8307
+ "integrity": "sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak=",
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
8308
  "dev": true
8309
  },
8310
+ "statuses": {
8311
+ "version": "1.4.0",
8312
+ "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.4.0.tgz",
8313
+ "integrity": "sha512-zhSCtt8v2NDrRlPQpCNtw/heZLtfUDqxBM1udqikb/Hbk52LK4nQSwr10u77iopCW5LsyHpuXS0GnEc48mLeew==",
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
8314
  "dev": true
8315
  }
8316
  }
8321
  "integrity": "sha1-fF2WwT+xMRAfk8HFd0+FFqHnjTs=",
8322
  "dev": true,
8323
  "requires": {
8324
+ "accepts": "~1.3.3",
8325
  "batch": "0.5.3",
8326
+ "debug": "~2.2.0",
8327
+ "escape-html": "~1.0.3",
8328
+ "http-errors": "~1.5.0",
8329
+ "mime-types": "~2.1.11",
8330
+ "parseurl": "~1.3.1"
8331
  },
8332
  "dependencies": {
8333
  "debug": {
8339
  "ms": "0.7.1"
8340
  }
8341
  },
8342
+ "http-errors": {
8343
+ "version": "1.5.1",
8344
+ "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.5.1.tgz",
8345
+ "integrity": "sha1-eIwNLB3iyBuebowBhDtrl+uSB1A=",
8346
+ "dev": true,
8347
+ "requires": {
8348
+ "inherits": "2.0.3",
8349
+ "setprototypeof": "1.0.2",
8350
+ "statuses": ">= 1.3.1 < 2"
8351
+ }
8352
+ },
8353
  "ms": {
8354
  "version": "0.7.1",
8355
  "resolved": "https://registry.npmjs.org/ms/-/ms-0.7.1.tgz",
8356
  "integrity": "sha1-nNE8A62/8ltl7/3nzoZO6VIBcJg=",
8357
  "dev": true
8358
+ },
8359
+ "setprototypeof": {
8360
+ "version": "1.0.2",
8361
+ "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.0.2.tgz",
8362
+ "integrity": "sha1-gaVSFB7BBLiOic44MQOtXGZWTQg=",
8363
+ "dev": true
8364
  }
8365
  }
8366
  },
8367
  "serve-static": {
8368
+ "version": "1.13.2",
8369
+ "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.13.2.tgz",
8370
+ "integrity": "sha512-p/tdJrO4U387R9oMjb1oj7qSMaMfmOyd4j9hOFoxZe2baQszgHcSWjuya/CiT5kgZZKRudHNOA0pYXOl8rQ5nw==",
8371
  "dev": true,
8372
  "requires": {
8373
+ "encodeurl": "~1.0.2",
8374
+ "escape-html": "~1.0.3",
8375
+ "parseurl": "~1.3.2",
8376
+ "send": "0.16.2"
8377
  }
8378
  },
8379
  "server-destroy": {
8400
  "integrity": "sha512-hw0yxk9GT/Hr5yJEYnHNKYXkIA8mVJgd9ditYZCe16ZczcaELYYcfvaXesNACk2O8O0nTiPQcQhGUQj8JLzeeg==",
8401
  "dev": true,
8402
  "requires": {
8403
+ "extend-shallow": "^2.0.1",
8404
+ "is-extendable": "^0.1.1",
8405
+ "is-plain-object": "^2.0.3",
8406
+ "split-string": "^3.0.1"
8407
  },
8408
  "dependencies": {
8409
  "extend-shallow": {
8412
  "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
8413
  "dev": true,
8414
  "requires": {
8415
+ "is-extendable": "^0.1.0"
8416
  }
8417
  }
8418
  }
8419
  },
8420
  "setprototypeof": {
8421
+ "version": "1.0.3",
8422
+ "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.0.3.tgz",
8423
+ "integrity": "sha1-ZlZ+NwQ+608E2RvWWMDL77VbjgQ=",
8424
  "dev": true
8425
  },
8426
  "shelljs": {
8449
  "dev": true,
8450
  "optional": true,
8451
  "requires": {
8452
+ "decompress-response": "^3.3.0",
8453
+ "once": "^1.3.1",
8454
+ "simple-concat": "^1.0.0"
8455
  }
8456
  },
8457
  "slash": {
8466
  "integrity": "sha512-POqxBK6Lb3q6s047D/XsDVNPnF9Dl8JSaqe9h9lURl0OdNqy/ujDrOiIHtsqXMGbWWTIomRzAMaTyawAU//Reg==",
8467
  "dev": true,
8468
  "requires": {
8469
+ "is-fullwidth-code-point": "^2.0.0"
8470
  },
8471
  "dependencies": {
8472
  "is-fullwidth-code-point": {
8483
  "integrity": "sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg==",
8484
  "dev": true,
8485
  "requires": {
8486
+ "base": "^0.11.1",
8487
+ "debug": "^2.2.0",
8488
+ "define-property": "^0.2.5",
8489
+ "extend-shallow": "^2.0.1",
8490
+ "map-cache": "^0.2.2",
8491
+ "source-map": "^0.5.6",
8492
+ "source-map-resolve": "^0.5.0",
8493
+ "use": "^3.1.0"
8494
  },
8495
  "dependencies": {
8496
  "define-property": {
8499
  "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
8500
  "dev": true,
8501
  "requires": {
8502
+ "is-descriptor": "^0.1.0"
8503
  }
8504
  },
8505
  "extend-shallow": {
8508
  "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
8509
  "dev": true,
8510
  "requires": {
8511
+ "is-extendable": "^0.1.0"
8512
  }
8513
  },
8514
  "source-map": {
8525
  "integrity": "sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw==",
8526
  "dev": true,
8527
  "requires": {
8528
+ "define-property": "^1.0.0",
8529
+ "isobject": "^3.0.0",
8530
+ "snapdragon-util": "^3.0.1"
8531
  },
8532
  "dependencies": {
8533
  "define-property": {
8536
  "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=",
8537
  "dev": true,
8538
  "requires": {
8539
+ "is-descriptor": "^1.0.0"
8540
  }
8541
  },
8542
  "is-accessor-descriptor": {
8545
  "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==",
8546
  "dev": true,
8547
  "requires": {
8548
+ "kind-of": "^6.0.0"
8549
  }
8550
  },
8551
  "is-data-descriptor": {
8554
  "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==",
8555
  "dev": true,
8556
  "requires": {
8557
+ "kind-of": "^6.0.0"
8558
  }
8559
  },
8560
  "is-descriptor": {
8563
  "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==",
8564
  "dev": true,
8565
  "requires": {
8566
+ "is-accessor-descriptor": "^1.0.0",
8567
+ "is-data-descriptor": "^1.0.0",
8568
+ "kind-of": "^6.0.2"
8569
  }
8570
  },
8571
  "isobject": {
8588
  "integrity": "sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ==",
8589
  "dev": true,
8590
  "requires": {
8591
+ "kind-of": "^3.2.0"
8592
  }
8593
  },
8594
  "sntp": {
8597
  "integrity": "sha1-ZUEYTMkK7qbG57NeJlkIJEPGYZg=",
8598
  "dev": true,
8599
  "requires": {
8600
+ "hoek": "2.x.x"
8601
  }
8602
  },
8603
  "socket.io": {
8606
  "integrity": "sha1-waRZDO/4fs8TxyZS8Eb3FrKeYBQ=",
8607
  "dev": true,
8608
  "requires": {
8609
+ "debug": "~2.6.6",
8610
+ "engine.io": "~3.1.0",
8611
+ "socket.io-adapter": "~1.1.0",
8612
  "socket.io-client": "2.0.4",
8613
+ "socket.io-parser": "~3.1.1"
8614
  }
8615
  },
8616
  "socket.io-adapter": {
8629
  "base64-arraybuffer": "0.1.5",
8630
  "component-bind": "1.0.0",
8631
  "component-emitter": "1.2.1",
8632
+ "debug": "~2.6.4",
8633
+ "engine.io-client": "~3.1.0",
8634
  "has-cors": "1.1.0",
8635
  "indexof": "0.0.1",
8636
  "object-component": "0.0.3",
8637
  "parseqs": "0.0.5",
8638
  "parseuri": "0.0.5",
8639
+ "socket.io-parser": "~3.1.1",
8640
  "to-array": "0.1.4"
8641
  }
8642
  },
8647
  "dev": true,
8648
  "requires": {
8649
  "component-emitter": "1.2.1",
8650
+ "debug": "~3.1.0",
8651
+ "has-binary2": "~1.0.2",
8652
  "isarray": "2.0.1"
8653
  },
8654
  "dependencies": {
8675
  "integrity": "sha512-0KW2wvzfxm8NCTb30z0LMNyPqWCdDGE2viwzUaucqJdkTRXtZiSY3I+2A6nVAjmdOy0I4gU8DwnVVGsk9jvP2A==",
8676
  "dev": true,
8677
  "requires": {
8678
+ "atob": "^2.0.0",
8679
+ "decode-uri-component": "^0.2.0",
8680
+ "resolve-url": "^0.2.1",
8681
+ "source-map-url": "^0.4.0",
8682
+ "urix": "^0.1.0"
8683
  }
8684
  },
8685
  "source-map-url": {
8700
  "integrity": "sha512-N19o9z5cEyc8yQQPukRCZ9EUmb4HUpnrmaL/fxS2pBo2jbfcFRVuFZ/oFC+vZz0MNNk0h80iMn5/S6qGZOL5+g==",
8701
  "dev": true,
8702
  "requires": {
8703
+ "spdx-expression-parse": "^3.0.0",
8704
+ "spdx-license-ids": "^3.0.0"
8705
  }
8706
  },
8707
  "spdx-exceptions": {
8716
  "integrity": "sha512-Yg6D3XpRD4kkOmTpdgbUiEJFKghJH03fiC1OPll5h/0sO6neh2jqRDVHOQ4o/LMea0tgCkbMgea5ip/e+MkWyg==",
8717
  "dev": true,
8718
  "requires": {
8719
+ "spdx-exceptions": "^2.1.0",
8720
+ "spdx-license-ids": "^3.0.0"
8721
  }
8722
  },
8723
  "spdx-license-ids": {
8738
  "integrity": "sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==",
8739
  "dev": true,
8740
  "requires": {
8741
+ "extend-shallow": "^3.0.0"
8742
  }
8743
  },
8744
  "sprintf-js": {
8753
  "integrity": "sha1-Ew9Zde3a2WPx1W+SuaxsUfqfg+s=",
8754
  "dev": true,
8755
  "requires": {
8756
+ "asn1": "~0.2.3",
8757
+ "assert-plus": "^1.0.0",
8758
+ "bcrypt-pbkdf": "^1.0.0",
8759
+ "dashdash": "^1.12.0",
8760
+ "ecc-jsbn": "~0.1.1",
8761
+ "getpass": "^0.1.1",
8762
+ "jsbn": "~0.1.0",
8763
+ "tweetnacl": "~0.14.0"
8764
  },
8765
  "dependencies": {
8766
  "assert-plus": {
8789
  "integrity": "sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY=",
8790
  "dev": true,
8791
  "requires": {
8792
+ "define-property": "^0.2.5",
8793
+ "object-copy": "^0.1.0"
8794
  },
8795
  "dependencies": {
8796
  "define-property": {
8799
  "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
8800
  "dev": true,
8801
  "requires": {
8802
+ "is-descriptor": "^0.1.0"
8803
  }
8804
  }
8805
  }
8816
  "integrity": "sha1-osfIWH5U2UJ+qe2zrD8s1SLfN4s=",
8817
  "dev": true,
8818
  "requires": {
8819
+ "readable-stream": "^2.0.1"
8820
  }
8821
  },
8822
  "stream-buffers": {
8843
  "integrity": "sha1-rdV8jXzHOoFjDTHNVdOWHPr7qcM=",
8844
  "dev": true,
8845
  "requires": {
8846
+ "commander": "^2.2.0",
8847
+ "limiter": "^1.0.5"
8848
  }
8849
  },
8850
  "string-width": {
8853
  "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=",
8854
  "dev": true,
8855
  "requires": {
8856
+ "code-point-at": "^1.0.0",
8857
+ "is-fullwidth-code-point": "^1.0.0",
8858
+ "strip-ansi": "^3.0.0"
8859
  }
8860
  },
8861
  "string_decoder": {
8864
  "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
8865
  "dev": true,
8866
  "requires": {
8867
+ "safe-buffer": "~5.1.0"
8868
  }
8869
  },
8870
  "stringify-entities": {
8873
  "integrity": "sha1-sVDsLXKsTBtfMktR+2soyc3/BYw=",
8874
  "dev": true,
8875
  "requires": {
8876
+ "character-entities-html4": "^1.0.0",
8877
+ "character-entities-legacy": "^1.0.0",
8878
+ "is-alphanumerical": "^1.0.0",
8879
+ "is-hexadecimal": "^1.0.0"
8880
  }
8881
  },
8882
  "stringstream": {
8891
  "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=",
8892
  "dev": true,
8893
  "requires": {
8894
+ "ansi-regex": "^2.0.0"
8895
  }
8896
  },
8897
  "strip-bom": {
8900
  "integrity": "sha1-YhmoVhZSBJHzV4i9vxRHqZx+aw4=",
8901
  "dev": true,
8902
  "requires": {
8903
+ "is-utf8": "^0.2.0"
8904
  }
8905
  },
8906
  "strip-indent": {
8909
  "integrity": "sha1-DHlipq3vp7vUrDZkYKY4VSrhoKI=",
8910
  "dev": true,
8911
  "requires": {
8912
+ "get-stdin": "^4.0.1"
8913
  }
8914
  },
8915
  "strip-json-comments": {
8930
  "integrity": "sha512-aBlnuLyTvyNfIVoc+reaqx88aW41Awc9Ccu7ZXrO2fnSvv0MVSQeyL3ci/nD1H1eYvH3X+MXTwMYC3Mf5+2Ckw==",
8931
  "dev": true,
8932
  "requires": {
8933
+ "autoprefixer": "^8.0.0",
8934
+ "balanced-match": "^1.0.0",
8935
+ "chalk": "^2.0.1",
8936
+ "cosmiconfig": "^4.0.0",
8937
+ "debug": "^3.0.0",
8938
+ "execall": "^1.0.0",
8939
+ "file-entry-cache": "^2.0.0",
8940
+ "get-stdin": "^6.0.0",
8941
+ "globby": "^8.0.0",
8942
+ "globjoin": "^0.1.4",
8943
+ "html-tags": "^2.0.0",
8944
+ "ignore": "^3.3.3",
8945
+ "import-lazy": "^3.1.0",
8946
+ "imurmurhash": "^0.1.4",
8947
+ "known-css-properties": "^0.6.0",
8948
+ "lodash": "^4.17.4",
8949
+ "log-symbols": "^2.0.0",
8950
+ "mathml-tag-names": "^2.0.1",
8951
+ "meow": "^4.0.0",
8952
+ "micromatch": "^2.3.11",
8953
+ "normalize-selector": "^0.2.0",
8954
+ "pify": "^3.0.0",
8955
+ "postcss": "^6.0.16",
8956
+ "postcss-html": "^0.18.0",
8957
+ "postcss-less": "^1.1.5",
8958
+ "postcss-media-query-parser": "^0.2.3",
8959
+ "postcss-reporter": "^5.0.0",
8960
+ "postcss-resolve-nested-selector": "^0.1.1",
8961
+ "postcss-safe-parser": "^3.0.1",
8962
+ "postcss-sass": "^0.3.0",
8963
+ "postcss-scss": "^1.0.2",
8964
+ "postcss-selector-parser": "^3.1.0",
8965
+ "postcss-value-parser": "^3.3.0",
8966
+ "resolve-from": "^4.0.0",
8967
+ "signal-exit": "^3.0.2",
8968
+ "specificity": "^0.3.1",
8969
+ "string-width": "^2.1.0",
8970
+ "style-search": "^0.1.0",
8971
+ "sugarss": "^1.0.0",
8972
+ "svg-tags": "^1.0.0",
8973
+ "table": "^4.0.1"
8974
  },
8975
  "dependencies": {
8976
  "ansi-regex": {
8991
  "integrity": "sha1-oqpfsa9oh1glnDLBQUJteJI7m3c=",
8992
  "dev": true,
8993
  "requires": {
8994
+ "camelcase": "^4.1.0",
8995
+ "map-obj": "^2.0.0",
8996
+ "quick-lru": "^1.0.0"
8997
  }
8998
  },
8999
  "debug": {
9011
  "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=",
9012
  "dev": true,
9013
  "requires": {
9014
+ "locate-path": "^2.0.0"
9015
  }
9016
  },
9017
  "get-stdin": {
9038
  "integrity": "sha1-L19Fq5HjMhYjT9U62rZo607AmTs=",
9039
  "dev": true,
9040
  "requires": {
9041
+ "graceful-fs": "^4.1.2",
9042
+ "parse-json": "^4.0.0",
9043
+ "pify": "^3.0.0",
9044
+ "strip-bom": "^3.0.0"
9045
  }
9046
  },
9047
  "lodash": {
9062
  "integrity": "sha512-Me/kel335m6vMKmEmA6c87Z6DUFW3JqkINRnxkbC+A/PUm0D5Fl2dEBQrPKnqCL9Te/CIa1MUt/0InMJhuC/sw==",
9063
  "dev": true,
9064
  "requires": {
9065
+ "camelcase-keys": "^4.0.0",
9066
+ "decamelize-keys": "^1.0.0",
9067
+ "loud-rejection": "^1.0.0",
9068
+ "minimist": "^1.1.3",
9069
+ "minimist-options": "^3.0.1",
9070
+ "normalize-package-data": "^2.3.4",
9071
+ "read-pkg-up": "^3.0.0",
9072
+ "redent": "^2.0.0",
9073
+ "trim-newlines": "^2.0.0"
9074
  }
9075
  },
9076
  "parse-json": {
9079
  "integrity": "sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA=",
9080
  "dev": true,
9081
  "requires": {
9082
+ "error-ex": "^1.3.1",
9083
+ "json-parse-better-errors": "^1.0.1"
9084
  }
9085
  },
9086
  "path-type": {
9089
  "integrity": "sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg==",
9090
  "dev": true,
9091
  "requires": {
9092
+ "pify": "^3.0.0"
9093
  }
9094
  },
9095
  "pify": {
9104
  "integrity": "sha1-nLxoaXj+5l0WwA4rGcI3/Pbjg4k=",
9105
  "dev": true,
9106
  "requires": {
9107
+ "load-json-file": "^4.0.0",
9108
+ "normalize-package-data": "^2.3.2",
9109
+ "path-type": "^3.0.0"
9110
  }
9111
  },
9112
  "read-pkg-up": {
9115
  "integrity": "sha1-PtSWaF26D4/hGNBpHcUfSh/5bwc=",
9116
  "dev": true,
9117
  "requires": {
9118
+ "find-up": "^2.0.0",
9119
+ "read-pkg": "^3.0.0"
9120
  }
9121
  },
9122
  "redent": {
9125
  "integrity": "sha1-wbIAe0LVfrE4kHmzyDM2OdXhzKo=",
9126
  "dev": true,
9127
  "requires": {
9128
+ "indent-string": "^3.0.0",
9129
+ "strip-indent": "^2.0.0"
9130
  }
9131
  },
9132
  "string-width": {
9135
  "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==",
9136
  "dev": true,
9137
  "requires": {
9138
+ "is-fullwidth-code-point": "^2.0.0",
9139
+ "strip-ansi": "^4.0.0"
9140
  }
9141
  },
9142
  "strip-ansi": {
9145
  "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=",
9146
  "dev": true,
9147
  "requires": {
9148
+ "ansi-regex": "^3.0.0"
9149
  }
9150
  },
9151
  "strip-bom": {
9174
  "integrity": "sha512-3qgLZytikQQEVn1/FrhY7B68gPUUGY3R1Q1vTiD5xT+Ti1DP/8iZuwFet9ONs5+bmL8pZoDQ6JrQHVgrNlK6mA==",
9175
  "dev": true,
9176
  "requires": {
9177
+ "postcss": "^6.0.14"
9178
  }
9179
  },
9180
  "supports-color": {
9183
  "integrity": "sha512-0aP01LLIskjKs3lq52EC0aGBAJhLq7B2Rd8HC/DR/PtNNpcLilNmHC12O+hu0usQpo7wtHNRqtrhBwtDb0+dNg==",
9184
  "dev": true,
9185
  "requires": {
9186
+ "has-flag": "^3.0.0"
9187
  }
9188
  },
9189
  "sver-compat": {
9192
  "integrity": "sha1-PPh9/rTQe0o/FIJ7wYaz/QxkXNg=",
9193
  "dev": true,
9194
  "requires": {
9195
+ "es6-iterator": "^2.0.1",
9196
+ "es6-symbol": "^3.1.1"
9197
  }
9198
  },
9199
  "svg-tags": {
9208
  "integrity": "sha512-S7rnFITmBH1EnyKcvxBh1LjYeQMmnZtCXSEbHcH6S0NoKit24ZuFO/T1vDcLdYsLQkM188PVVhQmzKIuThNkKg==",
9209
  "dev": true,
9210
  "requires": {
9211
+ "ajv": "^6.0.1",
9212
+ "ajv-keywords": "^3.0.0",
9213
+ "chalk": "^2.1.0",
9214
+ "lodash": "^4.17.4",
9215
  "slice-ansi": "1.0.0",
9216
+ "string-width": "^2.1.1"
9217
  },
9218
  "dependencies": {
9219
  "ajv": {
9222
  "integrity": "sha1-06/3jpJ3VJdx2vAWTP9ISCt1T8Y=",
9223
  "dev": true,
9224
  "requires": {
9225
+ "fast-deep-equal": "^1.0.0",
9226
+ "fast-json-stable-stringify": "^2.0.0",
9227
+ "json-schema-traverse": "^0.3.0",
9228
+ "uri-js": "^3.0.2"
9229
  }
9230
  },
9231
  "ansi-regex": {
9252
  "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==",
9253
  "dev": true,
9254
  "requires": {
9255
+ "is-fullwidth-code-point": "^2.0.0",
9256
+ "strip-ansi": "^4.0.0"
9257
  }
9258
  },
9259
  "strip-ansi": {
9262
  "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=",
9263
  "dev": true,
9264
  "requires": {
9265
+ "ansi-regex": "^3.0.0"
9266
  }
9267
  }
9268
  }
9273
  "integrity": "sha1-jk0qJWwOIYXGsYrWlK7JaLg8sdE=",
9274
  "dev": true,
9275
  "requires": {
9276
+ "block-stream": "*",
9277
+ "fstream": "^1.0.2",
9278
+ "inherits": "2"
9279
  }
9280
  },
9281
  "tar-fs": {
9285
  "dev": true,
9286
  "optional": true,
9287
  "requires": {
9288
+ "chownr": "^1.0.1",
9289
+ "mkdirp": "^0.5.1",
9290
+ "pump": "^1.0.0",
9291
+ "tar-stream": "^1.1.2"
9292
  },
9293
  "dependencies": {
9294
  "pump": {
9298
  "dev": true,
9299
  "optional": true,
9300
  "requires": {
9301
+ "end-of-stream": "^1.1.0",
9302
+ "once": "^1.3.1"
9303
  }
9304
  }
9305
  }
9310
  "integrity": "sha512-mQdgLPc/Vjfr3VWqWbfxW8yQNiJCbAZ+Gf6GDu1Cy0bdb33ofyiNGBtAY96jHFhDuivCwgW1H9DgTON+INiXgg==",
9311
  "dev": true,
9312
  "requires": {
9313
+ "bl": "^1.0.0",
9314
+ "end-of-stream": "^1.0.0",
9315
+ "readable-stream": "^2.0.0",
9316
+ "xtend": "^4.0.0"
9317
  }
9318
  },
9319
  "text-table": {
9328
  "integrity": "sha1-OORBT8ZJd9h6/apy+sttKfgve1s=",
9329
  "dev": true,
9330
  "requires": {
9331
+ "chalk": "^1.1.1",
9332
+ "object-path": "^0.9.0"
9333
  },
9334
  "dependencies": {
9335
  "ansi-styles": {
9344
  "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=",
9345
  "dev": true,
9346
  "requires": {
9347
+ "ansi-styles": "^2.2.1",
9348
+ "escape-string-regexp": "^1.0.2",
9349
+ "has-ansi": "^2.0.0",
9350
+ "strip-ansi": "^3.0.0",
9351
+ "supports-color": "^2.0.0"
9352
  }
9353
  },
9354
  "supports-color": {
9365
  "integrity": "sha1-AARWmzfHx0ujnEPzzteNGtlBQL4=",
9366
  "dev": true,
9367
  "requires": {
9368
+ "readable-stream": "^2.1.5",
9369
+ "xtend": "~4.0.1"
9370
  }
9371
  },
9372
  "through2-filter": {
9375
  "integrity": "sha1-YLxVoNrLdghdsfna6Zq0P4PWIuw=",
9376
  "dev": true,
9377
  "requires": {
9378
+ "through2": "~2.0.0",
9379
+ "xtend": "~4.0.0"
9380
  }
9381
  },
9382
  "time-stamp": {
9391
  "integrity": "sha1-s/26gC5dVqM8L28QeUsy5Hescp0=",
9392
  "dev": true,
9393
  "requires": {
9394
+ "body-parser": "~1.14.0",
9395
+ "debug": "~2.2.0",
9396
+ "faye-websocket": "~0.10.0",
9397
+ "livereload-js": "^2.2.0",
9398
+ "parseurl": "~1.3.0",
9399
+ "qs": "~5.1.0"
9400
  },
9401
  "dependencies": {
9402
  "debug": {
9428
  "integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==",
9429
  "dev": true,
9430
  "requires": {
9431
+ "os-tmpdir": "~1.0.2"
9432
  }
9433
  },
9434
  "to-absolute-glob": {
9437
  "integrity": "sha1-GGX0PZ50sIItufFFt4z/fQ98hJs=",
9438
  "dev": true,
9439
  "requires": {
9440
+ "is-absolute": "^1.0.0",
9441
+ "is-negated-glob": "^1.0.0"
9442
  }
9443
  },
9444
  "to-array": {
9459
  "integrity": "sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68=",
9460
  "dev": true,
9461
  "requires": {
9462
+ "kind-of": "^3.0.2"
9463
  }
9464
  },
9465
  "to-regex": {
9468
  "integrity": "sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw==",
9469
  "dev": true,
9470
  "requires": {
9471
+ "define-property": "^2.0.2",
9472
+ "extend-shallow": "^3.0.2",
9473
+ "regex-not": "^1.0.2",
9474
+ "safe-regex": "^1.1.0"
9475
  }
9476
  },
9477
  "to-regex-range": {
9480
  "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=",
9481
  "dev": true,
9482
  "requires": {
9483
+ "is-number": "^3.0.0",
9484
+ "repeat-string": "^1.6.1"
9485
  },
9486
  "dependencies": {
9487
  "is-number": {
9490
  "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=",
9491
  "dev": true,
9492
  "requires": {
9493
+ "kind-of": "^3.0.2"
9494
  }
9495
  }
9496
  }
9501
  "integrity": "sha1-/JKtq6ByZHvAtn1rA2ZKoZUJOvY=",
9502
  "dev": true,
9503
  "requires": {
9504
+ "through2": "^2.0.3"
9505
  }
9506
  },
9507
  "tough-cookie": {
9510
  "integrity": "sha512-TZ6TTfI5NtZnuyy/Kecv+CnoROnyXn2DN97LontgQpCwsX2XyLYCC0ENhYkehSOwAp8rTQKc/NUIF7BkQ5rKLA==",
9511
  "dev": true,
9512
  "requires": {
9513
+ "punycode": "^1.4.1"
9514
  }
9515
  },
9516
  "trim": {
9549
  "integrity": "sha1-fskRMJJHZsf1c74wIMNPj9/QDWI=",
9550
  "dev": true,
9551
  "requires": {
9552
+ "glob": "^6.0.4"
9553
  },
9554
  "dependencies": {
9555
  "glob": {
9558
  "integrity": "sha1-DwiGD2oVUSey+t1PnOJLGqtuTSI=",
9559
  "dev": true,
9560
  "requires": {
9561
+ "inflight": "^1.0.4",
9562
+ "inherits": "2",
9563
+ "minimatch": "2 || 3",
9564
+ "once": "^1.3.0",
9565
+ "path-is-absolute": "^1.0.0"
9566
  }
9567
  }
9568
  }
9573
  "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=",
9574
  "dev": true,
9575
  "requires": {
9576
+ "safe-buffer": "^5.0.1"
9577
  }
9578
  },
9579
  "tweetnacl": {
9590
  "dev": true,
9591
  "requires": {
9592
  "media-typer": "0.3.0",
9593
+ "mime-types": "~2.1.18"
9594
  }
9595
  },
9596
  "typedarray": {
9600
  "dev": true
9601
  },
9602
  "ua-parser-js": {
9603
+ "version": "0.7.17",
9604
+ "resolved": "https://registry.npmjs.org/ua-parser-js/-/ua-parser-js-0.7.17.tgz",
9605
+ "integrity": "sha512-uRdSdu1oA1rncCQL7sCj8vSyZkgtL7faaw9Tc9rZ3mGgraQ7+Pdx7w5mnOSF3gw9ZNG6oc+KXfkon3bKuROm0g==",
9606
  "dev": true
9607
  },
9608
  "uglify-js": {
9611
  "integrity": "sha512-WpLkWCf9sGvGZnIvBV0PNID9BATQNT/IXKAmqegfKzIPcTmTV3FP8NQpoogQkt/Y402x2sOFdaHUmqFY9IZp+g==",
9612
  "dev": true,
9613
  "requires": {
9614
+ "commander": "~2.15.0",
9615
+ "source-map": "~0.6.1"
9616
  }
9617
  },
9618
  "ultron": {
9633
  "integrity": "sha1-LCo/n4PmR2L9xF5s6sZRQoZCE9s=",
9634
  "dev": true,
9635
  "requires": {
9636
+ "sprintf-js": "^1.0.3",
9637
+ "util-deprecate": "^1.0.2"
9638
  }
9639
  },
9640
  "undertaker": {
9643
  "integrity": "sha1-M52kZGJS0ILcN45wgGcpl1DhG0k=",
9644
  "dev": true,
9645
  "requires": {
9646
+ "arr-flatten": "^1.0.1",
9647
+ "arr-map": "^2.0.0",
9648
+ "bach": "^1.0.0",
9649
+ "collection-map": "^1.0.0",
9650
+ "es6-weak-map": "^2.0.1",
9651
+ "last-run": "^1.1.0",
9652
+ "object.defaults": "^1.0.0",
9653
+ "object.reduce": "^1.0.0",
9654
+ "undertaker-registry": "^1.0.0"
9655
  }
9656
  },
9657
  "undertaker-registry": {
9666
  "integrity": "sha1-a5qu379z3xdWrZ4xbdmBiFhAzX0=",
9667
  "dev": true,
9668
  "requires": {
9669
+ "inherits": "^2.0.1",
9670
+ "xtend": "^4.0.1"
9671
  }
9672
  },
9673
  "unified": {
9676
  "integrity": "sha512-pW2f82bCIo2ifuIGYcV12fL96kMMYgw7JKVEgh7ODlrM9rj6vXSY3BV+H6lCcv1ksxynFf582hwWLnA1qRFy4w==",
9677
  "dev": true,
9678
  "requires": {
9679
+ "bail": "^1.0.0",
9680
+ "extend": "^3.0.0",
9681
+ "is-plain-obj": "^1.1.0",
9682
+ "trough": "^1.0.0",
9683
+ "vfile": "^2.0.0",
9684
+ "x-is-function": "^1.0.4",
9685
+ "x-is-string": "^0.1.0"
9686
  }
9687
  },
9688
  "union-value": {
9691
  "integrity": "sha1-XHHDTLW61dzr4+oM0IIHulqhrqQ=",
9692
  "dev": true,
9693
  "requires": {
9694
+ "arr-union": "^3.1.0",
9695
+ "get-value": "^2.0.6",
9696
+ "is-extendable": "^0.1.1",
9697
+ "set-value": "^0.4.3"
9698
  },
9699
  "dependencies": {
9700
  "extend-shallow": {
9703
  "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
9704
  "dev": true,
9705
  "requires": {
9706
+ "is-extendable": "^0.1.0"
9707
  }
9708
  },
9709
  "set-value": {
9712
  "integrity": "sha1-fbCPnT0i3H945Trzw79GZuzfzPE=",
9713
  "dev": true,
9714
  "requires": {
9715
+ "extend-shallow": "^2.0.1",
9716
+ "is-extendable": "^0.1.1",
9717
+ "is-plain-object": "^2.0.1",
9718
+ "to-object-path": "^0.3.0"
9719
  }
9720
  }
9721
  }
9732
  "integrity": "sha1-WqADz76Uxf+GbE59ZouxxNuts2k=",
9733
  "dev": true,
9734
  "requires": {
9735
+ "json-stable-stringify": "^1.0.0",
9736
+ "through2-filter": "^2.0.0"
9737
  }
9738
  },
9739
  "unist-util-find-all-after": {
9742
  "integrity": "sha1-TlUSq/734GFnga7Pex7XUcAK+Qg=",
9743
  "dev": true,
9744
  "requires": {
9745
+ "unist-util-is": "^2.0.0"
9746
  }
9747
  },
9748
  "unist-util-is": {
9757
  "integrity": "sha1-ZtfmpEnm9nIguXarPLi166w55R0=",
9758
  "dev": true,
9759
  "requires": {
9760
+ "array-iterate": "^1.0.0"
9761
  }
9762
  },
9763
  "unist-util-remove-position": {
9766
  "integrity": "sha1-WoXBVV/BugwQG4ZwfRXlD6TIcbs=",
9767
  "dev": true,
9768
  "requires": {
9769
+ "unist-util-visit": "^1.1.0"
9770
  }
9771
  },
9772
  "unist-util-stringify-position": {
9781
  "integrity": "sha512-9ntYcxPFtl44gnwXrQKZ5bMqXMY0ZHzUpqMFiU4zcc8mmf/jzYm8GhYgezuUlX4cJIM1zIDYaO6fG/fI+L6iiQ==",
9782
  "dev": true,
9783
  "requires": {
9784
+ "unist-util-is": "^2.1.1"
9785
  }
9786
  },
9787
  "universalify": {
9802
  "integrity": "sha1-g3aHP30jNRef+x5vw6jtDfyKtVk=",
9803
  "dev": true,
9804
  "requires": {
9805
+ "has-value": "^0.3.1",
9806
+ "isobject": "^3.0.0"
9807
  },
9808
  "dependencies": {
9809
  "has-value": {
9812
  "integrity": "sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8=",
9813
  "dev": true,
9814
  "requires": {
9815
+ "get-value": "^2.0.3",
9816
+ "has-values": "^0.1.4",
9817
+ "isobject": "^2.0.0"
9818
  },
9819
  "dependencies": {
9820
  "isobject": {
9854
  "integrity": "sha1-+QuFhQf4HepNz7s8TD2/orVX+qo=",
9855
  "dev": true,
9856
  "requires": {
9857
+ "punycode": "^2.1.0"
9858
  },
9859
  "dependencies": {
9860
  "punycode": {
9883
  "integrity": "sha512-6UJEQM/L+mzC3ZJNM56Q4DFGLX/evKGRg15UJHGB9X5j5Z3AFbgZvjUh2yq/UJUY4U5dh7Fal++XbNg1uzpRAw==",
9884
  "dev": true,
9885
  "requires": {
9886
+ "kind-of": "^6.0.2"
9887
  },
9888
  "dependencies": {
9889
  "kind-of": {
9925
  "integrity": "sha512-6sgSKoFw1UpUPd3cFdF7QGnrH6tDeBgW1F3v9gy8gLY0mlbiBXq8soy8aQpY6xeeCjH5K+JvC62Acp7gtl7wWA==",
9926
  "dev": true,
9927
  "requires": {
9928
+ "homedir-polyfill": "^1.0.1"
9929
  }
9930
  },
9931
  "validate-npm-package-license": {
9934
  "integrity": "sha512-63ZOUnL4SIXj4L0NixR3L1lcjO38crAbgrTpl28t8jjrfuiOBL5Iygm+60qPs/KsZGzPNg6Smnc/oY16QTjF0g==",
9935
  "dev": true,
9936
  "requires": {
9937
+ "spdx-correct": "^3.0.0",
9938
+ "spdx-expression-parse": "^3.0.0"
9939
  }
9940
  },
9941
  "value-or-function": {
9950
  "integrity": "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=",
9951
  "dev": true,
9952
  "requires": {
9953
+ "assert-plus": "^1.0.0",
9954
  "core-util-is": "1.0.2",
9955
+ "extsprintf": "^1.2.0"
9956
  },
9957
  "dependencies": {
9958
  "assert-plus": {
9969
  "integrity": "sha512-ASt4mBUHcTpMKD/l5Q+WJXNtshlWxOogYyGYYrg4lt/vuRjC1EFQtlAofL5VmtVNIZJzWYFJjzGWZ0Gw8pzW1w==",
9970
  "dev": true,
9971
  "requires": {
9972
+ "is-buffer": "^1.1.4",
9973
  "replace-ext": "1.0.0",
9974
+ "unist-util-stringify-position": "^1.0.0",
9975
+ "vfile-message": "^1.0.0"
9976
  }
9977
  },
9978
  "vfile-location": {
9987
  "integrity": "sha512-HPREhzTOB/sNDc9/Mxf8w0FmHnThg5CRSJdR9VRFkD2riqYWs+fuXlj5z8mIpv2LrD7uU41+oPWFOL4Mjlf+dw==",
9988
  "dev": true,
9989
  "requires": {
9990
+ "unist-util-stringify-position": "^1.1.1"
9991
  }
9992
  },
9993
  "vinyl": {
9996
  "integrity": "sha1-Ah+cLPlR1rk5lDyJ617lrdT9kkw=",
9997
  "dev": true,
9998
  "requires": {
9999
+ "clone": "^2.1.1",
10000
+ "clone-buffer": "^1.0.0",
10001
+ "clone-stats": "^1.0.0",
10002
+ "cloneable-readable": "^1.0.0",
10003
+ "remove-trailing-separator": "^1.0.1",
10004
+ "replace-ext": "^1.0.0"
10005
  }
10006
  },
10007
  "vinyl-fs": {
10010
  "integrity": "sha512-AUSFda1OukBwuLPBTbyuO4IRWgfXmqC4UTW0f8xrCa8Hkv9oyIU+NSqBlgfOLZRoUt7cHdo75hKQghCywpIyIw==",
10011
  "dev": true,
10012
  "requires": {
10013
+ "fs-mkdirp-stream": "^1.0.0",
10014
+ "glob-stream": "^6.1.0",
10015
+ "graceful-fs": "^4.0.0",
10016
+ "is-valid-glob": "^1.0.0",
10017
+ "lazystream": "^1.0.0",
10018
+ "lead": "^1.0.0",
10019
+ "object.assign": "^4.0.4",
10020
+ "pumpify": "^1.3.5",
10021
+ "readable-stream": "^2.3.3",
10022
+ "remove-bom-buffer": "^3.0.0",
10023
+ "remove-bom-stream": "^1.2.0",
10024
+ "resolve-options": "^1.1.0",
10025
+ "through2": "^2.0.0",
10026
+ "to-through": "^2.0.0",
10027
+ "value-or-function": "^3.0.0",
10028
+ "vinyl": "^2.0.0",
10029
+ "vinyl-sourcemap": "^1.1.0"
10030
  }
10031
  },
10032
  "vinyl-sourcemap": {
10035
  "integrity": "sha1-kqgAWTo4cDqM2xHYswCtS+Y7PhY=",
10036
  "dev": true,
10037
  "requires": {
10038
+ "append-buffer": "^1.0.2",
10039
+ "convert-source-map": "^1.5.0",
10040
+ "graceful-fs": "^4.1.6",
10041
+ "normalize-path": "^2.1.1",
10042
+ "now-and-later": "^2.0.0",
10043
+ "remove-bom-buffer": "^3.0.0",
10044
+ "vinyl": "^2.0.0"
10045
  }
10046
  },
10047
  "vinyl-sourcemaps-apply": {
10050
  "integrity": "sha1-q2VJ1h0XLCsbh75cUI0jnI74dwU=",
10051
  "dev": true,
10052
  "requires": {
10053
+ "source-map": "^0.5.1"
10054
  },
10055
  "dependencies": {
10056
  "source-map": {
10073
  "integrity": "sha1-DK+dLXVdk67gSdS90NP+LMoqJOs=",
10074
  "dev": true,
10075
  "requires": {
10076
+ "http-parser-js": ">=0.4.0",
10077
+ "websocket-extensions": ">=0.1.1"
10078
  }
10079
  },
10080
  "websocket-extensions": {
10089
  "integrity": "sha1-mofEN48D6CfOyvGs31bHNsAcFOU=",
10090
  "dev": true,
10091
  "requires": {
10092
+ "isexe": "^2.0.0"
10093
  }
10094
  },
10095
  "which-module": {
10111
  "integrity": "sha512-ijDLlyQ7s6x1JgCLur53osjm/UXUYD9+0PbYKrBsYisYXzCxN+HC3mYDNy/dWdmf3AwqwU3CXwDCvsNgGK1S0w==",
10112
  "dev": true,
10113
  "requires": {
10114
+ "string-width": "^1.0.2"
10115
  }
10116
  },
10117
  "window-size": {
10118
+ "version": "0.2.0",
10119
+ "resolved": "https://registry.npmjs.org/window-size/-/window-size-0.2.0.tgz",
10120
+ "integrity": "sha1-tDFbtCFKPXBY6+7okuE/ok2YsHU=",
10121
  "dev": true
10122
  },
10123
  "wrap-ansi": {
10126
  "integrity": "sha1-2Pw9KE3QV5T+hJc8rs3Rz4JP3YU=",
10127
  "dev": true,
10128
  "requires": {
10129
+ "string-width": "^1.0.1",
10130
+ "strip-ansi": "^3.0.1"
10131
  }
10132
  },
10133
  "wrappy": {
10142
  "integrity": "sha1-X8A4KOJkzqP+kUVUdvejxWbLB1c=",
10143
  "dev": true,
10144
  "requires": {
10145
+ "mkdirp": "^0.5.1"
10146
  }
10147
  },
10148
  "ws": {
10151
  "integrity": "sha512-nnWLa/NwZSt4KQJu51MYlCcSQ5g7INpOrOMt4XV8j4dqTXdmlUmSHQ8/oLC069ckre0fRsgfvsKwbTdtKLCDkA==",
10152
  "dev": true,
10153
  "requires": {
10154
+ "async-limiter": "~1.0.0",
10155
+ "safe-buffer": "~5.1.0",
10156
+ "ultron": "~1.1.0"
10157
  }
10158
  },
10159
  "x-is-function": {
10198
  "integrity": "sha1-gW4ahm1VmMzzTlWW3c4i2S2kkNQ=",
10199
  "dev": true,
10200
  "requires": {
10201
+ "camelcase": "^3.0.0",
10202
+ "cliui": "^3.2.0",
10203
+ "decamelize": "^1.1.1",
10204
+ "get-caller-file": "^1.0.1",
10205
+ "os-locale": "^1.4.0",
10206
+ "read-pkg-up": "^1.0.1",
10207
+ "require-directory": "^2.1.1",
10208
+ "require-main-filename": "^1.0.1",
10209
+ "set-blocking": "^2.0.0",
10210
+ "string-width": "^1.0.2",
10211
+ "which-module": "^1.0.0",
10212
+ "window-size": "^0.2.0",
10213
+ "y18n": "^3.2.1",
10214
+ "yargs-parser": "^4.1.0"
 
 
 
 
 
 
 
 
 
 
 
 
 
 
10215
  }
10216
  },
10217
  "yargs-parser": {
10220
  "integrity": "sha1-KczqwNxPA8bIe0qfIX3RjJ90hxw=",
10221
  "dev": true,
10222
  "requires": {
10223
+ "camelcase": "^3.0.0"
 
 
 
 
 
 
 
 
10224
  }
10225
  },
10226
  "yeast": {
10235
  "integrity": "sha1-qLxF9MG0lpnGuQGYuqyqzbzUugQ=",
10236
  "dev": true,
10237
  "requires": {
10238
+ "archiver-utils": "^1.3.0",
10239
+ "compress-commons": "^1.2.0",
10240
+ "lodash": "^4.8.0",
10241
+ "readable-stream": "^2.0.0"
10242
  },
10243
  "dependencies": {
10244
  "lodash": {
readme.txt CHANGED
@@ -4,7 +4,7 @@ Tags: form, form builder, easy form, clean form, login form, contact, contact fo
4
  Requires at least: 4.0
5
  Tested up to: 4.9
6
  Requires PHP: 5.4
7
- Stable tag: 1.1.4
8
  License: GPLv3
9
  License URI: http://www.gnu.org/licenses/gpl-3.0.html
10
 
@@ -79,6 +79,13 @@ Yes, the plugin is designed to work with any themes that have been coded followi
79
 
80
  == Changelog ==
81
 
 
 
 
 
 
 
 
82
  = 1.1.4 - 24-04-2018 =
83
  * Fix - Log handler class for addons.
84
  * Fix - Entry ID value set for email.
4
  Requires at least: 4.0
5
  Tested up to: 4.9
6
  Requires PHP: 5.4
7
+ Stable tag: 1.1.5
8
  License: GPLv3
9
  License URI: http://www.gnu.org/licenses/gpl-3.0.html
10
 
79
 
80
  == Changelog ==
81
 
82
+ = 1.1.5 - 03-05-2018 =
83
+ * Fix - Google reCaptcha console errors.
84
+ * Fix - Select2 styles conflict with WooCommerce.
85
+ * Fix - Undefined jQuery vars in `admin-helper.js`
86
+ * Fix - Prevent 404 in console for jQuery UI images.
87
+ * Fix - Compatibility with Elementor and SiteOrigin page builder.
88
+
89
  = 1.1.4 - 24-04-2018 =
90
  * Fix - Log handler class for addons.
91
  * Fix - Entry ID value set for email.